(57)【要約】この開示は、画像アップスケーリングのための適応性空間変量補間(SVI)技術について記述する。様々な実施例では、この開示に記述された補間技術は、増強されたシャープネス、より高いコントラストおよびより正確な補間を含む高画質を促進する一方で、複雑さの低い画像アップスケーリングをサポートする。この補間技術は、一般化された有限インパルス応答(FIR)フィルタを使用して適用される。いくつかの実施例では、補間技術は、シャープエッジに関連する顕著なアーティファクトを抑制する一方で、コンテンツ適応性で、より正確な補間を提供する。さらに、この補間技術は、例えば、YCbCr(輝度、青クロミナンス、赤クロミナンス)およびRGB(赤、緑、青)フォーマットの色像およびビデオの両方におけるアップスケーリングに容易に適用可能である。【選択図】    図２
2010500666.tif 000002
【特許請求の範囲】
【請求項１】
画像中の近隣画素の内容特性に基づいて前記画像中のスケール画素のシンメトリ(A)を決定することと;
前記シンメトリAに基づいて空間変量補間フィルタの強度(k)を決定することと;
前記強度(k)に基づいて前記空間変量補間フィルタを調節することと;
前記スケール画素を補間するために前記空間変量補間フィルタを適用することと；
を備える方法。
【請求項２】
前記空間変量補間フィルタを調節することは、前記スケール画素のシンメトリ(A)および前記フィルタ応答の強度(k)に基づいてゆがみ距離(s')を決定することと、前記ゆがみ距離(s')に基づいて前記空間変量補間フィルタを調節することとを含む、請求項1に記載の方法。
【請求項３】
前記スケール画素のシンメトリ(A)を決定することは、次式に従って前記スケール画素のシンメトリ(A)を決定することを備える、請求項2に記載の方法。
【数１】
2010500666.tif 000015
ここで、前記近隣画素は、xn+1、xn-1、xn+2およびxnで表わされる画素を備え、f(xn+1)、f(xn-1)、f(xn+2)およびf(xn)は、それぞれ、画素xn+1、xn-1、xn+2およびxnに関連する値を表わす。
【請求項４】
前記フィルタ応答の強度(k)を決定することは、
前記シンメトリ(A)が複数のゾーン(A0-An)のうちの1つの中に存在するかどうか決定することと;
前記強度(k)を、前記シンメトリ(A)が存在する前記複数のゾーン(A0-An)のうちの1つに関連する、複数の強度値(k0-kn)のうちの1つにセットすることと；
を備える、請求項2に記載の方法。
【請求項５】
前記空間変量補間フィルタを空間不変量補間フィルタに変更するために、前記ゆがみ距離(s')が前記スケール画素から前記近隣画素の１つへの距離(s)に等しいように前記強度(k)を選択的にゼロにセットすることと、前記スケール画素を補間するために、前記空間不変量補間フィルタを適用することとをさらに備える、請求項4に記載の方法。
【請求項６】
前記強度(k)をセットすることは、
複数の強度値(k0-kn)のうちの1つを検索するために、前記決定されたシンメトリ(A)に基づいて、前記ゾーン(A0-An)と複数の強度値(k0-kn)の関連性を格納する複数のデータ構造のうちの1つをアクセスすることと；
前記検索された複数の強度値(k0-kn)のうちの１つに前記強度(k)をセットすることと；
を備える、請求項4に記載の方法。
【請求項７】
前記複数のデータ構造のうちの１つをアクセスすることは、利用可能な１つ以上のシステムリソースおよび前記画像を要求するアプリケーションのタイプに基づいて、前記複数のデータ構造の１つをアクセスすることを備える、請求項6に記載の方法。
【請求項８】
前記フィルタ応答の強度(k)を決定することは、
前記画像の質を決定することと；
前記画像の質の決定に基づいて、前記スケール画素に対する前記フィルタ応答の強度(k)を決定することと；
を備える、請求項2に記載の方法。
【請求項９】
前記ゆがみ距離(s')を決定することは、次式に従って前記ゆがみ距離(s')を決定することを備える、請求項2に記載の方法。
【数２】
2010500666.tif 000016
ここで、sは前記スケール画素から前記近隣画素のうちの1つまでの距離を表わし、Aは前記スケール画素の前記シンメトリを表わし、kは前記スケール画素に対する前記フィルタ応答の強度を表わす。
【請求項１０】
前記ゆがみ距離(s')を決定することは、RGB色フォーマットによってエンコードされた前記画像の緑(G)チャンネルに対して前記ゆがみ距離(s')を決定することを備え、
前記フィルタを適用することは、前記空間変量補間を実行して前記スケール画素の画素値を決定するために、前記画像の前記緑(G)チャンネルについて決定された前記ゆがみ距離(s')に基づいて、赤(R)、緑(G)および青(B)チャンネルに前記フィルタを適用することを備える、請求項2に記載の方法。
【請求項１１】
前記ゆがみ距離(s')を決定することは、YCbCr色フォーマットによってエンコードされた前記画像の輝度(Y)チャンネルに対して前記ゆがみ距離(s')を決定することを備え、
前記フィルタを適用することは、前記空間変量補間を実行して前記スケール画素の画素値を決定するために、前記輝度(Y)チャンネルについて決定された前記ゆがみ距離(s')に基づいて、前記輝度(Y)チャンネルに前記フィルタを適用することを備える、請求項2に記載の方法。
【請求項１２】
前記フィルタを適用することは、空間変量バイキュービック補間を実行して前記スケール画素の値を決定するために、前記決定されたゆがみ距離(s')に基づいてフィルタを適用することを備える、請求項2に記載の方法。
【請求項１３】
前記フィルタを適用することは、次式によって記述されたフィルタを適用することをさらに備える、請求項12に記載の方法。
【数３】
2010500666.tif 000017
ここで、f(x)は前記スケール画素の値を表わし、s'は前記ゆがみ距離を表わし、前記近隣画素は、xn+1、xn-1、xn+2およびxnによって表わされる画素を備え、f(xn+1)、f(xn-1)、f(xn+2)およびf(xn)は、それぞれ、画素xn+1、xn-1、xn+2およびxnに関連する値を表わす。
【請求項１４】
前記スケール画素の値を含むアップスケールされた画像を生成することと；
前記アップスケールされた画像をディスプレイによって表示すること；
をさらに備える、請求項1に記載の方法。
【請求項１５】
画像を格納するメモリと;
前記画像中の近隣画素の内容特性に基づいて前記画像中のスケール画素のシンメトリ(A)を決定し、前記シンメトリAに基づいて補間フィルタの強度(k)を決定し、前記強度(k)に基づいて前記補間フィルタを調節し、前記スケール画素を補間するために空間変量補間フィルタを適用するプロセッサと；
を備えるデバイス。
【請求項１６】
前記プロセッサは、前記スケール画素の前記シンメトリ(A)および前記フィルタ応答の強度(k)に基づいてゆがみ距離(s')を決定し、前記ゆがみ距離(s')に基づいて前記空間変量補間フィルタを調節する、請求項1に記載のデバイス。
【請求項１７】
前記プロセッサは、次式に従って前記スケール画素の前記シンメトリ(A)を決定する、請求項16に記載のデバイス。
【数４】
2010500666.tif 000018
ここで、前記近隣画素は、xn+1、xn-1、xn+2およびxnで表わされる画素を備え、f(xn+1)、f(xn-1)、f(xn+2)およびf(xn)は、それぞれ、画素xn+1、xn-1、xn+2およびxnに関連する値を表わす。
【請求項１８】
前記プロセッサは、前記シンメトリ(A)が複数のゾーン(A0-An)のうちの1つに存在するかどうかを決定し、強度(k)を、前記シンメトリ(A)が存在する前記複数のゾーン(A0-An)の1つに関連する複数の強度値(k0-kn)のうちの1つにセットする、請求項16に記載のデバイス。
【請求項１９】
前記プロセッサは、前記空間変量補間フィルタを空間不変量補間フィルタに変更するために、前記ゆがみ距離(s')が前記スケール画素から前記近隣画素の１つへの距離(s)に等しいように前記強度(k)を選択的にゼロにセットし、前記スケール画素を補間するために、前記空間不変量補間フィルタを適用する、請求項16に記載のデバイス。
【請求項２０】
前記メモリは、シンメトリ(A0-An)のゾーンと複数の強度値(k0-kn)との間の関連性を格納する複数のデータ構造を格納し、前記プロセッサは、前記複数の強度値(k0-kn)のうちの1つを検索するために、前記決定されたシンメトリ(A)に基づいて、前記ゾーン(A0-An)と前記複数の強度値(k0-kn)との関連性を格納する前記複数のデータ構造のうちの1つをアクセスし、前記強度(k)を前記複数の強度値(k0-kn)の検索された1つにセットする、請求項18に記載のデバイス。
【請求項２１】
前記プロセッサは、１つ以上の利用可能なシステムリソースおよび前記画像を要求するアプリケーションのタイプに基づいて、前記複数のデータ構造のうちの1つをアクセスする、請求項20に記載のデバイス。
【請求項２２】
前記プロセッサは、前記画像の質を決定し、前記画像の質の決定に基づいて、前記スケール画素に対するフィルタ応答の強度(k)を決定する、請求項16に記載のデバイス。
【請求項２３】
前記プロセッサは、次式に従って前記ゆがみ距離(s')を決定する、請求項16に記載のデバイス。
【数５】
2010500666.tif 000019
ここで、sは前記スケール画素と前記近隣画素のうちの1つとの距離を表わし、Aは前記スケール画素の前記シンメトリを表わし、kは前記スケール画素についての前記フィルタ応答の強度を表わす。
【請求項２４】
前記プロセッサは、RGB色フォーマットによってエンコードされた前記画像の緑(G)チャンネルに対して前記ゆがみ距離(s')を決定し、前記空間変量補間を実行して前記スケール画素の画素値を決定するために、前記画像の前記緑(G)チャンネルについて決定された前記ゆがみ距離(s')に基づいて、赤(R)、緑(G)および青(B)チャンネルに前記フィルタを適用する、請求項16に記載のデバイス。
【請求項２５】
前記プロセッサは、YCbCr色フォーマットによってエンコードされた前記画像の輝度(Y)チャンネルに対して前記ゆがみ距離(s')を決定し、前記空間変量補間を実行して前記スケール画素の画素値を決定するために、前記輝度(Y)チャンネルについて決定された前記ゆがみ距離(s')に基づいて、前記輝度(Y)チャンネルに前記フィルタを適用する、請求項16に記載のデバイス。
【請求項２６】
前記プロセッサは、空間変形バイキュービック補間を実行して前記スケール画素の値を決定するために、前記決定されたゆがみ距離(s')に基づいて前記フィルタを適用する、請求項16に記載のデバイス。
【請求項２７】
前記プロセッサは、次式によって記述されたフィルタを適用する、請求項26に記載のデバイス。
【数６】
2010500666.tif 000020
ここで、f(x)は前記スケール画素の値を表わし、sは前記ゆがみ距離を表わし、前記近隣画素はxn+1、xn-1、xn+2およびxnによって表示された画素を含み、f(xn+1)、f(xn-1)、f(xn+2)およびf(xn)は、それぞれ、画素xn+1、xn-1、xn+2およびxnに関連する値を表わす。
【請求項２８】
アップスケールされた画像を表示するためのディスプレイをさらに備え、前記プロセッサは、前記スケール画素の値を含んでいる前記アップスケールされた画像を生成する、 請求項16に記載のデバイス。
【請求項２９】
プログラム可能なプロセッサに、
画像中の近隣画素の内容特性に基づいて前記画像中のスケール画素のシンメトリ(A)を決定させ；
前記シンメトリAに基づいて、空間変量補間フィルタの強度(k)を決定させ；
前記強度(k)に基づいて、前記空間変量補間フィルタを調節させ；
前記スケール画素を補間するために前記空間変量補間フィルタを適用させる；
ための命令を備えるコンピュータ可読媒体。
【請求項３０】
前記命令は、前記プロセッサに、前記スケール画素の前記シンメトリ(A)および前記フィルタ応答の強度(k)に基づいてゆがみ距離(s')を決定させ、前記ゆがみ距離(s')に基づいて前記空間変量補間フィルタを調節させる、請求項27に記載のコンピュータ可読媒体。
【請求項３１】
前記命令は、前記プロセッサに、次式に従って前記スケール画素の前記シンメトリ(A)を決定させる、請求項30に記載のコンピュータ可読媒体。
【数７】
2010500666.tif 000021
ここで、近隣画素はxn+1、xn-1、xn+2およびxnで表わされた画素を備え、f(xn+1)、f(xn-1)、f(xn+2)およびf(xn)は、それぞれ、画素xn+1、xn-1、xn+2およびxnに関連する値を表わす。
【請求項３２】
前記命令は、前記プロセッサに、前記シンメトリ(A)が複数のゾーン(A0-An)のうちの1つに存在するかどうかを決定させ、前記強度(k)を、前記シンメトリ(A)が存在する前記複数のゾーン(A0-An)の1つに関連する複数の強度値(k0-kn)のうちの1つにセットさせる、請求項30に記載のコンピュータ可読媒体。
【請求項３３】
前記命令は、前記プロセッサに、前記空間変量補間フィルタを空間不変量補間フィルタに変更するために、前記ゆがみ距離(s')が前記スケール画素から前記近隣画素の１つへの距離(s)に等しいように前記強度(k)を選択的にゼロにセットさせ、前記スケール画素を補間するために、前記空間不変量補間フィルタを適用させる、請求項30に記載のコンピュータ可読媒体。
【請求項３４】
前記命令は、前記プロセッサに、前記複数の強度値(k0-kn)のうちの1つを検索するために、前記決定されたシンメトリ(A)に基づいて、前記ゾーン(A0-An)と前記複数の強度値(k0-kn)との関連性を格納する前記複数のデータ構造のうちの1つをアクセスさせ、 前記強度(k)を前記複数の強度値(k0-kn)のうちの検索された1つにセットさせる、請求項30に記載のコンピュータ可読媒体。
【請求項３５】
前記命令は、前記プロセッサに、１つ以上の利用可能なシステムリソースおよび前記画像を要求するアプリケーションに基づいて、前記複数のデータ構造のうちの1つにアクセスさせる、請求項34に記載のコンピュータ可読媒体。
【請求項３６】
前記命令は、前記プロセッサに、前記画像の質を決定させ、前記画像の質の決定に基づいて、前記スケール画素に対するフィルタ応答の強度(k)を決定させる、請求項30に記載のコンピュータ可読媒体。
【請求項３７】
前記命令は、前記プロセッサに、次式によって前記ゆがみ距離(s')を決定させる、請求項30に記載のコンピュータ可読。
【数８】
2010500666.tif 000022
ここで、sは前記スケール画素と前記近隣画素の1つとの距離を表わし、Aは前記スケール画素の前記シンメトリを表わし、kはスケール画素のためのフィルタ応答の強度を表わす。
【請求項３８】
前記命令は、前記プロセッサに、RGB色フォーマットによってエンコードされた前記画像の緑(G)チャンネルに対して前記ゆがみ距離(s')を決定させ、前記空間変量補間を実行して前記スケール画素の画素値を決定するために、前記画像の前記緑(G)チャンネルについて決定された前記ゆがみ距離(s')に基づいて、赤(R)、緑(G)および青(B)チャンネルに前記フィルタを適用させる、請求項30に記載のコンピュータ可読媒体。
【請求項３９】
前記命令は、前記プロセッサに、YCbCr色フォーマットによってエンコードされた前記画像の輝度(Y)チャンネルに対して前記ゆがみ距離(s')を決定させ、前記空間変量補間を実行して前記スケール画素の画素値を決定するために、前記輝度(Y)チャンネルについて決定された前記ゆがみ距離(s')に基づいて、前記輝度(Y)チャンネルに前記フィルタを適用させる、請求項30に記載のコンピュータ可読媒体。
【請求項４０】
前記命令は、前記プロセッサに、空間変量バイキュービック補間を実行して前記スケール画素の値を決定するために、前記決定されたゆがみ距離(s')に基づいて前記フィルタを適用させる、請求項30に記載のコンピュータ可読媒体。
【請求項４１】
前記命令は、前記プロセッサに、次式によって記述されたフィルタを適用させる、請求項30に記載のコンピュータ可読媒体。
【数９】
2010500666.tif 000023
ここで、f(x)は前記スケール画素の値を表わし、s'は前記ゆがみ距離を表わし、前記近隣画素はxn+1、xn-1、xn+2およびxnによって表わされる画素を含み、f(xn+1)、f(xn-1)、f(xn+2)およびf(xn)は、それぞれ、画素xn+1、xn-1、xn+2およびxnに関連する値を表わす。
【請求項４２】
前記プロセッサに、前記スケール画素の値を含んでいるアップスケールされた画像を生成させ、前記アップスケールされた画像を表示するためにディスプレイ装置を駆動させる命令をさらに備える、請求項30に記載のコンピュータ可読媒体。
【請求項４３】
画像中の近隣画素の内容特性に基づいて、前記画像中のスケール画素のシンメトリ(A)を決定するための手段と;
前記シンメトリAに基づいて空間変量補間フィルタの強度(k)を決定するための手段と;
前記強度(k)に基づいて、前記空間変量補間フィルタを調節するための手段と;
前記スケール画素を補間するために前記空間変量補間フィルタを適用するための手段と；
を備えるデバイス。
【請求項４４】
前記調整するための手段は、前記スケール画素の前記シンメトリ(A)および前記フィルタ応答の強度(k)に基づいてゆがみ距離(s')を決定するための手段と、前記ゆがみ距離(s')に基づいて前記空間変量補間フィルタの調節のための手段とを含む、請求項43に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は画像に関し、特に、画像スケーリングのための補間技術に関する。
【背景技術】
【０００２】
ディスプレイ装置は、デジタルビデオまたはスチル写真カメラによって捕らえられた画像情報、ソフトウェアアプリケーション、ビデオゲームあるいは他のプログラムによって作成された画像情報、ビデオアーカイブやスチル写真アーカイブから得られた画像情報、あるいは放送またはストリーミングメディアから得られた画像情報を含む様々な画像情報を提供する。ディスプレイ装置は、デスクトップコンピュータ、ラップトップコンピュータ、コンピュータワークステーション、携帯情報端末(PDA)や携帯電話のようなモバイル装置、そしてテレビのような専用のビューステーションなどの様々な装置と統合され、結合され、あるいは関連付けられる。ディスプレイ装置は、液晶ディスプレイ(LCD)、陰極線管(CRT)ディスプレイ、プラズマディスプレイ、プロジェクションディスプレイなどを含む。
【０００３】
ディスプレイ装置は、画像情報を表示することができる画素数によって制限される固有の最大解像度を維持する。一般に、ディスプレイは固有の最大あるいはそれ以下の範囲の解像度をもたらす。しかしながら、画像情報が全ての表示画素よりも少ない値を定義する場合、ディスプレイ装置はその画像情報をより大きな解像度にアップスケールする。例えば、ディスプレイ装置は、画像情報をより大きなフォーマットにスケーリングするために、補間によって追加の画素を生成する。ディスプレイが大きくなるとともに、画像スケーリングはますます重要となる。モバイルのアプリケーションでは、たとえユーザがより大きなディスプレイを望んでもチャンネル制限がモバイル装置に送信することができる画像情報の量を減らす傾向があり、その結果、より小さなフォーマット画像に帰着する。従って、一貫してより大きなフォーマットを達成するためにモバイルアプリケーションにとって画像アップスケーリングが望まれる。
【０００４】
画像アップスケーリングを達成するために、画素値を補間する多くの技術が存在する。一般的な補間技術は、バイリニア補間(bilinear interpolation)、バイキュービック補間(bicubic interpolation)、キュービックスプライン補間(cubic spline interpolation)およびニュー・エッジ・ディレクティッド補間(new edge directed interpolation)(NEDI)を含む。上記の補間技術はすべて画像情報をアップスケーリングするのに有効であるが、ぼけ(blurring)のようなアーティファクト(artifacts)が生じる。さらに、NEDIのようないくつかの技術は、特に、小さなモバイル装置において、過度の量のシステムリソースを消費する複雑な計算を要求する。さらに、いくつかの既存の補間技術はカラー画像情報には適さず、色なき(color bleeding)あるいは他のアーティファクトをもたらす。一般に、アップスケーリングは、存在するけれども制限された情報の補間によってより多くの画素が生成されなければならないため、チャレンジングであり、その出力にぼけをもたらす可能性がある。
【発明の概要】
【０００５】
この開示は、画像アップスケーリングのための適応性空間変量補間(adaptive spatial variant interpolation)(SVI)技術について記述する。様々な実施例では、この開示に記述された補間技術は、より強いシャープネス、より高いコントラストを含む高い画質と正確な補間を促進する一方で、画像情報の複雑でないアップスケーリングをサポートする。この補間技術は、一般的な有限インパルス応答(FIR)フィルタを使用して適用される。いくつかの実施例では、この補間技術は、シャープエッジ(sharp edges)に関連する顕著なアーティファクトを抑制する一方で、正確な補間を提供するためにコンテンツ適応性(content-adaptive)である。さらに、この補間技術は、例えば、YCbCr(輝度、青クロミナンス、赤クロミナンス)フォーマットとRGB(赤、緑、青)フォーマットの両方で、色像およびビデオのアップスケーリングを容易に適用可能である。
【０００６】
1つの実施例では、この開示は、画像中の近隣の画素の内容特性(content characteristics)に基づいて画像中のスケール画素(scaled pixel)のシンメトリ(symmetry)(A)を決定することと、シンメトリAに基づいて空間変量補間フィルタ(spatial variant interpolation filter)の強度(k)を決定することと、強度(k)に基づいて空間変量補間フィルタを調節することと、スケール画素を補間するために空間変量補間フィルタを適用することを備えた方法を提供する。いくつかの実施例では、空間変量補間フィルタを調節することは、スケール画素のシンメトリ（A)とフィルタ応答の強度(k)とに基づいてゆがみ距離(warped distance)(s')を決定することと、ゆがみ距離(s')に基づいて空間変量補間フィルタを調節することを含む。
【０００７】
別の実施例では、この開示は、画像を格納するメモリと、画像中の近隣画素の内容特性に基づいて画像中のスケール画素のシンメトリ(A)を決定し、シンメトリAに基づいて空間変量補間フィルタの強度(k)を決定し、強度(k)に基づいて空間変量補間フィルタを調節し、スケール画素を補間するために空間変量補間フィルタを適用するプロセッサとを備えたデバイスを提供する。いくつかの実施例では、プロセッサは、スケール画素のシンメトリ(A)とフィルタ応答の強度(k)とに基づいてゆがみ距離(s')を決定し、また、ゆがみ距離(s')に基づいて空間変量補間フィルタを調節する。
【０００８】
この開示に記述された技術は、ハードウェア、ソフトウェア、ファームウェアあるいはそれの任意のコンビネーション中でインプリメントされる。ソフトウェアでインプリメントされるときは、ソフトウェアはデジタル信号プロセサ(DSP)のようなプロセッサ中で実行され得る。この技術を実行するソフトウェアは、最初にコンピュータ読取り可能な媒体に格納され、プロセッサにロードされ、そして実行される。従って、この開示は、また、画像アップスケーリングのための適応性空間変量補間技術を実行するための命令を備えたコンピュータ読取り可能な媒体を意図する。
【０００９】
この開示の1つ以上の実施例の詳細は、添付の図面と以下の記述の中で述べられる。この開示の他の特徴および利点は、記述と図面および請求項から明白となる。
【図面の簡単な説明】
【００１０】
【図１】図1は、ここに記述された技術に従ってアップスケールされる画像情報を表示する典型的なモバイル装置を例示するブロックダイヤグラムである。
【図２】図2は、図1のモバイル装置をより詳細に例示するブロックダイヤグラムである。
【図３Ａ】図3Aは、近隣画素に基づく画素の補間を例示するプロットである。
【図３Ｂ】図3Bは、同じく、近隣画素に基づいて画素の補間を行う例を示したプロットである。
【図４】図4は、アップスケールされた画像情報を生成するために、画像情報を適応性アップスケーリングする図2のディスプレイプロセッサの典型的なオペレーションを例示するフローチャートである。
【図５Ａ】図5Aは、図2のディスプレイプロセッサがスケール画素(x)の値f(x)を補間する、典型的な一次元画素配置を例示するグラフである。
【図５Ｂ】図5Bは、同じく、図2のディスプレイプロセッサがスケール画素(x)の値f(x)を補間する、典型的な一次元画素配置を例示するグラフである。
【発明の詳細な説明】
【００１１】
図1は、この開示に記述された補間技術によってアップスケールされた画像情報12を表示する典型的なモバイル装置10を例示するブロックダイヤグラムである。図1に示されるように、モバイル装置10はメモリ14、ディスプレイプロセッサ16およびディスプレイ18を含む。図1に例示された機能は、ハードウェアおよび／またはソフトウェアコンポーネントの任意の適切なコンビネーションによって実現される。ユニットとしての異なる機能の描写は、モバイル装置10の異なる機能的態様を強調するように意図されており、個別のハードウェアおよび／またはソフトウェアコンポーネントによってそのようなユニットを実現しなければならないことを必ずしも示唆するものではない。むしろ、1つ以上のユニットに関連した機能性は、共通のハードウェアおよび／またはソフトウェアコンポーネント内に統合されてもよい。さらに、モバイル装置10について記述されたが、パソコン、ラップトップ、ワークステーションおよびネットワークデバイスのような他の装置が、この開示に記述された画像アップスケーリング技術を使用してもよい。したがって、その開示はモバイル装置10の典型的な実施例に制限されるべきものではない。
【００１２】
概して、モバイル装置10は画像アップスケーリングのために適応性空間変量補間(SVI)技術を適用するように構成される。様々な実施例では、モバイル装置10によって適用される補間技術は、増強されたシャープネス、より高いコントラストを含む高画質と正確な補間を促進する一方で、画像情報の低い複雑さのアップスケーリングをサポートする。記述されるように、この補間技術は、一般化された有限インパルス応答(FIR)フィルタを使用して適用される。いくつかの実施例では、補間技術はシャープエッジに関連する著しいアーティファクトを抑制する一方で、正確な補間を提供するためにコンテンツ適応性である。さらに、補間技術は色像およびビデオのアップスケーリングに適用可能である。例えば、補間技術は、YCbCr(輝度、青クロミナンス、赤クロミナンス)フォーマットとRGB(赤、緑、青)フォーマットの両方で、カラー画像およびビデオに適用可能である。
【００１３】
記述されるように、いくつかの実施例では、ディスプレイプロセッサ16は複数の近隣画素に基づいてフィルタ応答の強度(k)を適応するように構成される。ディスプレイプロセッサ16は最初に、スケール画素、つまり、その値を決定するために補間を要求する画素のシンメトリ(A)を、画像情報内の複数の近隣画素に基づいて決定する。次に、ディスプレイプロセッサ16は、スケール画素のシンメトリ(A)に基づいて、スケール画素に対するフィルタ応答の強度(k)を決定する。第３に、ディスプレイプロセッサ16は、スケール画素のシンメトリ(A)およびフィルタ応答の強度(k)に基づいて、ゆがみ距離(s')を決定する。
【００１４】
その後、ディスプレイプロセッサ16は、空間変量補間を実行するために、ゆがみ距離(s')に基づいてフィルタを適用し、スケール画素の値を決定する。適応性アップスケーリング技術は、ディスプレイプロセッサ16が近隣画素の値に基づいてフィルタ応答の強度(k)を適応することを可能にするため、ディスプレイプロセッサは他のアップスケーリング技術と比べて比較的より高画質(clarity)で、スケール画素を含むアップスケールされた画像情報を生成する。
【００１５】
適応性アップスケーリング技術は、また、ディスプレイプロセッサ16が複数の色フォーマットのうちの1つに従って符号化された画像情報をアップスケールすることを可能にする。例えば、画像情報がRGB色フォーマットによって符号化される場合、ディスプレイプロセッサ16は、シンメトリ(A)および強度(k)に基づいて、緑(G)チャンネルについてのゆがみ(s')を決定する。この決定をした後に、ディスプレイプロセッサ16は、緑(G)色チャンネルに対して決定されたゆがみ距離(s')に基づいて、スケール画素の赤(R)、緑(G)および青(B)チャンネル値を補間するためにフィルタを適用する。別の例として、画像情報がYCbCr色フォーマットに従って符号化される場合、ディスプレイプロセッサ16は輝度(Y)色チャンネルだけについてゆがみ距離(s')を決定し、スケール画素に対するYチャンネル値を補間するために、Yチャンネルだけにフィルタを適用する。
【００１６】
モバイル装置10は、モバイル無線電話あるいは衛星電話、携帯情報端末、あるいは画像情報を操作および表示することが可能な任意の他のタイプのモバイル装置であり得る。モバイル装置10は、音声、ビデオおよび／またはデータ情報を受信し、送信するために無線通信および／または有線通信の能力を装備する。プロセッサ16は、受信画像情報の復調および復号、および随意に、送信された情報の符号化および変調を扱うモデムによって統合され得る。
【００１７】
従って、モバイル装置10はさらに、例えば無線周波数、衛星あるいは赤外線通信のための適切な送信および受信用の電子手段を含む。そのような電子手段は、適切なフィルタ、アンプ、周波数アップコンバータ、周波数ダウンコンバータ、ダイプレクサなどを含む。この開示においてモバイル装置は例示の目的のために記述されるが、適応性空間変量補間技術は、一般にモバイルとは考えられないテレビ、デスクトップコンピュータ、コンピュータワークステーションなどのような他の装置にも適用可能である。
【００１８】
いくつかの実施例では、モバイル装置10は、デジタルビデオあるいはデジタル静止画として画像情報を捕らえるために、画像取り込み装置を含む。画像取り込み装置は、デジタルビデオカメラ、デジタルスチルイメージカメラ、あるいはその両方の組み合わせであり、これらの場合において、画像取り込み装置は、いわゆるカメラ電話あるいはビデオ電話を形成するために、モバイル携帯電話のようなモバイル装置10に組み入れられる。画像取り込み装置は、好ましくは色像、白黒像、あるいはその両方を捕らえるために装備される。この開示で、用語「画像」、「像」、「画像情報」あるいはそれに類似する語は、交換可能にビデオあるいは静止画のいずれかを指す。
【００１９】
図1をさらに参照すると、メモリ14は画像情報20を格納する。メモリ14は、読み出し専用メモリ(ROM)、電子的プログラマブルROM(EPROM)、フラッシュメモリ、ハードドライブのようなスタティックメモリ、および、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)およびキャッシュのようなダイナミックメモリの任意の組み合わせを備える。画像情報20は、デジタルビデオやスチルカメラによって捕らえられた情報、アプリケーション、ビデオゲームあるいは他のソフトウェアプログラムによって生成された情報、あるいは放送やストリーミングメディアによって得られた情報などである。画像情報20は、ディスプレイ18の解像度よりも小さい、あるいは大きい、指定された解像度で画素の値を定義する。しかしながら、典型的には、画像情報20は、ディスプレイ18の最大解像度より低い解像度で画素値を定義する。
【００２０】
ディスプレイプロセッサ16は、例えば、システムバス、メモリバス、周辺バスあるいはその組み合わせよってメモリ14およびディスプレイ18に結合される。いくつかの実施例では、ディスプレイプロセッサ16は移動局モデム(MSM)内に埋め込まれたハードウェアアクセラレータの形式をとり、MSMメモリサブシステムからディスプレイ18にアップスケールされた画像を転送する役割を持つ。さらに、いくつかの実施例では、メモリ14はディスプレイプロセッサ16内に埋め込まれ、それによってメモリ14がディスプレイプロセッサ16のメモリサブシステムとなる。ディスプレイプロセッサ16はメモリ14からディスプレイ18に最新のイメージを転送する役割を持つ。ディスプレイプロセッサ16は、ビデオ取り込み装置やスチル写真取り込み装置、ソフトウェアアプリケーション、ビデオゲームあるいは他のプログラム、ビデオアーカイブや静止画アーカイブ、あるいは、放送またはストリーミングメディアから得られた画像情報20に対して一組のオペレーションを実行する。典型的なオペレーションは、回転、フリッピング(flipping)、スケーリング、カラーコンバージョン、ガンマ補正、混合(blending)、ディザリングおよびその他の強調(enhancement)を含む。上に記述されたもののような補間および他のオペレーションを実行するための機能ユニットは、モバイル装置10のいわゆるビデオフロントエンド(VFE)内に存在する。
【００２１】
プロセッサ16は、1つ以上のマイクロプロセッサ、デジタル信号プロセサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)あるいは他の等価な個別もしくは集積されたロジック回路によって実現される。図1には示されていないが、モバイル装置10はここに記述されたアップスケーリング技術を実行させる命令を実行することができるプログラム可能なプロセッサを含む。そしてプロセッサ16はそのようなプログラム可能なプロセッサの一部を表わしている。従って、その開示は、また、ここに記述されるような技術をプロセッサに実行させる命令を備えたコンピュータ可読媒体を意図する。
【００２２】
以下により詳細に記述されるように、プロセッサ16は、ディスプレイ18上で表示されるアップスケールされた画像情報12を生成するために、画像情報20に空間変量補間フィルタを適用する。アップスケーリングは画像情報20がより高い解像度およびより大きなサイズフォーマットで表示されることを可能にする。例として、画像情報20はＱＣＩＦ(quarter common intermediate format)からＣＩＦ(common intermediate format)へ、ＣＩＦからＶＧＡ(video graphics array)へ、および／またはＶＧＡからＳＶＧＡ(super VGA)へと空間的に上向きにスケールされる。このように、より小さな画像は、ディスプレイ18上での表示用のより大きな表示画像を提供するために、空間変量補間によってアップスケールされる。同時に、ここに記述されるような補間技術は、質を維持し、かつアップスケールされたイメージ中の望ましくないアーティファクトを減少するために適用される。
【００２３】
画像情報20をアップスケールするために、ディスプレイプロセッサ16はまず画像情報20によって定義された画素値の行(rows)に沿ってフィルタを適用し、次に画像情報20によって定義された画素値の列(columns)に沿ってフィルタを適用する。それがフィルタを適用すると、ディスプレイプロセッサ16は、画像情報内の複数の近隣画素に基づいて、補間されるべき画素、つまりスケール画素の値のためのシンメトリ(A)を決定する。近隣画素は、補間される画素から所定距離内にあるものが選択される。従って、補間されるべき画素は元々画像データ中にはなく、画像データ中に元々存在する画素に基づいて補間される必要がある。画素の補間は、画像の解像度を増加させる画素を追加する。補間されるべき画素は、補間画素(interpolated pixel)あるいはスケール画素(scaled pixel)と呼ばれる。多数の画素の補間は、画像の全体的な解像度を増加させ、空間アップスケーリングを可能にする。
【００２４】
次に、ディスプレイプロセッサ16は、スケール画素のシンメトリ(A)に基づいて、スケール画素に対するフィルタ応答の強度(k)を決定し、続いて、スケール画素のシンメトリ(A)およびフィルタ応答の強度(k)に基づいて、ゆがみ距離(s')を決定する。このプロセス中に、ディスプレイプロセッサ16はフィルタを画像情報20のコンテンツに、より具体的には、画像情報20によって定義された近隣画素の値にフィルタを調整あるいは「適応(adapt)」する。フィルタを適応した後に、ディスプレイプロセッサ16は、決定されたゆがみ距離(s')に基づいてフィルタを適用し、空間変量補間(SVI)を実行して、スケール画素の値を決定する。
【００２５】
ディスプレイプロセッサ16は、ディスプレイ18の解像度と画像情報20のそれとを比較することによって、補間する画素値の数を決定する。ディスプレイの解像度と画像情報20の解像度との差は、ディスプレイの解像度の達成に必要なアップスケーリングの量を決定する。各スケール画素の値を補間した後に、ディスプレイプロセッサ16は、画像情報20によって定義されたオリジナルの画素値と共に、これらのスケール画素値をアップスケールされた画像情報12として格納する。いくつかの実施例では、ディスプレイプロセッサ16はこれらのスケール画素値を格納せず、スケール画素が決定されたままでディスプレイ18を駆動するために、これらのスケール画素を画像情報20によって定義されたオリジナルの画素値と共に転送する。アップスケーリングを完了すると、ディスプレイプロセッサ16は、ユーザへの表示のために、アップスケールされた画像情報12をディスプレイ18に送る。
【００２６】
ディスプレイ18は、液晶ディスプレイ(LCD)、陰極線管(CRT)ディスプレイ、プラズマディスプレイ、プロジェクションディスプレイ、およびアップスケールされた画像情報12を表示することができる任意のディスプレイを含む様々なディスプレイのうちのいずれか1つを備える。ディスプレイ18は、装置10に統合されてもよく、あるいは結合されてもよい。ディスプレイ18は、画像を表示するために、画素セット数(set number of pixels)によって制御される固有のディスプレイ解像度を維持する。列画素数×行画素数によって定義される典型的な解像度は、800×600画素、1024×768画素、1280×768画素、1280×800画素、1280×1024画素、1600×1200画素、1680×1050画素、1920×1200画素、およびその他の任意の画素配置を含む。いくつかの実施例では、モバイル装置10のユーザは、選択された解像度がディスプレイ18の固有の最大解像度を超えない限り、ディスプレイ18に対して複数の解像度のうちの1つを選択する。他の実施例では、設計者はディスプレイ18の解像度をハードコード(hard-code)し、そして典型的には固有の最大解像度をハードコード解像度として選択する。
【００２７】
ここに記述されたアップスケーリング技術は、モバイル装置10が、比較的高画質、すなわち比較的小さな汚れ(blurriness)でアップスケールされた画像情報をもたらす、比較的低い複雑さの線形補間を実行することを可能とする。モバイル装置10によってインプリメントされたアップスケーリング技術は、それが、NEDIのような計算が複雑な補間方法の代わりに線形の補間方法を実行するために、複雑さは低い。さらに、このアップスケーリング技術は、一つには、モバイル装置10が、コテンツ適応性補間であるため画像情報20の複数の近隣画素値にフィルタ応答の強度(k)を適応することを可能にするという理由で、モバイル装置10がこの高画質を生み出すことを可能にする。このように、この技術は、モバイル装置10が、補間されるべき特定の画素に近隣する異なる画素グループによって示されるように、１つの強度kに従っていくつかのスケール画素値を決定し、一方、他の強度k'に従って他のスケール画素値を決定することを可能とする。したがって、画像情報の全体にわたってフィルタ応答の強度を一定に定義、つまり固定されるいくつかのスケーリング技術とは異なり、ここで記述したアップスケーリング技術は、強度kを画像情報20の特性に適応させて、より高画質のアップスケールされた画像情報12を提供する。
【００２８】
図2は、図1のモバイル装置10をより詳細に例示するブロックダイヤグラムである。図1に関して上記したように、図2のモバイル装置10は、同様に、メモリ14、ディスプレイプロセッサ16およびディスプレイ18を含む。メモリ14は画像情報20を格納する。図2に例示されるように、ディスプレイプロセッサ16はシンメトリモジュール24、ルックアップテーブル26、ゆがみ距離モジュール28および有限入力応答(Finite Input Response)(FIR)フィルタ30を含む。コンポーネント24、26、28および30に関して以下に述べられるが、図2に示されたような単一のコンポーネントあるいは複数のコンポーネントがコンポーネント24-30に帰着するオペレーションを実行する。さらに、コンポーネント24-30の描写は異なる機能的な様相を強調するように意図され、個別のハードウェアおよび／またはソフトウェアコンポーネントを表わすこととして必ずしも解釈されるべきでない。
【００２９】
フィルタ30として使用される4タップのFIRフィルタが、例示の目的のために記述される。xによって表示された補間されるべき画素は、xn+1、xn-1、xn+2およびxnによって表示された４つのオリジナルの画素に基づいて計算される。行の画素について、インデックスn+1およびn+2は、補間されるべき画素xの右側の画素を表示し、一方、インデックスnおよびn-1は、補間されるべき画素xの左側の画素を表示する。補間されたオリジナルの画素の値(振幅または強度)は、f(x)によって表わされる。FIRフィルタを使用して、補間された画素xの値は次式によって得られる:
【数１】
2010500666.tif 000003
【００３０】
ここで、F[・］は一次関数で、sはフェーズパラメータ(phase parameter)である:
s＝x−xn (0≦s≦1,  2つの隣接したオリジナルの画素間の距離を1と定義する）この一般化された関数は、バイリニア(bilinear)(それは2つのタップしか持たないが)、バイキュービック、キュービックスプラインなどを含む任意の4タップFIRフィルタに当てはまる。例えば、比率が２でアップスケーリングするには、単一のサンプルは s＝1/2 で補間される必要がある。比率４のアップスケーリングでは、補間するための3つのサンプルと、3つの補間された画素のためのs＝0.25、0.5および0.75がそれぞれ存在する。
【００３１】
FIRフィルタの利点は、簡単で、計算上の複雑さが低く、オリジナルサンプル値の維持能力を持つことである。FIRフィルタは、単にsの値を調節することによって、非整数比率スケーリング(non-integer ratio scaling)に使用することができる。sの値は、0と1の間で多数のレベル(例えば32)に量子化され得る。さらに、異なる補間フェーズにおけるf(xn-1)、f(xn)、f(xn+1)、f(xn+2)の係数は、あらかじめプログラムすることができる。
【００３２】
SVI技術については、エッジ境界に近い画素がエッジ志向の様式で補間されるように式(1)中の距離sを変更(modify)することができる。ゆがみ距離(WD)のスキームを使用して、SVI技術は、エッジの側を決定する関連ルールを、補間された画素が属する側に適用するように構成される。典型的な関連ルールは次のように与えられる:
【数２】
2010500666.tif 000004
【００３３】
ここで、L=256
ハードウェア実装の便宜のために、上記の式(2)は次のように変形することができる:
【数３】
2010500666.tif 000005
【００３４】
式(3)は、エッジの一方の側の画素値の均一性を測定する単純なルールを表わす。
【数４】
2010500666.tif 000006
【００３５】
の場合、エッジは右側に、より均質であり、補間されるべき画素は右側に関連するはずである。この場合、4タップフィルタについては、xn+1、xN+2に、より多くの重みが置かれるべきである。他方、
【数５】
2010500666.tif 000007
【００３６】
の場合、エッジは左側に、より均質であり、補間されるべき画素は左側に関係するはずである。この場合、4タップフィルタについては、xn、xn-1に、より多くの重みが置かれるべきである。
【００３７】
図2をさらに参照して、シンメトリモジュール16は、スケール画素、すなわち補間されるべき画素xのシンメトリを、画像情報20内の複数の近隣画素に基づいて決定する。例として、シンメトリモジュール16は、上記の式(3)によってシンメトリを決定する。上記の式(3)では、複数の近隣の画素は、xn+1、xn-1、xn+2およびxnによって表示された画素を備え、また、f(xn+1)、f(xn-1)、f(xn+2)およびf(xn)は、それぞれの画素xn+1、xn-1、xn+2およびxnに関連する値を表示する。ルックアップテーブル26は、A0-Anによって表示されたシンメトリのゾーン(「ゾーン」)間の関連性、および、k0-knによって表示された、あらかじめ定められた強度値を格納する。xとAのためのnインデックスは異なる。ルックアップテーブル26は関連性が格納される1つのタイプのデータ構造を単に表わし、また、リンクリスト(linked lists)、ハッシュテーブル(hash tables)、ツリー(trees)およびバイナリツリー(binary tree)のような他のデータ構造はこの関連性を格納する。ルックアップテーブル26は次の式(4)によって表わされる方法で関連性を格納する:
【数６】
2010500666.tif 000008
【００３８】
ここで、0＜A1＜A2＜・・・＜An-1＜1
上記の式(4)で、kはフィルタ応答の強度を表わし、k0-knはあらかじめ定められた強度値、またA0-Anはシンメトリのゾーンのエッジを表わす。画像の内容特性に基づいて空間変量補間フィルタ応答の調節がされているなら、値kは、式(4)毎にAの値に基づいて変化する。いくつかの実施例では、k値は、正常な場合でのA値に基づいて、あるいは、Aを計算する計算上の資源が不足する場合は固定値に基づいて、選択的に調節される。kがAの関数として適応性があるため、補間されるべき異なる画素に対して同じ画像あるいはビデオフレーム内に異なるk値が存在する。特に、値Aはそれが正あるいは負であり得るので、絶対値として表現される。
【００３９】
いくつかの実施例では、フレームは、例えば異なるエリア、領域、画素グループあるいは複数画素に異なるk値を割り当てるkマップによって特徴づけられる。従って、フレームは、あらかじめ決められた領域に対するkの値を決定するために、あらかじめ処理される。その後、k値は、それらの各領域でのアップスケール画素すなわち、補間すべき画素のための空間変量補間に使用される。特に、空間変量補間技術は、それがその領域で1つ以上の補間画素を生成するので、その領域用の特別のkを決定するためにkマップを参照する。
【００４０】
設計者は、k0-kn、およびA0-Anの値を指定することによって、ルックアップテーブル26をあらかじめ定義することができる。しかしながら、いくつかの実施例では、ディスプレイプロセッサ16は、k0-knおよびA0-Anのどちらか、あるいは両方を、アップスケールされている画像情報20の質、画像情報20の表示をディスプレイ18に要求しているアプレケーションの主体あるいはタイプおよびモバイル装置10内の利用可能なシステムリソースのレベルのような１つ以上の典型的な条件に自動的に適応する。さらに、ルックアップテーブル26は、1つ以上の関連性を格納する1つ以上のルックアップテーブル、あるいはより一般的にはデータ構造を備える。ディスプレイプロセッサ16は、これらの独立したルックアップテーブル26の各々を、画像情報20を表示することをディスプレイ18に要求する異なるアプリケーションに関連させる。あるいは、ディスプレイプロセッサ16は、これらの独立したルックアップテーブル26の各々を、システムリソース使用および／または画像情報20の質の変化レベルに関連させる。
【００４１】
ゆがみ距離モジュール28は、スケール画素のシンメトリ(A)、およびシンメトリモジュール24とルックアップテーブル26とからのフィルタ応答の強度(k)に基づいて、ゆがみ距離(s')を決定する。ゆがみ距離モジュール28は、次の式(5)によってゆがみ距離(s')を決定する:
【数７】
2010500666.tif 000009
【００４２】
ここで、sはスケール画素と複数の近隣画素のうちの1つとの距離を表わし、Aはスケール画素のシンメトリを表わし、また、kはスケール画素に対するフィルタ応答の強度を表わす。値s'は、s、Aおよびkの関数としてのフェーズ変更(phase modification)である。また、値kは、Aの関数として変形される。いくつかのシナリオにおいて、kが0にセットされる場合、補間技術は空間不変量補間(spatial invariant interpolation)に立ち返る。そうでなければ、kの値の変化はsの値の変化をもたらし、コンテンツ適応性空間変量補間(CA-SVI)をドライブする。スケール画素と複数の近隣画素のうちの1つとの間の距離(s)は、次の式(6)のいずれかによって定義することができる:
【数８】
2010500666.tif 000010
【００４３】
ここで、xはスケール画素の位置を表わし、xnはX軸に沿ったスケール画素の左側の画素の位置を表わし、また、xn+1は、X軸に沿ったスケール画素の右側の画素を表わす。式(6)によって示されるように、各画素xnとxn+1との間の距離は1にノーマライズされている。
【００４４】
ゆがみ距離モジュール28は、画像情報20がカラー画像情報20を含んでいる場合に、ゆがみ距離(s')を決定する。例えば、カラー画像情報20がRGB色フォーマットによってエンコードされる場合、ゆがみ距離モジュール28は緑(G)チャンネルのみのゆがみ距離(s')を計算し、この緑(G)チャンネルのゆがみ距離(s')を、スケール画素の3つの色チャンネル値（つまり、緑(G)、赤(R)、青(B)チャンネル)をすべて補間するときにFIRフィルタ30に伝送する。しかしながら、カラー画像情報20がYCbCr色フォーマットによってエンコードされる場合、ゆがみ距離モジュール28は輝度(Y)チャンネルのみのゆがみ距離(s')を計算し、スケール画素の輝度(Y)チャンネル値を補間する場合に、この輝度(Y)チャンネルのゆがみ距離(s')をFIRフィルタ30に伝送する。
【００４５】
FIRフィルタ30は、決定されたゆがみ距離(s')に基づいてフィルタを適用し、スケール画素の値を決定するために空間変量補間を実行する。FIRフィルタ30は次式(7)によって記述されるようにフィルタを適用する:
【数９】
2010500666.tif 000011
【００４６】
ここで、f(x)はスケール画素の値を表わし、s'はゆがみ距離を表わし、複数の近隣画素は、xn+1、xn-1、xn+2およびxnによって表示される画素を備え、また、f(xn+1)、f(xn-1)、f(xn+2)およびf(xn)は、それぞれ、画素xn+1、xn-1、xn+2およびxnに関連する値を表わす。ゆがみ距離(s')の要因に入るフィルタ応答強度(k)は周辺の複数の近隣画素の値f(xn+1)、f(xn-1)、f(xn+2)およびf(xn)によって変化するため、式(7)はコンテンツ適応性、あるいは単に「適応性」の空間変量バイキュービック補間を記述する。ここでは空間変量バイキュービック補間に関して記述されたが、ここに記述されたアップスケーリング技術は、以下の式(8)で記述されるバイリニア補間のような他のレベルの補間であってもよい。
【数１０】
2010500666.tif 000012
【００４７】
FIRフィルタ30はまた、必ずしも常に空間変量補間を適用するのではなく、いくつかの状況にあっては、むしろより典型的な空間不変量補間を適用するという柔軟性を持つ。上記のルックアップテーブル26のうちの1つが0に等しい強度値を指定する場合、それによってフィルタ応答の強度(k)は0にセットされ、したがって、ゆがみ距離(s')は距離(s)と等しくなり、FIRフィルタ30は、s'の代わりにsを用いた式(7)に従って空間不変量バイキュービックフィルタを適用する。したがって、FIRフィルタ30は、画像情報20への空間不変量バイキュービック補間を行なうような方法で適応し、そのような適応は、上に記述されたような、画像情報20の質、ディスプレイ18に画像情報20の表示を要求したアプリケーションの主体、および／または、モバイル装置10の利用可能なシステムリソースを決定した後に生じてもよい。言いかえれば、ある場合には、FIRフィルタ30は空間変量補間を適用するように構成されるが、ある条件の下では空間不変量補間に切り替える適応性を有する。
【００４８】
例示として、空間変量補間あるいは空間不変量補間のいずれかを引き起こすために、Aの異なる絶対値に対して次のkの値を使用したとする:
【数１１】
2010500666.tif 000013
【００４９】
図3Aおよび3Bは、近隣画素xn-1、xn、xn+1、xn+2の値に基づいた画素値xの補間を例示するプロットである。図3Aおよび3Bは、Aの絶対値が0の場合とAの絶対値が0.75の場合の、式(9)中で述べられた上記のkの値についての画素サンプルのプロット例である。図3Aでプロットされたサンプルでは、A=0でk=4である。従って、図3Aの例については、空間変量補間(SVI)が使用される。しかしながら、図3Bでプロットされたサンプルでは、|A|=0.75でk=0である。この場合、k=0であれば空間変量補間(SVI)の代わりに空間不変量補間が使用される。
【００５０】
図2に示された実施例は、例示の目的だけのものである。ディスプレイプロセッサ16はモバイル装置10のディスプレイプロセッサ16内に存在する必要はなく、画像情報を格納し、操作し、生成することができる任意の装置内に存在してもよい。上に記述されたように、ディスプレイプロセッサ16はここに記述されたアップスケーリング技術によってアップスケーリングを実行し、それによって、比較的高画質の画像情報12を生成するための比較的低い複雑さの方法をモバイルの装置10に提供する。
【００５１】
図4は、アップスケールされた画像情報12を生成するために、この開示に記述されるような補間技術を使用して画像情報20を適応性アップスケーリングする際の、図2のディスプレイプロセッサ16の典型的なオペレーションを例示するフローチャートである。まず設計者は、強度値(k0-kn)とともにシンメトリ(A0-An)のゾーン間の関連性を格納するために、ルックアップテーブル26、あるいは上に記述されるような他のあるデータ構造を構成する。設計者はさらに、ディスプレイプロセッサ16が画像情報20にどの補間方法を適用すべきか、つまりバイリニア補間かバイキュービック補間かを選択する。
【００５２】
一旦構成されると、モバイル装置10はユーザ(図示されず)と対話し、それに基づいてユーザは、アプリケーションやゲームのような1つ以上のソフトウェアプログラムおよび／またはデジタルビデオカメラやデジタルスチルイメージカメラコンポーネントのようなハードウェアコンポーネントと対話(interact)する。この対話を通じて、ソフトウェアプログラムおよび／またはハードウェアコンポーネントはメージ情報20をメモリ14に格納し、ディスプレイプロセッサ16はディスプレイ18上での表示のために、メモリ14から画像情報20を検索する(32)。
【００５３】
画像情報20を検索すると、上に記述されるように、ディスプレイプロセッサ16はオペレーションの最終セットを実行する。具体的には、ディスプレイプロセッサ16は、ここに記述されたアップスケーリング技術に従って画像情報20をアップスケールする。まず、ディスプレイプロセッサ16のシンメトリモジュール24が、近隣の画素値に基づいて、スケール画素のシンメトリ(A)を決定する(34)。シンメトリモジュール24は、上記の式(1)に従って、および、図5A、5Bに関して下記されるように、シンメトリ(A)を決定する。次に、シンメトリモジュール24はルックアップテーブル26にアクセスし、シンメトリ(A)が位置するシンメトリ(A0-An)のゾーンに対応する、関連する強度値(k0-kn)を決定する。
【００５４】
図4の例では、シンメトリの2つのゾーンが存在し、A0=0.45によって定義されている。したがって、この特定の構成への式(2)の変更は上記の式(9)を提供し、それはルックアップテーブル26のうちの1つに格納された関連性を記述し、再び、以下に再生される:
【数１２】
2010500666.tif 000014
【００５５】
ここで、上に言及されたように、フィルタ応答の強度kは強度値k0と等しく、シンメトリAが0以上でA0(それは0.45と等しい)未満である場合、それは4と等しい。シンメトリAがA0（それは0.45に等しい）以上で1未満である場合、強度kは強度値k1(それは0と等しい)と等しい。シンメトリAは0と1の間に位置しなければならないので、A0だけがシンメトリの2つのゾーンを輪郭づけるために要求され、また、ディスプレイプロセッサ16は、それがシンメトリの最初のゾーン内に位置するかどうかを決定するだけでよい(36)。シンメトリの2つのゾーンに関して記述されたが、式(4)によって示されるように、シンメトリの2つ以上のゾーンが存在してもよく、ここに記述されたアップスケーリング技術は、厳密にシンメトリの2つのゾーンに制限されるものではない。ゾーンの数および大きさは、例えば、計算する資源および他のパフォーマンス特性の利用可能性に基づいて、いくつかの実施例において適応性があってもよい。
【００５６】
シンメトリ(A)がシンメトリの最初のゾーン内に位置する場合(36で「はい」）、つまり0≦A＜0.45の場合、ルックアップテーブル26は、ゆがみ距離モジュール28に強度値k0、すなわち4を返し、モジュール28は次に強度kを4にセットする(38)。強度(k)を4にセットした後、ゆがみ距離モジュール28は、スケール画素と近隣画素との間の距離(s)を決定する(40)。ゆがみ距離モジュール28は、上記の式(4)によって距離(s)を計算する。画像情報20がRGB色フォーマットによってエンコードされると（42で「YES」)、ゆがみ距離モジュール28は緑(G)チャンネルについてゆがみ距離(s')を決定する(44)。ゆがみ距離モジュール28は、上記の式(3)に従って緑(G)チャンネルのゆがみ距離(s')を計算する。ゆがみ距離モジュール28は、緑(G)チャンネルのために計算されたゆがみ距離(s')と等しいゆがみ距離(s')を、赤(R)および青(B)チャンネルの各々のためにセットする(46)。緑(G)チャンネルは、灰色インバランスを回避し、かつ人間の目に最も強く見えるチャンネルを使用するために、フェーズ変更項(phase modification term)s'の決定に選ばれる。
【００５７】
画像情報20がRGB色フォーマットによってではなくYCbCr色フォーマットによってエンコードされる場合(42で「NO」)、ゆがみ距離モジュール28は、画像情報20の輝度(Y)チャンネルについてのみ、ゆがみ距離(s')を決定する(48)。ここではRGBおよびYCbCr色フォーマットだけが議論されるが、他の色フォーマットがゆがみ距離モジュール28にこれら他の色フォーマットの種々のチャンネルに対するゆがみ距離を計算させてもよく、また、ここに記述されたアップスケーリング技術は、厳密にRGBおよびYCbCr色フォーマットに制限されるものではない。
【００５８】
ゆがみ距離(s')を決定した後、ゆがみ距離モジュール28は、ゆがみ距離(s')をFIRフィルタ30に供給する。FIRフィルタ30は、式(5)によって上述されたそれと一致するフィルタの適用を通して、コンテンツ適応空間変量バイキュービック補間を実行する(50)。FIRフィルタ30は、アップスケールされた画像情報16のスケール画素値を生成するために、画像情報20の1つ以上のチャンネル上でこの適応性のある空間変量バイキュービック補間を行なう。例えば、画像情報20がRGB色フォーマットによってエンコードされる場合、FIRフィルタ30は、画像情報20の赤(R)、緑(G)および青(B)のチャンネル上でこの補間を実行するが、緑(G)チャンネルのためにのみ、決定されたゆがみ距離(s')を使用する。緑(G)チャンネルについて決定されたゆがみ距離(s')によって3本のRGBチャンネルをすべて補間することは、典型的には、アップスケールされた画像情報12において色なき(color bleeding)の可能性を減少させる。別の例として、画像情報20がYCbCr色チャンネルによってエンコードされる場合、FIRフィルタ30は画像情報20の輝度(Y)チャンネル上のみでこの補間を行なう。Yチャンネルは真の色強度を表わし、一方、青クロミナンス(Cb)および赤クロミナンス(Cr)チャンネルは共に真の色値ではなくオフセットを表わすので、FIRフィルタ30は、この例ではYチャンネルのみを補間する。
【００５９】
しかしながら、シンメトリが第2のゾーン内に位置する場合（36で「いいえ」)、つまり0.45≦A＜1の場合、ルックアップテーブル26はゆがみ距離モジュール28に強度値k1、すなわち0を返し、それは次に強度kを0にセットする(52)。強度(k)を0にセットした後、ゆがみ距離モジュール28は、スケール画素と近隣画素との間の距離(s)を決定する(54)。ゆがみ距離モジュール28は、上記の式(4)に従って距離(s)を計算する。この場合において、kは0に等しいので、ゆがみ距離モジュール28はゆがみ距離(s')を直ちにゼロ(0)にセットする(56)。ゆがみ距離モジュール28は、上記の式(3)によってゆがみ距離(s')を計算し、kが0と等しい場合、式(3)はs'=sとなる。
【００６０】
s'がsに等しい場合、FIRフィルタ30は、空間変量補間ではなく、上記の式(5)によって記述されたフィルタの適用によって、むしろ空間不変量バイキュービック補間を実行する(58)。フィルタの適用によって、FIRフィルタ30は、アップスケールされた画像情報12のスケール画素値を生成する。
【００６１】
スケール画素値を補間すると、ディスプレイプロセッサ16は、それが必要なスケール画素値をすべて補間し終えたかどうか決定する(60)。典型的には、ディスプレイプロセッサ16は、FIRフィルタ30を、まず画像情報20によって定義された画素値の行に沿って適用し、次に画像情報20によって定義された画素値の列に沿って適用する。したがって、ディスプレイプロセッサ16は、画像情報20の最後の列に沿ってFIRフィルタ30を適用した後に終了する。もし終了していなければ(60で「いいえ」)、ディスプレイプロセッサ16は、新しいスケール画素のシンメトリ(A)、強度(k)、距離(s)およびゆがみ距離(s')を決定した後に、この新しい次のスケール画素値にFIRフィルタ30を適用する。しかしながら、もし終了であれば(60で「はい」)、ディスプレイプロセッサ16は、ディスプレイ18上の表示のためにアップスケールされた画像情報12を伝送する。
【００６２】
図5Aおよび5Bは、図2のディスプレイプロセッサ16がスケール画素(x)の値(f(x))を補間する、典型的な1次元の画素配置を例示するグラフである。図5Aは、スケール画素(x)が、より均質の右側を有するエッジに沿って存在するグラフ62を示す。図5Bは、スケール画素(x)が、より均質の左側を有するエッジに沿って存在するグラフ64を示す。グラフ62および64は共に一次元の画素配置を示しているが、これは単に例示であり、典型的には、画像情報20は、二次元の画素配置に関係する情報を含んでいる。しかしながら、FIRフィルタ30は先ず行、一次元の画素配置、そして次に列、別の一次元の画素配置に適用することができるため、このアップスケーリング技術についてコンテキスト中で議論することは適当である。
【００６３】
図5Aを参照して、グラフ62は、画素値68A-68D、すなわちそれぞれf(xn-1)、f(xn)、f(xn+1)およびf(xn+2)によって定義されたS字状のエッジライン66を含む。グラフ62はさらにスケール画素xを含んでおり、それは画素xnおよびxn+1の間に位置する。スケール画素xに対する値を補間するために、ディスプレイプロセッサ16のシンメトリモジュール24は、まず上記の式(1)に従ってスケール画素xのシンメトリ(A)を決定する。シンメトリ(A)の決定において、シンメトリモジュール24は、式(1)の |(f(xn+1)-f(xn-1))|および|f(xn+2)-f(xn)|の両方を計算し、それらはグラフ62においてそれぞれ距離1(d1)および距離2(d2)で表わされる。d1がd2より大きい場合、エッジはより均質の右側を持っており、スケール画素値は、明確なエッジを保つためには右側のそれらの画素値f(xn+1)およびf(xn+2)により近く位置するべきである。この結果を得るために、スケール画素xは右側に接近してゆがめられる。スケール画素xをゆがめることは、フィルタ応答の強度(k)が0を越えて、あるいは0未満で定義されることを必要とする。
【００６４】
シンメトリ(A)を決定した後、シンメトリモジュール28は、上述されたように、ルックアップテーブル26をアクセスし、関連する強度値を決定する。シンメトリ(A)が上述したシンメトリの第１のゾーンに位置する場合、つまり、|d1-d2|が0以上で0.45未満の場合、ゆがみ距離モジュール28は、ルックアップテーブル26から第１の強度値(k0=4)を受け取り、強度k=k0をセットする。しかしながら、シンメトリがシンメトリの第2のゾーン内に位置する場合、つまり、|d1-d2|が0.45以上で1未満の場合、ゆがみ距離モジュール28は、ルックアップテーブル26から第2の強度値(k1=0)を受け取り、強度k=k1をセットする。次に、ゆがみ距離モジュール28は、上記の式(4)のうちの1つに従って、スケール画素xと画素xnとの間の距離(s)70を決定する。強度kが4と等しい場合、ゆがみ画素モジュールは上記の式(3)によってゆがみ距離(s')を決定する。強度kが0と等しい場合、ゆがみ画素モジュールは、ゆがみ距離(s')は距離(s)と等しく、スケール画素xはゆがめられないことを決定する。ゆがみ距離(s')を計算すると、上に記述されるように、ディスプレイプロセッサ16は、空間変形もしくは空間不変バイキュービック補間のいずれかを実行するためにFIRフィルタ30を適用する。
【００６５】
図5Bを参照して、グラフ64は、画素値74A-74D、すなわちそれぞれf(xn-1)、f(xn)、f(xn+1)およびf(xn+2)によって定義されたS字状のエッジライン72を含む。グラフ64は、さらにスケール画素xを含んでおり、それは画素xnとxn+1との間に位置する。スケール画素xに対する値を補間するために、ディスプレイプロセッサ16のシンメトリモジュール24は、最初に上記の式(1)に従ってスケール画素xのシンメトリ(A)を決定する。シンメトリ(A)を決定する際、シンメトリモジュール24は式(1)の|(f(xn+1)-f(xn-1))|と|f(xn+2)-f(xn)|の両方を計算し、それらはグラフ64において、それぞれ距離1(d1)と距離2(d2)によって表わされる。d2がd1より大きい場合、エッジはより均質の左側を持っており、スケール画素値は、明確なエッジを保つためには左側のそれらの画素値f(xn-1)およびf(xn)により近く位置するべきである。この結果を得るために、スケール画素xは左側に接近してゆがめられる。スケール画素xをゆがめることは、フィルタ応答の強度(k)が0を越えて、あるいは0未満であると定義されることを要する。
【００６６】
シンメトリ(A)を決定した後、シンメトリモジュール28は、上に記述されるようにルックアップテーブル26をアクセスし、関連する強度値を決定する。シンメトリ(A)が上記の第1のゾーン内に位置する場合、つまり|d1-d2|が0以上で0.45未満の場合、ゆがみ距離モジュール28は、ルックアップテーブル26から第1の強度値(k0=4)を受け取り、強度k=k0をセットする。しかしながら、シンメトリがシンメトリの第2のゾーン内に位置する場合、つまり、|d1-d2|が0.45以上で1未満の場合、ゆがみ距離モジュール28は、ルックアップテーブル26から第2の強度値(k1=0)を受け取り、強度k=k1をセットする。次に、ゆがみ距離モジュール28は、上記の式(4)のうちの1つに従って、スケール画素xと画素xnとの間の距離(s)76を決定する。強度kが4と等しい場合、ゆがみ画素モジュールは上記の式(5)によってゆがみ距離(s')を決定する。強度kが0と等しい場合、ゆがみ画素モジュールは、ゆがみ距離(s')が距離(s)と等しく、スケール画素xがゆがめられないことを決定する。ゆがみ距離(s')を計算すると、上に記述されるように、ディスプレイプロセッサ16は、空間変量もしくは空間不変量バイキュービック補間のいずれかを実行するためにFIRフィルタ30を適用する。
【００６７】
この開示は、画像アップスケーリングのための適応性のある空間変量補間(SVI)技術について記述する。様々な実施例では、この開示に記述された補間技術は、増強されたシャープネス、より高いコントラストおよび正確な補間を含む高い画質を促進する一方で、画像情報の複雑ではないアップスケーリングをサポートする。この補間技術は、一般化された有限インパルス応答(FIR)フィルタを使用して適用することができる。いくつかの実施例では、この補間技術は、シャープエッジに関連する顕著なアーティファクトを抑える一方で、正確な補間を提供するためにコンテンツ適応性である。さらに、この補間技術は、例えば、YCbCr(輝度、青クロミナンス、赤クロミナンス)およびRGB(赤、緑、青)フォーマットの両方における色像およびビデオのアップスケーリングに容易に適用可能である。
【００６８】
ここに記述されたアップスケーリング技術は、ハードウェア、ソフトウェア、ファームウェアあるいはそれの任意のコンビネーションの中でインプリメントされ得る。もしソフトウェアの中でインプリメントされれば、この技術は、機械実行可能な命令を供給するコンピュータ可読媒体を含むプログラムコードに向けられ、イメージを捕らえる装置において実行された時、ここに記述された技術の1つ以上を実行する。その場合、コンピュータ可読媒体は、同期DRAM(SDRAM)、読み出し専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的に消去可能なプログラマブROM(EEPROM)、FLASHメモリなどのようなランダムアクセスメモリ(RAM)を備えることができる。
【００６９】
プログラムコードは、コンピュータ読取り可能な命令の形でメモリに格納され得る。その場合、マイクロプロセッサやデジタル信号プロセサ(DSP)のようなプロセッサは、ここに記述された技術の1つ以上を実行するために、メモリに格納された命令を実行する。ある場合には、この技術は、様々なハードウェアコンポーネントを起動するDSPによって実行される。他の場合では、この開示に記述された技術は、マイクロプロセッサ、1つ以上の特定用途向けIC(ASIC)、1つ以上のフィールドプログラム可能なゲートアレイ(FPGA)あるいは他のあるハードウェア、ソフトウェアのコンビネーションによってインプリメントされてもよい。
【００７０】
開示の様々な実施例が記述された。これら、および他の実施例は、次の請求項の範囲内である。
【図１】
2010500666.tif 000024
【図２】
2010500666.tif 000025
【図３Ａ】
2010500666.tif 000026
【図３Ｂ】
2010500666.tif 000027
【図４】
2010500666.tif 000028
【図５Ａ】
2010500666.tif 000029
【図５Ｂ】
2010500666.tif 000030
【国際調査報告】
2010500666.tif 000031
2010500666.tif 000032