説明

画像処理機能を備える撮像装置

【課題】高速な画像処理機能を備えた解像度の高い撮像装置を提供する。
【解決手段】撮像装置100は、マトリクス状に配置され、それぞれが受光した光の量を電気量に変換する画素である複数の受光回路101と、各受光回路101で得られた電気量の値を、各受光回路101に対応付けて保持するメモリ302と、マトリクスの列ごとに備えられる処理部103とを備え、処理部103は、メモリ302に保持されているうち少なくとも一部の列方向に連続する複数個の値を、保持するための作業用メモリ203と、作業用メモリ203に保持されている値を用いて、所定の画像処理を行う画像処理回路204とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理機能を備えた撮像装置、特に、視線検出機能をもつ画素並列構成のVision Chipに好適な撮像装置に関する。
【背景技術】
【0002】
視線情報は、計算機への情報入力方法などとして有用なユーザインタフェースであることが知られているが、現在の一般的な視線検出装置はビデオカメラと画像処理用の計算機からなる高価で大掛かりなシステムである。そのため、その応用は学術研究などの特殊な分野に限られているのが現状である。また眼球運動には、サッケード(急速眼球運動)と呼ばれる、角速度が600[deg/s]にも達する非常に高速なものがあることが知られている。このサッケードは、無意識に起こる視線の跳躍であり、ユーザインタフェースへの応用が有用であることが提案されているが(非特許文献1、2参照)、その速度のために、60Hz程度のビデオレートでの視線検出では追尾が不可能である。高速度カメラを用いてサッケードの検出・追尾に対応したシステムも存在するが、システムが物理的に大規模・高価であり、また視線情報生成までの遅延(レイテンシ)が大きく、リアルタイムでの検出は非現実的である。発明者らは、画素ごとに受光素子と処理回路を置く、いわゆるVision Chipの構成により、サッケードに対応した視線検出・追尾のための高機能イメージセンサのアーキテクチャを検討・実装し、基礎的な評価を行ってきた(非特許文献3、4参照)。
【非特許文献1】J.Triesch et al.: “What you see is what you need,” Journal of Vision, Vol.3, No.1, pp.86-94 (Feb. 2003).
【非特許文献2】S.S.Intille: “Change Blind Information Display for Ubiquitous Computing Environments,” Proc. of UbiComp2002, pp.91-106 (Sep. 2002).
【非特許文献3】J.Akita et al.: “Vision Chip Architecture for Detecting Line of Sight Including Saccade”, IEICE Transactions on Electronics, Vol.E89-C, No.11, pp.1605-1611 (Nov. 2006).
【非特許文献4】高木宏章・秋田純一: “急速眼球運動対応の視線検出機能を持つVision Chipの試作と評価”, 映像情報メディア学会技術報告, Vol.30, No.32, pp.17-20 (June 2006).
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、画素ごとに受光素子と処理回路を置く構成では、画素並列構成をとるため画素の面積が大きく、画素数が16×16と極めて少ないという問題があり、解像度が低いため、高精度な視線の検出が困難であるという課題がある。
【0004】
上記課題に鑑み、本発明は、VGA程度の解像度を実現し急速眼球運動に対応する視線検出機能を持つVision Chip、すなわち、高速な画像処理機能を備えた解像度の高い撮像装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明の撮像装置は、画像処理機能を備える撮像装置であって、マトリクス状に配置され、それぞれが受光した光の量を電気量に変換する画素である複数の受光回路と、各前記受光回路で得られた電気量の値を、各前記受光回路に対応付けて保持するメモリと、前記マトリクスの列ごとに備えられる処理部とを備え、前記処理部は、前記メモリに保持されているうち少なくとも一部の列方向に連続する複数個の値を保持するための作業用メモリと、前記作業用メモリに保持されている値を用いて、所定の画像処理を行う画像処理回路とを備えることを特徴とする。
【0006】
また、本発明において、前記作業用メモリは、前記マトリクスの各列において処理対象となる画素を中心として列方向に連続する3個の値を保持するメモリ領域を有し、前記撮像装置は、さらに、前記各列において同一行の画素が並行処理されるよう、クロックごとに各列で処理対象となる画素を行方向にシフトし、処理対象となる画素を中心として列方向に連続する3画素に対応する各前記メモリに保持されている値を読み出して、各前記メモリに対応する前記作業用メモリに書き込むメモリコントローラを備え、各列の前記画像処理回路は、同一行の画素について並行して画像処理を行い、各前記作業用メモリに保持されている列方向に連続する3画素の値と、前記列の両側に隣接する列の各処理対象画素に対応する作業用メモリに保持されている値とを用いて画像処理を行い、前記メモリコントローラは、列方向に連続する前記3画素の中心に位置する画素に対応した前記メモリに、前記画像処理回路による画像処理の結果を書き込むとしてもよい。
【発明の効果】
【0007】
以上のように本発明によれば、視線検出のための処理を行う画像処理回路を列ごとに配置する、いわゆる列並列構成をとることで、VGA程度の高い解像度とサッケードに対応可能な高速処理を両立することができる列並列構成Vision Chipのアーキテクチャを構築することができるという効果がある。
【発明を実施するための最良の形態】
【0008】
(実施の形態1)
図1は、画像処理回路を列ごとに配置する、いわゆる列並列構成をとる本発明の撮像装置100の構成を示すブロック図である。同図に示すように、撮像装置100は、複数の受光回路(PIX)101、メモリ(MEM)102、及び処理部103を備えている。受光回路101は、撮像領域内にマトリクス状に配置され、受光した光の輝度を電気量である電圧値(又は電流値)に変換する。メモリ102は、受光回路101の列ごとに行と同数備えられ、各受光回路101で受光された光の輝度を示す値を保持する。処理部103は、受光回路101の列ごとに備えられ、隣接する列の処理部103から得られる値を参照して中心画素と隣接4画素とからなる画素の画像処理を行う。
【0009】
図2(a)及び図2(b)は、眼球に赤外光を照射して赤外線カメラで撮影した画像の一例を示す図である。図2(a)に示すように、この眼球の赤外画像には、虹彩の中の黒い丸い領域である瞳孔202と、赤外光の角膜反射に伴うプルキニエ像201と呼ばれる白い輝点が存在する。この両者の位置関係から、図2(b)のように視線を求めることができる。すなわち視線を求めるためには、眼球の赤外画像の中から、黒と白の円形領域の中心点を求めることができればよいことになる。
【0010】
発明者らは、これまでの考察・検討とシミュレーションにより、以下の5つの処理のステップによって視線検出に必要な瞳孔202とプルキニエ像201の中心を求めることができることを示した。
【0011】
(1)ある閾値以上の輝度の検出によるプルキニエ像の抽出
(2)プルキニエ像領域の収縮処理と、その消去点の検出
(3)ある閾値以下の輝度の検出とプルキニエ像との論理和による瞳孔の検出
(4)瞳孔領域の数段階の拡大処理
(5)瞳孔領域の収縮処理と、その消去点の検出
【0012】
すなわち視線検出のための画像処理は、画素の輝度の閾値との比較のための比較器、収縮処理・拡大処理を行うオートマトン、消去点の検出とその座標の生成回路、によって実現することができることになる。
【0013】
なお、収縮処理とは、プルキニエ像や瞳孔のような円形領域の最外周の画素列を順次消去し、最後に残った1画素を円形領域の中心と判定する処理のことをいう。消去点とは、収縮処理によって最後に残った画素の位置をいう。
【0014】
図3は、視線検出のための列並列処理アーキテクチャである撮像装置100の1列分の構成を示す図である。1列分の回路は、フォトダイオードと増幅回路からなる受光回路(PIX)301、図1に示したメモリ(MEM)102を構成し、各画素に対応する輝度を0または1で表すフラグを記憶するメモリ(MEM)302、二値化や収縮・拡大処理などを行う処理部(PE:Processing Element)204、および収縮・拡大の過程で、この列の処理対象となる画素(i,j)、およびその上(i, j-1)と下(i, j+1)の画素のフラグを保持する作業用メモリWM(i,j)203, WM(i, j-1)203, WM(i, j+1)203からなる。
【0015】
撮像装置100において、受光回路(PIX)301は請求項でいう「マトリクス状に配置され、それぞれが受光した光の量を電気量に変換する画素である複数の受光回路」の一例であり、処理部103は「前記マトリクスの列ごとに備えられる処理部」の一例である。また、作業用メモリWM(i,j)203, WM(i, j-1)203, WM(i, j+1)203は、「前記メモリに保持されているうち少なくとも一部の列方向に連続する複数個の値を保持するための作業用メモリ」の一例であり、処理部(PE)204は、「前記作業用メモリに保持されている値を用いて、所定の画像処理を行う画像処理回路」の一例である。
【0016】
なお各列のPIX301とMEM302は画素平面の行数分だけあり、またPE204は両隣の列の、処理対象の画素のフラグを保持する作業メモリWM(i-1, j)205, WM(i+1, j)205にも接続されている。また処理部(PE)204は、消去点の検出およびその点の座標の生成に必要な射影線の生成も行う。以下に、各部の詳細を述べる。
【0017】
図4は、受光回路(PIX)301の一例を示す図である。受光回路(PIX)301は、一般的な3Tr型のAPS(Active Pixel Sensor)構造をとり、受光素子PDと、受光素子PDで発生した電荷を蓄積するコンデンサ(図示されず)と、前記コンデンサを一定電圧にリセットしておくためのリセットトランジスタTr1と、前記コンデンサに蓄積された電荷を増幅する増幅トランジスタTr2と、増幅後の信号を列信号線Dに出力する行選択トランジスタTr3とを備える。この受光回路301は、制御信号RSELで選択された場合に、輝度に応じた電圧を列信号線Dに出力する。
【0018】
メモリ(MEM)302は1ビットのフラグを記憶するが、後述の処理部(PE)204との接続において、読み出しと書き込みを同一サイクルで行う必要があるため、2ポート構成のSRAM(static RAM)とする。
【0019】
作業用メモリ(WM)203は、1つの列につき3個配置される。作業用メモリWM(i,j)203, WM(i, j-1)203, WM(i, j+1)203は、「前記マトリクスの各列において処理対象となる画素を中心として列方向に連続する3個の値を保持するメモリ領域を有する」一例であり、その内訳は、処理部(PE)204が上から順に1行分ずつ後述の遷移処理を行う対象の画素の、遷移処理前のフラグを保持するWM(i, j)203と、その上の画素のフラグを保持するWM(i, j-1)203、およびその下の画素のフラグを保持するWM(i, j+1)203である。PE204の処理対象が次の行に移ると、それに伴ってWM(i, j-1)〜WM(i, j+1)の値は順に1つシフトされ、現在のWM(i, j-1)の値が直前のWM(i, j)の値に、現在のWM(i, j)の値が直前のWM(i, j+1)の値になる。現在のWM(i, j+1)の値は、新たにメモリ(MEM)から読み込む。処理部(PE)204が処理の対象とする画素のフラグの値は、処理対象の画素とその上下の3画素分のみであるため、作業用メモリ203はこのように3ビットのシフトレジスタの構成をとればよいことになる。
【0020】
図5は、処理部(PE)204のより詳細な構成を示す図である。図5のように処理部(PE)204は、以下の4つの要素からなる。
【0021】
1.フラグ生成回路(FG)403
2.メモリアクセス制御回路(MC)401
3.拡大・収縮を行うためのオートマトン回路(A)404
4.X軸・Y軸への射影線生成回路(PG)402
【0022】
1.のフラグ生成回路(FG)403は、前述の処理ステップ(1)と(3)において、順に選択される受光回路(PIX)301の出力電圧と閾値Vrefを電圧比較器によって比較し、瞳孔202あるいはプルキニエ像201を示すフラグを生成する。生成されたフラグは、順次対応するメモリ(MEM)302に保存される。
【0023】
2.のメモリアクセス制御回路(MC)401は、請求項でいう「前記各列において同一行の画素が並行処理されるよう、クロックごとに各列で処理対象となる画素を行方向にシフトし、処理対象となる画素を中心として列方向に連続する3画素に対応する各前記メモリに保持されている値を読み出して、各前記メモリに対応する前記作業用メモリに書き込み、列方向に連続する前記3画素の中心に位置する画素に対応した前記メモリに、前記画像処理回路による画像処理の結果を書き込むメモリコントローラ」の一例である。メモリアクセス制御回路(MC)401は、前述の処理ステップ(2)、(4)、(5)において、順に処理対象となる行の1つ上の画素に対応するメモリ(MEM)302のフラグを読み出して作業メモリWM(i, j-1)203に格納するとともに、3.のオートマトン回路(A)404による処理結果Tを処理対象となっている画素PIX(i, j)に対応するメモリ(MEM)302に書き込む制御を行う。
【0024】
3.のオートマトン回路(A)404は、「同一行の画素について並行して画像処理を行い、各前記作業用メモリに保持されている列方向に連続する3画素の値と、前記列の両側に隣接する列の各処理対象画素に対応する作業用メモリに保持されている値とを用いて画像処理を行う各列の前記画像処理回路」の一例である。オートマトン回路(A)404は、処理対象の画素PIX(i, j)及びその隣接4近傍画素PIX(i, j-1)、PIX(i, j+1)、PIX(i-1, j)、PIX(i+1, j)のフラグを格納する作業メモリWMの値を用いて拡大処理または収縮処理の遷移の結果Tを求める。例えば、オートマトン回路(A)404は、瞳孔に対する収縮処理の場合、中心画素と4近傍のすべてが“1”である場合に中心を“1”とする処理を行う。すなわち、中心と4近傍のうち1つでも“0”が含まれる場合には中心を“0”とする処理を行う。遷移の結果Tとは、すなわち、このような処理による中心のフラグの値である。図6は、図5に示したオートマトン回路(A)による収縮処理の遷移の一例を示す図である。図6(a)は、例えば、収縮処理における遷移の一例を示す図である。図6(a)では、フラグ生成回路(FG)によって2値化された値が適切なアドレスのメモリ(MEM)に書き込まれている。例えば、瞳孔の位置にはフラグ“1”が、それ以外の位置にはフラグ“0”が書き込まれている。図中、斜線で示す画素が瞳孔の位置である場合には、その画素に対応するメモリ(MEM)にフラグ“1”が書き込まれる。図6(a)の画像がN行M列である場合には、Nクロックで1画素幅の円の外周がフラグ“0”に反転される。図6(b)は、例えば、図6(a)に示した収縮処理の遷移の後、さらに遷移を繰り返した場合の一例を示す図である。図6(b)においても図6(a)の場合と同様に、Nクロックで、さらに1画素幅の円の外周がフラグ“0”に反転される。このようにして、収縮処理では、瞳孔などの円形画像が外周から順次、1画素の幅で削り取られ(“0”に反転していき)、徐々に縮小されることになる。図6(c)は、円形画像が外周から1画素の幅で順次、縮小され、円の中心となる最後の1画素が残った場合の一例を示す図である。同図に置いて円で囲まれた画素が消去点(中心)である。
【0025】
4.の射影線生成回路(PG)402は、処理対象の画素のフラグの、X軸とY軸への射影像を生成する。これは、瞳孔の中心(“1”の画素)のX軸座標とY軸座標をそれぞれ算出する、つまり、“1”の位置(X軸座標とY軸座標)を検出するためである。図7(a)は、X軸への射影線生成回路(PG)の回路構成の一例を示す図である。X軸への射影像Pxは、図7(a)のように処理部(PE)204による1列分のすべての行の処理の期間の、オートマトン回路(A)404の出力Tの論理和を順にとることで求めることができる。図7(b)は、Y軸への射影線生成回路(PG)の回路構成の一例を示す図である。またY軸への射影像Pyは、図7(b)のようにすべての列の処理部(PE)204のオートマトン回路(A)404の出力T0, T1, T2,…TN-1の論理和を、順に接続されるORゲートによって求めることによって求められる。
【0026】
ここまでに述べた処理を順に行うために、受光回路(PIX)301の選択とフラグの生成、メモリ(MEM)の選択、拡大・収縮の処理、X軸・Y軸へのフラグの射影像からの消去点の検出と、その座標の生成をプライオリティ・エンコーダによって行う処理などを、全体の制御回路が制御する。
【0027】
以上のように、ここまでに述べた、視線検出のための列並列構成Vision Chipアーキテクチャの大まかな性能の見積もりを、動作速度と解像度の観点から述べる。
【0028】
Vision Chipを構成する画素の行または列の数をNとする。処理ステップ数の大半を占める収縮処理では、処理部(PE)204のオートマトンの1回の遷移によって円形領域の両側1画素分収縮するため、最大でN/2回の遷移が必要となる。この収縮処理が瞳孔とプルキニエ像の両者に対して必要であるため、最大でN回の遷移が必要となることになる。また1列分の処理部PEの処理はN行に対して順に行われる。これから、1フレーム分の視線検出に必要な瞳孔・プルキニエ像の座標の生成を行うための収縮処理には、N×N回のオートマトンAの遷移が必要となることになる。したがって視線検出・追尾のフレームレートをFとすると、処理部PEの動作クロック周波数fは次式によって求められる。
【0029】
サッケードの検出・追尾のためにはフレームレートF=500[Hz]程度が必要である(非特許文献4参照。)ので、VGA解像度(640×480画素)を実現するためには、N=480としてf=F×N×N =115[MHz]程度のクロック周波数で動作する必要がある。この動作速度は、近年の0.35μm程度あるいはそれより微細なCMOSプロセスによって十分実現可能な速度であると考えられる。
【0030】
1列分の回路の中で最も大きいのは処理部(PE)である。例えばCMPで利用できるaustriamicrosystems 0.35μm-optプロセスの論理ゲートのスタンダードセルの高さは20μm程度であり、このスタンダードセルを横に並べて処理部(PE)を作成すると、配線領域を含めて、1列分の幅はこの20μmよりもやや大きい25μm程度となると考えられる。またメモリMEMや受光回路PIXの幅は、この処理部PEの幅にあわせて設計することになる。したがってQVGA解像度(320×240画素)であれば全体の幅は25[μm]×240=6[mm]となり、この解像度は十分実現可能であると考えられる。またもう2世代微細な0.18μmプロセスを利用すれば、同一チップ面積でVGA解像度(640×480画素)も実現可能であると考えられる。このように、画像の抽象量を抽出するタイプのVision Chipとしては非常に高解像度なものが実現可能であると考えられる。
【0031】
上記のように、本発明によれば、高解像度化のために列並列処理構成をとり、かつ、サッケード(急速眼球運動)の検出・追尾にも対応できる、高速な視線検出機能をもつVision Chipを得ることができた。大まかな見積もりの結果、十分実現可能な動作クロック周波数によってVGA解像度クラスの視線検出Vision Chipが実現可能である。
【0032】
なお、上記実施の形態では、オートマトン回路(A)404によって瞳孔やプルキニエ像などの円の中心を検出する処理について説明したが、これは、画像処理の一例に過ぎず、本発明はこれに限定されない。本発明の撮像装置によれば、中心画素とその周辺4画素の値を用いて、例えば、画像の平滑化、エッジの検出などを行うことができる。例えば、画像の平滑化の場合には、周辺4画素の平均値を中心画素の値とすることにより実現することができる。また、エッジの検出の場合には、隣接する行間で行方向に対応する作業用メモリの値の差分を算出し、差分値が急激に変化した場合に行方向にエッジが存在することを判定することができる。列方向についても、隣接する列間で、列方向に対応する作業用メモリの値の差分を算出し、差分値が急激に変化した場合に列方向にエッジが存在することを判定することができる。これにより、車載カメラとして車線の検出などに用いることができるという効果がある。
【0033】
(実施の形態2)
上記実施の形態1では、サッケードを利用したユーザインタフェースのための撮像装置について説明したが、本実施の形態2では、車載カメラに搭載され、車輌の進行方向を横切る障害物を検出するための撮像装置について説明する。従来では車載カメラで取り込んだ画像をソフトウェアで処理する。しかし、従来のやり方ではフレームレートや処理速度が制限されるため、車輌が低速で走行している場合にしか障害物を検知することができないという問題がある。
【0034】
図8は、オプティカル・フロー演算機能を備える列並列処理アーキテクチャである撮像装置800の1列分の回路構成を示す図である。
【0035】
撮像装置800は、方向別加算用メモリ(DM)801〜809、受光回路810、セレクタ(SEL)811、処理回路812、セレクタ(SEL)813、フレームメモリ(MEM)814、フレームメモリ(MEM)815、ブロック用メモリ(BM)816、ブロック用メモリ(BM)820、セレクタ(SEL)830及びセレクタ(SEL)831を備える。ブロック用メモリ820は、それぞれ1画素分の画素値を記憶するブロック用メモリ821〜829から構成される。ただし、ブロック用メモリ821〜823は、左隣の列に備えられる1列分のブロック用メモリであり、注目している当該列と左隣の列とで共有するメモリ資源である。また、ブロック用メモリ827〜829は、右隣の列に備えられる1列分のブロック用メモリであり、注目している当該列と右隣とで共有するメモリ資源である。
【0036】
受光回路810は、行の各画素に相当する数のPDからなり、各PDは受光した光を、それぞれ1画素の画素値を表す電気量に変換する。
【0037】
セレクタ813は、受光回路810で受光した各PDの画素値が、フレームごとに、各受光回路PDに対応付けてフレームメモリMEMに書き込まれるよう、フレームメモリ814、815の書き込みラインを選択する。フレームメモリ814とフレームメモリ815とには、フレームごとに新たな画像データが交互に書き込まれる。すなわち、セレクタ813は、フレームメモリ814に(t−1)番目のフレームが書き込まれ、フレームメモリ815にt番目のフレームが書き込まれ、当該フレーム間の処理が終了した場合には、(t−1)番目のフレームを書き込んだフレームメモリ814に次のフレームである(t+1)番目のフレームを書き込むように制御される。フレームメモリ815にt番目のフレームが書き込まれているときに、フレームメモリ814に(t+1)番目のフレームが書き込まれると、セレクタ830はフレームメモリ815からt番目のフレームの画素値がブロック用メモリ816に読み出されるようにフレームメモリ815の読み出し線を選択する。また、セレクタ831は、フレームメモリ814に(t+1)番目のフレームが書き込まれると、ブロック用メモリ824〜826に、フレームメモリ814から(t+1)番目のフレームの画素値が読み出されるようにフレームメモリ814の読み出し線を選択する。
【0038】
フレームメモリ814、815は、「前記複数の受光回路から構成される現在のフレームと直前のフレームにおける前記電気量の値を保持する記憶容量を有する前記メモリ」の一例である。
【0039】
フレームメモリ814は、行の各画素における画素値を記憶するための行の数に等しいメモリMEMからなり、直前のフレームである(t−1)番目のフレームの1列分の画素値を記憶する。
【0040】
フレームメモリ815は、フレームメモリ814と同数のメモリMEMからなり、現在のフレームであるt番目のフレームの1列分の画素値を記憶する。
【0041】
ブロック用メモリ816は、フレームメモリ814の1つのMEMから読み出された、例えば、3行3列のブロックの中央の1画素の画素値を記憶する。
【0042】
ブロック用メモリ820は、t番目のフレームの例えば、3行3列のブロックの各画素値を記憶する3行3列のブロック用メモリBM821〜829から構成される。このうち、ブロック用メモリ824〜826は、受光回路810で受光された当該列のt番目フレームのうち、3行分の画素値を記憶する。ブロック用メモリ825は、t番目のフレームにおいて、ブロック用メモリ816に画素値が記憶されている画素と同じ位置の画素値を記憶する。ブロック用メモリ821〜823は、それぞれ図示しない左隣の列のフレームメモリMEMに記憶されている左隣の列のt番目のフレームのうち、ブロック用メモリ824〜826に画素値が記憶されている各画素の左隣の画素の画素値を記憶する。ブロック用メモリ827〜829は、それぞれ図示しない右隣の列のフレームメモリMEMに記憶されている右隣の列のt番目のフレームのうち、ブロック用メモリ824〜826のそれぞれに画素値が記憶されている各画素の右隣の画素の画素値を記憶する。
【0043】
すなわち、ブロック用メモリ821は、t番目のフレームで、ブロック用メモリ825が画素値を記憶している画素(=3行3列のブロックの中央の画素)に対して左上に位置する画素の画素値を記憶する。ブロック用メモリ822は、t番目のフレームで、3行3列のブロックの中央の画素に対して左に位置する画素の画素値を記憶する。ブロック用メモリ823は、t番目のフレームで、3行3列のブロックの中央の画素に対して左下に位置する画素の画素値を記憶する。
【0044】
また、ブロック用メモリ824は、3行3列のブロックの中央の画素に対して真上に位置する画素の画素値を記憶する。ブロック用メモリ825は、t番目のフレームで、3行3列のブロックの中央の画素の画素値を記憶する。ブロック用メモリBM826は、t番目のフレームで、3行3列のブロックの中央の画素に対して真下に位置する画素の画素値を記憶する。
【0045】
すなわち、ブロック用メモリ827は、t番目のフレームで、3行3列のブロックの中央の画素に対して右上に位置する画素の画素値を記憶する。ブロック用メモリBM828は、t番目のフレームで、3行3列のブロックの中央の画素に対して右に位置する画素の画素値を記憶する。ブロック用メモリ829は、t番目のフレームで、3行3列のブロックの中央の画素に対して右下に位置する画素の画素値を記憶する。
【0046】
処理回路812は、「前記方向別加算用メモリを作業用メモリとして用いながら、前記現在及び直前のフレームにおける電気量の値から、ブロックマッチング法によってオプティカルフローを算出する前記画像処理回路」および「オプティカルフローの方向を示す8方向または9方向について、N行N列(ただし、Nは3以上の自然数)の画素からなるブロックによるブロックマッチングを行うことで、前記画像の動きを示す方向として、前記8方向または前記9方向の1つを特定し、特定した方向を示す値を出力する前記画像処理回路」の一例である。この処理回路812は、受光回路810の列ごとに備えられ、隣接する列のフレームメモリ及びブロック用メモリなどから得られる値を参照して中心画素と隣接8画素とからなる画素のオプティカル・フロー演算を行う。
【0047】
セレクタ811は、処理回路812から9ライン並列で入力される差分絶対値を加算するための方向別加算用メモリ801〜809の行を選択する。
【0048】
方向別加算用メモリ801〜809は、「前記現在及び直前のフレームでの画像の動きを示すオプティカルフローを算出するための一時的な値を保持するための方向別加算用メモリ」の一例であり、静止位置も含めた9方向の探索を並列処理で行うために、1行につき9個の加算用メモリを3行分備える。各行の加算用メモリは、それぞれ上下のブロックの方向別の差分絶対値の和を記憶する。また、方向別加算用メモリ801は、ブロック用メモリ816に画素値が記憶されている直前フレームの画素値と、現在のフレームで直前フレームの画素と同位置にある画素の画素値との差分の絶対値を記憶し、順次加算するための記憶容量を有するメモリである。各行の方向別加算用メモリ802は、直前フレームの画素の画素値と、その右方向にある現在のフレーム画素の画素値との差分の絶対値を加算するための記憶容量を有するメモリである。
【0049】
以上のように、撮像素子と処理回路とを結合することにより、高解像度でかつ高速な画像処理を実現することができるので、車輌と障害物とが両方とも高速で移動している場合でも、障害物を検知することが可能になる。
【0050】
図9は、車輌と障害物とが両方とも所定の速度で移動している場合に、衝突前に停止できるよう障害物を検出するために必要な撮像装置800のフレームレートを算出するための図である。
【0051】
例えば、60km/hで走行中の車輌が、40m前方を25km/hで横切る自転車を検知する状況を想定する。この場合、車輌が自転車を検知してから停止するまでに要する停止距離は、空走距離17m+制動距離27m=44mである。この場合、車輌が停止するまでの時間は、2.64秒であり、車輌が停止するまでの2.64秒間で25km/hの自転車は約20m進む。車載カメラの撮影範囲を車輌の前方44mにおいて20mの幅であるとすると、撮像装置800に必要なフレームレートは200fps(frame per second)である。
【0052】
図10は、撮像装置800のオプティカル・フロー演算のために必要なブロックサイズ及びフレームレートを算出するための説明図である。
【0053】
撮像装置800の撮影画像をVGA(640×480画素)で考える。図に示すように、1画素の大きさは、20m÷640=31.25(mm/pixel)となる。3×3画素のブロックの大きさは、94(mm)×94(mm)である。
【0054】
撮像装置800では、フレームレートが200fpsの場合、5msに1回走査を行う。また、自転車は5msで34.7mm進む。従って、自転車はフレームレートが200fpsのとき、1走査で約1画素画面を動くことになる。従って、フレームレートを200fpsとした場合、静止も含めて周囲9方向、静止を含めなければ周囲8方向に1画素分だけずらしたブロックを探索すればよいことになる。
【0055】
従来、動き検出の方法としては、勾配法やブロックマッチング法が知られている。しかし、勾配法では、対応点の検索を行う必要がないために計算量は少なくて済むが、輝度値が急激に変化するところではオプティカル・フローの誤差が大きいこと、雑音に弱いというデメリットがある。
【0056】
これに対し、ブロックマッチング法では、探索範囲を制限すればある程度低減することができるが、計算時間が膨大で、拡大・縮小・回転運動に弱いという問題がある。しかしながら、ブロックマッチング法では、計算が簡単であり、輝度値の急激に変化するところでもオプティカル・フローの誤差が小さく、雑音に強いというメリットがある。
【0057】
従って、本発明ではブロックマッチング法を用いてオプティカル・フロー演算を行う。
図11は、オプティカル・フローを説明する図である。オプティカル・フローとは、動画像における連続したフレーム間での濃度分布の移動をベクトルで表したものをいう。図11(a)に示すように、前フレームで任意の位置にあったブロックが、現フレームのどの位置に移動したかを示すものである。具体的には、前フレームにあったブロックが、現フレーム上で元の位置からどの方向にどれだけ移動したかをベクトルで示したものである。例えば、図11(b)では、前フレームのブロックの中心を始点として、現フレームのブロックの中心までの移動方向及び移動量をベクトルで示している。
【0058】
図12は、オプティカル・フローの算出方法を説明する図である。ここでは、ブロックマッチング法を用いたオプティカル・フロー算出方法について説明する。図12(a)は、(t−1)番目のフレーム画像を示している。図12(b)は、t番目のフレーム画像を示している。ブロックマッチング法では、t番目のフレームの前フレームである(t−1)番目の画像中の任意のブロックを参照ブロックとする。そして、図12(b)のように、現在のフレームであるt番目のフレームにおいて、同じパターンの画像を示すブロックを探索する方法である。前フレームのブロックと同じ画像を示すブロックが現フレームで見つかれば、前フレームのブロックが現フレームにおいて見つかった位置まで移動したものとして、移動量をベクトルであらわすことができる。
【0059】
図13は、本実施の形態のブロックマッチング法について説明する図である。本実施の形態2では、対象が1フレーム間で1画素しか動かないと仮定して、図13(a)に示すように、参照ブロックから周囲8方向にそれぞれ1画素ずらした範囲を探索するものとする。図13(a)では、破線で囲んだ3×3画素のブロックを参照ブロックとして、現フレームにおけるブロックの探索範囲を、前フレームにおける参照ブロックから周囲8方向にそれぞれ1画素ずらした5×5画素のブロック1201の範囲を探索する。
【0060】
図13(b)は、(t−1)番目のフレームにある参照ブロック1202と、t番目のフレームの探索範囲内にある同じ大きさのブロック1203を示す図である。t番目のフレームの探索範囲内で、参照ブロックがどの位置に移動したかを判定するには、参照ブロックと同じ大きさのブロックとで、同じ位置にある画素同士の輝度の差分の絶対値の総和をとる。すなわち、図13(b)の参照ブロック1202とt番目のフレームにあるブロック1203とで、同じ位置にある画素同士、すなわち、画素A1と画素B1、画素A2と画素B2、画素A3と画素B3、・・・、画素A9と画素B9のそれぞれの輝度の差分の絶対値の総和
【数1】

