(57)【要約】画像を作成し、処理し、および／または修正するように構成されたシステム、方法、および非一時的なコンピュータ読取可能な媒体が提供される。第１のコンピューティング・システムによって、第２のコンピューティング・システムによって捕捉された元の画像に関連付けられた受信画像データが受信される。受信画像データに基づいて第１の中間画像が生成される。第１の中間画像に基づいて第１のコンピューティング・システム上で表示するための第１の可視画像が生成される。
2017527904.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する方法であって、
第１のコンピューティング・システムが、第２のコンピューティング・システムによって捕捉された元の画像に関連付けられた受信画像データを受信する工程と、
該第１のコンピューティング・システムが、該受信画像データに基づいて第１の中間画像を生成する工程と、
該第１のコンピューティング・システムが、該第１の中間画像に基づいて該第１のコンピューティング・システム上で表示するための第１の可視画像を生成する工程と
を含むコンピュータが実行する方法。
【請求項２】
前記第１のコンピューティング・システムが、前記第１の可視画像を表示する工程をさらに含む、請求項１に記載のコンピュータが実行する方法。
【請求項３】
前記第１の中間画像を生成する前記工程は、フォーマットに基づいて前記受信画像データをデコードすることを含む、請求項１に記載のコンピュータが実行する方法。
【請求項４】
前記第１のコンピューティング・システムが、前記第１のコンピューティング・システムに関連する情報を前記第２のコンピューティング・システムへ提供する工程をさらに含み、前記フォーマットは、前記第２のコンピューティング・システムによって決定される、請求項３に記載のコンピュータが実行する方法。
【請求項５】
前記第１のコンピューティング・システムは、クライアント装置である、請求項４に記載のコンピュータが実行する方法。
【請求項６】
前記フォーマットは、前記第１のコンピューティング・システムに関する前記情報および前記第２のコンピューティング・システムに関連する情報の少なくとも１つに基づいて決定される、請求項４に記載のコンピュータが実行する方法。
【請求項７】
前記第２のコンピューティング・システムは、クライアント装置である、請求項６に記載のコンピュータが実行する方法。
【請求項８】
前記フォーマットは、前記第１のコンピューティング・システムに関する前記情報および第３のコンピューティング・システムに関連する情報に基づいて決定され、該第３のコンピューティング・システムに関連する該情報は、前記第２のコンピューティング・システムによって受信される、請求項４に記載のコンピュータが実行する方法。
【請求項９】
前記第２のコンピューティング・システムは、サーバである、請求項８に記載のコンピュータが実行する方法。
【請求項１０】
前記第３のコンピューティング・システムは、クライアント装置である、請求項８に記載のコンピュータが実行する方法。
【請求項１１】
前記第１の中間画像を生成する前記工程は、
前記受信画像データを暗号化解除して、暗号化解除された画像データを生成すること、
フォーマットに基づいて該暗号化解除された画像データをデコードして、前記第１の中間画像を作成すること
を含む、請求項１に記載のコンピュータが実行する方法。
【請求項１２】
前記第１の中間画像に基づいて前記第１の可視画像を生成する前記工程は、中間画像に画像フィルタを適用することを含む、請求項１に記載のコンピュータが実行する方法。
【請求項１３】
前記受信画像データに基づいて前記第１の中間画像を含む一組の中間画像を生成する工程をさらに含み、前記第１の中間画像に基づいて前記第１の可視画像を生成する前記工程は、該一組の中間画像に基づく、請求項１に記載のコンピュータが実行する方法。
【請求項１４】
前記一組の中間画像を前記第１のコンピューティング・システムにおいて記憶する工程と、
前記第１の可視画像を前記第１のコンピューティング・システムにおいて記憶する工程と
をさらに含む、請求項１３に記載のコンピュータが実行する方法。
【請求項１５】
前記第１のコンピューティング・システムが、前記第１のコンピューティング・システム上で表示するための第２の可視画像を受信する工程をさらに含み、該第２の可視画像は、前記第２のコンピューティング・システムによって第２の中間画像から生成される、請求項１に記載のコンピュータが実行する方法。
【請求項１６】
可視画像に関連付けられるぼけは、前記元の画像に関連付けられるぼけよりも少ない、請求項１に記載のコンピュータが実行する方法。
【請求項１７】
中間画像は、第１の解像度を有し、可視画像は、第２の解像度を有する、請求項１に記載のコンピュータが実行する方法。
【請求項１８】
中間画像は、第１の色フォーマットを有し、可視画像は、第２の色フォーマットを有する、請求項１に記載のコンピュータが実行する方法。
【請求項１９】
システムであって、
少なくとも１つのプロセッサと、
命令を記憶するメモリとを備え、該命令は、該少なくとも１つのプロセッサによって実行されると、該システムに、
第１のコンピューティング・システムが、第２のコンピューティング・システムによって捕捉された元の画像に関連付けられた受信画像データを受信する工程と、
該受信画像データに基づいて第１の中間画像を生成する工程と、
該第１の中間画像に基づいて該第１のコンピューティング・システム上で表示するための第１の可視画像を生成する工程と
を実行させる、システム。
【請求項２０】
命令を含む非一時的なコンピュータ読取可能な記憶媒体であって、該命令は、コンピューティング・システムの少なくとも１つのプロセッサによって実行されると、該コンピューティング・システムに、
第１のコンピューティング・システムが、第２のコンピューティング・システムによって捕捉された元の画像に関連付けられた受信画像データを受信する工程と、
該受信画像データに基づいて第１の中間画像を生成する工程と、
該第１の中間画像に基づいて該第１のコンピューティング・システム上で表示するための第１の可視画像を生成する工程と
実行させる、非一時的なコンピュータ読取可能な記憶媒体。
【請求項２１】
コンピュータが実行する方法であって、
第１のコンピューティング・システムが、第２のコンピューティング・システムによって捕捉された元の画像に関連付けられた受信画像データを受信する工程と、
該第１のコンピューティング・システムが、該受信画像データに基づいて第１の中間画像を生成する工程と、
該第１のコンピューティング・システムが、該第１の中間画像に基づいて該第１のコンピューティング・システム上で表示するための第１の可視画像を生成する工程と
を含むコンピュータが実行する方法。
【請求項２２】
前記第１のコンピューティング・システムが、前記第１の可視画像を表示する工程をさらに含む、請求項２１に記載のコンピュータが実行する方法。
【請求項２３】
画像データは、ビデオ・クリップを含み、画像データは、該ビデオ・クリップが記録されている間に送信されること、
画像データは、画像データが前記第２のコンピューティング・システムによって生成されているときに、リアルタイムまたはほぼリアルタイムで、前記第１のコンピューティング・システムによって受信されること
の少なくとも一方を特徴とする請求項２１または２２に記載のコンピュータが実行する方法。
【請求項２４】
画像データに基づく一組の中間画像は、画像データが記録されるときに、リアルタイムまたはほぼリアルタイムで生成される、請求項２１乃至２３のいずれか１項に記載のコンピュータが実行する方法。
【請求項２５】
前記第１の中間画像を生成する工程は、フォーマットに基づいて前記受信画像データをデコードすることを含む、請求項２１乃至２４のいずれか１項に記載のコンピュータが実行する方法。
【請求項２６】
前記第１のコンピューティング・システムが、前記第１のコンピューティング・システムに関連する情報を前記第２のコンピューティング・システムへ提供する工程をさらに含み、前記フォーマットは、前記第２のコンピューティング・システムによって決定され、
好適には、前記第１のコンピューティング・システムは、クライアント装置である、
請求項２５に記載のコンピュータが実行する方法。
【請求項２７】
前記フォーマットは、前記第１のコンピューティング・システムに関する前記情報および前記第２のコンピューティング・システムに関連する情報の少なくとも１つに基づいて決定され、
好適には、前記第２のコンピューティング・システムは、クライアント装置である、
請求項２６に記載のコンピュータが実行する方法。
【請求項２８】
前記フォーマットは、前記第１のコンピューティング・システムに関する前記情報および第３のコンピューティング・システムに関連する情報に基づいて決定され、該第３のコンピューティング・システムに関連する該情報は、前記第２のコンピューティング・システムによって受信されること、
好適には、前記第２のコンピューティング・システムは、サーバであること、
好適には、該第３のコンピューティング・システムは、クライアント装置であること
のうちの少なくとも１つを特徴とする請求項２６または２７に記載のコンピュータが実行する方法。
【請求項２９】
前記第１の中間画像を生成する工程は、
前記受信画像データを暗号化解除して、暗号化解除された画像データを生成すること、
フォーマットに基づいて該暗号化解除された画像データをデコードして、前記第１の中間画像を作成すること
を含む、請求項２１乃至２８のいずれか１項に記載のコンピュータが実行する方法。
【請求項３０】
前記第１の中間画像に基づいて前記第１の可視画像を生成する工程は、中間画像に画像フィルタを適用することを含む、請求項２１乃至２９のいずれか１項に記載のコンピュータが実行する方法。
【請求項３１】
前記受信画像データに基づいて前記第１の中間画像を含む一組の中間画像を生成する工程をさらに含み、前記第１の中間画像に基づいて前記第１の可視画像を生成する工程は、該一組の中間画像に基づいており、
好適には、
前記一組の中間画像を前記第１のコンピューティング・システムにおいて記憶する工程と、
前記第１の可視画像を前記第１のコンピューティング・システムにおいて記憶する工程と、
をさらに含む、請求項２１乃至３０のいずれか１項に記載のコンピュータが実行する方法。
【請求項３２】
前記第１のコンピューティング・システムが、前記第１のコンピューティング・システム上で表示するための第２の可視画像を受信する工程をさらに含み、該第２の可視画像は、前記第２のコンピューティング・システムによって第２の中間画像から生成される、請求項２１乃至３１のいずれか１項に記載のコンピュータが実行する方法。
【請求項３３】
可視画像に関連付けられるぼけは、前記元の画像に関連付けられるぼけよりも少ないこと、
中間画像は、第１の解像度を有し、可視画像は、第２の解像度を有すること、
中間画像は、第１の色フォーマットを有し、可視画像は、第２の色フォーマットを有すること
うちの少なくとも１つを特徴とする請求項２１乃至３２のいずれか１項に記載のコンピュータが実行する方法。
【請求項３４】
１つまたは複数のプロセッサと、該プロセッサに結合され、該プロセッサによって実行可能な命令を含む少なくとも１つのメモリとを備え、該プロセッサは、該命令を実行する場合に、請求項２１乃至３３のいずれか１項に記載の方法を実行するように動作可能である、システム。
【請求項３５】
ソフトウェアを具現化する１つまたは複数のコンピュータ読取可能な非一時的な記憶媒体であって、該ソフトウェアは、実行されると、請求項２１乃至３３のいずれか１項に記載の方法を実行するように動作可能である、１つまたは複数のコンピュータ読取可能な非一時的な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、画像処理の分野に関する。より詳細には、本技術は、ソーシャル・ネットワークにおいて受信側で電子媒体を処理するための技術を提供する。
【背景技術】
【０００２】
今日では、人々は、撮像するために利用可能な多くの選択肢を有する。もっぱらフィルム形式またはデジタル形式での画像の捕捉専用の従来のカメラに加えて、スマートフォンなどの多くのモバイル装置が、撮像する能力を有する。例えば、モバイル装置は、カメラと、このモバイル装置上のカメラでユーザが撮像することを可能にするアプリケーションとを含み得る。これらの画像は、記憶され、いつでも鑑賞のために利用可能となり得る。益々人気が高まっているソーシャル・ネットワークの能力を考慮すると、写真は、多くの異なる手法でユーザのつながりと共有され得る。
【０００３】
画像は、様々な時に様々な手法で処理され得る。一般に、画像処理は、写真またはビデオ・フレームなどの画像を入力として含み、画像または画像に関連付けられた一組の特性もしくはパラメータを出力として含み得る。画像は、画像が捕捉された後で、画像が鑑賞のためにレンダリングされる前に、処理され得る。例えば、画像は、この画像が捕捉された後で、ユーザのつながりと共有される前に、変更または注釈付けされてもよい。ユーザは、いくつかの画像効果を強調して、画像の美観を向上させることを選択してもよい。画像の露出、色、色相、および他のパラメータは、画像が共有され、ユーザのつながりによって鑑賞される前に、編集され得る。
【発明の概要】
【０００４】
本開示の様々な実施形態は、画像を作成し、処理し、および／または修正するように構成されたシステム、方法、および非一時的なコンピュータ読取可能な媒体を含むことができる。いくつかの実施形態において、第１のコンピューティング・システムによって、第２のコンピューティング・システムによって捕捉された元の画像に関連付けられた受信画像データが受信される。受信画像データに基づいて第１の中間画像が生成される。第１の中間画像に基づいて第１のコンピューティング・システム上で表示するための第１の可視画像が生成される。
【０００５】
１つの実施形態において、第１の可視画像は、第１のコンピューティング・システムによって表示され得る。
１つの実施形態において、画像データは、ビデオ・クリップを含んでもよく、ビデオ・クリップが記録されている間に、画像データが送信され得る。
【０００６】
１つの実施形態において、画像データは、画像データが第２のコンピューティング・システムによって生成さるときに、リアルタイムまたはほぼリアルタイムで、第１のコンピューティング・システムによって受信され得る。
【０００７】
１つの実施形態において、画像データに基づく一組の中間画像は、画像データが記録されるときに、リアルタイムまたはほぼリアルタイムで生成され得る。１つの実施形態において、受信画像データは、第１の中間画像を生成する場合にフォーマットに基づいてデコードされ得る。
【０００８】
１つの実施形態において、第１のコンピューティング・システムに関連する情報は、第１のコンピューティング・システムによって第２のコンピューティング・システムへ提供され得る。フォーマットは、第２のコンピューティング・システムによって決定され得る。
【０００９】
１つの実施形態において、第１のコンピューティング・システムは、クライアント装置である。
１つの実施形態において、フォーマットは、第１のコンピューティング・システムに関連する情報および第２のコンピューティング・システムに関連する情報の少なくとも１つに基づいて決定される。
【００１０】
１つの実施形態において、第２のコンピューティング・システムは、クライアント装置である。
１つの実施形態において、フォーマットは、第１のコンピューティング・システムに関連する情報および第３のコンピューティング・システムに関連する情報に基づいて決定される。第３のコンピューティング・システムに関連する情報は、第２のコンピューティング・システムによって受信される。
【００１１】
１つの実施形態において、第２のコンピューティング・システムは、サーバである。
１つの実施形態において、第３のコンピューティング・システムは、クライアント装置である。
【００１２】
１つの実施形態において、受信画像データは暗号化解除されて、暗号化解除された画像データが生成される。暗号化解除された画像データは、フォーマットに基づいてデコードされて、第１の中間画像が作成される。
【００１３】
１つの実施形態において、第１の中間画像に基づいて第１の可視画像を生成する場合には、画像フィルタが中間画像に適用される。
１つの実施形態において、第１の中間画像を含む一組の中間画像は、受信画像データに基づいて生成される。第１の中間画像に基づいて生成される第１の可視画像は、一組の中間画像に基づく。
【００１４】
１つの実施形態において、一組の中間画像は、第１のコンピューティング・システムにおいて記憶される。第１の可視画像は、第１のコンピューティング・システムにおいて記憶される。
【００１５】
１つの実施形態において、第１のコンピューティング・システム上で表示するための第２の可視画像は、第１のコンピューティング・システムによって受信される。第２の可視画像は、第２のコンピューティング・システムによって第２の中間画像から生成される。
【００１６】
１つの実施形態において、可視画像に関連付けられるぼけは、元の画像に関連付けられるぼけよりも少ない。
１つの実施形態において、中間画像は、第１の解像度を有し、可視画像は、第２の解像度を有する。
【００１７】
１つの実施形態において、中間画像は、第１の色フォーマットを有し、可視画像は、第２の色フォーマットを有する。
１つの実施形態において、１つまたは複数のコンピュータ読取可能な非一時的な記憶媒体は、ソフトウェアを具現化し、このソフトウェアは、実行されると、本発明に係る方法または上述された実施形態のうちのいずれかを実行するように動作可能である。
【００１８】
１つの実施形態において、システムは、１つまたは複数のプロセッサと、プロセッサに結合され、プロセッサによって実行可能な命令を含む少なくとも１つのメモリとを備え、プロセッサは、命令を実行する場合に、本発明に係る方法または上述された実施形態のうちのいずれかを実行するように動作可能である。
【００１９】
１つの実施形態において、好適には、コンピュータ読取可能な非一時的な記憶媒体を含む、コンピュータ・プログラム製品は、データ処理システム上で実行されると、本発明に係る方法または上述された実施形態のうちのいずれかを実行するように動作可能である。
【００２０】
本発明に係る実施形態は、特に、方法、記憶媒体、システムおよびコンピュータ・プログラム製品に向けられる添付の特許請求の範囲において開示されており、１つのクレーム・カテゴリ、例えば、方法において述べられる任意の特徴は、別のクレーム・カテゴリ、例えば、システムにおいても特許請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的な理由のために選ばれているに過ぎない。しかしながら、（特に、多数項従属関係における）任意の先行する請求項への意図的な参照に由来する任意の主題も特許請求することができ、その結果、添付の特許請求の範囲において選ばれた従属関係に関わらず、請求項およびその特徴の任意の組合せが開示され、特許請求され得る。特許請求され得る主題は、添付の特許請求の範囲において記載された特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せも含み、特許請求の範囲において述べられる各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられてもよい。さらに、本明細書において記載または図示される実施形態および特徴のいずれも、別個の請求項において、および／または、本明細書において記載もしくは図示された任意の実施形態もしくは特徴との組合せ、もしくは添付の特許請求の範囲の特徴のうちのいずれかとの任意の組合せにおいて、特許請求され得る。
【００２１】
本発明の多くの他の特徴および実施形態は、下記の詳細な説明および添付の図面から、明らかになるであろう。
【図面の簡単な説明】
【００２２】
【図１】本開示の一実施形態に係る、画像をレンダリングおよび／または処理するように構成された例示的な画像処理モジュールを含む例示的なシステムを例示する図。
【図２】本開示の一実施形態に係る例示的な画像データ変換モジュールを例示する図。
【図３Ａ】本開示の一実施形態に係る、受信側画像処理のための例示的なシステムを例示する図。
【図３Ｂ】本開示の一実施形態に係る、受信側画像処理のための例示的なシステムを例示する図。
【図４】本開示の一実施形態に係る例示的な画像作成モジュールを例示する図。
【図５】本開示の一実施形態に係る、受信側で画像を処理する例示的な方法を例示する図。
【図６Ａ】本開示の一実施形態に係る、受信側で画像を処理する例示的な方法を例示する図。
【図６Ｂ】本開示の一実施形態に係る、受信側で画像を処理する例示的な方法を例示する図。
【図６Ｃ】本開示の一実施形態に係る、受信側で画像を処理する例示的な方法を例示する図。
【図６Ｄ】本開示の一実施形態に係る、受信側で画像を処理する例示的な方法を例示する図。
【図６Ｅ】本開示の一実施形態に係る、受信側で画像を処理する例示的な方法を例示する図。
【図７】本開示の一実施形態に係る、様々なシナリオで利用され得る例示的なシステムのネットワーク図。
【図８】本開示の一実施形態に係る、様々なシナリオで利用され得るコンピュータ・システムの一例を例示する図。
【発明を実施するための形態】
【００２３】
図は、開示技術の様々な実施形態を例示の目的ために図示しているに過ぎず、図は、同様の要素を識別するために同様の参照符号を使用する。本明細書において記載された開示技術の原理から逸脱することなく、図に例示された構造および方法の代替的な実施形態が使用され得ることを、当業者は下記の考察から容易に認識するであろう。
【００２４】
ソーシャル・ネットワーキング・システムは、ユーザがソーシャル・ネットワーキング・システムとインターフェースすることを可能にするクライアント・アプリケーションを含み得る。「クライアント・アプリケーション」という用語は、本明細書において広く使用され、ユーザのためにクライアント装置上に提示または表示されるべきユーザ・インターフェースを提供する任意のプログラムまたはソフトウェアを含み得る。クライアント・アプリケーションは、クライアント装置から実行されるスタンドアロン・アプリケーション、例えば、携帯電話から実行されるモバイル・アプリケーションなどを含み得る。クライアント・アプリケーションは、クライアント装置上のウェブ・ブラウザを介してユーザによってアクセス可能な１つまたは複数のウェブ・ページを有するウェブサイトも含み得る。クライアント・アプリケーションは、クライアント装置上でユーザに表示するための画像を提供してもよい。本明細書において記載される画像は、ピクチャ、写真、グラフィック画像、広告等に関連し得る。特定の例において、本明細書において記載される画像は、ビデオなどの一組の画像に対しても等しく適用可能であり得る。本開示におけるシステムおよび方法の特徴はソーシャル・ネットワーキング・システムに関して記載され得るが、この特徴は様々な画像の表示に関与する任意の他の適切なネットワーク化されたコンピュータ・システムにも適用可能であり得ることが認識されるべきである。
【００２５】
一定の状況において、画像を共有するために、ユーザは、画像またはビデオが共有されるべき１人または複数の受信者を選択する必要がある。共有される画像は、送信者側で処理されることが多い。つまり、画像が送信者によって捕捉および／または選択されることに続いて、画像は送信者によって使用されるクライアント装置によって処理される。例えば、画像は、送信者によって指定された受信者と共有される前に、送信者によって編集または変更されることがある。別の例として、画像は、送信者によって指定された受信者と共有される前に、送信者によって使用されるクライアント装置によって安定化されることがある。共有対象の画像は、サーバまたは受信者によって使用されるクライアント装置へ送信される前に処理される必要がある。結果として、処理に要する時間に起因して、処理された画像の受信者への送信における遅延は避けられない。
【００２６】
図１は、本開示の一実施形態に係る、画像を作成し、処理し、および／または修正するように構成された例示的な画像処理モジュールを含む例示的なシステム１００を例示する。図１に示されるように、例示的な画像処理モジュール１０２は、画像データ変換モジュール１０４と、画像作成モジュール１０６とを備え得る。
【００２７】
例示的なシステム１００は、少なくとも１つのデータ・ストア１０８を含み得る。図１の例において、少なくとも１つの画像ストア１１０は、画像データと、元の画像、中間画像、および可視画像を含む画像とを記憶するように構成され得る。画像は、画像データから生成され得る。いくつかの実施形態において、画像データは、デジタル符号化されたコヒーレント信号のシーケンスであるデータ・ストリームであっても、画像の情報を搬送するデータ・パケットであってもよい。画像データは、様々な圧縮関連フォーマットに従って画像を圧縮することによって生成され得る。様々な圧縮技法、例えば、可逆圧縮（例えば、ＦＦＶ１、ＪＰＥＧ２０００ロスレス、ＰＮＧ、ＱｕｉｃｋＴｉｍｅ等）または不可逆圧縮（例えば、Ｃｉｎｅｐａｋ、Ｈ．２６１、ＭＰＥＧ−４パート２等）などが、異なる実施形態において使用され得る。
【００２８】
様々な実施形態において、送信者によって捕捉された元の画像と、元の画像に基づいて処理された派生画像とは、データ・ストア１０８内に記憶され得る。派生画像の少なくとも１つの画像パラメータは、元の画像とは異なる。例えば、派生画像は、元の画像とは異なる画像品質、解像度、または色フォーマットを有してもよい。派生画像は、コメント、注釈、または特別な効果を有する元の画像であってもよい。派生画像は、中間画像および／または可視画像であってもよい。
【００２９】
画像データ変換モジュール１０４は、画像データから画像を生成するように構成され得る。様々な実施形態において、画像データ変換モジュール１０４によって生成される画像は、中間画像である。つまり、画像データ変換モジュール１０４によって生成される画像は、いくつかの例において、受信者に対して表示されない。例えば、受信者のクライアント装置は、画像データに基づいて中間画像を生成し得る。いくつかの例において、中間画像は可視ではないことがある。したがって、中間画像は、受信者に対して提示され得る可視画像を生成するための送信者の命令に従って処理され得る。例えば、送信者は、ビデオ・クリップを記録する前に、受信者を選択してもよい。ビデオ・クリップの画像データは、ビデオ・クリップが記録されている間に、送信され、受信者によって受信され得る。画像データに基づいて生成された中間画像は、受信者による鑑賞のためにさらに処理され得る。
【００３０】
画像作成モジュール１０６は、中間画像を、受信者に対して提示するための可視画像へ処理するように構成され得る。中間画像は、送信者の命令に従って処理され得る。いくつかの実施形態において、中間画像は、仲介者（例えば、サーバ）または受信者（例えば、クライアント装置）の補完的な命令または代替的な命令に従って処理されてもよい。受信者に対して表示するための可視画像は、例えば、送信者によって提供されるような命令に従って元の画像が生成されるように、中間画像に基づいて生成される。
【００３１】
中間画像を処理して可視画像を生成することは、任意のタイプの画像処理に関与し得る。例えば、送信者は、受信者と共有される際に修正されるべき、元の画像の１つまたは複数のパラメータ（例えば、色、露出、焦点、コントラスト、ぼけ、解像度等）を必要とすることがある。別の例として、送信者は、元の画像に対する画像フィルタまたは写真フィルタ（例えば、アマロ、メイフェア、シエラ、ローファイ、インクウェル、１９７７等）の適用を選択してもよい。また別の例として、中間画像は、可視画像を生成するために元の画像に対して安定化が行われるように処理されてもよい。さらに別の例として、記録された元のビデオ・クリップは、様々な理由に起因してぼけていることがあり、このぼけを改善または補正するために処理が行われてもよい。
【００３２】
図２は、本開示の一実施形態に係る、図１（例えば、画像データ変換モジュール１０４）に示されるような例示的な画像データ変換モジュール２０２を例示する。例示的な画像データ変換モジュール２０２は、画像データに基づいて一組の中間画像を生成し得る。画像データ２１２は、少なくとも１つのデータ・ストア２１０（例えば、図１のデータ・ストア１０８）から取得または受信され得る。中間画像２１４は、画像データ２１２に基づいて作成され、データ・ストア２１０内に記憶され得る。様々な実施形態において、画像データ変換モジュール２０２は、画像データが受信されているときに、リアルタイムまたはほぼリアルタイムで、ビデオに関連付けられた画像データに基づいて一組の中間画像を生成するように構成され得る。
【００３３】
画像データ変換モジュール２０２は、データ受信モジュール２０４と、データ暗号化解除モジュール２０６と、データ／画像変換モジュール２０８とを含み得る。画像データは、送信者によって捕捉された元の画像の情報を含み得る。元の画像は、画像データから生成され得る。いくつかの実施形態においては、より低い品質またはより高い品質であるが元の画像に基づく画像が、画像データから生成され得る。画像品質は、鮮明さ、ノイズ、ダイナミック・レンジ、トーン再現、コントラスト、色精度、歪み、ケラレ、露出精度、横色収差、レンズ・フレア、色モアレ、およびアーチファクトを含むが、これらに限定されない様々な要素によって通知され得る。
【００３４】
データ受信モジュール２０４は、ユーザが送信者によって受信者として指定された場合に画像データを受信するように構成され得る。様々な実施形態において、画像データは、元の画像が捕捉されているときに、リアルタイムまたはほぼリアルタイムで受信される。画像データは、受信側装置に対して適合した、または最適化されたフォーマットに従って、元の画像から生成され得る。いくつかの実施形態において、受信された画像データは、元の画像の画像データに関連して圧縮され、または他の方法で修正されてもよい。
【００３５】
データ暗号化解除モジュール２０６は、受信された画像データを暗号化解除するように構成され得る。画像データは、暗号鍵によって暗号化され得る。画像データは、暗号鍵を使用して暗号化解除され、この暗号鍵は、送信者によって提供されても、サーバから取得されてもよい。
【００３６】
データ／画像変換モジュール２０８は、データ受信モジュール２０４によって受信された画像データに基づいて一組の中間画像を生成するように構成される。いくつかの実施形態において、受信された画像データが暗号化されている場合、データ／画像変換モジュール２０８は、暗号化解除された画像データに対して実行されてもよい。本明細書においては、特に指定がない限り、受信された画像データは暗号化されていない。様々な実施形態において、データ／画像変換モジュール２０８は、画像データを復元し、一組の画像を生成するように構成され得る。この一組の画像は、中間画像であり、この中間画像は、受信者に対する表示のためにさらに処理され得る。
【００３７】
中間画像は、画素の位置およびＲＧＢ値などの、画素を記述する情報を含み得る。したがって、中間画像は、受信者に対して表示するための可視画像を作成するための基礎を提供し得る。可視画像は、送信者によって捕捉された元の画像に基づいており、送信者の命令に従って修正される。いくつかの実施形態において、中間画像は、仲介者（例えば、サーバ）または受信者（例えば、クライアント装置）の補完的な命令または代替的な命令に従って処理されてもよい。いくつかの実施形態において、中間画像は、受信者に対して提示される画像であってもよい。データ／画像変換モジュール２０８は、様々な画像復元フォーマットまたはビデオ復元フォーマットに従って画像データを復元し得る。つまり、画像データのデータ・ストリームは、画像復元フォーマットまたはビデオ復元フォーマットによって定義されるビットストリーム・フォーマットに従ってデコードされ得る。
【００３８】
図３Ａ〜図３Ｂは、本開示の一実施形態に係る、受信側画像処理のための例示的なシステムを例示する。図３Ａは、本開示の一実施形態に係る、図１（例えば、画像データ変換モジュール１０４）に示されたような受信側画像処理のための例示的なシステム３００ａを例示する。
【００３９】
例示されるシステム３００ａは、受信側装置３０２と、送信側装置３０４と、サーバ３０６と、ネットワーク３０８とを含む。受信側装置３０２および送信側装置３０４は、まとめてクライアント装置と称されることがある。「サーバ」という用語は、本明細書において広く使用され、クライアント装置にコンテンツを提供する、１つまたは複数のサーバなどのコンピュータ・システムを含み得る。クライアント装置（例えば、受信側装置３０２または送信側装置３０４）は、任意のコンピュータ・システムを含んでもよい。様々な実施形態において、クライアント装置は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピューティング装置、携帯電話、または任意の他の装置を含んでもよい。クライアント装置は、クライアント・アプリケーションと、ディスプレイとを含み得る。サーバ３０６は、受信側装置３０２および送信側装置３０４から離れていてもよい。サーバ３０６は、インターネットなどのネットワーク３０８を介して、クライアント装置（例えば、受信側装置３０２または送信側装置３０４）に通信可能に結合され得る。受信側装置３０２、送信側装置３０４、およびサーバ３０６の各々は、有線接続または無線接続を介してネットワーク３０８に結合され得る。
【００４０】
クライアント・アプリケーションは、クライアント装置（例えば、受信側装置３０２または送信側装置３０４）上で実行され、クライアント装置のディスプレイ上でユーザに対して表示され得る。クライアント・アプリケーションは、例えば、モバイル・アプリケーションなどのスタンドアロン・アプリケーションであってもよい。他の実施形態において、クライアント・アプリケーションは、サーバ３０６上で実行され、クライアント装置上での提示のためにクライアント装置へ通信され得る。例えば、クライアント・アプリケーションは、ウェブ・ブラウザを介してユーザによってアクセス可能な１つまたは複数のウェブ・ページを有するウェブサイトを含んでもよい。
【００４１】
いくつかの実施形態において、データ・ストア（例えば、図１のデータ・ストア１０８または図２のデータ・ストア２１０）は、元の画像、画像データ、および、元の画像に基づく任意の派生画像（例えば、中間画像、可視画像）を記憶し得る。画像データ・ストアの場所は変わってもよい。例えば、画像データ・ストアは、クライアント装置（例えば、受信側装置３０２および／または送信側装置３０４）内に設置されてもよい。別の例として、画像ストアは、送信側装置３０４内またはサーバ３０６内に設置される画像処理モジュール（例えば、図１の画像処理モジュール１０２）内に設置されてもよい。画像データ・ストアはまた、送信側装置３０４内またはサーバ３０６内に設置される画像処理モジュール（例えば、図１の画像処理モジュール１０２）から離れて設置されてもよい。
【００４２】
様々な実施形態において、送信側装置３０４は、受信側装置３０２に対して適合した、または最適化されたフォーマット（例えば、圧縮率、サイズ、画像品質等）で画像を捕捉し、提供する。例えば、限定されたコンピューティング能力、制約された帯域幅、ネットワーク制限、データ制限もしくはコスト、または受信者の嗜好などの制約は、受信側装置の性能に影響を与えることがある。低性能の受信側装置は、携帯電話上で表示するために画像をサイズ変更する（例えば、縮小する）ための処理能力を有しないことがある。また、これらの受信側装置は、許容可能な時間内で、高品質画像または複数の画像に関連付けられた大量のデータをダウンロードするための処理能力を有していないことがある。さらに、これらの受信側装置は、ビットレートで圧縮された画像データを処理して、データ・ストリームをデコードし、または送信者の命令を処理するための計算能力を有していないことがある。より長いダウンロード時間および／または処理時間ならびに処理能力の欠如は、受信側装置上でのクライアント・アプリケーションの速度および動作全般にも悪影響を与えることがあり、不十分なユーザ体験をもたらす結果となる。
【００４３】
受信側装置についての装置情報は、送信側装置へ提供され得る。装置情報は、サーバへさらに提供されてもよい。例えば、例示されるように、受信側装置３０２に関する装置情報３１０は、ネットワーク３０８を介して送信側装置３０４へ提供されてもよい。装置情報は、送信者から受信者への画像の捕捉および提供に影響を及ぼし得る装置についての情報を含み得る。例えば、計算能力、オペレーティング・システム、ネットワーク・キャリア、帯域幅、または、画像のフォーマットに影響を及ぼし得る他の情報が、受信者から送信者へ提供されてもよい。画像を捕捉し、受信側装置へ送信するのに必要なデータ量は、様々な要因、例えば、画像が圧縮されるべき画像品質、画像の大きさ等などに依存し得る。より高い画像品質での圧縮は、より低い画像品質での圧縮よりも、画像を適切に表現するために、より多くのデータを必要とし得る。さらに、より大きなサイズの画像の圧縮は、より小さなサイズの圧縮よりも、多くのデータを必要とし得る。画像処理モジュール（例えば、図１の画像処理モジュール１０２）は、装置情報３１０を送信側装置３０４へ通信し得る。
【００４４】
受信側装置３０２によって提供される装置情報３１０に基づいて、送信側装置３０４は、受信側装置３０２へ提供され、かつ受信側装置３０２によって処理され得る画像データ３１２を生成し得る。画像データ３１２は、受信側装置３０２に対して適合し、または最適化されるように生成される。例えば、装置情報３１０に基づいて、送信側装置３０４は、受信側装置３０２が複数の画像フォーマットをサポートすることができ、したがって、画像データ３１２を生成するために、サポートされている画像フォーマットを選択することを決定する。画像フォーマットは、受信者に対して最良のユーザ体験を提供するように選択され得る。画像フォーマットは、最良の画像品質、最速の画像供給速度、最低コスト、または他のユーザの嗜好が受信者へ提供されるように選択され得る。例えば、装置情報３１０に基づいて、送信側装置３０４は、受信側装置３０２が１つの画像フォーマットのみをサポートし、それによって、その画像フォーマットに基づいて画像データ３１２を生成することを決定してもよい。
【００４５】
様々な実施形態において、画像データ３１２は、画像データ３１２が送信側装置３０４によって生成されているときに、リアルタイムまたはほぼリアルタイムで受信側装置３０２へ提供される。示されている例において、画像データ３１２は、送信側装置３０４から受信側装置３０２へネットワーク３０８を介して提供される。さらなる実施形態において、画像データ３１２は、サーバ３０６へ提供されてもよい。
【００４６】
受信側装置３０２によって提供される装置情報３１０に基づいて、送信側装置３０４は、受信側装置３０２が画像を処理することができないか、または送信側装置３０４によって画像が処理される方がより効率的であることを決定し得る。そのような場合には、元の画像は、受信側装置３０２の代わりに送信側装置３０４によって処理されて、派生画像が作成され得る。画像データ３１２は、元の画像の派生画像に基づいて生成される。画像データ３１２は、受信者に対する表示のために受信側装置３０２へ提供され得る。
【００４７】
図３Ｂは、本開示の一実施形態に係る、図１（例えば、画像処理モジュール１０２）に示されるような受信側画像処理のための例示的なシステム３００ｂを例示する。例示されるシステム３００ｂは、受信側装置３０２と、送信側装置３０４と、サーバ３０６と、ネットワーク３０８とを含む。サーバ３０６は、受信側装置３０２および送信側装置３０４から離れていてもよい。サーバ３０６は、インターネットなどのネットワーク３０８を介してクライアント装置（例えば、受信側装置３０２または送信側装置３０４）と通信可能に結合され得る。受信側装置３０２、送信側装置３０４、およびサーバ３０６の各々は、有線接続または無線接続を介してネットワーク３０８に結合され得る。
【００４８】
クライアント・アプリケーションは、クライアント装置（例えば、受信側装置３０２または送信側装置３０４）上で実行され、クライアント・アプリケーションのユーザに対してディスプレイ上で表示され得る。クライアント・アプリケーションは、例えば、モバイル・アプリケーションなどのスタンドアロン・アプリケーションであってもよい。他の実施形態において、クライアント・アプリケーションは、サーバ３０６上で実行され、クライアント装置上での提示のためにクライアント装置へ通信され得る。例えば、クライアント・アプリケーションは、ウェブ・ブラウザを介してユーザによってアクセス可能な１つまたは複数のウェブ・ページを有するウェブサイトを含んでもよい。
【００４９】
いくつかの実施形態において、データ・ストア（例えば、図１のデータ・ストア１０８または図２のデータ・ストア２１０）は、元の画像、画像データ、および、元の画像に基づく任意の派生画像を記憶し得る。画像データ・ストアの場所は変わってもよい。例えば、画像データ・ストアは、クライアント装置（例えば、受信側装置３０２および／または送信側装置３０４）内に設置されてもよい。別の例として、画像ストアは、送信側装置３０４内またはサーバ３０６内に設置される画像処理モジュール（例えば、図１の画像処理モジュール１０２）内に設置されてもよい。画像データ・ストアはまた、送信側装置３０４内またはサーバ３０６内に設置される画像処理モジュール（例えば、図１の画像処理モジュール１０２）から離れて設置されてもよい。
【００５０】
様々な実施形態において、送信側装置３０４は、受信側装置３０２に対して適合した、または最適化されたフォーマット（例えば、圧縮率、サイズ、画像品質等）で画像を捕捉し、提供する。装置情報３１４は、送信側装置３０４についての装置情報３１２と、受信側装置３０２についての装置情報３１０との両方を含む。例示されるように、装置情報３１４は、ネットワーク３０８を介してサーバ３０６へ提供されてもよい。装置情報は、送信者から受信者への画像の捕捉および提供に影響を与え得る、受信側装置３０２および送信側装置３０４についての情報を含み得る。例えば、計算能力、オペレーティング・システム、ネットワーク・キャリア、帯域幅、または、画像のフォーマットに影響を及ぼし得る他の情報が、送信者および受信者からサーバへ提供されてもよい。画像を捕捉し、受信側装置へ送信するのに必要なデータ量は、様々な要因、例えば、画像が圧縮されるべき画像品質、画像の大きさ等などに依存し得る。より高い画像品質での圧縮は、より低い画像品質での圧縮よりも、画像を適切に表現するために、より多くのデータを必要とすることがある。さらに、より大きなサイズの画像の圧縮は、より小さなサイズの圧縮よりも、多くのデータを必要とし得る。
【００５１】
受信側装置３０２および送信側装置３０４の装置情報３１４に基づいて、サーバ３０６は、受信側装置３０２に対して適合し、または最適化され、かつ送信側装置３０４によってサポートされる画像フォーマット３１６を決定し得る。例えば、装置情報３１４に基づいて、サーバ３０６は、送信側装置３０４および受信側装置３０２が複数の画像フォーマットをサポートし、複数の画像フォーマットから、サポートされている画像フォーマットを選択することを決定する。画像フォーマットは、受信者に対して最良のユーザ体験を提供するように選択され得る。画像フォーマットは、最良の画像品質、最速の画像供給速度、最低コスト、または他のユーザの嗜好が受信者へ提供されるように選択され得る。例えば、装置情報３１４に基づいて、送信側装置３０４は、受信側装置３０２および送信側装置３０４が１つの画像フォーマットのみをサポートしていることを決定してもよい。サーバ３０６は、画像フォーマット３１６の決定を送信側装置３０４へ提供し得る。いくつかの実施形態において、サーバは、画像フォーマット３１６に適合したコーデックの識別を提供し、送信側装置３０４に、その画像フォーマットに基づいて画像データ３１２を生成させる。
【００５２】
画像フォーマット３１６の決定に従って、送信側装置３０４は、画像データ３１８を生成し得る。いくつかの実施形態において、画像データ３１８は、サーバ３０６によって識別されたコーデックを使用して生成され得る。画像データ３１８は、受信側装置３０２へ提供され得る。様々な実施形態において、画像データ３１８は、送信側装置３０４によって生成されているときに、リアルタイムまたはほぼリアルタイムで、受信側装置３０２へ提供される。例示された例において、画像データ３１２は、送信側装置３０４から受信側装置３０２へネットワーク３０８を介して提供される。さらなる実施形態において、画像データ３１８は、サーバ３０６へ提供され得る。
【００５３】
受信側装置３０２および送信側装置３０４によって提供される装置情報３１４に基づいて、サーバ３０６は、受信側装置３０２が画像を処理することができないか、または送信側装置３０４によって画像が処理される方がより効率的であることを決定し得る。そのような場合には、元の画像は、送信側装置３０４によって処理されて、派生画像が作成される。画像データ３１８は、元の画像の派生画像に基づいて生成される。画像データ３１８は、受信者に対する表示のために受信側装置３０２へ提供され得る。
【００５４】
図４は、本開示の一実施形態に係る、図１（例えば、画像作成モジュール１０６）に示されるような例示的な画像作成モジュール４０２を例示する。例示的な画像作成モジュール４０２は、受信者に対する表示のための可視画像を作成し得る。画像作成モジュール４０２は、送信者の命令に従って可視画像を作成するように構成され得る。いくつかの実施形態において、中間画像は、仲介者（例えば、サーバ）または受信者（例えば、クライアント装置）の補完的な命令または代替的な命令に従って処理されてもよい。画像作成モジュール４０２はまた、可視画像を自動的に作成するように構成されてもよい。可視画像は、中間画像に基づいて作成され得る。中間画像４１０は、少なくとも１つのデータ・ストア４０８（例えば、図１のデータ・ストア１０８）から取得または受信され得る。可視画像４１２は、中間画像４１０に基づいて作成され、データ・ストア４０８内に記憶され得る。様々な実施形態において、画像作成モジュール４０２は、例えば、画像データ変換モジュール（例えば、図１に例示された画像データ変換モジュール１０４）によって、画像データから一組の中間画像が生成されているときに、リアルタイムまたはほぼリアルタイムで可視画像を作成するように構成される。
【００５５】
画像作成モジュール４０２は、画像安定化モジュール４０４と、画像修正モジュール４０６とを含み得る。画像安定化モジュール４０４は、元の画像に関連付けられたブレを低減するように構成され得る。したがって、可視画像に関連付けられたブレは、送信者によって捕捉された元の画像に関連付けられたブレよりも少ない。いくつかの実施形態において、画像安定化モジュール４０４は、より少ないブレを有する可視画像を自動的に作成するように構成され得る。例えば、送信者によって捕捉された元の画像がブレており、元のぼけた画像の画像データが受信者へ提供されるが、送信者は元のぼけた画像が安定化される必要があると明示していない場合に、自動的な画像安定化が行われてもよい。一組の中間画像が画像データから生成される場合、画像作成モジュール４０２は、元のぼけた画像よりも可視画像のぼけが少なくなるように、一組の中間画像に基づいて可視画像を作成するように構成される。いくつかの実施形態において、画像安定化モジュール４０４は、受信者の装置設定に基づいて、ぼけが少ない可視画像を作成するように構成され得る。いくつかの実施形態において、受信者は、元の画像のぼけが所定量を超えた場合にのみ画像安定化が行われることを備えてもよい。
【００５６】
画像修正モジュール４０６は、送信者の命令に従って元の画像に基づいて可視画像が修正されるように、可視画像を作成するように構成される。送信者は、捕捉された元の画像とは異なる画像を受信者と共有することを望む場合がある。例えば、元の画像は、トリミングされても、拡大されても、異なる色フォーマットへ修正されても、フェードされても、着色されても、送信者のコメント、注釈、または特別な効果を伴ってもよい。中間画像は、画像を修正するための命令に関係なく、元の画像に基づく画像データから生成されてもよい。送信者によって望まれ、選択された任意の修正は、画像修正モジュール４０６によって中間画像４１０に対して行われ得る。いくつかの実施形態において、画像修正モジュール４０６は、送信者のコメント、注釈、または他の特別な効果を含む可視画像を作成するように構成され得る。いくつかの実施形態において、画像修正モジュール４０６は、可視画像４１２の少なくとも１つのパラメータが修正されるように、可視画像４１２を作成するように構成され得る。例えば、送信者は、特定の写真フィルタまたは写真効果の適用と共に元の画像を共有することを選択してもよい。
【００５７】
図５は、本開示の一実施形態に係る、受信側で画像を処理する例示的な方法５００を例示する。特に明記されない限り、様々な実施形態の範囲内で、同様の順序もしくは代替的な順序でまたは並行して実行される、付加的な工程、より少ない工程、または代替的な工程が存在し得ることが認識されるべきである。ブロック５０２においては、受信者によって使用されるクライアント装置によって画像データが受信される。受信者は、送信者によって指定されてもよい。画像データは、画像が捕捉されているときに、リアルタイムまたはほぼリアルタイムで生成され、受信者によって受信され得る。いくつかの実施形態において、画像データは、送信者によって使用されるクライアント装置から受信される。いくつかの実施形態において、画像データは、送信者から画像データを受信するサーバから受信される。様々な実施形態において、画像データは、受信者のクライアント装置に対して適合され、または最適化されたフォーマットで生成される。ブロック５０４においては、画像データに基づいて一組の中間画像が生成される。中間画像は、画像データが受信されているときに、リアルタイムまたはほぼリアルタイムで生成され得る。ブロック５０６においては、一組の中間画像から可視画像が生成される。可視画像は、受信者に対する表示のためのものである。可視画像は、元の画像が送信者の命令に従って修正されるように処理され得る。可視画像は、元の画像が安定化されるように、自動的に処理されてもよい。可視画像は、一組の中間画像が生成されているときに、リアルタイムまたはほぼリアルタイムで処理され得る。より詳細な考察および例は、本明細書において提供されている。
【００５８】
図６Ａは、本開示の一実施形態に係る、受信側で画像を処理する例示的な方法６００ａを例示する。特に明記されない限り、様々な実施形態の範囲内で、同様の順序もしくは代替的な順序でまたは並行して実行される、付加的な工程、より少ない工程、または代替的な工程が存在し得ることが認識されるべきである。ブロック６１０において、受信側装置の装置情報が、受信側装置６０２から送信側装置６０４へ提供される。さらなる実施形態において、装置情報は、受信側装置６０２からサーバ装置６０６へ提供されてもよい。送信側装置６０４は、受信側装置６０２またはサーバ６０６から、受信側装置情報を受信し得る。ブロック６１２においては、送信側装置６０４によって、フォーマット（例えば、圧縮率、サイズ、画像品質等）が受信側装置情報に基づいて決定される。フォーマットは、受信側装置に対して適合され、または最適化され得る。ブロック６１４においては、送信側装置によって、ブロック６１２において決定されたフォーマットに基づいて画像データが生成される。画像データは、ブロック６１６において、受信側装置６０２へ提供され、受信側装置６０２によって受信される。付加的にまたは代替的に、画像データは、ブロック６１６’において、サーバ６０６へ提供され、サーバ６０６によって受信される。ブロック６１８においては、受信側装置６０２によって、ブロック６１６において受信された画像データから一組の中間画像が生成される。ブロック６２０においては、受信側装置６０２によって、中間画像から可視画像が作成される。より詳細な考察および例は、本明細書において提供されている。
【００５９】
図６Ｂは、本開示の一実施形態に係る、受信側で画像を処理する例示的な方法６００ｂを例示する。特に明記されない限り、様々な実施形態の範囲内で、同様の順序もしくは代替的な順序でまたは並行して実行される、付加的な工程、より少ない工程、または代替的な工程が存在し得ることが認識されるべきである。ブロック６２２において、受信側装置６０２の装置情報が、受信側装置６０２からサーバ６０６へ提供される。ブロック６２４において、送信側装置６０４の装置情報が、送信側装置６０４からサーバ６０６へ提供される。ブロック６２６においては、サーバ６０６によって、フォーマット（例えば、圧縮率、サイズ、画像品質等）が受信側装置情報に基づいて決定される。ブロック６２８において、フォーマットは、送信側６０４へ通信されるか、または提供され得る。いくつかの実施形態においては、フォーマットに対して適合されるか、または最適化されたコーデックの識別が、サーバ６０６によって送信側６０４へ提供され得る。ブロック６３０においては、送信側装置６０４によって、ブロック６２６において決定されたフォーマットに基づいて画像データが生成される。送信側装置６０４は、サーバ６０６によって識別されたコーデックを使用して画像データを生成し得る。画像データは、ブロック６３２において、サーバ６０６へ提供され、サーバ６０６によって受信される。いくつかの実施形態において、画像データは、送信側装置６０４によって受信側装置６０２に対して直接提供される。画像データは、ブロック６３４において、受信側装置６０２へ提供され、受信側装置６０２によって受信される。ブロック６３６においては、受信側装置６０２によって、ブロック６３４において受信された画像データから一組の中間画像が生成される。ブロック６３６においては、受信側装置６０２によって、中間画像から可視画像が作成される。より詳細な考察および例は、本明細書において提供されている。
【００６０】
図６Ｃは、本開示の一実施形態に係る、受信側で画像を処理する例示的な方法６００ｃを例示する。特に明記されない限り、様々な実施形態の範囲内で、同様の順序もしくは代替的な順序でまたは並行して実行される、付加的な工程、より少ない工程、または代替的な工程が存在し得ることが認識されるべきである。ブロック６４０において、受信側装置６０２の装置情報が、受信側装置６０２から送信側６０４へ提供される。ブロック６４２においては、送信側６０４によって、フォーマット（例えば、圧縮率、サイズ、画像品質等）が受信側装置情報に基づいて決定される。フォーマットは、受信側装置６０２に対して適合されるか、または最適化され得る。送信側装置６０４は、送信側装置６０４が元の画像を修正する方が効率的であるか、または受信側装置６０２が元の画像を処理する能力を欠いている可能性があることを決定し得る。ブロック６４４において、送信側装置６０４によって捕捉された元の画像は、送信側装置６０４によって処理される。送信側装置６０４は、元の画像を安定化させるか、または、送信者の命令に従って元の画像を修正し得る。ブロック６４６においては、送信側装置６０４によって、ブロック６４２において識別されたフォーマットに基づいて、処理された画像から画像データが生成される。画像データは、ブロック６４８において、受信側装置６０２へ提供され、受信側装置６０２によって受信される。付加的にまたは代替的に、画像データは、ブロック６４８’において、サーバ６０６へ提供され、サーバ６０６によって受信される。ブロック６５０においては、受信側装置６０２上で表示するための可視画像が、ブロック６４８において受信された画像データに基づいて受信側装置６０２によって生成される。より詳細な説明および例は、本明細書において提供されている。
【００６１】
図６Ｄは、本開示の一実施形態に係る、受信側で画像を処理する例示的な方法６００ｄを例示する。特に明記されない限り、様々な実施形態の範囲内で、同様の順序もしくは代替的な順序でまたは並行して実行される、付加的な工程、より少ない工程、または代替的な工程が存在し得ることが認識されるべきである。ブロック６５２において、受信側装置６０２の装置情報は、受信側装置６０２からサーバ６０６へ提供される。ブロック６５４において、送信側装置６０４の装置情報は、送信側装置６０４からサーバ６０６へ提供される。ブロック６５６においては、サーバ６０６によって、フォーマット（例えば、圧縮率、サイズ、画像品質等）が、受信側装置情報および送信側装置情報に基づいて決定される。フォーマットは、受信側装置６０２に対して適合されるか、または最適化され得る。ステップ６５８において、フォーマットは、送信側６０４へ通信または提供され得る。いくつかの実施形態において、フォーマットに対して適合されるか、または最適化されたコーデックの識別は、サーバ６０６によって、送信側６０４へ提供され得る。サーバ６０６は、送信側装置６０４が元の画像を修正する方がより効率的であるか、または受信側装置６０２が元の画像を処理する能力を欠いている可能性があることを決定し得る。ブロック６６０において、送信側装置６０４によって捕捉された元の画像は、送信側装置６０４によって処理される。送信側装置６０４は、元の画像を安定化させるか、または、送信者の命令に従って元の画像を修正し得る。ブロック６６２においては、送信側装置６０４によって、ブロック６５６において識別されたフォーマットに基づいて処理された画像から画像データが生成される。画像データは、ブロック６６４において、サーバ６０６へ提供され、サーバ６０６によって受信される。画像データは、ブロック６６６において、受信側装置６０２へ提供され、受信側装置６０２によって受信される。ブロック６６８においては、受信側装置６０２によって、ブロック６６６において受信された画像データに基づいて受信側装置６０２上で表示するための可視画像が生成される。より詳細な考察および例は、本明細書において提供されている。
【００６２】
図６Ｅは、本開示の一実施形態に係る、受信側で画像を処理する方法６００ｅを例示する。特に明記されない限り、様々な実施形態の範囲内で、同様の順序もしくは代替的な順序でまたは並行して実行される、付加的な工程、より少ない工程、または代替的な工程が存在し得ることが認識されるべきである。ブロック６７０において、受信側装置６０２の装置情報が、受信側装置６０２からサーバ６０６へ提供される。ブロック６７２において、送信側装置６０４の装置情報が、送信側装置６０４からサーバ６０６へ提供される。ブロック６７４においては、サーバ６０６によって、フォーマット（例えば、圧縮率、サイズ、画像品質等）が、受信側装置情報および送信側装置情報に基づいて決定される。フォーマットは、受信側装置６０２に対して適合されるか、または最適化され得る。ステップ６７６において、フォーマットは、送信側６０４へ通信または提供され得る。いくつかの実施形態において、フォーマットに対して適合されるか、または最適化されたコーデックの識別は、サーバ６０６によって、送信側６０４へ提供され得る。サーバ６０６は、サーバ６０６が元の画像を修正する方がより効率的である、および／または、送信側装置６０２が元の画像を処理する能力を欠いている可能性があることを決定し得る。ブロック６７８においては、ブロック６７４において識別されたフォーマットに従って、送信側装置６０４によって画像が捕捉される。ブロック６８０において、補足された画像は、送信側６０４によってサーバ６０６へ提供される。捕捉された画像は、サーバ６０６へ提供される前に圧縮および／または暗号化され得る。ブロック６８２においては、送信側装置６０４によって捕捉された元の画像が、サーバ６０６によって処理され、画像データが、ブロック６７４において識別されたフォーマットに従って生成される。サーバ６０６は、元の画像を安定化させるか、または、送信者の命令に従って元の画像を修正し得る。画像データは、ブロック６８４において、受信側装置６０２へ提供され、受信側装置６０２によって受信される。ブロック６８６においては、受信側装置６０２によって、ブロック６８４において受信された画像データから、受信側装置６０２上で表示するための可視画像が生成される。より詳細な考察および例は、本明細書において提供されている。
【００６３】
ソーシャル・ネットワーキング・システム−例示的な具体例
図７は、本開示の一実施形態に係る、高度なビデオ符号化のための様々な実施形態において利用され得る例示的なシステム７００のネットワーク図を例示する。システム７００は、１つまたは複数のユーザ装置７１０と、１つまたは複数の外部システム７２０と、ソーシャル・ネットワーキング・システム７３０と、ネットワーク７５０とを含む。一実施形態において、上述された実施形態に関連して考察されたソーシャル・ネットワーキング・サービス、プロバイダ、および／またはシステムは、ソーシャル・ネットワーキング・システム７３０として具体化され得る。例示の目的のために、図７によって示されるシステム７００の実施形態は、単一の外部システム７２０と、単一のユーザ装置７１０とを含む。しかしながら、他の実施形態においては、システム７００は、より多くのユーザ装置７１０、および／または、より多くの外部システム７２０を含んでもよい。一定の実施形態において、ソーシャル・ネットワーキング・システム７３０は、ソーシャル・ネットワーク・プロバイダによって運用されるのに対して、外部システム７２０は、これらが異なるエンティティによって運用され得るという点で、ソーシャル・ネットワーキング・システム７３０とは別個である。しかしながら、様々な実施形態において、ソーシャル・ネットワーキング・システム７３０と外部システム７２０とは、連動して動作して、ソーシャル・ネットワーキング・システム７３０のユーザ（またはメンバー）に対してソーシャル・ネットワーキング・サービスを提供する。この意味で、ソーシャル・ネットワーキング・システム７３０は、プラットフォームまたはバックボーンを提供しており、外部システム７２０などの他のシステムは、このプラットフォームまたはバックボーンを使用して、インターネットでユーザに対してソーシャル・ネットワーキング・サービスおよび機能性を提供し得る。
【００６４】
ユーザ装置７１０は、ユーザからの入力を受信し、ネットワーク７５０を介してデータを送信および受信することができる、１つまたは複数のコンピューティング装置を備える。１つの実施形態において、ユーザ装置７１０は、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）対応のオペレーティング・システム（ＯＳ）、Ａｐｐｌｅ  ＯＳ  Ｘ、および／またはＬｉｎｕｘ（登録商標）ディストリビューションを実行する従来のコンピュータ・システムである。別の実施形態において、ユーザ装置７１０は、スマートフォン、タブレット、携帯情報端末（ＰＤＡ）、携帯電話等などの、コンピュータ機能性を有する装置であってもよい。ユーザ装置７１０は、ネットワーク７５０を介して通信するように構成される。ユーザ装置７１０は、アプリケーション、例えば、ユーザ装置７１０のユーザがソーシャル・ネットワーキング・システム７３０とインタラクションすることを可能にするブラウザ・アプリケーションを実行することができる。別の実施形態において、ユーザ装置７１０は、ｉＯＳおよびＡＮＤＲＯＩＤ（登録商標）などの、ユーザ装置７１０のネイティブ・オペレーティング・システムによって提供されるアプリケーション・プログラミング・インターフェース（ＡＰＩ）を介して、ソーシャル・ネットワーキング・システム７３０とインタラクションする。ユーザ装置７１０は、外部システム７２０およびソーシャル・ネットワーキング・システム７３０とネットワーク７５０を介して通信するように構成されており、ネットワーク７５０は、有線通信システムおよび／または無線通信システムを使用した、ローカルエリア・ネットワークおよび／または広域ネットワークの任意の組合せを含み得る。
【００６５】
１つの実施形態において、ネットワーク７５０は、標準的な通信技術およびプロトコルを使用する。したがって、ネットワーク７５０は、イーサネット（登録商標）、７０２．１１、マイクロ波アクセスのための世界的相互運用（ＷｉＭＡＸ）、３Ｇ、４Ｇ、ＣＤＭＡ、ＧＳＭ（登録商標）、ＬＴＥ、デジタル加入者回線（ＤＳＬ）等などの技術を使用するリンクを含むことができる。同様に、ネットワーク７５０上で使用されるネットワーキング・プロトコルは、マルチプロトコル・ラベル・スイッチング（ＭＰＬＳ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、ユーザ・データグラム・プロトコル（ＵＤＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、簡易メール転送プロトコル（ＳＭＴＰ）、ファイル転送プロトコル（ＦＴＰ）等を含むことができる。ネットワーク７５０上で交換されるデータは、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）および拡張マークアップ言語（ＸＭＬ）を含む技術および／またはフォーマットを使用して表され得る。また、全部または一部のリンクは、セキュア・ソケット層（ＳＳＬ）、トランスポート層セキュリティ（ＴＬＳ）、およびインターネット・プロトコル・セキュリティ（ＩＰｓｅｃ）などの従来の暗号化技術を使用して暗号化され得る。
【００６６】
１つの実施形態において、ユーザ装置７１０は、ブラウザ・アプリケーション７１２を使用して、外部システム７２０およびソーシャル・ネットワーキング・システム７３０から受信されるマークアップ言語文書７１４を処理することによって、外部システム７２０および／またはソーシャル・ネットワーキング・システム７３０からのコンテンツを表示し得る。マークアップ言語文書７１４は、コンテンツと、コンテンツのフォーマットまたはプレゼンテーションを記述した１つまたは複数の命令とを識別する。マークアップ言語文書７１４に含まれる命令を実行することによって、ブラウザ・アプリケーション７１２は、マークアップ言語文書７１４によって記述されたフォーマットまたはプレゼンテーションを使用して、識別されたコンテンツを表示する。例えば、マークアップ言語文書７１４は、外部システム７２０およびソーシャル・ネットワーキング・システム７３０から取得されたテキストおよび／または画像データを含む複数のフレームを有するウェブ・ページを生成および表示するための命令を含む。様々な実施形態において、マークアップ言語文書７１４は、拡張マークアップ言語（ＸＭＬ）データ、拡張可能ハイパーテキスト・マークアップ言語（ＸＨＴＭＬ）データ、または他のマークアップ言語データを含むデータ・ファイルを含む。また、マークアップ言語文書７１４は、ＪａｖａＳｃｒｉｐｔ（登録商標）オブジェクト表記（ＪＳＯＮ：ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）データ、パディングを有するＪＳＯＮ（ＪＳＯＮＰ：ＪＳＯＮ  ｗｉｔｈ  ｐａｄｄｉｎｇ）、およびＪａｖａＳｃｒｉｐｔデータを含んで、外部システム７２０とユーザ装置７１０との間のデータ交換を容易にし得る。ユーザ装置７１０上のブラウザ・アプリケーション７１２は、ＪａｖａＳｃｒｉｐｔコンパイラを使用して、マークアップ言語文書７１４をデコードし得る。
【００６７】
マークアップ言語文書７１４はまた、ＦＬＡＳＨ（商標）アプリケーションまたはＵｎｉｔｙ（商標）アプリケーション、ＳｉｌｖｅｒＬｉｇｈｔ（商標）アプリケーション・フレームワーク等などの、アプリケーションもしくはアプリケーション・フレームワークを含み、またはアプリケーションもしくはアプリケーション・フレームワークにリンクし得る。
【００６８】
１つの実施形態において、ユーザ装置７１０は、ユーザ装置７１０のユーザがソーシャル・ネットワーキング・システム７３０にログインされているかどうかを示すデータを含む、１つまたは複数のクッキー７１６も含んでおり、クッキー７１６は、ソーシャル・ネットワーキング・システム７３０からユーザ装置７１０へ通信されるデータの修正を可能にし得る。
【００６９】
外部システム７２０は、１つまたは複数のウェブ・ページ７２２ａ、７２２ｂを含む１つまたは複数のウェブ・サーバを含んでおり、ウェブ・ページ７２２ａ、７２２ｂは、ネットワーク７５０を使用してユーザ装置７１０へ通信される。外部システム７２０は、ソーシャル・ネットワーキング・システム７３０とは別個である。例えば、外部システム７２０は、第１のドメインに関連付けられる一方で、ソーシャル・ネットワーキング・システム７３０は、別個のソーシャル・ネットワーク・ドメインに関連付けられる。外部システム７２０に含まれるウェブ・ページ７２２ａ、７２２ｂは、コンテンツを識別し、識別されたコンテンツのフォーマットまたはプレゼンテーションを特定する命令を含むマークアップ言語文書７１４を含む。
【００７０】
ソーシャル・ネットワーキング・システム７３０は、複数のユーザを含み、ソーシャル・ネットワークのユーザにソーシャル・ネットワークの他のユーザと通信およびインタラクションする能力を提供するソーシャル・ネットワークのための、１つまたは複数のコンピューティング装置を含む。いくつかの例において、ソーシャル・ネットワークは、グラフ、すなわち、エッジとノードとを含むデータ構造によって表され得る。データベース、オブジェクト、クラス、メタ要素、ファイル、または任意の他のデータ構造を含むが、これらに限定されない他のデータ構造も、ソーシャル・ネットワークを表すために使用され得る。ソーシャル・ネットワーキング・システム７３０は、運用者によって運営され、管理され、または制御され得る。ソーシャル・ネットワーキング・システム７３０の運用者は、人間であっても、自動化されたアプリケーションであっても、ソーシャル・ネットワーキング・システム７３０内のコンテンツを管理し、ポリシーを規制し、使用メトリックを収集するための一連のアプリケーションであってもよい。任意のタイプの運用者が使用され得る。
【００７１】
ユーザは、ソーシャル・ネットワーキング・システム７３０に参加し、次いで、ユーザがつながりたいと望むソーシャル・ネットワーキング・システム７３０の任意の数の他のユーザへのつながりを追加し得る。本明細書において、「友達」という用語は、ユーザがソーシャル・ネットワーキング・システム７３０を介してつながり、関連付け、または関係を形成した、ソーシャル・ネットワーキング・システム７３０の任意の他のユーザを指す。例えば、一実施形態において、ソーシャル・ネットワーキング・システム７３０内のユーザが、ソーシャル・グラフ内のノードとして表されている場合、「友達」という用語は、２つのユーザ・ノード間に形成され、２つのユーザ・ノードを直接つなげるエッジを指すことができる。
【００７２】
つながりは、ユーザによって明示的に追加されても、ユーザの共通の特性（例えば、同じ教育機関の卒業生であるユーザ）に基づいてソーシャル・ネットワーキング・システム７３０によって自動的に作成されてもよい。例えば、第１のユーザは、友達となるべき特定の他のユーザを具体的に選択する。ソーシャル・ネットワーキング・システム７３０内のつながりは、通常は、両方の方向に存在するが、そうである必要はなく、そのため、「ユーザ」および「友達」という用語は、枠組みに依存する。ソーシャル・ネットワーキング・システム７３０のユーザ間のつながりは、通常は、双方向（「２方向」）または「相互的」であるが、つながりは、一方的または「１方向」であってもよい。例えば、ボブとジョーとの両方が、ソーシャル・ネットワーキング・システム７３０のユーザであり、互いにつなげられている場合、ボブとジョーとは、互いのつながりである。他方で、ボブは、ジョーによってソーシャル・ネットワーキング・システム７３０へ通信されたデータを見るために、ジョーとつながることを望むが、ジョーは、相互的なつながりを形成することを望まない場合には、一方的なつながりが確立され得る。ユーザ間のつながりは、直接的なつながりであってもよい。ただし、ソーシャル・ネットワーキング・システム７３０のいくつかの実施形態は、１つまたは複数のレベルのつながりまたは分離度を介して、つながりが間接的となることを可能にする。
【００７３】
ユーザ間のつながりを確立および維持し、ユーザ間のインタラクションを可能にすることに加えて、ソーシャル・ネットワーキング・システム７３０は、ソーシャル・ネットワーキング・システム７３０によってサポートされる様々なタイプのアイテムに対してアクションを行う能力をユーザに提供する。これらのアイテムは、ソーシャル・ネットワーキング・システム７３０のユーザが所属し得るグループまたはネットワーク（すなわち、人々、エンティティ、およびコンセプトのソーシャル・ネットワーク）、ユーザが興味を持つ可能性があるイベントまたはカレンダー・エントリ、ユーザがソーシャル・ネットワーキング・システム７３０を介して使用し得るコンピュータベースのアプリケーション、ユーザがソーシャル・ネットワーキング・システム７３０によって、またはソーシャル・ネットワーキング・システム７３０を通じて提供されるサービスを介してアイテムを購入または販売することを可能にするトランザクション、ならびに、ユーザがソーシャル・ネットワーキング・システム７３０上でまたはソーシャル・ネットワーキング・システム７３０外で行い得る広告とのインタラクションとを含んでもよい。これらは、ユーザがソーシャル・ネットワーキング・システム７３０上で作用し得るアイテムのほんの少数の例であり、多くの他のものが可能である。ユーザは、ソーシャル・ネットワーキング・システム７３０において表現されることが可能な、または、ソーシャル・ネットワーキング・システム７３０とは別個であるか、もしくはネットワーク７５０を介してソーシャル・ネットワーキング・システム７３０に結合されている外部システム７２０において表現されることが可能な、いかなるものともインタラクションしてもよい。
【００７４】
ソーシャル・ネットワーキング・システム７３０は、多様なエンティティをリンクさせることもできる。例えば、ソーシャル・ネットワーキング・システム７３０は、ユーザが互いにインタラクションすること、およびユーザが外部システム７２０または他のエンティティとＡＰＩ、ウェブ・サービス、または他の通信チャネルを介してインタラクションすることを可能にする。ソーシャル・ネットワーキング・システム７３０は、複数のエッジによって相互接続された複数のノードを含む「ソーシャル・グラフ」を生成し、維持する。ソーシャル・グラフ内の各ノードは、別のノードに対して作用することができるエンティティおよび／または別のノードによって作用されるエンティティを表し得る。ソーシャル・グラフは、様々なタイプのノードを含み得る。ノードのタイプの例は、ユーザ、非人間エンティティ、コンテンツ・アイテム、ウェブ・ページ、グループ、アクティビティ、メッセージ、コンセプト、および、ソーシャル・ネットワーキング・システム７３０内のオブジェクトによって表現され得る任意の他のものを含む。ソーシャル・グラフ内の２つのノードの間のエッジは、この２つのノード間の特定の種類のつながりまたは関連付けを表すことができ、このつながりまたは関連付けは、ノード関係に、またはノードのうちの一方によって他方のノードに対して行われたアクションに由来し得る。いくつかの例においては、ノード間のエッジが、重み付けされてもよい。エッジの重みは、そのエッジに関連付けられた属性、例えば、ノード間のつながりまたは関連付けの強度を表すことができる。異なるタイプのエッジには、異なる重みが提供され得る。例えば、１人のユーザが別のユーザに対して「いいね」を表明した場合に作成されるエッジには、１つの重みが与えられ得る一方で、ユーザが他のユーザと友達になった場合に作成されるエッジには、異なる重みが与えられてもよい。
【００７５】
一例として、第１のユーザが、第２のユーザを友達として識別する場合、第１のユーザを表すノードと、第２のユーザを表す第２のノードとをつなげる、ソーシャル・グラフ内のエッジが生成される。様々なノードが互いに関連し、または相互作用するので、ソーシャル・ネットワーキング・システム７３０は、様々なノードをつなげるエッジを修正して、関係および相互作用を反映する。
【００７６】
ソーシャル・ネットワーキング・システム７３０は、ソーシャル・ネットワーキング・システム７３０とのユーザのインタラクションを強化するユーザ生成されたコンテンツも含む。ユーザ生成されたコンテンツは、ユーザがソーシャル・ネットワーキング・システム７３０に追加し、アップロードし、送信し、または「投稿する」ことができる任意のものを含み得る。例えば、ユーザは、ユーザ装置７１０からソーシャル・ネットワーキング・システム７３０へ投稿を通信する。投稿は、ステータス更新もしくは他のテキスト・データ、位置情報、写真などの画像、ビデオ、リンク、音楽、または他の同様のデータおよび／もしくは媒体などのデータを含んでもよい。コンテンツはまた、第三者によってソーシャル・ネットワーキング・システム７３０に対して追加されてもよい。「アイテム」というコンテンツは、ソーシャル・ネットワーキング・システム７３０内でオブジェクトとして表される。このようにして、ソーシャル・ネットワーキング・システム７３０のユーザは、様々な通信チャネルを介してテキストおよび様々なタイプの媒体のコンテンツ・アイテムを投稿することによって、互いに通信するように促される。このような通信は、ユーザ同士のインタラクションを増大させ、ユーザがソーシャル・ネットワーキング・システム７３０とインタラクションする頻度を増加させる。
【００７７】
ソーシャル・ネットワーキング・システム７３０は、ウェブ・サーバ７３２と、ＡＰＩ要求サーバ７３４と、ユーザ・プロフィール・ストア７３６と、つながりストア７３８と、アクション・ロガー７４０と、アクティビティ・ログ７４２と、認証サーバ７４４とを含む。本発明の一実施形態において、ソーシャル・ネットワーキング・システム７３０は、様々なアプリケーションのための付加的な構成要素、より少ない構成要素、または異なる構成要素を含んでもよい。ネットワーク・インターフェース、セキュリティ機構、負荷分散装置、フェイルオーバ・サーバ、管理およびネットワーク運用コンソール等などの他の構成要素は、本システムの詳細を不明瞭にしないように図示されていない。
【００７８】
ユーザ・プロフィール・ストア７３６は、ユーザによって宣言され、またはソーシャル・ネットワーキング・システム７３０によって推測された、職歴、学歴、趣味または嗜好、位置等などの、経歴情報、人口統計学的情報、および他のタイプの記述的情報を含む、ユーザ・アカウントについての情報を維持する。この情報は、各ユーザが一意に識別されるように、ユーザ・プロフィール・ストア７３６内に記憶される。ソーシャル・ネットワーキング・システム７３０は、異なるユーザ間の１つまたは複数のつながりを記述したデータも、つながりストア７３８内に記憶する。つながり情報は、同様のまたは共通の職歴、グループ・メンバーシップ、趣味、または学歴を有するユーザを示し得る。また、ソーシャル・ネットワーキング・システム７３０は、異なるユーザ間のユーザ定義されたつながりを含み、ユーザが他のユーザとの自身の関係を指定することを可能にする。例えば、ユーザ定義されたつながりは、友達、同僚、パートナー等などの、ユーザの実生活の関係と並行する、他のユーザとの関係をユーザが生成することを可能にする。ユーザは、予め定義されたタイプのつながりから選択しても、必要に応じてユーザ自身のつながりタイプを定義してもよい。非人間エンティティ、バケット、クラスタ・センタ、画像、興味、ページ、外部システム、コンセプト等などの、ソーシャル・ネットワーキング・システム７３０内の他のノードとのつながりも、つながりストア７３８内に記憶される。
【００７９】
ソーシャル・ネットワーキング・システム７３０は、ユーザがインタラクションし得るオブジェクトについてのデータを維持する。このデータを維持するために、ユーザ・プロフィール・ストア７３６およびつながりストア７３８は、ソーシャル・ネットワーキング・システム７３０によって維持される、対応するタイプのオブジェクトのインスタンスを記憶する。各オブジェクト・タイプは、そのタイプのオブジェクトに適している情報を記憶するのに適した情報フィールドを有する。例えば、ユーザ・プロフィール・ストア７３６は、ユーザのアカウントおよびユーザのアカウントに関連する情報を記述するのに適したフィールドを有するデータ構造を含む。特定のタイプの新しいオブジェクトが作成されると、ソーシャル・ネットワーキング・システム７３０は、対応するタイプの新しいデータ構造を初期化し、新たなオブジェクトに対して一意のオブジェクト識別子を割り当て、必要に応じて、そのオブジェクトに対するデータを追加し始める。これは、例えば、ユーザがソーシャル・ネットワーキング・システム７３０のユーザとなり、ソーシャル・ネットワーキング・システム７３０が、ユーザ・プロフィール・ストア７３６においてユーザ・プロフィールの新しいインスタンスを生成し、ユーザ・アカウントに対して一意の識別子を割り当て、ユーザによって提供された情報をユーザ・アカウントのフィールドに投入し始める場合に発生し得る。
【００８０】
つながりストア７３８は、他のユーザとのユーザのつながり、外部システム７２０へのつながり、または他のエンティティへのつながりを記述するのに適したデータ構造を含む。つながりストア７３８はまた、接続タイプをユーザのつながりに関連付けることができ、これは、ユーザについての情報へのアクセスを規制するために、ユーザのプライバシー設定と共に使用され得る。本発明の一実施形態において、ユーザ・プロフィール・ストア７３６およびつながりストア７３８は、連合データベースとして実施されてもよい。
【００８１】
つながりストア７３８、ユーザ・プロフィール・ストア７３６、およびアクティビティ・ログ７４２内に記憶されたデータは、ソーシャル・ネットワーキング・システム７３０が、様々なオブジェクトを識別するためのノードと、異なるオブジェクト間の関係を識別するためにノードをつなげるエッジとを使用するソーシャル・グラフを生成することを可能にする。例えば、第１のユーザが、ソーシャル・ネットワーキング・システム７３０において第２のユーザとのつながりを確立する場合、ユーザ・プロフィール・ストア７３６からの第１のユーザおよび第２のユーザのユーザ・アカウントは、ソーシャル・グラフ内のノードとしての機能を果たし得る。つながりストア７３８によって記憶された、第１のユーザと第２のユーザとの間のつながりは、第１のユーザおよび第２のユーザに関連付けられたノード間のエッジである。この例を続けると、次いで、第２のユーザは、ソーシャル・ネットワーキング・システム７３０内で第１のユーザにメッセージを送信し得る。メッセージを送信するアクションは、記憶されてもよく、第１のユーザおよび第２のユーザを表す、ソーシャル・グラフ内の２つのノードの間の別のエッジとなる。また、メッセージ自体は、第１のユーザおよび第２のユーザを表すノードにつなげられた別のノードとしてソーシャル・グラフ内で識別され、ソーシャル・グラフに含まれ得る。
【００８２】
別の例において、第１のユーザは、ソーシャル・ネットワーキング・システム７３０によって維持される画像において（または、代替的に、ソーシャル・ネットワーキング・システム７３０の外部の別のシステムによって維持されている画像において）第２のユーザをタグ付けし得る。画像は、それ自体が、ソーシャル・ネットワーキング・システム７３０内のノードとして表され得る。このタグ付けアクションは、第１のユーザと第２のユーザとの間にエッジを作成し、ユーザの各々と画像との間にもエッジを作成する。画像も、ソーシャル・グラフ内のノードである。さらに別の例において、ユーザがイベントへの出席を確認する場合、ユーザおよびイベントは、ユーザ・プロフィール・ストア７３６から取得されるノードであり、イベントへの出席は、アクティビティ・ログ７４２から取得され得るノード間のエッジである。ソーシャル・グラフを生成し、維持することによって、ソーシャル・ネットワーキング・システム７３０は、多くの異なるタイプのオブジェクトならびにそれらのオブジェクト間の相互作用およびつながりを記述するデータを含んで、社会的に関連する情報の豊富なソースを提供する。
【００８３】
ウェブ・サーバ７３２は、ソーシャル・ネットワーキング・システム７３０を、１つもしくは複数のユーザ装置７１０および／または１つもしくは複数の外部システム７２０に、ネットワーク７５０を介してリンクする。ウェブ・サーバ７３２は、ウェブ・ページに、およびＪａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ、Ｆｌａｓｈ、ＸＭＬ等などの他のウェブ関連コンテンツにサービスを提供する。ウェブ・サーバ７３２は、ソーシャル・ネットワーキング・システム７３０と１つまたは複数のユーザ装置７１０との間でメッセージを受信およびルーティングするための、メール・サーバまたは他のメッセージング機能を含み得る。メッセージは、インスタント・メッセージ、キューに入れられたメッセージ（例えば、電子メール）、テキストおよびＳＭＳメッセージ、または任意の他の適切なメッセージング・フォーマットであってもよい。
【００８４】
ＡＰＩ要求サーバ７３４は、１つまたは複数の外部システム７２０およびユーザ装置７１０が、１つまたは複数のＡＰＩ関数を呼び出すことによって、ソーシャル・ネットワーキング・システム７３０からのアクセス情報を呼び出すことを可能にする。ＡＰＩ要求サーバ７３４は、外部システム７２０が、ＡＰＩを呼び出すことによって、ソーシャル・ネットワーキング・システム７３０へ情報を送信することも可能にし得る。外部システム７２０は、１つの実施形態において、ネットワーク７５０を介してソーシャル・ネットワーキング・システム７３０へＡＰＩ要求を送信し、ＡＰＩ要求サーバ７３４は、このＡＰＩ要求を受信する。ＡＰＩ要求サーバ７３４は、ＡＰＩ要求に関連付けられたＡＰＩを呼び出して、適当な応答を生成することによって、要求を処理し、ＡＰＩ要求サーバ７３４は、この適当な応答を、ネットワーク７５０を介して外部システム７２０へ通信する。例えば、ＡＰＩ要求に応じて、ＡＰＩ要求サーバ７３４は、ユーザに関連付けられたデータ、例えば、外部システム７２０にログインしたユーザのつながりなどを収集し、収集されたデータを外部システム７２０へ通信する。別の実施形態において、ユーザ装置７１０は、外部システム７２０と同様に、ＡＰＩを介してソーシャル・ネットワーキング・システム７３０と通信する。
【００８５】
アクション・ロガー７４０は、ウェブ・サーバ７３２から、ソーシャル・ネットワーキング・システム７３０上でのおよび／またはソーシャル・ネットワーキング・システム７３０外でのユーザ・アクションについての通信を受信することが可能である。アクション・ロガー７４０は、ユーザ・アクションについての情報をアクティビティ・ログ７４２に投入し、ソーシャル・ネットワーキング・システム７３０が、ソーシャル・ネットワーキング・システム７３０内およびソーシャル・ネットワーキング・システム７３０外でそのユーザによって行われた様々なアクションを発見することを可能にする。特定のユーザが、ソーシャル・ネットワーキング・システム７３０上の別のノードに対して行う任意のアクションは、アクティビティ・ログ７４２または類似のデータベースもしくは他のデータ・リポジトリにおいて維持される情報を介して、各ユーザのアカウントに関連付けられ得る。識別および記憶される、ソーシャル・ネットワーキング・システム７３０内でユーザによって行われるアクションの例は、例えば、別のユーザへのつながりを追加すること、別のユーザにメッセージを送信すること、別のユーザからのメッセージを読むこと、別のユーザに関連付けられたコンテンツを見ること、別のユーザによって投稿されたイベントに出席すること、画像を投稿すること、画像を投稿しようと試みること、または別のユーザもしくは別のオブジェクトと相互作用する他のアクションを含んでもよい。ユーザが、ソーシャル・ネットワーキング・システム７３０内でアクションを行う場合、このアクションは、アクティビティ・ログ７４２内に記録される。１つの実施形態において、ソーシャル・ネットワーキング・システム７３０は、アクティビティ・ログ７４２をエントリのデータベースとして維持する。アクションが、ソーシャル・ネットワーキング・システム７３０内で行われると、そのアクションについてのエントリは、アクティビティ・ログ７４２に対して追加される。アクティビティ・ログ７４２は、アクション・ログと称されてもよい。
【００８６】
また、ユーザ・アクションは、ソーシャル・ネットワーキング・システム７３０とは別個の外部システム７２０などの、ソーシャル・ネットワーキング・システム７３０の外部のエンティティ内で発生するコンセプトおよびアクションに関連付けられてもよい。例えば、アクション・ロガー７４０は、ウェブ・サーバ７３２から、外部システム７２０とのユーザのインタラクションを記述したデータを受信し得る。この例において、外部システム７２０は、ソーシャル・グラフ内の構造化されたアクションおよびオブジェクトに従ってユーザのインタラクションを報告する。
【００８７】
ユーザが外部システム７２０とインタラクションするアクションの他の例は、ユーザが外部システム７２０または別のエンティティにおいて興味を表現すること、外部システム７２０または外部システム７２０内のウェブ・ページ７２２ａを考察するコメントをユーザがソーシャル・ネットワーキング・システム７３０に投稿すること、外部システム７２０に関連付けられたユニフォーム・リソース・ロケータ（ＵＲＬ）もしくは他の識別子をユーザがソーシャル・ネットワーキング・システム７３０に投稿すること、外部システム７２０に関連付けられたイベントにユーザが出席すること、または外部システム７２０に関連する、ユーザによる任意の他のアクションを含む。したがって、アクティビティ・ログ７４２は、ソーシャル・ネットワーキング・システム７３０のユーザと、ソーシャル・ネットワーキング・システム７３０とは別個の外部システム７２０との間のインタラクションを記述したアクションを含み得る。
【００８８】
認証サーバ７４４は、ソーシャル・ネットワーキング・システム７３０のユーザの１つまたは複数のプライバシー設定を強化する。ユーザのプライバシー設定は、ユーザに関連付けられた特定の情報がどのように共有されるかを決定する。プライバシー設定は、ユーザに関連付けられた特定の情報の仕様と、その情報が共有され得る１つまたは複数のエンティティの仕様とを含む。情報が共有され得るエンティティの例は、他のユーザ、アプリケーション、外部システム７２０、または情報に潜在的にアクセスすることができる任意のエンティティを含み得る。ユーザによって共有され得る情報は、ユーザ・アカウント情報、例えば、プロフィール写真、ユーザに関連付けられた電話番号、ユーザのつながり、ユーザによって行われたアクション、例えば、つながりを追加すること、ユーザ・プロフィール情報を変更すること等などを含む。
【００８９】
プライバシー設定仕様は、異なるレベルの粒度で提供され得る。例えば、プライバシー設定は、他のユーザと共有されるべき特定の情報を識別してもよい。プライバシー設定は、勤務先電話番号、または、プロフィール写真、自宅電話番号、およびステータスを含む個人情報などの特定の一組の関連情報を識別し得る。代替的に、プライバシー設定は、ユーザに関連付けられる全ての情報に対して適用されてもよい。特定の情報にアクセスすることができる一組のエンティティの仕様も、様々なレベルの粒度で特定され得る。情報が共有され得る様々な一組のエンティティは、例えば、ユーザの全ての友達、友達の全ての友達、全てのアプリケーション、または全ての外部システム７２０を含み得る。１つの実施形態は、一組のエンティティの仕様がエンティティの列挙を含むことを可能にする。例えば、ユーザは、一定の情報にアクセスすることが許可された外部システム７２０のリストを提供してもよい。別の実施形態は、情報にアクセスすることを許可されていない例外と共に、一組のエンティティを仕様が含むことを可能にする。例えば、ユーザは、全ての外部システム７２０がユーザの勤務先情報にアクセスすることを許可し得るが、勤務先情報にアクセスすることが許可されない外部システム７２０のリストを特定し得る。一定の実施形態は、一定の情報にアクセスすることが許可されない例外のリストを「ブロック・リスト」と呼ぶ。ユーザによって特定されたブロック・リストに属する外部システム７２０は、プライバシー設定で特定された情報にアクセスすることを阻止される。情報の仕様の粒度と、情報が共有されるエンティティの仕様の粒度との様々な組合せが可能である。例えば、全ての個人情報が、友達と共有され得るのに対して、全ての勤務先情報は、友達の友達と共有されてもよい。
【００９０】
認証サーバ７４４は、ユーザに関連付けられた一定の情報が、ユーザの友達、外部システム７２０、ならびに／または他のアプリケーションおよびエンティティによってアクセスされ得るかどうかを決定するためのロジックを含む。外部システム７２０は、ユーザの勤務先電話番号等の、ユーザのより私的な機密情報にアクセスするために、認証サーバ７４４からの認証を必要とし得る。ユーザのプライバシー設定に基づいて、認証サーバ７４４は、別のユーザ、外部システム７２０、アプリケーション、または別のエンティティが、ユーザによって行われたアクションについての情報を含む、ユーザに関連付けられた情報にアクセスすることを許可されているかどうかを決定する。
【００９１】
ソーシャル・ネットワーキング・システム７３０は、画像処理モジュール７４６を含むことができる。いくつかの実施形態において、画像処理モジュール７４６は、図１の画像処理モジュール１０２として実施され得る。画像処理モジュール７４６は、本開示の様々な実施形態に従って、画像を作成し、処理し、および／または修正するように構成され得る。
【００９２】
ユーザ装置７１０は、画像処理モジュール７４６’を含むことができる。いくつかの実施形態において、画像処理モジュール７４６’は、図１の画像処理モジュール１０２として実施され得る。画像処理モジュール７４６’は、本開示の様々な実施形態に従って、画像を作成し、処理し、および／または修正するように構成され得る。
【００９３】
ハードウェアの具体例
前述の方法および特徴は、多種多様な機械およびコンピュータ・システム・アーキテクチャによって、ならびに多種多様なネットワーク環境およびコンピューティング環境において具体化され得る。図８は、本発明の一実施形態に係る、本明細書において記載される実施形態のうちの１つまたは複数を実施するために使用され得るコンピュータ・システム８００の一例を例示する。コンピュータ・システム８００は、コンピュータ・システム８００に、本明細書において考察される方法および特徴を実行させるための一組の命令を含む。コンピュータ・システム８００は、他の機械に接続され（例えば、ネットワーク化され）てもよい。ネットワーク化された配置において、コンピュータ・システム８００は、クライアント・サーバ・ネットワーク環境におけるサーバ・マシンもしくはクライアント・マシンの能力内で、またはピア・ツー・ピア（もしくは分散）ネットワーク環境におけるピア・マシンとして動作し得る。本発明の一実施形態において、コンピュータ・システム８００は、ソーシャル・ネットワーキング・システム７３０、ユーザ装置７１０、および外部システム７２０、または、これらの構成要素であってもよい。本発明の一実施形態において、コンピュータ・システム８００は、ソーシャル・ネットワーキング・システム８３０の全部または一部を構成する多くのうちの１つのサーバであってもよい。
【００９４】
コンピュータ・システム８００は、プロセッサ８０２と、キャッシュ８０４と、本明細書において記載された方法および特徴に向けられる、コンピュータ読取可能な媒体上に記憶された１つまたは複数の実行可能なモジュールおよびドライバとを含む。また、コンピュータ・システム８００は、高性能入出力（Ｉ／Ｏ）バス８０６と、標準Ｉ／Ｏバス８０８とを含む。ホスト・ブリッジ８１０は、プロセッサ８０２を高性能Ｉ／Ｏバス８０６に結合するのに対して、Ｉ／Ｏバス・ブリッジ８１２は、２つのバス８０６および８０８を互いに結合する。システム・メモリ８１４および１つまたは複数のネットワーク・インターフェース８１６は、高性能Ｉ／Ｏバス８０６に結合される。コンピュータ・システム８００は、ビデオ・メモリと、ビデオ・メモリ（図示せず）に結合された表示装置とをさらに含み得る。大容量記憶装置８１８およびＩ／Ｏポート８２０は、標準Ｉ／Ｏバス８０８に結合される。コンピュータ・システム８００は、随意的に、キーボードおよびポインティング・デバイス、表示装置、または標準Ｉ／Ｏバス８０８に結合された他の入出力装置（図示せず）を含んでもよい。集合的に、これらの要素は、カリフォルニア州サンタ・クララのＩｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎによって製造されたｘ８６互換プロセッサ、およびカリフォルニア州サニーヴェイルのＡｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ（ＡＭＤ），Ｉｎｃ．によって製造されたｘ８６互換プロセッサ、ならびに任意の他の適切なプロセッサに基づくコンピュータ・システムを含むが、これらに限定されない、広いカテゴリのコンピュータ・ハードウェア・システムを表すことを意図されている。
【００９５】
オペレーティング・システムは、ソフトウェア・アプリケーション（図示せず）へのデータの入力およびソフトウェア・アプリケーションからのデータの出力を含む、コンピュータ・システム８００の動作を管理し、制御する。オペレーティング・システムは、システム上で実行されるソフトウェア・アプリケーションとシステムのハードウェア構成要素との間のインターフェースを提供する。任意の適切なオペレーティング・システム、例えば、ＬＩＮＵＸオペレーティング・システム、カリフォルニア州クパチーノのＡｐｐｌｅ  Ｃｏｍｐｕｔｅｒ  Ｉｎｃ．から入手可能なＡｐｐｌｅ  Ｍａｃｉｎｔｏｓｈオペレーティング・システム、ＵＮＩＸ（登録商標）オペレーティング・システム、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）オペレーティング・システム、ＢＳＤオペレーティング・システム等などが使用され得る。他の実施例も可能である。
【００９６】
コンピュータ・システム８００の要素は、下記でより詳細に記載される。特に、ネットワーク・インターフェース８１６は、コンピュータ・システム８００と、幅広いネットワークのうちの任意のもの、例えば、イーサネット（例えばＩＥＥＥ８０２．３）ネットワーク、バックプレーン等などとの間の通信を提供する。大容量記憶装置８１８は、上記されたそれぞれのコンピューティング・システムによって具体化される、上述された方法および特徴を実行するためのデータおよびプログラミング命令のための固定記憶装置を提供するのに対して、システム・メモリ８１４（例えば、ＤＲＡＭ）は、プロセッサ８０２によって実行されたときにデータおよびプログラミング命令のための一時記憶装置を提供する。Ｉ／Ｏポート８２０は、コンピュータ・システム８００に結合され得る付加的な周辺装置間の通信を提供する、１つまたは複数のシリアル通信ポートおよび／またはパラレル通信ポートであってもよい。
【００９７】
コンピュータ・システム８００は、多様なシステム・アーキテクチャを含むことができ、コンピュータ・システム８００の様々な構成要素は、再配置されてもよい。例えば、キャッシュ８０４は、プロセッサ８０２とオンチップであってもよい。代替的に、キャッシュ８０４およびプロセッサ８０２は、「プロセッサ・モジュール」としてまとめてパックされてもよく、プロセッサ８０２は「プロセッサ・コア」と称される。さらに、本発明の一定の実施形態は、上記の構成要素の全部を必要としなくても、含まなくてもよい。例えば、標準Ｉ／Ｏバス８０８に結合された周辺装置は、高性能Ｉ／Ｏバス８０６に結合されてもよい。また、いくつかの実施形態においては、コンピュータ・システム８００の構成要素が単一のバスに結合されている状態で、単一のバスのみが存在してもよい。さらに、コンピュータ・システム８００は、付加的なプロセッサ、記憶装置、またはメモリなどの付加的な構成要素を含んでもよい。
【００９８】
一般に、本明細書において記載される方法および特徴は、オペレーティング・システムもしくは特定のアプリケーションの一部、構成要素、プログラム、オブジェクト、モジュール、または、「プログラム」と称される一連の命令として具体化され得る。例えば、１つまたは複数のプログラムは、本明細書において記載された特定の方法を実行するために使用され得る。このプログラムは、通常は、１つまたは複数のプロセッサによって読み出され、実行されると、コンピュータ・システム８００に、本明細書において記載された方法および特徴を実行するための動作を行わせる、コンピュータ・システム８００内の様々なメモリおよび記憶装置内の１つまたは複数の命令を含む。本明細書において記載された方法および特徴は、ソフトウェア、ファームウェア、ハードウェア（例えば、特定用途向け集積回路）、または、これらの任意の組合せで具体化され得る。
【００９９】
１つの実施例において、本明細書において記載された方法および特徴は、分散コンピューティング環境において、個別にまたは集合的に、コンピュータ・システム８００によって実行される一連の実行可能なモジュールとして具体化される。前述のモジュールは、ハードウェア、コンピュータ読取可能な媒体（もしくは機械読取可能な媒体）に記憶された実行可能なモジュール、または両方の組合せによって実現され得る。例えば、モジュールは、プロセッサ８０２などの、ハードウェア・システム内のプロセッサによって実行されるべき複数の命令または一連の命令を含んでもよい。最初に、一連の命令は、大容量記憶装置８１８などの記憶装置に記憶され得る。ただし、一連の命令は、任意の適切なコンピュータ読取可能な記憶媒体に記憶されてもよい。さらに、一連の命令は、局所的に記憶される必要はなく、ネットワーク上のサーバなどの遠隔記憶装置からネットワーク・インターフェース８１６を介して受信されてもよい。命令は、大容量記憶装置８１８などの記憶装置からシステム・メモリ８１４内へコピーされ、次いで、プロセッサ８０２によってアクセスされ、実行される。様々な実施例において、１つまたは複数のモジュールは、並列処理環境における複数のサーバなどの、１つまたは複数の位置における１つまたは複数のプロセッサによって実行され得る。
【０１００】
コンピュータ読取可能な媒体の例は、揮発性メモリ装置および不揮発性メモリ装置などの記録可能なタイプの媒体、ソリッド・ステート・メモリ、フロッピー（登録商標）・ディスクおよび他の取り外し可能なディスク、ハード・ディスク・ドライブ、磁気媒体、光ディスク（例えば、コンパクト・ディスク読み出し専用メモリ（ＣＤ  ＲＯＭＳ）、デジタル多用途ディスク（ＤＶＤ））、他の同様の非一時的な（もしくは一時的な）有形の（もしくは非有形の）記憶媒体、または、本明細書において記載された方法および特徴のうちのいずれか１つもしくは複数を実行するためにコンピュータ・システム８００による実行のための一連の命令を記憶し、符号化し、もしくは搬送するのに適した任意のタイプの媒体を含むが、これらに限定されない。
【０１０１】
説明の目的のために、多くの特定の詳細が、本記載の完全な理解を提供するために述べられている。しかしながら、本開示の実施形態がこれらの特定の詳細なしに実施され得ることは、当業者には明らかであろう。いくつかの例においては、モジュール、構造、方法、特徴、および装置が、本記載を不明瞭にすることを避けるために、ブロック図の形式で示されている。他の例においては、機能ブロック図およびフロー図が、データおよび論理フローを表すために示されている。ブロック図およびフロー図の構成要素（例えば、モジュール、ブロック、構造、装置、特徴等）は、本明細書において明示的に記載および図示されたもの以外の手法で、様々に組み合わせられ、分離され、除去され、並べ替えられ、置換されてもよい。
【０１０２】
本明細書における、「１つの実施形態」、「一実施形態」、「他の実施形態」、「一連の実施形態」、「いくつかの実施形態」、「様々な実施形態」等への言及は、実施形態に関連して記載される特定の特徴、設計、構造、または特性が本開示の少なくとも１つの実施形態に含まれることを意味する。例えば、本明細書の様々な場所における、「１つの実施形態において」または「一実施形態において」というフレーズの出現は、必ずしも全て同じ実施形態に言及するものとは限らず、別個のまたは代替的な実施形態は、他の実施形態と相互に排他的でもない。さらに、「実施形態」等への明示的な言及が存在しても存在しなくても、様々な特徴が記述されており、様々な特徴は、いくつかの実施形態においては様々に組み合わせられ、含まれてもよいが、他の実施形態においては様々に省略されてもよい。同様に、いくつかの実施形態については好適または要件となり得るが、他の実施形態についてはそうではない、様々な特徴が記載される。
【０１０３】
本明細書において使用されている文言は、読みやすさおよび教示目的のために主に選択されており、本発明の主題を描写または制限するためには選択されていないことがある。そのため、本発明の範囲は、この詳細な説明によってではなく、むしろ、本明細書に基づいて出願に対して発行される任意の請求項によって制限されることが意図される。したがって、本発明の実施形態の開示は、本発明の範囲の例示であって、限定ではないことが意図されており、本発明の範囲は、下記の特許請求の範囲において述べられている。
【図１】
2017527904.tif 000003
【図２】
2017527904.tif 000004
【図３Ａ】
2017527904.tif 000005
【図３Ｂ】
2017527904.tif 000006
【図４】
2017527904.tif 000007
【図５】
2017527904.tif 000008
【図６Ａ】
2017527904.tif 000009
【図６Ｂ】
2017527904.tif 000010
【図６Ｃ】
2017527904.tif 000011
【図６Ｄ】
2017527904.tif 000012
【図６Ｅ】
2017527904.tif 000013
【図７】
2017527904.tif 000014
【図８】
2017527904.tif 000015
【国際調査報告】
2017527904.tif 000016
2017527904.tif 000017
2017527904.tif 000018