(57)【特許請求の範囲】
【請求項１】
撮像対象を搬送する搬送装置から取得した外部同期信号に基づいて、前記搬送装置の前記撮像対象を搬送する搬送速度が速度判定値を下回ったか否かを判定する搬送速度判定部と、
撮像部を外部同期信号に基づいて制御する撮像制御部と、を含み、
前記撮像制御部は、前記搬送速度が前記速度判定値を下回った場合、前記撮像部を内部同期信号に基づいて制御する、
撮像装置。
【請求項２】
前記撮像制御部は、前記撮像部を内部同期信号に基づいて制御した場合、前記撮像部が出力した画像データを無効画像として処理する、
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記撮像制御部は、前記撮像部を内部同期信号に基づいて制御した場合、光源を消灯する、
ことを特徴とする請求項１又は２に記載の撮像装置。
【請求項４】
前記撮像制御部は、前記搬送速度が前記速度判定値を下回った場合、前記撮像部を内部同期信号に基づいて制御した後、
前記搬送速度判定部は、再び取得した外部同期信号に基づいて、前記搬送速度が増加して前記速度判定値以上になったと判定した場合、前記撮像制御部は、前記撮像部を前記外部同期信号に基づいて制御する、
ことを特徴とする請求項１〜３のいずれか１項に記載の撮像装置。
【請求項５】
前記撮像部が、前記内部同期信号の１周期分の画像データを前記無効画像として処理することを特徴とする請求項２に記載の撮像装置。
【請求項６】
撮像対象を搬送する搬送装置から取得した外部同期信号に基づいて、前記搬送装置の前記撮像対象を搬送する搬送速度が速度判定値を下回ったか否かを判定するステップと、
前記搬送速度が前記速度判定値を下回った場合、内部同期信号に基づいて撮像部を制御するステップと、を含む、
撮像装置の制御方法。
【請求項７】
コンピュータに、
撮像対象を搬送する搬送装置から取得した外部同期信号に基づいて、前記搬送装置が前記撮像対象を搬送する搬送速度が速度判定値を下回ったかを判定するステップと、
前記搬送速度が前記速度判定値を下回った場合、内部同期信号に基づいて撮像部を制御するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、撮像装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１に開示の画像処理装置は、外部機器から入力される制御信号である撮像トリガ信号に基づいて、カメラ画像の取得動作を行う。撮像トリガ信号は、カメラ画像を取り込むタイミングを規定する。また、トリガ同期モード及びトリガ非同期モードのいずれかをユーザ操作に基づいて選択して、画像処理用のカメラ画像を取得する際の取得条件とする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１２２８２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、このような画像処理装置では、その取得したカメラ画像は白飛びする（ハレーションが発生する）ことがあった。
【０００５】
本開示の目的は、上述した課題を鑑み、撮像画像の白飛びを抑制することのできる撮像装置、撮像装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本開示の実施の形態の一つに係る撮像装置は、
撮像対象を搬送する搬送装置から取得した外部同期信号に基づいて、前記搬送装置の前記撮像対象を搬送する搬送速度が速度判定値を下回ったか否かを判定する搬送速度判定部と、
撮像部を外部同期信号に基づいて制御する撮像制御部と、を含み、
前記撮像制御部は、前記搬送速度が前記速度判定値を下回った場合、前記撮像部を内部同期信号に基づいて制御する。
【０００７】
本開示の実施の形態の一つに係る撮像装置の制御方法は、
撮像対象を搬送する搬送装置から取得した外部同期信号に基づいて、前記搬送装置の前記撮像対象を搬送する搬送速度が速度判定値を下回ったか否かを判定するステップと、
前記搬送速度が前記速度判定値を下回った場合、内部同期信号に基づいて撮像部を制御するステップと、を含む。
【０００８】
本開示の実施の形態の一つに係るプログラムは、
コンピュータに、
撮像対象を搬送する搬送装置から取得した外部同期信号に基づいて、前記搬送装置が前記撮像対象を搬送する搬送速度が速度判定値を下回ったかを判定するステップと、
前記搬送速度が前記速度判定値を下回った場合、内部同期信号に基づいて撮像部を制御するステップと、を実行させる。
【発明の効果】
【０００９】
本開示によれば、撮像画像の白飛びを抑制することのできる撮像装置、撮像装置の制御方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態にかかる撮像装置のブロック図である。
【図２】実施の形態１にかかる撮像装置の制御ブロック図である。
【図３】実施の形態１にかかる撮像装置の要部の機能ブロック図の一例である。
【図４Ａ】実施の形態１にかかる撮像装置の制御方法を示すフローチャートである。
【図４Ｂ】実施の形態１にかかる撮像装置の制御方法を示すフローチャートである。
【図５Ａ】実施の形態１にかかる撮像装置の制御方法における制御信号のタイミングチャートである。
【図５Ｂ】実施の形態１にかかる撮像装置の制御方法における制御信号のタイミングチャートである。
【図５Ｃ】実施の形態１にかかる撮像装置の制御方法における制御信号のタイミングチャートである。
【図５Ｄ】実施の形態１にかかる撮像装置の制御方法における制御信号のタイミングチャートである。
【図６】実施の形態１にかかる撮像装置の制御方法における制御信号のタイミングチャートである。
【図７】実施の形態１にかかる撮像装置の制御方法における制御信号のタイミングチャートである。
【図８】実施の形態１にかかる撮像装置の制御方法における制御信号のタイミングチャートである。
【図９】実施の形態１にかかる撮像装置の制御方法における制御信号のタイミングチャートである。
【図１０】撮像装置に含まれるハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
（実施の形態）
以下、図１を参照して本発明の実施の形態について説明する。図１は、実施の形態にかかる撮像装置のブロック図である。
【００１２】
図１に示すように、撮像装置１００は、搬送速度判定部１０１と、撮像制御部１０２とを備える。
【００１３】
搬送速度判定部１０１は、撮像対象を搬送する搬送装置から外部同期信号を取得する。搬送速度判定部１０１は、この外部同期信号に基づいて、搬送装置の撮像対象を搬送する搬送速度が速度判定値を下回ったか否かを判定する。なお、撮像対象が停止することによって停止状態に至った場合、搬送速度判定部１０１は、この搬送速度が速度判定値を下回ったと判定する。
【００１４】
撮像制御部１０２は、撮像部を外部同期信号に基づいて制御する。撮像制御部１０２は、搬送速度が速度判定値を下回った場合、撮像部を内部同期信号に基づいて制御する。
【００１５】
以上より、撮像対象の搬送速度が低下し、撮像部が内部同期信号に基づいて制御される。そのため、撮像部が電荷を出し続けて、余剰な電荷が貯まらない。よって、撮像画像の白飛びを抑制することができる。
【００１６】
ところで、本発明の実施の形態に関連する技術として、特許文献１に開示の画像処理装置がある。このような画像処理装置は、上記した実施の形態と異なり、前記速度判定値を下回った場合、外部同期信号の入力が一時的に途絶する。そのため、撮像部の制御（撮像デバイスの撮像動作）が停止してしまい、その時、前記撮像装置の電源を切らない限り、前記撮像部（撮像デバイス）内の光電変換素子は、光電変換を継続している。そのため、照明光源を消灯しても、微弱な外光等の前記装置が制御していない外からの光の影響で、前記撮像デバイス内に変換された電荷が蓄積され続ける。これによって、前記撮像部（撮像デバイス）が蓄積可能な限界まで電荷（すなわち、飽和レベルまでの電荷）まで達する。結果的に撮像画像が白飛びする。
一方、上記した実施の形態にかかる撮像装置１００は、前記速度判定値を下回った場合、前記内部同期信号に切り替える。これによって、前記撮像デバイス内に前記電荷が蓄積されないように転送し続け（撮像デバイスから出力し続け）、かつその出力結果は、無効データとして破棄するため（撮像画像として扱わないため）、撮像画像の白飛びを抑制することができる。
【００１７】
（実施の形態１）
以下、図２を参照して本発明の実施の形態について説明する。図２は、実施の形態１にかかる撮像装置の制御ブロック図である。
【００１８】
図２に示すように、撮像装置２００は、制御部１と、光源２と、撮像部３とを備える。
【００１９】
撮像装置２００は、撮像対象（図示略、ワークとも称する）を示す撮像画像（図示略）を生成する。撮像対象は、外部装置３０により、ある任意の速度で撮像装置２００を通過する。外部装置３０は、例えば、撮像対象を搬送する搬送装置である。当該搬送装置は、例えば、ローラコンベア、又はベルトコンベアである。撮像対象は、多種多様な形状であってもよく、例えば、略板状、略球状、略塊状、略棒状、又は略線状でもよく、これらの形状が混在していてもよい。撮像対象は、例えば、ベルトコンベアで搬送される容器や果物等であってもよい。
【００２０】
光源２は、撮像部３が撮像対象を撮像するために必要な光量を、照明光を撮像対象に照射するものであればよい。光源２は、例えば、ＬＥＤ（発光ダイオード）アレイである。ＬＥＤアレイは、一直線に並んだ複数のＬＥＤである。光源２は、例えば、光色の異なる複数のＬＥＤアレイであってもよい。
【００２１】
撮像部３は、撮像対象を撮像して画像データを生成する撮像素子を含むものであればよく、例えば、ＣＣＤ（Charge Coupled Device）センサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサである。撮像部３は、撮像対象におけるライン状領域を撮像して、ライン状画像を生成するものであってもよい。このような撮像部３を備える撮像装置２００の一例は、ラインスキャナ、又はラインスキャンカメラである。撮像装置２００は、エリアスキャナ、又はエリアスキャンカメラでもあってもよい。撮像部３は、例えば、受光素子列を備えてもよい。当該受光素子列は、一方向に並んだ複数の受光素子を含む。
【００２２】
制御部１は、ハードウェア構成として、コンピュータを利用することができる。制御部１は、具体的には、制御装置、中央処理演算装置、各種プログラムを記憶した記憶媒体、ユーザが入出力可能なインタフェース等を備えるとよい。制御装置が記憶媒体に記憶された各種プログラムを読み込み、中央処理演算装置が各種プログラムに従って実行することによって、制御部１のコンピュータを外部同期信号取得部１１等として機能することができる。
【００２３】
制御部１は、外部同期信号取得部１１と、撮像系・照明系制御部１２と、スキャナ制御部１３と、画像インタフェース１４と、画像処理部１５と、ＡＦＥ（Analog Front End）１６とを備える。制御部１は、画像メモリをさらに備えてもよい。
【００２４】
外部同期信号取得部１１は、外部装置３０から外部同期信号７（Sync０）を取得する。外部装置３０は、例えば、撮像対象を搬送する搬送装置である。外部同期信号７は、撮像対象を搬送するタイミングやその搬送量を示す信号であればよい。外部同期信号７は、例えば、撮像対象を搬送する搬送装置から出力されるエンコーダ信号である。外部同期信号７は、具体的には、搬送速度に合わせて出力されればよい。外部同期信号７は、より具体的には、撮像対象の搬送量が１ライン増加する毎に出力されていてもよい。外部同期信号７は、例えば、当該搬送装置がモータを用いて撮像対象を搬送する場合、外部同期信号７は、当該モータの回転子の回転変位に相当する。
【００２５】
撮像系・照明系制御部１２は、外部同期信号７や、スキャナ制御部１３から制御信号を取得する。撮像系・照明系制御部１２は、取得した外部同期信号７や当該制御信号に基づいて、光源２及び撮像部３の動作を制御する。
【００２６】
スキャナ制御部１３は、外部同期信号７、スキャン開始信号８１、スキャン終了信号８２等を取得する。スキャナ制御部１３は、撮像系・照明系制御部１２、ＡＦＥ１６、画像処理部１５、画像インタフェース１４を制御する。
【００２７】
ＡＦＥ（Analog Front End）１４は、例えば、撮像部３が生成したアナログ画像信号をデジタル画像信号に変換する。画像処理部１５は、ＡＦＥ１４から画像信号を適宜画像処理し、画像データを生成する。撮像部３が撮像対象を撮像することによってライン状画像を生成する場合、画像処理部１５は、そのライン状画像の複数を組み合わせて、読取画像データを生成してもよい。当該読取画像データは、読取画像を示し、当該読取画像は、撮像対象の少なくとも一部を示す。画像インタフェース１４は、画像処理部１５が生成した画像データを適宜、上位システム４０に出力する。例えば、制御部１が画像メモリを備える場合、画像処理部１５が生成した画像データは、当該画像メモリに記録してもよい。
【００２８】
（一動作例）
次に、撮像装置２００の一動作例について説明する。
【００２９】
撮像対象が撮像装置２００を通過する時点よりも前の時点において、スキャナ制御部１３がスキャン開始信号８１を予め取得する。すると、撮像装置２００は画像読取待機状態に移行する。
【００３０】
続いて、撮像対象が撮像装置２００を通過する時点において、外部同期信号取得部１１は、外部装置３０から外部同期信号７を取得する。外部同期信号７は、撮像対象の搬送速度との同期をとるための信号として外部同期信号取得部１１に出力される。外部同期信号７は、例えば、撮像対象の搬送速度に同期し、１ライン分の移動量に対して１パルス出力される。
【００３１】
撮像装置２００が画像読取待機状態に移行したまま、撮像系・照明系制御部１２が、外部同期信号７（Sync０）の入力間隔に応じて、光源２の点灯及び消灯、撮像部３の撮像動作を制御する信号を出力する。このような信号の一例は、外部同期信号７の入力毎、例えば、１ライン毎に撮像部３の撮像素子を駆動させる駆動信号や、光源２を点灯させる、又は消灯させる光源制御信号である。光源２を点灯しつつ、撮像部３の駆動を開始すると、撮像部３がアナログ画像信号をＡＦＥ６へ出力する。
【００３２】
ＡＦＥ６は、撮像部３が出力したアナログ画像信号をサンプリングした後、ＡＤ変換（アナログデジタル変換）してデジタル画像データを生成する。このサンプリングとこのＡＤ変換は、リアルタイム処理で行われるとよい。ＡＦＥ６は、この生成したデジタル画像データを画像処理部１５へ転送する。
【００３３】
画像処理部１５は、デジタル画像データに対して、必要な画像処理を行う。画像処理部１５は、この画像処理したデジタル画像データを画像インタフェース１４に転送する。ここで、画像処理は、例えば、フィルタリング処理等である。
【００３４】
画像インタフェース１４は、上位システム４０に対して、インタフェースの形式に加工して出力する。上位システム４０は、例えば、パーソナルコンピュータ等である。インタフェースの形式は、例えば、ＵＳＢ（ユニバーサル・シリアル・バス）、カメラリンク、ＣＸＰ（CoaXPress（登録商標））等である。
【００３５】
なお、スキャナ制御部１３が、外部装置３０からスキャン終了信号８２を取得することによって、上記した撮像装置２００の撮像動作を終了する。スキャン終了信号８２は、スキャン終了通知を示す。
【００３６】
以上より、撮像装置２００は、撮像対象を撮像することができる。
【００３７】
（一動作例における要部とその動作の詳細）
次に、図３を参照して、図２に示す撮像装置２００の一動作例において、撮像装置２００の要部とその動作の詳細について説明する。図３は、図１に示す外部同期信号取得部１１、撮像系・照明系制御部１２、及びスキャナ制御部１３の動作の詳細を説明するための図である。この一例では、撮像部３は、ＣＣＤセンサを含む。
【００３８】
外部同期信号７（Sync０）は、撮像対象の搬送量に合わせて入力バッファ・信号生成部２１に出力される。外部同期信号７（Sync０）は、周期的、具体的には、撮像対象の搬送量が１ライン増加する毎に入力バッファ・信号生成部２１に出力される。外部同期信号７は、例えば、パルス信号であってもよく、当該パルス信号は、撮像対象が１ライン分移動したら１パルス発生してもよい。また、当該パルス信号は、Hi信号である。
【００３９】
入力バッファ・信号生成部２１は、外部同期信号７を取得すると、トリガ信号７１（Sync１）を生成する。さらに、入力バッファ・信号生成部２１は、トリガ信号７１をクロックジェネレータ（ライン同期用）２６に出力する。トリガ信号７１は、撮像装置２００の撮像部３の撮像素子の駆動、及び光源２の制御に利用される。
【００４０】
クロックジェネレータ（ライン同期用）２６は、入力バッファ・信号生成部２１からトリガ信号７１（Sync１）を取得する。クロックジェネレータ（ライン同期用）２６は、この取得したトリガ信号７１（Sync１）をトリガとして、φＴＧ信号を生成する。この生成したφＴＧ信号は、ＯＲ回路２７を介して、ＣＣＤ駆動信号生成部２９、及び光源制御信号生成部２５に出力される。
【００４１】
ＣＣＤ駆動信号生成部２９は、φＴＧ信号を取得すると、ＣＣＤ駆動信号を生成する。ＣＣＤ駆動信号生成部２９は、ＣＣＤ駆動信号を撮像部３に出力する。
【００４２】
ここで、撮像部３の駆動信号として必要な信号は、φＴＧ（ゲートトリガ信号）、φ１（第１の画像転送信号１）、φ２（第２の画像転送信号）、RS（リセット信号）、ＣＬ信号（クランプ信号）である。これらの各信号のうち、１ライン分の処理（制御）に必要な信号を生成し、この生成した信号を撮像部３に出力する。
【００４３】
なお、撮像部３が、ＣＭＯＳセンサを含む場合、ＣＭＯＳ駆動信号生成部がＣＣＤ駆動信号生成部２９の代わりに、撮像部３を駆動するために必要な駆動信号を生成し、撮像部３に出力してもよい。
【００４４】
光源制御信号生成部２５は、φＴＧ信号を取得する。すると、光源制御信号生成部２５は、このφＴＧ信号をトリガ信号として、光源点灯信号７２を光源２（図２参照）に出力する。光源点灯信号７２は、予め決められた時間だけ光源を点灯させる点灯信号である。
【００４５】
入力バッファ・信号生成部２１が外部同期信号７（Sync０）を取得する。すると、入力バッファ・信号生成部２１が、前述の制御と並行して、外部同期信号７（Sync０）の取得タイミングに同期して、外部同期信号７（Sync０）をカウンタ（タイマ）２２に出力する。外部同期信号７（Sync０）は、カウンタ制御用のパルス信号として取り扱われる。入力バッファ・信号生成部２１は、当該パルス信号に基づいて、パルスの立ち下がりタイミングにおいて（セット信号として）カウンタ２２を起動させる制御を行う。また、入力バッファ・信号生成部２１は、当該パルス信号に基づいて、立ち上がりタイミングにおいて（リセット信号として）カウンタ２２をリセットする制御を行う。
【００４６】
カウンタ２２は、外部同期信号７（Sync０）と同期して、パルスの立ち上がりタイミングにおいて計数（カウントアップ）を開始する。カウンタ２２は、パルスの立ち下がりタイミングにおいてその時の計数値を、比較器２３に入力すると同時に、計数値をリセット（初期状態に戻す動作）する。カウンタ２２は、次の外部同期信号７（Sync０）を取得するまで、計数する状態を止めて待機する。なお、カウンタ２２の基本クロックは、外部同期信号７の基本クロックと比較して、短く、例えば、画像転送クロックに相当する。
【００４７】
比較器２３は、カウンタ２２の計数値を取得すると、タイマ上限値メモリ２４に予め格納されている設定値と比較する。タイマ上限値メモリ２４に予め格納されている設定値は、撮像装置２００の電源起動時の初期動作にて、予め、設定されるとよい。カウンタ２２の計数値が、タイマ上限値メモリ２４より大きい場合、比較器２３は起動信号をクロックジェネレータ（自走用）２８に出力することによって、クロックジェネレータ（自走用）２８を起動させる。比較器２３は、外部同期信号７（Sync０）の周期の長短に応じて、クロックジェネレータ（ライン同期用）２６、又はクロックジェネレータ（自走用）２８を選択して動作させる。これによって、比較器２３は、ＣＣＤ駆動信号、及び光源制御信号のクロックを生成させる。
【００４８】
クロックジェネレータ（自走用）２８は、比較器２３から起動信号を取得することによって有効状態になる。このとき、クロックジェネレータ（自走用）２８は、リセット信号を取得すると、φＴＧ１を繰り返し出力し、撮像部３（図２参照）を最短周期で動作させる。この最短周期は、撮像部３の仕様によって決まられる。この最短周期が短いと、多様なクロックジェネレータ（自走用）２８を利用できてよい。同時に、クロックジェネレータ（自走用）２８は、クロックジェネレータ（ライン同期用）２６と、光源制御信号生成部２５とにDisable信号（Lo信号）を出力する。このとき、クロックジェネレータ（ライン同期用）２６はφSync１＆Enable信号の出力を停止し、Lo状態の信号を出力する。
【００４９】
前記Lo状態の信号により、外部同期信号７が停止する、又は規定時間より長時間入力されない場合、クロックジェネレータ（自走用）２８がφＴＧ１信号の出力を開始し、クロックジェネレータ（ライン同期用）２６が、φSync１信号、及びEnable信号の出力を停止する。当該規定時間は、例えば、予め規定された所定の長さの時間である。そのため、それらのＯＲ信号は、ＯＲ回路２７によって生成される。また、φＴＧ１信号がＯＲ回路２７から出力されることによって、φＴＧがＣＣＤ駆動信号生成部２９、及び光源制御信号生成部２５へ出力される。
【００５０】
なお、この状態の制御において、光源制御信号生成部２５は、クロックジェネレータ（自走用）２８からのDisable信号（Lo信号）を取得したため、光源制御信号生成部２５は、光源２がＯＦＦ（消灯）状態となるように、光源点灯信号７２を出力する、又は光源点灯信号７２の出力を停止する。
【００５１】
以上より、撮像対象の搬送が停止したり、その搬送速度が低下したりする等して、次の外部同期信号７（Sync０）を取得しなかった場合、撮像部３を内部同期（自走）制御にて、前記制御対象のＣＣＤセンサの性能の最短周期（最速動作）の撮像タイミングで動作させ、かつ光源２を消灯（ＯＦＦ）状態で動作させる。そのため、撮像部３のＣＣＤセンサは消灯状態、言い換えると光電変換の電荷が少ない状態で、かつ高速で動作させる。よって、撮像部３のＣＣＤセンサ内の電荷は、逐次吐き出している。従って、撮像部３のＣＣＤセンサ内に余剰の電荷が貯まらない状態、言い換えると電荷が飽和しない状態を実現できる。
【００５２】
この効果により、撮像対象が再び搬送を開始し、外部同期信号７（Sync０）の出力を開始されたとき、撮像部３のＣＣＤセンサ内に、余剰な電荷（飽和電荷）が存在しない。撮像部３のＣＣＤセンサ内に、余剰な電荷が存在しないまま、撮像を開始する、画像読取を開始する、そのため、安定した正常画像、言い換えると白飛びした異常画像の発生を回避できる。
【００５３】
（制御方法）
次に、図４Ａ及び図４Ｂを参照して、実施の形態１にかかる撮像装置の制御方法について説明する。図４Ａ及び図４Ｂは、図２及び図３に示すブロック図にかかる撮像装置の制御方法を示すフローチャートである。
【００５４】
図４Ａに示すSTART処理に先立って、図２に示す撮像装置２００の電源を投入して、撮像装置２００を起動させる。すると、撮像装置２００は初期化動作を行う。撮像装置２００の初期化後、撮像装置２００は、待機状態である。撮像装置２００が待機状態において、スキャン開始信号８１が入力されると、画像読取待機状態に移行し、図４Ａに示すSTART処理に進む。
【００５５】
まず、画像読取開始の待機状態での画像読取の前処理を行う（ステップＳＴ１０１）。具体的には、タイマ上限値メモリ２４（図３参照）に、外部同期信号７の周期の最大値：Ｔ0を設定する。また、クロックジェネレータ（自走用）２８（図３参照）のEnable信号を、Ｈｉレベルに設定する。さらに、クロックジェネレータ（ライン同期用）２６（図３参照）が、有効になる設定をする。なお、撮像装置２００は、画像読取待機状態が継続する。
【００５６】
続いて、画像読取待機状態において、外部同期信号７（Sync０）を取得する（ステップＳＴ１０２）。
【００５７】
続いて、トリガ信号７１（Sync１）を生成し、カウンタ２２（図３参照）によって計数を開始する（ステップＳＴ１０３）。
【００５８】
続いて、カウンタ２２によって計数した計数値は、逐次、比較器２３（図３参照）にて、予め決められた値Ｔ０と比較する（ステップＳＴ１０４）。
【００５９】
この計数値がＴ０より小さい場合（ステップＳＴ１０４：ＮＯ）、ステップＳＴ１０３に戻る。一方、この計数値がＴ０より大きい場合（ステップＳＴ１０４：ＹＥＳ）、クロックジェネレータ（自走用）２８を起動させ、クロックジェネレータ（自走用）２８による駆動信号を用いて、撮像部３を駆動させる（ステップＳＴ１０５）。具体的には、撮像部３の駆動信号を、外部同期信号７による駆動信号から、クロックジェネレータ（自走用）２８による駆動信号に切り替える指示を行う。クロックジェネレータ（自走用）２８による駆動信号は、内部同期信号と称してもよい。
【００６０】
続いて、クロックジェネレータ（自走用）２８によってφＴＧ１信号を出力し、内部同期信号に切り替えたことを識別するためのEnable信号の出力を停止する一方で、Lo信号を出力する（ステップＳＴ１０６）。内部同期信号に切り替えたことを識別できればよく、Lo信号の代わりに、Hi信号を出力しても構わない。クロックジェネレータ（ライン同期用）２６によって、φSync１＆Enable信号の出力を停止し、Lo状態の信号を出力する。
【００６１】
続いて、撮像装置２００が外部同期信号７（Sync０）の次のパルスを取得するかを継続監視する（ステップＳＴ１０７：ＮＯ、ステップＳＴ１０６）。当該取得入力を確認すると、カウンタ２２（図３参照）の計数値をリセットする（ステップＳＴ１０７）。
【００６２】
続いて、リセットを確認した場合（ステップＳＴ１０７：ＹＥＳ）、クロックジェネレータ（自走用）２８を停止し、Enable信号をＨｉに変更し、外部同期信号７（Sync０）にて、撮像部３のＣＣＤセンサを駆動する制御に切り替え画像読取を行う（ステップＳＴ１０８）。
【００６３】
次に、外部同期信号７による画像読取にて、撮像部３の画像出力の画像データを有効にし、読取を継続する（ステップＳＴ１０９）。
【００６４】
最後に、スキャン終了信号８２を受信すると、撮像装置２００の撮像を終了する（ステップＳＴ１１０）。
【００６５】
（タイミングチャート１）
次に、図５Ａ〜図５Ｄ、図６、図７を参照して、実施の形態１にかかる撮像装置の制御方法の主要な信号のタイミングについて説明する。図５Ａ〜図５Ｄ、図６〜図８は、図３に示すブロック図と、図４Ａ及び図４Ｂに示すフローチャートにかかる撮像装置の制御方法における制御信号のタイミングチャートである。
【００６６】
図５Ａ〜図５Ｄ、図６、及び図７に示すタイミングチャートは、実施の形態１にかかる撮像装置の制御方法の一例における一連の制御の流れを示す。なお、図５Ａ〜図５Ｄに示す取得タイミングＡ，Ｂ，Ｃ，Ｄはそれぞれ共通する。
【００６７】
図５Ａ〜図５Ｄは、外部同期信号７が停止することなく継続的に取得された場合、撮像部３のＣＣＤセンサと光源２との制御タイミングを示す。外部同期信号７の取得タイミングが変化しても、制御部１は、撮像部３のＣＣＤセンサと光源２とが外部同期信号７の取得タイミングに追従できるよう、当該ＣＣＤセンサと光源２とを制御する。
【００６８】
図５Ａ〜図５Ｄに示すように、外部同期信号７の周期が、予め決められた周期（長周期）より短い場合、外部同期信号７の入力毎にカウンタ２２のセット、リセットを繰り返す。撮像部３のＣＣＤセンサは外部同期信号７に同期して駆動を続ける。撮像部３のＣＣＤセンサは、画像データを生成し、この生成した画像データは、有効画像データとして処理される。具体的には、撮像部３のＣＣＤセンサが生成した画像データは、適宜、ＡＦＥ６、画像処理部１５、画像インタフェース１４等によって処理され、又は加工されるとよい。この処理された、又は加工された画像データは、例えば、画像メモリ（図示略）に記録され、又は上位システム４０に出力されるとよい。
【００６９】
図５Ｄに示すように、外部同期信号７の取得タイミングＣ、Ｄの後、撮像部３のＣＣＤ駆動信号（画像転送）、及び光源点灯信号７２は、１ライン分生成した後、次の外部同期信号７の取得タイミングまで停止している。この間、カウンタ２２（タイマ）はリセットされることなく、計数を継続している。
【００７０】
図６に示すように、外部同期信号７の取得タイミングＤからタイムアウトタイミングＥまでの期間、言い換えると、周期ＤＥが、予め決められた周期より長い場合がある。このような場合、外部同期信号７の取得の無いままカウンタ２２の計数が継続すると、カウンタ２２の計数値がタイマ上限値メモリ２４を超える。そのため、カウンタ２２がタイムアウト（オーバーフロー）する。すると、撮像部３のＣＣＤセンサは、外部同期信号７ではなく、クロックジェネレータ(自走用)２８による駆動信号（内部同期信号）によって、駆動する。なお、クロックジェネレータ(自走用)２８による駆動信号の周期は、前記ＣＣＤセンサの性能の最速となる周期（前記ＣＣＤ駆動において、最短周期）で駆動することになる。
【００７１】
一方、光源点灯信号７２が停止し続け、光源２（図２参照）は消灯（ＯＦＦ）状態を継続する。光源２が消灯状態のまま、撮像部３のＣＣＤセンサは、クロックジェネレータ(自走用)２８による駆動信号（内部同期信号）に基づいて撮像する。撮像部３のＣＣＤセンサから出力される画像データは無効画像データとして処理される。具体的には、撮像部３のＣＣＤセンサが生成した画像データにかかる電圧信号をサンプリングすることなく破棄する、又は無視する。このような破棄や無視を空読取、ダミーリード、又はダミースキャンとも称してもよい。言い換えると、この画像データは、適宜、ＡＦＥ６、画像処理部１５、画像インタフェース１４等によって処理されない、又は加工されない。この画像データは、例えば、画像メモリ（図示略）に記録されないし、上位システム４０に出力されない。この画像データは、例えば、画像メモリ（図示略）に記録された後、すぐに消去してもよい。
【００７２】
図７は、前述のカウンタ２２のタイムアウト（図６参照）後においてクロックジェネレータ(自走用)２８による駆動信号（内部同期信号）に基づいて制御している状態から、外部同期信号７の取得が再開された後まで、各信号のタイミングを示す。
【００７３】
ここで、出力タイミングＧ０、再開タイミングＦ１、出力タイミングＧ１、及び出力タイミングＧ２が時系列順に並ぶ。
【００７４】
ＣＣＤ駆動信号の出力タイミングＧ０は、クロックジェネレータ(自走用)２８によるものである。撮像対象の搬送を再開した場合、外部同期信号７の取得が再開される（再開タイミングＦ１）。すると、カウンタ２２が、再度セット（タイマセット）される。ここで、外部同期信号７の取得が再開されとき、内部同期信号が、１周期分完了しているか、していないかに関わらず、外部同期信号７の取得により、カウンタ２２は、再度セット（タイマセット）する。内部同期信号での前記ＣＣＤ駆動は、１ライン分の動作を完了していない場合は、動作を強制的に中止し、外部同期信号７による制御（図５Ａ、図５Ｂ、図５Ｃ参照）に切り替える。
【００７５】
撮像部３の制御は、クロックジェネレータ(自走用)２８からクロックジェネレータ(ライン同期用)２６に切り替える。ＣＣＤ駆動信号の出力タイミングＧ１、Ｇ２は、クロックジェネレータ(ライン同期用)２６によるものである。その後の各信号の挙動は、図１に示すタイミングチャートと同様の内容であるタイミングチャートによって示される。外部同期信号７の取得が再開した後、撮像部３のＣＣＤセンサから出力された画像データは、有効画像として処理される。
【００７６】
以上より、外部同期信号７の出力が長期間停止し、外部同期信号７による画像読取が再開しても、白飛びライン、及び白飛びエリアのない画像を安定して取得することができる。
【００７７】
（タイミングチャート１の一変形例）
また、図８に示すように、図７に示す各信号のタイミングの一変形例がある。図８は、図７に示すタイミングチャートと異なるタイミングチャートである。図８は、外部同期信号７と、クロックジェネレータ(自走用)２８によるφＴＧ信号の出力タイミングについて、図７に示すタイミングチャートと異なる制御タイミングを示す。図５Ａ〜５Ｂ、図６、図８に示すタイミングチャートは、連続している。
【００７８】
ここで、タイムアウトタイミングＥ、出力タイミングＥ１、再開タイミングＦ１、出力タイミングＧ０、Ｇ１、及び出力タイミングＧ２が時系列順に並ぶ。
【００７９】
撮像部３の制御は、タイムアウトタイミングＥ以降、クロックジェネレータ(ライン同期用)２６からクロックジェネレータ(自走用)２８に切り替える。タイムアウトタイミングＥ、ＣＣＤ駆動信号の出力タイミングＥ１、Ｇ０は、クロックジェネレータ(自走用)２８によるものである。ＣＣＤ駆動信号の出力タイミングＧ１、Ｇ２は、クロックジェネレータ(ライン同期用)２６によるものである。
【００８０】
撮像部３のＣＣＤセンサは、タイムアウトタイミングＥから出力タイミングＧ０まで、内部同期信号に基づいて制御される。撮像部３のＣＣＤセンサは、出力タイミングＧ１以降、外部同期信号に基づいて制御される。
【００８１】
一方、タイムアウトタイミングＥからＣＣＤ駆動信号の出力タイミングＥ１まで、撮像部３のＣＣＤセンサから出力された画像データは、有効画像として処理される（有効画像区間Ｔ１）。ＣＣＤ駆動信号の出力タイミングＥ１から出力タイミングＧ１まで、撮像部３のＣＣＤセンサから出力された画像データは、無効画像として処理される（無効画像区間Ｔ２）。ＣＣＤ駆動信号の出力タイミングＧ２以降、撮像部３のＣＣＤセンサから出力された画像データは、有効画像として処理される（有効画像区間Ｔ３）。
【００８２】
言い換えると、撮像部３のＣＣＤセンサから出力された画像データのうち、内部同期信号に切り替えた直後の搬送量１ライン分の画像データは、有効画像として処理される（有効画像区間Ｔ１）。また、撮像部３のＣＣＤセンサから出力された画像データのうち、内部同期信号に切り替えた直後の搬送量２ライン目以降の画像データは、無効画像として処理される（無効画像区間Ｔ２）。また、撮像部３のＣＣＤセンサから出力された画像データのうち外部同期信号に復帰した直後の１ライン分の画像データは、無効画像として処理される（無効画像区間Ｔ２）。また、撮像部３のＣＣＤセンサから出力された画像データのうち外部同期信号に復帰した後の２ライン目以降の画像データは、有効画像として処理される（有効画像区間Ｔ３）。すなわち、図８に示すタイミングチャートにかかる制御方法は、無効画像及び有効画像として処理が、図７に示すタイミングチャートにかかる制御方法と比較して、搬送量１ライン分ディレイ（遅延）する。
【００８３】
なお、撮像部３のＣＣＤセンサが、搬送量１ライン分に相当する撮像データを保持する機能を有すると、撮像装置１００、２００が上記した制御方法（図５Ａ〜５Ｂ、図６、図８参照）を行うことができてよい。
【００８４】
（タイミングチャート２）
一方、図９に示すように、図７に示す各信号のタイミングの一例がある。図９は、図７に示すタイミングチャートと異なるタイミングチャートである。図９は、外部同期信号７と、クロックジェネレータ(自走用)２８によるφＴＧ信号の出力タイミングについて、図７に示すタイミングチャートと異なる制御タイミングを示す。図５Ａ〜５Ｂ、図６、図９に示すタイミングチャートは、連続している。
【００８５】
ここで、出力タイミングＧ１０、再開タイミングＦ２、出力タイミングＧ１１、及び出力タイミングＧ１２が時系列順に並ぶ。
【００８６】
ＣＣＤ駆動信号の出力タイミングＧ１０は、クロックジェネレータ(自走用)２８によるものである。撮像対象の搬送を再開した場合、外部同期信号７の取得が再開される（再開タイミングＦ２）。すると、カウンタ２２が再度セット（タイマセット）される。ここで、再開タイミングＦ２は、ＣＣＤ駆動信号の出力タイミングＧ１０から期間Ｔｃ１後である。期間Ｔｃ１は、内部同期信号の画像転送周期Ｔｃ０より短い。つまり、出力タイミングＧ１０から、外部同期信号７の取得が再開される再開タイミングＦ２になるまで経過する期間Ｔｃ１は、内部同期信号の画像転送周期Ｔｃ０より短い。このとき、前記内部同期信号による画像転送周期Ｔｃ０でのＣＣＤの駆動が完了していないが、再開タイミングＦ２では、このときの内部同期信号でのＣＣＤ駆動を停止させ、又は中断させ、出力タイミングＧ１１では、外部同期信号による動作に切り替える制御をおこなう。
【００８７】
撮像部３の制御は、クロックジェネレータ(自走用)２８からクロックジェネレータ(ライン同期用)２６に切り替える。ＣＣＤ駆動信号の出力タイミングＧ１１、Ｇ１２は、クロックジェネレータ(ライン同期用)２６によるものである。ＣＣＤ駆動信号の出力タイミングＧ１１は、ＣＣＤ駆動信号の出力タイミングＧ１０から、期間Ｔｃ１経過した出力タイミングＧ１１の時点の直後である。ＣＣＤ駆動信号の出力タイミングＧ１０後、内部同期信号の画像転送周期Ｔｃ０時間経過しなくても、再開タイミングＦ２により、内部同期信号による動作を停止し、外部同期信号７による制御に切り替える。つまり、撮像部３のＣＣＤセンサから出力された画像データは、出力タイミングＧ１０からＧ１１までは、ＣＣＤ駆動は１ラインの途中で中断することになるが、無効画像として処理される。一方、出力タイミングＧ１１以降においては、外部同期信号７による制御（図５Ａ〜図５Ｄ、図６参照）に移行し有効画像として処理される。光源点灯信号７２が、ＣＣＤ駆動信号と同様に、出力タイミングＧ１１以降、一定の期間出力する（すなわち、一定の期間とは、１ライン分の画像データを出力する時間になる）。
【００８８】
出力タイミングＧ１２以降、各信号の挙動は、図１に示すタイミングチャートと同様の内容であるタイミングチャートによって示される。よって、出力タイミングＧ１２以降、撮像部３のＣＣＤセンサから出力された画像データは、有効画像として処理される。
【００８９】
以上より、外部同期信号７の出力が長期間停止し、外部同期信号７による画像読取が再開しても、撮像部３のＣＣＤセンサを空読取にて継続動作させるため、白飛びライン、及び白飛びエリアのない画像を安定して取得することができる。また、搬送停止時に、光源２以外の外光が入射されても、空読取にて撮像部３のＣＣＤセンサから電荷を吐き出し続けるため、そのＣＣＤセンサに、残像として、画像成分が残ることを回避できる。よって、搬送装置が不連続にスタート、及びストップを繰り返しても、安定した画像を取得できる。
【００９０】
（他の実施の形態等）
また、上記実施の形態に係る撮像装置１００、２００は、次のようなハードウェア構成を備えることができる。図１０は、撮像装置１００、２００に含まれるハードウェア構成の一例を示す図である。上述した様々な実施の形態において、撮像装置１００、２００における処理の手順を説明したように、本発明は処理方法としての形態も採り得る。
【００９１】
図１０に示す撮像装置３００は、インタフェース３０３とともに、プロセッサ３０１及びメモリ３０２を備える。上述した実施の形態で説明した制御部１は、プロセッサ３０１がメモリ３０２に記憶された制御プログラムを読み込んで実行することにより実現される。つまり、このプログラムは、プロセッサ３０１を制御部１、又はその一部として機能させるためのプログラムである。このプログラムは、図２の撮像装置２００に、制御部１、又はその一部における処理を実行させるためのプログラムであると言える。
【００９２】
上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータ（情報通知装置を含むコンピュータ）に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）を含む。さらに、この例は、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗを含む。さらに、この例は、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００９３】
さらに、上述した様々な実施の形態において、撮像装置における処理の手順を説明したように、本開示は撮像装置の制御方法としての形態も採り得る。また、上述のプログラムは、撮像装置にこのような制御方法を実行させるためのプログラムであると言える。
【００９４】
例えば、上述のプログラムは、コンピュータに、第１、第２及び第３のステップを実行させる。第１のステップでは、撮像対象を搬送する搬送装置から取得した外部同期信号に基づいて、前記搬送装置が前記撮像対象を搬送する搬送速度が速度判定値を下回ったかを判定する。第２のステップでは、前記搬送速度が前記速度判定値を下回った場合、外部同期信号の入力が無くても、内部同期信号に切り替えて、内部同期信号に基づいて撮像部を制御する。第３のステップでは、内部同期信号により取得される画像データは、無効データとして破棄する（上位システムに転送しない）制御をする。
【００９５】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、実施の形態やその一例を適宜組み合わせて実施してもよい。例えば、上記した実施の形態では、撮像対象を一定の搬送速度で搬送したが、この搬送速度は、適宜変化してもよい。上記した実施の形態では、撮像対象を一定の搬送速度で搬送したが、ロボットアーム等を用いて撮像装置を撮像対象に対して動かしてもよい。
【符号の説明】
【００９６】
１００、２００、３００  撮像装置
１  制御部                                  ２  光源
３  撮像部                                  ７  外部同期信号  
１１  外部同期信号取得部                    １２  撮像系・照明系制御部
１３  スキャナ制御部                        １４  画像インタフェース
１５  画像処理部                            １６  ＡＦＥ
２１  入力バッファ・信号生成部              ２２  カウンタ
２３  比較器                                ２４  タイマ上限値メモリ
２５  光源制御信号生成部                    ２６  クロックジェネレータ（ライン同期用）
２７  ＯＲ回路                              ２８  クロックジェネレータ（自走用）
２９  ＣＣＤ駆動信号生成部                  ３０  外部装置
４０  上位システム
７１  トリガ信号                            ７２  光源点灯信号
８１  スキャン開始信号                      ８２  スキャン終了信号
３０１  プロセッサ                          ３０２  メモリ
３０３  インタフェース
Ａ、Ｂ、Ｃ、Ｄ  取得タイミング              Ｅ  タイムアウトタイミング
Ｅ１  出力タイミング
ＤＥ  周期                                  Ｆ１、Ｆ２  再開タイミング
Ｇ０、Ｇ１、Ｇ２、Ｇ１０、Ｇ１１、Ｇ１２、  出力タイミング
ＳＴ１０１、ＳＴ１０２、ＳＴ１０３、ＳＴ１０４、ＳＴ１０５、ＳＴ１０６、ＳＴ１０７、ＳＴ１０８、ＳＴ１０９、ＳＴ１１０  ステップ
Ｔ０  値                                    Ｔｃ１  期間
【要約】
【課題】撮像画像の白飛びを抑制することのできる撮像装置、撮像装置の制御方法、及びプログラムの提供。
【解決手段】撮像装置１００は、搬送速度判定部１０１と、撮像制御部１０２とを含む。搬送速度判定部１０１は、撮像対象を搬送する搬送装置３０から取得した外部同期信号７に基づいて、搬送装置３０の撮像対象を搬送する搬送速度が速度判定値を下回ったか否かを判定する。撮像制御部１０２は、撮像部３を外部同期信号７に基づいて制御する。撮像制御部１０２は、搬送速度が速度判定値を下回った場合、撮像部３を内部同期信号に基づいて制御する。
【選択図】図１【図１】
0006908306.tif 000002
【図２】
0006908306.tif 000003
【図３】
0006908306.tif 000004
【図４Ａ】
0006908306.tif 000005
【図４Ｂ】
0006908306.tif 000006
【図５Ａ】
0006908306.tif 000007
【図５Ｂ】
0006908306.tif 000008
【図５Ｃ】
0006908306.tif 000009
【図５Ｄ】
0006908306.tif 000010
【図６】
0006908306.tif 000011
【図７】
0006908306.tif 000012
【図８】
0006908306.tif 000013
【図９】
0006908306.tif 000014
【図１０】
0006908306.tif 000015