(58)【調査した分野】(Int.Cl.,DB名)
前記少なくとも2つの異なるグレースケールレシオ画像は、前記高分解能グレースケールレシオ画像における輝度レシオ値をダウンサンプリングすることによって前記高分解能グレースケールレシオ画像に基づき決定される少なくとも1つのグレースケールレシオ画像を含む、
請求項1に記載の方法。
前記トーンマッピングされたグレースケール画像におけるトーンマッピング輝度値は、前記入力高ダイナミックレンジ画像における輝度値よりも低い低減されたダイナミックレンジを有する、
請求項1に記載の方法。
前記局所マルチスケールグレースケールレシオ画像を生成するために使用される複数のグレースケールレシオ画像における第1のグレースケールレシオ画像のための第1の重み係数へ第1の値を割り当てるステップと、
前記複数のグレースケールレシオ画像における第2のグレースケールレシオ画像のための第2の重みへ第2の値を割り当てるステップと
を更に有し、
前記第1の値は前記第2の値よりも高く、
前記第1のグレースケールレシオ画像は、前記第2のグレースケールレシオ画像よりも高い空間分解能レベルを有する、
請求項1に記載の方法。
前記局所マルチスケールグレースケールレシオ画像及び前記入力高ダイナミックレンジ画像から得られる前記トーンマッピングされたグレースケール画像は、トーンマッピングされたカラー画像を得るようコンポーネント画像として使用される、
請求項1に記載の方法。
前記局所マルチスケールグレースケールレシオ画像を有さない前記トーンマッピングされたカラー画像は、画像レンダリング装置におけるレンダリングのために使用される、
請求項14に記載の方法。
前記局所マルチスケールグレースケールレシオ画像を有する前記トーンマッピングされたカラー画像は、画像レンダリング装置におけるレンダリングのために画像処理システムへ与えられる、
請求項14に記載の方法。
前記トーンマッピングされたカラー画像及び前記局所マルチスケールグレースケールレシオ画像は、出力高ダイナミックレンジ画像を生成するよう前記画像処理システムによって使用される、
請求項16に記載の方法。
【発明を実施するための形態】
【0008】
本発明は、一例として、限定としてではなく、添付の図面の図において表される。図面において、同じ参照符号は同じ要素を表す。
【0009】
例となる可能な実施形態は、局所マルチスケールトーンマッピング技術に関し、本願において記載される。以下の記載において、説明のために、多数の具体的な詳細が、本発明の完全な理解を提供するために記載されている。しかし、本発明がそのような具体的な詳細によらずに実行されてよいことは明らかである。他の例において、よく知られている構造及び装置は、不必要に本発明を
閉塞し、不明りょうにし、又は分かりにくくすることを避けるために、詳細には記載されない。
【0010】
例となる実施形態は、次の骨子に従ってここで記載される:
1.総括
2.マルチスケール局所トーンマッピングシステム
3.マルチスケール局所トーンマッピングオペレータ
4.局所マルチスケール画像処理方法
5.局所マルチスケールオペレータ
6.例となる処理フロー
7.実施メカニズム−ハードウェア概要
8.同等物、拡張、代替物、他。
【0011】
1.総括
この概要は、本発明の可能な実施形態の幾つかの態様の基本的な説明を与える。この概要は可能な実施形態の態様の広範囲に及ぶ又は包括的な要約ではない点に留意すべきである。更に、この概要は、可能な実施形態のあらゆる特に有意な態様又は要素を特定し且つ可能な実施形態、特に概して本発明のあらゆる適用範囲を線引きすると理解されるよう意図されない。この概要は単に、例となる可能な実施形態に関する幾つかの概念を要約及び簡単化された形で提示するにすぎず、以下に続く例となる可能な実施形態のより詳細な記載に対する単なる考え方の前置きとして理解されるべきである。
【0012】
幾つかの可能な実施形態において、画像フォーマットは、HDR画像レンダリング及び非HDR画像レンダリングをサポートするために使用されてよい。ここで論じられる画像フォーマットの例は、JPEG、MPEG、AVI、TIFF、BMP、GIF、又は他の適切なフォーマットであってよい。そのような画像フォーマットの特定の例は、新しいHDRディスプレイ装置におけるHDR画像レンダリングと、HDR又は非HDRディスプレイ装置における非HDR画像レンダリングとを同時にサポートするためにJPEGに代えて使用されるJPEG−HDRである。JPEG−HDRは、JPEGにおいて定義される標準ロケーションにおいて(例えば、ビットストリームにおいて、ディスクフォーマットにおいて、等)トーンマッピング画像を記憶し、非HDRディスプレイ装置によって無視され得る新しいロケーションにおいて付加的なメタデータを記憶する。付加的なメタデータは、原のHDR画像のHDRバージョンを生成/復元するために、トーンマッピング画像とともに使用されてよい。
【0013】
幾つかの可能な実施形態において、ここで記載される付加的なメタデータは、ここで記載される技術を用いて原のHDR画像から得られる局所マルチスケールグレースケールレシオ画像である。幾つかの可能な実施形態において、拡張YCC域のような色域が、トーンマッピング画像及び局所マルチスケールグレースケールレシオ画像から生成/復元される原のHDR画像のHDRバージョンにおける夫々のピクセルでの完全な回復を可能にするために、本願における画像フォーマットとともに使用されてよい。幾つかの可能な実施形態において、ここで記載される技術は、原のHDR画像のHDRバージョンにおける夫々のピクセルでの完全な回復を可能にするために、閾値を下回るトーンマッピング画像における完全黒のトーンマッピング値の数を最小限とする(例えば、トーンマッピング画像におけるピクセルの総数の0.01%、0.1%、1%、2%、等)。
【0014】
本願における技術の下で、輝度値の所望出力範囲に適合するために大域コントラストを圧縮し、人間の視覚認知にとって重要である局所コントラストを失う大域トーンマッピング(TM)オペレータを用いることに代えて、局所マルチスケールトーンマッピング処理が、全体的なマッピングをそのままにしながら、大域TMオペレータにおいて妥協してきた局所コントラストを改善するトーンマッピング画像を生成するために使用されてよい。幾つかの可能な実施形態において、局所マルチスケールTM処理は、詳細の損失なしに輝度値をマッピングするために大域曲線(例えば、ヒストグラム調整TM曲線)を使用する。幾つかの可能な実施形態において、局所マルチスケールTM処理は、処理において新たなアーティファクト(例えば、ハロ)を生成/導入することなしに、効率的に実行される。特定の実施形態において、効率的な再帰処理が、高い計算効率を有して、ここで記載される局所マルチスケール処理を実行するよう実施される。特定の可能な実施形態において、局所マルチスケール処理は、大域TMオペレータによるTM処理と比べてたった30%しか長くない時間を費やす。
【0015】
幾つかの可能な実施形態において、入力HDR画像が読み込まれ、その輝度値が対数領域に変換される。ヒストグラム調整TM曲線が計算され、大域レシオグレースケール画像を決定するために輝度値へ適用される。ここで使用されるように、レシオ画像は一般的に、トーンマッピング前の画像(例えば、入力HDR画像又はその対数等価物)における輝度値と、トーンマッピング後の画像(例えば、トーンマッピング画像又はその対数等価物)における輝度値との間のレシオ値を有する画像を言う。幾つかの可能な実施形態において、レシオ画像は、非対数領域において夫々のピクセル位置でトーンマッピング後の画像によって割られたトーンマッピング前の画像として、又は同等に、対数領域において夫々のピクセル位置でトーンマッピング後の画像を引いたトーンマッピング前の画像として、論理的に表される。幾つかの他の可能な実施形態において、レシオ画像は、非対数領域において夫々のピクセル位置でトーンマッピング前の画像によって割られたトーンマッピング後の画像として、又は同等に、対数領域において夫々のピクセル位置でトーンマッピング前の画像を引いたトーンマッピング後の画像として、論理的に表される。全てのそれらの実施形態において、トーンマッピング前の画像は、レシオ画像(例えば、局所マルチスケールTM画像)及びトーンマッピング前の画像(例えば、入力HDR画像)が知られる場合に、簡単な代数演算(例えば、非対数領域における乗算/除算;対数領域における加算/減算)を介して求められ得る点に留意すべきである。
【0016】
幾つかの可能な実施形態において、局所マルチスケールレシオにマージされる他のレシオ画像を生成するために使用される大域レシオ画像は、16ビット整数量を用いる減算によって効率的に計算される。幾つかの可能な実施形態において、トーンマッピング画像に対する基準最大値が計算されてよく、トーンマッピング画像は、僅かな割合のピクセル以外が、サポートされる色域(例えば、拡張YCC色域)の外にないように、変更されてよい。
【0017】
幾つかの可能な実施形態において、ここで記載されるメカニズムは、テレビ受像機、ラップトップ型コンピュータ、ノートブック型コンピュータ、携帯型無線電話機、電子ブックリーダー、販売時点情報管理(POS)端末、デスクトップ型コンピュータ、コンピュータワークステーション、コンピュータキオスク、様々な他の種類の端末、及びディスプレイユニット等を含むがこれらに限られないディスプレイシステムの一部を形成する。
【0018】
望ましい実施形態に対する様々な変更並びにここで記載される一般的な原理及び特徴は、当業者に容易に認識されるであろう。よって、開示は、示されている実施形態に制限されず、ここで記載される原理及び特徴に従う最も広い範囲を認められる。
【0019】
2.マルチスケールトーンマッピングシステム
図1Aは、本発明の幾つかの可能な実施形態に従う局所マルチスケールトーンマッピングシステム(100)の例を表す。幾つかの可能な実施形態において、局所マルチスケールトーンマッピングシステム(100)は、入力されたHDR画像(例えば、102)を入力フォーマット(例えば、浮動小数点値を有するRGBフォーマット)から局所マルチスケールトーンマッピング(TM)画像(例えば、110)及び局所マルチスケールレシオ画像(例えば、106)を含む出力フォーマットへ変換する局所マルチスケールトーンマッピング処理を実施するソフトウェア及び/又はハードウェア部品により構成されてよい。
【0020】
幾つかの可能な実施形態において、システム(100)は、入力されたHDR画像(102)を多数の可能な入力源の1つから取り出す又は受け取るよう構成されるソフトウェア及び/又はハードウェア部品を有してよい。入力源には、インターネット、記憶媒体(例えば、ブルーレイDVD、ハードディスク、ネットワークアクセスストレージ(NAS)等)、無線放送、衛星放送、ケーブル等があるが、これらに限られない。入力HDR画像(102)は、ビデオストリーム等の入力画像のシーケンスの一部であってもなくてもよい。システム(100)は、内部ランダムアクセス高速メモリ空間又は他のタイプの利用可能なメモリ空間において入力HDR画像(102)を記憶/キャッシュしてよい。
【0021】
幾つかの可能な実施形態において、システム(100)は、入力HDR画像(102)に基づき大域レシオ画像(例えば、122)を生成するよう構成される大域レシオオペレータを有してよい。システム(100)は、内部ランダムアクセス高速メモリ空間において大域レシオ画像(122)を記憶/キャッシュしてよい。幾つかの可能な実施形態において、大域レシオオペレータ(120)は、大域トーンマッパー(関数、超関数、曲線、データテーブル等の形で実施されてよい。)、例えば大域ヒストグラム調整TMオペレータに対応してよい。本発明のために、ラインハルトオペレータ等のような他の大域TMオペレータが、大域ヒストグラム調整TMオペレータの代わりに、又はそれとともに、大域レシオオペレータ(120)が対応する大域トーンマッパーとして使用されてよい。幾つかの可能な実施形態において、大域レシオ画像(122)の空間分解能レベルは、入力HDR画像の空間分解能レベルと同じであってよいが、それに限られない。ここで使用されるように、空間分解能レベルは、画像が表現するよう設定される最大鮮明度をいい、1又はそれ以上の空間次元において独立したピクセルの数により示され得る。よって、空間分解能レベルが低い画像は、より大きい空間次元へとアンサンプリングされるか、又は不鮮明にされる場合に、同じく低い空間分解能レベルのままである。
【0022】
幾つかの可能な実施形態において、システム(100)は、局所マルチスケールレシオオペレータ(例えば、104)を有してよい。局所マルチスケールレシオオペレータ(104)は、一般的に、大域レシオ画像(例えば、122)を受け取り、大域レシオ画像(122)に対して局所マルチスケールレシオ演算を実行し、大域レシオ画像(122)に基づき局所マルチスケールレシオ画像(106)を生成するよう構成されるソフトウェア及び/又はハードウェアを有してよい。
【0023】
幾つかの可能な実施形態において、システム(100)は、局所マルチスケールトーンマッピング(TM)オペレータ(108)を有してよい。局所マルチスケールTMオペレータ(108)は、一般的に、入力としてHDR画像(102)と局所マルチスケールレシオ画像(106)とを用いて局所マルチスケールトーンマッピング演算を実行し、HDR画像及び局所マルチスケールレシオ画像に基づき出力として局所マルチスケールTM画像(110)を生成するよう構成されるソフトウェア及び/又はハードウェアを有してよい。
【0024】
幾つかの可能な実施形態において、システム(100)は、局所マルチスケールTM画像(110)及び/又は局所マルチスケールレシオ画像(106)をシステム(100)内又は外の他の装置及び/又は他の部品へ供給するようソフトウェア及び/又はハードウェア部品により構成されてよい。例において、システム(100)は、第1の出力(例えば、112)において局所マルチスケールTM画像(110)を及び第2の出力(例えば、114)において局所マルチスケールレシオ画像(106)を供給してよい。ここで使用されるように、第1の出力(112)及び第2の出力(114)は、物理的又は論理的であってよい。例において、2つの別個のデータ経路が、2つの出力(112及び114)を運ぶために使用されてよい。他の例において、単一のデータ経路(例えば、124)が、2つの出力(112及び114)を運ぶために使用されてよい。例えば、2つの第1及び第2の出力(112及び114)、すなわち、それらにおける局所マルチスケールレシオ及びTM画像(106及び110)は、論理構造を有して単一ビットストリームにおいて符号化されてよい。それから、局所マルチスケールレシオ及びTM画像(106及び110)の夫々は復号化/回復されてよい。
【0025】
幾つかの可能な実施形態において、局所マルチスケールレシオ及びTM画像(106及び110)の一方のみがシステム(100)によって提供されてよい。例において、システム(100)は、局所マルチスケールTM画像(110)のみを非HDRディスプレイ装置へ供給するよう構成されてよい。幾つかの可能な実施形態において、システム(100)は、(1)局所マルチスケールTM画像(110)のみ又は(2)局所マルチスケールレシオ及びTM画像(106及び110)の両方のいずれかをHDRディスプレイ装置へ供給するよう構成されてよい。幾つかの可能な実施形態において、システム(100)からの局所マルチスケールレシオ及びTM画像(106及び110)は、有形的媒体(例えば、ディスク、インターネットに基づくサーバ、NAS、記憶媒体等)を介して記憶/送信されてよく、それから、ディスプレイ装置は、復号化/回復されるべき画像又は画像の組み合わせを選択してよい。
【0026】
3.マルチスケール局所トーンマッピングオペレータ
図1Bは、本発明の幾つかの可能な実施形態に従う局所マルチスケールレシオオペレータ(例えば、104)の例を表すブロック図である。
【0027】
幾つかの可能な実施形態において、局所マルチスケールレシオオペレータ(104)は、一般的に、大域レシオ画像(122)に基づき、レシオ画像1(122−1)、・・・及びレシオ画像N(122−N)を含むレシオ画像の組を生成するよう構成されるソフトウェア及び/又はハードウェア部品を有してよい。なお、Nは、組に含まれる異なるレシオ画像の数を示す1よりも大きい正の整数である。幾つかの可能な実施形態において、レシオ画像の組は、異なった空間分解能レベルを有する少なくとも2つの異なるレシオ画像を含む。幾つかの可能な実施形態において、大域レシオ画像(122)は、レシオ画像の組の一員として含まれる。幾つかの他の可能な実施形態において、大域レシオ画像(122)は、レシオ画像の組に一員として含まれない。例において、レシオ画像の組は、大域レシオ画像(122)と、1又はそれ以上の他のレシオ画像(例えば、122−Nを含んでよい。)とを有する。大域レシオ画像(122)は、入力HDR画像の空間分解能レベルと同じ空間分解能レベルにあってよく、一方、1又はそれ以上の他のレシオ画像の中の少なくとも1つは、入力HDR画像よりも低い空間分解能レベルにある(例えば、1又はそれ以上の空間次元において2倍(2×)、4倍(4×)、8倍(8×)等粗い。)。他の例において、レシオ画像の組は、2又はそれ以上のレシオ画像を含み、そのいずれもが大域レシオ画像(122)ではない。2又はそれ以上のレシオ画像の中の1つ(例えば、122−1)は、入力HDR画像よりも低い第1の空間分解能レベルにあり(例えば、1又はそれ以上の空間次元において2倍(2×)、4倍(4×)、8倍(8×)等粗い。)、一方、2又はそれ以上のレシオ画像の中の少なくとも1つの他は、入力HDR画像よりも低い第2の異なる空間分解能レベルにあり(例えば、1又はそれ以上の空間次元において4倍(4×)、8倍(8×)、16倍(16×)等粗い。)
幾つかの可能な実施形態において、局所マルチスケールレシオオペレータ(104)は、一般的に、直接的に又は間接的に大域レシオ画像(122)に基づき、大域レシオ画像(122)自体ではないレシオ画像の組の中の各レシオ画像を生成するよう構成されるソフトウェア及び/又はハードウェア部品を有してよい。ここで使用されるように、“直接的に大域レシオ画像に基づき特定のレシオ画像を生成する”とは、その特定のレシオ画像を生成するために演算が直接に大域レシオ画像(例えば、122)に対して実行されることを意味し、一方、“間接的に大域レシオ画像に基づき特定のレシオ画像を生成する”とは、その特定のレシオ画像を生成するために演算が、大域レシオ画像に対して直接に実行されるのではなく、間接的又は直接的に大域レシオ画像(例えば、122)に基づき生成されていた中間レシオ画像に対して直接に実行されることを意味する。幾つかの可能な実施形態において、ここで記載されるように大域レシオ画像又は中間レシオ画像に対して実行される演算は、ダウンサンプリング動作、アンサンプリング動作、非対数領域における乗算/除算(若しくは対数領域における加算/減算)、非対数領域における階乗の増減演算(若しくは対数領域における乗算/除算)等であってよい。
【0028】
幾つかの可能な実施形態において、局所マルチスケールレシオオペレータ(104)は、一般的に、レシオ画像の組に含まれるレシオ画像を局所マルチスケールレシオ画像(106)にマージするよう構成されるソフトウェア及び/又はハードウェア部品を有してよい。幾つかの可能な実施形態において、レシオ画像の組は、最も高い空間分解能レベルから最も低い空間分解能レベルへ連続的に順序付けられてよい。幾つかの可能な実施形態において、1又はそれ以上のより高い空間分解能レベルを有する1又はそれ以上のレシオ画像(例えば、先行するレシオ画像)は、その1又はそれ以上のより高い空間分解能レベルよりも低い空間分解能レベルを有するレシオ画像(例えば、後続のレシオ画像)を生成するために使用される。
【0029】
幾つかの可能な実施形態において、レシオ画像の組における各レシオ画像は、そのレシオ画像が局所マルチスケールレシオ画像(106)にマージされる前に、別々にメモリ空間においてキャッシュ又は記憶される。幾つかの他の可能な実施形態において、レシオ画像の組における各レシオ画像は論理的な意味において存在するが、後続のレシオ画像は、他の後続のレシオ画像が更に生成された後にマージされて、その先行するレシオ画像の全てのマージ結果とともにキャッシュされてよい。
【0030】
4.局所マルチスケール画像処理方法
図2は、本発明の幾つかの可能な実施形態に従う局所マルチスケール画像処理方法(200)の例を表すブロック図である。
図2における実線の矢印はデータの流れを示し、一方、破線の矢印は制御の流れを示す。方法(200)は、1又はそれ以上のコンピュータ装置によって実行されてよい。
【0031】
ステップ202で、局所マルチスケール画像処理方法(200)がアプリケーションから呼び出されてよい。アプリケーションは、標準ダイナミックレンジ(SDR)ディスプレイにHDR画像を表示することに関連するものであってよいが、それに限られない。ステップ204で、方法(200)は、入力されたHDR画像(例えば、102)をメモリ空間にロードしてよい。入力HDR画像(102)は浮動小数点RGB画像であってよく、一方、方法(200)から出力されるトーンマッピンググレースケール画像は、局所マルチスケールトーンマッピング画像(例えば、110)の一部として、例えばガンマ符号化スケール(γ=2.2)において、トーンマッピング輝度値を示す同じ次元の8ビットグレースケール画像であってよい。
【0032】
ステップ206で、入力HDR画像は、(色度に関連するチャネルに加えて輝度チャネルを有するYuv色空間又は他の色空間に関連する色空間において)対数輝度(“LogY”と表される。)値を有するHDR画像に変換されてよい。簡単のために、対数輝度値を有するHDR画像は、ここでは、LogY領域におけるHDR画像(212)と呼ばれることがある。ここで使用されるように、輝度値は、輝度値、ルーマ値、又はガンマ拡張若しくは圧縮輝度値と称することがある。ステップ208で、方法(200)は、LogY領域におけるHDR画像の対数輝度値に基づきLogYヒストグラムを計算し、LogYヒストグラム(214)を生成してよい。ステップ210で、方法(200)は、LogYヒストグラム(214)に基づく計算を実行し、大域トーンマッピング曲線(216)を生成してよい。これは、大域ヒストグラム調整トーンマッピング演算子(TMO)によって、又は直接的若しくは間接的に、大域ヒストグラム調整TMOに対応する大域レシオ演算子(例えば、120)によって、トーンマッピング又はレシオ演算において使用されてよい。
【0033】
この時点での方法(200)の動作フローは、ステップ218に通じる参照点A(240)に達する。ステップ218で、方法は、LogY画像(212)におけるLogY値をLogY領域における大域トーンマッピング値にマッピングするよう、大域トーンマッピング曲線(216)に基づく大域ヒストグラムTMOを適用し、且つ、ここでは大域Logレシオ画像(228)と呼ばれるLogY領域における大域レシオ画像(例えば、122)を生成するよう、大域トーンマッピング値を有するLogY領域におけるHDR画像にけるLogY値を減じてよい。
【0034】
ステップ220で、方法(200)は、局所Logレシオ画像(230)と呼ばれる局所マルチスケールレシオ画像(例えば、106)を生成するよう、局所マルチスケールレシオオペレータ(例えば、
図3の300)を大域Logレシオ画像(228)へ適用してよい。幾つかの可能な実施形態において、局所マルチスケールレシオオペレータは、
図1A及び
図1Bにおいて表される局所マルチスケールレシオオペレータ104と同じか、又はその一部であってよい。幾つかの可能な実施形態において、局所マルチスケールオペレータは、
図3を参照して更に詳細に説明されるように、レシオ画像の組(例えば、122−1乃至122−N)を生成し、それらのレシオ画像を局所Logレシオ画像(230)にマージしてよい。
【0035】
ステップ222で、局所Logレシオ画像(230)は、トーンマッピングLogY画像232を生成するよう、LogY画像と結合される。結合は、Log領域における加算又は線形領域における乗算のいずれかであってよい。幾つかの可能な実施形態において、ステップ218で実行されるレシオ演算は、Log領域における減算であってよく(非対数領域における除算演算であってよい。)、一方、ステップ222における局所マルチスケールTMオペレータ(220)によって実行される演算は、逆の動作であってよい(例えば、Log領域における加算。これは、非対数領域における乗算演算であってよい。)。
【0036】
ステップ224で、方法(200)は、トーンマッピングLogY画像(232)にわたって、基準最大輝度値(LogY最大値234と呼ばれてよい。)を求めてよい/計算してよい。入力HDR画像から得られる対応する色度値と結合される、基準最大輝度値を下回る輝度値は、非HDRディスプレイ装置を含む多種多様なディスプレイ装置によってサポートされる特定の色域内を保ってよい。画像に対する基準最大輝度値は、一定の少数の割合のピクセル以外は色域を超えないように選択されてよい。
【0037】
ステップ226で、方法(200)は、トーンマッピングLogY画像232における輝度値からLogY最大輝度値(234)を減じ、LogY最大輝度値(234)を減じられたトーンマッピングLogY画像232における輝度値を固定小数点値(例えば、8ビット結果)に変換してよい。ステップ236で、8ビット結果における輝度値は、(カラー)トーンマッピング画像としてHDR画像から得られる色度値とともに使用されるよう、補正トーンマッピンググレースケールトーンマッピング画像において記憶されてよい。幾つかの可能な実施形態において、補正トーンマッピンググレースケールトーンマッピング画像は、ステップ238において、呼び出し元のアプリケーションへ返される。
【0038】
5.局所マルチスケールレシオオペレータ
図3は、本発明の幾つかの可能な実施形態に従う局所マルチスケールレシオオペレータ(例えば、
図2の220又は
図1Aの104)の例を表すブロック図を示す。局所マルチスケールレシオオペレータ(220)は、1又はそれ以上のコンピュータ装置によって実行される処理フロー(300)を実施してよい。
【0039】
ブロック302で、局所マルチスケールオペレータ(202)は、大域Logレシオ画像(例えば、228)(ここではRと表される。)を受け取ることを開始してよい。ここで使用されるように、“レシオ値”は輝度値をいう。“レシオ画像”はここでは、輝度値を有するグレースレールレシオ画像をいう。ブロック304で、複数の空間分解能レベルNを計算してよい。本発明のために、“Nを計算する”とは、2、3、4、5、6等の正整数の定数にNを直接に設定することを含んでもよい。幾つかの可能な実施形態において、大域Logレシオ画像(228)の空間分解能レベルは、Nを計算することにおいて係数として使用される。例示のためだけに、大域Logレシオ画像(228)は、水平次元においてDx(例えば、2048等)個のピクセルを及び垂直次元においてDy(例えば、1536等)個のピクセルを有する長方形の画像フレームであってよいが、それに限られない。よって、大域Logレシオ画像(228)の空間分解能レベル、又は入力HDR画像の空間分解能レベルは、画像フレームにおけるピクセルの総数Dx×Dyを特徴としてよい。
【0040】
幾つかの可能な実施形態において、空間分解能レベルの総数Nを計算するよう、大域Logレシオ画像(228)の空間分解能レベルは、空間分解能レベルの更なる低下が最低空間分解能レベルを下回る結果としての空間分解能レベルをもたらす点まで、正の整数m
x×m
y(×は乗算演算を表す。)の係数だけ逐次下げられる。ここで、m
xは、(先行する)レシオ画像における水平次元沿いのピクセルの数がその先行レシオ画像の直ぐ後に続く後続レシオ画像における水平次元沿いの1ピクセルになることを示す正の整数であり、m
yは、(先行する)レシオ画像における垂直次元沿いのピクセルの数がその先行レシオ画像の直ぐ後に続く後続レシオ画像における垂直次元沿いの1ピクセルになることを示す正の整数である。ここで使用されるように、最低空間分解能レベルは、大域Logレシオ画像の空間分解能レベルを下回る予め設定された及び/又はプログラムで設定された空間分解能レベルをいい、最低空間分解能レベルをとりうる最低値は、大域Logレシオ画像(228)の空間次元のいずれかにおける1ピクセル以上であってよい。
【0041】
幾つかの可能な実施形態において、大域Logレシオ画像(228)の空間次元の夫々に沿ったサポート可能な空間分解能レベルの最大数は、最初に決定される。
【0042】
例えば、水平次元における例示の分解能によってサポートされる最大レベル数N
xは、次の式:
m
xNx≦Dx 式(1)
を満足する最大値として計算されてよい。
【0043】
同様に、水平次元における例示の分解能によってサポートされる最大レベル数N
yは、次の式:
m
yNy≦Dy 式(2)
を満足する最大値として計算されてよい。
【0044】
幾つかの可能な実施形態において、Nは、1よりも大きく且つ式(1)及び(2)から計算されるN
x及びN
yのいずれの最大値よりも大きくない何らかの正の整数に設定される。
【0045】
幾つかの可能な実施形態において、Nは、1よりも大きい正の整数に設定され、故に、(大域Logレシオ画像(228)から開始して先行レシオ画像の分解能を逐次下げることによって得られる)レシオ画像のピラミッドの頂点における最低空間分解能レベルは、夫々の次元において少なくとも1ピクセル幅である。
【0046】
本発明のために、Nを計算する他の方法が使用されてよい。例えば、定数m
x及びm
yを使用することに代えて、m
x及びm
yは、2又はそれ以上の異なる空間分解能レベルで異なる値に設定されてよい。幾つかの可能な実施形態において、Nは、予め設定された又はユーザにより設定された値に設定されてよく、空間分解能レベルは、Nの予め設定された又はユーザにより設定された値に少なくとも部分的に基づき決定されてよい。幾つかの可能な実施形態において、N及び/又は空間分解能レベルの1若しくはそれ以上は、入力HDR画像(102)、又は大域Logレシオ画像(228)、又は目下のレシオ画像を推定するために使用される先行レシオ画像の内容に対して画像分析を行うことなく、決定されてよい。幾つかの可能な実施形態において、画像分析は、1又はそれ以上の先行画像の内容に対して実行されてよく、N及び/又は空間分解能レベルの1若しくはそれ以上は、画像分析の結果に少なくとも部分的に基づき、決定されてよい。様々な可能な実施形態において、m
x及びm
yは一定であってよく、又はレベルによって変化してよく、あるいは、入力HDR画像(102)の画像フレーム内の位置によってさえ変化してよい。様々な可能な実施形態において、位置依存性は、画像分析の結果に由来してもしなくてもよい。
【0047】
幾つかの可能な実施形態において、ブロック306で、オペレータ(220)は、MSFunction(328)と表されるマルチスケール関数を呼び出す。かかる呼び出しは、最初に夫々R及びNに設定される呼び出しパラメータR
i及びiを有し、呼び出しパラメータiは、空間分解能レベルに対応するインデックスであってよい。幾つかの可能な実施形態において、Rは大域レシオ画像(122)である。幾つかの可能な実施形態において、MSFunction(328)は、
図3に表されるように実施される。
【0048】
ブロック308で、オペレータ(220)は、iによって示される空間分解能レベルで新しいスタックフレームを生成してよい。このスタックフレームは、iに対応する空間分解能レベルにあるレシオ値を記憶するために使用される。幾つかの可能な実施形態において、ここで記載されるスタックフレームは、空間分解能レベルでの(対数領域における)レシオ値を記憶するよう、空間分解能レベルに対応するピクセルの数を保持する。
【0049】
ブロック310で、オペレータ(220)は、空間分解能レベルiについてgamma
i(又はγ
i)を計算してよく、gamma
iは、空間分解能レベルiについての(非対数領域における累乗値及び対数領域における倍数値である)ガンマ値である。幾つかの可能な実施形態において、iの値に依存しない値(例えば、1/N等)がgamma
iに割り当てられる。幾つかの他の可能な実施形態においては、iの値に依存する値がgamma
iに割り当てられてよい。特定の可能な実施形態において、gamma
iは、以下:
gamma
i=2×i/(N×(N+1)) 式(3)
のように与えられてよい。
【0050】
よって、この実施形態では、空間分解能レベルが高いほど、gamma
iの値は大きくなる。
【0051】
幾つかの可能な実施形態において、全てのレベルについてのgamma
i’の和は、他の可能な実施形態では制限されないが、固定値、例えば1に制限される。幾つかの可能な実施形態において、gamma
i’に対するそのような制約は、対応する出力トーンマッピング画像の所望のダイナミックレンジを、例えば特定の範囲のディスプレイ装置によってサポートされる特定の範囲内に保つために使用される。
【0052】
ブロック312で、オペレータ(220)は、iが最小数(例えば、1)以下であるかどうかを試験してよい。かかる最小数は、論じられているN個の空間分解能レベルにおける最低空間分解能レベルに対応してよい。そうである場合は、処理フロー(300)はブロック322に至り、そうでない場合は、処理フロー(300)はブロック314に至る。最初に、iは1よりも大きいNに設定されるので、処理フローはブロック314に至る。ブロック314で、オペレータ(220)は、MSFunction(328)のための入力パラメータの1つ、すなわちレシオ画像R
iを、R
i−1へとダウンサンプリングしてよい。様々な可能な実施形態において、R
i−1へのR
iのダウンサンプリングは、多数の異なる方法の中の1つにおいて実行されてよい。一例において、R
iのm
x×m
y個のピクセルがR
i−1において1ピクセルになるべき場合に、R
i−1におけるピクセルはR
iにおけるピクセルの平均値、又はR
iにおけるm
x×m
y個のピクセルに依存するその他の代表値、として選択されてよい。他の例において、ガウスフィルタのようなフィルタが、R
i−1におけるピクセルを得るために、R
iにおけるピクセル値に適用されてよい。
【0053】
ブロック316で、オペレータ(220)は、再帰的にMSFunction(328)を呼び出してよく、このときパラメータR
i及びiは夫々R
i−1及び(i−1)に設定される。上述されたブロック310、312、314及び316は、iがもはや最小値(例えば、1)よりも大きくなくなるまで、繰り返されてよい(すなわち、再帰的に呼び出されてよい)。iが最小値(例えば、1)以下である場合、処理フローはブロック322に至る。
【0054】
ブロック322で、オペレータ(220)は、R
i(におけるレシオ値の夫々)を指数gamma
iでべき乗してよい。これは、以下:
R
i:=gamma
i×R
i 式(4)
のように、対数領域におけるレシオ値に対する乗算により達成されてよい。
【0055】
幾つかの可能な実施形態において、この指数べき乗演算は、R
iにおける全てのレシオ値について実行される。
【0056】
ブロック326で、オペレータ(220)は、式(4)で与えられるように、最終の変更されたR
iを親呼び出し側(例えば、306又は316)に返してよい。
【0057】
ブロック318で、オペレータ(220)は、R
i’を生成するよう、R
i−1におけるレシオ値をアップサンプリングしてよい。
【0058】
ブロック320で、オペレータ(220)は、レベルiでの変更R
iを生成するために、R
i(における夫々のレシオ値)を指数gamma
iでべき乗し、R
i’を乗じてよい。対数領域において、R
iを指数gamma
iでべき乗することはR
i×gamma
iの単純な乗算に対応し、乗算は加算に対応する点に留意されたい。すなわち、
R
i:=R
i’+gamma
i×R
i 式(5)。
よって、(320)におけるR
iは、重み付けされた局所レシオ画像の和として考えることができる。一実施形態において、重み係数は、繰り返しの夫々におけるgamma
iの値に対応する。指数べき乗演算は、R
iにおける全てのレシオ値について実行されてよい。乗算演算は、R
i及びR
i’における空間位置のレシオ値の全ての対について実行されてよい。
【0059】
ブロック326で、オペレータ(220)は、変更R
iを親呼び出し側に返してよい。最後の繰り返し段で、変更R
iは、局所Logレシオ画像(
図2の230)として返されてよい。
【0060】
例示のために、局所マルチスケールレシオ画像は
図3の(再帰的な)処理フローにより生成されてよいことが記載されてきた。本発明のために、局所マルチスケールレシオ画像は異なる処理フローにより生成されてよいことが留意されるべきである。例えば、再帰的な処理を用いることに代えて、逐次関数又は他のタイプの処理フローが使用されてよい。局所マルチスケールレシオ画像を生成するために使用されるそのような又は他のタイプの処理フローは、本発明の適用範囲内にある。
【0061】
6.例となる処理フロー
図4Aは、本発明の可能な実施形態に従う処理フローの例を表す。幾つかの可能な実施形態において、画像処理ユニットのような1又はそれ以上のコンピュータ装置又は部品がこの処理フローを実行してよい。ブロック410で、画像処理ユニットは、入力される高ダイナミックレンジ(HDR)画像から得られる輝度値に大域レシオオペレータを適用して、輝度レシオ値を含む高分解能グレースケールレシオ画像を生成してよい。幾つかの可能な実施形態において、高分解能グレースケール画像は、HDR画像と同じ空間分解能レベルを有するグレースケールレシオ画像である。幾つかの可能な実施形態において、画像処理ユニットは最初に、入力HDR画像における輝度値を対数領域に変換する。
【0062】
幾つかの可能な実施形態において、大域レシオオペレータは、大域トーンマッピングオペレータに関連して大域輝度ヒストグラム調整オペレータを有する。幾つかの可能な実施形態において、画像処理ユニットは、入力HDR画像から得られる輝度値に基づきヒストグラム調整曲線を計算し、そのヒストグラム調整曲線を入力HDR画像から得られる輝度値に適用して高分解能グレースケールレシオ画像を生成してよい。
【0063】
幾つかの可能な実施形態において、非対数領域において、高分解能グレースケールレシオ画像における輝度レシオ値は複数のレシオ値を有してよく、それらのレシオ値の夫々は、入力HDR画像から得られる輝度値の1つで割られる大域トーンマッピング画像の大域的にトーンマッピングされた輝度値である。
【0064】
ブロック420で、画像処理ユニットは、少なくとも部分的に高分解能グレースケールレシオ画像に基づき、異なった空間分解能レベルを夫々有する少なくとも2つの異なるグレースケールレシオ画像の重みつき結合を含む局所マルチスケールグレースケールレシオ画像を生成してよい。ここで使用されるように、“重みつき結合”は、非対数領域における乗法積ではなく、対数領域における加法和を意味し、重みつき結合において使用される重み係数は、対数領域における倍数因子又は非対数領域における指数因子であるガンマ値であってよい。
【0065】
幾つかの可能な実施形態において、画像処理ユニットは、少なくとも2つの重み係数を前記の少なくとも2つの異なったグレースケールレシオ値に割り当てる。幾つかの可能な実施形態において、画像処理ユニットは、複数の重み係数の値を、局所マルチスケールグレースケールレシオ画像を生成するために使用される複数のグレースケールレシオ画像に割り当てる。幾つかの可能な実施形態において、複数のグレースケールレシオ画像は、前記の少なくとも2つの異なったグレースケールレシオ値を含む。幾つかの可能な実施形態において、複数の重み係数の値は、予め設定された値へ正規化される。幾つかの可能な実施形態において、画像処理ユニットは、少なくとも2つの重み係数を前記の少なくとも2つの異なったグレースケールレシオ値に割り当てる。
【0066】
幾つかの可能な実施形態において、画像処理ユニットは、局所マルチスケールグレースケールレシオ画像を生成するために使用される複数のグレースケールレシオ画像における第1のグレースケールレシオ画像について第1の値を第1の重み係数に割り当て、複数のグレースケールレシオ画像における第2のグレースケールレシオ画像について第2の値を第2の重み係数に割り当ててよい。幾つかの可能な実施形態において、第1の値は第2の値よりも大きく、第1のグレースケールレシオ画像は第2のグレースケールレシオ画像よりも高い空間分解能レベルを有する。
【0067】
幾つかの可能な実施形態において、前記の少なくとも2つの異なったグレースケールレシオ画像は、高分解能グレースケールレシオ画像を含む。幾つかの可能な実施形態において、前記の少なくとも2つの異なったグレースケールレシオ画像は、高分解能グレースケールレシオ画像における輝度レシオ値をダウンサンプリングすることによって高分解能グレースケールレシオ画像に基づき決定される少なくとも1つのグレースケールレシオ画像を含む。
【0068】
ブロック430で、画像処理ユニットは、トーンマッピングされたグレースケール画像を生成するよう、入力HDR画像から得られる輝度値とともに、局所マルチスケールグレースケールレシオ画像におけるレシオ値を用いてよい。幾つかの可能な実施形態において、トーンマッピングされたグレースケール画像におけるトーンマッピング輝度値は、入力HDR画像における輝度値よりも低い低減されたダイナミックレンジを有する。幾つかの可能な実施形態において、トーンマッピングされたグレースケール画像におけるトーンマッピング輝度値はガンマ符号化スケールにある。
【0069】
幾つかの可能な実施形態において、入力HDR画像は浮動小数点RGB画像である。幾つかの他の可能な実施形態において、入力HDR画像は固定小数点(例えば、夫々のR、G又はBチャネルについて16ビット)RGB画像である。幾つかの可能な実施形態において、トーンマッピングされたグレースケール画像は、入力HDR画像の空間次元と同じ空間次元を有する固定小数点グレースケール画像を有する。
【0070】
幾つかの可能な実施形態において、画像処理ユニットは、色域から出るピクセルのパーセンテージが閾値よりも大きくないように、トーンマッピングされたグレースケール画像にわたって基準最大値を計算する。
【0071】
幾つかの可能な実施形態において、局所マルチスケールグレースケールレシオ画像は、再帰処理を用いて得られる。
【0072】
幾つかの可能な実施形態において、局所マルチスケールグレースケールレシオ画像及び入力HDR画像から得られるトーンマッピングされたグレースケール画像は、トーンマッピングされたカラー画像を得るためにコンポーネント画像として使用される。一例において、局所マルチスケールグレースケールレシオ画像によらないトーンマッピングカラー画像は、画像レンダリング装置におけるレンダリングのために使用されてよい。
【0073】
他の例において、局所マルチスケールグレースケールレシオ画像によるトーンマッピングカラー画像は、画像レンダリング装置におけるレンダリングのために画像処理システムへ与えられてよい。幾つかの可能な実施形態において、トーンマッピングカラー画像及び局所マルチスケールグレースケールレシオ画像は、出力されるHDR画像を生成するために画像処理システムによって使用される。
【0074】
図4Bは、本発明の可能な実施形態に従う処理フローの例を表す。幾つかの可能な実施形態において、画像処理ユニットのような1又はそれ以上のコンピュータ装置又は部品がこの処理フローを実行してよい。ブロック440で、画像処理ユニットは、高ダイナミックレンジ(HDR)画像から得られる輝度値に大域トーンマッピングオペレータを適用して、輝度レシオ値を含む高分解能グレースケールレシオ画像を生成してよい。
【0075】
ブロック450で、画像処理ユニットは、最高分解能レベルと最低分解能レベルとの間にある空間分解能レベルの数を決定してよい。幾つかの可能な実施形態において、空間分解能レベルの数は、入力HDR画像の内容に対して画像分析を実行することなしに決定される。幾つかの可能な実施形態において、空間分解能レベルの数は、入力HDR画像の画像分析内容の結果に少なくとも部分的に基づき決定される。
【0076】
ブロック460で、画像処理ユニットは、最高分解能レベルから最低分解能レベルの直ぐ上の空間分解能レベルまでの夫々の空間分解能レベルについて、夫々の空間分解能レベルの直ぐ下の空間分解能レベルに対応する後続のレシオ画像を生成するよう、夫々の空間分解能レベルに対応するレシオ画像をダウンサンプリングしてよい。
【0077】
ブロック470で、画像処理ユニットは、最低分解能レベルから最高分解能レベルの直ぐ下の空間分解能レベルまでの夫々の空間分解能レベルについて、夫々の空間分解能レベルに対応するアップサンプルレシオ画像を生成するよう、夫々の空間分解能レベルに対応するレシオ画像をアップサンプリングしてよい。
【0078】
ブロック480で、画像処理ユニットは、複数のレシオ画像の夫々異なるレシオ画像について重み係数を決定して、複数の重み係数を生じさせてよい。ここで、レシオ画像の夫々は、複数の空間分解能レベルの中の空間分解能レベルに対応してよい。
【0079】
ブロック490で、画像処理ユニットは、複数の重み係数によって重み付けされる複数のレシオ画像の重みつき結合として局所マルチスケールレシオ画像を決定してよい。
【0080】
7.実施メカニズム−ハードウェア概要
一実施形態に従って、ここで記載される技術は、1又はそれ以上の特別目的のコンピュータ装置によって実施される。特別目的のコンピュータ装置は、それらの技術を実行するようハードワイヤードであってよく、あるいは、それらの技術を実行するよう持続的にプログラミングされる1又はそれ以上の特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)のようなデジタル電子デバイスを含んでよく、あるいは、ファームウェア、メモリ、他の記憶装置、又は組み合わせにおいてプログラム命令に従ってそれらの技術を実行するようプログラミングされた1又はそれ以上の汎用のハードウェアプロセッサを含んでよい。そのような特別目的のコンピュータ装置はまた、それらの技術を達成するようカスタムハードワイヤードロジック、ASIC又はFPGAをカスタムプログラミングと結合してよい。特別目的のコンピュータ装置は、それらの技術を実施するようハードワイヤード及び/又はプログラムロジックを組み込むデスクトップ型のコンピュータシステム、ポータブル型のコンピュータシステム、携帯機器、ネットワーキング装置、又はその他の装置であってよい。
【0081】
例えば、
図5は、本発明の実施形態が実施され得るコンピュータシステム500を表すブロック図である。コンピュータシステム500は、情報通信のためのバス502又は他の通信メカニズムと、情報処理のための、バス502と結合されたハードウェアプロセッサ504とを有する。ハードウェアプロセッサ504は、例えば、汎用のマイクロプロセッサであってよい。
【0082】
コンピュータシステム500は、プロセッサ504によって実行される命令及び情報を記憶するための、バス502へ結合されたメインメモリ506(例えば、ランダムアクセスメモリ(RAM)又は他の動的記憶装置)を更に有する。メインメモリ506は、プロセッサ504によって実行される命令の実行中に一時的変数又は他の中間情報を記憶するためにも使用されてよい。そのような命令は、プロセッサ504がアクセス可能な持続性記憶媒体に記憶される場合に、コンピュータシステム500を、それらの命令において特定される動作を実行するようカスタマイズされている特別目的のマシンにならしめる。
【0083】
コンピュータシステム500は、プロセッサ504のための静的な情報及び命令を記憶するための、バス502へ結合された読出専用メモリ(ROM)508又は他の静的な記憶装置を更に有する。記憶装置510(例えば、磁気ディスク又は光ディスク)が情報及び命令を記憶するために設けられてバス502へ結合される。
【0084】
コンピュータシステム500は、バス502を介して、コンピュータユーザへ情報を提供するためのディスプレイ512(例えば、陰極線管(CRT))へ結合されてよい。英数字及び他のキーを含む入力装置514が、情報及びコマンド選択をプロセッサ504へ伝えるためにバス502へ結合される。他のタイプのユーザ入力装置は、方向情報及びコマンド選択をプロセッサ504へ伝え且つディスプレイ512におけるカーソル移動を制御するための、マウス、トラックボール、又はカーソル方向キーのようなカーソル制御516である。この入力装置は通常、装置が平面において位置を特定することを可能にする、2つの軸、すなわち第1の軸(例えば、x)及び第2の軸(例えば、y)における2自由度を有する。
【0085】
コンピュータシステム500は、コンピュータシステムととともにコンピュータシステム500を特別目的のマシンにさせる又はそのようにプログラムするカスタマイズされたハードワイヤードロジック、1若しくはそれ以上のASIC若しくはFPGA、ファームウェア及び/又はプログラムロジックを用いて、ここで記載される技術を実施してよい。一実施形態に従って、ここでの技術は、プロセッサ504がメインメモリ506に含まれる1又はそれ以上の命令の1又はそれ以上のシーケンスを実行することに応答して、コンピュータシステム500によって実行される。そのような命令は、記憶装置510のような他の記憶媒体からメインメモリ506に読み込まれてよい。メインメモリ506に含まれる命令のシーケンスの実行は、プロセッサ504に、ここで記載される処理ステップを実行させる。代替の実施形態では、ハードワイヤード回路が、ソフトウェア命令の代わりに、又はそれとともに使用されてよい。
【0086】
ここで使用される語“記憶媒体”は、マシンを特定の態様において動作させるデータ及び/又は命令を記憶するあらゆる持続性媒体をいう。そのような記憶媒体は、不揮発性媒体及び/又は揮発性媒体を有してよい。不揮発性媒体には、例えば、記憶装置510のような光又は磁気ディスクがある。揮発性媒体には、メインメモリ506のような動的メモリがある。共通形態の記憶媒体には、例えば、フロッピーディスク(登録商標)、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、又は他の何らかの磁気データ記憶媒体、CD−ROM、他の何らかの光データ記憶媒体、穴のパターンを伴う何らかの物理媒体、RAM、PROM、及びEPROM、フラッシュEPROM、NVRAM、他の何らかのメモリチップ又はカートリッジがある。
【0087】
記憶媒体は、伝送媒体と別であるが、それとともに使用されてよい。伝送媒体は、記憶媒体との間で情報を受け渡すことに関与する。例えば、伝送媒体は、バス502を有する配線を含め、同軸ケーブル、銅線及び光ファイバを含む。伝送媒体はまた、電波及び赤外線データ通信の間に生成されるような音響又は光の波の形をとることができる。
【0088】
様々な形態の媒体が、実行のためにプロセッサ504へ1又はそれ以上の命令の1又はそれ以上のシーケンスを搬送することに関与してよい。例えば、命令は最初に、遠隔のコンピュータの磁気ディスク又はソリッドステートドライブで持ち運ばれてよい。遠隔のコンピュータは、命令を自身の動的メモリにロードして、モデムにより電話線を介して送信することができる。コンピュータシステム500に固有のモデムは、電話線上のデータを受け取り、赤外線トランスミッタを用いてデータを赤外線信号に変換することができる。赤外線検出器は、赤外線信号において搬送されたデータを受け取ることができ、適切な回路は、データをバス502に置くことができる。バス502はデータをメインメモリ506へ運び、メインメモリ506からプロセッサ504が命令を取り出して実行する。メインメモリ506によって受信される命令は、任意に、プロセッサ504による実行の前又は後のいずれかに、記憶装置510に記憶されてよい。
【0089】
コンピュータシステム500は、バス502へ結合される通信インタフェース518を更に有する。
【0090】
通信インタフェース518は、ローカルネットワーク522へ接続されるネットワークリンク520への双方向データ通信結合を提供する。例えば、通信インタフェース518は、総合デジタル通信網(ISDN)カード、ケーブルモデム、衛星モデム、又は対応する電話線タイプへのデータ通信接続を提供するモデムであってよい。他の例として、通信インタフェース518は、互換性のあるLANへのデータ通信接続を提供するようローカルエリアネットワーク(LAN)カードであってよい。無線リンクも実施されてよい。いずれかのそのような実施において、通信インタフェース518は、様々なタイプの情報を表すデジタルデータストリームを運ぶ電気、電磁気又は光信号を送受信する。
【0091】
ネットワークリンク520は通常、1又はそれ以上のネットワークを介するデータのデータサービスへのデータ通信を提供する。例えば、ネットワークリンク520は、ローカルネットワーク522を介するホストコンピュータ524への、又はインターネットサービスプロバイダ(ISP)526によって作動するデータ設備への接続を提供してよい。次いで、ISP526は、目下一般的に“インターネット”528と呼ばれるワールドワイドパケットデータ通信ネットワークを介するデータ通信サービスを提供する。ローカルネットワーク522及びインターネット528は両方とも、デジタルデータストリームを運ぶ電気、電磁気又は光信号を使用する。様々なネットワークを介する信号、及びネットワーク520上にあり且つ通信インタフェース518を介する信号は、コンピュータシステム500との間でデジタルデータをやり取りするものであり、伝送媒体の例となる形態である。
【0092】
コンピュータシステム500は、ネットワーク、ネットワークリンク520及び通信インタフェース518を介して、メッセージを送信し且つプログラムコードを含むデータを受信する。インターネットの例では、サーバ530は、インターネット528、ISP526、ローカルネットワーク522及び通信インタフェース518を介して、アプリケーションプログラムのための要求されたコードを送信してよい。
【0093】
受信されたコードは、それが受信されるとプロセッサ504によって実行され、且つ/あるいは、後の実行のために記憶装置510又は他の不揮発性記憶装置に記憶されてよい。
【0094】
8.同等物、拡張、代替物、他
上記の記載において、本発明の可能な実施形態が、実施ごとに異なりうる多数の具体的な詳細を参照して記載されてきた。よって、何が本発明であり且つ出願により本発明であると意図されるのかについての唯一且つ排他的な指針は、本願に由来する特許請求の範囲であり、かかる特許請求の範囲が与える具体的な態様において、あらゆるその後の補正を含む。特許請求の範囲に含まれる語についてここで明示的に記載されている如何なる定義も、特許請求の範囲において使用されるそれらの用語の意味を決定すべきである。従って、特許請求の範囲において明示的に挙げられていない制限、要素、特性、特徴、利点又は属性は、決してその請求の適用範囲を限定すべきではない。明細書及び図面は、然るべく、限定の意味よりむしろ例示の意味で捉えられるべきである。
【0095】
[関連出願の相互参照]
本願は、その全体を参照により本願に援用される2011年3月2日出願された米国特許仮出願第61/448606号に基づく優先権を主張するものである。
【0096】
本願は、参照により本願に援用される2008年1月7日に出願された米国特許出願第11/568030号に関連する。