(57)【要約】  電子デバイスは、デバイスが画像プレビューモードで動作している間に、およびユーザ開始型画像キャプチャ要求より前に、異なる時間における複数の画像を受信し、電子デバイスは、プレビュー画像から1つまたは複数の移動物体を除外するクリーンプレビュー画像を生成する。
2018535572.tif 000002
【特許請求の範囲】
【請求項１】
画像センサから、異なる時間における複数の画像を受信するステップであって、前記複数の画像を受信するステップが、画像プレビューモードでおよびユーザ開始型画像キャプチャ要求より前に行われる、受信するステップと、
バッファ中に、前記複数の画像のコピーの第1のセットを記憶するステップであって、コピーの前記第1のセットが第1の解像度にある、記憶するステップと、
コピーの前記第1のセットの各画像のピクセルを、移動物体ピクセルまたは背景ピクセルとして分類するステップと、
コピーの前記第1のセットの2つまたはそれ以上の画像からの背景ピクセルを使用してプレビュー画像を生成するステップであって、前記プレビュー画像が前記移動物体ピクセルのうちの1つまたは複数を除外する、生成するステップと
を含む方法。
【請求項２】
前記プレビュー画像が、コピーの前記第1のセットの2つまたはそれ以上の画像の部分から合成された画像を含み、コピーの前記第1のセットの1つまたは複数の画像中に存在する少なくとも1つの物体が、前記プレビュー画像中に存在しない、請求項1に記載の方法。
【請求項３】
ディスプレイ上に前記プレビュー画像を表示するステップと、
前記プレビュー画像を表示する間に、ユーザ開始型画像キャプチャ要求を受信するステップと、
前記ユーザ開始型画像キャプチャ要求に応答して、最終画像を生成するステップであって、前記最終画像が、前記第1の解像度よりも高い第2の解像度を有する、生成するステップと
をさらに含む、請求項1に記載の方法。
【請求項４】
前記プレビュー画像が前記最終画像の近似を含み、前記最終画像が、前記移動物体ピクセルのうちの1つまたは複数を除外する、請求項3に記載の方法。
【請求項５】
ラベルマップを生成するステップであって、前記ラベルマップが、前記プレビュー画像の各ピクセルについて、コピーの前記第1のセットから画像を識別する、生成するステップ
をさらに含む、請求項1に記載の方法。
【請求項６】
プレビューを生成するステップが、
前記プレビュー画像のピクセルロケーションについて、前記ラベルマップから、前記ピクセルロケーションについて識別された前記画像を決定するステップと、
前記識別された画像中で、前記プレビュー画像の前記ピクセルロケーションと同じロケーションのピクセル値を決定するステップと、
前記識別された画像の前記同じロケーションの前記ピクセル値に基づいて、前記プレビュー画像の前記ピクセルロケーションについてピクセル値を決定するステップと
を含む、請求項5に記載の方法。
【請求項７】
前記バッファ中に、前記複数の画像のコピーの第2のセットを記憶するステップであって、前記複数の画像のコピーの前記第2のセットが、前記第1の解像度よりも高い第2の解像度にある、記憶するステップと、
ユーザ開始型画像キャプチャ要求に応答して、コピーの前記第2のセットの2つまたはそれ以上の画像からの背景ピクセルを使用して最終画像を生成するステップと
をさらに含む、請求項6に記載の方法。
【請求項８】
前記最終画像を生成するステップが、
前記ラベルマップをアップサンプリングするステップと、
前記最終画像のピクセルロケーションについて、前記アップサンプリングされたラベルマップから、前記最終画像の前記ピクセルロケーションについて識別された画像を決定するステップと、
前記識別された画像中で、前記最終画像の前記ピクセルロケーションと同じロケーションのピクセル値を決定するステップと、
前記識別された画像の前記同じロケーションの前記ピクセル値に基づいて、前記最終画像の前記ピクセルロケーションについてピクセル値を決定するステップと
を含む、請求項7に記載の方法。
【請求項９】
前記最終画像を生成するステップが、前記プレビュー画像を生成するために実施されない1つまたは複数の後処理動作を実施するステップを含む、請求項8に記載の方法。
【請求項１０】
前記画像センサから、第1のレートで前記複数の画像を受信するステップと、
第2のレートで、前記バッファ中に記憶された前記複数の画像のコピーの前記第1のセットを更新するステップであって、前記第2のレートが前記第1のレートよりも低い、更新するステップと
をさらに含む、請求項1に記載の方法。
【請求項１１】
メモリと、
1つまたは複数のプロセッサと
を含む電子デバイスであって、前記1つまたは複数のプロセッサは、
画像センサから、異なる時間における複数の画像を受信することであって、前記1つまたは複数のプロセッサが、画像プレビューモードで動作する間に、およびユーザ開始型画像キャプチャ要求より前に、前記複数の画像を受信する、受信することと、
前記メモリ中に、前記複数の画像のコピーの第1のセットを記憶することであって、コピーの前記第1のセットが第1の解像度にある、記憶することと、
コピーの前記第1のセットの各画像のピクセルを、移動物体ピクセルまたは背景ピクセルとして分類することと、
ディスプレイ上での出力のために、コピーの前記第1のセットの2つまたはそれ以上の画像からの背景ピクセルを使用してプレビュー画像を生成することであって、前記プレビュー画像が前記移動物体ピクセルのうちの1つまたは複数を除外する、生成することと
を行うように構成された、
電子デバイス。
【請求項１２】
前記プレビュー画像が、コピーの前記第1のセットの2つまたはそれ以上の画像の部分から合成された画像を含み、コピーの前記第1のセットの1つまたは複数の画像中に存在する少なくとも1つの物体が、前記プレビュー画像中に存在しない、請求項11に記載の電子デバイス。
【請求項１３】
前記プレビュー画像を表示するためのディスプレイ
をさらに含み、
前記1つまたは複数のプロセッサは、
前記ディスプレイが前記プレビュー画像を表示している間に、ユーザ開始型画像キャプチャ要求を受信することと、
前記ユーザ開始型画像キャプチャ要求に応答して、最終画像を生成することであって、前記最終画像が、前記第1の解像度よりも高い第2の解像度を有する、生成することと
を行うようにさらに構成された、
請求項11に記載の電子デバイス。
【請求項１４】
前記プレビュー画像が前記最終画像の近似を含み、前記最終画像が、前記移動物体ピクセルのうちの1つまたは複数を除外する、請求項13に記載の電子デバイス。
【請求項１５】
前記1つまたは複数のプロセッサが、ラベルマップを生成するようにさらに構成され、前記ラベルマップが、前記プレビュー画像の各ピクセルについて、コピーの前記第1のセットから画像を識別する、請求項11に記載の電子デバイス。
【請求項１６】
プレビューを生成するために、前記1つまたは複数のプロセッサが、
前記プレビュー画像のピクセルロケーションについて、前記ラベルマップから、前記ピクセルロケーションについて識別された前記画像を決定することと、
前記識別された画像中で、前記プレビュー画像の前記ピクセルロケーションと同じロケーションのピクセル値を決定することと、
前記識別された画像の前記同じロケーションの前記ピクセル値に基づいて、前記プレビュー画像の前記ピクセルロケーションについてピクセル値を決定することと
を行うようにさらに構成された、請求項15に記載の電子デバイス。
【請求項１７】
前記1つまたは複数のプロセッサは、
バッファ中に、前記複数の画像のコピーの第2のセットを記憶することであって、前記複数の画像のコピーの前記第2のセットが、前記第1の解像度よりも高い第2の解像度にある、記憶することと、
ユーザ開始型画像キャプチャ要求に応答して、コピーの前記第2のセットの2つまたはそれ以上の画像からの背景ピクセルを使用して最終画像を生成することと
を行うようにさらに構成された、請求項16に記載の電子デバイス。
【請求項１８】
前記最終画像を生成するために、前記1つまたは複数のプロセッサが、
前記ラベルマップをアップサンプリングすることと、
前記最終画像のピクセルロケーションについて、前記アップサンプリングされたラベルマップから、前記最終画像の前記ピクセルロケーションについて識別された画像を決定することと、
前記識別された画像中で、前記最終画像の前記ピクセルロケーションと同じロケーションのピクセル値を決定することと、
前記識別された画像の前記同じロケーションの前記ピクセル値に基づいて、前記最終画像の前記ピクセルロケーションについてピクセル値を決定することと
を行うようにさらに構成された、請求項17に記載の電子デバイス。
【請求項１９】
前記最終画像を生成するために、前記1つまたは複数のプロセッサが、前記プレビュー画像を生成するために実施されない1つまたは複数の後処理動作を実施するようにさらに構成された、請求項18に記載の電子デバイス。
【請求項２０】
前記1つまたは複数のプロセッサは、
前記画像センサから、第1のレートで前記複数の画像を受信することと、
第2のレートで、バッファ中に記憶された前記複数の画像のコピーの前記第1のセットを更新することであって、前記第2のレートが前記第1のレートよりも低い、更新することと
を行うようにさらに構成された、請求項11に記載の電子デバイス。
【請求項２１】
前記電子デバイスが、
マイクロプロセッサ、
集積回路(IC)、または
前記画像センサとディスプレイとを含むワイヤレス通信デバイス、
のうちの1つまたは複数を含む、請求項11に記載の電子デバイス。
【請求項２２】
画像センサから、異なる時間における複数の画像を受信するための手段であって、前記複数の画像を受信することが、画像プレビューモードでおよびユーザ開始型画像キャプチャ要求より前に行われる、受信するための手段と、
前記複数の画像のコピーの第1のセットを記憶するための手段であって、コピーの前記第1のセットが第1の解像度にある、記憶するための手段と、
コピーの前記第1のセットの各画像のピクセルを、移動物体ピクセルまたは背景ピクセルとして分類するための手段と、
コピーの前記第1のセットの2つまたはそれ以上の画像からの背景ピクセルを使用してプレビュー画像を生成するための手段であって、前記プレビュー画像が前記移動物体ピクセルのうちの1つまたは複数を除外する、生成するための手段と
を含む装置。
【請求項２３】
前記プレビュー画像を表示するための手段と、
前記表示するための手段が前記プレビュー画像を表示する間に、ユーザ開始型画像キャプチャ要求を受信するための手段と、
前記ユーザ開始型画像キャプチャ要求に応答して、最終画像を生成するための手段であって、前記最終画像が、前記第1の解像度よりも高い第2の解像度を有する、生成するための手段と
をさらに含む、請求項22に記載の装置。
【請求項２４】
プレビューを生成するための前記手段が、
前記プレビュー画像のピクセルロケーションについて、ラベルマップから、前記ピクセルロケーションについて識別された前記画像を決定するための手段と、
前記識別された画像中で、前記プレビュー画像の前記ピクセルロケーションと同じロケーションのピクセル値を決定するための手段と、
前記識別された画像の前記同じロケーションの前記ピクセル値に基づいて、前記プレビュー画像の前記ピクセルロケーションについてピクセル値を決定するための手段と
を含む、請求項22に記載の装置。
【請求項２５】
前記複数の画像のコピーの第2のセットを記憶するための手段であって、前記複数の画像のコピーの前記第2のセットが、前記第1の解像度よりも高い第2の解像度にある、記憶するための手段と、
ユーザ開始型画像キャプチャ要求に応答して、コピーの前記第2のセットの2つまたはそれ以上の画像からの背景ピクセルを使用して最終画像を生成するための手段と
をさらに含む、請求項24に記載の装置。
【請求項２６】
前記最終画像を生成するための前記手段が、
前記ラベルマップをアップサンプリングするための手段と、
前記最終画像のピクセルロケーションについて、前記アップサンプリングされたラベルマップから、前記最終画像の前記ピクセルロケーションについて識別された画像を決定するための手段と、
前記識別された画像中で、前記最終画像の前記ピクセルロケーションと同じロケーションのピクセル値を決定するための手段と、
前記識別された画像の前記同じロケーションの前記ピクセル値に基づいて、前記最終画像の前記ピクセルロケーションについてピクセル値を決定するための手段と
を含む、請求項25に記載の装置。
【請求項２７】
1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
画像センサから、異なる時間における複数の画像を受信することであって、前記複数の画像を受信することが、画像プレビューモードでおよびユーザ開始型画像キャプチャ要求より前に行われる、受信することと、
バッファ中に、前記複数の画像のコピーの第1のセットを記憶することであって、コピーの前記第1のセットが第1の解像度にある、記憶することと、
コピーの前記第1のセットの各画像のピクセルを、移動物体ピクセルまたは背景ピクセルとして分類することと、
コピーの前記第1のセットの2つまたはそれ以上の画像からの背景ピクセルを使用してプレビュー画像を生成することであって、前記プレビュー画像が前記移動物体ピクセルのうちの1つまたは複数を除外する、生成することと
を行わせる命令を記憶するコンピュータ可読記憶媒体。
【請求項２８】
実行されたとき、前記1つまたは複数のプロセッサに、
ディスプレイ上に前記プレビュー画像を表示することと、
前記プレビュー画像を表示する間に、ユーザ開始型画像キャプチャ要求を受信することと、
前記ユーザ開始型画像キャプチャ要求に応答して、最終画像を生成することであって、前記最終画像が、前記第1の解像度よりも高い第2の解像度を有する、生成することと
を行わせる命令をさらに記憶する、請求項27に記載のコンピュータ可読記憶媒体。
【請求項２９】
実行されたとき、前記1つまたは複数のプロセッサに、
ラベルマップを生成することであって、前記ラベルマップが、前記プレビュー画像の各ピクセルについて、コピーの前記第1のセットから画像を識別する、生成すること
を行わせる命令をさらに記憶する、請求項27に記載のコンピュータ可読記憶媒体。
【請求項３０】
プレビューを生成するために、前記1つまたは複数のプロセッサに、
前記プレビュー画像のピクセルロケーションについて、ラベルマップから、前記ピクセルロケーションについて識別された前記画像を決定することと、
前記識別された画像中で、前記プレビュー画像の前記ピクセルロケーションと同じロケーションのピクセル値を決定することと、
前記識別された画像の前記同じロケーションの前記ピクセル値に基づいて、前記プレビュー画像の前記ピクセルロケーションについてピクセル値を決定することと、
前記バッファ中に、前記複数の画像のコピーの第2のセットを記憶することであって、前記複数の画像のコピーの前記第2のセットが、前記第1の解像度よりも高い第2の解像度にある、記憶することと、
ユーザ開始型画像キャプチャ要求に応答して、コピーの前記第2のセットの2つまたはそれ以上の画像からの背景ピクセルを使用して最終画像を生成することと
を行わせる命令をさらに記憶する、請求項27に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピューティングデバイスを用いて画像をレンダリングするための技法に関する。
【背景技術】
【０００２】
前景中に不要な物体(たとえば、人々、車、および他の移動物体)がある背景シーンのピクチャを撮るとき、ピクチャを撮る人は、不要な物体ができる限り少ない背景シーンのピクチャを有することをしばしば望む。時間的に近い複数のピクチャを撮り、その複数のピクチャを、不要な物体が削除された単一のピクチャに合成するためのソリューションが現在存在する。しかしながら、これらの既存のソリューションは後処理において物体を削除する。いくつかの既存のソリューションは、ユーザが手動で、すでにキャプチャされた画像中の物体を識別し、それらの物体を削除することを可能にする。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は、画像プレビューモードで、不要な物体を除外するプレビュー画像を生成するための方法およびデバイスを説明する。したがって、本開示の技法を実装するデバイスのユーザは、(たとえば、リアルタイムまたはほぼリアルタイムで)最終画像をキャプチャするより前にクリーンプレビュー画像(すなわち、不要な物体が削除された画像)を見得る。いくつかの例では、ユーザは、焦点、フレーミング、向き、ズーム、照明、および他のそのようなパラメータに対するプリキャプチャ調整を行う際に、クリーンプレビューを使用する。ピクチャを撮った後、カメラは、ユーザが画像プレビューモードで見た、不要な物体が削除されたプレビュー画像と実質的に同様であり、いくつかの解像度ではそのプレビュー画像とはおそらく区別不可能でさえある、不要な物体がない最終画像を生成し得る。
【０００４】
本開示の一態様によれば、方法は、画像センサから、異なる時間における複数の画像を受信するステップであって、複数の画像を受信するステップが、画像プレビューモードでおよびユーザ開始型画像キャプチャ要求より前に行われる、受信するステップと、バッファ中に、複数の画像のコピーの第1のセットを記憶するステップであって、コピーの第1のセットが第1の解像度にある、記憶するステップと、コピーの第1のセットの各画像のピクセルを、移動物体ピクセルまたは背景ピクセルとして分類するステップと、コピーの第1のセットの2つまたはそれ以上の画像からの背景ピクセルを使用してプレビュー画像を生成するステップであって、プレビュー画像が移動物体ピクセルのうちの1つまたは複数を除外する、生成するステップとを含む。
【０００５】
本開示の別の態様によれば、電子デバイスは、メモリと、1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサは、画像センサから、異なる時間における複数の画像を受信することであって、1つまたは複数のプロセッサが、画像プレビューモードで動作する間に、およびユーザ開始型画像キャプチャ要求より前に、複数の画像を受信する、受信することと、メモリ中に、複数の画像のコピーの第1のセットを記憶することであって、コピーの第1のセットが第1の解像度にある、記憶することと、コピーの第1のセットの各画像のピクセルを、移動物体ピクセルまたは背景ピクセルとして分類することと、ディスプレイ上での出力のために、コピーの第1のセットの2つまたはそれ以上の画像からの背景ピクセルを使用してプレビュー画像を生成することであって、プレビュー画像が移動物体ピクセルのうちの1つまたは複数を除外する、生成することとを行うように構成される。
【０００６】
本開示の別の態様によれば、装置は、画像センサから、異なる時間における複数の画像を受信するための手段であって、複数の画像を受信することが、画像プレビューモードでおよびユーザ開始型画像キャプチャ要求より前に行われる、受信するための手段と、複数の画像のコピーの第1のセットを記憶するための手段であって、コピーの第1のセットが第1の解像度にある、記憶するための手段と、コピーの第1のセットの各画像のピクセルを、移動物体ピクセルまたは背景ピクセルとして分類するための手段と、コピーの第1のセットの2つまたはそれ以上の画像からの背景ピクセルを使用してプレビュー画像を生成するための手段であって、プレビュー画像が移動物体ピクセルのうちの1つまたは複数を除外する、生成するための手段とを含む。
【０００７】
本開示の別の態様によれば、コンピュータ可読記憶媒体は、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、画像センサから、異なる時間における複数の画像を受信することであって、複数の画像を受信することが、画像プレビューモードでおよびユーザ開始型画像キャプチャ要求より前に行われる、受信することと、バッファ中に、複数の画像のコピーの第1のセットを記憶することであって、コピーの第1のセットが第1の解像度にある、記憶することと、コピーの第1のセットの各画像のピクセルを、移動物体ピクセルまたは背景ピクセルとして分類することと、コピーの第1のセットの2つまたはそれ以上の画像からの背景ピクセルを使用してプレビュー画像を生成することであって、プレビュー画像が移動物体ピクセルのうちの1つまたは複数を除外する、生成することとを行わせる命令を記憶する。
【０００８】
本開示の1つまたは複数の態様の詳細を添付の図面および以下の説明に記載する。本開示で説明される技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【０００９】
【図１】本開示の技法を実装し得る例示的なデバイスを示す図である。
【図２Ａ】図1に示されているデバイスによってキャプチャされ得る複数の画像の一例を示す図である。
【図２Ｂ】本開示の技法の一例による、図2A中の複数の画像から生成されたプレビュー画像の一例を示す図である。
【図３】本開示の技法を実装するように構成され得るデバイスの一例を示すブロック図である。
【図４】本開示の技法の一例による、プレビュー画像を生成するための技法を示す流れ図である。
【図５】本開示の技法の一例による、プレビュー画像を生成するための技法を示す流れ図である。
【図６】本開示の技法の一例による、ラベルマップの一例を示す図である。
【図７】本開示の技法の一例による、最終画像を生成するために使用され得るアップサンプリングされたラベルマップの一例を示す図である。
【図８】本開示の技法の一例による、プレビュー画像を生成するための技法を示す流れ図である。
【発明を実施するための形態】
【００１０】
ピクチャから不要な物体を削除するための既存のソリューションでは、ピクチャを撮る人は、ピクチャをキャプチャするより前にプレビューウィンドウ中で不要な物体が削除されたピクチャを実際には見ずに、代わりに、ピクチャをキャプチャした後にそのようなピクチャを見るにすぎない。本開示は、画像プレビューモードで、不要な物体を除外するプレビュー画像を生成するための方法およびデバイスを説明する。したがって、本開示の技法を実装するデバイスのユーザは、(たとえば、リアルタイムまたはほぼリアルタイムで)最終画像をキャプチャするより前にクリーンプレビュー画像(すなわち、不要な物体が削除された画像)を見得、焦点、フレーミング、向き、ズーム、照明、および他のそのようなパラメータに対するプリキャプチャ調整を行う際に、クリーンプレビューを使用し得る。
【００１１】
ピクチャを撮った後、カメラは、ユーザが画像プレビューモードで見た、不要な物体が削除されたプレビュー画像と実質的に同様であり、いくつかの解像度ではそのプレビュー画像とはおそらく区別不可能でさえある、不要な物体がない最終画像を生成し得る。しかしながら、最終画像は、最終画像が、たとえば、異なる画像処理技法を使用して生成され得るので、プレビュー画像と同等でないことがある。クリーンプレビュー画像のリアルタイムまたはほぼリアルタイム生成を可能にするために、クリーンプレビュー画像を生成するために使用される処理は、たとえば、最終画像を生成するために使用される処理よりも複雑でなく、時間集中的でないことがある。追加または代替として、クリーンプレビュー画像は、最終画像よりも低い空間解像度画像であり得る。
【００１２】
本開示で使用される、クリーンプレビュー画像およびクリーン最終画像という用語は、概して、異なる時間においてキャプチャされた複数の画像から合成された画像を指す。画像は、複数の画像中に存在する1つまたは複数の物体の少なくとも一部分が、クリーンプレビュー画像またはクリーン最終画像中に存在しない様式で合成され得る。カメラは、1つまたは複数の物体がおそらく不要な物体であるという決定に基づいて、どの物体を除外すべきかを決定し得る。以下でより詳細に説明されるように、カメラは、カメラの画像センサから、たとえば、複数の画像を受信し、ある画像から別の画像への物体の移動を検出し、物体の移動に基づいて、クリーンプレビュー画像またはクリーン最終画像から除外すべき不要な物体を識別し得る。
【００１３】
図1は、本開示の技法を実装し、クリーンプレビュー画像を生成するように構成され得る例示的なデバイスを示す。概して、本開示の技法は、(高解像度および/または低解像度ピクチャおよび/またはビデオのために構成され得る)少なくとも1つの画像センサと画像プロセッサとを有するデバイスを用いて実装され得る。たとえば、デバイス20は、フロント画像センサ22と、リア画像センサ24と、ディスプレイ26と、ピクチャインピクチャ(PIP)ウィンドウ28とを含む。デバイス20は、スピーカ30と、マイクロフォン32と、ボタン34とをも含み、図1の例において明示的に示されていない他の構成要素のホストを含み得る。
【００１４】
デバイス20は、たとえば、いわゆる「スマート」フォンなどの電話ハンドセット、タブレットコンピュータ、ウェアラブルコンピューティングデバイス(たとえば、ヘッドマウントディスプレイおよびウォッチ)、カメラ、ノートブック(すなわち、ラップトップ)コンピュータ、デジタルメディアプレーヤ、ビデオゲームコンソールまたはハンドヘルドデバイス、ビデオストリーミングデバイスなどを含む広範囲のデバイスのいずれかを含み得る。デバイス20はポータブルデバイスであり得るが、本開示の技法はこのように限定されない。たとえば、他の態様によれば、本技法は、デスクトップコンピュータ、セットトップボックス、テレビジョン、ドローン、または他のデバイスとともに使用され得る。
【００１５】
フロント画像センサ22およびリア画像センサ24は、画像をキャプチャするように構成され得る。たとえば、フロント画像センサ22およびリア画像センサ24は、光画像を電子信号に変換するための任意の構成要素を含み得る。例示的な画像センサは、電荷結合デバイス(CCD)、相補型金属酸化物半導体(CMOS)、N形金属酸化物半導体(NMOS)などを含む。いくつかの事例では、以下でより詳細に説明されるように、フロント画像センサ22およびリア画像センサ24は、1つまたは複数のカメラシステムまたはサブシステム中に含まれ得る。
【００１６】
ディスプレイ26は、ユーザへの出力を生成することができる、液晶ディスプレイ(LCD)、発光ダイオード(LED)、有機発光ダイオード(OLED)、または他のタイプのデバイスを含み得る。いくつかの事例では、ディスプレイ26は、タッチセンシティブおよび/またはプレゼンスセンシティブディスプレイとして構成され得る。
【００１７】
図1に示されている例では、デバイス20はPIPウィンドウ28を含む。いくつかの例では、PIPウィンドウは、ディスプレイ26において表示されている他のコンテンツとは無関係にコンテンツを表示するためのエリアを与え得る。たとえば、デバイス20は、カメラアプリケーションが実行されているとき、PIP画像プレビューイングを実施するように構成され得る。この例では、デバイス20は、PIPウィンドウ28が何らかの他の情報を表示する間に、ディスプレイ26上で、フロント画像センサ22またはリア画像センサ24によるキャプチャのために画像をプレビューし得る。他の例では、デバイス20は、ディスプレイ26の残部が何らかの他の情報を表示する間に、PIPウィンドウ28中で、フロント画像センサ22またはリア画像センサ24によるキャプチャのために画像をプレビューし得る。
【００１８】
デバイス20は、基本画像プレビューモードで動作するように構成され得、ここで、ディスプレイ26、すなわち、ディスプレイ26の全体またはPIPウィンドウ28のみのいずれかが、ユーザにプレビュー画像を提示する。概して、プレビュー画像は、時間的に特定の瞬間においてフロント画像センサ22またはリア画像センサ24の視野(field of view)内にあるものを示す。プレビュー画像は、フロント画像センサ22またはリア画像センサ24のFOV内の物体が変化するにつれて、ディスプレイ26上に示されるプレビュー画像のコンテンツも、リアルタイムであるようにユーザに見えるものにおいて変化するように、十分に頻繁に更新され得る。タッチコマンド、ボイスコマンド、ボタンの押下、または他のそのようなアクションなど、ユーザ開始型画像キャプチャ要求に応答して、デバイス20は、ユーザ開始型画像キャプチャ要求が受信されたときに表示されているプレビュー画像と実質的に同様である最終画像をキャプチャするように構成され得る。
【００１９】
デバイス20は、有効にされたクリーンプレビュー機能をもつ画像プレビューモードで動作するようにさらに構成され得る。デバイス20が、有効にされたクリーンプレビュー機能を用いて動作しているとき、ディスプレイ26は、上記で説明されたようにユーザにプレビュー画像を提示し得るが、プレビュー画像は、1つまたは複数の不要な物体を除外し得る。デバイス20は、フロント画像センサ22またはリア画像センサ24を介して、異なる時間における複数の画像を受信し得る。デバイス20は、複数の画像のコピーの第1のセットを記憶し得る。デバイス20は、コピーの第1のセットの各画像のピクセルを、移動物体ピクセルまたは背景ピクセルとして分類し、コピーの第1のセットの2つまたはそれ以上の画像からの背景ピクセルを使用してプレビュー画像を生成し得る。デバイス20は、ディスプレイ26上にクリーンプレビュー画像を表示し得る。
【００２０】
クリーンプレビュー画像を表示する間に、デバイス20のユーザは、画像キャプチャ要求を開始し得る。ユーザ開始型画像キャプチャ要求に応答して、デバイス20は、ユーザ開始型画像キャプチャ要求の時間において表示されているクリーンプレビュー画像とほぼ同じである最終画像を生成し得る。デバイス20は、クリーンプレビューが、リアルタイムまたはほぼリアルタイムであるようにユーザに見えるものにおいて変化するように、クリーンプレビュー画像を連続的に更新し得る。しかしながら、基本画像プレビューモードの場合とは異なり、有効にされたクリーンプレビュー機能を用いて、ディスプレイ26上に示されるプレビューは、フロント画像センサ22またはリア画像センサ24の視野内にあるいくつかの物体を除外し得る。
【００２１】
図2Aは、フロント画像センサ22またはリア画像センサ24のいずれかを介してデバイス20によって受信され得る画像の一例を示す。図2Aの例では、画像35A、35B、および35C(画像35)は、わずかに異なる時間においてデバイス20によって受信された同じシーンの画像である。画像35は、たとえば、コンマ数秒互いから離れて受信された画像であり得る。デバイス20は、バッファ中に、画像35の低解像度コピーを記憶し得る。デバイス20は、たとえば、1080Pなど、より高い解像度にある画像35を受信するが、クォータービデオグラフィックスアレイ(QVGA)画像など、画像35のより低解像度のバージョンをバッファ中に記憶し得る。
【００２２】
図2Aの例に見られるように、画像35は、(36Aおよび36Bと標示された)建築物を含む。画像35C中の建築物は、明示的に図示されていない。画像35は、車(37A、37B、37Cと標示され、まとめて「車37」)とオートバイ38Aとをさらに含む。画像35中の車37およびオートバイ38Aの移動に基づいて、デバイス20は、車37およびオートバイ38Aが不要な物体であると決定し得る。以下でより詳細に説明される技法を利用して、デバイス20は、画像35から、ディスプレイ26上での表示のためにクリーンプレビュー画像を生成し得る。
【００２３】
デバイス20は、たとえば、自動的に(たとえば、ユーザ入力なしに)、物体の動きなど、物体の特性に基づいて、物体が不要であると決定し得る。追加または代替として、デバイス20は、ユーザ入力に部分的に基づいて、物体が不要な物体であると決定し得る。ユーザは、たとえば、タッチまたは何らかの他のコマンドを用いて、プレビュー画像から削除されるべき物体を識別し得る。他の実装形態では、ユーザは、プレビュー画像中に保つべき物体を識別し得、そのような識別に応答して、デバイス20は、識別された物体をプレビュー中に保ちながら、不要な物体であると決定された物体をプレビュー画像から削除し得る。
【００２４】
いくつかの使用シナリオでは、視野中の複数の物体は、それらの物体が、ユーザが画像中に保つことを望む物体であるにもかかわらず、不要な物体の特性を呈し得る。一例として、サッカーの試合を撮影するとき、デバイス20のユーザは、視野に入り得る非プレーヤを除外しながら、それらのピクチャ中にサッカープレーヤを含めることを望み得る。プレーヤは移動しているので、彼らは、一般に不要な物体の特性(たとえば、動き)を呈し得るが、ユーザ入力に基づいて、デバイス20は、プレーヤを不要な物体と区別することができる。
【００２５】
図2Bは、図2Aの画像35から生成されたクリーンプレビュー画像39の一例を示す。画像39に見られるように、建築物36は存在するが、車37およびオートバイ38Aはクリーンプレビュー画像39から除外される。クリーンプレビュー画像39は、画像35のうちの2つまたはそれ以上の画像から合成される。言い換えれば、合成画像を形成するために、クリーンプレビュー画像39の第1の部分は画像35Aから取られ、第2の部分は35Bから取られ、第3の部分は35Cから取られ得る。合成画像は、ディスプレイ26によって表示されるより前に、さらに処理、たとえば、フィルタ処理され得る。
【００２６】
図3は、本開示の技法を実装するように構成され得るデバイス40の一例を示すブロック図である。いくつかの例では、デバイス40に関して図示および説明される1つまたは複数の構成要素が、デバイス20に組み込まれ得る。
【００２７】
図3に示されている例では、デバイス40は、1つまたは複数のプロセッサ44と、メモリ48と、ディスプレイプロセッサ54と、ローカルディスプレイ56と、オーディオプロセッサ60と、スピーカ62と、トランスポートユニット66と、ワイヤレスモデム68と、入力デバイス72と、カメラシステム76とを含む。他の例は、図3に示されているものよりも多いまたは少ない構成要素を含み得る。さらに、いくつかの構成要素が説明の目的で別々に説明されるが、図3に関して図示および説明されるいくつかの構成要素は、単一の構成要素を形成するために高度に集積されるかまたは組み合わせられ得ることを理解されたい。
【００２８】
構成要素44、48、54、60、66、72、および76の各々は、通信チャネル82を介した構成要素間通信のために(物理的に、通信可能に、および/または動作可能に)相互接続され得る。いくつかの例では、通信チャネル82は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはデータを通信するための他のチャネルを含み得る。
【００２９】
1つまたは複数のプロセッサ44は、ストレージデバイスメモリ48に記憶された命令を処理することが可能であり得る。プロセッサ44のうちの1つまたは複数は、デバイス40のための中央処理ユニット(CPU)を形成し得る。プロセッサ44は、たとえば、1つまたは複数のマイクロプロセッサ、DSP、ASIC、FPGA、ディスクリート論理、またはそれらの任意の組合せを含み得る。いくつかの例では、プロセッサ104は、固定機能論理および/またはプログラマブル論理を含み得、ソフトウェアおよび/またはファームウェアを実行し得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体中にソフトウェアのための命令を記憶し、本開示の技法を実施するために1つまたは複数のプロセッサを使用してハードウェアで命令を実行し得る。
【００３０】
いくつかの例では、プロセッサ44は、トランスポート、記憶、および表示のためにA/Vデータを符号化および/または復号するように構成され得る。たとえば、プロセッサ44のうちの1つまたは複数は、それらのいずれもが、組み合わせられたビデオエンコーダ/デコーダ(コーデック)の一部として組み込まれ得る、ビデオエンコーダまたはビデオデコーダとして動作し得る。いくつかの事例では、コーデックは、代替的にMPEG-4, Part 10, アドバンストビデオコーディング(AVC)と呼ばれるITU-T H.264規格など、ビデオ圧縮規格、またはそのような規格の拡張に従って動作し得る。ビデオ圧縮規格の他の例は、MPEG-2およびITU-T H.263およびITU-T H.265、高効率ビデオコーディング(HEVC)規格を含む。
【００３１】
図3のメモリ48は、限定はしないが、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、磁気ランダムアクセスメモリ(MRAM)、フラッシュメモリなどを含む、多種多様な揮発性または不揮発性メモリのいずれかを含み得る。メモリ48は、オーディオ/ビデオデータ、ならびに他の種類のデータを記憶するためのコンピュータ可読記憶媒体を含み得る。
【００３２】
いくつかの例では、メモリ48は、本開示で説明される様々な技法を実施することの一部としてプロセッサ44によって実行されるアプリケーション50を記憶し得る。アプリケーション50は、たとえば、本開示の技法に従ってクリーンプレビュー画像を生成するように構成されたカメラアプリケーションを含み得る。メモリ48は、以下でより詳細に説明されるように、フレームバッファまたは画像バッファの一方または両方であり得るバッファ52をさらに含み得る。本開示は、概して、受信された画像のフル解像度コピーを記憶するバッファを指すために、画像バッファという用語を使用し、受信された画像のダウンサンプリングされたバージョンを記憶するバッファを指すために、フレームバッファという用語を使用する。以下でより詳細に説明されるように、フレームバッファ中に記憶されたフレームは、プレビュー画像を生成するために使用され得、画像バッファ中に記憶された画像は、最終画像を生成するために使用され得る。メモリ48は、デバイス40による提示のために、あるA/Vデータをも記憶し得る。たとえば、メモリ48は、A/Vファイル全体を記憶し得るか、または、たとえば、別のデバイスまたはソースからストリーミングされたA/Vファイルの一部分を記憶するにすぎない、より小さいバッファを含み得る。いずれの場合も、メモリ48は、データがデバイス40によって提示される前に、A/Vデータをバッファし得る。
【００３３】
いくつかの例では、デバイス40は、A/Vデータをローカルに処理および表示し得る。特に、ディスプレイプロセッサ54は、ローカルディスプレイ56上に表示されるべきビデオデータを処理するためのプラットフォームの一部分を形成し得る。この点について、ディスプレイプロセッサ54は、(プロセッサ44に関して上記で説明された)コーデックを含み得る。ディスプレイ56は、ユーザへのわかりやすい出力を生成することができる、液晶ディスプレイ(LCD)、発光ダイオード(LED)、有機発光ダイオード(OLED)、または他のタイプのデバイスを含み得る。さらに、オーディオプロセッサ60は、1つまたは複数のスピーカ62上での出力のためにオーディオデータを処理し得る。
【００３４】
トランスポートユニット66は、ネットワークトランスポートのために、符号化されたA/Vデータを処理し得る。たとえば、符号化されたA/Vデータは、プロセッサ44によって処理され、ネットワークにわたる通信のためにトランスポートユニット66によってネットワークアクセスレイヤ(NAL)ユニットにカプセル化され得る。NALユニットは、ネットワーク接続を介して別のデバイスにモデム68によって送られ得る。この点について、モデム68は、たとえば、直交周波数分割多重化(OFDM)技法、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、符号分割多元接続(CDMA)、またはOFDM、FDMA、TDMAおよび/もしくはCDMAの任意の組合せ、WiFi、Bluetooth(登録商標)、イーサネット(登録商標)、IEEE802.11規格ファミリー、あるいは他のワイヤレスまたはワイヤード通信技法を含む、任意の数の通信技法に従って動作し得る。いくつかの事例では、デバイス40のモデム68は、NALユニットなど、カプセル化されたデータパケットを受信し得、カプセル化解除のためにトランスポートユニット66にカプセル化されたデータユニットを送る。たとえば、トランスポートユニット66は、NALユニットからデータパケットを抽出し得、プロセッサ44は、ユーザ入力コマンドを抽出するために、データパケットをパースすることができる。
【００３５】
1つまたは複数の入力デバイス72は、触覚、オーディオ、またはビデオフィードバックを通してユーザから入力を受信するように構成され得る。入力デバイス42の例は、タッチおよび/またはプレゼンスセンシティブスクリーン、マウス、キーボード、ボイス応答システム、マイクロフォン、またはユーザからのコマンドを検出するための他のタイプのデバイスを含む。
【００３６】
グラフィックス処理ユニット(GPU)74は、グラフィカル動作を実施するための1つまたは複数の専用プロセッサを表す。すなわち、たとえば、GPU74は、グラフィックスをレンダリングし、GPUアプリケーションを実行するための固定機能およびプログラマブル構成要素を有する専用ハードウェアユニットであり得る。GPU74はまた、DSP、汎用マイクロプロセッサ、ASIC、FPGA、または他の等価な集積論理回路もしくはディスクリート論理回路を含み得る。GPU74は、図3の例では別個のユニットとして示されているが、いくつかの例では、GPU74は、(CPUなどの)1つまたは複数の他のプロセッサ44とともに単一のユニットに統合され得る。
【００３７】
カメラシステム76は、1つまたは複数の画像プロセッサ、1つまたは複数の画像センサ(たとえば、CCDセンサ、CMOSセンサ、NMOSセンサなど)、ならびに画像をキャプチャするためのいくつかの他の構成要素を含み得る。カメラシステム76は、いわゆるカメラフォンまたはビデオフォンのための1つまたは複数の構成要素を含み得る。いくつかの例では、カメラシステム76は、複数の画像センサ(たとえば、カメラフォンまたはビデオフォンのフロント画像センサおよびリア画像センサ)をサポートし得る。カメラシステム76のそのような画像センサによって生成された画像ストリームは、1つまたは複数の画像プロセッサによって処理され得る。いくつかの事例では、カメラシステム76は、ソースビデオとして、あるいはライブビデオ、アーカイブされたビデオ、および/またはコンピュータ生成されたビデオの組合せとして、コンピュータグラフィックスベースのデータを生成するために、GPU74と組み合わせて動作し得る。キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータ生成されたビデオは、(上記で説明された)ビデオエンコーダによって符号化され得る。
【００３８】
図4は、デバイス40の動作の態様を示すフローチャートを示す。デバイス40は、メモリ48のアプリケーション50に記憶されたカメラアプリケーションを実行し得る。カメラアプリケーションの実行時に、デバイス40は、カメラシステム76にアクセスし、カメラシステム76から入力された画像を時間t0において受信し、t0フレーム入力を決定するために画像をダウンサンプリングし得る(102)。カメラシステム76は、たとえば、30フレーム毎秒で画像を受信し得る。画像をダウンサンプリングした後、デバイス40は、フレームバッファが更新されるべきであるかどうかを決定し得る(104)。フレームバッファが更新されるべきである場合(104、YES)、デバイス40は、フレームバッファにt0フレームを追加し得、また、フレームバッファからより古いフレームを削除し得る(106)。フレームバッファが更新されるべきでない場合(104、NO)、デバイス40はバッファを更新しないことがある(107)。たとえば、デバイス40は、フレームバッファにt0フレームを追加しないことがあり、また、フレームバッファからより古いフレームを削除しないことがある。フレームバッファにフレームを追加しないというブロック204における決定は、フレームが、プレビューフレームを生成する際の将来の使用のためにフレームバッファに追加されないことを意味するにすぎず、フレームが他の目的のためにバッファされないことを必ずしも意味するものではないことを理解されたい。
【００３９】
デバイス40は、カメラシステム76が画像を受信するレートよりも低いレートでフレームバッファを更新し得る。たとえば、カメラシステム76が30fpsで画像を受信する場合、デバイス40は3fpsでフレームバッファを更新し得る。したがって、図4のブロック104において行われる、フレームバッファを更新すべきかどうかの決定は、画像が受信された時間、あるいはフレームに関連付けられたピクチャ順序カウント(POC)値またはフレーム番号に基づき得る。デバイス40がフレームバッファを更新するレートは、2つのバッファされたフレーム間に十分に長い十分な時間期間が生じるように選択され得る。時間期間は、不要な物体の動きにより、不要な物体が、第2のバッファされたフレームに対して1つのバッファされたフレーム中の十分に異なるロケーションにあるように選択され得る。上記で紹介された30fpsおよび3fpsの例を使用して、デバイス40が、時間t0において受信された画像のフレームを用いてフレームバッファを更新する場合、デバイス40は、時間t10まで再びフレームバッファを更新しないことがあり、これは、時間t1〜t9について決定されたフレームがフレームバッファに追加されないことを意味する。
【００４０】
クリーンプレビューを生成することの一部として、デバイス40は、たとえば、t0フレーム中の移動物体を検出するために、t0フレーム入力を、フレームバッファ中に記憶された2つまたはそれ以上の前のフレーム入力と比較し得る(108)。この例では、フレームバッファは、t-10、t-20などについてのフレーム入力をすでに記憶していると仮定され得る。デバイス40は、t0フレームのピクセルの値を、バッファされたフレーム中の対応するロケーションにおけるピクセルの値と比較することによって、移動物体を検出し得る。フレーム中のあるピクセルロケーションにおけるピクセル値が、すべてのフレーム(すなわち、t0フレーム、およびフレームバッファ中に記憶されたフレーム)にわたって無矛盾である場合、そのピクセル値は背景ピクセルにおそらく対応する。フレーム中のあるロケーションにおけるピクセル値がすべてのフレームにわたって無矛盾でない場合、フレームのうちの少なくともいくつかのそのロケーションにおけるピクセルは、移動物体ピクセルにおそらく対応する。特定のピクセルロケーションについて、どのフレームが背景ピクセルを含み、どのフレームが移動物体ピクセルを含むかをそのピクセルロケーションについて決定するために、デバイス40は、投票技法を実施するように構成され得、ここで、最も頻繁に生じるピクセル値が背景に対応すると仮定される。t0フレームについて、デバイス40はラベルマップを決定し得る。ラベルマップは、プレビュー画像中の各ピクセルロケーションについて、プレビュー画像を生成するためのピクセル値をそれから取得すべきフレームを識別する。ピクセル値をそれから取得すべきフレームは、現在フレーム(すなわち、t0フレーム)、またはバッファされたフレーム(すなわち、t-10フレーム、t-20フレーム、t-30フレームなど)のうちの1つのいずれかであり得る。
【００４１】
ラベルマップを決定するために、デバイス40は、投票プロセスを使用して現在フレームについて背景確率マップを生成し得る。投票プロセスの一部として、デバイス40は、現在フレーム中の特定のピクセルが、不要な物体ピクセルであるのか、背景ピクセルであるのかを決定するために、2つまたはそれ以上のバッファされたフレームと現在フレームとのあるピクセルロケーションについてのピクセル値を比較し得る。デバイス40は、たとえば、最も頻繁に生じるピクセル値を決定するために、あらゆるロケーションについてヒストグラムを生成し、最も頻繁に生じるピクセル値に対応する、バッファされたフレームまたは現在フレームを、プレビュー画像を生成するときにそのピクセルロケーションについて使用すべきフレームとして選択し得る。
【００４２】
デバイス40は、ラベルマップの決定中に、近傍ピクセル値類似度情報を考慮し得る。隣接ピクセルおよび現在ピクセルがピクセル値において近い場合、それらのラベル値は同じである傾向がある。直観的に、それらのピクセル値が近いので、これらのピクセルは、前景物体または背景物体の同じ部分に属し得る。デバイス40は、あらゆるピクセルロケーションについて、最大確率値に関連付けられたフレームインデックスを、ラベルマップ中に含めるべきフレームインデックスとして選択し得る。
【００４３】
デバイス40はクリーン背景を復元し得る(110)。クリーン背景を復元することの一部として、デバイス40は、t0フレーム入力の移動物体ピクセルを、1つのバッファされたフレーム入力の背景ピクセルと交換し得る。クリーン背景を復元するために、デバイス40は、フレームバッファ中に記憶された1つまたは複数の画像から画像を合成し得る。合成画像の各ピクセルロケーションについて、デバイス40は、ラベルマップに基づいて、フレームバッファ中に記憶された画像のうちの1つ中の対応するロケーションにおける背景ピクセルについてピクセル値を決定し得る。したがって、合成画像は、t0において受信された画像の背景ピクセル、t-10において受信された画像の背景ピクセル、t-20において受信された画像の背景ピクセル、およびフレームバッファ中に記憶された他の画像の潜在的背景ピクセルについてのピクセル値を含み得る。デバイス40は、ローカルディスプレイ56を介して、たとえば、クリーンプレビュー画像を出力し得る(112)。
【００４４】
デバイス40は、リアルタイムまたはほぼリアルタイム様式で、ディスプレイ56において表示されているプレビュー画像を更新し得る。たとえば、デバイス40は、t1において入力された新しいフレームを受信し得、その場合、t0において受信された画像は、今ではフレームバッファ中に記憶されている。上記で説明されたように、バッファは3fpsで更新されるにすぎないことがあり、カメラシステム76は30fpsで画像を生成する。したがって、ブロック104において、t1についてのフレーム入力は、フレームバッファに追加されないことがある。しかしながら、t1についてのフレーム入力は、クリーンプレビュー画像を生成するために依然として使用され得る。したがって、ブロック108および110において、移動物体を検出し、ラベルマップを生成するために使用されるフレームは、t1についてのフレーム、ならびにt0、t-10、t-20などについてのバッファされたフレームを含み得る。
【００４５】
図5は、デバイス40の動作の態様を示すフローチャートを示す。デバイス40は、メモリ48のアプリケーション50に記憶されたカメラアプリケーションを実行し得る。カメラアプリケーションの実行時に、デバイス40はカメラシステム76にアクセスし得る。時間t=0において、カメラシステム76は画像を受信し得る。デバイス40は、フレーム入力を生成するために、受信された画像を第1の解像度にダウンサンプリングし得る(202)。デバイス40はまた、フレームバッファが更新されるべきであるかどうかを決定し得る(204)。フレームバッファが更新されるべきであると決定したことに応答して(204、YES)、デバイス40は、フレームバッファ中に入力フレームのコピーを記憶し得る(206)。フレームバッファが更新されるべきでないと決定したことに応答して(204、NO)、デバイス40は、フレームバッファを更新しないことがある(205)。デバイス40はまた、画像バッファが更新されるべきであるかどうかを決定し得る(208)。画像バッファが更新されるべきであると決定したことに応答して(208、YES)、デバイス40は、画像バッファ中に、第1の解像度よりも高い第2の解像度で画像のコピーを記憶し得る(210)。第2の解像度は、たとえば、カメラシステム76によって受信された画像のネイティブ解像度であり得る。画像バッファが更新されるべきでないと決定したことに応答して(208、NO)、デバイス40は、画像バッファを更新しないことがある(209)。たとえば、デバイス40は、画像バッファ中に、画像のコピーを記憶しないことがある。
【００４６】
図4に関して上記で説明されたように、フレームバッファを更新すべきか否かの決定は、カメラシステム76が画像を受信するレートとは異なり得る、フレーム更新バッファレートに基づき得る。たとえば、カメラシステム76が15fpsのレートで画像を受信し、デバイス40が5fpsのレートでフレームバッファを更新する場合、カメラシステム76によって受信された3つの画像ごとに1つのみが、フレームバッファを更新するために使用され得る。同様に、デバイス40は、カメラ76が画像を受信するのと同じレート、デバイス40がフレームバッファを更新するのと同じレート、または異なるレートにあり得る画像バッファ更新レートに基づいて、画像バッファを更新し得る。
【００４７】
クリーンプレビューを生成することの一部として、デバイス40は、たとえば、t0フレーム中の移動物体を検出するために、t0フレーム入力を、フレームバッファ中に記憶された2つまたはそれ以上の前のフレーム入力と比較し得る(212)。この例では、フレームバッファは、t-5、t-10などについてのフレーム入力をすでに記憶していると仮定され得る。デバイス40は、t0フレームのピクセルの値を、バッファされたフレーム中の対応するロケーションにおけるピクセルの値と比較することによって、移動物体を検出し得る。フレーム中のあるピクセルロケーションにおけるピクセル値が、すべてのフレーム(すなわち、t0フレーム、およびフレームバッファ中に記憶されたフレーム)にわたって無矛盾である場合、そのピクセル値は背景ピクセルにおそらく対応する。フレーム中のあるロケーションにおけるピクセル値がすべてのフレームにわたって無矛盾でない場合、フレームのうちの少なくともいくつかのそのロケーションにおけるピクセルは、移動物体ピクセルにおそらく対応する。特定のピクセルロケーションについて、どのフレームが背景ピクセルを含み、どのフレームが移動物体ピクセルを含むかをそのピクセルロケーションについて決定するために、デバイス40は、投票技法を実施するように構成され得、ここで、最も頻繁に生じるピクセル値が背景に対応すると仮定される。t0フレームについて、デバイス40はラベルマップを決定し得る。ラベルマップは、プレビュー画像中の各ピクセルロケーションについて、プレビュー画像を生成するためのピクセル値をそれから取得すべきフレームを識別する。ピクセル値をそれから取得すべきフレームは、現在フレーム(すなわち、t0フレーム)、またはバッファされたフレーム(すなわち、t-5フレーム、t-10フレーム、t-20フレームなど)のうちの1つのいずれかであり得る。
【００４８】
デバイス40はクリーン背景を復元し得る(214)。クリーン背景を復元することの一部として、デバイス40は、t0フレーム入力の移動物体ピクセルを、1つのバッファされたフレーム入力の背景ピクセルと交換し得る。クリーン背景を復元するために、デバイス40は、フレームバッファ中に記憶された1つまたは複数の画像から画像を合成し得る。合成画像の各ピクセルロケーションについて、デバイス40は、ラベルマップに基づいて、フレームバッファ中に記憶された画像のうちの1つ中の対応するロケーションにおける背景ピクセルについてピクセル値を決定し得る。したがって、合成画像は、t0において受信された画像の背景ピクセル、t-5において受信された画像の背景ピクセル、t-10において受信された画像の背景ピクセル、およびフレームバッファ中に記憶された他の画像の潜在的背景ピクセルについてのピクセル値を含み得る。デバイス40は、ローカルディスプレイ56を介して、たとえば、クリーンプレビュー画像を出力し得る(216)。
【００４９】
デバイス40は、リアルタイムまたはほぼリアルタイム様式で、ディスプレイ56において表示されているプレビュー画像を更新し得る。たとえば、デバイス40は、t1において入力された新しいフレームを受信し得、その場合、t0において受信された画像は、今ではフレームバッファ中に記憶されている。上記で説明されたように、バッファは5fpsで更新されるにすぎないことがあり、カメラシステム76は15fpsで画像を生成する。したがって、ブロック204において、t1についてのフレーム入力は、フレームバッファに追加されないことがある。しかしながら、t1についてのフレーム入力は、クリーンプレビュー画像を生成するために依然として使用され得る。したがって、ブロック212および214において、移動物体を検出し、ラベルマップを生成するために使用されるフレームは、t1についてのフレーム、ならびにt0、t-5、t-10などについてのバッファされたフレームを含み得る。
【００５０】
デバイス40は、ローカルディスプレイ56を介して、たとえば、クリーンプレビューの一部としてクリーンフレームを出力し得る(216)。デバイス40のローカルディスプレイ56上にクリーンプレビュー画像を表示する間に、デバイス40は、画像をキャプチャするようにとのユーザ開始型画像キャプチャ要求を受け付けるように構成され得る(218)。デバイス40がユーザ開始型画像キャプチャ要求を受信しないとき、デバイス40は、リアルタイムまたはほぼリアルタイム様式で、ディスプレイ56において表示されているクリーンプレビュー画像を更新し得る。たとえば、デバイス40は、t1において入力された新しいフレームを受信し得、その場合、t0において受信された画像は、今ではフレームバッファ中に記憶されている。
【００５１】
デバイス40は、有効にされたクリーンプレビュー機能をもつ画像プレビューモードの一部として、クリーンプレビュー画像を生成し得る(たとえば、ブロック202、204、206、212、および214)。画像プレビューモードで動作するとき、デバイス40は、タッチコマンド、ボイスコマンド、ボタン押下、または何らかの他のそのようなアクションなど、ユーザ開始型画像キャプチャ要求を検出するように構成され得る。デバイス40がユーザ開始型画像キャプチャ要求を検出しないとき(218、NO、図5に図示せず)、デバイス40はクリーンプレビュー画像を更新し続ける。画像をキャプチャするようにとのユーザ開始型画像キャプチャ要求を受信したことに応答して(218、YES)、デバイス40は、画像バッファ中に記憶された画像に基づいて、クリーン最終画像を出力する(220)。ユーザ開始型画像キャプチャ要求がデバイス40によって受信されたときにローカルディスプレイ56上に表示されているクリーンプレビュー画像は、最終画像の近似であり得る。しかしながら、最終画像は、クリーンプレビュー画像と同等でないことがある。他の潜在的差異の中で、最終画像は、クリーンプレビュー画像よりも高い解像度の画像であり得る。
【００５２】
さらに、最終画像を生成するために、デバイス40は、クリーンプレビュー画像を生成するために実施されない1つまたは複数の後処理動作を実施し得る。そのような後処理動作の例は、輝度変更、ノイズ低減、ホワイトバランス調整、ぼけ低減、ズーム変更、赤目削除、画像シャープ化および/または軟化、特殊効果フィルタの適用、キャプション情報の追加などを含む。本開示の技法は、これらの後処理動作が、プレビュー画像生成プロセスの一部としてプレビュー画像にも適用されるのを妨げないことを理解されたい。代わりに、プレビュー画像を作成する際に利用される画像処理動作は、最終画像を作成するために利用される画像処理動作とは異なり、一般に最終画像を作成するために利用される画像処理動作は、プレビュー画像を作成するために利用される画像処理動作よりも計算量的に複雑で集約的であり得るにすぎないことを諒解されたい。
【００５３】
入力フレーム中の移動物体を検出すること(たとえば、図4のブロック108および図5のブロック212)の一部として、デバイス40は、現在の入力フレームについてラベルマップを決定し得る。ラベルマップは、プレビュー画像の各ピクセルについて、現在の入力フレーム、またはフレームバッファからのフレームのいずれかを識別し得る。図6は、たとえば、プレビュー画像に対応するラベルマップを示す。ラベルマップ中のいくつかのピクセルロケーションは現在フレームに関連付けられ、いくつかはバッファされたフレーム1に関連付けられ、いくつかはバッファされたフレーム2に関連付けられ、いくつかはバッファされたフレーム3に関連付けられる。したがって、図6のラベルマップに基づいてプレビュー画像を生成するために、デバイス40は、現在フレームに関連付けられたラベルマップの領域中の現在フレームからのピクセル値と、バッファされたフレーム1に関連付けられたラベルマップの領域中の第1のバッファされたフレームからのピクセル値と、バッファされたフレーム2に関連付けられたラベルマップの領域中の第2のバッファされたフレームからのピクセル値と、バッファされたフレーム3に関連付けられたラベルマップの領域中の第3のバッファされたフレームからのピクセル値とを含む合成画像を生成する。したがって、デバイス40は、現在フレーム、第1のバッファされたフレーム、第2のバッファされたフレーム、および第3のバッファされたフレームからの合成画像であるプレビュー画像を生成し得る。現在フレームおよびバッファされたフレームからのピクセルを使用してプレビュー画像を生成することによって、デバイス40は、プレビュー画像から不要な物体を除外するプレビューを生成し得る。
【００５４】
図7は、アップサンプリングされたラベルマップの一例を示す。デバイス40は、図6のラベルマップをアップサンプリングすることによって、図7のアップサンプリングされたラベルマップを生成する。図6のラベルマップを、図7のアップサンプリングされたラベルマップと比較することからわかるように、2つのラベルマップはほぼ同じである。しかしながら、アップサンプリングされたラベルマップはより高い解像度にある。デバイス40が、合成プレビュー画像を生成するためのフレームを識別するために図6のラベルマップを使用するのと同じ様式で、デバイス40は、最終画像を生成するために、アップサンプリングされたラベルマップを使用し得る。したがって、デバイス40は、現在画像、第1のバッファされた画像、第2のバッファされた画像、および第3のバッファされた画像からの合成画像である最終画像を生成し得る。現在画像およびバッファされた画像からのピクセルを使用して最終画像を生成することによって、デバイス40は、最終画像から不要な物体を除外する最終画像を生成し得る。プレビュー画像を生成するために使用されたラベルマップのアップサンプリングされたバージョンを使用して最終画像を生成することは、最終画像を生成することに関連する処理時間を改善し得る。
【００５５】
図8は、本開示の技法を示すフローチャートを示す。図8の技法は、一般的なカメラデバイスに関して説明される。一般的なカメラデバイスは、たとえば、図1に関して説明されたデバイス20、図3に関して説明されたデバイス40、または画像データを処理するように構成された何らかの他のデバイスであり得る。図8のコンテキストでは、カメラデバイスは、画像センサまたはディスプレイなど、他の構成要素とともに動作するが、それらの他の構成要素とは事実上別個である、カメラチップセットなど、1つまたは複数のカメラ構成要素をも指すことがある。カメラデバイスは、異なる時間における複数の画像を収集する(400)。カメラデバイスは、たとえば、画像センサからそのような画像を受信し得る。カメラデバイスは、バッファ中に、複数の画像のコピーの第1のセットを記憶する(402)。コピーの第1のセットは、第1のピクセル、すなわち空間の、解像度で記憶され得る。カメラデバイスは、コピーの第1のセットの各画像のピクセルを、移動物体ピクセルまたは背景ピクセルとして分類し得る(404)。カメラデバイスは、コピーの第1のセットの2つまたはそれ以上の画像からの背景ピクセルを使用してクリーンプレビュー画像を生成し得る(406)。クリーンプレビュー画像は、複数の画像の画像のうちの1つまたは複数中で見つけられた移動物体ピクセルのうちの1つまたは複数を除外し得る。
【００５６】
クリーンプレビュー画像は、たとえば、コピーの第1のセットの2つまたはそれ以上の画像から合成された画像であり得、コピーの第1のセットの1つまたは複数の画像中に存在する少なくとも1つの物体が、クリーンプレビュー画像中に存在しない。クリーンプレビュー画像を生成するために、カメラデバイスは、コピーの第1のセットの2つまたはそれ以上の画像からの背景ピクセルとして分類されたピクセルから合成画像を生成し得る。
【００５７】
カメラデバイスは、カメラデバイスが、画像プレビューモードで動作している間に、およびユーザ開始型画像収集要求より前に、複数の画像を収集し得る。カメラデバイスは、カメラデバイスのディスプレイ上にクリーンプレビュー画像を表示し得る。クリーンプレビュー画像を表示する間に、カメラデバイスは、ユーザ開始型画像収集要求を受信し、ユーザ開始型画像収集要求に応答して、最終画像を生成し得る。最終画像は、第1の解像度よりも高い第2の解像度を有し得る。
【００５８】
プレビュー画像は最終画像の近似であり得る。したがって、プレビュー画像から除外された不要な物体ピクセルのうちの1つまたは複数は、最終画像からも除外され得る。1つまたは複数の不要な物体ピクセルは、受信された複数の画像中に存在するにもかかわらずプレビュー画像と最終画像の両方から除外された不要な物体を集合的に形成し得る。
【００５９】
カメラデバイスは、ラベルマップを生成するように構成され得る。ラベルマップは、クリーンプレビュー画像の各ピクセルを、コピーの第1のセットからの画像と関連付けるデータ構造であり得る。クリーンプレビューを生成するために、カメラデバイスは、クリーンプレビュー画像のピクセルロケーションについて、ラベルマップから、ピクセルロケーションについて識別された画像を決定し、識別された画像中で、クリーンプレビュー画像のピクセルロケーションと同じロケーションのピクセル値を決定し得る。カメラデバイスは、識別された画像の同じロケーションのピクセル値(たとえば、RGB値、またはYCBCR値)に基づいて、クリーンプレビュー画像のピクセルロケーションについてピクセル値を決定し得る。
【００６０】
カメラデバイスは、バッファ中に、複数の画像のコピーの第2のセットを記憶し得る。複数の画像のコピーの第2のセットは、コピーの第1のセットのために使用される第1の解像度よりも高い第2の解像度にあり得る。ユーザ開始型画像収集要求に応答して、カメラデバイスは、コピーの第2のセットの2つまたはそれ以上の画像からの背景ピクセルを使用して最終画像を生成し得る。最終画像を生成するために、カメラデバイスは、ラベルマップをアップサンプリングし、最終画像のピクセルロケーションについて、アップサンプリングされたラベルマップから、最終画像のピクセルロケーションについて識別された画像を決定し得る。カメラデバイスは、識別された画像中で、最終画像のピクセルロケーションと同じロケーションのピクセル値を決定し得る。カメラデバイスは、識別された画像の同じロケーションのピクセル値に基づいて、最終画像のピクセルロケーションについてピクセル値を決定し得る。
【００６１】
例に応じて、本明細書で説明される方法のいずれかのいくつかの行為またはイベントは、異なる順序で実施され得るか、またはまとめて追加、統合、または省略され得る(たとえば、すべての前述の行為またはイベントが方法の実施のために必要であるとは限らない)ことも理解されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実施され得る。
【００６２】
その上、1つまたは複数の例では、本明細書で説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され得、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。
【００６３】
このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コード、および/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品がコンピュータ可読媒体を含み得る。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を含み得る。
【００６４】
また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。
【００６５】
しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびblu-ray(登録商標)ディスク(disc)を含み、ここで、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
【００６６】
命令は、1つまたは複数のDSP、汎用マイクロプロセッサ、ASIC、FPGA、または他の等価の集積論理回路もしくはディスクリート論理回路など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明された技法の実装に適した任意の他の構造のいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/もしくはソフトウェアモジュール内で提供され得、または組み合わされたコーデックに組み込まれ得る。また、技法は、1つまたは複数の回路または論理要素において完全に実装され得る。
【００６７】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明された1つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【００６８】
本開示の様々な態様が説明された。これらの態様および他の態様は以下の特許請求の範囲内に入る。
【符号の説明】
【００６９】
20  デバイス
22  フロント画像センサ
24  リア画像センサ
26  ディスプレイ
28  ピクチャインピクチャ(PIP)ウィンドウ
28  PIPウィンドウ
30  スピーカ
32  マイクロフォン
34  ボタン
35  画像
35A  画像
35B  画像
35C  画像
36  建築物
36A  建築物
36B  建築物
37  車
37A  車
37B  車
37C  車
38A  オートバイ
39  クリーンプレビュー画像
40  デバイス
42  入力デバイス
44  プロセッサ
48  メモリ
50  アプリケーション
52  バッファ
54  ディスプレイプロセッサ
56  ローカルディスプレイ
60  オーディオプロセッサ
62  スピーカ
66  トランスポートユニット
68  モデム
72  入力デバイス
74  グラフィックス処理ユニット
74  GPU
76  カメラシステム
82  通信チャネル
【図１】
2018535572.tif 000003
【図２Ａ】
2018535572.tif 000004
【図２Ｂ】
2018535572.tif 000005
【図３】
2018535572.tif 000006
【図４】
2018535572.tif 000007
【図５】
2018535572.tif 000008
【図６】
2018535572.tif 000009
【図７】
2018535572.tif 000010
【図８】
2018535572.tif 000011
【国際調査報告】
2018535572.tif 000012
2018535572.tif 000013