JP2004234379A - 画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置 - Google Patents
画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置 Download PDFInfo
- Publication number
- JP2004234379A JP2004234379A JP2003022642A JP2003022642A JP2004234379A JP 2004234379 A JP2004234379 A JP 2004234379A JP 2003022642 A JP2003022642 A JP 2003022642A JP 2003022642 A JP2003022642 A JP 2003022642A JP 2004234379 A JP2004234379 A JP 2004234379A
- Authority
- JP
- Japan
- Prior art keywords
- grid
- unit
- data
- parameter
- image
- 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
- 238000003672 processing method Methods 0.000 title claims description 37
- 238000003384 imaging method Methods 0.000 title claims description 20
- 238000012937 correction Methods 0.000 claims abstract description 335
- 238000012545 processing Methods 0.000 claims abstract description 180
- 238000004364 calculation method Methods 0.000 claims description 103
- 230000006835 compression Effects 0.000 claims description 41
- 238000007906 compression Methods 0.000 claims description 41
- 238000009795 derivation Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 abstract description 152
- 230000006870 function Effects 0.000 abstract description 42
- 238000000034 method Methods 0.000 description 62
- 239000000872 buffer Substances 0.000 description 41
- 238000006243 chemical reaction Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 33
- 230000008569 process Effects 0.000 description 29
- 239000013598 vector Substances 0.000 description 25
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 13
- 230000003287 optical effect Effects 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 238000010606 normalization Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- -1 silver halide Chemical class 0.000 description 2
- 241000226585 Antennaria plantaginifolia Species 0.000 description 1
- 101000860173 Myxococcus xanthus C-factor Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/81—Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/60—Noise processing, e.g. detecting, correcting, reducing or removing noise
- H04N25/61—Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】画像の歪みを補正するための画像処理において、必要なメモリの容量を削減する。
【解決手段】格子分割部911は画面全点のパラメータを区分毎に分割するための格子線を決定し、格子点上の歪み補正パラメータ( 歪み補正座標) を歪み補正メモリ( 図示せず) に送る。また、n次多項式係数導出部902で格子分割部911において分割された各格子線分のすべての歪み補正座標を格子線分上の位置との関数で表現し、求める区分n次多項式で近似する。さらに、サンプル点導出部903は、n次多項式係数導出部902より得られた区分n次多項式から歪み補正パラメータの圧縮を行う。導出された区分n次多項式において、区分n 次多項式の両端をn分割した内部点を新たな歪み補正パラメータ(近似された歪み補正座標)として、歪み補正メモリに送る。
【選択図】 図17
【解決手段】格子分割部911は画面全点のパラメータを区分毎に分割するための格子線を決定し、格子点上の歪み補正パラメータ( 歪み補正座標) を歪み補正メモリ( 図示せず) に送る。また、n次多項式係数導出部902で格子分割部911において分割された各格子線分のすべての歪み補正座標を格子線分上の位置との関数で表現し、求める区分n次多項式で近似する。さらに、サンプル点導出部903は、n次多項式係数導出部902より得られた区分n次多項式から歪み補正パラメータの圧縮を行う。導出された区分n次多項式において、区分n 次多項式の両端をn分割した内部点を新たな歪み補正パラメータ(近似された歪み補正座標)として、歪み補正メモリに送る。
【選択図】 図17
Description
【0001】
【発明の属する技術分野】
本発明はビデオカメラやデジタルスチルカメラ、銀塩カメラなどに用いられる画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置に関するものである。
【0002】
【従来の技術】
従来より、ビデオカメラやデジタルスチルカメラ、あるいは銀塩カメラなどにより撮像された画像においては、撮像レンズの歪曲収差特性の影響により歪みが生じていた。ここで、高精度で高性能なレンズにおいて該歪みは目立たないが、コストが低いレンズを使用する場合や光学ズームレンズを使用する場合には、画歪みの影響を完全に回避することは難しい。
【0003】
そこで、近年、該歪みを信号処理により補正する画像処理装置が提案されてきている。図32は、従来における画像処理装置100の構成を示す。図32に示されるように従来の画像処理装置100は、レンズ200と撮像素子300、データ変換部400、信号処理部500、画像メモリ600、制御マイコン700、同期信号生成部800、補正データテーブル1000、記録部1100、再生部1200、及び表示系処理部1300とを備える。
【0004】
ここで、図33のフローチャートを参照しつつ、上記画像処理装置100の動作の概要を説明する。まずステップS1では、レンズ200及び撮像素子300を介して被写体101に対するアナログ画像信号を入力する。そして、ステップS2ではデータ変換部400で該アナログ画像信号をデジタル画像信号に変換し、画像102を生成する。
【0005】
次に、ステップS3において、信号処理部500は補正データテーブル1000に格納された歪み補正ベクトル(以下、単に「補正ベクトル」ともいう)を用いて歪んだ画像102に対し補正演算を施す。そして、ステップS4において、制御マイコン700は画像の入力を終了するか否かを判断し、終了しないと判断した場合にはステップS1へ戻る。
【0006】
以上が、図32に示された従来の画像処理装置100の動作の概要であるが、以下において該動作を詳しく説明する。
【0007】
レンズ200は被写体101からの反射光を集光して撮像素子300に写影する。また、撮像素子300はCCDやCMOSセンサなどから構成され、写影された映像をキャプチャーして、アナログの画像信号を生成する。また、データ変換部400は撮像素子300から供給された該アナログ信号をデジタルの画像信号に変換し、画像102を生成する。一方、制御マイコン700は外部のユーザインタフェースへの入力に応じて、所定の動作を命令するコマンドを発行する。
【0008】
また、信号処理部500は制御マイコン700から供給されたコマンドに応じてデータ変換部400により生成されたデジタル画像信号を画像メモリ600へ格納する。そして、信号処理部500は補正データテーブル1000に予め記録された全画素に対応する補正ベクトルを該テーブルから読み出し、該補正情報に応じて画像メモリ600から必要な画像信号を取得した後、該画像信号につき2次元補間方式による幾何学補正を実行することによって、データ変換部400から出力された画像102の歪みを補正する。
【0009】
ここで、信号処理部500において生成された画像信号は、表示系処理部1300へ供給されることにより該画像がモニタに表示され、あるいは記録部1100へ供給されることにより外部のテープやディスクあるいはメモリなどのメディア1400に記録される。また、メディア1400に記録された画像信号は、再生部1200により再生され、該再生信号が表示系処理部1300へ供給されることにより該再生画像103がモニタに表示される。
【0010】
さらに、同期信号生成部1600は、外部から供給されるクロック信号CLKに応じて内部同期信号を生成し、撮像素子300とデータ変換部400及び信号処理部500へ供給する。
【0011】
このようにして、歪みを信号処理により補正することができる。なお、同種の技術分野においては、下記の文献が公開されている。
【0012】
【特許文献1】
特開平5−172531号公報
【特許文献2】
特開平6−165024号公報
【特許文献3】
特開平6−181530号公報
【0013】
【発明が解決しようとする課題】
ところで、本願の出願人は、先に特願2002−239865号を出願している。すなわち、図34には、本願の出願人が先に出願した画像処理システムの構成を示す。なお、図中同一符号は同一または相当部分を示す。
【0014】
図34に示されるように、先の出願に係る画像処理システムは、画像処理装置100と前処理装置1500及びメディア1400を備え、画像処理装置100はレンズ200と撮像素子300、データ変換部400、信号処理部500、画像メモリ600、制御マイコン700、補正パラメータデコーダ9、同期信号生成部1600、記録部1100、再生部1200、及び表示系処理部1300とを含み、前処理装置1500は補正パラメータエンコーダ900と補正パラメータ導出部800とを含む。
【0015】
ここで、レンズ200は被写体101からの反射光を集光して撮像素子300に写影するものであって、単焦点のレンズにとどまらずズーム機能を有するものであっても良い。また、撮像素子300はCCDやCMOSセンサなどから構成され、同期信号生成部1600から供給された内部同期信号に応じて、写影された映像をキャプチャーしアナログ画像信号を生成する。
【0016】
データ変換部400は撮像素子300に接続され、同期信号生成部1600から供給された内部同期信号に応じて、撮像素子300により生成されたアナログ画像信号をデジタル画像信号に変換し画像102を生成する。信号処理部500は、制御マイコン700とデータ変換部400、画像メモリ600、補正パラメータデコーダ1010及び同期信号生成部1600に接続される。
【0017】
そして、信号処理部500は、制御マイコン700から供給されたコマンドに応じて、データ変換部400から供給されるデジタル画像信号を画像メモリ600へ格納すると共に、補正パラメータデコーダ1010から供給される補正量パラメータによって格納された該画像信号に対する補正処理を実行する。そして、信号処理部500は、該補正により得られた画像信号を表示系処理部1300及び記録部1100へ供給する。
【0018】
一方、補正パラメータ導出部800は、レンズ200の歪曲収差に関するデータなどから、全画素の各位置に応じた補正量ベクトルを予め計算する。また、補正パラメータエンコーダ900は補正パラメータ導出部800及びユーザインタフェースに接続され、ユーザインタフェースから供給された制御信号Ln,Lwに応じて、補正パラメータ導出部800から供給された補正量ベクトルを圧縮(エンコード)し、該圧縮データPcを補正パラメータデコーダ1010へ供給する。
【0019】
なお、補正パラメータ導出部800における演算及び上記エンコードは、共に非常に負荷の大きな演算となるが、別途パーソナルコンピュータ等を用いて計算すればよく、画像処理装置100によるリアルタイム処理に影響を与えるものでない。また、補正パラメータエンコーダ900から供給される圧縮データPc等の情報は、歪み補正メモリ1020にも格納され、実際の補正パラメータデコーダ1010での処理においては、歪み補正メモリ1020に格納された情報が使用される。
【0020】
さらに、制御マイコン700はユーザインタフェースからの制御信号に応じて、所定の動作を命令するコマンド等を信号処理部500へ出力すると共に、レンズ200の位置情報などを補正パラメータデコーダ1010へ供給する。
【0021】
補正パラメータデコーダ1010は、補正パラメータエンコーダ900、歪み補正メモリ1020と制御マイコン700及び信号処理部500に接続される。そして、補正パラメータデコーダ1010は、制御マイコン700から供給された情報等に応じて、補正パラメータエンコーダ900または歪み補正メモリ1020から供給されたエンコードされた圧縮データPcを各画素に対応した補正量パラメータに伸長(デコード)し、該補正量パラメータを信号処理部500へ供給する。
【0022】
また、記録部1100は信号処理部500に接続され、信号処理部500により生成された画像信号をテープやフレキシブルディスク、DVD(デジタル多用途ディスク)、ハードディスク、メモリなどのメディア(記録媒体)1400に記録する。なお、信号処理部500により生成された画像信号は、インターネットやワイヤレス通信等を用いてメディア1400に記録されるようにすることもできる。
【0023】
また、再生部1200はメディア1400に接続され、メディア1400に格納された画像信号を再生して表示系処理部1300へ供給する。表示系処理部1300は信号処理部500及び再生部1200に接続され、信号処理部500又は再生部1200から供給された画像信号をモニタに表示する。
【0024】
なお、同期信号生成部800は外部から供給されたクロック信号CLKに応じて内部同期信号を生成し、撮像素子300とデータ変換部400及び信号処理部500へ供給する。
【0025】
さらに、補正パラメータエンコーダ900の詳細について図35を用いて説明する。図35において、格子分割部901は全画面の歪み補正座標の分割方法を決定する。また、n次多項式係数導出部902で格子分割部901において分割された各格子線分のすべての歪み補正座標を格子線分上の位置との関数で表現し、求める区分n次多項式で近似する。なお、歪み補正パラメータは歪み補正処理を行うための保持されるデータである。
【0026】
ここで、n次多項式は、
F(x) =a(n) *xn +a(n−1)*x(n−1) +a(n−2) *x(n−2) ・・・+a(0)
で表される式であり、区分n次多項式とはある有効範囲で区切られた区間のみをn次多項式で表したものである。また、格子線分とは互いの格子線で区切られた格子線(格子点間の線分)である。
【0027】
なお、参考として、分割方法について図36、図37を用いて示す。すなわち、格子分割する場合には、図36(a)に示すように画面分割の対象として画面全体を利用する方法と、レンズの歪みが点対象であることを利用して、図36(b)に示すように画面の1/4のみを利用する方法があり、これらは歪みの特性によって選択される。
【0028】
また、格子に分割する方法は主に3通りが提案されている。すなわち、1通り目の均等分割法は、図37の右上に示すように中心から端までの距離を分割数に応じて均等に分けるものである。また、2通り目の2のべき乗分割法は、図37右中段に示すように中心から端までの距離を2 のべき乗ごとに分割するものである。なお、この方法2のべき乗分割法は演算処理の軽減することができる。
【0029】
さらに、3通り目の最適値分割法は、図37の左上に示す図形の歪みのもっとも大きい画面の上端及び右端の歪み補正座標を利用し図37の右下に示すように歪み補正座標をY軸、中心からの距離をX軸にした関数h(x) を作成し、作成された関数を、区分n次多項式を用いてh(x) と区分n次多項式との誤差がもっとも小さくなる分割位置を探索する。
【0030】
なお、n次多項式算出の方法については、図38に区分2次多項式を例に参考として示す。すなわち、図38( a) に示すように1つの格子線分を選択する。ここでx1 =x0 +1として、(x0 ,h(x0))、(x1 ,h(x1))、(x2 ,h(x2))の3点を通る区分2次多項式を算出する。ここでは、図38( b) 、図38( c) に示すように、選択した格子線分の両端x0 、x2 間において、x0 からx2 に対してx1 を1ずつずらしていき、x2 −1の点まで上記の算出を行う。このようにして、全ての区分2次元多項式の中で元の関数との誤差がもっとも小さい区分2次元多項式を算出する。さらに、図38( d) に示す全ての格子線分に関して上記処理を行う。
【0031】
従って、パラメータエンコーダ900のフローチャートは、図39に示すようになる。まずステップS11では、対象画面上の全ての画面に対する歪み補正座標を読み込む。そして、ステップS12では格子の分割方法に従い、画面を格子に分割する。また、ステップS14において、格子点間に囲まれる格子線分を1つ選択する。
【0032】
そして、ステップS15において、選択された格子線分上にあたる全ての点の歪み補正座標をy軸、格子線上の距離をx軸にとり離散関数を作成して、離散関数を区分n次多項式で近似する。さらに、ステップS18において、区分n次多項式の係数n個をデコードするための歪み補正パラメータとして歪み補正メモリ1020に転送する。また、ステップS19において、全ての格子線分に関して歪み補正パラメータの導出が終わっていない場合にはステップS14へ戻る。
【0033】
このようにして、求められた近似式である区分n次多項式の係数を歪み補正パラメータとして、歪み補正メモリ1020に格納する。また、格子情報は補正パラメータデコーダ1000内部の格子情報バッファ1001に格納される。
【0034】
さらに補正パラメータデコーダ1000は、補正パラメータエンコーダ900で得られる歪み補正パラメータにより、画面の各点の歪み補正座標を、信号処理部500の要求にしたがって復元するブロックである。図40を用いて補正パラメータデコーダ1000の詳細について説明する。
【0035】
図40において、補正パラメータデコーダ1000には、補正パラメータエンコーダ900からX、Yそれぞれの方向の区分位置を示す格子情報が入力される。入力された格子情報は格子情報バッファ1001に格納される。そして、信号処理部500より歪み補正を必要とする座標(xt,yt )のリクエストを受けると、格子決定部1002にて,ターゲットとなる座標(xt,yt )が包含される格子を格子情報バッファ1001の格子位置情報と比較し算出する。
【0036】
さらに、求めれた格子を囲む4つの格子線分である区分n 次多項式の各係数の格納されているアドレスを生成し、歪み補正メモリ1020にリード要求する。同時に決定された格子位置を正規化部1003に送る。正規化部1003では、ターゲットとなる座標(xt,yt )と格子位置、格子情報より、囲まれた格子4線において利用する相対座標(xt’, yt’)を算出する。
【0037】
また、関数変換部1005にて、歪み補正メモリ1020より受け取った関数の係数から平面補間で利用する関数形式に変換する。さらに、平面補間部1006は関数変換部1005によって得られた平面関数の係数を用いて平面関数を作成し、それぞれの座標を正規化部1003より得て所望 の歪み補正座標を計算する。そして、計算結果を信号処理部500に送る。
【0038】
従って、補正パラメータデコーダ1000のフローチャートは、図41に示すようになる。すなわち、まずステップS21で、初期設定として格子情報を読み込む。さらにステップS22で歪み補正の要求があるまで待機(WAIT)する。
【0039】
そしてステップS22で歪み補正パラメータのデコード要求があった場合に、ターゲット点の座標を信号処理部500より受け取る。さらにステップS23でターゲット点の座標が含まれる格子を決定する。またステップS24でターゲット点の各格子線分の中での相対座標を求める。そしてステップS25で、格子として囲まれている4格子線分のうち1線分を選択し、区分n次多項式の歪み補正パラメータ(係数)を読み込む。
【0040】
また、ステップS27で4格子線分について処理が終わっていなければステップS25へ戻す。さらに、ステップS28で4つの区分n次多項式より作成される平面関数を導出する。そして、ステップS29で、平面関数を用いて、ターゲット点の歪み補正座標を導出し、次のリクエストまでステップS22にて待機(WAIT)する。
【0041】
なお、ターゲット点とは、信号処理部500において歪み補正を行う対象の画素である。また、歪み補正座標は各点で異なるため、全てをレジスタで保持するか、レンズ用の関数より回路規模の大きい演算を多用することで得ることができる。
【0042】
ところが上述の装置においては、メモリ容量が大きく、リアルタイム処理が困難という問題がある。すなわち、メモリ容量が大きいためにハードウェア規模が大きく、低消費電力化が困難であり、コストがかかる。また、光学ズーム位置が変動する場合や、レンズ交換等撮像レンズの歪曲収差の特性が変わった場合に対応が困難という問題点がある.
【0043】
本発明の目的は、このような問題点を解消することができる画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置を提供することにある。
【0044】
【課題を解決するための手段】
本発明においては、格子分割手段で決定した格子位置を利用し、格子の交差位置及びパラメータ導出手段より得られたデータを利用して演算に必要なデータを圧縮するようにしたものである。これによれば、必要なメモリの容量を削減することができる。なお、本発明においては、x方向:m分割、y方向:n分割とすると、3n*m+n+m−1のメモリ削減効果が得られる。
【0045】
すなわち、k次多項式、x方向:m分割、y方向:n分割とすると、図42より、区分される格子線分n*(m+1)+m*(n+1)である。この場合に、必要な歪み補正パラメータ数は、従来の(k+1){n*(m+1)+m*(n+1)}から、本発明においては、(n+1)*(m+1)+(k−1){n*(m+1)+m*(n+1)}に削減でき、3n*m+n+m−1の削減効果を得ることができる。
【0046】
【発明の実施の形態】
以下において、本発明の実施の形態を図面を参照しつつ詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
【0047】
図1は、本発明の実施の形態に係る画像処理システムの構成を示すブロック図である。ただしこの図1に示されるハードウェアの構成は、上述の本願の出願人が先に提案した画像処理システムの構成(図34)と全く同じである。また、本発明の画像処理装置は主にソフトウェアによって実現されたものであるが、以下の説明では機能ブロックに置き換えて説明する。
【0048】
図1に示されるように、本発明の実施の形態に係る画像処理システムは、画像処理装置100と前処理装置1500及びメディア1400を備え、画像処理装置100はレンズ200と撮像素子300、データ変換部400、信号処理部500、画像メモリ600、制御マイコン700、補正パラメータデコーダ9、同期信号生成部1600、記録部1100、再生部1200、及び表示系処理部1300とを含み、前処理装置1500は補正パラメータエンコーダ900と補正パラメータ導出部800とを含む。
【0049】
ここで、レンズ200は被写体101からの反射光を集光して撮像素子300に写影するものであって、単焦点のレンズにとどまらずズーム機能を有するものであっても良い。また、撮像素子300はCCDやCMOSセンサなどから構成され、同期信号生成部1600から供給された内部同期信号に応じて、写影された映像をキャプチャーしアナログ画像信号を生成する。
【0050】
データ変換部400は撮像素子300に接続され、同期信号生成部1600から供給された内部同期信号に応じて、撮像素子300により生成されたアナログ画像信号をデジタル画像信号に変換し画像102を生成する。信号処理部500は、制御マイコン700とデータ変換部400、画像メモリ600、補正パラメータデコーダ1010及び同期信号生成部1600に接続される。
【0051】
そして、信号処理部500は、制御マイコン700から供給されたコマンドに応じて、データ変換部400から供給されるデジタル画像信号を画像メモリ600へ格納すると共に、補正パラメータデコーダ1010から供給される補正量パラメータによって格納された該画像信号に対する補正処理を実行する。そして、信号処理部500は、該補正により得られた画像信号を表示系処理部1300及び記録部1100へ供給する。
【0052】
一方、補正パラメータ導出部800は、レンズ200の歪曲収差に関するデータなどから、全画素の各位置に応じた補正量ベクトルを予め計算する。また、補正パラメータエンコーダ900は補正パラメータ導出部800及びユーザインタフェースに接続され、ユーザインタフェースから供給された制御信号Ln,Lwに応じて、補正パラメータ導出部800から供給された補正量ベクトルを圧縮(エンコード)し、該圧縮データPcを補正パラメータデコーダ1010へ供給する。
【0053】
なお、補正パラメータ導出部800における演算及び上記エンコードは、共に非常に負荷の大きな演算となるが、別途パーソナルコンピュータ等を用いて計算すればよく、画像処理装置100によるリアルタイム処理に影響を与えるものでない。また、補正パラメータエンコーダ900から供給される圧縮データPc等の情報は、歪み補正メモリ1020にも格納され、実際の補正パラメータデコーダ1010での処理においては、歪み補正メモリ1020に格納された情報が使用される。
【0054】
さらに、制御マイコン700はユーザインタフェースからの制御信号に応じて、所定の動作を命令するコマンド等を信号処理部500へ出力すると共に、レンズ200の位置情報などを補正パラメータデコーダ1010へ供給する。
【0055】
補正パラメータデコーダ1010は、補正パラメータエンコーダ900、歪み補正メモリ1020と制御マイコン700及び信号処理部500に接続される。そして、補正パラメータデコーダ1010は、制御マイコン700から供給された情報等に応じて、補正パラメータエンコーダ900または歪み補正メモリ1020から供給されたエンコードされた圧縮データPcを各画素に対応した補正量パラメータに伸長(デコード)し、該補正量パラメータを信号処理部500へ供給する。
【0056】
また、記録部1100は信号処理部500に接続され、信号処理部500により生成された画像信号をテープやフレキシブルディスク、DVD(デジタル多用途ディスク)、ハードディスク、メモリなどのメディア(記録媒体)1400に記録する。なお、信号処理部500により生成された画像信号は、インターネットやワイヤレス通信等を用いてメディア1400に記録されるようにすることもできる。
【0057】
また、再生部1200はメディア1400に接続され、メディア1400に格納された画像信号を再生して表示系処理部1300へ供給する。表示系処理部1300は信号処理部500及び再生部1200に接続され、信号処理部500又は再生部1200から供給された画像信号をモニタに表示する。
【0058】
なお、同期信号生成部800は外部から供給されたクロック信号CLKに応じて内部同期信号を生成し、撮像素子300とデータ変換部400及び信号処理部500へ供給する。
【0059】
さらに、図2は、図1に示された信号処理部500の構成を示すブロック図である。図2に示されるように、信号処理部500は水平1次元補間部501と垂直1次元補間部502とを含む。なお、画像メモリ600は水平処理用FIFOメモリからなる画像メモリ601と垂直処理用ラインバッファからなる画像メモリ602とを含み、補正パラメータデコーダ1010はx方向用の画歪補正パラメータデコーダ33とy方向用の画歪補正パラメータデコーダ34とを含む。
【0060】
なお、画像メモリ602は垂直方向の歪み補正を実現するために必要な最小限のライン数分に渡るデータを格納できるだけの容量を有するものとされるが、この点については後述する。また、通常上記容量は、出力データバッファ32に供給される出力同期信号の周波数に応じて決定される。
【0061】
そして、水平1次元補間部501はデータ書き込み部21と演算制御部22、補間位相・入力データ座標計算部23、データ取得部24、補間係数生成部25、及びデータ補間計算部26を含み、垂直1次元補間部502は演算制御部27と補間位相・入力データ座標計算部28、データ取得部29、補間係数生成部30、データ補間計算部31、及び出力データバッファ32を含む。
【0062】
ここで、データ書き込み部21はデータ変換部400に接続され、演算制御部22は同期信号生成部800に接続される。また、補間位相・入力データ座標計算部23は演算制御部22及び制御マイコン700に接続され、データ取得部24は補間位相・入力データ座標計算部23と画像メモリ601及び画歪補正パラメータデコーダ33に接続される。また、補間係数生成部25は画歪補正パラメータデコーダ33に接続され、データ補間計算部26はデータ取得部24及び補間係数生成部25に接続される。
【0063】
なお、画像メモリ601はデータ書き込み部21及びデータ取得部24に接続され、画像メモリ602はデータ補間計算部26及びデータ取得部29に接続される。また、画歪補正パラメータデコーダ33は補間位相・入力データ座標計算部23及びデータ取得部24に接続される。
【0064】
一方、演算制御部27は同期信号生成部1600に接続され、補間位相・入力データ座標計算部28は演算制御部27及び制御マイコン700に接続される。また、データ取得部29は補間位相・入力データ座標計算部28と画像メモリ602及び画歪補正パラメータデコーダ34に接続され、補間係数生成部30は画歪補正パラメータデコーダ34に接続される。また、データ補間計算部31はデータ取得部29及び補間係数生成部30に接続され、出力データバッファ32はデータ補間計算部31及び同期信号生成部1600に接続される。
【0065】
なお、出力データバッファ32の出力ノードは表示系処理部1300及び記録部1100に接続される。また、画歪補正パラメータデコーダ34は補間位相・入力データ座標計算部28に接続される。
【0066】
上記のような構成を有する信号処理部500では、まず水平1次元補間部501が水平方向(x方向)の1次元補間演算を実行し、続いて垂直1次元補間部502が垂直方向(y方向)の1次元補間演算を実行する。ここで、信号処理部500による該演算の概要を、図3を参照しつつ説明する。なお、図3においては、x及びy方向にそれぞれ4つ並んだ(4×4)合計16個からなる画像データを用いて出力画像の各点の画像データが決定される場合が例示される。
【0067】
そして、図3(a)はx方向の補正により、歪みを伴う原画像を構成する点B1〜B4に対応してそれぞれ点B10〜B40の画像データが算出されたことを示し、図3(b)はさらにy方向の補正により、点B10〜B40に対応して点b1〜b4の画像データが算出されたことを示す。
【0068】
より具体的には、例えば水平方向に連続した点B1を跨ぐ4つの格子点の画像データに所定の補間演算を施すことにより点B10の画像データが算出され、同様に点B2〜B4に対応してそれぞれ点B20〜B40の画像データが算出される。
【0069】
次に、図3(b)に示されるように、例えば点B30に対しては、垂直方向に連続した点B30を跨ぐ破線内の4つの格子点(点K20〜K23)における画像データに所定の補間演算を施すことにより点b3の画像データが算出される。また同様に、点B10,B20,B40に対応してそれぞれ点b1,b2,b4の画像データが算出される。
【0070】
ここで、上記のような水平方向における1次元補間演算は、データ補間計算部26に含まれる図4に示された水平処理回路40により実現される。図4に示されるように水平処理回路40は、ラインメモリ1900と、ラインメモリ1900の出力ノードに直列接続された4つのレジスタ1901と、各レジスタ1901から出力されたデータと対応する補間係数CHk(k=0〜3)とを乗算する4つの乗算回路1902と、4つの乗算回路1902により得られたデータを加算する加算回路1903とを含む。
【0071】
なお、上記のような垂直方向における1次元補間演算は後述する図25に示された回路により実現されるが、これについては後に詳しく説明する。
【0072】
次に、図2に示された信号処理部500の動作の概要を説明する。まずデータ変換部400から水平1次元補間部501へ入力された画像データは、データ書き込み部21によって書き込み制御信号と共に画像メモリ601へ供給され、該書き込み制御信号に応じて画像メモリ601に書き込まれる。
【0073】
このとき、データ取得部24は読み出し制御信号を水平処理用の画像メモリ601へ供給することにより、画歪補正パラメータデコーダ33から供給されるx方向用の補正量パラメータXmに応じて、画像メモリ601から水平方向に並ぶ画像データを補間用データとして取得する。
【0074】
そして、データ補間計算部26が補間係数生成部25から供給された補間係数を用いて水平方向の1次元補間演算を実行し、垂直処理用の画像メモリ602が該演算結果を格納する。
【0075】
次に、垂直1次元補間部502では、データ取得部29が画歪補正パラメータデコーダ34から供給されるy方向用の補正量パラメータYmに応じて、垂直処理用の画像メモリ602から垂直方向に並ぶ画像データを補間用データとして取得する。そして、データ補間計算部31が補間係数生成部30から供給された補間係数を用いて垂直方向の1次元補間演算を実行し、出力データバッファ32は出力同期信号に応じて該演算結果を出力する。
【0076】
なお、上記のように、水平1次元補間部501及び垂直1次元補間部502により実行される補間演算は1次元補間演算とされるため、キュービック補間のような4タップのフィルタ、又はより高次タップ数のフィルタを用いることができる。
【0077】
すなわち、1次元補間演算は上記のように簡易な回路により実現されるため、2次元補間演算では難しい高次タップのフィルタによる演算が容易に実現できることから、より高画質な画像を得ることができる。なお、一般的な画素数変換回路などは1次元補間を実行する回路とされているため、既存の該回路を上記演算に共用しても良い。
【0078】
また、上記においては、水平方向の1次元補間演算を実行した後に垂直方向の1次元補間演算を実行する実施の形態を説明したが、逆に垂直方向の1次元補間演算を先に実行し、その後に水平方向の1 次元補間演算を実行するようにしても良い。なお、この場合にはデータ変換部400から出力される画像データは垂直1 次元補間部502へ入力され、垂直1次元補間演算が施された後に一旦水平処理用の画像メモリ601へ格納される。そして、このように画像メモリ601に格納された画像データは、さらに水平1 次元補間部501により水平1次元補間演算が施され、完全に歪みが補正されて信号処理部500の外部へ出力される。
【0079】
また、上記における演算処理は1系統のデータに適用するのみならず、色信号(RGB,YUV)に対して系統毎に適用しても良い。さらに、動画像に対して該補間演算を施す場合には、垂直同期信号に同期して該演算を実行すれば良い。
【0080】
ところで、ビデオカメラやデジタルスチルカメラなどの撮像装置では、いわゆる光学ズーム機能や手ぶれ補正機能が搭載されることが多い。ここで、上記機能により光学ズームを行うと、テレ(ズームアップ)かワイド(ズームダウン)かに応じてレンズの歪み特性が変動する。すなわち、一般的に、ワイドの向きにレンズ200が移動すると画像に樽歪みが生じ、テレの向きにレンズ200が移動すると画像に糸巻き型の歪みが発生する。
【0081】
このとき、該光学ズームに応じた適切な補正ベクトルにより該画像が補正されないときは画質が劣化するため、補正パラメータデコーダ1010はレンズの位置に応じた最適な補正量パラメータを選択するものとされる。
【0082】
具体的には、補正パラメータデコーダ1010は制御マイコン700からレンズ200の位置を示す情報を受け取り、補正パラメータエンコーダ900から供給された圧縮データPcを該位置情報に応じて選択的にデコードする。
【0083】
このように、図1に示された画像処理装置100によれば、レンズ200の特性が変動するような場合においても、該特性に応じてデコードされた補正量パラメータのみが補間演算に使用されるため、該演算に使用されるデータ量を最小限に抑えることができ、その結果として製造コストを低減することができる。
【0084】
次に、上記手ぶれ補正機能について説明する。一般的に、手ぶれによる画像の歪みを補正する方法には、アクティブプリズム方式やアクティブレンズ方式のようにレンズ等の位置を制御して該画像を光学的に補正する方法と、アクティブイメージエリア方式のように得られた画像信号に所定の処理を施すことにより電気的に補正する方法とがある。
【0085】
ここで、光学的な補正方法はレンズ200の位置に応じてレンズ特性が変動することから、本発明の実施の形態に係る画像処理装置100で実現するのは難しい。
【0086】
一方、上記の電気的な補正方法は、角速度センサ等により検知された手ぶれ位置の情報に基づいて、画像全体から一部(有効エリア)の画像を切り出す信号処理により実現される。このとき、該有効エリアの位置等に応じて画像処理の対象が変化するため、該対象に応じて補間演算を施す際に使用する補正ベクトルを変更する必要がある。
【0087】
そこで、補正パラメータデコーダ1010はさらに、制御マイコン700から手ぶれ位置の情報を受け取り、補正パラメータエンコーダ900から供給された圧縮データPcを該位置情報に応じて選択的にデコードすることによって、手ぶれ補正を実現する。
【0088】
なお、本実施の形態に係る画像処理装置100では、レンズ200を交換したような場合にも同様に、補正パラメータデコーダ1010が該新たなレンズ200等に応じて選択的に該圧縮データPcをデコードすることとすれば、部品交換後においても容易に高画質の画像を得ることができる。
【0089】
次に、図5及び図6のフローチャートを参照しつつ、図2に示された水平1次元補間部501の動作を詳しく説明する。まず、演算制御部22は、同期信号生成部800から供給される内部同期信号に応じて制御タイミング信号を生成する。そして、補間位相・入力データ座標計算部23は、演算制御部22から供給された制御タイミング信号に応じて動作し、信号処理部500に入力された画像に歪みがない場合における座標系での補間点の座標を小数点付きで計算する。
【0090】
具体的には、ステップS31において補間位相・入力データ座標計算部23は、図7(a)に示されるように歪み補正され等倍変換された画像上の座標(x,y)として、切り出した画像CIの左上の座標(Sx,Sy)を初期設定し、画歪補正パラメータデコーダ33へ補正パラメータ要求信号Rxを供給する。一方、ステップS32において、画歪補正パラメータデコーダ33は供給された補正パラメータ要求信号Rx及び該座標(Sx,Sy)に対応する補正量パラメータXmを求め、データ取得部24及び補間係数生成部25へ供給する。
【0091】
ここで画歪補正パラメータデコーダ33は、例えばROM(Read Only Memory)を内蔵し、該ROMにx座標と補正量パラメータXmとの間の対照テーブルを予め格納しておくようにしても良いし、補正量パラメータXmをx座標のある関数として近似し、該関数を用いて補正量パラメータXmを求めても良いが、後に詳しく説明する。
【0092】
次に、ステップS33において、データ取得部24は補間位相・入力データ座標計算部23から供給された座標(X,Y)に、画歪補正パラメータデコーダ33から供給された補正量パラメータXmに応じた補正量ベクトル(Xm,0)を加える。これより、図7(b)に示されるように、補正前の原画像OIにおいて上記座標(X,Y)に対応する点の座標(X+Xm,Y)、すなわち補正ベクトルが求められたことになる。
【0093】
なお、データ取得部24の替わりに、画歪補正パラメータデコーダ33が補間位相・入力データ座標計算部23から供給されたx座標に応じて上記補正ベクトルを求め、該補正ベクトルをデータ取得部24へ供給するようにしても良い。
【0094】
このとき、データ取得部24はx座標の整数値がXmを加えることで変化したか否かを判断し、変化したと判断した場合にはステップS35へ進み、変化していないと判断した場合にはステップS36へ進む。
【0095】
ステップS35では、データ取得部24が、さらに該整数値は2以上変化したか否かを判断し、2以上変化したと判断した場合にはステップS38へ進み、1のみ変化したと判断した場合にはステップS37へ進む。一方、ステップS36では、画像メモリ601がデータ取得部24から供給されたホールド信号Shに応じて、前サイクルに出力したものと同じ補間用データを再度データ取得部24へ供給する。
【0096】
上記において、データ取得部24は生成された補正ベクトルのx成分(X+Xm)の整数値に応じて画像メモリ601から読み出すべきデータのアドレスを生成し、読み出し制御信号を画像メモリ601に供給することによって該アドレスに応じた補間用データを取得する。
【0097】
ここで、画像メモリ601は先頭アドレスからアドレスを1ずつインクリメントしつつ該アドレスに応じた補間用データを順次出力すると共に、データ取得部24からホールド信号Shが供給されることによって、上記インクリメントを一時的に停止する。
【0098】
なお、画像メモリ601はデータ取得部24から読み出し開始アドレスを受け取り、該読み出し開始アドレスを上記先頭アドレスとした所定数の連続データを出力するものであっても良い。
【0099】
ここで、上記ホールド信号Sh及び読み出し開始アドレスは、画歪補正パラメータデコーダ33から出力される補正量パラメータXmの整数成分から求められる。
【0100】
一方、補間係数生成部25は、画歪補正パラメータデコーダ33から供給される補正量パラメータXmの小数成分を水平補間フィルタの位相として扱い、該小数成分に応じて補間係数を生成する。なお、このような動作は、信号処理部10に入力される画像102がRGBフォーマットの場合に適用される。一方、YUVフォーマットの場合には輝度信号Yのフィルタ位相はRGBフォーマットのフィルタ位相と同じように扱うことができ、色差信号Cb/Crについては、補正量パラメータXmの小数成分だけでなく整数成分も併用して該位相を算出することができる。
【0101】
そして、ステップS37においてデータ補間計算部26は、データ取得部24から供給された補間用データと上記補間係数とに応じて1次元補間演算を実行し、ステップS39へ進む。
【0102】
ここで、上記の1次元補間演算では、例えばYUVフォーマットにおいては、図7(c)に示されるように補正ベクトル(X+Xm,Y)の近傍から水平方向において8画素の輝度データDtが補間用データとして利用され、上記小数成分を位相とした8タップの補間演算が実行される。なお、該補間演算により得られた結果は出力画像の輝度データ等として利用され、これより水平方向の歪みが補正される。
【0103】
一方、ステップS38ではデータ取得部24が補間位相・入力データ座標計算部23と画歪補正パラメータデコーダ33及びデータ補間計算部26へスキップ信号skを供給し、これら補間位相・入力データ座標計算部23と画歪補正パラメータデコーダ33及びデータ補間計算部26の動作を停止させる。
【0104】
ここで、ステップS35においてx座標が2以上変化したと判断される場合は、実際に補間演算する中心座標が2画素以上移動する場合を意味するため、データ補間計算部26による画像メモリ602へのデータ出力が中断される。また、実際に補間演算する中心座標が2画素以上移動する場合は、画歪補正パラメータデコーダ33から出力される補正量パラメータXmの小数成分(補間位相)は次サイクルまで保持されることから、画歪補正パラメータデコーダ33の動作が停止される。
【0105】
そして、ステップS43では、補間位相・入力データ座標計算部23がx座標に水平方向の拡大縮小パラメータHaを加算し、ステップS32へ進む。なお、この拡大縮小パラメータHaは、補正後の画像に対する歪みを持った原画像の水平方向における長さの比により決定され、補正後に画像を水平方向に拡大する場合には1より小さな値とされ、逆に縮小する場合は1より大きな値とされ、等倍の場合には1とされる。
【0106】
ステップS39ではデータ補間計算部26が、得られた画像データを垂直処理用ラインバッファからなる画像メモリ602へ格納する。そして、ステップS40では補間位相・入力データ座標計算部23が現時点のx座標を基に1ライン分、すなわち出力水平画素数HS分の画像データが画像メモリ602へ出力されたか否かを判断し、1ライン分のデータが出力されたと判断した場合にはステップS41へ進み、1ライン分のデータが出力されていないと判断した場合にはステップS43へ進む。
【0107】
ステップS41では補間位相・入力データ座標計算部23がx座標をSxとすると共に、y座標に1を加える。そして、ステップS42では補間位相・入力データ座標計算部23がさらにy座標を基に1フレーム分、すなわち出力垂直ライン数分の画像データが画像メモリ602へ出力されたか否かを判断し、1フレーム分のデータが出力されたと判断した場合には動作を終了し、1フレーム分のデータが出力されていないと判断した場合にはステップS43へ進む。
【0108】
以上より、水平1次元補間部501は、歪みを持った原画像に対して水平方向の1次元補間演算を施すことにより、水平画歪み補正処理と水平方向の拡大・縮小処理を同時に実現し、得られた画像を垂直処理用の画像メモリ602に保存する。
【0109】
なお、上記水平1次元補間による等倍変換の具体例が図8に示される。ここで、図8は輝度信号に関する変換を示し、図8(a)は信号処理部500に入力された補間用データD0〜D9、図8(b)及び図8(f)は補正量パラメータXm、図8(c)及び図8(d)はそれぞれ補正後の画像を構成するデータのサンプリング位置及び番号を示す。
【0110】
また、図8(e)は補間位相・入力データ座標計算部23から画歪補正パラメータデコーダ33へ供給されるx座標(xt)を示し、図8(g)はデータ取得部24により生成される補正ベクトルのx座標(補正パラメータ)、図8(h)は補正前の画像における補間用データのアドレス、図8(i)は補間位相をそれぞれ示す。
【0111】
例えば、図8に示されるように、補正後の画像においてx座標が2.0 の点に位置するデータの補正量パラメータXmは1.25とされる。その結果、補正前の画像における該点の対応点のx座標は、該2.0 に補正量パラメータXmを加算して3.25と求められる。このとき、該x座標(3.25)の整数成分(3)が補正前の画像における該データのアドレスを示し、0.25が補間位相を示す。従って、補正後の画像におけるx座標が2.0 の点の輝度信号は、補正前の画像において3近傍のxアドレスを有する複数の連続データを対象とし、水平補間フィルタの位相を0.25とした1 次元補間演算により求められることになる。
【0112】
図9は、図8に示された等倍変換の動作タイミングを示すタイミング図である。ここで、図9(a)は演算制御部22に供給される内部同期信号を示し、図9(b)は演算制御部22により生成される制御タイミング信号、図9(c)はデータ取得部24から画像メモリ601に供給される読み出し制御信号、図9(d)は画像メモリ601からデータ取得部24へ入力される補間用データ、図9(e)は補間位相・入力データ座標計算部23から画歪補正パラメータデコーダ33へ供給されるx座標(xt)をそれぞれ示す。
【0113】
また、図9(f)は画歪補正パラメータデコーダ33から出力される補正量パラメータXmを示し、図9(g)はデータ取得部24により生成される補正パラメータ、図9(h)は補正前の画像における補間用データのアドレス、図9(i)は補間位相、図9(j)及び図9(k)はそれぞれデータ取得部24により生成されるスキップ信号sk及びホールド信号Sh、図9(l)は画像メモリ601から読み出される2タップのデータ、図9(m)はデータ補間計算部26から画像メモリ602へ出力されるデータ、図9(n)はデータ補間計算部26で内部生成される出力イネーブル信号をそれぞれ示す。なお、ここでは説明を簡略化するために、一つのデータを得るための補間演算においては、図9(l)に示される2タップのデータが使用されるものとする。
【0114】
図9(b)に示されるように、時刻T1において制御タイミング信号が内部同期信号に応じてハイレベルに活性化されると、図9(e)に示されるように補間位相・入力データ座標計算部23は0.0 から1.0 づつインクリメントされるx座標(xt)を順次画歪補正パラメータデコーダ33へ供給する。
【0115】
これより、図9(f)に示されるように画歪補正パラメータデコーダ33は対応する補正量パラメータXmを求め、その後にデータ取得部24は図9(g)に示される補正パラメータを算出する。ここで、図9(h)に示されるように、データ取得部24は該補正パラメータの整数成分から補正前の画像における補間用データの先頭アドレスを0と特定する。そして、図9(c)及び図9(d)に示されるように、データ取得部24は活性化された読み出し制御信号と共に、上記のように特定されたアドレス0を画像メモリ601へ供給する。
【0116】
これより、図9(d)に示されるように、画像メモリ601は該先頭アドレス0に対応するデータD0から順次補間用データをデータ取得部24へ連続的に出力する。
【0117】
また、図9(g)及び図9(j)に示されるように、時刻T2においてデータ取得部24は補正パラメータの整数成分が2以上増加したと判断すると、ハイレベル(H)のスキップ信号skを生成して補間位相・入力データ座標計算部23とデータ補間計算部26及び画歪補正パラメータデコーダ33へ供給する。この結果、図9(e)から図9(g)に示されるように時刻T3から1サイクルの間補正パラメータの生成動作が停止されると共に、図9(m)及び図9(n)に示されるように出力イネーブル信号がロウレベルに不活性化されることによって、データ補間計算部26から画像メモリ602へのデータ出力が停止される。
【0118】
また、図9(g)及び図9(k)に示されるように、データ取得部24は時刻T4において生成された補正パラメータ(8.75)の整数成分が1サイクル前の補正パラメータ(8.25)の整数成分と同じであると判断し、時刻T4においてホールド信号Shをハイレベルに活性化させる。これより、図9(l)に示されるように時刻T5において、データ取得部24は画像メモリ601から前サイクルと同じ2タップの補間用データD8,D9を取得する。
【0119】
なお、図10は図8と同様に水平1次元補間による拡大変換の具体例を示し、図11は図9と同様に該拡大変換の動作タイミングを示す。この拡大変換の例では、図10(e)に示されるように、データ番号が2から6近傍までのデータが水平方向の拡大縮小パラメータHaを0.5 として水平方向に拡大される。ここで、図10(b)はデータ番号が0から9までの10個のデータについての補正量パラメータXmを示し、図10(f)は該拡大による補間点、すなわちx座標が2.0 から6.5 までにおける0.5 間隔の10個の点における補正量パラメータXmを示す。
【0120】
そして、このような拡大変換においては、図11(g)に示されるように時刻T2,T3,T4,T5,T6において補正パラメータの整数成分が変化しないため、各時刻において1サイクルの間ホールド信号Shがハイレベルに活性化される。
【0121】
次に、図12及び図13のフローチャートを参照しつつ、図2に示された垂直1次元補間部502の動作を詳しく説明する。まず、演算制御部27は、同期信号生成部1600から供給される内部同期信号に応じて制御タイミング信号を生成する。そして、補間位相・入力データ座標計算部28は、演算制御部27から供給された制御タイミング信号に応じて動作し、信号処理部500に入力された画像に歪みがない場合における座標系での補間点の座標を小数点付きで計算する。
【0122】
具体的には、ステップS51において補間位相・入力データ座標計算部28は、図14(a)に示されるように歪み補正され等倍変換された画像上の座標(x,y)として、切り出した画像CIの左上の座標(Sx,Sy)を初期設定し、画歪補正パラメータデコーダ34へ補正パラメータ要求信号Ryを供給する。一方、ステップS52において、画歪補正パラメータデコーダ34は供給された補正パラメータ要求信号Ryに応じて該y座標に対応する補正量パラメータYmを求め、データ取得部29及び補間係数生成部30へ供給する。
【0123】
ここで画歪補正パラメータデコーダ34は、例えばROM(Read Only Memory)を内蔵し、該ROMにy座標と補正量パラメータYmとの間の対照テーブルを予め格納しておくようにしても良いし、補正量パラメータYmをy座標のある関数として近似し、該関数を用いて補正量パラメータYmを求めても良いが、後に詳しく説明する。
【0124】
次に、ステップS53において、データ取得部29は補間位相・入力データ座標計算部28から供給された座標(X,Y)に、画歪補正パラメータデコーダ34から供給された補正量パラメータYmに応じた補正量ベクトル(0,Ym)を加える。これより、図14(b)に示されるように、補正前の原画像OIにおいて上記座標(X,Y)に対応する点の座標(X,Y+Ym)、すなわち補正ベクトルが求められる。このとき、データ取得部29は生成された補正ベクトルのy成分(Y+Ym)の整数値に応じて画像メモリ602から読み出すべきデータのアドレスを生成し、メモリ制御信号と共に画像メモリ602へ供給する。
【0125】
なお、データ取得部29の替わりに、画歪補正パラメータデコーダ34が補間位相・入力データ座標計算部28から供給されたy座標に応じて上記補正ベクトルを求め、該補正ベクトルをデータ取得部29等へ供給するようにしても良い。
【0126】
そして、ステップS54においては、垂直処理用の画像メモリ602が供給された上記アドレスに応じて、座標Xにおいて垂直方向に複数ラインに渡って並ぶ複数の補間用データを同時にデータ取得部29へ出力する。
【0127】
ここで、画像メモリ602は、データ取得部29から読み出しを開始する先頭アドレスを受け取り、該アドレスを1ずつインクリメントすることにより該アドレスに応じた補間用データを順次出力するか、あるいは、アドレスをインクリメントすることなく、受け取った該先頭アドレスから所定数連続したデータを出力するものとされる。ここで、上記先頭アドレスは、画歪補正パラメータデコーダ34から出力される補正量パラメータYmの整数成分から求められる。
【0128】
一方、補間係数生成部30は、画歪補正パラメータデコーダ34から供給される補正量パラメータYmの小数成分を垂直補間フィルタの位相として扱い、該小数成分に応じて補間係数を生成する。
【0129】
そして、ステップS55においてデータ補間計算部31は、データ取得部29から供給された補間用データと上記補間係数とに応じて1次元補間演算を実行する。なお、上記補間演算は、信号処理部500に入力される画像102がRGBフォーマットの場合にのみ適用されるものでない。すなわち、YUVフォーマットの場合、輝度信号と色差信号の垂直方向におけるデータ密度が同じ場合には輝度信号のフィルタ位相を色差信号のフィルタ位相としても利用でき、該データ密度が異なる場合には補正量パラメータYmの小数成分だけでなく整数成分も併用することにより色差信号のフィルタ位相が算出される。
【0130】
また、YUVフォーマットにおいては、図14(c)に示されるように補正ベクトル(X,Y+Ym)の近傍から垂直方向において例えば8画素の輝度データDt等が補間用データとして利用され、上記小数成分を位相とした8タップの補間演算が実行される。なお、該補間演算により得られた結果は出力画像の輝度データや色差データとして利用され、これより垂直方向の歪みが補正される。
【0131】
次に、ステップS56において、出力データバッファ32は該補間演算により得られた画像データを出力する。ステップS57では、補間位相・入力データ座標計算部23が現時点のx座標を基に1ライン分、すなわち出力水平画素数HS分の画像データが出力されたか否かを判断し、1ライン分のデータが出力されたと判断した場合にはステップS58へ進み、1ライン分のデータが出力されていないと判断した場合にはステップS60へ進む。
【0132】
ステップS58では、補間位相・入力データ座標計算部28がx座標をSxとすると共に、y座標に垂直方向の拡大縮小パラメータVaを加算する。一方、ステップS60ではx座標に水平方向の拡大縮小パラメータHaを加算し、ステップS52へ戻る。なお、上記拡大縮小パラメータVaは、補正後の画像に対する歪みを持った原画像の垂直方向における長さの比により決定され、補正後に画像を垂直方向に拡大する場合には1より小さな値とされ、逆に縮小する場合は1より大きな値とされ、等倍の場合には1とされる。
【0133】
ステップS59では補間位相・入力データ座標計算部28がさらにy座標を基に1フレーム分、すなわち垂直ライン数(垂直画素数)分の画像データが出力データバッファ32から出力されたか否かを判断し、1フレーム分のデータが出力されたと判断した場合には動作を終了し、1フレーム分のデータが出力されていないと判断した場合にはステップS60へ進む。
【0134】
なお、以上のような垂直方向における1次元補間では、水平方向に関するデータの補間や画像の拡大・縮小を伴わないため、図14(a)に示される水平方向のスキャンにおいては毎サイクル同様な動作が繰り返される。しかしながら、補正量パラメータYmが大きいときには、画像メモリ602における格納場所に応じて然るべき補間用データを読み出す時間が大きくなる場合がある。このような場合に、データ取得部29は補間位相・入力データ座標計算部28及び画歪補正パラメータデコーダ34へ活性化された待機信号WTを供給し、待機信号WTの該活性期間において補間位相・入力データ座標計算部28及び画歪補正パラメータデコーダ34の動作を中断させる。
【0135】
以上より、垂直1次元補間部502は、歪みを持った原画像に対して垂直方向の1次元補間演算を施すことにより、垂直画歪み補正処理と垂直方向の拡大・縮小処理を同時に実現し、完全に歪みの取れた画像を生成して出力する。なお、上記垂直1次元補間による等倍変換の具体例が図15に示される。ここで、図15は輝度信号に関する変換を示すグラフであり、横軸はx座標、縦軸は補正されたy座標(Y+Ym)を示す。
【0136】
そして、図15において、y座標が0でx座標が0.0 から10.0の10個の点は補正後の画像上における点を示し、矢印は該各点に対応する原画像上の点までの補正量パラメータYmを示す。すなわち例えば、補正後の画像において座標(1.0 ,0 )の点は、補正前の原画像において座標(1.0 ,7.1 )の点に対応し、補正量パラメータが7.1 で補間位相がその小数成分0.1 とされる。
【0137】
次に、図1に示された前処理装置1500及び補正パラメータデコーダ1010について詳しく説明する。最初に、図16に示されたフローチャートを参照しつつ、前処理装置1500及び補正パラメータデコーダ1010の動作の概要を説明する。
【0138】
図16に示されるように、ステップS71では、補正パラメータエンコーダ900が補正パラメータ導出部800から全画素点の補正量ベクトルを読み込む。次に、ステップS72に示されるように、補正パラメータエンコーダ900は該全画素点の補正量ベクトルを区分毎に分割するための格子線を決定する。なお、該格子線の決定については後に詳しく説明する。
【0139】
ステップS73では、補正パラメータエンコーダ900が該格子線により分割された各区分の補正量ベクトルを圧縮して圧縮データPcとして補正パラメータデコーダ1010および歪み補正メモリ1020へ供給すると共に、ステップS74では撮像素子300が画像を撮像する。なお、補正量ベクトルの該圧縮については後に詳しく説明する。
【0140】
そして、ステップS75ではデータ変換部400が該撮像により生成されたアナログ画像信号をデジタル画像信号に変換する。ステップS76では、補正パラメータデコーダ1010は補正量パラメータの信号処理部500への読み出しに必要な格子を決定し、ステップS77において信号処理部500から供給された座標を該格子に応じて正規化する。
【0141】
次にステップS78においては、補正パラメータデコーダ1010が該格子を利用して補正パラメータエンコーダ900から供給された圧縮データPcをデコードし、得られた補正量パラメータを信号処理部500へ供給する。そして、ステップS79においては、信号処理部500が該補正量パラメータを用いて原画像に対する補間演算を施す。ここで、ステップS80において制御マイコン700が信号処理部500への原画像の入力を終了させるか否かを判断し、終了させると判断した場合には画像処理装置100の動作を終了させ、該入力を終了させないと判断した場合にはステップS74へ戻る。
【0142】
そして図17は、図1に示された補正パラメータエンコーダ900の構成を示すブロック図である。図17において、格子分割部911は画面全点のパラメータを区分毎に分割するための格子線を決定し、格子点上の歪み補正パラメータ( 歪み補正座標) を歪み補正メモリ1020に送る。また、n次多項式係数導出部902で格子分割部911において分割された各格子線分のすべての歪み補正座標を格子線分上の位置との関数で表現し、求める区分n次多項式で近似する。
【0143】
さらに、サンプル点導出部903は、n次多項式係数導出部902より得られた区分n次多項式から歪み補正パラメータの圧縮を行う。導出された区分n次多項式において、区分n 次多項式の両端をn分割した内部点を新たな歪み補正パラメータ(近似された歪み補正座標)として、歪み補正メモリ1020に送る。
【0144】
従って、区分2次多項式を例にした図18(a)(b)に示す通り、h1(x), h2(x), h3(x), h4(x)の交点は同じ歪み補正座標を持つため共有化でき、歪み補正パラメータ数を削減できる。すなわち、図18(c)に示すように共有点を考慮すると、交点と格子線分の中点のみ が歪み補正パラメータとなる。
【0145】
さらに、図19に補正パラメータエンコーダ900のフローチャートを示す。なおこのフローチャートは、先に提案した装置における動作のフローチャート(図39)を修正したものであり、図中同一符号は同一または相当部分を示す。
【0146】
すなわち、図19において、まずステップS11では、対象画面上の全ての画面に対する歪み補正座標を読み込む。そして、ステップS12では格子の分割方法に従い、画面を格子に分割する。また、ステップS13において、格子線の交点である格子点上のポイントにおける 歪み補正座標をデコードするための補正データとして歪み補正メモリに転送する。さらに、ステップS14において、格子点間に囲まれる格子線分を1つ選択する。
【0147】
そして、ステップS15において、選択された格子線分上にあたる全ての点の歪み補正座標をy軸,格子線上の距離をx軸にとり離散関数を作成して、離散関数を区分n次多項式で近似する。さらにステップS16において、近似された区分n次多項式の有効範囲をn分割し、それぞれのx値を算出する。またステップS17において、ステップS16で求めたxの座標に対応する近似された区分n次多項式のyの値を出する。
【0148】
さらに、ステップS18において、ステップS17で求めた有効範囲の両端をのぞくn−1点の値を歪み補正座標をデコードするための歪み補正パラメータとして歪み補正メモリ1020に転送する。また、ステップS19において、全ての格子線分に関して歪み補正パラメータの導出が終わっていない場合にはステップS14へ戻る。以上の方法よりエンコードする。
【0149】
以下に、区分2次多項式の場合を例にとり説明する。すなわち、n次多項式導出部902は、格子分割部911から得られた格子位置の情報により必要な歪み補正座標を補正パラメータ導出部800より受け取る。ここで区分2次多項式を用いてデコードするためには、n次多項式導出部902において区分2次多項式で最適になる点を選ぶ必要がある。
【0150】
ここで、例えば先に提案した装置の説明における図38に示すようにある格子線分を対象とする。この図38において、両端の位置と歪み補正座標をそれぞれ、(x0,h(x0)),(x2,h(x2))とする。この時に格子線分の中にある画素すべてに対して(x1,h(x1))として、以下の式よりa,b,cの係数を求める。
【0151】
すなわち、
a*x02b* x0 +c=v0
a*x12b* x1 +c=v1
a*x22b* x2 +c=v2
となる。
【0152】
従って、対象となっている線分と上記で得られた区分2次多項式とで各点での歪み補正座標の誤差を求める。ここで誤差が最も少なくなる(x1, h(x1 ))が求める点となる。そこで3点から得られるa,b,cから区分2次多項式を作成する。対象とするx軸上の点は1点であり、2等分により求める点は(x2−x0)/2 の点となる。
【0153】
すなわち、上記の点の歪み補正パラメータを近似式より求めると、
h(x1’) =a*[( x2 −x0)/2]2 +b*[( x2 −x0)/2]+c
となる。上記処理を全ての格子線分に関して実行する。このようにして、図17に示した補正パラメータエンコーダ900の処理が行われる。
【0154】
さらに、補正パラメータデコーダ1010の詳細について図20を用いて説明する。すなわち、補正パラメータデコーダ1010は、補正パラメータエンコーダ910より得られる歪み補正パラメータより画面の各点の歪み補正座標を信号処理部500の要求にしたがって復元するブロックである。
【0155】
図20において、補正パラメータデコーダ1010は補正パラメータエンコーダ910よりx,yそれぞれの方向の区分位置を示す格子情報が入力される。入力された格子情報は格子情報バッファ1001に格納される。そして、信号処理部500より歪み補正を必要とする座標(xt,yt )のリクエストを受けると、格子決定部1002にてターゲットとなる座標(xt,yt )が包含される格子を格子バッファ1001の格子位置情報と比較し算出する。
【0156】
さらに、求められた格子を囲む4つの格子線分上の歪み補正パラメータの格納されているアドレスを生成し、歪み補正メモリ1020にリード要求する。また、同時に決定された格子位置を正規化部1003に送る。正規化部1003ではターゲットとなる座標(xt,yt )と格子位置、格子情報より、囲まれた格子4線において利用する相対座標(xt’, yt’)を算出する。
【0157】
これにより、関数算出部1004では,得られた各n+1点の歪み情報を元に区分n次多項式を再構築する。また、関数変換部1005にて、歪み補正メモリ1020より受け取った関数の係数から 平面補間で利用する関数形式に変換する。さらに、平面補間部1006は関数変換部1005によって得られた平面関数の係数を用いて平面関数を作成し、それぞれの座標を正規化部1003より得て所望の歪み補正座標を計算し、計算結果を信号処理部500に送る。
【0158】
このようにして、歪み補正パラメータより画面の各点の歪み補正座標を復元する。さらに、図21に補正パラメータでコーダ1010のフローチャートを示す。なおこのフローチャートは、先に提案した装置における動作のフローチャート(図41)を修正したものであり、図中同一符号は同一または相当部分を示す。
【0159】
すなわち図21において、まずステップS21で、初期設定として格子情報を読み込む。さらにステップS22で歪み補正の要求があるまで待機(WAIT)する。そしてステップS22で歪み補正パラメータのデコード要求があった場合に、ターゲット点の座標を信号処理部500より受け取る。さらにステップS23でターゲット点の座標が含まれる格子を決定する。
【0160】
また、ステップS24でターゲット点の各格子線分の中での相対座標を求める。そしてステップS25で、格子として囲まれている4格子線分のうち1線選択し、n+1点の歪み補正パラメータを読み込む。さらに、ステップS26で読み込まれたn+1個の歪み補正パラメータより区分n次多項式を生成する。すなわち、格子として囲まれている4格子線分のうち1線分を選択し、区分n次多項式の歪み補正パラメータ(係数)を読み込む。
【0161】
さらに、ステップS27で4格子線分について処理が終わっていなければステップS25へ戻す。また、ステップS28で4つの区分n次多項式より作成される平面関数を導出する。そして、ステップS29で、平面関数を用いて、ターゲット点の歪み補正座標を導出し、次のリクエストまでステップS22にて待機(WAIT)する。以上の方法によりデコードする。
【0162】
以下に、区分2次多項式の場合を例にとり、図22及び図23を参照して説明する。すなわち、図22(a)の左に示すように、信号処理部500より得られたアドレス(xt,yt )が当てはまる格子位置を算出する。すなわち、区分2次多項式につき、各格子線分で3点ずつの歪み補正パラメータを読み出す。ただし、図22の右側の吹き出しに記載しているとおり、格子点上は共有できるので、実際は[4+(n−1)*4:n=2]の8点の読み出しとなる。
【0163】
さらに、4格子線分の各線における3点の位置と歪み補正パラメータの関係は図22(b)に示す通りになる。ここで座標x1’は2等分した中点となるので、それぞれの区分2次多項式と歪み補正パラメータは
a*x02+b*x0 +c=h(x0)
a*x22+b*x2 +c=h(x2)
a*[( x2 −x0)/2]2 +b*[( x2 −x0)/2]+c=h(x1)’
の式で表される。従って、上記のa,bおよびcを求めることで、区分2次多項式を再現する。
【0164】
すなわち、x0 を基準に正規化すると、上記の式は次になる。
x0 =0
x2 =格子幅
c=h( x0)
a*x22+b*x2 +c=h( x2)
a*[x2 /2]2 +b*[x2 /2]+c=h( x1)’
【0165】
よって、図22(c)に示すように、
a=[{2*h( x2)−4*h( x1)’ +2*h( x0)}/x22]
b=[{−h( x2)+4*h( x1)’ −3*h( x0)}/x2 ]
c=h( x0)
の区分2次多項式となる。なお、x2 は格子の幅なので、逆数、2乗の逆数は格子情報として保持可能である。
【0166】
さらに、関数変換ブロック1005で、求められた格子のそれぞれの格子線分4線(f(x),g(x),m(y),n(y) )の関数を求める。なお、a,b,c係数は上記の計算で4線とも求める。
【0167】
これにより、格子の4格子線分を用いて、ターゲットとなる点の歪み補正座標を求めるが、ここでは、それぞれの関数の係数
f(x) :afx ,bfx ,cfx
g(x) :agx ,bgx ,cgx
m(y) :amy ,bmy ,cmy
n(y) :any ,bny ,cny
を変形する。
【0168】
すなわち、
F(x) =f’(x)=2*afx *x2 +(bfx −afx )*x+cfx
G(x) =g’(x)=2*agx *x2 +(bgx −agx )*x+cgx
M(y) =m’(y)=2*amy *y2 +(bmy −amy )*y+cmy
N(y) =n’(y)=2*any *y2 +(bny −any )*y+cny
となる。
【0169】
ここで、正規化ブロック1003は、格子情報からx_t、y_tをそれぞれ、
xt’=xt −x0
yt’=yt −y0
に変換し、変換したxt、ytを上記の関数に代入する。そして、平面補間ブロック1005で、求めた新たな4関数とxt’、yt’により、ターゲット点の歪み補正座標を求める。
【0170】
すなわち、対象点の歪み補正座標Vtargetは、
Vtarget
=( 1/2) *{( 1−yt’) *F(xt’) +yt’*G(xt’)
+( 1−xt’) *N(yt’) +x_t’*M(yt’) }
で計算される。このようにして、図20に示した補正パラメータデコーダ1010の処理が行われる。なお、この様子を図23に示す。
【0171】
さらに、図24は、図2に示された画像メモリ602とデータ取得部29及びデータ補間計算部31の構成を示す図である。なお、図24は、画像処理装置2が(4×4)タップの16画素の画像データを利用した補間演算によって各画素の画像データを生成する場合の構成を示す。
【0172】
図24に示されるように、画像メモリ602はセレクタ67と、垂直タップ数より1だけ大きな5つのメモリ、すなわちAメモリ71とBメモリ72、Cメモリ73、Dメモリ74、及びEメモリ75を含み、データ取得部29は制御部80とAバッファ81、Bバッファ82、Cバッファ83、Dバッファ84、Eバッファ85、サイクル分割部560、及びセレクタ96〜99を含む。なお、サイクル分割部560はセレクタ91〜95を含む。
【0173】
ここで、データ取得部29には、上記のように垂直タップ数より1だけ多い5つのバッファ(Aバッファ81からEバッファ85)及び対応する5つのセレクタ91〜95と、垂直タップ数である4つのセレクタ96〜99が含まれることになる。
【0174】
また、データ補間計算部31は4つのレジスタ901及び乗算回路902と加算回路43を含む。
【0175】
上記において、セレクタ67はデータ補間計算部26及び制御部80に接続され、Aメモリ71とBメモリ72、Cメモリ73、Dメモリ74、及びEメモリ75はセレクタ67に接続される。
【0176】
また、制御部80は画歪補正パラメータデコーダ34に接続され、Aバッファ81はAメモリ71に接続され、Bバッファ82はBメモリ72に接続される。同様に、Cバッファ83はCメモリ73に接続され、Dバッファ84はDメモリ74に接続され、Eバッファ85はEメモリ75に接続される。
【0177】
また、セレクタ91はAバッファ81に接続され、セレクタ92はBバッファ82に接続され、セレクタ93はCバッファ83に接続される。同様に、セレクタ94はDバッファ84に接続され、セレクタ95はEバッファ85に接続される。また、セレクタ96〜99はそれぞれ5つのセレクタ91〜95に接続される。なお、セレクタ91〜99はそれぞれ制御部80により制御される。
【0178】
また、セレクタ96〜99にはそれぞれレジスタ901が接続され、各レジスタ901には乗算回路902が接続される。そして、4つの乗算回路902は一つの加算回路43が接続される。
【0179】
ここで、上記のように、データ補間計算部26により水平方向の補間処理がなされたデータは画像メモリ602へ書き込まれ、同時にデータ取得部29により画像メモリ602から取得されたデータに垂直方向の補間処理が施されるため、処理待ち時間としてのフレーム遅延を生じさせることなく画歪み補正が実行される。
【0180】
以下において、図24に示された画像メモリ602とデータ取得部29及びデータ補間計算部31の動作を詳しく説明する。まず、水平方向の補間処理がなされたデータはデータ補間計算部26から順次セレクタ67へ供給されるが、該データは制御部80により制御されるセレクタ67によってAメモリ71からEメモリ75までの5つのメモリへ振り分けられて格納される。
【0181】
そして、Aメモリ71に格納されたデータはAバッファ81を介してセレクタ91へ供給され、Bメモリ72に格納されたデータはBバッファ82を介してセレクタ92へ供給される。同様に、Cメモリ73に格納されたデータはCバッファ83を介してセレクタ93へ供給され、Dメモリ74に格納されたデータはDバッファ84を介してセレクタ94へ供給され、Eメモリ75に格納されたデータはEバッファ85を介してセレクタ95へ供給される。
【0182】
ここで、サイクル分割部560に含まれた各セレクタ91〜95は、制御部80による制御に応じて、Aバッファ81からEバッファ85へ例えば2画素単位で読み出されたデータを分割し、1サイクル毎に1画素分のデータをセレクタ96〜99へ供給する。
【0183】
そして、各セレクタ96〜99はセレクタ91〜95から供給されたデータを制御部80による制御により選択的にレジスタ901へ出力する。これより、垂直方向の補間処理に必要なタップ数である4つのデータが、選択的にデータ補間計算部31へ供給されることになる。
【0184】
さらに、レジスタ901に格納された各データは、各乗算回路902において補間係数C0〜C3との間で積がとられ、該4つの積が加算回路43で加算されることにより垂直方向の補間演算が施され、出力データバッファ32へ供給される。
【0185】
ここで、図25を参照しつつ、本発明の実施の形態に係る画像処理装置2の動作を説明する。なお、図25(a)〜(d)においては、1フレーム分の画像データが示される。
【0186】
まず図25(a)に示されるように、時刻T1から信号処理部10へ画像データが入力されると、時刻T2から水平1次元補間部501により水平方向の補間処理が施される。そして、図25(c)に示されるように、水平方向の補間処理が施された画像は時刻T2以降において、画像メモリ602に含まれたAメモリ71からEメモリ75へ順次書き込まれる。
【0187】
ここで、例えば奇数サイクルにおいて画像メモリ602からデータ取得部29へ垂直処理用のデータが読み出され、偶数サイクルにおいてデータ補間計算部26から水平処理がなされたデータが画像メモリ602へ書き込まれることによって、2サイクル周期による歪み補正処理が実行される。
【0188】
このとき、図26に示されるように、画像102における水平ラインの最大歪み曲線104における垂直方向の最大歪み量に応じたライン数分のデータDmxが画像メモリ602に格納された時刻T3から、各ラインの垂直方向における補間演算が順次実行される。従って、該補間演算における遅延時間は時刻T1から時刻T3までとされ、1フレーム分のデータに水平方向の補間処理が施される時間(フレーム遅延)を待ち時間とする必要がないため、リアルタイムに画歪み補正を実行することができる。
【0189】
また、全体として画像メモリ602は、垂直方向においては上記最大歪み量に対応したライン数と垂直処理用タップ数(例えば4タップ)を加算した数、水平方向においては信号処理部10へ入力された画像の水平方向画素数分のデータを記憶するメモリ容量を有する。なお、図24に示されたAメモリ71からEメモリ75までの5つのメモリは例えば同容量とされ、各メモリのポート幅は例えば32ビットとされる。
【0190】
ここで、画像102の領域102Pにおけるデータを画像メモリ602へ格納する方法が図27に示される。なお、図27において「A」から「E」は、それぞれ図24に示された「Aメモリ」71から「Eメモリ」75を意味する。また、上記のように各メモリのポート幅が32ビットで、1画素分のデータがY信号(輝度情報)とC信号(色差情報)を含む16ビットからなる場合には、セレクタ67は2画素分のデータを単位として該データをAメモリ71からEメモリ75へ順次格納する。
【0191】
すなわちセレクタ67は、図27に示されるように、まず0ライン目の0から23画素目までのデータをAメモリ71に格納し、次に1ライン目の0から23画素目までのデータをBメモリ72に格納する。また同様に、セレクタ67は2ライン目の0から23画素目までのデータをCメモリ73に格納し、3ライン目の0から23画素目までのデータをDメモリ74に格納し、4ライン目の0から23画素目までのデータをEメモリ75に格納する。なお、セレクタ67は、以下同様に各ラインのデータをライン毎に順次Aメモリ71からEメモリ75へ格納する。
【0192】
以下において、データ取得部29に垂直タップ数より1多い数のバッファが必要とされる理由を説明する。歪みを持った画像102を局所的に見た場合、図28(a)〜(c)のパターン1から3に示されるように、水平方向に隣接する2画素間においては画像データが垂直方向に2画素以上移動していることはない。
【0193】
すなわち、図28(a)のパターン1に示されるように水平方向に隣接する画素間で該画像データは垂直方向に全く移動しないか、図28(b)や図28(c)のパターン2やパターン3に示されるように垂直方向に1画素分移動するものの、図29(a)や図29(b)に示されるように、水平方向に隣接する画素間で該画像データが垂直方向に2画素分以上移動することはない。
【0194】
ここで、該垂直4タップ処理においては、図30に示されるように中心画素Icに対して垂直方向に隣接する3つの周辺画素Ipを含めた4画素のデータを用いてフィルタリング処理が実行される。
【0195】
このとき、図31に示されるように、画像メモリ602に含まれたAメモリ71からEメモリ75の5つのメモリは、例えばそれぞれ32ビットのポートを持つものとされ、この場合には1回のアクセスにより該各ポートを介して16ビットの画像データが2画素分出力される。
【0196】
すなわち、図31に示されるように、1回のアクセスによってAメモリ71からは各々16ビットからなる画像データIa0,Ia1が2画素単位で読み出され、Bメモリ72からは各々16ビットからなる画像データIb0,Ib1が2画素単位で読み出され、Cメモリ73からは各々16ビットからなる画像データIc0,Ic1が2画素単位で読み出される。また同様に、Dメモリ74からは各々16ビットからなる画像データId0,Id1が2画素単位で読み出され、Eメモリ75からは各々16ビットからなる画像データIe0,Ie1が2画素単位で読み出される。
【0197】
このように、隣接する2画素分の画像データを垂直方向にタップ数より1だけ多く読み出すことによって、隣接画素間の変化が図28(a)から図28(c)に示されるパターン1からパターン3までのいずれであっても、各列において同じ処理が実行される。すなわち例えば図31の斜線部に示されるように、各列において中心画素Icの1つ上の画素から2つ下の画素まで垂直方向に並ぶ4つの画素における画像データを対象としたフィルタリング処理を実行することにより、水平方向に隣接する2画素の画像データがそれぞれ生成される。
【0198】
なお、隣接画素間の該変化が図28(a)から図28(c)に示されたパターン1からパターン3のどれにあたるかは、制御部80により該フィルタリング処理前に予め識別される。
【0199】
より具体的には、制御部80が画歪補正パラメータデコーダ34から水平方向に隣接する2列における2つの中心画素Icのy座標を受け、該y座標の差に応じてセレクタ96〜99を制御することにより、図31の斜線部に示された画像データがフィルタリング処理の対象として選択的にデータ補間計算部31へ供給される。
【0200】
なお、上記においては例として4タップのフィルタリング処理を説明したが、本発明の実施の形態に係る画像処理方法は、画像メモリ602とデータ取得部29及びデータ補間計算部31をタップ数に応じた構成とし、画像メモリ602に対するデータの入出力サイクルを変更することによって4タップ以外のフィルタリング処理にも適用することができることはいうまでもない。
【0201】
また、本発明は、画像処理方法を適用した撮像装置、表示装置にも適用可能であり、表示装置においては、ミスコンバージェンス補正などへも充分に適用できる。
【0202】
以上より、本発明の実施の形態に係る画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置によれば、撮像された光学歪みを伴う画像に対して水平及び垂直方向に1次元補間演算が施され、補正ベクトルが効率的に利用されるため、静止画像だけでなくリアルタイム処理が必要な動画像に対する歪み補正が簡易な構成により実現され、歪みの無い高画質な画像を容易に得ることができる。
【0203】
また、本発明の実施の形態に係る画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置によれば、信号処理によりリアルタイムに画像の歪みを補正することができるため、レンズ設計の自由度を高めることができ、レンズの小型化やレンズの低コスト化を容易に実現することができる。
【0204】
さらに、本発明の実施の形態に係る画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置によれば、必要なメモリの容量を削減することができる。なお、本発明においては、x方向:m分割、y方向:n分割とすると、3n*m+n+m−1のメモリ削減効果が得られる。
【0205】
すなわち、k次多項式、x方向:m分割、y方向:n分割とすると、図42より、区分される格子線分n*(m+1)+m*(n+1)である。この場合に、必要な歪み補正パラメータ数は、従来の(k+1){n*(m+1)+m*(n+1)}から、本発明においては、(n+1)*(m+1)+(k−1){n*(m+1)+m*(n+1)}に削減でき、3n*m+n+m−1の削減効果を得ることができる。
【0206】
【発明の効果】
本発明に係る画像処理装置と画像処理システム及び画像処理方法によれば、低コストでリアルタイムに原画像の歪みを補正することができるため、高品質な画像を容易に得ることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る画像処理システムの構成を示すブロック図である。
【図2】図1に示された信号処理部の構成を示すブロック図である。
【図3】図2に示された信号処理部により実行される1次元補間演算の概要を説明する図である。
【図4】図2に示されたデータ補間計算部に含まれる水平処理回路の構成を示す図である。
【図5】図2に示された水平1次元補間部の動作を示す第一のフローチャート図である。
【図6】図2に示された水平1次元補間部の動作を示す第二のフローチャート図である
【図7】図5及び図6に示された動作を説明する図である。
【図8】水平1次元補間における等倍変換の一例を示す図である。
【図9】図8に示された等倍変換の動作タイミングを示すタイミング図である。
【図10】水平1次元補間における水平拡大変換の一例を示す図である。
【図11】図10に示された水平拡大変換の動作タイミングを示すタイミング図である。
【図12】図2に示された垂直1次元補間部の動作を示す第一のフローチャート図である。
【図13】図2に示された垂直1次元補間部の動作を示す第二のフローチャート図である。
【図14】図12及び図13に示された動作を説明する図である。
【図15】垂直1次元補間における垂直拡大変換の一例を示す図である。
【図16】図1に示された前処理装置及び補正パラメータデコーダの動作の概要を示すフローチャート図である。
【図17】図1に示された補正パラメータエンコーダの構成を示すブロック図である。
【図18】図17に示された格子分割部の動作の概要を説明する図である。
【図19】最適分割の方法を示す第一のフローチャート図である。
【図20】最適分割の方法を示す第二のフローチャート図である。
【図21】図19及び図20に示された動作を説明する図である。
【図22】図2に示されたx方向用の画歪補正パラメータデコーダの構成を示すブロック図である。
【図23】図22に示された補正パラメータデコーダの動作を説明する図である。
【図24】図2に示された画像メモリとデータ取得部及びデータ補間計算部の構成を示す図である。
【図25】水平1次元補間処理及び垂直1次元補間処理のタイミングを示すタイミング図である。
【図26】水平1次元補間及び垂直1次元補間を実行するために必要なメモリ容量を説明する図である。
【図27】図24に示された画像メモリへのデータ格納方法を説明する図である。
【図28】隣接画素における垂直方向の取り得る変化パターンを示す図である。
【図29】隣接画素における垂直方向の有り得ない変化パターンを示す図である。
【図30】垂直4タップ処理を説明する図である。
【図31】図24に示された画像メモリからのデータ読み出し方法を説明する図である。
【図32】従来における画像処理装置の構成を示すブロック図である。
【図33】図32に示された画像処理装置の動作の概要を示すフローチャート図である。
【図34】先に提案した画像処理システムの構成を示すブロック図である。
【図35】図34に示された補正パラメータエンコーダの構成を示すブロック図である。
【図36】図35に示された格子分割部の動作の概要を説明する図である。
【図37】図35に示された格子分割部の動作の概要を説明する図である。
【図38】図35に示された格子分割部の動作の概要を説明する図である。
【図39】画歪み補正の方法を示すフローチャート図である。
【図40】図34に示されたx方向用の画歪補正パラメータデコーダの構成を示すブロック図である。
【図41】補正パラメータデコーダの動作を説明するフローチャート図である。
【図42】図40に示された補正パラメータデコーダの動作を説明する図である。
【符号の説明】
100…画像処理装置、200…レンズ、300…撮像素子、400…データ変換部、500…信号処理部、600…画像メモリ、700…制御マイコン、800…補正パラメータ導出部、900…補正パラメータエンコーダ、902…n次多項式導出部、903…サンプル点導出部、911…格子分割部、1010…補正パラメータデコーダ、1100…記録部、1200…再生部、1300…表示系処理部、1400…メディア、1500…前処理装置、1600…同期信号生成部
【発明の属する技術分野】
本発明はビデオカメラやデジタルスチルカメラ、銀塩カメラなどに用いられる画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置に関するものである。
【0002】
【従来の技術】
従来より、ビデオカメラやデジタルスチルカメラ、あるいは銀塩カメラなどにより撮像された画像においては、撮像レンズの歪曲収差特性の影響により歪みが生じていた。ここで、高精度で高性能なレンズにおいて該歪みは目立たないが、コストが低いレンズを使用する場合や光学ズームレンズを使用する場合には、画歪みの影響を完全に回避することは難しい。
【0003】
そこで、近年、該歪みを信号処理により補正する画像処理装置が提案されてきている。図32は、従来における画像処理装置100の構成を示す。図32に示されるように従来の画像処理装置100は、レンズ200と撮像素子300、データ変換部400、信号処理部500、画像メモリ600、制御マイコン700、同期信号生成部800、補正データテーブル1000、記録部1100、再生部1200、及び表示系処理部1300とを備える。
【0004】
ここで、図33のフローチャートを参照しつつ、上記画像処理装置100の動作の概要を説明する。まずステップS1では、レンズ200及び撮像素子300を介して被写体101に対するアナログ画像信号を入力する。そして、ステップS2ではデータ変換部400で該アナログ画像信号をデジタル画像信号に変換し、画像102を生成する。
【0005】
次に、ステップS3において、信号処理部500は補正データテーブル1000に格納された歪み補正ベクトル(以下、単に「補正ベクトル」ともいう)を用いて歪んだ画像102に対し補正演算を施す。そして、ステップS4において、制御マイコン700は画像の入力を終了するか否かを判断し、終了しないと判断した場合にはステップS1へ戻る。
【0006】
以上が、図32に示された従来の画像処理装置100の動作の概要であるが、以下において該動作を詳しく説明する。
【0007】
レンズ200は被写体101からの反射光を集光して撮像素子300に写影する。また、撮像素子300はCCDやCMOSセンサなどから構成され、写影された映像をキャプチャーして、アナログの画像信号を生成する。また、データ変換部400は撮像素子300から供給された該アナログ信号をデジタルの画像信号に変換し、画像102を生成する。一方、制御マイコン700は外部のユーザインタフェースへの入力に応じて、所定の動作を命令するコマンドを発行する。
【0008】
また、信号処理部500は制御マイコン700から供給されたコマンドに応じてデータ変換部400により生成されたデジタル画像信号を画像メモリ600へ格納する。そして、信号処理部500は補正データテーブル1000に予め記録された全画素に対応する補正ベクトルを該テーブルから読み出し、該補正情報に応じて画像メモリ600から必要な画像信号を取得した後、該画像信号につき2次元補間方式による幾何学補正を実行することによって、データ変換部400から出力された画像102の歪みを補正する。
【0009】
ここで、信号処理部500において生成された画像信号は、表示系処理部1300へ供給されることにより該画像がモニタに表示され、あるいは記録部1100へ供給されることにより外部のテープやディスクあるいはメモリなどのメディア1400に記録される。また、メディア1400に記録された画像信号は、再生部1200により再生され、該再生信号が表示系処理部1300へ供給されることにより該再生画像103がモニタに表示される。
【0010】
さらに、同期信号生成部1600は、外部から供給されるクロック信号CLKに応じて内部同期信号を生成し、撮像素子300とデータ変換部400及び信号処理部500へ供給する。
【0011】
このようにして、歪みを信号処理により補正することができる。なお、同種の技術分野においては、下記の文献が公開されている。
【0012】
【特許文献1】
特開平5−172531号公報
【特許文献2】
特開平6−165024号公報
【特許文献3】
特開平6−181530号公報
【0013】
【発明が解決しようとする課題】
ところで、本願の出願人は、先に特願2002−239865号を出願している。すなわち、図34には、本願の出願人が先に出願した画像処理システムの構成を示す。なお、図中同一符号は同一または相当部分を示す。
【0014】
図34に示されるように、先の出願に係る画像処理システムは、画像処理装置100と前処理装置1500及びメディア1400を備え、画像処理装置100はレンズ200と撮像素子300、データ変換部400、信号処理部500、画像メモリ600、制御マイコン700、補正パラメータデコーダ9、同期信号生成部1600、記録部1100、再生部1200、及び表示系処理部1300とを含み、前処理装置1500は補正パラメータエンコーダ900と補正パラメータ導出部800とを含む。
【0015】
ここで、レンズ200は被写体101からの反射光を集光して撮像素子300に写影するものであって、単焦点のレンズにとどまらずズーム機能を有するものであっても良い。また、撮像素子300はCCDやCMOSセンサなどから構成され、同期信号生成部1600から供給された内部同期信号に応じて、写影された映像をキャプチャーしアナログ画像信号を生成する。
【0016】
データ変換部400は撮像素子300に接続され、同期信号生成部1600から供給された内部同期信号に応じて、撮像素子300により生成されたアナログ画像信号をデジタル画像信号に変換し画像102を生成する。信号処理部500は、制御マイコン700とデータ変換部400、画像メモリ600、補正パラメータデコーダ1010及び同期信号生成部1600に接続される。
【0017】
そして、信号処理部500は、制御マイコン700から供給されたコマンドに応じて、データ変換部400から供給されるデジタル画像信号を画像メモリ600へ格納すると共に、補正パラメータデコーダ1010から供給される補正量パラメータによって格納された該画像信号に対する補正処理を実行する。そして、信号処理部500は、該補正により得られた画像信号を表示系処理部1300及び記録部1100へ供給する。
【0018】
一方、補正パラメータ導出部800は、レンズ200の歪曲収差に関するデータなどから、全画素の各位置に応じた補正量ベクトルを予め計算する。また、補正パラメータエンコーダ900は補正パラメータ導出部800及びユーザインタフェースに接続され、ユーザインタフェースから供給された制御信号Ln,Lwに応じて、補正パラメータ導出部800から供給された補正量ベクトルを圧縮(エンコード)し、該圧縮データPcを補正パラメータデコーダ1010へ供給する。
【0019】
なお、補正パラメータ導出部800における演算及び上記エンコードは、共に非常に負荷の大きな演算となるが、別途パーソナルコンピュータ等を用いて計算すればよく、画像処理装置100によるリアルタイム処理に影響を与えるものでない。また、補正パラメータエンコーダ900から供給される圧縮データPc等の情報は、歪み補正メモリ1020にも格納され、実際の補正パラメータデコーダ1010での処理においては、歪み補正メモリ1020に格納された情報が使用される。
【0020】
さらに、制御マイコン700はユーザインタフェースからの制御信号に応じて、所定の動作を命令するコマンド等を信号処理部500へ出力すると共に、レンズ200の位置情報などを補正パラメータデコーダ1010へ供給する。
【0021】
補正パラメータデコーダ1010は、補正パラメータエンコーダ900、歪み補正メモリ1020と制御マイコン700及び信号処理部500に接続される。そして、補正パラメータデコーダ1010は、制御マイコン700から供給された情報等に応じて、補正パラメータエンコーダ900または歪み補正メモリ1020から供給されたエンコードされた圧縮データPcを各画素に対応した補正量パラメータに伸長(デコード)し、該補正量パラメータを信号処理部500へ供給する。
【0022】
また、記録部1100は信号処理部500に接続され、信号処理部500により生成された画像信号をテープやフレキシブルディスク、DVD(デジタル多用途ディスク)、ハードディスク、メモリなどのメディア(記録媒体)1400に記録する。なお、信号処理部500により生成された画像信号は、インターネットやワイヤレス通信等を用いてメディア1400に記録されるようにすることもできる。
【0023】
また、再生部1200はメディア1400に接続され、メディア1400に格納された画像信号を再生して表示系処理部1300へ供給する。表示系処理部1300は信号処理部500及び再生部1200に接続され、信号処理部500又は再生部1200から供給された画像信号をモニタに表示する。
【0024】
なお、同期信号生成部800は外部から供給されたクロック信号CLKに応じて内部同期信号を生成し、撮像素子300とデータ変換部400及び信号処理部500へ供給する。
【0025】
さらに、補正パラメータエンコーダ900の詳細について図35を用いて説明する。図35において、格子分割部901は全画面の歪み補正座標の分割方法を決定する。また、n次多項式係数導出部902で格子分割部901において分割された各格子線分のすべての歪み補正座標を格子線分上の位置との関数で表現し、求める区分n次多項式で近似する。なお、歪み補正パラメータは歪み補正処理を行うための保持されるデータである。
【0026】
ここで、n次多項式は、
F(x) =a(n) *xn +a(n−1)*x(n−1) +a(n−2) *x(n−2) ・・・+a(0)
で表される式であり、区分n次多項式とはある有効範囲で区切られた区間のみをn次多項式で表したものである。また、格子線分とは互いの格子線で区切られた格子線(格子点間の線分)である。
【0027】
なお、参考として、分割方法について図36、図37を用いて示す。すなわち、格子分割する場合には、図36(a)に示すように画面分割の対象として画面全体を利用する方法と、レンズの歪みが点対象であることを利用して、図36(b)に示すように画面の1/4のみを利用する方法があり、これらは歪みの特性によって選択される。
【0028】
また、格子に分割する方法は主に3通りが提案されている。すなわち、1通り目の均等分割法は、図37の右上に示すように中心から端までの距離を分割数に応じて均等に分けるものである。また、2通り目の2のべき乗分割法は、図37右中段に示すように中心から端までの距離を2 のべき乗ごとに分割するものである。なお、この方法2のべき乗分割法は演算処理の軽減することができる。
【0029】
さらに、3通り目の最適値分割法は、図37の左上に示す図形の歪みのもっとも大きい画面の上端及び右端の歪み補正座標を利用し図37の右下に示すように歪み補正座標をY軸、中心からの距離をX軸にした関数h(x) を作成し、作成された関数を、区分n次多項式を用いてh(x) と区分n次多項式との誤差がもっとも小さくなる分割位置を探索する。
【0030】
なお、n次多項式算出の方法については、図38に区分2次多項式を例に参考として示す。すなわち、図38( a) に示すように1つの格子線分を選択する。ここでx1 =x0 +1として、(x0 ,h(x0))、(x1 ,h(x1))、(x2 ,h(x2))の3点を通る区分2次多項式を算出する。ここでは、図38( b) 、図38( c) に示すように、選択した格子線分の両端x0 、x2 間において、x0 からx2 に対してx1 を1ずつずらしていき、x2 −1の点まで上記の算出を行う。このようにして、全ての区分2次元多項式の中で元の関数との誤差がもっとも小さい区分2次元多項式を算出する。さらに、図38( d) に示す全ての格子線分に関して上記処理を行う。
【0031】
従って、パラメータエンコーダ900のフローチャートは、図39に示すようになる。まずステップS11では、対象画面上の全ての画面に対する歪み補正座標を読み込む。そして、ステップS12では格子の分割方法に従い、画面を格子に分割する。また、ステップS14において、格子点間に囲まれる格子線分を1つ選択する。
【0032】
そして、ステップS15において、選択された格子線分上にあたる全ての点の歪み補正座標をy軸、格子線上の距離をx軸にとり離散関数を作成して、離散関数を区分n次多項式で近似する。さらに、ステップS18において、区分n次多項式の係数n個をデコードするための歪み補正パラメータとして歪み補正メモリ1020に転送する。また、ステップS19において、全ての格子線分に関して歪み補正パラメータの導出が終わっていない場合にはステップS14へ戻る。
【0033】
このようにして、求められた近似式である区分n次多項式の係数を歪み補正パラメータとして、歪み補正メモリ1020に格納する。また、格子情報は補正パラメータデコーダ1000内部の格子情報バッファ1001に格納される。
【0034】
さらに補正パラメータデコーダ1000は、補正パラメータエンコーダ900で得られる歪み補正パラメータにより、画面の各点の歪み補正座標を、信号処理部500の要求にしたがって復元するブロックである。図40を用いて補正パラメータデコーダ1000の詳細について説明する。
【0035】
図40において、補正パラメータデコーダ1000には、補正パラメータエンコーダ900からX、Yそれぞれの方向の区分位置を示す格子情報が入力される。入力された格子情報は格子情報バッファ1001に格納される。そして、信号処理部500より歪み補正を必要とする座標(xt,yt )のリクエストを受けると、格子決定部1002にて,ターゲットとなる座標(xt,yt )が包含される格子を格子情報バッファ1001の格子位置情報と比較し算出する。
【0036】
さらに、求めれた格子を囲む4つの格子線分である区分n 次多項式の各係数の格納されているアドレスを生成し、歪み補正メモリ1020にリード要求する。同時に決定された格子位置を正規化部1003に送る。正規化部1003では、ターゲットとなる座標(xt,yt )と格子位置、格子情報より、囲まれた格子4線において利用する相対座標(xt’, yt’)を算出する。
【0037】
また、関数変換部1005にて、歪み補正メモリ1020より受け取った関数の係数から平面補間で利用する関数形式に変換する。さらに、平面補間部1006は関数変換部1005によって得られた平面関数の係数を用いて平面関数を作成し、それぞれの座標を正規化部1003より得て所望 の歪み補正座標を計算する。そして、計算結果を信号処理部500に送る。
【0038】
従って、補正パラメータデコーダ1000のフローチャートは、図41に示すようになる。すなわち、まずステップS21で、初期設定として格子情報を読み込む。さらにステップS22で歪み補正の要求があるまで待機(WAIT)する。
【0039】
そしてステップS22で歪み補正パラメータのデコード要求があった場合に、ターゲット点の座標を信号処理部500より受け取る。さらにステップS23でターゲット点の座標が含まれる格子を決定する。またステップS24でターゲット点の各格子線分の中での相対座標を求める。そしてステップS25で、格子として囲まれている4格子線分のうち1線分を選択し、区分n次多項式の歪み補正パラメータ(係数)を読み込む。
【0040】
また、ステップS27で4格子線分について処理が終わっていなければステップS25へ戻す。さらに、ステップS28で4つの区分n次多項式より作成される平面関数を導出する。そして、ステップS29で、平面関数を用いて、ターゲット点の歪み補正座標を導出し、次のリクエストまでステップS22にて待機(WAIT)する。
【0041】
なお、ターゲット点とは、信号処理部500において歪み補正を行う対象の画素である。また、歪み補正座標は各点で異なるため、全てをレジスタで保持するか、レンズ用の関数より回路規模の大きい演算を多用することで得ることができる。
【0042】
ところが上述の装置においては、メモリ容量が大きく、リアルタイム処理が困難という問題がある。すなわち、メモリ容量が大きいためにハードウェア規模が大きく、低消費電力化が困難であり、コストがかかる。また、光学ズーム位置が変動する場合や、レンズ交換等撮像レンズの歪曲収差の特性が変わった場合に対応が困難という問題点がある.
【0043】
本発明の目的は、このような問題点を解消することができる画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置を提供することにある。
【0044】
【課題を解決するための手段】
本発明においては、格子分割手段で決定した格子位置を利用し、格子の交差位置及びパラメータ導出手段より得られたデータを利用して演算に必要なデータを圧縮するようにしたものである。これによれば、必要なメモリの容量を削減することができる。なお、本発明においては、x方向:m分割、y方向:n分割とすると、3n*m+n+m−1のメモリ削減効果が得られる。
【0045】
すなわち、k次多項式、x方向:m分割、y方向:n分割とすると、図42より、区分される格子線分n*(m+1)+m*(n+1)である。この場合に、必要な歪み補正パラメータ数は、従来の(k+1){n*(m+1)+m*(n+1)}から、本発明においては、(n+1)*(m+1)+(k−1){n*(m+1)+m*(n+1)}に削減でき、3n*m+n+m−1の削減効果を得ることができる。
【0046】
【発明の実施の形態】
以下において、本発明の実施の形態を図面を参照しつつ詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
【0047】
図1は、本発明の実施の形態に係る画像処理システムの構成を示すブロック図である。ただしこの図1に示されるハードウェアの構成は、上述の本願の出願人が先に提案した画像処理システムの構成(図34)と全く同じである。また、本発明の画像処理装置は主にソフトウェアによって実現されたものであるが、以下の説明では機能ブロックに置き換えて説明する。
【0048】
図1に示されるように、本発明の実施の形態に係る画像処理システムは、画像処理装置100と前処理装置1500及びメディア1400を備え、画像処理装置100はレンズ200と撮像素子300、データ変換部400、信号処理部500、画像メモリ600、制御マイコン700、補正パラメータデコーダ9、同期信号生成部1600、記録部1100、再生部1200、及び表示系処理部1300とを含み、前処理装置1500は補正パラメータエンコーダ900と補正パラメータ導出部800とを含む。
【0049】
ここで、レンズ200は被写体101からの反射光を集光して撮像素子300に写影するものであって、単焦点のレンズにとどまらずズーム機能を有するものであっても良い。また、撮像素子300はCCDやCMOSセンサなどから構成され、同期信号生成部1600から供給された内部同期信号に応じて、写影された映像をキャプチャーしアナログ画像信号を生成する。
【0050】
データ変換部400は撮像素子300に接続され、同期信号生成部1600から供給された内部同期信号に応じて、撮像素子300により生成されたアナログ画像信号をデジタル画像信号に変換し画像102を生成する。信号処理部500は、制御マイコン700とデータ変換部400、画像メモリ600、補正パラメータデコーダ1010及び同期信号生成部1600に接続される。
【0051】
そして、信号処理部500は、制御マイコン700から供給されたコマンドに応じて、データ変換部400から供給されるデジタル画像信号を画像メモリ600へ格納すると共に、補正パラメータデコーダ1010から供給される補正量パラメータによって格納された該画像信号に対する補正処理を実行する。そして、信号処理部500は、該補正により得られた画像信号を表示系処理部1300及び記録部1100へ供給する。
【0052】
一方、補正パラメータ導出部800は、レンズ200の歪曲収差に関するデータなどから、全画素の各位置に応じた補正量ベクトルを予め計算する。また、補正パラメータエンコーダ900は補正パラメータ導出部800及びユーザインタフェースに接続され、ユーザインタフェースから供給された制御信号Ln,Lwに応じて、補正パラメータ導出部800から供給された補正量ベクトルを圧縮(エンコード)し、該圧縮データPcを補正パラメータデコーダ1010へ供給する。
【0053】
なお、補正パラメータ導出部800における演算及び上記エンコードは、共に非常に負荷の大きな演算となるが、別途パーソナルコンピュータ等を用いて計算すればよく、画像処理装置100によるリアルタイム処理に影響を与えるものでない。また、補正パラメータエンコーダ900から供給される圧縮データPc等の情報は、歪み補正メモリ1020にも格納され、実際の補正パラメータデコーダ1010での処理においては、歪み補正メモリ1020に格納された情報が使用される。
【0054】
さらに、制御マイコン700はユーザインタフェースからの制御信号に応じて、所定の動作を命令するコマンド等を信号処理部500へ出力すると共に、レンズ200の位置情報などを補正パラメータデコーダ1010へ供給する。
【0055】
補正パラメータデコーダ1010は、補正パラメータエンコーダ900、歪み補正メモリ1020と制御マイコン700及び信号処理部500に接続される。そして、補正パラメータデコーダ1010は、制御マイコン700から供給された情報等に応じて、補正パラメータエンコーダ900または歪み補正メモリ1020から供給されたエンコードされた圧縮データPcを各画素に対応した補正量パラメータに伸長(デコード)し、該補正量パラメータを信号処理部500へ供給する。
【0056】
また、記録部1100は信号処理部500に接続され、信号処理部500により生成された画像信号をテープやフレキシブルディスク、DVD(デジタル多用途ディスク)、ハードディスク、メモリなどのメディア(記録媒体)1400に記録する。なお、信号処理部500により生成された画像信号は、インターネットやワイヤレス通信等を用いてメディア1400に記録されるようにすることもできる。
【0057】
また、再生部1200はメディア1400に接続され、メディア1400に格納された画像信号を再生して表示系処理部1300へ供給する。表示系処理部1300は信号処理部500及び再生部1200に接続され、信号処理部500又は再生部1200から供給された画像信号をモニタに表示する。
【0058】
なお、同期信号生成部800は外部から供給されたクロック信号CLKに応じて内部同期信号を生成し、撮像素子300とデータ変換部400及び信号処理部500へ供給する。
【0059】
さらに、図2は、図1に示された信号処理部500の構成を示すブロック図である。図2に示されるように、信号処理部500は水平1次元補間部501と垂直1次元補間部502とを含む。なお、画像メモリ600は水平処理用FIFOメモリからなる画像メモリ601と垂直処理用ラインバッファからなる画像メモリ602とを含み、補正パラメータデコーダ1010はx方向用の画歪補正パラメータデコーダ33とy方向用の画歪補正パラメータデコーダ34とを含む。
【0060】
なお、画像メモリ602は垂直方向の歪み補正を実現するために必要な最小限のライン数分に渡るデータを格納できるだけの容量を有するものとされるが、この点については後述する。また、通常上記容量は、出力データバッファ32に供給される出力同期信号の周波数に応じて決定される。
【0061】
そして、水平1次元補間部501はデータ書き込み部21と演算制御部22、補間位相・入力データ座標計算部23、データ取得部24、補間係数生成部25、及びデータ補間計算部26を含み、垂直1次元補間部502は演算制御部27と補間位相・入力データ座標計算部28、データ取得部29、補間係数生成部30、データ補間計算部31、及び出力データバッファ32を含む。
【0062】
ここで、データ書き込み部21はデータ変換部400に接続され、演算制御部22は同期信号生成部800に接続される。また、補間位相・入力データ座標計算部23は演算制御部22及び制御マイコン700に接続され、データ取得部24は補間位相・入力データ座標計算部23と画像メモリ601及び画歪補正パラメータデコーダ33に接続される。また、補間係数生成部25は画歪補正パラメータデコーダ33に接続され、データ補間計算部26はデータ取得部24及び補間係数生成部25に接続される。
【0063】
なお、画像メモリ601はデータ書き込み部21及びデータ取得部24に接続され、画像メモリ602はデータ補間計算部26及びデータ取得部29に接続される。また、画歪補正パラメータデコーダ33は補間位相・入力データ座標計算部23及びデータ取得部24に接続される。
【0064】
一方、演算制御部27は同期信号生成部1600に接続され、補間位相・入力データ座標計算部28は演算制御部27及び制御マイコン700に接続される。また、データ取得部29は補間位相・入力データ座標計算部28と画像メモリ602及び画歪補正パラメータデコーダ34に接続され、補間係数生成部30は画歪補正パラメータデコーダ34に接続される。また、データ補間計算部31はデータ取得部29及び補間係数生成部30に接続され、出力データバッファ32はデータ補間計算部31及び同期信号生成部1600に接続される。
【0065】
なお、出力データバッファ32の出力ノードは表示系処理部1300及び記録部1100に接続される。また、画歪補正パラメータデコーダ34は補間位相・入力データ座標計算部28に接続される。
【0066】
上記のような構成を有する信号処理部500では、まず水平1次元補間部501が水平方向(x方向)の1次元補間演算を実行し、続いて垂直1次元補間部502が垂直方向(y方向)の1次元補間演算を実行する。ここで、信号処理部500による該演算の概要を、図3を参照しつつ説明する。なお、図3においては、x及びy方向にそれぞれ4つ並んだ(4×4)合計16個からなる画像データを用いて出力画像の各点の画像データが決定される場合が例示される。
【0067】
そして、図3(a)はx方向の補正により、歪みを伴う原画像を構成する点B1〜B4に対応してそれぞれ点B10〜B40の画像データが算出されたことを示し、図3(b)はさらにy方向の補正により、点B10〜B40に対応して点b1〜b4の画像データが算出されたことを示す。
【0068】
より具体的には、例えば水平方向に連続した点B1を跨ぐ4つの格子点の画像データに所定の補間演算を施すことにより点B10の画像データが算出され、同様に点B2〜B4に対応してそれぞれ点B20〜B40の画像データが算出される。
【0069】
次に、図3(b)に示されるように、例えば点B30に対しては、垂直方向に連続した点B30を跨ぐ破線内の4つの格子点(点K20〜K23)における画像データに所定の補間演算を施すことにより点b3の画像データが算出される。また同様に、点B10,B20,B40に対応してそれぞれ点b1,b2,b4の画像データが算出される。
【0070】
ここで、上記のような水平方向における1次元補間演算は、データ補間計算部26に含まれる図4に示された水平処理回路40により実現される。図4に示されるように水平処理回路40は、ラインメモリ1900と、ラインメモリ1900の出力ノードに直列接続された4つのレジスタ1901と、各レジスタ1901から出力されたデータと対応する補間係数CHk(k=0〜3)とを乗算する4つの乗算回路1902と、4つの乗算回路1902により得られたデータを加算する加算回路1903とを含む。
【0071】
なお、上記のような垂直方向における1次元補間演算は後述する図25に示された回路により実現されるが、これについては後に詳しく説明する。
【0072】
次に、図2に示された信号処理部500の動作の概要を説明する。まずデータ変換部400から水平1次元補間部501へ入力された画像データは、データ書き込み部21によって書き込み制御信号と共に画像メモリ601へ供給され、該書き込み制御信号に応じて画像メモリ601に書き込まれる。
【0073】
このとき、データ取得部24は読み出し制御信号を水平処理用の画像メモリ601へ供給することにより、画歪補正パラメータデコーダ33から供給されるx方向用の補正量パラメータXmに応じて、画像メモリ601から水平方向に並ぶ画像データを補間用データとして取得する。
【0074】
そして、データ補間計算部26が補間係数生成部25から供給された補間係数を用いて水平方向の1次元補間演算を実行し、垂直処理用の画像メモリ602が該演算結果を格納する。
【0075】
次に、垂直1次元補間部502では、データ取得部29が画歪補正パラメータデコーダ34から供給されるy方向用の補正量パラメータYmに応じて、垂直処理用の画像メモリ602から垂直方向に並ぶ画像データを補間用データとして取得する。そして、データ補間計算部31が補間係数生成部30から供給された補間係数を用いて垂直方向の1次元補間演算を実行し、出力データバッファ32は出力同期信号に応じて該演算結果を出力する。
【0076】
なお、上記のように、水平1次元補間部501及び垂直1次元補間部502により実行される補間演算は1次元補間演算とされるため、キュービック補間のような4タップのフィルタ、又はより高次タップ数のフィルタを用いることができる。
【0077】
すなわち、1次元補間演算は上記のように簡易な回路により実現されるため、2次元補間演算では難しい高次タップのフィルタによる演算が容易に実現できることから、より高画質な画像を得ることができる。なお、一般的な画素数変換回路などは1次元補間を実行する回路とされているため、既存の該回路を上記演算に共用しても良い。
【0078】
また、上記においては、水平方向の1次元補間演算を実行した後に垂直方向の1次元補間演算を実行する実施の形態を説明したが、逆に垂直方向の1次元補間演算を先に実行し、その後に水平方向の1 次元補間演算を実行するようにしても良い。なお、この場合にはデータ変換部400から出力される画像データは垂直1 次元補間部502へ入力され、垂直1次元補間演算が施された後に一旦水平処理用の画像メモリ601へ格納される。そして、このように画像メモリ601に格納された画像データは、さらに水平1 次元補間部501により水平1次元補間演算が施され、完全に歪みが補正されて信号処理部500の外部へ出力される。
【0079】
また、上記における演算処理は1系統のデータに適用するのみならず、色信号(RGB,YUV)に対して系統毎に適用しても良い。さらに、動画像に対して該補間演算を施す場合には、垂直同期信号に同期して該演算を実行すれば良い。
【0080】
ところで、ビデオカメラやデジタルスチルカメラなどの撮像装置では、いわゆる光学ズーム機能や手ぶれ補正機能が搭載されることが多い。ここで、上記機能により光学ズームを行うと、テレ(ズームアップ)かワイド(ズームダウン)かに応じてレンズの歪み特性が変動する。すなわち、一般的に、ワイドの向きにレンズ200が移動すると画像に樽歪みが生じ、テレの向きにレンズ200が移動すると画像に糸巻き型の歪みが発生する。
【0081】
このとき、該光学ズームに応じた適切な補正ベクトルにより該画像が補正されないときは画質が劣化するため、補正パラメータデコーダ1010はレンズの位置に応じた最適な補正量パラメータを選択するものとされる。
【0082】
具体的には、補正パラメータデコーダ1010は制御マイコン700からレンズ200の位置を示す情報を受け取り、補正パラメータエンコーダ900から供給された圧縮データPcを該位置情報に応じて選択的にデコードする。
【0083】
このように、図1に示された画像処理装置100によれば、レンズ200の特性が変動するような場合においても、該特性に応じてデコードされた補正量パラメータのみが補間演算に使用されるため、該演算に使用されるデータ量を最小限に抑えることができ、その結果として製造コストを低減することができる。
【0084】
次に、上記手ぶれ補正機能について説明する。一般的に、手ぶれによる画像の歪みを補正する方法には、アクティブプリズム方式やアクティブレンズ方式のようにレンズ等の位置を制御して該画像を光学的に補正する方法と、アクティブイメージエリア方式のように得られた画像信号に所定の処理を施すことにより電気的に補正する方法とがある。
【0085】
ここで、光学的な補正方法はレンズ200の位置に応じてレンズ特性が変動することから、本発明の実施の形態に係る画像処理装置100で実現するのは難しい。
【0086】
一方、上記の電気的な補正方法は、角速度センサ等により検知された手ぶれ位置の情報に基づいて、画像全体から一部(有効エリア)の画像を切り出す信号処理により実現される。このとき、該有効エリアの位置等に応じて画像処理の対象が変化するため、該対象に応じて補間演算を施す際に使用する補正ベクトルを変更する必要がある。
【0087】
そこで、補正パラメータデコーダ1010はさらに、制御マイコン700から手ぶれ位置の情報を受け取り、補正パラメータエンコーダ900から供給された圧縮データPcを該位置情報に応じて選択的にデコードすることによって、手ぶれ補正を実現する。
【0088】
なお、本実施の形態に係る画像処理装置100では、レンズ200を交換したような場合にも同様に、補正パラメータデコーダ1010が該新たなレンズ200等に応じて選択的に該圧縮データPcをデコードすることとすれば、部品交換後においても容易に高画質の画像を得ることができる。
【0089】
次に、図5及び図6のフローチャートを参照しつつ、図2に示された水平1次元補間部501の動作を詳しく説明する。まず、演算制御部22は、同期信号生成部800から供給される内部同期信号に応じて制御タイミング信号を生成する。そして、補間位相・入力データ座標計算部23は、演算制御部22から供給された制御タイミング信号に応じて動作し、信号処理部500に入力された画像に歪みがない場合における座標系での補間点の座標を小数点付きで計算する。
【0090】
具体的には、ステップS31において補間位相・入力データ座標計算部23は、図7(a)に示されるように歪み補正され等倍変換された画像上の座標(x,y)として、切り出した画像CIの左上の座標(Sx,Sy)を初期設定し、画歪補正パラメータデコーダ33へ補正パラメータ要求信号Rxを供給する。一方、ステップS32において、画歪補正パラメータデコーダ33は供給された補正パラメータ要求信号Rx及び該座標(Sx,Sy)に対応する補正量パラメータXmを求め、データ取得部24及び補間係数生成部25へ供給する。
【0091】
ここで画歪補正パラメータデコーダ33は、例えばROM(Read Only Memory)を内蔵し、該ROMにx座標と補正量パラメータXmとの間の対照テーブルを予め格納しておくようにしても良いし、補正量パラメータXmをx座標のある関数として近似し、該関数を用いて補正量パラメータXmを求めても良いが、後に詳しく説明する。
【0092】
次に、ステップS33において、データ取得部24は補間位相・入力データ座標計算部23から供給された座標(X,Y)に、画歪補正パラメータデコーダ33から供給された補正量パラメータXmに応じた補正量ベクトル(Xm,0)を加える。これより、図7(b)に示されるように、補正前の原画像OIにおいて上記座標(X,Y)に対応する点の座標(X+Xm,Y)、すなわち補正ベクトルが求められたことになる。
【0093】
なお、データ取得部24の替わりに、画歪補正パラメータデコーダ33が補間位相・入力データ座標計算部23から供給されたx座標に応じて上記補正ベクトルを求め、該補正ベクトルをデータ取得部24へ供給するようにしても良い。
【0094】
このとき、データ取得部24はx座標の整数値がXmを加えることで変化したか否かを判断し、変化したと判断した場合にはステップS35へ進み、変化していないと判断した場合にはステップS36へ進む。
【0095】
ステップS35では、データ取得部24が、さらに該整数値は2以上変化したか否かを判断し、2以上変化したと判断した場合にはステップS38へ進み、1のみ変化したと判断した場合にはステップS37へ進む。一方、ステップS36では、画像メモリ601がデータ取得部24から供給されたホールド信号Shに応じて、前サイクルに出力したものと同じ補間用データを再度データ取得部24へ供給する。
【0096】
上記において、データ取得部24は生成された補正ベクトルのx成分(X+Xm)の整数値に応じて画像メモリ601から読み出すべきデータのアドレスを生成し、読み出し制御信号を画像メモリ601に供給することによって該アドレスに応じた補間用データを取得する。
【0097】
ここで、画像メモリ601は先頭アドレスからアドレスを1ずつインクリメントしつつ該アドレスに応じた補間用データを順次出力すると共に、データ取得部24からホールド信号Shが供給されることによって、上記インクリメントを一時的に停止する。
【0098】
なお、画像メモリ601はデータ取得部24から読み出し開始アドレスを受け取り、該読み出し開始アドレスを上記先頭アドレスとした所定数の連続データを出力するものであっても良い。
【0099】
ここで、上記ホールド信号Sh及び読み出し開始アドレスは、画歪補正パラメータデコーダ33から出力される補正量パラメータXmの整数成分から求められる。
【0100】
一方、補間係数生成部25は、画歪補正パラメータデコーダ33から供給される補正量パラメータXmの小数成分を水平補間フィルタの位相として扱い、該小数成分に応じて補間係数を生成する。なお、このような動作は、信号処理部10に入力される画像102がRGBフォーマットの場合に適用される。一方、YUVフォーマットの場合には輝度信号Yのフィルタ位相はRGBフォーマットのフィルタ位相と同じように扱うことができ、色差信号Cb/Crについては、補正量パラメータXmの小数成分だけでなく整数成分も併用して該位相を算出することができる。
【0101】
そして、ステップS37においてデータ補間計算部26は、データ取得部24から供給された補間用データと上記補間係数とに応じて1次元補間演算を実行し、ステップS39へ進む。
【0102】
ここで、上記の1次元補間演算では、例えばYUVフォーマットにおいては、図7(c)に示されるように補正ベクトル(X+Xm,Y)の近傍から水平方向において8画素の輝度データDtが補間用データとして利用され、上記小数成分を位相とした8タップの補間演算が実行される。なお、該補間演算により得られた結果は出力画像の輝度データ等として利用され、これより水平方向の歪みが補正される。
【0103】
一方、ステップS38ではデータ取得部24が補間位相・入力データ座標計算部23と画歪補正パラメータデコーダ33及びデータ補間計算部26へスキップ信号skを供給し、これら補間位相・入力データ座標計算部23と画歪補正パラメータデコーダ33及びデータ補間計算部26の動作を停止させる。
【0104】
ここで、ステップS35においてx座標が2以上変化したと判断される場合は、実際に補間演算する中心座標が2画素以上移動する場合を意味するため、データ補間計算部26による画像メモリ602へのデータ出力が中断される。また、実際に補間演算する中心座標が2画素以上移動する場合は、画歪補正パラメータデコーダ33から出力される補正量パラメータXmの小数成分(補間位相)は次サイクルまで保持されることから、画歪補正パラメータデコーダ33の動作が停止される。
【0105】
そして、ステップS43では、補間位相・入力データ座標計算部23がx座標に水平方向の拡大縮小パラメータHaを加算し、ステップS32へ進む。なお、この拡大縮小パラメータHaは、補正後の画像に対する歪みを持った原画像の水平方向における長さの比により決定され、補正後に画像を水平方向に拡大する場合には1より小さな値とされ、逆に縮小する場合は1より大きな値とされ、等倍の場合には1とされる。
【0106】
ステップS39ではデータ補間計算部26が、得られた画像データを垂直処理用ラインバッファからなる画像メモリ602へ格納する。そして、ステップS40では補間位相・入力データ座標計算部23が現時点のx座標を基に1ライン分、すなわち出力水平画素数HS分の画像データが画像メモリ602へ出力されたか否かを判断し、1ライン分のデータが出力されたと判断した場合にはステップS41へ進み、1ライン分のデータが出力されていないと判断した場合にはステップS43へ進む。
【0107】
ステップS41では補間位相・入力データ座標計算部23がx座標をSxとすると共に、y座標に1を加える。そして、ステップS42では補間位相・入力データ座標計算部23がさらにy座標を基に1フレーム分、すなわち出力垂直ライン数分の画像データが画像メモリ602へ出力されたか否かを判断し、1フレーム分のデータが出力されたと判断した場合には動作を終了し、1フレーム分のデータが出力されていないと判断した場合にはステップS43へ進む。
【0108】
以上より、水平1次元補間部501は、歪みを持った原画像に対して水平方向の1次元補間演算を施すことにより、水平画歪み補正処理と水平方向の拡大・縮小処理を同時に実現し、得られた画像を垂直処理用の画像メモリ602に保存する。
【0109】
なお、上記水平1次元補間による等倍変換の具体例が図8に示される。ここで、図8は輝度信号に関する変換を示し、図8(a)は信号処理部500に入力された補間用データD0〜D9、図8(b)及び図8(f)は補正量パラメータXm、図8(c)及び図8(d)はそれぞれ補正後の画像を構成するデータのサンプリング位置及び番号を示す。
【0110】
また、図8(e)は補間位相・入力データ座標計算部23から画歪補正パラメータデコーダ33へ供給されるx座標(xt)を示し、図8(g)はデータ取得部24により生成される補正ベクトルのx座標(補正パラメータ)、図8(h)は補正前の画像における補間用データのアドレス、図8(i)は補間位相をそれぞれ示す。
【0111】
例えば、図8に示されるように、補正後の画像においてx座標が2.0 の点に位置するデータの補正量パラメータXmは1.25とされる。その結果、補正前の画像における該点の対応点のx座標は、該2.0 に補正量パラメータXmを加算して3.25と求められる。このとき、該x座標(3.25)の整数成分(3)が補正前の画像における該データのアドレスを示し、0.25が補間位相を示す。従って、補正後の画像におけるx座標が2.0 の点の輝度信号は、補正前の画像において3近傍のxアドレスを有する複数の連続データを対象とし、水平補間フィルタの位相を0.25とした1 次元補間演算により求められることになる。
【0112】
図9は、図8に示された等倍変換の動作タイミングを示すタイミング図である。ここで、図9(a)は演算制御部22に供給される内部同期信号を示し、図9(b)は演算制御部22により生成される制御タイミング信号、図9(c)はデータ取得部24から画像メモリ601に供給される読み出し制御信号、図9(d)は画像メモリ601からデータ取得部24へ入力される補間用データ、図9(e)は補間位相・入力データ座標計算部23から画歪補正パラメータデコーダ33へ供給されるx座標(xt)をそれぞれ示す。
【0113】
また、図9(f)は画歪補正パラメータデコーダ33から出力される補正量パラメータXmを示し、図9(g)はデータ取得部24により生成される補正パラメータ、図9(h)は補正前の画像における補間用データのアドレス、図9(i)は補間位相、図9(j)及び図9(k)はそれぞれデータ取得部24により生成されるスキップ信号sk及びホールド信号Sh、図9(l)は画像メモリ601から読み出される2タップのデータ、図9(m)はデータ補間計算部26から画像メモリ602へ出力されるデータ、図9(n)はデータ補間計算部26で内部生成される出力イネーブル信号をそれぞれ示す。なお、ここでは説明を簡略化するために、一つのデータを得るための補間演算においては、図9(l)に示される2タップのデータが使用されるものとする。
【0114】
図9(b)に示されるように、時刻T1において制御タイミング信号が内部同期信号に応じてハイレベルに活性化されると、図9(e)に示されるように補間位相・入力データ座標計算部23は0.0 から1.0 づつインクリメントされるx座標(xt)を順次画歪補正パラメータデコーダ33へ供給する。
【0115】
これより、図9(f)に示されるように画歪補正パラメータデコーダ33は対応する補正量パラメータXmを求め、その後にデータ取得部24は図9(g)に示される補正パラメータを算出する。ここで、図9(h)に示されるように、データ取得部24は該補正パラメータの整数成分から補正前の画像における補間用データの先頭アドレスを0と特定する。そして、図9(c)及び図9(d)に示されるように、データ取得部24は活性化された読み出し制御信号と共に、上記のように特定されたアドレス0を画像メモリ601へ供給する。
【0116】
これより、図9(d)に示されるように、画像メモリ601は該先頭アドレス0に対応するデータD0から順次補間用データをデータ取得部24へ連続的に出力する。
【0117】
また、図9(g)及び図9(j)に示されるように、時刻T2においてデータ取得部24は補正パラメータの整数成分が2以上増加したと判断すると、ハイレベル(H)のスキップ信号skを生成して補間位相・入力データ座標計算部23とデータ補間計算部26及び画歪補正パラメータデコーダ33へ供給する。この結果、図9(e)から図9(g)に示されるように時刻T3から1サイクルの間補正パラメータの生成動作が停止されると共に、図9(m)及び図9(n)に示されるように出力イネーブル信号がロウレベルに不活性化されることによって、データ補間計算部26から画像メモリ602へのデータ出力が停止される。
【0118】
また、図9(g)及び図9(k)に示されるように、データ取得部24は時刻T4において生成された補正パラメータ(8.75)の整数成分が1サイクル前の補正パラメータ(8.25)の整数成分と同じであると判断し、時刻T4においてホールド信号Shをハイレベルに活性化させる。これより、図9(l)に示されるように時刻T5において、データ取得部24は画像メモリ601から前サイクルと同じ2タップの補間用データD8,D9を取得する。
【0119】
なお、図10は図8と同様に水平1次元補間による拡大変換の具体例を示し、図11は図9と同様に該拡大変換の動作タイミングを示す。この拡大変換の例では、図10(e)に示されるように、データ番号が2から6近傍までのデータが水平方向の拡大縮小パラメータHaを0.5 として水平方向に拡大される。ここで、図10(b)はデータ番号が0から9までの10個のデータについての補正量パラメータXmを示し、図10(f)は該拡大による補間点、すなわちx座標が2.0 から6.5 までにおける0.5 間隔の10個の点における補正量パラメータXmを示す。
【0120】
そして、このような拡大変換においては、図11(g)に示されるように時刻T2,T3,T4,T5,T6において補正パラメータの整数成分が変化しないため、各時刻において1サイクルの間ホールド信号Shがハイレベルに活性化される。
【0121】
次に、図12及び図13のフローチャートを参照しつつ、図2に示された垂直1次元補間部502の動作を詳しく説明する。まず、演算制御部27は、同期信号生成部1600から供給される内部同期信号に応じて制御タイミング信号を生成する。そして、補間位相・入力データ座標計算部28は、演算制御部27から供給された制御タイミング信号に応じて動作し、信号処理部500に入力された画像に歪みがない場合における座標系での補間点の座標を小数点付きで計算する。
【0122】
具体的には、ステップS51において補間位相・入力データ座標計算部28は、図14(a)に示されるように歪み補正され等倍変換された画像上の座標(x,y)として、切り出した画像CIの左上の座標(Sx,Sy)を初期設定し、画歪補正パラメータデコーダ34へ補正パラメータ要求信号Ryを供給する。一方、ステップS52において、画歪補正パラメータデコーダ34は供給された補正パラメータ要求信号Ryに応じて該y座標に対応する補正量パラメータYmを求め、データ取得部29及び補間係数生成部30へ供給する。
【0123】
ここで画歪補正パラメータデコーダ34は、例えばROM(Read Only Memory)を内蔵し、該ROMにy座標と補正量パラメータYmとの間の対照テーブルを予め格納しておくようにしても良いし、補正量パラメータYmをy座標のある関数として近似し、該関数を用いて補正量パラメータYmを求めても良いが、後に詳しく説明する。
【0124】
次に、ステップS53において、データ取得部29は補間位相・入力データ座標計算部28から供給された座標(X,Y)に、画歪補正パラメータデコーダ34から供給された補正量パラメータYmに応じた補正量ベクトル(0,Ym)を加える。これより、図14(b)に示されるように、補正前の原画像OIにおいて上記座標(X,Y)に対応する点の座標(X,Y+Ym)、すなわち補正ベクトルが求められる。このとき、データ取得部29は生成された補正ベクトルのy成分(Y+Ym)の整数値に応じて画像メモリ602から読み出すべきデータのアドレスを生成し、メモリ制御信号と共に画像メモリ602へ供給する。
【0125】
なお、データ取得部29の替わりに、画歪補正パラメータデコーダ34が補間位相・入力データ座標計算部28から供給されたy座標に応じて上記補正ベクトルを求め、該補正ベクトルをデータ取得部29等へ供給するようにしても良い。
【0126】
そして、ステップS54においては、垂直処理用の画像メモリ602が供給された上記アドレスに応じて、座標Xにおいて垂直方向に複数ラインに渡って並ぶ複数の補間用データを同時にデータ取得部29へ出力する。
【0127】
ここで、画像メモリ602は、データ取得部29から読み出しを開始する先頭アドレスを受け取り、該アドレスを1ずつインクリメントすることにより該アドレスに応じた補間用データを順次出力するか、あるいは、アドレスをインクリメントすることなく、受け取った該先頭アドレスから所定数連続したデータを出力するものとされる。ここで、上記先頭アドレスは、画歪補正パラメータデコーダ34から出力される補正量パラメータYmの整数成分から求められる。
【0128】
一方、補間係数生成部30は、画歪補正パラメータデコーダ34から供給される補正量パラメータYmの小数成分を垂直補間フィルタの位相として扱い、該小数成分に応じて補間係数を生成する。
【0129】
そして、ステップS55においてデータ補間計算部31は、データ取得部29から供給された補間用データと上記補間係数とに応じて1次元補間演算を実行する。なお、上記補間演算は、信号処理部500に入力される画像102がRGBフォーマットの場合にのみ適用されるものでない。すなわち、YUVフォーマットの場合、輝度信号と色差信号の垂直方向におけるデータ密度が同じ場合には輝度信号のフィルタ位相を色差信号のフィルタ位相としても利用でき、該データ密度が異なる場合には補正量パラメータYmの小数成分だけでなく整数成分も併用することにより色差信号のフィルタ位相が算出される。
【0130】
また、YUVフォーマットにおいては、図14(c)に示されるように補正ベクトル(X,Y+Ym)の近傍から垂直方向において例えば8画素の輝度データDt等が補間用データとして利用され、上記小数成分を位相とした8タップの補間演算が実行される。なお、該補間演算により得られた結果は出力画像の輝度データや色差データとして利用され、これより垂直方向の歪みが補正される。
【0131】
次に、ステップS56において、出力データバッファ32は該補間演算により得られた画像データを出力する。ステップS57では、補間位相・入力データ座標計算部23が現時点のx座標を基に1ライン分、すなわち出力水平画素数HS分の画像データが出力されたか否かを判断し、1ライン分のデータが出力されたと判断した場合にはステップS58へ進み、1ライン分のデータが出力されていないと判断した場合にはステップS60へ進む。
【0132】
ステップS58では、補間位相・入力データ座標計算部28がx座標をSxとすると共に、y座標に垂直方向の拡大縮小パラメータVaを加算する。一方、ステップS60ではx座標に水平方向の拡大縮小パラメータHaを加算し、ステップS52へ戻る。なお、上記拡大縮小パラメータVaは、補正後の画像に対する歪みを持った原画像の垂直方向における長さの比により決定され、補正後に画像を垂直方向に拡大する場合には1より小さな値とされ、逆に縮小する場合は1より大きな値とされ、等倍の場合には1とされる。
【0133】
ステップS59では補間位相・入力データ座標計算部28がさらにy座標を基に1フレーム分、すなわち垂直ライン数(垂直画素数)分の画像データが出力データバッファ32から出力されたか否かを判断し、1フレーム分のデータが出力されたと判断した場合には動作を終了し、1フレーム分のデータが出力されていないと判断した場合にはステップS60へ進む。
【0134】
なお、以上のような垂直方向における1次元補間では、水平方向に関するデータの補間や画像の拡大・縮小を伴わないため、図14(a)に示される水平方向のスキャンにおいては毎サイクル同様な動作が繰り返される。しかしながら、補正量パラメータYmが大きいときには、画像メモリ602における格納場所に応じて然るべき補間用データを読み出す時間が大きくなる場合がある。このような場合に、データ取得部29は補間位相・入力データ座標計算部28及び画歪補正パラメータデコーダ34へ活性化された待機信号WTを供給し、待機信号WTの該活性期間において補間位相・入力データ座標計算部28及び画歪補正パラメータデコーダ34の動作を中断させる。
【0135】
以上より、垂直1次元補間部502は、歪みを持った原画像に対して垂直方向の1次元補間演算を施すことにより、垂直画歪み補正処理と垂直方向の拡大・縮小処理を同時に実現し、完全に歪みの取れた画像を生成して出力する。なお、上記垂直1次元補間による等倍変換の具体例が図15に示される。ここで、図15は輝度信号に関する変換を示すグラフであり、横軸はx座標、縦軸は補正されたy座標(Y+Ym)を示す。
【0136】
そして、図15において、y座標が0でx座標が0.0 から10.0の10個の点は補正後の画像上における点を示し、矢印は該各点に対応する原画像上の点までの補正量パラメータYmを示す。すなわち例えば、補正後の画像において座標(1.0 ,0 )の点は、補正前の原画像において座標(1.0 ,7.1 )の点に対応し、補正量パラメータが7.1 で補間位相がその小数成分0.1 とされる。
【0137】
次に、図1に示された前処理装置1500及び補正パラメータデコーダ1010について詳しく説明する。最初に、図16に示されたフローチャートを参照しつつ、前処理装置1500及び補正パラメータデコーダ1010の動作の概要を説明する。
【0138】
図16に示されるように、ステップS71では、補正パラメータエンコーダ900が補正パラメータ導出部800から全画素点の補正量ベクトルを読み込む。次に、ステップS72に示されるように、補正パラメータエンコーダ900は該全画素点の補正量ベクトルを区分毎に分割するための格子線を決定する。なお、該格子線の決定については後に詳しく説明する。
【0139】
ステップS73では、補正パラメータエンコーダ900が該格子線により分割された各区分の補正量ベクトルを圧縮して圧縮データPcとして補正パラメータデコーダ1010および歪み補正メモリ1020へ供給すると共に、ステップS74では撮像素子300が画像を撮像する。なお、補正量ベクトルの該圧縮については後に詳しく説明する。
【0140】
そして、ステップS75ではデータ変換部400が該撮像により生成されたアナログ画像信号をデジタル画像信号に変換する。ステップS76では、補正パラメータデコーダ1010は補正量パラメータの信号処理部500への読み出しに必要な格子を決定し、ステップS77において信号処理部500から供給された座標を該格子に応じて正規化する。
【0141】
次にステップS78においては、補正パラメータデコーダ1010が該格子を利用して補正パラメータエンコーダ900から供給された圧縮データPcをデコードし、得られた補正量パラメータを信号処理部500へ供給する。そして、ステップS79においては、信号処理部500が該補正量パラメータを用いて原画像に対する補間演算を施す。ここで、ステップS80において制御マイコン700が信号処理部500への原画像の入力を終了させるか否かを判断し、終了させると判断した場合には画像処理装置100の動作を終了させ、該入力を終了させないと判断した場合にはステップS74へ戻る。
【0142】
そして図17は、図1に示された補正パラメータエンコーダ900の構成を示すブロック図である。図17において、格子分割部911は画面全点のパラメータを区分毎に分割するための格子線を決定し、格子点上の歪み補正パラメータ( 歪み補正座標) を歪み補正メモリ1020に送る。また、n次多項式係数導出部902で格子分割部911において分割された各格子線分のすべての歪み補正座標を格子線分上の位置との関数で表現し、求める区分n次多項式で近似する。
【0143】
さらに、サンプル点導出部903は、n次多項式係数導出部902より得られた区分n次多項式から歪み補正パラメータの圧縮を行う。導出された区分n次多項式において、区分n 次多項式の両端をn分割した内部点を新たな歪み補正パラメータ(近似された歪み補正座標)として、歪み補正メモリ1020に送る。
【0144】
従って、区分2次多項式を例にした図18(a)(b)に示す通り、h1(x), h2(x), h3(x), h4(x)の交点は同じ歪み補正座標を持つため共有化でき、歪み補正パラメータ数を削減できる。すなわち、図18(c)に示すように共有点を考慮すると、交点と格子線分の中点のみ が歪み補正パラメータとなる。
【0145】
さらに、図19に補正パラメータエンコーダ900のフローチャートを示す。なおこのフローチャートは、先に提案した装置における動作のフローチャート(図39)を修正したものであり、図中同一符号は同一または相当部分を示す。
【0146】
すなわち、図19において、まずステップS11では、対象画面上の全ての画面に対する歪み補正座標を読み込む。そして、ステップS12では格子の分割方法に従い、画面を格子に分割する。また、ステップS13において、格子線の交点である格子点上のポイントにおける 歪み補正座標をデコードするための補正データとして歪み補正メモリに転送する。さらに、ステップS14において、格子点間に囲まれる格子線分を1つ選択する。
【0147】
そして、ステップS15において、選択された格子線分上にあたる全ての点の歪み補正座標をy軸,格子線上の距離をx軸にとり離散関数を作成して、離散関数を区分n次多項式で近似する。さらにステップS16において、近似された区分n次多項式の有効範囲をn分割し、それぞれのx値を算出する。またステップS17において、ステップS16で求めたxの座標に対応する近似された区分n次多項式のyの値を出する。
【0148】
さらに、ステップS18において、ステップS17で求めた有効範囲の両端をのぞくn−1点の値を歪み補正座標をデコードするための歪み補正パラメータとして歪み補正メモリ1020に転送する。また、ステップS19において、全ての格子線分に関して歪み補正パラメータの導出が終わっていない場合にはステップS14へ戻る。以上の方法よりエンコードする。
【0149】
以下に、区分2次多項式の場合を例にとり説明する。すなわち、n次多項式導出部902は、格子分割部911から得られた格子位置の情報により必要な歪み補正座標を補正パラメータ導出部800より受け取る。ここで区分2次多項式を用いてデコードするためには、n次多項式導出部902において区分2次多項式で最適になる点を選ぶ必要がある。
【0150】
ここで、例えば先に提案した装置の説明における図38に示すようにある格子線分を対象とする。この図38において、両端の位置と歪み補正座標をそれぞれ、(x0,h(x0)),(x2,h(x2))とする。この時に格子線分の中にある画素すべてに対して(x1,h(x1))として、以下の式よりa,b,cの係数を求める。
【0151】
すなわち、
a*x02b* x0 +c=v0
a*x12b* x1 +c=v1
a*x22b* x2 +c=v2
となる。
【0152】
従って、対象となっている線分と上記で得られた区分2次多項式とで各点での歪み補正座標の誤差を求める。ここで誤差が最も少なくなる(x1, h(x1 ))が求める点となる。そこで3点から得られるa,b,cから区分2次多項式を作成する。対象とするx軸上の点は1点であり、2等分により求める点は(x2−x0)/2 の点となる。
【0153】
すなわち、上記の点の歪み補正パラメータを近似式より求めると、
h(x1’) =a*[( x2 −x0)/2]2 +b*[( x2 −x0)/2]+c
となる。上記処理を全ての格子線分に関して実行する。このようにして、図17に示した補正パラメータエンコーダ900の処理が行われる。
【0154】
さらに、補正パラメータデコーダ1010の詳細について図20を用いて説明する。すなわち、補正パラメータデコーダ1010は、補正パラメータエンコーダ910より得られる歪み補正パラメータより画面の各点の歪み補正座標を信号処理部500の要求にしたがって復元するブロックである。
【0155】
図20において、補正パラメータデコーダ1010は補正パラメータエンコーダ910よりx,yそれぞれの方向の区分位置を示す格子情報が入力される。入力された格子情報は格子情報バッファ1001に格納される。そして、信号処理部500より歪み補正を必要とする座標(xt,yt )のリクエストを受けると、格子決定部1002にてターゲットとなる座標(xt,yt )が包含される格子を格子バッファ1001の格子位置情報と比較し算出する。
【0156】
さらに、求められた格子を囲む4つの格子線分上の歪み補正パラメータの格納されているアドレスを生成し、歪み補正メモリ1020にリード要求する。また、同時に決定された格子位置を正規化部1003に送る。正規化部1003ではターゲットとなる座標(xt,yt )と格子位置、格子情報より、囲まれた格子4線において利用する相対座標(xt’, yt’)を算出する。
【0157】
これにより、関数算出部1004では,得られた各n+1点の歪み情報を元に区分n次多項式を再構築する。また、関数変換部1005にて、歪み補正メモリ1020より受け取った関数の係数から 平面補間で利用する関数形式に変換する。さらに、平面補間部1006は関数変換部1005によって得られた平面関数の係数を用いて平面関数を作成し、それぞれの座標を正規化部1003より得て所望の歪み補正座標を計算し、計算結果を信号処理部500に送る。
【0158】
このようにして、歪み補正パラメータより画面の各点の歪み補正座標を復元する。さらに、図21に補正パラメータでコーダ1010のフローチャートを示す。なおこのフローチャートは、先に提案した装置における動作のフローチャート(図41)を修正したものであり、図中同一符号は同一または相当部分を示す。
【0159】
すなわち図21において、まずステップS21で、初期設定として格子情報を読み込む。さらにステップS22で歪み補正の要求があるまで待機(WAIT)する。そしてステップS22で歪み補正パラメータのデコード要求があった場合に、ターゲット点の座標を信号処理部500より受け取る。さらにステップS23でターゲット点の座標が含まれる格子を決定する。
【0160】
また、ステップS24でターゲット点の各格子線分の中での相対座標を求める。そしてステップS25で、格子として囲まれている4格子線分のうち1線選択し、n+1点の歪み補正パラメータを読み込む。さらに、ステップS26で読み込まれたn+1個の歪み補正パラメータより区分n次多項式を生成する。すなわち、格子として囲まれている4格子線分のうち1線分を選択し、区分n次多項式の歪み補正パラメータ(係数)を読み込む。
【0161】
さらに、ステップS27で4格子線分について処理が終わっていなければステップS25へ戻す。また、ステップS28で4つの区分n次多項式より作成される平面関数を導出する。そして、ステップS29で、平面関数を用いて、ターゲット点の歪み補正座標を導出し、次のリクエストまでステップS22にて待機(WAIT)する。以上の方法によりデコードする。
【0162】
以下に、区分2次多項式の場合を例にとり、図22及び図23を参照して説明する。すなわち、図22(a)の左に示すように、信号処理部500より得られたアドレス(xt,yt )が当てはまる格子位置を算出する。すなわち、区分2次多項式につき、各格子線分で3点ずつの歪み補正パラメータを読み出す。ただし、図22の右側の吹き出しに記載しているとおり、格子点上は共有できるので、実際は[4+(n−1)*4:n=2]の8点の読み出しとなる。
【0163】
さらに、4格子線分の各線における3点の位置と歪み補正パラメータの関係は図22(b)に示す通りになる。ここで座標x1’は2等分した中点となるので、それぞれの区分2次多項式と歪み補正パラメータは
a*x02+b*x0 +c=h(x0)
a*x22+b*x2 +c=h(x2)
a*[( x2 −x0)/2]2 +b*[( x2 −x0)/2]+c=h(x1)’
の式で表される。従って、上記のa,bおよびcを求めることで、区分2次多項式を再現する。
【0164】
すなわち、x0 を基準に正規化すると、上記の式は次になる。
x0 =0
x2 =格子幅
c=h( x0)
a*x22+b*x2 +c=h( x2)
a*[x2 /2]2 +b*[x2 /2]+c=h( x1)’
【0165】
よって、図22(c)に示すように、
a=[{2*h( x2)−4*h( x1)’ +2*h( x0)}/x22]
b=[{−h( x2)+4*h( x1)’ −3*h( x0)}/x2 ]
c=h( x0)
の区分2次多項式となる。なお、x2 は格子の幅なので、逆数、2乗の逆数は格子情報として保持可能である。
【0166】
さらに、関数変換ブロック1005で、求められた格子のそれぞれの格子線分4線(f(x),g(x),m(y),n(y) )の関数を求める。なお、a,b,c係数は上記の計算で4線とも求める。
【0167】
これにより、格子の4格子線分を用いて、ターゲットとなる点の歪み補正座標を求めるが、ここでは、それぞれの関数の係数
f(x) :afx ,bfx ,cfx
g(x) :agx ,bgx ,cgx
m(y) :amy ,bmy ,cmy
n(y) :any ,bny ,cny
を変形する。
【0168】
すなわち、
F(x) =f’(x)=2*afx *x2 +(bfx −afx )*x+cfx
G(x) =g’(x)=2*agx *x2 +(bgx −agx )*x+cgx
M(y) =m’(y)=2*amy *y2 +(bmy −amy )*y+cmy
N(y) =n’(y)=2*any *y2 +(bny −any )*y+cny
となる。
【0169】
ここで、正規化ブロック1003は、格子情報からx_t、y_tをそれぞれ、
xt’=xt −x0
yt’=yt −y0
に変換し、変換したxt、ytを上記の関数に代入する。そして、平面補間ブロック1005で、求めた新たな4関数とxt’、yt’により、ターゲット点の歪み補正座標を求める。
【0170】
すなわち、対象点の歪み補正座標Vtargetは、
Vtarget
=( 1/2) *{( 1−yt’) *F(xt’) +yt’*G(xt’)
+( 1−xt’) *N(yt’) +x_t’*M(yt’) }
で計算される。このようにして、図20に示した補正パラメータデコーダ1010の処理が行われる。なお、この様子を図23に示す。
【0171】
さらに、図24は、図2に示された画像メモリ602とデータ取得部29及びデータ補間計算部31の構成を示す図である。なお、図24は、画像処理装置2が(4×4)タップの16画素の画像データを利用した補間演算によって各画素の画像データを生成する場合の構成を示す。
【0172】
図24に示されるように、画像メモリ602はセレクタ67と、垂直タップ数より1だけ大きな5つのメモリ、すなわちAメモリ71とBメモリ72、Cメモリ73、Dメモリ74、及びEメモリ75を含み、データ取得部29は制御部80とAバッファ81、Bバッファ82、Cバッファ83、Dバッファ84、Eバッファ85、サイクル分割部560、及びセレクタ96〜99を含む。なお、サイクル分割部560はセレクタ91〜95を含む。
【0173】
ここで、データ取得部29には、上記のように垂直タップ数より1だけ多い5つのバッファ(Aバッファ81からEバッファ85)及び対応する5つのセレクタ91〜95と、垂直タップ数である4つのセレクタ96〜99が含まれることになる。
【0174】
また、データ補間計算部31は4つのレジスタ901及び乗算回路902と加算回路43を含む。
【0175】
上記において、セレクタ67はデータ補間計算部26及び制御部80に接続され、Aメモリ71とBメモリ72、Cメモリ73、Dメモリ74、及びEメモリ75はセレクタ67に接続される。
【0176】
また、制御部80は画歪補正パラメータデコーダ34に接続され、Aバッファ81はAメモリ71に接続され、Bバッファ82はBメモリ72に接続される。同様に、Cバッファ83はCメモリ73に接続され、Dバッファ84はDメモリ74に接続され、Eバッファ85はEメモリ75に接続される。
【0177】
また、セレクタ91はAバッファ81に接続され、セレクタ92はBバッファ82に接続され、セレクタ93はCバッファ83に接続される。同様に、セレクタ94はDバッファ84に接続され、セレクタ95はEバッファ85に接続される。また、セレクタ96〜99はそれぞれ5つのセレクタ91〜95に接続される。なお、セレクタ91〜99はそれぞれ制御部80により制御される。
【0178】
また、セレクタ96〜99にはそれぞれレジスタ901が接続され、各レジスタ901には乗算回路902が接続される。そして、4つの乗算回路902は一つの加算回路43が接続される。
【0179】
ここで、上記のように、データ補間計算部26により水平方向の補間処理がなされたデータは画像メモリ602へ書き込まれ、同時にデータ取得部29により画像メモリ602から取得されたデータに垂直方向の補間処理が施されるため、処理待ち時間としてのフレーム遅延を生じさせることなく画歪み補正が実行される。
【0180】
以下において、図24に示された画像メモリ602とデータ取得部29及びデータ補間計算部31の動作を詳しく説明する。まず、水平方向の補間処理がなされたデータはデータ補間計算部26から順次セレクタ67へ供給されるが、該データは制御部80により制御されるセレクタ67によってAメモリ71からEメモリ75までの5つのメモリへ振り分けられて格納される。
【0181】
そして、Aメモリ71に格納されたデータはAバッファ81を介してセレクタ91へ供給され、Bメモリ72に格納されたデータはBバッファ82を介してセレクタ92へ供給される。同様に、Cメモリ73に格納されたデータはCバッファ83を介してセレクタ93へ供給され、Dメモリ74に格納されたデータはDバッファ84を介してセレクタ94へ供給され、Eメモリ75に格納されたデータはEバッファ85を介してセレクタ95へ供給される。
【0182】
ここで、サイクル分割部560に含まれた各セレクタ91〜95は、制御部80による制御に応じて、Aバッファ81からEバッファ85へ例えば2画素単位で読み出されたデータを分割し、1サイクル毎に1画素分のデータをセレクタ96〜99へ供給する。
【0183】
そして、各セレクタ96〜99はセレクタ91〜95から供給されたデータを制御部80による制御により選択的にレジスタ901へ出力する。これより、垂直方向の補間処理に必要なタップ数である4つのデータが、選択的にデータ補間計算部31へ供給されることになる。
【0184】
さらに、レジスタ901に格納された各データは、各乗算回路902において補間係数C0〜C3との間で積がとられ、該4つの積が加算回路43で加算されることにより垂直方向の補間演算が施され、出力データバッファ32へ供給される。
【0185】
ここで、図25を参照しつつ、本発明の実施の形態に係る画像処理装置2の動作を説明する。なお、図25(a)〜(d)においては、1フレーム分の画像データが示される。
【0186】
まず図25(a)に示されるように、時刻T1から信号処理部10へ画像データが入力されると、時刻T2から水平1次元補間部501により水平方向の補間処理が施される。そして、図25(c)に示されるように、水平方向の補間処理が施された画像は時刻T2以降において、画像メモリ602に含まれたAメモリ71からEメモリ75へ順次書き込まれる。
【0187】
ここで、例えば奇数サイクルにおいて画像メモリ602からデータ取得部29へ垂直処理用のデータが読み出され、偶数サイクルにおいてデータ補間計算部26から水平処理がなされたデータが画像メモリ602へ書き込まれることによって、2サイクル周期による歪み補正処理が実行される。
【0188】
このとき、図26に示されるように、画像102における水平ラインの最大歪み曲線104における垂直方向の最大歪み量に応じたライン数分のデータDmxが画像メモリ602に格納された時刻T3から、各ラインの垂直方向における補間演算が順次実行される。従って、該補間演算における遅延時間は時刻T1から時刻T3までとされ、1フレーム分のデータに水平方向の補間処理が施される時間(フレーム遅延)を待ち時間とする必要がないため、リアルタイムに画歪み補正を実行することができる。
【0189】
また、全体として画像メモリ602は、垂直方向においては上記最大歪み量に対応したライン数と垂直処理用タップ数(例えば4タップ)を加算した数、水平方向においては信号処理部10へ入力された画像の水平方向画素数分のデータを記憶するメモリ容量を有する。なお、図24に示されたAメモリ71からEメモリ75までの5つのメモリは例えば同容量とされ、各メモリのポート幅は例えば32ビットとされる。
【0190】
ここで、画像102の領域102Pにおけるデータを画像メモリ602へ格納する方法が図27に示される。なお、図27において「A」から「E」は、それぞれ図24に示された「Aメモリ」71から「Eメモリ」75を意味する。また、上記のように各メモリのポート幅が32ビットで、1画素分のデータがY信号(輝度情報)とC信号(色差情報)を含む16ビットからなる場合には、セレクタ67は2画素分のデータを単位として該データをAメモリ71からEメモリ75へ順次格納する。
【0191】
すなわちセレクタ67は、図27に示されるように、まず0ライン目の0から23画素目までのデータをAメモリ71に格納し、次に1ライン目の0から23画素目までのデータをBメモリ72に格納する。また同様に、セレクタ67は2ライン目の0から23画素目までのデータをCメモリ73に格納し、3ライン目の0から23画素目までのデータをDメモリ74に格納し、4ライン目の0から23画素目までのデータをEメモリ75に格納する。なお、セレクタ67は、以下同様に各ラインのデータをライン毎に順次Aメモリ71からEメモリ75へ格納する。
【0192】
以下において、データ取得部29に垂直タップ数より1多い数のバッファが必要とされる理由を説明する。歪みを持った画像102を局所的に見た場合、図28(a)〜(c)のパターン1から3に示されるように、水平方向に隣接する2画素間においては画像データが垂直方向に2画素以上移動していることはない。
【0193】
すなわち、図28(a)のパターン1に示されるように水平方向に隣接する画素間で該画像データは垂直方向に全く移動しないか、図28(b)や図28(c)のパターン2やパターン3に示されるように垂直方向に1画素分移動するものの、図29(a)や図29(b)に示されるように、水平方向に隣接する画素間で該画像データが垂直方向に2画素分以上移動することはない。
【0194】
ここで、該垂直4タップ処理においては、図30に示されるように中心画素Icに対して垂直方向に隣接する3つの周辺画素Ipを含めた4画素のデータを用いてフィルタリング処理が実行される。
【0195】
このとき、図31に示されるように、画像メモリ602に含まれたAメモリ71からEメモリ75の5つのメモリは、例えばそれぞれ32ビットのポートを持つものとされ、この場合には1回のアクセスにより該各ポートを介して16ビットの画像データが2画素分出力される。
【0196】
すなわち、図31に示されるように、1回のアクセスによってAメモリ71からは各々16ビットからなる画像データIa0,Ia1が2画素単位で読み出され、Bメモリ72からは各々16ビットからなる画像データIb0,Ib1が2画素単位で読み出され、Cメモリ73からは各々16ビットからなる画像データIc0,Ic1が2画素単位で読み出される。また同様に、Dメモリ74からは各々16ビットからなる画像データId0,Id1が2画素単位で読み出され、Eメモリ75からは各々16ビットからなる画像データIe0,Ie1が2画素単位で読み出される。
【0197】
このように、隣接する2画素分の画像データを垂直方向にタップ数より1だけ多く読み出すことによって、隣接画素間の変化が図28(a)から図28(c)に示されるパターン1からパターン3までのいずれであっても、各列において同じ処理が実行される。すなわち例えば図31の斜線部に示されるように、各列において中心画素Icの1つ上の画素から2つ下の画素まで垂直方向に並ぶ4つの画素における画像データを対象としたフィルタリング処理を実行することにより、水平方向に隣接する2画素の画像データがそれぞれ生成される。
【0198】
なお、隣接画素間の該変化が図28(a)から図28(c)に示されたパターン1からパターン3のどれにあたるかは、制御部80により該フィルタリング処理前に予め識別される。
【0199】
より具体的には、制御部80が画歪補正パラメータデコーダ34から水平方向に隣接する2列における2つの中心画素Icのy座標を受け、該y座標の差に応じてセレクタ96〜99を制御することにより、図31の斜線部に示された画像データがフィルタリング処理の対象として選択的にデータ補間計算部31へ供給される。
【0200】
なお、上記においては例として4タップのフィルタリング処理を説明したが、本発明の実施の形態に係る画像処理方法は、画像メモリ602とデータ取得部29及びデータ補間計算部31をタップ数に応じた構成とし、画像メモリ602に対するデータの入出力サイクルを変更することによって4タップ以外のフィルタリング処理にも適用することができることはいうまでもない。
【0201】
また、本発明は、画像処理方法を適用した撮像装置、表示装置にも適用可能であり、表示装置においては、ミスコンバージェンス補正などへも充分に適用できる。
【0202】
以上より、本発明の実施の形態に係る画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置によれば、撮像された光学歪みを伴う画像に対して水平及び垂直方向に1次元補間演算が施され、補正ベクトルが効率的に利用されるため、静止画像だけでなくリアルタイム処理が必要な動画像に対する歪み補正が簡易な構成により実現され、歪みの無い高画質な画像を容易に得ることができる。
【0203】
また、本発明の実施の形態に係る画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置によれば、信号処理によりリアルタイムに画像の歪みを補正することができるため、レンズ設計の自由度を高めることができ、レンズの小型化やレンズの低コスト化を容易に実現することができる。
【0204】
さらに、本発明の実施の形態に係る画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置によれば、必要なメモリの容量を削減することができる。なお、本発明においては、x方向:m分割、y方向:n分割とすると、3n*m+n+m−1のメモリ削減効果が得られる。
【0205】
すなわち、k次多項式、x方向:m分割、y方向:n分割とすると、図42より、区分される格子線分n*(m+1)+m*(n+1)である。この場合に、必要な歪み補正パラメータ数は、従来の(k+1){n*(m+1)+m*(n+1)}から、本発明においては、(n+1)*(m+1)+(k−1){n*(m+1)+m*(n+1)}に削減でき、3n*m+n+m−1の削減効果を得ることができる。
【0206】
【発明の効果】
本発明に係る画像処理装置と画像処理システム及び画像処理方法によれば、低コストでリアルタイムに原画像の歪みを補正することができるため、高品質な画像を容易に得ることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る画像処理システムの構成を示すブロック図である。
【図2】図1に示された信号処理部の構成を示すブロック図である。
【図3】図2に示された信号処理部により実行される1次元補間演算の概要を説明する図である。
【図4】図2に示されたデータ補間計算部に含まれる水平処理回路の構成を示す図である。
【図5】図2に示された水平1次元補間部の動作を示す第一のフローチャート図である。
【図6】図2に示された水平1次元補間部の動作を示す第二のフローチャート図である
【図7】図5及び図6に示された動作を説明する図である。
【図8】水平1次元補間における等倍変換の一例を示す図である。
【図9】図8に示された等倍変換の動作タイミングを示すタイミング図である。
【図10】水平1次元補間における水平拡大変換の一例を示す図である。
【図11】図10に示された水平拡大変換の動作タイミングを示すタイミング図である。
【図12】図2に示された垂直1次元補間部の動作を示す第一のフローチャート図である。
【図13】図2に示された垂直1次元補間部の動作を示す第二のフローチャート図である。
【図14】図12及び図13に示された動作を説明する図である。
【図15】垂直1次元補間における垂直拡大変換の一例を示す図である。
【図16】図1に示された前処理装置及び補正パラメータデコーダの動作の概要を示すフローチャート図である。
【図17】図1に示された補正パラメータエンコーダの構成を示すブロック図である。
【図18】図17に示された格子分割部の動作の概要を説明する図である。
【図19】最適分割の方法を示す第一のフローチャート図である。
【図20】最適分割の方法を示す第二のフローチャート図である。
【図21】図19及び図20に示された動作を説明する図である。
【図22】図2に示されたx方向用の画歪補正パラメータデコーダの構成を示すブロック図である。
【図23】図22に示された補正パラメータデコーダの動作を説明する図である。
【図24】図2に示された画像メモリとデータ取得部及びデータ補間計算部の構成を示す図である。
【図25】水平1次元補間処理及び垂直1次元補間処理のタイミングを示すタイミング図である。
【図26】水平1次元補間及び垂直1次元補間を実行するために必要なメモリ容量を説明する図である。
【図27】図24に示された画像メモリへのデータ格納方法を説明する図である。
【図28】隣接画素における垂直方向の取り得る変化パターンを示す図である。
【図29】隣接画素における垂直方向の有り得ない変化パターンを示す図である。
【図30】垂直4タップ処理を説明する図である。
【図31】図24に示された画像メモリからのデータ読み出し方法を説明する図である。
【図32】従来における画像処理装置の構成を示すブロック図である。
【図33】図32に示された画像処理装置の動作の概要を示すフローチャート図である。
【図34】先に提案した画像処理システムの構成を示すブロック図である。
【図35】図34に示された補正パラメータエンコーダの構成を示すブロック図である。
【図36】図35に示された格子分割部の動作の概要を説明する図である。
【図37】図35に示された格子分割部の動作の概要を説明する図である。
【図38】図35に示された格子分割部の動作の概要を説明する図である。
【図39】画歪み補正の方法を示すフローチャート図である。
【図40】図34に示されたx方向用の画歪補正パラメータデコーダの構成を示すブロック図である。
【図41】補正パラメータデコーダの動作を説明するフローチャート図である。
【図42】図40に示された補正パラメータデコーダの動作を説明する図である。
【符号の説明】
100…画像処理装置、200…レンズ、300…撮像素子、400…データ変換部、500…信号処理部、600…画像メモリ、700…制御マイコン、800…補正パラメータ導出部、900…補正パラメータエンコーダ、902…n次多項式導出部、903…サンプル点導出部、911…格子分割部、1010…補正パラメータデコーダ、1100…記録部、1200…再生部、1300…表示系処理部、1400…メディア、1500…前処理装置、1600…同期信号生成部
Claims (28)
- 画像を取り込む入力手段と、
画像の信号処理を行う信号処理手段と、
歪の補正データを導出するためのパラメータ導出手段と、
格子で画面を区切る格子分割手段と、
前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して演算に必要なデータを圧縮するパラメータ圧縮手段と、
前記圧縮された必要なデータを保持するパラメータ保持手段と、
圧縮されたデータを区分ごとの範囲で伸張し、歪補正に利用するパラメータデコード手段と、
前記信号処理とデコードの動作を制御する制御手段と、
画像を出力若しくは保存する出力手段と
を用いて実現する画像処理方法。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で均等に区切る
ことを特徴とする請求項1に記載の画像処理方法。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で非均等に2のべき乗の幅で区切る
ことを特徴とする請求項1に記載の画像処理方法。 - 前記格子分割手段は、圧縮するための位置を決定するために誤差が最小となるような最適点とその分割数を演算から求める
ことを特徴とする請求項1に記載の画像処理方法。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で均等に区切ると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項1に記載の画像処理方法。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で非均等に2のべき乗の幅で区切ると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項1に記載の画像処理方法。 - 前記格子分割手段は、圧縮するための位置を決定するために誤差が最小となるような最適点とその分割数を演算から求めると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項1に記載の画像処理方法。 - 画像を取り込む入力手段と、
画像の信号処理を行う信号処理手段と、
歪の補正データを導出するためのパラメータ導出手段と、
格子で画面を区切る格子分割手段と、
前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して演算に必要なデータを圧縮するパラメータ圧縮手段と、
前記圧縮された必要なデータを保持するパラメータ保持手段と、
圧縮されたデータを区分ごとの範囲で伸張し、歪補正に利用するパラメータデコード手段と、
前記信号処理とデコードの動作を制御する制御手段と、
画像を出力若しくは保存する出力手段と
を備えたことを特徴とする画像処理装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で均等に区切る
ことを特徴とする請求項8に記載の画像処理装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で非均等に2のべき乗の幅で区切る
ことを特徴とする請求項8に記載の画像処理装置。 - 前記格子分割手段は、圧縮するための位置を決定するために誤差が最小となるような最適点とその分割数を演算から求める
ことを特徴とする請求項8に記載の画像処理装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で均等に区切ると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項8に記載の画像処理装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で非均等に2のべき乗の幅で区切ると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項8に記載の画像処理装置。 - 前記格子分割手段は、圧縮するための位置を決定するために誤差が最小となるような最適点とその分割数を演算から求めると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項8に記載の画像処理装置。 - 画像を取り込む入力手段と、
画像の信号処理を行う信号処理手段と、
歪の補正データを導出するためのパラメータ導出手段と、
格子で画面を区切る格子分割手段と、
前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して演算に必要なデータを圧縮するパラメータ圧縮手段と、
前記圧縮された必要なデータを保持するパラメータ保持手段と、
圧縮されたデータを区分ごとの範囲で伸張し、歪補正に利用するパラメータデコード手段と、
前記信号処理とデコードの動作を制御する制御手段と、
画像を出力若しくは保存する出力手段と
を用いて実現する画像処理方法を適用した撮像装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で均等に区切る
ことを特徴とする請求項15に記載の画像処理方法を適用した撮像装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で非均等に2のべき乗の幅で区切る
ことを特徴とする請求項15に記載の画像処理方法を適用した撮像装置。 - 前記格子分割手段は、圧縮するための位置を決定するために誤差が最小となるような最適点とその分割数を演算から求める
ことを特徴とする請求項15に記載の画像処理方法を適用した撮像装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で均等に区切ると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項15に記載の画像処理方法を適用した撮像装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で非均等に2のべき乗の幅で区切ると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項15に記載の画像処理方法を適用した撮像装置。 - 前記格子分割手段は、圧縮するための位置を決定するために誤差が最小となるような最適点とその分割数を演算から求めると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項15に記載の画像処理方法を適用した撮像装置。 - 画像を取り込む入力手段と、
画像の信号処理を行う信号処理手段と、
歪の補正データを導出するためのパラメータ導出手段と、
格子で画面を区切る格子分割手段と、
前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して演算に必要なデータを圧縮するパラメータ圧縮手段と、
前記圧縮された必要なデータを保持するパラメータ保持手段と、
圧縮されたデータを区分ごとの範囲で伸張し、歪補正に利用するパラメータデコード手段と、
前記信号処理とデコードの動作を制御する制御手段と、
画像を表示する表示手段と
を用いて実現する画像処理方法を適用した表示装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で均等に区切る
ことを特徴とする請求項22に記載の画像処理方法を適用した表示装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で非均等に2のべき乗の幅で区切る
ことを特徴とする請求項22に記載の画像処理方法を適用した表示装置。 - 前記格子分割手段は、圧縮するための位置を決定するために誤差が最小となるような最適点とその分割数を演算から求める
ことを特徴とする請求項22に記載の画像処理方法を適用した表示装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で均等に区切ると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項22に記載の画像処理方法を適用した表示装置。 - 前記格子分割手段は、圧縮するための位置を決定するためにパラメータを格子で非均等に2のべき乗の幅で区切ると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項22に記載の画像処理方法を適用した表示装置。 - 前記格子分割手段は、圧縮するための位置を決定するために誤差が最小となるような最適点とその分割数を演算から求めると共に、
前記パラメータ圧縮手段は、前記格子分割手段で決定した格子位置を利用し、前記格子の交差位置及び前記パラメータ導出手段より得られたデータを利用して格子両端及びその格子線分をn分割することで得られる内分点n−1を演算に必要なデータとして保持し、
前記パラメータデコード手段は、圧縮されたデータを区分ごとの範囲で区分の両端とその間の点にあたるn−1点よりn次多項式を再現し、再現されたn次多項式を用いて伸張し、歪補正に利用する
ことを特徴とする請求項22に記載の画像処理方法を適用した表示装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003022642A JP2004234379A (ja) | 2003-01-30 | 2003-01-30 | 画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置 |
US10/760,674 US7352915B2 (en) | 2003-01-30 | 2004-01-21 | Image processing method, image processing apparatus and image pickup apparatus and display apparatus suitable for the application of image processing method |
US11/926,714 US7418155B2 (en) | 2003-01-30 | 2007-10-29 | Image processing method, image processing apparatus and image pickup apparatus and display apparatus suitable for the application of image processing method |
US11/929,575 US7424172B2 (en) | 2003-01-30 | 2007-10-30 | Image processing method, image processing apparatus and image pickup apparatus and display apparatus suitable for the application of image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003022642A JP2004234379A (ja) | 2003-01-30 | 2003-01-30 | 画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004234379A true JP2004234379A (ja) | 2004-08-19 |
Family
ID=32951663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003022642A Pending JP2004234379A (ja) | 2003-01-30 | 2003-01-30 | 画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置 |
Country Status (2)
Country | Link |
---|---|
US (3) | US7352915B2 (ja) |
JP (1) | JP2004234379A (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007108081A1 (ja) * | 2006-03-20 | 2007-09-27 | Fujitsu Limited | 撮影装置、撮影方法及びプログラム、撮影装置のテーブル作成装置及び方法、映像処理装置及び方法 |
JP2008079202A (ja) * | 2006-09-25 | 2008-04-03 | Sony Corp | 画像処理装置および画像処理方法、並びにカメラシステム |
JP2008512767A (ja) * | 2004-09-09 | 2008-04-24 | シリコン オプティックス インコーポレイテッド | 一般的な2次元空間変換の表現システム及び方法 |
JP2008140401A (ja) * | 2007-12-14 | 2008-06-19 | Sanyo Electric Co Ltd | 運転支援装置 |
JP2008526055A (ja) * | 2004-12-07 | 2008-07-17 | シリコン オプティックス インコーポレイテッド | 動的ワープマップ生成システムおよび方法 |
JP2009177651A (ja) * | 2008-01-26 | 2009-08-06 | Sanyo Electric Co Ltd | 歪補正装置 |
JP2009230688A (ja) * | 2008-03-25 | 2009-10-08 | Mega Chips Corp | 画像処理装置 |
US8242975B2 (en) | 2008-01-10 | 2012-08-14 | Canon Kabushiki Kaisha | Image processing method, image processing apparatus, and system |
US8537244B2 (en) | 2009-12-16 | 2013-09-17 | Samsung Electronics Co., Ltd. | Image processing apparatus and method, and computer-readable medium having stored thereon computer program for executing the method |
US8952973B2 (en) | 2012-07-11 | 2015-02-10 | Samsung Electronics Co., Ltd. | Image signal processor and method of operating the same |
JP2015198279A (ja) * | 2014-03-31 | 2015-11-09 | ヤマハ株式会社 | データ復元装置、およびデータ生成方法 |
JP2015226149A (ja) * | 2014-05-27 | 2015-12-14 | 三菱電機株式会社 | 画像処理システム、撮像装置及び記録装置 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7450165B2 (en) * | 2003-05-02 | 2008-11-11 | Grandeye, Ltd. | Multiple-view processing in wide-angle video camera |
US20100002070A1 (en) | 2004-04-30 | 2010-01-07 | Grandeye Ltd. | Method and System of Simultaneously Displaying Multiple Views for Video Surveillance |
JP4095491B2 (ja) * | 2003-05-19 | 2008-06-04 | 本田技研工業株式会社 | 距離測定装置、距離測定方法、及び距離測定プログラム |
JP2005229200A (ja) * | 2004-02-10 | 2005-08-25 | Fujitsu Ltd | ディストーション補正回路 |
JP4104571B2 (ja) * | 2004-03-29 | 2008-06-18 | 三洋電機株式会社 | 歪曲補正装置及びこの歪曲補正装置を備えた撮像装置 |
JP4310645B2 (ja) * | 2004-12-28 | 2009-08-12 | ソニー株式会社 | 撮像画像信号の歪み補正方法および撮像画像信号の歪み補正装置 |
US20070126892A1 (en) * | 2005-11-30 | 2007-06-07 | Haike Guan | Correcting an image captured through a lens |
KR101014572B1 (ko) * | 2007-08-27 | 2011-02-16 | 주식회사 코아로직 | 영상 왜곡 보정 방법 및 그 보정 방법을 채용한 영상처리장치 |
US9837013B2 (en) * | 2008-07-09 | 2017-12-05 | Sharp Laboratories Of America, Inc. | Methods and systems for display correction |
WO2010131210A1 (en) * | 2009-05-14 | 2010-11-18 | Lord Ingenierie | A system and method for correcting non-uniformity defects in captured digital images |
JP5369982B2 (ja) * | 2009-08-06 | 2013-12-18 | 株式会社リコー | 画像処理装置および画像処理方法 |
DE102011007644A1 (de) * | 2011-04-19 | 2012-10-25 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Bestimmung von zur Entzerrung eines Bildes geeigneten Werten und zur Entzerrung eines Bildes |
JP6015189B2 (ja) * | 2011-08-16 | 2016-10-26 | 株式会社リコー | 画像検査装置、画像形成装置、画像検査方法及び画像形成システム |
JP5924020B2 (ja) * | 2012-02-16 | 2016-05-25 | セイコーエプソン株式会社 | プロジェクター、及び、プロジェクターの制御方法 |
US8924316B2 (en) | 2012-07-31 | 2014-12-30 | Hewlett-Packard Development Company, L.P. | Multiclass classification of points |
US8760327B2 (en) * | 2012-10-25 | 2014-06-24 | Hewlett-Packard Development Company, L.P. | Coordinate compression using polynomials |
CN105245765A (zh) * | 2015-07-20 | 2016-01-13 | 联想(北京)有限公司 | 图像传感阵列及其排布方法、图像采集部件、电子设备 |
WO2017020150A1 (zh) * | 2015-07-31 | 2017-02-09 | 深圳市大疆创新科技有限公司 | 一种图像处理方法、装置及摄像机 |
CN107220925B (zh) * | 2017-05-05 | 2018-10-30 | 珠海全志科技股份有限公司 | 一种实时虚拟现实加速方法及装置 |
CN107665483B (zh) * | 2017-09-27 | 2020-05-05 | 天津智慧视通科技有限公司 | 免定标便捷的单目镜头鱼眼图像畸变矫正方法 |
DE102017222747A1 (de) * | 2017-12-14 | 2019-06-19 | Henkel Ag & Co. Kgaa | Beschädigungsfreies Ermitteln der Dicke von Haupthaar |
US11733773B1 (en) | 2020-12-29 | 2023-08-22 | Meta Platforms Technologies, Llc | Dynamic uniformity correction for boundary regions |
US11681363B2 (en) * | 2021-03-29 | 2023-06-20 | Meta Platforms Technologies, Llc | Waveguide correction map compression |
US11754846B2 (en) | 2022-01-21 | 2023-09-12 | Meta Platforms Technologies, Llc | Display non-uniformity correction |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61175780A (ja) | 1985-01-30 | 1986-08-07 | Hitachi Ltd | 画像の幾何学的歪補正方式 |
DE3843232A1 (de) | 1988-12-22 | 1990-06-28 | Philips Patentverwaltung | Schaltungsanordnung zur geometrischen bildtransformation |
JP2791231B2 (ja) * | 1991-04-17 | 1998-08-27 | 三菱電機株式会社 | X線画像診断装置の糸巻歪補正方法 |
JP2940736B2 (ja) | 1992-03-26 | 1999-08-25 | 三洋電機株式会社 | 画像処理装置及びこの画像処理装置における歪み補正方法 |
JPH11149549A (ja) | 1997-11-17 | 1999-06-02 | Toshiba Corp | 画像処理装置 |
JP4278800B2 (ja) | 1999-10-27 | 2009-06-17 | 株式会社ミツトヨ | 撮像空間の幾何学的歪み解消方法 |
JP2002074351A (ja) * | 2000-08-30 | 2002-03-15 | Minolta Co Ltd | 歪み補正装置およびその方法ならびに歪み補正プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2002230572A (ja) | 2000-11-28 | 2002-08-16 | Monolith Co Ltd | 映像効果方法と装置および画像補間方法と装置 |
US7126616B2 (en) * | 2001-06-12 | 2006-10-24 | Silicon Optix Inc. | Method and system for processing a non-linear two dimensional spatial transformation |
JP4378168B2 (ja) | 2001-07-12 | 2009-12-02 | ディーエックスオー ラブズ | 光学系を使用して出力されたカラーイメージの色収差を補正する方法およびシステム |
FR2827459B1 (fr) * | 2001-07-12 | 2004-10-29 | Poseidon | Procede et systeme pour fournir a des logiciels de traitement d'image des informations formatees liees aux caracteristiques des appareils de capture d'image et/ou des moyens de restitution d'image |
JP4144292B2 (ja) | 2002-08-20 | 2008-09-03 | ソニー株式会社 | 画像処理装置と画像処理システム及び画像処理方法 |
-
2003
- 2003-01-30 JP JP2003022642A patent/JP2004234379A/ja active Pending
-
2004
- 2004-01-21 US US10/760,674 patent/US7352915B2/en not_active Expired - Fee Related
-
2007
- 2007-10-29 US US11/926,714 patent/US7418155B2/en not_active Expired - Fee Related
- 2007-10-30 US US11/929,575 patent/US7424172B2/en not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008512767A (ja) * | 2004-09-09 | 2008-04-24 | シリコン オプティックス インコーポレイテッド | 一般的な2次元空間変換の表現システム及び方法 |
JP2008526055A (ja) * | 2004-12-07 | 2008-07-17 | シリコン オプティックス インコーポレイテッド | 動的ワープマップ生成システムおよび方法 |
JPWO2007108081A1 (ja) * | 2006-03-20 | 2009-07-30 | 富士通株式会社 | 撮影装置、撮影方法及びプログラム、撮影装置のテーブル作成装置及び方法、映像処理装置及び方法 |
WO2007108081A1 (ja) * | 2006-03-20 | 2007-09-27 | Fujitsu Limited | 撮影装置、撮影方法及びプログラム、撮影装置のテーブル作成装置及び方法、映像処理装置及び方法 |
JP2008079202A (ja) * | 2006-09-25 | 2008-04-03 | Sony Corp | 画像処理装置および画像処理方法、並びにカメラシステム |
JP2008140401A (ja) * | 2007-12-14 | 2008-06-19 | Sanyo Electric Co Ltd | 運転支援装置 |
US8242975B2 (en) | 2008-01-10 | 2012-08-14 | Canon Kabushiki Kaisha | Image processing method, image processing apparatus, and system |
JP2009177651A (ja) * | 2008-01-26 | 2009-08-06 | Sanyo Electric Co Ltd | 歪補正装置 |
US8335398B2 (en) | 2008-01-26 | 2012-12-18 | Sanyo Electric Co., Ltd. | Zoom lens distortion correcting apparatus |
JP2009230688A (ja) * | 2008-03-25 | 2009-10-08 | Mega Chips Corp | 画像処理装置 |
US8537244B2 (en) | 2009-12-16 | 2013-09-17 | Samsung Electronics Co., Ltd. | Image processing apparatus and method, and computer-readable medium having stored thereon computer program for executing the method |
US8952973B2 (en) | 2012-07-11 | 2015-02-10 | Samsung Electronics Co., Ltd. | Image signal processor and method of operating the same |
JP2015198279A (ja) * | 2014-03-31 | 2015-11-09 | ヤマハ株式会社 | データ復元装置、およびデータ生成方法 |
JP2015226149A (ja) * | 2014-05-27 | 2015-12-14 | 三菱電機株式会社 | 画像処理システム、撮像装置及び記録装置 |
Also Published As
Publication number | Publication date |
---|---|
US7418155B2 (en) | 2008-08-26 |
US20080063292A1 (en) | 2008-03-13 |
US20080062288A1 (en) | 2008-03-13 |
US20040207733A1 (en) | 2004-10-21 |
US7352915B2 (en) | 2008-04-01 |
US7424172B2 (en) | 2008-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004234379A (ja) | 画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置 | |
JP4144292B2 (ja) | 画像処理装置と画像処理システム及び画像処理方法 | |
US7596286B2 (en) | Image processing apparatus, image processing system, imaging apparatus and image processing method | |
CN100418358C (zh) | 像素插值装置及照相机装置 | |
TW409210B (en) | Continuous tone compression/decompression apparatus and method, data process apparatus and device, and memory media for storing the programs executing these methods | |
JP4337463B2 (ja) | 画像処理装置、画像処理システム、撮像装置および画像処理方法 | |
US8928782B2 (en) | Image processing device and image capture device | |
US20210090220A1 (en) | Image de-warping system | |
JP4285575B2 (ja) | 画像処理装置とカメラシステム及び画像処理方法 | |
US7269785B1 (en) | Digital manipulation of video in digital video player | |
US20090091585A1 (en) | Screen enlargement/reduction device | |
JP4720626B2 (ja) | 画像処理システム、画像処理方法及びプログラム | |
JP2005063154A (ja) | 画像処理装置、画像処理システム、撮像装置および画像処理方法 | |
JP4803224B2 (ja) | 画像処理装置、画像処理システム、撮像装置および画像処理方法 | |
JP2004080427A (ja) | 撮像装置、及び画像形式変換方法 | |
JP3632993B2 (ja) | 電子ズーム装置及び電子ズーム方法 | |
JP2002101296A (ja) | 画像処理方法及び画像処理装置 | |
JP3882828B2 (ja) | 電子ズーム装置及び電子ズーム方法 | |
JP2009065323A (ja) | 画像処理装置、画像処理方法、撮像装置および撮像方法 | |
JP4465843B2 (ja) | 画像処理装置および方法、並びに記録媒体 | |
JP2000069280A (ja) | 画像信号形成装置及び方法、画素補間装置及び方法並びに記憶媒体 | |
JP2008079202A (ja) | 画像処理装置および画像処理方法、並びにカメラシステム | |
JPH07177408A (ja) | 信号処理装置 | |
GB2373950A (en) | Image processing apparatus and method, and recording medium | |
JPH06225212A (ja) | デジタル画像信号の補間方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070502 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070605 |