以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
本発明によれば、画像読み取り装置が提供される。この画像読み取り装置(例えば、図1の画像読み取り装置10)は、フィルム(例えば、図2のフィルム12)を移送する移送手段(例えば、図2の給送モータ44)と、フィルムの移送状態を検出する移送状態検出手段(例えば、図4のフィルム検出部192)と、移送状態検出手段により検出された移送状態に基づいて、フィルムの移送条件を一時的に変更するように制御する制御手段(例えば、図4のフィルム給送管理部193)と、移送条件が変更されたフィルムの画像を読み取る読み取り手段(例えば、図4のコマ端読み取り部201)とを含む。
この画像読み取り装置は、移送状態検出手段(例えば、図4のフィルム検出部192)が、フィルムのパーフォレーションの数に基づいて、フィルムのコマの位置(例えば、図9のコマn)を検出するようにすることができる。
この画像読み取り装置は、制御手段(例えば、図4のフィルム給送管理部193)が、読み取り手段により読み取られるコマが、読み取られる位置の直前まで移送されたとき、移送速度を減速する(例えば、図8のステップS43)か、またはフィルムの移送を一旦停止(例えば、図12のステップS133)するように制御するようにすることができる。
この画像読み取り装置は、読み取り手段により読み取られたフィルムの画像から、フィルムの移送方向に直交する方向の基準ライン(例えば、図9の端部301)を検出するライン検出手段(例えば、図8のステップS45の処理を実行する図4のコマ端読み取り部201)をさらに備え、制御手段が、ライン検出手段により検出された基準ラインに基づいて、コマが読み取り位置(例えば、図9の位置311)にくるようにフィルムの移送をさらに制御するようにすることができる。
この画像読み取り装置は、読み取り手段が、2次元CCD(例えば、図2のCCD撮像素子63)を有するようにすることができる。
この画像読み取り装置は、移送手段は、フィルムを移送するステッピングモータ(例えば、図2の給送モータ44)を有するようにすることができる。
本発明によれば、画像読み取り方法が提供される。この画像読み取り方法は、フィルムを移送する移送ステップ(例えば、図8のステップS41)と、フィルムの移送状態を検出する移送状態検出ステップ(例えば、図8のステップS42)と、移送状態検出ステップの処理により検出された移送状態に基づいて、フィルムの移送条件を一時的に変更するように制御する制御ステップ(例えば、図8のステップS43)と、移送条件が変更されたフィルムの画像を読み取る読み取りステップ(例えば、図8のステップS44)とを含む。
以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明を適用した画像読み取りシステムの構成例を示す斜視図である。画像読み取り装置10は、ホストコンピュータ20と接続されている。フィルムスキャナとしての画像読み取り装置10は、ホストコンピュータ20の制御のもと、フィルム給送部11が給送するフィルム(例えば、3mmフィルム)12のコマに写されている画像(以下、コマ画像と称する)を読み取り、画像データをホストコンピュータ20に出力する。
図2は、画像読み取り装置10の構成例を示す側断面図である。フィルム挿入口41は、フィルム12を挿入するための開口部分である。フィルム挿入口41の図中、右側には、挿入されたフィルム12が走行するフィルム走行路(図示せず)が設けられている。フィルム走行路は、挿入されたフィルム12を、他の構成要素と接触することにより不用意に損傷を受けないようにガイドする部材であり、フィルム12との摩擦抵抗が低くなるように構成される。また、フィルム走行路には、フィルム12との接触が、パーフォレーションの部分のみとなるように、パーフォレーションに対応する部分にフィルム12を支持するレールが形成されるようにしてもよい。
フィルム挿入口41は、フィルム12との接触抵抗をできるだけ減らすことができるように、直線を基本とした軌道を取るように構成される。また、フィルム走行路には、画像読み取り用の照明ランプ42から出射された光の光軸43に対応する位置として、その光が通過することが出来るように開口部が設けられている。
給送モータ44は、例えば、ステッピングモータにより構成され、図3を用いて後述する回路基板100から入力される制御信号により、正逆回転が制御され、その駆動力が、ギア45乃至48に順次伝達される。押圧バネ49,51はローラ50,52がローラ53,54に押圧されるように付勢する。これにより、ローラ53,54が回転されるのに伴って、ローラ50と54、およびローラ52と53により挟技された状態で、フィルム12が給送される。
即ち、図2上では、給送モータ44が、その回転軸に結合されたギア45を反時計方向に回転させることにより、ギア45と歯合しているギア46が時計方向に回転し、ギア46と同軸に結合されているローラ53が時計方向に回転する。また、ギア46が、時計方向に回転することで、ギア46と歯合しているギア47は、反時計方向に回転し、ギア47と歯合しているギア48が、時計方向に回転する。さらに、ギア48が時計方向に回転することで、ギア48と同軸に結合されているローラ54は、時計方向に回転する。従って、ローラ53,54が共に時計方向に回転することで、フィルム12は、図2の右方向に給送される。
給送されたフィルム12は、円筒形状に形成されている巻き取り部55によって巻き取られる。フィルム12の取り出し時には給送モータ44が逆回転(時計方向に回転)することで、フィルム12が排出される。
例えば、接触式のセンサ56は、フィルム挿入口41の近傍に設置されている。ユーザによってフィルム12がフィルム挿入口41に挿入されると、センサ56がフィルム12を感知する。なお、パーフォレーションを検出することでフィルム12の挿入を感知するようにしてもよい。
センサ57は、フィルム走行路に沿ってフィルム12のパーフォレーションが通過する位置に設けられ、パーフォレーションを検出する。例えば、センサ57に、反射式の光学センサを用いて、フィルムのパーフォレーションを検出することにより、フィルムの有り無しのみならず、フィルムが走行しているか否かを検出することも可能となる。なお、センサ57は、パーフォレーションを検出することができれば、透過式の光センサや接触式のセンサなどでもよい。
光源である照明ランプ42から発光される照明用の光は、光軸43に沿って、フィルム給送部11内のフィルム12を透過し、反射ミラー61で反射されて、投影レンズ62により、CCD(Charge-Coupled Devices)撮像素子63に入射される。CCD撮像素子63は、光の入力に応じて蓄電容量が変化する半導体素子(フォトダイオード)を用いた、光(画像)信号を電気信号に変換するデバイスである。CCD撮像素子63は、2次元の入力面を持つ2次元CCD(CCDエリアセンサ)で構成される。
反射ミラー61、投影レンズ62、およびCCD撮像素子63は、画像読み取りユニット71内に配置されている。
AF(Auto Focus)モータ81は、回路基板100より送信される制御信号により駆動され、その回転軸に結合されているギア82を回転させる。ギア82が回転することにより、歯合しているギア83が回転し、ギア83と同軸に結合されているギア84が歯合しているカム部材87が、図中左右方向に移動する。これによりカム部材87が図中、左右方向に移動する。カム部材87が左右に移動することで、カム部材87のテーパ面(カム面)88に接しているローラ86を介して、棒状部材85が図中、上下に移動する。棒状部材85は、画像読み取りユニット71と結合しており、棒状部材85が上下方向に移動すると、それに付随して、画像読み取りユニット71も上下方向に移動する。その結果、フィルム12と投影レンズ62との距離が調節されることで、フィルム12のコマ画像のフォーカス状態を調整することが可能になる。
図3を参照して、後述する回路基板100は、CCD撮像素子63が電気信号に変換した、フィルム12のコマ画像の画像データに対応する信号の入力を受け、アナログ信号をデジタル信号に変換して、各種の補正を行った後、ホストコンピュータ20に出力し、表示させる。また、回路基板100は、センサ56,57から、パーフォレーション検出信号の入力を受け、給送モータ44の駆動信号を生成して、給送モータ44に出力する。
なお、ここでは、画像読み取り装置10とフィルム給送部11とが一体の装置として構成されている場合について説明しているが、フィルム給送部11は、画像読み取り装置10に対して着脱可能であるようにしてもよい。
図3は、回路基板100の回路構成を示すブロック図である。CPU(Central Processing Unit)151は、回路基板100の各回路を制御する。CPU151は、ROM(Read Only Memory)152に記憶されているプログラム、または、ホストコンピュータ20からの命令に従って各種の処理を実行する。RAM(Random Access Memory)153には、CPU151が各種の処理を実行する上において必要なプログラムやデータなどが適宜記憶される。
CPU151,ROM152、およびRAM153、並びに各種回路は、バス154を介して相互に接続されている。また、このバス154には、入出力インターフェース155が接続され、ホストコンピュータ20と通信が行えるようになされている。さらに、CPU151は、画像処理回路160から入力された画像データを入出力インターフェース155を介してホストコンピュータ20に出力する。
照明駆動回路156は、CPU151の制御に従って、照明ランプ42を点灯させたり、消灯させる。給送モータ駆動回路157は、CPU151の制御に従って、給送モータ44を、正逆方向に回転させる。
センサ駆動回路158は、CPU151の制御に従って、センサ56,57を駆動させて、フィルム12の先端またはパーフォレーションを検出させる。
CCD駆動回路159は、CPU151の制御に従って、CCD撮像素子63を1秒間に30フレームまたは60フレームの画像が出力されるように駆動する。CCD撮像素子63は、入射された光を変換して生成したアナログの電気信号を、画像処理回路160に出力する。画像処理回路160は、入力されたアナログの電気信号を増幅し、デジタルデータに変換し、各種の補正(例えば、シェーディング補正や暗電流補正)を行って、出力する。
AFモータ駆動回路161は、CPU151の制御に従って、AFモータ81を駆動させ、画像読み取りユニット71を移動し、フィルム12との距離を変化させることにより、光路長を調節し、コマ画像のフォーカスを調節する。
図4は、画像読み取り装置10のCPU151の機能的構成例を示すブロック図である。ユーザ操作情報管理部191は、ホストコンピュータ20を操作するユーザからの指令に基づいて、フィルム12のコマ画像の読み取り処理に関する情報、例えば、フィルム12の何番目のコマ画像を読み取るのか等の情報を取得し、フィルム検出部192、およびフィルム給送管理部193に供給する。
フィルム検出部192は、センサ駆動回路158を制御し、センサ56,57が検出したフィルム12の先端およびパーフォレーションの情報を取得する。フィルム検出部192は、取得した情報を、フィルム給送管理部193に供給する。
フィルム給送管理部193は、供給された信号に基づいて、給送モータ駆動回路157を制御し、給送モータ44の回転を制御することで、フィルム12の給送の開始、停止、および速度の調節を行う。また、フィルム給送管理部193は、所定の位置までフィルムを給送することで、画像読み取り部194のコマ端読み取り部201やコマ画像読み取り部202に対して、フィルム12のコマ画像の情報の読み取りを制御する信号を供給する。
コマ端読み取り部201は、CCD撮像素子63から供給される画像データを解析し、コマの端部の位置を検出し、検出結果を、ズレ量算出部195に供給する。
ズレ量算出部195は、供給された画像データから、CCD撮像素子63による読み取り領域とコマのズレ量(図7を参照して後述する)を算出し、その算出結果をフィルム給送管理部193に供給する。
コマ画像読み取り部202は、フィルム給送管理部193より供給された信号に基づいて、CCD駆動回路159を制御し、CCD撮像素子63を駆動させ、CCD撮像素子63から出力されたコマ画像データを、画像処理回路160に処理させた後、送信部196に供給する。送信部196は、供給されたデジタルデータ(画像データ)をホストコンピュータ20に送信し、表示させる。
次に、図5のフローチャートを参照して、フィルム12のコマ画像の読み取り処理について説明する。なお、フィルム12が、例えば、35mmファイルである場合、1コマの給送方向の長さは、38mm(8パーフォレーションの距離)のであり、図7、図9および図13を参照して後述するコマ1乃至コマnに写っている画像の給送方向の長さは35mmである。
また、フォーカス調整は事前に行っておくのが基本である。ユーザよりフォーカスの調整の指令が入力された場合、コマ端読み取り部201は、AFモータ駆動回路161を制御してAFモータ81を駆動し、画像読み取りユニット71を、図2において上下方向に移動させ、フィルム12のフォーカス調整を行う。
ステップS1において、フィルム12の先頭のコマ位置を決定する先頭コマ位置決定処理が行われる。その処理の詳細は、図6を参照して後述するが、これにより、フィルム12の先頭のコマが基準位置に配置される。
ステップS2において、ユーザ操作情報管理部191は、ホストコンピュータ20から、フィルム12のコマ画像の読み取りの命令を受信したか否かを判定し、受信していないと判定した場合、受信するまで待機する。
ユーザ操作情報管理部191は、ステップS2において、ホストコンピュータ20から、コマ画像の読み取り命令を受信したと判定した場合、ステップS3において、ユーザからの指令が、フィルム12上の全てのコマ画像の読み取りであるのか否を判定する。
ユーザ操作情報管理部191は、ステップS3において、ユーザ(ホストコンピュータ20)からの指令が、全てのコマ画像の読み取りではないと判定した場合(指定されたコマの画像の読み取りである場合)、ステップS4において、読み取るコマ画像として指定された画像が、フィルム12の先頭のコマ画像であるのか否かを判定する。
ステップS4において、読み取りを指令されたコマ画像が先頭のコマであると判定された場合、ステップS5において、コマ画像読み取り部202は、CCD駆動回路159を制御し、CCD撮像素子63を駆動させ、先頭のコマ画像を読み取らせる。即ち、照明ランプ42が点灯され、先頭のコマの画像に照明され、その画像が反射ミラー61により反射され、投影レンズ62によりCCD撮像素子63に投影される。CCD撮像素子63は、入力された画像を光電変換する。
なお、ステップS5では、図6を参照して後述するステップS1の処理で、CCD撮像素子63が読み取り可能な範囲内に先頭のコマが既に配置されているため、フィルム12をさらに給送する等の処理をせずに、先頭のコマ画像を読み取ることができる。
ステップS6において、コマ画像読み取り部202は、画像処理回路160を制御し、CCD撮像素子63によって取得された画像データを、送信部196に出力し、ホストコンピュータ20に送信させ、表示させる。このようにして、ユーザが先頭のコマを指定した場合、先頭のコマの画像が読み取られ、表示される。
ステップS4において、ユーザ操作情報管理部191は、読み取りが指令されたコマ画像が先頭のコマ画像ではない(2番目以降のコマ画像である)と判定した場合、ステップS7において、任意のコマ画像読み取り処理を実行する。その処理の詳細は、図8を参照して後述するが、これにより、ユーザにより指定された任意の位置(但し、2番目以降)のコマの画像が読み取られ、表示される。
ステップS3において、ユーザ操作情報管理部191は、読み取りが指令されたコマ画像が、全てのコマ画像であると判定した場合、ステップS8において、全てのコマ画像の読み取り処理を実行する。その処理の詳細は、図10と図11を参照して後述するが、フィルム12の全てのコマの画像が読み取られる。
以上のようにして、ユーザは、フィルム12を装着し、全てのコマを読み取らせるのか、または任意の位置のコマを読み取らせるのかを指令するだけで、それぞれ必要な処理が行われるので、迅速な読み取りが可能となる。
次に図6のフローチャートを参照して、図5のステップS1における先頭コマ位置決定処理の詳細について説明する。なお、この処理は、センサ56がフィルム12を感知したとき開始される。
フィルム検出部192(センサ56)により、フィルム12のフィルム挿入口41への挿入が検出されたとき、ステップS21において、フィルム給送管理部193は、給送モータ駆動回路157を制御し、給送モータ44を回転させることで、フィルム12を速度Vaにて給送する。なお、速度Vaは、フィルム12にダメージを与えない範囲で充分に速い速度であり、例えば、1.5秒で1コマ進む速さとされる。
すなわち、ユーザがフィルム12をフィルム挿入口41から挿入すると、その先端がローラ50と54の間に挿入される。このときローラ54は給送モータ44により時計方向に回転されているので、フィルムにはローラ50と54により、図2において右方向に移送される。
ステップS22において、フィルム給送管理部193は、フィルム12を予め設定された所定の長さ(例えば、1コマ分)だけを給送したか否かを判定する。具体的には、フィルム検出部192が、ステッピングモータである給送モータ44のステップ数をカウントしたり、センサ57により検出されるパーフォレーションの数(1コマ=約8個のパーフォレーション)を検出することで、フィルム12の給送量を制御する。
フィルム給送管理部193は、ステップS22において、まだ1コマ分給送されていないと判定した場合、処理をステップS21に戻し、それ以降の処理を繰り返す。また、フィルム給送管理部193は、ステップS22において、フィルム12が1コマ分給送されたと判定した場合、ステップS23において、フィルム12の給送を停止する。
ステップS24において、コマ端読み取り部201は、照明駆動回路156およびCCD駆動回路159を制御し、照明ランプ42を点灯し、CCD撮像素子63を駆動して、フィルム12上の画像を読み取る。
CCD撮像素子63は、コマ画像を読み取るものであるため、コマの端部(例えば、図7を参照して後述する端部251)を検出するための分解能を得るのに充分な解像度を当然に有している。
ステップS25において、コマ端読み取り部201は、図7に示されるように、先頭のコマ(コマ1)の先頭(図7において左側)の端部251を読み取られた画像から検出する。コマの端部251は、フィルム12を給送する方向とは直交する方向の任意のラインとして検出されるものである。ステップS26において、ズレ量算出部195は、コマ端読み取り部201により読み取られた端部251とフィルム12の読み取り領域271の現在位置(先頭(図中左側)の端部272)との間の距離をズレ量dとして算出する。
即ち、図7に示されるように、図6のステップS24で、読み取とられた画像は、読み取り領域271の画像である。読み取り領域271の先頭(図中左側)の端部272に対応する位置262がフィルム12の現在位置とされる。ズレ量dは、フィルム12の現在位置(位置262)と、その画像(読み取り領域271の画像)中に含まれるコマ(コマ1)の先頭(図中、左側)の端部251に対応する位置261との間の距離であり、この距離dが算出される。
なお、読み取り領域271は、CCD撮像素子63(2次元CCD)が一度に読み取ることが可能な領域であり、読み取り領域271は、少なくとも、1つのコマを一度に読み取ることが可能な大きさになるように構成されている。
以上のようにして、ズレ量が算出された後、ステップS27において、フィルム給送管理部193は、給送モータ駆動回路157を制御し、例えば、3秒で1コマ分を給送する速度Vbでフィルムを給送する。この速度Vbは、コマ1の位置を調整するための速度であり、精度を必要とするため、ステップS21で設定されたそれまでの速度Vaより遅い速度である。
ステップS28において、フィルム給送管理部193は、ズレ量d分だけ、フィルム12を給送したか否かを判定する。フィルム給送管理部193は、ズレ量d分だけ給送していないと判定した場合、処理を、ステップS27に戻し、それ以降の処理を繰り返す。フィルム給送管理部193は、ズレ量d分だけ給送したと判定した場合、ステップS29において、フィルム12の給送を停止する。
なお、給送は、上述したように具体的には、フィルム給送管理部193が、ステッピングモータである給送モータ44のステップ数をカウントしたり、フィルム検出部192が、センサ57が検出するパーフォレーションの数を検出することで制御される。また、以下に説明する処理で行われるフィルム12の給送も同様の方法で制御される。
以上の処理により、フィルム12の給送が停止した場合、図7の読み取り領域271内に、フィルム12の先頭のコマ(コマ1)全体が含まれた状態(端部251が端部272と対応する位置の状態)となる。従って、フィルム12の先頭のコマ(コマ1)の位置が基準位置(読み取り領域271に対応する位置)に配置されたことになる。その結果、この状態で読み取りが行われれば、コマ1の画像が過不足なく読み取られることになる。
また、ズレ量d分だけフィルム12を給送するにあたり、速度Vaより遅い速度Vbでフィルム12を給送させることで、精度良く、読み取り領域271の端部272をコマ1の端部251の位置261で停止させることができる。これにより、コマ1の画像が過不足なく読み取られることになる。
なお、給送されたフィルム12は、巻き取り部55により巻き取られる。
次に、図8のフローチャートを参照して図5のステップS7における任意のコマ画像読み取り処理の詳細を説明する。なお、フィルム12は、全部でN個のコマを有し、ユーザが、ホストコンピュータ20を操作し、所望のコマ画像として、例えば、コマ1乃至コマNの中のn番目のコマnの画像を読み取る指令を入力したとする。n=1の場合の処理は、図5のステップS5,S6で行われるため、図8の処理は、n≧2の場合、即ち、2番目以降のコマ画像を読み取る際に実行される。
ステップS41において、フィルム給送管理部193は、給送モータ駆動回路157を制御し、給送モータ44を回転させ、フィルム12を、例えば、1.5秒で1コマ進む速度Vaにて給送する。ステップS42において、フィルム検出部192は、センサ57より供給される情報に基づいて、給送中のフィルム12のパーフォレーションが{8(n−1)−1}個検出されたか否かを判定する。フィルム検出部192は、{8(n−1)−1}個のパーフォレーションが検出されていないと判定した場合、処理をステップS41に戻し、それ以降の処理を繰り返す。
図9に示されるように、1コマ分のフィルム12の給送方向の長さは、パーフォレーションの約8個分の長さに相当する。従って、{8(n−1)−1}は、指定されたコマnより1つ手前のコマ(n−1)の給送方向の端部302に対応するパーフォレーションP1の1つ手前のパーフォレーションP2を検出することを意味する。
ステップS42において、{8(n−1)−1}個のパーフォレーションが検出されたと判定された場合、ステップS43において、フィルム給送管理部193は、給送モータ駆動回路157を制御し、フィルム12の給送速度を、例えば、3秒で1コマ分を給送する速度Vbでフィルム12を給送する。この速度Vbは、求めるコマの端部の検出精度を得るのに充分な速度でありステップS41で設定されたそれまでの速度Vaより遅い速度である。
1.5秒で1コマ進む速度Vaで、フィルム12を給送する場合、CCD撮像素子63を1秒間に30フレーム分の画像データを出力するように制御すると、1フレームあたり約0.8mm(=3mm/1.5/30)程度フィルムが給送されることになり、それがコマ間検出分解能になる。これに対して、3秒で1コマ進む速度Vbでフィルム12を給送すると共に、CCD撮像素子63を、1秒間に60フレームの画像データが出力されるように制御することで、1フレーム当り約0.2mm(=3mm/3/60)のコマ検出精度を得ることが可能である。
ステップS44において、コマ端読み取り部201は、照明駆動回路156およびCCD駆動回路159を制御し、照明ランプ42を点灯し、CCD撮像素子63を駆動し、フィルム12の画像を読み取り、読み取った画像に基づいて、コマnの先頭の端部301の検出を開始する。
ステップS45において、コマ端読み取り部201は、nコマ目のコマnの先頭(給送方向)の端部301を検出したか否かを判定する。コマ端読み取り部201は、nコマ目のコマnの端部301がまだ検出されていないと判定した場合、検出されるまで待機する。また、コマ端読み取り部201は、ステップS45において、nコマ目のコマnの端部301が検出されたと判定した場合、ステップS46において、画像の読み取りを終了する。
また、給送速度Vbは、ステップS44およびステップS45の処理を実行するにあたり、充分な時間を得ることができる速度である。
なお、コマ端読み取り部201は、読み取られた画像に含まれるエッジ(ライン)であって、フィルム12の給送方向と垂直な方向のエッジ(ライン)をコマ端301として検出する。エッジ(ライン)が2本検出された場合、給送方向とは反対側に位置するエッジ(ライン)がコマ端301として検出される。
このように、フィルム12の全体を予め読み取ることなく(プリスキャンすることなく)、コマの検出を行いながら読み取りを行うため、効率のよい読み取りを行うことができる。また、速い速度Va(1コマを1.5秒で進む速度)から遅い速度Vb(1コマを3秒で進む速度)に減速し、低速でコマの端部を読み取るため、その位置精度を向上させることができる。さらに、コマ端検出時以外には速い速度Vaとすることで、全体として迅速な読み取りが可能となる。なお、検出が可能である場合には、コマ端検出時におけるCCD撮像素子63の駆動速度は30フレーム/秒のままとすることもできる。
ステップS47において、ズレ量算出部195は、図9に示されるように、コマ端読み取り部201に読み取られたコマnの先頭の端部301に対応する位置311と、現在位置(位置312)との間の距離をズレ量dnとして算出する。
即ち、ステップS45で、コマnの端部301を検出した時に読み取られた画像は、読み取り領域321の画像である。読み取り領域321の先頭(図中左側)の端部322に対応する位置312がフィルム12の現在位置であり、フィルム12の現在位置(位置312)と、その画像(読み取り領域321の画像)の中に含まれるコマ(コマn)の先頭(図中左側)の端部301に対応する位置311との間の距離が、この距離dnとして算出される。
なお、位置310は、ステップS43で、画像の読み取りが開始された時に、読み取られた読み取り領域321の端部322の位置を表している。位置310と位置312の間の距離は、画像の読み取り開始から、コマnの端部301を検出するまでの間、速度Vbでフィルム12を給送したために生じた距離である。
換言すれば、センサ57は、CCD撮像素子63の読み取り領域321の先頭の端部322に対応する位置に配置されている(センサ57により検出されたパーフォレーションの給送方向と反対側のエッジの位置に、読み取り領域の先頭(給送側)の端部が位置するように、センサ57がCCD撮像素子63に対して、光軸43より給送側に配置されている)。
ステップS48において、フィルム給送管理部193は、ステップS47で算出されたズレ量dn分だけフィルム12を給送したか否かを判定する。フィルム給送管理部193は、ズレ量dn分だけフィルム12がまだ給送されていないと判定した場合、ズレ量dn分の長さが給送されるまで、待機する。フィルム給送管理部193は、フィルム12がズレ量dn分だけ給送されたと判定した場合、ステップS49において、フィルム12の給送を停止する。
以上の処理により、フィルム12の給送が停止した場合、図9の読み取り領域321内に、フィルム12のコマn全体が含まれた状態(端部301が端部322と対応する位置の状態)となる。従って、フィルム12のコマnの位置が基準位置(読み取り領域321に対応する位置)に配置されたことになる。その結果、この状態で読み取りが行われれば、コマ1の画像が過不足なく読み取られることになる。
そこで、ステップS50において、コマ画像読み取り部202は、CCD駆動回路159を制御して、コマnのコマ画像を、30フレーム/秒の1フレームの画像として読み取る。コマ画像を読み取る際、フィルム12の給送を停止してから、コマ画像を読み取ることにより、給送方向に流れた画像(ボケた画像)にならず、より品質の高い画像を得ることが可能となる。
ステップS51において、コマ画像読み取り部202は、画像処理回路160を制御して、ステップS50で読み取られたコマ画像を送信部196に出力し、ホストコンピュータ20に送信させ、表示させる。
なお、CCD撮像素子63が2次元CCD(CCDエリアセンサ)ではなく、1次元CCD(CCDラインセンサ)である場合には、ステップS50の処理で、フィルム12を給送しながら、コマ画像を読み取るようにしてもよい。
また、ステップS49の処理では、速度Vbで給送中のフィルム12の画像をホストコンピュータ20に表示させ、ユーザが指示した位置でフィルム12の給送を停止させることでコマの位置を決定するようにしてもよい。
次に、図10および図11のフローチャートを参照して、図5のステップS8の処理における全てのコマ画像の読み取り処理の詳細について説明する。そのステップS81乃至ステップS94の処理は、基本的に図8のステップS41乃至ステップS51の処理と同様であるので、以下においては異なる部分についてだけ説明する。
ステップS81において、コマ画像読み取り部202は、CCD駆動回路159を制御して、フィルム12の先頭のコマ(例えば、図7のコマ1)のコマ画像を読み取る。なお、図6を参照して説明したように、ステップS1の処理で、CCD撮像素子63の読み取り可能な範囲内に先頭のコマ全体が既に含まれているため、何ら他の処理をすることなく(フィルム12を給送することなく)、先頭のコマ画像を読み取ることができる。
ステップS82において、コマ画像読み取り部202は、画像処理回路160を制御して、ステップS81で読み取られたコマ画像を送信部196に出力し、ホストコンピュータ20に送信させ、表示させる。
その後のステップS83乃至ステップS93の処理は、図8を参照して説明したステップS41乃至ステップS51の処理と基本的に同様の処理である。
即ち、速度Vaでフィルム12の給送が開始され、7パーフォレーション分が給送されたときフィルム12の給送速度が速度Vaから速度Vbに減速され、フィルム12の画像が読み取られ、コマの端部(例えば、図9のコマ2の先頭の端部)の検出処理が開始される。コマの端部の検出後、コマの端部までのズレ量が算出され、ズレ量分だけフィルム12が給送される。フィルム12はズレ量分だけ給送された後、停止され、コマ画像(例えば、コマ2の画像)が読み取られる。その後、読み取った画像がホストコンピュータ20に送信される。
ステップS94において、フィルム検出部192は、センサ56のフィルムの検出情報に基づいて、全てのコマ画像を読み取ったか否かを判定する。即ち、例えば、フィルム挿入口41の近傍に設けられているセンサ56がフィルム12の存在を検出することができなくなった場合、フィルム12が、最後まで給送され、即ち全てのコマ画像な読み取りが終了したと判定される。ステップS94において、まだ全てのコマ画像を読み取られていないと判定された場合、処理はステップS83に戻り、それ以降の処理が繰り返される。そして全てのコマの画像が読み取られたと判定された場合、フィルム12の給送は停止され、処理は終了される。給送されたフィルム12は巻き取り部55により巻き取られるが、読み取りが終了したとき自動的に、またはユーザより指令が入力されたとき、反対方向に移送され、排出される。
このように、この処理の場合、フィルム12の全てのコマの画像が自動的に読み取られるので、最も迅速に読み取り処理が完了する。
次に、図12のフローチャートを参照して、図5のステップS7の任意のコマ画像読み取り処理の他の例を説明する。
ステップS131において、フィルム給送管理部193は、給送モータ駆動回路157を制御し、給送モータ44を回転させ、フィルム12を速度Vaにて給送する。ステップS132において、フィルム検出部192は、センサ57より供給される情報に基づいて、給送中のフィルム12のパーフォレーションが{8(n−1)−1}個検出されたか否かを判定する。フィルム検出部192は、{8(n−1)−1}個のパーフォレーションが検出されていないと判定した場合、処理をステップS131に戻し、それ以降の処理を繰り返す。
ステップS132において、{8(n−1)−1}個のパーフォレーションが検出されたと判定された場合、ステップS133において、フィルム給送管理部193は、フィルム12の給送を停止する。
ステップS134において、コマ端読み取り部201は、CCD駆動回路159を制御し、フィルム12上の画像の読み取りを開始する。
ステップS135において、コマ端読み取り部201は、図13に示されるように、コマnの先頭の端部361を検出する。
このように、フィルム12の全体を予め読み取ることなく、コマの検出を行いながら読み取りを行うため、効率のよい読み取りを行うことができる。また、一旦フィルムの給送を停止してから、コマの端部を読み取るため、その検出位置精度を向上させることができる。
ステップS136において、ズレ量算出部195は、図13に示されるように、コマ端読み取り部201に読み取られたコマnの先頭の端部361に対応する位置371と、現在位置(位置372)との間の距離をズレ量dnとして算出する。
即ち、ステップS135で、コマnの端部361の検出時に読み取られた画像は、読み取り領域381の画像である。読み取り領域381の先頭(図中左側)の端部382に対応する位置372がフィルム12の現在位置であり、フィルム12の現在位置(位置372)とフィルム12の先頭のコマ(コマn)の端部361に対応する位置371との間の距離が、この距離dnとして算出される。
ステップS137において、フィルム給送管理部193は、速度Vbでフィルム12を給送する。この速度Vbは、コマnの位置を調整するための速度であり、ステップS131で設定されたそれまでの速度Vaより遅い速度である。すなわち、速度Vaより遅い速度Vbで、フィルム12をゆっくりと給送させることで、精度良く、読み取り領域381の端部382をコマnの端部361の位置371で停止させることができる。
ステップS138において、フィルム給送管理部193は、ズレ量dn分だけフィルム12を給送したか否かを判定し、ズレ量dn分だけまだ給送されていないと判定した場合、処理は、ステップS137に戻り、それ以降の処理が繰り返される。
フィルム給送管理部193は、ステップS138において、ズレ量dn分だけフィルム12を給送したと判定した場合、ステップS139において、フィルム12の給送を停止する。
以上の処理により、フィルム12の給送が停止した場合、図13の読み取り領域381内に、フィルム12のコマn全体が含まれた状態(端部361が端部382と対応する位置の状態)となる。従って、フィルム12のコマnの位置が基準位置(読み取り領域382に対応する位置)に配置されたことになる。その結果、この状態で読み取りが行われれば、コマnの画像が過不足なく読み取られることになる。
また、ズレ量dn分だけフィルム12を給送するにあたり、速度Vaより遅い速度Vbでフィルム12を給送させることで、上述したように、精度良く、読み取り領域381の端部382をコマnの端部361の位置371で停止させることができる。これにより、コマnの画像が過不足なく読み取られることになる。
ステップS140において、コマ画像読み取り部202は、CCD駆動回路159を制御して、コマnの画像を読み取る。コマ画像を読み取る際、フィルム12の給送を停止してから、コマ画像を読み取ることにより、給送方向にブレた画像にならず、より品質の高い画像を得ることが可能となる。
ステップS141において、コマ画像読み取り部202は、画像処理回路160を制御して、ステップS140で読み取られたコマ画像を送信部196に出力し、ホストコンピュータ20に送信させ、表示させる。
さらに、図14および図15のフローチャートを参照して、図5のステップS8における全てのコマ画像の読み取り処理の他の例を説明する。
ステップS201において、コマ画像読み取り部202は、CCD駆動回路159を制御して、フィルム12の先頭のコマ(例えば、図7のコマ1)のコマ画像を読み取る。
ステップS202において、コマ画像読み取り部202は、画像処理回路160を制御して、ステップS201で読み取られたコマ画像を送信部196に出力し、ホストコンピュータ20に送信させ、表示させる。
その後のステップS203乃至ステップS213の処理は、図12を参照して説明したステップS131乃至ステップS141の処理と基本的に同様の処理である。
即ち、速度Vaでフィルム12の給送が開始され、フィルム12が7パーフォレーション分給送されたとき、停止され、フィルム12の画像の読み取りが開始され、コマの端部(例えば、図13のコマ2の先頭の端部)が検出される。コマの端部の検出後、コマの端部までのズレ量が算出され、ズレ量分だけフィルム12が速度Vbで給送される。ズレ量分の給送後、フィルム12の給送が停止され、コマ画像(例えば、コマ2に写された画像)が読み取られる。その後、読み取られた画像がホストコンピュータ20に送信される。
ステップS214において、フィルム検出部192は、センサ56のフィルムの検出情報に基づいて、全てのコマ画像を読み取ったか否かを判定する。ステップS214において、全てのコマ画像がまだ読み取られていないと判定された場合、処理はステップS203に戻り、それ以降の処理が繰り返される。全てのコマの画像が読み取られたと判定された場合、処理は終了する。給送時、巻き取り部55により巻き取られたフィルム12は、自動的又はユーザからの指示に基づいて、反対方向に移送され、排出される。
なお、本発明において、センサ57をローラ48の近傍、即ち、照明ランプ42から出射される光の光軸43より前(給送方向と反対側)に配置してもよい。この場合、センサ57が検出したパーフォレーションの給送方向と反対側のエッジが、読み取り領域381の給送方向と反対側の端部383(図13)に一致するように、センサ57が配置される。これにより、例えば、図13のコマnの画像を読み取らせる場合、(8n−1)個目のパーフォレーションP3が検出されたタイミングで速度がVbに変更され、フィルム12を給送させることで、コマnの先頭の端部361が検出される。そして、読み取り領域381の先頭の端部382に対応する位置372とコマnの先頭の端部361に対応する位置371との間の距離(ズレ量dn)を算出し、ズレ量分だけフィルム12を給送することで、読み取り領域381をコマnの画像を読み取るための基準位置に配置されるようにすることも可能である。
また、以上においては、フィルム12をCCD撮像素子63に対して相対的に移送するようにしたが、CCD撮像素子63をフィルム12に対して相対的に移送するようにしてもよい。さらに本発明は、3mmフィルム以外のフィルムを読み取る場合にも適用することができる。
本明細書において、上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、時系列的に処理されなくても、並列的あるいは個別に実行される処理を含むものである。