JP2011003124A - 画像処理装置および画像処理プログラム - Google Patents

画像処理装置および画像処理プログラム Download PDF

Info

Publication number
JP2011003124A
JP2011003124A JP2009147498A JP2009147498A JP2011003124A JP 2011003124 A JP2011003124 A JP 2011003124A JP 2009147498 A JP2009147498 A JP 2009147498A JP 2009147498 A JP2009147498 A JP 2009147498A JP 2011003124 A JP2011003124 A JP 2011003124A
Authority
JP
Japan
Prior art keywords
pixel
defocus
lookup table
value
image information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP2009147498A
Other languages
English (en)
Inventor
Toshimasa Kakihara
利政 柿原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2009147498A priority Critical patent/JP2011003124A/ja
Publication of JP2011003124A publication Critical patent/JP2011003124A/ja
Ceased legal-status Critical Current

Links

Images

Abstract

【課題】撮影した画像全体に対して連続的で自然なデフォーカス処理を施す技術を提供すること。
【解決手段】本発明は、注目画素および当該注目画素を中心とした周辺画素の各々の位置に対応して設定される係数のマトリクスをデフォーカスの度合いに応じて複数設定して成るルックアップテーブルを生成するルックアップテーブル生成部10と、入力された画像情報のうち注目画素の画素値について、当該注目画素の画素値および前記周辺画素の画素値とルックアップテーブル生成部10で生成したルックアップテーブルの各画素と対応する位置の係数とを積算し、各画素分を加算することで新たな画素値を求めるにあたり、各画素と対応する位置の係数を得るルックアップテーブルとして、入力された画像情報の撮影時の撮影距離に対応したデフォーカスの度合いとなるルックアップテーブルを適用するデフォーカス処理部20とを有する画像処理装置1である。
【選択図】図1

Description

