画像をレンダリングする要求を受信するステップと、前記画像のレンダリングされたバージョン、またはインポスター画像を、前記画像を含む画像の集合の一部として提供するステップと、順次より高い解像度で前記画像を表示する処理をアニメートするために前記画像をレンダリングするための複数の解像度を決定するステップであって、前記複数の解像度が送信帯域幅、描画速度、または画像フォーマットに基づいて決定される、ステップと、複数のレンダリングされた画像を作成するために、前記複数の解像度で前記画像をレンダリングするステップと、前記複数の解像度で前記複数のレンダリングされた画像を提供するステップとを備える、画像をレンダリングする方法。前記画像がある形状を有し、前記形状を含むデータを取得するステップと、前記形状で前記インポスター画像を作成するステップとをさらに備える、請求項1に記載の方法。前記複数の解像度が、前記画像を送信するために利用可能な送信帯域幅の量に基づいて決定される、請求項1に記載の方法。前記複数の解像度が、前記画像が表示される装置の描画速度に基づいて決定される、請求項1に記載の方法。前記複数の解像度が、前記画像が格納されるフォーマットに基づいて決定される、請求項1に記載の方法。前記フォーマットが、第1の解像度で前記画像をレンダリングするための速い経路を提供し、前記決定するステップが、利用可能な送信帯域幅または描画速度に基づいて、前記第1の解像度とは異なる第2の解像度を選択して、次いで、前記速い経路の利用可能性のために、前記画像を前記第2の解像度ではなく前記第1の解像度でレンダリングすることを決定する、請求項5に記載の方法。別々のフェッチスレッドを使用して、前記集合内の画像を同時にフェッチするステップをさらに備える、請求項1に記載の方法。請求項1乃至7のいずれか1項に記載の方法を実行するためのコンピューター実行可能命令を有するコンピューター読み取り可能な媒体。プロセッサーと、データ記憶コンポーネントと、前記データ記憶コンポーネントに格納される画像キャッシュと、前記システムにとってローカルなソース、および前記システムにとって遠隔にあるソースから画像を取得する画像フェッチャーと、前記プロセッサー上で実行する収集コンポーネントであって、前記収集コンポーネントが画像をレンダリングする要求を受信して前記画像のレンダリングされたバージョンが前記画像キャッシュ内で利用可能かどうかを決定し、前記収集コンポーネントが前記画像を取得するよう前記画像フェッチャーに指示し、前記システムが前記画像の前記レンダリングされたバージョンが前記画像キャッシュ内にない場合はインポスター画像が表示されるよう指示する、収集コンポーネントと、前記画像フェッチャーによって取得された前記画像をレンダリングして、前記画像を前記システムによって表示させるか、または前記画像が表示される装置に提供させるレンダラーとを備える、画像をレンダリングするためのシステム。前記収集コンポーネントが、前記インポスター画像が表示されるよう指示し、前記画像がある形状を有し、前記システムが前記形状で前記インポスター画像を作成する、請求項9に記載のシステム。前記形状が長方形を含み、前記インポスター画像が前記長方形の縦横比を有する長方形で作成される、請求項10に記載のシステム。前記システムが、前記画像の解像度の増加をアニメートし、前記画像を送信するために利用可能な帯域幅の量に基づいて前記画像をレンダリングするための解像度を選択する、請求項9に記載のシステム。前記システムが前記画像の解像度の増加をアニメートし、前記装置の描画速度に基づいて前記画像をレンダリングするための解像度を選択する、請求項9に記載のシステム。前記システムが前記画像の解像度の増加をアニメートし、前記画像のフォーマットに基づいて前記画像をレンダリングするための解像度を選択する、請求項9に記載のシステム。前記フォーマットが、第1の解像度とは異なる第2の解像度で前記画像をレンダリングするための経路よりも速い前記第1の解像度で前記画像をレンダリングするための経路を提供し、前記システムが、前記経路の存在のために、前記第2の解像度ではなく前記第1の解像度を選択する、請求項14に記載のシステム。0002質の高いユーザーエクスペリエンスを提供する観点から、通常、画像のレンダリングにかかる時間に対処する方法が2つある。1つの方法は、画像が要求される前にそれらの画像をプリレンダリングすることである。この手法は、どの画像が要求されるか、およびどんな解像度で要求されるかを予想することを含む。この方法は、多数のプリレンダリングされた画像を格納すること、および将来のある時点で要求されるかどうかわからない画像をレンダリングするために計算リソースを充てることも含む。さらに、プリレンダリングされた画像が高解像度の場合、画像をレンダリングする際の遅延は回避されるものの、高解像度画像を送信するためにかかる時間の量によって依然として遅延が生じる場合がある。高解像度画像の集合が含まれる場合も、やはりこの遅延が何倍にも増加する場合がある。0003画像のレンダリングにかかる時間に対処するためのもう1つの方法は、画像をオンデマンドでレンダリングして、画像がレンダリングされる間待つ必要があることをユーザーに伝えることである。この技法が使用される場合、ユーザーは、画像がレンダリングされる間待つように伝えるメッセージを示されるか、あるいは画像がレンダリングされる間、記号または動画たとえば、砂時計の中を砂が落ちている、時計の上で針が動いている、等を示される場合がある。通常、この技法は質の低いユーザーエクスペリエンスをもたらす。0004いくつかのシステムは限られた形式のプリレンダリングを使用する。たとえば、画像は大量のデータを含む高解像度画像と、解像度が非常に低い小さなサムネイル画像との2つの形式で格納されうる。この手法の欠点は、低解像度のサムネイルを表示するか、あるいは送信またはディスプレイ上の描画に長い時間がかかる場合がある高解像度画像を表示するかの間で選択するよう、ディスプレイシステムに強制することである。0005既存のプリレンダリングされた画像の利用可能性、ならびに画像が送信および/または描画されうる速度を考慮し、また、たとえ利用可能なプリレンダリングされた画像がない場合でもユーザーエクスペリエンスも向上させる方法で画像をレンダリングできる。0006画像が表示される場合、画像レンダリングシステムは、レンダリングを行っている機械上で、プリレンダリングされた画像がローカルに利用可能かどうかを決定しようとする。利用可能な場合、その画像が表示されうる。利用可能な、適切なプリレンダリングされた画像がない場合、システムはインポスターimposterと呼ばれるプレースホルダー画像を描画する。インポスターは、たとえば曖昧な色である場合がある。インポスターの出現により、インポスターは順次高い解像度で明確になる画像の第1反復であることをユーザーに示唆できる。しかし、インポスターは、基本画像からのどの実際の情報にも基づかない場合がある。したがって、高解像度画像の描画の初期の段階にインポスターが示す推測は錯覚にすぎないが、ユーザーエクスペリエンスを向上させる。画像の集合がレンダリングされる場合たとえば、画像検索に応答する画像のセット、プリレンダリングされた形式で利用できないそれぞれの画像はインポスター画像として表示されうる。0007画像のために指定された場所に一旦何かが描画されると描画されたアイテムがインポスターか、実際の画像の低解像度バージョンかに関わらず、実際の画像、または画像の高解像度バージョンを取得する処理に移ることができる。適切なプリレンダリングされた画像がローカルに利用可能ではないと仮定すると、画像ソースすなわち、JPEGファイルなどの、レンダリングされるべき画像の基本モデルを含むデータが取得されうる。次いで、画像が高解像度でレンダリングされうる。適用可能であれば、集合内に含まれるべきいくつかの画像をレンダリングでき、この場合、集合の一部である別々の画像を取得およびレンダリングする処理をパラレルに行うことができる。低解像度画像またはインポスターと置換するために高解像度画像をレンダリングする考え方の1つの変化形は、より高い解像度の画像を連続的にレンダリングおよび描画して、それによって画像により焦点を合わせる処理をアニメートするanimateことである。インポスター画像が使用されると、連続する画像は、ますます増加する実際の画像データとインポスターデータとを混合できる。0008画像がレンダリングおよび描画される方法は、様々なリソースの利用可能性および機能を考慮するように適応できる。たとえば、いくつかの画像フォーマットの特性は特定の解像度をレンダリングするための速い経路を提供するのでたとえば、JPEGからは256または512ピクセルの解像度で画像を迅速にレンダリングできる、特定のフォーマットの画像の利用可能性を、特定の解像度を選択するための基礎として使用できる。さらに、画像が描画および/または送信されうる速度を、画像のいくつの異なる解像度が描画されるべきかを選択するための基礎として使用できる。たとえば、連続的に解像度がより高くなる30個の画像を1秒の間に表示することによって、焦点があってくる画像をアニメートしたい場合がある。しかし、環境の物理的機能により画像を30フレーム/秒で描画および/または送信できない場合、システムは画像をレンダリングする解像度について異なる選択を行うことができる。反対に、環境により画像を高速で描画および/または送信できるが、それらの画像のレンダリングは遅い場合がある。言い換えれば、どの画像をレンダリングするべきか決定する場合、描画処理の遅さとレンダリング処理の遅さについての考慮とは別々に考慮されうる。0009この概要は、以下の発明を実施するための形態においてさらに説明される概念の選択を簡単な形式で紹介するために提供される。この概要は、特許請求の範囲に記載された対象の主な特徴または本質的な特徴を識別することを意図するものではなく、また特許請求の範囲に記載された対象の範囲を限定するために使用されることを意図するものでもない。0016近年、コンピューティングにおいて、画像コンテンツは一層一般的になってきた。コンピューティングの初期には、通常、人とコンピューターとの間の対話はテキスト通信の形式で生じていた。現在、ユーザーは画像の形式でコンテンツを期待するようになり、画像の質と、それらの画像の配信におけるエクスペリエンスの質との両方について、ますます高い期待を持つようになった。電子メール、検索結果、ウェブページなどは通常画像を含み、ユーザーはこれらの画像が様々な種類の有線または無線接続を介してデスクトップコンピューターから無線電話までの範囲の多くの種類の装置に配信されることを期待する。0017画像は、直接表示できない何らかの種類のモデルで格納される場合が多い。むしろ、画像はいくつかの解像度でピクセルにレンダリングされなければならないので、ディスプレイ装置にピクセルが表示されうる。画像をレンダリングする処理、特に高解像度画像をレンダリングする処理は、画像を生成するために必要な計算の量、または画像にI/O操作を実行するためにかかる時間の量の点でコストが高い。このような画像に対応するためにかかる時間の量は、それらの画像を受信する際のユーザーエクスペリエンスを低下させてしまう。レンダリングされる画像は集合たとえば、画像検索のための検索結果を構成する画像の集合の一部であることが多いので、集合をレンダリングするコストは単一の画像をレンダリングするコストよりも何倍も高くなる場合がある。0018質の高いユーザーエクスペリエンスを提供することに関しては、レンダリングされた画像を提供する問題に対処するための多くの方法がある。ある方法は、ユーザーの要望に応じて画像をすぐに表示できるように、画像をプリレンダリングすることである。しかし、画像のプリレンダリングは、要求されるかどうかわからない画像の作成に大量の計算リソースおよびストレージを充てることを含むのでコストがかかる。画像は様々な解像度で要求される場合があり、これは画像のプリレンダリングはどの画像が要求されるかを予想するだけでなく、それらの画像がどんな解像度で要求されるかを予想することも含むことを意味する。さらに、利用可能な画像のセットは常に変化するので、画像のプリレンダリングは、要求される可能性がある新しい画像ごとに実行される必要がある継続的な処理である。0019さらに、プリレンダリングは、画像が要求された後にその画像をレンダリングするために待つ必要がある時間の量を事実上ゼロに減少させるので、プリレンダリングは他の種類の時間コストを課すことができる。少数の異なる解像度たとえば、低、中、高だけで画像をレンダリングすることが可能な場合があるので、プリレンダリングされた高画質画像は利用可能な送信帯域幅の量、または画像が表示される装置の描画速度と適合できない場合がある。たとえば、中解像度および高解像度で画像が利用可能な場合、応答時間および品質のトレードオフに関してユーザーエクスペリエンスを最適化するために、中解像度と高解像度の間のどこかの解像度で画像を表示するのが当然であろう。しかし、このような画像がない場合、システムは中解像度画像を提供することと、高解像度画像を提供することとの間で選択しなければならない。前者の選択は低い画質を提供することによってユーザーエクスペリエンスを低下させる場合があり、後者の選択はユーザー装置への画像の送信にかかる時間の量、またはディスプレイ上に描画するためにかかる時間の量の点でユーザーエクスペリエンスを低下させる場合がある。本明細書に記載の対象は、単一の画像がレンダリングされる場合と画像の集合がレンダリングされる場合との両方に適用されるが、単一の画像がレンダリングされる場合と比較して、画像の集合がレンダリングされる場合は、高画質画像を迅速にレンダリングするという問題が何倍にも増える点に留意されたい。0020本明細書に記載の対象によって、全体的に高品質なユーザーエクスペリエンスを提供するために、画像を提供することに対する様々な制約に適合する方法で画像をレンダリングできるようになる。画像を提供する機能に存在しうる制約のいくつかの例には、プリレンダリングされた画像の利用可能性または利用可能性の欠如、他と比較してある解像度で画像をレンダリングすることの相対的容易さ、レンダラーから画像が表示される装置へ画像を送信するための帯域幅の利用可能性、およびディスプレイ装置が連続画像を描画できる速度がある。さらに、インポスター画像の使用を通じて、本明細書に記載の対象は、たとえ容易に利用可能なプリレンダリングされた画像がなくても低解像度の画像さえなくても、画像受信のユーザーの経験の認識を向上できる。00211つまたは複数の画像を求める要求が行われると、本明細書に記載の対象によって設計されたシステムは、何を迅速に提供できるか決定しようとする。画像を求める要求は、直接ユーザー要求の形式をとる場合がある。あるいは、他の例では、画像検索要求に応答する処理の一部として、検索エンジンが画像を要求する場合がある。あるいは、さらなる例として、画像はウェブページ上で参照される場合があり、ウェブブラウザがウェブページの処理の一部として画像を要求する場合がある。本明細書に記載の対象は、画像を求める要求が生じる任意の特定の方法に限定されない。低解像度のプリレンダリングされた画像が利用可能である場合があり、この場合はそれらの画像が提供されうる。低解像度画像は迅速に送信および描画されうるので、低解像度画像を使用すると、要求への応答が非常に速く見える場合がある。しかし、低解像度画像が利用可能ではない場合、システムはインポスター画像を提供する場合がある。インポスター画像は、ユーザーには、順次より高い解像度で画像を描画する処理における非常に初期の段階に見える場合がある画像である。しかし、インポスター画像は画像のサイズと縦横比だけに基づく場合がある。たとえば、インポスター画像は、後にレンダリングされる描画の形状およびサイズで表示された、単に曖昧な色およびパターンである場合がある。しかし、インポスター画像は描画についての情報にほとんどまたは全く基づいていない場合があるので、非常に迅速に提供することができ、したがって画像要求に応答するために使用されうるいくつかのコンテンツを提供できる。この迅速な応答によって、ユーザーの経験の認識を向上できる。0022ユーザーがインポスター画像または低解像度画像を見せられている間、システムは他の解像度での画像の取得に取りかかることができる。これらの画像の生成には様々なタスクが含まれうる。まず、基本的なレンダリングされていない画像が、ローカルまた遠隔ソースから配置されなければならない。一旦これらの画像が配置されると、画像をレンダリングする方法について様々な決定が行われうる。まず、システムは、連続的により高い解像度の画像のレンダリングを表示することによって、高解像度で画像を描画する処理をアニメートしたい場合がある。このアニメートが行われうる速度は、画像が送信されうる速度、画像がスクリーン上に描画されうる速度、ユニット時間ごとに行われうる異なる画像レンダリングの数、および、画像集合の場合は、その集合に含まれる画像の数に依存しうる。したがって、システムは、連続画像についての解像度を倍増することによって、画像に焦点を合わせる処理をアニメートしたい場合がある。しかし、2のべき乗の画像ごとにそれぞれの解像度で新しい画像をレンダリングすることが、システムの計算リソースが所与のユニット時間内で処理できる画像よりも多くの画像をレンダリングすること、あるいは、通信および/またはディスプレイ技術がユニット時間ごとに処理できる画像よりも多くの画像を送信および/または再描画することを含むとしたら、システムは各画像が以前の解像度の4倍の解像度を有するような連続画像をレンダリングすることを選択する場合がある。あるいは、ある画像フォーマットたとえばJPEGでは、いくつかの解像度が他の解像度よりも速くレンダリングできるので、システムは、他の全てのことが同等の場合に、たとえシステムが異なる解像度を選択したとしても、迅速にレンダリングされうる解像度で画像をレンダリングすることを選択する場合がある。0023一般に、本明細書に記載の対象は、単一の画像を含む任意の数の画像を表示するために使用されうる。しかし一例では、システムは、画像検索クエリーに応答してユーザーに提供されている複数の画像などの画像の集合をレンダリングするために使用されうる。0024次に図面を参照すると、図1および2は画像が連続的により高い解像度でレンダリングされうる方法の例を示している。図1で、画像102が要求されている。画像102は、ジョイントフォトグラフィックエキスパートグループJPEGファイル、タグ付き画像ファイルフォーマットTIFF、形状を幾何学的に表すフォーマットたとえば、VISIO描画プログラムによって生成されたファイルなどの何らかのフォーマットでもよく、または他の任意のタイプの画像でもよい。画像102を求める要求は任意の方法で生じうる。たとえば、ユーザーが画像102を求める明確な要求を行ってもよく、ブラウザがロードしようとするウェブページ内で画像102が参照されてもよく、また検索クエリーへの応答として画像102が検索エンジンによって返されてもよい。上記の記述は画像を求める要求が生じうる方法のいくつかの例であるが、画像102を求める要求は任意の方法で生じうる。0025図1および2の例では、利用可能な画像102のプリレンダリングされたバージョンがない場合がある。したがって、インポスター画像104が表示されうる。インポスター画像104は色を有することもできるが、図1の例では、様々なパターンで描かれた白黒の曖昧な斜線が表示されている。この例では、インポスター画像104は画像102と同じ縦横比の長方形である。縦横比または形状は画像102のメタデータから決定できるので、たとえ画像102のレンダリングされたバージョンが利用可能ではなくても、画像102の縦横比または、より一般的には画像102の形状を確認することが可能な場合がある。実際、画像102が容易に利用可能でなくても、そのメタデータは別の場所で利用可能な場合がある。したがって、まるでインポスター画像104が実際に画像102の描画の初期の段階であるかのように見せるために、インポスター画像104は画像102の縦横比で、および画像102が描画されるべきサイズでレンダリングされうる。画像102が長方形ではない場合、メタデータは画像の形状を明らかにすることができ、その場合、インポスター画像104は画像102の形状で描画されうる。通常、縦横比は特定の種類の形状の記述であり、長方形に適用される。極端な場合、画像102のメタデータを取得することさえできない場合がある。その場合、インポスター画像104は何らかの任意の縦横比または何らかの他の形状で描画されうる。いくつかのシステムでは、画像をレンダリングする間、画像を受信する際に遅延があるであろうことを示す何らかの種類のメッセージたとえば、画像を取得する間お待ちくださいを提供するか、待ち時間または時間の経過を表す何らかの種類の記号たとえば、砂時計の中を砂が落ちている、円が回転している、時計、等を提供する点に留意されたい。しかし、インポスター画像はこのようなメッセージまたは記号を含まない場合もあるので、インポスターは異なる手法を実装できる。つまり、インポスター画像は、遅延を説明または通知するためではなく、むしろユーザーに画像を受信し始めたかのように感じさせるように設計されうる。0026インポスター画像104が描画された後、ユーザーは、要求した画像の描画にシステムが取りかかっていると満足する場合がある。したがって、画像を取得する処理、画像をレンダリングする解像度を決定する処理、およびそれらの解像度で画像をレンダリングする処理が実行されうる。これらの処理が実行される方法の例は、図4~6に関連して以下で説明する。しかし、図1および2のために、1つまたは複数のレンダリングされた画像が何らかの方法で取得されると仮定される。0027それらの画像のうちの最初の画像はレンダリング106である。レンダリング106は画像102の低解像度でのレンダリングである。低解像度画像は実際には画像が比較的少数のピクセルのみによって表されたものであるが、例示のために、画像の様々な要素を点線で表すことによって、画像の低解像度の特性が図1に表されている。図2では、画像106の点線よりも高密度に見える点線によって示されるようにレンダリング108がより高解像度で画像102を表している。画像102の、連続的により解像度が高くなるバージョンが描画されうる。最後に、レンダリングの連続はレンダリング110のように見え、比較的高い解像度の画像102たとえば、レンダリングが表示されるディスプレイ装置と同じくらい高い解像度の画像に見える。図1および2における、インポスター画像104からレンダリング106、108、および110へのレンダリングの進行は、画像をより高い解像度および/またはより明瞭にする処理のアニメートの例である点に留意されたい。0028図1および2はインポスターから高解像度画像に進む際に単一の画像を表示しているが、レンダリングされる画像は、図3に示される集合300などの集合の一部でよい点に留意されたい。図3の例では、集合300は、302、304、306、308、310、312、314、316、および318の9つのレンダリングを含む、いくつかの画像の集合である。図示されるように、集合300内の様々な画像は、レンダリングおよび/または利用可能性の異なる段階にある。たとえば、レンダリング302は中解像度で表示されている。異なる画像のレンダリング304は低解像度で表示されている。さらに異なる画像のレンダリング306は高解像度で表示されている。レンダリング308~318はインポスター画像として表示されており、対応する画像のレンダリングがまだ利用可能ではないことを示している。集合300は様々な方法で表示されうる。一例では、集合内の全ての画像または、画像が利用可能ではない場合はインポスターは単一のビットマップ上にレンダリングされ、そのビットマップが表示されうる。たとえば、ウェブサーバーは、画像の集合を含む単一のページを構成でき、次いでそのページのビットマップを、ユーザーのブラウザによってレンダリングされるように、ユーザーの機械に送信できる。さらなる画像または、既存の画像のより高い解像度バージョンが利用可能になると、ビットマップはアップデートされて、ブラウザによって現在表示されているビットマップを置換するためにブラウザに再送されうる。あるいは、他の例では、集合内の各画像が別々にレンダリングされうる。たとえば、ウェブページは画像へのリンクを含むことができるので、ブラウザはそれぞれの統一リソースロケータURLから画像を1つずつ取得して、ページ上の適切な場所に各画像を表示する。画像へのリンクが要求されると、どのレンダリングされた画像が利用可能かによって、サーバーはインポスター画像、低解像度画像、または高解像度画像を提供できる。個々の画像は、高解像度画像が利用可能になると、高解像度画像でアップデートされうる。0029図4は、コンテンツをレンダリングするために使用されうる、例示的システム400のコンポーネントを示している。システム400は、1つまたは複数の画像を求める要求402を処理して、画像を取得およびレンダリングする処理を管理する。0030要求402は収集システムによって受信されうる。収集システム404は画像をフェッチする処理を管理し、また複数の画像を単一の画像に複合する処理を管理できる集合が表示されるべき場合。0031画像フェッチング処理を管理する際の収集システム404の役割については、収集システム404がどの画像が提供されるべきかを決定すると、収集システム404は画像フェッチャー406に要請してそれらの画像を取得できる。画像フェッチャー406は、遠隔画像ソース408および/またはローカル画像ソース410を含む様々なソースから画像を取得できる。遠隔画像ソース408は、画像フェッチャー406が動作している機械以外のどこかに位置するソースである。ローカル画像ソース410は、画像フェッチャー406が動作している機械上に位置するソースである。画像フェッチャー406が動作している機械を構成するものに関しては、様々なシナリオがある点に留意されたい。一例では、画像フェッチャー406は、画像が表示される機械と同じ機械たとえば、ユーザーのコンピューター、ユーザーのスマートフォンなど上で動作しており、この場合、ローカル画像ソース410はそのコンピューター、スマートフォンなどの記憶領域でよい。他の例では、画像フェッチャー406は、そのサーバー上では表示されないが、ユーザーの機械上で表示されるためにユーザーの機械のブラウザに遠隔に配信される画像をレンダリングするサーバー上で動作している。後者の例では、ローカルソース410は、画像が表示される機械上に位置するソースではなく、画像をレンダリングしているサーバー上のソースである。0032収集システム404は、遠隔ソースおよびローカルソースから画像を取得することに加えて、画像キャッシュ412からプリレンダリングされた画像を取得することもできる。遠隔画像ソース408およびローカル画像ソース410と画像キャッシュ412との違いは、画像キャッシュ412が画像のレンダリングされたバージョンを格納するのに対して、遠隔画像ソース408およびローカル画像ソース410はまだレンダリングされていない画像の表示を格納できることである。同じ画像が複数回要求される場合があるので、画像キャッシュ412は、いくつかの以前の要求のサービスの一部としてレンダリングされた可能性のある画像を格納する。したがって、画像キャッシュ412によってそれらの画像が再び使用できるようになり、したがって画像をレンダリングする作業が既に行われている場合はその作業を回避できる。0033システム400は、画像のレンダリングの実際の作業を実行できるレンダラー414も備えることができる。すなわち、ソース画像が取得されると、レンダラー414はそのソース画像を使用して、表示される実際のピクセルを作成できる。レンダラー414が画像をレンダリングすると、画像はディスプレイ416に送信されうる。さらに、画像がレンダリングされると、レンダラー414はその画像を画像キャッシュ412に預けて、後に同じ画像が再び要求された場合に、現在レンダリングされている画像が将来使用するために利用可能であるようにすることができる。0034画像をフェッチする処理は、複数のスレッドを使用してパラレルに行われうる点に留意されたい。たとえば、20個の画像などの集合が含まれる場合、収集システム404は、画像フェッチャー406が動作する20個の別々のスレッドを作成できるので、画像は同時に取得されうる。0035図5は画像を提供する例示的処理を示している。図5の説明を始める前に、この処理は任意のシステムで実行でき、図1~4に示されるシナリオに限定されないが、例として図1~4に示されるコンポーネントを参照して図5に含まれる流れ図を説明する点に留意されたい。さらに、図5における流れ図は、ブロックをつなぐ線で示されるように、処理の段階が特定の順序で実行される例を示しているが、この図に示される様々な段階は任意の順序、あるいは任意の組合せまたは副結合で実行されうる。0036502で、画像が要求されうる。上述のように、要求は、直接ユーザー要求を通じて、または画像が検索に応答するためエンジンがその画像を要求する検索エンジンを通じて、などの任意の方法で発生しうる。504で、要求はその要求を処理するコンポーネントによって受信されうる。506で、画像のプリレンダリングされたバージョンが画像キャッシュ内で利用可能かどうか決定されうる。画像が利用可能な場合および/または、キャッシュ内に適切な解像度で利用可能な画像が見つかった場合、514でレンダリングされた画像が表示されうる。画像が利用可能ではない場合、処理は画像をレンダリングせずに進む。0037画像をレンダリングせずに進むために、508でインポスター画像が表示されうる。上述のように、インポスター画像は基本画像から取得していない色および/またはパターンを含む画像である場合があるが、連続的に解像度がより高くなる画像のレンダリングの非常に初期の段階であるという印象をユーザーに与えることができる。一例では、インポスター画像は、基本画像の縦横比および/または形状で、ならびに実際の画像が最終的にレンダリングされるサイズで描画されうる。しかし、本明細書に記載の対象は、インポスター画像が基本画像についてのどの情報にも縦横比および/または形状にさえも全く基づかない状況も含む。0038インポスター画像が表示されると、510で、処理はソースからの画像の取得に進むことができる。たとえば、図4に関連して上述したように、遠隔画像ソース408および/またはローカル画像ソース410から画像を取得するために画像フェッチャー406が使用されうる。やはり上述のように、集合の一部としてレンダリングされるべきいくつかの画像がある場合があり、したがってこれらの画像を取得する処理は、たとえばいくつかの同時スレッドに画像フェッチャーを実行することによって、パラレルに進むことができる。さらに、集合内のいくつかの画像が利用可能であり、他の画像が利用可能ではない場合がある点に留意されたい。したがって、図5の処理では、集合内のいくつかの画像が最初にインポスターとして表示され、他の画像が最初に基本画像のレンダリングとして画像されることが可能である。0039一旦画像が取得されると、512で、実現可能な解像度で画像がレンダリングされうる。実現可能性を構成するものは、該当する環境に依存する。システムが実現可能性を評価できる様々な方法は、本明細書に記載の対象の適応性を示す。たとえば、上述のように、画像がレンダリングされうる速度、画像が描画されうる速度、レンダリング位置からディスプレイ位置に画像が送信されうる速度に関する問題、またはその他の検討事項がある場合がある。これらの検討事項のうちのいくつかは図6に示されており、次に説明する。0040一般に、適応の1つのタイプは、画像表示が行われているコンテキストに適応することであるブロック602。このコンテキストの例には、レンダリングされている画像の数たとえば、単一の画像または画像の集合、利用可能な送信帯域幅、ディスプレイシステムの描画速度がある。これらの問題は、画像をレンダリングするための実現可能な解像度を構成するものを定義しうる。たとえば、上述のように、画像のそれぞれの連続した描画の解像度を2倍にすることによって、次第に高い解像度になる画像の処理をアニメートしたい場合がある。しかし、十分な送信帯域幅または描画速度、あるいは十分なレンダリング帯域幅がない場合、連続した画像の解像度を2倍にするだけだと、解像度が高くなっていく画像をアニメートするために時間がかかりすぎてしまう。したがって、連続する画像間の解像度を4倍にする選択が行われうる。0041他のタイプの適応は、コンテンツの特徴に適応することであるブロック604。たとえば上述のように、ある種のコンテンツはある解像度でのレンダリングを他の解像度でのレンダリングよりも容易にすることができる。たとえばJPEGの特性は、256または512ピクセルでのレンダリングを他の解像度でのレンダリングよりも容易にすることができる。したがって、特定の解像度でのコンテンツのレンダリングの容易さおよび/またはコンテンツの他の特徴は、コンテンツをレンダリングするための解像度の選択を通知できる。画像をレンダリングする解像度を選択すると、どの解像度が迅速に描画されうるかについて懸念がない場合、システムは特定の解像度たとえば、解像度Aを選択する場合がある点に留意されたい。しかし、特定の解像度への速い経路パス、pathの存在によって、システムは異なる解像度たとえば、解像度Bを選択する場合があり、これはそうでない場合にシステムが選択する解像度ではない。言い換えれば、このような例ではシステムはそれがシステムが実現しようとしている体裁に基づいてシステムが選択する解像度だから解像度Bを選択するのではなく、特に速い経路の利用可能性のために、システムは解像度Aではなく解像度Bを選択する場合がある。0042適応の他の形式は、画像フェッチおよび/またはレンダリング処理をマルチスレッドする機能であるブロック606。上述のように、画像は集合の一部でよく、集合内の様々な画像を同時に取得することが可能でよい。同様に、取得された画像に関して、レンダリング処理をマルチスレッドすることも可能でよく、それによって取得された画像を同時にレンダリングできるようになる。0043図5に戻ると、一旦画像がレンダリングされると506で決定されたように、レンダリングされた画像が既に利用可能であったので、または画像が要求された後に画像が取得されてレンダリングされたので、514でレンダリングされた画像が表示されうる。画像を表示する動作は、スクリーンまたは他の装置上に画像を物理的に表示することを含みうる。あるいは、画像を表示する動作は、画像の表示を他の装置上に生じさせるよう指示することを含みうる。たとえば、サーバーが、画像を表示する命令をクライアントに送信すると、この動作はサーバーによって実行される表示動作として理解されうる。0044516で、レンダリングされるべきさらなる解像度があるかどうか決定されうる。上述のように、順次より高い解像度で画像を表示する処理をアニメートしたい場合があり、したがって同じ画像のいくつかのレンダリングが実行されうる。このアニメート処理について選択されうる特定の解像度は、上述の実現可能性問題に基づいて決定されうる。しかし、どの解像度でレンダリングするかの選択が何らかの方法で行われたと仮定するとレンダリングおよびフェッチング処理の進行中に、この選択自体が変化する場合があるが、516で、レンダリングする画像のさらなる解像度があるかどうか決定される。このようなさらなる解像度がある場合、処理は512に戻って、さらなる解像度で画像をレンダリングする。さらなる解像度がない場合、画像は最終的な解像度でレンダリングされて、処理は終了できる。0045図7は、本明細書に記載した対象の態様を展開しうる例示的環境を示している。0046コンピューター700は、1つまたは複数のプロセッサー702と、1つまたは複数のデータ記憶コンポーネント704とを含む。プロセッサー702は、一般的に、パーソナルデスクトップまたはラップトップコンピューター、サーバー、ハンドヘルドコンピューター、あるいは他の種類のコンピューティングデバイスなどに見られるものなどのマイクロプロセッサーである。データ記憶コンポーネント704は、短期間または長期間にわたってデータを格納できるコンポーネントである。データ記憶コンポーネント704の例には、ハードディスク、リムーバブルディスク光および磁気ディスクを含む、揮発性および不揮発性ランダムアクセスメモリーRAM、読出し専用メモリーROM、フラッシュメモリー、磁気テープなどがある。データ記憶コンポーネント704は、コンピューター読み取り可能な記憶媒体の例である。コンピューター700は、ブラウン管CRTモニター、液晶ディスプレイLCDモニター、または他の任意のタイプのモニターでよいディスプレイ712を備えるか、それに関連付けられうる。0047ソフトウェアは、データ記憶コンポーネント704に格納されて、1つまたは複数のプロセッサー702上で実行されうる。ソフトウェアの一例は適応画像レンダリングソフトウェア706であり、図1~6に関連して上述した機能のうちのいくつかまたは全てを実装できるが、任意のタイプのソフトウェアが使用されうる。ソフトウェア706は、たとえば1つまたは複数のコンポーネントを通じて実装でき、それらは分散システム中のコンポーネントでもよく、別々のファイル、別々の機能、別々のオブジェクト、別々の命令行などでもよい。プログラムがハードディスク上に格納され、RAMにロードされ、コンピューターのプロセッサー上で実行されるコンピューターたとえば、パーソナルコンピューター、サーバーコンピューター、ハンドヘルドコンピューター、スマートフォンなどは、図7に示されたシナリオの典型であるが、本明細書に記載の対象はこの例に限定されない。0048本明細書に記載の対象は、データ記憶コンポーネント704のうちの1つまたは複数に格納されて、プロセッサー702のうちの1つまたは複数上で実行するソフトウェアとして実装されうる。他の例では、本明細書に記載の対象は、1つまたは複数のコンピューター読み取り可能な記憶媒体に格納される命令として実装されうる。光ディスクまたは磁気ディスクなどの有形の媒体は、記憶媒体の例である。命令は持続性媒体上に存在しうる。このような命令は、コンピューターまたは他の機械によって実行されると、コンピューターまたは他の機械に方法の1つまたは複数の動作を実行させることができる。動作を実行するための命令は1つの媒体に格納することもでき、複数の媒体にわたって分散することもできるので、全ての命令が同じ媒体上にあるかどうかに関わらず、命令は1つまたは複数のコンピューター読み取り可能な記憶媒体上に集合的に見える場合がある。0049さらに、本明細書に記載のあらゆる動作図に示されているかどうかに関わらずは、方法の一部としてプロセッサーたとえば、1つまたは複数のプロセッサー702によって実行されうる。したがって、動作A、B、およびCが本明細書に記載されている場合、動作A、B、およびCを備える方法が実行されうる。さらに、動作A、B、およびCが本明細書に記載されている場合、動作A、B、およびCを実行するためにプロセッサーを使用するステップを備える方法が実行されうる。0050一つの例示的な環境では、コンピューター700は、ネットワーク708を通じて1つまたは複数の他の装置と通信可能なように接続されてよい。コンピューター700と構造が類似してよいコンピューター710は、コンピューター700に接続されうる装置の例であるが、他の種類の装置もそのように接続されてよい。0051主題は構造的特徴および/または方法論的動作に特有の言葉で本明細書に記載されているが、添付の特許請求の範囲において定義される主題は、上述の特定の特徴または動作に必ずしも限定されないことが理解されるべきである。むしろ、上述の特定の特徴および動作は、特許請求の範囲を実施する例示的形式として開示される。