[0016] 様々な実施は、シーンの画像をシーンに存在する不要なオブジェクトの除去に基づいて動的に生成するための画像取り込み装置及び方法に見出すことができる。開示の一般的な態様は、シーンの画像を、シーンの選択的な取り込みによるシーンの不要なオブジェクトの除去に基づいて、動的に生成するための方法を備えることができる。方法は、少なくとも回路類、メモリ及びディスプレイを含み得る、画像取り込み装置で実施することができる。ディスプレイは、画像取り込み装置によって取り込まれるシーンの第1のプレビューを備える、アプリケーションインターフェイスをレンダリングするように構成することができる。シーンの第1のプレビューは、少なくとも第1のオブジェクトを備えることができる。回路類は、シーンのプレビュー中の不要なオブジェクトを、シーンのプレビュー中の少なくとも第1のオブジェクトの選択に基づいて検出するように構成することができる。回路類は、検出した不要なオブジェクトをシーンの第1のプレビューから取り除くようにさらに構成することができる。回路類は、シーンの第1のプレビューのうちシーンの第1のプレビュー中の除去された不要なオブジェクトに対応する部分を塗りつぶすようにさらに構成することができる。部分は、背景領域又は前景領域の少なくとも一方で塗りつぶすことができる。回路類は、シーンの第2のプレビューを、検出した不要なオブジェクトを取り除きかつ部分を背景領域又は前景領域の何れかで塗りつぶすことに基づいて、生成するようにさらに構成することができる。回路類は、シーンの画像を生成された第2のプレビューに基づいて生成するようにさらに構成することができる。
[0017] 実施形態に従って、第1のオブジェクトの選択は、タッチベースの入力に基づくことができる。一部の実施形態では、第1のオブジェクトの選択は、音声ベースの入力又はテキストベースの入力の少なくとも一方にさらに基づくことができる。回路類は、検出した不要なオブジェクトの境界の座標を計算するようにさらに構成することができる。検出した不要なオブジェクトの境界の座標は、検出された不要なオブジェクトの位置、大きさ又は形状に基づいて計算することができる。回路類は、検出した不要なオブジェクトを、検出した不要なオブジェクトの境界の計算した座標に基づいて、シーンの第1のプレビューから取り除くようにさらに構成することができる。
[0018] 実施形態に従って、回路類は背景領域を生成するようにさらに構成することができ、生成は、画像取り込み装置のメモリに記憶され又はクラウドサーバーからアクセスされた参照画像のライブラリの少なくとも1つの参照画像に基づく。さらに、少なくとも1つの参照画像は、参照画像のライブラリを、検出された不要なオブジェクトの位置、大きさ又は境界の座標のうちの1つに基づいて検索することによって選択することができる。回路類は、背景領域を取り除いた不要なオブジェクトに対応する部分の近くにある画素に基づいて生成するようにさらに構成することができる。回路類は、背景領域を少なくとも1つの以前に取り込まれた画像に基づいて生成するようにさらに構成することができる。実施形態に従って、回路類は、部分を、メモリ又はクラウドに記憶された参照画像のライブラリから第2のオブジェクトを選択することに基づいて前景領域で取り替えるようにさらに構成することができる。
[0019] 実施形態に従って、画像取り込み装置によって取り込まれるシーンの第1のプレビュー中の少なくとも3つのオブジェクトの存在に基づいて、回路類は、シーンの第1のプレビュー中の少なくとも3つのオブジェクトのうち2つのオブジェクト間の距離を縮小するようにさらに構成することができる。2つのオブジェクト間の距離は、シーンの第1のプレビュー中の少なくとも3つのオブジェクトから検出した不要なオブジェクトを取り除いた後に縮小することができる。回路類は、シーンの第1のプレビュー中の2つのオブジェクト間の距離を、距離を縮小するためのユーザー入力に基づいて縮小するようにさらに構成することができる。シーンの第1のプレビュー中の2つのオブジェクト間の距離は、少なくとも2つのオブジェクトをオブジェクト方向で光学的に画像拡大することに基づいてさらに縮小することができる。
[0020] 実施形態に従って、回路類は、シーンの第1のプレビュー中の異なる層を、異なる層の少なくとも深さ情報に基づいて決定するようにさらに構成することができる。回路類は、異なる層から少なくとも1層を、少なくとも1つの層の選択に基づいて取り除くようにさらに構成することができる。
[0021] 図1は、開示の実施形態に従って、シーンの画像を、シーンに存在する不要なオブジェクトの除去に基づいて、動的に生成する一般的な動作環境を図示するブロック図である。図1を参照すると、一般的な動作環境100が示されている。一般的な動作環境100は、画像取り込み装置102を含むことができる。示すように、画像取り込み装置102は、ディスプレイ104及びメモリ106を含む。図1を参照すると、画像取り込み装置102によって取り込まれるシーン108がさらに示されている。シーン108は、少なくとも第1のオブジェクト110をさらに備えることができる。画像取り込み装置102はユーザー112が保持することができる。
[0022] 画像取り込み装置102は、適切な論理、回路類、インターフェイス及び/又はコードを備えることができ、これらは、シーン108の画像(又はビデオ)を取り込むように構成することができ、取り込みは、画像(又はビデオ)の取り込みの間に、シーン108に存在する第1のオブジェクト110のような不要なオブジェクトを取り除くことに基づいている。画像取り込み装置102は、シーン108の第1のプレビュー中の不要なオブジェクトを、第1のオブジェクト110の選択に基づいて検出することができる。画像取り込み装置102は、シーン108の第1のプレビューのうち取り除いた不要なオブジェクトに対応する部分を、背景領域又は前景領域の少なくとも一方で塗りつぶすことができる。不要なオブジェクトを取り除くこと及び塗りつぶすことに基づいて、シーン108の第2のプレビューが、画像取り込み装置102によって生成される。画像取り込み装置102は、シーン108の画像をシーン108の第2のプレビューに基づいて生成することができる。シーン108の第2のプレビューの構成は、シーン108の第1のプレビューとは異なることができる。画像取り込み装置102の例は、制限されないが、デジタルカメラ、デジタルビデオカメラ、ブリッジカメラ、スマートフォンのようなカメラ付き携帯電話、小形カメラ、有線テレビ(CCTV)カメラ、ダッシュボードカメラ、ラップトップコンピューター、タブレット、又は一体型カメラを備えたスマート電気器具を含む。
[0023] ディスプレイ104は、適切な論理、回路類、インターフェイス及び/又はコードを備えることができ、これらは、画像取り込み装置102によって取り込まれるシーン108の第1のプレビューを備えるアプリケーションインターフェイスをレンダリングするように構成することができる。ユーザー112のようなユーザーは、メモリ106に記憶されたファインダーアプリケーションを立ち上げ、画像取り込み装置102を取り込まれるシーン108に向けることができる。シーン108の第1のプレビューは、カメラファインダーインターフェイスのようなアプリケーションインターフェイスで見ることができる。一部の実施形態では、ディスプレイ104は、画像取り込み装置102に一体化することができる。一部の実施形態では、ディスプレイ104は、通信チャンネル(図示しない)を介して、画像取り込み装置102と通信可能に結合することができる。そのような場合、ディスプレイ104は、内視鏡装置、パソコン、ラップトップコンピューター、コンピューターワークステーション、汎用コンピュータ、手持ち式コンピュータ、携帯情報端末、スマートフォン、スマート電気器具、ビデオプレーヤ、又はテレビのような外部装置に関連付けることができる。
[0024] メモリ106は、適切な論理、回路類、インターフェイス及び/又はコードを備えることができ、これらは、画像取り込み装置102によって取り込まれるシーン108を一時的に記憶するように構成することができる。例えば、メモリ106は、シーン108を処理に備えてメモリ106内の画像バッファーに一時的に記憶することができる。メモリ106は、参照画像のライブラリを記憶するようにさらに構成することができる。メモリ106は、画像取り込み装置102によって実行可能な一連の命令を記憶して、シーン108から不要なオブジェクトを取り除くことに基づいて、シーン108の画像を生成するようにさらに構成することができる。メモリ106は、画像取り込み装置102のオペレーティングシステム及び関連するアプリケーションを記憶するようにさらに構成することができる。メモリ106の例は、制限されないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリRAM(DRAM)、スタティックランダムアクセスメモリ(SRAM)、サイリスタランダムアクセスメモリ(T−RAM)、ゼロコンデンサランダムアクセスメモリ(Z−RAM)、読み出し専用メモリ(ROM)、ハードディスクドライブ(HDD)、セキュアデジタル(SD)カード、フラッシュドライブ、キャッシュメモリー及び/又は他の揮発性メモリを含むことができる。
[0025] シーン108は、少なくとも1つのオブジェクト、例えば第1のオブジェクト110を備える領域の視界に対応することができる。第1のオブジェクト110は、生物(例えば人間、動物又は植物)又は無生物(例えば車両、家、彫刻又は岩)に対応することができる。第1のオブジェクト110は、水域、天体、陸上オブジェクト又はその組み合わせにさらに対応することができる。シーン108は、空間内における特別の位置及び向きから、画像取り込み装置102を通して可視領域の視界に対応することができる。シーン108はまた、例えばパノラマ写真撮影において、一定の又は異なる向きを持つ同じ又は異なる位置に関連しており、かつ画像取り込み装置102を通して可視領域の視野に対応することができる。
[0026] 動作時、ユーザー112は、画像取り込み装置102に設けたカメラファインダーアプリケーション(例えば画像取り込みアプリケーション)を立ち上げることができ、画像取り込み装置102をシーン108の方へ向けることができる。ユーザー112は、カメラファインダーアプリケーションでオブジェクト選択モード(望ましい又は不要なオブジェクト選択モード)を選択することができる。画像取り込み装置102のディスプレイ104は、望ましい/不要のオブジェクト選択モードでアプリケーションインターフェイスをレンダリングするように構成することができる。アプリケーションインターフェイス(例えば、カメラファインダーアプリケーションのグラフィカルユーザーインターフェイス(GUI))は、シーン108の第1のプレビューを備えることができる。
シーン108の第1のプレビューは、画像取り込み装置102を通して視覚化されるようなシーン108の生のプレビューを指すことができる。シーン108の第1のプレビューは、画像バッファーとしてメモリ106に一時的に記憶することができる。
[0027] 一部の実施形態では、シーン108の第1のプレビューは、複数のオブジェクトと背景とを備えることができる。複数のオブジェクトのうち一部のオブジェクトは所望のオブジェクトとし、他のオブジェクトは不要なオブジェクトとすることができる。所望のオブジェクトは、ユーザー112のようなユーザーが、画像取り込み装置102によって取り込まれる画像に含めることを希望するオブジェクトにすることができる。不要なオブジェクトは、ユーザーが、画像取り込み装置102によって取り込まれる画像中で、取り除くことを希望するオブジェクトにすることができる。例えば、図1を参照して、シーン108の第1のプレビューは、第1のオブジェクト110を備えることができる。ユーザー112は、第1のユーザー110がないシーン108の背景にすることができる、夕暮れの景色を取り込むことを希望することができる。ディスプレイ104上にシーン108の第1のプレビューをレンダリングすることに基づいて、画像取り込み装置102により、画像取り込み装置102のユーザー112が、シーン108の第1のプレビューから不要なオブジェクトを選択することが可能になる。画像取り込み装置102のユーザーは、シーン108の第1のプレビュー中の第1のオブジェクト110を不要なオブジェクトとして選択するために、第1のユーザー入力を与えることができる。第1のユーザー入力は、タッチベースの入力、音声ベースの入力又はテキストベースの入力の少なくとも1つに対応することができる。第1のオブジェクト110の選択に基づいて、画像取り込み装置102は、シーン108の第1のプレビュー中の不要なオブジェクトを検出することができる。例えば、シーン108の第1のプレビュー中の第1のオブジェクト110は、ユーザー112による第1のオブジェクト110の選択に基づいて、不要なオブジェクトとして検出することができる。シーン108の第1のプレビュー中の不要なオブジェクトの検出は、例えば図3Aから図3Gに詳しく説明されている。
[0028] 画像取り込み装置102は、検出した不要なオブジェクト(例えば第1のオブジェクト110)をシーン108の第1のプレビューから取り除くように構成することができる。検出した不要なオブジェクト(例えば、第1のオブジェクト110)を取り除くプロセスでは、画像取り込み装置102は、検出した不要なオブジェクトの境界の座標を計算するように構成することができる。検出した不要なオブジェクト(例えば、第1のオブジェクト110)の境界の座標は、シーン108の第1のプレビューにある検出した不要なオブジェクトの位置、大きさ又は形状に基づいて計算することができる。検出した不要なオブジェクトの境界につき計算された座標に基づいて、画像取り込み装置102は、検出した不要なオブジェクトをシーン108の第1のプレビューから取り除くことができる。検出した不要なオブジェクトの除去は、例えば図3Aから図3Gを参照して、詳しく説明されている。
[0029] 画像取り込み装置102は、シーン108の第1のプレビューの部分を、背景領域又は前景領域の少なくとも一方で塗りつぶすように構成することができる。シーン108の第1のプレビューの部分は、シーン108の第1のプレビューから取り除かれた不要なオブジェクト(例えば、第1のオブジェクト110)に対応することができる。部分を塗りつぶすことに先立って、背景領域又は前景領域の少なくとも一方は、画像取り込み装置102によって判定することができる。一部の実施形態では、画像取り込み装置102は、背景領域を参照画像のライブラリのうち少なくとも1つの参照画像に基づいて生成するように構成することができる。参照画像のライブラリは、画像取り込み装置102のメモリ106に記憶し、又はクラウドサーバー(図示しない)からアクセスすることができる。さらに、参照画像(即ち、少なくとも1つの参照画像)は、参照画像のライブラリ内で検索することによって選択することができる。検索は、検出した不要なオブジェクトの位置、大きさ又は境界の座標に基づいて実行することができる。一部の実施形態では、取り込み装置102は、背景領域を取り除いた不要なオブジェクトに対応する部分の近くにある画素の画素値に基づいて生成するように構成することができる。部分の近くにある画素は、検出された不要なオブジェクトの境界の計算された座標の近くにある画素に対応することができる。一部の実施形態では、画像取り込み装置102は、背景領域を、以前に取り込まれた画像の少なくとも1つに基づいて生成するように構成することができる。一部の実施形態では、画像取り込み装置102は、部分を、参照画像のライブラリから第2のオブジェクトを選択したことに基づいて前景領域で取り替えるように構成することができる。例えば、画像取り込み装置102は、参照画像のライブラリ内の第2のオブジェクトを、ユーザー112によって提供される入力に基づいて検索することができる。シーン108の第1のプレビュー中の部分を塗りつぶすことは、例えば図3Aから図3Gに詳しく説明されている。
[0030] 画像取り込み装置102は、シーン108の第2のプレビューを、検出した不要なオブジェクトの除去と塗りつぶす動作とに基づいて生成するように構成することができる。シーン108の第2のプレビューは、取り除いた第1のオブジェクト110を含む。シーン108の生成された第2のプレビューに基づいて、画像取り込み装置102は、ユーザー112によって望まれるようなシーン108の画像を生成するように構成することができる。
[0031] 所定のシナリオでは、画像取り込み装置102によって取り込まれるシーン108のようなシーン中に、3つ以上のオブジェクトが存在することができる。例えば、不要なオブジェクトは、シーン108の第1のプレビュー中に見えるような2つの所望のオブジェクト間に存在することができる。不要なオブジェクトは、上述したように、アプリケーションインターフェイスを介して選択され、同様のプロセスで取り除くことができる。シーン108の第1のプレビューにおいて2つの所望のオブジェクト間に位置する不要なオブジェクトを取り除いた後、ユーザー112は、2つの所望のオブジェクトの位置を変更するために入力を与えることができる。例えば、ユーザー112は、第1のプレビュー中で2つの所望のオブジェクトに2本の指を置き、それらをドラッグして互いに近づけることによって、2つの所望のオブジェクトを選択することができる。画像取り込み装置102は、シーン108の第1のプレビュー中の2つの所望のオブジェクト間の距離を、受け取ったユーザー入力に基づいて縮小するように構成することができる。
[0032] 一部の実施形態では、画像取り込み装置102は、シーン108の第1のプレビュー中の2つの所望のオブジェクト間の距離を、距離値に基づいて縮小するように構成することができる。例えば、ユーザー112は、距離値を与え(例えば、テキストベースの入力を通じて)、距離値を用いて2つの所望のオブジェクト間の距離は、画像取り込み装置102によって縮小することができる。一部の実施形態では、画像取り込み装置102は、少なくとも2つの所望のオブジェクト間の距離をオブジェクト方向に光学的に画像拡大することに基づいて縮小するようにさらに構成することができる。シーン108の第1のプレビュー中の2つのオブジェクト間の距離の縮小は、例えば図3A及び図3Gに詳しく説明されている。
[0033] 画像取り込み装置102は、シーン108の第1のプレビュー中の異なる層を決定するように構成することができる。シーン108の第1のプレビュー中の異なる層は、異なる層の少なくとも深さ情報に基づいて決定することができる。画像取り込み装置102は、異なる層から、少なくとも1つの層の選択に基づいて、少なくとも1つの層を取り除くようにさらに構成することができる。例えば、ユーザー112は、異なる層から少なくとも1つの層を選択するために入力を与えることができる。
[0034] 図2は、本開示の実施形態に従って、一般的な画像取り込み装置を図示するブロック図である。図2は、図1の構成要素とともに説明されている。図2を参照すると、画像取り込み装置102のような一般的な画像取り込み装置のブロック図が示されている。
画像取り込み装置102は、画像プロセッサ202、モードセレクタ204、オブジェクト検出器206、入出力(I/O)装置208、及びオブジェクトセレクタ210のような回路類を含むことができる。入出力装置208は、ディスプレイ104(図1)を備えることができる。画像取り込み装置102は、ネットワークインターフェイス212をさらに含むことができる。図2を参照すると、図1のメモリ106がさらに示されている。
[0035] 実施形態に従って、画像プロセッサ202は、ディスプレイ104、メモリ106、モードセレクタ204、オブジェクト検出器206、入出力装置208、オブジェクトセレクタ210、及びネットワークインターフェイス212に通信的に結合することができる。ネットワークインターフェイス212は、画像プロセッサ202の制御のもとで、通信チャンネル(図示しない)によって、外部の演算装置又はサーバー(図示しない)との通信を助長するように構成することができる。
[0036] 画像プロセッサ202は、適切な論理、回路類、インターフェイス及び/又はコードを備えることができ、これらは、メモリ106に記憶された一連の命令を実行するように構成することができる。画像プロセッサ202は、画像取り込み装置102によって取り込まれるシーン108の1つ以上のプレビューを生成するように構成することができる。画像プロセッサ202は、シーン108の第1のプレビューで検出される不要なオブジェクトを、シーン108の選択的な取り込みに基づいて取り除くように構成することができる。画像プロセッサ202は、当技術分野で公知の多くのプロセッサ技術に基づいて実施することができる。画像プロセッサ202の例は、X86ベースのプロセッサ、縮小命令セットコンピュータ(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複数命令セットコンピュータ(CISC)プロセッサ、及び/又は他の制御回路とすることができる。
[0037] モードセレクタ204は、適切な論理、回路類、インターフェイス及び/又はコードを備えることができ、これらは、画像取り込み装置102におけるオブジェクト選択モードを与えることができるように構成され、画像取り込み装置102において、ユーザー112は、画像又はビデオの取り込み中に、1つ以上の所望のオブジェクト又は不要なオブジェクトを選択することができる。ユーザー112が、シーン(例えば、シーン108)の取り込み中に、アプリケーションインターフェイスを使用することによってオブジェクト選択モードを「スイッチオン」にしたとき、画像取り込み装置102により、ユーザー112は、シーン108の生成されたプレビュー中の1つ以上の所望のオブジェクト又は不要なオブジェクトを選択することが可能になる。ユーザー112によって選択された1つ以上の所望のオブジェクト又は不要なオブジェクトに基づいて、画像プロセッサ202は、所望のオブジェクトの選択的な取り込み及び不要なオブジェクトの除去に基づいて、シーン108の望ましい画像を生成することができる。モードセレクタ204は、ASIC又はフィールドプログラマブルゲートアレイ(FPGA)で実施することができる。
[0038] オブジェクト検出器206は、適切な論理、回路類、インターフェイス及び/又はコードを備えることができ、これらは、シーン108の第1のプレビュー中の1つ以上のオブジェクト(例えば、第1のオブジェクト110)を検出するように構成することができる。シーン108の第1のプレビューは、画像取り込み装置102を通して視覚化されるシーン108の生のプレビューを指すことができる。1つ以上のオブジェクトは、二次元(2D)オブジェクト又は三次元(3D)オブジェクトの少なくとも一方に対応することができる。オブジェクト選択モードが「スイッチオン」状態であるとき、1つ以上のオブジェクトは、シーン108の第1のプレビューで検出することができる。オブジェクト検出器206は、シーン108の第1のプレビュー中の1つ以上のオブジェクトの境界を、1つ以上の境界検出アルゴリズムを使用することによって検出するようにさらに構成することができる。境界検出アルゴリズムの例は、限定されないが、人間の形状ベースのオブジェクト境界検出、特定する前の形状ベースの又はテンプレートベースのオブジェクト境界検出、Canny縁検出器、Sopelオペレーターの使用によるような傾斜ベースの境界検出、及びPrewittオペレーターを含むことができる。オブジェクト検出器206は、シーン108の第1のプレビュー中の1つ以上の層を、背景を含む1つ以上のオブジェクトに関連した少なくとも深さ情報に基づいて検出するようにさらに構成することができる。オブジェクト検出器206は、ASIC又はフィールドプログラマブルゲートアレイ(FPGA)で実施することができる。
[0039] 入出力装置208は、適切な論理、回路類、インターフェイス及び/又はコードを備えることができ、これらは、画像取り込み装置102のユーザーから1つ以上のユーザー入力を受け取り、又は画像取り込み装置102のユーザーに1つ以上の対応する出力を供給するように構成することができる。入力装置の例は、限定されないが、ビデオカメラ、タッチスクリーン、ジョイスティック、マイクロホン、運動センサー、ゲーム装置、光センサー及び/又はドッキングステーションを含むことができる。出力装置の例は、限定されないが、ディスプレイ、映写スクリーン及び/又はスピーカーを含むことができる。
[0040] オブジェクトセレクタ210は適切な論理、回路類、インターフェイス及び/又はコードを備えることができ、これらは、ユーザー112によって入出力装置208を介して供給された1つ以上のユーザー入力に基づいて、1つ以上の所望のオブジェクト又は不要なオブジェクトを選択するように構成することができる。オブジェクトセレクタ210は、シーン108の1つ以上の層を、1つ以上のユーザー入力に基づいて選択する(又は廃棄する)ようにさらに構成することができる。オブジェクトセレクタ210は、ASIC又はFPGA上で実施することができる。実施では、オブジェクトセレクタ210は、オブジェクト検出器206と同じASIC又はFPGA上で実施することができる。
[0041] ネットワークインターフェイス212は、適切な論理、回路類、インターフェイス及び/又はコードを備えることができ、これらは、通信チャンネルを介して、外部の演算装置又はサーバーと通信するように構成することができる。ネットワークインターフェイス212は、公知技術の適用によって実施することができ、画像取り込み装置102と通信チャンネルとの有線又は無線通信をサポートする。ネットワークインターフェイス212の構成要素は、制限されないが、アンテナ、無線周波数(RF)トランシーバー、1つ以上のアンプ、チューナー、1つ以上の発振器、デジタル信号プロセッサ、コーダ・デコーダ(CODEC)チップセット、加入者識別モジュール(SIM)カード、又はローカルバッファーを含むことができる。
[0042] 動作時、画像取り込み装置102は、ユーザー112によって動作され、第1のオブジェクト110のような1つ以上のオブジェクトを備えるシーン108の画像を取り込むことができる。ユーザー112は、画像取り込み装置102をシーン108に合焦させて、シーン108の画像を取り込むことができる。しかしながら、シーン108の取り込み中に、画像取り込み装置102のユーザー112は、シーン108の1つ以上のオブジェクトから少なくとも1つの不要なオブジェクトを取り込むのを望まないことができる。換言すれば、ユーザー112は、シーン108の望ましい画像が画像取り込み装置102によって取り込まれ、結果として取り込まれた画像は不要なオブジェクトを含まないのを好むことができる。例えば、ユーザー112は、画像取り込み装置102によってシーン108の背景(例えば、山に沿った夕日)に合焦して、シーン108を取り込むことができる。しかしながら、シーン108には、ユーザー112が取り込むことを望まない第1のオブジェクト110(例えば、シーン108の背景中の適切な夕暮れの景色を遮ることがある人間)がさらに含まれることがある。従って、ユーザー112が希望するようなシーン108を取り込むために、ユーザーは、画像取り込み装置102がオブジェクト選択モードで動作するのを希望することができる。ユーザー112は、ディスプレイ104上にレンダリングされたアプリケーションインターフェイスから画像取り込み装置102のオブジェクト選択モードを選択することができる。モードセレクタ204は、シーン108の取り込みに先立って、スイッチを「オン」し又はオブジェクト選択モードを作動させるように構成することができる。ユーザー112は、ユーザー112によるタッチベースの入力、音声ベースの入力又はテキストベースの入力の少なくとも1つに基づいて、モードセレクタ204の状態をスイッチの「オン」状態に変更し、又はオブジェクト選択モードを作動させることができる。
[0043] モードセレクタ204による「オン」状態に基づいて、画像プロセッサ202は、画像取り込み装置102によって取り込まれるシーン108の第1のプレビューを生成するように構成することができる。シーン108の第1のプレビューは、1つ以上のオブジェクト、例えば第1のオブジェクト110及び背景を備えることができる。ディスプレイ104は、第1のオブジェクト110及び背景を備えるシーン108の第1のプレビューを含む、アプリケーションインターフェイスをレンダリングするように構成することができる。オブジェクト検出器206は、シーン108の第1のプレビュー中の第1のオブジェクト110を検出するように構成することができる。オブジェクト検出器206は、シーン108の第1のプレビュー中の1つ以上のオブジェクト、例えば第1のオブジェクト110を強調するのを促進できる。
[0044] 画像プロセッサ202は、画像取り込み装置102のユーザー112がディスプレイ104上にレンダリングしたシーン108の第1のプレビュー中の所望のオブジェクト又は不要なオブジェクトを選択可能なように構成することができる。例えば、第1のオブジェクト110を備えるシーン108のレンダリングされた第1のプレビューに基づいて、画像プロセッサ202は、第1のオブジェクト110を選択する第1のユーザー入力を、所望のオブジェクト又は不要なオブジェクトの一方として受け取るように構成することができる。一部の実施形態では、第1のユーザー入力は、音声ベースの入力に対応することができる。例えば、ユーザー112は、第1のオブジェクト110の少なくとも特質を話して、第1のオブジェクト110を、所望のオブジェクト又は不要なオブジェクトの一方として選択することができる。第1のオブジェクト110の特質は、第1のオブジェクト110の名前、性、高さ、大きさ、位置、形状又は色の少なくとも1つに対応することができる。例えば、音声ベースの入力は、「不要なオブジェクトとして少年を選択する」に対応することができる。そのようなシナリオでは、シーン108の第1のプレビュー中の少年(例えば、第1のオブジェクト110)は、オブジェクトセレクタ210によって不要なオブジェクトとして選択される。一部の実施形態では、第1のユーザー入力はまた、テキストベースの入力又はタッチベースの入力の少なくとも一方に対応して、シーン108の第1のプレビュー中の1つ以上のオブジェクトから所望のオブジェクト又は不要なオブジェクトを選ぶことができる。テキストベースの入力では、ユーザー112は、入出力装置208(例えばディスプレイ104上の仮想キーボード)を利用して、第1のオブジェクト110の特質を入力することができる。タッチベースの入力では、ユーザー112は、ディスプレイ104上の第1のオブジェクト110に触れて、第1のオブジェクト110を、所望のオブジェクト又は不要なオブジェクトの一方として選択することができる。
一部の実施形態では、タッチベースの入力は、1つ以上の規定されたパターンに関連し、所望のオブジェクト又は不要なオブジェクトを選択することができる。例えば、ディスプレイ104上にレンダリングされたシーン108の第1のプレビューの第1のオブジェクト110上にダブルタッチすることに基づいて、オブジェクトセレクタ210は、不要なオブジェクトとして第1のオブジェクト110を選択することができる。同様に、ディスプレイ104上にレンダリングされたシーン108の第1のプレビュー中の第1のオブジェクト110にシングルタッチすることに基づいて、オブジェクトセレクタ210は、所望のオブジェクトとして第1のオブジェクト110を選択することができる。従って、画像取り込み装置102のユーザーによる第1のユーザー入力に基づいて、オブジェクトセレクタ210は、第1のオブジェクト110を所望のオブジェクト又は不要なオブジェクトの一方として選択することができる。しかしながら、ディスプレイ104上のシーン108の第1のプレビューをレンダリングした後の規定時間中にオブジェクトセレクタ210がユーザー入力を受け取らないシナリオでは、第1のオブジェクト110が所望のオブジェクトとして選択される。その後、オブジェクトセレクタ210による選択に基づいて、オブジェクト検出器206は、選択したオブジェクトを、所望のオブジェクト又は不要なオブジェクトの一方として検出することができる。この場合、シーン108の第1のプレビュー中の第1のオブジェクト110は、必要に応じて、不要なオブジェクト及び背景として選択することができる。
[0045] 画像プロセッサ202は、検出した不要なオブジェクトの境界の座標を計算するように構成することができる。検出した不要なオブジェクトの境界の座標は、シーン108の第1のプレビュー中の検出した不要なオブジェクトの位置、大きさ又は形状に基づいて計算することができる。画像プロセッサ202は、境界追跡アルゴリズム(例えば、Square追跡アルゴリズム、Moore−Neighbor追跡アルゴリズム又はTheo Pavlidisのアルゴリズム)、或いは境界検出アルゴリズムに基づくプロセスを実行して、検出した不要なオブジェクトの境界を追跡し及び目立たせることができる。境界追跡アルゴリズムは、シーン108の第1のプレビュー中で検出した不要なオブジェクト(例えば、第1のオブジェクト110)の位置、大きさ又は形状に基づいて実施することができる。検出した不要なオブジェクト(例えば、第1のオブジェクト110)の境界の追跡に基づいて、画像プロセッサ202は、検出した不要なオブジェクト(例えば、第1のオブジェクト110)の境界の座標を計算するように構成することができる。画像プロセッサ202は、検出した不要なオブジェクト(例えば第1のオブジェクト110)を、検出した不要なオブジェクトの境界の演算した座標に基づいて、シーン108の第1のプレビューから取り除くようにさらに構成することができる。
[0046] シーン108の第1のプレビューから取り除かれた不要なオブジェクト(例えば、第1のオブジェクト110)に基づいて、画像プロセッサ202は、シーン108の第1のプレビューのうち取り除いた不要なオブジェクトに対応する部分を塗りつぶす(又は加える)ように構成することができる。シーン108の第1のプレビューの部分は、背景領域又は前景領域の少なくとも一方で塗りつぶす(又は取り替える)ことができる。画像プロセッサ202は、シーン108の第1のプレビューのうち取り除いた不要なオブジェクトに対応する部分を塗りつぶす(又は取り替える)の前に、背景領域又は前景領域の少なくとも一方を決定することができる。
[0047] 一部の実施形態では、画像プロセッサ202は、背景領域をメモリ106又はクラウドサーバーに記憶された参照画像のライブラリに基づいて生成するように構成することができる。参照画像のライブラリは、異なる角度又は照明条件で取り込まれた異なる現実の世界のオブジェクトの有名な場所、オブジェクト及びユーザー取り込み画像の、異なる一連の画像のコレクションである。画像プロセッサ202は、参照画像のライブラリを検索して、選択した不要なオブジェクトにマッチングする(又は類似する)、少なくとも1つの参照画像の存在を判定することができる。適切な参照画像は、検出された不要なオブジェクトの境界の位置、大きさ又は座標に基づいて決定することができる。背景又は前景が利用可能な場合、参照画像の背景又は前景は、現在の画像上で使用することができ、他の背景は、隣接する座標からの画素値を予測すること及び利用することによって生成される。
[0048] 参照画像のライブラリ中に適切な参照画像が存在するとの決定に基づいて、画像プロセッサ202は、参照画像のライブラリから参照画像を選択することができる。画像プロセッサ202は、選択した参照画像に基づいて背景領域を生成するようにさらに構成することができる。一部の実施形態では、画像プロセッサ202は、参照画像のライブラリに基づいて、部分が欠けているオブジェクトのための背景領域を生成するように構成することができる。例えば、検出した不要なオブジェクトの背景に重なったオブジェクトがあるシナリオを検討する。そのようなシナリオでは、画像プロセッサ202は、重なったオブジェクトの可視部分を利用して、参照画像のライブラリ内の同様のオブジェクトを検索することができる。重なったオブジェクトの可視部分と参照画像のライブラリからの適切なオブジェクトとの間のマッチングの場合、画像プロセッサ202は、欠けている部分を、参照画像のライブラリ内で見つけた最も密接にマッチングする参照画像に基づいて生成することができる。しかしながら、参照画像のライブラリにマッチングが見つからない場合、画像プロセッサ202は、重なったオブジェクトを取り除くことができる。マッチングは、規定された範囲内におけるRGB画素の値、形状、大きさ及び輝度の類似性に対応する。
[0049] 実施形態に従って、参照画像のライブラリ内に適切な参照画像がなければ、画像プロセッサ202は、背景領域を、以前に取り込まれた画像の少なくとも1つに基づいて生成するように構成することができる。以前に取り込まれた画像は、シーン108の第1のプレビューの前に、画像取り込み装置102によってリアルタイム又はほぼリアルタイムに取り込まれた画像に対応することができる。検出した不要なオブジェクト(例えば、第1のオブジェクト110)が移動オブジェクトであるとき、背景領域は、以前に取り込まれた画像の少なくとも1つに基づいて生成することができる。しかしながら、静止オブジェクトの場合、すなわち検出した不要なオブジェクト(例えば、第1のオブジェクト110)が静止したオブジェクトである場合、画像プロセッサ202は、背景領域を部分の近くにある画素の画素値に基づいて生成するように構成することができる。部分の近くにある画素は、検出した不要なオブジェクトの境界の計算された座標の近くにある画素(例えば、隣接する座標からの画素値)に対応することができる。部分の近くにある画素は、シーン108の第1のプレビューに対応する画像フレームを持つ画素間の空間相関を利用する、検索技術に基づいて判定することができる。この検索技術では、除去した不要なオブジェクトの周辺の利用可能な背景領域は、規定されたブロックサイズの画素ブロックに分割される。複数画素ブロックの各画素ブロックは、隣接する画素ブロックと比較される。比較に基づいて、各画素ブロックに対して最も接近している隣接する画素ブロックが決定される。複数画素ブロックの各々の中で最も近い隣接する画素ブロックに基づいて、画像プロセッサ202は、背景領域を生成することができる。様々な場合のために背景領域を生成することは、例えば図3Aから図3Gに、実施例とともに説明されている。
[0050] 一部の実施形態では、画像プロセッサ202は、部分を前景領域で取り替えるように構成することができる。前景領域は、第2のユーザー入力に基づいて決定して第2のオブジェクトを選択することができ、例えば、ユーザーは、参照画像のライブラリから、所望のオブジェクトを選ぶ(又は手動で選択する)ことができる。画像プロセッサ202は、参照画像のライブラリから第2のユーザー入力に基づいて第2のオブジェクトを検索することができる。第2のユーザー入力は、第2のオブジェクトに対するユーザーの好みを含むことができる。第2のオブジェクトの検索に基づいて、画像取り込み装置102は、部分を、第2のオブジェクトに対応する前景領域で取り替えることができる。シーン108の取り込み中のそのような取り替えにより、たとえ第2のオブジェクトがシーン108の取り込み中に実際には見つからなくても、ユーザー112に現実的な感じをもたらすことができる。取り替えを実行するために、ユーザー112は、入出力装置208を使用して第2のユーザー入力を入力することができる。例えば、ユーザーは、ディスプレイ104に触れ、例えば「2秒」のような規定された時間よりも長くディスプレイ104上に触れることができる。第2のユーザー入力(例えば、タッチ入力)に応じて、画像プロセッサ202は、メモリ106に記憶された参照画像のライブラリー(例えば、フォトギャラリー)を開くことができる。ユーザーは、参照画像のライブラリをスクロールダウンして、第2のオブジェクトを選択することができる。選択しれた第2のオブジェクトに基づいて、画像プロセッサ202は、部分を選択した第2のオブジェクトで取り替えることができる。
[0051] 部分を背景領域又は前景領域の少なくとも一方で塗りつぶした後、画像プロセッサ202は、フィルタープロセスを実行して、シーン108の第1のプレビュー中の部分を塗りつぶす間に広がった可能性がある人工品を取り除くように構成することができる。フィルタープロセスは、ローパス補間フィルタープロセスに対応することができる。人工品を取り除くために、4タップ線形補間フィルターが垂直及び水平に使用できる。
[0052] 上述したように、画像取り込み装置102によって実行された除去プロセス、塗りつぶしプロセス及びフィルタープロセスに基づいて、画像プロセッサ202は、シーン108の第2のプレビューを生成することができる。シーン108の第2のプレビューの構成要素は、シーン108の第1のプレビューとは異なる。ディスプレイ104は、アプリケーションインターフェイス上のシーン108の第2のプレビューをレンダリングするようにさらに構成することができる。シーン108の生成された第2のプレビューに基づいて、画像プロセッサ202は、シーン108の画像を、シーン108の取り込み中にユーザー112が希望するような、異なる構成要素で取り込み及び生成することができる。
[0053] 実施形態に従って、画像プロセッサ202は、シーン108の第1のプレビュー中の少なくとも2つのオブジェクト間の距離を縮小するように構成することができる。例えば、画像取り込み装置102によって取り込まれるシーン108の第1のプレビュー中に少なくとも3つのオブジェクトがあるシナリオを検討する。シーン108の第1のプレビュー中の3つのオブジェクト間に存在する検出した不要なオブジェクトを取り除いた後、画像プロセッサ202は、シーン108の第1のプレビュー中の残りの2つのオブジェクト間の距離を縮小させるように構成することができる。2つのオブジェクト間の距離は、距離を縮小するためにユーザーが提供する第3のユーザー入力に基づいて縮小することができる。同様の仕方で、画像プロセッサ202は、シーン108の第1のプレビューから不要なオブジェクトを取り除いた後、2つのオブジェクト間の距離を増大させることができる。一部の実施形態では、ユーザー112は、タッチベースの入力を使用して、少なくとも2つのオブジェクト間の距離を縮小し又は増大するために、2つのオブジェクトの少なくとも一方を1つ以上の方向(例えば水平に、垂直に又は対角線上に)にドラッグすることができる。一部の実施形態では、画像プロセッサ202は、シーン108の第1のプレビュー中の2つのオブジェクト間の距離を、2つのオブジェクトに関連している少なくともオブジェクト方向の光学的な画像拡大要因に基づいて縮小することができる。2つのオブジェクト間の距離の縮小は、例えば図3Gに詳しく記載されている。
[0054] 実施形態に従って、画像プロセッサ202は、不要なオブジェクトを取り除いた後に、シーン108の第1のプレビュー中の2つのオブジェクトの位置を切り替えるように構成することができる。ユーザー112は、シーン108の第1のプレビュー中で所定のポイントを選択することができる。選択したポイントに基づいて、少なくとも3つのオブジェクトのうち2つのオブジェクトは、シーン108の画像を実際に取り込む前に、画像プロセッサ202によって切り替えることができる。一部の実施形態では、画像プロセッサ202は、シーン108の第1のプレビュー中の2つのオブジェクトの位置を交換することができる。一部の実施形態では、画像プロセッサ202は、シーン108の第1のプレビューのうち取り除いた不要なオブジェクトに対応する部分を、2つのオブジェクトの一方で取り替えることができる。
[0055] 実施形態に従って、画像プロセッサ202は、シーン108の第1のプレビュー中の異なる層を決定するように構成することができる。シーン108の第1のプレビュー中の異なる層は、取り込まれるシーン108のようなオブジェクト又はシーンの背景に関連した、少なくとも深さ情報に基づいて決定することができる。画像プロセッサ202は、層を取り除くためのユーザー入力に基づいて、異なる層から層を取り除くようにさらに構成することができる。一部の実施形態では、画像プロセッサ202は、異なる層に関連した1つ以上の層オブジェクトを識別するようにさらに構成することができる。例えば、1つ以上の層オブジェクトは、絞り値に基づいて動的に識別することができる。例えば、小さい絞り値(例えば2.8)は、第1のオブジェクトに合焦することができる。大きい絞り値(例えば4.5)は、第1のオブジェクト及び第2のオブジェクトに合焦することができる。次に大きい値(例えば7.5)は、第1のオブジェクト、第2のオブジェクト及び第3のオブジェクトに合焦することができる。この層状化技術を使用して、画像プロセッサ202は、シーンの取り込み時に必要とされず従って所望のオブジェクトだけを保持する、1つ以上の層オブジェクトを動的に分離することができる。
[0056] 図3Aは、本開示の実施形態に従って、シーンの画像を、シーンの2つの物品間の不要なオブジェクトの除去によって動的に生成する、開示された画像取り込み装置及び方法を実施するための一般的なシナリオを図示する。図3Aは、図1及び図2の構成要素とともに説明されている。
[0057] 図3Aを参照すると、画像取り込み装置102(図1)によって取り込まれる、シーン300Aのような一般的なシーンが示されている。シーン300Aは、3つのオブジェクト302、304及び306を備えている。オブジェクト302及び306は、シーン300Aの縁(例えば左縁及び右縁)の近くに存在している。オブジェクト304は、画像取り込み装置102を通して見ると、2つのオブジェクト302及び306の間に存在している。
[0058] ユーザー112は、ディスプレイ104上にレンダリングされたアプリケーションインターフェイスから、画像取り込み装置102のオブジェクト選択モードを選ぶことができる。モードセレクタ204は、シーン108の取り込みに先立って、オブジェクト選択モードのスイッチを「オン」するように構成することができる。オブジェクト選択モードが「オン」状態であるとき、オブジェクト検出器206は、画像取り込み装置102によって取り込まれる、シーン300Aの第1のプレビュー中の3つのオブジェクト302から306を検出することができる。ディスプレイ104は、シーン300Aの第1のプレビューを備えるアプリケーションインターフェイスをレンダリングするように構成することができる。画像取り込み装置102のユーザー112は、入出力装置208を介して入力を与え、所望のオブジェクト又は不要なオブジェクトの少なくとも一方として、オブジェクト302から306を選択することができる。入力は、タッチベースの入力、音声ベースの入力又はテキストベースの入力の1つに対応することができる。例えば、ユーザー112は、不要なオブジェクトとしてオブジェクト304を選択するために、ディスプレイ104上にレンダリングされたシーン300Aの第1のプレビュー中のオブジェクト304をダブルタップすることができる。同様に、ユーザー112は、所望のオブジェクトとしてオブジェクト302及び306を選択するために、シーン300Aの第1のプレビュー中のオブジェクト302及び306をシングルタップすることができる。画像プロセッサ202は、所望のオブジェクト及び不要なオブジェクトとして3つのオブジェクト302から306を、ユーザー112による入力に基づいて目立たせることができる。選択した不要なオブジェクト(即ち、この場合のオブジェクト304)に基づいて、画像プロセッサ202は、不要なオブジェクトが所望のオブジェクト(即ち、オブジェクト302及び306)間に存在すると決定することができる。画像プロセッサ202は、検出した不要なオブジェクト(即ち、オブジェクト304)は、示すように、シーン300Aの背景にもっぱら重なり、シーン300Aの縁にないことをさらに決定することができる。そのようなシナリオでは、画像プロセッサ202は、シーン300Aの第1のプレビューから不要なオブジェクト(即ち、オブジェクト304)を取り除くことができる。さらに、画像プロセッサ202は、シーン300Aの第1のプレビューのうち除去した不要なオブジェクト(即ち、オブジェクト304)に対応する部分を、ユーザー112の好みに基づいて、前景領域又は背景領域の一方で塗りつぶす(又は置き替える)ことができる。例えば、画像プロセッサ202は、メモリ106又はクラウドサーバーに記憶された参照画像のライブラリから選択した参照画像に基づいて、背景領域を生成することができる。参照画像は、検出された不要なオブジェクト(即ち、オブジェクト304)の位置、大きさ又は形状に基づいて、参照画像のライブラリから選択することができる。一部の実施形態では、画像取り込み装置102は、取り除いた部分の近くにありかつ取り除いた不要なオブジェクトに対応する画素の画素値に基づき、背景領域を生成して取り除いた部分を塗りつぶすように構成することができる。取り除いた部分の近くにある画素は、取り除いた不要なオブジェクトの境界の計算された座標の近くにある画素に対応することができる。少なくとも上述した除去及び塗りつぶしに基づいて、画像プロセッサ202は、ユーザー112が希望するようなシーン300Aの画像を取り込み及び生成することができる。
[0059] 図3Bは、本開示の実施形態に従って、シーンの画像を、シーンの縁にある不要なオブジェクトの除去によって動的に生成する、開示された画像取り込み装置及び方法を実施するための一般的なシナリオを図示する。図3Bは、図1及び図2の構成要素とともに説明されている。
[0060] 図3Bを参照すると、画像取り込み装置102(図1)によって取り込まれるシーン300Bのような一般的なシーンが示されている。シーン300Bは、3つのオブジェクト308、310及び312を備えている。示すように、オブジェクト308及び312は、シーン300Bの縁(例えば、左縁及び右縁)の近くに位置することができる。オブジェクト310は、2つのオブジェクト308及び312の間に存在することができる。
[0061] 装置102は、ユーザー112が行った選択をディスプレイ104上にレンダリングされたアプリケーションインターフェイスを通して受け取り、受け取った選択により、画像取り込み装置102のオブジェクト選択モードが選択される。オブジェクト検出器206は、シーン300B内の3つのオブジェクト308から312を検出し、3つの検出したオブジェクト308から312を、所望のオブジェクト又は不要なオブジェクトとして選択するために目立たせることができる。例えば、ユーザー112は、ディスプレイ104上のシーン300Bの第1のプレビュー中のオブジェクト312を選択して、オブジェクト312を所望のオブジェクトとして、オブジェクト308及び310を不要なオブジェクトとして選択することができる。画像プロセッサ202は、示すように選択した不要なオブジェクト(例えば、この場合のオブジェクト312)がシーン300Bの縁に存在すると決定するように構成することができる。画像プロセッサ202は、示すように検出した不要なオブジェクト(即ち、オブジェクト312)がシーン300Bの背景にもっぱら重なっているとさらに決定できる。所定のシナリオでは、オブジェクト312が小さなオブジェクト(例えば、オブジェクト312のサイズが特定された閾値サイズ未満である)であれば、背景の生成は、図3Aに記載したプロセスと同様に実行することができ、そうでなければ、オブジェクト312が、大きい(オブジェクト312のサイズが特定の閾値サイズよりも大きい)又はシーン高さに近ければ(シーン300Bに示すように)、そのようなシナリオでは、画像プロセッサ202は、シーン300Bの第1のプレビュー中に取り込まれる視野を縮小することができる。シーン300Bの第2のプレビューが生成され、それは、検出した不要なオブジェクト(即ち、オブジェクト312)を含む縁部分を排除している。所望のオブジェクト(例えば、オブジェクト308及び310)を含むシーン300Bの残りの部分は、取り込まれて、シーン330Bの画像を、第1のプレビューとは組成が異なる生成された第2のプレビューに基づいて生成する。
[0062] 図3C及び図3Dは、本開示の実施形態に従って、シーンの画像を、シーンの背景オブジェクトと重なることなく存在する不要なオブジェクトの除去によって動的に生成する、開示された画像取り込み装置及び方法を実施するための一般的なシナリオを一緒に図示する。図3C及び図3Dは、図1及び図2の構成要素とともに説明されている。
[0063] 図3C及び3Dを参照すると、画像取り込み装置102(図1)によって取り込まれるシーン300Cのような一般的なシーンが示されている。シーン300Cは、2つのオブジェクト314及び316を備えている。ユーザー入力に基づいて、オブジェクト314は不要なオブジェクトとして選択することができ、オブジェクト316は所望のオブジェクトとして選択することができる。図3C及び図3Dを参照すると、以下のこと、すなわち不要なオブジェクト(即ち、オブジェクト314)は、何れの別の背景オブジェクト(即ち、画像取り込み装置102の視野においてオブジェクト314の後ろに存在する別のオブジェクト)とも重ならないことがさらに示される。そのようなシナリオでは、シーン300Cの第1のプレビューから不要なオブジェクト(即ち、オブジェクト314)を取り除いた後、画像プロセッサ202は、シーン300Cの第1のプレビューのうち取り除いた不要なオブジェクトに対応する部分を、背景領域で塗りつぶすことができる。部分のための背景領域は、取り除いた不要なオブジェクト(即ち、オブジェクト314)に対応する部分の近くにある画素の画素値に基づいて生成することができる。例えば、背景領域に隣接する領域は、画素ブロック(例えば、サイズ「4×4画素」ブロックを持つ画素ブロック)に基づいて、取り囲む左側、右側、底部、頂部又は対角線上で利用可能な画素ブロックから生成することができる。背景領域に隣接する領域は、最もマッチングする隣接する画素ブロックに基づいて生成することができる。画像プロセッサ202は、検出した不要なオブジェクト(即ち、オブジェクト314)に隣接する背景を、予め規定されたサイズ、例えば「4×4画素」ブロックの1つ以上のブロックに仕切るように構成することができる。
[0064] 図3Dを参照すると、画素ブロック318のような一般的なブロックが示されている。画素ブロック318の周辺地域において左側、右側、底部、頂部又は対角線に位置する画素ブロックに基づいて、画像プロセッサ202は、画素ブロック318の近くにある画素値のマッチングするパターンを決定することができる。画像プロセッサ202は、背景領域を生成して、取り除いた不要なオブジェクト(即ち、オブジェクト314)に対応する部分を、決定されたマッチングするパターンに基づいて塗りつぶすことができる。
例えば、背景領域は、取り込まれる画像のフレームに対応する、同じフレーム内で隣接する画素ブロックの相関に基づいて生成することができる。画像プロセッサ202は、エラーがあってもこれを最小化することができ、これは、以下の式(1)に基づく線形モデル予測方法を用いることによる背景領域の生成のおかげであり、
式中、
は予測画素ブロックを表わし、
は隣接する左側、右側、底部、頂部又は対角線の画素ブロックの、ダウンサンプリングされかつ再構成されたサンプルを表わす。パラメーターα及びβは、隣接する再構成された画素ブロックサンプル間の回帰エラーを最小化することによって抽出することができる。背景の欠けた部分に隣接する画素ブロックのために計算されたパラメーターに基づいて、画像プロセッサ202は、取り除いた不要なオブジェクト(即ち、オブジェクト314)に対応する部分における処理のもとで、現行のブロックのような現行の画素ブロックの背景部分を生成することができる。
[0065] 図3Eは、本開示の実施形態に従って、シーンの画像を、シーンで所望のオブジェクトに重なる不要なオブジェクトの除去によって動的に生成する、開示された画像取り込み装置及び方法を実施するための一般的なシナリオを図示する。図3Eは、図1及び図2の構成要素とともに説明されている。
[0066] 図3Eを参照すると、画像取り込み装置102(図1)によって取り込まれるシーン300Eのような一般的なシーンが示されている。シーンに300Eに少なくとも2つのオブジェクト320及び322が示されている。画像取り込み装置102のユーザー112による入力に基づいて、オブジェクト320(例えば、川)は所望のオブジェクトとして検出することができ、オブジェクト322(例えば、岩)は不要なオブジェクトとして検出することができる。図3Eを参照すると、以下のことがさらに示され、すなわちシーン300E内で不要なオブジェクト(即ち、オブジェクト322)は、所望のオブジェクト(即ち、オブジェクト320)のような別のオブジェクトと部分的に重なる。そのようなシナリオでは、シーン300Eの第1のプレビューから不要なオブジェクト(即ち、オブジェクト322)を取り除いた後、画像プロセッサ202は、シーン300Eの第1のプレビューのうち取り除いた不要なオブジェクトに対応する部分を背景領域で塗りつぶすことができる。一部の実施形態では、部分のための背景領域は、取り除いた不要なオブジェクト(即ち、オブジェクト322)に対応する部分の近くにある画素の画素値に基づいて生成することができる。一部の実施形態では、部分のための背景領域は、メモリ106又はクラウドサーバーに記憶された参照画像のライブラリから選択した、少なくとも1つの参照画像に基づいて生成することができる。画像プロセッサ202は、望ましい背景オブジェクト(即ち、オブジェクト320)の大きさに基づいて以下のこと、すなわち部分のための背景領域は、部分の近くにある画素又は参照画像のライブラリから選択した参照画像の何れかに基づいて生成する必要があるかどうかを判定することができる。例えば、望ましい背景オブジェクト(即ち、オブジェクト320)のうち不要なオブジェクト(即ち、オブジェクト322)と重なっている残りの部分の大きさが、その大きさの規定された値(例えば40パーセント)よりも大きければ、画像プロセッサ202は、参照画像のライブラリから選択した少なくとも1つの参照画像に基づいて背景領域を生成することができる。しかしながら、望ましい背景オブジェクト(即ち、オブジェクト320)のうち不要なオブジェクト(即ち、オブジェクト322)と重なっている残りの部分の大きさが、その大きさの規定された値(例えば40パーセント)未満であれば、画像プロセッサ202は、シーン300Eの第1のプレビューから望ましい背景オブジェクトを廃棄することができる。そのような場合では、背景領域は、取り除いた不要なオブジェクト(即ち、オブジェクト320及び322)に対応する部分の近くにある画素の画素値に基づいて生成することができる。
[0067] 実施形態に従って、重なったオブジェクト(オブジェクト320のような)の可視領域は、参照画像のライブラリ内の同様のオブジェクトを検索するために利用することができる。画像プロセッサ202は、参照画像のライブラリ内にマッチングするオブジェクトが見つかるかどうか確かめるように構成することができる。マッチングするオブジェクトが見つかる場合、画像プロセッサ202は、重なったオブジェクトの欠けた領域を最も密接にマッチングする画像基準から生成するように構成することができる。重なったオブジェクト(全体画像中の部分領域)上に画像フィルターを適用することができ、欠けた領域に重なったオブジェクトを滑らかに混合し、結果として重なったオブジェクト全体が、生成後輝度、クロミナンス及び全体の質感のようなパラメーターに関して連続してかつ本物であるように見える。マッチングするオブジェクトが見つからない場合、画像プロセッサ202は、重なったオブジェクト(オブジェクト320のような)を、シーン300Eの第1のプレビューの背景から取り除くように構成することができる。
[0068] 図3Fは、本開示の実施形態に従って、シーンの画像を、シーンでテキスト背景に重なる不要なオブジェクトの除去によって動的に生成する、開示された画像取り込み装置及び方法を実施するための一般的なシナリオを図示する。図3Fは、図1及び図2の構成要素とともに説明されている。
[0069] 図3Fを参照すると、画像取り込み装置102(図1)によって取り込まれるシーン300Fのような一般的なシーンが示されている。シーン300Fは、テキスト背景324及びオブジェクト326を備えている。示すように、オブジェクト326(例えば、人間)は、テキスト背景324の前に立っていることができる。さらに、テキスト背景324は、所望のオブジェクトとして検出されることができ、オブジェクト326(例えば、立っている少年)は、画像取り込み装置102のユーザー112による入力に基づいて不要なオブジェクトとして検出することができる。図3Fを参照すると、以下のこと、すなわちシーン300Fの第1のプレビューで見ると、所定のテキストを含む領域は、テキスト背景324で部分的に見えて、別の所定のテキストを含む領域は隠れていることがさらに示されている。そのようなシナリオでは、不要なオブジェクト(即ち、オブジェクト326)をシーン300Fの第1のプレビューから取り除いた後、画像プロセッサ202は、シーン300Eの第1のプレビューのうち取り除いた不要なオブジェクトに対応する部分を、1つ以上の文字又は文字(例えば、単語)の組み合わせで塗りつぶすことができる。一部の実施形態では、テキスト背景324内の1つ以上の単語のうち1つ又は2つの英字、或いは英字の閾値パーセント、例えば英字の50〜70パーセント未満が欠けている場合、画像プロセッサ202は、1つ以上の単語の欠けている文字を予測するように構成することができる。予測された文字に基づいて、テキスト背景324の部分は塗りつぶすことができる。一部の実施形態では、2つ以上の単語が欠けているとき、画像プロセッサ202は、単語のデータベースにわたって検索を実行して同様の文脈を見つけるように構成することができ、見つかれば、部分を見つかった単語で塗りつぶす。一部の実施形態では、同様の文脈が見つからないとき、画像プロセッサ202は、重なった領域にあるテキストを廃棄することができる。そのような場合、重なった領域に対応するテキスト背景は、テキスト背景324内の隣接する画素に基づいて生成することができる。一部の実施形態では、テキスト部分の予測中に、以前に学習した機械学習モデルが利用されて、重なった領域に対応するテキスト背景を指すテキスト領域を適切に塗りつぶすことができる。
[0070] 図3Gは、本開示の実施形態に従って、シーンの画像をシーンにある2つの所望のオブジェクト間の距離の縮小によって動的に生成する、開示された画像取り込み装置及び方法を実施するための一般的なシナリオを図示する。図3Gは、図1及び図2とともに説明されている。
[0071] 図3Gを参照すると、画像取り込み装置102(図1)によって取り込まれるシーン300Gのような一般的なシーンが示されている。シーン300Gは、3つのオブジェクト328、330及び332を備えている。オブジェクト328及び332は所望のオブジェクトとして検出されることができ、オブジェクト330は不要なオブジェクトとして検出されることができ、検出は、画像取り込み装置102のユーザー112がオブジェクト選択モードで受け取った入力選択に基づく。さらに、不要なオブジェクト(即ち、オブジェクト330)は、所望のオブジェクト(即ち、オブジェクト328及び332)の間に位置することができ、その結果オブジェクト330は、オブジェクト328から距離「X1」にあり、オブジェクト332から距離「X2」にある。距離「X1」及び「X2」に基づいて、画像プロセッサ202は、シーン300Gの第1のプレビューから不要なオブジェクト(即ち、オブジェクト330)を取り除いた後に、オブジェクト328及び332の間の距離を縮小することができる。例えば、不要なオブジェクト(即ち、オブジェクト330)を取り除いた後、オブジェクト328及び332が距離「X」(=X1+X2)だけ離れていれば、画像プロセッサ202は、オブジェクト328及び332の間の距離の縮小を、オブジェクト方向に光学的に画像拡大する要因(「Z」)に基づいて制御することができ、その結果オブジェクト328及び332の間の距離が「X」未満になる。例えば、拡大比1.25Xのために、オブジェクト328及び332の間の距離は「0.75*X」まで縮小することができる。同様に、拡大比1.5X及び1.75Xのために、オブジェクト328及び332の間の距離は、それぞれ「0.5X」及び「0.25*X」まで縮小することができる。
[0072] 実施形態に従って、シーン300Gの第1のプレビュー中の2つの所望のオブジェクト(例えばオブジェクト328及び332)間にある不要なオブジェクト(オブジェクト330のような)を取り除いた後、ユーザー112は、2つの所望のオブジェクト(例えばオブジェクト328及び332)の位置を変更するためにタッチ入力を与えることができる。例えば、ユーザー112は、2つの所望のオブジェクト(例えばオブジェクト328及び332)に2本の指を置くことによって、2つの所望のオブジェクト(例えばオブジェクト328及び332)を選択することができ、第1のプレビュー中で2本の指を互いに接近するようにドラッグすることができる。画像取り込み装置102は、シーン300Gの第1のプレビュー中の2つの所望のオブジェクト間の距離を、受け取ったユーザー入力に基づいて縮小するように構成することができる。
[0073] 図4Aから図4Dは、本開示の実施形態に従って、シーンの画像を、シーンから不要なオブジェクトを取り除くことに基づいて動的に生成するための、一般的な動作を図示するフローチャートを一緒に描いている。図4Aから図4Dを参照すると、フローチャート400が示されている。フローチャート400は、例えば図1、図2及び図3Aから図3Gとともに説明されている。方法は、402にて開始し、404に進む。
[0074] 404にて、取り込まれるシーン(例えば、シーン108)の第1のプレビューを備えるアプリケーションインターフェイスが、画像取り込み装置102上にレンダリングすることができる。ディスプレイ104は、画像取り込み装置102によって取り込まれるシーンの第1のプレビューを備えるアプリケーションインターフェイスをレンダリングするように構成することができる。
[0075] 406にて、画像取り込み装置102によって取り込まれるシーン(例えばシーン108)に合焦することができる。画像取り込み装置102のユーザー112は、シーン108に合焦し、例えば、シーンの所定のオブジェクト又は背景に合焦し、合焦は、光学ズーム調整、又はシーン108を取り込むための画像取り込み装置102の位置及び向きの調整に基づくことができる。シーンは、1つ以上のオブジェクトと背景とを備えることができる。
[0076] 408にて、オブジェクト選択モードが選択されているかどうかを、アプリケーションインターフェイスを介して判定することができる。画像プロセッサ202は、オブジェクト選択モードが選択されているかどうかをモードセレクタ204の使用によって判定するために、検査を実行するように構成することができる。オブジェクト選択モードが選択されている場合、制御は410に移動することができ、そうでなければ462(図4D)に移動することができる。オブジェクト選択モードを選択しないことにより、ユーザー112はシーンの画像を標準カメラモードで取り込むことを希望していることが示される。従って、そのような場合、画像取り込み装置102は、シーン108の画像を直ちに取り込むことができる。一部の実施形態では、ユーザープロンプトが生成されてアプリケーションインターフェイス上に表示され、ユーザー112にオブジェクト選択モードを選択することを思い出させることができる。
[0077] 410にて、シーンの第1のプレビュー中の1つ以上のオブジェクトを検出することができる。オブジェクト検出器206は、シーンの第1のプレビュー中のオブジェクト、例えば第1のオブジェクト110を検出するように構成することができる。一部の実施形態では、シーンの第1のプレビュー中の1つ以上のオブジェクトを検出した後、オブジェクト検出器206は、第1のプレビュー中の1つ以上のオブジェクトを目立たせるように構成することができる。
[0078] 412にて、シーンの第1のプレビュー中で不要なオブジェクトが、オブジェクト(例えば第1のオブジェクト110)の選択に基づいて検出することができる。例えば、ユーザー112は、ディスプレイ104上にレンダリングされたシーンの第1のプレビュー中のオブジェクトをダブルタップして、このオブジェクトを不要なオブジェクトとして選択することができる。同様に、ユーザー112は、シーンの第1のプレビュー中に他のオブジェクトが存在すればシングルタップして、他のオブジェクトを所望のオブジェクトとして選択することができる。オブジェクトセレクタ210は、第1のプレビュー中のオブジェクトを不要なオブジェクトとして選択し、この選択は、ユーザーによって入出力装置208を介して与えられている、タッチベースの入力、音声ベースの入力又はテキストベースの入力の少なくとも1つに基づくことができる。
[0079] 414にて、検出した不要なオブジェクト(例えば、第1のオブジェクト110)の境界の座標を計算することができる。画像プロセッサ202は、検出した不要なオブジェクトの境界の座標を、検出した不要なオブジェクトの位置、大きさ及び形状に基づいて計算するように構成することができる。
[0080] 416にて、検出した不要なオブジェクト(例えば、第1のオブジェクト110)は、シーン108の第1のプレビューから取り除くことができる。画像プロセッサ202は、検出した不要なオブジェクト(例えば、第1のオブジェクト110)を、検出した不要なオブジェクトの境界の計算された座標に基づいて、シーン108の第1のプレビューから取り除くように構成することができる。
[0081] 418にて、ユーザー112のようなユーザーが以下のこと、すなわちシーン108の第1のプレビューのうち取り除いた不要なオブジェクト(例えば、第1のオブジェクト110)に対応する部分が所望のオブジェクトと取り替えられることを希望するかどうかを判定することができる。画像プロセッサ202は、検査を実行して、部分が所望のオブジェクトで塗りつぶすことをユーザーが希望するかどうか判定するように構成することができる。検査は、ユーザーが入出力装置208を介して与える入力に基づいて実行して、メモリ106又はクラウドサーバーに記憶された参照画像のライブラリから第2のオブジェクトを選択する。第2のオブジェクトは、ユーザーが選択した所望のオブジェクト(友達又は既知の実在物のような)であって、取り込まれるシーンの画像に含めることをユーザーが希望する所望のオブジェクトを指す。第2のオブジェクトは、第1のプレビューの中で見ると、取り込まれるシーン中に実際には存在しない実在物をさらに指す。部分を所望のオブジェクト(例えば第2のオブジェクト)と取り替えることをユーザーが希望する場合、制御は420に移動し、そうでなければ制御は422に移動する。
[0082] 420にて、シーン108の第1のプレビューのうち取り除いた不要なオブジェクト(例えば、第1のオブジェクト110)に対応する部分は、前景領域と取り替えることができる。画像プロセッサ202は、第2のオブジェクトが、メモリ106(又はクラウドサーバー)に記憶された参照画像のライブラリから選択されたことに基づいて、部分を前景領域と取り替えるように構成することができる。オブジェクトセレクタ210は、ユーザーが入出力装置208を介して与える入力に基づいて、参照画像のライブラリから第2のオブジェクトを所望のオブジェクトとして選択するように構成することができる。制御は450に移動する。一部の実施形態では、制御は420の後に456に移動し、456ではフィルターをかけることは不要である。
[0083] 422にて、取り除いた不要なオブジェクト(例えば、第1のオブジェクト110)が移動オブジェクトかどうかを判定することができる。画像プロセッサ202は、取り除いた不要なオブジェクト(例えば、第1のオブジェクト110)が移動オブジェクト又は静止オブジェクトかどうか判定するために検査を実行するように構成することができる。不要なオブジェクト(例えば、第1のオブジェクト110)が移動オブジェクトである場合、制御424に移動し、そうでなければ制御は436に移動する。
[0084] 424にて、シーン108の第1のプレビューのうち取り除いた不要なオブジェクト(例えば、第1のオブジェクト110)に対応する部分は、背景領域で塗りつぶすことができる。画像プロセッサ202は、バーストモードを作動させて、部分をバーストモードで得た一連の画像からの背景領域で塗りつぶすように構成することができる。一部の実施形態では、様々なシナリオのための背景領域の生成は、426から446によって説明されている。
[0085] 426にて、少なくとも1つの参照画像が、参照画像のライブラリ内の検索に基づいて選択することができる。画像プロセッサ202は、参照画像のライブラリを、検出された不要なオブジェクト(例えば、第1のオブジェクト110)の境界の位置、大きさ又は座標に基づいて検索するように構成することができる。一部の実施形態では、参照画像のライブラリは、バーストモードで得られた一連の画像も含む。
[0086] 428にて、少なくとも1つの参照画像が選択されているかどうかを判定することができる。画像プロセッサ202は、参照画像の選択を判定するための検査を、参照画像のライブラリ内の検索に基づいて実行するように構成することができる。参照画像が選択された場合、制御は430に移動し、そうでなければ、制御は432に移動する。
[0087] 430にて、シーンの第1のプレビューの取り除いた不要なオブジェクトに対応する、シーンの第1のプレビューの部分の背景領域を生成することができる。画像プロセッサ202は、参照画像のライブラリから選択した少なくとも1つの参照画像に基づいて、背景領域を生成するように構成することができる。制御は448に移動する。
[0088] 432にて、取り込まれるシーンのために以前に取り込まれた画像が利用可能かどうかを判定することができる。画像プロセッサ202は、メモリ106中の以前に取り込まれた画像の利用可能性を判定するために検査を実行するように構成することができる。一部の実施形態では、以前に取り込まれた画像は、バーストモードで得られた一連の画像を含む。以前に取り込まれた画像が利用可能である場合、制御は434に移動し、そうでなければ、制御は436に移動する。
[0089] 434にて、シーンの第1のプレビューの部分のための背景領域は、以前に取り込まれた画像に基づいて生成することができる。画像プロセッサ202は、以前に取り込まれた画像に基づいて背景領域を生成するように構成することができる。以前に取り込まれた画像は、ユーザー112のような同じユーザーによって取り込まれた同じシーンの画像に対応し、取り込みは、第1のプレビューを見るよりも以前の所定時間(例えば少し前)に画像取り込み装置102において同じ又は同様の照明状態のもとで行われる。以前に取り込まれた画像は、第1のプレビューとしてレンダリングされたビデオストリームからの画像に対応することができる。オブジェクトが移動オブジェクトであるので、背景領域は、シーンを画像取り込み装置102を通して第1のプレビュー中に見ることができる間に、シーン内に存在するオブジェクトが移動するにつれて所定の画像フレームに見ることができる。背景領域は、次いで同じ背景領域の存在が検出される第1のプレビューのビデオストリームの画像から抽出することができる。制御は448に移動する。
[0090] 436にて、第1のプレビュー中の取り除いた不要なオブジェクトに対応する部分が第1のプレビュー中の別のオブジェクトに重なるかどうかを判定することができる。別のオブジェクトは重なったオブジェクトと呼ぶことができ、重なったオブジェクトは、シーンの取り込み時に、シーン内で不要なオブジェクトの後ろに位置し又は部分的に隠れている。画像プロセッサ202は、不要なオブジェクトの背景にオブジェクト検出器206の形状コーダーによって検出されるような重なったオブジェクトがあるかどうかを検査するように構成することができる。第1のプレビュー中の除いた不要なオブジェクトに対応する部分が第1のプレビュー中の別のオブジェクトと重なる場合、制御は438に移動し、そうでなければ、制御は446に移動する。
[0091] 438にて、重なったオブジェクトの見える領域は、参照画像のライブラリ内の同様のオブジェクトを検索するために利用することができる。画像プロセッサ202は、重なったオブジェクトの可視領域を利用して、参照画像のライブラリ内の同様のオブジェクトを検索するように構成することができる。
[0092] 440にて、重なったオブジェクトの可視領域内のためのマッチングするオブジェクトが、参照画像のライブラリ内に見つかるかどうかを確かめることができる。画像プロセッサ202は、参照画像のライブラリ内にマッチングするオブジェクトが見つかるかどうかを確かめるように構成することができる。マッチングするオブジェクトが見つかった場合、制御は442に移動し、そうでなければ、制御は444に移動する。
[0093] 442にて、最も密接にマッチングする画像基準から重なったオブジェクトの欠けている領域を生成することができる。画像プロセッサ202は、最も密接にマッチングする画像基準から重なったオブジェクトの欠けた領域を生成するように構成することができる。欠けた領域を重なったオブジェクトに滑らかに混合させるために、重なったオブジェクト(画像全体中の部分領域)上に画像フィルターが適用でき、結果として重なったオブジェクト全体は、生成後に輝度、クロミナンス及び全体質感のようなパラメーターに関して、連続してかつ本物であるように見える。制御は448に移動する。
[0094] 444にて、画像プロセッサ202は、重なったオブジェクトをシーン108の第1のプレビューの背景から取り除くことができる。重なったオブジェクトは、マッチングするオブジェクトが参照画像のライブラリ内に見つからない場合、シーンの第1のプレビューから取り除くことができる。第1のプレビュー中で重なったオブジェクトの欠けた領域を生成する例は、例えば図3Eに示されかつ説明されている。
[0095] 446にて、背景領域は、シーン108の第1のプレビューのうち取り除いた不要なオブジェクト(例えば第1のオブジェクト110)に対応する部分の近くにある画素の画素値に基づいて生成することができる。画像プロセッサ202は、背景領域を生成するように構成することができる。背景領域を部分の近くにある画素の画素値に基づいて生成する例は、例えば、図3C及び図3Dに示されかつ説明されている。
[0096] 448にて、シーン108の第1のプレビューのうち取り除いた不要なオブジェクト(例えば、第1のオブジェクト110)に対応する部分は、生成された背景領域で塗りつぶすことができる。画像プロセッサ202は、部分を生成された背景領域又は前景領域で塗りつぶすように構成することができる。
[0097] 450にて、シーンの第1のプレビューは、部分を生成された背景領域又は前景領域の少なくとも一方で塗りつぶした後、フィルターをかけることができる。画像プロセッサ202は、部分を塗りつぶす間に広がった可能性がある人工品を取り除くためにフィルタープロセスを実行するように構成することができる。フィルタープロセスは、ローパス補間フィルタープロセスに対応することができる。
[0098] 452にて、ユーザー入力を受け取るために第1のユーザープロンプトが生成され、これにより2つの所望のオブジェクト間の距離を調整することをユーザーが希望するどうかが検査される。ユーザー入力により、2つの所望のオブジェクト間の距離を調整することをユーザーが希望していることが確かめられる場合、制御は、454に移動し、そうでなければ456に移動する。
[0099] 454にて、シーンの第1のプレビュー中の少なくとも3つのオブジェクトのうち2つのオブジェクト間の距離は、シーン108の第1のプレビュー中の少なくとも3つのオブジェクトから検出した不要なオブジェクトを取り除いた後に、受け取ったユーザー入力に基づいて、縮小することができる。例えば、画像取り込み装置102によって取り込まれるシーン108の第1のプレビュー中の少なくとも3つのオブジェクトの存在に基づいて、画像プロセッサ202は、少なくとも3つのオブジェクトから検出した不要なオブジェクトを取り除いた後に、2つのオブジェクト間の距離を縮小するように構成することができる。2つのオブジェクト間の距離は、ユーザーが入出力装置208を介して与える距離を縮小するための入力に基づいて縮小される。画像プロセッサ202は、2つのオブジェクト間の距離を、少なくとも2つのオブジェクトをオブジェクト方向に光学的に画像拡大することに基づいてさらに縮小することができる。2つのオブジェクト間の距離を縮小させる例は、例えば図3Gに示されかつ説明されている。
[0100] 456にて、ユーザー入力を受け取るために第2のユーザープロンプトが生成され、これによりシーン108の第1のプレビュー中の層を除去のために選択することをユーザーが希望するかどうかが検査される。ユーザー入力により、層を取り除くことをユーザーが希望することが確かめられた場合、制御は458に移動し、そうでなければ462に移動する。
[0101] 458にて、シーン108の第1のプレビュー中の異なる層を決定することができる。画像プロセッサ202は、取り込まれるオブジェクト又はシーン108のような、シーンの背景に関連した少なくとも深さ情報に基づいて、異なる層を決定するように構成することができる。
[0102] 460にて、異なる層から少なくとも1つの層を取り除くことができる。画像プロセッサ202は、少なくとも1つの層を、少なくとも1つの層を取り除くためにユーザーによって入出力装置208を介して提供される入力に基づいて、異なる層から取り除くように構成することができる。
[0103] 462にて、画像プロセッサ202は、シーン108の第2のプレビューを生成することができる。シーン108の第2のプレビューは、除去及び塗りつぶしに基づいて生成することができる。ディスプレイ104は、アプリケーションインターフェイス上のシーンの生成された第2のプレビューのディスプレイを制御するようにさらに構成することができる。
[0104] 464にて、生成された第2のプレビューに基づいて画像が生成される。画像プロセッサ202は、画像を、シーン108の生成された第2のプレビューに基づいて取り込み及び生成するように構成することができる。466にて、画像はメモリ106に記憶される。画像プロセッサ202は、画像をメモリ106に記憶することができる。制御は終了468に移動する。
[0105] 本開示の実施形態に従って、シーンの画像をシーン内の不要なオブジェクトの除去に基づいて動的に生成する画像取り込み装置が開示されている。画像取り込み装置102(図1に示す)は、ディスプレイ104(図1に示す)及び回路類を備えている。回路類は、例えば画像プロセッサ202、モードセレクタ204、オブジェクト検出器206、入出力装置208及びオブジェクトセレクタ210(図2に示す)に対応することができる。ディスプレイ104は、画像取り込み装置102によって取り込まれるシーン108の第1のプレビューを備える、アプリケーションインターフェイスをレンダリングするように構成することができる。シーン108の第1のプレビューは、少なくとも第1のオブジェクト110を備えることができる。回路類は、シーン108のプレビュー中の不要なオブジェクトを検出するように構成することができる。不要なオブジェクトは、シーン108のプレビュー中の第1のオブジェクト110の選択に基づいて検出することができる。回路類は、検出した不要なオブジェクトをシーン108の第1のプレビューから取り除くようにさらに構成することができる。回路類は、シーン108の第1のプレビュー中のうち取り除いた不要なオブジェクトに対応する部分を塗りつぶすようにさらに構成することができる。部分は、背景領域又は前景領域の少なくとも一方で塗りつぶすことができる。回路類は、シーン108の第2のプレビューを除去及び塗りつぶしに基づいて生成するようにさらに構成することができる。回路類は、シーン108の画像を生成された第2のプレビューに基づいて生成するようにさらに構成することができる。
[0106] 画像取り込み装置102は、デジタルカメラと、例えばカメラを有するスマートフォンであるスマート電子装置とに応用され、シーンの望ましい画像を、シーンから不要なオブジェクト(例えば、第1のオブジェクト110)を取り除くことに基づいて、動的に生成する選択的な取り込み能力を供給する。画像取り込み装置102のユーザー112は、シーンの画像内に存在することをユーザーが望まない可能性がある1つ以上の不要なオブジェクト(例えば、第1のオブジェクト110)を含むシーンに、画像取り込み装置102を合焦させることができる。オブジェクト選択モードのスイッチを「オン」することによって、選択的な取り込み機能は、画像取り込み装置102のオブジェクトモードセレクタ204によってスイッチが「オン」され、この状態ではユーザー112は、シーンの画像を実際に取り込む前に、取り除かれる1つ以上の不要なオブジェクトを選択することができる。画像取り込み装置102は、シーンから1つ以上の不要なオブジェクト(例えば、第1のオブジェクト110)を取り除くことができる。さらに、1つ以上の取り除いた不要なオブジェクトに対応する部分は、前景領域又は背景領域の少なくとも一方で塗りつぶすことができる。シーン108の取り込み中の除去及び塗りつぶしに基づいて、1つ以上の不要なオブジェクトを含まないシーン108の画像を生成することができる。従って、従来のカメラ装置は、そのカメラの視界角の範囲内にある所望のオブジェクト及び不要なオブジェクトを含む全てのオブジェクトを取り込むが、これと比べて、画像取り込み装置102は、所望のオブジェクトだけを含むシーンの画像を選択的に取り込むことができる。従って、ユーザー112は、不要なオブジェクトを廃棄するために取り込み画像をトリミングする又は取り込み画像を後処理する必要がない。従って、トリミング又は後処理を実行するために、他のソフトウェア又はハードウェアに依存することが除外され、結果的にユーザー112のための時間が節約され、実際の現実世界のシーンを選択的に取り込む能力が得られる。画像取り込み装置102は、シーンの生のプレビューのような第1のプレビューで見たとき、シーンのフレームから静止オブジェクトを廃棄する選択肢をさらに提供する。画像取り込み装置102は、友達の分節した体のような所望のオブジェクトを、予め記憶されたイメージライブラリから実時間又はほぼ実時間で挿入する選択肢をさらに提供する。従って、シーンに人が存在しなくても、シーンの取り込み画像は、人を、シーンの取り込み中に予め記憶されたライブラリから選択した人の写真に基づいて含むことができる。画像取り込み装置102の選択的な取り込み機能により、画像/ビデオを取り込みながら同じフレームにおいて特別な人(所望のオブジェクト)に合焦し、かつ他の未知の人々又は無用のオブジェクト(不要なオブジェクト)を廃棄する能力が画像取り込み装置102にもたらされる。さらに、同じタイプの多数のオブジェクトがあるとき、オブジェクト選択/除去のための音声ベースの案内が提供される。例えば、ユーザー112は、所望のオブジェクト又は不要なオブジェクトを予め規定された設定値通りに選択するために人の名前を話すことができる。背景が利用できない可能性がある静止オブジェクトでは、上述したように、すぐ近くの座標の画素が、不要なオブジェクトに対応する除去部分を塗りつぶす(又は取り替える)ために使用することができる。さらに、不要なオブジェクトの位置及び大きさに基づいて画像の参照ライブラリを検索し、最も密接なマッチングを見つけかつ参照画像を使用して、取り除いた部分を、背景の残りの部分とうまく混合する前景又は背景領域で取り替えることができる。
[0107] 本開示の様々な実施形態は、非一時的なコンピュータ可読媒体及び/又は記憶媒体、及び/又は非一時的機械可読媒体及び/又はこれに記憶される記憶媒体、機械コード及び/又はコンピュータプログラムに、機械及び/又はコンピュータによって実行可能な少なくとも1つのコードセクションを提供して、シーンの画像をシーンの不要なオブジェクトの除去に基づいて動的に生成する。少なくとも1つのコードセクションにより、機械及び/又はコンピュータが動作を実行し、動作は、画像取り込み装置102によって取り込まれるシーン108の第1のプレビューを備える、アプリケーションインターフェイスをレンダリングすることを備えている。シーンの第1のプレビューは、第1のオブジェクト110を少なくとも備えている。画像取り込み装置102の少なくとも1つのコードセクションにより、機械及び/又はコンピュータは、シーン108のプレビュー中の不要なオブジェクトを、第1のオブジェクト110の選択に基づいて検出するために動作を実行することを備えている。画像取り込み装置102の少なくとも1つのコードセクションにより、機械及び/又はコンピュータは、検出した不要なオブジェクトをシーン108の第1のプレビューから取り除くために動作を実行することをさらに備えている。画像取り込み装置102の少なくとも1つのコードセクションにより、機械及び/又はコンピュータは、シーン108の第1のプレビューのうちシーン108の第1のプレビューの取り除いた不要なオブジェクトに対応する部分を、背景領域又は前景領域の少なくとも一方で塗りつぶすために動作を実行することをさらに備えている。画像取り込み装置102中の少なくとも1つのコードセクションにより、機械及び/又はコンピュータは、シーン108の第2のプレビューを、除去及び塗りつぶしに基づいて生成するために動作を実行することをさらに備えている。画像取り込み装置102中の少なくとも1つのコードセクションにより、機械及び/又はコンピュータは、シーン108の画像を生成された第2のプレビューに基づいて生成する動作を実行することをさらに備えている。
[0108] 本開示は、ハードウェア、又はハードウェアとソフトウェアとの組み合わせで実現することができる。本開示は、少なくとも1つのコンピュータシステムにおいて集中方式で、又は異なる構成要素が複数の相互接続されたコンピュータシステムにわたって広がっている分散方式で実現することができる。本明細書に記載した方法を実行するように適合されたコンピュータシステム又は他の装置が適切なことがある。ハードウェアとソフトウェアとの組み合わせは、コンピュータプログラムを持つ汎用コンピュータシステムとすることができ、コンピュータプログラムは、ロードされ実行されたとき、コンピュータシステムをそれが本明細書に記載した方法を実施するように制御する。本開示は、他の機能も実行する集積回路の部分を備えるハードウェアで実現することができる。
[0109] 本開示はまた、コンピュータプログラムに埋め込むことができ、コンピュータプログラムは、本明細書に記載した方法の実施を可能にする全ての特徴を備え、コンピュータプログラムは、コンピュータシステムにロードされたとき、これらの方法を実施可能である。コンピュータプログラムは、本文脈において、意図した一連の命令の任意の言語、コード又は表記法による任意の表現を意味し、情報処理能力を持つシステムが、直接的に、又は次に述べるa)別の言語、コード又は表記法への変換、b)異なる材料形態での再生、の何れか又は両方の後に、特定の機能を実行することが可能になる。
[0110] 所定の実施形態を参照して本開示が説明されたが、当業者であれば、本開示の範囲から逸脱することなく様々な変更がなされ、均等物が置換されることを理解する。さらに、特定の状況又は材料を本開示の教示に適合させるために、多くの修正が本発明の範囲から逸脱することなくなされる。従って、本開示は、開示された特定の実施形態に限定されず、むしろ本開示は、添付の特許請求の範囲内に属する全ての実施形態を含むことを意図している。