本発明は、画像処理装置および画像処理プログラムに関する。詳しくは、画像情報に対して所定のデフォーカス処理を施す画像処理装置および画像処理プログラムに関する。
従来、画像情報についてデフォーカス(ぼかし)を施す技術が開示されている。例えば、特許文献1では、画像情報を距離ごとのレイヤーに分割して、レイヤーごとにぼかしをかけて合成する技術が開示されている。また、特許文献2では、コンピュータグラフィックス画像において、三次元仮想空間に設置されるカメラからオブジェクトまでの距離に応じてオブジェクトにぼかし処理を施す技術が開示されている。
特開2000−244810号公報 特開2000−322594号公報
しかしながら、従来の技術では、撮影した画像の全体に対して所望のデフォーカス(ぼかし)処理を施すことが困難となっている。すなわち、レイヤーごとに単一的なぼかし処理を施す技術では、レイヤーの区分けによって段階的なぼかし処理となってしまう。また、コンピュータグラフィックス画像におけるぼかし処理では、三次元仮想空間内のオブジェクトごとのぼかし処理となる。
本発明は、撮影した画像全体に対して連続的で自然なデフォーカス処理を施す技術の提供を目的とする。
本発明は、注目画素および当該注目画素を中心とした周辺画素の各々の位置に対応して設定される係数のマトリクスをデフォーカスの度合いに応じて複数設定して成るルックアップテーブルを生成するルックアップテーブル生成部と、入力された画像情報のうち注目画素の画素値について、当該注目画素の画素値および前記周辺画素の画素値とルックアップテーブル生成部で生成したルックアップテーブルの各画素と対応する位置の係数とを積算し、各画素分を加算することで新たな画素値を求めるにあたり、各画素と対応する位置の係数を得るルックアップテーブルとして、入力された画像情報の撮影時の撮影距離に対応したデフォーカスの度合いとなるルックアップテーブルを適用するデフォーカス処理部とを有する画像処理装置である。
このような本発明では、ルックアップテーブル生成部により、注目画素および当該注目画素を中心とした周辺画素の各々の位置に対応して設定される係数のマトリクスをデフォーカスの度合いに応じて複数設定して成るルックアップテーブルを生成する。デフォーカス処理部は、このルックアップテーブル生成部で生成したルックアップテーブルを用いて注目画素の画素値を変換する。この際、入力された画像情報の撮影時の撮影距離に対応したデフォーカスの度合いとなるルックアップテーブルを適用することから、注目画素、周辺画素のそれぞれいついて撮影距離に応じたデフォーカスの度合いとなる係数を用いた分散処理を施すことができるようになる。
ここで、デフォーカス処理部は、新たな画素値を求めるにあたり、入力された画像情報のうち注目画素および周辺画素の各画素の撮影距離に応じてグループ分けを行い、当該グループごとに計算を行って各グループごとの加算値を合計する。
また、ルックアップテーブル生成部は、ルックアップテーブルの係数を設定するにあたり、注目画素の位置を中心としたガウス分布に対応した値となるよう設定する。さらには、デフォーカスの度合いに応じて各ルックアップテーブルごとに分散の異なるガウス分布に対応した値となるよう設定するものでもある。
本発明では、画像情報の撮影時の撮影距離として、カメラによる撮影でレンズから被写体までの距離のことをいうものとする。
また、本発明は、画像情報および前記画像情報の撮影時の撮影距離に関する情報を入力するステップと、注目画素および当該注目画素を中心とした周辺画素の各々の位置に対応して設定される係数のマトリクスをデフォーカスの度合いに応じて複数設定して成るルックアップテーブルを生成するステップと、入力した画像情報のうち注目画素の画素値について、当該注目画素の画素値および周辺画素の画素値とルックアップテーブルの各画素と対応する位置の係数とを積算し、各画素分を加算することで新たな画素値を求めるにあたり、各画素と対応する位置の係数を得るルックアップテーブルとして、撮影距離に対応したデフォーカスの度合いとなるルックアップテーブルを適用して新たな画素値を求めるステップとをコンピュータに実行させる画像処理プログラムである。
このような本発明では、先ず、注目画素および当該注目画素を中心とした周辺画素の各々の位置に対応して設定される係数のマトリクスをデフォーカスの度合いに応じて複数設定して成るルックアップテーブルを生成する。そして、生成したルックアップテーブルを用いて注目画素の画素値を変換する。この際、入力された画像情報の撮影時の撮影距離に対応したデフォーカスの度合いとなるルックアップテーブルを適用することから、注目画素、周辺画素のそれぞれいついて撮影距離に応じたデフォーカスの度合いとなる係数を用いた分散処理を施すことができるようになる。
本発明によれば、撮影した画像全体に対して連続的な自然なデフォーカス処理を施すことが可能となる。
本実施形態に係る画像処理装置の主要部の構成を説明するブロック図である。 本実施形態に係る画像処理装置を適用した画像処理システムの構成例を示す図である。 本実施形態の画像処理装置でデフォーカス処理を施す対象となる画像情報を取り込む撮像部の構成例を説明する図である。 画像情報および距離情報の一例を示す図である。 画像処理プログラムを実行するコンピュータのハードウェア構成を示すブロック図である。 本実施形態に係る画像処理プログラムのメインフローチャートである。 amaxの設定について説明する模式図である。 ルックアップテーブルの生成処理の流れを説明するフローチャートである。 ルックアップテーブルを説明する模式図である。 ルックアップテーブルの2次元テーブルの要素(係数)の状態を視覚的に示した図である。 処理用データの準備処理の流れを説明するフローチャートである。 デフォーカス処理の流れを説明するフローチャートである。 補正後の画像サンプルの図である。 補正前の画像サンプルの図である。 各々のサンプルの拡大図である。 データのサンプリング処理の流れを説明するフローチャートである。 画像情報に対応したサンプリング処理の例を説明する図である。 データ列のグループ分けの具体例を説明する図である。 サンプルリストのソートの具体例を説明する図である。 デフォーカス処理の具体例を説明する図である。 視線の束の通過について説明する図である。 デフォーカス処理の具体的なサンプルを示す図(その1)である。 デフォーカス処理の具体的なサンプルを示す図(その2)である。 デフォーカス処理の具体的なサンプルを示す図(その3)である。 グラフィックスへ適用する場合の流れを示す図である。 CG作成ソフトウェア内に本実施形態の画像処理プログラムが組み込まれた場合の処理を説明する図である。
以下、本発明を実施するための形態(以下、「実施形態」という。)について説明する。なお、説明は以下の順序で行う。
1.画像処理装置(主要構成例、システム構成例、撮像部の構成例、デフォーカス処理の例)
2.画像処理プログラム(ハードウェア構成例、画像処理の基本的な流れ、ルックアップテーブルの生成、処理用データの準備、デフォーカス処理)
3.具体的な適用例(デフォーカス処理の具体例、具体的なサンプル、グラフィックスへの適用例)
<1.画像処理装置>
[主要構成]
図1は、本実施形態に係る画像処理装置の主要部の構成を説明するブロック図である。 本実施形態に係る画像処理装置1は、画像情報および画像情報の撮影時の撮影距離に関する情報(距離情報)を用いて、画像情報にデフォーカス(ぼかし)処理を施すものである。画像処理装置1は、ルックアップテーブル生成部10とデフォーカス処理部20とを備えている。
ルックアップテーブル生成部10は、デフォーカス処理で用いる分散処理の係数を備えるルックアップテーブルを生成する。ルックアップテーブルは、デフォーカス処理の対象となる画像情報の領域(複数の画素が縦横に並ぶ矩形領域)の中の注目画素および当該注目画素を中心とした周辺画素の各々の位置に対応して設定される係数のマトリクスである。ルックアップテーブル生成部10は、このマトリクスをデフォーカスの度合いに応じて複数設定し、3次元ルックアップテーブルとして生成している。
ルックアップテーブル生成部10は、ルックアップテーブルの係数を設定するにあたり、注目画素の位置を中心としたガウス分布に対応した値となるよう設定する。しかも、ルックアップテーブル生成部10は、ガウス分布に対応した値となるルックアップテーブルの係数を設定するにあたり、デフォーカスの度合いに応じて各ルックアップテーブルごとに分散の異なるガウス分布に対応した値となるよう設定する。
デフォーカス処理部20は、入力された画像情報のうち注目画素の画素値について、当該注目画素の画素値および周辺画素の画素値と、ルックアップテーブル生成部10で生成したルックアップテーブルの各画素と対応する位置の係数とを用いて画素値の変換を行う。
具体的には、注目画素の画素値について、注目画素および周辺画素の画素値と、ルックアップテーブルの各画素と対応する位置の係数とを積算し、各画素分の積算値を加算することで新たな画素値としている。デフォーカス処理部20は、この演算を行うにあたり、各画素と対応する位置の係数を得るルックアップテーブルとして、入力された距離情報に対応したデフォーカスの度合いとなるルックアップテーブルを適用している。
デフォーカス処理部20は、注目画素について新たな画素値を求めるにあたり、入力された画像情報のうち注目画素および周辺画素の各画素の距離情報に応じてグループ分けを行う。そして、このグループごとに画素値と係数との積算および各画素分の加算を行って、各グループごとの加算値を合計する処理を行う。グループごとに演算を行うことで、無駄な演算処理を減らして処理の高速化を図る。
デフォーカス処理部20は、上記グループごとの加算値を合計する処理において、グループごとの加算値の合計後の値を規格化する。これにより、デフォーカスを行う領域の全体について均一な重み付けで演算を行うことができるようになる。
デフォーカス処理部20は、上記画素値とルックアップテーブルの係数の積算を行うにあたり、ルックアップテーブルの係数が予め設定した値を超えるものと対応する画素の画素値を計算対象とする。これにより、デフォーカス処理に寄与しない演算処理の発生を抑制する。
[システム構成例]
図2は、本実施形態に係る画像処理装置を適用した画像処理システムの構成例を示す図である。図2に示すシステム構成例では、本実施形態に係る画像処理装置1がパーソナルコンピュータPC等の機器とは別体に設けられている。
画像処理システムは、LAN(Local Area Network)等から成るネットワークNに、パーソナルコンピュータPC、サーバSV、プリンタPRおよび本実施形態の画像処理装置1が接続された構成となっている。サーバSVやプリンタPRは必要に応じて接続されていればよい。
画像処理装置1にはユーザからの指示を画像処理装置1に伝える操作部1aが設けられている。操作部1aは、キーボード、マウス、タブレット、タッチパネルディスプレイ等の入力(入出力)デバイスである。
処理対象となる画像情報はパーソナルコンピュータPCやサーバSVからネットワークNを介して画像処理装置1へ送られる。画像処理装置1は、送られた画像情報に対してデフォーカス処理を施し、処理後の画像情報をネットワークNを介してパーソナルコンピュータPCやサーバSVに送る。また、印刷出力する場合には処理後の画像情報をプリンタPRへ送る。
なお、図2に示すように、画像処理装置1がパーソナルコンピュータPC等の機器と別体に設けられている構成のほか、パーソナルコンピュータPCや他の電子機器(例えば、撮像装置)に本実施形態に係る画像処理装置1が組み込まれているシステム構成であっても適用可能である。
[撮像部の構成例]
図3は、本実施形態の画像処理装置でデフォーカス処理を施す対象となる画像情報を取り込む撮像部の構成例を説明する図である。撮像部は、画像情報を取り込むカメラ30と、カメラ30で画像情報を取り込む際の被写体までの撮像距離を測定する距離測定部40と、記録装置50とを備えている。
カメラ30は、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)センサ等の撮像素子によって被写体の画像を取り込む機器である。被写体の画像情報は記録装置50に蓄積される。距離測定部40は、カメラ30で画像情報を取り込む際、カメラ30と被写体までの距離を距離情報として測定する部分である。距離測定部40は、例えば、カメラ30のレンズと被写体との距離を測定するもので、測定値は画素ごとに距離情報として取り込み、記録装置50に蓄積される。
なお、図3に示す例では、カメラ30と距離測定部40とが別体で設けられているが、カメラ30の機能として距離測定部40が組み込まれていてもよい。距離測定部40は、焦点合わせ機構を利用したものや、ステレオマッチングによる方法で被写体までの距離を測定する。
図4は、画像情報および距離情報の一例を示す図で、(a)はサンプルの画像情報、(b)はサンプルの距離情報を視覚化したものである。図4(a)に示すサンプルの画像情報では、被写体の映像を2次元の画像情報として取り込んでいる。画像情報は複数の画素の情報がマトリクス状に配列された構成となっており、各画素には画素値が対応付けられている。単色画像では、画素値として単色の濃淡の情報が数値として対応付けられている。カラー画像では、画素値としてR(赤)、G(緑)、B(青)のいずれかの色の濃淡の情報が数値として対応付けられている。
図4(b)に示すサンプルの距離情報では、図4(a)に示す画像情報の各画素の位置に対応した被写体までの距離の情報が数値として対応付けられている。図4(b)に示す距離情報は、各画素の位置で取り込んだ被写体のカメラからの距離を0〜1の数値にしたものである。ここでは、0が最も距離が近く、1が最も距離が遠いことを示し、0を黒、1を白として距離の数値に対応した白黒の濃淡の像によって表されている。
[デフォーカス処理]
本実施形態の画像処理装置1では、処理対象となる画像情報と、この画像情報に対応した距離情報とを用い、各画素の距離に応じたデフォーカスの量のルックアップテーブルから参照し、画像情報全体に処理を施している。このため、画像情報の各画素における撮影距離に応じたデフォーカスの度合いで分散処理を施すことができるようになる。画像処理装置1で行うデフォーカス処理は、専用のハードウェアによって実現しても、コンピュータによって実行されるプログラム処理によって実現してもよい。
<2.画像処理プログラム>
次に、本実施形態に係る画像処理プログラムを説明する。本実施形態に係る画像処理プログラムはコンピュータに実行させるステップを有している。コンピュータは本実施形態に係る画像処理プログラムを実行する演算部、プログラムや各種データを格納する記憶部、入出力部を備えている。コンピュータはパーソナルコンピュータ等の電子計算機のほか、映像記録再生装置、携帯端末等の情報を取り扱うことのできる電子機器に組み込まれているものでもよい。また、本実施形態の画像処理プログラムは、CD−ROM等の記録媒体に記録されていたり、ネットワークを介して配信されるものでもある。
[ハードウェア構成]
図5は、画像処理プログラムを実行するコンピュータのハードウェア構成を示すブロック図である。コンピュータのハードウェア構成としては、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104、HDDコントローラ105、マウス106、キーボード107、ディスプレイ108、入出力コントローラ109およびネットワークコントローラ110がバス111によって接続された構成となっている。
後述する本実施形態の画像処理プログラムは、上記ハードウェア構成のうちHDD104に格納されており、実行にあたりRAM103に読み出され、CPU101によって実行される。
[画像処理の基本的な流れ]
図6は、本実施形態に係る画像処理プログラムのメインフローチャートである。先ず、処理対象となる画像情報およびその画像情報に対応した距離情報を入力し、処理後の画像情報を格納するメモリを初期化する(ステップS20)。自然画を対象としている場合には、自然画を撮影して得た画像情報と、撮影時に取り込んだ距離情報とを入力する。コンピュータ等によって生成したグラフィックスから成る画像情報では、この画像情報と計算によって得た距離情報とを入力する。
次に、被写界深度の設定およびamaxの設定を行う(ステップS30)。図7は、amaxの設定について説明する模式図である。図7では、撮影の際のカメラの被写界深度をaで表している。すなわち、カメラの焦点位置をa=0としている。この場合、焦点位置a=0から奥側および手前側の各々の最大深度をddifとし、最大深度となるaをamaxに設定している。また、カメラの焦点距離の設定も行う。amaxや焦点距離の設定は、予め初期値が決まっていても、ユーザによる操作から得てもよい。ここで設定する焦点距離が、画像情報の中のどの位置を焦点位置とするかの設定値となり、amaxが、画像情報の焦点位置を中心としたデフォーカスの深さの設定値となる。
次に、ルックアップテーブルの生成(ステップS40)、処理用データの準備(ステップ50)、デフォーカス処理(ステップS60)を行う。これらの処理の詳細を以下に示す。
[ルックアップテーブルの生成]
図8は、ルックアップテーブルの生成処理の流れを説明するフローチャートである。先ず、Gaus(amax,rmax,0)が所定の値以下となるrmaxを求める(ステップS80)。ここでは、所定の値として0.01を用いるが、これ以外の数値であってもよい。Gaus関数は、Gaus(a,x,y)=exp(−(x2+y2)/2a2)である。aは分散を表している。
次に、zが0からrmax×2となる2次元テーブル(z)の処理を行う(ステップS90〜ステップS150)。ここで、zは、上記Gaus関数のa(分散)に対応したもので、デフォーカスの度合いを示すものである。2次元テーブル(z)の処理としては、2次元テーブル(z)の各要素テーブル(x,y,z)の処理を行う(ステップS110〜ステップS140)。
要素テーブル(x,y,z)はGaus(a,x,y)に対応している(ステップS110)。これにより、x,y座標の原点を中心としてガウス分布に対応したテーブルの要素(係数)が、z軸方向、すなわちデフォーカスの度合いに応じて形成される。ここで、x、yテーブルの要素(係数)の分布は、z軸方向について、分散の異なるガウス分布となる。なお、要素テーブル(x,y,z)の値が0.01未満の場合には、要素テーブル(x,y,z)=0とする(ステップS120〜ステップS130)。
次に、2次元テーブル(z)の中の要素(係数)の合計を計算してtotalとする(ステップS160)。次いで、2次元テーブル(z)の各要素をtotalで除算し、規格化する(ステップS170)。これにより、2次元テーブル(z)の各要素の合計は1となる。
図9は、ルックアップテーブルを説明する模式図である。ルックアップテーブルは、x,y軸に沿った2次元のテーブルが、z軸方向に複数設けられたものである。1つの2次元テーブルは、x,y軸の原点から周囲にかけてガウス分布に対応するよう要素(係数)の値が設定されている。また、z軸方向では、2次元テーブルの要素(係数)の設定において、ガウス分布のa(分散)が異なっている。x,y軸は、各々−rmax〜+rmaxまでとなっており、z軸は、0〜rmax×2までとなっている。
このルックアップテーブルにおいて、z=0では分散はなく、x,yの原点に対応した要素のみ値(係数)が1、それ以外の要素が0となる。一方、z=rmax×2では分散が最も大きくなっている。図10は、ルックアップテーブルの2次元テーブルの要素(係数)の状態を視覚的に示した図であり、(a)はz=0の場合、(b)はz=rmax×2の場合である。図において、白が1、黒が0であり、要素の大きさ1〜0を図の白〜黒の色に対応させている。このように、zの値によって、2次元テーブルの要素(係数)の大きさの分散が異なるようになっている。
[処理用データの準備]
図11は、処理用データの準備処理の流れを説明するフローチャートである。先ず、対象となる画像情報の幅w、高さhに合わせたw×hの対象領域のデータ列を準備する(ステップS200)。ここで、データ列は、データ列(画素値,距離情報,z)によって構成される。
次に、対象となる画像情報の各画素に対するデータ列の入力処理を行う(ステップS210〜ステップS230)。先ず、画素の位置(x,y)に対応したデータ(画素値)をデータ列の画素値に入力し、距離情報をデータ列の距離情報に入力する。また、zを算出してデータ列のzに入力する。
zは、z=min(1,A/amax)×2×rmaxによって算出する。ここで、A={|(画素の距離情報−焦点距離)|/ddif}×amaxである。また、minは最小値を返す関数であり、min(1,A/amax)によって、1を超えないよう制限している。このzは、画素に対応する被写体の撮影距離に応じたグループ分けを示す値であり、焦点位置を0として、被写体の焦点位置からのずれに応じて最大rmaxまで設定される値である。すなわち、zは、焦点位置を0として、奥側、手前側、各々最大rmaxまでの値を取ることになる。
上記の処理によって、画素の位置(x、y)に対応したデータ列が、データ(x,y)として記録される。すなわち、データ(x,y)=データ列(位置x,yの画素値,位置x,yの距離情報,位置x,yのz)として記録される。
[デフォーカス処理]
図12−1は、デフォーカス処理の流れを説明するフローチャートである。デフォーカス処理は、対象となる画像情報の全画素について処理を行う(ステップS260〜ステップS380)。この処理において、各画素の画素値をデフォーカス処理によって新たな画素値に変換する。処理の対象となる画素を注目画素、注目画素を中心とした縦横所定の複数画素分の周辺の画素を周辺画素とする。デフォーカス処理は、注目画素および周辺画素の画素値と、各画素の位置および距離情報に対応したルックアップテーブルの係数とを用いた演算によって行う。
先ず、注目画素および周辺画素のデータをサンプリングする。図13は、データのサンプリング処理の流れを説明するフローチャートである。データ(x,y)を注目画素(中心画素)とした周囲のサンプリングでは、データ(u,v)として、x−rmax≦u≦x+rmax、y−rmax≦v≦y+rmaxの範囲でサンプリングを行う(ステップS410〜ステップS440)。
サンプリングは、データ(u,v)におけるu,vを上記の範囲で可変し、3次元ルックアップテーブルの要素テーブル(x,y,z)における、要素テーブル(u−x,v−y,z)の値を読み出す、そして、要素テーブル(u−x,v−y,z)>0であれば、データ(u,v)をサンプルリストに追加する(ステップS430)。
図14は、画像情報に対応したサンプリング処理の例を説明する図である。先ず、図14(a)に示す処理対象の画像について、注目画素(x,y)を中心としたサンプリング対象領域を設定する。図14(b)は、サンプリング対象領域近傍の拡大図、図14(c)は、サンプリング対象領域近傍に対応した距離情報の拡大図である。サンプリング対象領域は、注目画素(x,y)の上下左右各々rmax分である。したがって、サンプリング対象領域のサイズは、注目画素(x,y)を中心として、注目画素(x,y)の1画素分を含め、縦×横=(2×rmax+1)×(2×rmax+1)の画素サイズとなる。
サンプリングは、サンプリング対象領域内の全ての画素について行う。すなわち、各画素のデータ列から対応する3次元ルックアップテーブルの要素テーブルの値を参照し、これが0を超える場合にその画素のデータ列をサンプルリストに追加する。
図14(d)に示すように、注目画素(x,y)について、データ(x,y)の要素テーブル(x,y,z)の値が0を超えている場合、注目画素(x,y)のデータ(x,y)をサンプルリストに追加する。また、図14(e)に示すように、周辺画素(u,v)について、データ列(u,v)の要素テーブル(u−x,v−y、z)の値が0の場合には、データ列(u,v)はサンプルリストに追加されない。つまり、サンプルリストには、要素テーブルの値が0を超えるデータ列のみが追加されることになる。
次に、図12−1の処理に戻り、上記処理でサンプリングしたサンプルリストを距離情報の値の大きさ順にソートする(ステップS280)。例えば、距離情報の値の降順にソートする。次に、後に用いる変数Alphaを0に初期化する(ステップS290)。
次の、ステップS300〜ステップS380によって、デフォーカス処理における演算を行う。この処理を行うにあたり、サンプルリストの先頭から、グループ分けを行う。グループをgzとした場合、gzは、サンプルリストの各データ列のzの値について、距離情報が焦点距離より小さいときに−(負)、それ以外のときに+(正)の符号を付加する。なお、グループ分けの間隔はddifによって決定される。同じamaxであればddifが小さいとグループ分けの間隔が狭く、ddifが大きいとグループ分けの間隔が広くなる。また、グループの数は、amaxによって決定される。amaxが小さいとグループの数が少なく、大きいとグループの数が多くなる。
次に、後に用いる変数tmpC、tmpAを0に初期化する。次に、gzグループでグループ分けされたすべてのデータ列(u,v)について、グループごとにデフォーカスの演算処理を施す(ステップS320〜ステップS340)。
先ず、データ(u,v)について、要素テーブル(u−x,v−y,|gz|)の値(係数)とデータ(u,v)の画素値とを積算し、tmpCに加算する。また、要素テーブル(u−x,v−y,|gz|)の値をtmpAに加算する(ステップS330)。
これを、すべてのu,vについて繰り返す。この処理によって、tmpCには、1つのグループ内の各画素の画素値と、各画素の距離に応じたルックアップテーブルの係数との積算値が各画素分加算されていくことになる。また、tmpAには、1つのグループ内の各画素に対応したルックアップテーブルの係数が加算されていくことになる。
次に、補正処理を行う(ステップS350)。先ず、補正値として1−Alphaを求める。そして、tmpCにこの補正値を積算して変数Colorに加算していく。また、tmpAに補正値を積算して変数Alphaに加算していく。なお、ステップS300〜ステップS360について最初のループでは、Alphaが0であるため補正値は1、つまり補正なしとなる。
次に、Alphaが1以上であるか否かを判断し(ステップS355)、1以上でなければステップS300へ戻り、次のグループについて処理を行う。一方、1以上であれば、ステップS370へ進む。
ここまでの処理で、Colorには、全てのグループgzにおける各画素の画素値とルックアップテーブルの係数との積算値が加算されることになる。ステップS370では、Color/Alphaを行い、新たなColorとする。これにより、Colorの値を規格化する。すなわち、画面端でサンプル対象の画素が画像の外にあり、処理をスキップするサンプルがあった場合、計算結果の画素は暗くなる。この対策として、ステップSS370では、サンプルが不足した場合、1未満になるAlphaを使い計算結果に補正をかけ、画像端の明るさがデフォーカス処理の前後で大きく異ならないようにする。また、デフォーカス処理に複数のgZが関係した場合、上記と同じように暗くなる。これは、各ルックアップテーブルは個別に正規化されているため、複数のgZグループが関係し、複数のルックアップテーブルが使われた場合、誤差として表れるためである。そこで、ステップS370では、この誤差に対する補正も行っている。図12−2は、補正後の画像サンプルの図、図12−3は、補正前の画像サンプルの図である。また、図12−4は、各々のサンプルの拡大図である。このように、補正前には発生していた画面の暗くなる部分が補正によって解消しているのが分かる。
以上説明したステップS260〜ステップS380までの処理を、処理対象である幅w×高さhの画像情報の全ての画素を注目画素として実行する。これにより、幅w×高さhの画像情報についてデフォーカス処理が施される。
<3.具体的な適用例>
[デフォーカス処理の具体例]
図15は、データ列のグループ分けの具体例を説明する図である。本実施形態では、カメラのように光がレンズによって集められ、各画素の色を記録するのとは逆に、各画素から出た視線の束がレンズで曲がり、焦点で交差するモデルを基に、図15に示すようなグループ分けを行う。視線の束の中は、ルックアップテーブルにおける各Zのような分布となっている。図15に示すように、グループ分けは、焦点位置に対応したgZ=0を中心として、レンズ側にgZ=−1、−2、−3、−4…、被写体側にgZ=1、2、3、4…の区分けとなる。
図16は、サンプルリストのソートの具体例を説明する図である。サンプルリストに登録されるデータ列(u,v)は、色(位置u,vの画素値)、デプス(位置u,vの距離情報)、z(位置u,vのz)の要素を各々備えている。サンプルリストに登録されたデータ列は、当初u,vすなわちx、yの位置の順に登録されているが、これをデプスの順にソートする。図16に示す例では、ソート後、gZ=−3、−2、−1、0、3、4の順にデータ列が並び替えられている。これにより、gZグループの順に並び替えられることになる。サンプルリストがgZグループの順に並び替えられることで、gZグループごとにデフォーカス処理の演算を効率良く行うことになる。
図17は、上記のサンプルリストの例におけるデフォーカス処理の具体例を説明する図である。この処理は、図12−1に示すステップS300〜ステップS360の処理となっている。デフォーカス処理は、gZグループごとに行われる。
上記のサンプルリストの例では、gZ=−3から処理が始まる。gZ=−3のグループは、データ列(u1,v1)であり、要素(色,デプス,z)が(色1,0.1,3)となっている。これにより、tmpC=要素テーブル(u1−x,v1−y,3)×色1を行い、tmpA=要素テーブル(u1−x,v1−y,3)を行う。また、補正=(1−0)、Color+=tmpC×補正、Alpha+=tmpA×補正を行う。ここで、「+=」は、左辺の変数値に右辺を加算して新たな左辺の変数値とする演算のことである。
次に、gZ=−2の処理を行う。gZ=−2のグループは、データ列(u3,v3)およびデータ列(u6,v6)であり、要素(色,デプス,z)が(色3,0.2,2)および(色6,0.2,2)となっている。これにより、tmpC=要素テーブル(u3−x,v3−y,2)×色3+要素テーブル(u6−x,v6−y,2)×色6を行い、tmpA=要素テーブル(u3−x,v3−y,2)+(u6−x,v6−y,2)を行う。また、補正=(1−Alpha)、Color+=tmpC×補正、Alpha+=tmpA×補正を行う。
次に、gZ=−1の処理を行う。gZ=−1のグループは、データ列(u4,v4)であり、要素(色,デプス,z)が(色4,0.3,1)となっている。これにより、tmpC=要素テーブル(u4−x,v4−y,1)×色4を行い、tmpA=要素テーブル(u4−x,v4−y,1)を行う。また、補正=(1−Alpha)、Color+=tmpC×補正、Alpha+=tmpA×補正を行う。
次に、gZ=0の処理を行う。gZ=0のグループは、データ列(x,y)であり、要素(色,デプス,z)が(色5,0.4,0)となっている。これにより、tmpC=要素テーブル(x−x,y−y,0)×色5=色5を行い、tmpA=要素テーブル(x−x,y−y,0)=1を行う。また、補正=(1−Alpha)、Color+=tmpC×補正、Alpha+=tmpA×補正=1−Alphaを行う。
図18は、視線の束の通過について説明する図である。ここで、各ピクセルではレンズで集まった無数の光線を記録しているが、光線の逆ベクトルの関係にある視線も無数に存在する。この無数の視線が焦点と記録画素で交わる束となっており、これを視線の束と呼んでいる。図18(a)は、gZ=−3のグループでの視線の束の到達、通過を示している。なお、図18の例では、gZ=−4のグループに該当する画素がないため、gZ=−3の区間に入っている視線は100%となる。gZ=−3のグループには該当する画素があるため、視線の束のうちtmpAが到達する。したがって、1−tmpAの視線がgZ=−3のグループを通過する。
図18(b)は、gZ=−2のグループでの視線の束の通過を示している。本実施形態の処理では、各gZグループで処理を完結させるため、各gZグループでどの視線が到達したかを考えず、tmpAの視線が到達したことを考えている。したがって、gZ=−2のグループでは、gZ=−3のグループから通過した1−tmpAの視線のうち、tmpAを掛けた分が到達し、残り、すなわち1−(Alpha+(1−tmpA)×tmpA)の視線が通過する。
図18(c)は、gZ=0のグループでの視線の束の通過を示している。gZ=0のグループでは、対応するルックアップテーブル(z=0)の中央の1画素が1、他の画素が0になっている。したがって、gZ=0のグループにデータが1つあった場合、tmpAは1になり、視線が全て到達することになる。
[具体的なサンプル]
図19〜図21は、デフォーカス処理の具体的なサンプルを示す図である。図19は、焦点距離を変化させた例であり、分散a=4、ddif=0.4として、焦点距離を(a)で0.3、(b)で0.45、(c)で0.6に変化させた例である。図19(a)〜(c)に示すように、焦点距離0.3である(a)が最も手前に焦点が合っており、(b)、(c)の順に奥へ焦点位置が移動している。各々、焦点位置を中心として手前および奥側となる画素は距離に応じた強さのデフォーカス処理が施されている。
図20は、分散aを変化させた例であり、焦点距離0.45、ddif=0.4として、分散aを(a)で2、(b)4、(c)で6、(d)で10、(e)で20に変化させた例である。図20(a)〜(e)に示すように、同じ焦点位置を中心として手前および奥側となる画素は距離に応じた強さのデフォーカス処理が施されているが、分散が大きいほどデフォーカスの強さが大きくなっている。
図21は、ddifを変化された例であり、焦点距離0.45、分散0.4として、ddifを(a)で0.75、(b)で0.4、(c)で0.06に変化された例である。図21(a)〜(c)に示すように、同じ焦点位置を中心として手前および奥側となる画素は距離に応じた強さのデフォーカス処理が施されているが、ddifが小さいほどデフォーカスの幅が大きくなっている。
[グラフィックスへの適用例]
本実施形態に係る画像処理装置および画像処理プログラムは、カメラで取り込んだ写真(イメージ)のほか、コンピュータによって作成したグラフィックスに対しても適用可能である。図22は、グラフィックスへ適用する場合の流れを示す図である。
先ず、コンピュータで実行されるコンピュータグラフィックス(以下、単に「CG」と言う。)作成ソフトウェアを用い、CG記述データを作成する。次いで、このCG記述データからモニタに表示可能な画像情報を生成するとともに、各画素ごとの距離情報を生成する。そして、この生成した画像情報および距離情報を本実施形態に係る画像処理装置もしくは画像処理プログラムに渡し、ここでデフォーカス処理を施して最終画像を得る。
図23は、CG作成ソフトウェア内に本実施形態の画像処理プログラムが組み込まれた場合の処理を説明する図である。CG画像も仮想のカメラを設定して生成するものであり、本実施形態の画像処理プログラムは、CG作成ソフトウェアの一つの画像処理機能として組み込むことができる。この場合、CG作成ソフトウェアによってレンダリングを行い、CG記述データを生成するとともに、画像情報を生成する。次いで、撮影時の撮影距離に相当する距離情報をCG記述データから生成し、生成した距離情報と画像情報とを本実施形態の画像処理プログラムに渡す。そして、ここでデフォーカス処理を施して最終画像を得る。
1…画像処理装置、10…ルックアップテーブル生成部、20…デフォーカス処理部

