(57)【特許請求の範囲】
【請求項１】
モバイルデバイスによって画像を処理するための方法であって、
前記画像に対応する画像データを第1の画像レイヤおよび第2の画像レイヤへとセグメント化するステップと、
前記モバイルデバイスにおいて第1のユーザ入力を受け取るステップであって、前記第1のユーザ入力は前記モバイルデバイスに対する第1の方向を示す、ステップと、
前記第1のユーザ入力に基づいて前記第1の画像レイヤに対して第1の画像編集動作を実行するステップと、
前記モバイルデバイスにおいて第2のユーザ入力を受け取るステップであって、前記第2のユーザ入力は前記モバイルデバイスに対する前記第1の方向とは異なる方向を示す、ステップと、
前記第2のユーザ入力に基づいて前記第1の画像レイヤに対して第2の画像編集動作を実行するステップであって、前記第2の画像編集動作は前記第1の画像編集動作とは異なる、ステップと、
前記モバイルデバイスで実施される前記画像編集動作の順序を再構成するユーザ選好入力を受信するステップと、
を含む方法。
【請求項２】
前記画像データをセグメント化する前に、前記モバイルデバイスにおいて第7のユーザ入力を受け取るステップであって、前記第7のユーザ入力は表示動作用の前記画像を選択する、ステップと、
前記第7のユーザ入力に基づいて、
表示動作を実行するステップと、前記画像データを使用してクラスタ化動作を自動的に開始するステップであって、前記画像の前記セグメント化は、前記クラスタ化動作に基づいて実行される、ステップとをさらに含む、請求項1に記載の方法。
【請求項３】
前記第7のユーザ入力は、前記モバイルデバイスのユーザインターフェースにおいて表示される画像ギャラリーから前記画像を選択するタッチスクリーン動作に対応する、請求項2に記載の方法。
【請求項４】
前記クラスタ化動作は、前記画像をサムネイルビューからフルビューに拡大するために前記表示動作が実行されている間に、前記画像データ内のクラスタを特定するために開始される、請求項2に記載の方法。
【請求項５】
前記クラスタ化動作は、シンプルリニアイテレイティブクラスタリング(SLIC)技法を使用して前記クラスタを特定する、請求項4に記載の方法。
【請求項６】
前記第1の画像編集動作に基づいて第2の画像を生成するステップと、
前記第2の画像を表示するステップと、
前記第2の画像編集動作に基づいて第3の画像を生成するステップと、
前記第3の画像を表示するステップとをさらに含む、請求項1に記載の方法。
【請求項７】
前記モバイルデバイスにおいて第3のユーザ入力を受け取るステップであって、前記第3のユーザ入力は、前記モバイルデバイスに対する第2の方向を示し、前記第2の方向は前記方向とは異なる、ステップと、
前記第3のユーザ入力に基づいて第3の画像編集動作を実行するステップと、
前記モバイルデバイスにおいて第4のユーザ入力を受け取るステップであって、前記第4のユーザ入力は前記第2の方向を示す、ステップと、
前記第4のユーザ入力に基づいて第4の画像編集動作を実行するステップであって、前記第4の画像編集動作は前記第3の画像編集動作とは異なる、ステップとをさらに含む、請求項1に記載の方法。
【請求項８】
前記第3の画像編集動作および前記第4の画像編集動作は、前記第1の画像レイヤとは独立に前記第2の画像レイヤに対して実行される、請求項7に記載の方法。
【請求項９】
前記第1の画像編集動作および前記第2の画像編集動作は、画像編集動作の第1のシーケンスに含まれ、前記第3の画像編集動作および前記第4の画像編集動作は、前記第1のシーケンスとは異なる画像編集動作の第2のシーケンスに含まれ、前記方法は、
前記方向を示す第5のユーザ入力に応答して前記第1のシーケンスにおける次の画像編集動作を実行するステップと、
前記第2の方向を示す第6のユーザ入力に応答して前記第2のシーケンスにおける次の画像編集動作を実行するステップとをさらに含む、請求項7に記載の方法。
【請求項１０】
前記第1の画像編集動作および前記第2の画像編集動作は、前記第2の画像レイヤとは独立に前記第1の画像レイヤに対して実行される、請求項1に記載の方法。
【請求項１１】
前記第1のユーザ入力および前記第2のユーザ入力は、前記モバイルデバイスのユーザインターフェース(UI)を介して受け取られる、請求項10に記載の方法。
【請求項１２】
メモリと、
前記メモリに結合されたプロセッサと
を備え、前記プロセッサは、
画像に対応する画像データを第1の画像レイヤおよび第2の画像レイヤへとセグメント化することと、
モバイルデバイスに対する第1の方向を示す第1のユーザ入力を受け取ることと、
前記第1のユーザ入力に基づいて前記第1の画像レイヤに対して第1の画像編集動作を実行することと、
前記モバイルデバイスに対する前記第1の方向とは異なる方向を示す第2のユーザ入力を受け取ることと、
前記第2のユーザ入力に基づいて前記第1の画像レイヤに対して第2の画像編集動作を実行することであって、前記第2の画像編集動作は前記第1の画像編集動作とは異なることと、
前記モバイルデバイスで実施される前記画像編集動作の順序を再構成するユーザ選好入力を受信することと、
を行うように構成される、装置。
【請求項１３】
前記第1の画像レイヤおよび前記第2の画像レイヤの一方は、前記画像の前景の第1の部分に対応し、前記第1の画像レイヤおよび前記第2の画像レイヤの他方は、前記画像の前記前景の第2の部分に対応する、請求項12に記載の装置。
【請求項１４】
前記第1の画像レイヤおよび前記第2の画像レイヤの一方は、前記画像の背景の第1の部分に対応し、前記第1の画像レイヤおよび前記第2の画像レイヤの他方は、前記画像の前記背景の第2の部分に対応する、請求項12に記載の装置。
【請求項１５】
前記プロセッサは、前記画像データに関連するクラスタを特定し、前記クラスタに基づいて前記画像データをセグメント化するようにさらに構成される、請求項12に記載の装置。
【請求項１６】
前記プロセッサは、前記第1の画像レイヤを使用して1つまたは複数のコンポーネントラベリング動作を実行するようにさらに構成される、請求項12に記載の装置。
【請求項１７】
ディスプレイデバイスをさらに備え、前記プロセッサは、前記ディスプレイデバイスにおいてユーザインターフェース(UI)を表示させるようにさらに構成され、前記第1のユーザ入力および前記第2のユーザ入力は前記ディスプレイデバイスを介して受け取られる、請求項12に記載の装置。
【請求項１８】
命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサに、
画像に関連する画像データを第1の画像レイヤおよび第2の画像レイヤへとセグメント化することと、
モバイルデバイスにおいて第1のユーザ入力を受け取ることであって、前記第1のユーザ入力は前記モバイルデバイスに対する第1の方向を示すことと、
前記第1のユーザ入力に基づいて前記第1の画像レイヤに対して第1の画像編集動作を実行することと、
前記モバイルデバイスにおいて第2のユーザ入力を受け取るステップであって、前記第2のユーザ入力は前記モバイルデバイスに対する前記第1の方向とは異なる方向を示すことと、
前記第2のユーザ入力に基づいて前記第1の画像レイヤに対して第2の画像編集動作を実行することであって、前記第2の画像編集動作は前記第1の画像編集動作とは異なることと、
前記モバイルデバイスで実施される前記画像編集動作の順序を再構成するユーザ選好入力を受信することと、
を行わせるように前記プロセッサによって実行可能である非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記第1の画像レイヤおよび前記第2の画像レイヤの一方は、前記画像の前景に対応し、前記第1の画像レイヤおよび前記第2の画像レイヤの他方は、前記画像の背景に対応する、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記第1のユーザ入力は、前記モバイルデバイスのディスプレイデバイスにおける第1のスワイプ操作に対応し、前記第2のユーザ入力は、前記ディスプレイデバイスにおける第2のスワイプ操作に対応する、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項２１】
前記第1の画像編集動作は画像ぼかし動作を含み、前記第2の画像編集動作は色変更動作を含む、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項２２】
前記命令は、前記画像データに関連するクラスタを特定し、前記クラスタに基づいて前記画像データをセグメント化するように前記プロセッサによってさらに実行可能である、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項２３】
前記第1の画像編集動作および前記第2の画像編集動作の順序は、前記モバイルデバイスにおいて記憶されたユーザ構成パラメータに基づく、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項２４】
前記命令は、ユーザインターフェース(UI)を介して前記第1のユーザ入力および前記第2のユーザ入力を受け取るように前記プロセッサによってさらに実行可能である、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項２５】
画像に関連する画像データを第1の画像レイヤおよび第2の画像レイヤへとセグメント化するための手段と、
第1のユーザ入力を受け取るための手段であって、前記第1のユーザ入力はモバイルデバイスに対する第1の方向を示す手段と、
前記第1のユーザ入力に基づいて前記第1の画像レイヤに対して第1の画像編集動作を実行するための手段と、
第2のユーザ入力を受け取るための手段であって、前記第2のユーザ入力は前記モバイルデバイスに対する前記第1の方向とは異なる方向を示す手段と、
前記第2のユーザ入力に基づいて前記第1の画像レイヤに対して第2の画像編集動作を実行するための手段であって、前記第2の画像編集動作は前記第1の画像編集動作とは異なる、手段と、
前記モバイルデバイスで実施される前記画像編集動作の順序を再構成するユーザ選好入力を受信するための手段と、
を含む装置。
【請求項２６】
前記第1の画像レイヤおよび前記第2の画像レイヤの一方は、前記画像の前景に対応し、前記第1の画像レイヤおよび前記第2の画像レイヤの他方は、前記画像の背景に対応する、請求項25に記載の装置。
【請求項２７】
前記第1の画像レイヤおよび前記第2の画像レイヤの一方は、前記画像の前景の第1の部分に対応し、前記第1の画像レイヤおよび前記第2の画像レイヤの他方は、前記画像の前記前景の第2の部分に対応する、請求項25に記載の装置。
【請求項２８】
前記第1の画像レイヤおよび前記第2の画像レイヤの一方は、前記画像の背景の第1の部分に対応し、前記第1の画像レイヤおよび前記第2の画像レイヤの他方は、前記画像の前記背景の第2の部分に対応する、請求項25に記載の装置。
【請求項２９】
前記画像データに関連するクラスタを特定するための手段であって、前記画像データは前記クラスタに基づいてセグメント化される、手段をさらに備える、請求項25に記載の装置。
【請求項３０】
前記第1の画像レイヤを使用して1つまたは複数のコンポーネントラベリング動作を実行するための手段をさらに備える、請求項25に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して、デバイスのための画像編集に関する。
【背景技術】
【０００２】
技術の進歩は、より小型でより強力な電子デバイスをもたらしてきた。たとえば、現在、ワイヤレス電話、携帯情報端末(PDA)、およびページングデバイスなどの様々なモバイルデバイスが存在する。ワイヤレスデバイスは、小型で軽量であり、ユーザが持ち運びやすい場合がある。セルラー電話およびインターネットプロトコル(IP)電話などのワイヤレス電話は、ワイヤレスネットワークを介して音声およびデータパケットを通信することができる。また、ワイヤレス電話は、インターネットにアクセスするために使用することができる、ウェブブラウザアプリケーションなどのソフトウェアアプリケーションを含む、実行可能な命令を処理することができる。さらに、多くのワイヤレス電話には、その内部に組み込まれた他のタイプのデバイスが含まれる。たとえば、ワイヤレス電話は、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、およびオーディオファイルプレーヤも含むことが可能である。したがって、ワイヤレス電話および他のモバイルデバイスは、かなりのコンピューティング機能を含むことができる。
【０００３】
モバイルデバイスは、カメラと、カメラによって取り込まれた画像を修正する(または「編集」する)のに使用可能な画像編集アプリケーションとを含んでもよい。モバイルデバイスのユーザは、カメラを使用して画像を取り込み、画像を友人または家族と共有する前などに画像編集アプリケーションを使用して画像を修正する場合がある。いくつかの画像編集アプリケーションは、ユーザが、画像の一部を除去する(すなわち「クロッピング」する)ことなど、計算が単純な動作を実行することを可能にする場合がある。より高度な画像編集アプリケーションは、ユーザが、計算をより多用する動作をモバイルデバイス上で実行するのを可能にする場合があるが、これらの動作では、ユーザが特定の画像編集効果を実現するのに十分な制御を画像編集動作に対して実行できない場合があり、モバイルデバイスのユーザが不満を抱くことがある。高度な画像編集アプリケーションは、ユーザにとって使用するのが難しいかあるいは面倒であり得る複雑なユーザ入力技法を利用する場合もある。
【発明の概要】
【課題を解決するための手段】
【０００４】
プロセッサが、画像に対応する画像データを受け取ってもよい。一例として、モバイルデバイスは、プロセッサとカメラとを含んでもよく、カメラは画像を取り込んでもよい。プロセッサは、画像データを(たとえばセグメント化技法を用いて)第1の画像レイヤおよび第2の画像レイヤへとセグメント化してもよい。例示的な例として、第1の画像レイヤは、画像の前景に対応してもよく、第2の画像レイヤは、画像の背景に対応してもよい。代替的に、第1の画像レイヤおよび第2の画像レイヤの各々が画像の前景部分(または画像の背景部分)に対応してもよい。
【０００５】
第1の画像レイヤおよび第2の画像レイヤは、1つまたは複数の視覚的効果を生じさせるようにユーザによって独立に編集されてもよい。一例として、ユーザは、第1の画像レイヤに対して画像編集動作を実行する場合があるが第2の画像レイヤに対して画像編集動作を実行しない場合がある(または、第2の画像レイヤに対して画像編集動作を実行する場合があるが第1の画像レイヤに対して画像編集動作を実行しない場合がある)。ユーザは、画像編集アプリケーションを利用して、プロセッサによって実行される場合がある画像編集動作を実行することがある。画像編集動作は、第1の画像レイヤの色属性を変更するが第2の画像レイヤの色属性を変更しない(たとえば、あるオブジェクトの色を別のオブジェクトの色とは独立に変更する)ことを含んでもよい。別の例として、画像編集動作は、前景に焦点を合わせ、前景が背景よりも鮮鋭である画像を大きい開口を使用して取り込むカメラの「スーパーフォーカス」カメラ効果を近似するために、背景を「ぼかす」が前景をぼかさないことなどによって、第1の画像レイヤをぼかすが第2の画像レイヤをぼかさないことを含んでもよい。したがって、ユーザは、特定の画像編集動作に基づいて画像全体(たとえば画像のすべての画像レイヤ)が編集される従来のシステムと比較して、画像の視覚的効果がより顕著に制御されることを経験する場合がある。
【０００６】
特定の実施形態では、画像を選択するユーザ入力に応答してクラスタの特定が自動的に開始される。たとえば、ユーザがユーザインターフェース(UI)を介して画像を選択したこと(たとえば、画像を画像ギャラリーから選択したこと)に応答してクラスタの特定が自動的に開始されてもよい。クラスタを自動的に特定すると、クラスタの特定に伴う時間ずれが「隠れる」場合がある。たとえば、UIを介して画像が選択されたことに応答してクラスタを自動的に特定することによって、画像をロードする間クラスタの特定に伴う時間ずれが「隠れる」場合がある。すなわち、ユーザは、時間ずれが画像をロードした後に開始される特定の画像編集動作の開始ではなく画像のロードに伴って生じたととらえる場合がある。この例では、ユーザが画像編集動作を開始するときに、クラスタの特定がすでに完了している場合があり、それによって、ユーザには画像編集動作がより高速に見えることがある。
【０００７】
プロセッサは、第1の画像レイヤに関するユーザ入力に応答して、1つまたは複数の画像処理動作を自動的に開始してもよい。一例として、複数の画像レイヤ(たとえば、複数の前景オブジェクトおよび/または複数の背景オブジェクト)を含む画像の場合、各個々の画像レイヤの処理に時間ずれが伴う場合がある。プロセッサは、画像セグメント化に伴う時間ずれを短縮するために、複数の画像レイヤの各々に関するユーザ入力を受け取る前に1つまたは複数の特定されたクラスタを使用して第1の画像レイヤに関連する1つまたは複数の画像処理動作(たとえば、画像セグメント化動作および/または画像ラベリング動作)を開始する場合がある。この例では、画像の前景部分の画像処理が、画像の背景に関するユーザ入力を受け取る前に開始されてもよい。したがって、各画像レイヤに関してユーザ入力が受け取られるまで画像処理動作を開始するのを待つデバイスと比較して、プロセッサの画像編集性能が向上する場合がある。
【０００８】
代替的にまたは追加として、モバイルデバイスは、ユーザ入力に応答してモバイルデバイスにおいて実行される場合がある画像編集動作を判定するユーザ構成パラメータを記憶してもよい。一例として、モバイルデバイスはディスプレイ(たとえば、タッチスクリーン)を含んでもよい。ディスプレイは、モバイルデバイスによって実行される画像編集アプリケーションに関連するような画像を示してもよい。画像編集アプリケーションはユーザ入力に応答して画像に対して画像編集動作を実行してもよい。たとえば、ユーザ構成パラメータは、モバイルデバイスが、タッチスクリーンを垂直(または実質的に垂直)方向に横切る「スワイプ」などの動きの特定の方向を示す第1のユーザ入力を受け取ったことに応答して特定の画像編集動作(たとえば、色変更動作)を実行することを示す場合がある。ユーザ構成パラメータは、モバイルデバイスが、第1のユーザ入力の後に受け取られた特定の方向を示す第2のユーザ入力(たとえば、後続の垂直スワイプ操作)に応答して第2の画像編集動作を実行することをさらに示す場合がある。たとえば、ユーザ構成パラメータは、第2のユーザ入力に応答して画像ぼかし動作が実行されることを示す場合がある。
【０００９】
ユーザ構成パラメータは、ユーザによって構成可能であってもよい。たとえば、ユーザ構成パラメータは、(たとえば、第1のユーザ入力に応答して)第1の画像編集動作よりも前に第2の画像編集動作が実行されることを示すようにユーザによって修正されてもよい。特定の実施形態では、第1のユーザ入力よりも後でかつ第2のユーザ入力よりも後に受け取られる第3のユーザ入力は、第1の画像編集動作および第2の画像編集動作を「取り消す」場合がある。したがって、画像編集がモバイルデバイスのユーザに対して簡略化される。さらに、画像編集動作は、ユーザ構成パラメータを使用して構成可能であってもよい。
【００１０】
特定の一実施形態では、デバイスによって画像を処理する方法が開示される。この方法は、画像に対応する画像データを第1の画像レイヤおよび第2の画像レイヤへとセグメント化することを含む。この方法は、ユーザ入力に基づいて第2の画像レイヤの第2の属性とは独立に第1の画像レイヤの第1の属性を調整することをさらに含む。
【００１１】
別の特定の実施形態では、装置は、メモリと、メモリに結合されたプロセッサとを含む。プロセッサは、画像に対応する画像データを第1の画像レイヤおよび第2の画像レイヤへとセグメント化するように構成される。プロセッサは、ユーザ入力に基づいて第2の画像レイヤの第2の属性とは独立に第1の画像レイヤの第1の属性を調整するようにさらに構成される。
【００１２】
別の特定の実施形態では、非一時的コンピュータ可読媒体は命令を記憶する。命令は、プロセッサに画像に関連する画像データを第1の画像レイヤおよび第2の画像レイヤへとセグメント化させるようにプロセッサによって実行可能である。命令は、ユーザ入力に基づいて第2の画像レイヤの第2の属性とは独立に第1の画像レイヤの第1の属性を調整するようにプロセッサによってさらに実行可能である。
【００１３】
別の特定の実施形態では、装置は、画像に関連する画像データを第1の画像レイヤおよび第2の画像レイヤへとセグメント化するための手段を含む。この装置は、ユーザ入力に基づいて第2の画像レイヤの第2の属性とは独立に第1の画像レイヤの第1の属性を調整するための手段をさらに含む。
【００１４】
別の特定の実施形態では、方法は、モバイルデバイスにおいて第1の画像を表示することを含む。この方法は、モバイルデバイスにおいて第1のユーザ入力を受け取ることをさらに含む。第1のユーザ入力は、モバイルデバイスに対する方向を示す。第1のユーザ入力に基づいて、第2の画像を生成するために第1の画像に対して第1の画像編集動作が実行される。この方法は、モバイルデバイスにおいて第2の画像を表示することとモバイルデバイスにおいて第2のユーザ入力を受け取ることとをさらに含む。第2のユーザ入力は方向を示す。この方法は、第2のユーザ入力に基づいて、第3の画像を生成するために第2の画像に対して第2の画像編集動作を実行することをさらに含む。
【００１５】
別の特定の実施形態では、装置は、メモリと、メモリに結合されたプロセッサとを含む。プロセッサは、モバイルデバイスに、モバイルデバイスにおいて第1の画像を表示させ第1のユーザ入力を受け取らせるように構成される。第1のユーザ入力は、モバイルデバイスに対する方向を示す。プロセッサは、第1のユーザ入力に基づいて、第2の画像を生成するために第1の画像に対して第1の画像編集動作を実行し、モバイルデバイスに第2の画像を表示させ、第2のユーザ入力を受け取るようにさらに構成される。第2のユーザ入力は方向を示す。プロセッサは、第2のユーザ入力に基づいて、第3の画像を生成するために第2の画像に対して第2の画像編集動作を実行するようにさらに構成される。
【００１６】
別の特定の実施形態では、コンピュータ可読媒体は、モバイルデバイスに、モバイルデバイスにおいて第1の画像を表示させ、モバイルデバイスにおいて第1のユーザ入力を受け取らせるようにプロセッサによって実行可能な命令を記憶する。第1のユーザ入力は、モバイルデバイスに対する方向を示す。命令は、第1のユーザ入力に基づいて、第2の画像を生成するために第1の画像に対して第1の画像編集動作を実行し、モバイルデバイスにおいて第2の画像を表示し、モバイルデバイスにおいて第2のユーザ入力を受け取るようにプロセッサによってさらに実行可能である。第2のユーザ入力は方向を示す。命令は、第2のユーザ入力に基づいて、第3の画像を生成するために第2の画像に対して第2の画像編集動作を実行するようにプロセッサによってさらに実行可能である。
【００１７】
別の特定の実施形態では、装置は、モバイルデバイスにおいて第1の画像を表示するための手段と、モバイルデバイスにおいて第1のユーザ入力を受け取るための手段とを含む。第1のユーザ入力は、モバイルデバイスに対する方向を示す。この装置は、第1のユーザ入力に基づいて、第2の画像を生成するために第1の画像に対して第1の画像編集動作を実行するための手段と、モバイルデバイスに第2の画像を表示させるための手段と、第2のユーザ入力を受け取るための手段とをさらに含む。第2のユーザ入力は方向を示す。この装置は、第2のユーザ入力に基づいて、第3の画像を生成するために第2の画像に対して第2の画像編集動作を実行するための手段をさらに含む。
【００１８】
別の特定の実施形態では、方法は、ユーザインターフェースから第1のユーザ入力を受け取ることを含む。第1のユーザ入力は、表示動作用の画像を選択する。この方法は、第1のユーザ入力に基づいて表示動作を実行することと、第1のユーザ入力に基づく画像に対応する画像データを使用してクラスタ化動作を自動的に開始することとをさらに含む。
【００１９】
別の特定の実施形態では、装置は、メモリと、メモリに結合されたプロセッサとを含む。プロセッサは、ユーザインターフェースから第1のユーザ入力を受け取るように構成される。第1のユーザ入力は、表示動作用の画像を選択する。プロセッサは、第1のユーザ入力に基づいて表示動作を実行し、第1のユーザ入力に基づく画像に対応する画像データを使用してクラスタ化動作を自動的に開始するようにさらに構成される。
【００２０】
別の特定の実施形態では、コンピュータ可読媒体は、プロセッサに、ユーザインターフェースから第1のユーザ入力を受け取らせるようにプロセッサによって実行可能な命令を記憶する。第1のユーザ入力は、表示動作用の画像を選択する。命令は、第1のユーザ入力に基づいて表示動作を実行し、第1のユーザ入力に基づく画像に対応する画像データを使用してクラスタ化動作を自動的に開始するようにプロセッサによってさらに実行可能である。
【００２１】
別の特定の実施形態では、装置は、ユーザインターフェースから第1のユーザ入力を受け取るための手段を含む。第1のユーザ入力は、表示動作用の画像を選択する。この装置は、第1のユーザ入力に基づいて表示動作を実行するための手段と、第1のユーザ入力に基づく画像に対応する画像データを使用してクラスタ化動作を自動的に開始するための手段とをさらに含む。
【００２２】
開示される実施形態のうちの少なくとも1つによってもたらされる1つの特定の利点は、画像の第1の画像レイヤと第2の画像レイヤの独立した画像編集が行われることである。したがって、ユーザは、特定の画像編集動作に基づいて画像全体(たとえば、画像のすべての画像レイヤ)が編集される従来のシステムと比較して、画像編集動作を「微調整する」ことができるようになる場合がある。開示される実施形態のうちの少なくとも1つによってもたらされる別の特定の利点は、モバイルデバイスのユーザによるユーザインターフェース(UI)の制御が簡略化されることである。たとえば、UIは、ユーザが、特定のユーザ入力(たとえば、特定の方向におけるスワイプ)に特定の画像編集動作を割り当てるユーザ構成パラメータを設定するのを可能にしてもよく、それによって、モバイルデバイスによって実行される画像編集アプリケーションのユーザ制御が簡略化される。開示される実施形態のうちの少なくとも1つによってもたらされる別の特定の利点は、デバイスのユーザによって画像編集がより高速に行われているように感じられることである。本開示の他の態様、利点、および特徴は、以下の節、すなわち、図面の簡単な説明、発明を実施するための形態、および特許請求の範囲を含む、本願全体を検討した後に明らかになろう。
【図面の簡単な説明】
【００２３】
【図１】プロセッサの特定の例示的な実施形態のブロック図である。
【図２】図1のプロセッサによって実行される場合がある特定の例示的な画像処理動作の態様を示す図である。
【図３】図1のプロセッサによって実行される場合がある例示的な画像処理動作の追加の態様を示す図である。
【図４】図1のプロセッサによって実行される場合がある例示的な画像処理動作の追加の態様を示す図である。
【図５】図1のプロセッサによって実行される場合がある例示的な画像処理動作の追加の態様を示す図である。
【図６】図1のプロセッサによって実行される場合がある方法を示す流れ図である。
【図７】図1のプロセッサによって実行される場合がある別の方法を示す流れ図である。
【図８】図1のプロセッサを含んでもよいモバイルデバイスの特定の例示的な実施形態のブロック図である。
【図９】モバイルデバイスの例示的な動作状態のブロック図である。
【図１０】図9のモバイルデバイスによって実行される場合がある方法を示す流れ図である。
【図１１】図9のモバイルデバイスの特定の例示的な実施形態のブロック図である。
【図１２】図1のプロセッサを含むモバイルデバイスなどのデバイスによって実行される場合がある方法を示す流れ図である。
【発明を実施するための形態】
【００２４】
図1を参照すると、プロセッサの特定の例示的な実施形態が示され、全体的に100と示されている。プロセッサ100は、クラスタアイデンティファイア124と、画像セグメントジェネレータ128と、画像コンポーネントラベラー132と、画像モディファイア136とを含む。
【００２５】
動作時には、プロセッサ100は画像データ102に応答してもよい。たとえば、画像データ102は、カメラから受け取られても、またはカメラに関連するカメラコントローラから受け取られてもよい。画像データ102は、画像レイヤ104aおよび画像レイヤ106aなどの1つまたは複数の画像レイヤを含んでもよい。画像レイヤ104a、106aはそれぞれ、画像の前景部分および画像の背景部分に対応してもよい。代替的に、画像レイヤ104a、106aの各々が前景部分に対応してもよく、あるいは各々が背景部分に対応してもよい。
【００２６】
画像データ102は、ピクセルの1つまたは複数のクラスタ(たとえば、画像に示されるオブジェクトに対応するピクセルクラスタ)をさらに含んでもよい。たとえば、図1は、画像レイヤ104aがクラスタ108aとクラスタ110aとを含んでもよいことを示す。別の例として、図1は、画像レイヤ106aがクラスタ112aとクラスタ114aとを含んでもよいことをさらに示す。クラスタ108a、110a、112a、および114aは、属性116、属性118a、属性120a、および/または属性122aなどの1つまたは複数の属性を含んでもよい。属性116、属性118a、属性120a、および/または属性122aは、例示的な例として、画像の色、鮮鋭度、コントラスト、コンテキスト(たとえば、背景環境などの環境)、ぼかし効果、および/または別の態様などの画像の視覚的態様に対応してもよい。
【００２７】
クラスタアイデンティファイア124は、画像データ102に応答して、1つまたは複数のクラスタ特定技法を使用して画像の1つまたは複数のクラスタを特定してもよい。たとえば、クラスタアイデンティファイア124は、クラスタ108a、110a、112a、または114aのうちの1つまたは複数などの画像データ102の1つまたは複数のクラスタを特定してもよい。クラスタアイデンティファイア124は、画像データ102を分析してクラスタ特定情報126を生成してもよい。クラスタ特定情報126は、クラスタ108a、110a、112a、または114aのうちの1つまたは複数を特定してもよい。クラスタは、画像データ102の同様のピクセルのグループに対応してもよい。一例として、ピクセルは、ピクセル同士が空間的に類似している(たとえば、共通のしきい値領域内にある)場合および/またはピクセル同士の数値が類似している(ピクセル値しきい値範囲内にある)場合に類似している可能性がある。クラスタアイデンティファイア124は、1つまたは複数の動作を実行して画像データ102のピクセルを比較し、類似したピクセルの1つまたは複数のグループを特定してクラスタ特定情報126を生成してもよい。
【００２８】
クラスタアイデンティファイア124は、画像データ102の1つまたは複数のスーパーピクセルを特定する「スーパーピクセル」技法を使用してクラスタ特定情報126を生成するように構成されてもよい。1つまたは複数のスーパーピクセルはクラスタ108a、110a、112a、および114aに対応してもよい。特定の例では、クラスタアイデンティファイア124は、シンプルリニアイテレイティブクラスタリング(SLIC)技法に従って動作するように構成される。SLIC技法は、画像データを「グリッド」に分割する場合があり、グリッドの各コンポーネント内の画像データ102のピクセルを比較して画像データ102のクラスタを特定する場合がある。SLIC技法は、国際照明委員会のL*、a*、およびb*(CIELAB)色空間モデルなどの多次元モデルに色をマップする色空間モデルに関連して実行されてもよい。
【００２９】
SLIC技法は、k=1, 2, ... KについてK個のスーパーピクセル中心C_kを特定する場合があり、この場合、各々がグリッド間隔サイズSを有するグリッド間隔でC_k =[l_k, a_k, b_k, x_k, y_k]Tであり、Kは正の整数であり、Tは転置演算を示し、l、a、b、x、およびyは、CIELAB色空間モデルに関連するパラメータを示す場合がある。特定の実施形態では、任意のスーパーピクセルの空間範囲は約2Sである。したがって、特定のスーパーピクセルに含まれるピクセルは、(x-y平面について)スーパーピクセルの中心の周りの2S×2S内に位置してもよい。2S×2S領域は、各スーパーピクセル中心に類似したピクセルの「探索領域」に対応してもよい。
【００３０】
CIELAB色空間モデルでは、ディスプレイにおいて実現されたときに、特定のユークリッド距離(たとえば、多次元モデル内の色を示す点間の距離)がユーザによって知覚可能である場合があり、場合によっては、見え方が不十分になるかあるいは別の作用が生じる。空間ピクセル距離がそのような知覚的色距離しきい値を超えた場合、空間ピクセル距離がピクセルカラーの類似性を上回る場合があり、画像歪みが生じる(たとえば、領域境界を重視せず、画像平面内の近接度のみを重視したスーパーピクセルが得られる)。したがって、5次元(5D)空間における単純なユークリッドノルムを使用する代わりに、D_s = d_lab + (m/S)d_xyであるように距離測度D_sが定義されてもよく、この場合、d_lab = sqrt[(l_k - l_i)^2 + (a_k - a_i)^2 + (b_k - b_i)^2]であり、d_xy = sqrt[(x_k - x_y)^2 + (x_k - x_y)^2]であり、mは、スーパーピクセルのコンパクトさの制御を可能にする変数を示し、Sは、グリッド間隔サイズSを示す。この例では、D_sは、実験室距離(d_lab)とグリッド間隔サイズSによって正規化され、変数mによって決定される「コンパクトさ」を有するx-y平面距離(d_xy)との和に対応する。さらなる例として、Table 1(表1)は、クラスタアイデンティファイア124の例示的な動作に対応する例示的な擬似コードを示す。
【００３１】
【表１】
0006355746.tif 000002
【００３２】
画像セグメントジェネレータ128は、クラスタアイデンティファイア124に応答して、1つまたは複数のセグメント化技法を使用して画像をセグメント化してもよい。たとえば、画像セグメントジェネレータ128は、クラスタ特定情報126に基づいてセグメント化マスク130を生成してもよい。特定の例では、セグメント化マスク130は、クラスタ特定情報126に基づいて画像レイヤ106aから画像レイヤ104aを分離することなどによって、画像データ102の1つまたは複数の前景レイヤまたは背景レイヤを特定する。画像セグメントジェネレータ128は、クラスタアイデンティファイア124によって特定された1つまたは複数のクラスタを画像データ102の残りの部分から分離することによってセグメント化マスク130を生成してもよい。たとえば、画像セグメントジェネレータ128は、クラスタ特定情報126によって示されたピクセルの1つまたは複数のグループを画像データ102からセグメント化して(たとえば、削除、パーティション化などを行って)セグメント化マスク130を生成してもよい。
【００３３】
特定の実施形態では、画像セグメントジェネレータ128は、クラスタアイデンティファイア124によって生成されたスーパーピクセルz_nのセットに応答する。スーパーピクセルは、CIELAB色空間モデルを使用して表されてもよい。画像セグメントジェネレータ128は、スーパーピクセルのセットに「グラブカット」技法を適用してもよい。画像セグメントジェネレータ128は、グラブカット技法を利用して混合ガウスモデル(GMM)を生成してもよい。特定の実施形態では、画像セグメントジェネレータ128は、画像の前景のスーパーピクセルに対応するガウス分布の第1のセットを有する第1のGMMを生成するように構成され、画像の背景のスーパーピクセルに対応するガウス分布の第2のセットを有する第2のGMMを生成するようにさらに構成される。各GMMは、正の整数個であるK個のコンポーネント(たとえば、K=5)のうちのコンポーネントとの全共分散ガウス混合に対応してもよい。画像処理動作の扱いやすさを向上させるために、GMMに関連してベクトルk = {k_1, ... k_n, ... k_N }が使用されてもよく、この場合、k_n∈{1, ... K}が成立する。対応するGMMコンポーネント(たとえば、α_n)が各ピクセルに割り当てられてもよい。GMMコンポーネントは、(たとえば、α_n=0またはα_n=1に従って)背景GMMまたは前景GMMのいずれから選択されてもよい。
【００３４】
画像セグメントジェネレータ128の動作にはE(α, k, θ, z) = U(α, k, θ, z) + V(α, z)に対応するGibbsエネルギーなどのエネルギー消費量が関連付けられてもよく、この場合、kはGMM変数を示す場合があり、Uはデータ項目を示す場合があり、U(α, k, θ, z) = ΣnDn(an, kn, θn, zn) , Dn(an, kn, θ, zn) = -logp(zn|an, kn, θ) -logπ(an, kn)であり、Dnは、ガウス確率分布を示す場合があり、p(・)は、混合加重係数を示す場合があり、それによって、(定数まで)次式が成立する。
【００３５】
【数１】
0006355746.tif 000003
【００３６】
したがって、モデルのパラメータはθ = {π(α,k), μ(α,k), Σ(α,k), α = 0, 1, k = 1 ... K}に対応してもよい(すなわち、背景および前景分布に関する2Kガウスコンポーネントの加重π、平均μ、および共分散Σ)。特定の例では、滑らかさ項Vは、下式に従って色空間におけるユークリッド距離を使用してコントラスト項が算出されることを除いて単色例に対して変更されない。V(α,z) = γΣ(m, n) ∈C [αm ≠αn] exp(-β||zm - zn||2)。さらなる例として、Table 2(表2)は、プロセッサ100の例示的な動作に対応する例示的な擬似コードを示す。
【００３７】
【表２】
0006355746.tif 000004
【００３８】
画像コンポーネントラベラー132は、画像セグメントジェネレータ128に応答してもよい。たとえば、画像コンポーネントラベラー132は、セグメント化マスク130を画像アーチファクト134などの1つまたは複数の画像アーチファクトについて分析してもよい。画像アーチファクト134は、画像の別の部分から「意図的ではなしに」分離された画像の部分に対応してもよい。たとえば、画像の一部が画像の前景または背景にあるように「誤認される」場合があり、画像アーチファクト134は「誤認された」部分に対応してもよい。特定の実施形態では、画像コンポーネントラベラー132は、ユーザ入力に応答して画像アーチファクト134を特定してもよい。
【００３９】
特定の実施形態では、画像コンポーネントラベラー132は、画像セグメントジェネレータ128の動作を補償するように構成される。一例として、セグメント化マスク130は、画像セグメントジェネレータ128の色ベースの動作に起因する1つまたは複数の「穴」(たとえば、画像アーチファクト134などの画像アーチファクト)を有する場合がある。さらに、1つまたは複数のオブジェクトまたはレイヤが色類似性に起因して「誤って分類」される場合がある。たとえば、共通のオブジェクトの異なる色が前景および背景として誤って分類されることがあり、ならびに/あるいは異なるオブジェクトの類似した色が前景または背景として誤って分類されることがある。画像コンポーネントラベラー132は、前景領域にオブジェクトとして作用するように構成されてもよく、オブジェクトは、「単純接続性ドメイン」などのドメインとして作用を受ける場合がある。さらなる例として、Table 3(表3)は、画像コンポーネントラベラー132の例示的な動作に対応する例示的な擬似コードを示す。
【００４０】
【表３】
0006355746.tif 000005
【００４１】
画像モディファイア136は、画像コンポーネントラベラー132に応答してもよい。画像モディファイア136は、プロセッサ100を含むデバイスのユーザインターフェース(UI)などを介してユーザ入力にさらに応答して、画像データ102の第2のレイヤの第2の属性とは独立に画像データ102の第1のレイヤの第1の属性を調整してもよい。一例として、図1の例は、画像モディファイア136は画像データ102に対応する修正された画像データ138を生成してもよいことを示す。修正された画像データ138は、画像レイヤ106aに対する画像レイヤ104aの独立した修正を示す場合がある。
【００４２】
修正された画像データ138は、画像レイヤ104aに対応する画像レイヤ104bを含んでもよく、画像レイヤ106aに対応する画像レイヤ106bをさらに含んでもよい。画像レイヤ104bは、クラスタ108a、110aに対応するクラスタ108b、110bを含んでもよく、画像レイヤ106bは、クラスタ112a、114aに対応するクラスタ112b、114bを含んでもよい。図1の例は、クラスタ108bが属性116に対して(たとえば、ユーザ入力に基づいて)修正された属性140を有することを示す。一例として、ユーザ入力は、プロセッサ100に修正された画像データ138を生成させるように画像データ102の色属性、鮮鋭度属性、ぼかし属性、および/またはコンテキスト属性の修正を示す場合がある。さらに、図1の例は、(特定のユーザ入力に応じて、属性118a、120a、および122aに対して変更されない場合もあるいは調整される場合もある)属性116が、属性118b、120b、および122bなどの1つまたは複数の他の属性とは独立に属性140を生成するように修正されたことを示す。
【００４３】
図1の技法は、1つまたは複数の視覚的効果を実現するための画像の複数のレイヤの独立した調整を示す。したがって、図1の例は、プロセッサ100を含むデバイスの画像編集動作についてのユーザ制御を増強するのを可能にする。特定の例示的な例として、デバイスのユーザは、背景を「ぼかす」が前景を「ぼかさない」(または前景を「ぼかす」が背景を「ぼかさない」)ことなどによって、画像の背景の属性に対して画像の前景の属性を独立に修正してもよい。特定の例として、背景が「スーパーフォーカス」カメラ効果を近似するようにぼかされてもよい。
【００４４】
さらに、図1は、画像レイヤを抽出するための「スーパーピクセルベースのグラブカット」技法の一例について説明する図である。特定の従来の画像処理技法は、画像を「グローバル」に(または「ピクセル単位」ベースで)セグメント化することを試みる。図1の例では、画像データ102のクラスタを特定し、クラスタに基づいて画像をセグメント化し、それによって、グローバル技法と比べて画像処理動作の性能を向上させる場合がある。さらに、スーパーピクセルベースのグラブカット技法を使用して、画像データをピクセル単位ベースで分析するグローバル技法と比較して、画像改良動作(たとえば、画像レイヤまたはオブジェクトの1つまたは複数の境界を「補正する」ための1回または複数回のアルゴリズム反復)を加速してもよい。さらに、クラスタ化技法(たとえば、SLIC)の2つの特徴はエッジリコールとコンパクトさであることがわかっている。エッジリコールは、境界検出の向上に関連する場合があり、コンパクトさは、画像セグメント化動作(たとえば、グラブカット)に関連して有用である場合がある。したがって、スーパーピクセルベースのグラブカット技法を利用するデバイスは、性能が改善する場合がある。
【００４５】
図2を参照すると、画像の一例が示され、全体的に200と示されている。画像200は、背景202と前景204とを含む。特定の例では、背景202は画像レイヤ104aに対応し、前景204は画像レイヤ106aに対応する。画像200は画像データ102に対応してもよい(たとえば、画像データ102が画像200を表す場合がある)。
【００４６】
図2は、クラスタ化された画像210をさらに示す。クラスタ化された画像210は、クラスタアイデンティファイア124によって生成されてもよい。クラスタ化された画像210は、代表的なクラスタ212などの画像200のピクセルの複数のクラスタを含む。クラスタ212は、クラスタ特定情報126によって特定されてもよい。
【００４７】
図2は、結果的な画像220をさらに示す。結果的な画像220は、クラスタ化された画像210に基づく画像200の第2のレイヤの第2の属性から独立した画像200の第1のレイヤの第1の属性の調整を示す。たとえば、図2に示すように、画像200の背景部分202は結果的な画像220を生成するように削除されている。一例として、背景202は、クラスタ化された画像210に基づき、たとえば、クラスタ化された画像210のクラスタの類似性に基づいて削除されてもよい。特定の実施形態では、所定のコンテンツを背景202の代替にすることができる。特定の例示的な例として、背景202に対応する森の風景を海辺の風景(または別の風景)に交換してもよい。
【００４８】
図2の例は、画像のレイヤの独立した修正を示す。したがって、デバイスのユーザは、画像編集効果を画像全体に適用するデバイスと比較して画像編集動作に対するより顕著な制御を経験する場合がある。
【００４９】
図3は、画像300の例と、画像300に対応するセグメント化マスク310の例示的な図と、修正された画像320とを示す。図3では、セグメント化マスク310を使用して画像300を修正することによって、修正された画像320が生成される。たとえば、図3に示すように、セグメント化マスク310は複数の前景オブジェクトを特定する。図1の画像セグメントジェネレータ128は、複数の前景オブジェクトを画像300の背景に対してセグメント化することによって画像300をセグメント化してもよい。このようにして、画像レイヤ属性の独立した修正が可能になる。
【００５０】
画像300の複数のレイヤをセグメント化することによって、画像300の複数のレイヤを独立に調整することができる。図3の例では、修正された画像320はぼかした背景を含む。さらに、修正された画像320は、1つまたは複数の前景オブジェクトの色属性を変更することなどによって、画像300に対して修正された1つまたは複数の前景オブジェクトを含んでもよい。一例として、セグメント化マスク310は、ある前景オブジェクトのシャツの色を別の前景オブジェクトのシャツの色とは独立に修正することなどによって、各々を互いに対して(かつ背景に対して)独立に修正することができる複数の前景オブジェクトを特定する。
【００５１】
図3の例は、セグメント化マスク(セグメント化マスク310など)を使用して画像のレイヤの属性の独立した調整を可能にしてもよいことを示す。たとえば、セグメント化マスク310は、画像300の前景部分の独立した色調整を可能にしてもよい。
【００５２】
図4を参照すると、画像が示され、全体的に400と示されている。画像400はユーザインターフェース(UI)において表示されてもよい。UIは、ユーザが画像400の第2のレイヤの第2の属性に対して画像400の第1のレイヤの第1の属性を独立に調整するのを可能にする。一例として、図4の例はユーザ入力402を示す。ユーザ入力402は、画像400を表示するモバイルデバイスのディスプレイデバイスなどのディスプレイデバイスにおける、ユーザによるスワイプアクションに対応してもよい。図4の例では、ユーザ入力402は、画像背景などの画像400の画像レイヤを示してもよい。ユーザ入力402は、画像400の画像レイヤを選択するためにUIの少なくともしきい値数のピクセルを示してもよい。一例として、ユーザが誤ってUIにタッチしてユーザ入力402を生成した場合、ユーザ入力402はしきい値数よりも少ない数のピクセルを示してもよく、ユーザ入力402はレイヤを選択させなくてもよい。代替的に、ユーザ入力402が少なくともしきい値数のピクセルを示す場合、ユーザ入力402はレイヤを選択させてもよい。
【００５３】
図4は、画像410をさらに示す。画像410では、ユーザ入力402に応答することなどによって背景部分が削除されている。たとえば、ユーザ入力402が画像400の背景部分を指定する場合、画像400の背景部分は、図1〜図3を参照して説明した1つまたは複数の技法などのクラスタ特定および/またはセグメント化技法を使用して削除されてもよい。
【００５４】
図4は、画像410の改良に対応する画像420をさらに示す。たとえば、追加のユーザ入力に基づいて、画像410の追加の背景部分を削除して画像420を生成してもよい。
【００５５】
図4では、ユーザ入力を受け取って画像420を更新し、1つまたは複数の追加の背景部分を削除してもよい。たとえば、追加のユーザ入力を受け取ってセグメント化マスク430を生成してもよい。セグメント化マスク430は画像アーチファクト432を含む。画像アーチファクト432は、図1の画像アーチファクト134に対応してもよい。一例として、画像セグメントジェネレータ128の動作によって、セグメント化マスク430に対応するセグメント化マスク130を生成してもよい。しかし、セグメント化マスク130は、画像アーチファクト432などの1つまたは複数の画像アーチファクトを含む場合がある。特定の実施形態では、画像コンポーネントラベラー132は、画像アーチファクト432を削除して画像440を生成するように動作可能である。画像400は、修正された画像データ138に対応してもよい。
【００５６】
図4は、ユーザによる画像編集動作の制御を強化するのを可能にするための技法を示す。図4は、画像編集動作の質をさらに向上させるために画像アーチファクト432などの画像アーチファクトを削除することをさらに示す。図4の技法は、図5を参照してさらに説明するようにユーザインターフェース(UI)とともに利用されてもよい。
【００５７】
図5は、ユーザインターフェース(UI)500の一例を示す。UI500は、モバイルデバイスのディスプレイなどのディスプレイにおいて提示されてもよい。ディスプレイは、ユーザ入力を受け取るように構成されたタッチスクリーンディスプレイに対応してもよい。図5の例では、UI500は、画像編集アプリケーション(たとえば、画像をグラフィカルに表示し、画像に対する画像編集動作を容易にするモバイルデバイスアプリケーション)に関連してユーザに提示される複数の画像を示す。
【００５８】
図5は、画像502の選択時のUI500に対応するUI510をさらに示す。画像編集アプリケーションは、画像502を示すユーザ入力504に応答して、(たとえば、画像をサムネイルビューからフルビューに拡大することによって)画像502を拡大してUI520を生成してもよい。ユーザ入力504は、例示的な例として、UI510におけるスワイプアクションまたはタップアクションに対応してもよい。
【００５９】
特定の例示的な例として、ユーザインターフェース(UI)530は、ボタン532、534、536、538などの複数のボタンとともに画像502を示す。ボタン532、534、536、および538は、画像502の画像属性の調整などの1つまたは複数の動作が割り当てられてもよい。
【００６０】
一例として、ユーザはボタン534を選択してもよい。ボタン534は、UI530によって示される画像の背景部分または前景部分の表示を容易にするためにユーザによって選択されてもよい。一例として、図5は画像502の背景および/または前景を指定するためにユーザ入力が受け取られるUI540を示す。ユーザ入力は、図4のユーザ入力402に対応してもよい。特定の例として、ユーザは(たとえば、背景指定動作モードを入力するために)ボタン534を選択し、次いでユーザ入力(たとえば、ユーザ入力402)を入力してUI540において表示される画像の背景部分を指定してもよい。ユーザ入力は、画像の背景部分を指定するスワイプアクションに対応してもよい。ボタン532、536、および538のうちの1つまたは複数は、画像の前景部分を指定するのに使用可能な前景指定ボタンとして働いてもよい。ボタン532、536、および538のうちの1つまたは複数は、(たとえば、特定の画像編集アプリケーションに関連する)デフォルト動作および/またはユーザ定義動作(たとえば、ユーザ選好入力に基づくユーザ定義動作)に対応してもよい。
【００６１】
さらなる例として、画像レイヤ内の複数のオブジェクトが特定された場合、ボタン532、536、および538は、ユーザが複数のオブジェクトのうちの1つを選択するのを可能にしてもよい。特定の例として、(たとえば、図3の画像300に関連して)複数の前景オブジェクトが特定された場合、ボタン536を使用して第1の前景オブジェクトを指定してもよく、ボタン538を使用して第2の前景オブジェクトを指定してもよい。この例では、ボタン536を押した後、第1の前景オブジェクトを示すユーザスワイプアクションによって、第1の前景オブジェクトを目標とする画像編集動作を開始してもよい。同様に、ボタン538を押した後、第2の前景オブジェクトを示すユーザスワイプアクションによって、第2の前景オブジェクトを目標とする画像編集動作を開始してもよい。
【００６２】
図5は、ユーザが画像編集動作を単純にかつ効果的に制御するのを可能にするための高度ユーザインターフェース(UI)技法を示す。たとえば、ユーザは、図5の例において説明したようにボタン534を使用して画像の背景部分(または前景部分)を指定してもよい。
【００６３】
図6を参照すると、方法の特定の例示的な実施形態が示され、全体的に600と示されている。方法600は、プロセッサを含むモバイルデバイスなどのデバイスにおいて実行されてもよい。特定の例示的な実施形態では、方法600は、図1のプロセッサ100によって実行される。
【００６４】
方法600は、604において、画像に対応する画像データを受け取ることを含む。画像データは、画像データ102に対応してもよい。画像データは、カメラによって取り込まれた画像に対応してもよく、画像データは、画像の編集を可能にするために画像編集アプリケーションに関連してロードされてもよい。方法600は、608において、画像データに関連するクラスタを特定することをさらに含んでもよい。特定の例では、クラスタアイデンティファイア124は、クラスタ108aなどの、画像データ102のクラスタを特定してもよい。
【００６５】
方法600は、612において、クラスタに基づいて画像の第1の画像レイヤを特定することによって画像データをセグメント化することをさらに含んでもよい。一例として、クラスタアイデンティファイア124は、クラスタ特定情報126を画像セグメントジェネレータ128に供給してもよい。画像セグメントジェネレータ128は、クラスタ特定情報126に基づいて、画像の前景部分を特定することによって画像データをセグメント化してもよい。画像セグメントジェネレータ128は、セグメント化マスク130を生成して画像の画像レイヤの独立した修正を可能にしてもよい。
【００６６】
方法600は、616において、第1の画像レイヤを使用して1つまたは複数のコンポーネントラベリング動作を開始することをさらに含んでもよい。方法600は、620において、画像の第2の画像レイヤ(たとえば、背景)を特定することをさらに含んでもよい。方法600は、624において、プロンプトを出してデバイスのユーザに、第2の画像レイヤの第2の属性とは独立に第1の画像レイヤの第1の属性を調整するように促すことをさらに含んでもよい。特定の例として、デバイスのユーザは、促されることによって属性118a、120a、122aのうちの1つまたは複数とは独立に属性116を調整してもよい(たとえば、属性140を生成してもよい)。
【００６７】
方法600は、628において、ユーザ入力を受け取ることをさらに含んでもよい。特定の実施形態では、ユーザ入力は、タッチスクリーンなどのデバイスのディスプレイにおいて受け取られる。方法600は、640において、ユーザ入力に基づいて修正された画像を生成することをさらに含んでもよい。修正された画像は、図1の修正された画像データ138に対応してもよい。
【００６８】
図6の方法600は、ユーザによって画像編集動作を単純にかつ効率的に制御するのを可能にする。たとえば、方法600は、ポータブルデバイス(たとえば、タッチスクリーンユーザインターフェースを有するモバイルデバイス)とともに利用され、しかも画像編集動作に対する高レベルのユーザ制御(たとえば、画像のレイヤの独立した調整)を可能にする場合がある。
【００６９】
図7を参照すると、方法の特定の例示的な実施形態が示され、全体的に700と示されている。方法700は、プロセッサを含むモバイルデバイスなどのデバイスにおいて実行されてもよい。特定の例示的な実施形態では、方法700は、図1のプロセッサ100によって実行される。
【００７０】
方法700は、708において、画像に対応する画像データを第1の画像レイヤおよび第2の画像レイヤへとセグメント化することを含む。第1の画像レイヤおよび第2の画像レイヤは、例示的な例として、それぞれ画像レイヤ104a、106aに対応してもよい。
【００７１】
方法700は、712において、ユーザ入力に基づいて第2の画像レイヤの第2の属性とは独立に第1の画像レイヤの第1の属性を調整することをさらに含んでもよい。特定の例では、第1の属性は属性116に対応し、第2の属性は属性120a、122aのうちの1つまたは複数に対応する。
【００７２】
方法700は高度な画像編集動作を容易にする。たとえば、画像編集動作は、画像レイヤ(たとえば、背景および前景)を個別に目標としてある画像レイヤに対して別の画像レイヤとは異なる画像編集効果を実現してもよい。
【００７３】
図8を参照すると、モバイルデバイスの特定の例示的な実施形態のブロック図が示され、全体が800と示される。モバイルデバイス800は、1つまたは複数の処理リソース810を含んでもよい。1つまたは複数の処理リソース810はプロセッサ100を含む。1つまたは複数の処理リソース810は、メモリ832(たとえば、非一時的コンピュータ可読媒体)などのコンピュータ可読媒体に結合されてもよい。メモリ832は、1つまたは複数の処理リソース810によって実行可能な命令858、および1つまたは複数の処理リソース810によって使用可能なデータ852を記憶してもよい。メモリ832は、クラスタ特定命令892、画像セグメント化命令894、および/または画像ラベリング命令896をさらに記憶してもよい。
【００７４】
モバイルデバイス800は、電荷結合素子(CCD)画像センサおよび/または相補型金属酸化物半導体(CMOS)画像センサなどの画像センサを有するカメラを含んでもよい。たとえば、図8は、カメラ856がカメラコントローラ890に結合されてもよいことを示している。カメラコントローラ890は、1つまたは複数の処理リソース810に結合されてもよい。命令858は、カメラ856によって取り込まれた1つまたは複数の画像を編集するように処理リソース810によって実行可能な画像編集アプリケーションを含んでもよく、データ852は、画像データ102などの1つまたは複数の画像に対応する画像データを含んでもよい。
【００７５】
図8は、1つまたは複数の処理リソース810およびディスプレイ828に結合されたディスプレイコントローラ826も示す。ディスプレイは、ユーザインターフェース(UI)872を表示するように構成されてもよい。特定の実施形態では、ディスプレイ828はタッチスクリーンを含み、UI872は、タッチスクリーンにおけるユーザ操作(たとえば、スワイプ操作)に応答する。
【００７６】
コーダ/デコーダ(コーデック)834も、1つまたは複数の処理リソース810に結合することが可能である。スピーカ836およびマイクロフォン838をコーデック834に結合することができる。図8は、ワイヤレスコントローラ840を1つまたは複数の処理リソース810に結合できることも示している。ワイヤレスコントローラ840は、無線周波数(RF)インターフェース880を介してアンテナ842にさらに結合されてもよい。
【００７７】
特定の実施形態では、1つまたは複数の処理リソース810、メモリ832、ディスプレイコントローラ826、カメラコントローラ890、コーデック834、およびワイヤレスコントローラ840は、システムインパッケージデバイスまたはシステムオンチップデバイス822に含まれる。入力デバイス830および電源844は、システムオンチップデバイス822に結合されてもよい。
【００７８】
さらに、特定の実施形態では、図8に示すように、ディスプレイ828、入力デバイス830、カメラ856、スピーカ836、マイクロフォン838、アンテナ842、RFインターフェース880、および電源844は、システムオンチップデバイス822の外部にある。しかしながら、ディスプレイ828、入力デバイス830、カメラ856、スピーカ836、マイクロフォン838、アンテナ842、RFインターフェース880、および電源844の各々は、インターフェースまたはコントローラなどの、システムオンチップデバイス822の構成要素に結合することが可能である。
【００７９】
前述の実施形態では、非一時的コンピュータ可読媒体は命令を記憶する。非一時的コンピュータ可読媒体はメモリ832に対応してもよく、命令は、クラスタ特定命令892、画像セグメント化命令894、画像ラベリング命令896、および/または命令858のうちのいずれを含んでもよい。命令は、プロセッサ(たとえば、プロセッサ100)に、画像に関連する画像データを第1の画像レイヤおよび第2の画像レイヤへとセグメント化させるようにプロセッサによって実行可能である。画像データは、画像データ102に対応してもよく、第1の画像レイヤおよび第2の画像レイヤは、画像レイヤ104a、106aに対応してもよい。命令は、ユーザ入力に基づいて第2の画像レイヤの第2の属性とは独立に第1の画像レイヤの第1の属性を調整するようにプロセッサによってさらに実行可能である。第1の属性および第2の属性は、例示的な例として属性116、120aに対応してもよい。
【００８０】
別の特定の実施形態では、装置(たとえば、プロセッサ100)は、画像に関連する画像データを第1の画像レイヤおよび第2の画像レイヤへとセグメント化するための手段を含む。第1の画像レイヤおよび第2の画像レイヤは、画像レイヤ104a、106aに対応してもよい。画像データをセグメント化するための手段は画像セグメントジェネレータ128に対応してもよく、画像データは画像データ102に対応してもよい。この装置は、ユーザ入力に基づいて第2の画像レイヤの第2の属性とは独立に第1の画像レイヤの第1の属性を調整するための手段をさらに含む。第1の属性を調整するための手段は、画像モディファイア136に対応してもよい。第1の属性および第2の属性は、例示的な例として属性116、120aに対応してもよい。
【００８１】
図9を参照すると、モバイルデバイス902の第1の動作状態が示され、全体的に900と示されている。モバイルデバイス902は、(図9には示されていない)プロセッサ100を含んでもよい。代替的にまたは追加として、モバイルデバイスは別のプロセッサを含んでもよい。
【００８２】
モバイルデバイス902は、ディスプレイデバイス904とメモリ906とを含む。ディスプレイデバイス904は、属性910(たとえば、色属性)を有し、属性912(たとえば、ぼかし属性)をさらに有する画像908を表示してもよい。属性910、912は、画像908の共通のレイヤに対応しても個別のレイヤに対応してもよい。特定の例では、属性910は、画像レイヤ104aの属性116に対応し、属性912は画像レイヤ106aの属性120aに対応する。
【００８３】
メモリ906は、画像908に対応する画像データ914を記憶してもよく、1つまたは複数のユーザ構成パラメータ916をさらに記憶してもよい。ユーザ構成パラメータ916は、モバイルデバイス902において受け取られたユーザ入力が属性910、912のうちの1つまたは複数にどのように影響を与えるかを判定してもよい。一例として、モバイルデバイス902においてユーザ入力918が受け取られてもよい。ユーザ入力918は、モバイルデバイス902に対する垂直方向または水平方向などの第1の方向を実質的に示してもよい。
【００８４】
本明細書では、ユーザ入力は、特定のデバイス構成および/またはアプリケーションに応じて、方向を示すものとしてデバイスによって認識される場合に「実質的に」方向を有してもよい。一例として、スワイプ入力は、厳密に垂直ではなくてもよいが、デバイスがスワイプ入力を垂直方向を示すものとして認識する場合には実質的に垂直であってもよい。特定の非制限的な例として、デバイスは、スワイプ操作が方向内の特定のベクトル成分を有する場合、スワイプ操作がその方向を示すものとして認識されるように構成されてもよい。たとえば、デバイスにおけるユーザ入力は、デバイスによって複数の方向成分(たとえば、ベクトル)に分解されてもよい。デバイスは、複数の方向成分を比較して複数の方向成分の比を求めてもよい。比がしきい値を超えている場合、デバイスは、ユーザ入力が方向を示すと判定してもよい。さらなる例として、ユーザ入力が直線ではない(あるいはほぼ直線とは言えない)場合、デバイスは、ある技法に従ってユーザ入力に関連する点を線に「当てはめる」(たとえば、補間する)ことによってユーザ入力を近似してもよい。この技法には、例示的な例として「最小平均2乗誤差」(MMSE)技法を含めてもよい。
【００８５】
ユーザ構成パラメータ916は、第1の方向を示すユーザ入力が画像908に対して実行すべき第1の画像編集動作を示すことを示してもよい。たとえば、ユーザ構成パラメータ916は、第1の方向を示すユーザ入力が色属性変更動作を示すことを示してもよい。特定の実施形態では、ユーザ入力918はスワイプ操作(たとえば、垂直スワイプまたは水平スワイプ)を含む。1つまたは複数の代替例では、ユーザ入力918が特定の実装形態に応じて、ホバー操作、タップ操作、スタイラス入力操作、赤外線(IR)ベースの操作、(たとえば、ポインティングジェスチャーを検出するように構成されたマルチカメラ構成に関連する)ポインティングジェスチャー、または別の操作などの別の操作を含んでもよいことを認識されたい。
【００８６】
図9は、モバイルデバイス902の第2の動作状態920をさらに示す。第2の動作状態920では、属性910がユーザ入力918に基づいて修正され、属性922が生成されている。モバイルデバイス902は、ユーザ入力918に応答して修正された画像データ926を生成してもよい。
【００８７】
モバイルデバイス902においてユーザ入力928が受け取られてもよい。ユーザ入力928は、実質的に第1の方向を示してもよい。ユーザ構成パラメータ916は、第1の方向を特定するユーザ入力が、画像908に対して別の画像編集動作を生じさせることを示してもよい。たとえば、モバイルデバイス902の第3の動作状態930は、属性912が属性932を生成するようにユーザ入力928に基づいて修正されていることを示す。属性932は、画像908の画像レイヤのぼかしに対応してもよい。モバイルデバイス902は、属性932を示す修正された画像データ936を生成してもよい。修正された画像データ936は、(たとえば、修正された画像データ926にガウスぼかし技法を適用した後の)「ぼかし」効果を有する修正された画像データ926に対応してもよい。
【００８８】
特定の実施形態では、第1の方向を示すユーザ入力は第1の画像編集動作を示す。一例として、水平スワイプアクションは、画像の特定のレイヤ(たとえば、前景)を目標とする色変更動作を示してもよい。1つまたは複数の続く水平スワイプアクションは、様々な色変更動作(たとえば、赤から青へ、青から緑へ、など)を「循環し」てもよい。第2の方向を示すユーザ入力は、画像の異なるレイヤへの画像編集動作などの第2の画像編集動作を示してもよい。たとえば、垂直スワイプアクションは、画像の背景などに対する画像ぼかし動作を選択するかまたは生じさせてもよい。1つまたは複数の続く垂直スワイプアクションは、背景を所定のコンテンツ(たとえば、海辺のシーン)および/またはその他のコンテンツと交換することなどによる、背景に対する1つまたは複数の追加の画像編集動作を選択するかまたは生じさせてもよい。したがって、一実施形態では、第1の方向における(たとえば、垂直方向における)スワイプは、様々な利用可能な画像編集動作(たとえば、視覚的効果)を循環してもよく、第2の方向における(たとえば、垂直方向における)スワイプは、選択された画像編集動作に関する様々なオプション(たとえば、色、ぼかし強度など)を循環してもよい。代替実施形態では、様々な方向におけるスワイプまたは様々な軸に沿ったスワイプは、異なる画像編集動作(たとえば、色変更のための上下のスワイプ、ぼかしのための左右のスワイプ、背景風景の交換のための対角方向のスワイプなど)に対応してもよい。ユーザ入力操作に関連する特定の方向はユーザによって構成されてもよい。たとえば、ユーザ構成パラメータ916は、対角方向のスワイプアクションが(たとえば、水平方向の代わりに)色変更動作を示すかまたは(たとえば、垂直方向の代わりに)画像ぼかし動作を示すことを示すようにユーザ構成可能であってもよい。ユーザ構成パラメータ916のユーザ構成について、図11を参照しながらさらに説明する。
【００８９】
図9の例は、画像編集動作の簡略化された制御を示す。たとえば、ユーザ入力918、928はそれぞれの画像編集動作に対応するので、モバイルデバイス902のユーザは好都合で高速の入力方法(たとえば、スワイプアクション)を使用して複数の画像編集動作を実行し、画像編集動作の複雑さを低減させてもよい。
【００９０】
図10を参照すると、方法の特定の例示的な実施形態が示され、全体的に1000と示されている。方法1000は、1004において、モバイルデバイスにおいて第1の画像を表示することを含む。モバイルデバイスはモバイルデバイス902に対応してもよく、第1の画像は画像908に対応してもよい。
【００９１】
方法1000は、1008において、モバイルデバイスにおいて第1のユーザ入力を受け取ることをさらに含む。第1のユーザ入力は、モバイルデバイスに対する方向を示す。たとえば、第1のユーザ入力は、垂直方向または水平方向を示してもよい。第1のユーザ入力は、ユーザ入力918に対応してもよい。
【００９２】
方法1000は、1012において、第2の画像を生成するために第1のユーザ入力に基づいて第1の画像に対して第1の画像編集動作を実行することをさらに含んでもよい。第1の画像編集動作は、属性910を属性922を生成するように修正することなどによって画像924を生成してもよい。特定の例として、第1の画像編集動作は、画像908の色属性を画像924を生成するように修正することを含んでもよい。
【００９３】
方法1000は、1016において、モバイルデバイスにおいて第2の画像を表示することをさらに含んでもよい。たとえば、画像924は、モバイルデバイス902のディスプレイデバイス904において表示されてもよい。
【００９４】
方法1000は、1020において、モバイルデバイスにおいて第2のユーザ入力を受け取ることをさらに含んでもよい。第2のユーザ入力は方向を示す。1つまたは複数の構成では、第2のユーザ入力は、実質的にモバイルデバイスに対する別の方向(たとえば、第1のユーザ入力によって示される垂直方向ではなく水平方向など)を示してもよい。第2のユーザ入力は、ユーザ入力928に対応してもよい。
【００９５】
方法1000は、1024において、第3の画像を生成するために第2の画像に対して第2の画像編集動作を実行することをさらに含んでもよい。たとえば、第2の画像編集動作は、画像924のレイヤをぼかすことなどによって、属性912を属性932を生成するように修正してもよい。第3の画像は、画像934に対応してもよい。
【００９６】
方法1000は、場合によっては、モバイルデバイスに対する方向を示す第3のユーザ入力を受け取ることを含んでもよい。第3のユーザ入力は、第1の画像編集動作および第2の画像編集動作を取り消すためのコマンドに対応する。一例として、モバイルデバイスのユーザが第1の画像編集動作および第2の画像編集動作に不満である場合、ユーザはユーザ入力(たとえば、実質的に特定の方向におけるスワイプ操作)を「繰り返し」て第1の画像編集動作および第2の画像編集動作を「取り消し」てもよい。
【００９７】
方法1000は、画像編集動作の簡略化された制御を示す。たとえば、モバイルデバイスのユーザは、特定の入力方法(たとえば、スワイプアクション)を使用して複数の画像編集動作を実行し、画像編集動作の複雑さを低減させてもよい。さらに、図11を参照して説明するように、ユーザは、たとえば画像編集動作の順序を調整するようにユーザ構成パラメータを再構成してもよい。
【００９８】
図11は、モバイルデバイス902の特定の例示的な実施形態を示す。モバイルデバイス902は、1つまたは複数の処理リソース1110(たとえば、プロセッサ100などのプロセッサ、別のプロセッサ、またはそれらの組合せなど)を含んでもよい。1つまたは複数の処理リソース1110は、メモリ906(たとえば、非一時的コンピュータ可読媒体)などのコンピュータ可読媒体に結合されてもよい。メモリ906は、1つまたは複数の処理リソース1110によって実行可能な命令1158、および1つまたは複数の処理リソース1110によって使用可能なデータ1152を記憶してもよい。メモリ906は、画像データ914およびユーザ構成パラメータ916を記憶してもよい。
【００９９】
モバイルデバイス902は、電荷結合素子(CCD)画像センサおよび/または相補型金属酸化物半導体(CMOS)画像センサなどの画像センサを有するカメラを含んでもよい。たとえば、図11は、カメラ1156がカメラコントローラ1190に結合されてもよいことを示す。カメラコントローラ1190は、1つまたは複数の処理リソース1110に結合されてもよい。画像データ914は、カメラ1156によって取り込まれた画像に対応してもよい。
【０１００】
図11は、1つまたは複数の処理リソース1110およびディスプレイデバイス904に結合されたディスプレイコントローラ1126も示す。ディスプレイデバイス904は、ユーザインターフェース(UI)1172を表示するように構成されてもよい。特定の実施形態では、ディスプレイデバイス904はタッチスクリーンを含み、UI1172は、タッチスクリーンにおけるユーザ操作(たとえば、スワイプ操作)に応答する。
【０１０１】
コーダ/デコーダ(コーデック)1134も、1つまたは複数の処理リソース1110に結合することが可能である。スピーカ1136およびマイクロフォン1138をコーデック1134に結合することができる。図11は、ワイヤレスコントローラ1140を1つまたは複数の処理リソース1110に結合できることも示す。ワイヤレスコントローラ1140は、無線周波数(RF)インターフェース1180を介してアンテナ1142にさらに結合されてもよい。
【０１０２】
特定の実施形態では、1つまたは複数の処理リソース1110、メモリ906、ディスプレイコントローラ1126、カメラコントローラ1190、コーデック1134、およびワイヤレスコントローラ1140は、システムインパッケージデバイスまたはシステムオンチップデバイス1122に含まれる。入力デバイス1130および電源1144は、システムオンチップデバイス1122に結合されてもよい。
【０１０３】
さらに、特定の実施形態では、図11に示すように、ディスプレイデバイス904、入力デバイス1130、カメラ1156、スピーカ1136、マイクロフォン1138、アンテナ1142、RFインターフェース1180、および電源1144は、システムオンチップデバイス1122の外部にある。しかしながら、ディスプレイデバイス904、入力デバイス1130、カメラ1156、スピーカ1136、マイクロフォン1138、アンテナ1142、RFインターフェース1180、および電源1144の各々は、インターフェースまたはコントローラなどの、システムオンチップデバイス1122の構成要素に結合することが可能である。
【０１０４】
動作時には、モバイルデバイス902においてユーザ選好入力1192が受け取られてもよい。ユーザ選好入力1192はユーザ構成パラメータを調整してもよい。ユーザ選好入力1192は、ディスプレイデバイス904において(たとえば、ディスプレイデバイス904のタッチスクリーンにおいて)受け取られても、入力デバイス1130において(たとえば、入力デバイス1130のキーボードにおいて)受け取られても、またはそれらの組合せにおいて受け取られてもよい。図11の例では、ユーザ選好入力1192は、モバイルデバイス902において実行される画像編集動作の順序を再構成してもよい。例示的な例として、ユーザ選好入力1192は、色変更動作が画像ぼかし動作よりも前に行われることを示すようにユーザ構成パラメータ916を再構成してもよい。
【０１０５】
さらなる例として、ユーザ選好入力1192は、ユーザ構成パラメータ916を第1の状態から第2の状態に再構成してもよい。第1の状態は、最初のユーザ入力(たとえば、図9のユーザ入力918)が色変更動作を開始し、後続のユーザ入力(たとえば、図9のユーザ入力928)が画像ぼかし動作を開始することを示してもよい。ユーザ選好入力1192を第1の状態から第2の状態に再構成することによって、最初のユーザ入力(たとえば、図9のユーザ入力918)が画像ぼかし動作を開始してもよく、その後続のユーザ入力(たとえば、図9のユーザ入力928)が色変更動作を開始してもよい。
【０１０６】
図11の技法は、モバイルデバイスのユーザによってユーザインターフェース(UI)の簡略化された制御を行うことを可能にする。たとえば、UIは、ユーザが、特定のユーザ入力(たとえば、特定の方向におけるスワイプ)に特定の画像編集動作を割り当てるユーザ構成パラメータを設定するのを可能にしてもよく、それによって、モバイルデバイスによって実行される画像編集動作のユーザ制御を簡略化してもよい。
【０１０７】
命令1158は、本明細書で説明する1つまたは複数の動作を実行するために、1つまたは複数の処理リソース1110によって実行可能であってもよい。さらなる例として、前述の実施形態に関連して、コンピュータ可読媒体(たとえば、メモリ906)は、モバイルデバイス(たとえば、モバイルデバイス902)に、モバイルデバイスにおいて第1の画像(たとえば、画像908)を表示させ、かつモバイルデバイスにおいて第1のユーザ入力(たとえば、ユーザ入力918)を受け取らせるようにプロセッサ(たとえば、1つまたは複数の処理リソース1110)によって実行可能な命令(たとえば、命令1158)を記憶する。第1のユーザ入力は、モバイルデバイスに対する方向を示す。命令は、第2の画像(たとえば、画像924)を生成するために、第1のユーザ入力に基づいて、第1の画像に対して第1の画像編集動作を実行し、モバイルデバイスにおいて第2の画像を表示し、モバイルデバイスにおいて第2のユーザ入力(たとえば、ユーザ入力928)を受け取るようにプロセッサによってさらに実行可能である。第2のユーザ入力は、モバイルデバイスに対する方向を示す。命令は、第3の画像(たとえば、画像934)を生成するために、第2のユーザ入力に基づいて、第2の画像に対して第2の画像編集動作を実行するようにプロセッサによってさらに実行可能である。
【０１０８】
前述の実施形態に関連して、装置は、モバイルデバイス(たとえば、モバイルデバイス902)において第1の画像(たとえば、画像908)を表示するための手段(たとえば、ディスプレイデバイス904)と、モバイルデバイスにおいて第1のユーザ入力(たとえば、ユーザ入力918)を受け取るための手段(たとえば、ディスプレイデバイス904および/または入力デバイス1130)とを含む。第1のユーザ入力は、モバイルデバイスに対する方向を示す。装置は、第1のユーザ入力に基づいて第2の画像(たとえば、画像924)を生成するために第1の画像に対して第1の画像編集動作を実行するための手段(たとえば、1つまたは複数の処理リソース1110)と、モバイルデバイスに第2の画像を表示させるための手段(たとえば、ディスプレイデバイス904および/または入力デバイス1130)と、第2のユーザ入力(たとえば、ユーザ入力928)を受け取るための手段(たとえば、ディスプレイデバイス904および/または入力デバイス1130)とをさらに含む。第2のユーザ入力は、モバイルデバイスに対する方向を示す。この装置は、第2のユーザ入力に基づいて、第3の画像(たとえば、画像934)を生成するために第2の画像に対して第2の画像編集動作を実行するための手段(たとえば、1つまたは複数の処理リソース1110)をさらに含む。
【０１０９】
図12を参照すると、方法の特定の実施形態が示され、全体的に1200と示されている。方法1200は、プロセッサ100などのプロセッサおよび/または処理リソース810、1110のうちのいずれかによって実行されてもよい。方法1200は、モバイルデバイス(たとえば、モバイルデバイス800、902のうちの1つまたは複数)などのデバイスにおいて実行されてもよい。
【０１１０】
方法1200は、1204において、ユーザインターフェースから第1のユーザ入力を受け取ることを含む。第1のユーザ入力はユーザ入力504に対応してもよく、ユーザインターフェースはUI500、UI872、およびUI1172のいずれかに対応してもよい。第1のユーザ入力は、表示動作用の画像を示す。一例として、画像は画像502に対応してもよい。さらなる例として、第1のユーザ入力は、ユーザインターフェースにおいて提示される画像ギャラリーから画像を選択するタッチスクリーン動作に対応してもよい。第1のユーザ入力は、ユーザインターフェースにおける画像を「サムネイル」ビューから「フル」ビューに拡大するための要求に対応してもよい。
【０１１１】
方法1200は、1208において、第1のユーザ入力に基づいて表示動作を実行し、第1のユーザ入力に基づく画像に対応する画像データを使用してクラスタ化動作を自動的に開始することをさらに含む。一例として、クラスタ化動作は、モバイルデバイスにおいて画像が「ロード」されるのと同時に実行されてもよい。画像をロードすることは、例示的な例として、画像を(たとえば、サムネイルビューからフルビューに)拡大することまたは画像編集アプリケーションを起動することを含んでもよい。クラスタ化動作はSLIC動作を含んでもよい。クラスタ化動作は、画像をサムネイルビューからフルビューに拡大するために表示動作が実行されている間に、画像データ内のクラスタを特定するために開始されてもよい。
【０１１２】
方法1200は、1216において、ユーザインターフェースから第2のユーザ入力を受け取ることをさらに含んでもよい。第2のユーザ入力は、ユーザ入力918に対応してもよい。第2のユーザ入力は、画像の第1の画像レイヤを特定する。第1の画像レイヤは、画像レイヤ104aに対応してもよい。第2のユーザ入力は、タッチスクリーンデバイスにおけるスワイプアクションを使用して画像の前景を特定してもよい。第2のユーザ入力は、前景を目標とする画像編集動作(たとえば、色変更動作、画像ぼかし動作など)を示してもよい。
【０１１３】
方法1200は、1220において、第1の画像レイヤに関連付けられた画像セグメント化動作を自動的に開始することをさらに含んでもよい。たとえば、画像セグメント化動作は、第2のユーザ入力が完了したときに(たとえば、スワイプアクションが完了したときに)自動的に開始されてもよい。1つまたは複数の他の例では、画像セグメント化動作は、画像の背景を特定するユーザ入力を受け取ったときに自動的に開始されてもよい。
【０１１４】
方法1200は、1222において、画像コンポーネントラベリング動作を実行することをさらに含んでもよい。画像コンポーネントラベリング動作は、画像セグメント化動作が完了した後に開始されてもよい。
【０１１５】
方法1200は、1224において、ユーザインターフェースから第3のユーザ入力を受け取ることをさらに含んでもよい。第3のユーザ入力は、画像の第2の画像レイヤを特定する。たとえば、第3のユーザ入力は、タッチスクリーンデバイスにおけるスワイプアクションを使用して画像の背景を特定してもよい。背景は第2の画像レイヤに対応してもよい。第3のユーザ入力は、ユーザ入力928に対応してもよい。第3のユーザ入力は、背景を目標とする画像編集動作(たとえば、色変更動作、画像ぼかし動作など)を示してもよい。
【０１１６】
方法1200は、1228において、修正された画像を生成するように第3のユーザ入力に基づいて画像を修正することをさらに含んでもよい。特定の例示的な例として、修正された画像は、それぞれ第2のユーザ入力および第3のユーザ入力に基づいて修正された前景および背景を含んでもよい。
【０１１７】
方法1200は、ユーザが高度な画像編集を行うのを容易にする。たとえば、画像のロード時に画像クラスタ化動作に関連するずれを「隠す」ことによって、ユーザには画像編集動作がより高速に行われているように見えるようにしてもよい(画像の画像レイヤに対して実行すべき画像編集動作を示すユーザ入力によって、ユーザが画像編集動作を直接開始するよりも前に画像のクラスタ化が完了してもよいためである)。さらに、画像セグメント化動作は、画像のすべての画像レイヤの画像処理動作に関するユーザ入力を受け取る前に開始されてもよい。たとえば、画像セグメント化動作は、第1の画像レイヤ(たとえば、前景)に関するユーザ入力が受け取られた直後に、第2の画像レイヤ(たとえば、背景)に関するユーザ入力を受け取ることなく(または受け取る前に)開始されてもよい。特定の例では、画像セグメント化動作および画像コンポーネントラベリング動作は、ユーザが第2の画像レイヤに関連する画像編集動作を示すためのスワイプアクションを実行する間に第1の画像レイヤに対して実行され、画像編集動作の応答性および速度が向上し、ユーザエクスペリエンスが改善される。
【０１１８】
前述の実施形態に関連して、コンピュータ可読媒体は、プロセッサに、ユーザインターフェースから第1のユーザ入力を受け取らせるようにプロセッサによって実行可能な命令を記憶してもよい。コンピュータ可読媒体は、メモリ832、906のうちの1つまたは複数に対応してもよく、プロセッサは、プロセッサ100および/または処理リソース810、1110のうちのいずれかに対応してもよい。ユーザインターフェースは、UI500、872、および1172のいずれかに対応してもよい。第1のユーザ入力は、表示動作用の画像を選択する。画像は画像502に対応してもよく、第1のユーザ入力はユーザ入力504に対応してもよい。命令は、第1のユーザ入力に基づいて表示動作を実行し、第1のユーザ入力に基づく画像に対応する画像データを使用してクラスタ化動作を自動的に開始するようにプロセッサによってさらに実行可能である。画像データは、画像データ102に対応してもよい。
【０１１９】
前述の実施形態に関連して、装置(たとえば、モバイルデバイス800、902のいずれか)は、ユーザインターフェースから第1のユーザ入力を受け取るための手段を含む。第1のユーザ入力を受け取るための手段は、ディスプレイ828および/またはディスプレイデバイス904に対応してもよい。ユーザインターフェースは、UI500、872、および1172のいずれかに対応してもよい。第1のユーザ入力は、表示動作用の画像を選択する。画像は、例示的な例として、画像502に対応してもよい。装置は、第1のユーザ入力に基づいて表示動作を実行するための手段(たとえば、ディスプレイ828および/またはディスプレイデバイス904)と、第1のユーザ入力に基づく画像に対応する画像データ(たとえば、画像データ102)を使用してクラスタ化動作を自動的に開始するための手段(たとえば、プロセッサ100および/または処理リソース810、1110のうちのいずれか)とをさらに含む。
【０１２０】
当業者には、上記の開示したデバイスおよび機能は、コンピュータ可読媒体上に記憶されたコンピュータファイル(たとえばRTL、GDSII、GERBERなど)の中に設計および構成されてもよいことが諒解されよう。そのようなファイルの一部またはすべてが、そのようなファイルに基づいてデバイスを製作する製作担当者に提供されてもよい。得られる製品としては、半導体ダイに分離されて半導体チップへパッケージングされる半導体ウェハが含まれる。半導体チップは次いで、モバイルデバイス800および/またはモバイルデバイス902内などのデバイス内で使用される。
【０１２１】
当業者には、本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムステップが電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装されてもよいことがさらに諒解されよう。様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップについて、それらの機能に関して概略的に上記で説明した。そのような機能が、ハードウェアとして実装されるかソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課された設計制約次第である。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱をもたらすものと解釈されるべきではない。
【０１２２】
本明細書で開示する実施形態に関して説明する方法またはアルゴリズムのステップは、直接ハードウェアにおいて具現化されても、プロセッサによって実行されるソフトウェアモジュールにおいて具現化されても、またはこの2つの組合せにおいて具現化されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野で知られている任意の他の形態の記憶媒体中に存在してもよい。例示的な非一時的媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替形態では、記憶媒体はプロセッサと一体であってもよい。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)および/またはフィールドプログラマブルゲートアレイ(FPGA)チップ中に存在してもよい。ASICおよび/またはFPGAチップは、コンピューティングデバイスまたはユーザ端末中に存在してもよい。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末中にディスクリート構成要素として存在してもよい。
【０１２３】
開示した実施形態の前述の説明は、開示した実施形態を当業者が作成または使用することを可能にするために提供される。これらの実施形態に対する種々の変更は、当業者には容易に明らかになり、本明細書において規定された原理は、本開示の範囲から逸脱することなく、他の実施形態に適用されてもよい。したがって、本開示は、本明細書に示される実施形態に限定されることを意図するものではなく、以下の特許請求の範囲によって規定される原理および新規な特徴と一致する、取り得る最も広い範囲を与えられるべきである。
【符号の説明】
【０１２４】
100  プロセッサ
102  画像データ
104a  画像レイヤ
106a  画像レイヤ
108a  クラスタ
110a  クラスタ
112a  クラスタ
114a  クラスタ
116  属性
118a  属性
120a  属性
122a  属性
124  クラスタアイデンティファイア
126  クラスタ特定情報
128  画像セグメントジェネレータ
130  セグメント化マスク
132  画像コンポーネントラベラー
134  画像アーチファクト
136  画像モディファイア
138  修正された画像データ
140  属性
200  画像
202  背景
204  前景
210  クラスタ化された画像
212  クラスタ
220  結果的な画像
300  画像
310  セグメント化マスク
320  修正された画像
400  画像
402  ユーザ入力
410  画像
420  画像
430  セグメント化マスク
432  画像アーチファクト
440  画像
500、510、520、530、540  ユーザインターフェース
502  画像
504  ユーザ入力
532  ボタン
536  ボタン
538  ボタン
800  モバイルデバイス
810  処理リソース
822  システムオンチップデバイス
826  ディスプレイコントローラ
828  ディスプレイ
830  入力デバイス
832  メモリ
834  コーデック
836  スピーカ
838  マイクロフォン
840  ワイヤレスコントローラ
842  アンテナ
844  電源
852  データ
856  カメラ
858  命令
880  RFインターフェース
890  カメラコントローラ
892  クラスタ特定命令
894  画像セグメント化命令
896  画像ラベリング命令
902  モバイルデバイス
904  ディスプレイデバイス
906  メモリ
908  画像
910  属性
912  属性
914  画像データ
916  ユーザ構成パラメータ
918  ユーザ入力
920  第2の動作状態
922  属性
924  画像
926  修正された画像データ
928  ユーザ入力
930  第3の動作状態
932  属性
934  画像
936  修正された画像データ
1110  処理リソース
1126  ディスプレイコントローラ
1130  入力デバイス
1134  コーデック
1136  スピーカ
1138  マイクロフォン
1140  ワイヤレスコントローラ
1142  アンテナ
1144  電源
1156  カメラ
1158  命令
1180  RFインターフェース
1190  カメラコントローラ
1192  ユーザ選好入力
D_s  距離測度
S  グリッド間隔サイズ
V  滑らかさ項
【図１】
0006355746.tif 000006
【図２】
0006355746.tif 000007
【図３】
0006355746.tif 000008
【図４】
0006355746.tif 000009
【図５】
0006355746.tif 000010
【図６】
0006355746.tif 000011
【図７】
0006355746.tif 000012
【図８】
0006355746.tif 000013
【図９】
0006355746.tif 000014
【図１０】
0006355746.tif 000015
【図１１】
0006355746.tif 000016
【図１２】
0006355746.tif 000017