(58)【調査した分野】(Int.Cl.,DB名)
被写体を撮像して得られる画像データの一部を、出力可能な形状を有しかつ相互の重複が許容されない領域である複数の出力領域に分割してイメージセンサから出力し、メモリに転送する画像転送方法であって、
所望する前記画像データの領域範囲がそれぞれ設定されかつ相互の重複が許容される領域である複数の関心領域を前記出力領域に変換して、前記出力領域の領域数が出力可能な最大能力数を超えている場合に、
少なくとも2個の前記関心領域を包含する新たな前記関心領域を再設定し、少なくとも2個の前記関心領域を新たな前記関心領域に置き換えて前記出力領域に変換する関心領域結合処理を1回以上実施して、前記出力領域の前記領域数を前記最大能力数以下まで削減し、
前記関心領域結合処理で2個の前記関心領域を包含する新たな前記関心領域を再設定する際に、新たな前記関心領域に含まれかつ2個の前記関心領域に含まれない領域であるマスク領域の面積が小さくなるように、2個の前記関心領域の組合せとして、
1)2個の前記関心領域の離間距離が小さい組合せ、
2)2個の前記関心領域の重心位置の相互間距離が小さい組合せ、
3)面積が最も小さい前記関心領域とその周りのいずれかの前記関心領域との組合せ、
4)2個の前記関心領域の相互に重複する面積が大きい組合せ、
のいずれかを選択する画像転送方法。
被写体を撮像して得られる画像データの一部を、出力可能な形状を有しかつ相互の重複が許容されない領域である複数の出力領域に分割してイメージセンサから出力し、メモリに転送する画像転送方法であって、
所望する前記画像データの領域範囲がそれぞれ設定されかつ相互の重複が許容される領域である複数の関心領域を前記出力領域に変換して、前記出力領域の領域数が出力可能な最大能力数を超えている場合に、
少なくとも2個の前記関心領域を包含する新たな前記関心領域を再設定し、少なくとも2個の前記関心領域を新たな前記関心領域に置き換えて前記出力領域に変換する関心領域結合処理、ならびに、少なくとも2個の前記出力領域を包含する新たな前記出力領域を設定し、少なくとも2個の前記出力領域を新たな前記出力領域に置き換える出力領域結合処理の少なくとも一方の処理を1回以上実施して、前記出力領域の前記領域数を前記最大能力数以下まで削減し、
前記関心領域結合処理の後に、新たな前記関心領域に含まれかつ少なくとも2個の前記関心領域に含まれない領域であるマスク領域を演算し、
前記出力領域結合処理の後に、新たな前記出力領域に含まれかつ少なくとも2個の前記出力領域に含まれない領域であるマスク領域を演算し、
前記画像データの一部を前記最大能力数以下の前記出力領域に分割して前記イメージセンサから出力した後に前記メモリに転送する途中で、前記マスク領域の前記画像データを削除する画像転送方法。
【発明を実施するための形態】
【0013】
本発明の実施形態の画像転送装置1および画像転送方法について、
図1〜
図15を参考にして説明する。画像転送装置1は、例えば、基板生産装置に搭載され、基板に付与された各種のマークやコードを認識したり、基板や電子部品の状態を検査したりする用途に適用される。
図1は、実施形態の画像転送装置1に用いるイメージセンサ2のハードウェア構成図である。イメージセンサ2は、ピクセルアレイ21、X軸走査回路22、Y軸走査回路23、前処理部24、およびAD変換器25などで構成されている。
【0014】
ピクセルアレイ21は、撮像素子211がX−Y直交座標軸上のX軸方向に直線状にNx個配置されるとともにY軸方向にNy列配置されて構成される。つまり、撮像素子211は、二次元配置され、全部で(Nx・Ny)個ある。
図1には、X軸方向の3個目までY軸方向の第3列までの撮像素子211が例示されている。撮像素子211には、例えば濃淡検出用のCMOS素子やCCD素子などを用いることができ、アナログ量の画素データを得ることができる。
【0015】
X軸走査回路22はピクセルアレイ21中のX軸方向の座標値(X軸座標値)を選択制御して、撮像素子211からの画素データの送出を切り替える。Y軸走査回路23はピクセルアレイ21中のY軸方向の座標値(Y軸座標値)を選択制御して、撮像素子211の列を切り替える。これにより、特定の撮像素子211のみから画素データが前処理部24に送出される。前処理部24は、画素データを増幅してAD変換器25に送出する。また、前処理部24では、ゲイン調整およびオフセット調整が行えるようになっている。AD変換器25は、アナログ量の画素データを例えば10ビットのディジタル信号に変換して出力する。この場合、画素データの値は、完全な黒色を示すゼロから、完全な白色を示す1023まで変化し得る。これに限定されず、AD変換器25は10ビットと異なる分解能を有していてもよい。
【0016】
イメージセンサ2の各部21〜25の動作を制御するために、イメージセンサ2内に図略の制御部が設けられている。制御部は、外部からの指令に基づき、ピクセルアレイ21内に最大能力数以内の長方形の出力領域を設定する。そして、制御部は、二次元配置された撮像素子211の画素データからなる画像データの一部を、複数の出力領域に分割して順次出力する制御を行う。最大能力数は、イメージセンサ2の種類ごとに予め定められており、本実施形態では8領域とする。仮に、外部からの指令が最大能力数を超えた領域数の出力領域を設定すると、イメージセンサ2でエラーが発生する。最大能力数の値は上記に限定されず、他に16領域などであってもよい。
【0017】
制御部は、X軸方向およびY軸方向の始点および終点の座標値を用いて出力領域を設定する。つまり、長方形の出力領域Aは、X軸始点座標値XS、X軸終点座標値XE、Y軸始点座標値YS、およびY軸終点座標値YEの4値で設定される。これを、出力領域A=(XS、XE、YS、YE)と表記する。ただし、1≦XS≦XE≦Nxであり、1≦YS≦YE≦Nyである。撮像素子211は2度読みができないので、複数の出力領域が相互に重複することは許容されない。仮に、相互に重複する出力領域が設定された場合、後になって出力する側の出力領域の重複範囲において、画素データは既に出力されてゼロになっている。このため、後になって出力する側の出力領領域では、正しい画像データが出力されない。
【0018】
出力領域として、例えば、撮像領域全体すなわち全ての撮像素子211が設定された場合を考える。制御部は、まず、Y軸走査回路23のY軸座標値を最小値の第1列に固定し、X軸座標値を1番目からNx番目まで順次増加させ、Y軸第1列の撮像素子221の画素データを出力する。制御部は、次に、Y軸座標値を1撮像素子分だけ増加させて第2列に固定する。そして、制御部は、再びX軸座標値を1番目からNx番目まで順次増加させ、Y軸第2列の撮像素子221の画素データを出力する。さらに、制御部は、Y軸第3列以降も、第1および第2列と同様の動作を繰り返すことにより、Y軸座標値の最大値である第Ny列までの出力を制御する。出力領域として撮像領域全体よりも小さな長方形が設定された場合も、制御部の出力制御の方法は上述と同様である。
【0019】
実施形態の画像転送装置1および画像転送方法においては、イメージセンサ2のピクセルアレイ21の全体の画像データを必要としない場合に、その一部に所望する長方形の関心領域を設定する。関心領域は、ピクセルアレイ21内の長方形領域であればよく、相互の重複が許容される。長方形の関心領域Bも、出力領域Aと同様にX軸始点座標値XS、X軸終点座標値XE、Y軸始点座標値YS、およびY軸終点座標値YEの4値で設定される。これを、関心領域B=(XS、XE、YS、YE)と表記する。そして、関心領域Bから変換された出力領域Aがイメージセンサ2に指令される。これにより、イメージセンサ2は、画像データの一部を複数の出力領域Aに分割して出力することができる。
【0020】
図2は、実施形態の画像転送装置1の全体機能構成を示すブロック図である。
図2に示されるうちで、画像転送装置1は、イメージセンサ2、出力領域演算処理部3、マスク演算部4、記憶指令部5、およびマスク削除部6により構成されている。また、画像転送装置1を動作させるために、関心領域設定部7が使用される。関心領域設定部7は、所望する任意の個数の関心領域を出力領域演算処理部3に設定する。関心領域設定部7には、画像転送装置1の撮像対象を制御したり撮像タイミングを調整したりする上位装置を用いることができる。さらに、画像データの転送先に不揮発性のメモリ8を用いる。メモリ8は、画像転送装置1の内部メモリでもよいし、上位装置の記憶部でもよいし、外部記憶装置でもよい。メモリ8に記憶された画像データは、2度読みしても変化しない。
【0021】
出力領域演算処理部3は、関心領域設定部7によって設定された関心領域Bを出力領域Aに変換する。出力領域演算処理部3は、他と重複しない孤立した関心領域Bをそのまま出力領域Aに変換する。出力領域演算処理部3は、少なくとも一部が相互に重複する2個の関心領域Bを1個〜3個の出力領域Aに変換する。出力領域演算処理部3の基本的な領域変換機能について、
図3〜
図8に示される3例を参考にして説明する。
【0022】
図3は、第1関心領域B1が第2関心領域B2の隣り合う2辺に重複する場合を例示した図である。また、
図4は、出力領域演算処理部3が第1関心領域B1および第2関心領域B2を出力領域に変換した結果を示す図である。
図3で、第1関心領域B1=(XS1、XE1、YS1、YE1)であり、第2関心領域B2=(XS2、XE2、YS2、YE2)である。ただし、XS1<XS2<XE1<XE2、および、YS1<YS2<YE1<YE2、の大小関係がある。この場合、出力領域演算処理部3は、第1関心領域B1および第2関心領域B2を、
図4に示される3個の第1〜第3出力領域A1〜A3に変換する。第1出力領域A1=(XS1、XE1、YS1、YS2)、第2出力領域A2=(XS1、XE2、YS2、YE1)、第3出力領域A3=(XS2、XE2、YE1、YE2)である。
【0023】
図4で、第1〜第3出力領域A1〜A3は上下に接して並んでいるが、出力領域演算処理部3は、左右に接して並ぶ3個の出力領域に変換することもできる。つまり、出力領域演算処理部3は、第1関心領域B1および第2関心領域B2を第1j〜第3j出力領域A1j〜A3jに変換することもできる。第1j出力領域A1j=(XS1、XS2、YS1、YE1)、第2j出力領域A2j=(XS2、XE1、YS1、YE2)、第3j出力領域A3j=(XE1、XE2、YS2、YE2)である。また、一方の関心領域が他方の関心領域の向かい合う2辺に重複する場合も、3個の出力領域に変換することができる。
【0024】
次に、
図5は、第3関心領域B3が第4関心領域B4の1辺に重複する場合を例示した図である。また、
図6は、出力領域演算処理部3が第3関心領域B3および第4関心領域B4を出力領域に変換した結果を示す図である。
図5で、第3関心領域B3=(XS3、XE3、YS3、YE3)であり、第4関心領域B4=(XS4、XE4、YS4、YE4)である。ただし、XS4<XS3<XE3<XE4、および、YS3<YS4<YE3<YE4、の大小関係がある。この場合、出力領域演算処理部3は、第3関心領域B3および第4関心領域B4を、
図6に示される2個の第4および第5出力領域A4、A5に変換する。第4出力領域A4=(XS3、XE3、YS3、YS4)、第5出力領域A5=(XS4、XE4、YS4、YE4)である。この場合、第4関心領域B4と第5出力領域A5とは一致している。
【0025】
次に、
図7は、第5関心領域B5と第6関心領域B6とでX軸方向の領域範囲が一致して、Y軸方向の一部が重複する場合を例示した図である。また、
図8は、出力領域演算処理部3が第5関心領域B5および第6関心領域B6を出力領域に変換した結果を示す図である。
図7で、第5関心領域B5=(XS5、XE5、YS5、YE5)であり、第6関心領域B6=(XS5、XE5、YS6、YE6)である。ただし、XS5<XE5、および、YS5<YS6<YE5<YE6、の大小関係がある。この場合、出力領域演算処理部3は、第5関心領域B5および第6関心領域B6を結合して、
図8に示される1個の第6出力領域A6に変換する。第6出力領域A6=(XS5、XE5、YS5、YE6)である。
【0026】
なお、出力領域演算処理部3は、一方の関心領域と他方の関心領域とでY軸方向の領域範囲が一致してX軸方向の一部が重複する場合も、結合して1個の出力領域に変換することができる。さらに、出力領域演算処理部3は、一方の関心領域が他方の関心領域に完全に包含される場合に、他方の関心領域のみをそのまま1個の出力領域に変換する。
【0027】
出力領域演算処理部3は、多数の関心領域が設定されているときに、
図3〜
図8に例示された領域変換機能を適宜組み合わせて適用し、全ての関心領域を出力領域に変換する。ここで、出力領域の領域数が出力可能な最大能力数を超えている場合に、出力領域演算処理部3は、関心領域結合処理および出力領域結合処理の少なくとも一方を1回以上実施して、出力領域の領域数を最大能力数以下まで削減する。出力領域演算処理部3は、最終的に得られた出力領域の情報を記憶指令部5に保存する。関心領域結合処理および出力領域結合処理については、後で詳述する。
【0028】
マスク演算部4は、出力領域演算処理部3が関心領域結合処理や出力領域結合処理を実施した後に、逐次マスク領域を演算する。マスク領域とは、関心領域結合処理や出力領域結合処理によって求めた新たな出力領域に含まれ、最初に設定された関心領域に含まれない領域である。換言すると、マスク領域は、所望されていない領域であって、転送を必要としない冗長性のある領域である。本実施形態では、マスク領域の形状も、重複の許容されない長方形とする。マスク演算部4は、最終的に得られたマスク領域の情報を記憶指令部5に保存する。
【0029】
記憶指令部5は、出力領域の情報およびマスク領域の情報を記憶する。記憶指令部5は、出力領域の情報をイメージセンサ2に指令する。これにより、イメージセンサ2は、画像データの一部を最大能力数以下の領域数の出力領域に分割して、マスク削除部6に出力する。
【0030】
また、記憶指令部5は、マスク領域の情報をマスク削除部6に指令する。これにより、マスク削除部6は、イメージセンサ2から出力された画像データからマスク領域の画像データを削除してメモリ8に転送する。マスク削除部6は、例えば、フィールドプログラマブルゲートアレイ(FPGA)を用いて構成することができる。フィールドプログラマブルゲートアレイは、冗長性のある画像データの削除をハードウェアにて実施するので、タイムラグが殆ど発生しない。したがって、フィールドプログラマブルゲートアレイで構成されたマスク削除部6は、転送速度を低下させない。マスク削除部6にソフトウェア処理を適用することも考えられるが、イメージセンサ2からの出力動作と同程度の転送速度になって、ボトルネックとなるおそれが生じる。
【0031】
次に、上述のように構成された実施形態の画像転送装置1を用いた画像データの転送動作、すなわち実施形態の画像転送方法について、フローチャートおよび関心領域の設定例を参考にして説明する。
図9は、実施形態の画像転送方法を説明するフローチャートの図である。実施形態の画像転送方法は、初期設定ステップS1、判定ステップS2、再設定ステップS3、マスク演算ステップS4、撮像ステップS5、出力ステップS6、マスク削除ステップS7、監視ステップS8、および転送エラー処理ステップS9を有する。これらのステップS1〜S9は、オペレータを介さずに自動で実施される。
【0032】
また、
図10は、最初に設定された関心領域Q1〜Q8が8個である場合の設定例を示す図である。この設定例を用いて、以降の各ステップS1〜S9における動作および演算の処理内容を例示説明する。
図11は、初期設定ステップS1で作成されて初回の判定ステップS2に用いられる出力領域Ra〜Rmを示す図である。
図12は、再設定ステップS3で実施する関心領域結合処理を説明する図である。
図13は、2回目の判定ステップS2で採用されて出力ステップS6に用いられる出力領域R1〜R7を示す図である。
図14は、マスク演算ステップS4で演算されたマスク領域M1〜M7を示す図である。
図15は、マスク削除ステップS7でマスク領域M1〜M7の画像データを削除する処理を説明する図である。
【0033】
イメージセンサ2による撮像動作に先立ち、
図10に例示された8個の関心領域Q1〜Q8は、関心領域設定部7から出力領域演算処理部3に設定される。図示されるように、8個の長方形の関心領域Q1〜Q8は、複雑に重複している。初期設定ステップS1で、出力領域演算処理部3は、基本的な領域変換機能を繰り返し応用して、最初に設定された8個の関心領域Q1〜Q8を
図11に示される出力領域Ra〜Rmに変換する。次の判定ステップS2で、出力領域演算処理部3は、出力領域Ra〜Rmの領域数が最大能力数を超えているか否かを判定する。初回の判定ステップS2で、出力領域Ra〜Rmは13領域あって最大能力数の8領域を超えているので、再設定ステップS3に進む。
【0034】
再設定ステップS3で、出力領域演算処理部3は、2個の関心領域を包含する新たな関心領域を再設定し、2個の関心領域を新たな関心領域に置き換えて出力領域に変換する関心領域結合処理を実施する。
図12で、最初に設定された関心領域Q1〜Q8は破線で示され、再設定された新たな関心領域Q11、Q12、Q13は太い実線で示されている。
図12には、3つの関心領域結合処理がまとめて示されている。すなわち、出力領域演算処理部3は、2個の関心領域Q1、Q2を包含する新たな関心領域Q11を再設定し、2個の関心領域Q3、Q4を包含する新たな関心領域Q12を再設定し、2個の関心領域Q5、Q6を包含する新たな関心領域Q13を再設定する。また、出力領域演算処理部3は、2個の関心領域Q7、Q8をそのまま維持する。
【0035】
出力領域演算処理部3は、関心領域結合処理の際に、2個の関心領域の組合せとして、
1)2個の関心領域の離間距離が小さい組合せ
2)2個の関心領域の重心位置の相互間距離が小さい組合せ
3)面積が最も小さい関心領域とその周りのいずれかの関心領域との組合せ
4)2個の関心領域の相互に重複する面積が大きい組合せ
のいずれかを選択する。この選択基準は、絶対的ではないが、マスク領域の面積を小さくする効果が大きい。
【0036】
出力領域演算処理部3は、元になった関心領域Q1〜Q6を新たな関心領域Q11、Q12、Q13に置き換える。さらに、出力領域演算処理部3は、新たな3個の関心領域Q11、Q12、Q13および維持した2個の関心領域Q7、Q8を対象として、出力領域に変換する。この結果、
図13に示される7個の出力領域R1〜R7が演算される。
【0037】
次に、マスク演算ステップS4で、マスク演算部4は、マスク領域M1〜M7を演算する。マスク領域は、新たな関心領域Q11、Q12、Q13に含まれ、かつ元になった関心領域Q1〜Q6に含まれない領域である。求められた7個のマスク領域M1〜M7は、
図14に便宜的にハッチングを付して示されている。この後、出力領域演算処理部3は、判定ステップS2に戻る。
【0038】
2回目の判定ステップS2で、出力領域R1〜R7は7領域であり、最大能力数の8領域よりも少ない。したがって、出力領域演算処理部3は、その時点に設定されている出力領域R1〜R7を採用することに決定して、出力領域R1〜R7の情報を記憶指令部5に保存する。また、マスク演算部4は、当該時点のマスク領域M1〜M7の情報を記憶指令部5に保存する。この後、出力領域演算処理部3は、撮像ステップS5に進む。
【0039】
なお、出力領域演算処理部3は、再設定ステップS3でまとめて実施した3つの関心領域結合処理を1回ごとに別々に行うようにしてもよい、この場合、出力領域演算処理部3は、判定ステップS2からマスク演算ステップS4までを2回繰り返して関心領域Q11、Q12を再設定しても、出力領域の領域数が最大能力数の8領域を超えている。そして、出力領域演算処理部3は、3回目の繰り返しで関心領域Q13を再設定すると、
図13に示された演算結果を得ることができる。このとき、マスク演算部4は、
図14に示された演算結果を得ることができる。また、出力領域演算処理部3は、再設定ステップS3で3個以上の関心領域を1個の新たな関心領域に変換することも可能である。
【0040】
さらになお、再設定ステップS3で、出力領域演算処理部3は、関心領域結合処理に代えて出力領域結合処理を実施してもよい。出力領域結合処理では、少なくとも2個の出力領域を包含する新たな出力領域を設定し、少なくとも2個の出力領域を新たな出力領域に置き換える。例えば、出力領域演算処理部3は、
図11に示された4個の出力領域Rg、Rh、Ri、Rjを、
図13に示された出力領域R4に置き換えることができる。この場合でも、マスク演算ステップS4で、マスク演算部4は、出力領域R4内のマスク領域M6、M7を演算することができる。
【0041】
次に、撮像ステップS5で、記憶指令部5は、出力領域R1〜R7の情報をイメージセンサ2に指令する。すると、イメージセンサ2は、ピクセルアレイ21の全体を用いた撮像を行い、全撮像素子211の画素データからなる画像データを取得する。次に、出力ステップS6で、イメージセンサ2は、画像データの一部を7個の出力領域R1〜R7に分割して、マスク削除部6に出力する。
【0042】
次に、マスク削除ステップS7で、記憶指令部5は、マスク領域M1〜M7の情報をマスク削除部6に指令する。マスク削除部6は、イメージセンサ2から出力された各出力領域R1〜R7の画像データからマスク領域M1〜M7の画像データを削除してメモリ8に転送する。具体的には、
図15に示されるように、マスク削除部6は、出力領域R1の画像データからマスク領域M1の画像データを削除する。また、マスク削除部6は、出力領域R2の画像データからマスク領域M2、マスク領域M3の一部、マスク領域M4、およびマスク領域M5の画像データを削除する。さらに、マスク削除部6は、出力領域R3の画像データからマスク領域M3の残部の画像データを削除し、出力領域R4の画像データからマスク領域M6およびマスク領域M7の画像データを削除する。
【0043】
このように、マスク領域M1〜M7を設定して、転送途中でマスク領域M1〜M7の画像データを削除することにより、メモリ8に転送された画像データのデータ数と、最初に設定された8個の関心領域Q1〜Q8の画像データのデータ数とを一致させることができる。監視ステップS8では、上記の転送されたデータ数と、最初に設定されたデータ数との一致を監視する。監視ステップS8は、例えば、関心領域設定部7の機能を果たす上位装置が実施する。一致を確認できたとき、1回の画像データの取得および転送が終了する。また、不一致を確認したとき、上位装置は、転送エラー処理ステップS9に進み、オペレータへのエラーの通知などを実施する。
【0044】
この後、関心領域Q1〜Q8が変更されない間、画像転送装置1は、撮像ステップS5以降を繰り返す。また、関心領域Q1〜Q8が変更されたときに、画像転送装置1は、初期設定ステップS1に戻って、一連の演算処理を再度実施する。
【0045】
実施形態の画像転送方法は、被写体を撮像して得られる画像データの一部を、出力可能な形状を有しかつ相互の重複が許容されない領域である複数の出力領域に分割してイメージセンサ2から出力し、メモリ8に転送する画像転送方法であって、所望する画像データの領域範囲がそれぞれ設定されかつ相互の重複が許容される領域である複数の関心領域Q1〜Q8を出力領域Ra〜Rmに変換して、出力領域Ra〜Rmの領域数が出力可能な最大能力数(8領域)を超えている場合に、2個の関心領域(Q1とQ2、Q3とQ4、Q5とQ6)を包含する新たな関心領域Q11、Q12、Q13を再設定し、2個の関心領域(Q1とQ2、Q3とQ4、Q5とQ6)を新たな関心領域Q11、Q12、Q13に置き換えて出力領域R1〜R7に変換する関心領域結合処理を1回以上実施して、出力領域R1〜R7の領域数を最大能力数(8領域)以下まで削減する。
【0046】
これによれば、最初に設定された複数の関心領域を出力領域に変換したときの領域数が最大能力数を超えていない場合には、直ちに画像データをイメージセンサ2から出力してメモリ8に転送できる。また、出力領域Ra〜Rmの領域数が最大能力数(8領域)を超えている場合には、関心領域結合処理を1回以上実施する。最初に設定された関心領域Q1〜Q8の領域数が多数のときや重複状況が複雑なときに処理の実施回数は増加するが、最終的に出力領域R1〜R7の領域数を最大能力数(8領域)以下まで削減できる。これにより、イメージセンサ2でのエラーを回避して画像データを出力し、メモリ8に転送できるようになる。したがって、出力領域の領域数に最大能力数(8領域)の制約があっても、設定された関心領域Q1〜Q8の領域数や重複状況に関わりなく、関心領域Q1〜Q8を包含した画像データの転送が可能になる。また、イメージセンサ2で得られた画像データのうち関心領域Q1〜Q8を包含した一部を転送するので、画像データの全体を転送する場合と比較して転送所要時間を短縮できる。
【0047】
さらに、実施形態の画像転送方法では、出力領域Ra〜Rm、R1〜R7の形状および関心領域Q1〜Q8の形状は共に長方形であり、他と重複しない孤立した関心領域をそのまま出力領域に変換し、少なくとも一部が相互に重複する2個の関心領域(B1とB2、B3とB4、B5とB6)を1個〜3個の出力領域(A1〜A3、A4とA5、A6)に変換する。
【0048】
これによれば、イメージセンサ2の二次元配置された撮像素子221に対して転送制御の効率が良好な長方形の出力領域を設定するので、転送所要時間を顕著に短縮できる。
【0049】
さらに、実施形態の画像転送方法では、関心領域結合処理で2個の関心領域(Q1とQ2、Q3とQ4、Q5とQ6)を包含する新たな関心領域Q11、Q12、Q13を再設定する際に、新たな関心領域Q11、Q12、Q13に含まれかつ2個の関心領域(Q1とQ2、Q3とQ4、Q5とQ6)に含まれない領域であるマスク領域M1〜M7の面積が小さくなるように、2個の関心領域の組合せとして、
1)2個の関心領域の離間距離が小さい組合せ
2)2個の関心領域の重心位置の相互間距離が小さい組合せ
3)面積が最も小さい関心領域とその周りのいずれかの関心領域との組合せ
4)2個の関心領域の相互に重複する面積が大きい組合せ
のいずれかを選択する。
【0050】
これによれば、転送を必要としない冗長性のあるマスク領域M1〜M7の面積を小さくできる。したがって、転送する画像データのデータ数の増加を抑制して、転送所要時間を顕著に短縮できる。
【0051】
さらに、実施形態の画像転送方法では、関心領域結合処理の後に、新たな関心領域Q11、Q12、Q13に含まれかつ元になった2個の関心領域(Q1とQ2、Q3とQ4、Q5とQ6)に含まれない領域であるマスク領域M1〜M7を演算し、画像データの一部を最大能力数(8領域)以下の出力領域R1〜R7に分割してイメージセンサ2から出力した後にメモリ8に転送する途中で、マスク領域M1〜M7の画像データを削除する。
【0052】
これによれば、最初に設定された関心領域Q1〜Q8に相当する画像データのみをメモリ8まで転送して、冗長性のある画像データは転送途中で削除する。したがって、メモリ8の使用量を必要最小限にできる。
【0053】
さらに、実施形態の画像転送方法では、メモリ8に転送された画像データのデータ数と、最初に設定された複数の関心領域Q1〜Q8の画像データのデータ数とを比較して、一致しないときに転送エラーと判定する。
【0054】
これによれば、何らかの原因で所望する関心領域Q1〜Q8の画像データの一部を転送できなかったときや、意図しない余分な画像データが混入したときに、転送エラーを検出できる。したがって、画像データの転送時の冗長性を排除しつつ、転送信頼性を向上できる。
【0055】
さらに、実施形態の画像転送方法は、最初に設定された複数の関心領域Q1〜Q8を出力領域Ra〜Rmに変換する初期設定ステップS1と、出力領域Ra〜Rmの領域数が前記最大能力数(8領域)を超えているか否かを判定する判定ステップS2と、判定ステップS2で出力領域Ra〜Rmの領域数が最大能力数(8領域)を超えている場合に、関心領域結合処理を実施する再設定ステップS3と、再設定ステップS3の後にマスク領域M1〜M7を演算して、判定ステップS2に戻るマスク演算ステップS4と、判定ステップS2で出力領域R1〜R7の領域数が最大能力数(8領域)以下である場合に、画像データの一部をその時点に設定されている最大能力数以下の出力領域R1〜R7に分割してイメージセンサ2から出力する出力ステップS6と、出力ステップS6で出力された画像データからマスク領域M1〜M7の画像データを削除してメモリ8に転送するマスク削除ステップS7と、メモリ8に転送された画像データのデータ数と、最初に設定された複数の関心領域Q1〜Q8の画像データのデータ数とを比較して、一致しないときに転送エラーと判定する監視ステップS8と、を有する。
【0056】
これによれば、これらのステップS1〜S8は、オペレータを介さずに自動で実施される。したがって、実施形態の画像転送方法は、基板生産ラインやその他の製品の生産ラインで好適に実施され、生産ラインの自動化および高効率化に貢献する。
【0057】
また、実施形態の画像転送装置1は、被写体を撮像して得られる画像データの一部を、出力可能な形状を有しかつ相互の重複が許容されない領域である複数の出力領域に分割してイメージセンサ2から出力し、メモリ8に転送する画像転送装置であって、画像データの一部を複数の出力領域に分割して出力するイメージセンサ2と、所望する画像データの領域範囲がそれぞれ設定されかつ相互の重複が許容される領域である複数の関心領域Q1〜Q8を出力領域Ra〜Rmに変換して、出力領域Ra〜Rmの領域数が出力可能な最大能力数(8領域)を超えている場合に、2個の関心領域(Q1とQ2、Q3とQ4、Q5とQ6)を包含する新たな関心領域Q11、Q12、Q13を再設定し、2個の関心領域(Q1とQ2、Q3とQ4、Q5とQ6)を新たな関心領域Q11、Q12、Q13に置き換えて出力領域R1〜R7に変換する関心領域結合処理を1回以上実施して、出力領域R1〜R7の領域数を前記最大能力数(8領域)以下まで削減する出力領域演算処理部3と、最大能力数(8領域)以下まで削減された出力領域R1〜R7の情報を記憶して、イメージセンサ2に指令する記憶指令部5と、を備えた。
【0058】
これによれば、本発明の実施形態は、方法でなく画像転送装置1としても実施でき、実施形態の画像転送方法と同様の効果が発生する。すなわち、実施形態の画像転送装置1では、出力領域の領域数に最大能力数(8領域)の制約があっても、設定された関心領域Q1〜Q8の領域数や重複状況に関わりなく、関心領域Q1〜Q8を包含した画像データの転送が可能になる。また、イメージセンサ2で得られた画像データのうち関心領域Q1〜Q8を包含した一部を転送するので、画像データの全体を転送する場合と比較して転送所要時間を短縮できる。
【0059】
さらに、実施形態の画像転送装置1は、関心領域結合処理の後に、新たな関心領域Q11、Q12、Q13に含まれかつ元になった2個の関心領域(Q1とQ2、Q3とQ4、Q5とQ6)に含まれない領域であるマスク領域M1〜M7を演算するマスク演算部4と、イメージセンサ2から出力された画像データからマスク領域M1〜M7の画像データを削除してメモリ8に転送するマスク削除部6と、をさらに備え、記憶指令部5は、マスク領域M1〜M7の情報を記憶して、マスク削除部6に指令する。
【0060】
これによれば、最初に設定された関心領域Q1〜Q8に相当する画像データのみをメモリ8まで転送して、冗長性のある画像データは途中で削除する。したがって、メモリ8の使用量を必要最小限にできる。
【0061】
なお、実施形態の画像転送装置1において、マスク演算部4およびマスク削除部6は、省略してもよい。同様に、実施形態の画像転送方法において、マスク演算ステップS4、マスク削除ステップS7、監視ステップS8、および転送エラー処理ステップS9は、省略してもよい。このように、マスク領域M1〜M7に関する演算処理を省略しても、関心領域Q1〜Q8を包含した画像データの転送は確実に行える。ただし、転送する画像データのデータ数が若干増加する場合が生じ得る。その他にも、本発明はさまざまな応用や変形が可能である。