Claims (7)

  1. 注目画素および当該注目画素を中心とした周辺画素の各々の位置に対応して設定される係数のマトリクスをデフォーカスの度合いに応じて複数設定して成るルックアップテーブルを生成するルックアップテーブル生成部と、
    入力された画像情報のうち注目画素の画素値について、当該注目画素の画素値および前記周辺画素の画素値と前記ルックアップテーブル生成部で生成したルックアップテーブルの各画素と対応する位置の係数とを積算し、各画素分を加算することで新たな画素値を求めるにあたり、前記各画素と対応する位置の係数を得るルックアップテーブルとして、前記入力された画像情報の撮影時の撮影距離に対応したデフォーカスの度合いとなるルックアップテーブルを適用するデフォーカス処理部と
    を有する画像処理装置。
  2. 前記デフォーカス処理部は、前記新たな画素値を求めるにあたり、前記入力された画像情報のうち注目画素および周辺画素の各画素の撮影距離に応じてグループ分けを行い、当該グループごとに前記画素値と前記係数との積算および各画素分の加算を行って、各グループごとの加算値を合計する
    請求項1記載の画像処理装置。
  3. 前記デフォーカス処理部は、前記各グループごとの加算値を合計した後、規格化する
    請求項2記載の画像処理装置。
  4. 前記ルックアップテーブル生成部は、前記ルックアップテーブルの係数を設定するにあたり、前記注目画素の位置を中心としたガウス分布に対応した値となるよう設定する
    請求項1から3のうちいずれか1項に記載の画像処理装置。
  5. 前記ルックアップテーブル生成部は、前記ガウス分布に対応した値となる前記ルックアップテーブルの係数を設定するにあたり、前記デフォーカスの度合いに応じて各ルックアップテーブルごとに分散の異なるガウス分布に対応した値となるよう設定する
    請求項4記載の画像処理装置。
  6. 前記デフォーカス処理部は、前記ルックアップテーブルの係数が予め設定した値を超えるものと対応する画素の画素値を計算対象とする
    請求項1から5のうちいずれか1項に記載の画像処理装置。
  7. 画像情報および前記画像情報の撮影時の撮影距離に関する情報を入力するステップと、
    注目画素および当該注目画素を中心とした周辺画素の各々の位置に対応して設定される係数のマトリクスをデフォーカスの度合いに応じて複数設定して成るルックアップテーブルを生成するステップと、
    入力した前記画像情報のうち注目画素の画素値について、当該注目画素の画素値および前記周辺画素の画素値と前記ルックアップテーブルの各画素と対応する位置の係数とを積算し、各画素分を加算することで新たな画素値を求めるにあたり、前記各画素と対応する位置の係数を得るルックアップテーブルとして、前記撮影距離に対応したデフォーカスの度合いとなるルックアップテーブルを適用して前記新たな画素値を求めるステップと
    をコンピュータに実行させる画像処理プログラム。
