(57)【要約】  画像をアップスケールするためのコンピュータ記憶媒体で符号化されたコンピュータ・プログラムを含む方法、システム、および装置である。前記方法の１つは、低解像度画像をアップスケールするステップと、前記第１のアップスケールされた画像の第１の画素サブセットを生成するステップと、高解像度画像の第２の画素サブセットを生成するステップと、前記画素サブセット内の各サブセットに対して、前記画素サブセットのプロパティの値を決定するステップと、前記画素サブセット内の各サブセットに対して、前記プロパティの値を用いて前記対応する画素サブセットが属する１群のサブセットを決定するステップと、前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、前記最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップとを含む。
2019500667.tif 000002
【特許請求の範囲】
【請求項１】
データ処理装置と、
前記データ処理装置とデータ通信し、前記データ処理装置により実行可能な命令を格納し、かかる実行の際前記データ処理装置に、
第１のアップスケールされた画像の第１の画素サブセットを生成するステップであって、前記第１のアップスケールされた画像は、特定のコンテンツを描画する第１の解像度を有する低解像度画像を前記第１の解像度より高い第２の解像度にアップスケールして、前記第１のアップスケールされた画像を生成することにより生成され、前記第１の画素サブセット内の各サブセットは第１のサイズを有し、前記第１のアップスケールされた画像内の各画素は前記第１の画素サブセット内のサブセットに含まれる、ステップと、
前記特定のコンテンツを描画する、前記第１の解像度より高い第３の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、前記第２の画素サブセット内の各サブセットは第２のサイズを有し、前記高解像度画像内の各画素は前記第２の画素サブセット内のサブセットに含まれ、前記第１の画素サブセットの量は前記第２の画素サブセットの量と同じであり、前記第１の画素サブセットの各々は前記第２の画素サブセットの各々に対応する、ステップと、
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記画素サブセットのプロパティの値を決定するステップと、
前記対応する画素サブセットの前記プロパティの値を用いて、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、前記最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップと、
を含む動作を実施させる、非一時的コンピュータ可読記憶媒体と、
を備える、システム。
【請求項２】
前記動作は、第１の解像度を有する前記低解像度画像を前記第２の解像度にアップスケールして、前記第１のアップスケールされた画像を生成するステップをさらに含む、請求項１に記載のシステム。
【請求項３】
前記動作は、
前記低解像度画像を受信するステップと、
前記高解像度画像を受信するステップと、
を含む、請求項１または２に記載のシステム。
【請求項４】
特定のコンテンツを描画する前記第１の解像度を有する前記低解像度画像を前記第１の解像度より高い前記第２の解像度にアップスケールして、前記第１のアップスケールされた画像を生成するステップは、前記低解像度画像を前記高解像度画像の前記第３の解像度にアップスケールするステップを含む、請求項１、２または３に記載のシステム。
【請求項５】
前記高解像度画像の前記第２の画素サブセットを生成するステップであって、前記第２の画素サブセット内の各サブセットは前記第２のサイズを有する、ステップは、前記高解像度画像の前記第２の画素サブセットを生成するステップであって、前記第２の画素サブセット内の各サブセットは前記第１のサイズを有する、ステップを含む、請求項１乃至４の何れか１項に記載のシステム。
【請求項６】
前記第１のアップスケールされた画像の前記第１の画素サブセットを生成するステップは、前記第１のアップスケールされた画像の第１の非重複画素サブセットを生成するステップを含み、
前記第３の解像度を有する前記高解像度画像の第２の画素サブセットを生成するステップは、前記高解像度画像の第２の非重複画素サブセットを生成するステップを含む、
請求項１乃至５の何れか１項に記載のシステム。
【請求項７】
前記第１のアップスケールされた画像の前記第１の画素サブセットを生成するステップは、前記第１のアップスケールされた画像の第１の重複画素サブセットを生成するステップを含み、
前記第３の解像度を有する前記高解像度画像の第２の画素サブセットを生成するステップは、前記高解像度画像の第２の重複画素サブセットを生成するステップを含む、
請求項１乃至５の何れか１項に記載のシステム。
【請求項８】
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットの前記プロパティの値を決定するステップは、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットのエッジの角度を決定するステップを含む、請求項１乃至７の何れか１項に記載のシステム。
【請求項９】
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットの前記プロパティの値を決定するステップは、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットのエッジの派生物を決定するステップを含む、請求項１乃至８の何れか１項に記載のシステム。
【請求項１０】
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットの前記プロパティの値を決定するステップは、前記対応する画素サブセットおよび前記対応する画素サブセットに隣接する少なくとも１つの画素サブセットを用いて、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットの前記プロパティの値を決定するステップを含む、請求項１乃至９の何れか１項に記載のシステム。
【請求項１１】
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットの前記プロパティの値を決定するステップは、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する第１の画素サブセットおよび前記対応する画素サブセットに隣接する全ての画素サブセットを用いて、前記対応する画素サブセットの前記プロパティの値を決定するステップを含む、請求項１乃至１０の何れか１項に記載のシステム。
【請求項１２】
前記動作は、前記低解像度画像のアップスケーリングの前に前記低解像度画像を圧縮するステップを含む、請求項１乃至１１の何れか１項に記載のシステム。
【請求項１３】
前記動作は、前記高解像度画像の前記第２の画素サブセットを生成する前に前記高解像度画像を鋭敏化するステップを含む、請求項１乃至１２の何れか１項に記載のシステム。
【請求項１４】
前記動作は、
前記１群のサブセットの各々に対して、前記グループ内の前記最終画素サブセットの各々に適用して、前記最終画素サブセットを用いて前記対応する第２の画素サブセットを近似する第２の最終画素サブセットを生成するための第２のフィルタを決定するステップであって、前記第２の最終画素サブセットの全ての組合せは第３のアップスケールされた画像を表す、ステップをさらに含む、請求項１乃至１３の何れか１項に記載のシステム。
【請求項１５】
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する前記最終画素サブセットを生成するための前記フィルタを決定するステップは、
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用するための水平フィルタを決定するステップと、
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用するための垂直フィルタを決定するステップと、
を含む、請求項１乃至１４の何れか１項に記載のシステム。
【請求項１６】
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する前記最終画素サブセットを生成するための前記フィルタを決定するステップは、前記１群のサブセットの各々に対して、他のグループに対する前記フィルタと異なる前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用するための一意なフィルタを決定するステップを含む、請求項１乃至１５の何れか１項に記載のシステム。
【請求項１７】
前記データ処理装置は自動的に前記低解像度画像をアップスケールして、前記第１のアップスケールされた画像を生成する、請求項１乃至１６の何れか１項に記載のシステム。
【請求項１８】
前記データ処理装置および前記コンピュータ可読記憶媒体を含むモバイル・デバイスを含む、請求項１乃至１７の何れか１項に記載のシステム。
【請求項１９】
前記データ処理装置および前記コンピュータ可読記憶媒体を含むパーソナル・コンピュータを備える、請求項１乃至１７の何れかに記載のシステム。
【請求項２０】
前記第１の解像度を有する前記低解像度画像を前記第１の解像度より高い前記第２の解像度にアップスケールして前記第１のアップスケールされた画像を生成するためのプロセッサをさらに含む、請求項１、５乃至１１、１４、１５または１６の何れか１項に記載のシステム。
【請求項２１】
前記プロセッサは画像および信号プロセッサを含む、請求項２０に記載のシステム。
【請求項２２】
データ処理装置により実行可能な命令を格納し、かかる実行の際前記データ処理装置に、
特定のコンテンツを描画する第１の解像度を有する低解像度画像の第１の画素サブセットを生成するステップであって、前記第１の画素サブセット内の各サブセットは第１のサイズを有し、前記低解像度画像内の各画素は前記第１の画素サブセット内のサブセットに含まれる、ステップと、
前記特定のコンテンツを描画する、前記第１の解像度より高い第２の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、前記第２の画素サブセット内の各サブセットは第２のサイズを有し、前記高解像度画像内の各画素は前記第２の画素サブセット内のサブセットに含まれ、前記第１の画素サブセットの量は前記第２の画素サブセットの量と同じであり、前記第１の画素サブセットの各々は前記第２の画素サブセットの各々に対応する、ステップと、
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットのプロパティの値を決定するステップと、
前記対応する画素サブセットの前記プロパティの値を用いて、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、
前記低解像度画像をアップスケーリングして、前記第１の解像度より高い第３の解像度を有する第１のアップスケールされた画像を生成するステップと、
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、前記最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップと、
を含む動作を実施させる、コンピュータ可読記憶媒体。
【請求項２３】
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する前記最終画素サブセットを生成するための前記フィルタを決定するステップは、前記画素サブセットをアップスケールして、前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する前記最終画素サブセットを生成する単一フィルタを生成するステップを含む、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２４】
第１のアップスケールされた画像の第１の画素サブセットを生成するステップであって、前記第１のアップスケールされた画像は、特定のコンテンツを描画する第１の解像度を有する低解像度画像を前記第１の解像度より高い第２の解像度にアップスケールして、それにより前記第１のアップスケールされた画像を生成することにより生成され、前記第１の画素サブセット内の各サブセットは第１のサイズを有し、前記第１のアップスケールされた画像内の各画素は前記第１の画素サブセット内のサブセットに含まれる、ステップと、
前記特定のコンテンツを描画する、前記第１の解像度より高い第３の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、前記第２の画素サブセット内の各サブセットは第２のサイズを有し、前記高解像度画像内の各画素は前記第２の画素サブセット内のサブセットに含まれ、前記第１の画素サブセットの量は前記第２の画素サブセットの量と同じであり、前記第１の画素サブセットの各々は前記第２の画素サブセットの各々に対応する、ステップと、
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットのプロパティの値を決定するステップと、
前記対応する画素サブセットの前記プロパティの値を用いて、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、前記最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップと、
を含む、コンピュータ実行型の方法。
【請求項２５】
前記第１の解像度を有する前記低解像度画像を前記第１の解像度より高い前記第２の解像度にアップスケールして前記第１のアップスケールされた画像を生成するステップをさらに含む、請求項２４に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
システムは、より高い解像度ディスプレイへの表示のために画像をアップスケールしうる。例えば、システムは画像またはフレームをビデオ・ストリームから受信し、当該画像をより低い解像度からより高い解像度にアップスケールすることができる。当該システムは、例えば、当該画像がディスプレイ全体を埋めるように、当該アップスケールされた画像またはフレームを当該ディスプレイに表示してもよい。
【０００２】
様々なシステムは、低解像度画像および高解像度画像の対応するペアのトレーニング・データから導出されたフィルタを使用する。次いで学習された当該フィルタを、当該トレーニング・セット内にない低解像度画像に適用して、より多くの画素を有し当該低解像度画像より詳細な空間情報および色情報を含むより高い解像度バージョンを生成する。
【発明の概要】
【課題を解決するための手段】
【０００３】
幾つかの実装では、アップスケーリング・システムは高解像度画像を低解像度画像から生成する。当該アップスケーリング・システムは軽量補間方法を使用して、初期のアップスケールされた画像を生成してもよい（「軽量」とは、当該補間方法が、比較的低計算リソース、比較的低時間量、またはその両方を必要とすることを意味する）。適切な軽量補間方法の幾つかの例は線形補間、バイリニア補間、バイキュービック補間、およびランチョス・リサンプリングを含む。
【０００４】
当該アップスケーリング・システムはフィルタをトレーニング・データ・セットから学習し、当該フィルタを初期アップスケールされた画像に適用して、当該初期アップスケールされた画像の品質を高め、より高品質な画像を生成する。当該アップスケーリング・システムは、複数のフィルタを学習し、当該フィルタを当該初期アップスケールされた画像内の画素のパッチまたはグループに適用してもよい。
【０００５】
幾つかの例では、当該アップスケーリング・システムはランタイムの間に当該初期アップスケールされた画像およびより高品質な画像を選択的に混合して、最終画像を生成する。当該アップスケーリング・システムは、当該初期アップスケールされた画像および当該より高品質な画像を選択的に混合するときに画素の画素またはグループごとに異なる重みを使用してもよい。
【０００６】
幾つかの実装では、ランタイムおよびトレーニング・プロセスはＮ×Ｎのサイズの低解像度画像で開始し、ターゲット解像度であるｋＮ×ｋＮのサイズのアップスケールされた画像を生成してもよい。トレーニングの間に、アップスケーリング・トレーニング・システムは当該アップスケールされたｋＮ×ｋＮ画像からのパッチと、同一のサイズ、即ち、ｋＮ×ｋＮのターゲット高解像度画像からのパッチを比較する。ランタイムの間に、アップスケーリング・ランタイム・システムは、ｋＮ×ｋＮのサイズのアップスケールされた画像を生成し、トレーニングの間に学習されるフィルタを当該アップスケールされた画像内のパッチに適用し、同一のサイズ、即ち、ｋＮ×ｋＮのより高品質な画像を生成する。当該ランタイム・アップスケーリング・システムは、当該より高品質な画像をユーザに、例えば、モバイル・デバイスのディスプレイ上で提示するためにデバイスに、提供してもよい。
【０００７】
一般に、本明細書で説明した主題の１つの進歩的な態様を、特定のコンテンツを描画する第１の解像度を有する低解像度画像を第１の解像度より高い第２の解像度にアップスケールして第１のアップスケールされた画像を生成するステップと、第１のアップスケールされた画像の第１の画素サブセットを生成するステップであって、第１の画素サブセット内の各サブセットは第１のサイズを有し、第１のアップスケールされた画像内の各画素は第１の画素サブセット内のサブセットに含まれるステップと、当該特定のコンテンツを描画し、第１の解像度より高い第３の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、第２の画素サブセット内の各サブセットは第２のサイズを有し、当該高解像度画像内の各画素は第２の画素サブセット内のサブセットに含まれ、第１の画素サブセットの量は第２の画素サブセットの量と同じであり、第１の画素サブセットの各々は第２の画素サブセットの各々に対応する、ステップと、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該画素サブセットのプロパティの値を決定するステップと、当該対応する画素サブセットのプロパティの値を用いて、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれるステップと、当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて当該対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、当該最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップとからなるアクションを含む方法で具体化することができる。当該態様の他の実施形態は、対応するコンピュータ・システム、装置、および１つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータ・プログラムを含み、それぞれ当該方法の当該アクションを実施するように構成される。１つまたは複数のコンピュータからなるシステムを、動作において当該システムに当該アクションを実施させるソフトウェア、ファームウェア、ハードウェア、または当該システムにインストールされたそれらの組合せにより、特定の動作またはアクションを実施するように構成することができる。１つまたは複数のコンピュータ・プログラムを、データ処理装置により実行されたとき、当該装置に当該アクションを実施させる命令を含めることで特定の動作またはアクションを実施するように構成することができる。
【０００８】
一般に、本明細書で説明した主題の１つの進歩的な態様を、プロセッサを用いて、特定のコンテンツを描画する第１の解像度を有する低解像度画像を第１の解像度より高い第２の解像度にアップスケールして第１のアップスケールされた画像を生成するステップと、第１のアップスケールされた画像の第１の画素サブセットを生成するステップであって、第１の画素サブセット内の各サブセットは第１のサイズを有し、第１のアップスケールされた画像内の各画素は第１の画素サブセット内のサブセットに含まれる、ステップと、当該特定のコンテンツを描画し、第１の解像度より高い第３の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、第２の画素サブセット内の各サブセットは第２のサイズを有し、当該高解像度画像内の各画素は第２の画素サブセット内のサブセットに含まれ、第１の画素サブセットの量は第２の画素サブセットの量と同じであり、第１の画素サブセットの各々は第２の画素サブセットの各々に対応する、ステップと、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットのプロパティの値を決定するステップと、当該対応する画素サブセットのプロパティの値を用いて、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて当該対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、当該最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップとからなるアクションを含む方法で具体化することができる。当該態様の他の実施形態は、対応するコンピュータ・システム、装置、および１つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータ・プログラムを含み、それぞれ当該方法のアクションを実施するように構成される。１つまたは複数のコンピュータからなるシステムを、動作において当該システムに当該アクションを実施させるソフトウェア、ファームウェア、ハードウェア、または当該システムにインストールされたそれらの組合せにより、特定の動作またはアクションを実施するように構成することができる。１つまたは複数のコンピュータ・プログラムを、データ処理装置により実行されたとき、当該装置に当該アクションを実施させる命令を含めることで特定の動作またはアクションを実施するように構成することができる。
【０００９】
一般に、本明細書で説明した主題の１つの進歩的な態様を、特定のコンテンツを描画する第１の解像度を有する低解像度画像の第１の画素サブセットを生成するステップであって、第１の画素サブセット内の各サブセットは第１のサイズを有し、当該低解像度画像内の各画素は第１の画素サブセット内のサブセットに含まれる、ステップと、当該特定のコンテンツを描画する、第１の解像度より高い第２の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、第２の画素サブセット内の各サブセットは第２のサイズを有し、当該高解像度画像内の各画素は第２の画素サブセット内のサブセットに含まれ、第１の画素サブセットの量は第２の画素サブセットの量と同じであり、第１の画素サブセットの各々は第２の画素サブセットの各々に対応する、ステップと、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットのプロパティの値を決定するステップと、当該対応する画素サブセットのプロパティの値を用いて、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、当該低解像度画像をアップスケーリングして、第１の解像度より高い第３の解像度を有する第１のアップスケールされた画像を生成するステップと、当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて当該対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、当該最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップとからなるアクションを含むコンピュータにより実行されうる方法で具体化することができる。当該態様の他の実施形態は、対応するコンピュータ・システム、装置、および１つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータ・プログラムを含み、それぞれ当該方法のアクションを実施するように構成される。１つまたは複数のコンピュータからなるシステムを、動作において当該システムに当該アクションを実施させるソフトウェア、ファームウェア、ハードウェア、または当該システムにインストールされたそれらの組合せにより、特定の動作またはアクションを実施するように構成することができる。１つまたは複数のコンピュータ・プログラムを、データ処理装置により実行されたとき、当該装置に当該アクションを実施させる命令を含めることで特定の動作またはアクションを実施するように構成することができる。
【００１０】
一般に、本明細書で説明した主題の１つの進歩的な態様を、特定のコンテンツを描画する第１の解像度を有する低解像度画像を第１の解像度より高い第２の解像度にアップスケールして第１のアップスケールされた画像を生成するステップと、第１のアップスケールされた画像の第１の画素サブセットを生成するステップであって、第１の画素サブセット内の各サブセットは第１のサイズを有し、第１のアップスケールされた画像内の各画素は第１の画素サブセット内のサブセットに含まれる、ステップと、当該特定のコンテンツを描画する、第１の解像度より高い第３の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、第２の画素サブセット内の各サブセットは第２のサイズを有し、当該高解像度画像内の各画素は第２の画素サブセット内のサブセットに含まれ、第１の画素サブセットの量は第２の画素サブセットの量と同じであり、第１の画素サブセットの各々は第２の画素サブセットの各々に対応する、ステップと、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットのプロパティの値を決定するステップと、当該対応する画素サブセットのプロパティの値を用いて、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて当該対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、当該最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップとからなるアクションを含むコンピュータにより実行されうる方法で具体化することができる。当該態様の他の実施形態は、対応するコンピュータ・システム、装置、および１つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータ・プログラムを含み、それぞれ当該方法のアクションを実施するように構成される。１つまたは複数のコンピュータからなるシステムを、動作において当該システムに当該アクションを実施させるソフトウェア、ファームウェア、ハードウェア、または当該システムにインストールされたそれらの組合せにより、特定の動作またはアクションを実施するように構成することができる。１つまたは複数のコンピュータ・プログラムを、データ処理装置により実行されたとき、当該装置に当該アクションを実施させる命令を含めることで特定の動作またはアクションを実施するように構成することができる。
【００１１】
以上のおよび他の実施形態はそれぞれ、場合によっては、以下の特徴の１つまたは複数を単体または組合せでを含むことができる。当該方法が、当該低解像度画像を受信するステップ、および当該高解像度画像を受信するステップとを含んでもよい。特定のコンテンツを描画する第１の解像度を有する当該低解像度画像を第１の解像度より高い第２の解像度にアップスケールして、第１のアップスケールされた画像を生成するステップは、当該低解像度画像を当該高解像度画像の第３の解像度にアップスケールするステップを含んでもよい。当該高解像度画像の第２の画素サブセットを生成するステップであって、第２の画素サブセット内の各サブセットが第２のサイズを有する、ステップが、当該高解像度画像の第２の画素サブセットを生成するステップであって、第２の画素サブセット内の各サブセットは第１のサイズを有する、ステップを含んでもよい。第１のアップスケールされた画像の第１の画素サブセットを生成するステップは、第１のアップスケールされた画像の第１の非重複画素サブセットを生成するステップを含んでもよい。第３の解像度を有する当該高解像度画像の第２の画素サブセットを生成するステップが、当該高解像度画像の第２の非重複画素サブセットを生成するステップを含んでもよい。第１のアップスケールされた画像の第１の画素サブセットを生成するステップは、第１のアップスケールされた画像の第１の重複画素サブセットを生成するステップを含んでもよい。第３の解像度を有する当該高解像度画像の第２の画素サブセットを生成するステップが、当該高解像度画像の第２の重複画素サブセットを生成するステップを含んでもよい。
【００１２】
幾つかの実装では、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットのプロパティの値を決定するステップが、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットのエッジの角度を決定するステップを含んでもよい。第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットのプロパティの値を決定するステップが、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットのエッジの派生物を決定するステップを含んでもよい。第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットのプロパティの値を決定するステップが、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットおよび当該対応する画素サブセットに隣接する少なくとも１つの画素サブセットを用いて当該対応する画素サブセットのプロパティの値を決定するステップを含んでもよい。第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットのプロパティの値を決定するステップが、当該対応する第１の画素サブセットおよび当該対応する画素サブセットに隣接する全ての画素サブセットを用いて、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットのプロパティの値を決定するステップを含んでもよい。
【００１３】
幾つかの実装では、当該方法が、当該低解像度画像のアップスケーリングの前に当該低解像度画像を圧縮するステップを含んでもよい。当該方法が、当該高解像度画像の第２の画素サブセットを生成する前に当該高解像度画像を鋭敏化するステップを含んでもよい。当該方法が、当該１群のサブセットの各々に対して、当該グループ内の当該最終画素サブセットの各々に適用して、当該最終画素サブセットを用いて当該対応する第２の画素サブセットを近似する第２の最終画素サブセットを生成するための第２のフィルタを決定するステップであって、第２の最終画素サブセットの全ての組合せは第３のアップスケールされた画像を表す、ステップを含んでもよい。当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて当該対応する第２の画素サブセットを近似する当該最終画素サブセットを生成するための当該フィルタを決定するステップが、当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用するための水平フィルタを決定するステップと、当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用するための垂直フィルタを決定するステップとを含んでもよい。当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて当該対応する第２の画素サブセットを近似する当該最終画素サブセットを生成するための当該フィルタを決定するステップが、当該１群のサブセットの各々に対して、当該他のグループに対する当該フィルタと異なる当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用するための一意なフィルタを決定するステップを含んでもよい。
【００１４】
幾つかの実装では、データ処理装置は自動的に、当該低解像度画像をアップスケールして、第１のアップスケールされた画像を生成する。幾つかの実装では、システムが、データ処理装置およびコンピュータ可読記憶媒体を含むモバイル・デバイスを含んでもよい。幾つかの実装では、システムが、データ処理装置およびコンピュータ可読記憶媒体を含むパーソナル・コンピュータを含んでもよい。幾つかの実装では、プロセッサが、画像および信号プロセッサを含んでもよい。当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて当該対応する第２の画素サブセットを近似する最終画素サブセットを生成するための当該フィルタを決定するステップが、当該画素サブセットをアップスケールして、第１の画素サブセットを用いて当該対応する第２の画素サブセットを近似する最終画素サブセットを生成する単一フィルタを生成するステップを含んでもよい。
【００１５】
一般に、本明細書で説明した主題の１つの進歩的な態様を、特定のコンテンツを描画する第１の解像度を有する低解像度画像を第１の解像度より高い第２の解像度にアップスケールして、アップスケールされた画像を生成するステップと、当該アップスケールされた画像の画素サブセットを生成するステップであって、当該画素サブセット内の各サブセットはサイズを有し、当該アップスケールされた画像内の各画素は当該画素サブセット内のサブセットに含まれる、ステップと、当該画素サブセット内の各サブセットに対して、当該画素サブセットのプロパティの値を決定するステップと、当該画素サブセットのプロパティの値を用いて、当該画素サブセット内の各サブセットに対して、当該画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、当該１群のサブセットの各々に対して、フィルタを当該グループ内の画素サブセットの各々に適用して最終画素サブセットを生成するステップであって、当該最終画素サブセットの全ての組合せは第１の解像度より高い第３の解像度を有する当該コンテンツのより高い解像度画像を表す、ステップからなるアクションを含む方法で具体化することができる。当該態様の他の実施形態は、対応するコンピュータ・システム、装置、および１つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータ・プログラムを含み、それぞれ当該方法のアクションを実施するように構成される。１つまたは複数のコンピュータからなるシステムを、動作において当該システムに当該アクションを実施させるソフトウェア、ファームウェア、ハードウェア、または当該システムにインストールされたそれらの組合せにより、特定の動作またはアクションを実施するように構成することができる。１つまたは複数のコンピュータ・プログラムを、データ処理装置により実行されたとき、当該装置に当該アクションを実施させる命令を含めることで特定の動作またはアクションを実施するように構成することができる。
【００１６】
一般に、本明細書で説明した主題の１つの進歩的な態様を、デバイスにより、特定のコンテンツを描画する第１の解像度を有する低解像度画像を受信するステップと、当該低解像度画像の画素サブセットを生成するステップであって、当該画素サブセット内の各サブセットはサイズを有し、当該低解像度画像内の各画素は当該画素サブセット内のサブセットに含まれる、ステップと、当該画素サブセット内の各サブセットに対して、当該画素サブセットのプロパティの値を決定するステップと、当該画素サブセットのプロパティの値を用いて、当該画素サブセット内の各サブセットに対して、当該画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれるステップと、当該低解像度画像を第１の解像度より高い第２の解像度に自動的にアップスケールして、アップスケールされた画像を生成するステップと、当該１群のサブセットの各々に対して、フィルタを当該グループ内の画素サブセットの各々に適用して最終画素サブセットを生成するステップであって、当該最終画素サブセットの全ての組合せは第１の解像度より高い第３の解像度を有する当該コンテンツのより高い解像度画像を表す、ステップとからなるアクションを含む方法で具体化することができる。当該態様の他の実施形態は、対応するコンピュータ・システム、装置、および１つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータ・プログラムを含み、それぞれ当該方法のアクションを実施するように構成される。１つまたは複数のコンピュータからなるシステムを、動作において当該システムに当該アクションを実施させるソフトウェア、ファームウェア、ハードウェア、または当該システムにインストールされたそれらの組合せにより、特定の動作またはアクションを実施するように構成することができる。１つまたは複数のコンピュータ・プログラムを、データ処理装置により実行されたとき、当該装置に当該アクションを実施させる命令を含めることで特定の動作またはアクションを実施するように構成することができる。
【００１７】
以上のおよび他の実施形態はそれぞれ、場合によっては、以下の特徴の１つまたは複数を単体または組合せでを含むことができる。当該方法が、当該最終画素サブセットの全てを結合することで、第１の解像度より大きい第３の解像度を有する当該コンテンツのより高い解像度画像を生成するステップと、当該より高い解像度画像を提示のために提供するステップとを含んでもよい。当該方法が、当該画素サブセットおよび当該最終画素サブセットと結合するための重みを決定するステップと、当該画素サブセットおよび当該最終画素サブセットを当該重みと結合することにより最終画像を生成するステップとを含んでもよい。当該画素サブセットおよび当該最終画素サブセットを結合するための重みを決定するステップが、当該画素サブセットごとに重みを決定するステップを含んでもよい。当該画素サブセットごとに、当該重みを決定するステップが、当該画素サブセットごとに、当該画素サブセットが雑音のみを含むかどうかを判定するステップと、雑音のみを含む当該画素サブセットごとに、当該画素サブセットに対するゼロの重み値を決定するステップと、雑音のみを含む当該画素サブセットごとに、当該画素サブセットに対する非ゼロ重み値を決定するステップとを含んでもよい。当該画素サブセットごとに、当該重みを決定するステップが、当該画素サブセットごとに、当該画素サブセットおよび当該対応する最終画素サブセットの間の類似性を決定するステップと、当該画素サブセットごとに、当該画素サブセットおよび当該対応する最終画素サブセットの間の類似性を用いて重みを決定するステップとを含んでもよい。当該画素サブセットごとに、当該重みを決定するステップが、当該画素サブセットごとに、当該画素サブセットの構造および当該対応する最終画素サブセットの構造の間の類似性を決定するステップと、当該画素サブセットごとに、当該画素サブセットの構造および当該対応する最終画素サブセットの構造の間の類似性を用いて重みを決定するステップとを含んでもよい。当該画素サブセットごとに、当該画素サブセットの構造および当該対応する最終画素サブセットの構造の間の類似性を用いて当該重みを決定するステップが、当該画素サブセットごとに、閾値類似性を満たす類似性を有する画素サブセットごとに、当該対応するより高い解像度画像に対する最終画素サブセットを用い、当該閾値類似性を満たさない類似性を有する画素サブセットごとに、当該より高い解像度画像に対する当該画素サブセットを用いて、当該画素サブセットの構造および当該対応する最終画素サブセットの構造の間の類似性を当該閾値類似性と比較するステップを含んでもよい。
【００１８】
幾つかの実装では、当該方法が、当該低解像度画像を受信するステップを含んでもよい。特定のコンテンツを描画する第１の解像度を有する当該低解像度画像を第１の解像度より高い第２の解像度にアップスケールして当該アップスケールされた画像を生成するステップは、第３の解像度を有する当該アップスケールされた画像を生成するステップを含んでもよい。当該アップスケールされた画像の画素サブセットを生成するステップは、非重複画素サブセットを生成するステップを含んでもよい。当該アップスケールされた画像の画素サブセットを生成するステップは、重複画素サブセットを生成するステップを含んでもよい。当該画素サブセット内の各サブセットに対して、当該画素サブセットのプロパティの値を決定するステップが、当該画素サブセット内の各サブセットに対して、当該画素サブセット内のエッジの角度を決定するステップを含んでもよい。当該画素サブセット内の各サブセットに対して、当該画素サブセットのプロパティの値を決定するステップが、当該画素サブセット内の各サブセットに対して、当該画素サブセット内のエッジの派生物を決定するステップを含んでもよい。当該画素サブセット内の各サブセットに対して、当該画素サブセットのプロパティの値を決定するステップが、当該画素サブセット内の各サブセットに対して、当該夫々の画素サブセットのプロパティの値を、当該夫々の画素サブセットおよび当該夫々の画素サブセットに隣接する少なくとも１つの画素サブセットを用いて決定するステップを含んでもよい。当該画素サブセット内の各サブセットに対して、当該画素サブセットのプロパティの値を決定するステップが、当該画素サブセット内の各サブセットに対して、当該夫々の画素サブセットのプロパティの値を、当該夫々の画素サブセットおよび当該夫々の画素サブセットに隣接する全ての画素サブセットを用いて決定するステップを含んでもよい。
【００１９】
幾つかの実装では、当該方法が、当該１群のサブセットの各々に対して、第２のフィルタを当該グループ内の最終画素サブセットの各々に適用して第２の最終画素サブセットを生成するステップであって、第２の最終画素サブセットの全ての組合せは第３の解像度を有するコンテンツの第２のより高い解像度画像を表す、ステップを含んでもよい。当該１群のサブセットの各々に対して、当該フィルタを当該グループ内の画素サブセットの各々に適用して当該最終画素サブセットを生成するステップが、当該１群のサブセットの各々に対して、水平フィルタを当該グループ内の画素サブセットの各々に適用するステップと、当該１群のサブセットの各々に対して、垂直フィルタを当該グループ内の画素サブセットの各々に適用するステップとを含んでもよい。当該１群のサブセットの各々に対して、当該フィルタを当該グループ内の画素サブセットの各々に適用して当該最終画素サブセットを生成するステップが、当該１群のサブセットの各々に対して、他のグループに対するフィルタと異なる一意なフィルタを当該グループ内の画素サブセットの各々に適用するステップを含んでもよい。
【００２０】
幾つかの実装では、当該低解像度画像を第１の解像度より高い第２の解像度にアップスケールして、アップスケールされた画像を生成するステップは、１つまたは複数の第１のプロセッサにより、当該低解像度画像をアップスケールしてアップスケールされた画像を生成するステップを含んでもよい。当該１群のサブセットの各々に対して、当該フィルタを当該グループ内の画素サブセットの各々に適用して最終画素サブセットを生成するステップが、１つまたは複数の第２の異なるプロセッサによりおよび当該１群のサブセットの各々に対して、当該フィルタを当該グループ内の画素サブセットの各々に適用して当該最終画素サブセットを生成するステップを含んでもよい。当該１群のサブセットの各々に対して、当該フィルタを当該グループ内の画素サブセットの各々に適用して当該最終画素サブセットを生成するステップが、当該画素サブセットをアップスケールして当該最終画素サブセットを生成する単一フィルタを適用するステップを含んでもよい。
【００２１】
本明細書で説明した主題の別の進歩的な態様を、第１の解像度を有する第２の画像を受信するステップと、第２の画像を第２の解像度にアップスケールするステップと、本明細書で説明した任意の実装または態様に従う方法により決定されたフィルタを、当該アップスケールされた画像内の画素のサブセットに適用するステップとを含む、画像をアップスケールするコンピュータ実行型の方法で具体化することができる。
【００２２】
本明細書で説明した主題の別の進歩的な態様を、プロセッサにより実行されたとき、当該プロセッサに本明細書で説明した任意の態様または実装に従う方法を実施させるコンピュータ可読媒体で具体化することができる。本明細書で説明した主題の別の進歩的な態様を、データ処理装置と、当該データ処理装置とデータ通信し、かかる実行の際当該データ処理装置に本明細書で説明した任意の態様または実装に従う方法を含む動作を実施させる当該データ処理装置により実行可能な命令を格納するコンピュータ可読媒体とを備えたシステムで具体化することができる。本明細書で説明した主題の別の進歩的な態様を、本明細書で説明した任意の態様または実装に従う方法を実施するように構成されたデータ処理装置を備えたシステムで具体化することができる。
【００２３】
本明細書で説明した主題の別の進歩的な態様を、データ処理装置と、当該データ処理装置とデータ通信し、当該データ処理装置により実行可能な命令を格納し、かかる実行の際当該データ処理装置に、特定のコンテンツを描画する第１の解像度を有する低解像度画像を第１の解像度より高い第２の解像度にアップスケールして第１のアップスケールされた画像を生成するステップと、第１のアップスケールされた画像の第１の画素サブセットを生成するステップであって、第１の画素サブセット内の各サブセットは第１のサイズを有し、第１のアップスケールされた画像内の各画素は第１の画素サブセット内のサブセットに含まれる、ステップと、当該特定のコンテンツを描画し、第１の解像度より高い第３の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、第２の画素サブセット内の各サブセットは第２のサイズを有し、当該高解像度画像内の各画素は第２の画素サブセット内のサブセットに含まれ、第１の画素サブセットの量は第２の画素サブセットの量と同じであり、第１の画素サブセットの各々は第２の画素サブセットの各々に対応する、ステップと、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該画素サブセットのプロパティの値を決定するステップと、当該対応する画素サブセットのプロパティの値を用いて、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて当該対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、当該最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップとを含む動作を実施させる非一時的コンピュータ可読記憶媒体とを備えるシステムで具体化することができる。
【００２４】
本明細書で説明した主題の別の進歩的な態様を、は特定のコンテンツを描画する第１の解像度を有する低解像度画像を第１の解像度より高い第２の解像度にアップスケールして第１のアップスケールされた画像を生成するプロセッサと、データ処理装置と、当該データ処理装置とデータ通信し、当該データ処理装置により実行可能な命令を格納し、かかる実行の際当該データ処理装置に、第１のアップスケールされた画像の第１の画素サブセットを生成するステップであって、第１の画素サブセット内の各サブセットは第１のサイズを有し、第１のアップスケールされた画像内の各画素は第１の画素サブセット内のサブセットに含まれる、ステップと、当該特定のコンテンツを描画し、第１の解像度より高い第３の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、第２の画素サブセット内の各サブセットは第２のサイズを有し、当該高解像度画像内の各画素は第２の画素サブセット内のサブセットに含まれ、第１の画素サブセットの量は第２の画素サブセットの量と同じであり、第１の画素サブセットの各々は第２の画素サブセットの各々に対応する、ステップと、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットのプロパティの値を決定するステップと、当該対応する画素サブセットのプロパティの値を用いて、第１の画素サブセット内のサブセットごとにまたは第２の画素サブセット内のサブセットごとに、当該対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて当該対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、当該最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップとを含む動作を実施させる非一時的コンピュータ可読記憶媒体とを備えたシステムで具体化することができる。
【００２５】
本明細書で説明した主題を特定の実施形態で実装でき、以下の利点の１つまたは複数をもたらしうる。幾つかの実装では、以下で説明されるシステムおよび方法により、例えば、より少ない計算サイクル、より少ないメモリ、またはその両方を用いて、他のシステムおよび方法よりも効率的に高い品質の高解像度画像を生成することができる。例えば、以下で説明されるシステムは、以下で説明される方法を使用しない他のシステムよりも高速でありうる。幾つかの実装では、以下で説明されるシステムおよび方法により、他の、より低速なプロセスと同様な品質を有する高解像度画像を生成することができる。幾つかの実装では、アップスケーリングの間のハッシングの使用により、以下で説明されるシステムおよび方法は、最終画像において他のシステムよりも少ない雑音で画像をアップスケールすることができる。幾つかの実装では、アップスケーリングの間のハッシングの使用により、以下で説明されるシステムおよび方法は、他のシステムより鋭敏なアップスケールされた画像を生成することができる。幾つかの実装では、アップスケーリング・トレーニング・システムは、高解像度およびアップスケールされた低解像度画像、例えば、補間されたバージョンの当該低解像度画像の間のユークリッド距離を、線形アップスケーリング方法を改善するためのグローバルフィルタリング、例えば、バイリニア補間、バイキュービック補間、またはランチョス・リサンプリングを用いて、削減しうる。幾つかの実装では、トレーニングの間に低解像度画像を圧縮するアップスケーリング・トレーニング・システムは、ランタイムの間にアップスケールされた画像に対して圧縮アーチファクトの削減、エイリアシングの抑制、またはその両方を支援するフィルタを生成する。幾つかの実装では、以下で説明されるシステムおよび方法は、出力画像を生成するときに、アップスケールされた低解像度画像およびフィルタされたパッチを混合して、雑音を削減し、ハーローを削減し、画像を鋭敏化し、画像のコントラストを高め、例えば、強度またはコントラスト、またはこれらの複数の組合せにおける変化ではなく領域またはパッチの構造に基づく混合を可能としうる。
【００２６】
本明細書で説明した主題の１つまたは複数の実装の詳細を添付図面および以下の説明で説明する。当該主題の他の特徴、態様、および利点は詳細な説明、添付図面、および添付の特許請求の範囲から明らかになろう。１態様または実装と関連して説明した機能を別の態様または実装に組み込んでもよいことは理解されるべきである。
【図面の簡単な説明】
【００２７】
【図１】トレーニングおよびランタイムの間にハッシングを使用して画像をアップスケールするアップスケーリング・システムの例を示す。
【図２】アップスケーリング・トレーニング・システムの例である。
【図３Ａ】は、アップスケーリング・ランタイム・システムの例である。
【図３Ｂ】は、アップスケーリング・ランタイム・システムの例である。
【図４】画像をアップスケールするためのコンピュータ・システムの例である。
【図５】画像アップスケーリングのためのフィルタを決定するためのプロセスの流れ図である。
【図６】高解像度画像を生成するためのプロセスの流れ図である。
【図７】本願で説明するコンピュータ実行型の方法と関連して使用されうるコンピューティング・システムのブロック図である。
【発明を実施するための形態】
【００２８】
様々な図面における同様な参照番号および指定は同様な要素を示す。
【００２９】
概要
図１は、トレーニングおよびランタイムの間にハッシングを使用して画像をアップスケールするアップスケーリング・システム１００の例を示す。幾つかの実装では、当該アップスケーリング・システムは、他のシステムと比べてアップスケールされた画像の品質を保ちつつ、当該画像の処理時間を削減しうる。
【００３０】
例えば、トレーニングの間に、アップスケーリング・トレーニング・システムが、両方とも同一のコンテンツを描く低解像度バージョンの画像および高解像度バージョンの画像を使用して、当該アップスケーリング・プロセスに対する複数のフィルタを生成してもよい。当該アップスケーリング・トレーニング・システムは、低解像度画像を圧縮し、低解像度画像内に追加のアーチファクトを導入してもよく、高解像度画像を鋭敏化し、より鮮明な画像、またはその両方を生成し、トレーニングの間に生成されたフィルタを改善してもよい。
【００３１】
アップスケーリング・トレーニング・システムは、軽量アップスケーリング・プロセスを低解像度画像に実施して、例えば、アップスケールされた低解像度画像１０２を生成してもよい。例えば、アップスケーリング・トレーニング・システムはバイリニア補間を低解像度画像に実施してもよい。当該アップスケールされた低解像度画像１０２は、トレーニングの間に使用される対応する高解像度画像１０４と同一のサイズ、例えば、同数の画素（Ａ×Ｂの画素）を有する。
【００３２】
アップスケーリング・トレーニング・システムはアップスケールされた低解像度画像１０２、例えば、軽量アップスケールされた低解像度画像、および高解像度画像１０４を複数のパッチ１０６ａ−ｄおよび１０８ａ−ｄにそれぞれ分割し、各特定の画像からのパッチは同一のサイズ（例えば、同数の画素（Ａ１×Ｂ１の画素））であり、アップスケールされた低解像度画像１０２に対するパッチの数は高解像度画像１０４に対するパッチの数と同一である。
【００３３】
アップスケーリング・トレーニング・システムは、画像のうち１つに対するパッチまたは当該画像の両方に対するパッチの何れかのパッチの各々のプロパティを決定する。幾つかの例では、アップスケーリング・トレーニング・システムは両方ではなく当該画像のうち１つ、例えば、アップスケールされた低解像度画像または高解像度画像からパッチに対するプロパティを決定するのみであり、アップスケーリング・トレーニング・システムは、他の画像からの対応するパッチが当該プロパティに対して同一の値を有すると仮定する。例えば、アップスケールされた低解像度画像の左上側からのパッチ１０６ｃ、例えば、１０×１０の画素であるパッチを分析するとき、アップスケーリング・トレーニング・システムは、当該パッチ内で表されたエッジがおおよそ４５度の角度を有するかまたは当該エッジの角度の微分が１０であると判定してもよい。アップスケーリング・トレーニング・システムはついで、低解像度画像１０２のパッチ１０６ｃおよび高解像度画像１０４からのパッチ１０８ｃの両方に対して当該プロパティの値を使用する。幾つかの実装では、アップスケーリング・トレーニング・システムはパッチ１０８ａ−ｄに対する当該プロパティを高解像度画像１０４から決定する。
【００３４】
アップスケーリング・トレーニング・システムは、当該プロパティの同一の値を有するパッチの各々に対して、高解像度画像１０４の対応するパッチ１０８ａ−ｄを近似するためにアップスケールされた低解像度画像１０２のパッチ１０６ａ−ｄを最も近くアップスケールするフィルタを決定する。アップスケーリング・トレーニング・システムは、閾値が満たされトレーニングが完了するまで、同一のプロパティ値を有するパッチの各々に対してこのプロセスを実施する。当該フィルタは、どのように低解像度画像１０２内のパッチ１０６ａ−ｄからの画素を修正して高解像度画像１０４の対応するパッチ１０８ａ−ｄ内の画素を近似するかのマッピングであってもよい。
【００３５】
例えば、アップスケールされた低解像度画像１０２からのパッチ１０６ａ−ｃの各々のプロパティの値が同一である場合、アップスケーリング・トレーニング・システムは、パッチ１０６ａ−ｃをアップスケールして対応するパッチ１０８ａ−ｃを高解像度画像１０４から近似するときに使用するための単一のフィルタを決定する。パッチ１０６ｄのプロパティの値がパッチ１０６ａ−ｃの各々に対するプロパティの値と異なるとき、アップスケーリング・トレーニング・システムは、パッチ１０６ａ−ｃに使用されるフィルタと比較して、パッチ１０８ｄを高解像度画像１０４から近似するために使用するためのパッチ１０６ｄに対する異なるフィルタを決定する。
【００３６】
アップスケーリング・ランタイム・システムはランタイムの間に、決定されたフィルタを使用して、画像をアップスケールする。例えば、アップスケーリング・ランタイム・システムが低解像度画像を受信し、トレーニングの間に実施されるのと同一の軽量アップスケーリング・プロセスを実施して、アップスケールされた画像を生成する。アップスケーリング・ランタイム・システムは、アップスケールされた画像をパッチに分割して、トレーニングの間に実施されるプロセスと同様に、当該パッチの各々のプロパティを決定する。アップスケーリング・ランタイム・システムは、特定のプロパティ値またはプロパティ値の範囲を有するパッチの各々に対して、トレーニングの間に決定されたものと同一の値または範囲の値を用いて、フィルタを当該パッチに適用し、フィルタされたパッチを生成する。アップスケーリング・ランタイム・システムは当該フィルタされたパッチの全てを結合して、最終画像を生成する。アップスケーリング・ランタイム・システムは、当該最終画像を別のシステム、例えば、ユーザへの表示のために提供してもよく、または、例えば、追加の処理または表示のために当該最終画像を使用してもよい。
【００３７】
例示的なアップスケーリング・トレーニング・システム
図２は、アップスケーリング・トレーニング・システム２００の例である。アップスケーリング・トレーニング・システム２００が低解像度画像２０２および高解像度画像２１０を受信し、画素のパッチに対するフィルタを、例えば、最小二乗ソルバ２２０ａ−ｄを用いて学習する。アップスケーリング・トレーニング・システム２００は、画像をアップスケールする際に使用するためにアップスケーリング・ランタイム・システムに、例えば、以下でより詳細に説明される図３ＡおよびＢのアップスケーリング・ランタイム・システムに、当該フィルタを提供する。
【００３８】
アップスケーリング・トレーニング・システム２００は低解像度画像２０２をアップスケールする２０６。アップスケーリング・トレーニング・システム２００は任意の適切な方法を使用して、低解像度画像２０２のアップスケーリング２０６を行ってもよい。例えば、アップスケーリング・トレーニング・システム２００は低解像度画像２０２のバイリニア補間、バイキュービック補間、またはランチョス・リサンプリングを実施してもよい。
【００３９】
アップスケーリング・トレーニング・システム２００は、低解像度画像２０２を、高解像度画像２１０と同一である解像度にアップスケールする２０６。例えば、アップスケーリング・トレーニング・システム２００は、低解像度画像２０２をアップスケールするとき、低解像度画像２０２のサイズを、２倍、３倍、または４倍増やす。
【００４０】
アップスケーリング・トレーニング・システム２００はアップスケールされた低解像度画像内の画素のパッチを生成する。幾つかの例では、アップスケールされた低解像度画像内の画素のパッチは非重複であり、例えば、各画素は１つパッチ内のみにある。幾つかの例では、アップスケーリング・トレーニング・システム２００は重複するパッチを生成する。例えば、アップスケーリング・トレーニング・システム２００は夫々の画素に集まる各画素に対するパッチを生成してもよい。
【００４１】
アップスケーリング・トレーニング・システム２００は、当該パッチに対する勾配の角度または当該パッチに対する当該勾配の角度の微分のような、当該パッチの各々のプロパティの値を決定する。アップスケーリング・トレーニング・システム２００は、atan2関数のような、当該プロパティの値を決定するための任意の適切な方法を使用して、パッチに対する画像勾配の角度を決定してもよい。アップスケーリング・トレーニング・システム２００は、パッチの任意の適切な幾何的特徴を当該プロパティとして使用してもよい。
【００４２】
例えば、アップスケーリング・トレーニング・システム２００は、Ｎ×Ｎ画素のパッチ、またはＮ×Ｍ画素のパッチを生成し、当該パッチの各々に対して、勾配の角度または勾配の角度の微分を決定してもよい。幾つかの例では、アップスケーリング・トレーニング・システム２００は、例えば、角度αに対するフィルタはα＋１８０に対するフィルタと同一であるので、単位円の対称的な性質に起因して、モジュロ１８０関数を取得された角度値に適用してもよい。
【００４３】
アップスケーリング・トレーニング・システム２００は、画素のパッチをアップスケールされた低解像度画像２０２に対するバケット２１６ａ−ｄに分割する２０８。例えば、アップスケーリング・トレーニング・システム２００は、当該プロパティに対する異なる値ごとのフィルタの代わりに、当該プロパティに対する同様な値を有するパッチ２１６ａ−ｄのバケットごとに単一フィルタを決定して、例えば、メモリおよび処理時間のようなランタイムの間に、要求された計算リソースを削減する。
【００４４】
幾つかの例では、アップスケーリング・トレーニング・システム２００は量子化ステップを適用して、画素をバケット２１６ａ−ｄにを分割し２０８、例えば、計算の削減、アーチファクトの削減またはその両方を行ってもよい。例えば、勾配の角度を使用するとき、アップスケーリング・トレーニング・システム２００は、１、例えば、各角度が自身のバケット２１６ａ−ｄを有するものから、１８０、例えば、各角度が同一のバケット内にあるものまでの量子化因子をを選択してもよい。幾つかの実装では、アップスケーリング・トレーニング・システム２００は、７より小さくない量子化値、好ましくは２３の量子化値を使用してもよい。幾つかの例では、アップスケーリング・トレーニング・システム２００は７の量子化値を使用してもよい。幾つかの例では、アップスケーリング・トレーニング・システム２００は７と２３の間の量子化値を使用してもよい。アップスケーリング・トレーニング・システム２００は当該量子化値を、ランタイム・アップスケーリング・システムにより生成された結果の品質と当該ランタイム・アップスケーリング・システムの実行時間との間のトレードオフとして選択してもよい。例えば、アップスケーリング・システムは、当該アップスケーリング・プロセスをもはや実施しない間に、より高品質な結果に対してより大きい量子化値を使用してもよい。
【００４５】
アップスケーリング・トレーニング・システム２００は画素のパッチを高解像度画像２１０に対するバケット２１８ａ−ｄに分割する２１４。幾つかの例では、高解像度画像２１０内の画素のパッチは非重複であり、例えば、各画素は１つのパッチ内にのみ存在する。幾つかの例では、高解像度画像２１０内の画素のパッチは重複する。例えば、各画素は複数のパッチに含まれてもよい。アップスケーリング・トレーニング・システム２００は、アップスケールされた低解像度画像２０２に対するバケット２１６ａ−ｄを生成するために使用される方法と同様な方法を使用して、高解像度画像２１０に対するバケット２１８ａ−ｄを生成する。
【００４６】
アップスケーリング・トレーニング・システム２００は、１つまたは複数の最小二乗ソルバ２２０ａ−ｄを使用して、アップスケールされた低解像度画像からのパッチを使用して高解像度画像２１０の対応するパッチを近似するフィルタを決定する。例えば、アップスケーリング・トレーニング・システム２００は、アップスケールされた低解像度画像に対するバケット２１６ａ−ｄのうち特定の１つ内のパッチの各々に適用して高解像度画像２１０に対するバケット２１８ａ−ｄのうち対応する１つにおける当該対応するパッチの近似を生成するためのフィルタまたはマッピングを決定する。
【００４７】
アップスケールされた低解像度画像に対して第１のバケット２１６ａ内のパッチを分析するとき、アップスケーリング・トレーニング・システム２００は、第１のバケット２１６ａ内のパッチの各々に適用するための特定のフィルタを決定してもよい。当該特定のフィルタは、フィルタの第１のバケット２１６ａ内のパッチへの適用の出力の、高解像度画像２１０からのパッチの対応する第１のバケット２１８ａ内の対応するパッチの類似性を最大化する。アップスケーリング・トレーニング・システム２００は、アップスケールされた低解像度画像に対する他のバケット２１６ｂ−ｄおよび高解像度画像２１０に対するバケット２１８ｂ−ｄの各々に対して同様な動作を実施する。
【００４８】
幾つかの実装では、アップスケーリング・トレーニング・システム２００は、最小二乗ソルバ２２０ａを使用して、アップスケールされた低解像度画像をパッチに分割しアップスケールされた低解像度パッチの各々に対する行列Ａを構築することで、バケットｑに対するフィルタｈｑを学習する。アップスケーリング・トレーニング・システム２００は高解像度画像２１０をパッチに分割し、当該高解像度パッチの各々に対するベクトルｂを構築する。例えば、アップスケーリング・トレーニング・システム２００は低解像度画像２０２を辞書順で、行または列によりスキャンし、行列Ａを生成してもよい。アップスケーリング・トレーニング・システム２００は複数の行列Ａｑを生成して、例えば、ｑによりインデックス化されたブロック内の式の線形系を形成してもよい。アップスケーリング・トレーニング・システム２００による複数の行列Ａｑの使用は、アップスケーリング・トレーニング・システム２００が一度に処理するデータの量を削減しうる。アップスケーリング・トレーニング・システム２００は高解像度画像２１０、行または列によりスキャンして、ベクトルｂを生成してもよい。アップスケーリング・トレーニング・システム２００が複数の行列Ａｑを生成するとき、アップスケーリング・トレーニング・システムは、複数のベクトルｂｑを行列Ａｑの各々に対して１つ生成してもよい。
【００４９】
アップスケーリング・トレーニング・システム２００は、バケットｑに対して、夫々のパッチの決定されたプロパティを用いてバケットｑに属するアップスケールされた低解像度パッチに対する行列Ａｑを決定する。アップスケーリング・トレーニング・システム２００は、バケットｑに対して、夫々のパッチに対する決定されたプロパティを用いてバケットｑに属する高解像度パッチに対するベクトルｂｑを決定する。幾つかの例では、当該夫々のパッチに対するプロパティは、他の画像からの対応するパッチのプロパティ、例えば、対応する低解像度画像パッチに対するバケットを決定するときの高解像度画像パッチのプロパティであってもよい。
【００５０】
アップスケーリング・トレーニング・システム２００は式（１）、同一のバケット内にある行列Ａｑおよびベクトルｂｑに対する値を用いてフィルタｈｑを決定してもよい。
【００５１】
【数１】
2019500667.tif 000003
【００５２】
幾つかの実装では、アップスケーリング・トレーニング・システム２００は、行列Ａの１つまたは複数の行を別々にまたは並列に処理してもよい。例えば、アップスケーリング・トレーニング・システム２００は、
【００５３】
【数２】
2019500667.tif 000004
【００５４】
またはその両方の決定を、別々におよび潜在的に並列に処理されうる部分に分割してもよい。この処理は、当該フィルタを決定するためにアップスケーリング・トレーニング・システム２００により要求されるメモリの量を削減することができ、アップスケーリング・トレーニング・システム２００が当該決定に対するタスクを並列にまたは両方を処理することを可能としうる。例えば、アップスケーリング・トレーニング・システム２００は
【００５５】
【数３】
2019500667.tif 000005
【００５６】
を決定してもよい。アップスケーリング・トレーニング・システム２００は
【００５７】
【数４】
2019500667.tif 000006
【００５８】
を決定してもよい。
【００５９】
幾つかの実装では、アップスケーリング・トレーニング・システム２００は、入力画像、例えば、低解像度画像および高解像度画像の１つのペアを用いて、最小二乗ソルバ２２０ａ−ｄを用いてフィルタを学習する。幾つかの実装では、アップスケーリング・トレーニング・システム２００は、低解像度および高解像度画像の複数のペアを用いて、最小二乗ソルバ２２０ａ−ｄを用いて当該フィルタを学習する。画像の複数のペアが使用される場合、画像のペア内の２つの画像が互いと同一のコンテンツまたは主題を描画するが、画像の異なるペアが異なるコンテンツを互いに対して描画してもよい。
【００６０】
幾つかの実装では、アップスケーリング・トレーニング・システム２００が外れ角度を除去する。例えば、アップスケーリング・トレーニング・システム２００が任意の適切なスペックル除去、例えば、雑音削減の方法を使用してアーチファクトを削減する。アップスケーリング・トレーニング・システム２００はパッチをスペックル除去して、パッチ内のアーチファクト、矛盾する角度、またはその両方を削減してもよい。
【００６１】
幾つかの実装では、アップスケーリング・トレーニング・システム２００はパッチ内の各画素に対するフィルタを決定し、当該決定されたフィルタを結合して、パッチ全体に対するフィルタを決定してもよい。例えば、アップスケーリング・トレーニング・システム２００は当該決定されたフィルタを平均することで平均フィルタを決定してもよい。
【００６２】
幾つかの実装では、アップスケーリング・トレーニング・システム２００は、低解像度画像２０２をアップスケール２０６する前に低解像度画像２０２を圧縮する２０４。アップスケーリング・トレーニング・システム２００は、低解像度画像２０２を圧縮して２０４、アーチファクトを低解像度画像２０２に導入して、ランタイムの間にアーチファクトを低解像度画像からより良く除去するフィルタを学習してもよい。例えば、アップスケーリング・トレーニング・システム２００は低解像度画像２０２を圧縮して、最小二乗ソルバ２２０ａ−ｄを用いて、圧縮された低解像度画像からそれらの未圧縮の高解像度バージョンへのマッピングを生成するフィルタを学習する。これらの実装において、アップスケーリング・トレーニング・システム２００は当該圧縮された低解像度画像をアップスケールし、アップスケールされた、圧縮された低解像度画像に対するパッチを生成する。
【００６３】
幾つかの実装では、アップスケーリング・トレーニング・システム２００は、画素をバケットに分割する２０８前に、アップスケールされた低解像度画像を平滑化する。例えば、アップスケーリング・トレーニング・システム２００はアップスケールされた低解像度画像を平滑化して、雑音、エイリアシング、圧縮アーチファクト、またはこれらの複数の組合せを削減する。アップスケーリング・トレーニング・システム２００は任意の適切な平滑化アルゴリズムを使用して、アップスケールされた低解像度画像を平滑化してもよい。例えば、アップスケーリング・トレーニング・システム２００は、２つの線形フィルタを使用してアップスケールされた低解像度画像、または１つのフィルタを平滑化してもよい。
【００６４】
幾つかの実装では、アップスケーリング・トレーニング・システム２００は、高解像度画像をバケット２１８ａ−ｄに分割する２１４前に、高解像度画像２１０を鋭敏化する。例えば、アップスケーリング・トレーニング・システム２００は高解像度画像２１０を鋭敏化して、高解像度画像２１０への雑音、劣化、ハーロー、またはこれらの複数の組合せを削減する。アップスケーリング・トレーニング・システム２００は任意の適切な方法を使用して、高解像度画像を鋭敏化してもよい２１０。アップスケーリング・トレーニング・システム２００は当該鋭敏化された高解像度画像をパッチに分割し２１４、当該生成された鋭敏化された高解像度パッチを用いて処理を継続する。
【００６５】
例示的なアップスケーリング・ランタイム・システム
図３ＡおよびＢは、アップスケーリング・ランタイム・システム３００ａ−ｂの例である。アップスケーリング・ランタイム・システム３００ａ−ｂは、アップスケーリング・トレーニング・システム２００により生成されたフィルタを使用して、低解像度画像３０２をより高い解像度画像、例えば、出力画像３１２にアップスケールする。例えば、アップスケーリング・ランタイム・システム３００ａ−ｂは、アップスケーリング・トレーニング・システム２００により使用される同一のアップスケーリング方法、例えば、同一の高速な、軽量な、またはその両方の、アップスケーリング・トレーニング・システム２００により使用されるアップスケーリング方法を用いて、低解像度画像３０２をアップスケールする３０４。
【００６６】
アップスケーリング・ランタイム・システム３００ａ−ｂは全体として低解像度画像３０２をアップスケールし、例えば、個々のパッチまたは画素はアップスケールしない。例えば、アップスケーリング・ランタイム・システム３００ａは低解像度画像３０２内のパッチの各々に対するフィルタを決定し、当該決定されたフィルタの各々を低解像度画像３０２内のパッチに同時に適用する。
【００６７】
アップスケーリング・ランタイム・システム３００ａ−ｂは、画素のパッチをアップスケールされた低解像度画像から生成し、アップスケーリング・トレーニング・システム２００により使用されるのと同一の方法を用いて、画素のパッチをバケットに分割する３０６。例えば、アップスケーリング・ランタイム・システム３００ａ−ｂは、画素のパッチの各々のプロパティをアップスケールされた低解像度画像、例えば、勾配の角度または当該角度の微分から決定し、パッチを、同様なプロパティを有する他のパッチを有するバケットに、例えば、量子化値を用いてグループ化する。
【００６８】
アップスケーリング・ランタイム・システム３００ａ−ｂはフィルタを当該バケットの各々内の画素のパッチに適用する３０８ａ−ｄ。例えば、アップスケーリング・ランタイム・システム３００ａ−ｂは同一のバケット内のパッチのプロパティを使用して、ルックアップテーブルにアクセスし、当該バケット内のパッチの各々に適用すべきフィルタを決定する。
【００６９】
アップスケーリング・ランタイム・システム３００ａ−ｂは当該フィルタされたパッチを集約して出力画像３１２を生成する３１０。アップスケーリング・ランタイム・システム３００ａ−ｂは、ユーザ、例えば、モバイル・デバイスのディスプレイ上に提示するために、出力画像３１２を別のシステムまたはアプリケーションに提供してもよい。
【００７０】
幾つかの実装では、図３Ａに示すアップスケーリング・ランタイム・システム３００ａは、重みを用いてアップスケールされた低解像度画像を集約されたフィルタされたパッチと混合して、出力画像３１２を生成してもよい。例えば、アップスケーリング・ランタイム・システム３００ａは方法、例えば、センサス変換を使用して、画素パッチが雑音または構造化されたコンテンツ、例えば、幾何的形状を含む程度を反映するランダム性重み３１４を決定してもよい。アップスケーリング・ランタイム・システム３００ａは、両方を含めてゼロと１の間の重み値を使用してもよい。
【００７１】
アップスケーリング・ランタイム・システム３００ａはランダム性重みを使用して、アップスケールされた低解像度画像および集約されたフィルタされたパッチの重み付き平均３１６を生成する。アップスケーリング・ランタイム・システム３００ａは当該ランダム性重みを使用して、低解像度画像３０２のパッチが雑音を含むかを決定し、雑音を含む低解像度画像の領域に対するアップスケールされた低解像度画像からパッチを選択する。アップスケーリング・ランタイム・システム３００ａはランダム性重みを使用して、低解像度画像３０２のパッチが構造化されたコンテンツ、例えば、幾何的形状を含むかを判定し、構造化されたコンテンツを含む低解像度画像の領域に対するフィルタされたパッチを使用する。アップスケーリング・ランタイム・システム３００ａは、低解像度画像３０２、アップスケールされた低解像度画像、フィルタされたパッチ、またはこれらの複数の組合せを分析して、画像のパッチまたは領域が雑音または構造化されたコンテンツを含むかどうかを判定してもよい。
【００７２】
アップスケーリング・ランタイム・システム３００ａは選択されたパッチを集計して、出力画像３１２を生成する。例えば、アップスケーリング・ランタイム・システム３００ａは、選択されたアップスケールされたパッチおよび選択されたフィルタされたパッチを集計して、出力画像３１２を生成する。
【００７３】
アップスケーリング・ランタイム・システム３００ａは任意の適切な方法を使用して、低解像度画像３０２のパッチまたは領域の特徴およびこれらのパッチまたは領域に対するランダム性重みを決定してもよい。アップスケーリング・ランタイム・システム３００ａは、当該ランダム性重みを用いて、アップスケールされた低解像度画像の部分および集約されたフィルタされたパッチを結合してもよい。アップスケーリング・ランタイム・システム３００ａは、低解像度画像３０２内の各領域またはパッチに対するランダム性重みを決定する。
【００７４】
幾つかの実装では、図３Ｂに示すアップスケーリング・ランタイム・システム３００ｂは、変化測定値を用いてアップスケールされた低解像度画像を集約されたフィルタされたパッチと混合して、出力画像３１２を生成してもよい。例えば、アップスケーリング・ランタイム・システム３００ｂは、アップスケールされた低解像度画像内の領域またはパッチおよび集約されたフィルタされたパッチの間の変化測定値を決定し、出力画像３１２の夫々の部分に対して使用するための領域またはパッチを夫々の画像から選択してもよい。
【００７５】
幾つかの例では、アップスケーリング・ランタイム・システム３００ｂは、アップスケールされた低解像度画像および特定の領域または特定のパッチに対する集約されたフィルタされたパッチの間の変化の量が閾値量を満たさないと判定し、当該集約されたフィルタされたパッチからの夫々の領域またはパッチを使用して出力画像３１２を生成してもよい。アップスケーリング・ランタイム・システム３００ｂが、アップスケールされた低解像度画像と特定の領域または特定のパッチに対する集約されたフィルタされたパッチとの間の変化の量が閾値量を満たすと判定したとき、アップスケールされた低解像度画像からの夫々の領域またはパッチを使用して出力画像３１２を生成する。例えば、２つの画像内の領域またはパッチが同様であるとき、アップスケーリング・ランタイム・システム３００ｂは集約されたフィルタされたパッチからの夫々の領域またはパッチを使用し、当該２つの画像内の領域またはパッチが実質的に異なるとき、アップスケーリング・ランタイム・システムはアップスケールされた低解像度画像からの夫々の領域またはパッチを使用する。
【００７６】
アップスケーリング・ランタイム・システム３００ｂは、アップスケールされた低解像度画像内の各パッチに対するセンサス変換３１８ａおよび集約されたフィルタされたパッチ内の各パッチに対するセンサス変換３１８ｂを決定して、当該パッチの各々に対して２つのベクトルを生成し、センサス変換３１８ａ−ｂの各々に対して１つのベクトルを生成してもよい。アップスケーリング・ランタイム・システム３００ｂは、アップスケールされた低解像度画像からのパッチに対するベクトルから変化した幾つかのビットを決定またはカウントする３２０ために当該２つのベクトルを、集約されたフィルタされたパッチからのフィルタされたパッチに対するベクトルと比較する。アップスケーリング・ランタイム・システム３００ｂは、当該比較を使用して、当該パッチに対するビットの数を用いて、アップスケールされた低解像度画像および集約されたフィルタされたパッチから当該領域またはパッチの重み付き平均を決定し３２２、出力画像３１２を生成する。
【００７７】
変更されたビットの数が閾値を満たさない、例えば、当該閾値より小さく、および当該２つのパッチまたは領域が同様であるとき、アップスケーリング・ランタイム・システム３００ｂは、出力画像３１２に対して当該フィルタされた領域またはパッチを使用する。変更されたビットの数が閾値を満たさない、例えば、当該閾値以上であり、当該２つのパッチまたは領域が同様でないとき、アップスケーリング・ランタイム・システム３００ｂはアップスケールされた低解像度画像領域またはパッチを出力画像３１２に対して使用する。
【００７８】
例示的なアップスケーリングコンピュータ・システム
図４は、例えば、トレーニングに、ランタイム、またはその両方の間に画像をアップスケールするためのコンピュータ・システム４００の例である。幾つかの実装では、当該フィルタを生成する同一のコンピュータ・システム４００はランタイムの間に当該フィルタを使用してもよい。幾つかの実装では、第１のコンピュータ・システムはトレーニングの間に当該フィルタを生成し、画像をアップスケールためのランタイム利用のために、当該フィルタを、第１のコンピュータ・システムと異なるコンピュータ・システムである第２のコンピュータ・システムに提供する。
【００７９】
コンピュータ・システム４００は特定のスケールに対して１組のフィルタ４１６を生成して、低解像度画像を適用してもよい。例えば、コンピュータ・システム４００は、２倍アップスケールするときに使用するための第１の１組のフィルタおよび３倍または４倍アップスケールするときに使用するための第２の１組のフィルタを生成してもよい。
【００８０】
コンピュータ・システム４００は、トレーニングの間にメモリ４１０から低解像度画像４１２および高解像度画像４１４を受信するプロセッサ４０２を含む。プロセッサ４０２はアップスケールされた低解像度画像を低解像度画像から生成し、アップスケールされた低解像度画像のパッチおよび高解像度画像４１４のパッチを生成し、低解像度画像パッチに適用して当該対応する高解像度画像パッチを近似するためのフィルタ４１６を決定する。プロセッサ４０２はフィルタ４１６をメモリ４１０に格納する。メモリ４１０が、単一のメモリまたは複数のメモリを含んでもよい。
【００８１】
ランタイムプロセスの間に、コンピュータ・システム４００内のプロセッサ４０２は、フィルタ４１６を低解像度画像４１２、例えば、一般にトレーニングの間に使用されるものとは異なる低解像度画像からのパッチに適用して、フィルタされたパッチを生成する。プロセッサ４０２は当該フィルタされたパッチを集計して、出力画像４１８を生成する。プロセッサ４０２は、任意の適切な方法を使用して、当該パッチおよびフィルタ４１６を用いて出力画像４１８を生成してもよい。
【００８２】
プロセッサ４０２は出力画像４１８、または出力画像４１８への参照を、出力画像４１８のディスプレイ４０６への提示をもたらすビデオ・プロセッサ４０４に提供してもよい。幾つかの例では、ビデオ・プロセッサ４０４はプロセッサ４０２の一部であってもよくまたはプロセッサ４０２はビデオ・プロセッサ４０４の機能を実施してもよい。
【００８３】
幾つかの実装では、コンピュータ・システム４００は、画像を処理する画像信号プロセッサ４０８を含む。例えば、画像信号プロセッサ４０８は低解像度画像４１２を、例えば、ディスプレイ４０６の解像度または別の解像度に自動的にアップスケールしてもよい。
【００８４】
これらの実装において、プロセッサ４０２は低解像度画像４１２をアップスケールする必要はなく、アップスケールされた低解像度画像を画像信号プロセッサ４０８から受信してもよい。例えば、コンピュータ・システム４００は、低解像度画像４１２をディスプレイ４０６上で提示するためのコマンドを受信してもよい。当該コマンドは、低解像度画像４１２を提示するためのコンピュータ・システム４００のユーザから受信した入力に基づいてもよい。
【００８５】
当該コマンドに応答して、画像信号プロセッサ４０８は低解像度画像４１２をメモリ４１０から受信し、低解像度画像をアップスケールして、アップスケールされた低解像度画像を生成する。プロセッサ４０２は、アップスケールされた低解像度画像を画像信号プロセッサ４０８から受信し、アップスケールされた低解像度画像に対する画素パッチを生成する。プロセッサ４０２はフィルタをアップスケールされた低解像度画像にを適用して、出力画像４１８を生成する。
【００８６】
幾つかの例では、プロセッサ４０２は、単一のフィルタを低解像度画像４１２に適用して、出力画像４１８を生成してもよい。これらの例において、当該単一フィルタは、別々の初期の、例えば、軽量なアップスケールのステップなしに、初期アップスケーリングおよびフィルタリングの両方を低解像度画像４１２に単一のステップで適用する。
【００８７】
プロセッサ４０２が低解像度画像のパッチまたは領域を重み付けし、フィルタされたパッチをアップスケールされたパッチと結合すると、プロセッサ４０２は、単一フィルタを低解像度画像４１２、即ち、アップスケールされていないバージョンの低解像度画像４１２の各パッチに適用し、アップスケールされた低解像度画像を画像信号プロセッサ４０８から受信してもよい。プロセッサ４０２は、画像信号プロセッサ４０８から受信されたアップスケールされた低解像度画像に対するパッチを決定し、当該パッチの各々に対して重みを決定する。プロセッサ４０２はついで、画像信号プロセッサ４０８から受信されたアップスケールされた低解像度画像に対するパッチを、当該単一フィルタを用いて生成されたフィルタされたパッチと結合する。幾つかの例では、プロセッサ４０２は自動的に、低解像度画像４１２をアップスケールする。
【００８８】
コンピュータ・システム４００がアップスケーリング・トレーニング・システムでありアップスケーリング・ランタイム・システムではない実装において、コンピュータ・システム４００はビデオ・プロセッサ４０４、ディスプレイ４０６、画像信号プロセッサ４０８、出力画像４１８、またはこれらの複数を含まないかもしれない。アップスケーリング・トレーニング・システムではなくアップスケーリング・ランタイム・システム内のコンピュータ・システム４００である実装では、当該コンピュータ・システムは高解像度画像を含まないかもしれない。幾つかの例では、アップスケーリング・ランタイム・システムはビデオ・プロセッサ４０４、ディスプレイ４０６、またはその両方を含まないかもしれない。
【００８９】
コンピュータ・システム４００に言及したが、当該アップスケーリング・システムの実装が、例えば、クラウドコンピューティングサービスとして展開された１組のリモートコンピュータを含む、互いと関連して動作する単一のコンピュータまたは複数のコンピュータを使用してもよい。幾つかの例では、コンピュータ・システム４００はパーソナル・コンピュータまたはモバイル・デバイス、例えば、スマートフォン、またはウェラブルデバイスであってもよい。
【００９０】
例示的なトレーニング・プロセス・フロー
図５は、画像アップスケーリングのためのフィルタを決定するためのプロセス５００の流れ図である。例えば、プロセス５００を、図４で示したコンピュータ・システム４００により使用されることができる。
【００９１】
アップスケーリング・トレーニング・システムが、特定のコンテンツを描画する第１の解像度を有する低解像度画像と、当該特定のコンテンツを描画する、第１の解像度より高い第２の解像度を有する高解像度画像とを受信する（５０２）。幾つかの例では、アップスケーリング・トレーニング・システムは、高解像度画像を受信し、低解像度画像を高解像度画像から、例えば、任意の適切な方法を用いて生成してもよい。幾つかの実装では、当該アップスケーリング・システムは低解像度画像および高解像度画像を同一の初期画像から生成してもよい。
【００９２】
アップスケーリング・トレーニング・システムは低解像度画像を圧縮する（５０４）。例えば、アップスケーリング・トレーニング・システムは、ロッシー画像圧縮方法のような画像圧縮方法を使用して、アーチファクトを低解像度画像に導入する。
【００９３】
アップスケーリング・トレーニング・システムは高解像度画像を鋭敏化する（５０６）。アップスケーリング・トレーニング・システムは任意の適切な鋭敏化システムを使用して高解像度画像を鋭敏化してもよい。
【００９４】
アップスケーリング・トレーニング・システムは低解像度画像を第１の解像度より高い第３の解像度にアップスケールして第１のアップスケールされた画像を生成する（５０８）。第３の解像度は第２の解像度と同一であってもよい。例えば、アップスケーリング・トレーニング・システムが１００×１００の解像度を有する低解像度画像および２００×２００の高解像度画像を受信する。アップスケーリング・トレーニング・システムは低解像度画像を一般的な補間方法、例えば、軽量補間方法を用いて２００×２００にアップスケールする。アップスケーリング・トレーニング・システムは当該圧縮された低解像度画像をアップスケールしてもよい。
【００９５】
アップスケーリング・トレーニング・システムは第１のアップスケールされた画像の第１の画素サブセットを生成する。第１の画素サブセット内の各サブセットは第１のサイズを有し、第１のアップスケールされた画像内の各画素は第１の画素サブセット内のサブセットに含まれる（５１０）。アップスケーリング・トレーニング・システムは高解像度画像の第２の画素サブセットを生成する。第２の画素サブセット内の各サブセットは第２のサイズを有し、高解像度画像内の各画素は第２の画素サブセット内のサブセットに含まれる（５１２）。例えば、アップスケーリング・トレーニング・システムは第１のアップスケールされた画像に対する画素のパッチおよび高解像度画像に対する画素のパッチを生成する。アップスケーリング・トレーニング・システムは第２の画素サブセットを当該鋭敏化された高解像度画像から生成してもよい。当該画素サブセットの各々は連続的な画素を含み、例えば、特定のサブセット内の画素の全ては同一のサブセット内の少なくとも１つの他の画素に隣接する。幾つかの例では、特定のサブセット内の各画素は当該特定のサブセット内の少なくとも２つの他の画素に隣接する。
【００９６】
アップスケーリング・トレーニング・システムは、当該画素サブセット内の各サブセットに対して、当該画素サブセットのプロパティの値を決定する（５１４）。アップスケーリング・トレーニング・システムは幾何的プロパティの任意の適切な値を決定してもよい。アップスケーリング・トレーニング・システムは第１の画素サブセット内のサブセットごとにプロパティの値を決定してもよい。アップスケーリング・トレーニング・システムは第２の画素サブセット内のサブセットごとにプロパティの値を決定してもよい。幾つかの例では、アップスケーリング・トレーニング・システムは、第１の画素サブセットまたは第２の画素サブセットの両方ではなく何れかの中の当該サブセットに対してプロパティの値を決定する。
【００９７】
幾つかの実装では、アップスケーリング・トレーニング・システム、および後のランタイム・システムは当該画素サブセット内のエッジのコントラストを使用してもよい。例えば、当該アップスケーリング・システムは、当該画素サブセット内のエッジの何れかの側の間の相対的な輝度または色差を使用してもよい。幾つかの例では、当該アップスケーリング・システムは、当該画素サブセットに対する異なるプロパティの組合せ、例えば、当該プロパティの値に基づいて異なる画素サブセットに対する２つ以上のプロパティまたは異なるプロパティの結合された値を使用してもよい。
【００９８】
アップスケーリング・トレーニング・システムは、第１の画素サブセット内のサブセットごとに、第１の画素サブセットが属する１群のサブセットを、第１の画素サブセットのプロパティの値を用いて決定する。各第１の画素サブセットは１つのグループのみに含まれる（５１６）。アップスケーリング・トレーニング・システムは、当該バケット内の画素サブセットが同一のまたは同様なプロパティを有するように、当該画素サブセットごとにバケットを決定する。アップスケーリング・トレーニング・システムは、例えば量子化値を使用し、当該量子化値を当該プロパティの決定された値に適用することで、任意の適切な方法を使用して当該１群のサブセットを決定してもよい。幾つかの実装では、アップスケーリング・トレーニング・システムは、第２の画素サブセット内の画素サブセットごとに、第２の画素サブセットが属する１群のサブセットを決定する。
【００９９】
アップスケーリング・トレーニング・システムが第１の画素サブセット内のサブセットに対するプロパティの値を決定すると、アップスケーリング・トレーニング・システムは第１の画素サブセット内のサブセットごとに１群のサブセットを決定する。アップスケーリング・トレーニング・システムが第２の画素サブセット内の当該サブセットに対するプロパティの値を決定すると、アップスケーリング・トレーニング・システムは第１の画素サブセット内のサブセットごとに１群のサブセットまたは第２の画素サブセット内のサブセットごとに１群のサブセットを決定してもよい。例えば、アップスケーリング・トレーニング・システムは、特定の第２の画素サブセットのプロパティの値を使用して、当該特定の第２の画素サブセットが属する１群のサブセットを決定してもよい。幾つかの例では、アップスケーリング・トレーニング・システムは、特定の第２の画素サブセットのプロパティの値を使用して、対応する特定の第１の画素サブセットが属する１群のサブセットを決定する。例えば、当該プロパティの値が高解像度パッチ１０８ｄ、例えば、第２の画素サブセットに関するものであるとき、アップスケーリング・トレーニング・システムは、当該プロパティの値を使用して、アップスケールされた低解像度パッチ１０６ｄに対する１群のサブセットを決定し、アップスケールされた低解像度パッチ１０６ｄを決定されたサブセットのグループ内に配置してもよい。
【０１００】
アップスケーリング・トレーニング・システムは、当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定する、当該最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す（５１８）。アップスケーリング・トレーニング・システムは、グループ内のサブセットの各々に対するフィルタを別々にまたは一緒に決定してもよい。幾つかの例では、アップスケーリング・トレーニング・システムは、当該グループ内の異なるサブセットに対してそれぞれ、複数のフィルタを結合して、当該グループに対する単一フィルタを決定する。
【０１０１】
幾つかの実装では、当該アップスケーリング・システムは、当該１群のサブセットが第１の画素サブセットを含むとき、当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定する。例えば、当該１群のサブセットが、アップスケールされた低解像度パッチ１０６ａ−ｃを有する第１のグループおよびアップスケールされた低解像度パッチ１０６ｄを有する第２のグループ、例えば、第１の画素サブセットを含むとき、当該アップスケーリング・システムは、それぞれ高解像度パッチ１０８ａ、高解像度パッチ１０８ｂ、および高解像度パッチ１０８ｃのうち１つを近似する最終パッチを生成するアップスケールされた低解像度パッチ１０６ａ、アップスケールされた低解像度パッチ１０６ｂ、およびアップスケールされた低解像度パッチ１０６ｃに適用するための第１のフィルタを決定する。当該アップスケーリング・システムは、高解像度パッチ１０８ｄを近似する最終パッチを生成するアップスケールされた低解像度パッチ１０６ｄに適用するための第２のフィルタを決定する。当該アップスケーリング・システムは、当該１群のサブセットの全て、例えば、当該１群の画素パッチの全てに対して当該プロセスを実施する。
【０１０２】
幾つかの実装では、当該１群のサブセットが第２の画素サブセットを含むとき、当該アップスケーリング・システムは、当該１群のサブセットの各々に対して、当該グループ内の画素サブセットに対応する第１の画素サブセットの各々に適用して第１の画素サブセットを用いて対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定する。例えば、当該１群のサブセットは、高解像度パッチ１０８ａ−ｃを含む第１のグループおよび高解像度パッチ１０８ｄを含む第２のグループを含む。当該アップスケーリング・システムは、第１のグループに含まれる高解像度パッチ１０８ａ−ｃに対応するアップスケールされた低解像度パッチ１０６ａ−ｃに適用するための第１のフィルタを決定する。当該アップスケーリング・システムは、第１のフィルタをアップスケールされた低解像度パッチ１０６ａ−ｃの各々に適用することにより、当該アップスケーリング・システムが対応する高解像度パッチ１０８ａ−ｃを近似する最終パッチを生成するように、第１のフィルタを決定する。当該アップスケーリング・システムは、第２のグループに含まれる高解像度パッチ１０８ｄに対応するアップスケールされた低解像度パッチ１０６ｄに適用するための第２のフィルタを決定する。当該アップスケーリング・システムは、第２のフィルタのアップスケールされた低解像度パッチ１０６ｄへの適用が高解像度パッチ１０８ｄを近似する最終パッチを生成するように、第２のフィルタを決定する。当該アップスケーリング・システムは、当該１群のサブセットの全て、例えば、当該１群の画素パッチの全てに対してこのプロセスを実施する。
【０１０３】
上述のプロセス５００におけるステップの順序は例示的なものにすぎず、当該画像アップスケーリングのためのフィルタの決定を異なる順序で実施することができる。例えば、アップスケーリング・トレーニング・システムは第２の画素サブセットを生成し、ついで第１の画素サブセットを生成してもよい。幾つかの例では、アップスケーリング・トレーニング・システムは、高解像度画像を鋭敏化し、第２の画素サブセットを鋭敏化された高解像度画像から生成し、ついで低解像度画像を圧縮してもよい。幾つかの実装では、アップスケーリング・トレーニング・システムは、低解像度画像を圧縮し、圧縮された低解像度画像をアップスケールし、第１の画素サブセットを、アップスケールされた、圧縮された低解像度画像から生成し、ついで高解像度画像を鋭敏化し、第２の画素サブセットを生成してもよい。
【０１０４】
幾つかの実装では、プロセス５００は追加のステップ、より少ないステップを含むことができ、または当該ステップの幾つかを複数のステップに分割することができる。例えば、プロセス５００が、ステップ５０４または５０６の１つまたはその両方なしにステップ５０２、および５０８乃至５１８を含んでもよい。
【０１０５】
例示的なランタイムプロセス・フロー
図６は、高解像度画像を生成するためのプロセス６００の流れ図である。例えば、プロセス６００を図４で示したコンピュータ・システム４００により使用することができる。
【０１０６】
アップスケーリング・ランタイム・システムが、特定のコンテンツを描画する第１の解像度を有する低解像度画像を受信する（６０２）。アップスケーリング・ランタイム・システムは、低解像度画像を提供するためのユーザ要求に応答して低解像度画像を受信してもよい。幾つかの例では、アップスケーリング・ランタイム・システムは、例えばウェブ・ページの一部として低解像度画像のディスプレイへの提示を要求する別のシステムから低解像度画像を受信してもよい。
【０１０７】
アップスケーリング・ランタイム・システムは、低解像度画像を第１の解像度より高い第２の解像度にアップスケールして、アップスケールされた画像を生成する（６０４）。例えば、アップスケーリング・ランタイム・システムは、最終画像が提示されるであろうディスプレイの解像度を決定する。アップスケーリング・ランタイム・システムは、当該最終画像が提示されるであろうディスプレイの解像度を用いて第２の解像度を決定する。幾つかの例では、アップスケーリング・ランタイム・システムは、当該最終画像の提示に関する他の情報を用いて第２の解像度を決定してもよい。
【０１０８】
アップスケーリング・ランタイム・システムはアップスケールされた画像の画素サブセットを生成し、当該画素サブセット内の各サブセットはサイズを有し、アップスケールされた画像内の各画素は当該画素サブセット内のサブセットに含まれる（６０６）。アップスケーリング・ランタイム・システムは、トレーニングの間にアップスケーリング・トレーニング・システムにより生成された画素サブセットと同一のサイズの画素サブセットを生成して、フィルタを生成する。
【０１０９】
アップスケーリング・ランタイム・システムは、当該画素サブセット内のサブセットごとに、当該画素サブセットのプロパティの値を決定する（６０８）。アップスケーリング・ランタイム・システムは、トレーニングの間にアップスケーリング・トレーニング・システムにより使用されるプロパティと同一のプロパティを使用して、当該フィルタを生成する。
【０１１０】
アップスケーリング・ランタイム・システムは、当該画素サブセット内の各サブセットに対して、当該画素サブセットが属する１群のサブセットを、当該画素サブセットのプロパティの値を用いて決定し、各画素サブセットは１つのグループのみに含まれる（６１０）。アップスケーリング・ランタイム・システムは、任意の適切な方法を使用して当該１群のサブセットを決定してもよい。アップスケーリング・ランタイム・システムは、当該フィルタを生成するときに、アップスケーリング・トレーニング・システムにより使用される方法と同一の方法を使用する。
【０１１１】
アップスケーリング・ランタイム・システムは、当該１群のサブセットの各々に対して、フィルタを当該グループ内の画素サブセットの各々に適用して、最終画素サブセットを生成する。当該最終画素サブセットの全ての組合せは第１の解像度より高い第３の解像度を有するコンテンツのより高い解像度画像を表す（６１２）。アップスケーリング・ランタイム・システムは、当該フィルタを当該画素サブセットに適用することにより当該最終画素サブセットを生成する。当該フィルタは本明細書で説明した主題の任意の態様または実装により取得されたフィルタであってもよく、１例として、図５の方法により取得されたフィルタであってもよい。
【０１１２】
幾つかの例では、アップスケーリング・ランタイム・システムは、当該最終画素サブセットを生成するとき当該フィルタの全てではなく当該フィルタの幾つかを使用してもよい。例えば、アップスケーリング・ランタイム・システムは、２０個のフィルタをアップスケーリング・トレーニング・システムから受信し、特定の低解像度画像に対する当該１群の画素サブセットに基づいて２０個のフィルタのうち１０個のみを使用してもよい。
【０１１３】
アップスケーリング・ランタイム・システムは当該画素サブセットと当該最終画素サブセットを結合するための重みを決定する（６１４）。例えば、アップスケーリング・ランタイム・システムは、最終画像を生成するとき、アップスケールされた低解像度画像からまたは当該フィルタされた画素サブセットから画素サブセットを使用するかどうかを判定してもよい。
【０１１４】
アップスケーリング・ランタイム・システムは、当該画素サブセットと当該最終画素サブセットを当該重みと結合することにより、最終画像を生成する（６１６）。アップスケーリング・ランタイム・システムは、当該画素サブセットの両方における画素値を、例えば、ゼロから１のスケールで重み付けしてもよく、または、当該重みに応じて１つの画素サブセットまたは他のサブセットから当該画素値を使用してもよい。
【０１１５】
アップスケーリング・ランタイム・システムは提示のために当該最終画像を提供する（６１８）。例えば、アップスケーリング・ランタイム・システムは、当該最終画像をディスプレイへの提示のためにビデオ・プロセッサに提供する。
【０１１６】
上述のプロセス６００におけるステップの順序は例示的なものにすぎず、高解像度画像の生成を異なる順序で実施することができる。例えば、アップスケーリング・ランタイム・システムは画素サブセットを生成し、ついで低解像度画像をアップスケールしてもよい。
【０１１７】
幾つかの実装では、プロセス６００は追加のステップ、より少ないステップを含むことができ、または当該ステップの幾つかを複数のステップに分割することができる。例えば、プロセス６００が、ステップ６０２乃至６１２を含んでもよい。幾つかの例では、プロセス６００が、ステップ６１８ではなくステップ６０２乃至６１６を含んでもよい。幾つかの実装では、アップスケーリング・ランタイム・システムは、単一フィルタを、当該画素サブセットをアップスケールし当該画素サブセットを当該画素サブセットのより高い解像度バージョンを近似するフィルタされた画素サブセットにマップする画素サブセットに適用してもよい。例えば、アップスケーリング・ランタイム・システムはステップ６０４および６１２を単一のステップで実施する。
【０１１８】
任意の実装詳細
幾つかの実装では、アップスケーリング・システムは、任意の介在パッチなしに特定のパッチのすぐ隣のパッチからの情報を用いて、特定のパッチのプロパティの値を決定してもよい。例えば、アップスケーリング・システムは、当該特定のパッチおよび４つの隣接パッチ、例えば、任意の介在パッチなしに当該特定のパッチの直上、直下、すぐ左、およびすぐ右のパッチを用いて、特定のパッチに対する勾配の角度を決定してもよい。幾つかの例では、アップスケーリング・システムは、当該特定のパッチのすぐ隣のパッチの全てからの情報を用いてパッチのプロパティを決定してもよい。
【０１１９】
アップスケーリング・トレーニング・システムが複数のパッチからの情報を使用して特定のパッチに対するプロパティの値を決定して１組のフィルタを生成するとき、当該生成されたフィルタを使用するアップスケーリング・ランタイム・システムは、複数のパッチからの情報を使用して、ランタイムの間に特定のパッチに対する当該プロパティの値を決定する。当該プロパティの値を決定するために使用される特定のパッチのすぐ隣の１組の複数のパッチはトレーニングおよびランタイムの間で同一である。
【０１２０】
幾つかの実装では、アップスケーリング・システムは複数のフィルタを低解像度画像からのコンテンツに適用して出力画像を生成してもよい。例えば、当該アップスケーリング・システムは、低解像度画像を使用してアップスケールされた低解像度画像を生成して、第１のフィルタをアップスケールされた低解像度画像からの画素パッチに適用することにより第１のフィルタされた画像を生成してもよい。当該アップスケーリング・システムは、第２のフィルタを第１のフィルタされた画像からの画素パッチに、例えば、第１のフィルタされた画像の生成と同様な方式で適用することにより第２のフィルタされた画像を生成してもよい。当該アップスケーリング・システムは、閾値に到達したと判定するまで、フィルタの当該フィルタされた画像のパッチへの適用を繰り返してもよい。当該閾値は、幾つかのフィルタリング反復、出力画像の所望の品質、または別の閾値であってもよい。
【０１２１】
幾つかの実装では、アップスケーリング・システムは、画素パッチのバケット内の画素パッチに適用するための別々の水平フィルタおよび垂直フィルタを決定してもよい。例えば、当該アップスケーリング・システムが、トレーニング・プロセスの間の水平フィルタおよび垂直フィルタを決定してもよい。当該アップスケーリング・システムは、ランタイムの間に当該水平フィルタおよびついで当該垂直フィルタを、トレーニングの間に使用されるのと同一の順序で使用するか、または、当該水平フィルタおよび当該垂直フィルタをランタイムの間に使用するための別のシステムに、例えば、トレーニングの間に使用されるのと同一の順序で提供してもよい。幾つかの例では、当該アップスケーリング・システムは、トレーニングの間に当該垂直フィルタおよびついで当該水平フィルタを決定し、ついでランタイムの間に当該垂直フィルタおよびついで当該水平フィルタを適用してもよい。
【０１２２】
幾つかの実装では、アップスケーリング・システムは、パッチの各バケットに適用するための一意なフィルタを決定する。例えば、アップスケーリング・トレーニング・システムは、画素パッチの第１のバケットが異なるバケットであり、画素パッチの第２のバケットと異なるパッチを含むとき、第１のフィルタが第２のフィルタと異なるフィルタであるように、画素パッチの第１のバケットに適用するための第１のフィルタおよび画素パッチの第２のバケットに適用するための第２のフィルタを決定する。
【０１２３】
幾つかの実装では、各画素は１つの画素パッチまたは画素サブセットのみに含まれる。幾つかの実装では、各画素パッチまたは画素サブセットは１つのみのバケットまたは画素サブセットのグループに含まれる。
【０１２４】
幾つかの実装では、アップスケーリング・システムは、画素パッチを生成して、低解像度画像をアップスケールする前に当該画素パッチのプロパティを決定してもよい。例えば、当該アップスケーリング・システムは、アップスケーリング・トレーニング・システムまたはアップスケーリング・ランタイム・システムであろうとなかろうと、軽量アップスケーリング・プロセスおよび高品質アップスケーリング・プロセスの両方を実施して高解像度出力画像を生成する単一フィルタを低解像度画像のパッチに適用してもよい。
【０１２５】
幾つかの実装では、アップスケーリング・システムは、ルックアップテーブルを用いて画素バケットを実装してもよい。例えば、アップスケーリング・トレーニング・システム２００は、当該ルックアップテーブル内の各角度値と、夫々の勾配角度を有するパッチに適用するための対応するフィルタに対する識別子とを格納してもよい。これらの実装において、アップスケーリング・トレーニング・システム２００の出力は、当該ルックアップテーブル内のエントリと当該フィルタに対する識別子の間のマッピング、例えば、関連するローカルに適応的なフィルタを指すハッシュテーブルの鍵であってもよい。
【０１２６】
幾つかの実装では、アップスケーリング・ランタイム・システムがフィルタされたパッチを、例えば、アップスケールされた低解像度画像からのアップスケールされたパッチと結合するとき、当該アップスケーリング・システムは、フィルタの前に各パッチまたはパッチのバケットを分析して、当該対応するパッチまたは当該バケット内のパッチをフィルタすべきかどうかを判定してもよい。例えば、アップスケーリング・ランタイム・システムが、パッチ、またはバケット内の各パッチが雑音を含むかどうかを判定してもよい。アップスケーリング・ランタイム・システムが、特定のパッチまたはパッチのバケットが雑音を含むと判定したとき、アップスケーリング・ランタイム・システムは、当該特定のパッチまたはパッチの当該バケット内のパッチをフィルタしない。アップスケーリング・ランタイム・システムが、特定のパッチまたはパッチのバケットが雑音を含まない、例えば、構造化されたコンテンツを含むと判定したとき、アップスケーリング・ランタイム・システムは当該特定のパッチまたはパッチのバケット内のパッチをフィルタする。アップスケーリング・ランタイム・システムは、当該フィルタされたパッチをフィルタされなかったアップスケールされたパッチと結合して、出力画像を生成する。
【０１２７】
追加の実装の詳細
本明細書で説明した主題および当該機能的動作の実施形態を、デジタル電子回路で、有形に−具現化されたコンピュータソフトウェアまたはファームウェアで、当該構造開示された本明細書およびそれらの構造的な均等物で、またはそれらの１つまたは複数の組合せでを含めて、コンピュータハードウェアで実装することができる。本明細書で説明した主題の実施形態を、１つまたは複数のコンピュータ・プログラム、即ち、データ処理装置により実行するためのまたはその動作を制御するための有形非-一時的プログラム・キャリアで符号化されたコンピュータ・プログラム命令の１つまたは複数のモジュールとして実装することができる。あるいはまたはさらに、当該プログラム命令は、データ処理装置により実行するための適切な受信機装置に送信するための情報を符号化するために生成される、人工的に-生成された伝播信号、例えば、マシン生成された電気的、光学的、または電磁気信号で符号化されることができる。当該コンピュータ記憶媒体はマシン可読記憶デバイス、マシン可読記憶基板、ランダムまたはシリアル・アクセス・メモリデバイス、またはそれらの１つまたは複数の組合せであることができる。
【０１２８】
「データ処理装置」という用語は、例としてプログラム可能プロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データ処理ハードウェアを指し、データを処理するための全ての種類の装置、デバイス、およびマシンを包含する。当該装置はさらに、特殊目的論理回路、例えば、ＦＰＧＡ（フィールド・プログラム可能ゲートアレイ）またはＡＳＩＣ（特殊用途向け集積回路）であることができるかまたはそれを含むことができる。当該装置は場合によっては、ハードウェアに加えて、コンピュータ・プログラムに対する実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコル・スタック、データベース管理システム、オペレーティング・システム、またはそれらの１つまたは複数の組合せを構成するコードを含むことができる。
【０１２９】
コンピュータ・プログラムはまた、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと称するかまたはそれとして説明されてもよく、コンパイル型またはインタプリタ型言語、または宣言型または手続型言語を含む任意の形態のプログラミング言語で書かれることができ、スタンドアロンプログラムまたはモジュールとして、コンピューティング環境で使用するのに適したコンポーネント、サブルーチン、または他のユニットとしてを含めて、任意の形態で展開されることができる。コンピュータ・プログラムはファイルシステム内のファイルに対応してもよいがその必要はない。プログラムを、他のプログラムまたはデータを保持するファイルの一部、例えば、マークアップ言語ドキュメントで、問題となっている当該プログラム専用の単一のファイルで、または複数の協調ファイルで格納された１つまたは複数のスクリプト、例えば、１つまたは複数のモジュールを格納するファイル、サブプログラム、またはコードの部分に格納することができる。コンピュータ・プログラムは、１つのコンピュータで実行されるか、または、１つのサイトに配置されるかもしくは複数のサイトにわたって分散し通信ネットワークにより相互接続される複数のコンピュータで実行されるように展開されることができる。
【０１３０】
本明細書で説明した当該プロセスおよび論理フローを、入力データで動作し出力を生成することで機能を実施するための１つまたは複数のコンピュータ・プログラムを実行する１つまたは複数のプログラム可能コンピュータにより実施することができる。当該プロセスおよび論理フローはまた、特殊目的論理回路、例えば、ＦＰＧＡ（フィールド・プログラム可能ゲートアレイ）またはＡＳＩＣ（特殊用途向け集積回路）により実施でき、装置を特殊目的論理回路、例えば、ＦＰＧＡ（フィールド・プログラム可能ゲートアレイ）またはＡＳＩＣ（特殊用途向け集積回路）として実装することもできる。
【０１３１】
コンピュータ・プログラムの実行に適したコンピュータは、例として、汎用目的または特殊目的マイクロプロセッサまたはその両方、または任意の他種の中央演算装置を含む。一般的に、中央演算装置は、読取専用メモリまたはランダム・アクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実施または実行するための中央演算装置および命令およびデータを格納するための１つまたは複数のメモリデバイスである。一般的に、コンピュータはまた、データを格納するための１つまたは複数の大容量記憶デバイス、例えば、磁気、磁気光ディスク、または光ディスクを含むか、またはデータを送受信するようにそれらに動作可能に接続される。しかし、コンピュータはかかるデバイスを有する必要はない。さらに、コンピュータを、幾つか例を挙げると、別のデバイス、例えば、携帯電話、スマートフォン、パーソナルデジタルアシスタント（ＰＤＡ）、モバイル・オーディオまたはビデオ・プレイヤ、ゲーム・コンソール、全地球測位システム（ＧＰＳ）受信機、またはポータブル記憶デバイス、例えば、ユニバーサル・シリアル・バス（ＵＳＢ）フラッシュ・ドライブに埋め込むことができる。
【０１３２】
コンピュータ・プログラム命令およびデータを格納するのに適したコンピュータ可読媒体は、例示的な半導体メモリデバイス、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュ・メモリデバイス、磁気ディスク、例えば、内部ハード・ディスクまたは取外し可能ディスク、光磁気ディスク、およびＣＤ-ＲＯＭおよびＤＶＤ−ＲＯＭディスクによりを含めて、全ての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。当該プロセッサおよび当該メモリは特殊目的論理回路により補間するかまたは当該回路に組み込むことができる。
【０１３３】
ユーザとの対話を提供するために、本明細書で説明した主題の実施形態を、情報を当該ユーザに表示するためのディスプレイデバイス、例えば、ＣＲＴ（カソード・レイ・チューブ）またはＬＣＤ（液晶ディスプレイ）モニタを有するコンピュータ、および当該ユーザがそれにより入力を当該コンピュータに提供できるキーボードおよびポインティング・デバイス、例えば、マウスまたはトラックボールで実装することができる。他種のデバイスをユーザとの対話を提供するためにも使用でき、例えば、当該ユーザに提供されるフィードバックは、センサフィードバック、例えば、視覚的フィードバック、可聴フィードバック、または触覚フィードバックからなる任意の形態であることができ、当該ユーザからの入力を音響、会話、または触覚入力を含む任意の形態で受信することができる。さらに、コンピュータは、当該ユーザにより使用されるデバイスとドキュメントを送受信することによって、例えば、当該ウェブ・ブラウザから受信された要求に応答してウェブ・ページをユーザのデバイス上のウェブ・ブラウザに送信することで、ユーザと対話することができる。
【０１３４】
本明細書で説明した主題の実施形態を、バックエンドコンポーネントを、例えば、データサーバとして含む、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含む、またはフロントエンドコンポーネント、例えば、ユーザがそれを通じて本明細書で説明した主題の実装と対話できるグラフィカルユーザインタフェースまたはウェブ・ブラウザを有するクライアントコンピュータ、または１つまたは複数のかかるバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含む、コンピューティング・システムで実装することができる。当該システムの当該コンポーネントは任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークにより相互接続されることができる。通信ネットワークの例はローカル・エリアネットワーク（ＬＡＮ）および広域ネットワーク（ＷＡＮ）、例えば、インターネットを含む。
【０１３５】
当該コンピューティング・システムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは一般に互いから離れており、一般に通信ネットワークを通じて対話する。クライアントおよびサーバの当該関係は、当該夫々のコンピュータ上で実行され互いに対してクライアントサーバ関係を有するコンピュータ・プログラムにより生ずる。幾つかの実施形態では、サーバは、例えば、クライアントとして動作する当該ユーザデバイスと対話するユーザにデータを表示しそこからユーザ入力を受信する目的で、データ、例えば、ＨＴＭＬページをユーザデバイスに送信する。当該ユーザデバイスで生成されたデータ、例えば、当該ユーザ対話の結果を、当該サーバでの当該ユーザデバイスから受信することができる。
【０１３６】
１つのかかるタイプのコンピュータの例が図７に示されている。図７は汎用コンピュータ・システム７００の略図を示す。システム７００を、１実装に従う以前に説明した当該コンピュータ実行型の方法の何れかと関連して説明した動作により使用することができる。システム７００はプロセッサ７１０、メモリ７２０、記憶デバイス７３０、および入出力デバイス７４０を含む。コンポーネント７１０、７２０、７３０、および７４０の各々は、システム・バス７５０を用いて相互接続される。プロセッサ７１０は、システム７００内での実行のための命令を処理することができる。１実装では、プロセッサ７１０はシングルスレッドプロセッサである。別の実装において、プロセッサ７１０はマルチスレッドプロセッサである。プロセッサ７１０は、メモリ７２０にまたは入出力デバイス７４０上のユーザインタフェースに対するグラフィカル情報を表示するための記憶デバイス７３０に格納された命令を処理することができる。
【０１３７】
メモリ７２０は情報をシステム７００内に記憶する。１実装では、メモリ７２０はコンピュータ可読媒体である。１実装では、メモリ７２０は揮発性メモリ・ユニットである。別の実装において、メモリ７２０は不揮発性メモリ・ユニットである。
【０１３８】
記憶デバイス７３０はシステム７００に対する大容量記憶を提供することができる。１実装では、記憶デバイス７３０はコンピュータ可読媒体である。様々な異なる実装では、記憶デバイス７３０はフロッピディスクデバイス、ハード・ディスクデバイス、光ディスクデバイス、またはテープ・デバイスであってもよい。
【０１３９】
入出力デバイス７４０はシステム７００に対する入出力動作を提供する。１実装では、入出力デバイス７４０はキーボードおよび／またはポインティング・デバイスを含む。別の実装において、入出力デバイス７４０はグラフィカルユーザインタフェースを表示するためのディスプレイユニットを含む。
【０１４０】
本明細書は多数の具体的な実装詳細を含むが、これらはクレームされうるもの範囲への制限として解釈されるべきではなく、特定の実施形態に固有でありうる特徴の説明として解釈されるべきである。別々の実施形態の文脈において本明細書で説明した特定の特徴をまた、単一の実施形態における組合せで実装することができる。反対に、単一の実施形態の文脈で説明した様々な特徴をまた、複数の実施形態で別々にまたは任意の適切な部分的組合せで実装することができる。さらに、特徴は特定の組合せで動作するように上述され最初にそのようにクレームされているかもしれないが、クレームされた組合せからの１つまたは複数の特徴を幾つかのケースでは当該組合せから実施してもよく当該クレームされた組合せは部分的組合せまたは部分的組合せの変形に関連してもよい。
【０１４１】
同様に、動作を図面において特定の順序で説明したが、これは、所望の結果を実現するために、かかる動作を示した特定の順序でまたは逐次的順序で実施されること、または全ての示された動作が実施されることを要求するものと理解されるべきではない。特定の環境において、マルチタスキングおよび並列処理が有利であるかもよい。さらに、上述の実施形態における様々なシステムモジュールおよびコンポーネントの当該分離は全ての実施形態においてかかる分離を要求するものと理解されるべきではなく、当該説明されたプログラムコンポーネントおよびシステムを一般に単一のソフトウェア製品に統合するかまたは複数のソフトウェア製品にパッケージ化できることは理解されるべきである。
【０１４２】
当該主題の特定の実施形態を説明した。他の実施形態は添付の特許請求の範囲内にある。例えば、特許請求の範囲で記載した動作を異なる順序で実施して、依然として所望の結果を実現することができる。１例として、添付図面に示したプロセスは、所望の結果を実現するために示した特定の順序、または逐次的順序を必ずしも要求しない。幾つかのケースでは、マルチタスキングおよび並列処理が有利であるかもしれない。幾つかの実装では、アップスケーリング・システム、例えば、アップスケーリング・ランタイム・システムの一部または全部、をフィールド・プログラム可能ゲートアレイ（ＦＰＧＡ）で実装してもよい。例えば、軽量補間方法を画像および信号プロセッサで実装し、当該アップスケーリング方法の残りをＦＰＧＡで実装してもよい。
【符号の説明】
【０１４３】
４００  コンピュータ・システム
４０２  プロセッサ
４０４  ビデオ・プロセッサ
４０６  ディスプレイ
４０８  画像信号プロセッサ
４１０  メモリ
【図１】
2019500667.tif 000007
【図２】
2019500667.tif 000008
【図３Ａ】
2019500667.tif 000009
【図３Ｂ】
2019500667.tif 000010
【図４】
2019500667.tif 000011
【図５】
2019500667.tif 000012
【図６】
2019500667.tif 000013
【図７】
2019500667.tif 000014
【手続補正書】
【提出日】平成30年8月16日(2018.8.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理装置と、
前記データ処理装置とデータ通信し、前記データ処理装置により実行可能な命令を格納し、かかる実行の際前記データ処理装置に、
特定のコンテンツを描画する第１の解像度を有する低解像度画像を前記第１の解像度より高い第２の解像度にアップスケールして、第１のアップスケールされた画像を生成するステップと、
前記第１のアップスケールされた画像の第１の画素サブセットを生成するステップであって、前記第１の画素サブセット内の各サブセットは第１のサイズを有し、前記第１のアップスケールされた画像内の各画素は前記第１の画素サブセット内のサブセットに含まれる、ステップと、
前記特定のコンテンツを描画する、前記第１の解像度より高い第３の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、前記第２の画素サブセット内の各サブセットは第２のサイズを有し、前記高解像度画像内の各画素は前記第２の画素サブセット内のサブセットに含まれ、前記第１の画素サブセットの量は前記第２の画素サブセットの量と同じであり、前記第１の画素サブセットの各々は前記第２の画素サブセットの各々に対応し、前記高解像度画像は前記第１のアップスケールされた画像から分離した画像である、ステップと、
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、ａ）前記対応する画素サブセットおよびｂ）前記対応する画素サブセットに含まれない１つまたは複数の画素を含む前記対応する画素サブセットに隣接する少なくとも１つの画素サブセットを用いて、前記対応する画素サブセットのプロパティの値を決定するステップと、
前記対応する画素サブセットの前記プロパティの値を用いて、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、前記最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップと、
を含む動作を実施させる、非一時的コンピュータ可読記憶媒体と、
を備える、システム。
【請求項２】
前記動作は、
前記低解像度画像をアップスケールする前に、前記低解像度画像を受信するステップと、
前記高解像度画像の前記第２の画素サブセットを生成する前に、前記高解像度画像を受信するステップと、
を含む、請求項１に記載のシステム。
【請求項３】
特定のコンテンツを描画する前記第１の解像度を有する前記低解像度画像を前記第１の解像度より高い前記第２の解像度にアップスケールして、前記第１のアップスケールされた画像を生成するステップは、前記低解像度画像を前記高解像度画像の前記第３の解像度にアップスケールするステップを含む、請求項１に記載のシステム。
【請求項４】
前記第１のサイズは前記第2のサイズと同じサイズであり、
前記高解像度画像の前記第２の画素サブセットを生成するステップであって、前記第２の画素サブセット内の各サブセットは前記第２のサイズを有する、ステップは、前記高解像度画像の前記第２の画素サブセットを生成するステップであって、前記第２の画素サブセット内の各サブセットは前記第１のサイズを有する、ステップを含む、請求項１に記載のシステム。
【請求項５】
前記第１のアップスケールされた画像の前記第１の画素サブセットを生成するステップは、前記第１のアップスケールされた画像の第１の非重複画素サブセットを生成するステップを含み、
前記第３の解像度を有する前記高解像度画像の第２の画素サブセットを生成するステップは、前記高解像度画像の第２の非重複画素サブセットを生成するステップを含む、
請求項１に記載のシステム。
【請求項６】
前記第１のアップスケールされた画像の前記第１の画素サブセットを生成するステップは、前記第１のアップスケールされた画像の第１の重複画素サブセットを生成するステップを含み、
前記第３の解像度を有する前記高解像度画像の第２の画素サブセットを生成するステップは、前記高解像度画像の第２の重複画素サブセットを生成するステップを含む、
請求項１に記載のシステム。
【請求項７】
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットの前記プロパティの値を決定するステップは、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットのエッジの角度を決定するステップを含む、請求項１に記載のシステム。
【請求項８】
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットの前記プロパティの値を決定するステップは、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットのエッジの派生物を決定するステップを含む、請求項１に記載のシステム。
【請求項９】
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットの前記プロパティの値を決定するステップは、前記対応する画素サブセットおよび前記対応する画素サブセットに含まれない１つまたは複数の画素を各々含む前記対応する画素サブセットに隣接する全ての画素サブセットを用いて、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットの前記プロパティの値を決定するステップを含む、請求項１に記載のシステム。
【請求項１０】
前記１群のサブセットの各々に対して、前記フィルタを決定するステップは、トレーニング・プロセス中に、前記１群のサブセットの各々に対して、前記フィルタを決定するステップを含み、
前記動作は、前記トレーニング・プロセス中に、前記低解像度画像のアップスケーリングの前に前記低解像度画像を圧縮するステップを含む、請求項１に記載のシステム。
【請求項１１】
前記１群のサブセットの各々に対して、前記フィルタを決定するステップは、トレーニング・プロセス中に、前記１群のサブセットの各々に対して、前記フィルタを決定するステップを含み、
前記動作は、前記トレーニング・プロセス中に、前記高解像度画像の前記第２の画素サブセットを生成する前に前記高解像度画像を鋭敏化するステップを含む、請求項１に記載のシステム。
【請求項１２】
前記動作は、
前記１群のサブセットの各々に対して、前記グループ内の前記最終画素サブセットの各々に適用して、前記最終画素サブセットを用いて前記対応する第２の画素サブセットを近似する第２の最終画素サブセットを生成するための第２のフィルタを決定するステップであって、前記第２の最終画素サブセットの全ての組合せは第３のアップスケールされた画像を表す、ステップを含む、請求項１に記載のシステム。
【請求項１３】
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する前記最終画素サブセットを生成するための前記フィルタを決定するステップは、
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用するための水平フィルタを決定するステップと、
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用するための垂直フィルタを決定するステップと、
を含む、請求項１に記載のシステム。
【請求項１４】
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する前記最終画素サブセットを生成するための前記フィルタを決定するステップは、前記１群のサブセットの各々に対して、他のグループに対する前記フィルタと異なる前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用するための一意なフィルタを決定するステップを含む、請求項１に記載のシステム。
【請求項１５】
前記データ処理装置は自動的に前記低解像度画像をアップスケールして、前記第１のアップスケールされた画像を生成する、請求項１に記載のシステム。
【請求項１６】
前記データ処理装置および前記コンピュータ可読記憶媒体を含むモバイル・デバイスを含む、請求項１に記載のシステム。
【請求項１７】
前記データ処理装置および前記コンピュータ可読記憶媒体を含むパーソナル・コンピュータを備える、請求項１に記載のシステム。
【請求項１８】
特定のコンテンツを描画する第１の解像度を有する低解像度画像を前記第１の解像度より高い第２の解像度にアップスケールして、第１のアップスケールされた画像を生成するプロセッサと、
データ処理装置と、
前記データ処理装置とデータ通信し、前記データ処理装置により実行可能な命令を格納し、かかる実行の際前記データ処理装置に、
前記第１のアップスケールされた画像の第１の画素サブセットを生成するステップであって、前記第１の画素サブセット内の各サブセットは第１のサイズを有し、前記第１のアップスケールされた画像内の各画素は前記第１の画素サブセット内のサブセットに含まれる、ステップと、
前記特定のコンテンツを描画する、前記第１の解像度より高い第３の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、前記第２の画素サブセット内の各サブセットは第２のサイズを有し、前記高解像度画像内の各画素は前記第２の画素サブセット内のサブセットに含まれ、前記第１の画素サブセットの量は前記第２の画素サブセットの量と同じであり、前記第１の画素サブセットの各々は前記第２の画素サブセットの各々に対応し、前記高解像度画像は前記第１のアップスケールされた画像から分離した画像である、ステップと、
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、ａ）前記対応する画素サブセットおよびｂ）前記対応する画素サブセットに含まれない１つまたは複数の画素を含む前記対応する画素サブセットに隣接する少なくとも１つの画素サブセットを用いて、前記対応する画素サブセットのプロパティの値を決定するステップと、
前記対応する画素サブセットの前記プロパティの値を用いて、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、前記最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表す、ステップと、
を含む動作を実施させる、非一時的コンピュータ可読記憶媒体と、
を備える、システム。
【請求項１９】
前記プロセッサは、画像および前記データ処理装置とは異なる信号プロセッサを含む、請求項１８に記載のシステム。
【請求項２０】
データ処理装置により実行可能な命令を格納し、かかる実行の際前記データ処理装置に、
特定のコンテンツを描画する第１の解像度を有する低解像度画像の第１の画素サブセットを生成するステップであって、前記第１の画素サブセット内の各サブセットは第１のサイズを有し、前記低解像度画像内の各画素は前記第１の画素サブセット内のサブセットに含まれる、ステップと、
前記特定のコンテンツを描画する、前記第１の解像度より高い第２の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、前記第２の画素サブセット内の各サブセットは第２のサイズを有し、前記高解像度画像内の各画素は前記第２の画素サブセット内のサブセットに含まれ、前記第１の画素サブセットの量は前記第２の画素サブセットの量と同じであり、前記第１の画素サブセットの各々は前記第２の画素サブセットの各々に対応する、ステップと、
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、ａ）前記対応する画素サブセットおよびｂ）前記対応する画素サブセットに含まれない１つまたは複数の画素を含む前記対応する画素サブセットに隣接する少なくとも１つの画素サブセットを用いて、前記対応する画素サブセットのプロパティの値を決定するステップと、
前記対応する画素サブセットの前記プロパティの値を用いて、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、前記最終画素サブセットの全ての組合せは前記特定のコンテンツを描画するアップスケールされた画像を表す、ステップと、
を含む動作を実施させる、非一時的コンピュータ可読記憶媒体。
【請求項２１】
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する前記最終画素サブセットを生成するための前記フィルタを決定するステップは、前記画素サブセットをアップスケールして、前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する前記最終画素サブセットを生成する単一フィルタを生成するステップを含む、請求項２０に記載のコンピュータ可読記憶媒体。
【請求項２２】
特定のコンテンツを描画する第１の解像度を有する低解像度画像を第１の解像度より高い第２の解像度にアップスケールして、第１のアップスケールされた画像を生成するステップと、
前記第１のアップスケールされた画像の第１の画素サブセットを生成するステップであって、前記第１の画素サブセット内の各サブセットは第１のサイズを有し、前記第１のアップスケールされた画像内の各画素は前記第１の画素サブセット内のサブセットに含まれる、ステップと、
前記特定のコンテンツを描画する、前記第１の解像度より高い第３の解像度を有する高解像度画像の第２の画素サブセットを生成するステップであって、前記第２の画素サブセット内の各サブセットは第２のサイズを有し、前記高解像度画像内の各画素は前記第２の画素サブセット内のサブセットに含まれ、前記第１の画素サブセットの量は前記第２の画素サブセットの量と同じであり、前記第１の画素サブセットの各々は前記第２の画素サブセットの各々に対応し、前記高解像度画像は前記第１のアップスケールされた画像とは異なり、前記高解像度画像は前記第１のアップスケールされた画像から分離した画像である、ステップと、
前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、ａ）前記対応する画素サブセットおよびｂ）前記対応する画素サブセットに含まれない１つまたは複数の画素を含む前記対応する画素サブセットに隣接する少なくとも１つの画素サブセットを用いて、前記対応する画素サブセットのプロパティの値を決定するステップと、
前記対応する画素サブセットの前記プロパティの値を用いて、前記第１の画素サブセット内のサブセットごとにまたは前記第２の画素サブセット内のサブセットごとに、前記対応する画素サブセットが属する１群のサブセットを決定するステップであって、各画素サブセットは１つのグループのみに含まれる、ステップと、
前記１群のサブセットの各々に対して、前記グループ内の前記画素サブセットに対応する前記第１の画素サブセットの各々に適用して前記第１の画素サブセットを用いて前記対応する第２の画素サブセットを近似する最終画素サブセットを生成するためのフィルタを決定するステップであって、前記最終画素サブセットの全ての組合せは第２のアップスケールされた画像を表し、前記１群のサブセット内の第１のグループに対する第１のフィルタは前記１群のサブセット内の第２のグループに対する第２のフィルタとは異なるフィルタである、ステップと、
を含む、コンピュータ実行型の方法。
【国際調査報告】
2019500667.tif 000015
2019500667.tif 000016
2019500667.tif 000017