各種実施形態は、一般に、デコンボリューション画像において色収差を減じる方法、装置及びコンピュータプログラム製品に関する。
背景
携帯電話機や他のマルチメディアデバイス等の各種電子デバイスは、画像を撮影するのに広く用いられている。撮影した殆んどの画像は、手の震え又はその他理由により、ぼやけた画像であり、又は焦点が外れた画像である。そのようなぼやけた画像を修復する努力が為されている。ぼやけた画像からぼやけを除去するために用いられる方法の一例として、点広がり関数に基づいた画像デコンボリューションが挙げられる。ぼやけた画像に対して画像デコンボリューションを実行することによって得られたデコンボリューション画像は、より鮮明であり、かつ焦点があっているが、色収差だらけである。デコンボリューション画像からこのような色収差を減じる既存の方法は、効率が悪く、複雑であり、ユーザにおいて依然としてより高品質かつ焦点が合った画像を取得したいという要望がある。
いくつかの実施形態の摘要
例示実施形態の各種態様が特許請求の範囲に記載されている。
一の例示実施形態においては、以下を含む方法が提供される:複数の画像チャンネルに対応する複数の成分画像を含むデコンボリューション画像の受信を促進すること;前記複数の成分画像からガイド画像を選択すること;並びに前記複数の成分画像における前記ガイド画像以外の1又は複数の成分画像のクロスフィルタ処理を実行し、1又は複数のフィルタ処理済成分画像を作成すること、但し、前記1又は複数の成分画像における成分画像のクロスフィルタ処理を実行することは、以下を反復実行することを含む:前記ガイド画像において画素と該画素周辺の隣接画素セットとを選択すること;少なくとも前記画素と前記隣接画素セットとの間における空間差分に基づいて前記隣接画素セットに対応する重みセットを算出すること;並びに前記重みセットに基づいて成分画像における前記画素の対応画素をフィルタ処理し、前記成分画像においてフィルタ処理済対応画素を作成すること、但し、前記1又は複数のフィルタ処理済成分画像は色収差が減じられたフィルタ処理済デコンボリューション画像を形成する。
別の例示実施形態においては、少なくとも1つのプロセッサと、コンピュータプログラムコードを備える少なくも1つのメモリと、を備える装置であって、前記少なくとも1つのメモリと前記コンピュータプログラムコードとは、前記少なくとも1つのプロセッサと共に前記装置に少なくとも以下を実行させる、装置が提供される:複数の画像チャンネルに対応する複数の成分画像を含むデコンボリューション画像の受信を促進すること;前記複数の成分画像からガイド画像を選択すること;並びに前記複数の成分画像における前記ガイド画像以外の1又は複数の成分画像のクロスフィルタ処理を実行し、1又は複数のフィルタ処理済成分画像を作成すること、但し、前記1又は複数の成分画像における成分画像のクロスフィルタ処理を実行することは、以下を反復実行することを含む:前記ガイド画像において画素と該画素周辺の隣接画素セットとを選択すること;少なくとも前記画素と前記隣接画素セットとの間における空間差分に基づいて前記隣接画素セットに対応する重みセットを算出すること;並びに前記重みセットに基づいて前記成分画像における前記画素の対応画素をフィルタ処理し、前記成分画像においてフィルタ処理済対応画素を作成すること、但し、前記1又は複数のフィルタ処理済成分画像は色収差が減じられたフィルタ処理済デコンボリューション画像を形成する。
別の例示実施形態においては、少なくとも1つのコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、該コンピュータ可読記憶媒体は命令セットを含み、該命令セットは、1又は複数のプロセッサによって実行された場合、装置に少なくとも以下を実行させる、コンピュータプログラム製品が提供される:複数の画像チャンネルに対応する複数の成分画像を含むデコンボリューション画像の受信を促進すること;前記複数の成分画像からガイド画像を選択すること;並びに前記複数の成分画像における前記ガイド画像以外の1又は複数の成分画像のクロスフィルタ処理を実行し、1又は複数のフィルタ処理済成分画像を作成すること、但し、前記1又は複数の成分画像における成分画像のクロスフィルタ処理を実行することは、以下を反復実行することを含む:前記ガイド画像において画素と該画素周辺の隣接画素セットとを選択すること;少なくとも前記画素と前記隣接画素セットとの間における空間差分に基づいて前記隣接画素セットに対応する重みセットを算出すること;並びに前記重みセットに基づいて前記成分画像における前記画素の対応画素をフィルタ処理し、前記成分画像においてフィルタ処理済対応画素を作成すること、但し、前記1又は複数のフィルタ処理済成分画像は色収差が減じられたフィルタ処理済デコンボリューション画像を形成する。
別の例示実施形態においては、以下を備える装置が提供される:複数の画像チャンネルに対応する複数の成分画像を含むデコンボリューション画像の受信を促進するための手段;前記複数の成分画像からガイド画像を選択するための手段;並びに前記複数の成分画像における前記ガイド画像以外の1又は複数の成分画像のクロスフィルタ処理を実行し、1又は複数のフィルタ処理済成分画像を作成するための手段、但し、前記1又は複数の成分画像における成分画像のクロスフィルタ処理を実行するための手段は、以下を反復実行することを含む:前記ガイド画像において画素と該画素周辺の隣接画素セットとを選択するための手段;少なくとも前記画素と前記隣接画素セットとの間における空間差分に基づいて前記隣接画素セットに対応する重みセットを算出するための手段;並びに前記重みセットに基づいて前記成分画像における前記画素の対応画素をフィルタ処理し、前記成分画像においてフィルタ処理済対応画素を作成するための手段、但し、前記1又は複数のフィルタ処理済成分画像は色収差が減じられたフィルタ処理済デコンボリューション画像を形成する。
別の例示実施形態においては、プログラム命令を含むコンピュータプログラムであって、前記プログラム命令は、装置によって実行された場合に、該装置に以下を実行させる、コンピュータプログラムが提供される:複数の画像チャンネルに対応する複数の成分画像を含むデコンボリューション画像の受信を促進すること;前記複数の成分画像からガイド画像を選択すること;並びに前記複数の成分画像における前記ガイド画像以外の1又は複数の成分画像のクロスフィルタ処理を実行し、1又は複数のフィルタ処理済成分画像を作成すること、但し、前記1又は複数の成分画像における成分画像のクロスフィルタ処理を実行することは、以下を反復実行することを含む:前記ガイド画像において画素と該画素周辺の隣接画素セットとを選択すること;少なくとも前記画素と前記隣接画素セットとの間における空間差分に基づいて前記隣接画素セットに対応する重みセットを算出すること;並びに前記重みセットに基づいて前記成分画像における前記画素の対応画素をフィルタ処理し、前記成分画像においてフィルタ処理済対応画素を作成すること、但し、前記1又は複数のフィルタ処理済成分画像は色収差が減じられたフィルタ処理済デコンボリューション画像を形成する。
各種実施形態が、添付の図面の図において例として図示されているが、それらの例に限定されるものではない。
図1は、例示実施形態によるデバイスを図示するものである。
図2は、例示実施形態によるものであり、デコンボリューション画像において色収差を減じるように構成された装置を図示するものである。
図3は、例示実施形態によるものであり、デコンボリューション画像において色収差を減じる表現の例である。
図4は、例示実施形態によるものであり、デコンボリューション画像において色収差を減じる方法の例を示すフローチャートである。
図5は、別の例示実施形態によるものであり、デコンボリューション画像において色収差を減じる方法の例を示すフローチャートである。
図6は、更なる別の例示実施形態によるものであり、デコンボリューション画像において色収差を減じる方法の例を示すフローチャートである。
図7は、例示実施形態によるものであり、ぼやけた画像の表現の一例を示す。
図8は、例示実施形態によるものであり、色収差を有するデコンボリューション画像の表現の一例を図示するものである。
図9は、例示実施形態によるものであり、色収差を減じた、フィルタ処理済デコンボリューション画像の表現の一例を図示するものである。
詳細説明
図面の図1〜9を参照することにより、例示実施形態及びそれらの潜在的効果を理解できる。
図1は、例示実施形態によるデバイス100を図示するものである。しかしながら、図示し、以下に説明するデバイス100は、各種実施形態により利益を得られる、1つのタイプのデバイスを単に例示するものであり、従って、実施形態の範囲を限定するものとして理解してはならない。それ故に、デバイス100に関連して以下に説明する構成要素の少なくとも幾つかは任意のものであり、ある例示実施形態においては、図1の例示実施形態に関連して記載したものと比較して、より多い、より少ない又は異なる要素を備え得ることを理解されたい。デバイス100は、タッチスクリーンを利用した携帯電子デバイスの多数のタイプの何れかになり得るものであり、例えば、携帯型情報端末(PDA)、携帯テレビ、ゲーム機、携帯電話、あらゆるタイプのコンピュータ(例えば、ラップトップ、モバイルコンピュータ、デスクトップ)、カメラ、モバイル・デジタル・アシスタント若しくは前記したものの任意の組合せ又はその他タイプの通信デバイスが挙げられる。
デバイス100は、トランスミッター104とレシーバ106と操作可能に通信するアンテナ102(単数又は複数のアンテナ)を備える。デバイス100は更に、トランスミッター104に信号を送信し、レシーバ106から信号を受信するコントローラ108又はその他処理デバイスのような装置を備える。前記シグナルは、適用可能なセルラー方式の無線インターフェース規格に従ったシグナリング情報を含み、及び/又はユーザ発話、受信データ及び/又はユーザ作成データに対応するデータも含み得る。この点で、デバイス100は、1又は複数の無線インターフェース規格、通信プロトコル、変調形式及びアクセス型で動作可能であってもよい。例として、デバイス100は、多数の第1世代、第2世代、第3世代及び/又は第4世代の通信プロトコル等の何れかに従って動作可能であってもよい。例えば、デバイス100は、IS−136[時分割多重アクセス方式(TDMA)]、GSM(登録商標)及びIS95[符号分割多重アクセス方式(CDMA)]等の第2世代(2G)無線通信プロトコル、又は、ユニバーサル・モバイル・テレコミュニケーション・システム(UMTS)、CDMA1000、WCDMA(登録商標)及び時分割同期式多重アクセス方式CDMA(TD‐SCDMA)等の第3世代(3G)無線通信プロトコル、進化型ユニバーサル・テレストリアル・ラジオ・アクセス・ネットワーク等の3.9世代通信プロトコル、第4世代(4G)無線通信プロトコル等に従って動作可能であってもよい。その代替として(又はそれに加えて)、デバイス100は、非セルラー通信機構に従って動作可能であってもよい。例えば、インターネット、LAN(ローカルエリアネットワーク)、広域ネットワーク等のコンピュータネットワーク、ブルートゥース(登録商標)ネットワーク、ジグビー(登録商標)ネットワーク、IEEE802.11x(米国電気・電子技術者学会)ネットワーク等の短距離無線通信ネットワーク;公衆電話交換網(PSTN)等の有線電気通信ネットワークが挙げられる。
コントローラ108は、とりわけ、デバイス100の音声機能及びロジック機能を実装する回路を備える。例えば、コントローラ108は、1又は複数のデジタル・シグナル・プロセッサデバイス、1又は複数のマイクロプロセッサーデバイス、付随のデジタル・シグナル・プロセッサ(単数又は複数)を備える1又は複数のプロセッサ(単数又は複数)、付随のデジタル・シグナル・プロセッサ(単数又は複数)を有しない1又は複数のプロセッサ(単数又は複数)、1又は複数の専用コンピュータチップ、1又は複数のフィールド・プログラマブル・ゲート・アレイ(FPGA)、1又は複数のコントローラ、1又は複数の特定用途向け集積回路(ASIC)、1又は複数のコンピュータ(単数又は複数)、各種アナログデジタル変換器、デジタルアナログ変換器、及び/又はその他支援回路を含み得るが、これらに限定されるものではない。デバイス100のコントロール機能及び信号処理機能は、これらのデバイスにその各種能力に応じて割り当てられる。よって、コントローラ108は、変調及び伝送に先立ってメッセージ及びデータを畳み込みにより符号化し、インターリーブする機能性も備える。コントローラ108は、追加的に内部音声符号器を備えてもよく、内部データモデムを備えてもよい。さらに、コントローラ108は、メモリに記憶され得る1又は複数のソフトウェアプログラムを動作させる機能性を備えてもよい。例えば、コントローラ108は、従来のウェブブラウザ―等の接続プログラムを動作させる能力を有し得る。この接続プログラムは、デバイス100に無線アプリケーションプロトコル(WAP)、ハイパーテキスト転送プロトコル(HTTP)、及び/又はこれらと同種のものにより、位置情報コンテンツ及び/又はその他ウェブページ等のコンテンツを送信し、受信させる。例示実施形態においては、コントローラ108は、デュアルコアプロセッサ又はクアドコアプロセッサ等のマルチコアプロセッサとして具体化され得る。しかしながら、任意の数のプロセッサがコントローラ108に備えられ得る。
デバイス100はまた、リンガー110、イヤホン又はスピーカー112、マイクロホン114、表示装置116等の出力デバイスを含むユーザインターフェースと、コントローラ108に接続され得るユーザ入力インターフェースとを備えてもよい。デバイス100にデータを受信させるユーザ入力インターフェースは、デバイス100にデータを受信させる多種のデバイスのうちの任意のものを含み得るものであり、例えば、キーパッド118、タッチ表示装置、マイクロホン又はその他入力デバイスが挙げられる。キーバッド118を備える実施形態においては、キーパッド118は、数字キー(0〜9)及び関連するキー(#、*)、並びにデバイス100を動作させるために用いられるその他ハードキー及びソフトキーを備え得る。これらに代えて、又はこれらに加えて、キーパッド118は、クワーティ(QWERTY)キーパッド配列を備え得る。キーパッドは118また、関係する機能を有する各種ソフトキーも備え得る。加えて、又はそれらに代えて、デバイス100は、ジョイスティック又はその他ユーザ入力インターフェース等のインターフェースデバイスを備えてもよい。デバイス100は、振動型電池パックなどの電池120をさらに備え、電池120は、デバイス100を動作させるのに用いられる各種回路に電力を供給し、並びに検出可能な出力として機械的振動を任意に与えるためのものである。
例示実施形態においては、デバイス100は、コントローラ108と通信する、カメラ、動画及び/又は音声のモジュール等の媒体捕捉要素を備える。該媒体捕捉要素は、保存、表示又は送信する画像、動画及び/又は音声を捕捉するための任意の手段であり得る。媒体捕捉要素がカメラモジュール122である例示実施形態においては、カメラモジュール122は、捕捉した画像からデジタル画像ファイルを生成する能力のあるデジタルカメラを含み得る。それ故に、カメラモジュール122は、レンズ又はその他光学部品(単数又は複数)等のあらゆるハードウェアと、捕捉画像からデジタル画像ファイルを作成するためのソフトウェアとを備える。あるいは、カメラモジュール122は、画像を視認するために必要となるハードウェアを備えてもよく、これに対して、デバイス100のメモリデバイスは、コントローラ108により実行する命令を、捕捉画像からデジタル画像ファイルを作成するソフトウェアという形態で記憶する。例示実施形態においては、カメラモジュール122は、画像データを処理する上でコントローラ108を補助するコプロセッサ等の処理要素と、画像データを圧縮し及び/又は展開する符号器及び/又は復号器とをさらに備えてもよい。前記符号器及び/又は前記復号器は、JPEG規格フォーマット又は他の同種のフォーマットに従って符号化し及び/又は復号化し得る。動画に関しては、前記符号器及び/又は復号器は、例えばH.261、H.262/MPEG‐2、H.263、H.264、H.264/MPEG−4、MPEG‐4等、複数の標準フォーマットのうちの何れかを利用し得る。いくつかの場合においては、カメラモジュール122は、表示装置116にライブ映像データを提供してもよい。さらに、例示実施形態においては、表示装置116は、デバイス100の1つの側に配置させてもよく、カメラモジュール122は、表示装置116に対してデバイス100の前記1つの側と反対側に位置させたレンズを備え、カメラモジュール122がデバイス100の1つの側に画像を捕捉し、デバイス100のその他の側に位置するユーザに対して当該画像が視認し得るように提示してもよい。
デバイス100は、加入者情報モジュール(UIM)124をさらに備えてもよい。UIM124は、プロセッサが内部に構築されたメモリデバイスであり得る。UIM124は例えば、加入者識別モジュール(SIM)、汎用集積回路カード(UICC)、汎用加入者識別モジュール(USIM)、取り外し可能ユーザ識別モジュール(R‐UIM)又はその他任意のスマートカードを備えてもよい。UIM124は、典型的には、移動電話加入者に関連する情報要素を記憶する。UIM124に加えて、デバイス100はメモリを備えてもよい。例えば、デバイス100は、データの一時的記憶のためのキャッシュ領域を含む揮発性ランダム・アクセス・メモリ(RAM)等の揮発性メモリ126を備え得る。デバイス100はまた、他の不揮発性メモリ128を備えてもよく、不揮発性メモリ128は埋め込まれたものであってもよく、及び/又は取り外し可能なものであってもよい。不揮発性メモリ128は、それに加えて又はそれに代えて、電気的消去再書込み可能読出し専用メモリ(EEPROM,)フラッシュメモリ、ハードドライブ又はこれらに同種のものを備えてもよい。それらメモリは、任意の数の情報及びデータを記憶し得るものであり、それら情報及びデータは、デバイス100の機能を実装するのにデバイス100によって用いられる。
図2は、例示実施形態によるものであり、デコンボリューション画像において色収差を減じるように構成された装置を図示するものである。装置200は、例えば図1のデバイス100において利用され得る。しかしながら、装置200は、モバイル及び固定の両方の他の様々なデバイス上でも利用され得ることに留意されたい。したがって、実施形態は、図1のデバイス100等のデバイスにおける適用に限定されるものではない。あるいは、実施形態は、例えば上記に列挙したものを含むデバイスの組合せにおいて利用され得る。よって、各種実施形態が、単一のデバイス、例えばデバイス100で、又は複数のデバイスの組合せにおいて全体的に具体化され得る。さらに、以下に記載のデバイス又は要素は、必須のものでもなく、したがって特定の実施形態においてはいくつかのデバイス又は要素が除外され得る。
装置200は、少なくとも1つのプロセッサ202と、少なくとも1つのメモリ204とを備え、又はさもなければそれらと通信している。少なくとも1つのメモリ204の例としては、揮発性メモリ及び/又は不揮発性メモリが挙げられるが、これらに限定されるものでもない。揮発性メモリの幾つかの例としては、ランダム・アクセス・メモリ、ダイナミック・ランダム・アクセス・メモリ、スタティック・ランダム・アクセス・メモリ、及びこれらと同種のものが挙げられるが、これらに限定されるものではない。不揮発性メモリの幾つかの例としては、ハードディスク、磁気テープ、光ディスク、PROM(プログラマブル読み取り専用メモリ)、EPROM(消去可能プログラマブル読み取り専用メモリ)、EEPROM(電気的消去可能なプログラマブル読み取り専用メモリ)、フラッシュメモリ、及びそれらと同種のものが挙げられるが、これらに限定されるものではない。メモリ204は、情報、データ、アプリケーション、命令又はそれらに同種のものを記憶するように構成され得るものであり、情報、データ、アプリケーション、命令又はそれらに同種のものは、各種実施形態に従い装置200が各種機能を実行することを可能にするためのものである。例えば、メモリ204は、プロセッサ202による処理のためのメディアコンテンツを含む入力データをバッファリングするように構成され得る。これに加えて、又はこれに代えて、メモリ204は、プロセッサ202による実行に関する命令を記憶するように構成され得る。
プロセッサ202の例としては、コントローラ108が挙げられる。プロセッサ202は、多数の異なる方法で具体化され得る。プロセッサ202は、マルチコアプロセッサ、単一コアプロセッサ、又はマルチコアプロセッサと単一コアプロセッサとの組合せとして具体化され得る。例えば、プロセッサ202は、コプロセッサ、マイクロプロセッサ、コントローラ、デジタル・シグナル・プロセッサ(DSP)、付随のDSPを有し若しくは有しない処理回路等の1又は複数の各種処理手段として、又は、例えば特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、マイクロコントローラユニット(MCU)、ハードウェアアクセラレータ、専用コンピュータチップ又はこれらと同種のもの等の集積回路を含む、1又は複数のその他各種処理デバイスとして具体化され得る。例示実施形態においては、マルチコアプロセッサは、メモリ204に記憶され、又はさもなければプロセッサ204にアクセス可能な命令を実行するように構成され得る。これに代えて、又はこれに加えて、プロセッサ202は、ハードコードされた機能を実行するように構成されてもよい。それ故、ハードウェア若しくはソフトウェアの方法によって、又はそれらの組合せによって構成されていようがいまいが、プロセッサ202は、その状況におうじて適切に構成されつつ、核出実施形態に従って動作を実行する能力を有する、例えば回路において物理的に具体化されたエンティティを表すものであってもよい。例えば、プロセッサは、ASIC,FPGA又はそれらと同種のものの2又は3以上として具体化されている場合、プロセッサ202は、本願に記載される動作を実施する具体的に構成されたハードウェアであってもよい。あるいは、別の例としては、プロセッサ202は、ソフトウェア命令の実行部として具体化され、該命令は、該命令を実行する際、プロセッサ202が本願に記載されるアルゴリズム及び/又は動作を実行するように具体的に構成し得る。しかしながら、いくつかの場合においては、プロセッサ202は、例えばモバイル端末又はネットワークデバイス等の特別のデバイスのプロセッサであってもよく、それら特別のデバイスは、本願に記載されるアルゴリズム及び/又は動作を実行するための命令によるプロセッサ202の更なる構成により、実施形態を利用するように適合させたものである。プロセッサ202は、とりわけ、プロセッサ202の動作を支援するように構成されたクロック、算術論理演算ユニット(ALU)及び論理ゲートを備えるものであってもよい。
ユーザインターフェース206は、プロセッサ202と通信し得る。ユーザインターフェース206の例としては、入力インターフェース及び/又は出力インターフェースが得られるが、これらに限定されるものでもない。入力インターフェースは、ユーザ入力の表示を受信するように構成されている。出力インターフェースは、音声の、視覚の、機械的な若しくはその他の出力及び/又はフィードバックをユーザに提供する。入力インターフェースの例としては、キーボード、マウス、ジョイスティック、キーパッド、タッチスクリーン、ソフトキー、マイクロホン、及びこれらと同種のものが挙げられるが、これらに限定されるものでもない。出力インターフェースの例としては、発光ダイオード表示装置、薄膜トランジスタ(TFT)表示装置、液晶表示装置、アクティブマトリックス式有機発光ダイオード(AMOLED)表示装置、マイクロホン、スピーカー、リンガー、バイブレーター、及びこれらと同種のもの等の表示装置が挙げられるが、これらに限定されるものではない。例示実施形態においては、ユーザインターフェース206は、デバイス又は要素の中でもとりわけ、スピーカー、、マイクロホン、表示装置、キーボード、タッチスクリーン、又は同種のもの何れか又は全てを含み得る。この点で、例えば、プロセッサ202は、ユーザインターフェース回路を備えてもよく、このユーザインターフェースは、例えばスピーカー、リンガー、マイクロホン、表示装置及び/又はこれらと同種のもの等のユーザインターフェース206の1又は複数の要素の少なくとも一部の機能を制御するように構成されるものである。プロセッサ202及び/又はプロセッサ202を備えるユーザインターフェース回路は、例えばソフトウェア及び/又はファームウェア等のコンピュータプログラム命令を介してユーザインターフェス206の1又は複数の要素の1又は複数の機能を制御するように構成されてもよく、前記コンピュータプログラム命令は、例えば少なくとも1つのメモリ204及び/又はこれと同種のもの等、プロセッサ202にアクセス可能なメモリに記憶される。
例示実施形態においては、装置200は、電子デバイスを備えるものであってもよい。電子デバイスのいくつかの例としては、通信デバイス、マルチメディア再生デバイス、通信能力を有し、又は有しない媒体捕捉デバイス、コンピュータデバイス、及びこれらと同種のものが挙げられる。電子デバイスのいくつかの例としては、携帯電話機、音声/動画プレイヤー、携帯情報端末(PDA)及びこれらと同種のものが挙げられる。コンピュータデバイスのいくつかの例としては、ラップトップ、パーソナルコンピュータ、及びこれらと同種のものが挙げられる。例示実施形態においては、電子デバイスは、ユーザインターフェースを備えてもよく、該ユーザインターフェースは例えば、ユーザインタフェース回路及びユーザインターフェースソフトウェアを有するユーザインターフェース206であり、該ユーザインタフェース回路及び該ユーザインターフェースソフトウェアは、ユーザが表示装置を用いることにより電子デバイスの少なくとも1つの機能を制御するのを容易になるよう構成され、かつユーザ入力に応答するようにさらに構成される。例示実施形態においては、電子デバイスは、電子デバイスのユーザインターフェース206の少なくとも一部を表示するように構成された表示装置回路を備え得る。表示装置及び表示装置回路は、ユーザが電子デバイスの少なくとも1つの機能を制御するのを容易にするように構成され得る。
例示実施形態においては、電子デバイスは、トランシーバを備えるように具体化されてもよい。トランシーバは、ソフトウェアに従って動作する任意のデバイス又は回路であってもよく、或はさもなければハードウェア若しくはハードウェアとソフトウェアとの組合せで具体化されたデバイス又は回路であってもよい。例えば、ソフトウェアの制御下で動作するプロセッサ202、本願において記載される動作を実行するように具体的に構成されたASIC若しくはFPGAとして具体化されたプロセッサ202は、又はそれらの組合せにより、装置200又は回路がトランシーバの機能を実行するように構成してもよい。トランシーバは、メディアコンテンツを受信するように構成されていてもよい。メディアコンテンツの例としては、音声コンテンツ、動画コンテンツ、データ及びそれらの組合せが挙げられる。
例示実施形態においては、電子デバイスは、1又は複数のカメラモジュールにおいて具体化された1又は複数の画像センサを備えるように任意に具体化されてもよく、該画像センサは、例えば、イメージセンサ208である。図2の例示で表したものにおいては1つの画像センサ208のみが示されているが、電子デバイスは、複数のそのようなイメージセンサを備え得る。イメージセンサ208は、装置200のプロセッサ202及び/又はその他構成要素と通信し得る。イメージセンサ208は、その他イメージング回路及び/又はソフトウェアと通信してもよく、デジタル画像を捕捉するように、又は動画又はその他グラフィック媒体を捕捉するように構成されている。イメージセンサ208とその他回路とは共同で、デバイス100のカメラモジュール122等の少なくとも1つのカメラモジュールの例となり得る。
これらの構成要素(202〜208)は、集中型回路システム210を介して互いに通信し、装置200における画像及び動画の補足の向上を促進させてもよい。集中型回路システム210は、とりわけ、装置200における構成要素(202〜208)間の通信を提供し又は可能するように構成された各種デバイスであってもよい。特定の実施形態においては、集中型回路システム210は、マザーボード、メインボード、システムボード又はロジックボード等の中央プリント回路基板(PCB)であってもよい。集中型回路システム210は、それらに加えて又はそれらに代えて、その他プリント回路アセンブリ(PCA)又は通信チャンネルメディアを備えてもよい。
例示実施形態においては、装置200により、画像デコンボリューションにおいて色収差を減じさせる。本例示実施形態においては、プロセッサ202は、メモリ204のコンテンツをと共に、さらに任意に本願に記載されるその他構成要素と共に、装置200にデコンボリューション画像の受信を促進させるように構成される。例示実施形態においては、装置200は、デコンボリューション画像を直接受信してもよく、又は画像を受信し、かつ該画像の画像デコンボリューションを実行してデコンボリューション画像を作成してもよい。例えば、装置200は、前記画像を捕捉し又は受信し、画像デコンボリューションを実行してもよい。本願において、「画像デコンボリューション」とは、手の震え、不適切な焦点合わせ又はその他の現象に起因してぼやけた、又は焦点が外れた画像からぼやけを除去するのに用いられる方法を指す。例えば、画像デコンボリューションは、当該分野において知られる点広がり関数(PSF)に基づいて実行され得る。本願において、「画像」とはシーンの捕捉体を表し、「シーン」とは1又は複数の対象物の配置(自然のもの、人工のもの、分類されたもの、又は仕分けされたもの)を表し、ここで1又は複数の対象物の画像及び/又は動画が捕捉され得る。一例では、画像は、1又は複数の画像センサによって、例えば画像センサ208によって捕捉され得る。例示実施形態においては、画像及び/又はデコンボリューション画像は、メモリ204又は装置200にアクセス可能なその他の任意の保存場所に記憶され得る。例示実施形態においては、処理手段は、デコンボリューション画像の受信を促進するように構成され得る。処理手段の例としては、コントローラ108の例となり得るプロセッサ202が挙げられる。
例示実施形態においては、受信されるデコンボリューション画像は、該デコンボリューション画像に関係する複数の画像チャンネルとなり得る複数の成分画像を含む。例えば、一例では、該複数の成分画像は、YCbCr画像チャンネルに関係する輝度画像(Y)、クロミナンス青色画像(Cb)及びクロミナンス赤色画像(Cr)(以下、包括して「YCbCr成分画像」と言う。)を含むものであってもよい。別の例においては、前記複数の成分画像は、YPbPr画像チャンネルに関係する輝度画像(Y)、第1色差画像(Pb)及び第2色差画像(Pr)(以下、包括して「YPbPr成分画像」と言う。)を含むものであってもよい。別の非限定の例においては、前記複数の成分画像は、RGB画像チャンネルと関係する赤色画像(R)、緑色画像(G)及び青色画像(B)を含むものであってもよい。
例示実施形態においては、入力デコンボリューション画像がR、G及びBの成分画像を含む場合、これらR、G及びBの成分画像はデコンボリューション画像のYCbCr成分画像に変換され得る。本開示は、YcbCr成分画像を含むデコンボリューション画像の例を用いて説明されている。しかしながら、デコンボリューション画像は、他のタイプの成分画像を含んでもよく、したがって実施形態はYCbCr成分画像に限定されるものではないことに留意されたい。
いくつ彼の例示実施形態においては、プロセッサ202は、複数の成分画像からガイド画像を選択するように構成される。例示実施形態においては、本開示は、クロスフィルタ処理を用いてデコンボリューション画像の色収差を減じる。本願において、「クロスフィルタ処理」とは、前記ガイド画像と同様に他の成分画像をフィルタ処理するプロセスを指す。前記ガイド画像はしたがって、プロセッサ202を、他の成分と共にガイドして前記複数の画像の他の成分画像をフィルタ処理するために、前記複数の成分画像から選択する。例えば、例示実施形態においては、前記ガイド画像は、他の成分画像の端を前記ガイド画像の端に配列するのに用いられる。例示実施形態においては、YCbCr成分画像からY成分画像をガイド画像として選択する。同様に、デコンボリューション画像がYPbPr成分画像を含む場合、YPbPr成分画像からY成分画像をガイド画像として選択し、デコンボリューション画像がRGB成分画像を含む場合、RGB成分画像からG成分画像をガイド画像として選択する。例示実施形態においては、処理手段は、前記複数の成分画像からガイド画像を選択するように構成され得る。処理手段の例としては、コントローラ108の例となり得るプロセッサ202が挙げられる。
いくつかの例示実施形態においては、プロセッサ202は、複数の成分画像におけるガイド画像以外の1又は複数の成分画像のクロスフィルタ処理を実行し、1又は複数のフィルタ処理済成分画像を作成するように構成されている。例示実施形態においては、双方向フィルタリング法(lateral filtering method)及び/又は最小全域木法(minimum・spanning・tree・method)に基づいてクロスフィルタ処理を実行する。例示実施形態においては、Y成分画像(ガイド画像)、例えばCb成分画像及びCr成分画像以外の成分画像に対してクロスフィルタ処理を実行する。
例示実施形態においては、ガイド画像における画素及び該画素の周辺の隣接画素のセットの選択すること、選択画素と前記近接画素との間の空間差分及び画素差分に少なくとも基づいて前記隣接画素のセットに対応する重みのセットを計算すること、並びに前記重みのセットに基づいて成分画像における前記選択画素の対応画素をフィルタ処理することを反復実行し、成分画像においてフィルタ処理済対応画素を作成することによって1又は複数の成分画像のうちの成分画像に対してクロスフィルタ処理を実行し、この事については以下に更に詳細に説明する。例示実施形態においては、処理手段は、1又は複数の成分画像のクロスフィルタ処理を実行するように構成され得る。処理手段の例としては、コントローラ108の例となり得るプロセッサ202が挙げられる。
各反復において成分画像のクロスフィルタ処理を実行する例示実施形態では、装置200に、ガイド画像において画素及び該画素周辺の隣接画素を選択させる。例示実施形態においては、前記画素及び前記隣接画素のセットは、サイズW(幅)×W(高さ)の画素窓を表す。例えば、Y成分画像(ガイド画像)に対してCb成分画像上でクロスフィルタ処理を実行する場合、画素(Pi、ここで、iは順次反復におけるY成分画像の全ての画素を含むものとする。)及び前記画素(Pi)周辺の隣接画素のセットを、Y成分画像において選択する。前記画素(Pi)及び前記隣接画素のセットは共に画素窓W×Wを形成する。例示実施形態においては画素窓は、ガイド画像において前記画素(Pi)周辺に集中化する。例えば、3×3の画素窓は、第1の列に画素1、2、3、第2の列に画素4、5、6、及び第3の列に画素7、8、9を含む。したがって、3×3の画素窓は、画素5の周辺に集中化され、画素5周辺の隣接画素のセットは、画素1、2、3、4、6、7、8及び9を含む。しかしながら、画素が、Y成分画像において角の画素又は任意の境界の画素である場合、前記隣接画素のセットは数が限定され(例えば8未満)、該隣接画素のみをクロスフィルタ処理のために考慮する。例示実施形態においては、処理手段は、前記画素及び前記隣接画素のセットを選択するように構成され得る。処理手段の例としては、コントローラ108の例となり得るプロセッサ202が挙げられる。
成分画像のクロスフィルタ処理を実行する例示実施形態においては、選択画素と隣接画素のセットとの間の空間差分及び画素差分に少なくとも基づいて隣接画素のセットに対応する重みのセットを装置200に算出させる。例示実施形態においては、前記重みのセットは、選択画素と隣接画素との間の空間差分にのみ基づいて算出してもよいし、選択画素と隣接画素のセットとの間の画素差分の算出を利用しなくてもよい。例示実施形態においては、隣接画素のセットにおける各隣接画素に対して重みを計算することにより、隣接画素のセットに対して重みのセットを算出する。例えば、画素5周辺の隣接画素1〜4及び6〜9を含む3×3の画素窓は、対応する重みW1〜W4及びW6〜W9を有する。例示実施形態においては、重みのセットは、以下に詳述される通り、画素(例えば画素5)と隣接画素のセットとの間の空間差分のセット並びに画素差分のセットに基づいて算出する。例示実施形態においては、処理手段は、隣接画素のセットに対応する重みのセットを算出するように構成され得る。処理手段の例としては、コントローラ108の例となり得るプロセッサ202が挙げられる。
隣接画素のセットに対応する重みのセットを計算する例示実施形態においては、選択画素と隣接画素のセットとの間の空間差分及び画素差分のセットを装置200に算出させる。例示実施形態においては、選択画素に隣接する各画素について空間差分を算出する。本願において、「空間差分」とは、選択画素と隣接画素との空間距離を指す。例示実施形態においては、以下の式(1)に基づいて、画素(i,j)と隣接画素のセットにおける隣接画素(k,l)との間の空間差分を装置200に計算させる:
式中、(i,j)は画素の画素座標であり、(k,l)は、画素(i,j)に対する隣接画素セットの任意の隣接画素の画素座標であり、k,lのそれぞれは、−(W−1)/2〜(W−1)/2の範囲内で変化し、Wは画素窓W×Wの幅(Wは、奇数の整数である。)であり、シグマ_ドメインは、予め定められた定数である。
隣接画素セットに対応する重みセットを算出する例示実施形態においては、選択画素と隣接画素のセットとの間における画素差分セットを装置200に計算させる。例示実施形態においては、画素差分は、選択画素に対する各隣接画素について計算する。本願において、「画素差分」とは、選択画素と隣接画素との間における強度又は画素値の差分をいう。例示実施形態においては、以下の式(2)に基づいて、選択画素と隣接画素セットのうちの隣接画素との間における画素差分を装置200に計算させる:
式中、g(i−k,j−l)は、ガイド画像における画素位置(i−k,j−l)での画素値であり、シグマ_レンジは予め定められた定数であり、(k,l)は、隣接画素セットのうちの隣接画素の画素座標であり、k及びlのそれぞれは−(W−1)/2〜(W−1)/2の範囲内で変化し、Wは画素窓W×Wの幅である。
隣接画素セットに対応する重みを算出する例示実施形態においては、空間差分セットと画素差分セットとの関数に基づいて重みのセットを装置200に算出させる。例示実施形態においては、以下の式(3)に従って、隣接画素について決定した空間差分と画素差分との乗算関数に基づいて、(隣接画素セットのうちの)隣接画素についての重みを装置200に算出させる:
式中、(k,l)は、隣接画素のセットの隣接画素の画素座標であり、k及びlのそれぞれは、−(W−1)/2〜(W−1)/2の範囲内で変化し、Wは画素窓W×Wの幅である。
重み(k,l)は、画素(i,j)周辺の全ての隣接画素について計算することに留意されたい。さらに、例示実施形態においては、(「i」及び「j」を変化させてすべての画素を連続して又は同時に選択することによって)ガイド画像の全ての画素を選択し、全ての画素(i,j)についての隣接画素のセットについて重みのセットを計算する。
成分画像のクロスフィルタ処理を実行する例示実施形態においては、重みのセットに基づいて成分画像における画素(i,j)の対応画素を装置200にフィルタ処理させ、成分画像においてフィルタ処理済対応画素を作成する。例えば、Y成分画像(ガイド画像)において画素(i,j)は、Cb成分画像において対応画素(i',j')を、Cr成分画像において対応画素(i",j")を有する。したがって、対応画素(i',j')及び対応画素(i",j")は、重みW1〜W4及びW6〜W9のセットに基づいてフィルタ処理し、画素(i',j')及び画素(i",j")のフィルタ処理済対応画素を作成する。例示実施形態においては、以下の式(4)に基づいて、成分画像における画素(i,j)のフィルタ処理済対応画素を装置200に作成させる:
式中、g'(i−k,j−l)は成分画像における対応画素の対応隣接画素の画素値である。
例示実施形態においては、上記実行するクロスフィルタ処理は、双方向フィルタリング法と称されるものであり、重み(k,l)は双方向重みである。例示実施形態においては、クロスフィルタ処理はまた、最小全域木法を用いて実行してもよい。最小全域木法においては、画素窓W×Wは、Y成分画像(ガイド画像)に完全に又は部分的に及ぶものであってもよい。本例示実施形態においては、重みのセットは、隣接画素(k,l)に対応して計算された最小全域木重みを含み、成分画像におけるフィルタ処理済対応画素を該重みのセットに基づいて取得する。最小全域木法の実施形態においては、選択画素周辺の画素窓(W×W)は存在せず、隣接画素のセットは、ガイド画像の画素の全ての画素又は任意の組合せを含み得る。本例示実施形態においては、選択画素に対する、ガイド画像の他の画素の効果(「重み」と称される。)を計算し、計算した重みを用いて成分画像における選択画素の対応画素をフィルタ処理する。したがって、最小全域木法の本例示実施形態における「隣接画素」という用語は、選択画素に隣接し、又は選択画素からの特定の空間距離内に位置する画素を必ずしも表す必要はなく、実際は、本願において「隣接画素」とは、ガイド画像における任意の画素を表し得るものであり、選択画素からの任意の空間距離とは無関係である。
例示実施形態においては、以下の式(5)に基づいて、隣接画素のセットにおける隣接画素についての重みのセットの最小全域木重みを装置200に計算させる:
式中、(k,l)は、ガイド画像における画素の画素座標であり、重み(k,l)は、画素座標(i,j)におけるフィルタ処理した値に対する画素(k,l)の寄与を決定するものであり、D[位置(k,l)における画素、位置(i,j)における画素]は、位置(k,l)における隣接画素と位置(i,j)における選択画素との間の最小全域木距離であり、シグマは予め定められた定数である。
例示実施形態においては、以下の式(6)に基づいて、成分画像における画素(i,j)のフィルタ処理済対応画素を装置200に作成させる:
式中、g'(i-k,j-l)は、成分画像における対応画素の対応隣接画素の画素値であり、重み(k,l)は最小全域木重みである。
例示実施形態においては、(双方向フィルタリング法又は最小全域木法による)上記クロスフィルタ処理に基づいて、得られるデコンボリューション画像は、色収差が減じられたフィルタ処理済デコンボリューション画像である。例示実施形態においては、クロスフィルタ処理を実行した後に、Y、Cb及びCrの成分画像を含む、フィルタ処理済デコンボリューション画像は、そのまま保持されてもよいし、又はR、G、B成分画像を含むデコンボリューション画像に変換されてもよい。
装置200によって、各種適切な手法を用いてデコンボリューション画像における色収差を減じてもよい。デコンボリューション画像において色収差を減じるいくつかの例示実施形態は、以下の記載で説明されているが、それらの例示実施形態は、本願技術の範囲を制限するものと考慮してはならない。
双方向フィルタリング法に基づいてクロスフィルタ処理を実行する例について図3を参照して説明する。
図3は、例示実施形態によるものであり、デコンボリューション画像において色収差を減じる表現の例を図示したものである。該表現の例は、デコンボリューション画像の複数の成分画像に対応する、Y成分画像300、Cb成分画像320及びCr成分画像330を含む。デコンボリューション画像のY成分画像300、Cb成分画像320及びCr成分画像は、いくつかの例示実施形態の説明を容易にするためのみの表現目的で示したものであり、該表現は、実際の成分画像を必ずしも表す必要はない。
双方向フィルタリング法は、Cb成分画像320及びCr成分画像330のクロスフィルタ処理を実行するために適用する。例示実施形態においては、Y成分画像300を、Y、Cb、Cr成分画像(300〜330)からガイド画像として選択する。画素302と画素302周辺の隣接画素のセットなどの画素の例がY成分画像300に示されている。画素302及び隣接画素のセットが、画素窓304によって表現されている。この例では、画素窓304は、W×Wが3×3のであり、例えば、画素窓304の幅及び高さは3である。隣接画素のセットにおける隣接画素は、P1、P2、P3、P4、P6、P7、P8及びP9と表現され、画素302はP5としても表現される。各画素は、(x,y)画素座標によって特定されており、例えば、画素P5は、画素座標(i,j)で表され、各隣接画素は、画素座標(i,j)に対して画素座標(k,l)によって表され得る。例示実施形態においては、画素302が角の画素又は境界の画素である場合、隣接画素のセットにおける画素の数は少ない可能性があり、そのような隣接画素のみをクロスフィルタ処理のために考慮する。
一例においては、各隣接画素P1〜P4及びP6〜P9の重み(双方向重み)を、それぞれW1〜W4及びW6〜W9として決定する。例えば、隣接画素P4(k,l)の重みは、次のとおり決定され得る。画素P5(i,j)と隣接画素P4(k,l)との間の空間距離(k,l)を、図2を参照して説明した通り、式(1)を用いて計算する。画素P5(i,j)と隣接画素P4(k,l)との間の画素差分(k,l)を、さらに、図2を参照して説明した通り、式(2)を用いて計算する。隣接画素P4(k,l)に対応する重み(k,l)を、図2を参照して説明した通り、式(3)に従って、空間差分(k,l)及び画素差分(k,l)の乗算関数に基づいて計算する。
実施形態においては、隣接画素に対応する重みは、値が異なり得る。例えば、画素P5(i,j)が赤色を表し、隣接画素P1及びP6がそれぞれ赤色及び青色を表す場合、隣接画素P1は画素P5に対して色(赤色)において類似し及び/又は近いことから、隣接画素P1の重みは隣接画素P6の重みよりも高い。さらに、ガイド画像に端がある場合、隣接画素に対応する重みも異なってくる。例えば、窓304に示す端306により、該端の一方の側に存在する画素が、画素値の違いに起因して、該端の他方の側に存在する画素と比較して異なる重みを有するようになり得る。例えば、隣接画素P3、P6及びP9の色差分は、端306の左に存在するセクションと比較して、Y成分画像300の異なる色又は異なる部分のものとなり得る、端306の右に存在するセクションを表し得る。例えば、(端306を挟んで画素P5とは反対側に存在する)隣接画素P3、P6及びP9の重みは、(端306を基準に画素P5と同じ側に存在する)隣接画素P1、P2、P4、P7及びP8に対応する重みと比較して小さくなり得る。
隣接画素のセットに対応する重みを、ガイド画像の各画素について同様に決定する。例示実施形態においては、隣接画素のセットに対応する重みを、ガイド画像の全ての画素について決定することから、他の成分画像(例えば、Cb成分画像320及びCr成分画像330)の対応画素のクロスフィルタ処理をガイド画像に対して実行する。例えば、Cb成分画像320における画素302に対応する画素を画素322として示し、画素322周辺の隣接画素の対応セットを、Cb成分画像320においても考慮する。画素322及び画素322の隣接画素のセットは画素窓324によって表される。本例においては、画素窓324は、W×Wが3×3のであり、例えば画素窓324の幅及び高さは3である。Cb成分画像320において、画素窓324における各対応画素は(x',y')画素座標によって表され、例えば、対応画素P'5は画素座上(i',j')によって表され、各対応隣接画素は画素座標(k',l')によって表され得る。画素302の対応画素322は重み(W1〜W4及びW6〜W9)のセットに基づいてフィルタ処理し、Cb成分画像320のフィルタ処理済対応画素322を作成する。例えば、画素322は、図3を参照して説明した通り、式(4)に従ってガイド画像(Y成分画像300)における隣接画素のセットについて計算した重み(W1〜W4及びW6〜W9)を用いることによりフィルタ処理する。その結果、Cb成分画像の各対応画素は、上記のとおりフィルタ処理し、色収差が減じられたフィルタ処理済成分画像を取得する。
クロスフィルタ処理を、Cr成分画像330に対しても実行する。例えば、画素302の対応画素322及び画素セットの対応画素セットをCr成分画像330において考慮する。画素332及び隣接画素セットは画素窓334によって表される。本例では、画素窓334は、W×Wが3×3であり、例えば、画素窓334の幅及び高さは3である。Cr成分画像330において、画素窓334における対応画素P"5は画素座上(i",j")によって表され、各対応隣接画素は画素座標(k",l")によって表され得る。画素302の対応画素332は、式(4)に従って重みのセット(W1〜W3及びW6〜W9)に基づいてフィルタf、Cr成分画像330においてフィルタ処理済対応画素332を作成する。例示実施形態においては、Cr成分画像における各対応画素を、Cb成分画像320のものと同様にしてフィルタ処理する。
画像畳み込みにおいて色収差を減じるための方法の幾つかの例について図4、5及び6を参照して説明する。
図4は、例示実施形態によるものであり、デコンボリューション画像において色収差を減じる方法400を例として示すフローチャートである。方法400を、図2を参照して示し、説明する。フローチャートに記述される方法400は、例えば図2の装置によって実行され得る。
402において、方法400は、デコンボリューション画像の受信を促進することを含む。デコンボリューション画像は、複数の画像チャンネルに対応する複数の成分画像を含む。例示実施形態においては、デコンボリューション画像は、画像に対して、例えばぼやけた画像に対して画像デコンボリューションを実行することによって作成され得る。画像デコンボリューションは、画像からぼやけを除去するために実行するものである。例示実施形態においては、複数の成分画像は輝度画像(Y)、クロミナンス青色画像(Cb)及びクロミナンス赤色画像(Cr)を含む。あるいは、複数の成分画像は、Y、Cb、Crの成分画像以外の成分画像であってもよい。
404において、方法400は、複数の成分画像からガイド画像を選択することを含む。例示実施形態においては、Y構成画像を、図2及び3を参照して記載したとおりガイド画像として選択する。
406において、方法400は、複数の成分画像におけるガイド画像以外の1又は複数の成分画像のクロスフィルタ処理を実行し、1又は複数のフィルタ処理済成分画像を作成することを含む。
例示実施形態においては、ブロック408〜412の操作を反復実行することによって、1又は複数の成分画像のうちの成分画像に対してクロスフィルタ処理を実行する。例示実施形態においては、双方向フィルタリング法又は最小全域木法によってクロスフィルタ処理が実行され得る。双方向フィルタリング法を用いて実行するクロスフィルタ処理について図5を参照して詳述し、最小全域木法を用いて実行するクロスフィルタ処理について図6を参照して詳述する。例えば、408において、方法400は、ガイド画像において画素を選択し、かつ選択画素周辺の隣接画素セットを選択することを含む。例えば、中心画素及び該中心画素周辺の直接隣接する画素がガイド画像において、例えばY成分画像において選択され得る。例示実施形態においては、選択画素及隣接画素セットはサイズW(幅)×W(高さ)の画素窓を表す。
410において、方法400は、選択画素と隣接画素セットとの間にける空間差分に少なくとも基づいて隣接画素セットに対応する重みのセットを算出することを含む。例示実施形態においては、双方向フィルタリング法については、重みセットは、隣接画素セットと選択画素との間における空間差分セット並びに画素差分セットに基づいて算出された双方向重みに対応する。例示実施形態においては、双方向重みを、式(1)、(2)及び(3)に基づいて計算する。例示実施形態においては、最小全域木法については、重みセットは、隣接画素セットと画素との間における最小全域木距離(空間差分セット)に対応する。例示実施形態においては、最小全域木重みを式(5)に基づいて計算する。
412において、方法400は、重みのセットに基づいて成分画像における選択画素の対応画素をフィルタ処理することにより成分画像におけるフィルタ処理済の対応画素を作成することを含む。ガイド画像において、例えばY成分画像において隣接画素の重みセットを計算する際には、(ガイド画像における)選択画素の(成分画像における)対応隣接画素を重みのセットに基づいてフィルタ処理する。例示実施形態においては、双方向フィルタリング法については、選択画素のフィルタ処理済対応画素を式(4)に基づいて作成し得る。例示実施形態においては、最小全域木法については、(ガイド画像における)選択画素の(成分画像における)フィルタ処理済対応画素を式(6)に基づいて作成してもよい。
例示実施形態においては、ブロック408、410及び412の操作を、ガイド画像の各画素について(例えば各画素を選択することによって)実行し、成分画像における対応画素をフィルタ処理する。同様に、これらの操作を全ての成分画像について実行することによりガイド画像を用いた全て成分画像における画素のフィルタ処理を実行する。
双方向フィルタリング法を用いてデコンボリューション画像において色収差を減じる例示実施形態について図5を参照してさらに説明する。
図5は、別の例示実施形態によるものであり、デコンボリューション画像において色収差を減じる方法の例を表したフローチャートである。方法500を示しており、図2を参照して説明する。フローチャートに記述される方法500は例えば図2の装置によって実行され得る。方法500は502から開始する。
504において、方法500は、画像に対して画像デコンボリューションを実行し、R、G及びBの成分画像を含む入力デコンボリューション画像を作成することを含む。例示実施形態においては、画像は、ぼやけた画像であってもよく、画像デコンボリューションを実行して該画像からぼやけを除去する。506において、方法500は、入力デコンボリューション画像のR、G及びBの成分画像をデコンボリューション画像のY、Cb及びCrの成分画像に変換することを含む。例示実施形態においては、R、G及びBの成分画像に対しても、それらをY、Cb及びCrの成分画像に変換せずに以下の操作を実行し得る。
508において、方法500は、Y、Cb及びCrの成分画像から、Y成分画像をガイド画像として選択することを含む。本開示の各種例示実施形態の範囲を限定することなく、人の目は、クロミナンスチャンネル(即ち、U及びVの成分画像)と比較して輝度チャンネル(即ち、Y成分画像)における端により感度が高いことから、Y成分画像をガイド画像として選択する。したがって、Y成分画像をガイド画像として選択することによって、Y成分画像の端は保持され、他の成分画像(即ちクロミナンスチャンネル)における端は輝度チャンネルにおける端のように変更する。510において、方法500は、ガイド画像において画素と該画素周辺の隣接画素セットとを選択すること、但し、前記画素及び前記隣接画素セットは画素窓に存在する、を含む。例えば、図3に記述されるとおり、画素P5を、Y成分画像300における画素として選択し、P1、P2、P3、P4、P6、P7、P8及びP9を、画素P5の隣接画素セットとして選択する。例示実施形態においては、前記画素が角の画素である場合、前記隣接画素は数が少なく、該隣接画素のみをクロスフィルタ処理のために考慮する。
512において、方法500は、前記ガイド画像における隣接画素セットから隣接画素を選択することを含む。例えば、隣接画素P1を、Y成分画像における隣接画素セットから選択する。
514において、方法500は、選択画素と隣接画素との間における空間差分を計算することを含む。例においては、該空間差分は、式(1)を用いて隣接画素P1と画素P5との間で計算され得る。
516において、方法500は、前記選択画素と前記隣接画素との間における画素差分を計算することを含む。例においては、該画素差分は、式(2)を用いて隣接画素P1と画素P5との間で計算され得る。前記空間差分及び画素差分は、任意の順序、又は同時の様式で計算され得ることに留意されたい。
518において、方法500は、空間差分及び画素差分の関数に基づいて隣接画素についての重みを算出することを含む。例えば、隣接画素P1についての重みが、式(3)を用いて、ブロック514で決定した空間差分とブロック516で計算した画素差分とに基づいて算出され得る。
520において、方法500は、選択画素の隣接画素全てに対応する重みセットが算出されたか否かをチェックすることを含む。全ての隣接画素に対応する重みセットが算出されていない場合、方法500は512に進み、それ以外はブロック522を実行する。例えば、隣接画素P1についての重みが算出されると、プロセッサ202は、画素P5の隣接画素全ての重みが算出されたか否かをチェックする。この場合、隣接画素P1についての重みのみが算出されることから、画素P5の隣接画素全て(P1、P2、P3、P4、P6、P7、P8及びP9)の重みが算出されるまで、ブロック512〜520の操作を繰り返す。
522において、方法500は、前記重みセットに基づいてCb及びCrの成分画像の各成分画像における選択画素の対応画素をフィルタ処理し、各成分画像におけるフィルタ処理済対応画素を作成することを含む。隣接画素セット(P1、P2、P3、P4、P6、P7、P8及びP9)について重みセットが算出されると、各重みを、成分画像における選択画素の対応画素についての対応隣接画素の画素値に掛け合わせる。前記対応画素は、このように、結果として生じた値に関する関数に基づいてフィルタ処理し、式(4)に従って、画素P5のフィルタ処理済対応画素(例えば、図3に記述されるP'5又はP"5)を作成する。
524において、方法500は、ガイド画像における全ての画素に対応して、フィルタ処理済対応画素が成分画像Cb及びCrにおいて作成されたか否かをチェックすることを含む。ガイド画像における全ての画素に対応してフィルタ処理済対応画素が作成さいない場合、方法500はブロック510に進み、別の画素及び別の隣接画素のセットを選択し、ブロック510〜522におけるその他操作を実行する。それ以外の場合は、526を実行する。例えば、画素P5についてのフィルタ処理済画素(P'5及びP"5)を作成したら、プロセッサ202は、フィルタ処理済対応画素がY成分画像におけるすべての画素について作成されたか否かをチェックする。この場合、画素P5についてのフィルタ処理済対応画素のみが作成されることから、成分画像のフィルタ処理済対応画素全てが作成されるまで、異なる画素窓を取得することによってブロック510〜522の操作を繰り返す。526において、方法500は、YCbCr成分画像をRGB成分画像に変換し、色収差が減じられたデコンボリューション画像(フィルタ処理済デコンボリューション画像)を取得することを含む。方法は528で終了する。
最小全域木法を用いてデコンボリューション画像において色収差を減じる例示実施形態を、図6を参照してさらに説明する。
図6は、さらなる別の例示実施形態によるものであり、デコンボリューション画像において色収差を減じる方法600を例として表したフローチャートである。方法600を示し、図2を参照して説明する。フローチャートに記述される方法600は、例えば図2の装置200によって実行され得る。方法600は602から開始する。
604において、方法600は、画像に対して画像デコンボリューションを実行し、R、G及びBの成分画像を含む入力デコンボリューション画像を作成することを含む。例示実施形態においては、前記画像は、ぼやけた画像であってもよく、画像デコンボリューションを実行して前記画像からぼやけを除去する。606において、方法600は、入力デコンボリューション画像のR、G及びBの成分画像をデコンボリューション画像のY、Cb及びCrの成分画像に変換することを含む。例示実施形態においては、R、G及びBの成分画像をY、Cb及びCrの成分画像に変換することなく以下の操作を実行してもよい。
608において、方法600は、Y、Cb及びCrの成分画像から、Y成分画像をガイド画像として選択することを含む。610において、方法600は、ガイド画像において、画素を選択し、かつ選択画素周辺の隣接画素セットを選択することを含む。本例示実施形態においては、隣接画素セットは、ガイド画像の画素の全て又はいくつかを含み得る。それ故に、隣接画像セットは、選択画素からの如何なる空間距離によっても制限を受けることはない。
612において、方法600、ガイド画像における前記隣接画像セットから隣接画素を選択することを含む。例えば、隣接画素P1を、Y成分画像における隣接画素セットから選択する。
614において、方法600は、選択画素と隣接画素との間における最小全域木距離を計算することを含む。616において、方法600は、前記最小全域木距離に基づいた、隣接画素に対応する最小全域木重み等の重みを算出することを含む。例えば、隣接画素P1についての最小全域木距離が、式(5)を用いて、ブロック614で決定した最小全域木距離に基づいて算出され得る。
618において、方法600は、選択画素の全ての隣接画素に対応する重みセットが算出されたか否かをチェックすることを含む。全ての隣接画素に対応する重みセットが算出されていない場合、方法600はブロック612に進み、それ以外の場合は、620を実行する。例えば、選択画素の全ての隣接画素についての重みが算出されるまでブロック612〜618の操作を繰り返す。
620において、方法600は、前記重みセットに基づいてCb及びCrの成分画像の各成分画像における選択画素の対応画素をフィルタ処理し、各成分画像におけるフィルタ処理済対応画素を作成することを含む。ガイド画像(Y成分画像)における隣接画素セットについて重みセットが算出されると、各重みを、成分画像における選択画素の対応画素についての対応隣接画素の画素値に掛け合わせる。前記対応画素は、このように、結果として生じた値の関数に基づいてフィルタ処理し、最小全域木法の式(6)に従って、フィルタ処理済対応画素を作成する。
622において、方法600は、ガイド画像における全ての画素に対応して、フィルタ処理済対応画素が成分画像Cb及びCrにおいて作成されたか否かをチェックすることを含む。ガイド画像における全ての画素に対応してフィルタ処理済対応画素が作成されていない場合、方法600はブロック610に進み、別の画素及び別の隣接画素のセットを選択し、ブロック610〜620におけるその他操作を実行する。それ以外の場合は、624を実行する。624において、方法600は、YCbCr成分画像をRGB成分画像に変換し、色収差が減じられたデコンボリューション画像(フィルタ処理済デコンボリューション画像)を取得することを含む。方法は626で終了する。
図7は、例示実施形態によるものであり、シーンのぼやけた画像700の表現の一例を示す。本例の表現においては、ぼやけた画像700は、装置200にける画像センサ、例えばカメラで具体化された画像センサ208によって捕捉され得る。例においては、ぼやけた画像700は、装置200でシーンをクリックした時のユーザの手の震えの結果として、又はその他現象に起因して作成され得る。別の例においては、ぼやけた画像700は、不適切な焦点合わせの結果として作成され得る。ぼやけた画像700は、シーン700の前景及び背景それぞれにおける対象物を含む。例えば、前景は、女性702、女性704及び男性706を含み、背景は、建物708及び道路を含む。図7に図示される通り、ぼやけた画像700の前景及び背景における対象物は、例としての表現の形態においてぼやけており、又は焦点が外れている。
図8は、例示実施形態によるものであり、デコンボリューション画像800の表現の一例を図示するものである。この表現の例においては、画像デコンボリューションをぼやけた画像700に対して実行し、ぼやけた画像700と比較してより鮮明であり、焦点があった画像であるデコンボリューション画像800を作成する。画像デコンボリューションを、当該分野で既知である任意の手法によって、例えば装置200によって実行し得る。画像デコンボリューションの幾つかの方法の例としては、点広がり関数(PSF)に基づいた手法が挙げられるが、これに限定されるものでもない。図8に描写されるデコンボリューション画像800は、ぼやけた画像700における対象物と比較してより鮮明である、前景及び背景それぞれにおける対象物を含む。例えば、前景は、女性802、女性804及び男性806(女性702、女性704及び男性706のより鮮明であり又はぼやけの無いバージョン)を含み、背景は、建物808及び道路(図7における建物708及び道路のより鮮明であり又はぼやけの無いバージョン)を含む。
しかしながら、図8に図示されるとおり、デコンボリューション画像800は、表現の例の形態で示される、デコンボリューション画像800の異なる領域における色収差を含む。例えば、建物808の幾つかの窓を表す領域810は、変動する色を示す異なる表現パターンで色収差を描写する。同様に、女性802の手を表す別の領域812は、変動する色、例えば赤、青、緑又はそのような色の組合せを示す異なる表現パターンで色収差を描写する。
図9は、例示実施形態によるものであり、色収差を減じた、フィルタ処理済デコンボリューション画像の表現の一例を図示するものである。本表現例では、図2及び3を参照して説明したとおり、クロスフィルタ処理を用いて、デコンボリューション画像800、例えば領域810及び812に存在する色収差を減じ、色収差が減じられたフィルタ処理済デコンボリューション画像900を作成する。本表現例では、図8を参照して示し、説明した女性802、女性804、男性806、建物808と比較して、(図9に示すとおり)女性902、女性904、男性906、建物908及び道路において色収差が減じられている。例示実施形態においては、図5を参照して詳述したとおり双方向フィルタリング法に基づいて又は図6を参照して詳述したとおい最小全域木法に基づいてクロスフィルタ処理が実行され得る。
デコンボリューション画像800(入力デコンボリューション画像)は、R、G及びBの成分画像からY、Cb及びCrの成分画像に変換され得る。Y成分画像が、Y、Cb及びCrの成分画像がガイド画像として選択され得る。次いで、Y成分画像に関してCb及びCrの成分画像に対してクロスフィルタ処理が実行し、対応フィルタ処理済成分画像を作成する。例えば、ガイド画像において画素と該画素周辺の隣接画素セットを反復的に選択し、該選択した画素と隣接画素セットとの間における空間差分及び/又は画素差分セットに少なくとも基づいて隣接画素セットに対応する重みセットを算出し、かつ選択した画素と隣接画素セットの間における空間差分セット及び/又は画素差分セットに少なくとも基づいて隣接画素セットに対応する重みセットを算出することによって各成分画像に対してクロスフィルタ処理を実行する。クロスフィルタ処理のこのような工程を、図2及び3を参照して詳述し、本願では簡潔には説明していない。デコンボリューション画像800の成分画像に対してクロスフィルタ処理が実行されると、色収差が減じられたフィルタ処理済デコンボリューション画像900が取得される。別の手法においては、最小全域木法を用いてデコンボリューション画像800の成分画像のフィルタ処理を実行し、フィルタ処理済デコンボリューション画像900を作成する。Y成分画像及びCb及びCrのフィルタ処理済成分画像を含む色収差が減じられたフィルタ処理済デコンボリューション画像900はさらに、R、G及びBの成分画像に戻す。
図4、5及び6のフローチャートの説明を容易にするために、本願では、特定の操作が、特定の順番で実行される異なる工程を構成するものとして記載されていることに留意されたい。このような実施形態は、単なる例示であり本発明の範囲を限定するものではない。特定の操作は、単一の操作としてグループ化し、単一の操作として実行し得る。また、特定の操作は、本願に記載される例で利用される順番とは異なる順番で実行され得る。さらに、方法400、500及び600の特定の操作を自動化した様式で実行する。これらの操作は、ユーザとの交流を実質的に伴わない。方法400、500及び600の他の操作は、主導の様式又は半自動的な様式で実行され得る。これらの操作は、1又は複数のユーザインターフェースの表示によりユーザと交流することを伴う。
これらのフローチャートに記述される方法は、例えば図2の装置200によって実行され得る。フローチャートの操作、及びフローチャートにおける操作の組合せは、1又は複数のコンピュータプログラム命令を含むソフトウェアの実行に関係するハードウェア、ファームウェア、プロセッサ、回路及び/又はその他デバイスのような各種手段により実装され得る。例えば、各種実施形態に記載される手順の1又は複数は、コンピュータプログラム命令によって具体化され得る。例示実施形態においては、各種実施形態に記載される手順を具体化するコンピュータプログラム命令は、装置の少なくとも1つのメモリデバイスに記憶され、該装置における少なくとも1つのプロセッサによって実行され得る。如何なるこのようなコンピュータプログラム命令も、コンピュータ又はその他プログラム可能装置(例えば、ハードウェア)上にロードされ、機械を生成し、その結果、生じたコンピュータ又はその他プログラム可能装置により、フローチャートに特定される操作を実装するための手段が具体化される。これらのコンピュータプログラム命令は、(搬送波又は電磁信号等の伝送媒体とは反対に)コンピュータ又はその他プログラム可能装置が特定の様式で機能するように指示し得るコンピュータ可読記憶メモリに記憶されてもよく、その結果、コンピュータ可読メモリに記憶された命令が製品を生成し、製品の実行によりフローチャートに特定される操作を実装する。コンピュータプログラム命令は、コンピュータ又はその他プログラム可能装置上にロードされ、コンピュータ又はその他プログラム可能装置上で一連の操作を実行させ、コンピュータ又はその他プログラム可能装置上で実行される命令によりフローチャートにおける操作を実装するための操作が提供されるようにコンピュータ実装プロセスを生成する。方法の操作を装置200により説明する。しかしながら、方法の操作は、その他の任意の装置によって説明され、及び/又は実践され得る。
如何なる様式でも本願発明要旨を限定することなく、以下にある特許請求の範囲の解釈又は適用、本願に開示される例示実施形態の1又は複数の技術的効果は、デコンボリューション画像における色収差の削減を向上するものである。各種例示実施形態は、ガイド画像(但し、ガイド画像及びお成分画像はデコンボリューション画像の複数の成分画像を表す。)に基づいて、成分画像に対して、双方向フィルタリング法及び/又は最小全域木法を用いてクロスフィルタ処理を実行し、色収差が減じたデコンボリューション画像を取得すること提供する。各種例示実施形態により、効率的、迅速かつ正確な様式で色収差の顕著な削減を取得することにより高品質なデコンボリューション画像の作成を可能にする後処理手法が提供される。
上述した各種実施形態は、ソフトウェア、ハードウェア、アプリケーション論理、又はソフトウェア、ハードウェア及びアプリケーション論理の組合せにおいて実装され得る。ソフトウェア、アプリケーション論理及び/又はハードウェアは、少なくとも1つのメモリ、少なくとも1つのプロセッサ、装置、又はコンピュータプログラム製品上に存在し得る。例示実施形態においては、アプリケーション論理、ソフトウェア又は命令セットは、従来の各種コンピュータ可読媒体の何れか1つ上で維持される。懇願明細書の文脈においては、「コンピュータ可読媒体」とは、コンピュータ等の命令実行システム、装置又はデバイスによって用いるための、またはそれらと関連する命令を、図1及び/又は2に記載され、かつ描写される装置の一例を用いて収容し、記憶し、伝送し、伝搬し、又は移植し得る任意の媒体又は手段であり得る。コンピュータ可読媒体は、コンピュータ等の命令実行システム、装置又はデバイスによって用いるための、又はこれらと関連する命令を収容又は記憶し得る任意の媒体又は手段であり得るコンピュータ可読記憶媒体を含み得る。
本願において説明した異なる機能は、必要に応じて、異なる順番で、及び/又は互いに同時に実行され得る。さらに、必要におうじて、上述の機能の1又は複数は任意であり、又は組合せられ得る。
実施形態の各種態様が独立請求項に記載されているが、その他態様は、記載される実施形態及び/又は従属項に由来の特徴と独立請求項の特徴との他の組合せを含み、特許請求の範囲に明示される組合せのみ含むものではない。
上記は、本発明の例示実施形態を記載するものであるが、それらの記載は限定する意味で考慮してはならないことに留意されたい。むしろ、添付の特許請求の範囲に定義する本開示の要旨から逸脱することなしに為され得る変更及び修正がある。