JP2004511863A - 画像の解像度非依存型レンダリングのための手法 - Google Patents
画像の解像度非依存型レンダリングのための手法 Download PDFInfo
- Publication number
- JP2004511863A JP2004511863A JP2002535064A JP2002535064A JP2004511863A JP 2004511863 A JP2004511863 A JP 2004511863A JP 2002535064 A JP2002535064 A JP 2002535064A JP 2002535064 A JP2002535064 A JP 2002535064A JP 2004511863 A JP2004511863 A JP 2004511863A
- Authority
- JP
- Japan
- Prior art keywords
- resolution
- image
- operations
- independent
- effect
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
通常は解像度依存の画像動作と考えられる画像動作を実質的に解像度非依存の動作に変換することによって、画像データ(402)レンダリングの性能を向上させるための方法。これは、レンダリング(454)が、例えば、画面上の表示に対し使用される低解像度画像データ上で実行できることから、著しい性能の向上を可能とし、画像効果がより高い解像度のレンダリングに適用される場合、その効果は視覚上、より低い解像度で見られる効果と略同一である。このような通常は解像度依存の画像動作を擬似解像度非依存型動作に変換することは、画像がより高い解像度でレンダリングされる時、適用される画像効果が、より低い解像度において効果が有する場合と同じ外観を実質的に有するという確信とともに、適用される画像効果をより低い解像度の画像上で実行させることもできる。
Description
【0001】
【発明の属する技術分野】
本出願は、2000年10月13日出願の米国仮出願シリアル番号第60/240,495号の利益に対する権利が付与される。
【0002】
本発明は概してディジタル画像処理システムに関する。詳細には、本発明は画像データをレンダリングする性能を大きく向上させる手法を説明する。さらに詳しくは、もともと解像度非依存であると見なされていない操作に対しても解像度非依存型特徴を利用する手法が説明される。さらに具体的に言うと、画像操作がいずれの解像度に適用される時も、解像度非依存型動作をシミュレートする(擬似解像度非依存型と称する)ために一定の手法が適用される。
【0003】
これら手法は、パーソナルコンピュータ、ディジタル画像民生用装置上で実行するようなコンピュータアプリケーションにおいて、そして(物理的に配線された又は無線の媒体上のクライアント側又はサーバ側の実行可能なコードの形式で)ネットワーク環境内で写真を表示し操作する時に、レンダリングシステムの性能を大きく向上させることができる。
【0004】
ほとんどの画像操作は2つのカテゴリ、即ち、画像の解像度に関係なく同じ結果を生成するもの(即ち、解像度非依存式)、及び画像データの異なる解像度に対し著しく異なった目に見える結果を生成するもの(即ち、解像度依存式)とに分類される。例えば、回転はすべての解像度にわたって不変であり、解像度に依存していない。しかしながら、フレスコ画法効果等の特殊効果の画像処理操作は、異なる解像度にわたって広範囲に変化し、解像度に依存している。
【0005】
解像度非依存の操作のみがサポートされると、出力のスクリーン上の表示に必要とされる低解像度画像データ上でレンダリングが実行可能であるので、著しい性能の向上が達成される。なぜなら、一般にディスプレイの解像度は高解像度プリンタ等の他のほとんどの出力装置より通常ははるかに低いからである。
【0006】
解像度に依存する画像操作のすべて又は少なくとも大多数が解像度非依存型動作をシミュレートするような方法で動作すると、解像度非依存型の利点のほとんどが依然として実現される。解像度非依存の方法で解像度の連続範囲をサポートすることが不可能なことがある一方、解像度非依存型に近似させる一定の仮定及び制約が行なわれ、これによって新しい種類の擬似解像度非依存型画像操作を生成する。好ましい実施の形態では、すべての操作が解像度非依存型であるか、又は擬似解像度非依存型である。
【0007】
本発明の目的の1つは、低解像度の画像データを効果的に処理できることであり、すべての解像度にわたって一貫した結果を得られることである。これが表示画面装置において画像を表示し処理する時に特に重要であるのは、一般にこれら装置が画像データの解像度より、はるかに低い解像度であるからである。さらに、本発明は、たいていのアプリケーションが今日では正確にサポートすることが出来ない、すべての解像度における一貫した結果を犠牲にすることなく、このような効率性を提供する。
【0008】
本発明の別の目的は、ネットワーク接続環境において極めて重要な、その他の場合に必要となるよりはるかに少ない画像データを処理し送信できることである。クライアントが、局所的に(クライアント側で)処理される画像データをダウンロードしなければならない場合、少量のデータをダウンロードするだけが要求されることは、非常に有益である。今日では、小さい画面の解像度表示(元の解像度の画像より小さい)が必要であっても、画像操作が一貫した結果を得られるように、元の解像度の画像は局所クライアントに送信されなければならない。これら操作がサーバ上で実行される時でも、画像データの画面上の解像度で画像操作を実行する能力がサーバの処理及びメモリ要件を著しく軽減し、これにより、同じ時間内で更に多くのトランザクションを実行させる。
【0009】
これら手法により、処理能力が低くメモリがほとんどない低コスト家庭用電化製品の画像装置上でディジタル画像化操作を実行できることは、同様に重要な利点である。今までのところ、これはシステム制約により実現が困難であった。
【0010】
【従来の技術及び発明が解決しようとする課題】
アドビフォトショップ(商標)等の従来の画像処理アプリケーションは、すべての画像処理操作に対し一貫した結果を得るための最良の方法が、目標とされた出力装置の解像度(元の画像解像度よりも高いか低いか)については関係なく元の画像解像度で操作を実行することであると仮定する。これにより、画像が低解像度ビデオディスプレイ又は高解像度プリンタで表示されるかに関係なく、一貫した結果が保証される。従来の画像処理アプリケーションは通常、以下に示す2つのアプローチをサポートする。
【0011】
図1Aに示される第1のアプローチは、更新された出力画像が出力装置から要求される場合、適用される画像操作のシーケンスを蓄積し、各操作を再びレンダリングする。これは、画像の元の解像度におけるすべての画像操作の完全な再処理を伴なう。これは、各操作が元の画像解像度に再適用されるので、非常に時間のかかる処理である可能性がある。これは、各操作が操作のリストに記憶されるので、無制限の取消し機能を有する柔軟性をユーザに付与する。
【0012】
図1Aを参照すると、プロセス100は、従来の画像編集モデルを用いたディジタル画像の処理を詳述するフローチャートである。プロセス100は102から開始し、特定のディジタル画像が該画像の解像度においてアプリケーションによって開かれる。再サンプリング/再スケーリングは発生しない。104では、画像編集操作が実行されるべきか否かが決定される。実行すべき画像操作がない場合、制御は108に渡される。そうでない場合、106において、画像操作が元の画像解像度データ上で実行され、制御は104に戻され、処理すべき更なる画像操作があるか否か判断される。このモデルにおいて、連続する画像操作が画像に適用された前の画像操作の上に適用(又は蓄積)されることは留意すべきである。
【0013】
108において、所望の出力解像度が決定される。110では、元の画像解像度がその所望の出力解像度に一致しない場合、112において画像は一時バッファに複写され、所望の出力解像度に一致するようにサイズ変更され、さらに制御は114に渡される。そうでない場合、制御は直接114に渡され、画像は出力装置に送信される。選択された出力装置がディスプレイである場合、出力解像度は画像がディスプレイ上で拡大又は縮小(ズームイン/ズームアウト)されるかによって変化することがある。しかしながら、注目すべきは、画像操作が概して元の画像解像度データに適用され、すべての操作が適用された後に、画像がその出力装置の解像度に一致するようにサイズ変更されることである。
【0014】
図1Bに図示される第2のアプローチは、元の画像解像度の画像データ上で、但し、中間作業バッファ又はキャッシュしたバッファにおいて各操作を実行する。この作業バッファは、元の画像解像度の画像全体を含む。新しい操作がそれぞれ適用されると、作業バッファ上で直接実行される。所望の出力解像度画像が生成される時、作業バッファは所望の出力解像度に一致するように再サンプリングされる。明らかに、各操作が通常は作業バッファにおいて一度適用され、新しい出力解像度が要求される時に再処理される必要がないことが利点である。このアプローチでの欠点は、無制限の取消し/やり直し操作が可能である一方、更新された出力画像が要求される時に画像操作のリスト全体が通常は再レンダリングされないので、こうした特徴をサポートすることはさらに困難であるということである。
【0015】
図1Bを参照すると、プロセス150は、このモデルを用いたディジタル画像の処理を詳述するフローチャートである。プロセス150は、152から開始し、特定のディジタル画像がアプリケーションによって開かれる。154では、ディジタル画像が元の解像度と同じ解像度で作業バッファに複写される。156では、画像編集操作を実行すべきかが決定される。実行すべき画像操作がない場合、制御は160へ渡される。そうでない場合、158において、画像操作が(蓄積された操作とともに)作業バッファ上で実行され、制御は156へ渡され、処理すべき更なる画像操作があるか否かが判断される。
【0016】
160において、所望の出力解像度が決定される。162では、(元の画像の解像度である)作業バッファの解像度が所望の出力解像度に一致しないと、164において、作業画像が一時バッファに複写され、所望の出力解像度に一致するようにサイズ変更される。いずれの場合も、166において一時バッファからのサイズ変更された画像が出力装置上に表示される。プロセスは、画像を再レンダリングする要求又はユーザによる新しい画像操作の要求が適用されるまで168において待機する。170では、プログラムが終了すべきかを判断し、そうであれば、適切なステップが採用され、プロセスが中断する。そうでない場合、要求を処理するために制御は156へ戻される。このように、画像操作のリスト全体は作業画像バッファに再び適用される必要はない。
【0017】
アドビフォトショップ(商標)によって採用されるアプローチは2つのアプローチの組み合わせである。この場合、中間作業バッファが使用されるが、これは、ユーザが取消し操作を実行するとフラッシュ可能なキャッシュと考えられる。作業バッファは廃棄可能であるとともに、画像操作の更新されたリストに基づいて再生成可能である。あるいはまた、作業バッファは作業バッファの以前にキャッシュされた複写に戻されることができる。極端なことを言うと、すべての中間操作がキャッシュ可能であり、無限の取消し/やり直し操作の効果をシミュレートする。これは、かなりの量のメモリ及び/又はディスクスペースを使用するという犠牲を払う。
【0018】
これらアプローチのそれぞれが、すべての解像度にわたって一貫した結果を付与する利点を有すると同時に、画像処理操作が元の画像解像度のすべての画素上で実行されなければならないので、概して処理が遅くなる。中間作業バッファキャッシュの使用により、新しいレンダリング解像度が要求されるたびにすべての画像操作を再処理する必要性を最小限にしているが、画像操作は依然として最初は元の解像度で実行されなければならない。今日の最速プロセッサにおいても、これは依然として時間のかかる操作である。
【0019】
回転又は色調整フィルタのような解像度に依存しない操作が実行される時に、このモデルの変形が可能であることは、留意すべきことである。このような状況において、作業バッファを、操作のプレビューが示される画面解像度のような、はるかに低い解像度にサイズ変更/再サンプリングすることは一般的である。この手法を使用すると、限られた解像度非依存型操作の集合に対しリアルタイム操作が実現可能である。ユーザがその結果に満足すると、操作は元の解像度の作業画像バッファに適用される。
【0020】
これにより上述された不利点の一部が緩和されると同時に、画像操作の小さな部分集合のみがこの解像度非依存型動作に一致し、あるいは所望のリアルタイム操作の機能性をサポートすることができる。
【0021】
もっと最近では、すべての画像操作が解像度に依存しない方法で実行される時に有効な画像レンダリングを可能とする新しい手法が利用可能である。ディジタル・イメージング・グループ(DIG)を構成する企業の共同体によって開発されたフラッシュピクス(FlashPix(商標))手法をサポートする画像アプリケーションは、画面上の画像を一貫した方法で低解像度で表示し操作することができるが、但し、高解像度画像データを処理する能力を保持する。
【0022】
フラッシュピクス手法は、回転、変換、クロッピング、カラーツイスト、ぼかし/シャープネス調整、及び明るさ/コントラスト調整を含む画像操作の限られた組を定義する。これらの操作はそれぞれ、フラッシュピクス(商標)規格によって定義されるような特定の「2の累乗」解像度で実行可能であるように定義されるが、このようなすべての解像度にわたって一貫した結果を付与する。
【0023】
図2を参照すると、プロセス200は、フラッシュピクス(商標)画像モデルを用いたディジタル画像の処理を詳述するフローチャートである。プロセス200は202から開始し、特定のディジタル画像がアプリケーションによって開かれる。204において、所望の出力解像度が決定される。205において、出力解像度と元の画像解像度が同じかどうかが判断される。それらが同じでない場合、206において、画像は出力装置の解像度に一致するようにサイズ変更される。いずれの場合にも、208では、画像編集操作が実行すべきかどうかが判断される。実行すべき画像操作がない場合、制御は212に渡される。そうでない場合、210において、画像操作が206でサイズ変更された画像データ上で実行される。制御は208に戻され、実行すべき更なる画像操作があるかどうかが判断される。
【0024】
212において、処理された画像は出力表示装置に送信される。204において出力解像度が既に決定され、すべての処理が目標とされた出力解像度上で実行されたので、画像の更なる再サンプリングは必要ではない。上記で述べたように、同様の作業バッファキャッシュがフラッシュピクス(商標)レンダリングモデルにおいても使用されることは留意すべきである。
【0025】
フラッシュピクス(商標)画像モデルは、低解像度画像データ上で実行される時に画像操作の迅速且つ有効な処理という利点を付与する。これは低解像度出力表示装置上のリアルタイム操作と、リアルタイムレンダリングを提供する。これは明らかに有利である一方、解像度に依存しない操作の小さな集合のみが実際にサポートされる。より詳細には、アーキテクチャが本明細書に述べられたような条件を許可しないので、解像度非依存型、又は擬似解像度非依存型の操作をサポートすることは不可能なことがある。フラッシュピクス(商標)が特定の「2の累乗」解像度をサポートするのみであり、本発明によって提供されるような連続範囲の解像度をサポートしないこともまた留意すべきである。
【0026】
画像操作の解像度要件が無視され、各操作がある一定の解像度で処理される正反対の単純化したアプローチもさらに使用される。この解像度は通常、元の画像解像度に一致せず、また操作が異なる解像度に適用された場合に一貫した動作を提供するものでもない。画像操作が解像度非依存である場合に対し、フラッシュピクス(商標)によってサポートされるようなものに関しては、このモデルが作動し、一貫した結果を付与する。しかしながら、画像操作が解像度非依存でない場合に対し、さらに一貫性のない結果が見られる。非一貫性の程度は特定の画像操作の関数である。
【0027】
例えば、ローパス5×5カーネル等の解像度依存型ぼかし操作を適用する場合、ぼかしの量は解像度(及び画像サイズ)が高くなるほど目立たなくなる。これは、いずれの場合も画像がある程度不鮮明な状態に見えるのでそれほど不快感をもたらすことはない。しかしながら、湖水に落ちる石の波紋のシミュレーションが画像にレンダリングされる「リップル」効果に対して、同心性の波紋の実際の数と外観は、解像度、及びアルゴリズムの正確な特徴によって変化する(後述されるリップル動作のサンプル出力を参照)。
【0028】
図3を参照すると、プロセス300はこのアプローチを用いたディジタル画像の処理を詳述するフローチャートである。プロセス300は、302から開始し、特定のディジタル画像がアプリケーションによって開かれる。304において、所望の出力解像度が決定される。305では、出力解像度と元の画像解像度が同じであるかどうかが判断される。それらが同じでない場合、306において画像が出力装置の解像度に一致するようにサイズ変更される。どちらの場合にも、308では、画像編集操作を実行すべきかどうかが決定される。実行すべき画像操作がない場合、制御は312へ渡される。そうでない場合、310において画像操作がステップ306でサイズ変更された画像データ上で実行される。これは、たとえ画像操作が元の画像解像度データを要求する場合でも発生し、このため、適切な結果が得られないことがある。制御はその後、308に戻され、更なる画像操作を実行すべきかどうかが判断される。
【0029】
312において、処理された画像が出力表示装置に送信される。304では出力解像度が既に決定され、すべての処理が目標とされた出力解像度上で実行されたので、画像の更なる再サンプリングは必要ではない。上述されたように、同様の作業バッファキャッシュがこのレンダリングモデルにおいても使用可能であることは留意すべきである。
【0030】
この種のアプローチが画像処理操作をサポートするウェブサイト上で採用されることは一般的であるが、主要な出力目標は低解像度出力表示装置である。一般に、画像操作が(低解像度の)画像に適用された後で、その結果は通常、電子メールで受信者に送信される。受信者は、低解像度出力表示装置上で(既にラスタライズされた)低解像度結果を見る。
【0031】
例えば、オンライン印刷フルフィルメント・サービスを介して操作が印刷用の元の解像度画像データに再適用される場合には、その状況はさらに多くの問題がある。ユーザは低解像度でレンダリングされた画像の画面を介して出力をプレビューすることもできる。この場合、ディスプレイに表示された出力は注文された最終印刷出力に一致しないことがある。
【0032】
80%までこの矛盾が検出されなくても、その違いに気付く者にしては、印刷出力の払い戻しを要求することがある。この状況は非常にコストがかかり、明らかに満足できる解決ではない。本発明はすべての操作に対しすべての解像度にわたって一貫性が実現されるので、より望ましいの結果を生成し、これにより顧客満足度を向上させる。
【0033】
さらに重要なことには、「イグノア・イット」アプローチを採用するフォトサービスがこうした問題をできるだけ少なくするためにサポートされた画像操作をたいがい制限するだろうということである。これら画像操作が解像度非依存の、又は解像度非依存の特徴を利用可能であるように構成される(即ち、擬似解像度非依存型)かを仮定すると、より広範囲の画像操作を提供できることが望ましい。
【0034】
【課題を解決するための手段】
要約すると、本発明は、画像の最終解像度に関係なく、効果が略同一の外観を有するように標準的に解像度依存の画像効果を適用するための方法から構成される。これにより、レンダリングされた以後の解像度に関係なく、結果として得られる効果が元の解像度に適用された時と同じ外観を有するであろうという確信をもって画像効果が画像解像度に適用されることができる。どの特定の効果パラメータが解像度に依存するかを決定し、レンダリングされている最終画像解像度上で予測される修正値でパラメータを修正することによって、解像度依存パラメータを実質的に解像度非依存型パラメータに変換することができる。
【0035】
【発明の実施の形態】
本発明は、その更なる利点とともに、添付図面に関連して解釈される以下の説明を参照して最も良く理解することができる。
【0036】
本発明は、一度に数百から数千の同時操作を処理するシステム上に配備されるASP(アプリケーションサービスプロバイダ)モデルの一部として、画像処理サーバ上の配置をもともと対象としている。多くのコンピュータにわたって拡張可能な解決が望ましい。より重要なことには、レンダリングされた画像のサイズに関係なくすべての画像の解像度にわたって一貫した結果を提供するが、出力解像度が低下するにつれて、レンダリングする時間が減少する。
【0037】
画像データが低解像度(例えば、320×240)画像及び数メガ画素画像(例えば、3000×3000画素)の範囲内で変動することは留意すべきである。このような非常に大きな画像のレンダリングを可能にするモデルが開発され、但し、低解像度画像データ(例えば、320×240)上で実行されると、著しい性能の向上が実現される。これにより、画像が迅速に表示されるのみならず、(画像データが存在する)データ・ストレージ・サーバ、(画像処理コードが操作をレンダリングする)画像処理サーバ、及び(出力が見られる)クライアントシステムの間で送信されなければならない画像データの量が低減される。
【0038】
これにより、幾つかの利点が付与される。まず、ごく少量の画像データが実際に処理されるので、各操作ごとの処理能力の量が大幅に低減される。さらに重要なことには、ネットワーク環境では、低解像度画像データのみがサーバと遠隔クライアントコンピュータとの間で送信されなければならない。これは、ローバンド幅(即ち、56Kbモデム)環境で実行する時に特に重要である。
【0039】
本発明によって実現される別の利点は、解像度非依存、あるいは擬似解像度非依存のいずれかの画像操作を処理する時、元の画像解像度はアクセスされる必要はなく、またさらに利用可能である必要もない。ある状況において、元の画像解像度は利用できず、高解像度の印刷出力の生成が要求される時に利用できさえすればよい。この場合、処理のほとんどが低解像度で、サーバコンピュータや、クライアント/ホストコンピュータのいずれかで起こらなければならない。本発明は、元の画像解像度が利用できなくても一貫した出力が結果として得られる解法を提供する。これがなければ、解像度に依存していない画像操作以外に対して一貫した動作を保証することは不可能であろう。
【0040】
低解像度画像の処理は、処理能力の低下とメモリ要件の低減を必要とするという結果になり、これらの必要性は、低コスト家庭電化製品ディジタル画像装置を開発する時に重要である。こうしたディジタル画像装置は、情報機器、ディジタルカメラ、ディジタルカムコーダ、ディジタルテレビ、ディジタルフォトスキャナ、フォト・イネーブルドな(photo−enabled)セットトップボックス、フォト・イネーブルドなゲーム機、フォト・イネーブルドなインターネットデバイス、セルフォン、ケーブルセットトップ・ボックス、ウェブテレビ(商標)、又は画像を見ることのできるその他のコンピュータ装置を含む。
【0041】
解像度非依存型のカテゴリに分類される画像操作は、すべての解像度にわたって一貫した結果をもたらすものを含む。例えば、画像Aでは、画像操作が特定の解像度の画像に適用され、その画像はより低い解像度にサイズ変更される。画像Bでは、画像はまず、より低い解像度にサイズ変更され、その後画像操作が適用される。画像A及び画像Bが、再サンプリング/サイズ変更操作の間に持ち込まれるエラーを考慮し、視覚上十分に近い場合、その操作は解像度に依存していないと考えられる。言い換えると、ユーザが画像Aと画像Bを並列して見る場合、それらの画像は視覚上同じように見えるはずである。
【0042】
このカテゴリーに分類される以下の画像操作の一部は、回転、クロッピング、変換、カラー調整、カラーツイスト、明るさ/コントラスト調整(画像のヒストグラムとは異なる)、(フラッシュピクス(商標)画像モデルによって定義されるような)ぼかし/シャープネス操作、デュオトーン(画像を2つのトーンカラー画像に変換する)、グレースケール/黒白、ネガ、露光過度、ポスタリゼーション(色の数の減少)、及び二層構造/しきい値を含む。これは決して総合的リストではないが、解像度に依存していないと考えられるタイプの操作を例示する。ここで留意すべきは、フラッシュピクス(商標)画像モデルは、このような操作の小さな部分集合をサポートするだけだということである。
【0043】
各種の擬似解像度非依存の画像処理操作がある。解像度非依存の動作をシミュレートできる方法を決定するために更なる解像度依存の画像操作が調査分析されると、新しい種類の擬似解像度非依存の操作が生成されることになる。
【0044】
ヒストグラムベースの画像操作
このクラスの画像操作は、画像のヒストグラムからの変換関数に基づいて所与の画素値を修正する。例えば、自動拡張機能はヒストグラムを見て、ヒストグラムの各端部から5%を切断し、ヒストグラムを範囲全体にわたって再分散する。元の解像度画像のヒストグラムが低解像度画像のヒストグラムに近いので、これは解像度非依存であると考えられる可能性がある。しかしながら、これは一般に正しいが、解像度が非常に低くなる(例えば、192×192のサムネイル表示)とその仮定は崩壊する。したがって、画像がレンダリングされるたびに元の解像度画素データの処理を必要とすることなく真の解像度非依存型を提供するアプローチが望ましいとされる。
【0045】
本発明は、多重段階において画像操作を実行することによって前記問題を解決する。分析(アナライズ)段階はまず、画像データ上で実行される。この段階は、ヒストグラムが演算可能であるように、理想的には元の画像解像度ですべての画素データを処理する。この段階の間には、画素は修正されない。ヒストグラムが収集されると、ヒストグラムをどのように再分散すべきかというような適切な画像操作パラメータが確認可能である。第2の段階、即ち、フィルタ段階の間に、画像データが実際に修正される。このアプローチの利点は、パラメータが解像度に依存していないので、これにより、フィルタ段階が画像データの元の解像度よりも低いか高いかのいずれかの解像度で実際に実行されることができる。
【0046】
元の画像データの解像度でアナライズ段階を実行し、今後のレンダリングの結果を記憶させることによって、フィルタ段階はいずれかの解像度で実行可能とされる。この手法は、すべての解像度にわたって解像度非依存の動作をシミュレートする。
【0047】
一般分析段階/フィルタ段階の利用
上述した画像操作のクラスは、このカテゴリーの部分集合である。分析/フィルタ段階モデルがヒストグラムフィルタ操作の使用法に関して上述されている一方で、より一般的な方法で使用可能である。例えば、赤目軽減及び人工照明調整は、普通は解像度に依存すると考えられる2つの画像操作であるが、分析段階を最初に元の画像解像度で実行させることによって解像度非依存型をシミュレートすることができる。
【0048】
赤目軽減フィルタ操作は2つの部分、即ち、(a)赤目の検出と、(b)影響を受けた領域の削除/除去、に分割できる。まず第1に、赤目を正確に検出するために、元の画像解像度で検出を実行することが望ましい。そうでない場合、副標本の画像は正確に検出不能であるように目の領域を十分にぼかすことができる。また、非常に低い解像度の画像、例えば、320×240画面のネイル画像上で処理が生じると、赤目をまさに視覚的に見ることができないという可能性が非常に高い。
【0049】
検出が元の画像解像度で実行されると、赤目の座標及び半径が解像度非依存型の座標に保存される。これら座標と半径の双方によって、いかなる解像度の赤目も削除/除去することができる。この除去が非常に低い解像度、例えば、320×240画面のネイル、に適用された場合、除去領域は小さい。一方、非常に高い解像度の画像上で実行された場合、除去領域は赤目の座標を中心により大きくなる。
【0050】
人工照明調整フィルタもまた、2段階式アプローチを要求する操作である。第1のパスは、特定の光(例えば、白熱灯の照明用の黄色)がどの程度写真に存在するかを決定するために実行される。一定の割合(即ち、写真の25%)以上が特定の色範囲を含む場合、画像は修正される。上記決定がこの一定の割合に基づくので、正確な量が解像度によってわずかに変動することがある。例えば、厳密に画像の25%が元の画像解像度で黄色を含む場合がある。画像がダウンサンプリングされる時、計算された割合は通常では、25%よりわずかに少なかったり多かったりする。
【0051】
すべての解像度における一貫性に対し、色の検出は元の画像解像度において実行され、分析段階の間に記憶される。レンダリングが発生すると、フィルタ段階がいずれかの解像度で、但し、分析段階の間に元の画像解像度データから収集されたデータに基づいて実行される。元の画像データの解像度において分析段階を実行し、今後のレンダリングの結果を記憶させることによって、フィルタ段階がいずれかの解像度で実行可能である。この手法は、すべての解像度にわたって解像度非依存の動作をシミュレートする。
【0052】
内部パラメータの修正
第3のクラスの擬似解像度非依存の画像操作は、通常では、一定値又は画像の解像度の関数となるある範囲の値に基づいて、内部パラメータ値を修正する。例えば、リップルフィルタは、小石を写真上にレンダリングされた池に落とす結果をシミュレートする。ほとんどのアルゴリズムはこれを、画像全体に数学的波動関数をシミュレートすることによって実行する。一般的ではあるが、これは画像のサイズに依存する。このため、異なる数のリップルが、同じ画像の異なる解像度で認められる。
【0053】
代替のアプローチは、異なる解像度が同じように見える(即ち、同数のリップルを有する)ように画像の解像度をパラメータとして採用する数学的波動関数を有することである。これは、解像度に基づいて、パラメータを線形に、又はパラメータ変更のための対数関数あるいは幾何関数を決定して変更することによって可能であることもある。
【0054】
多重不連続解像度
第4のクラスの擬似解像度非依存の画像操作は、異なる解像度に対し異なる不連続の内部パラメータ値を選択する。これらの画像操作では、内部パラメータのそれぞれに対し数学関数を定義することは一般に不可能である。
【0055】
異なる解像度の画像に対し不連続パラメータの設定を選択することによって解像度非依存の動作をシミュレートすることが可能であるので、すべての解像度にわたって近似値が求められる。まず、画像の最大サイズが決定される。次に、その最大サイズが利用できる解像度のそれぞれと比較される。最も厳密に一致する解像度が選択される。
【0056】
ペイント効果は、チョーク/チャコール又はフレスコ・アート効果等の、種々の芸術的効果をシミュレートする画像操作の集合である。このような操作に対し、サポートされたサイズは、128、256、512、1024、2048、及び4086を含むことができる。128未満の画像については、128に対応付けられる設定が使用される。これらの数がどのように選択されるかについては特別なことはない。200、400、800、1600、及び3200等のサイズをサポートするために別の画像操作が選択される。所与の画像操作では、一定した解像度の特定の集合がサポートされる。
【0057】
サポートされたサイズに正確に一致しない画像がレンダリングされると、2つのアプローチが現在使用される。最も一般的なアプローチは、レンダリングされている画像のサイズに最も近いパラメータ設定を選択することである。このアプローチは、このクラスにおける多くの画像操作に対しすべての解像度において一貫した結果を付与する。
【0058】
代替のアプローチは、画像操作によってサポートされた正確な中間サイズに一致するように画像をサイズ変更することである。ある状況において、これは、画像操作の正確なサポートされた解像度が所望の出力解像度に一致しないことと仮定して、異なる解像度においてより一貫性のあるレンダリングになるという結果になる。この操作が適用された後で、画像はもとの所望の出力解像度にサイズ変更される必要はない。画像操作の一部又はすべてが同じサイズをサポートする場合、これは画像の唯一の再サンプリングが必要とされるので、より望ましいアプローチである。残念なことに、これは、更なる再サンプリング操作によってもたらされるマイナスの効果を生じる。
【0059】
解像度依存操作
このカテゴリに分類される画像操作は、定義により非解像度非依存型である。より重要なことには、こうした操作は、擬似解像度非依存型の説明において記載されたように解像度非依存型に近似することはできない。
【0060】
サポートされる解像度依存の画像操作の数を最小限にする、あるいは解像度依存操作をサポートしないことが目標とされる。このことは、従来、アプリケーションが画像操作をほとんどサポートしない結果となるので、実行できるものではなかった。解像度の連続的又は不連続的集合において解像度非依存型をシミュレートできる(即ち、擬似解像度非依存型)ことにより、今ではアプリケーションが実行可能な選択肢として解像度依存の操作を単にサポートしないことが実現可能になった。
【0061】
レンダリング実施詳細
最良の形態において、レンダリング・パイプラインは、最も効果的な方法で画像操作のそれぞれをレンダリングする方法を決定するために、上記各画像操作のそれぞれの特徴を考慮に入れる。これらの特徴は、画像操作が解像度非依存型、擬似解像度非依存型、又はそのどちらでもない(即ち、解像度に依存した)かを判断する。また、種々の画像操作間の関係は、各操作が互いに影響し合うこともあるので、定義されなければならない。例えば、回転が後に続くチョーク/チャコールペイント効果のアプリケーションは、ペイント効果のアプリケーションの前に回転が適用された場合と比較して、異なる結果が生じることになる。
【0062】
すべての操作が解像度に依存していない場合、レンダリングパイプラインは、フラッシュピクス(商標)画像モデルによって定義されるものと非常に類似している。この場合、種々の画像操作間の関係は依然として特定されなければならないが、すべての操作は同じ解像度において起こる可能性がある。さらに重要なことには、すべての操作が低解像度画像データ上で実行可能であり、処理能力及びメモリがより少なくてすむ。
【0063】
画像処理操作の少なくとも1つが擬似解像度非依存の画像操作を含む場合、本発明の利点がより明白になる。この場合、レンダリングは所望の出力解像度に近いある所定の解像度において必要とされるが、アクセス又はレンダリングされる元の解像度における画像データを必要としない。
【0064】
本発明の基本パイプライン実施
図4を参照すると、本発明によって定義されるような画像をレンダリングするためのプロセスの詳細が示されている。プロセス400は402から開始し、特定のディジタル画像がアプリケーションによって開かれる。404では、ディジタル画像の解像度が決定され、元の画像解像度(originalImageResolution)に記録される。406では、出力装置の解像度が決定され、変数最終出力解像度(finalOutputResolution)がこの値に設定される。
【0065】
408では、プロセス500によって、初期の動作解像度が何であるべきかが決定され、現在の出力解像度(currentOutputResolution)がこの値に設定される。410では、画像は適切なバッファに複写され、408で特定された解像度に一致するようにサイズ変更され、制御は412へ渡される。
【0066】
412において、画像編集操作が実行されるべきかどうかが判断される。実行すべき画像操作がない場合、制御は450に渡される。そうでない場合、414において、画像操作が解像度非依存の操作であるかどうかが判断される。解像度非依存の操作でなければ、制御は420に渡される(図4A参照)。そうでない場合、制御は416に渡され、画像操作が現在の出力解像度で実行される。制御はその後、412に戻される。
【0067】
420(図4A参照)では、この操作が擬似解像度非依存であるかどうかが判断される。肯定されると、制御は422に渡される。そうでない場合、制御は440に渡されるが、これは解像度依存操作だからである。440において、画像操作に最適な解像度(bestResolutionForImageOperation)が元の画像解像度に設定されるが、これは解像度依存操作だからである。制御はその後、442に渡される。
【0068】
422では、擬似解像度非依存の操作である。そこで、分析実行(DoAnalyze)段階が要求されるかどうかが判断される。要求される場合、424において分析実行段階が制御が426に渡された後にプロセス600によって処理される。分析実行段階が要求されない場合、制御は直接426に渡され、プロセス700によってこの擬似解像度非依存の画像操作に対し一番近くでサポートされる解像度が何であるかが判断され、画像操作に最適な解像度をこの値に設定する。制御はその後、442に渡される。
【0069】
442において、画像操作の最適な解像度が現在の出力解像度に一致する場合、制御は416(図4)に戻され、画像操作が画像上で実行される。解像度が一致しない場合、制御は444に渡され、画像が画像操作の最適な解像度に一致するようにサイズ変更される。446では、現在の出力解像度が画像操作に最適な解像度に設定される。制御はその後、416(図4)に戻され、画像操作が画像上で実行される。
【0070】
450(図4)では、すべての画像操作が実行され、現在の出力解像度と最終出力解像度のそれぞれの値が比較される。これらの値が等しい場合、制御は454へ渡され、処理された画像は出力表示装置に送信される。そうでない場合、制御は452に渡され、画像は、最終出力解像度に一致するようにサイズ変更/再サンプリングされる。制御は454へ渡され、処理された画像は出力表示装置に送信される。
【0071】
すべての画像操作が解像度非依存であり、いずれの解像度でも実行可能であれば、すべての操作が最終出力解像度で実行されることは、フローチャートから明らかである。しかしながら、画像操作が解像度依存である場合、画像の元の解像度(originalImageResolution)で実行されなければならない。すべての画像操作が実行された後に、画像は出力装置に渡される前に、また最終出力解像度へと再スケーリング/再サンプリングされなければならない。
【0072】
一般に、擬似解像度非依存の操作を処理する場合、再サンプリングが必要とされず(画像操作に最適な解像度と最終出力解像度は同一である)、又は、最終出力解像度により近い解像度が、解像度依存操作であるなら元の画像解像度を要求することと比較して使用される。
【0073】
初期動作解像度の決定(図5のプロセス500)
幾つかの異なるヒューリスティックス(発見的方法)は、所与の画像操作の理想的な解像度(画像操作に最適な解像度)を決定するために適用される。この値は当該画像操作に依存するので、一般的なアプローチは以下に記載される。
【0074】
一般規則では、可能であれば現在の出力解像度を変更しないことが最良だとされる。これは画像忠実度を維持する。理想的には、図4のステップ452で実行されたような再サンプリング/再スケーリングが不要であるように画像操作に最適な解像度が最終出力解像度と同一である。しかしながら、これは不可能であることもある。
【0075】
次のアプローチは、すべての画像操作にわたって不変であり有効である解像度を検出することである。このように、多くとも2つの再サンプル操作、即ち、元の画像解像度から目標とされた解像度(targetResolution)への再サンプル(この場合、すべての操作に対し同じである)と、出力装置によって要求される最終出力解像度への最終再サンプルを実行する必要がある。すべての画像操作が同じ解像度で動作できる場合、更なる再サンプリングは必要ではない。プロセス500及び700は、その計算の際にこれら規則及びアプローチを考慮に入れる。
【0076】
連続範囲モデルが実現可能でないとすれば、解像度の特定の不連続集合に対し解像度非依存型をサポートすることが擬似解像度非依存の画像操作の設計上の目的である。好ましい実施の形態において、この不連続集合はすべての擬似解像度非依存の操作に対し同じである。このようにして、必要とされる再サンプリングの量が低減される。もしこれが不可能であっても、擬似解像度非依存の画像操作が解像度依存操作よりも依然として好ましいとされるのは、レンダリングが通常、元の画像解像度で発生する必要がないからである。
【0077】
図5を参照し、プロセス500では、元の画像解像度及び最終出力解像度に基づいて、処理される一連の画像操作に対し1つの最適な解像度を選択するプロセスを詳細に説明する。技術的に、このプロセスはオプションである。プロセス500の一つの具体化は、最終出力解像度を「1つの最適な解像度」として単に返すことである。これが有効であるのは、プロセス700により、特定の画像操作の要求にこたえるように画像をサイズ変更する結果になるからである。
【0078】
しかしながら、結果として画像劣化が生じるために、発生する再サンプリングの量を制限することは有益である。さらに望ましいアプローチは、実行中のすべての画像操作に対し1つの最適な画像を日和見的に検出することである。これはいつでも可能ではないかもしれないが、好ましい実施の形態では、最適な初期解像度を検出するために試みられる。
【0079】
プロセス500は502から開始し、目標解像度が元の画像解像度及び最終出力解像度のいずれか小さい方に設定される。仮定として、元の画像解像度よりも低い解像度で操作を実行する時、最終出力解像度で操作を実行することは許可される。これは、元の画像解像度に相対して最終出力解像度で処理されても、操作が解像度非依存型又は擬似解像度非依存型であると見なされ、一貫した出力を生じる結果になるからである。しかしながら、操作が元の画像解像度よりも高い解像度で実行される場合、それを元の画像解像度で実行することは容認できる。これが性能とメモリのトレードオフであるのは、この場合に元の画像解像度で操作を実行し、その後、最終出力解像度に一致するように画像を再サンプリングすることが容認できると仮定されるからである。一部のシステム及び操作では、このようなことが望ましくないこともあり、これらの実施の形態において、目標解像度が502において最終出力解像度に設定される(高解像度処理に関する説明を参照)。
【0080】
504において、画像編集操作が実行されるべきかどうかが判断される。実行すべき画像操作がないと、制御は550に渡される。そうでない場合、506では、すべての画像編集操作が解像度非依存型かどうかが判断される。その判断が真であれば、制御は550へ渡される。そうでない場合、制御は510に渡される。
【0081】
510では、すべての画像操作が擬似解像度非依存型又は解像度非依存型であるかが判断される。その判断が偽であれば、制御は530へ渡される。そうでない場合、512において、すべての操作が目標解像度をサポートするかどうかが判断される。その判断が真であれば、制御は550へ渡される。そうでない場合、制御は516へ渡される。
【0082】
516では、すべての擬似解像度非依存型画像操作が目標解像度に最も近いある「共通解像度」をサポートするかどうかが判断される。各操作を検討することによって、目標解像度に最も近い1つの解像度がサポートされるかどうかが判断される。これが真であれば、制御は518に渡され、目標解像度がこの「共通解像度」に設定され、制御は550に渡される。そうでない場合、制御は530に渡される。
【0083】
530では、共通解像度が決定されないか、あるいは操作が解像度に依存する。このため、目標解像度は元の画像解像度に設定されるので、元の画像解像度で処理が実行でき、これにより、すべての解像度において一貫した結果を保証する。制御は550に渡される。
【0084】
好ましい実施の形態において、ステップ530が存在しないのは、最終出力解像度に近いある共通の目標解像度がピクチャIQ画像システムにおいてすべてのサポートされた画像操作に対し常に決定されるからである。これが事実と異なる場合、擬似解像度非依存操作が解像度依存操作と同じように処理されることがある。以後、解像度非依存型又は擬似解像度非依存型の操作を最終出力解像度に近い解像度で最初に実行されるように、操作の並べ替え等の更なる作業が実行されるだろう。
【0085】
550において、目標解像度が発信側に戻される。
【0086】
分析実行(DoAnalyze)段階の処理(図6のプロセス600)
図6を参照すると、本発明によって定義されるような分析実行段階を処理するためのプロセスの詳細を示すフローチャートが示される。プロセス600は602から開始し、以前の分析実行段階からの結果が存在し、依然として有効であるかどうかが判断される。これが真であれば、制御は650に渡される。そうでない場合、604において、分析実行が現在の出力解像度で実行できるかどうかが判断される。これが真であれば、606において分析実行が現在の出力解像度で実行され、制御は650に渡される。これが事実でなければ、分析実行を608において元の画像解像度で実行しなければならない。
【0087】
608において、現在の出力解像度における蓄積結果を元の画像解像度にサイズ変更することが十分であるかどうか、あるいは、すべての画像操作が元の画像解像度で元の画像に再適用されなければならないかどうかが判断される。元の画像解像度におけるすべての操作の再処理が要求されると、制御は620に渡される。そうでない場合、610において、作業画像が別個のバッファに複写される。612において、作業画像が元の画像解像度にサイズ変更される。制御はその後606に渡され、分析実行が実行される。
【0088】
620において、元の画像解像度の元の画像が検索される。622では、分析実行データを必要とする現在の画像操作に基づいて、この操作までのシーケンスにおけるどの操作が元の解像度に適用されることになるかが判断される。これは、操作によって異なることがある。元の解像度画像が処理された後で、制御は606に渡され、分析実行が実行される。
【0089】
650において、分析実行段階が終了し、すべての内部変数が未だ存続され且つ保存される。制御は発信側に戻される。
【0090】
最近接のサポートされた解像度を決定する(図7のプロセス700)
図7を参照すると、プロセス700は、元の画像解像度及び現在の出力解像度に基づいて、処理中の所与の画像操作に対し最良の解像度(画像操作の最良解像度)を選択するプロセスの詳細が示される。プロセス700は702から開始し、現在の出力解像度と比較される現在の画像操作のための最近接のサポートされた解像度が決定され、画像操作の最良解像度がこの値に設定される。
【0091】
すべての操作に対し一貫した解像度を検出することはできない。好ましい実施の形態では、すべての擬似解像度依存操作によってサポートされる元の画像解像度よりも一般的にはるかに低い、近接した解像度を検出することは常に可能である。定義によれば、すべてのピクチャIQ画像操作はこのカテゴリーに分類される。
【0092】
一部の実施の形態において、こうしたことが不可能であることもある。これが発生する時、元の画像解像度が使用できる。しかしながら、操作が適用されるたびに画像を再サンプリングすることは一般に望ましいことではなく、この理由は結果として画像が劣化されるからである。
【0093】
別の実施の形態において、すべての画像操作に必要とされる2つ又は3つの通常要求される解像度が存在する場合、必要ならば種々の操作間でスケーリングするために更なる再サンプル操作のオーバヘッドでそれぞれをサポートすることが望ましいこともある。これは、操作を並べ替える能力に基づいて行なわなければならないアプリケーションに特化したトレードオフである。
【0094】
解像度依存型画像操作の処理
利用される画像操作が解像度非依存型、また擬似解像度非依存型のいずれかである時に、本発明の最大の利点が実現されると同時に、他の利点もまだ可能である。例えば、実行されるすべての画像操作のシーケンスにおいて解像度依存型操作が後で(理想的には最後に)実行できるように、画像操作を並べ替えることが可能である。
【0095】
これを行うことによって、解像度非依存型か擬似解像度非依存型のいずれかである画像操作の多くは、低解像度、理想的には最終出力解像度又はそれに近い解像度で実行できる。それらの操作が最終出力解像度で実行された後に、画像は解像度依存操作の処理のための元の画像解像度に再サンプリングされなければならない。最後に、画像は最終出力解像度に戻って再サンプリングされなければならない。再サンプル操作に必要な潜在的品質上の損失又は特別な時間/資源がトレードオフに値するかどうかについてはアプリケーションに依存する。
【0096】
本発明の最も大きな利点がはるかに低解像度の画像データ上で画像操作を実行できることであると同時に、その他の利点は元の解像度に比べてより高い解像度の画像データを処理する時に実現される。
【0097】
一般的に、ほとんどのアプリケーションが元の画像解像度の画像操作を適用し、それによってその画像を縮小又は拡大するようにサイズ変更し、出力装置に一致させる。高解像度印刷装置に出力する時、プリンタの解像度は元の画像解像度よりも一般にははるかに高い。この場合、すべての操作が適用された元の画像は、プリンタに一致するようにより高い解像度にサイズ変更/再サンプリングされる。
【0098】
このアプローチでの欠点は、より高い解像度への再サンプリングが、画素化(blockiness、濃淡のむら)及び他のエイリアシング効果を含む、その他のアーチファクトを生じさせることである。これは、既に存在しないためにより高い解像度の画像データが「生成」されなければならないからである。この問題を解決するために、(画素化が最も一般に普及されている)画像の高周波は、エイリアシングの効果を軽減するためにわずかに不鮮明にされる。
【0099】
エッジを減衰させる画像処理操作(例えば、シャープネス操作又は強調されたエッジ)が実行されると、再サンプリング操作が濃淡むらの発生や、ぼかしの程度のいずれかの効果を有することがある。これらはそれぞれ、望ましくない。
【0100】
本発明によって実行できる代替のアプローチは、画像操作を適用することなく、出力装置の解像度に一致するように画像を最初に再サンプリングすることである。次に、種々の画像非依存型又は擬似解像度非依存型の操作が(元の画像解像度よりも高いと推定できる)高解像度で実行される。これは、一貫しない結果を招くことから、解像度依存の操作では不可能である。
【0101】
一般に、このアプローチが使用される場合は注意しなければならない。これにより、各画像処理操作の処理時間及びメモリ要件が増加されるが、これは非常に高い解像度の画像データで実行されるからである。また、操作が解像度に依存する場合、元の画像解像度で実行されなければならない。
【0102】
さらに可能性の高いシナリオは、すべての解像度依存の操作を含む、元の画像解像度での画像操作の一部を処理する結果になるハイブリッドアプローチを使用することである。画像は再サンプリングされ、再サンプリング/サイズ変更操作の結果として望ましくないアーチファクトを示す解像度非依存型又は擬似解像度非依存型の操作の部分集合が、より高い解像度で実行される。これは、一部の操作が並べ替え可能であることを仮定する。
【0103】
本発明はすべての解像度にわたって一貫した結果を付与するために設計されている。既に述べたように、画像Aでは、画像操作が特定の解像度の画像に適用され、それより低い解像度にサイズ変更される。画像Bでは、画像が最初により低い解像度にサイズ変更され、画像操作が適用される。画像A及び画像Bが、再サンプリング/サイズ変更操作の間に生じられたエラーを考慮に入れて十分に接近している場合、その操作は解像度非依存型であると考えられる。言い換えると、ユーザが画像Aと画像Bを並列して見る場合、それらは視覚的に同じように見えることになる。
【0104】
理論上、この仮定が適用できる場合、解像度非依存型の影響が得られる。解像度非依存型又は擬似解像度非依存型の操作の一部の制限された集合では、全体に正しくないこともある。ある芸術的な効果はこの特徴を示している。この効果が元の解像度画像に適用される時、目に見える。しかしながら、既にその効果が適用された元の解像度画像が画面上のネイル又はサムネイルに再サンプリングされる時、あまりよく見えなかったり、あるいは完全に見えなくなる。
【0105】
画像処理の観点から、画像をより小さい解像度に再サンプリングする効果は、画像処理操作の効果を低減させる。例えば、シャープネス(シアープン)操作が元の解像度に適用され、その結果がより小さい解像度に再サンプリングされると、シャープネスの量は低解像度ではより少なく見える。これは、再サンプリング操作がシャープエッジをぼかす傾向があり、シャープネス操作の効果を低減させるからである。
【0106】
このセクションは、解像度非依存型及び擬似解像度非依存型の両操作から、種々の異なる解像度で同じ操作を実行する時に解像度非依存の手法を使用することによる結果を示す出力を示す。図8は異なる解像度の元の画像を示している。
【0107】
各セクションでは4つの解像度、即ち、100×67、200×134、400×286、及び800×536が示される。操作は各解像度ごとに適用される。800×536の画像が、その解像度に適用される操作を有し、その後、この文書に適合するように再サンプリングされることに留意すべきである。これにより、800×536及び400×286の各解像度の直接比較を可能にする。理論上、純粋な解像度非依存操作は、出力が同じ表示サイズで並列比較される時、同一結果をもたらすことがある。
【0108】
図9及び図10は、同一フィルタの擬似解像度非依存バージョン及び解像度依存バージョンについてのリップルフィルタの出力を示している。リップル効果の画面状態が解像度依存出力に対して示される図中の解像度と共にどのように変化するかに留意すべきである。これは、アルゴリズムに対する内部パラメータが解像度に基づいて修正されるフィルタの一例である。
【0109】
図11及び図12は、両バージョンに対するモザイクタイルフィルタの出力を示している。解像度依存の出力に対し示される図中の解像度に基づいてタイルの数がどのように変化するかに留意すべきである。これは、アルゴリズムに対する内部パラメータが解像度に基づいて修正される一例である。
【0110】
図13及び図14は、フレスコ画法効果に対する出力を示している。解像度依存の出力に対する種々の解像度間の大きな相違に留意すべきである。これは、解像度の不連続集合がサポートされる一例である。鋭い目に対し、解像度非依存の出力に対し示される図の異なる解像度間において多少相違が見られることもあるが、非常に類似している。明確には、これは解像度依存の出力よりもはるかに良い状態である。
【0111】
ここで留意すべき重要なことは、今日の技術(本発明以外の)を用いたアプリケーションがすべての解像度にわたって同じ結果をもたらそうとする場合、元の画像解像度で処理が実行されなければならないということである。フレスコ効果では、1600×1072の場合の元の画像は、750MHzのインテル社ペンティアム(登録商標)IIIで動作する解像度での処理を完了させるのに11秒かかるが、擬似解像度非依存手法を用いて400×286以下の画像の同じレンダリングに対しては1秒未満である。
【0112】
図15は、擬似解像度非依存及び解像度依存の両手法を用いてチョーク/チャコール画法効果の出力からの並列した結果を示している。これは、解像度の不連続集合がサポートされる一例である。比較のために、これら手法がすべての解像度において同じ結果に近似させようとすることから、同じサイズの出力を並列してて見ることが有用であることもある。画素レベルにおいての比較のための最良の方法は、解像度に関係なく同じサイズで各画像を見ることである。
【0113】
この比較により、同じサイズで見られる時に異なる解像度がどのように比較されるかが示される。この場合、200×134は100%で見られるが、400×268は50%で見られ、800×536は25%で見られる。このようにして見る場合、どのくらいの近さで解像度が並列比較するかについて更に正確に決定されることができる。
【0114】
チョーク/チャコール画法では、擬似解像度非依存の手法を用いて解像度間に更なる相違が目に見える。これについての主な理由は、低解像度で動作する時に、一定量のデータが既に失われ、近似されなければならないという事実による。画面のネイル(320×240)まで再サンプリングされ、元の画像と比較するために拡大(ズームイン)される高解像度写真に対して同じ状況が存在する。明確には、図示されたものと同様のデータ損失がある。これは予期されることがある。これはまさに、ある画像操作が低解像度でより良く実行可能であり、この解像度を「より良く生成する」ことができるということである。
【0115】
本発明がディジタル画像システム(ビデオ又はスチル)とともに使用されるように説明してきたが、本発明を概して好適なディジタル画像システム上で実施されてもよいことは理解されるべきである。これは、直接エンドユーザ・ピアトゥピア接続システムと同様、PCベースの画像アプリケーション、共有、分配、又はセントラルサーバとクライアントとの間における画像データの表示を可能とするウェブ共有アプリケーションを含む。
【0116】
内蔵された情報機器又はディジタル画像装置の一部として含まれることができ、有線ネットワーク環境と無線ネットワーク環境との双方において同じようにうまく動作することができる。
【0117】
本発明の好ましい実施の形態によって画像データをレンダリングして擬似解像度非依存の動作をシミュレートするシステム及び方法の開示は、本質的には具体例にすぎず、本発明や、そのアプリケーション、あるいは使用法を決して限定するものではない。更に、上記の説明において、本発明の開示を更に十分に理解するために実施のための多数の特定された詳細が示される。しかしながら、本発明がこれらの特定の詳細なしでも実施できることは当業者には理解されるだろう。他の例において、本発明をあいまいにさせないために、周知の処理の特徴及び機能についての説明は省略されている。
【図面の簡単な説明】
【図1】
図1A及び図1Bは、2つの従来の画像処理の方法を詳述するフローチャートである。
【図2】
フラッシュピクス(商標)がディジタル画像を処理する方法を示すフローチャートである。
【図3】
ディジタル画像が一定の解像度で処理される方法を示すフローチャートである。
【図4】
図4及び図4Aは、本発明が解像度依存画像をレンダリングする方法を示すフローチャートである。
【図5】
処理すべき一連の画像操作に対する最良の解像度を選択するための詳細を示すフローチャートである。
【図6】
本発明の「DoAnalyze(分析実行)」という語句を処理するための実施を示すフローチャートである。
【図7】
元の解像度と現在の出力解像度に基づいて処理される画像の最良の解像度を選択するための処理を示すフローチャートである。
【図8】
異なる解像度のディジタル画像を示す図である。
【図9】
リップル効果をある解像度に好適な1つの解像度に適用させるために使用されるフィルタを示す図である。
【図10】
補正フィルタ動作をリップル効果に適用しない場合の結果を示す図である。
【図11】
タイル画像を効果的に解像度に依存せずにレンダリングするために使用されるフィルタを示す図である。
【図12】
補正フィルター動作なしに異なる解像度のタイルを示す図である。
【図13】
補正解像度フィルタを使用するフレスコ効果を示す図である。
【図14】
補正フィルタ動作なしに同じフレスコ効果を示す図である。
【図15】
補正フィルタ動作を使用するが、チョーク/チャコール画像効果上ではそのフィルタ動作を使用しない並列比較を示す図である。
【発明の属する技術分野】
本出願は、2000年10月13日出願の米国仮出願シリアル番号第60/240,495号の利益に対する権利が付与される。
【0002】
本発明は概してディジタル画像処理システムに関する。詳細には、本発明は画像データをレンダリングする性能を大きく向上させる手法を説明する。さらに詳しくは、もともと解像度非依存であると見なされていない操作に対しても解像度非依存型特徴を利用する手法が説明される。さらに具体的に言うと、画像操作がいずれの解像度に適用される時も、解像度非依存型動作をシミュレートする(擬似解像度非依存型と称する)ために一定の手法が適用される。
【0003】
これら手法は、パーソナルコンピュータ、ディジタル画像民生用装置上で実行するようなコンピュータアプリケーションにおいて、そして(物理的に配線された又は無線の媒体上のクライアント側又はサーバ側の実行可能なコードの形式で)ネットワーク環境内で写真を表示し操作する時に、レンダリングシステムの性能を大きく向上させることができる。
【0004】
ほとんどの画像操作は2つのカテゴリ、即ち、画像の解像度に関係なく同じ結果を生成するもの(即ち、解像度非依存式)、及び画像データの異なる解像度に対し著しく異なった目に見える結果を生成するもの(即ち、解像度依存式)とに分類される。例えば、回転はすべての解像度にわたって不変であり、解像度に依存していない。しかしながら、フレスコ画法効果等の特殊効果の画像処理操作は、異なる解像度にわたって広範囲に変化し、解像度に依存している。
【0005】
解像度非依存の操作のみがサポートされると、出力のスクリーン上の表示に必要とされる低解像度画像データ上でレンダリングが実行可能であるので、著しい性能の向上が達成される。なぜなら、一般にディスプレイの解像度は高解像度プリンタ等の他のほとんどの出力装置より通常ははるかに低いからである。
【0006】
解像度に依存する画像操作のすべて又は少なくとも大多数が解像度非依存型動作をシミュレートするような方法で動作すると、解像度非依存型の利点のほとんどが依然として実現される。解像度非依存の方法で解像度の連続範囲をサポートすることが不可能なことがある一方、解像度非依存型に近似させる一定の仮定及び制約が行なわれ、これによって新しい種類の擬似解像度非依存型画像操作を生成する。好ましい実施の形態では、すべての操作が解像度非依存型であるか、又は擬似解像度非依存型である。
【0007】
本発明の目的の1つは、低解像度の画像データを効果的に処理できることであり、すべての解像度にわたって一貫した結果を得られることである。これが表示画面装置において画像を表示し処理する時に特に重要であるのは、一般にこれら装置が画像データの解像度より、はるかに低い解像度であるからである。さらに、本発明は、たいていのアプリケーションが今日では正確にサポートすることが出来ない、すべての解像度における一貫した結果を犠牲にすることなく、このような効率性を提供する。
【0008】
本発明の別の目的は、ネットワーク接続環境において極めて重要な、その他の場合に必要となるよりはるかに少ない画像データを処理し送信できることである。クライアントが、局所的に(クライアント側で)処理される画像データをダウンロードしなければならない場合、少量のデータをダウンロードするだけが要求されることは、非常に有益である。今日では、小さい画面の解像度表示(元の解像度の画像より小さい)が必要であっても、画像操作が一貫した結果を得られるように、元の解像度の画像は局所クライアントに送信されなければならない。これら操作がサーバ上で実行される時でも、画像データの画面上の解像度で画像操作を実行する能力がサーバの処理及びメモリ要件を著しく軽減し、これにより、同じ時間内で更に多くのトランザクションを実行させる。
【0009】
これら手法により、処理能力が低くメモリがほとんどない低コスト家庭用電化製品の画像装置上でディジタル画像化操作を実行できることは、同様に重要な利点である。今までのところ、これはシステム制約により実現が困難であった。
【0010】
【従来の技術及び発明が解決しようとする課題】
アドビフォトショップ(商標)等の従来の画像処理アプリケーションは、すべての画像処理操作に対し一貫した結果を得るための最良の方法が、目標とされた出力装置の解像度(元の画像解像度よりも高いか低いか)については関係なく元の画像解像度で操作を実行することであると仮定する。これにより、画像が低解像度ビデオディスプレイ又は高解像度プリンタで表示されるかに関係なく、一貫した結果が保証される。従来の画像処理アプリケーションは通常、以下に示す2つのアプローチをサポートする。
【0011】
図1Aに示される第1のアプローチは、更新された出力画像が出力装置から要求される場合、適用される画像操作のシーケンスを蓄積し、各操作を再びレンダリングする。これは、画像の元の解像度におけるすべての画像操作の完全な再処理を伴なう。これは、各操作が元の画像解像度に再適用されるので、非常に時間のかかる処理である可能性がある。これは、各操作が操作のリストに記憶されるので、無制限の取消し機能を有する柔軟性をユーザに付与する。
【0012】
図1Aを参照すると、プロセス100は、従来の画像編集モデルを用いたディジタル画像の処理を詳述するフローチャートである。プロセス100は102から開始し、特定のディジタル画像が該画像の解像度においてアプリケーションによって開かれる。再サンプリング/再スケーリングは発生しない。104では、画像編集操作が実行されるべきか否かが決定される。実行すべき画像操作がない場合、制御は108に渡される。そうでない場合、106において、画像操作が元の画像解像度データ上で実行され、制御は104に戻され、処理すべき更なる画像操作があるか否か判断される。このモデルにおいて、連続する画像操作が画像に適用された前の画像操作の上に適用(又は蓄積)されることは留意すべきである。
【0013】
108において、所望の出力解像度が決定される。110では、元の画像解像度がその所望の出力解像度に一致しない場合、112において画像は一時バッファに複写され、所望の出力解像度に一致するようにサイズ変更され、さらに制御は114に渡される。そうでない場合、制御は直接114に渡され、画像は出力装置に送信される。選択された出力装置がディスプレイである場合、出力解像度は画像がディスプレイ上で拡大又は縮小(ズームイン/ズームアウト)されるかによって変化することがある。しかしながら、注目すべきは、画像操作が概して元の画像解像度データに適用され、すべての操作が適用された後に、画像がその出力装置の解像度に一致するようにサイズ変更されることである。
【0014】
図1Bに図示される第2のアプローチは、元の画像解像度の画像データ上で、但し、中間作業バッファ又はキャッシュしたバッファにおいて各操作を実行する。この作業バッファは、元の画像解像度の画像全体を含む。新しい操作がそれぞれ適用されると、作業バッファ上で直接実行される。所望の出力解像度画像が生成される時、作業バッファは所望の出力解像度に一致するように再サンプリングされる。明らかに、各操作が通常は作業バッファにおいて一度適用され、新しい出力解像度が要求される時に再処理される必要がないことが利点である。このアプローチでの欠点は、無制限の取消し/やり直し操作が可能である一方、更新された出力画像が要求される時に画像操作のリスト全体が通常は再レンダリングされないので、こうした特徴をサポートすることはさらに困難であるということである。
【0015】
図1Bを参照すると、プロセス150は、このモデルを用いたディジタル画像の処理を詳述するフローチャートである。プロセス150は、152から開始し、特定のディジタル画像がアプリケーションによって開かれる。154では、ディジタル画像が元の解像度と同じ解像度で作業バッファに複写される。156では、画像編集操作を実行すべきかが決定される。実行すべき画像操作がない場合、制御は160へ渡される。そうでない場合、158において、画像操作が(蓄積された操作とともに)作業バッファ上で実行され、制御は156へ渡され、処理すべき更なる画像操作があるか否かが判断される。
【0016】
160において、所望の出力解像度が決定される。162では、(元の画像の解像度である)作業バッファの解像度が所望の出力解像度に一致しないと、164において、作業画像が一時バッファに複写され、所望の出力解像度に一致するようにサイズ変更される。いずれの場合も、166において一時バッファからのサイズ変更された画像が出力装置上に表示される。プロセスは、画像を再レンダリングする要求又はユーザによる新しい画像操作の要求が適用されるまで168において待機する。170では、プログラムが終了すべきかを判断し、そうであれば、適切なステップが採用され、プロセスが中断する。そうでない場合、要求を処理するために制御は156へ戻される。このように、画像操作のリスト全体は作業画像バッファに再び適用される必要はない。
【0017】
アドビフォトショップ(商標)によって採用されるアプローチは2つのアプローチの組み合わせである。この場合、中間作業バッファが使用されるが、これは、ユーザが取消し操作を実行するとフラッシュ可能なキャッシュと考えられる。作業バッファは廃棄可能であるとともに、画像操作の更新されたリストに基づいて再生成可能である。あるいはまた、作業バッファは作業バッファの以前にキャッシュされた複写に戻されることができる。極端なことを言うと、すべての中間操作がキャッシュ可能であり、無限の取消し/やり直し操作の効果をシミュレートする。これは、かなりの量のメモリ及び/又はディスクスペースを使用するという犠牲を払う。
【0018】
これらアプローチのそれぞれが、すべての解像度にわたって一貫した結果を付与する利点を有すると同時に、画像処理操作が元の画像解像度のすべての画素上で実行されなければならないので、概して処理が遅くなる。中間作業バッファキャッシュの使用により、新しいレンダリング解像度が要求されるたびにすべての画像操作を再処理する必要性を最小限にしているが、画像操作は依然として最初は元の解像度で実行されなければならない。今日の最速プロセッサにおいても、これは依然として時間のかかる操作である。
【0019】
回転又は色調整フィルタのような解像度に依存しない操作が実行される時に、このモデルの変形が可能であることは、留意すべきことである。このような状況において、作業バッファを、操作のプレビューが示される画面解像度のような、はるかに低い解像度にサイズ変更/再サンプリングすることは一般的である。この手法を使用すると、限られた解像度非依存型操作の集合に対しリアルタイム操作が実現可能である。ユーザがその結果に満足すると、操作は元の解像度の作業画像バッファに適用される。
【0020】
これにより上述された不利点の一部が緩和されると同時に、画像操作の小さな部分集合のみがこの解像度非依存型動作に一致し、あるいは所望のリアルタイム操作の機能性をサポートすることができる。
【0021】
もっと最近では、すべての画像操作が解像度に依存しない方法で実行される時に有効な画像レンダリングを可能とする新しい手法が利用可能である。ディジタル・イメージング・グループ(DIG)を構成する企業の共同体によって開発されたフラッシュピクス(FlashPix(商標))手法をサポートする画像アプリケーションは、画面上の画像を一貫した方法で低解像度で表示し操作することができるが、但し、高解像度画像データを処理する能力を保持する。
【0022】
フラッシュピクス手法は、回転、変換、クロッピング、カラーツイスト、ぼかし/シャープネス調整、及び明るさ/コントラスト調整を含む画像操作の限られた組を定義する。これらの操作はそれぞれ、フラッシュピクス(商標)規格によって定義されるような特定の「2の累乗」解像度で実行可能であるように定義されるが、このようなすべての解像度にわたって一貫した結果を付与する。
【0023】
図2を参照すると、プロセス200は、フラッシュピクス(商標)画像モデルを用いたディジタル画像の処理を詳述するフローチャートである。プロセス200は202から開始し、特定のディジタル画像がアプリケーションによって開かれる。204において、所望の出力解像度が決定される。205において、出力解像度と元の画像解像度が同じかどうかが判断される。それらが同じでない場合、206において、画像は出力装置の解像度に一致するようにサイズ変更される。いずれの場合にも、208では、画像編集操作が実行すべきかどうかが判断される。実行すべき画像操作がない場合、制御は212に渡される。そうでない場合、210において、画像操作が206でサイズ変更された画像データ上で実行される。制御は208に戻され、実行すべき更なる画像操作があるかどうかが判断される。
【0024】
212において、処理された画像は出力表示装置に送信される。204において出力解像度が既に決定され、すべての処理が目標とされた出力解像度上で実行されたので、画像の更なる再サンプリングは必要ではない。上記で述べたように、同様の作業バッファキャッシュがフラッシュピクス(商標)レンダリングモデルにおいても使用されることは留意すべきである。
【0025】
フラッシュピクス(商標)画像モデルは、低解像度画像データ上で実行される時に画像操作の迅速且つ有効な処理という利点を付与する。これは低解像度出力表示装置上のリアルタイム操作と、リアルタイムレンダリングを提供する。これは明らかに有利である一方、解像度に依存しない操作の小さな集合のみが実際にサポートされる。より詳細には、アーキテクチャが本明細書に述べられたような条件を許可しないので、解像度非依存型、又は擬似解像度非依存型の操作をサポートすることは不可能なことがある。フラッシュピクス(商標)が特定の「2の累乗」解像度をサポートするのみであり、本発明によって提供されるような連続範囲の解像度をサポートしないこともまた留意すべきである。
【0026】
画像操作の解像度要件が無視され、各操作がある一定の解像度で処理される正反対の単純化したアプローチもさらに使用される。この解像度は通常、元の画像解像度に一致せず、また操作が異なる解像度に適用された場合に一貫した動作を提供するものでもない。画像操作が解像度非依存である場合に対し、フラッシュピクス(商標)によってサポートされるようなものに関しては、このモデルが作動し、一貫した結果を付与する。しかしながら、画像操作が解像度非依存でない場合に対し、さらに一貫性のない結果が見られる。非一貫性の程度は特定の画像操作の関数である。
【0027】
例えば、ローパス5×5カーネル等の解像度依存型ぼかし操作を適用する場合、ぼかしの量は解像度(及び画像サイズ)が高くなるほど目立たなくなる。これは、いずれの場合も画像がある程度不鮮明な状態に見えるのでそれほど不快感をもたらすことはない。しかしながら、湖水に落ちる石の波紋のシミュレーションが画像にレンダリングされる「リップル」効果に対して、同心性の波紋の実際の数と外観は、解像度、及びアルゴリズムの正確な特徴によって変化する(後述されるリップル動作のサンプル出力を参照)。
【0028】
図3を参照すると、プロセス300はこのアプローチを用いたディジタル画像の処理を詳述するフローチャートである。プロセス300は、302から開始し、特定のディジタル画像がアプリケーションによって開かれる。304において、所望の出力解像度が決定される。305では、出力解像度と元の画像解像度が同じであるかどうかが判断される。それらが同じでない場合、306において画像が出力装置の解像度に一致するようにサイズ変更される。どちらの場合にも、308では、画像編集操作を実行すべきかどうかが決定される。実行すべき画像操作がない場合、制御は312へ渡される。そうでない場合、310において画像操作がステップ306でサイズ変更された画像データ上で実行される。これは、たとえ画像操作が元の画像解像度データを要求する場合でも発生し、このため、適切な結果が得られないことがある。制御はその後、308に戻され、更なる画像操作を実行すべきかどうかが判断される。
【0029】
312において、処理された画像が出力表示装置に送信される。304では出力解像度が既に決定され、すべての処理が目標とされた出力解像度上で実行されたので、画像の更なる再サンプリングは必要ではない。上述されたように、同様の作業バッファキャッシュがこのレンダリングモデルにおいても使用可能であることは留意すべきである。
【0030】
この種のアプローチが画像処理操作をサポートするウェブサイト上で採用されることは一般的であるが、主要な出力目標は低解像度出力表示装置である。一般に、画像操作が(低解像度の)画像に適用された後で、その結果は通常、電子メールで受信者に送信される。受信者は、低解像度出力表示装置上で(既にラスタライズされた)低解像度結果を見る。
【0031】
例えば、オンライン印刷フルフィルメント・サービスを介して操作が印刷用の元の解像度画像データに再適用される場合には、その状況はさらに多くの問題がある。ユーザは低解像度でレンダリングされた画像の画面を介して出力をプレビューすることもできる。この場合、ディスプレイに表示された出力は注文された最終印刷出力に一致しないことがある。
【0032】
80%までこの矛盾が検出されなくても、その違いに気付く者にしては、印刷出力の払い戻しを要求することがある。この状況は非常にコストがかかり、明らかに満足できる解決ではない。本発明はすべての操作に対しすべての解像度にわたって一貫性が実現されるので、より望ましいの結果を生成し、これにより顧客満足度を向上させる。
【0033】
さらに重要なことには、「イグノア・イット」アプローチを採用するフォトサービスがこうした問題をできるだけ少なくするためにサポートされた画像操作をたいがい制限するだろうということである。これら画像操作が解像度非依存の、又は解像度非依存の特徴を利用可能であるように構成される(即ち、擬似解像度非依存型)かを仮定すると、より広範囲の画像操作を提供できることが望ましい。
【0034】
【課題を解決するための手段】
要約すると、本発明は、画像の最終解像度に関係なく、効果が略同一の外観を有するように標準的に解像度依存の画像効果を適用するための方法から構成される。これにより、レンダリングされた以後の解像度に関係なく、結果として得られる効果が元の解像度に適用された時と同じ外観を有するであろうという確信をもって画像効果が画像解像度に適用されることができる。どの特定の効果パラメータが解像度に依存するかを決定し、レンダリングされている最終画像解像度上で予測される修正値でパラメータを修正することによって、解像度依存パラメータを実質的に解像度非依存型パラメータに変換することができる。
【0035】
【発明の実施の形態】
本発明は、その更なる利点とともに、添付図面に関連して解釈される以下の説明を参照して最も良く理解することができる。
【0036】
本発明は、一度に数百から数千の同時操作を処理するシステム上に配備されるASP(アプリケーションサービスプロバイダ)モデルの一部として、画像処理サーバ上の配置をもともと対象としている。多くのコンピュータにわたって拡張可能な解決が望ましい。より重要なことには、レンダリングされた画像のサイズに関係なくすべての画像の解像度にわたって一貫した結果を提供するが、出力解像度が低下するにつれて、レンダリングする時間が減少する。
【0037】
画像データが低解像度(例えば、320×240)画像及び数メガ画素画像(例えば、3000×3000画素)の範囲内で変動することは留意すべきである。このような非常に大きな画像のレンダリングを可能にするモデルが開発され、但し、低解像度画像データ(例えば、320×240)上で実行されると、著しい性能の向上が実現される。これにより、画像が迅速に表示されるのみならず、(画像データが存在する)データ・ストレージ・サーバ、(画像処理コードが操作をレンダリングする)画像処理サーバ、及び(出力が見られる)クライアントシステムの間で送信されなければならない画像データの量が低減される。
【0038】
これにより、幾つかの利点が付与される。まず、ごく少量の画像データが実際に処理されるので、各操作ごとの処理能力の量が大幅に低減される。さらに重要なことには、ネットワーク環境では、低解像度画像データのみがサーバと遠隔クライアントコンピュータとの間で送信されなければならない。これは、ローバンド幅(即ち、56Kbモデム)環境で実行する時に特に重要である。
【0039】
本発明によって実現される別の利点は、解像度非依存、あるいは擬似解像度非依存のいずれかの画像操作を処理する時、元の画像解像度はアクセスされる必要はなく、またさらに利用可能である必要もない。ある状況において、元の画像解像度は利用できず、高解像度の印刷出力の生成が要求される時に利用できさえすればよい。この場合、処理のほとんどが低解像度で、サーバコンピュータや、クライアント/ホストコンピュータのいずれかで起こらなければならない。本発明は、元の画像解像度が利用できなくても一貫した出力が結果として得られる解法を提供する。これがなければ、解像度に依存していない画像操作以外に対して一貫した動作を保証することは不可能であろう。
【0040】
低解像度画像の処理は、処理能力の低下とメモリ要件の低減を必要とするという結果になり、これらの必要性は、低コスト家庭電化製品ディジタル画像装置を開発する時に重要である。こうしたディジタル画像装置は、情報機器、ディジタルカメラ、ディジタルカムコーダ、ディジタルテレビ、ディジタルフォトスキャナ、フォト・イネーブルドな(photo−enabled)セットトップボックス、フォト・イネーブルドなゲーム機、フォト・イネーブルドなインターネットデバイス、セルフォン、ケーブルセットトップ・ボックス、ウェブテレビ(商標)、又は画像を見ることのできるその他のコンピュータ装置を含む。
【0041】
解像度非依存型のカテゴリに分類される画像操作は、すべての解像度にわたって一貫した結果をもたらすものを含む。例えば、画像Aでは、画像操作が特定の解像度の画像に適用され、その画像はより低い解像度にサイズ変更される。画像Bでは、画像はまず、より低い解像度にサイズ変更され、その後画像操作が適用される。画像A及び画像Bが、再サンプリング/サイズ変更操作の間に持ち込まれるエラーを考慮し、視覚上十分に近い場合、その操作は解像度に依存していないと考えられる。言い換えると、ユーザが画像Aと画像Bを並列して見る場合、それらの画像は視覚上同じように見えるはずである。
【0042】
このカテゴリーに分類される以下の画像操作の一部は、回転、クロッピング、変換、カラー調整、カラーツイスト、明るさ/コントラスト調整(画像のヒストグラムとは異なる)、(フラッシュピクス(商標)画像モデルによって定義されるような)ぼかし/シャープネス操作、デュオトーン(画像を2つのトーンカラー画像に変換する)、グレースケール/黒白、ネガ、露光過度、ポスタリゼーション(色の数の減少)、及び二層構造/しきい値を含む。これは決して総合的リストではないが、解像度に依存していないと考えられるタイプの操作を例示する。ここで留意すべきは、フラッシュピクス(商標)画像モデルは、このような操作の小さな部分集合をサポートするだけだということである。
【0043】
各種の擬似解像度非依存の画像処理操作がある。解像度非依存の動作をシミュレートできる方法を決定するために更なる解像度依存の画像操作が調査分析されると、新しい種類の擬似解像度非依存の操作が生成されることになる。
【0044】
ヒストグラムベースの画像操作
このクラスの画像操作は、画像のヒストグラムからの変換関数に基づいて所与の画素値を修正する。例えば、自動拡張機能はヒストグラムを見て、ヒストグラムの各端部から5%を切断し、ヒストグラムを範囲全体にわたって再分散する。元の解像度画像のヒストグラムが低解像度画像のヒストグラムに近いので、これは解像度非依存であると考えられる可能性がある。しかしながら、これは一般に正しいが、解像度が非常に低くなる(例えば、192×192のサムネイル表示)とその仮定は崩壊する。したがって、画像がレンダリングされるたびに元の解像度画素データの処理を必要とすることなく真の解像度非依存型を提供するアプローチが望ましいとされる。
【0045】
本発明は、多重段階において画像操作を実行することによって前記問題を解決する。分析(アナライズ)段階はまず、画像データ上で実行される。この段階は、ヒストグラムが演算可能であるように、理想的には元の画像解像度ですべての画素データを処理する。この段階の間には、画素は修正されない。ヒストグラムが収集されると、ヒストグラムをどのように再分散すべきかというような適切な画像操作パラメータが確認可能である。第2の段階、即ち、フィルタ段階の間に、画像データが実際に修正される。このアプローチの利点は、パラメータが解像度に依存していないので、これにより、フィルタ段階が画像データの元の解像度よりも低いか高いかのいずれかの解像度で実際に実行されることができる。
【0046】
元の画像データの解像度でアナライズ段階を実行し、今後のレンダリングの結果を記憶させることによって、フィルタ段階はいずれかの解像度で実行可能とされる。この手法は、すべての解像度にわたって解像度非依存の動作をシミュレートする。
【0047】
一般分析段階/フィルタ段階の利用
上述した画像操作のクラスは、このカテゴリーの部分集合である。分析/フィルタ段階モデルがヒストグラムフィルタ操作の使用法に関して上述されている一方で、より一般的な方法で使用可能である。例えば、赤目軽減及び人工照明調整は、普通は解像度に依存すると考えられる2つの画像操作であるが、分析段階を最初に元の画像解像度で実行させることによって解像度非依存型をシミュレートすることができる。
【0048】
赤目軽減フィルタ操作は2つの部分、即ち、(a)赤目の検出と、(b)影響を受けた領域の削除/除去、に分割できる。まず第1に、赤目を正確に検出するために、元の画像解像度で検出を実行することが望ましい。そうでない場合、副標本の画像は正確に検出不能であるように目の領域を十分にぼかすことができる。また、非常に低い解像度の画像、例えば、320×240画面のネイル画像上で処理が生じると、赤目をまさに視覚的に見ることができないという可能性が非常に高い。
【0049】
検出が元の画像解像度で実行されると、赤目の座標及び半径が解像度非依存型の座標に保存される。これら座標と半径の双方によって、いかなる解像度の赤目も削除/除去することができる。この除去が非常に低い解像度、例えば、320×240画面のネイル、に適用された場合、除去領域は小さい。一方、非常に高い解像度の画像上で実行された場合、除去領域は赤目の座標を中心により大きくなる。
【0050】
人工照明調整フィルタもまた、2段階式アプローチを要求する操作である。第1のパスは、特定の光(例えば、白熱灯の照明用の黄色)がどの程度写真に存在するかを決定するために実行される。一定の割合(即ち、写真の25%)以上が特定の色範囲を含む場合、画像は修正される。上記決定がこの一定の割合に基づくので、正確な量が解像度によってわずかに変動することがある。例えば、厳密に画像の25%が元の画像解像度で黄色を含む場合がある。画像がダウンサンプリングされる時、計算された割合は通常では、25%よりわずかに少なかったり多かったりする。
【0051】
すべての解像度における一貫性に対し、色の検出は元の画像解像度において実行され、分析段階の間に記憶される。レンダリングが発生すると、フィルタ段階がいずれかの解像度で、但し、分析段階の間に元の画像解像度データから収集されたデータに基づいて実行される。元の画像データの解像度において分析段階を実行し、今後のレンダリングの結果を記憶させることによって、フィルタ段階がいずれかの解像度で実行可能である。この手法は、すべての解像度にわたって解像度非依存の動作をシミュレートする。
【0052】
内部パラメータの修正
第3のクラスの擬似解像度非依存の画像操作は、通常では、一定値又は画像の解像度の関数となるある範囲の値に基づいて、内部パラメータ値を修正する。例えば、リップルフィルタは、小石を写真上にレンダリングされた池に落とす結果をシミュレートする。ほとんどのアルゴリズムはこれを、画像全体に数学的波動関数をシミュレートすることによって実行する。一般的ではあるが、これは画像のサイズに依存する。このため、異なる数のリップルが、同じ画像の異なる解像度で認められる。
【0053】
代替のアプローチは、異なる解像度が同じように見える(即ち、同数のリップルを有する)ように画像の解像度をパラメータとして採用する数学的波動関数を有することである。これは、解像度に基づいて、パラメータを線形に、又はパラメータ変更のための対数関数あるいは幾何関数を決定して変更することによって可能であることもある。
【0054】
多重不連続解像度
第4のクラスの擬似解像度非依存の画像操作は、異なる解像度に対し異なる不連続の内部パラメータ値を選択する。これらの画像操作では、内部パラメータのそれぞれに対し数学関数を定義することは一般に不可能である。
【0055】
異なる解像度の画像に対し不連続パラメータの設定を選択することによって解像度非依存の動作をシミュレートすることが可能であるので、すべての解像度にわたって近似値が求められる。まず、画像の最大サイズが決定される。次に、その最大サイズが利用できる解像度のそれぞれと比較される。最も厳密に一致する解像度が選択される。
【0056】
ペイント効果は、チョーク/チャコール又はフレスコ・アート効果等の、種々の芸術的効果をシミュレートする画像操作の集合である。このような操作に対し、サポートされたサイズは、128、256、512、1024、2048、及び4086を含むことができる。128未満の画像については、128に対応付けられる設定が使用される。これらの数がどのように選択されるかについては特別なことはない。200、400、800、1600、及び3200等のサイズをサポートするために別の画像操作が選択される。所与の画像操作では、一定した解像度の特定の集合がサポートされる。
【0057】
サポートされたサイズに正確に一致しない画像がレンダリングされると、2つのアプローチが現在使用される。最も一般的なアプローチは、レンダリングされている画像のサイズに最も近いパラメータ設定を選択することである。このアプローチは、このクラスにおける多くの画像操作に対しすべての解像度において一貫した結果を付与する。
【0058】
代替のアプローチは、画像操作によってサポートされた正確な中間サイズに一致するように画像をサイズ変更することである。ある状況において、これは、画像操作の正確なサポートされた解像度が所望の出力解像度に一致しないことと仮定して、異なる解像度においてより一貫性のあるレンダリングになるという結果になる。この操作が適用された後で、画像はもとの所望の出力解像度にサイズ変更される必要はない。画像操作の一部又はすべてが同じサイズをサポートする場合、これは画像の唯一の再サンプリングが必要とされるので、より望ましいアプローチである。残念なことに、これは、更なる再サンプリング操作によってもたらされるマイナスの効果を生じる。
【0059】
解像度依存操作
このカテゴリに分類される画像操作は、定義により非解像度非依存型である。より重要なことには、こうした操作は、擬似解像度非依存型の説明において記載されたように解像度非依存型に近似することはできない。
【0060】
サポートされる解像度依存の画像操作の数を最小限にする、あるいは解像度依存操作をサポートしないことが目標とされる。このことは、従来、アプリケーションが画像操作をほとんどサポートしない結果となるので、実行できるものではなかった。解像度の連続的又は不連続的集合において解像度非依存型をシミュレートできる(即ち、擬似解像度非依存型)ことにより、今ではアプリケーションが実行可能な選択肢として解像度依存の操作を単にサポートしないことが実現可能になった。
【0061】
レンダリング実施詳細
最良の形態において、レンダリング・パイプラインは、最も効果的な方法で画像操作のそれぞれをレンダリングする方法を決定するために、上記各画像操作のそれぞれの特徴を考慮に入れる。これらの特徴は、画像操作が解像度非依存型、擬似解像度非依存型、又はそのどちらでもない(即ち、解像度に依存した)かを判断する。また、種々の画像操作間の関係は、各操作が互いに影響し合うこともあるので、定義されなければならない。例えば、回転が後に続くチョーク/チャコールペイント効果のアプリケーションは、ペイント効果のアプリケーションの前に回転が適用された場合と比較して、異なる結果が生じることになる。
【0062】
すべての操作が解像度に依存していない場合、レンダリングパイプラインは、フラッシュピクス(商標)画像モデルによって定義されるものと非常に類似している。この場合、種々の画像操作間の関係は依然として特定されなければならないが、すべての操作は同じ解像度において起こる可能性がある。さらに重要なことには、すべての操作が低解像度画像データ上で実行可能であり、処理能力及びメモリがより少なくてすむ。
【0063】
画像処理操作の少なくとも1つが擬似解像度非依存の画像操作を含む場合、本発明の利点がより明白になる。この場合、レンダリングは所望の出力解像度に近いある所定の解像度において必要とされるが、アクセス又はレンダリングされる元の解像度における画像データを必要としない。
【0064】
本発明の基本パイプライン実施
図4を参照すると、本発明によって定義されるような画像をレンダリングするためのプロセスの詳細が示されている。プロセス400は402から開始し、特定のディジタル画像がアプリケーションによって開かれる。404では、ディジタル画像の解像度が決定され、元の画像解像度(originalImageResolution)に記録される。406では、出力装置の解像度が決定され、変数最終出力解像度(finalOutputResolution)がこの値に設定される。
【0065】
408では、プロセス500によって、初期の動作解像度が何であるべきかが決定され、現在の出力解像度(currentOutputResolution)がこの値に設定される。410では、画像は適切なバッファに複写され、408で特定された解像度に一致するようにサイズ変更され、制御は412へ渡される。
【0066】
412において、画像編集操作が実行されるべきかどうかが判断される。実行すべき画像操作がない場合、制御は450に渡される。そうでない場合、414において、画像操作が解像度非依存の操作であるかどうかが判断される。解像度非依存の操作でなければ、制御は420に渡される(図4A参照)。そうでない場合、制御は416に渡され、画像操作が現在の出力解像度で実行される。制御はその後、412に戻される。
【0067】
420(図4A参照)では、この操作が擬似解像度非依存であるかどうかが判断される。肯定されると、制御は422に渡される。そうでない場合、制御は440に渡されるが、これは解像度依存操作だからである。440において、画像操作に最適な解像度(bestResolutionForImageOperation)が元の画像解像度に設定されるが、これは解像度依存操作だからである。制御はその後、442に渡される。
【0068】
422では、擬似解像度非依存の操作である。そこで、分析実行(DoAnalyze)段階が要求されるかどうかが判断される。要求される場合、424において分析実行段階が制御が426に渡された後にプロセス600によって処理される。分析実行段階が要求されない場合、制御は直接426に渡され、プロセス700によってこの擬似解像度非依存の画像操作に対し一番近くでサポートされる解像度が何であるかが判断され、画像操作に最適な解像度をこの値に設定する。制御はその後、442に渡される。
【0069】
442において、画像操作の最適な解像度が現在の出力解像度に一致する場合、制御は416(図4)に戻され、画像操作が画像上で実行される。解像度が一致しない場合、制御は444に渡され、画像が画像操作の最適な解像度に一致するようにサイズ変更される。446では、現在の出力解像度が画像操作に最適な解像度に設定される。制御はその後、416(図4)に戻され、画像操作が画像上で実行される。
【0070】
450(図4)では、すべての画像操作が実行され、現在の出力解像度と最終出力解像度のそれぞれの値が比較される。これらの値が等しい場合、制御は454へ渡され、処理された画像は出力表示装置に送信される。そうでない場合、制御は452に渡され、画像は、最終出力解像度に一致するようにサイズ変更/再サンプリングされる。制御は454へ渡され、処理された画像は出力表示装置に送信される。
【0071】
すべての画像操作が解像度非依存であり、いずれの解像度でも実行可能であれば、すべての操作が最終出力解像度で実行されることは、フローチャートから明らかである。しかしながら、画像操作が解像度依存である場合、画像の元の解像度(originalImageResolution)で実行されなければならない。すべての画像操作が実行された後に、画像は出力装置に渡される前に、また最終出力解像度へと再スケーリング/再サンプリングされなければならない。
【0072】
一般に、擬似解像度非依存の操作を処理する場合、再サンプリングが必要とされず(画像操作に最適な解像度と最終出力解像度は同一である)、又は、最終出力解像度により近い解像度が、解像度依存操作であるなら元の画像解像度を要求することと比較して使用される。
【0073】
初期動作解像度の決定(図5のプロセス500)
幾つかの異なるヒューリスティックス(発見的方法)は、所与の画像操作の理想的な解像度(画像操作に最適な解像度)を決定するために適用される。この値は当該画像操作に依存するので、一般的なアプローチは以下に記載される。
【0074】
一般規則では、可能であれば現在の出力解像度を変更しないことが最良だとされる。これは画像忠実度を維持する。理想的には、図4のステップ452で実行されたような再サンプリング/再スケーリングが不要であるように画像操作に最適な解像度が最終出力解像度と同一である。しかしながら、これは不可能であることもある。
【0075】
次のアプローチは、すべての画像操作にわたって不変であり有効である解像度を検出することである。このように、多くとも2つの再サンプル操作、即ち、元の画像解像度から目標とされた解像度(targetResolution)への再サンプル(この場合、すべての操作に対し同じである)と、出力装置によって要求される最終出力解像度への最終再サンプルを実行する必要がある。すべての画像操作が同じ解像度で動作できる場合、更なる再サンプリングは必要ではない。プロセス500及び700は、その計算の際にこれら規則及びアプローチを考慮に入れる。
【0076】
連続範囲モデルが実現可能でないとすれば、解像度の特定の不連続集合に対し解像度非依存型をサポートすることが擬似解像度非依存の画像操作の設計上の目的である。好ましい実施の形態において、この不連続集合はすべての擬似解像度非依存の操作に対し同じである。このようにして、必要とされる再サンプリングの量が低減される。もしこれが不可能であっても、擬似解像度非依存の画像操作が解像度依存操作よりも依然として好ましいとされるのは、レンダリングが通常、元の画像解像度で発生する必要がないからである。
【0077】
図5を参照し、プロセス500では、元の画像解像度及び最終出力解像度に基づいて、処理される一連の画像操作に対し1つの最適な解像度を選択するプロセスを詳細に説明する。技術的に、このプロセスはオプションである。プロセス500の一つの具体化は、最終出力解像度を「1つの最適な解像度」として単に返すことである。これが有効であるのは、プロセス700により、特定の画像操作の要求にこたえるように画像をサイズ変更する結果になるからである。
【0078】
しかしながら、結果として画像劣化が生じるために、発生する再サンプリングの量を制限することは有益である。さらに望ましいアプローチは、実行中のすべての画像操作に対し1つの最適な画像を日和見的に検出することである。これはいつでも可能ではないかもしれないが、好ましい実施の形態では、最適な初期解像度を検出するために試みられる。
【0079】
プロセス500は502から開始し、目標解像度が元の画像解像度及び最終出力解像度のいずれか小さい方に設定される。仮定として、元の画像解像度よりも低い解像度で操作を実行する時、最終出力解像度で操作を実行することは許可される。これは、元の画像解像度に相対して最終出力解像度で処理されても、操作が解像度非依存型又は擬似解像度非依存型であると見なされ、一貫した出力を生じる結果になるからである。しかしながら、操作が元の画像解像度よりも高い解像度で実行される場合、それを元の画像解像度で実行することは容認できる。これが性能とメモリのトレードオフであるのは、この場合に元の画像解像度で操作を実行し、その後、最終出力解像度に一致するように画像を再サンプリングすることが容認できると仮定されるからである。一部のシステム及び操作では、このようなことが望ましくないこともあり、これらの実施の形態において、目標解像度が502において最終出力解像度に設定される(高解像度処理に関する説明を参照)。
【0080】
504において、画像編集操作が実行されるべきかどうかが判断される。実行すべき画像操作がないと、制御は550に渡される。そうでない場合、506では、すべての画像編集操作が解像度非依存型かどうかが判断される。その判断が真であれば、制御は550へ渡される。そうでない場合、制御は510に渡される。
【0081】
510では、すべての画像操作が擬似解像度非依存型又は解像度非依存型であるかが判断される。その判断が偽であれば、制御は530へ渡される。そうでない場合、512において、すべての操作が目標解像度をサポートするかどうかが判断される。その判断が真であれば、制御は550へ渡される。そうでない場合、制御は516へ渡される。
【0082】
516では、すべての擬似解像度非依存型画像操作が目標解像度に最も近いある「共通解像度」をサポートするかどうかが判断される。各操作を検討することによって、目標解像度に最も近い1つの解像度がサポートされるかどうかが判断される。これが真であれば、制御は518に渡され、目標解像度がこの「共通解像度」に設定され、制御は550に渡される。そうでない場合、制御は530に渡される。
【0083】
530では、共通解像度が決定されないか、あるいは操作が解像度に依存する。このため、目標解像度は元の画像解像度に設定されるので、元の画像解像度で処理が実行でき、これにより、すべての解像度において一貫した結果を保証する。制御は550に渡される。
【0084】
好ましい実施の形態において、ステップ530が存在しないのは、最終出力解像度に近いある共通の目標解像度がピクチャIQ画像システムにおいてすべてのサポートされた画像操作に対し常に決定されるからである。これが事実と異なる場合、擬似解像度非依存操作が解像度依存操作と同じように処理されることがある。以後、解像度非依存型又は擬似解像度非依存型の操作を最終出力解像度に近い解像度で最初に実行されるように、操作の並べ替え等の更なる作業が実行されるだろう。
【0085】
550において、目標解像度が発信側に戻される。
【0086】
分析実行(DoAnalyze)段階の処理(図6のプロセス600)
図6を参照すると、本発明によって定義されるような分析実行段階を処理するためのプロセスの詳細を示すフローチャートが示される。プロセス600は602から開始し、以前の分析実行段階からの結果が存在し、依然として有効であるかどうかが判断される。これが真であれば、制御は650に渡される。そうでない場合、604において、分析実行が現在の出力解像度で実行できるかどうかが判断される。これが真であれば、606において分析実行が現在の出力解像度で実行され、制御は650に渡される。これが事実でなければ、分析実行を608において元の画像解像度で実行しなければならない。
【0087】
608において、現在の出力解像度における蓄積結果を元の画像解像度にサイズ変更することが十分であるかどうか、あるいは、すべての画像操作が元の画像解像度で元の画像に再適用されなければならないかどうかが判断される。元の画像解像度におけるすべての操作の再処理が要求されると、制御は620に渡される。そうでない場合、610において、作業画像が別個のバッファに複写される。612において、作業画像が元の画像解像度にサイズ変更される。制御はその後606に渡され、分析実行が実行される。
【0088】
620において、元の画像解像度の元の画像が検索される。622では、分析実行データを必要とする現在の画像操作に基づいて、この操作までのシーケンスにおけるどの操作が元の解像度に適用されることになるかが判断される。これは、操作によって異なることがある。元の解像度画像が処理された後で、制御は606に渡され、分析実行が実行される。
【0089】
650において、分析実行段階が終了し、すべての内部変数が未だ存続され且つ保存される。制御は発信側に戻される。
【0090】
最近接のサポートされた解像度を決定する(図7のプロセス700)
図7を参照すると、プロセス700は、元の画像解像度及び現在の出力解像度に基づいて、処理中の所与の画像操作に対し最良の解像度(画像操作の最良解像度)を選択するプロセスの詳細が示される。プロセス700は702から開始し、現在の出力解像度と比較される現在の画像操作のための最近接のサポートされた解像度が決定され、画像操作の最良解像度がこの値に設定される。
【0091】
すべての操作に対し一貫した解像度を検出することはできない。好ましい実施の形態では、すべての擬似解像度依存操作によってサポートされる元の画像解像度よりも一般的にはるかに低い、近接した解像度を検出することは常に可能である。定義によれば、すべてのピクチャIQ画像操作はこのカテゴリーに分類される。
【0092】
一部の実施の形態において、こうしたことが不可能であることもある。これが発生する時、元の画像解像度が使用できる。しかしながら、操作が適用されるたびに画像を再サンプリングすることは一般に望ましいことではなく、この理由は結果として画像が劣化されるからである。
【0093】
別の実施の形態において、すべての画像操作に必要とされる2つ又は3つの通常要求される解像度が存在する場合、必要ならば種々の操作間でスケーリングするために更なる再サンプル操作のオーバヘッドでそれぞれをサポートすることが望ましいこともある。これは、操作を並べ替える能力に基づいて行なわなければならないアプリケーションに特化したトレードオフである。
【0094】
解像度依存型画像操作の処理
利用される画像操作が解像度非依存型、また擬似解像度非依存型のいずれかである時に、本発明の最大の利点が実現されると同時に、他の利点もまだ可能である。例えば、実行されるすべての画像操作のシーケンスにおいて解像度依存型操作が後で(理想的には最後に)実行できるように、画像操作を並べ替えることが可能である。
【0095】
これを行うことによって、解像度非依存型か擬似解像度非依存型のいずれかである画像操作の多くは、低解像度、理想的には最終出力解像度又はそれに近い解像度で実行できる。それらの操作が最終出力解像度で実行された後に、画像は解像度依存操作の処理のための元の画像解像度に再サンプリングされなければならない。最後に、画像は最終出力解像度に戻って再サンプリングされなければならない。再サンプル操作に必要な潜在的品質上の損失又は特別な時間/資源がトレードオフに値するかどうかについてはアプリケーションに依存する。
【0096】
本発明の最も大きな利点がはるかに低解像度の画像データ上で画像操作を実行できることであると同時に、その他の利点は元の解像度に比べてより高い解像度の画像データを処理する時に実現される。
【0097】
一般的に、ほとんどのアプリケーションが元の画像解像度の画像操作を適用し、それによってその画像を縮小又は拡大するようにサイズ変更し、出力装置に一致させる。高解像度印刷装置に出力する時、プリンタの解像度は元の画像解像度よりも一般にははるかに高い。この場合、すべての操作が適用された元の画像は、プリンタに一致するようにより高い解像度にサイズ変更/再サンプリングされる。
【0098】
このアプローチでの欠点は、より高い解像度への再サンプリングが、画素化(blockiness、濃淡のむら)及び他のエイリアシング効果を含む、その他のアーチファクトを生じさせることである。これは、既に存在しないためにより高い解像度の画像データが「生成」されなければならないからである。この問題を解決するために、(画素化が最も一般に普及されている)画像の高周波は、エイリアシングの効果を軽減するためにわずかに不鮮明にされる。
【0099】
エッジを減衰させる画像処理操作(例えば、シャープネス操作又は強調されたエッジ)が実行されると、再サンプリング操作が濃淡むらの発生や、ぼかしの程度のいずれかの効果を有することがある。これらはそれぞれ、望ましくない。
【0100】
本発明によって実行できる代替のアプローチは、画像操作を適用することなく、出力装置の解像度に一致するように画像を最初に再サンプリングすることである。次に、種々の画像非依存型又は擬似解像度非依存型の操作が(元の画像解像度よりも高いと推定できる)高解像度で実行される。これは、一貫しない結果を招くことから、解像度依存の操作では不可能である。
【0101】
一般に、このアプローチが使用される場合は注意しなければならない。これにより、各画像処理操作の処理時間及びメモリ要件が増加されるが、これは非常に高い解像度の画像データで実行されるからである。また、操作が解像度に依存する場合、元の画像解像度で実行されなければならない。
【0102】
さらに可能性の高いシナリオは、すべての解像度依存の操作を含む、元の画像解像度での画像操作の一部を処理する結果になるハイブリッドアプローチを使用することである。画像は再サンプリングされ、再サンプリング/サイズ変更操作の結果として望ましくないアーチファクトを示す解像度非依存型又は擬似解像度非依存型の操作の部分集合が、より高い解像度で実行される。これは、一部の操作が並べ替え可能であることを仮定する。
【0103】
本発明はすべての解像度にわたって一貫した結果を付与するために設計されている。既に述べたように、画像Aでは、画像操作が特定の解像度の画像に適用され、それより低い解像度にサイズ変更される。画像Bでは、画像が最初により低い解像度にサイズ変更され、画像操作が適用される。画像A及び画像Bが、再サンプリング/サイズ変更操作の間に生じられたエラーを考慮に入れて十分に接近している場合、その操作は解像度非依存型であると考えられる。言い換えると、ユーザが画像Aと画像Bを並列して見る場合、それらは視覚的に同じように見えることになる。
【0104】
理論上、この仮定が適用できる場合、解像度非依存型の影響が得られる。解像度非依存型又は擬似解像度非依存型の操作の一部の制限された集合では、全体に正しくないこともある。ある芸術的な効果はこの特徴を示している。この効果が元の解像度画像に適用される時、目に見える。しかしながら、既にその効果が適用された元の解像度画像が画面上のネイル又はサムネイルに再サンプリングされる時、あまりよく見えなかったり、あるいは完全に見えなくなる。
【0105】
画像処理の観点から、画像をより小さい解像度に再サンプリングする効果は、画像処理操作の効果を低減させる。例えば、シャープネス(シアープン)操作が元の解像度に適用され、その結果がより小さい解像度に再サンプリングされると、シャープネスの量は低解像度ではより少なく見える。これは、再サンプリング操作がシャープエッジをぼかす傾向があり、シャープネス操作の効果を低減させるからである。
【0106】
このセクションは、解像度非依存型及び擬似解像度非依存型の両操作から、種々の異なる解像度で同じ操作を実行する時に解像度非依存の手法を使用することによる結果を示す出力を示す。図8は異なる解像度の元の画像を示している。
【0107】
各セクションでは4つの解像度、即ち、100×67、200×134、400×286、及び800×536が示される。操作は各解像度ごとに適用される。800×536の画像が、その解像度に適用される操作を有し、その後、この文書に適合するように再サンプリングされることに留意すべきである。これにより、800×536及び400×286の各解像度の直接比較を可能にする。理論上、純粋な解像度非依存操作は、出力が同じ表示サイズで並列比較される時、同一結果をもたらすことがある。
【0108】
図9及び図10は、同一フィルタの擬似解像度非依存バージョン及び解像度依存バージョンについてのリップルフィルタの出力を示している。リップル効果の画面状態が解像度依存出力に対して示される図中の解像度と共にどのように変化するかに留意すべきである。これは、アルゴリズムに対する内部パラメータが解像度に基づいて修正されるフィルタの一例である。
【0109】
図11及び図12は、両バージョンに対するモザイクタイルフィルタの出力を示している。解像度依存の出力に対し示される図中の解像度に基づいてタイルの数がどのように変化するかに留意すべきである。これは、アルゴリズムに対する内部パラメータが解像度に基づいて修正される一例である。
【0110】
図13及び図14は、フレスコ画法効果に対する出力を示している。解像度依存の出力に対する種々の解像度間の大きな相違に留意すべきである。これは、解像度の不連続集合がサポートされる一例である。鋭い目に対し、解像度非依存の出力に対し示される図の異なる解像度間において多少相違が見られることもあるが、非常に類似している。明確には、これは解像度依存の出力よりもはるかに良い状態である。
【0111】
ここで留意すべき重要なことは、今日の技術(本発明以外の)を用いたアプリケーションがすべての解像度にわたって同じ結果をもたらそうとする場合、元の画像解像度で処理が実行されなければならないということである。フレスコ効果では、1600×1072の場合の元の画像は、750MHzのインテル社ペンティアム(登録商標)IIIで動作する解像度での処理を完了させるのに11秒かかるが、擬似解像度非依存手法を用いて400×286以下の画像の同じレンダリングに対しては1秒未満である。
【0112】
図15は、擬似解像度非依存及び解像度依存の両手法を用いてチョーク/チャコール画法効果の出力からの並列した結果を示している。これは、解像度の不連続集合がサポートされる一例である。比較のために、これら手法がすべての解像度において同じ結果に近似させようとすることから、同じサイズの出力を並列してて見ることが有用であることもある。画素レベルにおいての比較のための最良の方法は、解像度に関係なく同じサイズで各画像を見ることである。
【0113】
この比較により、同じサイズで見られる時に異なる解像度がどのように比較されるかが示される。この場合、200×134は100%で見られるが、400×268は50%で見られ、800×536は25%で見られる。このようにして見る場合、どのくらいの近さで解像度が並列比較するかについて更に正確に決定されることができる。
【0114】
チョーク/チャコール画法では、擬似解像度非依存の手法を用いて解像度間に更なる相違が目に見える。これについての主な理由は、低解像度で動作する時に、一定量のデータが既に失われ、近似されなければならないという事実による。画面のネイル(320×240)まで再サンプリングされ、元の画像と比較するために拡大(ズームイン)される高解像度写真に対して同じ状況が存在する。明確には、図示されたものと同様のデータ損失がある。これは予期されることがある。これはまさに、ある画像操作が低解像度でより良く実行可能であり、この解像度を「より良く生成する」ことができるということである。
【0115】
本発明がディジタル画像システム(ビデオ又はスチル)とともに使用されるように説明してきたが、本発明を概して好適なディジタル画像システム上で実施されてもよいことは理解されるべきである。これは、直接エンドユーザ・ピアトゥピア接続システムと同様、PCベースの画像アプリケーション、共有、分配、又はセントラルサーバとクライアントとの間における画像データの表示を可能とするウェブ共有アプリケーションを含む。
【0116】
内蔵された情報機器又はディジタル画像装置の一部として含まれることができ、有線ネットワーク環境と無線ネットワーク環境との双方において同じようにうまく動作することができる。
【0117】
本発明の好ましい実施の形態によって画像データをレンダリングして擬似解像度非依存の動作をシミュレートするシステム及び方法の開示は、本質的には具体例にすぎず、本発明や、そのアプリケーション、あるいは使用法を決して限定するものではない。更に、上記の説明において、本発明の開示を更に十分に理解するために実施のための多数の特定された詳細が示される。しかしながら、本発明がこれらの特定の詳細なしでも実施できることは当業者には理解されるだろう。他の例において、本発明をあいまいにさせないために、周知の処理の特徴及び機能についての説明は省略されている。
【図面の簡単な説明】
【図1】
図1A及び図1Bは、2つの従来の画像処理の方法を詳述するフローチャートである。
【図2】
フラッシュピクス(商標)がディジタル画像を処理する方法を示すフローチャートである。
【図3】
ディジタル画像が一定の解像度で処理される方法を示すフローチャートである。
【図4】
図4及び図4Aは、本発明が解像度依存画像をレンダリングする方法を示すフローチャートである。
【図5】
処理すべき一連の画像操作に対する最良の解像度を選択するための詳細を示すフローチャートである。
【図6】
本発明の「DoAnalyze(分析実行)」という語句を処理するための実施を示すフローチャートである。
【図7】
元の解像度と現在の出力解像度に基づいて処理される画像の最良の解像度を選択するための処理を示すフローチャートである。
【図8】
異なる解像度のディジタル画像を示す図である。
【図9】
リップル効果をある解像度に好適な1つの解像度に適用させるために使用されるフィルタを示す図である。
【図10】
補正フィルタ動作をリップル効果に適用しない場合の結果を示す図である。
【図11】
タイル画像を効果的に解像度に依存せずにレンダリングするために使用されるフィルタを示す図である。
【図12】
補正フィルター動作なしに異なる解像度のタイルを示す図である。
【図13】
補正解像度フィルタを使用するフレスコ効果を示す図である。
【図14】
補正フィルタ動作なしに同じフレスコ効果を示す図である。
【図15】
補正フィルタ動作を使用するが、チョーク/チャコール画像効果上ではそのフィルタ動作を使用しない並列比較を示す図である。
Claims (8)
- 画像効果の外観を実質的に維持しながら、結果として生じるいかなる解像度においてもディジタル画像のレンダリングを可能とするように、普通は解像度に依存する画像効果をディジタル画像に適用するための方法であって、
(a)異なる解像度でレンダリングされる時にどの画像効果パラメータが画像効果の結果を実質的に修正するかを決定するステップと、
(b)結果のレンダリングを得るために前記パラメータを修正するステップと、を含む、方法。 - 前記画像効果が前記画像のヒストグラムから導出される変換関数に基づくとともに、
(a)元の解像度における前記画像の画素データを分析するステップと、
(b)適切な画像操作パラメータを決定するステップと、
(c)所定の結果の解像度に従って前記パラメータを修正するステップと、
をさらに含む、請求項1に記載の方法。 - 前記画像効果がディジタル画像の特定の領域の座標及び半径に基づくとともに、
(a)元の解像度に関連して座標データ及び半径データを保存するステップと、
(b)結果の解像度によって修正される半径情報及び座標情報とともに、該結果の解像度で所望の画像効果を実行するステップと、
をさらに含む、請求項1に記載の方法。 - 前記画像効果が赤目軽減である、請求項3に記載の方法。
- 前記画像効果が人工照明の調整であり、この人工照明の調整が、
(a)画像における光周波数の各範囲の量のスペクトル解析と、その量の割合を決定することと、
(b)前記割合を用いて画像効果を適用することと、
(c)いかなる解像度で画像をレンダリングする時も、前記決定された光の割合が略一定に維持されることと、
を含む、請求項1に記載の方法。 - 前記画像効果が、画像解像度を決定することに依存する値に基づくとともに、要求される前記結果の解像度に基づいて該依存値をスケーリングするステップをさらに含む、請求項1に記載の方法。
- 前記画像効果が、異なる不連続の内部パラメータ値に基づき、これによって、要求される前記結果の解像度に依存する適切な値の部分集合の選択を要求する、請求項1に記載の方法。
- (a)画像を開くステップと、
(b)画像解像度を決定するステップと、
(c)出力装置解像度を決定するステップと、
(d)画像効果を適用する最適な解像度を選択するステップと、
(e)選択された前記最適な解像度に対し前記画像効果を適用するステップと、を含む、ディジタル画像の解像度依存特徴に対し手法を適用する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24049500P | 2000-10-13 | 2000-10-13 | |
PCT/US2001/042694 WO2002031754A1 (en) | 2000-10-13 | 2001-10-12 | Techniques for resolution-independent rendering of images |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004511863A true JP2004511863A (ja) | 2004-04-15 |
Family
ID=22906752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002535064A Pending JP2004511863A (ja) | 2000-10-13 | 2001-10-12 | 画像の解像度非依存型レンダリングのための手法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2004511863A (ja) |
WO (1) | WO2002031754A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013506159A (ja) * | 2009-09-23 | 2013-02-21 | ノバルティス アーゲー | 不定形画像に基づく色付きコンタクトレンズ |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4354256B2 (ja) | 2002-12-11 | 2009-10-28 | 富士フイルム株式会社 | 画像出力装置、画像出力プログラム、サーバ装置、および画像出力システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69214229T2 (de) * | 1991-08-14 | 1997-04-30 | Agfa Gevaert Nv | Verfahren und Vorrichtung zur Kontrastverbesserung von Bildern |
JP3634410B2 (ja) * | 1994-10-18 | 2005-03-30 | キヤノン株式会社 | 画像処理システムおよび画像処理装置とその方法 |
US6389163B1 (en) * | 1994-11-18 | 2002-05-14 | Xerox Corporation | Method and apparatus for automatic image segmentation using template matching filters |
-
2001
- 2001-10-12 JP JP2002535064A patent/JP2004511863A/ja active Pending
- 2001-10-12 WO PCT/US2001/042694 patent/WO2002031754A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013506159A (ja) * | 2009-09-23 | 2013-02-21 | ノバルティス アーゲー | 不定形画像に基づく色付きコンタクトレンズ |
Also Published As
Publication number | Publication date |
---|---|
WO2002031754A1 (en) | 2002-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040027593A1 (en) | Techniques for resolution independent rendering of images | |
JP4753627B2 (ja) | ディジタル画像のファイルサイズを動的に制御する方法 | |
US7492375B2 (en) | High dynamic range image viewing on low dynamic range displays | |
Rao et al. | A Survey of Video Enhancement Techniques. | |
US7239328B2 (en) | Lossless manipulation of media objects | |
JP4621733B2 (ja) | イメージを見てエンハンスする方法及びシステム | |
JP3996630B2 (ja) | 画像変換方法、テクスチャマッピング方法、画像変換装置、サーバークライアントシステム、画像変換プログラム、影認識方法および影認識装置 | |
RU2368006C1 (ru) | Способ и система адаптивного переформатирования цифровых изображений | |
US6373499B1 (en) | Automated emphasizing of an object in a digital photograph | |
JP2003241738A (ja) | デジタル画像における関心の対象の表示を最適化するための方法およびシステム | |
JP4443064B2 (ja) | 局所的な色補正を実行する方法および装置 | |
JP2004517384A (ja) | 動的な画像訂正および画像システム | |
KR20050029311A (ko) | 특정 클라이언트 장치 타입용 최적화된 동적 뷰포트레이어링을 제공하는 이미징 시스템 | |
EP1323132A2 (en) | Image sharpening by variable contrast stretching | |
US11750935B2 (en) | Systems and methods of image enhancement | |
WO2001063558A2 (en) | System and method for image processing | |
CN111353955A (zh) | 一种图像处理方法、装置、设备和存储介质 | |
US6122069A (en) | Efficient method of modifying an image | |
JP2003338935A (ja) | 画像処理装置および方法 | |
JP2005275854A (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよびこのプログラムを記憶した記録媒体 | |
JP2004511863A (ja) | 画像の解像度非依存型レンダリングのための手法 | |
CN114584831B (zh) | 提高视频清晰度的视频优化处理方法、装置、设备和存储介质 | |
EP3743882A1 (en) | Enhancing image data with appearance controls | |
CN113012085A (zh) | 图像处理方法和装置 | |
JP4669183B2 (ja) | 任意の解像度でのラスタ化に適切なデジタル画像と関連付けられるデータを使用するためのオンデマンド技法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20040309 |