(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-19
(54)【発明の名称】カメラフォーカスのためのユーザインターフェース
(51)【国際特許分類】
H04N 23/67 20230101AFI20241112BHJP
G02B 7/28 20210101ALI20241112BHJP
G03B 13/36 20210101ALI20241112BHJP
【FI】
H04N23/67 100
G02B7/28 N
G03B13/36
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024525448
(86)(22)【出願日】2022-08-30
(85)【翻訳文提出日】2024-04-26
(86)【国際出願番号】 US2022042045
(87)【国際公開番号】W WO2023086146
(87)【国際公開日】2023-05-19
(32)【優先日】2021-11-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】507364838
【氏名又は名称】クアルコム,インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100163522
【氏名又は名称】黒田 晋平
(72)【発明者】
【氏名】ミシャ・ガロー・グラスキン
(72)【発明者】
【氏名】ホ・サン・リー
【テーマコード(参考)】
2H011
2H151
5C122
【Fターム(参考)】
2H011BA23
2H151BA06
2H151BA14
2H151CB22
2H151CB26
2H151CE31
2H151CE33
5C122DA03
5C122DA04
5C122DA09
5C122EA42
5C122FD01
5C122FD04
5C122FD07
5C122FD10
5C122FD13
5C122FE01
5C122FH22
5C122FH24
5C122FL03
5C122FL08
5C122GA01
5C122GA31
5C122HA13
5C122HA35
5C122HA86
5C122HB01
5C122HB05
(57)【要約】
画像キャプチャのためのデバイスは、プレビュー画像を記憶するように構成されるメモリと、メモリに結合される1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサは、メモリに記憶されたプレビュー画像の領域にフォーカスするためのユーザ選択を受信し、領域内の異なる深度に画像コンテンツが存在するかどうかを判定し、領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、領域内の画像コンテンツの代替バージョンを出力し、代替バージョン内の後続のユーザ選択を受信し、後続のユーザ選択に基づいてカメラのフォーカスレベルを制御するように構成される。
【特許請求の範囲】
【請求項1】
画像キャプチャのためのデバイスであって、
プレビュー画像を記憶するように構成されるメモリと、
前記メモリに結合される1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
前記メモリに記憶された前記プレビュー画像の領域にフォーカスするためのユーザ選択を受信し、
前記領域内の異なる深度に画像コンテンツが存在するかどうかを判定し、
前記領域内の異なる深度に画像コンテンツが存在するという前記判定に基づいて、前記領域内の前記画像コンテンツの代替バージョンを出力し、
前記代替バージョン内の後続のユーザ選択を受信し、
前記後続のユーザ選択に基づいてカメラのフォーカスレベルを制御するように構成される、デバイス。
【請求項2】
前記領域内の前記画像コンテンツの前記代替バージョンを出力することが、前記領域内の前記画像コンテンツのズームインされたバージョンを出力することを含む、請求項1に記載のデバイス。
【請求項3】
前記カメラの前記フォーカスレベルを制御することが、前記カメラのレンズのレンズ位置を制御することを含む、請求項1に記載のデバイス。
【請求項4】
前記後続のユーザ選択を受信することが、前記領域内のサブ領域を選択する、前記領域内の前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択を受信することを含み、
前記フォーカスレベルを制御することが、前記サブ領域の前記後続のユーザ選択に基づいて前記フォーカスレベルを制御することを含む、請求項1に記載のデバイス。
【請求項5】
前記領域内の前記サブ領域を選択する前記領域内の前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択が、前記領域内の前記サブ領域を選択するタッチユーザ選択を含む、請求項4に記載のデバイス。
【請求項6】
前記後続のユーザ選択を受信することが、前記フォーカスレベルを手動で制御するために前記画像コンテンツの前記代替バージョン内で前記後続のユーザ選択を受信することを含み、
前記フォーカスを制御することが、ユーザによる前記フォーカスレベルの手動制御に基づいて前記フォーカスを制御することを含む、請求項1に記載のデバイス。
【請求項7】
前記1つまたは複数のプロセッサが、前記後続のユーザ選択中に、焦点により近い前記画像コンテンツの量と、焦点からより遠い前記画像コンテンツの別の量とを示すヒストグラムを出力するように構成される、請求項6に記載のデバイス。
【請求項8】
前記フォーカスレベルを手動で制御するための前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択が、フォーカス深度を手動で調整するためのスワイプ、スライド、またはドラッグアンドホールドのユーザ選択を含む、請求項6に記載のデバイス。
【請求項9】
前記ユーザ選択が第1のユーザ選択であり、前記領域が第1の領域であり、前記フォーカスレベルが第1のフォーカスレベルであり、前記プレビュー画像が第1のプレビュー画像であり、前記1つまたは複数のプロセッサが、
第2のプレビュー画像の第2の領域にフォーカスするための第2のユーザ選択を受信し、
前記第2の領域で異なる深度に画像コンテンツが存在するかどうかを判定し、
前記第2の領域で異なる深度に画像コンテンツが存在しないという前記判定に基づいて、前記第2のユーザ選択に基づいて前記カメラのための第2のフォーカスレベルを制御するように構成される、請求項1に記載のデバイス。
【請求項10】
前記領域内の異なる深度に画像コンテンツが存在するという前記判定に基づいて、前記領域内の前記画像コンテンツの前記代替バージョンを出力することが、前記領域内の異なる深度に画像コンテンツが存在するという条件が満たされることに応じて、前記領域内の前記画像コンテンツの前記代替バージョンを出力することを含む、請求項1に記載のデバイス。
【請求項11】
前記領域内の前記画像コンテンツの前記代替バージョンを出力することが、フォーカスが合っていない前記領域の部分をぼかすことを含む、請求項1に記載のデバイス。
【請求項12】
前記デバイスが、前記カメラの前記フォーカスレベルで画像をキャプチャするように構成される、請求項1に記載のデバイス。
【請求項13】
前記領域内の異なる深度に画像コンテンツが存在するかどうかを判定することが、位相検出オートフォーカス(PDAF)ベースの深度マップ、デフォーカスマップ、飛行時間(ToF)、ステレオ深度、または構造化光のうちの1つまたは複数に基づいて、異なる深度に画像コンテンツが存在するかどうかを判定することを含む、請求項1に記載のデバイス。
【請求項14】
画像キャプチャのための方法であって、
前記メモリに記憶された前記プレビュー画像の領域にフォーカスするためのユーザ選択を受信するステップと、
前記領域内の異なる深度に画像コンテンツが存在すると判定するステップと、
前記領域内の異なる深度に画像コンテンツが存在するという前記判定に基づいて、前記領域内の前記画像コンテンツの代替バージョンを出力するステップと、
前記代替バージョン内の後続のユーザ選択を受信するステップと、
前記後続のユーザ選択に基づいてカメラのフォーカスレベルを制御するステップと
を含む、方法。
【請求項15】
前記画像コンテンツの前記代替バージョンを出力するステップが、前記画像コンテンツのズームインされたバージョンを出力するステップを含む、請求項14に記載の方法。
【請求項16】
前記カメラの前記フォーカスレベルを制御するステップが、前記カメラのレンズのレンズ位置を制御するステップを含む、請求項14に記載の方法。
【請求項17】
前記後続のユーザ選択を受信するステップが、前記領域内のサブ領域を選択する、前記領域内の前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択を受信するステップを含み、
前記フォーカスレベルを制御するステップが、前記サブ領域の前記後続のユーザ選択に基づいて前記フォーカスレベルを制御するステップを含む、請求項14に記載の方法。
【請求項18】
前記領域内の前記サブ領域を選択する前記領域内の前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択が、前記領域内の前記サブ領域を選択するタッチユーザ選択を含む、請求項17に記載の方法。
【請求項19】
前記後続のユーザ選択を受信するステップが、前記フォーカスレベルを手動で制御するために前記画像コンテンツの前記代替バージョン内で前記後続のユーザ選択を受信するステップを含み、
前記フォーカスを制御するステップが、ユーザによる前記フォーカスレベルの手動制御に基づいて前記フォーカスを制御するステップを含む、請求項14に記載の方法。
【請求項20】
前記後続のユーザ選択中に、焦点により近い前記画像コンテンツの量と、焦点からより遠い前記画像コンテンツの別の量とを示すヒストグラムを出力するステップをさらに含む、請求項19に記載の方法。
【請求項21】
前記フォーカスレベルを手動で制御するための前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択が、フォーカス深度を手動で調整するためのスワイプ、スライド、またはドラッグアンドホールドのユーザ選択を含む、請求項19に記載の方法。
【請求項22】
方法であって、前記ユーザ選択が第1のユーザ選択であり、前記領域が第1の領域であり、前記フォーカスレベルが第1のフォーカスレベルであり、前記プレビュー画像が第1のプレビュー画像であり、前記方法が、
第2のプレビュー画像の第2の領域にフォーカスするための第2のユーザ選択を受信するステップと、
前記第2の領域で異なる深度に画像コンテンツが存在すると判定するステップと、
前記第2の領域で異なる深度に画像コンテンツが存在しないという前記判定に基づいて、前記第2のユーザ選択に基づいて前記カメラの第2のフォーカスレベルを制御するステップとをさらに含む、請求項14に記載の方法。
【請求項23】
前記領域内の異なる深度に画像コンテンツが存在するという前記判定に基づいて、前記領域内の前記画像コンテンツの前記代替バージョンを出力するステップが、前記領域内の異なる深度に画像コンテンツが存在するという条件が満たされるステップに応じて、前記領域内の前記画像コンテンツの前記代替バージョンを出力するステップを含む、請求項14に記載の方法。
【請求項24】
前記領域内の前記画像コンテンツの前記代替バージョンを出力するステップが、フォーカスが合っていない前記領域の部分をぼかすステップを含む、請求項14に記載の方法。
【請求項25】
前記カメラの前記フォーカスレベルで画像をキャプチャするステップをさらに含む、請求項14に記載の方法。
【請求項26】
前記領域内の異なる深度に画像コンテンツが存在すると判定するステップが、位相検出オートフォーカス(PDAF)ベースの深度マップ、デフォーカスマップ、飛行時間(ToF)、ステレオ深度、または構造化光のうちの1つまたは複数に基づいて、異なる深度に画像コンテンツが存在するかどうかを判定するステップを含む、請求項14に記載の方法。
【請求項27】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、実行されると、1つまたは複数のプロセッサに、
前記メモリに記憶された前記プレビュー画像の領域にフォーカスするためのユーザ選択を受信させ、
前記領域内の異なる深度に画像コンテンツが存在すると判定させ、
前記領域内の異なる深度に画像コンテンツが存在するという前記判定に基づいて、前記領域内の前記画像コンテンツの代替バージョンを出力させ、
前記代替バージョン内の後続のユーザ選択を受信させ、
前記後続のユーザ選択に基づいてカメラのフォーカスレベルを制御させる、コンピュータ可読記憶媒体。
【請求項28】
前記1つまたは複数のプロセッサに前記カメラの前記フォーカスレベルを制御させる前記命令が、前記1つまたは複数のプロセッサに前記カメラのレンズのレンズ位置を制御させる命令を備える、請求項27に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年11月11日に出願された米国特許出願第17/454,547号の優先権を主張し、その内容全体が参照により本明細書に組み込まれる。
【0002】
本開示は、キャプチャまたは画像処理に関する。
【背景技術】
【0003】
カメラデバイスは、フレーム(例えば、画像)をキャプチャする1つまたは複数のカメラを含む。カメラデバイスの実施例には、スタンドアロンのデジタルカメラまたはデジタルビデオカムコーダ、1つまたは複数のカメラを有する携帯電話などのカメラ付き無線通信デバイスハンドセット、セルラまたは衛星無線電話、カメラ付き携帯情報端末(PDAs)、コンピューティングパネルまたはタブレット、ゲームデバイス、いわゆる「ウェブカメラ」などのカメラを含むコンピュータデバイス、スマートウォッチ、自身のカメラを備えたデバイス、カメラを備えた別のデバイスを制御するように構成されるデバイス、またはデジタル撮像またはビデオ機能を備えた任意のデバイスが含まれる。
【0004】
カメラデバイスは、キャプチャされたフレームを処理し、表示のためにフレームを出力する。いくつかの実施例では、カメラデバイスは、露出、フォーカス、およびホワイトバランスを制御して、高品質画像をキャプチャする。
【発明の概要】
【0005】
一般に、本開示は、ユーザがカメラフォーカスレベルを制御するために対話するユーザインターフェースを生成するための技法を含む、カメラフォーカスレベル(例えば、所望の深度にフォーカスするためのカメラのレンズの位置)を制御するための技法について説明する。より詳細に説明されるように、プレビュー画像内のフォーカスするべき領域のユーザ選択に応じて、1つまたは複数のプロセッサは、領域内の異なる深度に画像コンテンツが存在するかどうかを判定し得る。領域内の異なる深度に画像コンテンツが存在する場合、1つまたは複数のプロセッサは、領域内の画像コンテンツの代替バージョン(例えば、ズームインされたバージョン)を出力し、代替バージョン内の後続のユーザ選択を受信し得る。1つまたは複数のプロセッサは、後続のユーザ選択に基づいてカメラのフォーカスレベル(例えば、カメラのレンズ位置)を制御し得る。しかしながら、領域内中に単一の深度に画像コンテンツが存在する(例えば、異なる深度に画像コンテンツではない)場合、1つまたは複数のプロセッサは、領域内の画像コンテンツの代替バージョンを出力しないことがあり、ユーザ選択に基づいてカメラのためのフォーカスレベルを制御し得る(すなわち、後続のユーザ選択は必要とされない)。
【0006】
場合によっては、カメラのフォーカスレベルを制御するための領域のユーザ選択は、比較的大きい領域をカバーし得る。例えば、ユーザは、プレビュー画像を提示するスクリーンをタッチして領域を定義し得る。比較的小さいスクリーン上では、スクリーン上のタッチは、比較的大量の画像コンテンツを包含し得る(例えば、面積は、スクリーンのサイズと、ユーザがスクリーンにタッチした方法であり得る指先のユーザ知覚サイズとの間の比に比例する)。そのような場合、特に異なる深度に画像コンテンツが存在する場合、カメラのフォーカスが正確にどこにあるべきかは未定義であることがある。すなわち、ユーザが選択した領域内の異なる深度に画像コンテンツが存在するので、フォーカス深度は未知であり得る。異なる深度の画像コンテンツが存在する領域の画像コンテンツにズームインすることによって、ユーザは、領域の画像コンテンツがスクリーン上ではるかに大きく見えるので、カメラがフォーカスするべき場所をより良好に選択することが可能であり得る。しかしながら、単一の深度に画像コンテンツが存在する(例えば、異なる深度に画像コンテンツが存在しない)場合、フォーカスは、領域の画像コンテンツにズームインする必要なく、(例えば、レンズ位置を変更することによって)ユーザ選択領域内の画像コンテンツの深度に調整されることができる。このようにして、例示的な技法は、異なる深度に画像コンテンツが存在する場合にフォーカス深度をより良好に選択するための代替バージョンを選択的に提供するために、実用的なアプリケーションを用いてカメラ上のフォーカスレベルを制御する動作を改善し得る。
【0007】
一例では、画像キャプチャのためのデバイスは、プレビュー画像を記憶するように構成されるメモリと、メモリに結合される1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサは、メモリに記憶されたプレビュー画像の領域にフォーカスするためのユーザ選択を受信し、領域内の異なる深度に画像コンテンツが存在するかどうかを判定し、領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、領域内の画像コンテンツの代替バージョンを出力し、代替バージョン内の後続のユーザ選択を受信し、後続のユーザ選択に基づいてカメラのフォーカスレベルを制御するように構成される。
【0008】
一例では、画像キャプチャのための方法は、メモリに記憶されたプレビュー画像の領域にフォーカスするためのユーザ選択を受信することと、領域内の異なる深度に画像コンテンツが存在すると判定することと、領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、領域内の画像コンテンツの代替バージョンを出力することと、代替バージョン内の後続のユーザ選択を受信することと、後続のユーザ選択に基づいてカメラのフォーカスレベルを制御することとを含む。
【0009】
一例では、命令を記憶するコンピュータ可読記憶媒体であって、命令が、実行されると、1つまたは複数のプロセッサに、メモリに記憶されたプレビュー画像の領域にフォーカスするためのユーザ選択を受信させ、領域内の異なる深度に画像コンテンツが存在すると判定させ、領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、領域内の画像コンテンツの代替バージョンを出力させ、代替バージョン内の後続のユーザ選択を受信させ、後続のユーザ選択に基づいてカメラのフォーカスレベルを制御させる、コンピュータ可読記憶媒体。
【0010】
1つまたは複数の実施例の詳細が、添付図面および以下の説明に記載されている。他の特徴、目的、および利点が、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0011】
【
図1】本開示に記載された技法の実施例のうちの1つまたは複数を実行するように構成されるデバイスのブロック図である。
【
図2】
図1のデバイスの中央処理装置(CPU)およびシステムメモリをさらに詳細に示すブロック図である。
【
図3】画像コンテンツおよび領域のユーザ選択を表示するデバイスの一例を示す概念図である。
【
図4A】異なる深度に設定されたフォーカスを示す概念図である。
【
図4B】異なる深度に設定されたフォーカスを示す概念図である。
【
図5】タッチフォーカスアシストモードのためのユーザインターフェースの一例を示す概念図である。
【
図6】手動フォーカスアシストモードのためのユーザインターフェースの一例を示す概念図である。
【
図7A】ぼかしを付与したユーザインターフェースの一例を示す概念図である。
【
図7B】ぼかしを付与したユーザインターフェースの一例を示す概念図である。
【
図8】動作の1つまたは複数の例示的な技法を示すフローチャートである。
【
図9】動作の1つまたは複数の例示的な技法を示すフローチャートである。
【
図10】動作の1つまたは複数の例示的な技法を示すフローチャートである。
【発明を実施するための形態】
【0012】
本開示で説明する例示的な技法は、カメラフォーカス(例えば、画像またはビデオキャプチャのためにカメラがフォーカスするべき深度)に関する。カメラのいくつかのフォーカス技法では、ユーザはフォーカスするべき領域を選択する。例えば、プレビューモードの間、スクリーンはキャプチャされる画像コンテンツを表示する。プレビュー画像は、画像コンテンツを含んでもよい。ユーザは、カメラがフォーカスするプレビュー画像の領域でスクリーン上をタッチし得る。しかしながら、いくつかの実施例では、ユーザ選択領域(例えば、ユーザがタッチした場所)内の異なる深度に画像コンテンツが存在し得る。そのような場合、フォーカスが設定されるべき深度が不明瞭であり得る(例えば、フォーカスレベル、およびフォーカスレベルが調整されるべきものが不明瞭であり得る)。
【0013】
1つまたは複数の実施例では、フォーカスするべきプレビュー画像の領域のユーザ選択に応じて、1つまたは複数のプロセッサは、選択された領域内の複数の深度に画像コンテンツが存在するかどうかを判定し得る。複数の深度に画像コンテンツが存在する場合、1つまたは複数のプロセッサは、ユーザがフォーカス深度およびフォーカスするべき画像コンテンツをより正確に選択することを可能にするためにフォーカスアシストプロセスを実装し得る。しかしながら、1つの深度のみに画像コンテンツが存在する場合、1つまたは複数のプロセッサは、フォーカスが選択された領域の深度および領域にあるように、フォーカスレベルを制御し得る。
【0014】
複数の深度に画像コンテンツが存在する場合、いくつかの実施例では、スクリーンは、画像コンテンツの代替バージョンを提示し得る。一例として、画像コンテンツの代替バージョンは、選択された領域がより大きく見えるように、選択された領域のズームインされた画像コンテンツであってもよい。画像コンテンツのこの代替バージョンでは、ユーザは、深度を設定する領域を再び選択し得る。例えば、画像コンテンツのズームインされたバージョンにおいて、ユーザは、深度を設定する領域を再び選択して、ユーザにフォーカス深度を選択するより正確な方法を与え得る。
【0015】
別の実施例として、画像コンテンツの代替バージョンを提示した後、ユーザは、所望の画像コンテンツにフォーカスが合うまでカメラのフォーカスを手動で調整し得る。いくつかの実施例では、フォーカスレベル(例えば、カメラがフォーカスするべき深度)を手動で調整するために、スクリーンは、フォーカス深度よりも遠いまたは近いピクセルの数を示すヒストグラムを表示し得る。ユーザは、ヒストグラムを利用して、焦点により近い画像コンテンツにフォーカスしたいのか、焦点からより遠い画像コンテンツにフォーカスしたいのかを選択し得る。しかしながら、例示的な技法は、ヒストグラムが存在することを必要としない。
【0016】
したがって、1つまたは複数のプロセッサは、プレビュー画像のある領域にフォーカスするためのユーザ選択を受信し、その領域内の異なる深度に画像コンテンツが存在するかどうかを判定するように構成され得る。領域内の異なる深度に画像コンテンツがあることに基づいて、1つまたは複数のプロセッサは、領域内の画像コンテンツの代替バージョン(例えば、ズームインされたバージョン)を出力し得る。そのような実施例では、1つまたは複数のプロセッサは、代替バージョン内の後続のユーザ選択を受信し、後続のユーザ選択に基づいてカメラのためのフォーカスレベル(例えば、レンズ位置)を制御(例えば、設定または調整)し得る。しかしながら、領域内の異なる深度に画像コンテンツがないことに基づいて、1つまたは複数のプロセッサは、ユーザ選択に基づいてカメラのためのフォーカスレベルを制御し得る(例えば、画像コンテンツの代替バージョンの出力または後続のユーザ選択の受信がないことがある)。例えば、フォーカスレベルを制御するために、1つまたは複数のプロセッサは、後続のユーザ選択を受信することなくカメラのレンズの位置を調整し得る。
【0017】
後続のユーザ選択の様々な例があり得る。一例として、後続のユーザ選択は、領域内のサブ領域のユーザ選択であってもよい。例えば、領域の画像コンテンツがズームインされるので、一例として、ユーザは、カメラのフォーカス深度を定義するサブ領域をより良好に選択し得る。別の実施例として、後続のユーザ選択は、フォーカスレベルを手動で(例えば、レンズのフォーカス位置を手動で)制御するためのユーザ選択であってもよい。例えば、ユーザは、フォーカスレベルを所望のフォーカス深度に手動で調整し得る。
【0018】
図1は、本開示に記載された技法の実施例のうちの1つまたは複数を実行するように構成されるデバイスのブロック図である。カメラデバイス10の実施例には、スタンドアロンのデジタルカメラまたはデジタルビデオカムコーダ、1つまたは複数のカメラを有する携帯電話などのカメラ付き無線通信デバイスハンドセット、セルラまたは衛星無線電話、カメラ付き携帯情報端末(PDAs)、コンピューティングパネルまたはタブレット、時計、ゲームデバイス、いわゆる「ウェブカメラ」などのカメラを含むコンピュータデバイス、またはデジタル撮像またはビデオ機能を有する任意のデバイスが含まれる。
【0019】
図1の実施例に示すように、カメラデバイス10は、カメラ12(例えば、画像センサおよびレンズを有する)と、カメラプロセッサ14およびカメラプロセッサ14のローカルメモリ20と、中央処理装置(CPU)16と、グラフィカル処理ユニットGPU)18と、ユーザインターフェース22と、システムメモリ30へのアクセスを提供するメモリコントローラ24と、グラフィックデータをディスプレイ28に表示させる信号を出力するディスプレイインターフェース26とを含む。
図1の実施例は、1つのカメラ12を含むカメラデバイス10を示しているが、いくつかの実施例では、カメラデバイス10は、全方位画像またはビデオキャプチャなどのために複数のカメラを含み得る。
【0020】
また、様々な構成要素が別個の構成要素として図示されるが、いくつかの実施例では、構成要素はシステムオンチップ(SoC)を形成するように組み合わせられてもよい。一例として、カメラプロセッサ14、CPU16、GPU18、およびディスプレイインターフェース26は、共通集積回路(IC)チップ上に形成されてもよい。いくつかの実施例では、カメラプロセッサ14、CPU16、GPU18、およびディスプレイインターフェース26のうちの1つまたは複数は、別個のICチップ内にあってもよい。例示的な技法を実行するように構成され得る構成要素の追加の実施例は、デジタル信号プロセッサ(DSP)、ベクトルプロセッサ、またはニューラルネットワーク(NN)計算のために使用される他のハードウェアブロックを含む。様々な他の置換および組合せが可能であり、本技法は、
図1に例示される例に限定されると見なされるべきではない。
【0021】
(1つのデバイス上に形成されるのか異なるデバイス上に形成されるのかにかかわらず)
図1に示されている様々な構成要素は、1つまたは複数のマイクロプロセッサ中のものなど、固定機能またはプログラマブル回路、特定用途向け集積回路(ASICs)、フィールドプログラマブルゲートアレイ(FPGAs)、デジタル信号プロセッサ(DSPs)、あるいは他の等価な集積またはディスクリート論理回路のうちの少なくとも1つとして形成され得る。ローカルメモリ20およびシステムメモリ30の実施例は、ランダムアクセスメモリ(RAM)、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、磁気データ媒体または光記憶媒体など、1つまたは複数の揮発性または不揮発性メモリあるいはストレージデバイスを含む。
【0022】
図1に示される様々なユニットは、バス32を使用して互いに通信する。バス32は、第3世代バス(例えば、HyperTransportバスまたはInfiniBandバス)、第2世代バス(例えば、Advanced Graphics Portバス、Peripheral Component Interconnect(PCI)エクスプレスバス、またはAdvanced eXtentisible Interface(AXI)バス)、または別のタイプのバスもしくはデバイス相互接続などの、様々なバス構造のいずれかであり得る。
図1に示されている異なる構成要素間のバスおよび通信インターフェースの特定の構成は例にすぎず、カメラデバイスの他の構成および/あるいは同じまたは異なる構成要素をもつ他の画像処理システムが、本開示の技法を実装するために使用され得る。
【0023】
カメラプロセッサ14は、カメラ12から画像フレーム(または単に「画像」)を受信し、表示用の出力画像を生成するために画像を処理するように構成される。CPU16、GPU18、カメラプロセッサ14、または他の何らかの回路は、カメラプロセッサ14によって生成された画像コンテンツを含む出力画像を、ディスプレイ28上に表示するための画像に処理するように構成され得る。いくつかの実施例では、GPU18は、ディスプレイ28上でグラフィックスコンテンツをレンダリングするようにさらに構成され得る。
【0024】
いくつかの実施例では、カメラプロセッサ14は、画像処理パイプラインとして構成され得る。例えば、カメラプロセッサ14は、カメラ12とカメラプロセッサ14との間でインターフェースするカメラインターフェースを含み得る。カメラプロセッサ14は、画像コンテンツを処理するための追加の回路を含み得る。カメラプロセッサ14は、得られた画像コンテンツ(例えば、画像ピクセルの各々のピクセル値)を有する画像を、メモリコントローラ24を介してシステムメモリ30に出力する。
【0025】
CPU16は、カメラデバイス10の動作を制御する汎用プロセッサまたは専用プロセッサを備え得る。ユーザは、CPU16に1つまたは複数のソフトウェアアプリケーションを実行させるために、カメラデバイス10に入力を提供し得る。CPU16上で実行するソフトウェアアプリケーションは、例えば、メディアプレーヤアプリケーション、ビデオゲームアプリケーション、グラフィカルユーザインターフェースアプリケーションまたは別のプログラムを含み得る。ユーザは、ユーザインターフェース22を介してカメラデバイス10に結合される、キーボード、マウス、マイクロフォン、タッチパッドまたは別の入力デバイスなど、1つまたは複数の入力デバイス(図示せず)を介して、カメラデバイス10に入力を提供し得る。
【0026】
ソフトウェアアプリケーションの一例は、カメラアプリケーションである。CPU16は、カメラアプリケーションを実行し、それに応じて、カメラアプリケーションは、ディスプレイ28が出力するコンテンツをCPU16に生成させる。GPU18は、ディスプレイ28上でのレンダリングのためにCPU16によって生成されたコンテンツを処理するように構成され得る。例えば、ディスプレイ28は、光強度、フラッシュが有効であるかどうか、および他のそのような情報などの、情報を出力し得る。カメラデバイス10のユーザは、画像が生成される様式(例えば、フラッシュを用いるまたは用いない、フォーカス設定、露出設定、および他のパラメータ)を構成するためにディスプレイ28とインターフェースし得る。
【0027】
一例として、カメラアプリケーションを実行した後、カメラデバイス10はプレビューモードにあると考えられ得る。プレビューモードでは、カメラ12は、画像コンテンツをカメラプロセッサ14に出力し、カメラプロセッサ14は、カメラ処理を実行し、画像コンテンツをシステムメモリ30に出力し、システムメモリ30は、ディスプレイインターフェース26が取り出してディスプレイ28に出力する。プレビューモードでは、ユーザは、ディスプレイ28を介して、ユーザが写真を撮るために(実際のまたはディスプレイ上の)ボタンを操作したときにキャプチャされる画像コンテンツを見ることができる。別の実施例として、静止画像(例えば、写真)を撮るのではなく、ユーザはビデオコンテンツ(例えば、一連の画像)を記録し得る。記録中、ユーザは、キャプチャされている画像コンテンツをディスプレイ28上で見ることが可能であり得る。
【0028】
本開示では、プレビュー画像は、プレビューモードで生成される画像と呼ばれることがある。例えば、プレビューモードでは、カメラプロセッサ14による処理のためにカメラ12が出力し、(例えば、ローカルメモリ20またはシステムメモリ30に)記憶する画像、またはカメラプロセッサ14が生成し、(例えば、ローカルメモリ20またはシステムメモリ30に)記憶する画像は、プレビュー画像と呼ばれることがある。一般に、プレビュー画像は、画像のキャプチャおよび長期記憶の前にプレビューモードで生成された画像であり得る。
【0029】
プレビューモードまたは記録中に、カメラデバイス10は(例えば、CPU16を介して)、(例えば、画像のキャプチャまたは記憶の前に)カメラ12が画像をキャプチャする方法を制御し得る。本開示は、CPU16によって実行されるものとして、例示的な技法について説明する。しかしながら、例示的な技法は、CPU16が例示的な技法を実行することに限定されると見なされるべきではない。例えば、CPU16を、カメラプロセッサ14、GPU18、DSP、ベクトルプロセッサ、および/またはディスプレイインターフェース26と組み合わせて、本開示に記載された例示的な技法を実行するように構成し得る。例えば、1つまたは複数のプロセッサは、本開示で説明される例示的な技法を実行するように構成され得る。1つまたは複数のプロセッサの実施例は、カメラプロセッサ14、CPU16、GPU18、ディスプレイインターフェース26、DSP、ベクトルプロセッサ、またはカメラプロセッサ14、CPU16、GPU18、ディスプレイインターフェース26、DSP、もしくはベクトルプロセッサの1つまたは複数の任意の組合せを含む。
【0030】
CPU16は、露出および/またはフォーカスを制御して、視覚的に心地よい画像をキャプチャするように構成され得る。例えば、CPU16は、いくつかの非限定的な例として、カメラ12の露出、フォーカス、およびホワイトバランスを制御する信号を生成するように構成され得る。CPU16は、プレビューモードまたは記録中にカメラプロセッサ14から受信されたプレビュー画像に基づいて露出、フォーカス、およびホワイトバランスを制御するように構成され得る。このようにして、静止画像の場合、ユーザが写真を撮ることに従事するとき、露出、フォーカス、およびホワイトバランスが調整される(例えば、露出、フォーカス、および場合によってはホワイトバランスのためのパラメータは、露出、フォーカス、およびホワイトバランスが画像キャプチャ中に補正され得るように、画像キャプチャ前に決定される)。記録のために、露出、フォーカス、およびホワイトバランスは、記録中に定期的に更新され得る。
【0031】
本開示は、ユーザがカメラ12のフォーカスレベルを制御する(例えば、所望の深度にフォーカスするためにカメラ12のレンズがどこに配置されるべきかを調整する)ために対話し得るユーザインターフェースの実施例など、カメラ12のフォーカスレベルを制御するための例示的な技法について説明する。フォーカスのために、CPU16は、プレビュー画像をディスプレイ28上に表示し得る。ユーザは、次いで、カメラ12のフォーカスするべき領域を選択し得、それに応じて、CPU16は、フォーカス深度をユーザによって選択された領域の深度に制御し得る(例えば、カメラ12のレンズを所望の深度にフォーカスするように調整する)。
【0032】
しかしながら、ユーザによって選択された領域の深度になるようにフォーカス深度を制御することが未定義である様々な例があり得る。ユーザが選択した領域内では、異なる深度に画像コンテンツが存在する可能性があり、カメラ12がどの画像コンテンツにフォーカスするべきかが不明瞭である可能性がある。一例として、ディスプレイ28は、比較的小さくてもよい(例えば、いわゆるスマートウォッチのディスプレイなど)。ユーザは、ディスプレイ28に表示されたプレビュー画像上の領域をタッチによって、例えば、タッチスクリーン上で選択し得る。ディスプレイ28のサイズが比較的小さいので、ユーザからのタッチは、プレビュー画像の画像コンテンツの比較的大きい領域をカバーし得る。この比較的大きな領域内では、画像コンテンツが異なる深度である可能性があり、フォーカス深度が不明瞭である可能性がある。
【0033】
本開示で説明する1つまたは複数の実施例では、CPU16は、プレビュー画像の領域で異なる深度に画像コンテンツが存在するかどうかを判定するように構成され得る。領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、CPU16は、領域内の画像コンテンツの代替バージョンを出力し得る。一例として、CPU16は、領域内の画像コンテンツのズームインされたバージョンを出力し得る。
【0034】
例を簡単にするために、CPU16は、領域内の画像コンテンツのズームインされたバージョンを出力するものとして説明される。しかしながら、例示的な技法はそのように限定されない。いくつかの実施例では、CPU16は、領域内の画像コンテンツのぼかしバージョンを出力し得、ここで、フォーカスが合っているエリアはぼかされず、フォーカスが合っていないエリアはぼかされる。画像コンテンツの代替バージョンを出力する様々な他の方法が存在し得る。
【0035】
次いで、CPU16は、代替バージョン内の後続のユーザ選択を受信し得、後続のユーザ選択に基づいてカメラ12のフォーカスレベル(例えば、フォーカス深度)を調整し得る。しかしながら、領域中に単一の深度に画像コンテンツが存在する場合(例えば、異なる深度に画像コンテンツが存在しない場合)、CPU16は、領域内の画像コンテンツの代替バージョンを出力しないことがある。そのような実施例では、CPU16は、元のユーザ選択に基づいてカメラ12のフォーカスレベル(例えば、フォーカス深度)を制御(例えば、設定または調整)し得る(例えば、後続のユーザ選択が必要とされない)。
【0036】
言い換えれば、条件は、領域内の異なる深度に画像コンテンツが存在するかどうかであり得る。条件が満たされたこと(例えば、領域内の異なる深度に画像コンテンツが存在すること)に応じて、CPU16は、領域内の画像コンテンツの代替バージョンを出力し得る。条件が満たされていない(例えば、領域内の異なる深度に画像コンテンツが存在しない)ことに応じて、CPU16は、領域内の画像コンテンツの代替バージョンを出力しないことがある。
【0037】
いくつかの実施例では、領域の代替バージョンは、画像コンテンツを表示するために予約されたディスプレイ28のエリアの全体を包含し得る。例えば、ズームインされたバージョン(例えば、代替バージョンの一例)は、より大きなオブジェクトとして表示された領域の画像コンテンツであってもよい。この場合、領域の外側にある画像コンテンツは、ディスプレイ28上で見ることができない場合がある。アップサンプリングなど、領域のズームインされたバージョンを生成するための様々な方法があり得、例示的な技法は、いかなるズーミング技法にも限定されない。
【0038】
CPU16が領域内の異なる深度に画像コンテンツが存在するかどうかを判定し得る様々な方法が存在し得る。一例として、CPU16は、2つの画像間の視差に基づいてプレビュー画像内のオブジェクトの相対深度を決定し得る。例えば、カメラ12内のセンサ(または場合によってはいくつかの他のセンサ)は、相対深度を決定する目的で、画像コンテンツの2つの画像をキャプチャし得る。相対深度を決定するためにキャプチャされる画像は、必ずしも高解像度画像である必要はないが、写真が高解像度であることが可能であり得る。すなわち、相対深度を決定するためにセンサによってキャプチャされた画像は、プレビュー画像と同じ解像度を有し得るが、例示的な技法はそのように限定されない。
【0039】
2つの画像内の画像コンテンツの相対視差は、オブジェクトの深度を示し得る。相対視差を利用して、CPU16は、第1の画像内のオブジェクトの相対深度を示す深度マップを生成し得る。例えば、深度マップは、オブジェクトがカメラ12からどれだけ離れているかを示し得、オブジェクトの深度に基づいて、CPU16は、領域内の異なる深度に画像コンテンツが存在するかどうかを判定し得る。
【0040】
別の実施例として、CPU16は、PDAF(位相検出オートフォーカス)ピクセルベースの深度マップまたはフォーカスマップと呼ばれることもある、深度マップの別の実施例であるデフォーカスマップを生成し得る。デフォーカスマップは、上述した深度マップと同様であってもよく、しかしながら、デフォーカスマップは、カメラ12の現在のフォーカス深度に対する(すなわち、現在の焦点の距離に対する)オブジェクトの位置を示す。例えば、デフォーカスマップは、プレビュー画像内のピクセルが現在のフォーカス深度(例えば、現在の焦点)からカメラ12により近いオブジェクトのためのものであるか、または現在のフォーカス深度からより遠いオブジェクトのためのものであるかを示し得る。いくつかの実施例では、PDAFピクセルベースの深度マップは、機械学習アルゴリズムを使用して生成されてもよい。
【0041】
別の実施例として、カメラ12またはカメラデバイス10は、飛行時間(ToF)レーザおよびセンサを含んでもよい。CPU16は、光がToFレーザからオブジェクトまで進み、反射してToFセンサに戻るのにかかる時間量を決定して、オブジェクトの深度を決定し、オブジェクトの深度に基づいて深度マップを生成し得る。深度マップに基づいて、CPU16は、領域内の異なる深度に画像コンテンツが存在するかどうかを判定し得る。
【0042】
上記は、領域内の異なる深度に画像コンテンツが存在するかどうかを判定するためにCPU16が利用し得るいくつかの例示的な技法を説明する。しかしながら、本開示の例示的な技法は、そのような例に限定されると見なされるべきではない。追加の技法として、CPU16はステレオ深度または構造化光を利用して、ある領域内の異なる深度に画像コンテンツが存在するかどうかを判定し得る。
【0043】
CPU16が領域内の画像コンテンツの代替バージョンを出力した後(例えば、ディスプレイ28が画像コンテンツの代替バージョンを表示した後)、CPU16は、代替バージョン内の後続のユーザ選択を受信し得る。代替バージョン内での後続のユーザ選択の様々な例があり得る。
【0044】
一例として、代替バージョンが画像コンテンツのズームインされたバージョンである場合、領域内の画像コンテンツのズームインされたバージョン内の後続のユーザ選択は、領域内のサブ領域を選択するユーザ選択であってもよい。例えば、領域内の画像コンテンツのズームインされたバージョンは、画像コンテンツのより大きなサイズのバージョンであり得る。ディスプレイ28上に表示される画像コンテンツのこのより大きいサイズのバージョン内で、ユーザは、領域内のサブ領域であるエリアのタッチユーザ選択(例えば、タップ)を行い得る。
【0045】
別の実施例として、領域内の画像コンテンツの代替バージョン内の後続のユーザ選択は、フォーカスレベルを手動で制御するためのユーザ選択であってもよい。例えば、ユーザは、フォーカスを制御してフォーカス深度を手動で調整するための手動ユーザ選択のいくつかの実施例として、ディスプレイ28上でスワイプし(例えば、右または左に)、ディスプレイ28上でスライダを移動させ、ディスプレイ28上でダイヤルを押し下げてドラッグし得る。いくつかの実施例では、ユーザは、手動でフォーカスを制御するために、ダイヤル、スライダなどの物理コントローラを操作するか、手動ユーザ選択のためのボタンまたは「クラウン」を回転させ得る。
【0046】
いくつかの実施例では、CPU16は、ディスプレイ28上に表示され、後続のユーザ選択中に焦点により近いまたは焦点からより遠い画像コンテンツの量を示すヒストグラムを出力し得る。例えば、ユーザがフォーカスレベルを手動で調整するためにスワイプしているとき、ヒストグラムは、ユーザが手動で調整している焦点にいくつのサンプルがより近いか、またはより遠いかを示し得る。
【0047】
CPU16は、後続のユーザ選択に基づいてカメラ12のフォーカスレベルを制御し得る。例えば、CPU16は、カメラ12のフォーカス深度を制御し得る。一例として、CPU16は、後続のユーザ選択の一部として選択されたサブ領域に基づいてカメラ12のフォーカス深度を制御し得る。別の実施例として、CPU16は、手動で調整されたフォーカスレベルに基づいてカメラ12のフォーカス深度を制御し得る。
【0048】
カメラ12は、次いで、カメラ12のフォーカスレベルで(例えば、CPU16によって設定されたレンズ位置で)画像をキャプチャし得る。例えば、ユーザは、カメラデバイス10に画像(例えば、長期記憶のための画像)をキャプチャさせるためにカメラデバイス10と対話し得、カメラ12は、フォーカスレベルで画像をキャプチャし得る。
【0049】
いくつかの実施例では、カメラ12は、フォーカスレベルで1つの画像をキャプチャし得る。いくつかの実施例では、カメラ12は、フォーカスレベルで複数の画像をキャプチャすることができ、ユーザは、保持する1つまたは複数の画像を選択し得る。例えば、システムメモリ30は、複数の画像を記憶し得、ユーザは、それらをオフラインで(例えば、ある後の時間に)見て、どの画像を保持すべきか、および/またはどの画像の後処理(例えば、操作)を実行すべきかを判定し得る。
【0050】
メモリコントローラ24は、システムメモリ30に出入りするデータの転送を容易にする。例えば、メモリコントローラ24は、カメラデバイス10内の構成要素にメモリサービスを提供するために、メモリ読取りおよび書込みコマンドを受信し、メモリ30に関するそのようなコマンドをサービスし得る。メモリコントローラ24は、システムメモリ30に通信可能に結合されている。メモリコントローラ24は、CPU16とシステムメモリ30の両方とは別個である処理回路であるものとして
図1のカメラデバイス10の実施例に示されているが、他の実施例では、メモリコントローラ24の機能の一部または全部は、CPU16とシステムメモリ30の一方または両方の上で実装され得る。
【0051】
システムメモリ30は、カメラプロセッサ14、CPU16、およびGPU18によってアクセス可能であるプログラムモジュールおよび/または命令および/またはデータを記憶し得る。例えば、システムメモリ30は、ユーザアプリケーション(例えば、カメラアプリケーションのための命令)、カメラプロセッサ14からの得られたフレームなどを記憶し得る。システムメモリ30は追加で、カメラデバイス10の他の構成要素が使用するための情報、および/またはそれによって生成される情報を記憶し得る。例えば、システムメモリ30は、カメラプロセッサ14のためのデバイスメモリとして働き得る。
【0052】
図2は、
図1のデバイスの中央処理装置(CPU)およびシステムメモリをさらに詳細に示すブロック図である。
図2に示すように、カメラ12は、レンズ34およびセンサ36を含む。CPU16は、フォーカスアプリケーション38を実行するように構成され得る。
【0053】
1つまたは複数の実施例では、CPU16は、プレビュー画像内のサンプルの深度を示す深度マップ40を生成するように構成され得る。CPU16は、深度マップ40をシステムメモリ30に記憶し得る。CPU16は、いくつかの非限定的な例として、同じ画像コンテンツを有する画像内のピクセルの視差に基づく、焦点までの相対距離に基づく、またはToFセンサに基づくなど、様々な技法を利用して深度マップ40を生成し得る。
【0054】
1つまたは複数の実施例では、システムメモリ30は、CPU16が取り出して実行するフォーカスアプリケーション38のためのオブジェクトコードを記憶し得る。1つまたは複数の実施例では、CPU16上で実行するソフトウェアアプリケーションであるのではなく、CPU16は、カメラ12のフォーカスレベルを制御する動作を実行するための専用ハードウェアを含み得る。
【0055】
1つまたは複数の実施例では、光はレンズ34を通って入り、センサ36によって受け取られる。フォーカスアプリケーション38は、レンズ34のフォーカスを調整する(例えば、レンズ34の位置を調整することによってフォーカスレベルを制御する)ように、カメラ12内のレンズ34の位置を修正し得る。例えば、レンズ34の位置を修正することによって、フォーカスアプリケーション38は、センサ36への焦点を制御し得、したがって、画像コンテンツのどの部分がフォーカスが合うかを制御し得る。いくつかの実施例では、焦点を制御するためにレンズ34の位置を移動させることが可能であり得る。このようにして、フォーカスアプリケーションは、後続のユーザ選択に基づいてカメラ12のフォーカスレベル(例えば、レンズ34の位置)を制御し得る。
【0056】
画像をキャプチャするために、ユーザはカメラデバイス10と対話し得る。上記で説明したように、画像をキャプチャする前に、ディスプレイ28は、画像キャプチャおよび/またはビデオキャプチャのためのプレビュー画像(例えば、キャプチャされるべき画像のプレビュー)を表示し得る。本開示で説明する例によれば、ユーザは、カメラ12のフォーカスをどこに設定すべきか(例えば、レンズ12の位置がどこにあるべきか)を判定し得る。システムメモリ30は、プレビュー画像を記憶し得る。
【0057】
例えば、フォーカスアプリケーション38は、システムメモリ30に記憶されたプレビュー画像の領域にフォーカスするためのユーザ選択を受信し得る。ユーザ選択の一例は、ユーザがカメラ12を(例えば、カメラ12のフォーカスレベルは何であるべきかを)フォーカスすることを望むディスプレイ28上でのユーザによるタッチ(例えば、タップ)であり得る。この実施例では、CPU16は、ユーザがディスプレイ28にタッチした場所の座標を決定し、ユーザがディスプレイ28にタッチした場所によって包含される領域がユーザ選択領域であると判定し得る。「タッチ」または「タップ」であるユーザ選択技法は、一例であり、限定と見なされるべきではない。ユーザは、手動で座標を入力する、メニューから領域を選択するなどをし得る。
【0058】
本開示で説明する1つまたは複数の実施例によれば、フォーカスアプリケーション38は、領域内の異なる深度に画像コンテンツが存在するかどうかを判定し得る。例えば、フォーカスアプリケーション38は、深度マップ40にアクセスし得る。フォーカスアプリケーション38は、プレビュー画像のユーザ選択領域に対応する深度マップ40内の領域を決定し得る。深度マップ40によって示されるように、領域内のサンプルの深度に基づいて、フォーカスアプリケーション38は、領域内の異なる深度に画像コンテンツが存在するかどうかを判定し得る。
【0059】
領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、フォーカスアプリケーション38は、領域内の画像コンテンツの代替バージョンを出力し得る。いくつかの実施例では、フォーカスアプリケーション38が画像コンテンツの代替バージョンを出力するのではなく、またはそれに加えて、GPU18は、画像コンテンツの代替バージョンを出力するように構成され得る。別の実施例として、CPU16は、ズームアプリケーションまたは機能を実行し得、フォーカスアプリケーション38は、ズームアプリケーションを呼び出し得、ズームアプリケーションは、領域内の画像コンテンツのズームインされたバージョン(例えば、代替バージョンの一例)を出力し得る。領域内の画像コンテンツの代替バージョンを出力する他の方法も可能である。ディスプレイ28は、領域内の画像コンテンツの代替バージョンを表示するように構成され得る。
【0060】
領域内の異なる深度に画像コンテンツが存在するかどうかが、条件として考えられ得る。例えば、領域内の異なる深度に画像コンテンツが存在するという条件が満たされたことに応じて、CPU16および/またはGPU18は、領域内の画像コンテンツの代替バージョンを出力し得る。いくつかの実施例では、CPU16および/またはGPU18は、領域内の異なる深度に画像コンテンツが存在する場合のみ、領域内の画像コンテンツの代替バージョンを出力し得る。例えば、領域内の異なる深度に画像コンテンツが存在するという条件が満たされた場合のみ、CPU16および/またはGPU18は、領域内の画像コンテンツの代替バージョンを出力する。一例として、条件が満たされない(すなわち、領域内の異なる深度に画像コンテンツが存在しない)場合、CPU16および/またはGPU18は、領域内の画像コンテンツの代替バージョンを出力しないことがある。
【0061】
フォーカスアプリケーション38は、代替バージョン内の後続のユーザ選択を受信し得る。代替バージョン内での後続のユーザ選択の様々な例があり得る。一例として、フォーカスアプリケーション38は、領域内のサブ領域を選択する領域内の画像コンテンツの代替バージョン内の後続のユーザ選択を受信し得る。例えば、領域内のサブ領域を選択する、領域内の画像コンテンツの代替バージョン内の後続のユーザ選択は、領域内のサブ領域を選択するタッチユーザ選択であってもよい。別の実施例として、フォーカスアプリケーション38は、画像コンテンツの代替バージョン内の後続のユーザ選択を受信して、フォーカスを手動で制御し得る。例えば、フォーカスを手動で制御するための画像コンテンツの代替バージョン内の後続のユーザ選択は、いくつかの実施例として、スワイプユーザ選択、スライダの移動、ダイヤルの押下およびドラッグであってもよい。サブ領域の選択およびフォーカスの手動制御の実施例は、
図5および
図6に関して説明される。いくつかの実施例では、ユーザは、ダイヤル、スライダなどの物理コントローラを操作するか、または手動ユーザ選択のためのボタンもしくは「クラウン」を回転させて、フォーカスを手動で制御し得る。
【0062】
フォーカスアプリケーション38は、後続のユーザ選択に基づいてカメラ12のフォーカスレベルを制御し得る。例えば、フォーカスアプリケーション38は、カメラ12のフォーカス深度を設定する(例えば、焦点を設定する)可能性がある。一例として、フォーカスアプリケーション38は、レンズ34および/またはセンサ36の位置を制御して、フォーカス深度を制御し得る。カメラデバイス10は、カメラ12のフォーカスで画像をキャプチャするように構成され得る。例えば、フォーカスを設定した後、ユーザは、カメラデバイス10と対話して、カメラ12のフォーカスがフォーカスレベルにある状態で画像(例えば、静止画像またはビデオ)をキャプチャし得る。
【0063】
図3は、画像コンテンツおよび領域のユーザ選択を表示するデバイスの一例を示す概念図である。例えば、
図3はカメラデバイス10を時計として示しており、ディスプレイ28は時計の文字盤である。いくつかの実施例では、センサは時計の文字盤上にあってもよい。この実施例では、フォーカスレベルを制御するために、ユーザは領域50にタッチし得る。
【0064】
図4Aおよび
図4Bは、異なる深度に設定されたフォーカスレベルを示す概念図である。
図4Aおよび
図4Bは、
図3の領域50のズームインされたバージョンを示す。しかしながら、
図4Aおよび4Bでは、フォーカス深度は異なる(例えば、焦点が異なる)。例えば、
図4Aでは、レンズ34の位置は位置175にあり、これにより、フォーカス深度は画像に示されるねじの深度になる。
図4Bでは、レンズ34の位置は位置207にあり、これにより、フォーカス深度は画像に示されるばねの深度になる。
【0065】
図4Aおよび
図4Bに示されるように、フォーカス深度を定義するために領域50(
図3)内のユーザによるタッチのみに依存することは、カメラ12のフォーカスレベルを決定するのに十分でない場合がある。例えば、領域50の選択だけでは、カメラ12がねじにフォーカスするべきであり、レンズ34が175のレンズ位置を有するべきであるか、またはカメラ12がばねにフォーカスするべきであり、レンズ34が207のレンズ位置を有するべきであるかが不明瞭であり得る。
【0066】
したがって、1つまたは複数の実施例では、1つまたは複数のプロセッサ(例えば、CPU16)は、領域50で異なる深度に画像コンテンツが存在するかどうかを判定するように構成され得る。領域50で異なる深度に画像コンテンツが存在する場合、CPU16は、ディスプレイ28に画像コンテンツの代替バージョン(例えば、ズームインされたバージョン)を表示させ得る。例えば、画像コンテンツの代替バージョンは、ユーザがカメラ12のフォーカスする場所を適切に識別することがより容易であるようなものであってもよい。しかしながら、領域50で単一の深度に画像コンテンツが存在する(例えば、異なる深度に画像コンテンツが存在しない)場合、CPU16は、ディスプレイ28に代替バージョンを表示させないことがある。
【0067】
図5は、タッチフォーカスアシストモードのためのユーザインターフェースの一例を示す概念図である。
図5は、
図3の領域50のズームインされたバージョンを示す。領域50のズームインされたバージョンは、領域50の代替バージョンの一例である。タッチフォーカスアシストモードの場合、ユーザは領域50内のサブ領域52を選択する。一例として、領域50内のサブ領域52を選択する、領域50内の画像コンテンツの代替バージョン(例えば、ズームインされたバージョン)内の後続のユーザ選択は、領域50内のサブ領域52を選択するタッチユーザ選択であってもよい。
図5に示されるように、領域50の画像コンテンツは、領域50のズームインされたバージョンにおいてより大きいので、ユーザは、フォーカスがサブ領域52に対するものであるべきであることをより良好に指定することができる。
【0068】
図6は、手動フォーカスアシストモードのためのユーザインターフェースの一例を示す概念図である。
図5と同様に、
図6は、領域50の代替バージョンの実施例である、
図3の領域50のズームインされたバージョンを示す。手動フォーカスアシストモードの場合、ディスプレイ28は、レンズ34および/またはセンサ36の位置を示す表示54を表示し得る。ユーザは、ディスプレイ28上でどのオブジェクトが鮮明に見え、どのオブジェクトがぼやけて見えるかに基づいて、カメラ12のフォーカスがどこにあるかを見てもよい。すなわち、CPU16は、フォーカスが合っていない領域に誇張されたぼかし効果を適用し、どの領域が正確にフォーカスが合っているかを強調する目的で浅い被写界深度効果をシミュレートするように構成し得る。
【0069】
ユーザは、非限定的な一例として、レンズ34および/またはセンサ36の位置を移動させてフォーカス深度(例えば、焦点)を変更するために、左右にスワイプし、スライダを移動させ、ディスプレイ上でホールドしてドラッグし得る。ユーザがレンズ34および/またはセンサ36の位置を変更するにつれて、ディスプレイ28上の異なるオブジェクトが不鮮明になり、以前に不鮮明であったオブジェクトがフォーカスされ、鮮明に見え得る。CPU16は、ユーザがスワイプを停止した場所(例えば、ユーザが手動でフォーカスを制御する場所)に基づいて、カメラのフォーカスを制御し得る。
【0070】
いくつかの実施例では、CPU16は、ユーザ選択中に焦点により近い画像コンテンツおよび焦点からより遠い画像コンテンツの量を示すヒストグラム56を出力するように構成され得る。例えば、ユーザがユーザ選択(例えば、スワイプユーザ選択、スライダ上の移動ユーザ選択、ホールドアンドドラッグ)を提供しているとき、ヒストグラム56の形状は、いくつのサンプルが焦点により近いか(例えば、ヒストグラム56の左側)、およびいくつのサンプルが焦点からより遠いか(例えば、ヒストグラム56の右側)を示すように変化し得る。CPU16は、必ずしもすべての実施例においてヒストグラム56を出力する必要はない。
【0071】
図6の実施例では、ヒストグラム56は1つである。しかしながら、例示的な技法はそのように限定されない。いくつかの実施例では、2つ以上のヒストグラムが存在し得る。例えば、第1のヒストグラムは、全視野のピクセル(すなわち、キャプチャされることになるすべてのピクセル)の相対深度を表示し得る。第2のヒストグラムは、(例えば、深度を選択するための部分にズームインするためにズームインが使用される場合)現在ビュー内にあるピクセルの相対深度を表示し得る。第1および第2のヒストグラムは、重ねて表示されてもよいし、別々に表示されてもよい。
【0072】
図7Aおよび
図7Bは、ぼかしを付与したユーザインターフェースの一例を示す概念図である。上記の実施例では、画像コンテンツの代替バージョンの一例は、画像コンテンツのズームインされたバージョンである。しかしながら、いくつかの実施例では、画像コンテンツのズームインされたバージョンを出力するのではなく、またはそれに加えて、CPU16は、画像コンテンツの代替バージョンの別の実施例であるぼかした画像を出力し得る。
【0073】
例えば、
図7Aおよび
図7Bに示すように、プレビュー画像のある領域にフォーカスするためのユーザ選択の後、およびその領域内の異なる深度に画像コンテンツが存在すると判定した後、CPU16は、その領域内の画像コンテンツのぼかしバージョンを出力し得る。ぼかしバージョンでは、現在フォーカスが合っていないエリアは、比較的激しいぼかしを用いて(例えば、GPU18によって)レンダリングされ得る。ぼかしバージョンは、非常に浅い被写界深度をシミュレートするものと考えられ得る。このようにして、どのエリアにフォーカスが合っているか、およびどのエリアにフォーカスが合っていないかが明らかになる。
【0074】
一例として、
図7Aおよび7Bでは、レンズ34および/またはセンサ36の位置が異なっていてもよい。
図7Aでは、鉛筆58Aは、カメラ12のフォーカスレベルが鉛筆58Aの深度にないことを示すために大きくぼやけて見える。しかしながら、
図7Bでは、鉛筆58Bはフォーカスが合っているように見え、カメラ12のフォーカスが鉛筆58Bの深度にあることを示すためにぼやけていない。ユーザは、カメラ12のフォーカスを手動で調整し得、
図7Aおよび
図7Bの実施例では、ぼかしは、ユーザにカメラ12の焦点を示し得る。カメラ12の焦点(例えば、カメラ12のフォーカス深度)が所望の場所にあるとき、ユーザは、レンズ34および/またはセンサ36の位置を変更することを停止してもよく、CPU16は、レンズ34および/またはセンサ36の位置に基づいて、カメラ12のフォーカスレベルを制御し得る。
【0075】
図8は、動作の1つまたは複数の例示的な技法を示すフローチャートである。説明を容易にするために、
図8-10は、例示的な技法を実行するように構成される1つまたは複数のプロセッサに関して説明される。1つまたは複数のプロセッサの実施例は、CPU16、GPU18、ディスプレイインターフェース26、またはカメラデバイス10の任意の他の処理構成要素のうちのいずれか1つまたは組合せを含む。
【0076】
図8の実施例では、1つまたは複数のプロセッサは、メモリ(例えば、システムメモリ30)に記憶されたプレビュー画像の領域(例えば、
図3の領域50)にフォーカスするためのユーザ選択を受信し得る(70)。一例として、ユーザは、ディスプレイ28をタッチまたはタップしてもよく、タッチによって包含されるエリアは、カメラ12がフォーカスするべき領域に対応し得る。しかしながら、座標に基づいて領域の情報を入力すること、メニューから選択することなどによる他の技法も可能である。一般に、ユーザ選択を受信する1つまたは複数のプロセッサは、ユーザが選択した領域を示す、ディスプレイ28または何らかの他のユニットによって生成された信号を受信する1つまたは複数のプロセッサを指し得る。
【0077】
1つまたは複数のプロセッサは、領域内の異なる深度に画像コンテンツが存在するかどうかを判定し得る(72)。一例として、1つまたは複数のプロセッサは、システムメモリ30からの深度マップ40にアクセスし、深度マップ40に基づいて領域内の異なる深度に画像コンテンツが存在するかどうかを判定し得る。例えば、上記で説明したように、深度マップ40は、プレビュー画像内のサンプルの相対深度を示し得る。深度マップ40が、領域内の画像コンテンツ中に異なる深度を有するサンプルがあることを示す場合、1つまたは複数のプロセッサは、異なる深度に画像コンテンツが存在すると判定し得る。深度マップ40が、領域内の画像コンテンツ中に異なる深度を有するサンプルがないことを示す場合、1つまたは複数のプロセッサは、異なる深度に画像コンテンツが存在しない(例えば、単一の深度に画像コンテンツが存在する)と判定し得る。
【0078】
領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、1つまたは複数のプロセッサは、領域内の画像コンテンツの代替バージョンを出力し得る(74)。一例として、領域内の異なる深度に画像コンテンツが存在するという条件が満たされたことに応じて、1つまたは複数のプロセッサは、領域内の画像コンテンツの代替バージョンを出力し得る。場合によっては、1つまたは複数のプロセッサは、領域内の異なる深度に画像コンテンツが存在するときのみ、領域内の画像コンテンツの代替バージョンを出力し得る。
【0079】
一例として、領域内の画像コンテンツの代替バージョンを出力するために、1つまたは複数のプロセッサは、領域内の画像コンテンツのズームインされたバージョンを出力し得る。別の実施例として、領域内の画像コンテンツの代替バージョンを出力するために、1つまたは複数のプロセッサは、フォーカスが合っていない領域の部分をぼかし得る。
【0080】
1つまたは複数のプロセッサは、代替バージョン内の後続のユーザ選択を受信し得る(76)。上記と同様に、後続のユーザ選択を受信する1つまたは複数のプロセッサは、後続のユーザ選択を示すディスプレイ28または何らかの他のユニットによって生成された信号を参照し得る。1つまたは複数のプロセッサは、後続のユーザ選択に基づいてカメラ12のフォーカスレベルを制御し得る(78)。例えば、1つまたは複数のプロセッサは、カメラ12のフォーカス深度を設定し得る。カメラデバイス10は、カメラ12のフォーカスレベルで画像をキャプチャするように構成され得る。
【0081】
一例として、後続のユーザ選択を受信するために、1つまたは複数のプロセッサは、領域内のサブ領域を選択する領域内の画像コンテンツの代替バージョン内の後続のユーザ選択を受信し得る。そのような実施例では、フォーカスレベルを制御するために、1つまたは複数のプロセッサは、サブ領域の後続のユーザ選択に基づいてフォーカスレベルを制御し得る。例えば、領域内のサブ領域を選択する、領域内の画像コンテンツの代替バージョン内の後続のユーザ選択は、領域内のサブ領域を選択するタッチユーザ選択であってもよい。
【0082】
別の実施例として、後続のユーザ選択を受信するために、1つまたは複数のプロセッサは、画像コンテンツの代替バージョン内の後続のユーザ選択を受信して、フォーカスレベルを手動で制御し得る。そのような実施例では、フォーカスレベルを制御するために、1つまたは複数のプロセッサは、ユーザによるフォーカスレベルの手動制御に基づいてフォーカスレベルを制御し得る。例えば、フォーカスレベルを手動で制御するための画像コンテンツの代替バージョン内の後続のユーザ選択は、フォーカス深度を手動で調整するためのユーザ選択であってもよい。いくつかの実施例では、1つまたは複数のプロセッサは、後続のユーザ選択中に焦点により近い画像コンテンツおよび焦点からより遠い画像コンテンツの量を示すヒストグラム(例えば、ヒストグラム56)を出力するように構成され得る。
【0083】
図9は、動作の1つまたは複数の例示的な技法を示すフローチャートである。
図9は、単一の深度に画像コンテンツが存在する(例えば、異なる深度に画像コンテンツが存在しない)例を示す。例えば、
図8では、ユーザ選択が第1のユーザ選択であり、領域が第1の領域であり、フォーカスレベルが第1のフォーカスレベルであり、プレビュー画像が第1のプレビュー画像であると仮定する。
【0084】
いくつかの実施例では、1つまたは複数のプロセッサは、第2のプレビュー画像の第2の領域にフォーカスするための第2のユーザ選択を受信し得る(80)。この実施例では、1つまたは複数のプロセッサは、第2の領域で異なる深度に画像コンテンツが存在するかどうかを判定し得る(82)。例えば、1つまたは複数のプロセッサは、第2の領域で異なる深度に画像コンテンツが存在するかどうかを判定するために、
図8において説明した技法と同様の技法を実行し得る。
【0085】
第2の領域で異なる深度に画像コンテンツが存在しないという判定に基づいて、1つまたは複数のプロセッサは、第2のユーザ選択に基づいてカメラ12の第2のフォーカスレベルを制御し得る(84)。例えば、異なる深度に画像コンテンツが存在しないので、カメラ12のフォーカスをどこに合わせるかについて混乱がない場合がある。したがって、画像コンテンツの代替バージョンを表示するのではなく、1つまたは複数のプロセッサは、ユーザ選択に基づいてカメラ12のフォーカスレベルを制御することが可能であり得る(例えば、後続のユーザ選択が必要とされない)。
【0086】
図10は、動作の1つまたは複数の例示的な技法を示すフローチャートである。
図10の実施例では、ディスプレイ28は、領域でユーザタッチを受信し得る(90)。ディスプレイ28は、領域によって包含されるエリアを識別する信号を1つまたは複数のプロセッサに送信し得る。
【0087】
1つまたは複数のプロセッサは、領域内の異なる深度に画像コンテンツが存在するかどうかを判定し得る(92)。1つまたは複数のプロセッサが、異なる深度に画像コンテンツが存在しないと判定した場合(92の「いいえ」)、1つまたは複数のプロセッサは、ユーザがタッチした領域に基づいてカメラ12のフォーカスレベルを制御し得る(94)。
【0088】
1つまたは複数のプロセッサが、異なる深度に画像コンテンツが存在すると判定した場合(92の「はい」)、1つまたは複数のプロセッサは、領域内の画像コンテンツの代替バージョンを出力し得る(96)。代替バージョンの実施例は、ズームインされたバージョンおよびぼかしバージョンを含むが、他の実施例も可能である。
【0089】
1つまたは複数のプロセッサは、ユーザがディスプレイ28を押下しているのか、ホールドしているのか、またはディスプレイ28上でホバリングしているのかを判定し得る(98)。例えば、ディスプレイ28は、1つまたは複数のプロセッサが受信する信号であって、ユーザがディスプレイ28を押下しているのか、ホールドしているのか、またはその上でホバリングしているのかを示す信号を生成し得る。
【0090】
1つまたは複数のプロセッサが、ユーザがディスプレイ28を押下している、ホールドしている、またはディスプレイ28上でホバリングしていると判定した場合(98の「はい」)、1つまたは複数のプロセッサは、タッチフォーカスアシストモードに基づいてカメラ12のフォーカスレベルを制御し得る。タッチフォーカスアシストモードの一例が、
図5に関して上で説明されている。
【0091】
1つまたは複数のプロセッサが、ユーザがディスプレイ28を押下していない、ホールドしていない、またはディスプレイ28上でホバリングしていないと判定した場合(98の「いいえ」)、1つまたは複数のプロセッサは、ユーザがディスプレイ28上で左または右にスワイプしているかどうかを判定し得る(102)。1つまたは複数のプロセッサが、ユーザがディスプレイ28上で左または右にスワイプしていると判定した場合(102の「はい」)、1つまたは複数のプロセッサは、手動フォーカスアシストモードに基づいてカメラ12のフォーカスレベルを制御し得る(104)。手動フォーカスアシストモードの実施例としては、
図6、
図7Aおよび
図7Bに示す例が挙げられる。
【0092】
1つまたは複数のプロセッサが、ユーザがディスプレイ28上で左または右にスワイプしていないと判定した場合、1つまたは複数のプロセッサは、フォーカスレベルの制御を終了し得る(106)。例えば、ユーザがフォーカスレベルをどのように制御するかの入力を提供しない場合、フォーカスを制御する動作はタイムアウトし得る。
【0093】
図10の実施例では、例示的な動作は、必ずしも示された順序で実行される必要はない。例えば、いくつかの実施例では、1つまたは複数のプロセッサは、最初に、フォーカスレベルを手動で制御するためのユーザ選択(例えば、スワイプ、スライダの移動、ダイヤルのホールドおよびドラッグなど)がディスプレイ28上にあるかどうかを判定し(102)、ユーザ選択があるかどうかに基づいてフォーカスレベルを制御し得る。そのような実施例では、フォーカスレベルを手動で制御するためのユーザ選択がディスプレイ28上にない場合、1つまたは複数のプロセッサは、フォーカスレベルを制御するためのサブ領域の選択のために、ディスプレイ28上での押下、ホールド、またはホバリングがあるかどうかを判定し得る(98)。いくつかの実施例では、ユーザは、ダイヤル、スライダなどの物理コントローラを操作するか、または手動ユーザ選択のためのボタンもしくは「クラウン」を回転させて、フォーカスを手動で制御し得る。
【0094】
以下では、本開示による1つまたは複数の例示的な技法について説明する。
【0095】
実施例1.画像キャプチャのためのデバイスであって、プレビュー画像を記憶するように構成されるメモリと、メモリに結合される1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサが、メモリに記憶されたプレビュー画像の領域にフォーカスするためのユーザ選択を受信し、領域内の異なる深度に画像コンテンツが存在するかどうかを判定し、領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、領域内の画像コンテンツの代替バージョンを出力し、代替バージョン内の後続のユーザ選択を受信し、後続のユーザ選択に基づいてカメラのフォーカスレベルを制御するように構成される、デバイス。
【0096】
実施例2.領域内の画像コンテンツの代替バージョンを出力することが、領域内の画像コンテンツのズームインされたバージョンを出力することを含む、実施例1に記載のデバイス。
【0097】
実施例3.カメラのフォーカスレベルを制御することが、カメラのレンズのレンズ位置を制御することを含む、実施例1および2のいずれかに記載のデバイス。
【0098】
実施例4.後続のユーザ選択を受信することが、領域内のサブ領域を選択する、領域内の画像コンテンツの代替バージョン内の後続のユーザ選択を受信することを含み、フォーカスレベルを制御することが、サブ領域の後続のユーザ選択に基づいてフォーカスレベルを制御することを含む、実施例1-4のいずれかに記載のデバイス。
【0099】
実施例5.領域内のサブ領域を選択する、領域内の画像コンテンツの代替バージョン内の後続のユーザ選択が、領域内のサブ領域を選択するタッチユーザ選択を含む、実施例4に記載のデバイス。
【0100】
実施例6.後続のユーザ選択を受信することが、フォーカスレベルを手動で制御するために画像コンテンツの代替バージョン内の後続のユーザ選択を受信することを含み、フォーカスを制御することが、ユーザによるフォーカスレベルの手動制御に基づいてフォーカスを制御することを含む、実施例1-5のいずれかに記載のデバイス。
【0101】
実施例7.1つまたは複数のプロセッサが、後続のユーザ選択中に、焦点により近い画像コンテンツの量と、焦点からより遠い画像コンテンツの別の量とを示すヒストグラムを出力するように構成される、実施例6に記載のデバイス。
【0102】
実施例8.フォーカスレベルを手動で制御するための画像コンテンツの代替バージョン内の後続のユーザ選択が、フォーカス深度を手動で調整するためのスワイプ、スライド、またはドラッグアンドホールドのユーザ選択を含む、実施例6および7に記載のデバイス。
【0103】
実施例9.ユーザ選択が第1のユーザ選択であり、領域が第1の領域であり、フォーカスレベルが第1のフォーカスレベルであり、プレビュー画像が第1のプレビュー画像であり、1つまたは複数のプロセッサが、第2のプレビュー画像の第2の領域にフォーカスするための第2のユーザ選択を受信し、第2の領域で異なる深度に画像コンテンツが存在するかどうかを判定し、第2の領域で異なる深度に画像コンテンツが存在しないという判定に基づいて、第2のユーザ選択に基づいてカメラの第2のフォーカスレベルを制御するように構成される、実施例1-8に記載のデバイス。
【0104】
実施例10.領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、領域内の画像コンテンツの代替バージョンを出力することが、領域内の異なる深度に画像コンテンツが存在するという条件が満たされたことに応じて、領域内の画像コンテンツの代替バージョンを出力することを含む、実施例1-9のいずれかに記載のデバイス。
【0105】
実施例11.領域内の画像コンテンツの代替バージョンを出力することが、フォーカスが合っていない領域の部分をぼかすことを含む、実施例1-10のいずれかに記載のデバイス。
【0106】
実施例12.デバイスが、カメラのフォーカスレベルで画像をキャプチャするように構成される、実施例1-11のいずれかに記載のデバイス。
【0107】
実施例13.領域内の異なる深度に画像コンテンツが存在するかどうかを判定することが、位相検出オートフォーカス(PDAF)ベースの深度マップ、デフォーカスマップ、飛行時間(ToF)、ステレオ深度、または構造化光のうちの1つまたは複数に基づいて、異なる深度に画像コンテンツが存在するかどうかを判定することを含む、実施例1-12のいずれかに記載のデバイス。
【0108】
実施例14.画像キャプチャのための方法であって、メモリに記憶されたプレビュー画像の領域にフォーカスするためのユーザ選択を受信することと、領域内の異なる深度に画像コンテンツが存在すると判定することと、領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、領域内の画像コンテンツの代替バージョンを出力することと、代替バージョン内の後続のユーザ選択を受信することと、後続のユーザ選択に基づいてカメラのフォーカスレベルを制御することとを含む、方法。
【0109】
実施例15.画像コンテンツの代替バージョンを出力することが、画像コンテンツのズームインされたバージョンを出力することを含む、実施例14に記載の方法。
【0110】
実施例16.カメラのフォーカスレベルを制御することが、カメラのレンズのレンズ位置を制御することを含む、実施例14および15のいずれかに記載の方法。
【0111】
実施例17.後続のユーザ選択を受信することが、領域内のサブ領域を選択する、領域内の画像コンテンツの代替バージョン内の後続のユーザ選択を受信することを含み、フォーカスレベルを制御することが、サブ領域の後続のユーザ選択に基づいてフォーカスレベルを制御することを含む、実施例14-16のいずれかに記載の方法。
【0112】
実施例18.領域内のサブ領域を選択する、領域内の画像コンテンツの代替バージョン内の後続のユーザ選択が、領域内のサブ領域を選択するタッチユーザ選択を含む、実施例17に記載の方法。
【0113】
実施例19.後続のユーザ選択を受信することが、フォーカスレベルを手動で制御するために画像コンテンツの代替バージョン内の後続のユーザ選択を受信することを含み、フォーカスを制御することが、ユーザによるフォーカスレベルの手動制御に基づいてフォーカスを制御することを含む、実施例14-18のいずれかに記載の方法。
【0114】
実施例20.後続のユーザ選択中に、焦点により近い画像コンテンツの量と焦点からより遠い画像コンテンツの別の量とを示すヒストグラムを出力することをさらに含む、実施例19に記載の方法。
【0115】
実施例21.フォーカスレベルを手動で制御するための画像コンテンツの代替バージョン内の後続のユーザ選択が、フォーカス深度を手動で調整するためのスワイプ、スライド、またはドラッグアンドホールドのユーザ選択を含む、実施例19および20のいずれかに記載の方法。
【0116】
実施例22.方法であって、ユーザ選択が第1のユーザ選択であり、領域が第1の領域であり、フォーカスレベルが第1のフォーカスレベルであり、プレビュー画像が第1のプレビュー画像であり、方法が、第2のプレビュー画像の第2の領域にフォーカスする第2のユーザ選択を受信することと、第2の領域で異なる深度に画像コンテンツが存在すると判定することと、第2の領域で異なる深度に画像コンテンツが存在しないという判定に基づいて、第2のユーザ選択に基づいてカメラの第2のフォーカスレベルを制御することとをさらに含む、実施例14-21のいずれかに記載の方法。
【0117】
実施例23.領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、領域内の画像コンテンツの代替バージョンを出力することが、領域内の異なる深度に画像コンテンツが存在するという条件が満たされたことに応じて、領域内の画像コンテンツの代替バージョンを出力することを含む、実施例14-22のいずれかに記載の方法。
【0118】
実施例24.領域内の画像コンテンツの代替バージョンを出力することが、フォーカスが合っていない領域の部分をぼかすことを含む、実施例14-23のいずれかに記載の方法。
【0119】
実施例25.カメラのフォーカスレベルで画像をキャプチャすることをさらに含む、実施例14-24のいずれかに記載の方法。
【0120】
実施例26.領域内の異なる深度に画像コンテンツが存在すると判定することが、位相検出オートフォーカス(PDAF)ベースの深度マップ、デフォーカスマップ、飛行時間(ToF)、ステレオ深度、または構造化光のうちの1つまたは複数に基づいて、異なる深度に画像コンテンツが存在するかどうかを判定することを含む、実施例14-25のいずれかに記載の方法。
【0121】
実施例27.命令を記憶するコンピュータ可読記憶媒体であって、命令が、実行されると、1つまたは複数のプロセッサに、メモリに記憶されたプレビュー画像の領域にフォーカスするためのユーザ選択を受信させ、領域内の異なる深度に画像コンテンツが存在すると判定させ、領域内の異なる深度に画像コンテンツが存在するという判定に基づいて、領域内の画像コンテンツの代替バージョンを出力させ、代替バージョン内の後続のユーザ選択を受信させ、後続のユーザ選択に基づいてカメラのフォーカスレベルを制御させる、コンピュータ可読記憶媒体。
【0122】
実施例28.1つまたは複数のプロセッサにカメラのフォーカスレベルを制御させる命令が、1つまたは複数のプロセッサにカメラのレンズのレンズ位置を制御させる命令を備える、実施例27のコンピュータ可読記憶媒体。
【0123】
1つまたは複数の実施例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装されてもよい。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるかまたはコンピュータ可読媒体を介して送信されてもよく、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含んでもよい。このようにして、コンピュータ可読媒体は一般に、非一時的である有形コンピュータ可読記憶媒体に対応することがある。データ記憶媒体は、本開示で説明された技法の実装のための命令、コード、および/またはデータ構造を取り出すために、1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であってもよい。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【0124】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用でき、コンピュータによってアクセスすることができる任意の他の媒体を備えてもよい。コンピュータ可読記憶媒体およびデータ記憶媒体は、搬送波、信号、または他の一時的媒体を含まないが、代わりに、非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザを用いてデータを光学的に再生する。上記のものの組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0125】
命令は、1つまたは複数のデジタル信号プロセッサ(DSPs)、汎用マイクロプロセッサ、特定用途向け集積回路(ASICs)、フィールドプログラマブルロジックアレイ(FPGAs)、または他の等価な集積論理回路もしくはディスクリート論理回路などの、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、または本明細書で説明する技法の実装に好適な任意の他の構造のいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成される専用のハードウェアモジュールおよび/もしくはソフトウェアモジュール内で提供されてもよく、または複合コーデックの中に組み込まれてもよい。また、技法は、1つまたは複数の回路または論理要素において完全に実装されてもよい。
【0126】
本開示の技法は、無線ハンドセット、集積回路(IC)、またはICのセット(例えば、チップセット)を含む、多種多様なデバイスまたは装置において実装されてもよい。開示された技法を実行するように構成されるデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて本開示で説明したが、それらは必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、コーデックハードウェアユニットの中で組み合わせられてもよく、または好適なソフトウェアおよび/もしくはファームウェアと連携して、上記で説明したような1つまたは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてもよい。
【0127】
様々な例が説明されてきた。これらおよび他の例が以下の特許請求の範囲内に入る。
【手続補正書】
【提出日】2024-04-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画像キャプチャのためのデバイスであって、
第1のプレビュー画像及び第2のプレビュー画像を記憶するように構成されるメモリと、
前記メモリに結合される1つまたは複数のプロセッサであって、
前記メモリに記憶された前記
第1のプレビュー画像の
第1の領域にフォーカスするための
第1のユーザ選択を受信し、
前記
第1の領域内の異なる深度に画像コンテンツが存在するかどうかを判定し、
前記
第1の領域内の異なる深度に画像コンテンツが存在するという前記判定に基づいて、前記
第1の領域内の前記画像コンテンツの代替バージョンを出力し、
前記
第1の領域内の前記画像コンテンツの前記代替バージョン内の後続のユーザ選択を受信し、
前記後続のユーザ選択に基づいてカメラの
第1のフォーカスレベルを制御
し、
前記第2のプレビュー画像の第2の領域にフォーカスするための第2のユーザ選択を受信し、
前記第2の領域で異なる深度に画像コンテンツが存在するかどうかを判定し、
前記第2の領域で異なる深度に画像コンテンツが存在しないという前記判定に基づいて、前記第2のユーザ選択に基づいて前記カメラのための第2のフォーカスレベルを制御する
ように構成される、デバイス。
【請求項2】
前記
第1の領域内の前記画像コンテンツの前記代替バージョンを出力することが、前記
第1の領域内の前記画像コンテンツのズームインされたバージョンを出力することを含む、請求項1に記載のデバイス。
【請求項3】
前記カメラの前記
第1のフォーカスレベルを制御することが、前記カメラの
フォーカス深度を制御することを含む、請求項1に記載のデバイス。
【請求項4】
前記後続のユーザ選択を受信することが、前記
第1の領域内のサブ領域を選択する、前記
第1の領域内の前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択を受信することを含み、
前記
第1のフォーカスレベルを制御することが、前記サブ領域の前記後続のユーザ選択に基づいて前記
第1のフォーカスレベルを制御することを含む、
請求項1に記載のデバイス。
【請求項5】
前記
第1の領域内の前記サブ領域を選択する、前記
第1の領域内の前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択が、前記
第1の領域内の前記サブ領域を選択するタッチユーザ選択を含む、請求項4に記載のデバイス。
【請求項6】
前記後続のユーザ選択を受信することが、前記
第1のフォーカスレベルを手動で制御するために
、前記第1の領域内の前記画像コンテンツの前記代替バージョン内で前記後続のユーザ選択を受信することを含み、
前記
第1のフォーカス
レベルを制御することが、ユーザによる前記
第1のフォーカスレベルの手動制御に基づいて前記
第1のフォーカス
レベルを制御することを含む、
請求項1に記載のデバイス。
【請求項7】
前記1つまたは複数のプロセッサが、前記後続のユーザ選択中に、焦点により近い前記画像コンテンツの量と、焦点からより遠い前記画像コンテンツの別の量とを示すヒストグラムを出力するように構成される、請求項6に記載のデバイス。
【請求項8】
前記
第1のフォーカスレベルを手動で制御するための前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択が、フォーカス深度を手動で調整するためのスワイプ、スライド、またはドラッグアンドホールドのユーザ選択を含む、請求項6に記載のデバイス。
【請求項9】
前記
第1の領域内の異なる深度に画像コンテンツが存在するという前記判定に基づいて、前記
第1の領域内の前記画像コンテンツの前記代替バージョンを出力することが、前記
第1の領域内の異なる深度に画像コンテンツが存在するという条件が満たされることに応じて、前記
第1の領域内の前記画像コンテンツの前記代替バージョンを出力することを含む、請求項1に記載のデバイス。
【請求項10】
前記
第1の領域内の前記画像コンテンツの前記代替バージョンを出力することが、フォーカスが合っていない前記
第1の領域の部分をぼかすことを含む、請求項1に記載のデバイス。
【請求項11】
前記デバイスが、前記カメラの前記
第1のフォーカスレベルで画像をキャプチャするように構成される、請求項1に記載のデバイス。
【請求項12】
前記
第1の領域内の異なる深度に画像コンテンツが存在するかどうかを判定することが、位相検出オートフォーカス(PDAF)ベースの深度マップ、デフォーカスマップ、
または飛行時間(ToF)のうちの1つまたは複数に基づいて、異なる深度に画像コンテンツが存在するかどうかを判定することを含む、請求項1に記載のデバイス。
【請求項13】
画像キャプチャのための方法であって、
メモリに記憶された
第1のプレビュー画像の
第1の領域にフォーカスするための
第1のユーザ選択を受信するステップと、
前記
第1の領域内の異なる深度に画像コンテンツが存在すると判定するステップと、
前記
第1の領域内の異なる深度に画像コンテンツが存在するという前記判定に基づいて、前記
第1の領域内の前記画像コンテンツの代替バージョンを出力するステップと、
前記第1の領域内の前記画像コンテンツの前記代替バージョン内の後続のユーザ選択を受信するステップと、
前記後続のユーザ選択に基づいてカメラの
第1のフォーカスレベルを制御するステップと、
前記メモリに記憶された第2のプレビュー画像の第2の領域にフォーカスするための第2のユーザ選択を受信するステップと、
前記第2の領域で異なる深度に画像コンテンツが存在しないと判定するステップと、
前記第2の領域で異なる深度に画像コンテンツが存在しないという前記判定に基づいて、前記第2のユーザ選択に基づいて前記カメラのための第2のフォーカスレベルを制御するステップと
を含む、方法。
【請求項14】
前記第1の領域内の前記画像コンテンツの前記代替バージョンを出力するステップが、
前記第1の領域内の前記画像コンテンツのズームインされたバージョンを出力するステップを含む、請求項
13に記載の方法。
【請求項15】
前記カメラの前記
第1のフォーカスレベルを制御するステップが、前記
カメラのフォーカス深度を制御するステップを含む、請求項
13に記載の方法。
【請求項16】
前記後続のユーザ選択を受信するステップが、前記
第1の領域内のサブ領域を選択する、前記
第1の領域内の前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択を受信するステップを含み、
前記
第1のフォーカスレベルを制御するステップが、前記サブ領域の前記後続のユーザ選択に基づいて前記
第1のフォーカスレベルを制御するステップを含む、
請求項
13に記載の方法。
【請求項17】
前記
第1の領域内の前記サブ領域を選択する
、前記
第1の領域内の前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択が、前記
第1の領域内の前記サブ領域を選択するタッチユーザ選択を含む、請求項
16に記載の方法。
【請求項18】
前記後続のユーザ選択を受信するステップが、前記
第1のフォーカスレベルを手動で制御するために
、前記第1の領域内の前記画像コンテンツの前記代替バージョン内で前記後続のユーザ選択を受信するステップを含み、
前記
第1のフォーカス
レベルを制御するステップが、ユーザによる前記
第1のフォーカスレベルの手動制御に基づいて前記
第1のフォーカス
レベルを制御するステップを含む、
請求項
13に記載の方法。
【請求項19】
前記後続のユーザ選択中に、焦点により近い前記画像コンテンツの量と、焦点からより遠い前記画像コンテンツの別の量とを示すヒストグラムを出力するステップをさらに含む、請求項
18に記載の方法。
【請求項20】
前記
第1のフォーカスレベルを手動で制御するための前記画像コンテンツの前記代替バージョン内の前記後続のユーザ選択が、フォーカス深度を手動で調整するためのスワイプ、スライド、またはドラッグアンドホールドのユーザ選択を含む、請求項
18に記載の方法。
【請求項21】
前記
第1の領域内の異なる深度に画像コンテンツが存在するという前記判定に基づいて、前記
第1の領域内の前記画像コンテンツの前記代替バージョンを出力するステップが、前記
第1の領域内の異なる深度に画像コンテンツが存在するという条件が満たされることに応じて、前記
第1の領域内の前記画像コンテンツの前記代替バージョンを出力することを含む、請求項
13に記載の方法。
【請求項22】
前記
第1の領域内の前記画像コンテンツの前記代替バージョンを出力するステップが、フォーカスが合っていない前記
第1の領域の部分をぼかすステップを含む、請求項
13に記載の方法。
【請求項23】
前記カメラの前記
第1のフォーカスレベルで画像をキャプチャするステップをさらに含む、請求項
13に記載の方法。
【請求項24】
前記
第1の領域内の異なる深度に画像コンテンツが存在すると判定するステップが、位相検出オートフォーカス(PDAF)ベースの深度マップ、デフォーカスマップ、
または飛行時間(ToF)のうちの1つまたは複数に基づいて、異なる深度に画像コンテンツが存在するかどうかを判定するステップを含む、請求項
13に記載の方法。
【請求項25】
命令を記憶する
非一時的コンピュータ可読記憶媒体であって、前記命令が、実行されると、1つまたは複数のプロセッサに、
メモリに記憶された
第1のプレビュー画像の
第1の領域にフォーカスするための
第1のユーザ選択を受信することと、
前記
第1の領域内の異なる深度に画像コンテンツが存在すると判定することと、
前記
第1の領域内の異なる深度に画像コンテンツが存在するという前記判定に基づいて、前記
第1の領域内の前記画像コンテンツの代替バージョンを出力することと、
前記第1の領域内の前記画像コンテンツの前記代替バージョン内の後続のユーザ選択を受信することと、
前記後続のユーザ選択に基づいてカメラの
第1のフォーカスレベルを制御することと、
前記メモリに記憶された第2のプレビュー画像の第2の領域にフォーカスするための第2のユーザ選択を受信することと
、
前記第2の領域で異なる深度に画像コンテンツが存在しないと判定することと
、
前記第2の領域で異なる深度に画像コンテンツが存在しないという前記判定に基づいて、前記第2のユーザ選択に基づいて前記カメラのための第2のフォーカスレベルを制御することと
を行わせる、非一時的コンピュータ可読記憶媒体。
【請求項26】
前記1つまたは複数のプロセッサに前記カメラの前記
第1のフォーカスレベルを制御させる前記命令が、前記1つまたは複数のプロセッサに前記カメラの
フォーカス深度を制御させる命令を備える、請求項2
5に記載のコンピュータ可読記憶媒体。
【国際調査報告】