JP2009147498A 2009-06-22 2009-06-22 画像処理装置および画像処理プログラム Ceased JP2011003124A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009147498A JP2011003124A (ja) 2009-06-22 2009-06-22 画像処理装置および画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009147498A JP2011003124A (ja) 2009-06-22 2009-06-22 画像処理装置および画像処理プログラム

Publications (1)

Publication Number Publication Date
JP2011003124A true JP2011003124A (ja) 2011-01-06

Family

ID=43561013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009147498A Ceased JP2011003124A (ja) 2009-06-22 2009-06-22 画像処理装置および画像処理プログラム

Country Status (1)

Country Link
JP (1) JP2011003124A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014521990A (ja) * 2011-06-09 2014-08-28 ナム タイ,ヒョク オートフォーカス画像システム
US9237270B2 (en) 2010-05-05 2016-01-12 Hiok Nam Tay Auto-focus image system
US9251571B2 (en) 2009-12-07 2016-02-02 Hiok Nam Tay Auto-focus image system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006067521A (ja) * 2004-08-30 2006-03-09 Kyocera Corp 画像処理装置と方法、および画像撮像装置と方法
JP2007272356A (ja) * 2006-03-30 2007-10-18 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006067521A (ja) * 2004-08-30 2006-03-09 Kyocera Corp 画像処理装置と方法、および画像撮像装置と方法
JP2007272356A (ja) * 2006-03-30 2007-10-18 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251571B2 (en) 2009-12-07 2016-02-02 Hiok Nam Tay Auto-focus image system
US9734562B2 (en) 2009-12-07 2017-08-15 Hiok Nam Tay Auto-focus image system
US9237270B2 (en) 2010-05-05 2016-01-12 Hiok Nam Tay Auto-focus image system
JP2014521990A (ja) * 2011-06-09 2014-08-28 ナム タイ,ヒョク オートフォーカス画像システム