を算出する。この輝度の差分の総和を、図13(a)の参照ブロック1202を中心として、例えば、まず、一画素左上に位置する斜線のハッチングを施したブロック1203と参照ブロック1202とで、上記輝度差分の絶対値の総和を算出する。次に、ブロック1203を1画素だけ右にずらした位置、すなわち、参照ブロック1202の直上にある3行3列のブロックと差分の絶対値の総和を算出する。さらに、t番目のフレームのブロック1203をさらに1画素右にずらしたブロックと参照ブロック1202との差分絶対値の総和を算出する。次に、参照ブロック1202の左に位置するt番目のフレームの3行3列のブロック1203と参照ブロック1202との差分絶対値の総和を算出する。さらに、参照ブロック1202とt番目のフレームで同じ位置にある3行3列のブロック1203との差分絶対値の総和を算出する。同様にして、つぎには、t番目のフレームで参照ブロック1202の1画素だけ右に位置する3行3列のブロック1203と参照ブロック1202との差分絶対値の総和を算出し、さらに、t番目のフレームで参照ブロック1202の左下に位置するブロックとの差分絶対値の総和、t番目のフレームで参照ブロック1202の真下に位置するブロックとの差分絶対値の総和、t番目のフレームで参照ブロック1202の右下に位置するブロック1203との差分絶対値の総和を算出する。
【0061】
そして、ブロックマッチング法では、上記の9回の計算により算出された9個の差分絶対値の総和の中で、その総和が最小となるブロックに参照フレーム1202が動いたものと判断する。そして、参照ブロック1202から、輝度の差分の絶対値の総和が最小となるブロックへの方向を動きベクトルとする。
【0062】
上記の演算を本発明の撮像装置800では、列並列処理で行う。すなわち、処理回路812は、図8に示したように、画素の1列に1つ備えられているので、ブロックマッチングの処理を列ごとに行う。そして、行単位で上から順に処理を行う。
【0063】
この場合、画素単位に処理回路を備えて画素単位で行う「画素並列処理」と比較すると、処理速度が画素並列処理よりも少し遅くなるが、画素並列処理では画素及び処理回路が大きくなるという弊害があるのに対し、列並列処理では撮像部と処理回路とを分離することが可能になるので画素数を増やしても処理回路はそれほど大きくならないというメリットがある。
【0064】
図14は、列並列処理のブロックマッチングの手順の一例を示す図である。図14(a)は、同図左で(t−1)番目のフレームの参照ブロックを構成する1画素を示し、同図右でその画素位置から周囲8方向に1画素ずつずれた位置にある画素を含んで構成されるt番目フレーム上のブロックを示している。図14(b)は、図14(a)左で示した(t−1)番目のフレームの画素から一行下の1画素を示し、同図右でその画素位置から周囲8方向に1画素ずつずれた位置にある画素を含んで構成されるt番目フレーム上のブロックを示している。図14(c)は、図14(b)左で示した(t−1)番目のフレームの画素からさらに一行下の1画素を示し、同図右でその画素位置から周囲8方向に1画素ずつずれた位置にある画素を含んで構成されるt番目フレーム上のブロックを示している。図14(d)は、中央の列の処理回路が、図14(a)、(b)、(c)の順で、(t−1)番目のフレーム上の画素と、各図左に示したブロック内の各画素との画素値の差分絶対値の総和を算出することを示している。
【0065】
図14(d)に示すように、ブロックマッチングの演算処理を行う列は中央の列の処理回路812である。図では説明しないが、この列と並行してそれぞれ隣接するすべての列に備えられる処理回路で同じ演算が同時に実行されていることが前提である。図8に示した方向別加算用メモリ801〜809は3行分あり、1行目の9方向の方向別加算用メモリ801〜809は、それぞれ、図14(a)の画素に対する方向別の差分絶対値を記憶する。2行目の9方向の方向別加算用メモリ801〜809は、それぞれ、図14(b)の画素に対する方向別の差分絶対値を記憶する。3行目の9方向の方向別加算用メモリ801〜809は、それぞれ、図14(c)の画素に対する方向別の差分絶対値を記憶する。
【0066】
これらに記憶されている3行分の方向別加算用メモリ801〜809に、右隣の列と左隣の列の方向別加算用メモリ801〜809の方向別差分絶対値を加算し、方向別で差分の絶対値の総和が最小となる方向を算出することによって、3行3列のブロックのブロックマッチングを行うことができる。
【0067】
図14(a)に示すように、処理回路812は、まず、同図左に示す画素と、同図右に示すブロックを構成する9画素とのそれぞれの画素値の差分絶対値の総和を算出する。図14(a)、(b)及び(c)の左隣の列、右隣の列の各画素の画素値は、いずれも、隣の列と共有される。
【0068】
各処理回路812が実行する1列分の演算回数は、画素数X×Y、ブロックサイズN×Nとすると、
差分絶対値の計算回数 N2×Y回
方向別加算用メモリ801〜809への加算回数 9N2×Y回
最小値を算出する回数 Y回
となる。これに対し、動作可能なクロック周波数f[Hz]は、F[fps]をフレームレートとして
f=F×〔{N2×Y}+{9N2×Y}+Y〕
=F×Y×10N2[Hz]
となる。ここで、例えば、F=200[fps]、Y=480、N=3のとき、
f=200×480×10×32
≒8[MHz]
となり、一般的なCMOS回路で実現可能であることが分かる。
【0069】
なお、上記の説明では、フレーム間で静止している画素同士の画素値の差分の絶対値の総和も計算したが、直前フレームと現フレームとで同位置にある画素同士の画素値についての差分絶対値の計算を省略するとしてもよい。この場合、方向別加算用メモリの数も8個ですみ、探索方向の計算も8個で済むので、計算量もメモリ資源もともに節約することができる。
【0070】
静止位置にある画素のマッチングを省略する場合には、各処理回路812が実行する1列分の演算回数は、画素数X×Y、ブロックサイズN×Nとすると、
差分絶対値の計算回数 (N2−1)×Y回
方向別加算用メモリ801〜809への加算回数 8N2×Y回
最小値を算出する回数 Y回
となる。ここで、最小値を算出する場合に、7個の2値コンパレータを用いることによって、1クロックで一度に8方向の差分絶対値の総和の最小値を得ることができる。また、動作可能なクロック周波数f[Hz]は、F[fps]をフレームレートとして
f=F×〔{(N2−1)×Y}+{8N2×Y}+Y〕
=F×Y×9N2[Hz]
となる。ここで、例えば、F=200[fps]、Y=480、N=3のとき、クロック周波数f[Hz]は、
f=200×480×9×32
≒7[MHz]
ですみ、一般的なCMOS回路で十分実現可能となる。
【0071】
また、ここでは、3行3列の画素からなるブロックを探索の単位としたが、探索精度をより高めるために、例えば、5行5列の画素からなるブロックを探索の単位としてブロックマッチングを行うとしてもよい。この場合、ブロック用メモリが左右に一列ずつ増えることになるが、その分、処理精度か高くなる。また、それ以上の画素からなるブロック、例えば、N行N列(ただしNは自然数)の画素からなるブロックを探索の単位としてブロックマッチングを行うとしてもよい。
【0072】
図15は、実際の画像を用いたシミュレーションの一例を示す図である。同図では、上記撮像装置800で実際に動き検出が可能かどうかを調べるために、グレースケールのVGA静止画像を背景とした。各ブロックごとにどの方向へ動いたかを以下のように出力する。例えば、真下に動いた場合には、
【数2】

