画像処理装置
【課題】 従来よりも装置の低コスト化及び小型化を可能とする画像処理装置を提供する。
【解決手段】 撮像範囲が一部重複する複数のカメラ1,2,3により得られた画像データを記憶する合成メモリ19と、画像データを合成メモリ19に記憶させる処理を実行する記憶処理実行部と、を備える。前記記憶処理実行部は、カメラ1,2,3により得られた画像データのうち、重複する画像データについては、何れか1つのカメラにより得られた画像データのみを合成メモリ19に記憶させる。これにより、複数のカメラ1,2,3により得られた画像データを、撮像対象物21の画像を表す一連の画像データとして合成メモリ19に記憶させる。
【解決手段】 撮像範囲が一部重複する複数のカメラ1,2,3により得られた画像データを記憶する合成メモリ19と、画像データを合成メモリ19に記憶させる処理を実行する記憶処理実行部と、を備える。前記記憶処理実行部は、カメラ1,2,3により得られた画像データのうち、重複する画像データについては、何れか1つのカメラにより得られた画像データのみを合成メモリ19に記憶させる。これにより、複数のカメラ1,2,3により得られた画像データを、撮像対象物21の画像を表す一連の画像データとして合成メモリ19に記憶させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関する。
【背景技術】
【0002】
例えば、検査技術或いはその他の分野において、必要な分解能の画像データを得るために、複数台のカメラにより、それぞれ撮像対象物の一部分ずつを撮像することがある(例えば、特許文献1参照)。
【0003】
この場合、カメラの台数を増やすほど、1画素当たりの視野分解能が高まるため、例えば検査技術においては検査性能が向上する。
【0004】
従来、複数のカメラを使用する場合、カメラの台数分の画像処理装置が必要であった。また、各画像処理装置の処理結果をコンピュータなどにより集計する必要もあった。
【特許文献1】特開平6−229941号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1などの従来技術では、各カメラ毎に画像処理装置が必要であるため、装置の低コスト化及び小型化が困難であった。
【0006】
また、各画像処理装置の処理結果の集計を行うコンピュータなどを備える必要があるため、装置の低コスト化及び小型化がより一層困難であった。
【0007】
本発明は、上記のような問題点を解決するためになされたもので、従来よりも装置の低コスト化及び小型化を可能とする画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明の画像処理装置は、撮像範囲が一部重複する複数のカメラにより得られた画像データを記憶する合成メモリと、前記画像データを前記合成メモリに記憶させる処理を実行する記憶処理実行部と、を備え、前記記憶処理実行部は、前記複数のカメラにより得られた画像データのうち、重複する画像データについては、何れか1つのカメラにより得られた画像データのみを前記合成メモリに記憶させ、前記複数のカメラにより得られた画像データを、撮像対象物の画像を表す一連の画像データとして前記合成メモリに記憶させることを特徴としている。
【0009】
本発明の画像処理装置においては、前記記憶処理実行部は、各カメラと1対1で対応するカメラ入力調停処理部と、各カメラと1対1で対応し、対応するカメラから出力される画像データを、対応するカメラ入力調停処理部の制御下で一時的に記憶するFIFOメモリと、各FIFOメモリのうち、画像データの読み出しを行うFIFOメモリを時分割で順次に切り替える合成メモリ調停処理部と、各FIFOメモリと1対1で対応し、対応するFIFOメモリから読み出される画像データの前記合成メモリ上のアドレスを計算して出力するアドレス計算処理部と、各FIFOメモリのうち、前記合成メモリ調停処理部により画像データの読み出しを行うFIFOメモリとして選択されたFIFOメモリからの出力と、当該読み出しを行うFIFOメモリと対応するアドレス計算処理部から出力されるアドレスと、を同期したタイミングで選択的に前記合成メモリに出力する選択出力処理部と、を備え、前記合成メモリは、前記選択出力処理部から入力される画像データを、該画像データと同期して入力されるアドレスに従って記憶し、各カメラ入力調停回路は、前記重複する画像データについては、何れか1つのFIFOメモリに対してのみ書き込まれるように、対応するFIFOメモリの記憶動作を制御することが好ましい。
【0010】
本発明の画像処理装置においては、各カメラは、ラインセンサ式カメラであることが好ましい一例である。
【0011】
この場合、本発明の画像処理装置は、各カメラと1対1で対応し、対応するカメラから出力されるカメラクロック信号、Hsync信号及び画像データを受信するカメラリンク受信処理部を備え、各カメラリンク受信処理部は、カメラクロック信号は、対応するカメラ入力調停処理部、対応するFIFOメモリ、及び、対応するアドレス計算処理部に出力し、Hsync信号は、対応するカメラ入力調停処理部及び対応するアドレス計算処理部に出力し、画像データは、対応するFIFOメモリに出力することが好ましい。
【0012】
或いは、本発明の画像処理装置においては、各カメラは、エリアセンサ式カメラであることも好ましい。
【0013】
この場合、本発明の画像処理装置は、各カメラと1対1で対応し、対応するカメラから出力されるカメラクロック信号、Hsync信号、Vsync信号及び画像データを受信するカメラリンク受信処理部を備え、各カメラリンク受信処理部は、カメラクロック信号は、対応するカメラ入力調停処理部、対応するFIFOメモリ、及び、対応するアドレス計算処理部に出力し、Hsync信号は、対応するカメラ入力調停処理部及び対応するアドレス計算処理部に出力し、Vsync信号は、対応するアドレス計算処理部に出力し、画像データは、対応するFIFOメモリに出力することが好ましい。
【0014】
本発明の画像処理装置においては、各カメラ入力調停処理部は、対応するカメラが1回の撮像により生成する有効な画像データの数である有効画素数と、対応するカメラが出力する有効な画像データのうち、対応するFIFOメモリへの書き込みを行わない撮像範囲横方向における両端の画像の画像データの画素数と、対応するカメラがHsync信号を発生してから有効な画像データを出力するまでのカメラクロック数と、に基づいて、対応するFIFOメモリに対して画像データの記憶動作を実行する期間を指示することが好ましい。
【0015】
本発明の画像処理装置においては、各FIFOメモリは、1画素分の画像データの記憶領域を有し、該記憶領域が空であるか否かを示すEmpty信号を前記合成メモリ調停処理部に出力し、
前記合成メモリ調停処理部は、前記記憶領域が空でない旨を示すEmpty信号を出力するFIFOメモリに対し、前記選択出力処理部への画像データの出力を指示するwrite信号を出力することが好ましい。
【発明の効果】
【0016】
本発明によれば、1つの画像処理装置を複数のカメラで共用する構成であるため、画像処理装置をカメラの台数だけ備える必要がある場合と比べて低コスト化及び省スペース化が図れる。
【0017】
また、複数のカメラによりそれぞれ得られる画像データを、あたかも1台のカメラにより得られる1つの画像データであるかのように扱うことが可能となる。よって、合成メモリの後段では、撮像範囲の重複を気にする必要が無くなり、且つ、複数の処理結果を集計する作業も必要なくなる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照して、本発明に係る実施形態について説明する。
【0019】
〔第1の実施形態〕
第1の実施形態では、撮像対象物を撮像するカメラがラインセンサ式カメラであり、カメラの個数が3台である例を説明する。
【0020】
なお、各カメラは、モノクロ画像データを生成するモノクロカメラであっても良いし、或いは、カラー画像データを生成するカラーカメラであっても良い。また、各カメラがモノクロカメラである場合、2値画像データを生成するのであっても良いし、多階調の画像データを生成するのであっても良い。
【0021】
図1は第1の実施形態に係る画像処理装置100の構成を示すブロック図、図2はカメラ1,2,3の平面的な配置を示す図、図3は各カメラ1〜3の撮像範囲を示す図、図4は各カメラ1〜3が1回の撮像動作により生成する画像データを示すとともに、各カメラ1〜3が生成する画像データのうちFIFOメモリ11,12,13に書き込まれる画像データの数(書込画素数)を示す模式図、図5はカメラ入力調停回路7,8,9とFIFOメモリ11,12,13の動作を説明するための図である。
【0022】
図1に示すように、本実施形態に係る画像処理装置100は、撮像対象物21(図2)を撮像する第1乃至第3カメラ1,2,3と1対1で対応する第1乃至第3カメラリンク受信IC(IC:Integrated Circuit)4,5,6と、カメラ1,2,3と1対1で対応する第1乃至第3カメラ入力調停回路7,8,9と、カメラ1,2,3と1対1で対応する第1乃至第3FIFOメモリ11,12,13と、カメラ1,2,3と1対1で対応する第1乃至第3アドレス計算回路14,15,16と、合成メモリ調停回路17と、セレクタ18と、合成メモリ19と、を備えている。
【0023】
なお、第1乃至第3カメラリンク受信IC4,5,6、第1乃至第3カメラ入力調停回路7,8,9、第1乃至第3FIFOメモリ11,12,13、第1乃至第3アドレス計算回路14,15,16、合成メモリ調停回路17及びセレクタ18により、記憶処理実行部が構成されている。
【0024】
図2に示すように、撮像対象物21は、例えば、ウェブであり、例えば、その片面には、該ウェブの長手方向において所定間隔で絵柄22の印刷が施されている。
【0025】
撮像対象物21は、図示しない搬送装置により、その長手方向(例えば、図2に示す走行方向A)に搬送される。
【0026】
図2に示すように、カメラ1,2,3は、例えば、撮像対象物21の走行方向Aに対して直交する横方向Bにおいて、一列に並んで配設されている。
【0027】
図3に示すように、各カメラ1,2,3は、それぞれ、撮像対象物21に向かうにつれて広がる視野10を有している。
【0028】
各カメラ1,2,3は、横方向Bにおいて等間隔で一列に配設された撮像素子を、例えば4096画素分備えている。
【0029】
そして、1回の撮像動作により、各撮像素子が画像を取り込む。すなわち、図4に示すように、H1〜H4096までの4096画素分の画像データを、1回の撮像動作により生成する。
【0030】
ここで、「H1」は横アドレスが1番地であることを意味し、同様に、H4096は横アドレスが4096番地であることを意味する。
【0031】
各カメラ1,2,3は、図3に示すように、隣のカメラと撮像範囲の一部が重複するように配置されている。
【0032】
具体的には、第1カメラ1と第2カメラ2とは、例えば50画素分の撮像素子と対応する撮像範囲が互いに重複しており、同様に、第2カメラ2と第3カメラ3とは、例えば50画素分の撮像素子と対応する撮像範囲が互いに重複している。
【0033】
以下では、第1カメラ1が生成する画像データを第1画像データ、第2カメラ2が生成する画像データを第2画像データ、第3カメラ3が生成する画像データを第3画像データという。
【0034】
各カメラ1,2,3は、個別に、一定周期のカメラクロック信号と、一定周期の撮像タイミングを示すカメラHsync信号を発生する。
【0035】
すなわち、第1カメラ1は第1カメラクロック信号と第1カメラHsync信号を発生し、第2カメラ2は第2カメラクロック信号と第2カメラHsync信号を発生し、第3カメラ3は第3カメラクロック信号と第3カメラHsync信号を発生する。
【0036】
なお、第1乃至第3カメラクロック信号は、例えば、互いに同じ周波数である。ただし、互いに同期している必要はない。
【0037】
各カメラ1,2,3は、Hsync信号を1回発生する度に、1回の撮像動作を実行し、1ライン分(例えば4096画素分)の画像データを生成する。
【0038】
各カメラ1,2,3は、カメラクロック信号、Hsync信号及び生成した画像データを、対応するカメラリンク受信IC4,5,6に対して出力する。
【0039】
すなわち、第1カメラ1は第1カメラリンク受信IC4に対して第1カメラクロック信号、第1カメラHsync信号及び第1画像データを出力する。
【0040】
同様に、第2カメラ2は第2カメラリンク受信IC5に対して第2カメラクロック信号、第2カメラHsync信号及び第2画像データを出力する。
【0041】
同様に、第3カメラ3は第3カメラリンク受信IC6に対して第3カメラクロック信号、第3カメラHsync信号及び第3画像データを出力する。
【0042】
各カメラ1,2,3による画像データの出力は、Hsync信号の発生をトリガとして、H1の画像データから順に、1カメラクロック毎に、1画素分ずつ行われる。
【0043】
ただし、Hsync信号の発生タイミングとH1の画像データの出力タイミングとは、必ずしも一致せず、Hsync信号の発生タイミングから所定数のカメラクロック分だけ遅れる場合もある。
【0044】
各カメラリンク受信IC4,5,6は、カメラ1,2,3から入力されるカメラクロック信号、Hsync信号及び画像データのうち、カメラクロック信号は、対応するカメラ入力調停回路7,8,9及び対応するFIFOメモリ11,12,13に出力する。
【0045】
また、各カメラリンク受信IC4,5,6は、カメラ1,2,3から入力されるHsync信号を、対応するカメラ入力調停回路7,8,9及び対応するアドレス計算回路14,15,16に出力する。
【0046】
また、各カメラリンク受信IC4,5,6は、カメラ1,2,3から入力される画像データを、対応するFIFOメモリ11,12,13に出力する。
【0047】
すなわち、第1カメラリンク受信IC4は、第1カメラクロック信号を第1カメラ入力調停回路7及び第1アドレス計算回路14に、第1カメラHsync信号を第1カメラ入力調停回路7及び第1アドレス計算回路14に、第1画像データを第1FIFOメモリ11に、それぞれ出力する。
【0048】
同様に、第2カメラリンク受信IC5は、第2カメラクロック信号を第2カメラ入力調停回路8及び第2アドレス計算回路15に、第2カメラHsync信号を第2カメラ入力調停回路8及び第2アドレス計算回路15に、第2画像データを第2FIFOメモリ12に、それぞれ出力する。
【0049】
同様に、第3カメラリンク受信IC6は、第3カメラクロック信号を第3カメラ入力調停回路9及び第3アドレス計算回路16に、第3カメラHsync信号を第3カメラ入力調停回路9及び第3アドレス計算回路16に、第3画像データを第3FIFOメモリ13に、それぞれ出力する。
【0050】
なお、各カメラリンク受信IC4,5,6は、標準デジタル伝送方式のカメラリンクフォーマットのデータ形式で各信号及びデータを出力する。
【0051】
各カメラ入力調停回路7,8,9は、各FIFOメモリ11,12,13に入力される画像データのうち、実際に各FIFOメモリ11,12,13に書き込む画像データを各FIFOメモリ11,12,13に対して指示するものである。
【0052】
この指示は、図5に示すように、対応するカメラリンク受信IC4,5,6から入力されるカメラHsync信号の他に、設定値として各カメラ入力調停回路7,8,9に与えられた「データ開始クロック数」、「有効画素数」、「左端捨て画素数」及び「右端捨て画素数」を示す各データに基づくタイミングで、対応するFIFOメモリ11,12,13に書込指示信号を出力することにより行う。
【0053】
ここで、「有効画素数」は、各カメラ1,2,3による1回(1ライン分)の撮像動作により生成される有効な画像データの画素数を示す。有効な画像データとは、撮像対象物21の画像を示す画像データを意味する。
【0054】
本実施形態の場合、「有効画素数」は、例えば、各カメラ入力調停回路7,8,9で共通の値であり、「4096」である。
【0055】
「データ開始クロック数」は、カメラHsync信号がFIFOメモリ11,12,13に入力されてから、FIFOメモリ11,12,13に有効な画像データが入力され始めるまでのカメラクロック数を示す。Hsync信号の発生タイミングと先頭のH1の画像データの出力タイミングとが一致する場合は、「データ開始クロック数」は「0」となる。H1の画像データの出力タイミングがHsync信号の発生タイミングから所定数のカメラクロック分だけ遅れる場合は、該所定数が「データ開始クロック数」となる。
【0056】
「左端捨て画素数」は、有効な画像データのうち、左隣のカメラと撮像範囲が重複するためにFIFOメモリに書き込まれない画像データの画素数を示す。
【0057】
「右端捨て画素数」は、有効な画像データのうち、右隣のカメラと撮像範囲が重複するためにFIFOメモリに書き込まれない画像データの画素数を示す。
【0058】
なお、「データ開始クロック数」、「有効画素数」、「左端捨て画素数」及び「右端捨て画素数」は、例えば、図示しないCPUから、各カメラ入力調停回路7,8,9に入力される構成とすることが挙げられるが、各カメラ入力調停回路7,8,9に予め設定されていても良い。
【0059】
図5に示すように、各カメラ入力調停回路7,8,9は、カメラHsync信号が入力されたタイミングから起算して、(「データ開始クロック数」+「左端捨て画素数」)のカメラクロックが入力されたタイミングで、対応するFIFOメモリ11,12,13に出力する書込指示信号を非アクティブ(ローレベル)からアクティブ(ハイレベル)に切り替える。
【0060】
また、各カメラ入力調停回路7,8,9は、カメラHsync信号が入力されたタイミングから起算して、(「データ開始クロック数」+「有効画素数」−「右端捨て画素数」)のカメラクロックが入力されたタイミングで、対応するFIFOメモリ11,12,13に出力する書込指示信号をアクティブから非アクティブに切り替える。
【0061】
カメラ入力調停回路7,8,9からFIFOメモリ11,12,13に入力される書込指示信号がアクティブの期間においては、各FIFOメモリ11,12,13は、対応するカメラ1,2,3から1カメラクロック毎に新たに入力される画像データを記憶する。
【0062】
なお、一連の書込指示信号がFIFOメモリ11,12,13に入力される期間にFIFOメモリ11,12,13に書き込まれる画像データの数、すなわち、1ライン分の画像データのうちFIFOメモリ11,12,13に記憶される画像データの画素数を、以下、書込画素数という。また、各カメラ1,2,3により生成される画像データのうち、FIFOメモリ11,12,13に書き込まれる画像データを、以下、書込画素という。
【0063】
次に、図3乃至図5を参照して、各カメラ入力調停回路7,8,9のより具体的な動作の一例を説明する。
【0064】
上記のように、第1カメラ1と第2カメラ2とで重複する撮像範囲は、例えば、50画素分である(図3参照)。
【0065】
そこで、本実施形態では、一例として、図4に示すように、第1画像データについては、右端の25画素分(=第1カメラ1と第2カメラ2との重複部分である50画素分の画像データのうち、左半分に相当する)を、第1FIFOメモリ11への入力段階で削除する。
【0066】
すなわち、第1カメラ入力調停回路7に設定される「右端捨て画素数」は、例えば「25」である。
【0067】
ただし、第1カメラ1の左隣にはカメラが存在せず、撮像範囲の左端においては重複部分がないため、第1カメラ入力調停回路7に設定される「左端捨て画素数」は、例えば「0」である(つまり、第1画像データについては左端捨てを行わない)。
【0068】
従って、1ライン分の第1画像データのうちの書込画素数は、図4に示すように、例えば「4071」(=4096−25)である。
【0069】
また、第2画像データについては、左右両端の25画素分ずつを、第2FIFOメモリ12に書き込まないようにする。
【0070】
すなわち、第2画像データについては、第1カメラ1と第2カメラ2との重複部分である50画素分の画像データのうち右半分に相当する画像データと、第2カメラ2と第3カメラ3との重複部分である50画素分の画像データのうち左半分に相当する画像データと、を第2FIFOメモリ12への入力段階で削除する。
【0071】
よって、第2カメラ入力調停回路8に設定される「右端捨て画素数」並びに「右端捨て画素数」は、例えば「25」である。
【0072】
従って、1ライン分の第2画像データのうちの書込画素数は、図4に示すように、例えば「4046」(=4096−25−25)である。
【0073】
また、第3画像データについては、左端の25画素分を第3FIFOメモリ13に書き込まないようにする。
【0074】
すなわち、第3画像データについては、第2カメラ2と第3カメラ3との重複部分である50画素分の画像データのうち右半分に相当する画像データを第3FIFOメモリ13への入力段階で削除する。
【0075】
よって、第3カメラ入力調停回路9に設定される「左端捨て画素数」は、例えば「25」である。
【0076】
ただし、第3カメラ3の右隣にはカメラが存在せず、撮像範囲の右端においては重複部分がないため、第3カメラ入力調停回路9に設定される「右端捨て画素数」は、例えば「0」である(第3画像データについては右端捨てを行わない)。
【0077】
従って、1ライン分の第3画像データのうちの書込画素数は、図4に示すように、例えば「4071」(=4096−25)である。
【0078】
ここで、各FIFOメモリ11,12,13は、1画素分の画像データのみを書き込み可能な記憶領域を備えている。
【0079】
これは、後述するように、各FIFOメモリ11,12,13に書き込まれた画像データは、次のカメラクロックがFIFOメモリ11,12,13に入力されてFIFOメモリ11,12,13に次の画像データが書き込まれるよりも前に、合成メモリ調停回路17の制御下でセレクタ18に読み出されるためである。
【0080】
各FIFOメモリ11,12,13は、自身に画像データが書き込まれていない状態(書き込み領域が空の状態)であるか否かを示すEmpty信号を、合成メモリ調停回路17に対して出力する。
【0081】
すなわち、第1FIFOメモリ11は、自身に画像データが書き込まれている状態のときには、第1Empty信号を非アクティブ(ローレベル)にし、自身に画像データが書き込まれていない状態(読み出された状態)のときには、第1Empty信号をアクティブ(ハイレベル)にする。
【0082】
同様に、第2FIFOメモリ12は、自身に画像データが書き込まれているか否かに応じて、第2Empty信号を非アクティブ又はアクティブに切り替え、第3FIFOメモリ13は、自身に画像データが書き込まれているか否かに応じて、第3Empty信号を非アクティブ又はアクティブに切り替える。
【0083】
合成メモリ調停回路17は、各FIFOメモリ11,12,13から入力されるEmpty信号の反転信号を順次に監視し、該反転信号がアクティブ(ハイレベル)であるときには、対応するFIFOメモリ11,12,13と、対応するアドレス計算回路14,15,16と、セレクタ18と、に対して第1乃至第3write信号を出力する。
【0084】
また、合成メモリ調停回路17は、Empty信号の反転信号の監視結果に応じて、セレクタ18に対して出力するセレクト信号(sel)の値を切り替える。
【0085】
すなわち、合成メモリ調停回路17は、第1Empty信号の反転信号がアクティブであれば、第1FIFOメモリ11に画像データが書き込まれている状態であると判断し、該第1FIFOメモリ11、第1アドレス計算回路14及びセレクタ18に対し、第1write信号を出力するとともに、セレクタ18に出力するセレクト信号を例えば「1」に切り替える。
【0086】
また、合成メモリ調停回路17は、第2Empty信号の反転信号がアクティブであれば、第2FIFOメモリ12に画像データが書き込まれている状態であると判断し、該第2FIFOメモリ12、第2アドレス計算回路15及びセレクタ18に対し、第2write信号を出力するとともに、セレクタ18に出力するセレクト信号を例えば「2」に切り替える。
【0087】
また、合成メモリ調停回路17は、第3Empty信号の反転信号がアクティブであれば、第3FIFOメモリ13に画像データが書き込まれている状態であると判断し、該第3FIFOメモリ13、第3アドレス計算回路16及びセレクタ18に対し、第3write信号を出力するとともに、セレクタ18に出力するセレクト信号を例えば「3」に切り替える。
【0088】
図6は合成メモリ調停回路17の動作を示すフローチャートである。
【0089】
図6に示すように、合成メモリ調停回路17は、第1FIFOメモリ11から入力される第1Empty信号の反転信号がアクティブか否かを判定する(ステップS1)。
【0090】
第1Empty信号の反転信号がアクティブであれば(ステップS1のYes)、合成メモリ調停回路17は、セレクタ18に対して出力するセレクト信号(sel)の値を「1」とし、第1FIFOメモリ11、第1アドレス計算回路14及びセレクタ18に対して第1write信号を1クロックだけ出力し(ステップS2)、ステップS3に移行する。
【0091】
第1Empty信号の反転信号がアクティブでない場合(ステップS1のNo)も、ステップS3に移行する。
【0092】
ステップS3では、合成メモリ調停回路17は、第2FIFOメモリ12から入力される第2Empty信号の反転信号がアクティブか否かを判定する。
【0093】
第2Empty信号の反転信号がアクティブであれば(ステップS3のYes)、合成メモリ調停回路17は、セレクタ18に対して出力するセレクト信号の値を「2」とし、第2FIFOメモリ12、第2アドレス計算回路15及びセレクタ18に対して第2write信号を1クロックだけ出力し(ステップS4)、ステップS5に移行する。
【0094】
第2Empty信号の反転信号がアクティブでない場合(ステップS3のNo)も、ステップS5に移行する。
【0095】
ステップS5では、合成メモリ調停回路17は、第3FIFOメモリ13から入力される第3Empty信号の反転信号がアクティブか否かを判定する。
【0096】
第3Empty信号の反転信号がアクティブであれば(ステップS5のYes)、合成メモリ調停回路17は、セレクタ18に対して出力するセレクト信号の値を「3」とし、第3FIFOメモリ13、第3アドレス計算回路16及びセレクタ18に対して第3write信号を1クロックだけ出力し(ステップS6)、ステップS1に戻る。
【0097】
第3Empty信号の反転信号がアクティブでない場合(ステップS5のNo)も、ステップS1に戻る。
【0098】
図6のステップS2において、第1FIFOメモリ11は、第1write信号を受けると、自身に書き込まれている画像データをセレクタ18に対して出力する。
【0099】
第1アドレス計算回路14は、第1write信号を受けると、第1FIFOメモリ11から出力される画像データの合成メモリ19上におけるアドレスを計算し、その計算結果(後述するように、第1横アドレス及び第2縦アドレス)をセレクタ18に出力する。
【0100】
なお、各アドレス計算回路14〜16の動作の詳細は後述する。
【0101】
セレクタ18は、セレクト信号の値が「1」であれば、各FIFOメモリ11〜13からの出力のうち、第1FIFOメモリ11の出力を選択して合成メモリ19に出力するとともに、各アドレス計算回路14〜16からの出力のうち、第1アドレス計算回路14からの出力を選択して合成メモリ19に出力する。更にセレクタ18は、セレクト信号の値が「1」であれば、合成メモリ調停回路17から出力されるwrite信号のうち、第1write信号を選択して合成メモリ19に出力する。
【0102】
このため、図6のステップS2においては、第1FIFOメモリ11から出力される画像データが、第1アドレス計算回路14から出力される第1横アドレス及び第1縦アドレスに従って、合成メモリ19の記憶領域に記憶される。
【0103】
同様に、図6のステップS4において、第2FIFOメモリ12は、第2write信号を受けると、自身に書き込まれている画像データをセレクタ18に対して出力する。
【0104】
第2アドレス計算回路15は、第2write信号を受けると、第2FIFOメモリ12から出力される画像データの合成メモリ19上におけるアドレスを計算し、その計算結果(第2横アドレス及び第2縦アドレス)をセレクタ18に出力する。
【0105】
セレクタ18は、セレクト信号の値が「2」であれば、各FIFOメモリ11〜13からの出力のうち、第2FIFOメモリ12の出力を選択して合成メモリ19に出力するとともに、各アドレス計算回路14〜16からの出力のうち、第2アドレス計算回路15からの出力を選択して合成メモリ19に出力する。更にセレクタ18は、セレクト信号の値が「2」であれば、合成メモリ調停回路17から出力されるwrite信号のうち、第2write信号を選択して合成メモリ19に出力する。
【0106】
このため、図6のステップS4においては、第2FIFOメモリ12から出力される画像データが、第2アドレス計算回路15から出力される第2横アドレス及び第2縦アドレスに従って、合成メモリ19の記憶領域に記憶される。
【0107】
同様に、図6のステップS6において、第3FIFOメモリ13は、第3write信号を受けると、自身に書き込まれている画像データをセレクタ18に対して出力する。
【0108】
第3アドレス計算回路16は、第3write信号を受けると、第3FIFOメモリ13から出力される画像データの合成メモリ19上におけるアドレスを計算し、その計算結果(第3横アドレス及び第3縦アドレス)をセレクタ18に出力する。
【0109】
セレクタ18は、セレクト信号の値が「3」であれば、各FIFOメモリ11〜13からの出力のうち、第3FIFOメモリ13の出力を選択して合成メモリ19に出力するとともに、各アドレス計算回路14〜16からの出力のうち、第3アドレス計算回路16からの出力を選択して合成メモリ19に出力する。更にセレクタ18は、セレクト信号の値が「3」であれば、合成メモリ調停回路17から出力されるwrite信号のうち、第3write信号を選択して合成メモリ19に出力する。
【0110】
このため、図6のステップS6においては、第3FIFOメモリ13から出力される画像データが、第3アドレス計算回路16から出力される第3横アドレス及び第3縦アドレスに従って、合成メモリ19の記憶領域に記憶される。
【0111】
このように、合成メモリ調停回路17は、画像データの読み出しを行うFIFOメモリと、セレクタ18が選択する画像データ、アドレス及びwrite信号と、を時分割で順次に切り替える。
【0112】
ここで、上記のように、各カメラ1,2,3は、1カメラクロック毎に、1画素分の画像データを出力する。このため、書込指示信号がアクティブである期間中においては、各FIFOメモリ11〜13には、1カメラクロック毎に新たに画像データが書き込まれる。
【0113】
よって、各カメラ1,2,3が生成する画像データのうちの書込画素を漏れなく合成メモリ19に記憶させるために、合成メモリ調停回路17の動作用のクロック(以下、システムクロック)としては、各カメラクロックの3倍以上の周波数のものが用いられる。
【0114】
すなわち、合成メモリ調停回路17は、例えば、1システムクロック毎に、図6のステップS1及びS2(或いはステップS1のみ)→ステップS3及びS4(或いはステップS3のみ)→ステップS5及びS6(或いはステップS5のみ)→ステップS1及びS2(或いはステップS1のみ)→・・・の処理を順次に循環的に実行することにより、各カメラ1,2,3が生成する画像データのうち書込画素を、各FIFOメモリ11〜13からオーバーフローさせることなくセレクタ18に読み出し、合成メモリ19に記憶させることができるのである。
【0115】
次に、各アドレス計算回路14〜16の動作の詳細を説明する。
【0116】
図7は、各アドレス計算回路14〜16の構成を示すブロック図である。
【0117】
図7に示すように、各アドレス計算回路14〜16は、横アドレス算出用のカウント動作を行う横アドレスインクリメンタルカウンタ31と、横アドレスインクリメンタルカウンタ31から出力されるカウント値と予め設定されたオフセット値とを加算して横アドレスとしてセレクタ18に出力する加算器32と、横アドレスインクリメンタルカウンタ31のカウント値と書込画素数とを比較する比較器33と、縦アドレス算出用のカウント動作を行ってカウント値をセレクタ18に対して出力する縦アドレスインクリメンタルカウンタ34と、を備えている。
【0118】
先ず、アドレス計算回路14〜16のうち、第1アドレス計算回路14について説明する。
【0119】
第1アドレス計算回路14の横アドレスインクリメンタルカウンタ31には、第1カメラリンク受信IC4からの第1カメラHsync信号と、合成メモリ調停回路17からの第1write信号と、が入力される。
【0120】
第1アドレス計算回路14の横アドレスインクリメンタルカウンタ31は、第1write信号が1つ入力される度に、カウント値を1インクリメントし、第1カメラHsync信号が入力される度に、カウント値をリセットして「0」にする。
【0121】
従って、具体的には、第1アドレス計算回路14の横アドレスインクリメンタルカウンタ31のカウント値は、第1write信号の入力毎に「1」から「4071」まで順次カウントアップされた後、次の第1カメラHsync信号の入力によりリセットされて「0」となる。
【0122】
第1アドレス計算回路14の加算器32に入力されるオフセット値は、例えば、「0」である。このため、第1アドレス計算回路14の加算器32から出力される第1横アドレスは、横アドレスインクリメンタルカウンタ31から出力されるカウント値に等しく、「1」から「4071」までの値をとる。
【0123】
従って、第1アドレス計算回路14においては、図8に示すように、加算器32を省略した構成とし、横アドレスインクリメンタルカウンタ31から出力されるカウント値をそのまま第1横アドレスとして出力することも可能である。
【0124】
第1アドレス計算回路14の比較器33には、横アドレスインクリメンタルカウンタ31のカウント値(C)と、第1画像データについての書込画素数(D)と、が入力される。第1画像データの書込画素数は、上記のように、例えば「4071」である。
【0125】
なお、第1乃至第3画像データの各書込画素数は、例えば、図示しないCPUなどにより演算し、その演算結果を各アドレス計算回路14〜16の比較器33に入力すると良い。
【0126】
比較器33は、カウント値(C)が書込画素数(D)に達したら(D≦Cを満たしたら)、縦アドレスインクリメンタルカウンタ34に対してインクリメント信号を1つ出力する。
【0127】
第1アドレス計算回路14の縦アドレスインクリメンタルカウンタ34は、比較器33からインクリメント信号が入力される度に、カウント値を1インクリメントし、取込トリガ信号が入力される度に、カウント値をリセットして「0」にする。
【0128】
第1アドレス計算回路14の縦アドレスインクリメンタルカウンタ34は、カウント値を第1縦アドレスとしてセレクタ18に出力する。
【0129】
つまり、1ライン分の第1画像データのうち書込画素数分の画像データが第1FIFOメモリ11から読み出される度に、第1縦アドレスが1インクリメントされる。
【0130】
ここで、撮像対象物21が、図2に示すように絵柄22が所定間隔で印刷されたウェブである場合の取込トリガ信号は、例えば、次に説明するようにして縦アドレスインクリメンタルカウンタ34に入力することが挙げられる。
【0131】
先ず、撮像対象物21に対する絵柄22の印刷は、例えば、円筒状の版胴を有する輪転式の印刷機により、該版胴が1回転する度に行われる。また、図1の画像処理装置100及びカメラ1,2,3は、絵柄22を印刷する印刷機の下流に設置されている。また、印刷機には、上記版胴が1回転する度に、回転検出信号を発生する回転検出信号発生器を設ける。そして、この回転検出信号発生器から出力される回転検出信号と同じ周期で発生する取込トリガ信号を、第1乃至第3アドレス計算回路14〜16の縦アドレスインクリメンタルカウンタ34に入力する。なお、取込トリガ信号のタイミングは、各カメラ1,2,3により絵柄22を撮像できるようなタイミングに設定する。
【0132】
次に、第2アドレス計算回路15について説明する。
【0133】
第2アドレス計算回路15の横アドレスインクリメンタルカウンタ31には、第2カメラリンク受信IC5からの第2カメラHsync信号と、合成メモリ調停回路17からの第2write信号と、が入力される。
【0134】
第2アドレス計算回路15の横アドレスインクリメンタルカウンタ31は、第2write信号が1つ入力される度に、カウント値を1インクリメントし、第2カメラHsync信号が入力される度に、カウント値をリセットして「0」にする。
【0135】
従って、具体的には、第2アドレス計算回路15の横アドレスインクリメンタルカウンタ31のカウント値は、第2write信号の入力毎に「1」から「4046」まで順次カウントアップされた後、次の第2カメラHsync信号の入力によりリセットされて「0」となる。
【0136】
第2アドレス計算回路15の加算器32に入力されるオフセット値は、例えば、「4071」である。このため、第2アドレス計算回路15の加算器32から出力される第2横アドレスは、横アドレスインクリメンタルカウンタ31から出力されるカウント値に4071を加えた数であり、「4071」から「8117」までの値をとる。
【0137】
なお、オフセット値は、例えば、図示しないCPUから加算器32に入力されるように構成することが挙げられる。
【0138】
第2アドレス計算回路15の比較器33には、横アドレスインクリメンタルカウンタ31のカウント値(C)と、第2画像データについての書込画素数(D)と、が入力される。第2画像データの書込画素数は、上記のように、例えば「4046」である。
【0139】
比較器33は、カウント値(C)が書込画素数(D)に達したら(D≦Cを満たしたら)、縦アドレスインクリメンタルカウンタ34に対してインクリメント信号を1つ出力する。
【0140】
縦アドレスインクリメンタルカウンタ34は、比較器33からインクリメント信号が入力される度に、カウント値を1インクリメントし、取込トリガ信号が入力される度に、カウント値をリセットして「0」にする。
【0141】
第2アドレス計算回路15の縦アドレスインクリメンタルカウンタ34は、カウント値を第2縦アドレスとしてセレクタ18に出力する。
【0142】
つまり、1ライン分の第2画像データのうち書込画素数分の画像データが第2FIFOメモリ12から読み出される度に、第2縦アドレスが1インクリメントされる。
【0143】
次に、第3アドレス計算回路16について説明する。
【0144】
第3アドレス計算回路16の横アドレスインクリメンタルカウンタ31には、第3カメラリンク受信IC6からの第3カメラHsync信号と、合成メモリ調停回路17からの第3write信号と、が入力される。
【0145】
第3アドレス計算回路16の横アドレスインクリメンタルカウンタ31は、第3write信号が1つ入力される度に、カウント値を1インクリメントし、第3カメラHsync信号が入力される度に、カウント値をリセットして「0」にする。
【0146】
従って、具体的には、第3アドレス計算回路16の横アドレスインクリメンタルカウンタ31のカウント値は、第3write信号の入力毎に「1」から「4071」まで順次カウントアップされた後、次の第2カメラHsync信号の入力によりリセットされて「0」となる。
【0147】
第3アドレス計算回路15の加算器32に入力されるオフセット値は、例えば、「8117」(=4071+4046)である。このため、第3アドレス計算回路16の加算器32から出力される第3横アドレスは、横アドレスインクリメンタルカウンタ31から出力されるカウント値に8117を加えた数であり、「4072」から「12188」までの値をとる。
【0148】
第3アドレス計算回路16の比較器33には、横アドレスインクリメンタルカウンタ31のカウント値(C)と、第3画像データについての書込画素数(D)と、が入力される。第3画像データの書込画素数は、上記のように、例えば「4071」である。
【0149】
比較器33は、カウント値(C)が書込画素数(D)に達したら(D≦Cを満たしたら)、縦アドレスインクリメンタルカウンタ34に対してインクリメント信号を1つ出力する。
【0150】
縦アドレスインクリメンタルカウンタ34は、比較器33からインクリメント信号が入力される度に、カウント値を1インクリメントし、取込トリガ信号が入力される度に、カウント値をリセットして「0」にする。
【0151】
第3アドレス計算回路16の縦アドレスインクリメンタルカウンタ34は、カウント値を第3縦アドレスとしてセレクタ18に出力する。
【0152】
つまり、1ライン分の第3画像データのうち書込画素数分の画像データが第3FIFOメモリ12から読み出される度に、第3縦アドレスが1インクリメントされる。
【0153】
図9は合成メモリ19が備える記憶領域のうち1個の絵柄22と対応する記憶領域の模式図、図10は1つの取込トリガ信号が発生してから次の取込トリガ信号が発生するまでのインターバルの間に各カメラ1,2,3により撮像される画像の範囲R1、H2、H3を示す図、図11は各カメラ1,2,3により得られた画像データがどのように合成メモリ19に記憶されるかを模式的に説明するための図である。
【0154】
本実施形態の場合、例えば、第1FIFOメモリ11から読み出される画像データは、合成メモリ19の横アドレスH1からH4071までに亘る記憶領域に記憶される(図9参照)。
【0155】
また、第2FIFOメモリ12から読み出される画像データは、合成メモリ19の横アドレスH4072からH8117までに亘る記憶領域に記憶される(図9参照)。
【0156】
また、第3FIFOメモリ13から読み出される画像データは、合成メモリ19の横アドレスH8118からH12188までに亘る記憶領域に記憶される(図9参照)。
【0157】
ここで、各カメラ1,2,3は、1つの取込トリガ信号が発生してから次の取込トリガ信号が発生するまでのインターバルに、4096個のHsync信号を発生したとする。
【0158】
この場合、図9に示すように、第1乃至第3画像データは、合成メモリ19の縦アドレスV1からV4096までに亘る記憶領域に記憶される(図9参照)。
【0159】
すなわち、合成メモリ19において、1つの絵柄22と対応する記憶領域は、例えば、H1〜H12188までの12188画素分の横アドレスを有しているとともに、例えば、V1〜V4096までの4096画素分の縦アドレスを有している。
【0160】
なお、「V1」は縦アドレスが1番地であることを意味し、同様に、V4096は縦アドレスが4096番地であることを意味する。
【0161】
図11(a)に示す画像41は、第1カメラ1により図10の撮像範囲R1を撮像することにより得られる画像から右端の25画素分を削除した画像である。
【0162】
また、図11(a)に示す画像42は、第2カメラ2により図10の撮像範囲R2を撮像することにより得られる画像から左右両端の各々25画素分を削除した画像である。
【0163】
また、図11(a)に示す画像43は、第3カメラ3により図10の撮像範囲R3を撮像することにより得られる画像から左端の25画素分を削除した画像である。
【0164】
また、図11(b)に示す画像44は、画像41の右隣に画像42を繋げ、更に、画像42の右隣に画像43を横に繋げてなる画像である。
【0165】
上記のような構成の画像処理装置100は、要するに、図11(a)に示す画像41〜43を、図11(b)に示す1つの画像44にまとめて合成メモリ19に記憶させるような動作を行うものであると言える。
【0166】
第1カメラ1の1回目の撮像動作により生成されたH1〜H4096までの画像データのうち、右端の25画素分を除く画像データは、合成メモリ19の1ライン目である縦アドレスV1のラインにおけるH1〜H4071までの横アドレスに記憶される。
【0167】
同様に、第2カメラ2の1回目の撮像動作により生成されたH1〜H4096までの画像データのうち、左右両端の各々25画素分を除く画像データは、合成メモリ19の1ライン目である縦アドレスV1のラインにおけるH4072〜H8117までの横アドレスに記憶される。
【0168】
同様に、第3カメラ3の1回目の撮像動作により生成されたH1〜H4096までの画像データのうち、左端の25画素分を除く画像データは、合成メモリ19の1ライン目である縦アドレスV1のラインにおけるH8118〜H12188までの横アドレスに記憶される。
【0169】
第1カメラ1の2回目以降の撮像動作により生成された画像データは、同様に、合成メモリ19の縦アドレスV2〜V4096のラインにおいて、それぞれH1〜H4071までの横アドレスに記憶される。
【0170】
同様に、第2カメラ2の2回目以降の撮像動作により生成された画像データは、同様に、合成メモリ19の縦アドレスV2〜V4096のラインにおいて、それぞれH4072〜H8117までの横アドレスに記憶される。
【0171】
同様に、第3カメラ2の2回目以降の撮像動作により生成された画像データは、同様に、合成メモリ19の縦アドレスV2〜V4096のラインにおいて、それぞれH8118〜H12188までの横アドレスに記憶される。
【0172】
こうして、各カメラ1,2,3により得られる第1乃至第3画像データが、図11(b)に示す1つの画像44を示す一連の画像データとして合成メモリ19に記憶される。
【0173】
以上のような第1の実施形態によれば、1つの画像処理装置100を複数のカメラ1,2,3で共用する構成であるため、画像処理装置100をカメラ1,2,3の台数だけ備える必要がある場合と比べて低コスト化及び省スペース化が図れる。
【0174】
また、複数のカメラ1,2,3によりそれぞれ得られる画像データを、あたかも1台のカメラにより得られる1つの画像データであるかのように扱うことが可能となる。よって、合成メモリ19の後段では、撮像範囲の重複を気にする必要が無くなり、且つ、複数の処理結果を集計する作業も必要なくなる。
【0175】
〔第2の実施形態〕
第2の実施形態では、撮像対象物を撮像するカメラがエリアセンサ式カメラであり、カメラの個数が3台である例を説明する。
【0176】
本実施の形態は、以下に説明する点の他は、上記の第1の実施形態と同様である。このため、第2の実施形態の構成及び動作について、上記の第1の実施形態と同様の点については、その説明を省略する。
【0177】
図12は第2の実施形態に係る画像処理装置200の構成を示すブロック図、図13は第2の実施形態におけるカメラ1,2,3の平面的な配置の一例を示す図、図14は第2の実施形態における第1乃至第3アドレス計算回路14,15,16を示すブロック図である。
【0178】
図12に示すように、本実施形態に係る画像処理装置200は、第1の実施形態に係る画像処理装置200と同様の構成を備えている。
【0179】
図13に示すように、本実施形態の場合も、各カメラ1,2,3は、例えば、横並びに配置されている。
【0180】
本実施形態の場合、各カメラ1,2,3は、例えば、横方向Bに4096画素分、縦方向(走行方向A)に4096画素分の、合計で4096×4096個の撮像素子をマトリクス状の配置で備えている。
【0181】
そして、1回の撮像動作により、各撮像素子が画像を取り込む。すなわち、各カメラ1,2,3は、1回の撮像動作により、各々4096×4096画素分の画像データを生成する。
【0182】
なお、第1カメラ1は、1回の撮像動作により、例えば、図10の撮像範囲R1の全体の画像を取り込む。同様に、1回の撮像動作により、第2カメラ2は、例えば、図10の撮像範囲R2の全体の画像を、第3カメラ3は、例えば、図10の撮像範囲R3の全体の画像を、それぞれ取り込む。
【0183】
本実施形態の場合、各カメラ1,2,3は、個別に、一定周期のカメラクロック信号と、横アドレスのリセットタイミングを示す一定周期のカメラHsync信号と、一定周期の撮像タイミングを示すカメラVsync信号を発生する。
【0184】
本実施形態の場合、上記の第1の実施形態における取込トリガ信号の代わりに、カメラVsync信号が用いられる。従って、取込トリガ信号は不要である。
【0185】
第1カメラ1は第1カメラクロック信号、第1カメラHsync信号及び第1カメラVsync信号を発生する。同様に、第2カメラ2は第2カメラクロック信号、第2カメラHsync信号及び第2カメラVsync信号を発生し、第3カメラ3は第3カメラクロック信号、第3カメラHsync信号及び第3Vsync信号を発生する。
【0186】
各カメラ1,2,3は、Vsync信号を1回発生する度に、1回の撮像動作を実行し、例えば4096×4096画素分の画像データを生成する。
【0187】
各カメラ1,2,3は、カメラクロック信号、Hsync信号、Vsync信号及び生成した画像データを、対応するカメラリンク受信IC4,5,6に対して出力する。
【0188】
すなわち、第1カメラ1は第1カメラリンク受信IC4に対して第1カメラクロック信号、第1カメラHsync信号、第1カメラVsync信号及び第1画像データを出力する。
【0189】
同様に、第2カメラ2は第2カメラリンク受信IC5に対して第2カメラクロック信号、第2カメラHsync信号、第2カメラVsync信号及び第2画像データを出力する。
【0190】
同様に、第3カメラ3は第3カメラリンク受信IC6に対して第3カメラクロック信号、第3カメラHsync信号、第3カメラVsync信号及び第3画像データを出力する。
【0191】
各カメラ1,2,3による画像データの出力は、1回目のHsync信号の発生をトリガとして、1ライン目のH1の画像データから順に、1カメラクロック毎に、1画素分ずつ行われ、1ライン目のH4096の画像データの次は、同様に、2回目のHsync信号の発生をトリガとして、2ライン目のH1の画像データから順に、1画素分ずつ行われ、順次に最終ライン(例えば4096ライン目)の画像データまで出力される。
【0192】
本実施形態の場合、各カメラリンク受信IC4,5,6は、カメラ1,2,3から入力されるVsync信号を、対応するアドレス計算回路14,15,16に出力する。
【0193】
すなわち、第1カメラリンク受信IC4は第1カメラVsync信号を第1アドレス計算回路14に、第2カメラリンク受信IC5は第2カメラVsync信号を第2アドレス計算回路15に、第3カメラリンク受信IC6は第3カメラVsync信号を第3アドレス計算回路16に、それぞれ出力する。
【0194】
そして、本実施形態の場合の各アドレス計算回路14,15,16の縦アドレスインクリメンタルカウンタ34のカウント値は、図14に示すように、対応するカメラリンク受信IC4,5,6から入力されるカメラVsync信号によりリセットされる。
【0195】
その他の点は、上記の第1の実施形態と同様であるため説明を省略するが、本実施形態の場合も、各カメラ1,2,3により得られる第1乃至第3画像データが、図11(b)に示す1つの画像44を示す一連の画像データとして合成メモリ19に記憶される。
【0196】
以上のような第2の実施形態によれば、カメラ1,2,3がエリアセンサ式カメラである場合に、上記の第1の実施形態と同様の効果が得られる。
【0197】
<第2の実施形態の変形例>
上記の第2の実施形態では、図13に示すように、各カメラ1,2,3が横並びに配置されている例を説明したが、各カメラ1,2,3の寸法が大きいと隣のカメラと干渉するために横並びに配置できない場合がある。
【0198】
この場合、例えば、図15に示すように、各カメラ1,2,3を互いに干渉しないように走行方向Aにおいて互い違いに配置する必要がある。
【0199】
具体的には、例えば、中央のカメラ2の走行方向Aにおける位置を、他の2つのカメラ1,3に対してずらすことにより、カメラ1,2,3間の干渉を避ける。
【0200】
ただし、この場合、カメラ2の撮像タイミングを、他の2つのカメラ1,3の撮像タイミングに対してずらす必要がある。
【0201】
図15に示す配置の場合、カメラ2の撮像タイミングを、他の2つのカメラ1,3の撮像タイミングよりも、撮像対象物21が走行方向Aに距離Lだけ移動するのに要する時間だけ早める。
【0202】
これにより、この変形例の場合も上記の第2の実施形態と同様の効果が得られる。
【0203】
〔第3の実施形態〕
上記の第1の実施形態では各カメラ1,2,3がラインセンサ式カメラである例を、上記の第2の実施形態では各カメラ1,2,3がエリアセンサ式カメラである例を、それぞれ説明したが、本実施形態では、各カメラ1,2,3として、ラインセンサ式カメラ又はエリアセンサ式カメラの何れか一方を選択的に画像処理装置に接続することが可能な例を説明する。
【0204】
図16は第3の実施形態に係る画像処理装置300の構成を示すブロック図である。
【0205】
図16に示すように、本実施形態に係る画像処理装置300は、上記の第1及び第2の実施形態に係る画像処理装置100,200と同様の構成要素を備えている。
【0206】
本実施形態の画像処理装置300は、各カメラ1,2,3をラインセンサ式カメラとした場合は、上記の第1の実施形態と同様に機能する。他方、各カメラ1,2,3をエリアセンサ式カメラとした場合、画像処理装置300は、上記の第2の実施形態と同様に機能する。
【0207】
そのような動作を可能とするために、本実施形態の画像処理装置300は、取込トリガ信号と第1カメラVsync信号のうちの何れか一方の信号を選択的に第1アドレス計算回路14に出力する第1トリガセレクタ51と、取込トリガ信号と第2カメラVsync信号のうちの何れか一方の信号を選択的に第2アドレス計算回路15に出力する第2トリガセレクタ52と、取込トリガ信号と第3カメラVsync信号のうちの何れか一方の信号を選択的に第3アドレス計算回路16に出力する第3トリガセレクタ53と、を更に備える。
【0208】
すなわち、それぞれラインセンサ式カメラであるカメラ1,2,3を画像処理装置300に接続した場合には、第1トリガセレクタ51は取込トリガ信号を選択して第1アドレス計算回路14に出力し、第2トリガセレクタ52は取込トリガ信号を選択して第2アドレス計算回路15に出力し、第3トリガセレクタ53は取込トリガ信号を選択して第3アドレス計算回路16に出力する。この場合、第1乃至第3のアドレス計算回路14〜16の縦アドレスインクリメンタルカウンタ34は、それぞれ、取込トリガ信号の入力によりカウント値をリセットする。
【0209】
他方、それぞれエリアセンサ式カメラであるカメラ1,2,3を画像処理装置300に接続した場合には、第1トリガセレクタ51は第1カメラ1から第1カメラリンク受信IC4を介して出力される第1カメラVsync信号を選択して第1アドレス計算回路14に出力し、第2トリガセレクタ52は第2カメラ2から第2カメラリンク受信IC5を介して出力される第2カメラVsync信号を選択して第2アドレス計算回路15に出力し、第3トリガセレクタ53は第3カメラ3から第3カメラリンク受信IC6を介して出力される第3カメラVsync信号を選択して第3アドレス計算回路16に出力する。この場合、第1乃至第3のアドレス計算回路14〜16の縦アドレスインクリメンタルカウンタ34は、それぞれ、第1乃至第3カメラHsync信号の入力によりカウント値をリセットする。
【0210】
以上のような第3の実施形態によれば、用途に応じてカメラ1,2,3をラインセンサ式カメラとしたり、或いは、エリアセンサ式カメラとすることができる。
【0211】
〔第4の実施形態〕
上記の第1の実施形態では、撮像対象物21の片面にのみ絵柄22が印刷されている例を説明したが、本実施形態では、撮像対象物の両面に絵柄が印刷されており、両面の絵柄を撮像し、これら両面の絵柄の画像データをまとめて合成メモリ19に記憶する例を説明する。
【0212】
図17は第4の実施形態に係る画像処理装置400の構成を示すブロック図、図18は撮像対象物21を示す図であり、このうち図18(a)は表面を、図18(b)は裏面を、それぞれ示す。図19は各カメラ1〜3、61〜63の配置と撮像範囲を示す図、図20は合成メモリ19が備える記憶領域のうち表裏一対の絵柄22、23と対応する記憶領域の模式図、図21は各カメラ1〜3、61〜63により得られた画像データがどのように合成メモリ19に記憶されるかを模式的に説明するための図である。
【0213】
図17に示すように、本実施形態に係る画像処理装置400は、第1カメラ1と対応する第1処理系71と、第2カメラ2と対応する第2処理系72と、第3カメラ3と対応する第3処理系73と、第4カメラ4と対応する第4処理系74と、第5カメラ5と対応する第5処理系75と、第6カメラ6と対応する第6処理系76と、合成メモリ調停回路17と、セレクタ18と、合成メモリ19と、エンコーダ81と、遅延回路82と、を備えている。
【0214】
第1処理系71は、第1の実施形態における第1カメラリンク受信IC4、第1カメラ入力調停回路7、第1FIFOメモリ11及び第1アドレス計算回路14を備えるものである。
【0215】
同様に、第2処理系72は、第1の実施形態における第2カメラリンク受信IC5、第2カメラ入力調停回路8、第2FIFOメモリ12及び第2アドレス計算回路15を備えるものであり、第3処理系73は、第1の実施形態における第3カメラリンク受信IC6、第3カメラ入力調停回路9、第3FIFOメモリ13及び第3アドレス計算回路16を備えるものである。
【0216】
また、第4処理系74は、第1処理系71と同様の構成を有し、第1カメラ1からの出力に対して第1処理系71が行うのと同じような動作を、第4カメラ61からの出力に対して行う(ただし、後述するように、画像データの横アドレスを、第1画像データに対して(例えば12188画素分)オフセットさせる)。
【0217】
また、第5処理系75は、第2処理系72と同様の構成を有し、第2カメラ2からの出力に対して第2処理系72が行うのと同じような動作を、第5カメラ62からの出力に対して行う(ただし、後述するように、画像データの横アドレスを、第2画像データに対して(例えば12188画素分)オフセットさせる)。
【0218】
また、第6処理系76は、第3処理系73と同様の構成を有し、第3カメラ3からの出力に対して第3処理系73が行うのと同じような動作を、第6カメラ63からの出力に対して行う(ただし、後述するように、画像データの横アドレスを、第3画像データに対して(例えば12188画素分)オフセットさせる)。
【0219】
本実施形態の場合、カメラの台数が6であるため、各カメラ1〜3、61〜63が生成する画像データのうちの書込画素を漏れなく合成メモリ19に記憶させるために、合成メモリ調停回路17の動作用のシステムクロックとしては、各カメラクロックの6倍以上の周波数のものが用いられる。
【0220】
本実施形態の場合、図18に示すように、撮像対象物21の表側には絵柄22が、裏側には絵柄23が、それぞれ走行方向Aにおいて所定間隔で印刷されている。
【0221】
また、本実施形態の場合、図18及び図19に示すように、表側の絵柄22を撮像するためのカメラ1,2,3と、裏側の絵柄23を撮像するためのカメラ61,62,63と、を用いる。
【0222】
なお、各カメラ1〜3、61〜63は、例えば、第1の実施形態と同様のラインセンサ式カメラである。
【0223】
図18に示すように、各カメラ1〜3、61〜63の配置スペースの都合上、カメラ61,62,63の配置は、例えば、カメラ1,2,3に対して走行方向Aにおいて距離Mだけずらした配置とされている。
【0224】
カメラ1〜3は、上記の第1の実施形態と同様に、横方向Bにおいて等間隔で一列に配置されている。
【0225】
同様に、カメラ61〜63は、カメラ1〜3よりも距離Mだけ走行方向Aにおける後方位置において、横方向Bに等間隔で一列に配置されている。
【0226】
図19に示すように、隣り合うカメラ1〜3の視野10は、上記の第1の実施形態と同様に重複している。同様に、隣り合うカメラ61〜63の視野10も重複している。
【0227】
また、本実施形態の場合、上記のように、カメラ61〜63は、走行方向Aにおいて、カメラ1〜3よりも距離Mだけ後方に配置されている。このため、カメラ61〜63により生成された第4乃至第6画像データの合成メモリ19上の縦アドレスをリセットするための取込トリガ信号は、撮像対象物21が距離Mだけ走行するのに要する時間だけ遅延させる必要がある。
【0228】
このような動作を実現するため、本実施形態の場合、取込トリガ信号は、図17に示す遅延回路82を介して、第4乃至第6処理系74〜76へ出力する。
【0229】
ここで、図17に示すエンコーダ81は、撮像対象物21の搬送装置に設けられ、撮像対象物21が走行方向Aに所定の単位距離だけ走行するたびに、1パルスの検出信号を遅延回路82に出力する。
【0230】
遅延回路82は、当該遅延回路82に対して取込トリガ信号が入力されたタイミングを起点として、距離Mに相当する回数のパルスがエンコーダ81から入力されたタイミングをもって、取込トリガ信号を第4乃至第6処理系74〜76の各アドレス計算回路14〜16へ出力する。
【0231】
すなわち、遅延回路82は、取込トリガ信号を、撮像対象物21が距離Mだけ走行するのに要する時間だけ遅延させて出力する。
【0232】
第4乃至第6処理系74〜76の各アドレス計算回路14〜16の縦アドレスインクリメンタルカウンタ34は、遅延回路82から取込トリガ信号が入力されたタイミングで、縦アドレスをリセットして「0」にする。
【0233】
これにより、合成メモリ19においては、各カメラ61〜63により生成された第4乃至第6画像データの縦アドレスと、各カメラ1〜3により生成された第1乃至第3画像データの縦アドレスと、を揃えることができる。
【0234】
図21(a)に示す画像41〜43は、第1の実施形態と同様の画像である。
【0235】
図21(a)に示す画像45は、第4カメラ61により画像41の裏側に相当する部位を撮像することにより得られる画像から右端の25画素分を削除した画像である。
【0236】
図21(a)に示す画像46は、第5カメラ62により画像42の裏側に相当する部位を撮像することにより得られる画像から左右両端の各々25画素分を削除した画像である。
【0237】
図21(a)に示す画像46は、第6カメラ63により画像43の裏側に相当する部位を撮像することにより得られる画像から左端の25画素分を削除した画像である。
【0238】
図21(b)に示すように、本実施形態では、第1カメラ1により取り込まれる画像41、第2カメラ2により取り込まれる画像42、及び、第3カメラ3により取り込まれる画像43だけでなく、第4カメラ4により取り込まれる画像45、第5カメラ5により取り込まれる画像46、及び、第6カメラ6により取り込まれる画像47も一纏めにした一連の画像として、合成メモリ19に記憶させる。
【0239】
画像41〜43については、合成メモリ19に対し、上記の第1の実施形態と同様のアドレスに記憶させる(図20参照)。
【0240】
また、画像45については、画像41に対して横アドレスを例えば12188画素分オフセットさせて、合成メモリ19に記憶させる。
【0241】
すなわち、画像45は、合成メモリ19に対し、縦アドレスV1のラインからV4096のラインにかけて、横アドレスH12189からH16259の領域に記憶させる(図20参照)。
【0242】
同様に、画像46については画像42に対して横アドレスを例えば12188画素分オフセットさせ、画像47については画像43に対して横アドレスを例えば12188画素分オフセットさせて、それぞれ合成メモリ19に対して記憶させる(図20参照)。
【0243】
このような動作を実現するため、第4処理系74が備えるアドレス計算回路14の加算器32に入力されるオフセット値は、例えば、「12188」である。これにより、画像45は、画像41に対して横アドレスが12188画素分オフセットされる。
【0244】
同様に、第5処理系75が備えるアドレス計算回路15の加算器32に入力されるオフセット値は、例えば、「16259」である。これにより、画像46は、画像42に対して横アドレスが12188画素分オフセットされる(画像41に対して横アドレスが16259画素分オフセットされる。)。
【0245】
同様に、第6処理系76が備えるアドレス計算回路16の加算器32に入力されるオフセット値は、例えば、「20305」である。これにより、画像47は、画像43に対して横アドレスが12188画素分オフセットされる(画像41に対して横アドレスが20305画素分オフセットされる。)。
【0246】
以上のような第4の実施形態によれば、表裏一対の絵柄22,23の画像データを一纏まりの画像データとして合成メモリ19に記憶させることができる。
【0247】
なお、上記の各実施形態において、使用するカメラの数は、複数であれば、上記において説明した数に限らない。
【0248】
また、カメラの配置や、各カメラの撮像範囲の重複の仕方は任意である。
【0249】
また、セレクタ18の代わりに、各FIFOメモリ11,12,13の出力のうちの何れか1つを選択的に合成メモリ19に出力するFIFO出力切替スイッチと、各アドレス計算回路14、15,16の出力のうちの何れか1つを選択的に合成メモリ19に接続するアドレス出力切替スイッチと、合成メモリ調停回路17から出力される第1乃至第3write信号のうちの何れか1つを選択的に合成メモリ19に出力するwrite信号切替スイッチと、を備えることとしても良い。この場合、合成メモリ調停回路17は、セレクト信号を出力する代わりに、これらスイッチに対し、切り替え動作を指令する制御信号をする。
【図面の簡単な説明】
【0250】
【図1】第1の実施形態に係る画像処理装置の構成を示すブロック図である。
【図2】カメラの平面的な配置を示す図である。
【図3】カメラの撮像範囲を示す図である。
【図4】カメラが1回の撮像動作により生成する画像データを示すとともに、カメラが生成する画像データのうちFIFOメモリに書き込まれるデータを示す模式図である。
【図5】カメラ入力調停回路とFIFOメモリの動作を説明するための図である。
【図6】合成メモリ調停回路の動作を示すフローチャートである。
【図7】アドレス計算回路の構成の一例を示すブロック図である。
【図8】アドレス計算回路の構成の他の一例を示すブロック図である。
【図9】合成メモリが備える記憶領域のうち1個の絵柄と対応する記憶領域の模式図である。
【図10】1つの取込トリガ信号が発生してから次の取込トリガ信号が発生するまでのインターバルの間に各カメラにより撮像される画像の範囲を示す図である。
【図11】各カメラにより得られた画像データがどのように合成メモリに記憶されるかを模式的に説明するための図である。
【図12】第2の実施形態に係る画像処理装置の構成を示すブロック図である。
【図13】第2の実施形態におけるカメラの平面的な配置の一例を示す図である。
【図14】第2の実施形態におけるアドレス計算回路を示すブロック図である。
【図15】第2の実施形態におけるカメラの平面的な配置の変形例を示す図である。
【図16】第3の実施形態に係る画像処理装置を構成を示すブロック図である。
【図17】第4の実施形態に係る画像処理装置の構成を示すブロック図である。
【図18】第4の実施形態における撮像対象物を示す図であり、(a)は表面を、(b)は裏面をそれぞれ示す。
【図19】各カメラの配置と撮像範囲を示す図である。
【図20】合成メモリが備える記憶領域のうち表裏一対の絵柄と対応する記憶領域の模式図である。
【図21】各カメラにより得られた画像データがどのように合成メモリに記憶されるかを模式的に説明するための図である。
【符号の説明】
【0251】
1 第1カメラ(カメラ)
2 第2カメラ(カメラ)
3 第3カメラ(カメラ)
4 第1カメラリンク受信IC(カメラリンク受信処理部)
5 第2カメラリンク受信IC(カメラリンク受信処理部)
6 第3カメラリンク受信IC(カメラリンク受信処理部)
7 第1カメラ入力調停回路(カメラ入力調停処理部)
8 第2カメラ入力調停回路(カメラ入力調停処理部)
9 第3カメラ入力調停回路(カメラ入力調停処理部)
11 第1FIFOメモリ(FIFOメモリ)
12 第2FIFOメモリ(FIFOメモリ)
13 第3FIFOメモリ(FIFOメモリ)
14 第1アドレス計算回路(アドレス計算処理部)
15 第1アドレス計算回路(アドレス計算処理部)
16 第1アドレス計算回路(アドレス計算処理部)
17 合成メモリ調停回路(合成メモリ調停処理部)
18 セレクタ(選択出力処理部)
19 合成メモリ
21 撮像対象物
61 第4カメラ(カメラ)
62 第5カメラ(カメラ)
63 第6カメラ(カメラ)
100 画像処理装置
200 画像処理装置
300 画像処理装置
400 画像処理装置
【技術分野】
【0001】
本発明は、画像処理装置に関する。
【背景技術】
【0002】
例えば、検査技術或いはその他の分野において、必要な分解能の画像データを得るために、複数台のカメラにより、それぞれ撮像対象物の一部分ずつを撮像することがある(例えば、特許文献1参照)。
【0003】
この場合、カメラの台数を増やすほど、1画素当たりの視野分解能が高まるため、例えば検査技術においては検査性能が向上する。
【0004】
従来、複数のカメラを使用する場合、カメラの台数分の画像処理装置が必要であった。また、各画像処理装置の処理結果をコンピュータなどにより集計する必要もあった。
【特許文献1】特開平6−229941号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1などの従来技術では、各カメラ毎に画像処理装置が必要であるため、装置の低コスト化及び小型化が困難であった。
【0006】
また、各画像処理装置の処理結果の集計を行うコンピュータなどを備える必要があるため、装置の低コスト化及び小型化がより一層困難であった。
【0007】
本発明は、上記のような問題点を解決するためになされたもので、従来よりも装置の低コスト化及び小型化を可能とする画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明の画像処理装置は、撮像範囲が一部重複する複数のカメラにより得られた画像データを記憶する合成メモリと、前記画像データを前記合成メモリに記憶させる処理を実行する記憶処理実行部と、を備え、前記記憶処理実行部は、前記複数のカメラにより得られた画像データのうち、重複する画像データについては、何れか1つのカメラにより得られた画像データのみを前記合成メモリに記憶させ、前記複数のカメラにより得られた画像データを、撮像対象物の画像を表す一連の画像データとして前記合成メモリに記憶させることを特徴としている。
【0009】
本発明の画像処理装置においては、前記記憶処理実行部は、各カメラと1対1で対応するカメラ入力調停処理部と、各カメラと1対1で対応し、対応するカメラから出力される画像データを、対応するカメラ入力調停処理部の制御下で一時的に記憶するFIFOメモリと、各FIFOメモリのうち、画像データの読み出しを行うFIFOメモリを時分割で順次に切り替える合成メモリ調停処理部と、各FIFOメモリと1対1で対応し、対応するFIFOメモリから読み出される画像データの前記合成メモリ上のアドレスを計算して出力するアドレス計算処理部と、各FIFOメモリのうち、前記合成メモリ調停処理部により画像データの読み出しを行うFIFOメモリとして選択されたFIFOメモリからの出力と、当該読み出しを行うFIFOメモリと対応するアドレス計算処理部から出力されるアドレスと、を同期したタイミングで選択的に前記合成メモリに出力する選択出力処理部と、を備え、前記合成メモリは、前記選択出力処理部から入力される画像データを、該画像データと同期して入力されるアドレスに従って記憶し、各カメラ入力調停回路は、前記重複する画像データについては、何れか1つのFIFOメモリに対してのみ書き込まれるように、対応するFIFOメモリの記憶動作を制御することが好ましい。
【0010】
本発明の画像処理装置においては、各カメラは、ラインセンサ式カメラであることが好ましい一例である。
【0011】
この場合、本発明の画像処理装置は、各カメラと1対1で対応し、対応するカメラから出力されるカメラクロック信号、Hsync信号及び画像データを受信するカメラリンク受信処理部を備え、各カメラリンク受信処理部は、カメラクロック信号は、対応するカメラ入力調停処理部、対応するFIFOメモリ、及び、対応するアドレス計算処理部に出力し、Hsync信号は、対応するカメラ入力調停処理部及び対応するアドレス計算処理部に出力し、画像データは、対応するFIFOメモリに出力することが好ましい。
【0012】
或いは、本発明の画像処理装置においては、各カメラは、エリアセンサ式カメラであることも好ましい。
【0013】
この場合、本発明の画像処理装置は、各カメラと1対1で対応し、対応するカメラから出力されるカメラクロック信号、Hsync信号、Vsync信号及び画像データを受信するカメラリンク受信処理部を備え、各カメラリンク受信処理部は、カメラクロック信号は、対応するカメラ入力調停処理部、対応するFIFOメモリ、及び、対応するアドレス計算処理部に出力し、Hsync信号は、対応するカメラ入力調停処理部及び対応するアドレス計算処理部に出力し、Vsync信号は、対応するアドレス計算処理部に出力し、画像データは、対応するFIFOメモリに出力することが好ましい。
【0014】
本発明の画像処理装置においては、各カメラ入力調停処理部は、対応するカメラが1回の撮像により生成する有効な画像データの数である有効画素数と、対応するカメラが出力する有効な画像データのうち、対応するFIFOメモリへの書き込みを行わない撮像範囲横方向における両端の画像の画像データの画素数と、対応するカメラがHsync信号を発生してから有効な画像データを出力するまでのカメラクロック数と、に基づいて、対応するFIFOメモリに対して画像データの記憶動作を実行する期間を指示することが好ましい。
【0015】
本発明の画像処理装置においては、各FIFOメモリは、1画素分の画像データの記憶領域を有し、該記憶領域が空であるか否かを示すEmpty信号を前記合成メモリ調停処理部に出力し、
前記合成メモリ調停処理部は、前記記憶領域が空でない旨を示すEmpty信号を出力するFIFOメモリに対し、前記選択出力処理部への画像データの出力を指示するwrite信号を出力することが好ましい。
【発明の効果】
【0016】
本発明によれば、1つの画像処理装置を複数のカメラで共用する構成であるため、画像処理装置をカメラの台数だけ備える必要がある場合と比べて低コスト化及び省スペース化が図れる。
【0017】
また、複数のカメラによりそれぞれ得られる画像データを、あたかも1台のカメラにより得られる1つの画像データであるかのように扱うことが可能となる。よって、合成メモリの後段では、撮像範囲の重複を気にする必要が無くなり、且つ、複数の処理結果を集計する作業も必要なくなる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照して、本発明に係る実施形態について説明する。
【0019】
〔第1の実施形態〕
第1の実施形態では、撮像対象物を撮像するカメラがラインセンサ式カメラであり、カメラの個数が3台である例を説明する。
【0020】
なお、各カメラは、モノクロ画像データを生成するモノクロカメラであっても良いし、或いは、カラー画像データを生成するカラーカメラであっても良い。また、各カメラがモノクロカメラである場合、2値画像データを生成するのであっても良いし、多階調の画像データを生成するのであっても良い。
【0021】
図1は第1の実施形態に係る画像処理装置100の構成を示すブロック図、図2はカメラ1,2,3の平面的な配置を示す図、図3は各カメラ1〜3の撮像範囲を示す図、図4は各カメラ1〜3が1回の撮像動作により生成する画像データを示すとともに、各カメラ1〜3が生成する画像データのうちFIFOメモリ11,12,13に書き込まれる画像データの数(書込画素数)を示す模式図、図5はカメラ入力調停回路7,8,9とFIFOメモリ11,12,13の動作を説明するための図である。
【0022】
図1に示すように、本実施形態に係る画像処理装置100は、撮像対象物21(図2)を撮像する第1乃至第3カメラ1,2,3と1対1で対応する第1乃至第3カメラリンク受信IC(IC:Integrated Circuit)4,5,6と、カメラ1,2,3と1対1で対応する第1乃至第3カメラ入力調停回路7,8,9と、カメラ1,2,3と1対1で対応する第1乃至第3FIFOメモリ11,12,13と、カメラ1,2,3と1対1で対応する第1乃至第3アドレス計算回路14,15,16と、合成メモリ調停回路17と、セレクタ18と、合成メモリ19と、を備えている。
【0023】
なお、第1乃至第3カメラリンク受信IC4,5,6、第1乃至第3カメラ入力調停回路7,8,9、第1乃至第3FIFOメモリ11,12,13、第1乃至第3アドレス計算回路14,15,16、合成メモリ調停回路17及びセレクタ18により、記憶処理実行部が構成されている。
【0024】
図2に示すように、撮像対象物21は、例えば、ウェブであり、例えば、その片面には、該ウェブの長手方向において所定間隔で絵柄22の印刷が施されている。
【0025】
撮像対象物21は、図示しない搬送装置により、その長手方向(例えば、図2に示す走行方向A)に搬送される。
【0026】
図2に示すように、カメラ1,2,3は、例えば、撮像対象物21の走行方向Aに対して直交する横方向Bにおいて、一列に並んで配設されている。
【0027】
図3に示すように、各カメラ1,2,3は、それぞれ、撮像対象物21に向かうにつれて広がる視野10を有している。
【0028】
各カメラ1,2,3は、横方向Bにおいて等間隔で一列に配設された撮像素子を、例えば4096画素分備えている。
【0029】
そして、1回の撮像動作により、各撮像素子が画像を取り込む。すなわち、図4に示すように、H1〜H4096までの4096画素分の画像データを、1回の撮像動作により生成する。
【0030】
ここで、「H1」は横アドレスが1番地であることを意味し、同様に、H4096は横アドレスが4096番地であることを意味する。
【0031】
各カメラ1,2,3は、図3に示すように、隣のカメラと撮像範囲の一部が重複するように配置されている。
【0032】
具体的には、第1カメラ1と第2カメラ2とは、例えば50画素分の撮像素子と対応する撮像範囲が互いに重複しており、同様に、第2カメラ2と第3カメラ3とは、例えば50画素分の撮像素子と対応する撮像範囲が互いに重複している。
【0033】
以下では、第1カメラ1が生成する画像データを第1画像データ、第2カメラ2が生成する画像データを第2画像データ、第3カメラ3が生成する画像データを第3画像データという。
【0034】
各カメラ1,2,3は、個別に、一定周期のカメラクロック信号と、一定周期の撮像タイミングを示すカメラHsync信号を発生する。
【0035】
すなわち、第1カメラ1は第1カメラクロック信号と第1カメラHsync信号を発生し、第2カメラ2は第2カメラクロック信号と第2カメラHsync信号を発生し、第3カメラ3は第3カメラクロック信号と第3カメラHsync信号を発生する。
【0036】
なお、第1乃至第3カメラクロック信号は、例えば、互いに同じ周波数である。ただし、互いに同期している必要はない。
【0037】
各カメラ1,2,3は、Hsync信号を1回発生する度に、1回の撮像動作を実行し、1ライン分(例えば4096画素分)の画像データを生成する。
【0038】
各カメラ1,2,3は、カメラクロック信号、Hsync信号及び生成した画像データを、対応するカメラリンク受信IC4,5,6に対して出力する。
【0039】
すなわち、第1カメラ1は第1カメラリンク受信IC4に対して第1カメラクロック信号、第1カメラHsync信号及び第1画像データを出力する。
【0040】
同様に、第2カメラ2は第2カメラリンク受信IC5に対して第2カメラクロック信号、第2カメラHsync信号及び第2画像データを出力する。
【0041】
同様に、第3カメラ3は第3カメラリンク受信IC6に対して第3カメラクロック信号、第3カメラHsync信号及び第3画像データを出力する。
【0042】
各カメラ1,2,3による画像データの出力は、Hsync信号の発生をトリガとして、H1の画像データから順に、1カメラクロック毎に、1画素分ずつ行われる。
【0043】
ただし、Hsync信号の発生タイミングとH1の画像データの出力タイミングとは、必ずしも一致せず、Hsync信号の発生タイミングから所定数のカメラクロック分だけ遅れる場合もある。
【0044】
各カメラリンク受信IC4,5,6は、カメラ1,2,3から入力されるカメラクロック信号、Hsync信号及び画像データのうち、カメラクロック信号は、対応するカメラ入力調停回路7,8,9及び対応するFIFOメモリ11,12,13に出力する。
【0045】
また、各カメラリンク受信IC4,5,6は、カメラ1,2,3から入力されるHsync信号を、対応するカメラ入力調停回路7,8,9及び対応するアドレス計算回路14,15,16に出力する。
【0046】
また、各カメラリンク受信IC4,5,6は、カメラ1,2,3から入力される画像データを、対応するFIFOメモリ11,12,13に出力する。
【0047】
すなわち、第1カメラリンク受信IC4は、第1カメラクロック信号を第1カメラ入力調停回路7及び第1アドレス計算回路14に、第1カメラHsync信号を第1カメラ入力調停回路7及び第1アドレス計算回路14に、第1画像データを第1FIFOメモリ11に、それぞれ出力する。
【0048】
同様に、第2カメラリンク受信IC5は、第2カメラクロック信号を第2カメラ入力調停回路8及び第2アドレス計算回路15に、第2カメラHsync信号を第2カメラ入力調停回路8及び第2アドレス計算回路15に、第2画像データを第2FIFOメモリ12に、それぞれ出力する。
【0049】
同様に、第3カメラリンク受信IC6は、第3カメラクロック信号を第3カメラ入力調停回路9及び第3アドレス計算回路16に、第3カメラHsync信号を第3カメラ入力調停回路9及び第3アドレス計算回路16に、第3画像データを第3FIFOメモリ13に、それぞれ出力する。
【0050】
なお、各カメラリンク受信IC4,5,6は、標準デジタル伝送方式のカメラリンクフォーマットのデータ形式で各信号及びデータを出力する。
【0051】
各カメラ入力調停回路7,8,9は、各FIFOメモリ11,12,13に入力される画像データのうち、実際に各FIFOメモリ11,12,13に書き込む画像データを各FIFOメモリ11,12,13に対して指示するものである。
【0052】
この指示は、図5に示すように、対応するカメラリンク受信IC4,5,6から入力されるカメラHsync信号の他に、設定値として各カメラ入力調停回路7,8,9に与えられた「データ開始クロック数」、「有効画素数」、「左端捨て画素数」及び「右端捨て画素数」を示す各データに基づくタイミングで、対応するFIFOメモリ11,12,13に書込指示信号を出力することにより行う。
【0053】
ここで、「有効画素数」は、各カメラ1,2,3による1回(1ライン分)の撮像動作により生成される有効な画像データの画素数を示す。有効な画像データとは、撮像対象物21の画像を示す画像データを意味する。
【0054】
本実施形態の場合、「有効画素数」は、例えば、各カメラ入力調停回路7,8,9で共通の値であり、「4096」である。
【0055】
「データ開始クロック数」は、カメラHsync信号がFIFOメモリ11,12,13に入力されてから、FIFOメモリ11,12,13に有効な画像データが入力され始めるまでのカメラクロック数を示す。Hsync信号の発生タイミングと先頭のH1の画像データの出力タイミングとが一致する場合は、「データ開始クロック数」は「0」となる。H1の画像データの出力タイミングがHsync信号の発生タイミングから所定数のカメラクロック分だけ遅れる場合は、該所定数が「データ開始クロック数」となる。
【0056】
「左端捨て画素数」は、有効な画像データのうち、左隣のカメラと撮像範囲が重複するためにFIFOメモリに書き込まれない画像データの画素数を示す。
【0057】
「右端捨て画素数」は、有効な画像データのうち、右隣のカメラと撮像範囲が重複するためにFIFOメモリに書き込まれない画像データの画素数を示す。
【0058】
なお、「データ開始クロック数」、「有効画素数」、「左端捨て画素数」及び「右端捨て画素数」は、例えば、図示しないCPUから、各カメラ入力調停回路7,8,9に入力される構成とすることが挙げられるが、各カメラ入力調停回路7,8,9に予め設定されていても良い。
【0059】
図5に示すように、各カメラ入力調停回路7,8,9は、カメラHsync信号が入力されたタイミングから起算して、(「データ開始クロック数」+「左端捨て画素数」)のカメラクロックが入力されたタイミングで、対応するFIFOメモリ11,12,13に出力する書込指示信号を非アクティブ(ローレベル)からアクティブ(ハイレベル)に切り替える。
【0060】
また、各カメラ入力調停回路7,8,9は、カメラHsync信号が入力されたタイミングから起算して、(「データ開始クロック数」+「有効画素数」−「右端捨て画素数」)のカメラクロックが入力されたタイミングで、対応するFIFOメモリ11,12,13に出力する書込指示信号をアクティブから非アクティブに切り替える。
【0061】
カメラ入力調停回路7,8,9からFIFOメモリ11,12,13に入力される書込指示信号がアクティブの期間においては、各FIFOメモリ11,12,13は、対応するカメラ1,2,3から1カメラクロック毎に新たに入力される画像データを記憶する。
【0062】
なお、一連の書込指示信号がFIFOメモリ11,12,13に入力される期間にFIFOメモリ11,12,13に書き込まれる画像データの数、すなわち、1ライン分の画像データのうちFIFOメモリ11,12,13に記憶される画像データの画素数を、以下、書込画素数という。また、各カメラ1,2,3により生成される画像データのうち、FIFOメモリ11,12,13に書き込まれる画像データを、以下、書込画素という。
【0063】
次に、図3乃至図5を参照して、各カメラ入力調停回路7,8,9のより具体的な動作の一例を説明する。
【0064】
上記のように、第1カメラ1と第2カメラ2とで重複する撮像範囲は、例えば、50画素分である(図3参照)。
【0065】
そこで、本実施形態では、一例として、図4に示すように、第1画像データについては、右端の25画素分(=第1カメラ1と第2カメラ2との重複部分である50画素分の画像データのうち、左半分に相当する)を、第1FIFOメモリ11への入力段階で削除する。
【0066】
すなわち、第1カメラ入力調停回路7に設定される「右端捨て画素数」は、例えば「25」である。
【0067】
ただし、第1カメラ1の左隣にはカメラが存在せず、撮像範囲の左端においては重複部分がないため、第1カメラ入力調停回路7に設定される「左端捨て画素数」は、例えば「0」である(つまり、第1画像データについては左端捨てを行わない)。
【0068】
従って、1ライン分の第1画像データのうちの書込画素数は、図4に示すように、例えば「4071」(=4096−25)である。
【0069】
また、第2画像データについては、左右両端の25画素分ずつを、第2FIFOメモリ12に書き込まないようにする。
【0070】
すなわち、第2画像データについては、第1カメラ1と第2カメラ2との重複部分である50画素分の画像データのうち右半分に相当する画像データと、第2カメラ2と第3カメラ3との重複部分である50画素分の画像データのうち左半分に相当する画像データと、を第2FIFOメモリ12への入力段階で削除する。
【0071】
よって、第2カメラ入力調停回路8に設定される「右端捨て画素数」並びに「右端捨て画素数」は、例えば「25」である。
【0072】
従って、1ライン分の第2画像データのうちの書込画素数は、図4に示すように、例えば「4046」(=4096−25−25)である。
【0073】
また、第3画像データについては、左端の25画素分を第3FIFOメモリ13に書き込まないようにする。
【0074】
すなわち、第3画像データについては、第2カメラ2と第3カメラ3との重複部分である50画素分の画像データのうち右半分に相当する画像データを第3FIFOメモリ13への入力段階で削除する。
【0075】
よって、第3カメラ入力調停回路9に設定される「左端捨て画素数」は、例えば「25」である。
【0076】
ただし、第3カメラ3の右隣にはカメラが存在せず、撮像範囲の右端においては重複部分がないため、第3カメラ入力調停回路9に設定される「右端捨て画素数」は、例えば「0」である(第3画像データについては右端捨てを行わない)。
【0077】
従って、1ライン分の第3画像データのうちの書込画素数は、図4に示すように、例えば「4071」(=4096−25)である。
【0078】
ここで、各FIFOメモリ11,12,13は、1画素分の画像データのみを書き込み可能な記憶領域を備えている。
【0079】
これは、後述するように、各FIFOメモリ11,12,13に書き込まれた画像データは、次のカメラクロックがFIFOメモリ11,12,13に入力されてFIFOメモリ11,12,13に次の画像データが書き込まれるよりも前に、合成メモリ調停回路17の制御下でセレクタ18に読み出されるためである。
【0080】
各FIFOメモリ11,12,13は、自身に画像データが書き込まれていない状態(書き込み領域が空の状態)であるか否かを示すEmpty信号を、合成メモリ調停回路17に対して出力する。
【0081】
すなわち、第1FIFOメモリ11は、自身に画像データが書き込まれている状態のときには、第1Empty信号を非アクティブ(ローレベル)にし、自身に画像データが書き込まれていない状態(読み出された状態)のときには、第1Empty信号をアクティブ(ハイレベル)にする。
【0082】
同様に、第2FIFOメモリ12は、自身に画像データが書き込まれているか否かに応じて、第2Empty信号を非アクティブ又はアクティブに切り替え、第3FIFOメモリ13は、自身に画像データが書き込まれているか否かに応じて、第3Empty信号を非アクティブ又はアクティブに切り替える。
【0083】
合成メモリ調停回路17は、各FIFOメモリ11,12,13から入力されるEmpty信号の反転信号を順次に監視し、該反転信号がアクティブ(ハイレベル)であるときには、対応するFIFOメモリ11,12,13と、対応するアドレス計算回路14,15,16と、セレクタ18と、に対して第1乃至第3write信号を出力する。
【0084】
また、合成メモリ調停回路17は、Empty信号の反転信号の監視結果に応じて、セレクタ18に対して出力するセレクト信号(sel)の値を切り替える。
【0085】
すなわち、合成メモリ調停回路17は、第1Empty信号の反転信号がアクティブであれば、第1FIFOメモリ11に画像データが書き込まれている状態であると判断し、該第1FIFOメモリ11、第1アドレス計算回路14及びセレクタ18に対し、第1write信号を出力するとともに、セレクタ18に出力するセレクト信号を例えば「1」に切り替える。
【0086】
また、合成メモリ調停回路17は、第2Empty信号の反転信号がアクティブであれば、第2FIFOメモリ12に画像データが書き込まれている状態であると判断し、該第2FIFOメモリ12、第2アドレス計算回路15及びセレクタ18に対し、第2write信号を出力するとともに、セレクタ18に出力するセレクト信号を例えば「2」に切り替える。
【0087】
また、合成メモリ調停回路17は、第3Empty信号の反転信号がアクティブであれば、第3FIFOメモリ13に画像データが書き込まれている状態であると判断し、該第3FIFOメモリ13、第3アドレス計算回路16及びセレクタ18に対し、第3write信号を出力するとともに、セレクタ18に出力するセレクト信号を例えば「3」に切り替える。
【0088】
図6は合成メモリ調停回路17の動作を示すフローチャートである。
【0089】
図6に示すように、合成メモリ調停回路17は、第1FIFOメモリ11から入力される第1Empty信号の反転信号がアクティブか否かを判定する(ステップS1)。
【0090】
第1Empty信号の反転信号がアクティブであれば(ステップS1のYes)、合成メモリ調停回路17は、セレクタ18に対して出力するセレクト信号(sel)の値を「1」とし、第1FIFOメモリ11、第1アドレス計算回路14及びセレクタ18に対して第1write信号を1クロックだけ出力し(ステップS2)、ステップS3に移行する。
【0091】
第1Empty信号の反転信号がアクティブでない場合(ステップS1のNo)も、ステップS3に移行する。
【0092】
ステップS3では、合成メモリ調停回路17は、第2FIFOメモリ12から入力される第2Empty信号の反転信号がアクティブか否かを判定する。
【0093】
第2Empty信号の反転信号がアクティブであれば(ステップS3のYes)、合成メモリ調停回路17は、セレクタ18に対して出力するセレクト信号の値を「2」とし、第2FIFOメモリ12、第2アドレス計算回路15及びセレクタ18に対して第2write信号を1クロックだけ出力し(ステップS4)、ステップS5に移行する。
【0094】
第2Empty信号の反転信号がアクティブでない場合(ステップS3のNo)も、ステップS5に移行する。
【0095】
ステップS5では、合成メモリ調停回路17は、第3FIFOメモリ13から入力される第3Empty信号の反転信号がアクティブか否かを判定する。
【0096】
第3Empty信号の反転信号がアクティブであれば(ステップS5のYes)、合成メモリ調停回路17は、セレクタ18に対して出力するセレクト信号の値を「3」とし、第3FIFOメモリ13、第3アドレス計算回路16及びセレクタ18に対して第3write信号を1クロックだけ出力し(ステップS6)、ステップS1に戻る。
【0097】
第3Empty信号の反転信号がアクティブでない場合(ステップS5のNo)も、ステップS1に戻る。
【0098】
図6のステップS2において、第1FIFOメモリ11は、第1write信号を受けると、自身に書き込まれている画像データをセレクタ18に対して出力する。
【0099】
第1アドレス計算回路14は、第1write信号を受けると、第1FIFOメモリ11から出力される画像データの合成メモリ19上におけるアドレスを計算し、その計算結果(後述するように、第1横アドレス及び第2縦アドレス)をセレクタ18に出力する。
【0100】
なお、各アドレス計算回路14〜16の動作の詳細は後述する。
【0101】
セレクタ18は、セレクト信号の値が「1」であれば、各FIFOメモリ11〜13からの出力のうち、第1FIFOメモリ11の出力を選択して合成メモリ19に出力するとともに、各アドレス計算回路14〜16からの出力のうち、第1アドレス計算回路14からの出力を選択して合成メモリ19に出力する。更にセレクタ18は、セレクト信号の値が「1」であれば、合成メモリ調停回路17から出力されるwrite信号のうち、第1write信号を選択して合成メモリ19に出力する。
【0102】
このため、図6のステップS2においては、第1FIFOメモリ11から出力される画像データが、第1アドレス計算回路14から出力される第1横アドレス及び第1縦アドレスに従って、合成メモリ19の記憶領域に記憶される。
【0103】
同様に、図6のステップS4において、第2FIFOメモリ12は、第2write信号を受けると、自身に書き込まれている画像データをセレクタ18に対して出力する。
【0104】
第2アドレス計算回路15は、第2write信号を受けると、第2FIFOメモリ12から出力される画像データの合成メモリ19上におけるアドレスを計算し、その計算結果(第2横アドレス及び第2縦アドレス)をセレクタ18に出力する。
【0105】
セレクタ18は、セレクト信号の値が「2」であれば、各FIFOメモリ11〜13からの出力のうち、第2FIFOメモリ12の出力を選択して合成メモリ19に出力するとともに、各アドレス計算回路14〜16からの出力のうち、第2アドレス計算回路15からの出力を選択して合成メモリ19に出力する。更にセレクタ18は、セレクト信号の値が「2」であれば、合成メモリ調停回路17から出力されるwrite信号のうち、第2write信号を選択して合成メモリ19に出力する。
【0106】
このため、図6のステップS4においては、第2FIFOメモリ12から出力される画像データが、第2アドレス計算回路15から出力される第2横アドレス及び第2縦アドレスに従って、合成メモリ19の記憶領域に記憶される。
【0107】
同様に、図6のステップS6において、第3FIFOメモリ13は、第3write信号を受けると、自身に書き込まれている画像データをセレクタ18に対して出力する。
【0108】
第3アドレス計算回路16は、第3write信号を受けると、第3FIFOメモリ13から出力される画像データの合成メモリ19上におけるアドレスを計算し、その計算結果(第3横アドレス及び第3縦アドレス)をセレクタ18に出力する。
【0109】
セレクタ18は、セレクト信号の値が「3」であれば、各FIFOメモリ11〜13からの出力のうち、第3FIFOメモリ13の出力を選択して合成メモリ19に出力するとともに、各アドレス計算回路14〜16からの出力のうち、第3アドレス計算回路16からの出力を選択して合成メモリ19に出力する。更にセレクタ18は、セレクト信号の値が「3」であれば、合成メモリ調停回路17から出力されるwrite信号のうち、第3write信号を選択して合成メモリ19に出力する。
【0110】
このため、図6のステップS6においては、第3FIFOメモリ13から出力される画像データが、第3アドレス計算回路16から出力される第3横アドレス及び第3縦アドレスに従って、合成メモリ19の記憶領域に記憶される。
【0111】
このように、合成メモリ調停回路17は、画像データの読み出しを行うFIFOメモリと、セレクタ18が選択する画像データ、アドレス及びwrite信号と、を時分割で順次に切り替える。
【0112】
ここで、上記のように、各カメラ1,2,3は、1カメラクロック毎に、1画素分の画像データを出力する。このため、書込指示信号がアクティブである期間中においては、各FIFOメモリ11〜13には、1カメラクロック毎に新たに画像データが書き込まれる。
【0113】
よって、各カメラ1,2,3が生成する画像データのうちの書込画素を漏れなく合成メモリ19に記憶させるために、合成メモリ調停回路17の動作用のクロック(以下、システムクロック)としては、各カメラクロックの3倍以上の周波数のものが用いられる。
【0114】
すなわち、合成メモリ調停回路17は、例えば、1システムクロック毎に、図6のステップS1及びS2(或いはステップS1のみ)→ステップS3及びS4(或いはステップS3のみ)→ステップS5及びS6(或いはステップS5のみ)→ステップS1及びS2(或いはステップS1のみ)→・・・の処理を順次に循環的に実行することにより、各カメラ1,2,3が生成する画像データのうち書込画素を、各FIFOメモリ11〜13からオーバーフローさせることなくセレクタ18に読み出し、合成メモリ19に記憶させることができるのである。
【0115】
次に、各アドレス計算回路14〜16の動作の詳細を説明する。
【0116】
図7は、各アドレス計算回路14〜16の構成を示すブロック図である。
【0117】
図7に示すように、各アドレス計算回路14〜16は、横アドレス算出用のカウント動作を行う横アドレスインクリメンタルカウンタ31と、横アドレスインクリメンタルカウンタ31から出力されるカウント値と予め設定されたオフセット値とを加算して横アドレスとしてセレクタ18に出力する加算器32と、横アドレスインクリメンタルカウンタ31のカウント値と書込画素数とを比較する比較器33と、縦アドレス算出用のカウント動作を行ってカウント値をセレクタ18に対して出力する縦アドレスインクリメンタルカウンタ34と、を備えている。
【0118】
先ず、アドレス計算回路14〜16のうち、第1アドレス計算回路14について説明する。
【0119】
第1アドレス計算回路14の横アドレスインクリメンタルカウンタ31には、第1カメラリンク受信IC4からの第1カメラHsync信号と、合成メモリ調停回路17からの第1write信号と、が入力される。
【0120】
第1アドレス計算回路14の横アドレスインクリメンタルカウンタ31は、第1write信号が1つ入力される度に、カウント値を1インクリメントし、第1カメラHsync信号が入力される度に、カウント値をリセットして「0」にする。
【0121】
従って、具体的には、第1アドレス計算回路14の横アドレスインクリメンタルカウンタ31のカウント値は、第1write信号の入力毎に「1」から「4071」まで順次カウントアップされた後、次の第1カメラHsync信号の入力によりリセットされて「0」となる。
【0122】
第1アドレス計算回路14の加算器32に入力されるオフセット値は、例えば、「0」である。このため、第1アドレス計算回路14の加算器32から出力される第1横アドレスは、横アドレスインクリメンタルカウンタ31から出力されるカウント値に等しく、「1」から「4071」までの値をとる。
【0123】
従って、第1アドレス計算回路14においては、図8に示すように、加算器32を省略した構成とし、横アドレスインクリメンタルカウンタ31から出力されるカウント値をそのまま第1横アドレスとして出力することも可能である。
【0124】
第1アドレス計算回路14の比較器33には、横アドレスインクリメンタルカウンタ31のカウント値(C)と、第1画像データについての書込画素数(D)と、が入力される。第1画像データの書込画素数は、上記のように、例えば「4071」である。
【0125】
なお、第1乃至第3画像データの各書込画素数は、例えば、図示しないCPUなどにより演算し、その演算結果を各アドレス計算回路14〜16の比較器33に入力すると良い。
【0126】
比較器33は、カウント値(C)が書込画素数(D)に達したら(D≦Cを満たしたら)、縦アドレスインクリメンタルカウンタ34に対してインクリメント信号を1つ出力する。
【0127】
第1アドレス計算回路14の縦アドレスインクリメンタルカウンタ34は、比較器33からインクリメント信号が入力される度に、カウント値を1インクリメントし、取込トリガ信号が入力される度に、カウント値をリセットして「0」にする。
【0128】
第1アドレス計算回路14の縦アドレスインクリメンタルカウンタ34は、カウント値を第1縦アドレスとしてセレクタ18に出力する。
【0129】
つまり、1ライン分の第1画像データのうち書込画素数分の画像データが第1FIFOメモリ11から読み出される度に、第1縦アドレスが1インクリメントされる。
【0130】
ここで、撮像対象物21が、図2に示すように絵柄22が所定間隔で印刷されたウェブである場合の取込トリガ信号は、例えば、次に説明するようにして縦アドレスインクリメンタルカウンタ34に入力することが挙げられる。
【0131】
先ず、撮像対象物21に対する絵柄22の印刷は、例えば、円筒状の版胴を有する輪転式の印刷機により、該版胴が1回転する度に行われる。また、図1の画像処理装置100及びカメラ1,2,3は、絵柄22を印刷する印刷機の下流に設置されている。また、印刷機には、上記版胴が1回転する度に、回転検出信号を発生する回転検出信号発生器を設ける。そして、この回転検出信号発生器から出力される回転検出信号と同じ周期で発生する取込トリガ信号を、第1乃至第3アドレス計算回路14〜16の縦アドレスインクリメンタルカウンタ34に入力する。なお、取込トリガ信号のタイミングは、各カメラ1,2,3により絵柄22を撮像できるようなタイミングに設定する。
【0132】
次に、第2アドレス計算回路15について説明する。
【0133】
第2アドレス計算回路15の横アドレスインクリメンタルカウンタ31には、第2カメラリンク受信IC5からの第2カメラHsync信号と、合成メモリ調停回路17からの第2write信号と、が入力される。
【0134】
第2アドレス計算回路15の横アドレスインクリメンタルカウンタ31は、第2write信号が1つ入力される度に、カウント値を1インクリメントし、第2カメラHsync信号が入力される度に、カウント値をリセットして「0」にする。
【0135】
従って、具体的には、第2アドレス計算回路15の横アドレスインクリメンタルカウンタ31のカウント値は、第2write信号の入力毎に「1」から「4046」まで順次カウントアップされた後、次の第2カメラHsync信号の入力によりリセットされて「0」となる。
【0136】
第2アドレス計算回路15の加算器32に入力されるオフセット値は、例えば、「4071」である。このため、第2アドレス計算回路15の加算器32から出力される第2横アドレスは、横アドレスインクリメンタルカウンタ31から出力されるカウント値に4071を加えた数であり、「4071」から「8117」までの値をとる。
【0137】
なお、オフセット値は、例えば、図示しないCPUから加算器32に入力されるように構成することが挙げられる。
【0138】
第2アドレス計算回路15の比較器33には、横アドレスインクリメンタルカウンタ31のカウント値(C)と、第2画像データについての書込画素数(D)と、が入力される。第2画像データの書込画素数は、上記のように、例えば「4046」である。
【0139】
比較器33は、カウント値(C)が書込画素数(D)に達したら(D≦Cを満たしたら)、縦アドレスインクリメンタルカウンタ34に対してインクリメント信号を1つ出力する。
【0140】
縦アドレスインクリメンタルカウンタ34は、比較器33からインクリメント信号が入力される度に、カウント値を1インクリメントし、取込トリガ信号が入力される度に、カウント値をリセットして「0」にする。
【0141】
第2アドレス計算回路15の縦アドレスインクリメンタルカウンタ34は、カウント値を第2縦アドレスとしてセレクタ18に出力する。
【0142】
つまり、1ライン分の第2画像データのうち書込画素数分の画像データが第2FIFOメモリ12から読み出される度に、第2縦アドレスが1インクリメントされる。
【0143】
次に、第3アドレス計算回路16について説明する。
【0144】
第3アドレス計算回路16の横アドレスインクリメンタルカウンタ31には、第3カメラリンク受信IC6からの第3カメラHsync信号と、合成メモリ調停回路17からの第3write信号と、が入力される。
【0145】
第3アドレス計算回路16の横アドレスインクリメンタルカウンタ31は、第3write信号が1つ入力される度に、カウント値を1インクリメントし、第3カメラHsync信号が入力される度に、カウント値をリセットして「0」にする。
【0146】
従って、具体的には、第3アドレス計算回路16の横アドレスインクリメンタルカウンタ31のカウント値は、第3write信号の入力毎に「1」から「4071」まで順次カウントアップされた後、次の第2カメラHsync信号の入力によりリセットされて「0」となる。
【0147】
第3アドレス計算回路15の加算器32に入力されるオフセット値は、例えば、「8117」(=4071+4046)である。このため、第3アドレス計算回路16の加算器32から出力される第3横アドレスは、横アドレスインクリメンタルカウンタ31から出力されるカウント値に8117を加えた数であり、「4072」から「12188」までの値をとる。
【0148】
第3アドレス計算回路16の比較器33には、横アドレスインクリメンタルカウンタ31のカウント値(C)と、第3画像データについての書込画素数(D)と、が入力される。第3画像データの書込画素数は、上記のように、例えば「4071」である。
【0149】
比較器33は、カウント値(C)が書込画素数(D)に達したら(D≦Cを満たしたら)、縦アドレスインクリメンタルカウンタ34に対してインクリメント信号を1つ出力する。
【0150】
縦アドレスインクリメンタルカウンタ34は、比較器33からインクリメント信号が入力される度に、カウント値を1インクリメントし、取込トリガ信号が入力される度に、カウント値をリセットして「0」にする。
【0151】
第3アドレス計算回路16の縦アドレスインクリメンタルカウンタ34は、カウント値を第3縦アドレスとしてセレクタ18に出力する。
【0152】
つまり、1ライン分の第3画像データのうち書込画素数分の画像データが第3FIFOメモリ12から読み出される度に、第3縦アドレスが1インクリメントされる。
【0153】
図9は合成メモリ19が備える記憶領域のうち1個の絵柄22と対応する記憶領域の模式図、図10は1つの取込トリガ信号が発生してから次の取込トリガ信号が発生するまでのインターバルの間に各カメラ1,2,3により撮像される画像の範囲R1、H2、H3を示す図、図11は各カメラ1,2,3により得られた画像データがどのように合成メモリ19に記憶されるかを模式的に説明するための図である。
【0154】
本実施形態の場合、例えば、第1FIFOメモリ11から読み出される画像データは、合成メモリ19の横アドレスH1からH4071までに亘る記憶領域に記憶される(図9参照)。
【0155】
また、第2FIFOメモリ12から読み出される画像データは、合成メモリ19の横アドレスH4072からH8117までに亘る記憶領域に記憶される(図9参照)。
【0156】
また、第3FIFOメモリ13から読み出される画像データは、合成メモリ19の横アドレスH8118からH12188までに亘る記憶領域に記憶される(図9参照)。
【0157】
ここで、各カメラ1,2,3は、1つの取込トリガ信号が発生してから次の取込トリガ信号が発生するまでのインターバルに、4096個のHsync信号を発生したとする。
【0158】
この場合、図9に示すように、第1乃至第3画像データは、合成メモリ19の縦アドレスV1からV4096までに亘る記憶領域に記憶される(図9参照)。
【0159】
すなわち、合成メモリ19において、1つの絵柄22と対応する記憶領域は、例えば、H1〜H12188までの12188画素分の横アドレスを有しているとともに、例えば、V1〜V4096までの4096画素分の縦アドレスを有している。
【0160】
なお、「V1」は縦アドレスが1番地であることを意味し、同様に、V4096は縦アドレスが4096番地であることを意味する。
【0161】
図11(a)に示す画像41は、第1カメラ1により図10の撮像範囲R1を撮像することにより得られる画像から右端の25画素分を削除した画像である。
【0162】
また、図11(a)に示す画像42は、第2カメラ2により図10の撮像範囲R2を撮像することにより得られる画像から左右両端の各々25画素分を削除した画像である。
【0163】
また、図11(a)に示す画像43は、第3カメラ3により図10の撮像範囲R3を撮像することにより得られる画像から左端の25画素分を削除した画像である。
【0164】
また、図11(b)に示す画像44は、画像41の右隣に画像42を繋げ、更に、画像42の右隣に画像43を横に繋げてなる画像である。
【0165】
上記のような構成の画像処理装置100は、要するに、図11(a)に示す画像41〜43を、図11(b)に示す1つの画像44にまとめて合成メモリ19に記憶させるような動作を行うものであると言える。
【0166】
第1カメラ1の1回目の撮像動作により生成されたH1〜H4096までの画像データのうち、右端の25画素分を除く画像データは、合成メモリ19の1ライン目である縦アドレスV1のラインにおけるH1〜H4071までの横アドレスに記憶される。
【0167】
同様に、第2カメラ2の1回目の撮像動作により生成されたH1〜H4096までの画像データのうち、左右両端の各々25画素分を除く画像データは、合成メモリ19の1ライン目である縦アドレスV1のラインにおけるH4072〜H8117までの横アドレスに記憶される。
【0168】
同様に、第3カメラ3の1回目の撮像動作により生成されたH1〜H4096までの画像データのうち、左端の25画素分を除く画像データは、合成メモリ19の1ライン目である縦アドレスV1のラインにおけるH8118〜H12188までの横アドレスに記憶される。
【0169】
第1カメラ1の2回目以降の撮像動作により生成された画像データは、同様に、合成メモリ19の縦アドレスV2〜V4096のラインにおいて、それぞれH1〜H4071までの横アドレスに記憶される。
【0170】
同様に、第2カメラ2の2回目以降の撮像動作により生成された画像データは、同様に、合成メモリ19の縦アドレスV2〜V4096のラインにおいて、それぞれH4072〜H8117までの横アドレスに記憶される。
【0171】
同様に、第3カメラ2の2回目以降の撮像動作により生成された画像データは、同様に、合成メモリ19の縦アドレスV2〜V4096のラインにおいて、それぞれH8118〜H12188までの横アドレスに記憶される。
【0172】
こうして、各カメラ1,2,3により得られる第1乃至第3画像データが、図11(b)に示す1つの画像44を示す一連の画像データとして合成メモリ19に記憶される。
【0173】
以上のような第1の実施形態によれば、1つの画像処理装置100を複数のカメラ1,2,3で共用する構成であるため、画像処理装置100をカメラ1,2,3の台数だけ備える必要がある場合と比べて低コスト化及び省スペース化が図れる。
【0174】
また、複数のカメラ1,2,3によりそれぞれ得られる画像データを、あたかも1台のカメラにより得られる1つの画像データであるかのように扱うことが可能となる。よって、合成メモリ19の後段では、撮像範囲の重複を気にする必要が無くなり、且つ、複数の処理結果を集計する作業も必要なくなる。
【0175】
〔第2の実施形態〕
第2の実施形態では、撮像対象物を撮像するカメラがエリアセンサ式カメラであり、カメラの個数が3台である例を説明する。
【0176】
本実施の形態は、以下に説明する点の他は、上記の第1の実施形態と同様である。このため、第2の実施形態の構成及び動作について、上記の第1の実施形態と同様の点については、その説明を省略する。
【0177】
図12は第2の実施形態に係る画像処理装置200の構成を示すブロック図、図13は第2の実施形態におけるカメラ1,2,3の平面的な配置の一例を示す図、図14は第2の実施形態における第1乃至第3アドレス計算回路14,15,16を示すブロック図である。
【0178】
図12に示すように、本実施形態に係る画像処理装置200は、第1の実施形態に係る画像処理装置200と同様の構成を備えている。
【0179】
図13に示すように、本実施形態の場合も、各カメラ1,2,3は、例えば、横並びに配置されている。
【0180】
本実施形態の場合、各カメラ1,2,3は、例えば、横方向Bに4096画素分、縦方向(走行方向A)に4096画素分の、合計で4096×4096個の撮像素子をマトリクス状の配置で備えている。
【0181】
そして、1回の撮像動作により、各撮像素子が画像を取り込む。すなわち、各カメラ1,2,3は、1回の撮像動作により、各々4096×4096画素分の画像データを生成する。
【0182】
なお、第1カメラ1は、1回の撮像動作により、例えば、図10の撮像範囲R1の全体の画像を取り込む。同様に、1回の撮像動作により、第2カメラ2は、例えば、図10の撮像範囲R2の全体の画像を、第3カメラ3は、例えば、図10の撮像範囲R3の全体の画像を、それぞれ取り込む。
【0183】
本実施形態の場合、各カメラ1,2,3は、個別に、一定周期のカメラクロック信号と、横アドレスのリセットタイミングを示す一定周期のカメラHsync信号と、一定周期の撮像タイミングを示すカメラVsync信号を発生する。
【0184】
本実施形態の場合、上記の第1の実施形態における取込トリガ信号の代わりに、カメラVsync信号が用いられる。従って、取込トリガ信号は不要である。
【0185】
第1カメラ1は第1カメラクロック信号、第1カメラHsync信号及び第1カメラVsync信号を発生する。同様に、第2カメラ2は第2カメラクロック信号、第2カメラHsync信号及び第2カメラVsync信号を発生し、第3カメラ3は第3カメラクロック信号、第3カメラHsync信号及び第3Vsync信号を発生する。
【0186】
各カメラ1,2,3は、Vsync信号を1回発生する度に、1回の撮像動作を実行し、例えば4096×4096画素分の画像データを生成する。
【0187】
各カメラ1,2,3は、カメラクロック信号、Hsync信号、Vsync信号及び生成した画像データを、対応するカメラリンク受信IC4,5,6に対して出力する。
【0188】
すなわち、第1カメラ1は第1カメラリンク受信IC4に対して第1カメラクロック信号、第1カメラHsync信号、第1カメラVsync信号及び第1画像データを出力する。
【0189】
同様に、第2カメラ2は第2カメラリンク受信IC5に対して第2カメラクロック信号、第2カメラHsync信号、第2カメラVsync信号及び第2画像データを出力する。
【0190】
同様に、第3カメラ3は第3カメラリンク受信IC6に対して第3カメラクロック信号、第3カメラHsync信号、第3カメラVsync信号及び第3画像データを出力する。
【0191】
各カメラ1,2,3による画像データの出力は、1回目のHsync信号の発生をトリガとして、1ライン目のH1の画像データから順に、1カメラクロック毎に、1画素分ずつ行われ、1ライン目のH4096の画像データの次は、同様に、2回目のHsync信号の発生をトリガとして、2ライン目のH1の画像データから順に、1画素分ずつ行われ、順次に最終ライン(例えば4096ライン目)の画像データまで出力される。
【0192】
本実施形態の場合、各カメラリンク受信IC4,5,6は、カメラ1,2,3から入力されるVsync信号を、対応するアドレス計算回路14,15,16に出力する。
【0193】
すなわち、第1カメラリンク受信IC4は第1カメラVsync信号を第1アドレス計算回路14に、第2カメラリンク受信IC5は第2カメラVsync信号を第2アドレス計算回路15に、第3カメラリンク受信IC6は第3カメラVsync信号を第3アドレス計算回路16に、それぞれ出力する。
【0194】
そして、本実施形態の場合の各アドレス計算回路14,15,16の縦アドレスインクリメンタルカウンタ34のカウント値は、図14に示すように、対応するカメラリンク受信IC4,5,6から入力されるカメラVsync信号によりリセットされる。
【0195】
その他の点は、上記の第1の実施形態と同様であるため説明を省略するが、本実施形態の場合も、各カメラ1,2,3により得られる第1乃至第3画像データが、図11(b)に示す1つの画像44を示す一連の画像データとして合成メモリ19に記憶される。
【0196】
以上のような第2の実施形態によれば、カメラ1,2,3がエリアセンサ式カメラである場合に、上記の第1の実施形態と同様の効果が得られる。
【0197】
<第2の実施形態の変形例>
上記の第2の実施形態では、図13に示すように、各カメラ1,2,3が横並びに配置されている例を説明したが、各カメラ1,2,3の寸法が大きいと隣のカメラと干渉するために横並びに配置できない場合がある。
【0198】
この場合、例えば、図15に示すように、各カメラ1,2,3を互いに干渉しないように走行方向Aにおいて互い違いに配置する必要がある。
【0199】
具体的には、例えば、中央のカメラ2の走行方向Aにおける位置を、他の2つのカメラ1,3に対してずらすことにより、カメラ1,2,3間の干渉を避ける。
【0200】
ただし、この場合、カメラ2の撮像タイミングを、他の2つのカメラ1,3の撮像タイミングに対してずらす必要がある。
【0201】
図15に示す配置の場合、カメラ2の撮像タイミングを、他の2つのカメラ1,3の撮像タイミングよりも、撮像対象物21が走行方向Aに距離Lだけ移動するのに要する時間だけ早める。
【0202】
これにより、この変形例の場合も上記の第2の実施形態と同様の効果が得られる。
【0203】
〔第3の実施形態〕
上記の第1の実施形態では各カメラ1,2,3がラインセンサ式カメラである例を、上記の第2の実施形態では各カメラ1,2,3がエリアセンサ式カメラである例を、それぞれ説明したが、本実施形態では、各カメラ1,2,3として、ラインセンサ式カメラ又はエリアセンサ式カメラの何れか一方を選択的に画像処理装置に接続することが可能な例を説明する。
【0204】
図16は第3の実施形態に係る画像処理装置300の構成を示すブロック図である。
【0205】
図16に示すように、本実施形態に係る画像処理装置300は、上記の第1及び第2の実施形態に係る画像処理装置100,200と同様の構成要素を備えている。
【0206】
本実施形態の画像処理装置300は、各カメラ1,2,3をラインセンサ式カメラとした場合は、上記の第1の実施形態と同様に機能する。他方、各カメラ1,2,3をエリアセンサ式カメラとした場合、画像処理装置300は、上記の第2の実施形態と同様に機能する。
【0207】
そのような動作を可能とするために、本実施形態の画像処理装置300は、取込トリガ信号と第1カメラVsync信号のうちの何れか一方の信号を選択的に第1アドレス計算回路14に出力する第1トリガセレクタ51と、取込トリガ信号と第2カメラVsync信号のうちの何れか一方の信号を選択的に第2アドレス計算回路15に出力する第2トリガセレクタ52と、取込トリガ信号と第3カメラVsync信号のうちの何れか一方の信号を選択的に第3アドレス計算回路16に出力する第3トリガセレクタ53と、を更に備える。
【0208】
すなわち、それぞれラインセンサ式カメラであるカメラ1,2,3を画像処理装置300に接続した場合には、第1トリガセレクタ51は取込トリガ信号を選択して第1アドレス計算回路14に出力し、第2トリガセレクタ52は取込トリガ信号を選択して第2アドレス計算回路15に出力し、第3トリガセレクタ53は取込トリガ信号を選択して第3アドレス計算回路16に出力する。この場合、第1乃至第3のアドレス計算回路14〜16の縦アドレスインクリメンタルカウンタ34は、それぞれ、取込トリガ信号の入力によりカウント値をリセットする。
【0209】
他方、それぞれエリアセンサ式カメラであるカメラ1,2,3を画像処理装置300に接続した場合には、第1トリガセレクタ51は第1カメラ1から第1カメラリンク受信IC4を介して出力される第1カメラVsync信号を選択して第1アドレス計算回路14に出力し、第2トリガセレクタ52は第2カメラ2から第2カメラリンク受信IC5を介して出力される第2カメラVsync信号を選択して第2アドレス計算回路15に出力し、第3トリガセレクタ53は第3カメラ3から第3カメラリンク受信IC6を介して出力される第3カメラVsync信号を選択して第3アドレス計算回路16に出力する。この場合、第1乃至第3のアドレス計算回路14〜16の縦アドレスインクリメンタルカウンタ34は、それぞれ、第1乃至第3カメラHsync信号の入力によりカウント値をリセットする。
【0210】
以上のような第3の実施形態によれば、用途に応じてカメラ1,2,3をラインセンサ式カメラとしたり、或いは、エリアセンサ式カメラとすることができる。
【0211】
〔第4の実施形態〕
上記の第1の実施形態では、撮像対象物21の片面にのみ絵柄22が印刷されている例を説明したが、本実施形態では、撮像対象物の両面に絵柄が印刷されており、両面の絵柄を撮像し、これら両面の絵柄の画像データをまとめて合成メモリ19に記憶する例を説明する。
【0212】
図17は第4の実施形態に係る画像処理装置400の構成を示すブロック図、図18は撮像対象物21を示す図であり、このうち図18(a)は表面を、図18(b)は裏面を、それぞれ示す。図19は各カメラ1〜3、61〜63の配置と撮像範囲を示す図、図20は合成メモリ19が備える記憶領域のうち表裏一対の絵柄22、23と対応する記憶領域の模式図、図21は各カメラ1〜3、61〜63により得られた画像データがどのように合成メモリ19に記憶されるかを模式的に説明するための図である。
【0213】
図17に示すように、本実施形態に係る画像処理装置400は、第1カメラ1と対応する第1処理系71と、第2カメラ2と対応する第2処理系72と、第3カメラ3と対応する第3処理系73と、第4カメラ4と対応する第4処理系74と、第5カメラ5と対応する第5処理系75と、第6カメラ6と対応する第6処理系76と、合成メモリ調停回路17と、セレクタ18と、合成メモリ19と、エンコーダ81と、遅延回路82と、を備えている。
【0214】
第1処理系71は、第1の実施形態における第1カメラリンク受信IC4、第1カメラ入力調停回路7、第1FIFOメモリ11及び第1アドレス計算回路14を備えるものである。
【0215】
同様に、第2処理系72は、第1の実施形態における第2カメラリンク受信IC5、第2カメラ入力調停回路8、第2FIFOメモリ12及び第2アドレス計算回路15を備えるものであり、第3処理系73は、第1の実施形態における第3カメラリンク受信IC6、第3カメラ入力調停回路9、第3FIFOメモリ13及び第3アドレス計算回路16を備えるものである。
【0216】
また、第4処理系74は、第1処理系71と同様の構成を有し、第1カメラ1からの出力に対して第1処理系71が行うのと同じような動作を、第4カメラ61からの出力に対して行う(ただし、後述するように、画像データの横アドレスを、第1画像データに対して(例えば12188画素分)オフセットさせる)。
【0217】
また、第5処理系75は、第2処理系72と同様の構成を有し、第2カメラ2からの出力に対して第2処理系72が行うのと同じような動作を、第5カメラ62からの出力に対して行う(ただし、後述するように、画像データの横アドレスを、第2画像データに対して(例えば12188画素分)オフセットさせる)。
【0218】
また、第6処理系76は、第3処理系73と同様の構成を有し、第3カメラ3からの出力に対して第3処理系73が行うのと同じような動作を、第6カメラ63からの出力に対して行う(ただし、後述するように、画像データの横アドレスを、第3画像データに対して(例えば12188画素分)オフセットさせる)。
【0219】
本実施形態の場合、カメラの台数が6であるため、各カメラ1〜3、61〜63が生成する画像データのうちの書込画素を漏れなく合成メモリ19に記憶させるために、合成メモリ調停回路17の動作用のシステムクロックとしては、各カメラクロックの6倍以上の周波数のものが用いられる。
【0220】
本実施形態の場合、図18に示すように、撮像対象物21の表側には絵柄22が、裏側には絵柄23が、それぞれ走行方向Aにおいて所定間隔で印刷されている。
【0221】
また、本実施形態の場合、図18及び図19に示すように、表側の絵柄22を撮像するためのカメラ1,2,3と、裏側の絵柄23を撮像するためのカメラ61,62,63と、を用いる。
【0222】
なお、各カメラ1〜3、61〜63は、例えば、第1の実施形態と同様のラインセンサ式カメラである。
【0223】
図18に示すように、各カメラ1〜3、61〜63の配置スペースの都合上、カメラ61,62,63の配置は、例えば、カメラ1,2,3に対して走行方向Aにおいて距離Mだけずらした配置とされている。
【0224】
カメラ1〜3は、上記の第1の実施形態と同様に、横方向Bにおいて等間隔で一列に配置されている。
【0225】
同様に、カメラ61〜63は、カメラ1〜3よりも距離Mだけ走行方向Aにおける後方位置において、横方向Bに等間隔で一列に配置されている。
【0226】
図19に示すように、隣り合うカメラ1〜3の視野10は、上記の第1の実施形態と同様に重複している。同様に、隣り合うカメラ61〜63の視野10も重複している。
【0227】
また、本実施形態の場合、上記のように、カメラ61〜63は、走行方向Aにおいて、カメラ1〜3よりも距離Mだけ後方に配置されている。このため、カメラ61〜63により生成された第4乃至第6画像データの合成メモリ19上の縦アドレスをリセットするための取込トリガ信号は、撮像対象物21が距離Mだけ走行するのに要する時間だけ遅延させる必要がある。
【0228】
このような動作を実現するため、本実施形態の場合、取込トリガ信号は、図17に示す遅延回路82を介して、第4乃至第6処理系74〜76へ出力する。
【0229】
ここで、図17に示すエンコーダ81は、撮像対象物21の搬送装置に設けられ、撮像対象物21が走行方向Aに所定の単位距離だけ走行するたびに、1パルスの検出信号を遅延回路82に出力する。
【0230】
遅延回路82は、当該遅延回路82に対して取込トリガ信号が入力されたタイミングを起点として、距離Mに相当する回数のパルスがエンコーダ81から入力されたタイミングをもって、取込トリガ信号を第4乃至第6処理系74〜76の各アドレス計算回路14〜16へ出力する。
【0231】
すなわち、遅延回路82は、取込トリガ信号を、撮像対象物21が距離Mだけ走行するのに要する時間だけ遅延させて出力する。
【0232】
第4乃至第6処理系74〜76の各アドレス計算回路14〜16の縦アドレスインクリメンタルカウンタ34は、遅延回路82から取込トリガ信号が入力されたタイミングで、縦アドレスをリセットして「0」にする。
【0233】
これにより、合成メモリ19においては、各カメラ61〜63により生成された第4乃至第6画像データの縦アドレスと、各カメラ1〜3により生成された第1乃至第3画像データの縦アドレスと、を揃えることができる。
【0234】
図21(a)に示す画像41〜43は、第1の実施形態と同様の画像である。
【0235】
図21(a)に示す画像45は、第4カメラ61により画像41の裏側に相当する部位を撮像することにより得られる画像から右端の25画素分を削除した画像である。
【0236】
図21(a)に示す画像46は、第5カメラ62により画像42の裏側に相当する部位を撮像することにより得られる画像から左右両端の各々25画素分を削除した画像である。
【0237】
図21(a)に示す画像46は、第6カメラ63により画像43の裏側に相当する部位を撮像することにより得られる画像から左端の25画素分を削除した画像である。
【0238】
図21(b)に示すように、本実施形態では、第1カメラ1により取り込まれる画像41、第2カメラ2により取り込まれる画像42、及び、第3カメラ3により取り込まれる画像43だけでなく、第4カメラ4により取り込まれる画像45、第5カメラ5により取り込まれる画像46、及び、第6カメラ6により取り込まれる画像47も一纏めにした一連の画像として、合成メモリ19に記憶させる。
【0239】
画像41〜43については、合成メモリ19に対し、上記の第1の実施形態と同様のアドレスに記憶させる(図20参照)。
【0240】
また、画像45については、画像41に対して横アドレスを例えば12188画素分オフセットさせて、合成メモリ19に記憶させる。
【0241】
すなわち、画像45は、合成メモリ19に対し、縦アドレスV1のラインからV4096のラインにかけて、横アドレスH12189からH16259の領域に記憶させる(図20参照)。
【0242】
同様に、画像46については画像42に対して横アドレスを例えば12188画素分オフセットさせ、画像47については画像43に対して横アドレスを例えば12188画素分オフセットさせて、それぞれ合成メモリ19に対して記憶させる(図20参照)。
【0243】
このような動作を実現するため、第4処理系74が備えるアドレス計算回路14の加算器32に入力されるオフセット値は、例えば、「12188」である。これにより、画像45は、画像41に対して横アドレスが12188画素分オフセットされる。
【0244】
同様に、第5処理系75が備えるアドレス計算回路15の加算器32に入力されるオフセット値は、例えば、「16259」である。これにより、画像46は、画像42に対して横アドレスが12188画素分オフセットされる(画像41に対して横アドレスが16259画素分オフセットされる。)。
【0245】
同様に、第6処理系76が備えるアドレス計算回路16の加算器32に入力されるオフセット値は、例えば、「20305」である。これにより、画像47は、画像43に対して横アドレスが12188画素分オフセットされる(画像41に対して横アドレスが20305画素分オフセットされる。)。
【0246】
以上のような第4の実施形態によれば、表裏一対の絵柄22,23の画像データを一纏まりの画像データとして合成メモリ19に記憶させることができる。
【0247】
なお、上記の各実施形態において、使用するカメラの数は、複数であれば、上記において説明した数に限らない。
【0248】
また、カメラの配置や、各カメラの撮像範囲の重複の仕方は任意である。
【0249】
また、セレクタ18の代わりに、各FIFOメモリ11,12,13の出力のうちの何れか1つを選択的に合成メモリ19に出力するFIFO出力切替スイッチと、各アドレス計算回路14、15,16の出力のうちの何れか1つを選択的に合成メモリ19に接続するアドレス出力切替スイッチと、合成メモリ調停回路17から出力される第1乃至第3write信号のうちの何れか1つを選択的に合成メモリ19に出力するwrite信号切替スイッチと、を備えることとしても良い。この場合、合成メモリ調停回路17は、セレクト信号を出力する代わりに、これらスイッチに対し、切り替え動作を指令する制御信号をする。
【図面の簡単な説明】
【0250】
【図1】第1の実施形態に係る画像処理装置の構成を示すブロック図である。
【図2】カメラの平面的な配置を示す図である。
【図3】カメラの撮像範囲を示す図である。
【図4】カメラが1回の撮像動作により生成する画像データを示すとともに、カメラが生成する画像データのうちFIFOメモリに書き込まれるデータを示す模式図である。
【図5】カメラ入力調停回路とFIFOメモリの動作を説明するための図である。
【図6】合成メモリ調停回路の動作を示すフローチャートである。
【図7】アドレス計算回路の構成の一例を示すブロック図である。
【図8】アドレス計算回路の構成の他の一例を示すブロック図である。
【図9】合成メモリが備える記憶領域のうち1個の絵柄と対応する記憶領域の模式図である。
【図10】1つの取込トリガ信号が発生してから次の取込トリガ信号が発生するまでのインターバルの間に各カメラにより撮像される画像の範囲を示す図である。
【図11】各カメラにより得られた画像データがどのように合成メモリに記憶されるかを模式的に説明するための図である。
【図12】第2の実施形態に係る画像処理装置の構成を示すブロック図である。
【図13】第2の実施形態におけるカメラの平面的な配置の一例を示す図である。
【図14】第2の実施形態におけるアドレス計算回路を示すブロック図である。
【図15】第2の実施形態におけるカメラの平面的な配置の変形例を示す図である。
【図16】第3の実施形態に係る画像処理装置を構成を示すブロック図である。
【図17】第4の実施形態に係る画像処理装置の構成を示すブロック図である。
【図18】第4の実施形態における撮像対象物を示す図であり、(a)は表面を、(b)は裏面をそれぞれ示す。
【図19】各カメラの配置と撮像範囲を示す図である。
【図20】合成メモリが備える記憶領域のうち表裏一対の絵柄と対応する記憶領域の模式図である。
【図21】各カメラにより得られた画像データがどのように合成メモリに記憶されるかを模式的に説明するための図である。
【符号の説明】
【0251】
1 第1カメラ(カメラ)
2 第2カメラ(カメラ)
3 第3カメラ(カメラ)
4 第1カメラリンク受信IC(カメラリンク受信処理部)
5 第2カメラリンク受信IC(カメラリンク受信処理部)
6 第3カメラリンク受信IC(カメラリンク受信処理部)
7 第1カメラ入力調停回路(カメラ入力調停処理部)
8 第2カメラ入力調停回路(カメラ入力調停処理部)
9 第3カメラ入力調停回路(カメラ入力調停処理部)
11 第1FIFOメモリ(FIFOメモリ)
12 第2FIFOメモリ(FIFOメモリ)
13 第3FIFOメモリ(FIFOメモリ)
14 第1アドレス計算回路(アドレス計算処理部)
15 第1アドレス計算回路(アドレス計算処理部)
16 第1アドレス計算回路(アドレス計算処理部)
17 合成メモリ調停回路(合成メモリ調停処理部)
18 セレクタ(選択出力処理部)
19 合成メモリ
21 撮像対象物
61 第4カメラ(カメラ)
62 第5カメラ(カメラ)
63 第6カメラ(カメラ)
100 画像処理装置
200 画像処理装置
300 画像処理装置
400 画像処理装置
【特許請求の範囲】
【請求項1】
撮像範囲が一部重複する複数のカメラにより得られた画像データを記憶する合成メモリと、
前記画像データを前記合成メモリに記憶させる処理を実行する記憶処理実行部と、
を備え、
前記記憶処理実行部は、前記複数のカメラにより得られた画像データのうち、重複する画像データについては、何れか1つのカメラにより得られた画像データのみを前記合成メモリに記憶させ、前記複数のカメラにより得られた画像データを、撮像対象物の画像を表す一連の画像データとして前記合成メモリに記憶させることを特徴とする画像処理装置。
【請求項2】
前記記憶処理実行部は、
各カメラと1対1で対応するカメラ入力調停処理部と、
各カメラと1対1で対応し、対応するカメラから出力される画像データを、対応するカメラ入力調停処理部の制御下で一時的に記憶するFIFOメモリと、
各FIFOメモリのうち、画像データの読み出しを行うFIFOメモリを時分割で順次に切り替える合成メモリ調停処理部と、
各FIFOメモリと1対1で対応し、対応するFIFOメモリから読み出される画像データの前記合成メモリ上のアドレスを計算して出力するアドレス計算処理部と、
各FIFOメモリのうち、前記合成メモリ調停処理部により画像データの読み出しを行うFIFOメモリとして選択されたFIFOメモリからの出力と、当該読み出しを行うFIFOメモリと対応するアドレス計算処理部から出力されるアドレスと、を同期したタイミングで選択的に前記合成メモリに出力する選択出力処理部と、
を備え、
前記合成メモリは、前記選択出力処理部から入力される画像データを、該画像データと同期して入力されるアドレスに従って記憶し、
各カメラ入力調停回路は、前記重複する画像データについては、何れか1つのFIFOメモリに対してのみ書き込まれるように、対応するFIFOメモリの記憶動作を制御することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
各カメラは、ラインセンサ式カメラであることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
各カメラと1対1で対応し、対応するカメラから出力されるカメラクロック信号、Hsync信号及び画像データを受信するカメラリンク受信処理部を備え、
各カメラリンク受信処理部は、
カメラクロック信号は、対応するカメラ入力調停処理部、対応するFIFOメモリ、及び、対応するアドレス計算処理部に出力し、
Hsync信号は、対応するカメラ入力調停処理部及び対応するアドレス計算処理部に出力し、
画像データは、対応するFIFOメモリに出力することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
各カメラは、エリアセンサ式カメラであることを特徴とする請求項2に記載の画像処理装置。
【請求項6】
各カメラと1対1で対応し、対応するカメラから出力されるカメラクロック信号、Hsync信号、Vsync信号及び画像データを受信するカメラリンク受信処理部を備え、
各カメラリンク受信処理部は、
カメラクロック信号は、対応するカメラ入力調停処理部、対応するFIFOメモリ、及び、対応するアドレス計算処理部に出力し、
Hsync信号は、対応するカメラ入力調停処理部及び対応するアドレス計算処理部に出力し、
Vsync信号は、対応するアドレス計算処理部に出力し、
画像データは、対応するFIFOメモリに出力することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
各カメラ入力調停処理部は、
対応するカメラが1回の撮像により生成する有効な画像データの数である有効画素数と、
対応するカメラが出力する有効な画像データのうち、対応するFIFOメモリへの書き込みを行わない撮像範囲横方向における両端の画像の画像データの画素数と、
対応するカメラがHsync信号を発生してから有効な画像データを出力するまでのカメラクロック数と、
に基づいて、
対応するFIFOメモリに対して画像データの記憶動作を実行する期間を指示することを特徴とする請求項4又は6に記載の画像処理装置。
【請求項8】
各FIFOメモリは、1画素分の画像データの記憶領域を有し、該記憶領域が空であるか否かを示すEmpty信号を前記合成メモリ調停処理部に出力し、
前記合成メモリ調停処理部は、前記記憶領域が空でない旨を示すEmpty信号を出力するFIFOメモリに対し、前記選択出力処理部への画像データの出力を指示するwrite信号を出力することを特徴とする請求項7に記載の画像処理装置。
【請求項1】
撮像範囲が一部重複する複数のカメラにより得られた画像データを記憶する合成メモリと、
前記画像データを前記合成メモリに記憶させる処理を実行する記憶処理実行部と、
を備え、
前記記憶処理実行部は、前記複数のカメラにより得られた画像データのうち、重複する画像データについては、何れか1つのカメラにより得られた画像データのみを前記合成メモリに記憶させ、前記複数のカメラにより得られた画像データを、撮像対象物の画像を表す一連の画像データとして前記合成メモリに記憶させることを特徴とする画像処理装置。
【請求項2】
前記記憶処理実行部は、
各カメラと1対1で対応するカメラ入力調停処理部と、
各カメラと1対1で対応し、対応するカメラから出力される画像データを、対応するカメラ入力調停処理部の制御下で一時的に記憶するFIFOメモリと、
各FIFOメモリのうち、画像データの読み出しを行うFIFOメモリを時分割で順次に切り替える合成メモリ調停処理部と、
各FIFOメモリと1対1で対応し、対応するFIFOメモリから読み出される画像データの前記合成メモリ上のアドレスを計算して出力するアドレス計算処理部と、
各FIFOメモリのうち、前記合成メモリ調停処理部により画像データの読み出しを行うFIFOメモリとして選択されたFIFOメモリからの出力と、当該読み出しを行うFIFOメモリと対応するアドレス計算処理部から出力されるアドレスと、を同期したタイミングで選択的に前記合成メモリに出力する選択出力処理部と、
を備え、
前記合成メモリは、前記選択出力処理部から入力される画像データを、該画像データと同期して入力されるアドレスに従って記憶し、
各カメラ入力調停回路は、前記重複する画像データについては、何れか1つのFIFOメモリに対してのみ書き込まれるように、対応するFIFOメモリの記憶動作を制御することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
各カメラは、ラインセンサ式カメラであることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
各カメラと1対1で対応し、対応するカメラから出力されるカメラクロック信号、Hsync信号及び画像データを受信するカメラリンク受信処理部を備え、
各カメラリンク受信処理部は、
カメラクロック信号は、対応するカメラ入力調停処理部、対応するFIFOメモリ、及び、対応するアドレス計算処理部に出力し、
Hsync信号は、対応するカメラ入力調停処理部及び対応するアドレス計算処理部に出力し、
画像データは、対応するFIFOメモリに出力することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
各カメラは、エリアセンサ式カメラであることを特徴とする請求項2に記載の画像処理装置。
【請求項6】
各カメラと1対1で対応し、対応するカメラから出力されるカメラクロック信号、Hsync信号、Vsync信号及び画像データを受信するカメラリンク受信処理部を備え、
各カメラリンク受信処理部は、
カメラクロック信号は、対応するカメラ入力調停処理部、対応するFIFOメモリ、及び、対応するアドレス計算処理部に出力し、
Hsync信号は、対応するカメラ入力調停処理部及び対応するアドレス計算処理部に出力し、
Vsync信号は、対応するアドレス計算処理部に出力し、
画像データは、対応するFIFOメモリに出力することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
各カメラ入力調停処理部は、
対応するカメラが1回の撮像により生成する有効な画像データの数である有効画素数と、
対応するカメラが出力する有効な画像データのうち、対応するFIFOメモリへの書き込みを行わない撮像範囲横方向における両端の画像の画像データの画素数と、
対応するカメラがHsync信号を発生してから有効な画像データを出力するまでのカメラクロック数と、
に基づいて、
対応するFIFOメモリに対して画像データの記憶動作を実行する期間を指示することを特徴とする請求項4又は6に記載の画像処理装置。
【請求項8】
各FIFOメモリは、1画素分の画像データの記憶領域を有し、該記憶領域が空であるか否かを示すEmpty信号を前記合成メモリ調停処理部に出力し、
前記合成メモリ調停処理部は、前記記憶領域が空でない旨を示すEmpty信号を出力するFIFOメモリに対し、前記選択出力処理部への画像データの出力を指示するwrite信号を出力することを特徴とする請求項7に記載の画像処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2008−310415(P2008−310415A)
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2007−155119(P2007−155119)
【出願日】平成19年6月12日(2007.6.12)
【出願人】(000135254)株式会社ニレコ (41)
【Fターム(参考)】
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願日】平成19年6月12日(2007.6.12)
【出願人】(000135254)株式会社ニレコ (41)
【Fターム(参考)】
[ Back to top ]