(58)【調査した分野】(Int.Cl.,DB名)
前記ダウンロードするステップの後に、前記一又は複数の符号化画像に関連するメタデータを復号する、前記メタデータは前記一又は複数の符号化画像に関連するサイズ情報を含む、復号するステップをさらに有する、
請求項1に記載のコンピュータにより実施される方法。
一利用タイプは、関連する符号化画像が現在表示されていなくても、復号画像にアクセスする必要がある動作に関連する、前記一利用タイプは印刷動作を含む、請求項1に記載のコンピュータにより実施される方法。
【発明を実施するための形態】
【0007】
概要
一又は複数の実施形態では、画像の復号を、経験則(heuristics)に基づき遅延させ、後で、その画像に関連する利用タイプ(use type)又はその画像が利用される尤度に基づき、開始するフレームワークを提供する。例えば、利用履歴及び優先システムにより、現在レンダリングされている画像及び/又はレンダリングされそうな画像を、ダウンロードされたが利用されていない履歴を有する画像の前に復号することができる。したがって、画像のダウンロードを画像の復号とデカップリングすることにより、CPUリソースとメモリをより効率的に利用できる。
【0008】
以下の説明では、「動作環境」セクションを設け、一又は複数の実施形態で利用できる環境を説明する。その後、「画像復号器モジュール動作」セクションで、一又は複数の実施形態による画像復号器モジュールの動作を説明する。最後に、「システム例」セクションにおいて、一又は複数の実施形態による、利用可能なシステムの一例を説明する。
【0009】
ここで、一又は複数の実施形態をインプリメントできる動作環境の一例を考える。
【0010】
動作環境
図1は、一又は複数の実施形態による動作環境100を示す。環境100は計算装置102を含む。計算装置102は、一又は複数のプロセッサ104と、一又は複数のコンピュータ読み取り可能記憶媒体106と、コンピュータ読み取り可能媒体上にあってプロセッサにより実行可能な一又は複数のアプリケーション108とを有する。コンピュータ読み取り可能記憶媒体は、限定ではなく例として、計算装置に付随するすべての形式の揮発性及び不揮発性のメモリ及び/又は記憶媒体を含む。かかる媒体には、ROM、RAM、フラッシュメモリ、ハードディスク、リムーバブルメディアなどが含まれる。計算装置の具体例は
図4を参照して説明する。
【0011】
また、計算装置102は、ウェブブラウザ110の形式のソフトウェアアプリケーションを含む。任意の好適なウェブブラウザを用いることができる。その例は、本出願の譲受人その他から入手可能である。また、コンピュータ読み取り可能記憶媒体106は、上記の動作及び以下に説明する動作をする画像復号器モジュール111を含む。画像復号器モジュールは、ウェブブラウザ110に組み込むこともできるが、ウェブブラウザにより利用されるスタンドアロンコンポーネントであってもよい。
【0012】
動作時、画像復号器モジュール111は、画像ダウンロードが画像復号からデカップリングされるフレームワークの一部を形成する。画像復号器モジュールは、ダウンロードされた画像をいつレンダリングのために効率的に復号するか、インテリジェントに確認(intelligently ascertain)するように構成されている。少なくともある実施形態では、画像の復号を、画像復号器モジュール111により経験則(heuristics)に基づき遅延させ、後で、その画像に関連する利用タイプ(use type)又はその画像が利用される尤度に基づき開始する。例えば、画像復号器モジュールは、利用履歴及び優先システムを用いて、現在レンダリングされている画像及び/又はレンダリングされそうな画像を、ダウンロードされたが利用されていない履歴を有する画像の前に復号することができる。したがって、画像のダウンロードを画像の復号とデカップリングすることにより、CPUリソースとメモリをより効率的に利用できる。
【0013】
また、環境100は、インターネットなどのネットワーク112と、コンテンツを送受信できる一又は複数のウェブサイト114とを含む。かかるコンテンツは、画像復号器モジュール111により処理される画像を含むウェブページを含む。
【0014】
計算装置102は、限定ではなく例として、デスクトップコンピュータ、ポータブルコンピュータ、ネットブック、パーソナルデジタルアシスタント(PDA)等のハンドヘルドコンピュータ、携帯電話などの、任意の好適な計算装置として実施できる。
【0015】
動作環境の一例を説明したので、ここで一又は複数の実施形態による画像復号器モジュールの一例の動作を説明する。
【0016】
画像復号器モジュールの動作
図2は、一又は複数の実施形態による画像復号器モジュール111(
図1)の動作のある態様を示す。
【0017】
ステップ200において、一又は複数の符号化画像をダウンロードする。このステップは任意の好適な方法で実行してもよい。例えば、少なくともある実施形態では、ブラウザナビゲーションに応じて、好適に構成されたウェブブラウザにより画像をダウンロードできる。ステップ202において、ダウンロードされた画像に付随するメタデータを復号する。ダウンロードされた画像そのものでははく、その画像に付随するメタデータを復号することにより、画像復号に先立って、サイズ情報、透明度などの画像に付随する有用な情報を確認できる。例えば、メタデータから確認されるサイズ情報を用いて、画像復号に先立って、ページレイアウトを前処理できる。さらに、サイズ情報を用いて、ある画像の復号を遅延させるかどうか、確認することができる。例えば、あるサイズ閾値(例えば、256kB)より小さい画像は、ダウンロードしてすぐに復号できる。同様に、あるサイズ閾値より大きい画像は、後で何時復号されるか決定される。
【0018】
ステップ204において、符号化画像の復号を遅延する場合、その符号化画像をバッファする。バッファされる画像には「低」、「普通」、「高」などの優先度を割り当てることができる。優先度は下記の処理により変更できる。
【0019】
ステップ206において、画像に関連する利用タイプ、又はその画像の利用の尤度を確認する。
【0020】
ステップ208において、他の計算をしつつ、利用タイプに応じて、符号化画像を要求に応じて非同期又は同期で復号する。このステップは、好適に構成されたウェブブラウザが復号キュー内で画像を前倒し処理(advance)するように、その画像の優先度を高くすることによって行っても良い。利用タイプの例は、下記の「利用タイプ例」セクションで説明する。
【0021】
代替的又は追加的に、ステップ210において、符号化画像が利用されそうであれば、その符号化画像を要求に応じて非同期で又は同期して復号する。同様に、このステップは、好適に構成されたウェブブラウザが復号キュー内で画像を前倒し処理(advance)するように、その画像の優先度を高くすることによって行っても良い。この処理をどう行うかの例は、下記の「利用の尤度」セクションで説明する。
【0022】
ここで、一又は複数の実施形態による利用タイプの例について考える。言うまでもなく、説明する利用タイプは単なる例であり、特許請求する主題をこれらの具体的な利用タイプに限定するものではない。そのため、特許請求する主題の精神と範囲から逸脱することなく、他の利用タイプを用いることができる。
【0023】
利用タイプの例
一又は複数の実施形態では、画像に関連する利用タイプにより、その画像を、低優先度を付与して遅延復号できるか、高優先度を付与して画像の復号を要求に応じて実行するか、決定できる。
【0024】
復号を要求に応じて行いユーザ体験を向上する一利用タイプは、いわゆる初期化動作(initialization operation)に関連する。具体的に、画像が初期ビューに表示される場合、その画像の復号は要求に応じて行われ、及び/又は画像を漸進的にレンダリングできる。例えば、ユーザがまったく初めてあるページにナビゲートされ、そのページに関連する画像がまだ復号されていないと仮定する。この場合、最初のビューに表示されるべき画像を検出し、その画像が復号されるまで、ページのレンダリングは遅らされる。一又は複数の実施形態では、遅延閾値を例えば100msと定めて、ページレンダリングをどのくらい遅らせるか制御するのに用いる。遅延のタイプとしては任意の好適なものを用いることができる。
【0025】
復号を要求に応じて実行できる他の一利用タイプは、ユーザインターラクションに関連する。具体的に、あるシナリオでは、インターラクティブなフィードバックによりユーザ体験を向上できる。例えば、ユーザがウェブページに現れつつあるオブジェクト上にカーソルを重ねると、サムネイル画像が表示され、カーソルが重ねられたオブジェクトに関連する追加情報がユーザに提供される。例えば、デスクトップユーザインタフェースがその下部にタスクバーを有していてもよい。ある場合には、タスクバー中に表示されるオブジェクトが、カーソルをタスクバーオブジェクト上に重ねる「オンホバー」動作によりアクセスできる関連するサムネイル画像を有していてもよい。これらの場合には、サムネイル画像を正確に及び適時にレンダリングできるように、サムネイル画像に関連する画像を予め復号してもよい。
【0026】
復号を要求に応じて実行できる他の一利用タイプは、画像が現在表示されていなくても、復号画像にアクセスする必要がある動作に関連する。かかる一動作は印刷動作である。具体的に、ウェブページを印刷する時、命令が生成され、プリンタに送信され、そのプリンタにそのウェブページの印刷ができるようにする。例えば、ユーザが100頁の文書にナビゲートされ、その文書中の様々な画像に遅延復号が指定されると仮定する。ユーザが3頁から印刷動作を開始し、まだ視聴されていない91頁に現れる様々な画像が復号されていないとき、印刷される文書はこれらの画像を含まない。こうした状況では、他の状況であっても、遅延復号を指定された画像は、文書がプリンタに送信される前に、要求に応じて復号できる。こうすることにより、その文書中に現れる画像が正確に印刷される。
【0027】
復号を要求に応じて実行できる他の一利用タイプは、いわゆるフィルタ動作に関連する。具体的に、あるウェブブラウザにより、ウェブページの一部を選択し、又はクリップすることができ、選択された部分にビジュアル効果を適用することができる。例えば、ウェブページの一部を選択し、回転でき、それに透明フィルタをかけることができる。選択されたウェブページの部分が、復号されていない画像を含む場合、フィルタ動作は不完全であるか、又は場合によっては失敗する。こうした状況では、ウェブページの一部がフィルタ動作のために選択され、まだ復号されていない画像を含む場合、これらの画像は、フィルタ動作が適用される前に、要求に応じて同期して復号される。
【0028】
復号を要求に応じて実行できる他の一利用タイプは、HTML5の一部である<canvas>要素に関連する。言うまでもなく、<canvas>要素を用いてJavaScript(登録商標)などのスクリプトを用いてグラフィックスを描くことができる。例えば、グラフを描いたり、写真を合成したり、単純あるいは複雑なアニメーションを表示したりできる。一又は複数の実施形態では、<canvas>要素に関して用いられる画像を、利用する前に同期して要求に応じて復号できる。
【0029】
復号を要求に応じて実行できる利用タイプの例を説明したが、ここで一又は複数の実施形態による「利用の尤度」シナリオを検討する。
【0030】
利用の尤度
一又は複数の実施形態では、画像復号器モジュール111(
図1)は、遅延復号をすると指定された画像が利用されそうか確認する。利用されそうであれば、その画像を要求に応じて復号できる。これにより、例えば、画像をレンダリングする必要があるが、その画像がまだ復号されていないという状況の発生を減らすことができる。利用尤度の決定は、任意の好適な方法で行える。以下、例を挙げる。
【0031】
一又は複数の実施形態では、画像の利用尤度は、現在のビューに対する画像の位置的近接性や論理的近接性を考慮して、確認できる。
【0032】
一例として、
図3の場合を考える。
図3には、ウェブブラウザに関連するビューポート300を示した。このビューポート内には、3つの画像302、304及び306がある。また、画像302、304及び306があるウェブページに関連するさらに別のコンテンツは、矢印308の方向にページング又は下向きスクロールをすることにより、又は矢印310の方向に横方向にスクロールをすることにより、見ることができる。一又は複数の実施形態では、まだ見えない画像がレンダリングされた画像に近接した位置にあり、ページングや下向きスクロールにより、又は横方向スクロール操作によりアクセスできる場合、そのまだ見えない画像をバックグラウンドで要求に応じて復号することができる。位置的近接性は任意の好適な方法で確認できる。例えば、ある実施形態では、まだ見えない画像は、一又は複数のページを進む又は戻る操作で見えるようになる場合、表示されている画像と位置的に近接していると考えられる。
【0033】
論理的近接性は、見えない画像が、表示されている画像と関係を有し、表示された画像に関連してアクセスされそうか判断することにより確認できる。例えば、表示された画像と関連するスライドショーに含まれる見えない画像(unseen image)は、そのスライドショーを視聴するユーザによりアクセスされる可能性が高い。代替的に又は追加的に、見えない画像が表示された画像を通して、又はそれを用いてアクセスできるように、画像がリンクされていてもよい。代替的に又は追加的に、論理的近接性は、ユーザが「エンド」キーを押すことにより、又は同様の「文書の終わり」操作をインプリメントすることにより、どの画像がアクセスされ得るか確認することにより、確認できる。
【0034】
こうした状況では、他の計算を行いつつ、同期して又は非同期で要求に応じて画像を復号することにより、例えば、画像があってもまだ復号されていないウェブページの部分にユーザがページダウンする状況を減らす役に立つ。
【0035】
一又は複数の実施形態では、画像の利用尤度は、個々の画像に関連する、その画像の利用頻度を記述する履歴を保持することにより確認できる。よって、より頻繁に利用又はレンダリングされる画像は要求に応じて復号され、それほど利用又はレンダリングされない画像は、遅延復号が指定される。例えば、ある画像は10回ダウンロードされそのうち9回レンダリングされたことを示す履歴を有し、他の画像は10回ダウンロードされそのうち3回レンダリングされたことを示す履歴を有する場合、最初の画像はより高い優先度を付与され、適切であれば、要求に応じて、同期して又は非同期で復号される。
【0036】
一又は複数の実施形態では、画像の利用尤度を、画像に関して実行される動作のタイプにより確認できる。例えば、画像は、レンダリング又はアクセスの動作の一部であるとき、要求に応じて復号できる。これには、ある画像の復号優先度を高くして、すぐに復号されるようにすることが含まれる。
【0037】
代替的に又は追加的に、一又は複数の実施形態では、決定された優先度及び/又は利用尤度に基づき、それをサポートする画像はプログレッシブレベルまで、及び画像を完全に復号するほどコストがかからない小さいサイズまで復号できる。また、利用可能であれば、GPUmipmapサポートを用いて、レンダリング時に利用可能な/復号されたサイズを用いて画像をレンダリングしてもよい。
【0038】
画像復号器モジュールの一例の動作を説明したので、ここで上記の実施形態をインプリメントするのに用いることができるシステムの一例を検討する。
【0039】
システム例
図4は、上記の様々な実施形態をインプリメントするのに用いることができる計算装置400の一例を示している。計算装置400は、例えば、
図1の計算装置102であっても、その他の好適な計算装置であってもよい。
【0040】
計算装置400は、一又は複数のプロセッサ又は処理部402と、一又は複数のメモリ及び/又は記憶コンポーネント404と、一又は複数の入出力(I/O)装置406と、及び様々なコンポーネント及び装置が互いに通信できるバス408とを含む。バス408は、メモリバス又はメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックスポート、及び様々なバスアーキテクチャを用いたプロセッサ又はローカルバスを含む複数タイプのバス構成のいずれでもよい。バス408は有線バス及び無線バスを含み得る。
【0041】
メモリ/記憶コンポーネント404は、一又は複数のコンピュータ記憶媒体を表す。コンポーネント404は、(RAM(random access memory)などの)揮発性媒体、及び/又は(ROM(read only memory)、フラッシュメモリ、光ディスク、磁気ディスクなどの)不揮発性媒体を含み得る。コンポーネント404は、(RAM、ROM、固定ハードディスクドライブなどの)固定媒体、及び(フラッシュメモリドライブ、リムーバブルハードディスクドライブ、光ディスクなどの)リムーバブル媒体を含み得る。
【0042】
一又は複数の入力力装置406により、ユーザは計算装置400にコマンドと情報を入力でき、ユーザ及び/又は他のコンポーネントや装置に情報を提供できる。入力装置の例には、キーボード、カーソル制御装置(例えば、マウス)、マイクロホン、スキャナなどが含まれる。出力装置の例には、ディスプレイ装置(例えば、モニタやプロジェクタ)、スピーカ、プリンタ、ネットワークカードなどが含まれる。
【0043】
ここでは、ソフトウェアやプログラムモジュールの一般的なコンテクストで、様々な技術を説明する。一般的に、ソフトウェアには、あるタスクを実行したり、ある抽象的データタイプをインプリメントするルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。これらのモジュールや技術のインプリメンテーションは、コンピュータ読み取り可能媒体に格納でき、又はコンピュータ読み取り可能媒体の形式で伝送できる。コンピュータ読み取り可能媒体は、計算装置によりアクセスできる任意の利用可能な媒体である。限定ではなく例として、コンピュータ読み取り可能媒体は「コンピュータ読み取り可能記憶媒体」を含む。
【0044】
「コンピュータ読み取り可能記憶媒体」には、コンピュータ読み取り可能命令、データ構造、プログラムモジュールその他のデータなどの情報を記憶するための任意の方法や技術でインプリメントされた、揮発性および不揮発性、取り外し可能および取り外し不可能媒体を含む。コンピュータ読み取り可能記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリその他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)その他の光ディスク記憶媒体、磁気カセット、磁気テープ、磁気ディスク記憶その他の磁気記憶デバイス、またはその他の、所望の情報の記憶に使える任意の媒体を含むが、これらに限定されない。
【0045】
結論
上記の通り、画像の復号を、経験則(heuristics)に基づき遅延させ、後で、その画像に関連する利用タイプ(use type)又はその画像が利用される尤度に基づき、開始するフレームワークを提供する。例えば、利用履歴及び優先システムにより、現在レンダリングされている画像及び/又はレンダリングされそうな画像を、ダウンロードされたが利用されていない履歴を有する画像の前に復号することができる。したがって、画像のダウンロードを画像の復号とデカップリングすることにより、CPUリソースとメモリをより効率的に利用できる。
【0046】
本主題を個別の構造的特徴及び/又は方法動作を用いて説明したが、言うまでもなく、添付した特許請求の範囲に規定する主題は、上記の特定の特徴や動作には必ずしも限定されない。上記の特定の特徴や動作は、請求項を実施する形式例を開示するものである。