のように、出力する。
【0073】
同図では、ハッチングで示す直方体の上下の境界で、上記の出力が得られ、下方への動きが確認できた。この場合には、ハッチングで示す直方体は、実際の画像では黒一色である。このような場合には、背景の動きは検出されないので、階調が低くても検出可能である。
【0074】
図16は、実際の画像を用いたシミュレーションの他の例を示す図である。同図においてハッチングで示す直方体は、グレーである。この場合でも、直方体の左右の境界で動きが以下のように出力され、
【数3】

直方体の右方向への移動が確認できた。この例では、右斜め上下の移動方向を示す動きが出力された場合もある。この理由は、斜めに移動した時のブロックの方が、参照ブロックと似ているということもありうるからである。また、動きを検出する対象物の輝度に階調がある場合には、階調数16(4bit)以下では検出できないことが確認された。
【0075】
なお、上記実施の形態2では、フレームメモリ814とフレームメモリ815とに、新たなフレームの画像データを交互に書き込むよう制御したが、本発明はこれに限定されない。例えば、フレームメモリ814には、常にフレームメモリ815に書き込まれるフレームに対して直前のフレームが書き込まれるように制御するとしてもよい。この場合、セレクタ830及びセレクタ831は不要になり、ブロック用メモリ816には常にフレームメモリ814の画素値を記憶させ、ブロック用メモリ824〜826には常にフレームメモリ815から読み出された画素値を記憶させるようにしてもよい。
【0076】
なお、ブロック図(図1、図3、図5及び図8など)のブロックは典型的には集積回路であるLSIとして実現され、個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。例えばメモリ以外の機能ブロックが1チップ化されても良い。
【産業上の利用可能性】
【0077】
本発明は、サッケードを利用したユーザインタフェース等に適用できる。また、本発明は、撮影した画像に対して高速に高解像度で画像の平滑化及びエッジの検出を行う撮像装置に適用できる。さらに、本発明は車載用の移動障害物検知装置に適用できる。
【図面の簡単な説明】
【0078】
【図1】画像処理回路を列ごとに配置する、いわゆる列並列構成をとる本実施の形態1の撮像装置の構成を示すブロック図である。
【図2】(a)は、眼球に赤外光を照射して赤外線カメラで撮影した画像の一例を示す図である。(b)は、瞳孔とプルキニエ像との位置関係から、視線を求める方法を示す図である。
【図3】視線検出のための列並列処理アーキテクチャである撮像装置の1列分の構成を示す図である。
【図4】図1に示した受光回路(PIX)の回路構成を示すブロック図である。
【図5】図3に示した処理部(PE)のより詳細な構成を示す図である。
【図6】図5に示したオートマトン回路(A)による収縮処理の遷移の一例を示す図である。
【図7】(a)は、X軸への射影線生成回路(PG)の回路構成の一例を示す図である。(b)は、Y軸への射影線生成回路(PG)の回路構成の一例を示す図である。
【図8】本実施の形態2のオプティカル・フロー演算機能を備える撮像装置の1列分の回路構成を示す図である。
【図9】車輌と障害物とが両方とも所定の速度で移動している場合に、衝突前に停止できるよう障害物を検出するために必要な撮像装置のフレームレートを算出するための図である。
【図10】撮像装置のオプティカル・フロー演算のために必要なブロックサイズ及びフレームレートを算出するための説明図である。
【図11】(a)は、前フレームで任意の位置にあったブロックが、現フレームのどの位置に移動したかを示す図である。(b)は、前フレームのブロックの中心を始点として、現フレームのブロックの中心までの移動方向及び移動量をベクトルで示す図である。
【図12】(a)は、(t−1)番目のフレーム画像を示す図である。(b)は、t番目のフレーム画像を示す図である。
【図13】(a)は、参照ブロックから周囲8方向にそれぞれ1画素ずらした範囲を探索することを示す図である。(b)は、(t−1)番目のフレームにある参照ブロック1202と、t番目のフレームの探索範囲内にある同じ大きさのブロック1203を示す図である。
【図14】(a)左は(t−1)番目のフレームの参照ブロックを構成する1画素を示し、同図右はその画素位置から周囲8方向に1画素ずつずれた位置にある画素を含んで構成されるt番目フレーム上のブロックを示す図である。(b)は、図14(a)左で示した(t−1)番目のフレームの画素から一行下の1画素を示し、同図右でその画素位置から周囲8方向に1画素ずつずれた位置にある画素を含んで構成されるt番目フレーム上のブロックを示す図である。(c)は、図14(b)左で示した(t−1)番目のフレームの画素からさらに一行下の1画素を示し、同図右でその画素位置から周囲8方向に1画素ずつずれた位置にある画素を含んで構成されるt番目フレーム上のブロックを示す図である。(d)は、中央の列の処理回路が、図14(a)、(b)、(c)の順で、(t−1)番目のフレーム上の画素と、各図左に示したブロック内の各画素との画素値の差分絶対値の総和を算出することを示す図である。
【図15】実際の画像を用いたシミュレーションの一例を示す図である。
【図16】実際の画像を用いたシミュレーションの他の例を示す図である。
【符号の説明】
【0079】
101 受光回路(PIX)
102 メモリ(MEM)
103 処理部
201 プルキニエ像
202 瞳孔
203 作業用メモリWM(i, j)、WM(i, j-1)、WM(i, j+1)
204 処理部(PE)
205 作業メモリWM(i-1, j), WM(i+1, j)
301 受光回路(PIX)
302 メモリ(MEM)
401 メモリアクセス制御回路(MC)
402 射影線生成回路(PG)
403 フラグ生成回路(FG)
404 オートマトン回路(A)
800 撮像装置
801〜809 方向別加算用メモリ(DM)
810 受光回路
811、813、830、831 セレクタ(SEL)
812 処理回路
814、815 フレームメモリ(MEM)
816、820 ブロック用メモリ(BM)