Similar Documents

Publication Publication Date Title
JP5794705B2 (ja) 撮像装置、その制御方法及びプログラム
US8947519B2 (en) Image processing apparatus, image processing system, image processing method, and image processing program
CN108769528A (zh) 图像补偿方法和装置、计算机可读存储介质和电子设备
JP5535053B2 (ja) 画像処理装置、及び画像処理方法
JP6253280B2 (ja) 撮像装置およびその制御方法
JP2010157238A (ja) 画像品質評価装置および方法
JP2011119802A (ja) 画像処理装置、画像処理方法
JP2009165106A (ja) 画像の歪み補正
JP6319972B2 (ja) 画像処理装置、撮像装置、画像処理方法、およびプログラム
JP2007088828A (ja) 手ぶれ補正装置
TWI546726B (zh) 依據深度資訊之影像處理方法及系統,及其電腦程式產品
JP2008011467A (ja) 表示パネルの撮像方法及び表示パネルの撮像装置
JP2007096437A (ja) 画像生成者の意図の判定
JP2011003124A (ja) 画像処理装置および画像処理プログラム
JP2007128355A (ja) 画像処理装置、コンピュータ、及び画像形成装置
JP5146159B2 (ja) 画像復元方法、画像復元プログラム、および画像復元装置
CN107563960A (zh) 一种自拍图片的处理方法、存储介质及移动终端
JP2011199407A (ja) 撮像装置、画像処理装置、及び画像処理方法
CN108476286B (zh) 一种图像输出方法以及电子设备
JP2007189298A (ja) 画像処理装置、画像処理方法および撮像装置
JP2017162313A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2022117666A5 (ja) チャート生成方法、解像度測定方法、解像度測定システム、およびプログラム
JP2020017061A (ja) 画像処理装置、画像表示装置、画像処理方法、及びプログラム
JP5539561B2 (ja) 画像処理装置およびその方法
JP2010166236A (ja) 画像処理装置、撮像装置及び画像処理プログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110708

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130410

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131203

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20140422