(57)【特許請求の範囲】
【請求項１】
ユーザ選択関心領域についての画像品質を向上させる方法であって、
デバイスのカメラモジュールを使って、シーンの複数の画像をキャプチャするステップと、
前記デバイスにおいて、前記複数の画像のうちのある画像における関心領域を特定するユーザ入力を受信するステップであって、前記関心領域が、前記画像の全エリアに満たない、前記シーンの前記画像の一部分を特定し、前記シーンの前記複数の画像のうちの少なくとも1つの画像が、前記関心領域を特定する前記ユーザ入力の受信の後で前記カメラモジュールによってキャプチャされる、ステップと、
前記シーンの前記複数の画像を使って、前記関心領域のより高解像度の画像を作成するステップであって、
前記関心領域の前記より高解像度の画像に関連付けられた高解像度グリッドを作成すること、
前記シーンの前記画像に関連付けられた1つまたは複数の低解像度グリッドを特定することであって、各低解像度グリッドが1つの画像に関連付けられ、各低解像度グリッドの各ポイントが、前記カメラモジュールによってキャプチャした情報を含むこと、
前記高解像度グリッドと前記1つまたは複数の低解像度グリッドの各々との間の位置調整を判断すること、
前記位置調整に基づいて前記複数の画像の各々における前記関心領域の位置を判断すること、および
各画像の前記関心領域のそれぞれの内部に前記1つまたは複数の低解像度グリッドからの対応する位置調整したピクセルからの情報を前記高解像度グリッドのポイントに追加することによって
作成するステップとを含み、
前記方法は、
前記関心領域の選択の受信中、フリーコンピュータ処理ユニットサイクルの間に前記複数の画像のうちの2つ以上の画像を位置調整するための変換を推定するステップをさらに含む、方法。
【請求項２】
前記シーンの前記複数の画像のうちの少なくとも1つの画像が、前記関心領域を特定する前記ユーザ入力の受信に先立ってキャプチャされ、
前記シーンがディスプレイ出力上に表示されるとき、前記関心領域を特定する前記ユーザ入力が、前記複数の画像の前記一部分を特定する前記ディスプレイ出力上でのタッチスクリーン入力である、請求項1に記載の方法。
【請求項３】
前記デバイスにおいて、前記シーンの前記複数の画像の前記キャプチャに先立って、前記関心領域の前記より高解像度の画像を作成する際に使用するためのキャプチャするべき画像の数を選択するユーザ入力を受信するステップをさらに含み、
前記複数の画像をキャプチャするステップが、前記シーンの、前記数の画像を自動的にキャプチャするステップを含み、
前記関心領域の前記より高解像度の画像を作成するステップが、いくつかの前記画像の各画像中の前記関心領域を特定し、いくつかの前記画像の各画像中の前記関心領域のぞれぞれを使って、前記関心領域の前記より高解像度の画像を作成するステップを含む、請求項1に記載の方法。
【請求項４】
前記デバイス上の少なくとも1つのセンサーについてのセンサーデータをキャプチャするステップと、
前記センサーデータを前記複数の画像に関連付けるステップとをさらに含み、
前記センサーデータが、前記関心領域の前記より高解像度の画像を作成するのに使われる、請求項1に記載の方法。
【請求項５】
前記複数の画像のうちの2つ以上の画像間の1つまたは複数のピクセルの動きを判断するステップと、
前記動きに基づいて前記関心領域の前記より高解像度の画像を作成するステップとをさらに含む、請求項1に記載の方法。
【請求項６】
前記関心領域の前記より高解像度の画像をプレビュー画像として表示するステップと、
前記関心領域の前記より高解像度の画像の解像度のさらなる増大を要求する前記プレビュー画像の前記表示に応答して、ユーザ入力を受信するステップと、
前記シーンの前記複数の画像を使って、前記関心領域の第2のより高解像度の画像を作成するステップであって、
前記関心領域の前記第2のより高解像度の画像に関連付けられた第2のより高解像度のグリッドを作成すること、
1つまたは複数の高解像度グリッドを特定すること、
前記第2のより高解像度のグリッドと前記1つまたは複数の高解像度グリッドの各々との間の位置調整を判断すること、および
前記1つまたは複数の高解像度グリッドからの前記対応する位置調整したピクセルからの情報を、前記第2のより高解像度のグリッドの各ポイントに追加することによって作成するステップとをさらに含む、請求項1に記載の方法。
【請求項７】
前記複数の画像の各々における前記関心領域の前記位置を判断するステップは、前記複数の画像におけるホモグラフィまたは個々のピクセルの計算された動きを使用する、前記高解像度グリッドと前記1つまたは複数の低解像度グリッドの各々との間の前記位置調整に基づく、請求項1に記載の方法。
【請求項８】
前記関心領域の前記より高解像度の画像を前記デバイスのディスプレイ出力上に表示するステップをさらに含む、請求項1に記載の方法。
【請求項９】
前記関心領域の外にある複数の画像の少なくとも一部分の第2のより高解像度の画像を作成するステップをさらに含む、請求項8に記載の方法。
【請求項１０】
メモリと、
ユーザ入力モジュールと、
センサーを備えるカメラモジュールと、
前記メモリおよび前記カメラモジュールに結合されたプロセッサとを備えるデバイスであって、前記プロセッサが、
前記デバイスの前記カメラモジュールを使って、シーンの複数の画像をキャプチャし、
前記ユーザ入力モジュールにおいて、前記複数の画像のうちのある画像における関心領域を特定するユーザ入力を受信し、前記関心領域が、前記複数の画像の全エリアに満たない、前記シーンの前記複数の画像の一部分を特定し、前記シーンの前記複数の画像のうちの少なくとも1つの画像が、前記関心領域を特定する前記ユーザ入力の受信の後で前記カメラモジュールによってキャプチャされ、
前記シーンの前記複数の画像を使って、前記関心領域のより高解像度の画像を作成するようにであって、
前記関心領域の前記より高解像度の画像に関連付けられた高解像度グリッドを作成すること、
前記シーンの前記画像に関連付けられた1つまたは複数の低解像度グリッドを特定することであって、各低解像度グリッドが1つの画像に関連付けられ、各低解像度グリッドの各ポイントが、前記カメラモジュールによってキャプチャした情報を含むこと、
前記高解像度グリッドと前記1つまたは複数の低解像度グリッドの各々との間の位置調整を判断すること、
前記位置調整に基づいて前記複数の画像の各々における前記関心領域の位置を判断すること、および
各画像の前記関心領域のそれぞれの内部に前記1つまたは複数の低解像度グリッドからの対応する位置調整したピクセルからの情報を前記高解像度グリッドのポイントに追加することによって
作成するように構成され、
前記複数の画像のうちの2つ以上の画像を位置調整するための変換が、前記関心領域の選択の受信中、フリーコンピュータ処理ユニットサイクルの間に推定される、デバイス。
【請求項１１】
前記プロセッサは、前記デバイスにおいて、前記シーンの前記複数の画像の前記キャプチャに先立って、前記関心領域の前記より高解像度の画像を作成時に使用するためにキャプチャするいくつかの画像を選択するユーザ入力を受信するようにさらに構成される、請求項10に記載のデバイス。
【請求項１２】
前記複数の画像のうちの2つ以上の画像間の1つまたは複数のピクセルの動きを判断し、
前記動きに基づいて前記関心領域の前記より高解像度の画像を作成するようにさらに構成される、請求項10に記載のデバイス。
【請求項１３】
ディスプレイ出力をさらに備え、
前記シーンの前記複数の画像のうちの少なくとも1つが、前記関心領域を特定する前記ユーザ入力の受信に先立ってキャプチャされ、
前記ユーザ入力モジュールが、前記ディスプレイ出力のタッチスクリーン入力を受信する、請求項10に記載のデバイス。
【請求項１４】
前記プロセッサが、
前記関心領域の前記より高解像度の画像を前記デバイスの前記ディスプレイ出力上に表示するようにさらに構成される、請求項13に記載のデバイス。
【請求項１５】
前記プロセッサが、
前記関心領域の前記より高解像度の画像が前記デバイスの前記ディスプレイ出力上に表示される間、前記プロセッサ上で利用可能なフリーコンピュータ処理ユニットサイクルを特定し、
前記関心領域の前記より高解像度の画像が前記ディスプレイ出力上に表示される間、前記シーンの前記複数の画像を使って、前記関心領域の外にある前記複数の画像の少なくとも一部分の第2のより高解像度の画像を作成するようにさらに構成される、請求項14に記載のデバイス。
【請求項１６】
コンピュータ可読記憶媒体に結合されたプロセッサによって実行されると、デバイスに、ユーザ選択関心領域についての画像品質を向上させる命令のセットを含むコンピュータ可読記憶媒体であって、前記命令が、
前記デバイスにおいてカメラモジュールによって、シーンの複数の画像をキャプチャすること、
前記デバイスにおいて、前記複数の画像のうちのある画像における関心領域を特定するユーザ入力を受信することであって、前記関心領域が、前記複数の画像の全エリアに満たない、前記シーンの前記複数の画像の一部分を特定し、前記シーンの前記複数の画像のうちの少なくとも1つの画像が、前記関心領域を特定する前記ユーザ入力の受信の後で前記カメラモジュールによってキャプチャされる、受信すること、ならびに
前記シーンの前記複数の画像を使って、前記関心領域のより高解像度の画像を作成することであって、
前記関心領域の前記より高解像度の画像に関連付けられた高解像度グリッドを作成すること、
前記シーンの前記画像に関連付けられた1つまたは複数の低解像度グリッドを特定することであって、各低解像度グリッドが1つの画像に関連付けられ、各低解像度グリッドの各ポイントが、カメラモジュールによってキャプチャした情報を含むこと、
前記高解像度グリッドと前記1つまたは複数の低解像度グリッドの各々との間の位置調整を判断すること、
前記位置調整に基づいて前記複数の画像の各々における前記関心領域の位置を判断すること、および
各画像の前記関心領域のそれぞれの内部に前記1つまたは複数の低解像度グリッドからの対応する位置調整したピクセルからの情報を前記高解像度グリッドのポイントに追加することによって
作成することを前記プロセッサにさせるように構成され、
前記命令は、
前記関心領域の選択の受信中、フリーコンピュータ処理ユニットサイクルの間に前記複数の画像のうちの2つ以上の画像を位置調整するための変換を推定することを前記プロセッサにさせるようにさらに構成される、コンピュータ可読記憶媒体。
【請求項１７】
前記命令が、
前記関心領域の前記より高解像度の画像が前記デバイスのディスプレイ出力上で表示される間、前記デバイス上で利用可能なフリーコンピュータ処理ユニットサイクルを特定すること、
前記関心領域の前記より高解像度の画像が前記ディスプレイ出力上に表示される間、前記関心領域の外にある前記複数の画像の少なくとも一部分の第2のより高解像度の画像を作成することを前記プロセッサにさせるようにさらに構成される、請求項16に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記命令が、
前記関心領域の前記より高解像度の画像をプレビュー画像として表示すること、
前記関心領域の前記より高解像度の画像の解像度のさらなる増大を要求する前記プレビュー画像の前記表示に応答して、ユーザ入力を受信すること、ならびに
前記シーンの前記複数の画像を使って、前記関心領域の追加のより高解像度の画像を作成することであって、
前記関心領域の前記追加のより高解像度の画像に関連付けられた追加のより高解像度のグリッドを作成すること、
前記高解像度グリッドを含む1つまたは複数の高解像度グリッドを特定すること、
前記追加のより高解像度のグリッドと前記1つまたは複数の高解像度グリッドの各々との間の位置調整を判断すること、および
前記1つまたは複数の高解像度グリッドからの前記対応する位置調整したピクセルからの情報を、前記追加のより高解像度のグリッドの各ポイントに追加することによって
作成することを前記プロセッサにさせるようにさらに構成される、請求項16に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記命令が、
前記関心領域の前記より高解像度の画像を受諾または拒否するためのユーザインターフェースを用いて、前記関心領域の前記より高解像度の画像をプレビュー画像として表示することを前記プロセッサにさせるようにさらに構成される、請求項16に記載のコンピュータ可読記憶媒体。
【請求項２０】
ユーザ選択関心領域についての画像品質を向上させるためのデバイスであって、
シーンの複数の画像をキャプチャするための手段と、
前記複数の画像のうちのある画像における関心領域を特定するユーザ入力を受信するための手段であって、前記関心領域が、前記複数の画像の全エリアに満たない、前記シーンの前記複数の画像の一部分を特定し、前記シーンの前記複数の画像のうちの少なくとも1つの画像が、前記関心領域を特定する前記ユーザ入力の受信の後でカメラモジュールによってキャプチャされる、手段と、
前記関心領域のより高解像度の画像に関連付けられた高解像度グリッドを作成するための手段と、
前記シーンの前記画像に関連付けられた1つまたは複数の低解像度グリッドを特定するための手段であって、各低解像度グリッドが1つの画像に関連付けられ、各低解像度グリッドの各ポイントが、前記シーンの前記複数の画像をキャプチャするための前記手段によってキャプチャした情報を含む、手段と、
前記高解像度グリッドと前記1つまたは複数の低解像度グリッドの各々との間の位置調整を判断するための手段と、
前記位置調整に基づいて前記複数の画像の各々における前記関心領域の位置を判断するための手段と、
各画像の前記関心領域のそれぞれの内部に前記1つまたは複数の低解像度グリッドからの対応する位置調整したピクセルからの情報を前記高解像度グリッドのポイントに追加して、前記関心領域の超解像画像を作成するための手段とを備え、
前記デバイスは、
前記関心領域の選択の受信中、フリーコンピュータ処理ユニットサイクルの間に前記複数の画像のうちの2つ以上の画像を位置調整するための変換を推定する手段をさらに含む、デバイス。
【請求項２１】
前記シーンの前記複数の画像を表示するため、および前記関心領域の前記超解像画像を表示するための手段をさらに備える、請求項20に記載のデバイス。
【請求項２２】
前記シーンの前記複数の画像をキャプチャするための前記手段がカメラを含む、請求項20に記載のデバイス。
【請求項２３】
ユーザ入力に応答して前記関心領域の前記超解像画像を更新するための手段をさらに備える、請求項20に記載のデバイス。
【請求項２４】
前記関心領域の前記超解像画像を受諾または拒否するためのユーザインターフェースを表示するための手段と、
前記関心領域の前記超解像画像を受諾するユーザ入力に応答して、前記関心領域の前記超解像画像を記憶するための手段とをさらに備える、請求項20に記載のデバイス。
【請求項２５】
ユーザ選択関心領域についての画像品質を向上させる方法であって、
デバイスのカメラモジュールを使って、シーンの1つまたは複数の画像をキャプチャするステップと、
前記デバイスにおいて、前記1つまたは複数の画像のうちのある画像における関心領域を特定するユーザ入力を受信するステップであって、前記関心領域が、前記画像の全エリアに満たない、前記シーンの前記画像の一部分を特定し、前記シーンの前記1つまたは複数の画像のうちの少なくとも1つの画像が、前記関心領域を特定する前記ユーザ入力の受信の後で前記カメラモジュールによってキャプチャされる、ステップと、
前記ユーザ入力に基づいて、前記シーンの前記1つまたは複数の画像を使って、前記関心領域の連続したより高解像度の画像を繰り返し作成するステップであって、
前記関心領域の次のより高解像度の画像に関連付けられた高解像度グリッドを作成すること、
前記シーンの前記画像または前記関心領域の前のより高解像度の画像に関連付けられた1つまたは複数の低解像度グリッドを特定すること、
前記高解像度グリッドと前記1つまたは複数の低解像度グリッドの各々との間の位置調整を判断すること、
前記位置調整に基づいて前記複数の画像の各々における前記関心領域の位置を判断すること、および
各画像の前記関心領域のそれぞれの内部に前記1つまたは複数の低解像度グリッドからの対応する位置調整したピクセルからの情報を前記高解像度グリッドのポイントに追加することによって
作成するステップとを含み、
前記方法は、
前記関心領域の選択の受信中、フリーコンピュータ処理ユニットサイクルの間に前記複数の画像のうちの2つ以上の画像を位置調整するための変換を推定するステップをさらに含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の態様は、画像処理に関し、詳細には、シーンの部分を超解像するためのシステムおよび方法に関する。
【背景技術】
【０００２】
ここ数十年に、電子デバイスの使用は一般的になった。特に、電子技術の発展がますます複雑かつ有用な電子デバイスのコストを削減した。コスト削減、および消費者需要は、電子デバイスが現代社会において事実上どこにでも存在するくらい、電子デバイスの使用を急増させた。電子デバイスの使用は拡大し、電子デバイスの新しく、改善された特徴への要求も拡大した。より具体的には、多くの場合、より速く、より効率的に機能を実施するか、またはより高い品質を備えた電子デバイスが求められている。
【０００３】
デジタルカメラ、組込みカメラ付き電話、または他のカメラもしくはセンサーデバイスなどのデバイスが、シーンの画像を作成し、記憶するのに使われ得る。多くの状況において、大気によるぶれ、動きの影響、カメラ手ぶれの影響、およびサンプリングの影響など、キャプチャした画像の品質を制限し、劣化させる多数の要因がある。超解像は、所与のカメラセンサーがキャプチャし得る解像度よりも高い解像度の画像を生成することを指す。超解像はリソース集約的プロセスであり、シーン全体を超解像するには、デバイスユーザにとって好ましいよりも大量の時間またはデバイスリソースがかかり得る。
【０００４】
したがって、超解像プロセスにおける効率を向上させるシステムおよび方法が望まれ得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
ユーザ選択関心領域についての画像品質を向上させるための方法、デバイス、システム、およびコンピュータ可読媒体について記載する。一実施形態は、デバイスのカメラモジュールを使って、シーンの少なくとも1つの画像をキャプチャするステップと、デバイスにおいて、関心領域を特定するユーザ入力を受信するステップであって、関心領域が、少なくとも1つの画像の全エリアに満たない、シーンの少なくとも1つの画像の一部分を特定する、ステップと、シーンの少なくとも1つの画像を使って、関心領域のより高解像度の画像を作成するステップであって、関心領域のより高解像度の画像に関連付けられた高解像度グリッドを作成すること、シーンの少なくとも1つの画像の部分に関連付けられた1つまたは複数の低解像度グリッドを特定することであって、各低解像度グリッドが1つの画像に関連付けられ、各低解像度グリッドの各ポイントが、カメラモジュールによってキャプチャした情報を含むこと、高解像度グリッドと1つまたは複数の低解像度グリッドの各々との間の位置調整を判断すること、および1つまたは複数の低解像度グリッドからの対応する位置調整したピクセルからの情報を高解像度グリッドの各ポイントに追加することによって作成するステップとを含む方法であり得る。
【０００６】
関心領域を特定するユーザ入力の受信に先立って、シーンの少なくとも1つの画像がキャプチャされるとともに、シーンがディスプレイ出力上に表示されるとき、関心領域を特定するユーザ入力が、少なくとも1つの画像の部分を特定する、ディスプレイ出力上のタッチスクリーン入力である、そのような方法の追加実施形態が機能し得る。
【０００７】
関心領域を特定するユーザ入力の受信の後、シーンの少なくとも1つの画像がキャプチャされる、そのような方法の追加実施形態が機能し得る。
【０００８】
シーンの少なくとも1つの画像がシーンの単一の画像からなり、関心領域のより高解像度の画像を作成するステップが、シーンの単一の画像中で特定されたパッチ冗長性を使って、シーンの単一の画像から、関心領域のより高解像度の画像を作成するステップを含む、そのような方法の追加実施形態が機能し得る。
【０００９】
そのような方法の追加実施形態は、デバイスにおいて、シーンの少なくとも1つの画像のキャプチャに先立って、関心領域のより高解像度の画像を作成する際に使用するための、キャプチャするべき画像の数を選択するユーザ入力を受信するステップをさらに含むことができ、少なくとも1つの画像をキャプチャするステップは、その数のシーンの画像を自動的にキャプチャするステップを含み、関心領域のより高解像度の画像を作成するステップは、関心領域の外のシーンのより高解像度の画像部分を作成することなく、マルチフレーム超解像プロセスにおいて、その数の画像の各画像を使って、関心領域のより高解像度の画像を作成するステップを含む。
【００１０】
そのような方法の追加実施形態は、関心領域のより高解像度の画像をデバイスのディスプレイ出力上に表示するステップをさらに含み得る。
【００１１】
そのような方法の追加実施形態は、関心領域のより高解像度の画像がデバイスのディスプレイ出力上に表示される間、デバイス上で利用可能なフリーコンピュータ処理ユニットサイクルを特定するステップと、関心領域のより高解像度の画像がディスプレイ出力上に表示される間、関心領域の外の少なくとも1つの画像の少なくとも一部分の第2のより高解像度の画像を作成するステップとをさらに含み得る。
【００１２】
そのような方法の追加実施形態は、デバイス上の少なくとも1つのセンサーについてのセンサーデータをキャプチャするステップと、センサーデータを少なくとも1つの画像に関連付けるステップとをさらに含んでよく、センサーデータは、関心領域のより高解像度の画像を作成するのに使われる。
【００１３】
センサーデータがデバイスの加速度計からの動きデータを含む、そのような方法の追加実施形態が機能し得る。
【００１４】
そのような方法の追加実施形態は、関心領域のより高解像度の画像をプレビュー画像として表示するステップと、関心領域のより高解像度の画像の解像度のさらなる増大を要求するプレビュー画像の表示に応答して、ユーザ入力を受信するステップと、シーンの少なくとも1つの画像を使って、関心領域の、追加のより高解像度の画像を作成するステップであって、関心領域の、追加のより高解像度の画像に関連付けられた追加のより高解像度のグリッドを作成すること、高解像度グリッドを含む1つまたは複数の高解像度グリッドを特定すること、追加のより高解像度のグリッドと1つまたは複数の高解像度グリッドの各々との間の位置調整を判断すること、および1つまたは複数の高解像度グリッドからの対応する位置調整したピクセルからの情報を、追加のより高解像度のグリッドの各ポイントに追加することによって作成するステップとをさらに含み得る。
【００１５】
追加実施形態は、メモリと、ユーザ入力モジュールと、センサーを備えるカメラモジュールと、メモリおよびカメラモジュールに結合されたプロセッサとを備えるデバイスであってよく、プロセッサは、デバイスのカメラモジュールを使って、シーンの少なくとも1つの画像をキャプチャし、ユーザ入力モジュールにおいて、関心領域を特定するユーザ入力を受信し、関心領域が、少なくとも1つの画像の全エリアに満たない、シーンの少なくとも1つの画像の一部分を特定し、シーンの少なくとも1つの画像を使って、関心領域のより高解像度の画像を作成するようにであって、関心領域のより高解像度の画像に関連付けられた高解像度グリッドを作成すること、シーンの少なくとも1つの画像の部分に関連付けられた1つまたは複数の低解像度グリッドを特定することであって、各低解像度グリッドは1つの画像に関連付けられ、各低解像度グリッドの各ポイントは、カメラモジュールによってキャプチャした情報を含むこと、高解像度グリッドと1つまたは複数の低解像度グリッドの各々との間の位置調整を判断すること、および1つまたは複数の低解像度グリッドからの対応する位置調整したピクセルからの情報を高解像度グリッドの各ポイントに追加することによって作成するように構成される。
【００１６】
そのようなデバイスの追加実施形態はディスプレイ出力をさらに備えることができ、シーンの少なくとも1つの画像は、関心領域を特定するユーザ入力の受信に先立ってキャプチャされ、ユーザ入力モジュールは、ディスプレイ出力のタッチスクリーン入力を受信する。
【００１７】
プロセッサが、関心領域のより高解像度の画像をデバイスのディスプレイ出力上に表示するようにさらに構成される、そのようなデバイスの追加実施形態が機能し得る。
【００１８】
プロセッサが、関心領域のより高解像度の画像がデバイスのディスプレイ出力上に表示される間、プロセッサ上で利用可能なフリーコンピュータ処理ユニットサイクルを特定し、関心領域のより高解像度の画像がディスプレイ出力上に表示される間、シーンの少なくとも1つの画像を使って、関心領域の外の少なくとも1つの画像の少なくとも一部分の第2のより高解像度の画像を作成するようにさらに構成される、そのようなデバイスの追加実施形態が機能し得る。
【００１９】
シーンの少なくとも1つの画像がシーンの単一の画像からなり、関心領域のより高解像度の画像を作成することが、シーンの単一の画像中で特定されたパッチ冗長性を使って、シーンの単一の画像から、関心領域のより高解像度の画像を作成することを含む、そのようなデバイスの追加実施形態が機能し得る。
【００２０】
プロセッサが、デバイスにおいて、シーンの少なくとも1つの画像のキャプチャに先立って、関心領域のより高解像度の画像を作成する際に使用するための、キャプチャするべき画像の数を選択するユーザ入力を受信するようにさらに構成される、そのようなデバイスの追加実施形態が機能し得る。
【００２１】
そのようなデバイスの追加実施形態は、プロセッサに結合された加速度計をさらに備えることができ、プロセッサは、加速度計から動きデータをキャプチャし、動きデータを少なくとも1つの画像に関連付け、動きデータを使って、関心領域のより高解像度の画像を作成するようにさらに構成される。
【００２２】
追加実施形態は、非一時的コンピュータ可読記憶媒体に結合されたプロセッサによって実行されると、デバイスに、ユーザ選択関心領域についての画像品質を向上させる命令のセットを含む非一時的コンピュータ可読記憶媒体であってよく、命令は、デバイスにおいて、シーンの少なくとも1つの画像を受信すること、デバイスにおいて、関心領域を特定するユーザ入力を受信することであって、関心領域が、少なくとも1つの画像の全エリアに満たない、シーンの少なくとも1つの画像の一部分を特定すること、ならびにシーンの少なくとも1つの画像を使って、関心領域のより高解像度の画像を作成することであって、関心領域のより高解像度の画像に関連付けられた高解像度グリッドを作成すること、シーンの少なくとも1つの画像の部分に関連付けられた1つまたは複数の低解像度グリッドを特定することであって、各低解像度グリッドが1つの画像に関連付けられ、各低解像度グリッドの各ポイントが、カメラモジュールによってキャプチャした情報を含むこと、高解像度グリッドと1つまたは複数の低解像度グリッドの各々との間の位置調整を判断すること、および1つまたは複数の低解像度グリッドからの対応する位置調整したピクセルからの情報を高解像度グリッドの各ポイントに追加することによって作成することを含む。
【００２３】
命令が、関心領域のより高解像度の画像がデバイスのディスプレイ出力上で表示される間、デバイス上で利用可能なフリーコンピュータ処理ユニットサイクルを特定すること、および関心領域のより高解像度の画像がディスプレイ出力上に表示される間、関心領域の外にある少なくとも1つの画像の少なくとも一部分の第2のより高解像度の画像を作成することをさらに含む追加実施形態が機能し得る。
【００２４】
命令が、関心領域のより高解像度の画像をプレビュー画像として表示すること、関心領域のより高解像度の画像の解像度のさらなる増大を要求するプレビュー画像の表示に応答して、ユーザ入力を受信すること、ならびにシーンの少なくとも1つの画像を使って、関心領域の、追加のより高解像度の画像を作成することであって、関心領域の追加のより高解像度の画像に関連付けられた追加のより高解像度のグリッドを作成すること、高解像度グリッドを含む1つまたは複数の高解像度グリッドを特定すること、追加のより高解像度のグリッドと1つまたは複数の高解像度グリッドの各々との間の位置調整を判断すること、および1つまたは複数の高解像度グリッドからの対応する位置調整したピクセルからの情報を、追加のより高解像度のグリッドの各ポイントに追加することによって作成することをさらに含む追加実施形態が機能し得る。
【００２５】
さらなる実施形態が、以下で行う詳細な説明から明らかになるであろう。
【００２６】
様々な実施形態の性質および利点のさらなる理解が、以下の図面を参照することによって実現され得る。添付の図面では、類似の構成要素または特徴は、同じ参照ラベルを有する場合がある。さらに、同じタイプの様々な構成要素は、参照ラベルの後に、複数の類似の構成要素を区別するダッシュおよび第2のラベルを付けることによって、区別され得る。本明細書内で第1の参照ラベルのみが使用される場合、その説明は、第2の参照ラベルとは無関係に、同じ第1の参照ラベルを有する類似の構成要素のうちのいずれか1つに適用可能である。
【図面の簡単な説明】
【００２７】
【図１Ａ】本明細書で説明する実施形態による、超解像を実施することができるカメラを備えるデバイスの態様を示す図である。
【図１Ｂ】本明細書で説明する実施形態による、超解像を実施することができるカメラを備えるデバイスの態様を示す図である。
【図２】本明細書で説明する実施形態による、超解像を実施するための方法を示す図である。
【図３】本明細書に記載する実施形態による、低および高解像度グリッドを使って超解像を実施するためのシステムおよび方法の態様を示す図である。
【図４】様々な実施形態とともに使用するためのデバイスの一例を示す図である。
【図５】本明細書で説明するいくつかの実施形態による、超解像を実施するための方法を示す図。
【図６】いくつかの実施形態に従って使われ得るコンピューティングデバイスの一実装形態の図である。
【図７】いくつかの実施形態によるネットワーク化コンピュータシステムの一実装形態の図である。
【発明を実施するための形態】
【００２８】
上述したように、本明細書に記載する実施形態は超解像に関し、超解像とは、超解像画像が作成される元である1つまたは複数のソース画像の解像度よりも高解像度である画像を作成するプロセスである。本明細書に記載する実施形態は、超解像が所望されるとき、デバイスのユーザが、画像中の関心領域を特定すること、および関心領域のみの超解像画像を作成するのに処理リソースを使うことを可能にすることによって、デバイスリソースの効率的使用を可能にすることができ、したがって、処理リソースを節約し、超解像画像のより素早い提示を可能にする。
【００２９】
たとえば、複数枚の紙をもつデスクトップの画像を用いて、スマートフォンユーザは、1枚の紙を含む画像の一部分の選択を可能にするためのインターフェースとともに電話ディスプレイにおいて画像のプレビューを提示する超解像モジュールを活動化することができる。これにより、ユーザは、元の画像解像度では読み取れなかったであろう、超解像画像内の1枚の紙の上の書込みを特定することが可能になり得る。
【００３０】
様々なタイプの超解像が可能であり、本明細書で言及するように、超解像は、単一のソース画像から、または複数のソース画像から超解像画像を導出するプロセスを伴い得る。本明細書で論じる実施形態に従って使われ得る超解像方法の例には、マルチ画像ノイズ低減、複数の画像からのサブピクセルフィルタリング、または単一の画像を使うベイズ帰納法がある。
【００３１】
本明細書で言及する「シーン」とは、1つまたは複数の関連画像中の、デバイスのカメラモジュールによってキャプチャされるエリアの場所またはビューである。したがって、デバイスによってキャプチャされる動画の関連画像は、画像の各々がまったく同じ空間をカバーしているとは限らない場合であっても、同じシーンの画像であり得る。いくつかの実施形態では、シーンまたはシーンの部分も、したがって、デバイスによってキャプチャしたビューのエリアまたはフィールドの一部分のみを含む場所またはビューを指し得る。カメラモジュールまたはデバイス中のセンサーの例には、相補型金属酸化膜半導体(CMOS)またはN型金属酸化物半導体(NMOS)での半導体電荷結合デバイス(CCD)およびアクティブピクセルセンサーがあり得る。
【００３２】
図1Aは、ディスプレイ103を含む1つのデバイス101を示す。図1Aに示すように、ディスプレイ103は、デバイス101のカメラモジュールによってキャプチャされ得るシーンの画像118で満たされている。デバイス101は、単にカメラ専用デバイスであってもよく、センサーを備える一体型カメラモジュール付きのスマートフォンなどの多機能デバイスであってもよい。他の実施形態では、デバイス101は、ラップトップ、電話、タブレット、ファブレット、プラグインカメラデバイス付きデスクトップ、または他の任意のそのようなコンピューティングデバイスなど、どのそのようなデバイスであってもよい。ディスプレイ103上には、ディスプレイ103上に表示されているシーン全体の画像118の一部分である画像部分122aを含む関心領域120を示す破線が示されている。関心領域120は、ディスプレイ103のエッジと位置調整された矩形を作成するためにユーザがデバイス101の容量性タッチスクリーンを指でドラッグすると作成されてよく、関心領域120の隅は、ユーザ入力としての、容量性タッチスクリーンへの初回および最終タッチ入力によって画定される。代替実施形態では、超解像モジュールが、自動超解像のために、ユーザが選択した書込みなどの細部をもつ画像またはシーンのいくつかの部分を自動的に特定するように構成され得る。
【００３３】
次いで、図1Bは、デバイス101の別の起こり得る実施形態を示し、ここで、特定された関心領域120は、画像118を含む1つまたは複数の画像とともに、関心領域120についての超解像画像122bを作成するのに使われている。超解像画像122bは、デバイス101のディスプレイ103上で、最大限の細部を与えるように拡大されている。いくつかの実施形態では、これにより、ユーザは、品質が受諾可能であるかどうか判断すること、および関心領域120の別の超解像画像の作成のために、追加画像をキャプチャし、または代替的超解像設定を選択することが可能になり得る。代替実施形態では、これにより、ユーザは、シーンの主要部分を検査することが可能になり得るとともに、関心領域120の外にある、画像中でキャプチャしたシーンの追加部分は、デバイス101上で利用可能な余剰処理リソースを使って超解像される。さらなる実施形態では、関心エリアが拡大されるのではなく、シーンの超解像部分が、画像全体のより高解像度の部分としての場所に表示されてよく、より低解像度の部分は元の場所に残される。
【００３４】
図2は、画像のユーザ選択部分を超解像するための1つの方法を記載する。本実施形態では、方法はS202で始まり、デバイスのカメラモジュールを使って、シーンの少なくとも1つの画像をキャプチャする。上述したように、シーンは、1つまたは複数の静止またはビデオ画像中でキャプチャしたエリアまたは画像を指す。このキャプチャプロセスは、デバイスのカメラ設定またはビデオ設定の一部であり得る。次いで、S204は、デバイスにおいて、関心領域を特定するユーザ入力を受信することであって、関心領域が、フル画像に満たない、シーンの少なくとも1つの画像の部分を特定することを記述している。上述したように、これは、タッチスクリーン選択であってよく、その後に、超解像されるべき画像の部分の周囲に形状を描画することが続く。いくつかの実施形態では、ユーザ入力は、少なくとも1つの画像がキャプチャされる前に受諾され得る。他の実施形態では、ユーザ入力は、少なくとも1つの画像がキャプチャした後で受諾される。さらなる実施形態では、ユーザ入力が受信される前に1つまたは複数の画像がキャプチャされてよく、ユーザ入力が受信された後で追加画像がキャプチャされてよく、次いで、画像はすべて、関心エリアを超解像するのに使われ得る。
【００３５】
次いで、S206は、デバイスによって、シーンの少なくとも1つの画像を使って、関心領域のより高解像度の画像を作成することを記述している。図2の実施形態によって詳述されるこのプロセスは、S208〜S212によってさらに詳述される。S208は、関心領域のより高解像度の画像に関連付けられた高解像度グリッドを作成することを伴う。ここでの「グリッド」は、画像の特定の解像度での情報を表すのに使われ得るどの行列、データ構造、または情報も指し得る。たとえば、1028ピクセル×1028ピクセルである画像において、この画像用の「グリッド」は、この解像度でこの画像向けに1028×1028ピクセルで作成されたグリッドに対応し得る。S208の高解像度グリッドは本質的に、S204においてユーザによって特定された関心領域の超解像画像に対応する。S210において、シーンの少なくとも1つの画像の部分に関連付けられた1つまたは複数の低解像度グリッドが、プロセス中で使われる各画像部分のピクセルグリッドに対応するグリッドを特定するための上のプロセスに従うことによって特定される。各低解像度グリッドは1つの画像に関連付けられ、各低解像度グリッドの各ポイントは、カメラモジュールによってキャプチャした情報を含む。各低解像度グリッドは、標準解像度画像と見なされ得る。S211において、高解像度グリッドと1つまたは複数の低解像度グリッドの各々との間の位置調整が特定される。これにより、複数のカメラ画像の間のどの位相差も特定され、関心領域の超解像画像を作成する際に使われることが可能になる。S212において、高解像度グリッドの各ポイントには、対応するピクセルが低解像度グリッド中に存在する場合、1つまたは複数の低解像度グリッドからの対応する位置調整したピクセルからの情報が追加される。いくつかの実施形態では、これにより、関心エリアの処理集約的な画像処理なしで、関心エリアの高解像度画像の作成が可能になり得る。さらなる実施形態では、これは単に第1のステップであってよく、次いで、関心領域の高品質超解像画像を作成するための追加画像処理が続く。
【００３６】
関心領域の超解像画像が作成されると、S214において、デバイスのディスプレイは関心領域の超解像画像を表示することができる。上述したように、これは、ディスプレイのフルスクリーンズームで提示されてもよく、元のより低解像度の関心領域部分の代わりに表示されてもよく、シーンの周辺部分は、元のより低い解像度で提示される。さらなる実施形態では、関心領域の超解像画像は、超解像モジュールの一部であるプレビューパネル中に表示され得る。そのようなモジュールにおいて、プレビューディスプレイは、関心領域の画像の解像度をさらに増大させるためのユーザインターフェースオプションをさらに含み得る。したがって、高解像度グリッドは単に、中間解像度画像を提示すればよく、追加の画像向上が実施され得る。この任意選択の追加向上の一部として、S206のプロセスは本質的に、S216において繰り返され得る。記載されているように、S216は、関心領域の、当初作成された高解像度画像よりも高い解像度をもつ追加画像を任意選択で作成することを伴い得る。これは、関心領域の、追加のより高解像度の画像に関連付けられた、追加のより高解像度のグリッドを作成することによって行われ得る。システムは、S206からの高解像度グリッドを含む高解像度グリッドのうちの1つまたは複数を特定することができる。次いで、S216は、追加のより高解像度のグリッドと1つまたは複数の高解像度グリッドの各々との間の位置調整を判断することをさらに伴う。最後に、追加のより高解像度のグリッドには、S212において高解像度グリッドに追加が行われたのと同じ方式で、1つまたは複数の高解像度グリッドのうちの対応するピクセルからの情報が追加される。このプロセスは、関心領域の一層超解像された画像を与えるように、何度繰り返されてもよい。このプロセスは、出力ディスプレイの品質と、超解像プロセスによって補償されない画像ノイズとによって制約を受けるだけであり得る。
【００３７】
さらなる例示として、図3は、高解像度グリッド322と位置調整されている低解像度グリッド312の例を示す。図3において、低解像度グリッドの各ポイント310は三角形によって示され、高解像度グリッド322の各ポイント320は円によって示されている。図2の方法において記載したように、高解像度グリッド322の各ポイント320は、最初は空であり、ポイント310とは別個であり得る。ポイント310は、1つのピクチャ画像またはビデオの1つのフレームからのピクセルデータまたは情報と見なされ得る。各低解像度画像からのこれらのポイントまたはピクセルは、各画像に関連付けられた低解像度グリッド用に使われ得る。超解像プロセスの一部として、低解像度グリッド312のポイント310が、高解像度グリッド322のポイント320と位置調整される。図3に示すように、低解像度グリッド312は、高解像度グリッド322と同じエリアをカバーするが、同じエリア中のより低い密度のポイントを有する。超解像プロセスの一部として、ポイント320と一致するポイント310は、高解像度グリッド322の対応するポイント320についての情報を提供するのに使われる。これは、円と三角形の両方を有するポイントとして、図3に示されている。位置調整された対応するポイントからの情報を直接使うことは、関心エリアについての高解像度画像を作成するための、高解像度グリッド322に追加をするための他のより処理集約的なプロセスよりも少ない処理負荷を必要とする。複数の画像が使われる場合、追加低解像度グリッドからの追加ポイントが次いで、関連付けられたポイント310をもたないものとして図3に示される高解像度グリッド322のポイント320についての情報を提供するのに使われ得る。いくつかの実施形態では、高解像度グリッド322についてのデータはすべて、このようにして作成され得る。他の実施形態では、低解像度グリッド312または別の低解像度グリッドからの直接対応ポイントをもたないポイント320には、補間または他の超解像プロセスを使って、情報を実際に有する周辺ポイントから作成されたデータを使って追加がされ得る。これは、低解像度グリッド312など、1つまたは複数の低解像度グリッド中のポイントとしてカメラ画像から直接とられた情報を補うために、マルチ画像ノイズ低減、複数の画像からのサブピクセルフィルタリング、またはベイズ帰納法の使用を含み得る。
【００３８】
記載する超解像はしたがって、所与のカメラセンサーがキャプチャすることができる解像度よりも高い解像度である画像を生成することを指す。概して、超解像はこれを、1つまたは複数のより低解像度の画像をキャプチャし、次いで、これらの画像を、より高解像度の画像を生成するためにマージすることによって達成する。ただし、この問題の計算集約的性質により、超解像が、処理リソースが不十分なデバイスにおける対話型特徴となることが妨げられる。このことはしばしば、ユーザが、モバイルデバイスを用いて画像をキャプチャし、次いで、画像を他のリソースにおいてオフラインで処理することを意味する。
【００３９】
しばしば、ユーザは、画像の一部のみの、高解像度の細部に関心をもつ。したがって、いくつかの実施形態は、プレビュー中に、または画像をキャプチャし、次いで、選択されたROIを超解像した後、ユーザに関心領域(ROI)を選択させることによって、上述した問題に対処し得る。これは、ユーザに、超解像することに関心がある領域を選択させることによって達成される。これは、プレビューモードにおいて、または第1の画像をとった後、行われ得る。複数の画像(N)が、カメラパイプラインから読み取られる。対応するROIが、より低解像度の画像すべてから選択される。これらのより低解像度のROIは、超解像アルゴリズムに供給される。超解像アルゴリズムは、ユーザによって選択された、より高解像度のROIを生じる。ユーザには、ROIのより高解像度の画像が提示される。このより高解像度の画像は、デジタル補間画像を示す代替解像度よりも品質がはるかに優れていてよい。画像の数Nは、ユーザが関心をもっている超解像係数に比例する。
【００４０】
超解像アプリケーションを速度およびメモリについて最適化するために、システムは、キャプチャしたN(>1)個の低解像度画像を、観察されたピクセル値を修正せずに、わずかM(<N)個の画像にマージすればよい。たとえば、ここでのNは16であってよく、Mは4であってよい。これは、以下のように達成することができ、すなわちZ1、Z2、....、Znが観察された低解像度画像である場合、目標は、各軸においてs倍にZ1を超解像することによって、より高解像度の画像Yを取得することである。具体的には、Z1がW×Hの寸法である場合、YはsW×sHの寸法を有する。ここで、Z2、...、Znは、W×Hの寸法をもつ同じシーンのサブピクセルシフト観察である。超解像画像Yに対応する画像グリッドは、超解像ピクセルの数に等しいs2WH個のサンプルを有する。一方、画像Z1に対応する画像グリッドは、WH個のピクセルを有する。Z1の画像グリッドが、観察を補間することなく、Yのより大きい画像グリッドと一致するようにスケーリングされると、画像グリッドは、WH個のグリッドポイントが満たされる。言い換えると、(s2-1)WH個のグリッドポイントが、Z1のこのアップスケーリングされた高解像度グリッドにおいて空である。同様に、他の低解像度画像は、Yの画像グリッドのサイズと一致するように個々にアップスケーリングされると、やはり、WH個のグリッドロケーションが占有され、(s2-1)WH個のグリッドロケーションが空になる。アップスケーリングされたZiに対応するこれらの個々の画像グリッドは、同じシーンのわずかにシフトされたバージョンである。Yを取得するために、これらの画像グリッドを位置調整する必要がある。これらを位置調整する1つのやり方は、ホモグラフィを使うことであろう。代替として、これらのグリッドを位置調整するために、個々のピクセルの動き(たとえば、オプティカルフロー)を計算してもよいであろう。
【００４１】
位置調整の間、n×W×Hに等しい、観察されたピクセル値の総数は、各々がsW×sHのサイズの、M個の画像グリッドに累算され得る。一実施形態では、これは以下のプロセスによって達成され得る。画像Ziの第kのピクセルがコピーされるべき先のグリッドロケーションが計算される。合成画像グリッドのうちの1つにおけるこのピクセルは、このロケーションが空いている場合、コピーされる。これにより、N個の低解像度画像が、観察のいずれも修正することなく、m個のより大きい画像グリッドにマージされる。
【００４２】
特定のROIを超解像することにユーザが関心をもっている実施形態において、ユーザ経験は、2つのやり方で向上され得る。ユーザがROIを選択している間、フリーCPUサイクルが起こり得る。これらのCPUサイクルは、低解像度画像を位置調整するのに要求される変換を推定するのに使われ得る。そのような変換の2つの例が、上述したような、低解像度画像の間のホモグラフィ、およびオプティカルフローである。ROIが選択されると、システムは、ユーザによって選択されたROIを超解像してよい。ユーザが超解像画像の細部を分析している間、再度フリーCPUサイクルが起こり得る。これらのフリーサイクルは、画像とのユーザ対話に影響することなく、近くの領域を超解像するのに使われ得る。これにより、ユーザが漸進的な超解像全体を待たずに、フル画像を漸進的に超解像するための様々な実施形態が可能になり、というのは、ユーザがROIの初期超解像画像を観察し、初期超解像画像を受諾するか、それとも拒否するか判断していた間に、漸進的部分の少なくとも一部分が完了されているからである。ユーザが、初期超解像画像を観察した後、追加超解像を要求した場合、漸進的に解像された部分は、要求により、処理遅延なしでユーザに即座に提示され得る。ユーザは次いで、ROIの隣接部を分析すればよい。これにより、隣接分析の少なくとも一部分について、シームレスな経験がユーザに提供されるが、ユーザが、漸進的に超解像されたエリアよりも大きいエリアを要求する場合は、処理遅延が依然として起こり得る。
【００４３】
本明細書に記載する実施形態は、ユーザが、シーンおよび画像と対話することを可能にし、したがって、ユーザに、関心がある領域のより高い解像度な細部を与え得る。いくつかの実施形態は、処理リソースが限られているモバイルデバイスのために、超解像時間を大幅に削減することができ、超解像を、モバイルフォンなどのモバイルデバイスにおける対話型特徴とする。実施形態は、ROIの達成可能解像度の、ユーザ向け即時フィードバックを可能にし得る。これにより、ユーザが前のバージョンに満足しない場合、ユーザは、追加処理リソースが利用可能になるが追加または代替低解像度画像をとることが可能でないかもしれない後の時点まで待つのではなく、画像をキャプチャし直すことが可能になり得る。本明細書における実施形態は、モバイルデバイスが、元の画像がとられた後間もなく、画像を超解像することを可能にし、したがって、超解像画像が受諾可能でない場合、追加または代替画像がとられることを可能にする。
【００４４】
次に図4は、いくつかの実施形態によるモバイルデバイス400の一実装形態を説明する。上述したように、モバイルデバイス400などのデバイスは、ラップトップ、モバイルフォン、タブレット、ファブレット、ヘッドマウントディスプレイ、カメラ専用デバイス、デジタルビデオレコーダ、プラグインカメラデバイス付きデスクトップ、または他のどのそのようなコンピューティングデバイスも含み得る。図4のモバイルデバイス400は、超解像モジュール421、カメラモジュール430、プロセッサ410、ならびにモバイルデバイス400の一部であり得る他のどのハードウェア、ソフトウェア、および/またはファームウェア機能性を使っても、画像の一部分を超解像するのに使われ得る。モバイルデバイス400は、超解像画像を、ユーザインターフェースとともに表示することもできる。いくつかの実施形態では、本明細書に記載する超解像は、メモリ420に記憶され得るコンピュータ可読命令とともにプロセッサ410を使って実装され得る。超解像モジュール421は、出力超解像画像の受諾可能特性についてのユーザ選択、設定、または閾値のセット、ならびに画像入力および解像度を選択し、出力超解像画像についての受諾可能特性を達成するために画像およびシーン特性を測定するためのプロセスを含み得る。
【００４５】
いくつかの実施形態では、モバイルデバイス400などのデバイスが、本明細書で説明する実施形態による超解像を実装するべきである場合、カメラモジュール430または超解像モジュール421からの情報に加え、情報の1つまたは複数の関連部分が、リンク416または446から受信されてよく、どの関連情報も次いで、アプリケーション424の一部としてメモリ420中に、またはメモリ420の非一時的ストレージ中のいずれかに記憶されてよい。
【００４６】
図4に示す実施形態では、モバイルデバイス400は、いくつかの構成要素において動作を実施するための命令を実行するように構成され、たとえば、ポータブル電子デバイス内の実装に適した、汎用プロセッサ、またはマイクロプロセッサであってよいプロセッサ410を含む。プロセッサ410は、モバイルデバイス400内の複数の構成要素と伝達可能に結合される。この伝達可能結合を実現するために、プロセッサ410は、バス440を介して、他の例示された構成要素と通信することができる。バス440は、モバイルデバイス400内でデータを転送するように適合された任意のサブシステムであり得る。バス440は、複数のコンピュータバスであってよく、データを転送するための追加の回路を含む。
【００４７】
メモリ420は、プロセッサ410に接続され得る。いくつかの実施形態では、メモリ420は、短期ストレージと長期ストレージの両方を提供し、実際には、いくつかのユニットに分割され得る。メモリ420は、スタティックランダムアクセスメモリ(SRAM)および/もしくはダイナミックランダムアクセスメモリ(DRAM)など、揮発性であってよく、かつ/または読取り専用メモリ(ROM)、フラッシュメモリなど、不揮発性であってもよい。さらに、メモリ420は、セキュアデジタル(SD)カードなど、取外し可能記憶デバイスを含み得る。したがって、メモリ420は、モバイルデバイス400用のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージを提供する。いくつかの実施形態では、メモリ420は、異なるハードウェアモジュール401に分散され得る。
【００４８】
いくつかの実施形態では、メモリ420は、任意の数のアプリケーション424であってよい複数のアプリケーションモジュールを記憶する。アプリケーションモジュールは、プロセッサ410によって実行されるべき特定の命令を含む。代替実施形態では、他のハードウェアモジュール401が、いくつかのアプリケーション424またはアプリケーション424のうちの一部をさらに実行し得る。いくつかの実施形態では、メモリ420は、セキュアメモリをさらに含んでよく、セキュアメモリは、個人的または保護された写真など、セキュアな情報をコピーすること、またはそれらの情報への他の不正アクセスを防止するための追加セキュリティコントロールを含み得る。
【００４９】
いくつかの実施形態では、メモリ420はオペレーティングシステム423を含む。オペレーティングシステム423は、アプリケーションモジュールによって与えられる命令の実行を開始し、かつ/または他のハードウェアモジュール401ならびにアンテナ414を介してリンク416から、および/またはアンテナ444を介してリンク446から情報を受信するのに、それぞれWANワイヤレストランシーバ412およびLANワイヤレストランシーバ442を使い得る、通信モジュールとのインターフェースを管理するように動作可能であり得る。オペレーティングシステム423は、スレッディングと、リソース管理と、データ記憶制御と、他の類似の機能性とを含めて、モバイルデバイス400の構成要素を通して他の動作を実施するように適合され得る。
【００５０】
いくつかの実施形態では、モバイルデバイス400は、複数の他のハードウェアモジュール401を含む。他のハードウェアモジュール401の各々は、モバイルデバイス400内の物理モジュールである。しかしながら、ハードウェアモジュール401の各々は、構造として永続的に構成されるが、ハードウェアモジュール401のそれぞれは、特定の機能を実施するように一時的に構成され得るか、または一時的にアクティブ化され得る。一般的な例は、シャッターを切るため、および画像をキャプチャするためのカメラモジュール430をプログラムすることができるアプリケーションモジュールである。ハードウェアモジュール401の各々は、たとえば、加速度計、Wi-Fiトランシーバ、衛星ナビゲーションシステム受信機(たとえば、GPSモジュール)、圧力モジュール、温度モジュール、音声出力および/または入力モジュール(たとえば、マイクロフォン)、カメラモジュール、近接センサー、代替回線サービス(ALS)モジュール、容量性タッチセンサー、近距離通信(NFC)モジュール、Bluetooth(登録商標)トランシーバ、セルラートランシーバ、磁力計、ジャイロスコープ、慣性センサー(たとえば、加速度計とジャイロスコープとを結合するモジュール)、周辺光センサー、相対湿度センサー、または知覚出力を提供するように、かつ/もしくは知覚入力を受信するように動作可能な任意の他の類似のモジュールであってよい。いくつかの実施形態では、ハードウェアモジュール401の1つまたは複数の機能は、ソフトウェア内で実装され得る。様々な実施形態において、どのそのようなハードウェアモジュール401からの情報も、ディスプレイユニット403に対して超解像画像を出力するために、超解像モジュール421によって、カメラモジュール430からの情報と統合され得る。
【００５１】
モバイルデバイス400は、アンテナ414およびアンテナ444ならびにワイヤレストランシーバ412および442を、リンク416およびリンク446を介した通信を可能にするために、ワイヤレス通信に必要な他のどのハードウェア、ファームウェア、またはソフトウェアとも統合することができるワイヤレス通信モジュールなどの構成要素を含み得る。そのようなワイヤレス通信モジュールは、ネットワークおよびアクセスポイントを介して、データソースなど、様々なデバイスから信号を受信するように構成され得る。他のハードウェアモジュール401およびメモリ420中のアプリケーション424に加えて、モバイルデバイス400は、ディスプレイ出力403と、ユーザ入力モジュール404とを有し得る。ディスプレイ出力403は、モバイルデバイス400からの情報をユーザにグラフィカルに提示する。この情報は、1つもしくは複数のアプリケーション424、1つもしくは複数のハードウェアモジュール401、それらの組合せ、または(たとえば、オペレーティングシステム423によって)ユーザ用のグラフィカルコンテンツを分解するための任意の他の適切な手段から導出され得る。たとえば、超解像モジュール421は、カメラモジュール430およびオペレーティングシステム423と対話して、画像およびユーザインターフェースをディスプレイ出力403上に提示することができる。ユーザインターフェースは、ユーザ入力モジュール404におけるどの入力が、画像の一部分を超解像するためにユーザによって選択され得るかを記述することができる。特定の実施形態では、ROIの輪郭を描く、タッチスクリーン上でのタッチ入力に応答して、ユーザインターフェースのいくつかの部分が現れ得る。ユーザインターフェースは、ディスプレイ出力403において画像に対する更新が表示される間、超解像を増分的に増大するための、可能なユーザ入力をさらに記述することができる。ディスプレイ出力403は、液晶ディスプレイ(LCD)技術、発光ポリマーディスプレイ(LPD)技術、または何らかの他のディスプレイ技術であってよい。いくつかの実施形態では、ディスプレイ出力403は、容量性または抵抗性のタッチスクリーンであり、ユーザとの触覚および/または触知性接触に反応し得る。そのような実施形態において、ディスプレイ出力403は、マルチタッチセンシティブディスプレイを備え得る。そのような実施形態において、ユーザ入力モジュール404とディスプレイ出力403は同じモジュールであってよい。ユーザ入力モジュール404は、超解像画像を作成する際に使われるべきいくつかの低解像度画像のような入力についてのユーザ入力選択、または表示された超解像画像が十分な品質を有するかどうか、もしくは追加超解像が実施されるべきかどうかについてのフィードバックを受信し得る。ディスプレイ出力403は次いで、超解像モジュール421によって、ディスプレイ出力403において表示するために、超解像画像出力を含む最終的画像を表示するのに使われ得る。
【００５２】
モバイルデバイスのさらなる実施形態は、図6に関して下で詳述するようなコンピューティングデバイスおよび図7で詳述するネットワークの様々な部分をさらに含み得る。
【００５３】
図5は、モバイルデバイスなどのデバイスが画像の部分的超解像を実装し得るための詳細な方法を記載する。S502において、モバイルデバイス上の超解像モジュールが実行される。これは、ユーザ選択に直接応答してもよく、ユーザ選択オプションに応答した、またはカメラモジュールによってキャプチャした画像が、超解像を開始するためのいくつかの基準を満たすという判断に応答した自動実行であってもよい。S504において、デバイスは、シーンのある部分の超解像画像の作成において使われるべき1つまたは複数の画像についてのユーザ選択を受信する。これは、超解像プロセスの一部として使われ得る低解像度入力画像の数および対応する低解像度グリッドに対応する。これは、やはりユーザによる直接選択であってもよく、以前選択された基準に応答した自動選択であってもよい。
【００５４】
S506において、画像プレビューがデバイスのディスプレイ出力において表示され得る。いくつかの実施形態では、これは、カメラモジュールによってキャプチャされているとともにメモリに記憶されている1つまたは複数の画像を含んでもよく、どの画像がデバイスのメモリに記憶されるのにも先立って、現時点でカメラモジュールのビュー中にある直接画像を含んでもよい。
【００５５】
S508において、画像プレビューの一部分である関心領域を特定するユーザ入力が受信される。これは、ユーザ入力がタッチスクリーンであるときのプレビューにおける描画、画像座標を特定するテキスト入力、または関心領域を特定するためにアクセスされる、以前選択された基準セットであってよい。関心領域は、画像プレビュー中に示されるシーン全体または画像全体の超解像画像を作成するのに要求されるリソースと比較して、関心領域の超解像画像を作成するのに必要とされるプロセッサリソースを削減するように選択される。
【００５６】
S510において、S504からの選択された数の画像がキャプチャされ、超解像モジュールによるアクセスのために記憶される。S512において、選択された数の画像の各々の少なくとも一部分を使って、関心領域の超解像画像が作成される。このプロセスは、図3に記載したプロセスと同様または同一であり得る。S514において、関心領域の超解像画像が、画像を受諾または拒否するためのユーザインターフェースを用いて、デバイスのディスプレイ出力において表示される。S516において、画像が受諾された場合、プロセスはS518に進む。画像が拒否された場合、プロセスはS504に戻り、関心領域についての画像の潜在的品質を向上させるために、追加画像または処理オプションが選択されてよい。プロセスが進む場合、S518において、関心領域の超解像画像はデバイスのメモリに記憶される。超解像画像は次いで、デバイスによって出力または表示され得る。
【００５７】
さらなる実施形態では、デバイスが、画像の一部分の超解像を優先するために、選択されたエリアを使うことができ、選択部分が、超解像フォーマットでユーザに表示された後、画像の残りの部分を自動的に超解像し始めることができる。さらなる実施形態では、ネットワークが、超解像プロセスの一部または全部のためのリモートコンピューティングリソースにアクセスするのに使われ得る。さらなる実施形態では、画像プレビューステップ中に余剰処理リソースが利用可能な場合、デバイスは、ユーザによって関心領域が選択されるのに先立って、画像および/または画像の部分の超解像に必要な時間またはリソースを推定することができる。この情報は、ユーザに提示されてもよく、関心領域または画像全体向けの超解像の処理を改善するのに使われてもよい。
【００５８】
図6は、電子デバイス602において使用することができる様々な構成要素を示す。デバイス602またはデバイス602のどの構成要素も、本明細書で説明する実施形態による超解像を実装するデバイスの一部として使うこともでき、そのような実施形態による超解像を実装するデバイスとネットワーク化されたデバイスを記述することもできる。図示する構成要素は、同じ物理構造内に、または別個の筐体もしくは構造中に置かれ得る。図6に関連して記載する電子デバイス602は、本明細書に記載する電子デバイスおよびワイヤレス通信デバイスのうちの少なくとも1つに従って実装され得る。電子デバイス602は、プロセッサ611を含む。プロセッサ611は、汎用のシングルチップマイクロプロセッサまたはマルチチップマイクロプロセッサ(たとえば、ARM)、専用マイクロプロセッサ(たとえば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどであってよい。プロセッサ611は、中央演算処理装置(CPU)と呼ばれ得る。図6の電子デバイス602中に単一のプロセッサ611のみが示されているが、代替構成では、プロセッサの組合せ(たとえば、ARMとDSP)が使用され得る。低解像度画像のピクセルからグリッドを判断し、画像の超解像部分を作成すること、または図2、図5の、もしくは本明細書に記載する実装形態に従って作用する他のどのそのような超解像プロセスの要素も実施することが可能などのプロセッサも、様々な実施形態において使われてよい。
【００５９】
電子デバイス602は、プロセッサ611と電子通信するメモリ605も含む。つまり、プロセッサ611は、メモリ605から情報を読み取り、かつ/またはメモリ605に情報を書き込むことができる。メモリ605は、電子情報を記憶することができる任意の電子構成要素であってよい。メモリ605は、これらの組合せを含めて、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAM内のフラッシュメモリデバイス、プロセッサに含まれるオンボードメモリ、プログラマブル読出し専用メモリ(PROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、電子的に消去可能PROM(EEPROM)、レジスタなどであってよい。
【００６０】
データ609aおよび命令607aはメモリ605に記憶され得る。命令607aは、少なくとも1つのプログラム、ルーチン、サブルーチン、機能、プロシージャなどを含み得る。様々な実施形態において、これらは、メモリ605に命令を記憶しているコンピュータプログラム製品を含むことができ、命令は、デバイスに、図2、図5によって記載した超解像、または本明細書に記載する実装形態に従って作用する他のどの超解像プロセスも実施させるように、プロセッサ611によって実行され得る。命令607aは、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを含み得る。命令607aは、上で説明した方法のうちの少なくとも1つを実施するためにプロセッサ611によって実行可能であり得る。命令607aを実行することは、メモリ605に記憶されたデータ609aの使用を伴う場合がある。図6は、プロセッサ611にロードされるいくつかの命令607bおよびデータ609b(命令607aおよびデータ609aから生じ得る)を示す。
【００６１】
電子デバイス602は、他の電子デバイスと通信するための少なくとも1つの通信インターフェース613も含み得る。通信インターフェース613は、ワイヤード通信技術、ワイヤレス通信技術、または両方に基づき得る。異なるタイプの通信インターフェース613の例には、シリアルポート、パラレルポート、ユニバーサルシリアルバス(USB)、イーサネット(登録商標)アダプタ、IEEE1394バスインターフェース、小型コンピュータシステムインターフェース(SCSI)バスインターフェース、赤外線(IR)通信ポート、Bluetooth(登録商標)ワイヤレス通信アダプタなどがある。いくつかの実施形態では、通信インターフェース613は、電子デバイス602上で動作する超解像モジュールについての更新を受信するのに、または関心領域もしくはユーザ選択についての情報を、超解像に関連したサービスを提供するサーバに通信するのに使われ得る。さらなる実施形態では、画像、画像の部分、または画像の超解像部分が、通信インターフェース613を介して通信され得る。
【００６２】
電子デバイス602は、少なくとも1つの入力デバイス686および少なくとも1つの出力デバイス684も含み得る。異なる種類の入力デバイス686の例には、キーボード、マウス、マイクロフォン、リモコンデバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペンなどがある。たとえば、電子デバイス602は、音響信号をキャプチャするための少なくとも1つのマイクロフォン606を含み得る。一構成では、マイクロフォン606は、音響信号(たとえば、音声、発話)を電気または電子信号にコンバートするトランスデューサであってよい。異なる種類の出力デバイス684の例には、スピーカ、プリンタなどがある。たとえば、電子デバイス602は、少なくとも1つのスピーカ668を含み得る。一構成では、スピーカ668は、電気または電子信号を音響信号にコンバートするトランスデューサであってよい。電子デバイス602に通常含まれ得る1つの特定のタイプの出力デバイスが、ディスプレイデバイス692である。本明細書で開示する構成とともに使われるディスプレイデバイス692は、たとえば陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、気体プラズマ、エレクトロルミネセンスなど、どの適切な画像投射技術も使用することができる。メモリ605に記憶されたデータを、ディスプレイデバイス692上に示されるテキスト、グラフィックス、および/または動画像(必要に応じて)にコンバートするためのディスプレイコントローラ690も設けられてよい。様々な実施形態において、ディスプレイデバイス692は、低解像度画像と超解像画像の両方または両方の組合せを、ディスプレイ出力403に関して記載したユーザインターフェースとともに表示することができる。ユーザ入力モジュール404に関して記載した、関心領域の選択および超解像設定に関連したユーザコマンドを受諾するために、入力デバイス686が使われ得る。
【００６３】
電子デバイス602の様々な構成要素は、少なくとも1つのバスによって互いに結合することができ、それらのバスとしては、電力バス、制御信号バス、ステータス信号バス、データバスなどを含むことができる。簡単のために、図6では、様々なバスはバスシステム615として示してある。図6は、電子デバイス602のただ1つの可能な構成を示していることに留意されたい。他の様々なアーキテクチャおよび構成要素が使用されてもよい。
【００６４】
本明細書に記載する様々な実施形態において、コンピューティングデバイスは、情報を通信するためにネットワーク化され得る。たとえば、モバイルデバイス100および300は、上述したように、情報を受信するようにネットワーク化され得る。さらに、ネットワーク930は、より複雑であり、多くの異なるデバイスを伴う場合がある。さらに、これらの要素の各々が、本明細書に記載するオーディオ性能の向上のために、情報へのアクセスを提供するウェブサーバ、データベース、またはコンピュータなど、他のデバイスとのネットワーク化通信に関与し得る。
【００６５】
図7は、本明細書に記載する実施形態による超解像を実装することができるデバイス用の特定の機能性を可能にするために、様々な実施形態に従って使われ得るネットワーク化コンピューティングデバイスのシステム700の概略図を示す。様々な実施形態において、システム700の要素は、画像もしくはユーザ選択情報を収集するように、画像の部分を処理するように、またはデバイス上で実装される超解像プロセスに、どの起こり得るサポートも提供するように機能し得る。たとえば、いくつかの実施形態では、関心領域は、モバイルデバイス上で超解像されてよく、シーンの残りの部分は、ネットワーク化リソースを使って超解像されてよい。
【００６６】
システム700は、1つまたは複数のユーザコンピューティングデバイス705を含むことができる。ユーザコンピューティングデバイス705は、図6のデバイスと同様の汎用パーソナルコンピュータ(単に例として、どの適切な種類のMicrosoft(登録商標)Windows(登録商標)および/またはMac OS(登録商標)オペレーティングシステムも稼動するパーソナルコンピュータおよび/またはラップトップコンピュータを含む)ならびに/あるいは様々な市販のUNIX(登録商標)またはUNIX(登録商標)ライクなオペレーティングシステムのうちのいずれも稼動するワークステーションコンピュータであってよい。これらのユーザコンピューティングデバイス705はまた、本発明の方法を実施するように構成された1つまたは複数のアプリケーション、ならびに1つまたは複数のオフィスアプリケーションと、データベースクライアントおよび/またはサーバアプリケーションと、ウェブブラウザアプリケーションとを含む、様々なアプリケーションのいずれも有し得る。代替として、ユーザコンピューティングデバイス705は、ネットワーク(たとえば、以下で説明するネットワーク710)を介して通信すること、および/またはウェブページもしくは他のタイプの電子文書を表示し、ナビゲートすることが可能な、シンクライアントコンピュータ、インターネット対応携帯電話、および/または携帯情報端末(PDA)など、他のどの電子デバイスであってもよい。例示的なシステム700は、3つのユーザコンピューティングデバイス705a〜cとともに示されているが、任意の数のユーザコンピューティングデバイスがサポートされ得る。
【００６７】
いくつかの本発明の実施形態は、ネットワーク710を含み得るネットワーク化環境において動作し得る。ネットワーク710は、限定はしないが、TCP/IP、SNA、IPX、AppleTalk(登録商標)などを含む、様々な利用可能プロトコルのいずれも使うデータ通信をサポートすることができる、当業者にとって身近などのタイプのネットワークでもよい。単に例として、ネットワーク710は、限定はしないが、イーサネット(登録商標)ネットワーク、トークンリングネットワークなどを含むローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(WAN)、限定はしないが、仮想私設ネットワーク(「VPN」)を含む仮想ネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網(「PSTN」)、赤外線ネットワーク、限定はしないが、当該分野において知られている、IEEE702.11プロトコルスイート、Bluetooth(登録商標)プロトコル、および/または他のどのワイヤレスプロトコルのうちのいずれの下でも動作するネットワークを含むワイヤレスネットワーク、ならびに/あるいはこれらおよび/または他のネットワークのどの組合せであってもよい。ネットワーク710は、様々なコンピューティングデバイスによるネットワーク710へのアクセスを可能にするためのアクセスポイントを含み得る。
【００６８】
いくつかの実施形態では、実装形態は、ネットワーク710などのネットワークを介して互いにネットワーク化され得るモジュールを含み得る。たとえば、いくつかの実施形態では、カメラモジュール430などのカメラが、プロセッサ410とは異なるデバイスの一部であってよい。そのような実施形態では、低解像度画像についての画像データが、カメラモジュールなどのカメラモジュールから、プロセッサ410など、別個のデバイス中のプロセッサに通信され得る。図2の方法を実装するそのような実施形態において、S202は、第1のデバイスによって、可能性としては第2のデバイスからのネットワーク化通信に応答して実施されることになる。第2のデバイスは次いで、S204〜S212を実施する。他の実施形態では、任意の数の異なるデバイスが、そのようなプロセスにおいて伴われ得る。
【００６９】
本発明の実施形態は、1つまたは複数のサーバ760を含み得る。サーバ760の各々は、限定はしないが、上で論じたもののうちのいずれをも含むオペレーティングシステム、ならびにどの商業的に(または自由に)入手可能なサーバオペレーティングシステムも有して構成され得る。サーバ760の各々は、1つまたは複数のユーザコンピューティングデバイス705および/または他のサーバ760にサービスを提供するように構成され得る1つまたは複数のアプリケーションを稼動中であってもよい。いくつかの実施形態では、サーバ760は、超解像モジュール421などの超解像モジュールを、ネットワーク710を介してモバイルデバイス400などのデバイスに提供することができる。
【００７０】
単に例として、サーバ760のうちの1つは、単に例として、ユーザコンピューティングデバイス705からの、ウェブページまたは他の電子文書についての要求を処理するのに使われ得るウェブサーバであってよい。ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データベースサーバ、Java(登録商標)サーバなどを含む様々なサーバアプリケーションを稼動することもできる。本発明のいくつかの実施形態では、ウェブサーバは、本発明の方法を実施するように、ユーザコンピューティングデバイス705のうちの1つまたは複数におけるウェブブラウザ内で作動され得るウェブページをサービスするように構成され得る。そのようなサーバは、特定のIPアドレスに関連付けられてもよく、特定のURLを有するモジュールに関連付けられてもよく、したがって、モバイルデバイス400に提供されるロケーションサービスの一部として地理的ポイントのセキュアな指示を与えるために、モバイルデバイス400などのモバイルデバイスと対話することができるセキュアナビゲーションモジュールを記憶することができる。いくつかの実施形態では、そのようなウェブサーバは、モバイルデバイスが本明細書で説明する実施形態による超解像を実装することを可能にするために、超解像モジュールまたは超解像モジュールに対する更新をモバイルデバイスに提供することができる。
【００７１】
さらなる実施形態によると、1つまたは複数のサーバ760は、ファイルサーバとして機能することができ、かつ/あるいはユーザコンピューティングデバイス705および/または別のサーバ760上で稼動するアプリケーションによって組み込まれた、様々な実施形態の方法を実装するのに必要なファイル(たとえば、アプリケーションコード、データファイルなど)のうちの1つまたは複数を含み得る。代替として、当業者には理解されるように、ファイルサーバがすべての必要なファイルを含むことができ、そのようなアプリケーションを、ユーザコンピューティングデバイス705および/またはサーバ760によってリモートに呼び出させる。本明細書において様々なサーバ(たとえば、アプリケーションサーバ、データベースサーバ、ウェブサーバ、ファイルサーバなど)を参照して記載した機能は、実装特有の必要性およびパラメータに依存して、単一のサーバおよび/または複数の専用サーバによって実施され得ることに留意されたい。
【００７２】
いくつかの実施形態では、システムは、1つまたは複数のデータベース720を含み得る。一実施形態では、データベース720は、超解像についてのユーザ選択またはユーザ基準を記憶することができる。超解像モジュールがモバイルデバイスにダウンロードされるとき、モバイルデバイスまたはユーザに固有の、以前選択されたユーザ基準が含まれ得る。データベース720のロケーションは自由裁量であり、単に例として、データベース720aは、サーバ760a(および/またはユーザコンピューティングデバイス705)に対してローカルな(および/またはその中に存在する)記憶媒体上に存在してもよい。代替として、データベース720bは、データベース720bが(たとえば、ネットワーク710を介して)これらのうちの1つまたは複数と通信している限り、ユーザコンピューティングデバイス705またはサーバ760のいずれかまたはすべてから離れていてもよい。実施形態の特定のセットにおいて、データベース720は、当業者にとって身近なストレージエリアネットワーク(「SAN」)に存在し得る。(同様に、ユーザコンピューティングデバイス705またはサーバ760に起因する機能を実施するためのどの必要なファイルも、必要に応じて、それぞれのコンピュータ上にローカルに、および/またはリモートに記憶され得る)。実施形態の1つのセットにおいて、データベース720は、SQLフォーマットのコマンドに応答してデータを記憶し、更新し、取り出すように適合された、Oracle(登録商標)データベースなどのリレーショナルデータベースであってよい。データベースは、たとえば、上述したもののようなデータベースサーバによって制御および/または維持されてもよい。
【００７３】
上記で説明した方法、システム、およびデバイスは、例である。様々な実施形態は、様々なプロシージャまたは構成要素を、適宜、省略し、置換し、または加えることができる。たとえば、代替構成では、説明する本方法は、説明する順序とは異なる順序で実施されてもよく、ならびに/または、様々なステージが加えられ、省略され、および/もしくは組み合わされてもよい。さらに、いくつかの実施形態に関して説明された特徴が、様々な他の実施形態で組み合わされ得る。実施形態の相異なる態様および要素が同様に組み合わされ得る。
【００７４】
上記の説明では、時として参照番号が様々な用語に関連して使用されている。用語が参照番号とともに使用されている場合、これは、図のうちの少なくとも1つに示された特定の要素を指すものとされ得る。用語が参照番号なしで使用されるとき、これは任意の特定の図面に限定せずに、一般に、その用語を指すことを意味する場合がある。
【００７５】
「結合」または「リンク」という用語およびそのどの変化形も、要素の間の直接または間接接続を示し得る。たとえば、第2の要素に結合された第1の要素は、第2の要素に直接接続されていてもよく、別の要素を通して第2の要素に間接的に接続されていてもよい。
【００７６】
「プロセッサ」という用語は、汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、ステートマシンなどを含むように、広く解釈されるものとする。いくつかの状況下では、「プロセッサ」は、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)などを指し得る。「プロセッサ」という用語は、たとえば、デジタル信号プロセッサ(DSP)とマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)コアと連動する少なくとも1つのマイクロプロセッサ、または他の任意のそのような構成など、処理デバイスの組合せを指すことができる。
【００７７】
「メモリ」という用語は、電子情報を記憶することができる任意の電子部品を含むように、広く解釈されるものとする。メモリという用語は、たとえばランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、フラッシュメモリ、磁気または光学のデータストレージ、レジスタなどの様々なタイプのプロセッサ可読媒体を指し得る。メモリは、プロセッサがメモリから情報を読み取り、かつ/またはメモリに情報を書き込むことができる場合、プロセッサと電子通信すると言われる。プロセッサと一体のメモリは、プロセッサと電子的に通信している。
【００７８】
「命令」および「コード」という用語は、任意のタイプのコンピュータ可読ステートメントを含むように、広く解釈されるべきである。たとえば、「命令」および「コード」という用語は、プログラム、ルーチン、サブルーチン、関数、プロシージャなどのうちの少なくとも1つを指すことがある。「命令」および「コード」は、単一のコンピュータ可読ステートメントまたは多数のコンピュータ可読ステートメントを含んでよい。
【００７９】
本明細書に記載した構成のうちのどの1つにも関連して記載した特徴、機能、プロシージャ、構成要素、要素、構造などのうちの少なくとも1つも、互換可能な場合、本明細書に記載した他の構成のいずれかに関連して記載した機能、プロシージャ、構成要素、要素、構造などのうちの少なくとも1つと組み合わせられ得ることに留意されたい。言い換えると、本明細書に記載した、機能、プロシージャ、構成要素、要素などのどの互換可能な組合せも、本明細書で開示したシステムおよび方法に従って実装され得る。
【００８０】
説明した構成の提示は、本明細書で開示する方法および他の構造を当業者が製作または使用できるように与えたものである。本明細書で図示および説明したフローチャート、ブロック図、および他の構造は例にすぎず、これらの構造の他の変形態も本開示の範囲内である。これらの構成に対する様々な変更が可能であり、本明細書で提示した一般原理は他の構成にも同様に適用され得る。したがって、本開示は、上で示した構成に限定されることを意図しているわけではなく、当初の開示の一部をなす、出願される添付の請求項に含む、本明細書においてどのようなやり方でも開示される原理および新規特徴と矛盾しない最も広い範囲を与えられるべきである。
【００８１】
情報および信号は、様々な異なる技術および技法のいずれかを使用して表され得ることを当業者であれば理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、およびシンボルは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００８２】
本明細書で開示した構成の実装形態の重要な設計要件は、圧縮されたオーディオもしくはオーディオビジュアル情報(たとえば、本明細書で特定される例のうちの1つなど、圧縮形式に従って符号化されるファイルまたはストリーム)の再生などの計算集約的適用例、または広帯域通信(たとえば、6、16、32、44.1、48、または192kHzなど、8キロヘルツよりも高いサンプリングレートにおける音声通信)の適用例では特に、(一般に百万命令毎秒またはMIPSで測定される)処理遅延および/または計算複雑さを最小にすることを含み得る。
【００８３】
本明細書で開示した装置(たとえば、本明細書に記載した技法を実施するように構成された任意のデバイス)は、意図された適用例に好適と見なされる、ソフトウェアとの、および/またはファームウェアとのハードウェアの任意の組合せで実装され得る。たとえば、そのような装置の要素は、たとえば、同じチップ上に、またはチップセット中の2つ以上のチップ間に常駐する電子デバイスおよび/または光デバイスとして作製され得る。そのようなデバイスの一例は、トランジスタまたは論理ゲートなど、論理要素の固定またはプログラム可能アレイであり、これらの要素のいずれも、1つまたは複数のそのようなアレイとして実装され得る。これらの要素のうちの任意の2つ以上、さらにはすべてが、同じ1つまたは複数のアレイ内に実装され得る。そのような1つまたは複数のアレイは、1つまたは複数のチップ内(たとえば、2つ以上のチップを含むチップセット内)に実装され得る。
【００８４】
本明細書で開示した装置の様々な実装形態の1つまたは複数の要素は、全体または一部を、マイクロプロセッサ、組込みプロセッサ、知的財産(IP)コア、デジタル信号プロセッサ、FPGA(フィールドプログラマブルゲートアレイ)、ASSP(特定用途向け標準製品)、およびASIC(特定用途向け集積回路)などの論理要素の1つまたは複数の固定アレイまたはプログラマブルアレイ上で実行するように構成された命令の1つまたは複数のセットとして実装され得る。本明細書で開示した装置の実装形態の様々な要素のいずれも、1つまたは複数のコンピュータ(たとえば、「プロセッサ」とも呼ばれる、命令の1つまたは複数のセットまたはシーケンスを実行するようにプログラムされた1つまたは複数のアレイを含む機械)としても実施され得、これらの要素のうちの任意の2つ以上、さらにはすべてが、同じそのような1つまたは複数のコンピュータ内に実装され得る。
【００８５】
本明細書で開示したプロセッサまたは処理するための他の手段は、たとえば、同じチップ上に、またはチップセット中の2つ以上のチップ間に常駐する1つまたは複数の電子デバイスおよび/または光デバイスとして作製され得る。そのようなデバイスの一例は、トランジスタまたは論理ゲートなど、論理要素の固定またはプログラム可能アレイであり、これらの要素のいずれも、1つまたは複数のそのようなアレイとして実装され得る。そのような1つまたは複数のアレイは、1つまたは複数のチップ内(たとえば、2つ以上のチップを含むチップセット内)に実装され得る。そのようなアレイの例には、マイクロプロセッサ、組込みプロセッサ、IPコア、DSP、FPGA、ASSP、およびASICなど、論理要素の固定アレイまたはプログラマブルアレイがある。本明細書で開示されるプロセッサまたは処理するための他の手段は、1つまたは複数のコンピュータ(たとえば、命令の1つまたは複数のセットまたはシーケンスを実行するようにプログラムされた1つまたは複数のアレイを含む機械)、または他のプロセッサとしても実装され得る。本明細書で説明したプロセッサは、プロセッサが組み込まれているデバイスまたはシステム(たとえば、オーディオ感知デバイス)の別の動作に関係するタスクなど、本明細書で開示した方法の実装の手順に直接関係しないタスクを実施するかまたは命令の他のセットを実行するために使用することが可能である。また、本明細書で開示した方法の一部はオーディオ感知デバイスのプロセッサによって実施され、その方法の別の一部は1つまたは複数の他のプロセッサの制御下で実施されることが可能である。
【００８６】
本明細書で開示される構成に関して説明した様々な例示的なモジュール、論理ブロック、回路、およびテストならびに他の動作は、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得ることが、当業者には諒解されよう。そのようなモジュール、論理ブロック、回路、および動作は、本明細書で開示した構成を生成するように設計された、汎用プロセッサ、デジタル信号プロセッサ(DSP)、ASICまたはASSP、FPGAまたは他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいはそれらの任意の組合せを用いて実装または実施され得る。たとえば、そのような構成は、少なくとも部分的に、ハードワイヤード回路として、特定用途向け集積回路へと作製された回路構成として、あるいは不揮発性記憶装置にロードされるファームウェアプログラム、または汎用プロセッサもしくは他のデジタル信号処理ユニットなどの論理要素のアレイによって実行可能な命令である機械可読コードとしてデータ記憶媒体からロードされるかもしくはデータ記憶媒体にロードされるソフトウェアプログラムとして実装され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装することができる。ソフトウェアモジュールは、RAM(ランダムアクセスメモリ)、ROM(読取り専用メモリ)、フラッシュRAMなどの不揮発性RAM(NVRAM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、もしくはCD-ROMなど、非一時的記憶媒体中に、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体はプロセッサに結合され、プロセッサはこの記憶媒体から情報を読み出し、また、そこに情報を書き込むことができる。代替案では、記憶媒体は、プロセッサに一体とされ得る。プロセッサおよび記憶媒体はASIC中に存在してよく、ASICはユーザ端末中に存在してよい。代替で、プロセッサおよび記憶媒体は、ユーザ端末内の個別の構成要素として存在してもよい。「コンピュータプログラム製品」という用語は、コンピューティングデバイスまたはプロセッサによって実行され、処理され、または計算され得る、コードまたは命令(たとえば、「プログラム」)と組み合わされたコンピューティングデバイスまたはプロセッサを指す。
【００８７】
本明細書で開示した様々な方法は、プロセッサなどの論理要素のアレイによって実施されてよく、本明細書で説明した装置の様々な要素は、そのようなアレイ上で実行するように設計されたモジュールとして実装され得ることに留意されたい。本明細書で使用する「モジュール」または「サブモジュール」という用語は、ソフトウェア、ハードウェアまたはファームウェアの形態でコンピュータ命令(たとえば、論理式)を含む任意の方法、装置、デバイス、ユニットまたはコンピュータ可読データ記憶媒体を指し得る。複数のモジュールまたはシステムを1つのモジュールまたはシステムに結合することができ、1つのモジュールまたはシステムを、同じ機能を実施する複数のモジュールまたはシステムに分離することができることを理解されたい。ソフトウェアまたは他のコンピュータ実行可能命令で実装されるとき、プロセスの要素は本質的に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを用いて関連するタスクを実施するコードセグメントである。「ソフトウェア」という用語は、ソースコード、アセンブリ言語コード、機械コード、バイナリコード、ファームウェア、マクロコード、マイクロコード、論理要素のアレイによって実行可能な命令の1つもしくは複数のセットまたはシーケンス、およびそのような例の任意の組合せを含むことを理解されたい。プログラムまたはコードセグメントは、プロセッサ可読媒体中に記憶され、または搬送波で具現化されるコンピュータデータ信号によって伝送媒体または通信リンクを介して送信され得る。
【００８８】
本明細書で開示する方法、方式、および技法の実装形態は、(たとえば、本明細書に記載する1つまたは複数のコンピュータ可読記憶媒体の有形なコンピュータ可読特徴中で)論理要素のアレイ(たとえば、プロセッサ、マイクロプロセッサ、マイクロコントローラ、または他の有限状態機械)を含む機械によって実行可能な命令の1つまたは複数のセットとしても有形に実施され得る。「コンピュータ可読媒体」という用語は、情報を記憶または転送することができる、揮発性、不揮発性、取外し可能および取外し不可能な記憶媒体を含む、任意の媒体を含み得る。コンピュータ可読媒体の例は、電子回路、半導体メモリデバイス、ROM、フラッシュメモリ、消去可能ROM(EROM)、フロッピー(登録商標)ディスケットもしくは他の磁気ストレージ、CD-ROM/DVDもしくは他の光ストレージ、ハードディスクもしくは所望の情報を記憶するのに使われ得る任意の他の媒体、光ファイバー媒体、無線周波(RF)リンク、または所望の情報を運ぶために使用され得るとともにアクセスされ得る任意の他の媒体を含む。コンピュータデータ信号は、電子ネットワークチャネル、光ファイバー、無線リンク、電磁リンク、RFリンクなどの伝送媒体を介して伝播することができる、任意の信号を含み得る。コードセグメントは、インターネットまたはイントラネットなどのコンピュータネットワークを介してダウンロードされ得る。いずれの場合も、本開示の範囲は、そのような実施形態によって限定されると解釈すべきではない。本明細書で説明した方法のタスクの各々は、ハードウェアで直接実施され得るか、プロセッサによって実行されるソフトウェアモジュールで実施され得るか、またはその2つの組合せで実施され得る。本明細書で開示する方法の実装形態の典型的な適用例では、論理要素のアレイ(たとえば、論理ゲート)は、この方法の様々なタスクのうちの1つ、複数、さらにはすべてを実施するように構成される。タスクのうちの1つまたは複数(場合によってはすべて)は、論理要素のアレイ(たとえば、プロセッサ、マイクロプロセッサ、マイクロコントローラ、または他の有限状態機械)を含む機械(たとえば、コンピュータ)によって読取り可能かつ/または実行可能であるコンピュータプログラム製品(たとえば、ディスク、フラッシュメモリカードまたは他の不揮発性メモリカード、半導体メモリチップなど、1つまたは複数のデータ記憶媒体など)に実施されたコード(たとえば、命令の1つまたは複数のセット)としても実装され得る。本明細書で開示した方法の実装形態のタスクは、2つ以上のそのようなアレイまたは機械によっても実施され得る。これらまたは他の実装形態では、タスクは、セルラー電話など、ワイヤレス通信用のデバイス、またはそのような通信機能を有する他のデバイス内で実施され得る。そのようなデバイスは、(たとえば、VoIPなどの1つまたは複数のプロトコルを使用して)回線交換および/またはパケット交換ネットワークと通信するように構成され得る。たとえば、そのようなデバイスは、符号化フレームを受信および/または送信するように構成されたRF回路を含み得る。
【００８９】
本明細書で開示される様々な方法は、ハンドセット、ヘッドセット、または携帯情報端末(PDA)などのポータブル通信デバイスによって実施されてよく、本明細書で説明した様々な装置は、そのようなデバイス内に含まれ得ることが明確に開示される。典型的なリアルタイム(たとえば、オンライン)アプリケーションは、そのようなモバイルデバイスを使用して行われる、電話による会話である。
【００９０】
1つまたは複数の例示的な実施形態では、本明細書で説明した動作は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、そのような動作は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、または媒体を介して送信され得る。「コンピュータ可読媒体」という用語は、コンピュータ可読記憶媒体と通信(たとえば、送信)媒体の両方を含む。限定ではなく例として、コンピュータ可読記憶媒体は、(限定はしないが、ダイナミックまたはスタティックRAM、ROM、EEPROM、および/またはフラッシュRAMを含み得る)半導体メモリ、または強誘電体メモリ、磁気抵抗メモリ、オボニックメモリ、高分子メモリ、または相変化メモリなどの記憶要素のアレイ、CD-ROMまたは他の光ディスクストレージ、ならびに/あるいは磁気ディスクストレージまたは他の磁気ストレージデバイスを備えることができる。そのような記憶媒体は、コンピュータによってアクセスされ得る命令またはデータ構造の形で情報を記憶することができる。通信媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、命令またはデータ構造の形態で所望のプログラムコードを搬送するために使用され得、コンピュータによってアクセスされ得る、任意の媒体を備えることができる。同様に、いかなる接続も、コンピュータ可読媒体と当然のことながら呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、もしくは赤外線、無線、および/またはマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、もしくは赤外線、無線、および/またはマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(登録商標)(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。前述の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００９１】
本明細書で説明した装置の一実装形態の1つまたは複数の要素は、装置が組み込まれているデバイスもしくはシステムの別の動作に関係するタスクなど、装置の動作に直接関係しないタスクを実施し、または装置の動作に直接関係しない命令の他のセットを実行するために使用することが可能である。そのような装置の実装形態の1つまたは複数の要素が、共通した構造(たとえば、異なるときに異なる要素に対応するコードの部分を実行するのに使われるプロセッサ、異なるときに異なる要素に対応するタスクを実施するように実行される命令のセット、または異なるときに異なる要素向けの動作を実施する電子および/もしくは光学デバイスの構成)を有することも可能である。
【００９２】
特許請求の範囲は、上記で示した厳密な構成および構成要素に限定されないことを理解されたい。様々な修正、変更、および変形は、特許請求の範囲から逸脱することなく、本明細書で説明されたシステム、方法、および装置の構成、操作、および細部において行われ得る。
【符号の説明】
【００９３】
101  デバイス
103  ディスプレイ
118  画像
120  関心領域
122a  画像部分
122b  超解像画像
310  ポイント
312  低解像度グリッド
320  ポイント
322  高解像度グリッド
400  モバイルデバイス
401  ハードウェアモジュール
403  ディスプレイユニット、ディスプレイ出力
404  ユーザ入力モジュール
410  プロセッサ
412  WANワイヤレストランシーバ、ワイヤレストランシーバ
414  アンテナ
416  リンク
446  リンク
420  メモリ
421  超解像モジュール
423  オペレーティングシステム
424  アプリケーション
430  カメラモジュール
440  バス
442  LANワイヤレストランシーバ、ワイヤレストランシーバ
444  アンテナ
446  リンク
602  電子デバイス、デバイス
605  メモリ
606  マイクロフォン
607a  命令
607b  命令
609a  データ
609b  データ
611  プロセッサ
613  通信インターフェース
615  バスシステム
668  スピーカ
684  出力デバイス
686  入力デバイス
690  ディスプレイコントローラ
692  ディスプレイデバイス
700  システム
705  ユーザコンピューティングデバイス
705a  ユーザコンピューティングデバイス
705b  ユーザコンピューティングデバイス
705c  ユーザコンピューティングデバイス
710  ネットワーク
720  データベース
720a  データベース
720b  データベース
760  サーバ
760a  サーバ
930  ネットワーク
【図１Ａ】
0006297682.tif 000002
【図１Ｂ】
0006297682.tif 000003
【図２】
0006297682.tif 000004
【図３】
0006297682.tif 000005
【図４】
0006297682.tif 000006
【図５】
0006297682.tif 000007
【図６】
0006297682.tif 000008
【図７】
0006297682.tif 000009