【特許請求の範囲】
【請求項1】
画像処理機能を備える撮像装置であって、
マトリクス状に配置され、それぞれが受光した光の量を電気量に変換する画素である複数の受光回路と、
各前記受光回路で得られた電気量の値を、各前記受光回路に対応付けて保持するメモリと、
前記マトリクスの列ごとに備えられる処理部とを備え、
前記処理部は、
前記メモリに保持されているうち少なくとも一部の列方向に連続する複数個の値を保持するための作業用メモリと、
前記作業用メモリに保持されている値を用いて、所定の画像処理を行う画像処理回路と
を備えることを特徴とする撮像装置。
【請求項2】
前記作業用メモリは、前記マトリクスの各列において処理対象となる画素を中心として列方向に連続する3個の値を保持するメモリ領域を有し、
前記撮像装置は、さらに、
前記各列において同一行の画素が並行処理されるよう、クロックごとに各列で処理対象となる画素を行方向にシフトし、処理対象となる画素を中心として列方向に連続する3画素に対応する各前記メモリに保持されている値を読み出して、各前記メモリに対応する前記作業用メモリに書き込むメモリコントローラを備え、
各列の前記画像処理回路は、同一行の画素について並行して画像処理を行い、各前記作業用メモリに保持されている列方向に連続する3画素の値と、前記列の両側に隣接する列の各処理対象画素に対応する作業用メモリに保持されている値とを用いて画像処理を行い、
前記メモリコントローラは、列方向に連続する前記3画素の中心に位置する画素に対応した前記メモリに、前記画像処理回路による画像処理の結果を書き込む
ことを特徴とする請求項1記載の撮像装置。
【請求項3】
前記画像処理回路は、
前記受光回路で得られた電気量の値と予め定められた値とを比較することによって、比較結果を示すフラグを生成するフラグ生成部と、
前記フラグを用いて画像の拡大又は縮小処理の遷移を求めるオートマトン回路と、
前記オートマトン回路によって求められたフラグを用いて、前記画像の前記受光回路におけるX軸座標及びY軸座標を算出する射影線生成回路とを備える
ことを特徴とする請求項2記載の撮像装置。
【請求項4】
前記フラグ生成部は、前記受光回路で得られた電気量の値と、瞳孔又はプルキニエ像を特定するために予め定められた値とを比較することによって、前記フラグを生成し、
前記オートマトン回路は、前記瞳孔又はプルキニエ像の中心位置を示す1個の画素に対応するフラグだけが1又は0となるまで、収縮処理の遷移を求める
ことを特徴とする請求項3記載の撮像装置。
【請求項5】
前記メモリは、前記複数の受光回路から構成される現在のフレームと直前のフレームにおける前記電気量の値を保持する記憶容量を有し、
前記撮像装置は、さらに、前記現在及び直前のフレームでの画像の動きを示すオプティカルフローを算出するための一時的な値を保持するための方向別加算用メモリを有し、
前記画像処理回路は、前記方向別加算用メモリを作業用メモリとして用いながら、前記現在及び直前のフレームにおける電気量の値から、ブロックマッチング法によってオプティカルフローを算出する
ことを特徴とする請求項2記載の撮像装置。
【請求項6】
前記画像処理回路は、オプティカルフローの方向を示す8方向または9方向について、N行N列(ただし、Nは3以上の自然数)の画素からなるブロックによるブロックマッチングを行うことで、前記画像の動きを示す方向として、前記8方向または前記9方向の1つを特定し、特定した方向を示す値を出力する
ことを特徴とする請求項5記載の撮像装置。
【請求項7】
画像処理機能を備える撮像装置を実装する集積回路であって、
マトリクス状に配置され、それぞれが受光した光の量を電気量に変換する画素である複数の受光回路と、
各前記受光回路で得られた電気量の値を、各前記受光回路に対応付けて保持するメモリと、
前記マトリクスの列ごとに備えられる処理部とを備え、
前記処理部は、
前記メモリに保持されているうち少なくとも一部の列方向に連続する複数個の値を保持するための作業用メモリと、
前記作業用メモリに保持されている値を用いて、所定の画像処理を行う画像処理回路と
を備えることを特徴とする集積回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2008−206143(P2008−206143A)
【公開日】平成20年9月4日(2008.9.4)
【国際特許分類】
【出願番号】特願2008−13121(P2008−13121)
【出願日】平成20年1月23日(2008.1.23)
【出願人】(504160781)国立大学法人金沢大学 (282)
【Fターム(参考)】