(58)【調査した分野】(Int.Cl.,DB名)
撮像対象を搬送する搬送装置から取得した外部同期信号に基づいて、前記搬送装置の前記撮像対象を搬送する搬送速度が速度判定値を下回ったか否かを判定する搬送速度判定部と、
撮像部を外部同期信号に基づいて制御する撮像制御部と、を含み、
前記撮像制御部は、前記搬送速度が前記速度判定値を下回った場合、前記撮像部を内部同期信号に基づいて制御する、
撮像装置。
撮像対象を搬送する搬送装置から取得した外部同期信号に基づいて、前記搬送装置の前記撮像対象を搬送する搬送速度が速度判定値を下回ったか否かを判定するステップと、
前記搬送速度が前記速度判定値を下回った場合、内部同期信号に基づいて撮像部を制御するステップと、を含む、
撮像装置の制御方法。
【発明を実施するための形態】
【0011】
(実施の形態)
以下、
図1を参照して本発明の実施の形態について説明する。
図1は、実施の形態にかかる撮像装置のブロック図である。
【0012】
図1に示すように、撮像装置100は、搬送速度判定部101と、撮像制御部102とを備える。
【0013】
搬送速度判定部101は、撮像対象を搬送する搬送装置から外部同期信号を取得する。搬送速度判定部101は、この外部同期信号に基づいて、搬送装置の撮像対象を搬送する搬送速度が速度判定値を下回ったか否かを判定する。なお、撮像対象が停止することによって停止状態に至った場合、搬送速度判定部101は、この搬送速度が速度判定値を下回ったと判定する。
【0014】
撮像制御部102は、撮像部を外部同期信号に基づいて制御する。撮像制御部102は、搬送速度が速度判定値を下回った場合、撮像部を内部同期信号に基づいて制御する。
【0015】
以上より、撮像対象の搬送速度が低下し、撮像部が内部同期信号に基づいて制御される。そのため、撮像部が電荷を出し続けて、余剰な電荷が貯まらない。よって、撮像画像の白飛びを抑制することができる。
【0016】
ところで、本発明の実施の形態に関連する技術として、特許文献1に開示の画像処理装置がある。このような画像処理装置は、上記した実施の形態と異なり、前記速度判定値を下回った場合、外部同期信号の入力が一時的に途絶する。そのため、撮像部の制御(撮像デバイスの撮像動作)が停止してしまい、その時、前記撮像装置の電源を切らない限り、前記撮像部(撮像デバイス)内の光電変換素子は、光電変換を継続している。そのため、照明光源を消灯しても、微弱な外光等の前記装置が制御していない外からの光の影響で、前記撮像デバイス内に変換された電荷が蓄積され続ける。これによって、前記撮像部(撮像デバイス)が蓄積可能な限界まで電荷(すなわち、飽和レベルまでの電荷)まで達する。結果的に撮像画像が白飛びする。
一方、上記した実施の形態にかかる撮像装置100は、前記速度判定値を下回った場合、前記内部同期信号に切り替える。これによって、前記撮像デバイス内に前記電荷が蓄積されないように転送し続け(撮像デバイスから出力し続け)、かつその出力結果は、無効データとして破棄するため(撮像画像として扱わないため)、撮像画像の白飛びを抑制することができる。
【0017】
(実施の形態1)
以下、
図2を参照して本発明の実施の形態について説明する。
図2は、実施の形態1にかかる撮像装置の制御ブロック図である。
【0018】
図2に示すように、撮像装置200は、制御部1と、光源2と、撮像部3とを備える。
【0019】
撮像装置200は、撮像対象(図示略、ワークとも称する)を示す撮像画像(図示略)を生成する。撮像対象は、外部装置30により、ある任意の速度で撮像装置200を通過する。外部装置30は、例えば、撮像対象を搬送する搬送装置である。当該搬送装置は、例えば、ローラコンベア、又はベルトコンベアである。撮像対象は、多種多様な形状であってもよく、例えば、略板状、略球状、略塊状、略棒状、又は略線状でもよく、これらの形状が混在していてもよい。撮像対象は、例えば、ベルトコンベアで搬送される容器や果物等であってもよい。
【0020】
光源2は、撮像部3が撮像対象を撮像するために必要な光量を、照明光を撮像対象に照射するものであればよい。光源2は、例えば、LED(発光ダイオード)アレイである。LEDアレイは、一直線に並んだ複数のLEDである。光源2は、例えば、光色の異なる複数のLEDアレイであってもよい。
【0021】
撮像部3は、撮像対象を撮像して画像データを生成する撮像素子を含むものであればよく、例えば、CCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサである。撮像部3は、撮像対象におけるライン状領域を撮像して、ライン状画像を生成するものであってもよい。このような撮像部3を備える撮像装置200の一例は、ラインスキャナ、又はラインスキャンカメラである。撮像装置200は、エリアスキャナ、又はエリアスキャンカメラでもあってもよい。撮像部3は、例えば、受光素子列を備えてもよい。当該受光素子列は、一方向に並んだ複数の受光素子を含む。
【0022】
制御部1は、ハードウェア構成として、コンピュータを利用することができる。制御部1は、具体的には、制御装置、中央処理演算装置、各種プログラムを記憶した記憶媒体、ユーザが入出力可能なインタフェース等を備えるとよい。制御装置が記憶媒体に記憶された各種プログラムを読み込み、中央処理演算装置が各種プログラムに従って実行することによって、制御部1のコンピュータを外部同期信号取得部11等として機能することができる。
【0023】
制御部1は、外部同期信号取得部11と、撮像系・照明系制御部12と、スキャナ制御部13と、画像インタフェース14と、画像処理部15と、AFE(Analog Front End)16とを備える。制御部1は、画像メモリをさらに備えてもよい。
【0024】
外部同期信号取得部11は、外部装置30から外部同期信号7(Sync0)を取得する。外部装置30は、例えば、撮像対象を搬送する搬送装置である。外部同期信号7は、撮像対象を搬送するタイミングやその搬送量を示す信号であればよい。外部同期信号7は、例えば、撮像対象を搬送する搬送装置から出力されるエンコーダ信号である。外部同期信号7は、具体的には、搬送速度に合わせて出力されればよい。外部同期信号7は、より具体的には、撮像対象の搬送量が1ライン増加する毎に出力されていてもよい。外部同期信号7は、例えば、当該搬送装置がモータを用いて撮像対象を搬送する場合、外部同期信号7は、当該モータの回転子の回転変位に相当する。
【0025】
撮像系・照明系制御部12は、外部同期信号7や、スキャナ制御部13から制御信号を取得する。撮像系・照明系制御部12は、取得した外部同期信号7や当該制御信号に基づいて、光源2及び撮像部3の動作を制御する。
【0026】
スキャナ制御部13は、外部同期信号7、スキャン開始信号81、スキャン終了信号82等を取得する。スキャナ制御部13は、撮像系・照明系制御部12、AFE16、画像処理部15、画像インタフェース14を制御する。
【0027】
AFE(Analog Front End)14は、例えば、撮像部3が生成したアナログ画像信号をデジタル画像信号に変換する。画像処理部15は、AFE14から画像信号を適宜画像処理し、画像データを生成する。撮像部3が撮像対象を撮像することによってライン状画像を生成する場合、画像処理部15は、そのライン状画像の複数を組み合わせて、読取画像データを生成してもよい。当該読取画像データは、読取画像を示し、当該読取画像は、撮像対象の少なくとも一部を示す。画像インタフェース14は、画像処理部15が生成した画像データを適宜、上位システム40に出力する。例えば、制御部1が画像メモリを備える場合、画像処理部15が生成した画像データは、当該画像メモリに記録してもよい。
【0028】
(一動作例)
次に、撮像装置200の一動作例について説明する。
【0029】
撮像対象が撮像装置200を通過する時点よりも前の時点において、スキャナ制御部13がスキャン開始信号81を予め取得する。すると、撮像装置200は画像読取待機状態に移行する。
【0030】
続いて、撮像対象が撮像装置200を通過する時点において、外部同期信号取得部11は、外部装置30から外部同期信号7を取得する。外部同期信号7は、撮像対象の搬送速度との同期をとるための信号として外部同期信号取得部11に出力される。外部同期信号7は、例えば、撮像対象の搬送速度に同期し、1ライン分の移動量に対して1パルス出力される。
【0031】
撮像装置200が画像読取待機状態に移行したまま、撮像系・照明系制御部12が、外部同期信号7(Sync0)の入力間隔に応じて、光源2の点灯及び消灯、撮像部3の撮像動作を制御する信号を出力する。このような信号の一例は、外部同期信号7の入力毎、例えば、1ライン毎に撮像部3の撮像素子を駆動させる駆動信号や、光源2を点灯させる、又は消灯させる光源制御信号である。光源2を点灯しつつ、撮像部3の駆動を開始すると、撮像部3がアナログ画像信号をAFE6へ出力する。
【0032】
AFE6は、撮像部3が出力したアナログ画像信号をサンプリングした後、AD変換(アナログデジタル変換)してデジタル画像データを生成する。このサンプリングとこのAD変換は、リアルタイム処理で行われるとよい。AFE6は、この生成したデジタル画像データを画像処理部15へ転送する。
【0033】
画像処理部15は、デジタル画像データに対して、必要な画像処理を行う。画像処理部15は、この画像処理したデジタル画像データを画像インタフェース14に転送する。ここで、画像処理は、例えば、フィルタリング処理等である。
【0034】
画像インタフェース14は、上位システム40に対して、インタフェースの形式に加工して出力する。上位システム40は、例えば、パーソナルコンピュータ等である。インタフェースの形式は、例えば、USB(ユニバーサル・シリアル・バス)、カメラリンク、CXP(CoaXPress(登録商標))等である。
【0035】
なお、スキャナ制御部13が、外部装置30からスキャン終了信号82を取得することによって、上記した撮像装置200の撮像動作を終了する。スキャン終了信号82は、スキャン終了通知を示す。
【0036】
以上より、撮像装置200は、撮像対象を撮像することができる。
【0037】
(一動作例における要部とその動作の詳細)
次に、
図3を参照して、
図2に示す撮像装置200の一動作例において、撮像装置200の要部とその動作の詳細について説明する。
図3は、
図1に示す外部同期信号取得部11、撮像系・照明系制御部12、及びスキャナ制御部13の動作の詳細を説明するための図である。この一例では、撮像部3は、CCDセンサを含む。
【0038】
外部同期信号7(Sync0)は、撮像対象の搬送量に合わせて入力バッファ・信号生成部21に出力される。外部同期信号7(Sync0)は、周期的、具体的には、撮像対象の搬送量が1ライン増加する毎に入力バッファ・信号生成部21に出力される。外部同期信号7は、例えば、パルス信号であってもよく、当該パルス信号は、撮像対象が1ライン分移動したら1パルス発生してもよい。また、当該パルス信号は、Hi信号である。
【0039】
入力バッファ・信号生成部21は、外部同期信号7を取得すると、トリガ信号71(Sync1)を生成する。さらに、入力バッファ・信号生成部21は、トリガ信号71をクロックジェネレータ(ライン同期用)26に出力する。トリガ信号71は、撮像装置200の撮像部3の撮像素子の駆動、及び光源2の制御に利用される。
【0040】
クロックジェネレータ(ライン同期用)26は、入力バッファ・信号生成部21からトリガ信号71(Sync1)を取得する。クロックジェネレータ(ライン同期用)26は、この取得したトリガ信号71(Sync1)をトリガとして、φTG信号を生成する。この生成したφTG信号は、OR回路27を介して、CCD駆動信号生成部29、及び光源制御信号生成部25に出力される。
【0041】
CCD駆動信号生成部29は、φTG信号を取得すると、CCD駆動信号を生成する。CCD駆動信号生成部29は、CCD駆動信号を撮像部3に出力する。
【0042】
ここで、撮像部3の駆動信号として必要な信号は、φTG(ゲートトリガ信号)、φ1(第1の画像転送信号1)、φ2(第2の画像転送信号)、RS(リセット信号)、CL信号(クランプ信号)である。これらの各信号のうち、1ライン分の処理(制御)に必要な信号を生成し、この生成した信号を撮像部3に出力する。
【0043】
なお、撮像部3が、CMOSセンサを含む場合、CMOS駆動信号生成部がCCD駆動信号生成部29の代わりに、撮像部3を駆動するために必要な駆動信号を生成し、撮像部3に出力してもよい。
【0044】
光源制御信号生成部25は、φTG信号を取得する。すると、光源制御信号生成部25は、このφTG信号をトリガ信号として、光源点灯信号72を光源2(
図2参照)に出力する。光源点灯信号72は、予め決められた時間だけ光源を点灯させる点灯信号である。
【0045】
入力バッファ・信号生成部21が外部同期信号7(Sync0)を取得する。すると、入力バッファ・信号生成部21が、前述の制御と並行して、外部同期信号7(Sync0)の取得タイミングに同期して、外部同期信号7(Sync0)をカウンタ(タイマ)22に出力する。外部同期信号7(Sync0)は、カウンタ制御用のパルス信号として取り扱われる。入力バッファ・信号生成部21は、当該パルス信号に基づいて、パルスの立ち下がりタイミングにおいて(セット信号として)カウンタ22を起動させる制御を行う。また、入力バッファ・信号生成部21は、当該パルス信号に基づいて、立ち上がりタイミングにおいて(リセット信号として)カウンタ22をリセットする制御を行う。
【0046】
カウンタ22は、外部同期信号7(Sync0)と同期して、パルスの立ち上がりタイミングにおいて計数(カウントアップ)を開始する。カウンタ22は、パルスの立ち下がりタイミングにおいてその時の計数値を、比較器23に入力すると同時に、計数値をリセット(初期状態に戻す動作)する。カウンタ22は、次の外部同期信号7(Sync0)を取得するまで、計数する状態を止めて待機する。なお、カウンタ22の基本クロックは、外部同期信号7の基本クロックと比較して、短く、例えば、画像転送クロックに相当する。
【0047】
比較器23は、カウンタ22の計数値を取得すると、タイマ上限値メモリ24に予め格納されている設定値と比較する。タイマ上限値メモリ24に予め格納されている設定値は、撮像装置200の電源起動時の初期動作にて、予め、設定されるとよい。カウンタ22の計数値が、タイマ上限値メモリ24より大きい場合、比較器23は起動信号をクロックジェネレータ(自走用)28に出力することによって、クロックジェネレータ(自走用)28を起動させる。比較器23は、外部同期信号7(Sync0)の周期の長短に応じて、クロックジェネレータ(ライン同期用)26、又はクロックジェネレータ(自走用)28を選択して動作させる。これによって、比較器23は、CCD駆動信号、及び光源制御信号のクロックを生成させる。
【0048】
クロックジェネレータ(自走用)28は、比較器23から起動信号を取得することによって有効状態になる。このとき、クロックジェネレータ(自走用)28は、リセット信号を取得すると、φTG1を繰り返し出力し、撮像部3(
図2参照)を最短周期で動作させる。この最短周期は、撮像部3の仕様によって決まられる。この最短周期が短いと、多様なクロックジェネレータ(自走用)28を利用できてよい。同時に、クロックジェネレータ(自走用)28は、クロックジェネレータ(ライン同期用)26と、光源制御信号生成部25とにDisable信号(Lo信号)を出力する。このとき、クロックジェネレータ(ライン同期用)26はφSync1&Enable信号の出力を停止し、Lo状態の信号を出力する。
【0049】
前記Lo状態の信号により、外部同期信号7が停止する、又は規定時間より長時間入力されない場合、クロックジェネレータ(自走用)28がφTG1信号の出力を開始し、クロックジェネレータ(ライン同期用)26が、φSync1信号、及びEnable信号の出力を停止する。当該規定時間は、例えば、予め規定された所定の長さの時間である。そのため、それらのOR信号は、OR回路27によって生成される。また、φTG1信号がOR回路27から出力されることによって、φTGがCCD駆動信号生成部29、及び光源制御信号生成部25へ出力される。
【0050】
なお、この状態の制御において、光源制御信号生成部25は、クロックジェネレータ(自走用)28からのDisable信号(Lo信号)を取得したため、光源制御信号生成部25は、光源2がOFF(消灯)状態となるように、光源点灯信号72を出力する、又は光源点灯信号72の出力を停止する。
【0051】
以上より、撮像対象の搬送が停止したり、その搬送速度が低下したりする等して、次の外部同期信号7(Sync0)を取得しなかった場合、撮像部3を内部同期(自走)制御にて、前記制御対象のCCDセンサの性能の最短周期(最速動作)の撮像タイミングで動作させ、かつ光源2を消灯(OFF)状態で動作させる。そのため、撮像部3のCCDセンサは消灯状態、言い換えると光電変換の電荷が少ない状態で、かつ高速で動作させる。よって、撮像部3のCCDセンサ内の電荷は、逐次吐き出している。従って、撮像部3のCCDセンサ内に余剰の電荷が貯まらない状態、言い換えると電荷が飽和しない状態を実現できる。
【0052】
この効果により、撮像対象が再び搬送を開始し、外部同期信号7(Sync0)の出力を開始されたとき、撮像部3のCCDセンサ内に、余剰な電荷(飽和電荷)が存在しない。撮像部3のCCDセンサ内に、余剰な電荷が存在しないまま、撮像を開始する、画像読取を開始する、そのため、安定した正常画像、言い換えると白飛びした異常画像の発生を回避できる。
【0053】
(制御方法)
次に、
図4A及び
図4Bを参照して、実施の形態1にかかる撮像装置の制御方法について説明する。
図4A及び
図4Bは、
図2及び
図3に示すブロック図にかかる撮像装置の制御方法を示すフローチャートである。
【0054】
図4Aに示すSTART処理に先立って、
図2に示す撮像装置200の電源を投入して、撮像装置200を起動させる。すると、撮像装置200は初期化動作を行う。撮像装置200の初期化後、撮像装置200は、待機状態である。撮像装置200が待機状態において、スキャン開始信号81が入力されると、画像読取待機状態に移行し、
図4Aに示すSTART処理に進む。
【0055】
まず、画像読取開始の待機状態での画像読取の前処理を行う(ステップST101)。具体的には、タイマ上限値メモリ24(
図3参照)に、外部同期信号7の周期の最大値:T0を設定する。また、クロックジェネレータ(自走用)28(
図3参照)のEnable信号を、Hiレベルに設定する。さらに、クロックジェネレータ(ライン同期用)26(
図3参照)が、有効になる設定をする。なお、撮像装置200は、画像読取待機状態が継続する。
【0056】
続いて、画像読取待機状態において、外部同期信号7(Sync0)を取得する(ステップST102)。
【0057】
続いて、トリガ信号71(Sync1)を生成し、カウンタ22(
図3参照)によって計数を開始する(ステップST103)。
【0058】
続いて、カウンタ22によって計数した計数値は、逐次、比較器23(
図3参照)にて、予め決められた値T0と比較する(ステップST104)。
【0059】
この計数値がT0より小さい場合(ステップST104:NO)、ステップST103に戻る。一方、この計数値がT0より大きい場合(ステップST104:YES)、クロックジェネレータ(自走用)28を起動させ、クロックジェネレータ(自走用)28による駆動信号を用いて、撮像部3を駆動させる(ステップST105)。具体的には、撮像部3の駆動信号を、外部同期信号7による駆動信号から、クロックジェネレータ(自走用)28による駆動信号に切り替える指示を行う。クロックジェネレータ(自走用)28による駆動信号は、内部同期信号と称してもよい。
【0060】
続いて、クロックジェネレータ(自走用)28によってφTG1信号を出力し、内部同期信号に切り替えたことを識別するためのEnable信号の出力を停止する一方で、Lo信号を出力する(ステップST106)。内部同期信号に切り替えたことを識別できればよく、Lo信号の代わりに、Hi信号を出力しても構わない。クロックジェネレータ(ライン同期用)26によって、φSync1&Enable信号の出力を停止し、Lo状態の信号を出力する。
【0061】
続いて、撮像装置200が外部同期信号7(Sync0)の次のパルスを取得するかを継続監視する(ステップST107:NO、ステップST106)。当該取得入力を確認すると、カウンタ22(
図3参照)の計数値をリセットする(ステップST107)。
【0062】
続いて、リセットを確認した場合(ステップST107:YES)、クロックジェネレータ(自走用)28を停止し、Enable信号をHiに変更し、外部同期信号7(Sync0)にて、撮像部3のCCDセンサを駆動する制御に切り替え画像読取を行う(ステップST108)。
【0063】
次に、外部同期信号7による画像読取にて、撮像部3の画像出力の画像データを有効にし、読取を継続する(ステップST109)。
【0064】
最後に、スキャン終了信号82を受信すると、撮像装置200の撮像を終了する(ステップST110)。
【0065】
(タイミングチャート1)
次に、
図5A〜
図5D、
図6、
図7を参照して、実施の形態1にかかる撮像装置の制御方法の主要な信号のタイミングについて説明する。
図5A〜
図5D、
図6〜
図8は、
図3に示すブロック図と、
図4A及び
図4Bに示すフローチャートにかかる撮像装置の制御方法における制御信号のタイミングチャートである。
【0066】
図5A〜
図5D、
図6、及び
図7に示すタイミングチャートは、実施の形態1にかかる撮像装置の制御方法の一例における一連の制御の流れを示す。なお、
図5A〜
図5Dに示す取得タイミングA,B,C,Dはそれぞれ共通する。
【0067】
図5A〜
図5Dは、外部同期信号7が停止することなく継続的に取得された場合、撮像部3のCCDセンサと光源2との制御タイミングを示す。外部同期信号7の取得タイミングが変化しても、制御部1は、撮像部3のCCDセンサと光源2とが外部同期信号7の取得タイミングに追従できるよう、当該CCDセンサと光源2とを制御する。
【0068】
図5A〜
図5Dに示すように、外部同期信号7の周期が、予め決められた周期(長周期)より短い場合、外部同期信号7の入力毎にカウンタ22のセット、リセットを繰り返す。撮像部3のCCDセンサは外部同期信号7に同期して駆動を続ける。撮像部3のCCDセンサは、画像データを生成し、この生成した画像データは、有効画像データとして処理される。具体的には、撮像部3のCCDセンサが生成した画像データは、適宜、AFE6、画像処理部15、画像インタフェース14等によって処理され、又は加工されるとよい。この処理された、又は加工された画像データは、例えば、画像メモリ(図示略)に記録され、又は上位システム40に出力されるとよい。
【0069】
図5Dに示すように、外部同期信号7の取得タイミングC、Dの後、撮像部3のCCD駆動信号(画像転送)、及び光源点灯信号72は、1ライン分生成した後、次の外部同期信号7の取得タイミングまで停止している。この間、カウンタ22(タイマ)はリセットされることなく、計数を継続している。
【0070】
図6に示すように、外部同期信号7の取得タイミングDからタイムアウトタイミングEまでの期間、言い換えると、周期DEが、予め決められた周期より長い場合がある。このような場合、外部同期信号7の取得の無いままカウンタ22の計数が継続すると、カウンタ22の計数値がタイマ上限値メモリ24を超える。そのため、カウンタ22がタイムアウト(オーバーフロー)する。すると、撮像部3のCCDセンサは、外部同期信号7ではなく、クロックジェネレータ(自走用)28による駆動信号(内部同期信号)によって、駆動する。なお、クロックジェネレータ(自走用)28による駆動信号の周期は、前記CCDセンサの性能の最速となる周期(前記CCD駆動において、最短周期)で駆動することになる。
【0071】
一方、光源点灯信号72が停止し続け、光源2(
図2参照)は消灯(OFF)状態を継続する。光源2が消灯状態のまま、撮像部3のCCDセンサは、クロックジェネレータ(自走用)28による駆動信号(内部同期信号)に基づいて撮像する。撮像部3のCCDセンサから出力される画像データは無効画像データとして処理される。具体的には、撮像部3のCCDセンサが生成した画像データにかかる電圧信号をサンプリングすることなく破棄する、又は無視する。このような破棄や無視を空読取、ダミーリード、又はダミースキャンとも称してもよい。言い換えると、この画像データは、適宜、AFE6、画像処理部15、画像インタフェース14等によって処理されない、又は加工されない。この画像データは、例えば、画像メモリ(図示略)に記録されないし、上位システム40に出力されない。この画像データは、例えば、画像メモリ(図示略)に記録された後、すぐに消去してもよい。
【0072】
図7は、前述のカウンタ22のタイムアウト(
図6参照)後においてクロックジェネレータ(自走用)28による駆動信号(内部同期信号)に基づいて制御している状態から、外部同期信号7の取得が再開された後まで、各信号のタイミングを示す。
【0073】
ここで、出力タイミングG0、再開タイミングF1、出力タイミングG1、及び出力タイミングG2が時系列順に並ぶ。
【0074】
CCD駆動信号の出力タイミングG0は、クロックジェネレータ(自走用)28によるものである。撮像対象の搬送を再開した場合、外部同期信号7の取得が再開される(再開タイミングF1)。すると、カウンタ22が、再度セット(タイマセット)される。ここで、外部同期信号7の取得が再開されとき、内部同期信号が、1周期分完了しているか、していないかに関わらず、外部同期信号7の取得により、カウンタ22は、再度セット(タイマセット)する。内部同期信号での前記CCD駆動は、1ライン分の動作を完了していない場合は、動作を強制的に中止し、外部同期信号7による制御(
図5A、
図5B、
図5C参照)に切り替える。
【0075】
撮像部3の制御は、クロックジェネレータ(自走用)28からクロックジェネレータ(ライン同期用)26に切り替える。CCD駆動信号の出力タイミングG1、G2は、クロックジェネレータ(ライン同期用)26によるものである。その後の各信号の挙動は、
図1に示すタイミングチャートと同様の内容であるタイミングチャートによって示される。外部同期信号7の取得が再開した後、撮像部3のCCDセンサから出力された画像データは、有効画像として処理される。
【0076】
以上より、外部同期信号7の出力が長期間停止し、外部同期信号7による画像読取が再開しても、白飛びライン、及び白飛びエリアのない画像を安定して取得することができる。
【0077】
(タイミングチャート1の一変形例)
また、
図8に示すように、
図7に示す各信号のタイミングの一変形例がある。
図8は、
図7に示すタイミングチャートと異なるタイミングチャートである。
図8は、外部同期信号7と、クロックジェネレータ(自走用)28によるφTG信号の出力タイミングについて、
図7に示すタイミングチャートと異なる制御タイミングを示す。
図5A〜5B、
図6、
図8に示すタイミングチャートは、連続している。
【0078】
ここで、タイムアウトタイミングE、出力タイミングE1、再開タイミングF1、出力タイミングG0、G1、及び出力タイミングG2が時系列順に並ぶ。
【0079】
撮像部3の制御は、タイムアウトタイミングE以降、クロックジェネレータ(ライン同期用)26からクロックジェネレータ(自走用)28に切り替える。タイムアウトタイミングE、CCD駆動信号の出力タイミングE1、G0は、クロックジェネレータ(自走用)28によるものである。CCD駆動信号の出力タイミングG1、G2は、クロックジェネレータ(ライン同期用)26によるものである。
【0080】
撮像部3のCCDセンサは、タイムアウトタイミングEから出力タイミングG0まで、内部同期信号に基づいて制御される。撮像部3のCCDセンサは、出力タイミングG1以降、外部同期信号に基づいて制御される。
【0081】
一方、タイムアウトタイミングEからCCD駆動信号の出力タイミングE1まで、撮像部3のCCDセンサから出力された画像データは、有効画像として処理される(有効画像区間T1)。CCD駆動信号の出力タイミングE1から出力タイミングG1まで、撮像部3のCCDセンサから出力された画像データは、無効画像として処理される(無効画像区間T2)。CCD駆動信号の出力タイミングG2以降、撮像部3のCCDセンサから出力された画像データは、有効画像として処理される(有効画像区間T3)。
【0082】
言い換えると、撮像部3のCCDセンサから出力された画像データのうち、内部同期信号に切り替えた直後の搬送量1ライン分の画像データは、有効画像として処理される(有効画像区間T1)。また、撮像部3のCCDセンサから出力された画像データのうち、内部同期信号に切り替えた直後の搬送量2ライン目以降の画像データは、無効画像として処理される(無効画像区間T2)。また、撮像部3のCCDセンサから出力された画像データのうち外部同期信号に復帰した直後の1ライン分の画像データは、無効画像として処理される(無効画像区間T2)。また、撮像部3のCCDセンサから出力された画像データのうち外部同期信号に復帰した後の2ライン目以降の画像データは、有効画像として処理される(有効画像区間T3)。すなわち、
図8に示すタイミングチャートにかかる制御方法は、無効画像及び有効画像として処理が、
図7に示すタイミングチャートにかかる制御方法と比較して、搬送量1ライン分ディレイ(遅延)する。
【0083】
なお、撮像部3のCCDセンサが、搬送量1ライン分に相当する撮像データを保持する機能を有すると、撮像装置100、200が上記した制御方法(
図5A〜5B、
図6、
図8参照)を行うことができてよい。
【0084】
(タイミングチャート2)
一方、
図9に示すように、
図7に示す各信号のタイミングの一例がある。
図9は、
図7に示すタイミングチャートと異なるタイミングチャートである。
図9は、外部同期信号7と、クロックジェネレータ(自走用)28によるφTG信号の出力タイミングについて、
図7に示すタイミングチャートと異なる制御タイミングを示す。
図5A〜5B、
図6、
図9に示すタイミングチャートは、連続している。
【0085】
ここで、出力タイミングG10、再開タイミングF2、出力タイミングG11、及び出力タイミングG12が時系列順に並ぶ。
【0086】
CCD駆動信号の出力タイミングG10は、クロックジェネレータ(自走用)28によるものである。撮像対象の搬送を再開した場合、外部同期信号7の取得が再開される(再開タイミングF2)。すると、カウンタ22が再度セット(タイマセット)される。ここで、再開タイミングF2は、CCD駆動信号の出力タイミングG10から期間Tc1後である。期間Tc1は、内部同期信号の画像転送周期Tc0より短い。つまり、出力タイミングG10から、外部同期信号7の取得が再開される再開タイミングF2になるまで経過する期間Tc1は、内部同期信号の画像転送周期Tc0より短い。このとき、前記内部同期信号による画像転送周期Tc0でのCCDの駆動が完了していないが、再開タイミングF2では、このときの内部同期信号でのCCD駆動を停止させ、又は中断させ、出力タイミングG11では、外部同期信号による動作に切り替える制御をおこなう。
【0087】
撮像部3の制御は、クロックジェネレータ(自走用)28からクロックジェネレータ(ライン同期用)26に切り替える。CCD駆動信号の出力タイミングG11、G12は、クロックジェネレータ(ライン同期用)26によるものである。CCD駆動信号の出力タイミングG11は、CCD駆動信号の出力タイミングG10から、期間Tc1経過した出力タイミングG11の時点の直後である。CCD駆動信号の出力タイミングG10後、内部同期信号の画像転送周期Tc0時間経過しなくても、再開タイミングF2により、内部同期信号による動作を停止し、外部同期信号7による制御に切り替える。つまり、撮像部3のCCDセンサから出力された画像データは、出力タイミングG10からG11までは、CCD駆動は1ラインの途中で中断することになるが、無効画像として処理される。一方、出力タイミングG11以降においては、外部同期信号7による制御(
図5A〜
図5D、
図6参照)に移行し有効画像として処理される。光源点灯信号72が、CCD駆動信号と同様に、出力タイミングG11以降、一定の期間出力する(すなわち、一定の期間とは、1ライン分の画像データを出力する時間になる)。
【0088】
出力タイミングG12以降、各信号の挙動は、
図1に示すタイミングチャートと同様の内容であるタイミングチャートによって示される。よって、出力タイミングG12以降、撮像部3のCCDセンサから出力された画像データは、有効画像として処理される。
【0089】
以上より、外部同期信号7の出力が長期間停止し、外部同期信号7による画像読取が再開しても、撮像部3のCCDセンサを空読取にて継続動作させるため、白飛びライン、及び白飛びエリアのない画像を安定して取得することができる。また、搬送停止時に、光源2以外の外光が入射されても、空読取にて撮像部3のCCDセンサから電荷を吐き出し続けるため、そのCCDセンサに、残像として、画像成分が残ることを回避できる。よって、搬送装置が不連続にスタート、及びストップを繰り返しても、安定した画像を取得できる。
【0090】
(他の実施の形態等)
また、上記実施の形態に係る撮像装置100、200は、次のようなハードウェア構成を備えることができる。
図10は、撮像装置100、200に含まれるハードウェア構成の一例を示す図である。上述した様々な実施の形態において、撮像装置100、200における処理の手順を説明したように、本発明は処理方法としての形態も採り得る。
【0091】
図10に示す撮像装置300は、インタフェース303とともに、プロセッサ301及びメモリ302を備える。上述した実施の形態で説明した制御部1は、プロセッサ301がメモリ302に記憶された制御プログラムを読み込んで実行することにより実現される。つまり、このプログラムは、プロセッサ301を制御部1、又はその一部として機能させるためのプログラムである。このプログラムは、
図2の撮像装置200に、制御部1、又はその一部における処理を実行させるためのプログラムであると言える。
【0092】
上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータ(情報通知装置を含むコンピュータ)に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、この例は、CD−ROM(Read Only Memory)、CD−R、CD−R/Wを含む。さらに、この例は、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0093】
さらに、上述した様々な実施の形態において、撮像装置における処理の手順を説明したように、本開示は撮像装置の制御方法としての形態も採り得る。また、上述のプログラムは、撮像装置にこのような制御方法を実行させるためのプログラムであると言える。
【0094】
例えば、上述のプログラムは、コンピュータに、第1、第2及び第3のステップを実行させる。第1のステップでは、撮像対象を搬送する搬送装置から取得した外部同期信号に基づいて、前記搬送装置が前記撮像対象を搬送する搬送速度が速度判定値を下回ったかを判定する。第2のステップでは、前記搬送速度が前記速度判定値を下回った場合、外部同期信号の入力が無くても、内部同期信号に切り替えて、内部同期信号に基づいて撮像部を制御する。第3のステップでは、内部同期信号により取得される画像データは、無効データとして破棄する(上位システムに転送しない)制御をする。
【0095】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、実施の形態やその一例を適宜組み合わせて実施してもよい。例えば、上記した実施の形態では、撮像対象を一定の搬送速度で搬送したが、この搬送速度は、適宜変化してもよい。上記した実施の形態では、撮像対象を一定の搬送速度で搬送したが、ロボットアーム等を用いて撮像装置を撮像対象に対して動かしてもよい。
【解決手段】撮像装置100は、搬送速度判定部101と、撮像制御部102とを含む。搬送速度判定部101は、撮像対象を搬送する搬送装置30から取得した外部同期信号7に基づいて、搬送装置30の撮像対象を搬送する搬送速度が速度判定値を下回ったか否かを判定する。撮像制御部102は、撮像部3を外部同期信号7に基づいて制御する。撮像制御部102は、搬送速度が速度判定値を下回った場合、撮像部3を内部同期信号に基づいて制御する。