JP2004145615A - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法 Download PDFInfo
- Publication number
- JP2004145615A JP2004145615A JP2002309364A JP2002309364A JP2004145615A JP 2004145615 A JP2004145615 A JP 2004145615A JP 2002309364 A JP2002309364 A JP 2002309364A JP 2002309364 A JP2002309364 A JP 2002309364A JP 2004145615 A JP2004145615 A JP 2004145615A
- Authority
- JP
- Japan
- Prior art keywords
- filter
- range
- data
- image processing
- sub
- 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.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【解決手段】所定のフィルタ係数群を割り当てられた任意サイズのフィルタ範囲が用意される。このフィルタ範囲は、空間フィルタ17の有するフィルタ範囲以下のサブフィルタ範囲に分割される。サブフィルタ範囲の各々に割り当てられたフィルタ係数群を空間フィルタ17に順番に設定するたびに、空間フィルタ17は画像データをフィルタリングして中間データを出力する。中間データを、任意サイズのフィルタ範囲の着目画素とサブフィルタ範囲の着目画素との間の差を補正するように加算することで、任意サイズのフィルタ範囲のフィルタリング結果を算出することが可能になる。
【選択図】 図2
Description
【発明の属する技術分野】
本発明は、画像データにフィルタリングを施す画像処理装置および画像処理方法に関する。
【0002】
【従来の技術】
従来から、画像データの高周波成分の強調などのために空間フィルタが使用されている。一般に、空間フィルタは、3×3画素や7×7画素程度の範囲(以下、フィルタ範囲と呼ぶ。)の画像データをサンプリングし、サンプリングした各データにフィルタ係数を重み付けし、重み付けされた全データを加算するという畳み込み演算を実行するものである。フィルタ係数を状況に応じてプログラマブルに(可変に)設定できるプログラマブル空間フィルタも広く普及している。かかる空間フィルタに関する技術は、例えば特許文献1,2において紹介されている。
【0003】
【特許文献1】
特開平06−319044号公報
【特許文献2】
特開平06−292014号公報
【0004】
【発明が解決しようとする課題】
デジタルカメラなどの画像処理装置では、高速処理のためハードウェア構成のプログラマブル空間フィルタが搭載されていることが多い。この種の空間フィルタのフィルタ範囲は5×5画素や7×7画素などに固定されるため、フィルタ範囲を拡張したい場合は、プログラマブル空間フィルタの再帰的利用が行われていた。具体的には、空間フィルタの出力結果を、再度、同じ空間フィルタに入力させてフィルタリングするというループ処理が行われていた。これにより、例えば、5×5画素のフィルタ範囲を持つ空間フィルタを用いて2回のループ処理を実行した場合は、フィルタ範囲を9×9画素に拡張することが可能になる。
【0005】
しかしながら、このようなループ処理ではフィルタ範囲を完全に拡張することが難しい。具体的には、5×5画素のフィルタ範囲を持つ空間フィルタを用いた2回のループ処理は、すべての場合において9×9画素のフィルタ範囲を持つ空間フィルタを用いた1回の処理で実現可能であるが、これとは逆に、9×9画素のフィルタ範囲を持つ空間フィルタで可能なフィルタリングは、すべての場合において前記2回のループ処理で実現可能とは限らず、実現不可能な場合がある。
【0006】
以上の状況に鑑みて本発明が解決しようとするところは、有限なフィルタ範囲を持つ空間フィルタを用いて、当該有限なフィルタ範囲を超えるサイズのフィルタ範囲のフィルタリングを完全に実行し得る画像処理装置および画像処理方法を提供する点にある。
【0007】
【課題を解決するための手段】
上記課題を解決するため、第1の発明は、画像データをフィルタリングする画像処理装置であって、所定範囲内の画像データをサンプリングし、サンプリングした前記画像データと可変のフィルタ係数とを用いて畳み込み演算を実行する空間フィルタと、所定のフィルタ係数群を割り当てられたフィルタ範囲を前記所定範囲以下のサブフィルタ範囲に分割するとともに、前記サブフィルタ範囲の各々に割り当てられたフィルタ係数群を前記空間フィルタに順番に設定するたびに同一の前記画像データをフレーム単位或いはサブフレーム単位で前記空間フィルタに入力させて、前記サブフィルタ範囲の分割数と同じ数の前記フレーム単位或いは前記サブフレーム単位の中間データを出力させる制御部と、前記分割数と同じ数の前記中間データを画素単位で加算する加算手段と、各前記中間データ間における、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正するように前記中間データを前記加算手段に入力させる補正手段と、を備えることを特徴としている。
【0008】
第2の発明は、第1の発明の画像処理装置であって、前記補正手段は、前記中間データを格納するメモリと、前記制御部の制御により、前記メモリに格納された前記中間データを、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正するように読出して前記加算手段に転送するデータ転送部と、を備えて構成される。
【0009】
第3の発明は、第1の発明の画像処理装置であって、前記補正手段は、前記中間データを格納するメモリと、前記制御部の制御により、前記空間フィルタから出力された前記中間データを、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正して書込むように前記メモリに転送するとともに、当該メモリから、複数のフレーム或いはサブフレームの前記中間データを読み出して前記加算手段に転送するデータ転送部と、を備えて構成される。
【0010】
第4の発明は、第2または第3の発明の画像処理装置であって、前記データ転送部は、複数個のDMA(ダイレクト・メモリ・アクセス)チャンネルを有するDMAコントローラを備えており、前記DMAコントローラは、前記メモリから前記空間フィルタへの第1のデータ転送と、前記空間フィルタから前記メモリへの第2のデータ転送とにそれぞれ異なる前記DMAチャンネルを割り当てるとともに、前記第1のデータ転送と前記第2のデータ転送とを前記DMAコントローラに並列に実行するものである。
【0011】
第5の発明は、第2〜第4の何れか1つの発明の画像処理装置であって、前記データ転送部は、複数個のDMA(ダイレクト・メモリ・アクセス)チャンネルを有するDMAコントローラから構成されており、前記DMAコントローラは、前記メモリから前記加算手段への第1のデータ転送と、前記加算手段から前記メモリへの第2のデータ転送とにそれぞれ異なる前記DMAチャンネルを割り当てるとともに、前記第1のデータ転送と前記第2のデータ転送とを並列に実行するものである。
【0012】
第6の発明は、第1〜第5の何れか1つの発明の画像処理装置であって、前記制御部は当該サブフィルタ範囲の一部にゼロ値のフィルタ係数を割り当てるものである。
【0013】
次に、第7の発明は、画像データをフィルタリングする画像処理方法であって、(a)所定範囲の画像データをサンプリングし、サンプリングした前記画像データと可変のフィルタ係数とを用いて畳み込み演算を実行する工程、を備えるとともに、(b)所定のフィルタ係数群を割り当てられたフィルタ範囲を前記所定範囲以下のサブフィルタ範囲に分割し、前記サブフィルタ範囲の各々に割り当てられたフィルタ係数群を、前記工程(a)における前記可変のフィルタ係数群として順番に設定する工程と、(c)前記工程(b)で前記各フィルタ係数群を設定するたびに、同一の前記画像データに対してフレーム単位或いはサブフレーム単位で前記工程(a)を実行して、前記サブフィルタ範囲の分割数と同じ数の中間データを生成する工程と、(d)各前記中間データ間における、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正するように、前記分割数と同じ数の前記中間データを画素単位で加算する工程と、を備えることを特徴としている。
【0014】
第8の発明は、第7の発明の画像処理方法であって、(e)前記工程(c)で生成された前記中間データをメモリに格納する工程、を更に備えており、前記工程(d)は、(d−1)前記工程(e)で格納された前記中間データを、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正するように前記メモリから読出す工程と、(d−2)前記工程(d−1)で読み出された複数のフレーム或いはサブフレームの前記中間データを画素単位で加算する工程と、から構成されている。
【0015】
第9の発明は、第7の発明の画像処理方法であって、(e)前記工程(c)で生成された前記中間データをメモリに転送し格納する工程、を更に備えており、前記工程(d)は、(d−1)前記工程(c)で生成された前記中間データを、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正して書き込むように前記メモリに転送する工程と、(d−2)前記メモリから、複数のフレーム或いはサブフレームの前記中間データを読み出して画素単位で加算する工程と、から構成されている。
【0016】
そして、第10の発明は、第7〜第9の何れか1つの発明の画像処理方法であって、前記工程(b)は、当該サブフィルタ範囲の一部にゼロ値のフィルタ係数を割り当てる工程を備えたものである。
【0017】
【発明の実施の形態】
図1は、本発明の実施形態に係る画像処理装置1の一部構成を示す概略図である。この画像処理装置1は、入力データをリアルタイムに画像処理するRPU(リアルタイム・プロセッシング・ユニット)10と、CPU(中央演算装置)30と、このCPU30で実行されるプログラムや初期データなどを格納したROM20と、主メモリ40と、DMAC(ダイレクト・メモリ・アクセス・コントローラ)50とを備えている。また、これら構成要素10,20,30,40および50は、制御信号とデータ信号とを伝達するバス3を介して相互に接続されている。
【0018】
本実施形態では、この画像処理装置1はデジタルカメラに組み込まれるものとする。したがって、この画像処理装置1は、図示しないが、被写体からの光が入射する光学系や、CCDやCMOSなどの撮像素子、この撮像素子から出力されたアナログ信号にノイズ除去、信号増幅およびA/D変換を施す信号処理回路などを備えている。なお、本実施の形態では画像処理装置1はデジタルカメラに組み込まれるものであるが、本発明ではこれに限るものではない。
【0019】
バス3を介したデータ転送は、CPU(制御部)30またはDMAC(データ転送部)50の何れか一方で行うことができる。主メモリ40とRPU10との間のデータ転送をDMAC50で行う場合、DMAC50は、搭載する複数のDMAチャンネル510〜51nの中から、当該データ転送に割り当てるDMAチャンネル51k(k:0〜n)を選択するとともに、バスコントローラ(図示せず)にバス獲得要求を発する。バスコントローラがそのバス獲得要求に応じてDMAC50に対してバスの使用許可を発行した場合、DMAC50は、バス3を使用する旨をバスコントローラに通知し、選択したDMAチャンネル51kを用いて主メモリ40と入出力制御部16との間でデータ転送を実行する。DMAC50によるデータ転送が終了した後はバス3は解放される。
【0020】
また前記RPU10は、入力する画像データ(デジタル信号)2にデジタル画像処理を施してその結果をバス3に出力する機能を有する。RPU10は、集積回路であって、単一画素処理部11、補間・ガンマ補正処理部12、色空間変換・偽色抑制処理部13、空間フィルタリング・コアリング処理部14、解像度変換処理部15および入出力制御部16を備えて構成されている。またこれら各処理部11〜15は、パイプライン制御によって並列に処理を実行できる。
【0021】
このRPU10では、入力した画像データ2は、各処理部11,12,13,14,15で順次にパイプライン処理を施された後に、最終段の解像度変換処理部15から入出力制御部16に出力される。解像度変換処理部15から出力された処理データは、CPU30またはDMAC50によって主メモリ40に転送され、画像データ40Iとして格納される。
【0022】
このRPU10の各処理部11〜15の概要は以下の通りである。単一画素処理部11は、入力する画像データ2を画素単位で処理する機能を有しており、具体的には、複数のフレーム或いはサブフレームに亘って入力する画像データ2を時間的に平均化する処理や、画像中の明暗の輝度ムラを補正するシェーディング補正処理を行うことができる。
【0023】
また補間・ガンマ補正処理部12は、画素補間処理とガンマ補正処理とを実行する機能を有する。画素補間処理は、各画素に欠けている色成分を周辺画素を用いて補間するものである。単板式の撮像素子(1枚の色フィルタのみを備えた撮像素子)は、各画素毎に単色成分の信号のみを出力するため、カラー画像を得るには、各画素に欠けている他の色成分を補間しなければならない。この画素補間処理によって各画素は複数の色成分を持つことになる。
【0024】
また色空間変換・偽色抑制処理部13は、色空間変換処理と偽色抑制処理とを行う機能を有する。色空間変換処理は、入力データの色空間を他の色空間に変換する処理であり、例えば、入力データのRGB空間をYCbCr空間またはYUV空間に変換することができる。また偽色抑圧処理は、前述の画素補間処理などに起因する、画像の色の境界付近や格子模様の部分などで発生する本来存在しない色(偽色)を抑制する処理である。
【0025】
また空間フィルタリング・コアリング処理部14は、空間フィルタ(重みマスク)を用いた空間フィルタリング処理と、主に画像の高域成分を抑える非線形処理(コアリング処理)とを実行する機能を有する。図2に示すように、本実施の形態の空間フィルタリング・コアリング処理部14は、5×5画素をフィルタ範囲とする空間フィルタ17を備えている。この空間フィルタ17は、入力画像データI1をフィルタリングして処理データODを算出する。具体的には、空間フィルタ17は、フィルタ範囲における着目画素のデータとその周辺画素のデータとにフィルタ係数(畳み込み核)を重み付けし(乗算し)、重み付けされた全データを加算するという畳み込み演算(積和演算)を実行する。この空間フィルタ17に設定するフィルタ係数群は、プログラマブルに設定することが可能である。フィルタ係数を適宜設定することで、画像中の線やエッジ部分を強調したり、平滑化したりすることができる。
【0026】
そして、解像度変換処理部15は、入力データの画像サイズ(解像度)を縮小または拡大する解像度変換機能を有するものである。
【0027】
図3に、空間フィルタリング・コアリング処理部14に備わる空間フィルタ17のフィルタ範囲17Aを模式的に示す。5×5画素のフィルタ範囲17A内の各画素にフィルタ係数C[i,j](i,jは0〜4の整数)が設定されている。またフィルタ範囲17Aの中心画素すなわち着目画素(current pixel)にはC[2,2]が設定される。図4に模式的に示す画像データ40Iをフィルタリングする場合、空間フィルタ17は、フィルタ範囲17A内の中心画素に対応するm行n列目のデータD[m,n](mは水平画素番号;nは垂直画素番号)およびその周辺の5×5画素のデータをサンプリングし、以下の式(1)に従って、サンプリングしたデータとフィルタ係数とを用いて畳み込み演算を実行する。この結果、当該着目画素に関するデータO[m,n]が算出される。
【0028】
【数1】
【0029】
なお、空間フィルタリング・コアリング処理部14は、上式(1)の出力結果O[m,n]に右ビットシフト演算を施したり、補正量を加減算したりした結果を出力することもできる。
【0030】
以上の構成を有する画像処理装置1を用いた本実施形態に係るフィルタリング処理を、図5を参照しつつ以下に説明する。図5は、このフィルタリング処理の手順を示すフローチャートである。
【0031】
先ず、ステップS0では、図6に示すように10×10画素のフィルタ範囲17Eを用意し、このフィルタ範囲17Eの各画素にフィルタ係数C[i,j],B[k,m],D[n,o],E[p,q](i,j,k,m,n,o,p,qは0〜4の整数)を割り当てる。
【0032】
次のステップS1では、CPU30の処理によって、図6に示すフィルタ範囲17Eが、空間フィルタ17でサンプリング可能なフィルタ範囲(5×5画素)以下の範囲(以下、サブフィルタ範囲と呼ぶ。)に分割される。この結果、図6に示すフィルタ範囲17Eは、第1〜第4のサブフィルタ範囲17A(図3)、17B(図7)、17C(図8)および17D(図9)に分割されることになる。
【0033】
次のステップS2では、CPU30の処理によって、第1のサブフィルタ範囲17A(図3)に割り当てられている第1のフィルタ係数群{C[i,j]}が、空間フィルタリング・コアリング処理部14の空間フィルタ17に設定される。
【0034】
次のステップS3では、図10に示すように、DMAC50が、CPU30の制御により、主メモリ40に格納された画像データ40Iをフレーム単位或いはサブフレーム単位で読み出してRPU10にDMA転送する。RPU10に転送された画像データ40Iは、入出力制御部16を介して空間フィルタ17に入力させられる。そして、空間フィルタ17は、入力する画像データ40Iをフィルタリングし、フレーム或いはサブフレームの中間データを出力する。DMAC50は、空間フィルタ17から出力された第1の中間データ41Aを入出力制御部16から主メモリ40にDMA転送し格納させる。
【0035】
次のステップS4では、CPU30の処理によって、第2のサブフィルタ範囲17B(図7)に割り当てられている第2のフィルタ係数群{B[k,m]}が、空間フィルタ17に設定される。次のステップS5では、DMAC50が、CPU30の制御により、主メモリ40に格納された画像データ40Iをフレーム単位或いはサブフレーム単位で読み出してRPU10にDMA転送する。RPU10に転送された画像データ40Iは、入出力制御部16を介して空間フィルタ17に入力させられる。この結果、空間フィルタ17は、フレーム或いはサブフレームの中間データを出力する。またDMAC50は、空間フィルタ17から出力された第2の中間データ41Bを入出力制御部16から主メモリ40にDMA転送し格納させる。
【0036】
次のステップS6では、CPU30の処理によって、第3のサブフィルタ範囲17C(図8)に割り当てられている第3のフィルタ係数群{D[n,o]}が、空間フィルタ17に設定される。次のステップS7では、DMAC50が、CPU30の制御により、主メモリ40に格納された画像データ40Iをフレーム単位或いはサブフレーム単位で読み出してRPU10にDMA転送する。RPU10に転送された画像データ40Iは、入出力制御部16を介して空間フィルタ17に入力させられる。この結果、空間フィルタ17は、フレーム或いはサブフレームの中間データを出力する。またDMAC50は、空間フィルタ17から出力された第3の中間データ41Cを入出力制御部16から主メモリ40にDMA転送し格納させる。
【0037】
次のステップS8では、CPU30の処理によって、第4のサブフィルタ範囲17D(図9)に割り当てられている第4のフィルタ係数群{E[p,q]}が、空間フィルタ17に設定される。次のステップS9では、DMAC50が、CPU30の制御により、主メモリ40に格納された画像データ40Iをフレーム単位或いはサブフレーム単位で読み出してRPU10にDMA転送する。RPU10に転送された画像データ40Iは、入出力制御部16を介して空間フィルタ17に入力させられる。この結果、空間フィルタ17は、フレーム或いはサブフレームの中間データを出力する。DMAC50は、空間フィルタ17から出力された第4の中間データ41Dを、入出力制御部16から主メモリ40にDMA転送し格納させる。
【0038】
以上のステップS2〜S9の処理の結果、画像データ40Iにそれぞれサブフィルタ範囲17A〜17Dのフィルタリングを施して得た中間データ41A〜41Dが、主メモリ40に格納されることになる。
【0039】
また、上記ステップS3,S5,S7,S9において、DMAC50は、主メモリ40からRPU10への画像データ40IのDMA転送と、RPU10から主メモリ40への中間データ41A〜41DのDMA転送とにそれぞれ異なるDMAチャンネル51S,51R(R≠S)を割り当てるとともに、双方のDMA転送を並列に実行している。これにより、フィルタリングの処理速度の向上が可能になる。
【0040】
続くステップS10〜S12では、主メモリ40に格納された中間データ41A〜41Dを加算する加算処理が実行される。すなわち、ステップS10では図11に示すように、DMAC50が、CPU30の制御により、主メモリ40に格納された第1および第2の中間データ41A,41BをRPU10にDMA転送する。入出力制御部16は受信した中間データ41A,41Bを単一画素処理部11に入力させる。単一画素処理部11は加算器11aを内蔵しており、この加算器11aは入力する2つの中間データ41A,41Bを画素単位で加算して入出力制御部16に出力する。そして、DMAC50は、加算器11aから出力された第5の中間データ41Eを、入出力制御部16から主メモリ40にDMA転送し格納させる。またステップS11では図12に示すように、DMAC50が、CPU30の制御により、主メモリ40に格納された第3および第4の中間データ41C,41DをRPU10にDMA転送する。入出力制御部16は受信した中間データ41C,41Dを単一画素処理部11に入力させ、単一画素処理部11の加算器11aは、入力する中間データ41C,41Dを画素単位で加算して入出力制御部16に出力する。そして、DMAC50は、加算器11aから出力された第6の中間データ41Fを、入出力制御部16から主メモリ40にDMA転送し格納させる。
【0041】
上記ステップS10,S11(図11,図12)において、DMAC50は、処理速度の向上のために、主メモリ40からRPU10への中間データ41A〜41DのDMA転送と、RPU10から主メモリ40への中間データ41E,41FのDMA転送とにそれぞれ異なるDMAチャンネル51S,51R(R≠S)を割り当てるとともに、双方のDMA転送を並列に実行している。
【0042】
また上記ステップS10,S11では、10×10画素のフィルタ範囲17E(図6)の着目画素と、5×5画素のサブフィルタ範囲17A〜17D(図3,図7〜図9)の着目画素との間の差を補正するように中間データ41A〜41Dを加算する処理が行われる。具体的に双方の着目画素の差を補正する方法は以下の通りである。図13に、10×10画素のフィルタ範囲17E(図6)を画像データ40Iに適用した状態を模式的に示す。このフィルタ範囲17Eの着目画素56と、サブフィルタ範囲17A〜17Dの着目画素55A〜55Dとの間には位置の差ΔA,ΔB,ΔC,ΔDが存在する。ここで、フィルタ範囲17Eの着目画素56は、必ずしも図13に示す位置に設定される必要は無く、任意の画素に設定し得る。例えば、フィルタ範囲17Eの着目画素を、図13に示す画素56に対して左に隣接する画素に設定してもよいし、サブフィルタ範囲17Aの着目画素55Aに設定してもよい。
【0043】
上記フィルタ範囲17Eの着目画素56に関するフィルタリング結果は、サブフィルタ範囲17A〜17Dの着目画素55A〜55Dに関するフィルタリング結果の総和である。このため、上記ステップS10(図11)において、DMAC50は、当該着目画素56に対して図13に示す差ΔAだけ読出しアドレスをずらした画素55Aのデータを指定して第1の中間データ41Aを主メモリ40から読出すとともに、当該着目画素56に対して図13に示す差ΔBだけ読出しアドレスをずらした着目画素55Bのデータを指定して第2の中間データ41Bを読出すように制御する。また上記ステップS11(図12)においては、DMAC50は、当該着目画素56に対して図13に示す差ΔCだけ読出しアドレスをずらした画素55Cのデータを指定して第3の中間データ41Cを読出すとともに、当該着目画素56に対して図13に示す差ΔDだけ読出しアドレスをずらした画素55Dのデータを指定して第4の中間データ41Dを読出すように制御する。
【0044】
このような読出しアドレスの制御によって、フィルタ範囲17Eの着目画素56とサブフィルタ範囲17A〜17Dの着目画素55A〜55Dとの間の差ΔA〜ΔDを補正するように、第1〜第4の中間データ41A〜41Dを主メモリ40から読み出し、単一画素処理部11の加算器11aで加算させることが可能になる。
【0045】
また、上記読出しアドレスの制御によって着目画素の差ΔA〜ΔDを補正する代わりに、主メモリ40に第1〜第4の中間データ41A〜41Dを書き込む際に、前述の着目画素の差ΔA〜ΔDを補正するようにその書込みアドレスを制御してもよい。具体的には、上記ステップS3,S5,S7,S9(図10)において、DMAC50は、第1〜第4の中間データ41A〜41Dを主メモリ40に転送して格納させる際に、図13に示すサブフィルタ範囲17A〜17Dの着目画素55A〜55Dのデータをフィルタ範囲17Eの着目画素56の位置に書き込むように書込みアドレスを指定するという制御を行う。かかる場合は、上記ステップS10,S11(図11,図12)では、DMAC50は、主メモリ40に格納された第1〜第4の中間データ41A〜41Dを通常の方法で読み出し、RPU10にDMA転送すればよい。
【0046】
次のステップS12では、図14に示すように、主メモリ40に格納された第5および第6の中間データ41E,41Fを加算する処理が実行される。すなわち、DMAC50は、CPU30の制御により、主メモリ40に格納された第5および第6の中間データ41E,41FをRPU10にDMA転送する。入出力制御部16は受信した中間データ41E,41Fを単一画素処理部11に入力させる。単一画素処理部11の加算器11aは入力する2つの中間データ41E,41Fを画素単位で加算して入出力制御部16に出力する。そして、DMAC50は、加算器11aから出力された処理データ41Gを、入出力制御部16から主メモリ40にDMA転送し格納させる。この結果、10×10画素のフィルタ範囲17Eのフィルタリング結果である処理データ41Gが得られる。
【0047】
ここで、DMAC50は、処理速度の向上のために、主メモリ40からRPU10への第5および第6の中間データ41E,41FのDMA転送と、RPU10から主メモリ40への処理データ41GのDMA転送とにそれぞれ異なるDMAチャンネル51S,51R(R≠S)を割り当てるとともに、双方のDMA転送を並列に実行する。
【0048】
なお、上記実施形態では、5×5画素のフィルタ範囲を有する空間フィルタ17や、10×10画素のフィルタ範囲のフィルタリング処理の例を示したが、本発明はそれらフィルタ範囲に制限されるものではない。
【0049】
このように本実施形態に係る画像処理装置1は、空間フィルタ17を用いて、この空間フィルタ17の有限のフィルタ範囲に制限されないフィルタリングを完全に行うことができる。したがって、例えば、3×3画素のフィルタ範囲を有する空間フィルタを用いて、100×100画素や1000×1000画素などの広い範囲のデータをサンプリングし、フィルタリングを実行することが可能である。
【0050】
ところで、上記実施形態では、10×10画素のフィルタ範囲17E(図6)のフィルタリング処理の例を説明した。以下、図5に示すフローチャートを参照しつつ、9×9画素をフィルタ範囲とするフィルタリング処理の例を説明する。
【0051】
画像処理装置1の空間フィルタ17が有する5×5画素のフィルタ範囲の組合せによって構成可能なフィルタ範囲は、垂直画素数×水平画素数が(5の倍数)×(5の倍数)となる範囲、例えば、5×10画素、10×5画素、10×10画素、10×15画素、15×15画素、…である。本フィルタリング処理では、ステップS0において、これらの構成可能なフィルタ範囲の群の中から、9×9画素を含み得る最小のフィルタ範囲、すなわち図15に示す10×10画素のフィルタ範囲17Jを選択して用意する。また、このフィルタ範囲17Jの各画素にフィルタ係数C[i,j],B[k,m],D[n,o],E[p,q]を割り当てる際に、9×9画素の範囲から外れる一部範囲にゼロ値のフィルタ係数が割り当てられる。
【0052】
次のステップS1では、10×10画素のフィルタ範囲17Jを5×5画素のサブフィルタ範囲に分割する。図16〜図19に、それら第1〜第4のサブフィルタ範囲17F,17G,17H,17Iを模式的に示す。第2、第3および第4のサブフィルタ範囲17G、17H、17Iの一部にゼロ値のフィルタ係数が割り当てられている。
【0053】
次のステップS2〜S11の処理は、空間フィルタ17の処理対象がサブフィルタ範囲17F〜17Iである点と、フィルタ範囲17Jの着目画素とサブフィルタ範囲17F〜17Iの着目画素との間の差を補正する方法と、各フィルタ係数の値を有効画素数の比率に応じて調整することとを除けば、上述した処理とほぼ同じである。図20に、10×10画素のフィルタ範囲17Jを画像データ40Iに適用した状態を模式的に示す。フィルタ範囲17Jの着目画素は、フィルタ係数としてゼロ値を設定した範囲を除いた範囲の中心画素62に設定される。したがって、フィルタ範囲17Jの着目画素62とサブフィルタ範囲17F,17G,17H,17Iの着目画素61A,61B,61C,61Dとの間の差は、それぞれ、図示するΔA,ΔB,ΔC,ΔDになる。
【0054】
また、サブフィルタ範囲17Fの有効画素数は5×5=25画素であるのに対し、他のサブフィルタ範囲17G,17H,17Iの有効画素数は、ゼロ値を設定した一部範囲を除く範囲の画素数である。サブフィルタ範囲17J,17I,17Hの有効画素数は、5×4=20画素または4×5=20画素となる。したがって、サブフィルタ範囲17G,17H,17Iに設定する各フィルタ係数には、ゼロ値が設定されないサブフィルタ範囲17Fの有効画素数(=α)と、他のサブフィルタ範囲17G〜17Iの有効画素数(=β)との比率(=α/β)が重み付け(乗算)される。そして、上述した読出しアドレスの制御または書込みアドレスの制御によって、双方の着目画素の差ΔA〜ΔDを補正するように、ステップS10,S11の加算処理が行われる。
【0055】
このように、本フィルタリング処理では、フィルタ範囲17Jの一部にゼロ値のフィルタ係数を割り当てるため、任意サイズを持つフィルタ範囲のフィルタリング処理を効率良く行うことが可能になる。
【0056】
【発明の効果】
以上の如く、本発明の画像処理装置によれば、空間フィルタを用いて、この空間フィルタの固有のフィルタ範囲に制限されないフィルタリングを完全に行うことができる。
【0057】
また、本発明の画像処理方法によれば、上記工程(a)でサンプリング可能な所定範囲に制限されない完全なフィルタリングを行うことが可能になる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る画像処理装置の一部構成を示す概略図である。
【図2】本実施形態に係る空間フィルタリング・コアリング処理部を示す概略図である。
【図3】空間フィルタのフィルタ範囲を模式的に示す図である。
【図4】画像データにフィルタ範囲を適用した状態を模式的に示す図である。
【図5】本発明の実施形態に係るフィルタリング処理の手順を示すフローチャートである。
【図6】10×10画素のフィルタ範囲を模式的に示す図である。
【図7】5×5画素のサブフィルタ範囲を模式的に示す図である。
【図8】5×5画素のサブフィルタ範囲を模式的に示す図である。
【図9】5×5画素のサブフィルタ範囲を模式的に示す図である。
【図10】本発明の実施形態に係るフィルタリング処理の一工程を説明するための図である。
【図11】本発明の実施形態に係るフィルタリング処理の一工程を説明するための図である。
【図12】本発明の実施形態に係るフィルタリング処理の一工程を説明するための図である。
【図13】画像データにフィルタ範囲を適用した状態を模式的に示す図である。
【図14】本発明の実施形態に係るフィルタリング処理の一工程を説明するための図である。
【図15】10×10画素のフィルタ範囲を模式的に示す図である。
【図16】5×5画素のフィルタ範囲を模式的に示す図である。
【図17】5×5画素のフィルタ範囲を模式的に示す図である。
【図18】5×5画素のフィルタ範囲を模式的に示す図である。
【図19】5×5画素のフィルタ範囲を模式的に示す図である。
【図20】画像データにフィルタ範囲を適用した状態を模式的に示す図である。
【符号の説明】
1 画像処理装置
3 バス
10 RPU
11 単一画素処理部
11a 加算器
12 補間・ガンマ補正処理部
13 色空間変換・偽色抑制処理部
14 空間フィルタリング・コアリング処理部
15 解像度変換処理部
16 入出力制御部
17 空間フィルタ
Claims (10)
- 画像データをフィルタリングする画像処理装置であって、
所定範囲内の画像データをサンプリングし、サンプリングした前記画像データと可変のフィルタ係数とを用いて畳み込み演算を実行する空間フィルタと、
所定のフィルタ係数群を割り当てられたフィルタ範囲を前記所定範囲以下のサブフィルタ範囲に分割するとともに、前記サブフィルタ範囲の各々に割り当てられたフィルタ係数群を前記空間フィルタに順番に設定するたびに同一の前記画像データをフレーム単位或いはサブフレーム単位で前記空間フィルタに入力させて、前記サブフィルタ範囲の分割数と同じ数の前記フレーム単位或いは前記サブフレーム単位の中間データを出力させる制御部と、
前記分割数と同じ数の前記中間データを画素単位で加算する加算手段と、
各前記中間データ間における、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正するように前記中間データを前記加算手段に入力させる補正手段と、
を備えることを特徴とする画像処理装置。 - 請求項1記載の画像処理装置であって、
前記補正手段は、
前記中間データを格納するメモリと、
前記制御部の制御により、前記メモリに格納された前記中間データを、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正するように読出して前記加算手段に転送するデータ転送部と、
を備えて構成される画像処理装置。 - 請求項1記載の画像処理装置であって、
前記補正手段は、
前記中間データを格納するメモリと、
前記制御部の制御により、前記空間フィルタから出力された前記中間データを、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正して書込むように前記メモリに転送するとともに、当該メモリから、複数のフレーム或いはサブフレームの前記中間データを読み出して前記加算手段に転送するデータ転送部と、
を備えて構成される画像処理装置。 - 請求項2または請求項3に記載の画像処理装置であって、
前記データ転送部は、複数個のDMA(ダイレクト・メモリ・アクセス)チャンネルを有するDMAコントローラを備えており、
前記DMAコントローラは、前記メモリから前記空間フィルタへの第1のデータ転送と、前記空間フィルタから前記メモリへの第2のデータ転送とにそれぞれ異なる前記DMAチャンネルを割り当てるとともに、前記第1のデータ転送と前記第2のデータ転送とを前記DMAコントローラに並列に実行する、
画像処理装置。 - 請求項2〜請求項4の何れか1項に記載の画像処理装置であって、
前記データ転送部は、複数個のDMA(ダイレクト・メモリ・アクセス)チャンネルを有するDMAコントローラから構成されており、
前記DMAコントローラは、前記メモリから前記加算手段への第1のデータ転送と、前記加算手段から前記メモリへの第2のデータ転送とにそれぞれ異なる前記DMAチャンネルを割り当てるとともに、前記第1のデータ転送と前記第2のデータ転送とを並列に実行する、
画像処理装置。 - 請求項1〜請求項5の何れか1項に記載の画像処理装置であって、前記制御部は、当該サブフィルタ範囲の一部にゼロ値のフィルタ係数を割り当てる、画像処理装置。
- 画像データをフィルタリングする画像処理方法であって、
(a)所定範囲の画像データをサンプリングし、サンプリングした前記画像データと可変のフィルタ係数とを用いて畳み込み演算を実行する工程、
を備えるとともに、
(b)所定のフィルタ係数群を割り当てられたフィルタ範囲を前記所定範囲以下のサブフィルタ範囲に分割し、前記サブフィルタ範囲の各々に割り当てられたフィルタ係数群を、前記工程(a)における前記可変のフィルタ係数群として順番に設定する工程と、
(c)前記工程(b)で前記各フィルタ係数群を設定するたびに、同一の前記画像データに対してフレーム単位或いはサブフレーム単位で前記工程(a)を実行して、前記サブフィルタ範囲の分割数と同じ数の中間データを生成する工程と、
(d)各前記中間データ間における、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正するように、前記分割数と同じ数の前記中間データを画素単位で加算する工程と、
を備えることを特徴とする画像処理方法。 - 請求項7記載の画像処理方法であって、
(e)前記工程(c)で生成された前記中間データをメモリに格納する工程、を更に備えており、
前記工程(d)は、
(d−1)前記工程(e)で格納された前記中間データを、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正するように前記メモリから読出す工程と、
(d−2)前記工程(d−1)で読み出された複数のフレーム或いはサブフレームの前記中間データを画素単位で加算する工程と、
から構成される、画像処理方法。 - 請求項7記載の画像処理方法であって、
(e)前記工程(c)で生成された前記中間データをメモリに転送し格納する工程、
を更に備えており、
前記工程(d)は、
(d−1)前記工程(c)で生成された前記中間データを、前記フィルタ範囲の着目画素と前記サブフィルタ範囲の着目画素との間の差を補正して書き込むように前記メモリに転送する工程と、
(d−2)前記メモリから、複数のフレーム或いはサブフレームの前記中間データを読み出して画素単位で加算する工程と、
から構成される、画像処理方法。 - 請求項7〜請求項9の何れか1項に記載の画像処理方法であって、
前記工程(b)は、当該サブフィルタ範囲の一部にゼロ値のフィルタ係数を割り当てる工程を備える、画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002309364A JP2004145615A (ja) | 2002-10-24 | 2002-10-24 | 画像処理装置および画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002309364A JP2004145615A (ja) | 2002-10-24 | 2002-10-24 | 画像処理装置および画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004145615A true JP2004145615A (ja) | 2004-05-20 |
Family
ID=32455212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002309364A Pending JP2004145615A (ja) | 2002-10-24 | 2002-10-24 | 画像処理装置および画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004145615A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008129808A (ja) * | 2006-11-20 | 2008-06-05 | Sharp Corp | 映像信号処理装置、表示装置および携帯通信端末 |
JP2010193199A (ja) * | 2009-02-18 | 2010-09-02 | Victor Co Of Japan Ltd | 画像処理装置および画像処理方法 |
JP2012044266A (ja) * | 2010-08-12 | 2012-03-01 | Canon Inc | 画像処理装置及び画像処理方法 |
JP2012128529A (ja) * | 2010-12-13 | 2012-07-05 | Canon Inc | 画像処理装置及びその制御方法、プログラム |
JP2012146096A (ja) * | 2011-01-11 | 2012-08-02 | Canon Inc | データ処理装置および画像処理装置、並びに、それらの方法 |
JP2015149554A (ja) * | 2014-02-05 | 2015-08-20 | キヤノン株式会社 | 画像処理装置、画像処理方法及び撮像装置 |
JP2016167774A (ja) * | 2015-03-10 | 2016-09-15 | キヤノン株式会社 | 画像信号処理装置、画像信号処理方法、及びプログラム |
US9536291B2 (en) | 2014-07-31 | 2017-01-03 | Canon Kabushiki Kaisha | Image processing device, image processing method, and program |
JP2017073613A (ja) * | 2015-10-05 | 2017-04-13 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、プログラム |
US9681039B2 (en) | 2014-08-01 | 2017-06-13 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and program for filter processing |
-
2002
- 2002-10-24 JP JP2002309364A patent/JP2004145615A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008129808A (ja) * | 2006-11-20 | 2008-06-05 | Sharp Corp | 映像信号処理装置、表示装置および携帯通信端末 |
JP2010193199A (ja) * | 2009-02-18 | 2010-09-02 | Victor Co Of Japan Ltd | 画像処理装置および画像処理方法 |
JP2012044266A (ja) * | 2010-08-12 | 2012-03-01 | Canon Inc | 画像処理装置及び画像処理方法 |
JP2012128529A (ja) * | 2010-12-13 | 2012-07-05 | Canon Inc | 画像処理装置及びその制御方法、プログラム |
JP2012146096A (ja) * | 2011-01-11 | 2012-08-02 | Canon Inc | データ処理装置および画像処理装置、並びに、それらの方法 |
JP2015149554A (ja) * | 2014-02-05 | 2015-08-20 | キヤノン株式会社 | 画像処理装置、画像処理方法及び撮像装置 |
US9536291B2 (en) | 2014-07-31 | 2017-01-03 | Canon Kabushiki Kaisha | Image processing device, image processing method, and program |
US9681039B2 (en) | 2014-08-01 | 2017-06-13 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and program for filter processing |
JP2016167774A (ja) * | 2015-03-10 | 2016-09-15 | キヤノン株式会社 | 画像信号処理装置、画像信号処理方法、及びプログラム |
JP2017073613A (ja) * | 2015-10-05 | 2017-04-13 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5144202B2 (ja) | 画像処理装置およびプログラム | |
CN113228094A (zh) | 图像处理器 | |
JP4844664B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
US10951838B2 (en) | Image processing device, imaging device, and imaging method | |
JP5668105B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2008153836A (ja) | 撮像装置、画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 | |
JPWO2006134923A1 (ja) | 画像処理装置、コンピュータプログラム製品および画像処理方法 | |
CN113632134B (zh) | 用于生成高动态范围图像的方法、计算机可读存储介质和hdr相机 | |
JP4217041B2 (ja) | フィルタ処理 | |
JP5541205B2 (ja) | 画像処理装置、撮像装置、画像処理プログラムおよび画像処理方法 | |
JP2004145615A (ja) | 画像処理装置および画像処理方法 | |
JP2022179514A (ja) | 制御装置、撮像装置、制御方法およびプログラム | |
JP5479187B2 (ja) | 画像処理装置及びそれを用いた撮像装置 | |
US9774792B2 (en) | Dynamic configured video camera | |
JP2008288947A (ja) | 画像処理装置及びそのプログラム | |
KR100989760B1 (ko) | 이미지 처리 장치, 이미지 처리 장치의 노이즈 제거 방법 및 노이즈 제거 방법이 기록된 기록매체 | |
JP5654860B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP5631769B2 (ja) | 画像処理装置 | |
JP2004102904A (ja) | フィルタ処理装置およびフィルタ処理方法 | |
JP7183015B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
US20180077348A1 (en) | Display control device and imaging device | |
JP2019016893A (ja) | 画像処理装置およびその制御方法及びプログラム | |
JP2008153917A (ja) | 撮像装置、画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 | |
CN104301584B (zh) | 图像处理系统 | |
JP4197821B2 (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080715 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080905 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081014 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090317 |