(57)【要約】【課題】  光反射率が周囲と異なる記号により示される情報を自動的に繰り返し読み取る場合において、種々の条件下で、同じ情報の読取結果が繰り返し出力されてしまうことを、比較的単純な処理で適切に防止する。【解決手段】  光反射率が周囲と異なる記号により示される情報を読み取って読取データが得られたときに（Ｓ１５）、その読取データの値と対応するタイマがカウント中でなければ（Ｓ１６のＮｏ）、該読取データの値と対応するタイマに所定時間のカウントをスタートさせると共に（Ｓ２０）、該読取データの値を有効な読取結果として出力し（Ｓ２１）、該読取データの値と対応するタイマがカウント中であれば（Ｓ１６のＹｅｓ）、該読取データの値と対応するタイマのカウントをそのまま継続し、該読取データの値を有効な読取結果として出力しない（Ｓ１７）ようにした。【選択図】        図１２
2019197365.tif 000002
【特許請求の範囲】
【請求項１】
光反射率が周囲と異なる記号により示される情報を自動的に繰り返し読み取って読取データを得る読取手段と、
前記読取データが得られたときに、該読取データの値と対応するタイマがカウント中でなければ、該読取データの値と対応するタイマに所定時間のカウントをスタートさせると共に、該読取データの値を有効な読取結果として出力し、該読取データの値と対応するタイマがカウント中であれば、該読取データの値と対応するタイマのカウントをそのまま継続し、該読取データの値を有効な読取結果として出力しない制御手段とを備えることを特徴とする光学的情報読取装置。
【請求項２】
請求項１に記載の光学的情報読取装置であって、
予め定めた規則に基づき前記読取データの種類を判定する判定手段を備え、
前記読取データの種類により、前記タイマにカウントさせる前記所定時間を変えることを特徴とする光学的情報読取装置。
【請求項３】
請求項１又は２に記載の光学的情報読取装置であって、
前記読取手段が、読取対象物の画像を撮像する撮像手段を備え、
複数回の読み取りにおける、該撮像手段が撮像した画像中に現れる前記記号の位置の差に基づき、前記タイマにカウントさせる前記所定時間を設定する設定手段を備えることを特徴とする光学的情報読取装置。
【請求項４】
請求項１又は２に記載の光学的情報読取装置であって、
読取対象物までの距離を測定する測距手段を備え、
前記タイマにカウントさせる前記所定時間を、前記測距手段が測定した距離に応じて設定する設定手段を備えることを特徴とする光学的情報読取装置。
【請求項５】
それぞれ光反射率が周囲と異なる記号により示される識別情報が付された物品配置部がほぼ等間隔に配置された物品保持具の駆動手段を制御して、前記物品配置部を等速度で移動させる駆動制御装置と、
前記物品保持具の外部に配置され、
光反射率が周囲と異なる記号により示される情報を自動的に繰り返し読み取って読取データを得る読取手段と、
前記読取データが得られたときに、該読取データの値と対応するタイマがカウント中でなければ、該読取データの値と対応するタイマに所定時間のカウントをスタートさせると共に、該読取データの値を有効な読取結果として出力し、該読取データの値と対応するタイマがカウント中であれば、該読取データの値と対応するタイマのカウントをそのまま継続し、該読取データの値を有効な読取結果として出力しない制御手段とを備える光学的情報読取装置と、
前記タイマにカウントさせる所定時間を、前記駆動制御装置による前記物品保持具の移動速度に基づき設定する設定手段とを備えることを特徴とする光学的情報読取システム。
【請求項６】
請求項５に記載の光学的情報読取システムであって、
前記物品保持具をさらに備え、
前記物品保持具の前記各物品配置部内に、それぞれ光反射率が周囲と異なる記号により前記物品が配置されていないことを示す識別情報が配置されていることを特徴とする光学的情報読取システム。
【請求項７】
請求項５又は６に記載の光学的情報読取システムであって、
前記物品保持具の前記物品配置部は、前記光学的情報読取装置からの距離が異なる複数列に配列され、列ごとに移動可能であり、
前記設定手段は、前記タイマにカウントさせる所定時間を、前記移動速度に加え、前記駆動制御装置がどの列の物品配置部を移動させているかに基づき設定することを特徴とする光学的情報読取システム。
【請求項８】
請求項５乃至７のいずれか一項に記載の光学的情報読取システムであって、
予め定めた規則に基づき前記読取データの種類を判定する判定手段を備え、
前記読取データの種類により、前記タイマにカウントさせる前記所定時間を変えることを特徴とする光学的情報読取システム。
【請求項９】
光反射率が周囲と異なる記号により示される情報を読取手段により自動的に繰り返し読み取って読取データを得る読取手順と、
前記読取データが得られたときに、該読取データの値と対応するタイマがカウント中でなければ、該読取データの値と対応するタイマに所定時間のカウントをスタートさせると共に、該読取データの値を有効な読取結果として出力し、該読取データの値と対応するタイマがカウント中であれば、該読取データの値と対応するタイマのカウントをそのまま継続し、該読取データの値を有効な読取結果として出力しない制御手順とを備えることを特徴とする光学的情報読取方法。
【請求項１０】
請求項９に記載の光学的情報読取方法であって、
予め定めた規則に基づき前記読取データの種類を判定する判定手順を備え、
前記読取データの種類により、前記タイマにカウントさせる前記所定時間を変えることを特徴とする光学的情報読取方法。
【請求項１１】
請求項９又は１０に記載の光学的情報読取方法であって、
前記読取手段が、読取対象物の画像を撮像する撮像手順を備え、
複数回の読み取りにおける、該撮像手順で撮像した画像中に現れる前記記号の位置の差に基づき、前記タイマにカウントさせる前記所定時間を設定する設定手順を備えることを特徴とする光学的情報読取方法。
【請求項１２】
請求項９又は１０に記載の光学的情報読取方法であって、
読取対象物までの距離を測定する測距手順を備え、
前記タイマにカウントさせる前記所定時間を、前記測距手順で測定した距離に応じて設定する設定手順を備えることを特徴とする光学的情報読取方法。
【請求項１３】
１のコンピュータに、あるいは複数のコンピュータを協働させて、光学的情報読取装置を制御させ、請求項９乃至１２のいずれか一項に記載の光学的情報読取方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、光反射率が周囲と異なる記号により示される情報を読み取るための光学的情報読取装置、光学的情報読取システム、光学的情報読取方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、バーコードや二次元コードなどのコード記号をはじめとする、光反射率が周囲と異なる記号により示される情報を読み取る光学的情報読取装置が知られている。ここではコード記号を読み取る読取装置を例として説明するが、このような読取装置は、ユーザの指示に応じてあるいは自動的に、読取範囲内にあるコード記号を読み取ってデコードし、読取結果として出力する。
【０００３】
また、読取装置が続けて複数の情報を読み取れるように、自動的に繰り返し読み取りを試みるようにする場合もある。この場合、コード記号が読み取り範囲内に入ると速やかにそのコード記号の読み取り結果を出力でき、多数のコード記号を読み取る場合に便利である。しかし、コード記号が読み取り範囲内にある間は、同じコード記号を何度も繰り返して読み取ることになってしまい、本来一度だけ出力すればよい読み取り結果を、何度も繰り返し出力してしまう。
【０００４】
このような問題に対処するため、特許文献１では、バーコードを読み取って読取ＯＫとした際に二度読み防止タイマを起動し、そのタイマの起動中は、前回（又は最近）読取ＯＫとしたものと同じ読取結果を、読取ＯＫとせず、出力しないことが提案されている。
また、特許文献２でも、同様に二度読み防止タイマの起動中は前回と同じ読取結果を読取ＯＫとせず、出力しないことが提案されている。
その他、同じコード記号を繰り返して読み取ることを防止するための技術として、特許文献３乃至５に記載のものも知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−５３４６５号公報
【特許文献２】特開２０００−９９６２０号公報
【特許文献３】特開２０１２−８７８８号公報
【特許文献４】特開２０１２−５３７０１号公報
【特許文献５】特開２０１４−２０３２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１あるいは特許文献２の手法では、読取範囲内に複数のコード記号が含まれ得る場合や、個体は異なるが同じ情報を表すコード記号が短時間の間に複数回読み取られ得る場合に、望ましい結果が得られない場合があるという問題があった。例えば、複数のコード記号の読み取り結果が交互に得られる結果、同じコード記号の読取結果の繰り返し出力を禁止できないケースや、逆に、二度読み防止タイマが頻繁に再起動されてしまい、適当なタイミングで読取結果の出力禁止を解除できないケースが生じ得る。
また、特許文献３乃至５の手法では、常時複雑な画像解析が必要であったり、位置変化検出用のセンサが必要であったりして、装置が高コストになってしまうという問題があった。
【０００７】
この発明は、このような問題を解決し、光反射率が周囲と異なる記号により示される情報を自動的に繰り返し読み取る場合において、種々の条件下で、同じ情報の読取結果が繰り返し出力されてしまうことを、比較的単純な処理で適切に防止できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
以上の目的を達成するため、本発明の光学的情報読取装置は、光反射率が周囲と異なる記号により示される情報を自動的に繰り返し読み取って読取データを得る読取手段と、上記読取データが得られたときに、その読取データの値と対応するタイマがカウント中でなければ、その読取データの値と対応するタイマに所定時間のカウントをスタートさせると共に、その読取データの値を有効な読取結果として出力し、その読取データの値と対応するタイマがカウント中であれば、その読取データの値と対応するタイマのカウントをそのまま継続し、その読取データの値を有効な読取結果として出力しない制御手段とを設けたものである。
【０００９】
このような光学的情報読取装置において、予め定めた規則に基づき上記読取データの種類を判定する判定手段を設け、上記読取データの種類により、上記タイマにカウントさせる上記所定時間を変えるとよい。
さらに、上記読取手段が、読取対象物の画像を撮像する撮像手段を備え、複数回の読み取りにおける、その撮像手段が撮像した画像中に現れる上記記号の位置の差に基づき、上記タイマにカウントさせる上記所定時間を設定する設定手段を備えるとよい。
あるいは、読取対象物までの距離を測定する測距手段を備え、上記タイマにカウントさせる上記所定時間を、上記測距手段が測定した距離に応じて設定する設定手段を備えるとよい。
【００１０】
また、この発明の光学的情報読取システムは、それぞれ光反射率が周囲と異なる記号により示される識別情報が付された物品配置部がほぼ等間隔に配置された物品保持具の駆動手段を制御して、上記物品配置部を等速度で移動させる駆動制御装置と、上記物品保持具の外部に配置され、光反射率が周囲と異なる記号により示される情報を自動的に繰り返し読み取って読取データを得る読取手段と、上記読取データが得られたときに、その読取データの値と対応するタイマがカウント中でなければ、その読取データの値と対応するタイマに所定時間のカウントをスタートさせると共に、その読取データの値を有効な読取結果として出力し、その読取データの値と対応するタイマがカウント中であれば、その読取データの値と対応するタイマのカウントをそのまま継続し、その読取データの値を有効な読取結果として出力しない制御手段とを備える光学的情報読取装置と、上記タイマにカウントさせる所定時間を、上記駆動制御装置による上記物品保持具の移動速度に基づき設定する設定手段とを備えるものである。
【００１１】
このような光学的情報読取システムが、上記物品保持具をさらに備え、上記物品保持具の上記各物品配置部内に、それぞれ光反射率が周囲と異なる記号により上記物品が配置されていないことを示す識別情報が配置されているとよい。
さらに、上記物品保持具の上記物品配置部が、上記光学的情報読取装置からの距離が異なる複数列に配列され、列ごとに移動可能であり、上記設定手段は、上記タイマにカウントさせる所定時間を、上記移動速度に加え、上記駆動制御装置がどの列の物品配置部を移動させているかに基づき設定するとよい。
さらに、予め定めた規則に基づき上記読取データの種類を判定する判定手段を設け、上記読取データの種類により、上記タイマにカウントさせる上記所定時間を変えるとよい。
【００１２】
また、この発明は、光学的情報読取装置あるいはシステムとして実現する他、方法、プログラム、プログラムを記録した記録媒体等、任意の態様で実施することができる。
【発明の効果】
【００１３】
以上のような本発明の構成によれば光反射率が周囲と異なる記号により示される情報を自動的に繰り返し読み取る場合において、種々の条件下で、同じ情報の読取結果が繰り返し出力されてしまうことを、比較的単純な処理で適切に防止することができる。
【図面の簡単な説明】
【００１４】
【図１】この発明の光学的情報読取システムの第１実施形態を含む物品管理システムの構成を示す図である。
【図２】図１に示したラックの一部を、矢印Ａ方向の、概ね物品配置部と同じ高さから見た側面図である。
【図３】図２と異なる状態でラックの一部を見た、図２と対応する側面図である。
【図４】図１に示した読取装置のハードウエア構成を示す図である。
【図５】図１に示したラックの第１レーンの回転に伴う、撮像センサの撮像画像の遷移の例を示す図である。
【図６】図５に示した各コード記号が撮像センサの撮像範囲に入っている期間と、連続読み防止タイマのカウントタイミングとを示す図である。
【図７】読取装置が備える、連続読み防止機能に関連する機能の構成を示す図である。
【図８】図７に示した種類定義の例を示す図である。
【図９】図１に示した駆動制御装置のハードウエア構成を示す図である。
【図１０】駆動制御装置が備える、連続読み防止機能に関連する機能の構成を示す図である。
【図１１】図１０に示したラック構成情報の例を示す図である。
【図１２】第１実施形態において読取装置が実行する処理のフローチャートである。
【図１３】第１実施形態の変形例における、各コード記号がデコードされる期間と、連続読み防止タイマのカウントタイミングとを示す、図６と対応する図である。
【図１４】第２実施形態の読取装置の機能構成を示す、図７と対応する図である。
【図１５】第２実施形態におけるコード記号の移動速度の検出方法を説明するための図である。
【図１６】第２実施形態において読取装置が実行する処理を示す、図１２と対応するフローチャートである。
【図１７】第３実施形態の読取装置の機能構成を示す、図７と対応する図である。
【図１８】第３実施形態における連続読み防止タイマのカウント時間の算出方法を説明するための図である。
【図１９】第３実施形態において読取装置が実行する処理を示す、図１２と対応するフローチャートである。
【発明を実施するための形態】
【００１５】
この発明の実施形態について、図面を参照しながら説明する。
〔第１実施形態：図１乃至図１２〕
まず図１に、この発明の光学的情報読取システムの第１実施形態を含む物品管理システムの構成を示す。
図１に示す物品管理システムは、読取装置１００、駆動制御装置２００、ラック３００及びデータ処理装置４００を備える。この物品管理システムは、駆動制御装置２００の制御に従ってラック３００を回転させつつ、ラック３００内の物品配置部（単に「配置部」ともいう）及びその物品配置部に配置された物品に付されたコード記号を読取装置１００が読み取ってデータ処理装置４００に供給することにより、データ処理装置４００が、ラック３００内のどの物品配置部にどの物品が配置されているかを管理できるようにしたシステムである。そして、これらのうち読取装置１００及び駆動制御装置２００が、この発明の光学的情報読取システムの一実施形態を構成する。ラック３００も含めて光学的情報読取ステムであると考えることもできる。また、読取装置１００が、この発明の光学的情報読取装置の一実施形態である。また、データ処理装置４００は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備える汎用コンピュータに所要のプログラムを実行させることにより、上述の物品配置管理機能を実現させたものである。
【００１６】
次に、ラック３００について説明する。ラック３００は、多数の物品配置部にそれぞれ物品を保持することができる物品保持具である。ラック３００には、外側から第１レーン３１０、第２レーン３２０、第３レーン３３０の３つのレーンが同心円状に設けられており、モータ等の駆動手段により、これらを個別に回転軸３４０を中心に回転移動させることができる。ここでは回転方向は反時計回りとする。ただし、逆回りに回転させたり、回転方向を変更したりできるようにすることも妨げられない。
【００１７】
各レーン３１０，３２０，３３０には、それぞれ仕切り３１１，３２１，３３１で区切られた複数の配置部３１２，３２２，３３２が同じサイズで等間隔に配列されて設けられており、その配置部には任意に物品３５０を配置することができる。ここでは、各物品はどのレーンにでも同じように配置可能であるとするが、レーン毎に配置部のサイズや形状等により配置可能な物品に制約があってもよい。また、配置部３１２，３２２，３３２への物品３５０の配置は、人手で行っても、適当な搬送装置を用いて自動で行ってもよい。
【００１８】
図２に、ラック３００の一部を、矢印Ａ方向の、概ね配置部と同じ高さから見た側面図を示す。なお、図１との対比からわかるように、実際には図２に表れる面は湾曲しているが、図面を簡単にするため、平面状に近似して示している。
図２には、４つの仕切り３１１とその内側に形成された３つの配置部３１２が表れており、図で一番右側の配置部３１２のみに物品３５０が配置された状態を示している。図の両端にも配置部があるが、ここでは図示を省略している。物品３５０は任意であるが、例えば、箱、ボトル、試験管、トレーなどの容器や、本、荷物等とすることが考えられる。但し、後述のコード記号３５０ａを配置可能なものである。また、第１レーン３１０と第２レーンの境界（図２では配置部３１２の奥側）には、第１レーン３１０と一体に回転する不透明な壁３１４が形成されており、図２の状態では、矢印Ａ方向から見えるのは第１レーン３１０のみである。
【００１９】
また、各配置部３１２には識別情報が付され、各配置部３１２の移動方向前方（ここでは各レーンは反時計回りに回転させるものとし、図で右側）の仕切り３１１に、配置部３１２の識別情報である番号を、コード記号３１１ａにより表示している。また、人間の目でも容易に番号を認識できるよう、数字も合わせて表示している。これらのコード記号及び数字は、光反射率が周囲と異なる記号により示される情報の一例であり、シールの貼付、印刷、刻印など、任意の方法で設けることができる。また、コード記号３１１ａとしてここではバーコード記号を用いているが、これに限らず、二次元コードも含め、任意の規格のものを用いることができる。他のコード記号についても同様である。
【００２０】
また、配置部３１２に配置される物品３５０にも、同様に、少なくとも矢印Ａ側から見えるように、物品３５０の識別情報である番号を、コード記号３５０ａ及び数字により表示している。また、物品３５０を配置部３１２に配置する際には、コード記号３５０ａが矢印Ａ側（外側）を向くように配置する。ここでは、コード記号３５０ａとして二次元バーコードを用いている。また、ここでは各物品３５０の識別情報はユニークであり、重複はないものとする。ただし、識別情報が物品３５０の種類を示す等、識別情報がユニークではなく、同じ識別情報を持つ物品３５０が複数配置され得る場合には、物品３５０の識別情報を、物品３５０が配置されていないことを示すコード記号と同様に取り扱えばよい。
【００２１】
各配置部３１２の奥側の壁３１４には、当該配置部３１２に物品３５０が配置されていないことを示すコード記号３１２ａを配置している。このコード記号３１２ａは、全ての配置部３１２について共通の値「９９９９９９」を示す記号であり、物品３５０が配置部３１２に配置された場合には、図２で一番右側の配置部３１２に示されるように物品３５０により隠される位置に設ける。
【００２２】
次に、図３に、ラック３００の一部を、図２と異なる状態で、矢印Ａ方向の、概ね配置部と同じ高さから見た側面図を示す。
第１レーン３１０の配置部３１２の１つでは、壁３１４に窓３１５が設けられ、この窓３１５を通して第２レーン３２０が見えるようになっている。ここでは、識別情報「１９９９」を持つ配置部３１２に窓３１５を形成しており、図３に示すのは、その窓３１５が正面に来た状態である。
【００２３】
窓３１５を通して見える第２レーン３２０も、配置部３２２の数は第１レーンと異なるが、各配置部３２２に付された識別情報を、その移動方向前方の仕切り３２１に付したコード記号３２１ａにより示し、配置部３２２の奥側の壁３２４に、当該配置部３２２に物品３５０が配置されていないことを示すコード記号が付されている点は第１レーンと共通である。
【００２４】
なお、各配置部３２２の識別情報は、第１レーン３１０のものと容易に区別できることが望ましい。ここでは、４桁の番号の上一桁をレーンの番号とする（第２レーンであれば「２」、第３レーンであれば「３」とする）ことにより、この区別を行っている。また、物品が配置されていないことを示すコード記号は、第１レーン３１０のものと共通でも、レーン毎に異なっていてもよい。ここでは共通とする。
【００２５】
また、第２レーンにおいても、配置部３２２の１つでは、壁３２４に窓が設けられ、この窓を通して第３レーン３３０が見えるようになっている。そして、第３レーン３３０の各配置部３３２においても、各配置部３３２の識別情報を、その移動方向前方の仕切り３３１に付したコード記号により示し、配置部３３２の奥側の壁に、当該配置部３３２に物品３５０が配置されていないことを示すコード記号が付されている点は第１レーン及び第２レーンと共通である。
【００２６】
次に、読取装置１００について説明する。この読取装置１００は、コード記号等の、光反射率が周囲と異なる記号により示される情報を読み取って読取データを得る装置であり、以上説明してきたラック３００あるいはラック３００に配置された物品３５０に付されたコード記号を読み取るために、ラック３００の外部に固定されて設けられている。また、読取装置１００は、駆動制御装置２００及びデータ処理装置４００とそれぞれ通信可能なように接続されている。この通信は、有線無線を問わず、任意の通信路を用いて行うことができる。
【００２７】
図４に、読取装置１００のハードウエア構成を示す。
図４に示すように、この読取装置１００は、光学部１１０、デコーダ１２０、操作部１３１及び通知部１３２を備え、光学部１１０を読取対象物１０１（例えばラック３００）に対向させることにより、読取対象物１０１上で光反射率が周囲と異なる記号により示されるコード記号１０２を読み取るための装置である。
【００２８】
これらのうち光学部１１０は、撮像センサ１１１、レンズ１１２、パルスＬＥＤ（発光ダイオード）１１３を備え、コード記号１０２を光学的に読み取るための読取手段である。
撮像センサ１１１は、読取対象物１０１の画像を撮像するための撮像手段であり、例えばＣＭＯＳ（相補性金属酸化膜半導体）イメージセンサにより構成することができる。また、撮像センサ１１１は、撮像によりイメージセンサの各画素に蓄積した電荷に基づき、各画素の階調値を示す画像データを生成し、デコーダ１２０へ出力することができる。この撮像センサ１１１において、画素は二次元的に配置されている。
【００２９】
レンズ１１２は、撮像センサ１１１上にコード記号１０２を含む読取対象物１０１からの反射光を結像させるための光学系である。
パルスＬＥＤ１１３は、撮像対象である読取対象物１０１へ照明光を照射するための照明手段である。
【００３０】
次に、デコーダ１２０は、ＣＰＵ１２１と、ＣＰＵ１２１が実行するプログラムや各種テーブル等のデータを記憶したＲＯＭ１２２と、ＣＰＵ１２１が各種の処理を実行する際の作業領域として使用するＲＡＭ１２３と、外部装置と通信を行うための通信Ｉ／Ｆ１２４とを備えている。
【００３１】
ＣＰＵ１２１は、ＲＡＭ１２３を作業領域としてＲＯＭ１２２に記憶されたプログラムを実行することにより、光学部１１０、操作部１３１及び通知部１３２を含む読取装置１００全体の動作を制御する。また、撮像センサ１１１が撮像した画像の画像データに含まれるコード記号１０２の検出及びデコード、そのデコード結果の外部への出力あるいは蓄積、同じコード記号の読取結果を連続して出力することを防止するための処理などの処理も行う。
【００３２】
通信Ｉ／Ｆ１２４は、駆動制御装置２００及びデータ処理装置４００などの外部装置と通信するためのインタフェースである。
なお、データ処理装置４００は、読取装置１００から受信した各種コード記号の読み取り結果を処理する装置である。ここでは、データ処理装置４００は、コード記号の読み取り結果を用いて、ラック３００の各配置部３１２，３２２，３３２に配置されている物品（あるいは物品が配置されていないこと）を把握及び管理する処理を行うが、これに限られない。
【００３３】
操作部１３１は、ユーザの操作を受け付けるためのボタンやトリガ等の操作手段である。通知部１３２は、ユーザへの各種通知を行うための通知手段である。具体的な通知の方法としては、ディスプレイによるメッセージやデータの表示、ランプの点灯や点滅、スピーカによる音の出力等が考えられるが、これに限られることはない。
しかし、読取装置１００を駆動制御装置２００あるいはデータ処理装置４００からの制御により自動で動作させる場合には、操作部１３１や通知部１３２を設けなくてもよい。
【００３４】
以上の読取装置１００は、図１の矢印Ａ側からラック３００を撮像し、撮像センサ１１１の撮像範囲のうち後述するデコード範囲にあるコード記号をデコードし、デコード結果の読取データを得て、読取結果としてデータ処理装置４００へ出力することを、自動的に繰り返し実行する。より具体的には、読取装置１００は、撮像センサ１１１が撮像した画像中のコード記号を検出してその画像を切り取り、切り取った画像に対してデコード処理を行って、デコード処理で得られた、コード記号が示す情報を、読取データとして取得し、読取結果として出力する。撮像センサ１１１が撮像した画像中に複数のコード記号が含まれていれば、そのそれぞれに対してデコード処理を行って、複数の読取データを取得及び出力することができる。ただし、後述するように、読取データを出力しない場合もある。コード記号の画像の検出及びデコードは、適宜公知の手法を用いて行うことができる。
【００３５】
なお、撮像センサ１１１が撮像した画像の全部ではなく一部分のみをコード記号の検出及びデコードの対象とすることも考えられる。端の方は画像が歪む可能性があるため処理対象から外す、処理負荷の問題から注目すべき点のみを処理対象とする、等である。以下の説明において、このようにコード記号の検出及びデコードの対象とする範囲を、「デコード範囲」と呼ぶことにする。このデコード範囲は、撮像センサ１１１の撮像範囲と一致する場合もあれば、一致しない場合もある。
【００３６】
読取装置１００は固定であるが、ラック３００の各レーンの回転に伴い、デコード範囲にあるコード記号は変化し、読取装置１００は、ラック３００中の各配置部３１２，３２２，３３２及びそこに配置された物品３５０のコード記号を読み取ることができる。物品３５０が配置されていない配置部３１２，３２２，３３２については、物品３５０のコード記号に代えて、物品３５０が配置されていないことを示すコード記号を読み取ることができる。第２レーン３２０の読み取りを行う場合、第１レーン３１０を図３に示した位置に固定し、第３レーン３３０の読み取りを行う場合、さらに第２レーン３２０も、その窓が第１レーン３１０の窓３１５に重なる位置に固定する。
なお、コード記号の移動方向におけるデコード範囲は、概ね第１レーン３１０の配置部３１２の幅程度である。これは、仕切り３１１に設けたコード記号３１１ａが２以上同時にデコード範囲に入らないようにするためである。
【００３７】
図５に、ラック３００の第１レーン３１０の回転に伴う、撮像センサ１１１の撮像画像の遷移の例を示す。図５に示すのは、コード記号の検出処理に供するため、撮像画像のうちデコード範囲の画像のみを切り出したものである。
図５（ａ）に示すのは、図２で最も右側の、識別番号「１００１」の配置部３１２に配置された物品３５０がデコード範囲から外れつつあり、その隣の配置部３１２を示す識別番号「１００２」のコード記号３１１ａ−２がデコード範囲に入った状態である。なお、以後の説明において、必要に応じて、個々のコード記号を識別するために、ハイフンの後ろに添え字を付けた符号を用いる。
【００３８】
図５（ｂ）に示すのは、（ａ）の状態よりも第１レーン３１０が少し移動し、コード記号３１１ａ−２がデコード範囲から外れつつあり、識別番号「１００２」の配置部３１２に配置された、物品が配置されていないことを示すコード記号３１２ａ−２がデコード範囲に入った状態である。
同様に、図５（ｃ）に示すのは、第１レーン３１０がさらに移動し、コード記号３１２ａ−２がデコード範囲から外れつつあり、さらに隣の配置部３１２を示す識別番号「１００３」のコード記号３１１ａ−３がデコード範囲に入った状態である。
【００３９】
図５（ｄ）に示すのは、第１レーン３１０がさらに移動し、コード記号３１１ａ−３がデコード範囲から外れつつあり、識別番号「１００３」の配置部３１２に配置された、物品が配置されていないことを示すコード記号３１２ａ−３がデコード範囲に入った状態である。
図５（ａ）〜（ｄ）を比較してわかるように、コード記号３１２ａ−２とコード記号３１２ａ−３は、個体は異なるが、同じ値を示すコード記号である。そして、ラック３００には、このように同じ値を示すコード記号が近接して配置されているため、短期間に続けてデコード範囲に入ることがある。
【００４０】
一方、配置部３１２の識別情報はユニークであるので、第１レーン３１０が１周するまでは、同じ値を示すコード記号がデコード範囲に入ることはないと考えられる。物品３５０の識別情報についても、物品３５０の位置が途中で入れ替えられることがなければ、同様である。
【００４１】
ただし、撮像センサ１１１による撮像の間隔、すなわち読取装置１００によるコード記号読み取りの間隔は、図５の（ａ）〜（ｄ）の間隔よりもはるかに短い。すなわち、（ａ）〜（ｄ）に示したのは、遷移を説明するための一例に過ぎず、実際には（ａ）と（ｂ）の間でも何度も撮像及び読み取りが行われる。従って、同じ個体のコード記号が何度も読み取られることになる。
【００４２】
しかし、その度に読取装置１００が読取結果をデータ処理装置４００に出力することは、適切ではない。１個体のコード記号に対して１度の出力でないと、データ処理装置４００側で読取結果を適切に処理することが難しいためである。そこで、読取装置１００には、同じ個体のコード記号を続けて読み取った場合に、２度目以降の読み取りによる読取データを有効な読取結果として出力しないようにしている。この機能を、「連続読み防止機能」と呼ぶことにする。ただし、値が同じであっても、異なる個体のコード記号を読み取って得られた読取結果は、別々に出力する必要がある。図５に示したコード記号３１２ａ−２とコード記号３１２ａ−３のような例である。
【００４３】
一方、読取装置１００は、コード記号が示す値が同じであれば、デコード結果のみからでは、それらのコード記号の個体が同じであるか異なるかを識別することはできない。そこで、連続読み防止機能には、この識別ができなくても、異なる個体のコード記号を読み取って得られた読取結果は、別々に出力できるような工夫もしている。
【００４４】
より具体的には、読取装置１００が備える連続読み防止機能は、読取データが得られた場合に、以下の処理を行うものである。
（１）得られた読取データの値と対応する連続読み防止タイマがカウント中でなければ、その読取データの値と対応する連続読み防止タイマに所定時間のカウントをスタートさせると共に、その読取データの値を有効な読取結果として出力する。
（２）得られた読取データの値と対応する連続読み防止タイマがカウント中であれば、その読取データの値と対応する連続読み防止タイマのカウントをそのまま継続し、その読取データの値を有効な読取結果として出力せずに廃棄する。
（３）（１）で連続読み防止タイマにカウントさせる所定時間を、読取データの種類によって変える。
【００４５】
以下、読取装置１００が備える機能について、この連続読み防止機能に関連する機能を中心に説明する。
まず図６に、図５に示した各コード記号３１１ａ−２，３１２ａ−２，３１１ａ−３，３１２ａ−３がデコード範囲に入っている期間と、連続読み防止タイマのカウントタイミングとを示す。
【００４６】
図６において、「コード記号」の欄には、各コード記号が示す値及び図５で用いた符号を示している。コード記号３１２ａ−２とコード記号３１２ａ−３は同じ値を示す。また、横軸が時間軸であり、「フレームイン」で示す期間が、各コード記号がデコード範囲に入っている期間である。「連続読み防止タイマ」の上側に示す矢印が、連続読み防止タイマにカウントを実行させる期間である。「連続読み防止タイマ」の後ろのカッコ内の数値は、各連続読み防止タイマと対応する読取データの値である。
【００４７】
図６に示すように、コード記号３１１ａ−２は、時刻ｔ１からｔ３までデコード範囲に入りデコードされる。そして、読取装置１００は、コード記号３１１ａ−２を時刻ｔ１において最初にデコードした時には、その値「１００２」と対応する連続読み防止タイマがカウント中でないため、値「１００２」を読取結果として出力する。また、値「１００２」と対応する連続読み防止タイマのカウントをスタートさせる。このときカウントさせる所定時間は、第１レーン３１０が１周して次にコード記号３１１ａ−２がデコード範囲に入るまでの時間である。すなわち、第１レーン３１０の回転角速度をω(ラジアン/秒)とすると、２π／ω（秒）である。
【００４８】
コード記号３１１ａ−２は、時刻ｔ３までの間に複数回撮像され、デコードされるが、２回目以降のデコード時には、値「１００２」と対応する連続読み防止タイマがカウント中であるため、読取装置１００は値「１００２」を読取結果として出力せずに廃棄する。時刻ｔ３よりも後は、第１レーン３１０が１周するまでデコード結果として値「１００２」が得られることは通常無いが、多少回転の速度にずれがあっても値「１００２」を複数回出力してしまうことが無いよう、配置部３１２の識別情報については、連続読み防止タイマのカウント時間を長くしている。第１レーン３１０が１周するまでデコード結果として値「１００２」を再度出力すべき場合は通常無いので、このようにしても不都合はない。なお、カウント時間は、少なくともコード記号３１１ａ−２がデコード範囲から外れるまでに要する時間より長ければ、上記２π／ωより短くても差し支えない。
【００４９】
なお、コード記号３１１ａ−３は、時刻ｔ４からｔ７までデコード範囲に入りデコードされるが、読取結果の出力及び連続読み防止タイマの制御については、値が「１００３」である以外は上述したコード記号３１１ａ−２の場合と同様であるので、詳細な説明は省略する。また、図６の例には含まれていないが、物品３５０の識別情報を読み取った場合も、同様な制御を行うことができる。
【００５０】
また、コード記号３１２ａ−２は、時刻ｔ２からｔ５までデコード範囲に入りデコードされる。時刻ｔ２からｔ３までは、コード記号３１１ａ−２とコード記号３１２ａ−２の双方がデコードされることになる。そして、読取装置１００は、コード記号３１２ａ−２を時刻ｔ２において最初にデコードした時には、その値「９９９９９９」と対応する連続読み防止タイマがカウント中でないため、値「９９９９９９」を読取結果として出力する。また、値「９９９９９９」と対応する連続読み防止タイマのカウントをスタートさせる。
【００５１】
このときカウントさせる所定時間は、次の配置部３１２における、物品が配置されていない旨を示すコード記号３１２ａ−３が（もし物品３５０がなく見える状態であれば）デコード範囲に入るまでの時間である。すなわち、第１レーン３１０の回転角速度をω(ラジアン/秒)、第１レーン３１０の配置部３１２の数をｐ１とすると、２π／ω／ｐ１（秒）である。この時間を用いるのは、値「９９９９９９」を示すコード記号が次の配置部３１２にも配置されている可能性があり、それを読み取った場合に読取データを廃棄してしまわないようにするためである。
【００５２】
なお、時刻ｔ２には、値「１００２」と対応する連続読み防止タイマがカウント中だが、値「９９９９９９」と対応するものでないため、値「９９９９９９」の出力可否とは関係ない。コード記号３１２ａ−２は、時刻ｔ４までの間に複数回撮像され、デコードされるが、２回目以降のデコード時には、値「９９９９９９」と対応する連続読み防止タイマがカウント中であるため、値「９９９９９９」を読取結果として出力せずに廃棄する。
【００５３】
この例では、時刻ｔ２にカウントを開始した値「９９９９９９」と対応する連続読み防止タイマのカウントが終了した直後の時刻ｔ６に、コード記号３１２ａ−３がデコード範囲に入りデコードされる。コード記号３１２ａ−３が示す値も「９９９９９９」であるが、この時点では値「９９９９９９」と対応する連続読み防止タイマのカウントは行われていないので、読取装置１００は値「９９９９９９」を読取結果として出力し、値「９９９９９９」と対応する連続読み防止タイマのカウントを再度スタートさせる。このときカウントさせる所定時間は、コード記号３１２ａ−２の読み取り時と同じである。
【００５４】
このように、同じ値をコードするコード記号が複数近接して配置されている可能性がある値については、連続読み防止タイマのカウント時間を短くすることにより、複数のコード記号の読み取りを同じコード記号の複数回読み取りと誤認することがないように、連続読み防止機能を実現することができる。
なお、仮に、回転速度が設定値と少しずれる等して、時刻ｔ２でスタートした連続読み防止タイマがカウント終了する前にコード記号３１２ａ−３がデコード範囲に入ったとしても、多少のずれであれば、大きな問題はない。初めの何回かの読み取りでは読取結果が出力されないことになるが、連続読み防止タイマがカウント終了した後には、読取結果を出力でき、実質的には出力タイミングが少し遅れるだけだからである。このような事態を防止するため、カウント時間は、少なくともコード記号３１２ａ−２がデコード範囲から外れるまでに要する時間より長ければ、上記２π／ω／ｐ１より少し短くしてもよい。
【００５５】
また、いずれのコード記号も、照明の加減等により、デコード範囲に入っていても一時的にデコードされなくなる場合がある。しかし、上述の連続読み防止機能は、このような事態が生じても特に影響を受けることはない。デコードされなくなったコード記号が再度デコードされるようになった時点で、対応する連続読み防止タイマがカウント中であれば、そのデコード結果を読取結果として出力しないようにすることができる。
【００５６】
次に、図７に、読取装置１００が備える、連続読み防止機能に関連する機能の構成を示す。図７に示す機能は、ソフトウエアによって実現しても、ハードウエアによって実現しても、その組み合わせでもよい。
図７に示すように、読取装置１００は、撮像部１４１、コード記号取得部１４２、デコード部１４３、連続読み検出部１４４、読取結果出力部１４５、タイマ制御部１４６、種類判定部１４７、連続読み防止タイマ１４８、ラック制御情報取得部１４９、種類定義１６１を備える。
【００５７】
これらのうち撮像部１４１は、光学部１１０により読取対象物１０１の画像を撮像する機能を備える。コード記号取得部１４２は、撮像部１４１が撮像した画像のうちデコード範囲の画像から、コード記号の画像を抽出して取得する機能を備える。１枚の画像から複数のコード記号の画像を取得する場合もある。デコード部１４３は、コード記号取得部１４２が取得した各画像をデコードし、そのデコード結果をコード記号が示す情報である読取データとして取得する機能を備える。これらの各部が、読取手段として機能する。
【００５８】
連続読み検出部１４４は、デコード部１４３が取得した各読取データについて、その読取データと対応する連続読み防止タイマ１４８がカウント中であるか否かに基づき、その読取データが、同じコード記号を複数回読み取った連続読みで得られたものであるか否かを判断する。より具体的には、連続読み検出部１４４は、タイマ制御部１４６に問い合わせを行い、読取データと対応する連続読み防止タイマ１４８がカウント中であれば、その読取データは連続読みで得られたと判断し、カウント中でなければ、連続読みでない（初回の読み取りである）と判断する。そして、連続読み検出部１４４は、連続読みでない場合のみ、読取データを読取結果出力部１４５に渡し、そうでない場合には読取データを廃棄して、有効な読取結果として出力しないようにする。
読取結果出力部１４５は、連続読み検出部１４４から渡された読取データを、有効な読取結果として、予め設定された出力先へ出力する機能を備える。ここでは、出力先はデータ処理装置４００である。
【００５９】
タイマ制御部１４６は、連続読み検出部１４４からの問い合わせに応じて、読取データと対応する連続読み防止タイマ１４８がカウント中であるか否かを応答する機能を備える。また、カウント中でない場合に、問い合わせに係る読取データと対応する連続読み防止タイマ１４８に、所定時間のカウントをスタートさせる機能も備える。連続読み防止タイマ１４８と読取データとは、予め対応付けられていてもよいし、動的に対応付けてもよい。また、所定時間は、種類判定部１４７から供給される算出方法と、ラック制御情報取得部１４９が駆動制御装置２００から取得する情報とに基づき設定する。このタイマ制御部１４６の機能は、制御手段及び設定手段の機能に該当する。
種類判定部１４７は、タイマ制御部１４６から渡される読取データの種類を、予め読取装置１００に記憶された規則である種類定義１６１に基づき判定する判定手段の機能を備える。また、読取データの種類に応じた所定時間の算出方法をタイマ制御部１４６に渡す機能も備える。
【００６０】
図８に、種類定義１６１の例を示す。
図８の例では、読取データが当てはまる条件毎に読取データの種類を定義している。タイマ設定値の欄は、各種類の読取データについて、対応する連続読み防止タイマにカウントさせる所定時間の算出方法を示す。図８の例では、図６を用いて説明した考え方に基づき、各レーンの配置部及び物品３５０の識別情報については２π／ωを、物品が配置されていないことを示す値については２π／ω／ｐｎを規定している。備考欄は、各種類の読取データが意味する事項を示すが、必ずしも種類定義１６１に含まれている必要はない。また、このほかに各種類の識別情報を設けてもよい。
種類の定義内容や定義形式が図８に示したものに限られないことはもちろんである。最低限、所定時間の算出方法が異なる読取データを、別の種類として定義すれば足りる。逆に、読取データの値の範囲毎ではなく、読取データの値毎に読取データの種類を定義してもよい。
【００６１】
図７の説明に戻る。
連続読み防止タイマ１４８は、タイマ制御部１４６の制御に従い、読取データの値と対応付けられ、所定時間をカウントする機能を備える。連続読み防止タイマ１４８は、予め複数設けておいても、必要に応じて動的に生成及び削除してもよい。
ラック制御情報取得部１４９は、駆動制御装置２００と通信し、ラック３００の駆動状況や配置、構成等に関する必要な情報を取得する機能を備える。ここでは、読取対象とするレーンの番号及び、そのレーンの回転角速度並びに配置部の数の情報を取得する。この取得は、ラック制御情報取得部１４９から駆動制御装置２００にアクセスして行ってもよいし、駆動制御装置２００からの通知を受けることにより行ってもよい。
【００６２】
次に、駆動制御装置２００について説明する。この駆動制御装置２００は、ラック３００が備える駆動手段に制御信号を送信することにより、ラック３００の各レーンを個別に回転させる機能を備える。回転角速度は、一定であっても、適宜に変更できるようにしてもよい。また、駆動制御装置２００は、読取装置１００と通信可能なように接続されている。これらの通信は、有線無線を問わず、任意の通信路を用いて行うことができる。
【００６３】
図９に、駆動制御装置２００のハードウエア構成を示す。
図９に示すように、駆動制御装置２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ストレージ２０４、通信Ｉ／Ｆ（インタフェース）２０５、操作部２０６、表示部２０７、ラック駆動部２０８を備え、これらをシステムバス２０９により接続した構成としている。
【００６４】
そして、ＣＰＵ２０１が、ＲＡＭ２０３をワークエリアとしてＲＯＭ２０２あるいはストレージ２０４に記憶された所要のプログラムを実行することにより、駆動制御装置２００全体を制御し、図１０に示すものをはじめとする種々の機能を実現する。
通信Ｉ／Ｆ２０５は、読取装置１００等の他の装置と通信するためのインタフェースである。使用する通信路の規格に応じた物を設ければよい。
【００６５】
操作部２０６は、ユーザからの操作を受け付けるための操作手段であり、各種のキー、スイッチ、タッチパネル等により構成することができる。
表示部２０７は、駆動制御装置２００の動作状態や設定内容、メッセージ等をユーザに提示するための提示手段であり、液晶ディスプレイやランプ等を備える。
ラック駆動部２０８は、ラック３００の駆動手段に対して、ラックのレーン毎の回転やその角速度を指示する制御信号を出力するためのインタフェースである。
【００６６】
次に、図１０に、駆動制御装置２００が備える、連続読み防止機能に関連する機能の構成を示す。図１０に示す機能は、ソフトウエアによって実現しても、ハードウエアによって実現しても、その組み合わせでもよい。
図１０に示すように、駆動制御装置２００は、駆動指示受付部２４１、ラック駆動制御部２４２、ラック制御情報送信部２４３及びラック構成情報２６１を備える。ラック駆動部２０８は、図９に示したラック駆動部２０８の機能を示す。
【００６７】
これらのうち駆動指示受付部２４１は、ラック３００を駆動する指示を受け付ける機能を示す。この指示は、特定のレーンあるいは全てのレーンの状態を順次読取装置１００が読み取れるようにする指示、特定のレーンをあるいは全てのレーンを順次、継続的に回転させる指示等が考えられる。指示を行うのは、ユーザであっても、他の装置であっても、駆動制御装置２００が実行するプロセスであっても、その他であってもよい。
【００６８】
ラック駆動制御部２４２は、駆動指示受付部２４１が受け付けた指示に従い、ラック３００を駆動するため、ラック駆動部２０８からラック３００に対して必要な制御信号を出力させる機能を備える。ラック３００の駆動手段は、この制御信号に従い、例えばレーン毎に設けたモータにより、ラック３００の各レーン３１０〜３３０を、回転軸３４０を中心に指定された角速度で等速回転させる。角速度はレーン毎に指定可能であり、駆動制御装置２００に予め設定された固定の値でも、駆動指示と共に受け付けるようにしてもよい。
【００６９】
ラック制御情報送信部２４３は、読取装置１００に対し、ラック３００の駆動状況や配置、構成等に関する必要な情報を供給する機能を備える。ここで供給する情報は、ラック構成情報２６１及び、ラック駆動制御部２４２から供給される情報のうち、読取装置１００に使用させるべき情報である。読取装置１００からの要求に応じて、要求された情報を送信しても、駆動制御装置２００側で任意に情報を選択して送信してもよい。
【００７０】
この実施形態において、ラック制御情報送信部２４３は読取装置１００に対し、読取対象とするレーンの番号及び、そのレーンの回転角速度並びに配置部の数の情報を送信する。これらの情報は、読取装置１００において、連続読み防止タイマにカウントさせる所定時間を算出するために用いられる。これらのうちレーンの番号及び回転角速度は、ラック駆動制御部２４２から取得する。配置部の数の情報は、ラック構成情報２６１に含まれる。
【００７１】
図１１に、ラック構成情報２６１の例を示す。
ラック構成情報２６１は、レーン毎に、その回転半径と、レーン内の配置部の数の情報を含む。レーンＩＤの１〜３が、それぞれ第１〜第３レーンと対応する。これらは、ラック３００の構成を示す情報であり、ラック３００のメーカーにより提供される情報を設定するとよい。
さらに、ラック構成情報２６１は、ラック３００の回転軸３４０と、読取装置１００との間の距離Ｄの情報も含む。この距離Ｄは、より正確には、回転軸３４０の中心からレンズ１１２の主点までの距離を、撮像時の光路に沿って測った距離である。この情報は、読取装置１００の配置に関する情報であり、実際の配置位置に基づきシステムの管理者が設定するとよい。
【００７２】
次に、図１２に、以上説明してきた連続読み防止機能を実現するために読取装置１００が実行する処理のフローチャートを示す。この処理は、この発明の光学的情報読取方法の実施形態に係る処理である。この処理は、読取装置１００のＣＰＵ１２１が所要のプログラムを実行することにより実行するものであるが、説明の便宜のため、読取装置１００が実行するものとして説明する。
【００７３】
読取装置１００は、コード記号の読み取り開始の指示を検出すると、図１２のフローチャートに示す処理を開始する。指示を行うのは、ユーザであっても、駆動制御装置２００等の外部装置であっても、読取装置１００が実行するプロセスであっても、その他であってもよい。
図１２の処理において、読取装置１００はまず、駆動制御装置２００にアクセスしてラック制御情報を取得する（Ｓ１１）。このステップＳ１１の処理は、ラック制御情報取得部１４９の機能と対応し、ここでは、ラック制御情報は、レーンの番号及び、そのレーンの回転角速度並びに配置部の数の情報である。
【００７４】
次に、読取装置１００は、コード記号の読み取りを継続すべきか否か判断する（Ｓ１２）。この判断は、読み取り開始の指示に含まれる継続時間や、予め設定されたタイムアウト時間、読取装置１００の状態、これまでに得られた読取結果など、適宜な基準に基づき行うことができる。いずれにせよ、読取装置１００は、継続と判断すると、ステップＳ１３以降の処理に進む。
そしてまず、カウント中の連続読み防止タイマ１４８の中に、所定時間が経過してカウント終了したものがあれば（Ｓ１３のＹｅｓ）、そのタイマを解放する（Ｓ１４）。この解放は、読取データとの対応付けを解除したり、タイマ自体を削除したりするものである。
【００７５】
次に、読取装置１００は、デコード範囲内にある読取対象物の画像を撮像し、撮像した画像中のデコード範囲内にあるコード記号をデコードする（Ｓ１５）。この処理は、撮像部１４１、コード記号取得部１４２及びデコード部１４３の機能と対応する読取手順の処理である。その後、読取装置１００は、ステップＳ１５で得られた各読取データをそれぞれ対象として、ステップＳ１６乃至Ｓ２１の処理を繰り返す。この繰り返し処理が、制御手順の処理である。
この繰り返し処理において、読取装置１００は、対象の読取データの値と対応する連続読み防止タイマ１４８がカウント中であれば（Ｓ１６のＹｅｓ）、対象の読取データを有効な読取結果として出力しないことを決定して（Ｓ１７）、対象の読取データに関する処理を終了する。この場合、連続読み防止タイマ１４８の動作は変更しない。
【００７６】
一方、ステップＳ１６でカウント中でなければ（対応する連続読み防止タイマ１４８が無い場合も含む）、読取装置１００は、対象の読取データの種類を判定する（Ｓ１８）。この処理は、種類判定部１４７の機能と対応する判定手順の処理である。
その後、読取装置１００は、ステップＳ１１で取得した最新のラック制御情報に基づき、その判定した種類と対応するカウント時間を算出し（Ｓ１９）、カウント中でない連続読み防止タイマ１４８の１つを対象の読取データと対応付けて、ステップＳ１９で算出したカウント時間のカウントを開始させる（Ｓ２０）。ステップＳ１９及びＳ２０の処理は、タイマ制御部１４６の機能と対応する処理である。
その後、読取装置１００は、対象の読取データを有効な読取結果として出力し（Ｓ２１）、対象の読取データに関する処理を終了する。この処理は、読取結果出力部１４５の機能と対応する。
【００７７】
以上の繰り返し処理を終了すると、読取装置１００は、ラック制御情報の再取得をすべきタイミングか否か判断し（Ｓ２３）、再取得すべき場合にはステップＳ１１に戻って、そうでない場合にはステップＳ１２に戻って処理をくり返す。例えば前回の取得から所定時間経過した場合に、再取得すべきことが考えられる。
また、ステップＳ１２でＮｏの場合、読取装置１００は、全ての連続読み防止タイマ１４８を解放して（Ｓ２２）、処理を終了する。以後、再度読み取りを開始するまで連続読み防止を行う必要がないためである。
【００７８】
〔第１実施形態の変形例：図１３〕
次に、上述した第１実施形態の変形例について説明する。
第１実施形態では、読取装置１００が、デコード範囲の画像中に含まれるコード記号を全てデコードしていたが、この変形例では、画像中で検出したコード記号のうち、最も中心に近い位置のもののみデコードするようにした点が、第１実施形態と異なるのみである。
各コード記号は、デコード範囲を通過する間に一度だけ、デコード範囲に入った順にデコードして読取結果を出力できればよいので、デコード範囲に入っている間ずっとデコードし続けるのは、無駄である。この変形例の方式であれば、デコード範囲に入った順にデコードしつつ、１つのコード記号をデコードする期間は、デコード範囲を通過する期間の半分程度に抑えられるため、デコードの処理負荷を低減することができる。また、連続読み防止機能も、第１実施形態の場合と同じアルゴリズムで適用することができる。
【００７９】
図１３に、各コード記号が図６の例と同じタイミングでデコード範囲に入る場合を例として、この変形例のアルゴリズムに従って各コード記号がデコードされる期間と、連続読み防止タイマのカウントタイミングとを示す。
図１３において、「フレームイン」で示す期間のうち、線が太線になっている期間が、各コード記号が最も中心に近い位置にあり、デコードされる期間である。例えばコード記号３１１ａ−２であれば、デコード範囲に入った後、１つ前のコード記号３５０ａよりも中心に近い位置に来た、概ね図５（ａ）に示すタイミングでデコードされるようになり、デコード範囲から出る前の、次のコード記号３１２ａ−２の方が中心に近い位置になる、概ね図５（ｂ）のタイミングでデコードされなくなる。
【００８０】
すなわち、コード記号３１１ａ−２は、時刻ｔ１１からｔ１２までの間デコードされる。そして、読取装置１００は、コード記号３１１ａ−２を時刻ｔ１１において最初にデコードした時には、その値「１００２」と対応する連続読み防止タイマがカウント中でないため、値「１００２」を読取結果として出力する。また、値「１００２」と対応する連続読み防止タイマのカウントをスタートさせる。このときカウントさせる所定時間は、第１実施形態の場合と同様、２π／ω（秒）である。第１実施形態の場合と比べ、初めてデコードされるタイミングは変化しているものの、再びコード記号３１１ａ−２が同じ位置に戻ってくるまでの時間は、第１レーン３１０が１周する時間で変わらないためである。
【００８１】
なお、この変形例のアルゴリズムを用いる場合、複数のコード記号がデコード範囲内にある場合に、最も中心に近い位置のコード記号が、何らかの理由で検出されないと、次に近い位置のコード記号が検出及びデコードされることになる。この場合、コード記号が本来デコードされないタイミングでデコードされてしまうことになるが、このことは、連続読み防止機能に特に影響を与えることはない。対応する連続読み防止タイマがカウント中であれば、該当のコード記号が本来デコードされるタイミングであろうとなかろうと、そのデコード結果を読取結果として出力しない点に変わりはないためである。太線部よりも早いタイミングでデコードが行われると、連続読み防止タイマが、想定よりも早いタイミングでスタートすることになるが、カウント時間を余裕をもって長めに設定しておけば、該当のコード記号がデコード範囲の外に出るまで連続読み防止タイマのカウントを続けることができ、１つのコード記号に対して同じ読取結果を２度出力してしまうことはない。
なお、コード記号３１１ａ−３に関する動作は、コード記号３１１ａ−２の場合と同様であるので、詳細な説明は省略する。
【００８２】
また、コード記号３１２ａ−２は、時刻ｔ２からｔ５までの間デコードに入り、時刻ｔ１３からｔ１４までの間デコードされる。そして、読取装置１００は、コード記号３１２ａ−２を時刻ｔ１３において最初にデコードした時には、その値「９９９９９９」と対応する連続読み防止タイマがカウント中でないため、値「９９９９９９」を読取結果として出力する。また、値「９９９９９９」と対応する連続読み防止タイマのカウントをスタートさせる。このときカウントさせる所定時間は、第１実施形態の場合と同様、２π／ω／ｐ１（秒）である。第１実施形態の場合と比べ、初めてデコードされるタイミングは変化しているものの、次の配置部３１２におけるコード記号３１２ａ−３がデコードされる位置に来るまでの時間は、第１レーン３１０が配置部３１２の１つ分回転する時間で変わらないためである。
【００８３】
この例では、時刻ｔ１３にカウントを開始した値「９９９９９９」と対応する連続読み防止タイマのカウントが終了した直後の時刻ｔ１５に、コード記号３１２ａ−３がデコードされる位置に来る。コード記号３１２ａ−３が示す値も「９９９９９９」であるが、この時点では値「９９９９９９」と対応する連続読み防止タイマのカウントは行われていないので、読取装置１００は値「９９９９９９」を読取結果として出力し、値「９９９９９９」と対応する連続読み防止タイマのカウントを再度スタートさせる。このときカウントさせる所定時間は、コード記号３１２ａ−２の読み取り時と同じである。
【００８４】
なお、コード記号３１２ａ−３がｔ１４より前の、本来デコードされない期間にデコードされてしまうと、まだ値「９９９９９９」と対応する連続読み防止タイマがカウント中であって、その時点では読取結果が出力されないことになる。しかし、この場合でも、時刻ｔ１４以降には読取結果を出力できるため、問題ない。むしろ、意図しないタイミングでの読取結果の出力を防止し、読取結果の出力順が狂うことを防止できる。
【００８５】
〔第２実施形態：図１４乃至図１６〕
次に、この発明の光学的情報読取システムの第２実施形態を含む物品管理システムについて説明する。
この第２実施形態は、読取装置１００のタイマ制御部１４６が連続読み防止タイマ１４８にカウントさせる所定時間の設定方法が異なる点以外は、第１実施形態と共通であるので、この相違点に関連する事項のみ説明する。また、第１実施形態と共通の又は対応する構成要素には、第１実施形態で用いたものと同じ符号を用いる。
【００８６】
第２実施形態では、タイマ制御部１４６は、撮像センサ１１１が撮像した画像中でのコード記号の移動速度に基づき、コード記号がデコード範囲に入ってから出るまでの時間を求めて、その時間を所定時間として設定する。この設定には、駆動制御装置２００から情報を取得する必要はなく、従って読取装置１００と駆動制御装置２００とが通信可能であることは必須ではない。また、図７のラック制御情報取得部１４９に当たる構成も不要である。
【００８７】
図１４に、この設定に関する機能を含む、第２実施形態の読取装置１００の機能構成を示す。
第２実施形態の読取装置１００は、上記のようにラック制御情報取得部１４９を持たない点と、種類判定部１４７と種類定義１６１を持たず、これらに代えてコード記号移動速度検出部１５０を備える点とが、図７の機能構成と異なる。
また、第２実施形態の読取装置１００において、コード記号取得部１４２は、撮像部１４１が撮像した画像のうちデコード範囲の画像からコード記号の画像を取得すると、各コード記号の全体画像中の位置の情報を、画像と共にデコード部１４３に渡す。各コード記号の位置は、例えば１又は複数の頂点の座標により示すことができる。また、ここでは、コード記号の移動方向の位置のみわかればよい。
【００８８】
また、デコード部１４３は、各画像をデコードすると、デコード結果を連続読み検出部１４４に渡す他、各デコード結果とコード記号の位置とを対応付けて、コード記号移動速度検出部１５０に渡す。
コード記号移動速度検出部１５０は、デコード部１４３から渡されたデータに基づき、撮像部１４１が撮像する画像中でのコード記号の移動速度を検出する。この検出は、撮像の度に行う必要はなく、所定フレーム（所定回の撮像）毎に行えばよい。
【００８９】
図１５は、この移動速度の検出方法を説明するための図である。
図１５において、５０１がデコード範囲を、５１１及び５１２が、撮像タイミングが所定フレーム異なる画像中の、同じ個体のコード記号の位置を示す。ここでは、所定フレームの数は、少なくとも中央付近にあったコード記号はデコード範囲の外に出てしまわない程度の数とする。このようにすれば、同じデコード結果を持つコード記号は、同じ個体のコード記号であると推定して差し支えない。
【００９０】
コード記号の移動速度ｖは、コード記号の移動経路を直線で近似すると、５１１と５１２の位置の差ｍ（画素）と、所定フレームの時間ｔ（秒）とを用いて、ｖ＝ｍ／ｔとして求めることができる。コード記号移動速度検出部１５０は、このように求めた移動速度ｖを、タイマ制御部１４６に供給する。
タイマ制御部１４６は、この移動速度ｖと、デコード範囲の、コード記号の移動方向の幅Ｓ（画素）とに基づき、コード記号がデコード範囲に入ってから出るまでの時間Ｔを、
Ｔ＝Ｓ／ｖ＝ｔ・Ｓ／ｍ
として求め、連続読み防止タイマ１４８にカウントさせる所定時間として用いる。ここでも、コード記号の移動経路を直線で近似している。
【００９１】
読取装置１００がどのレーンのコード記号を読み取っているかによって、読取装置１００からコード記号までの距離が異なるため、レーンの回転角速度が同じであっても、コード記号がデコード範囲に入ってから出るまでの時間Ｔは異なる。しかし、上記のように画像中でのコード記号の移動速度に基づき時間Ｔを求めて所定時間として用いれば、コード記号がデコード範囲に入って初めてデコードされた後、そのコード記号がデコード範囲から出るまで、そのコード記号のデコード結果を、読取結果として出力しないようにすることができる。
【００９２】
また、あるコード記号がデコード範囲から出た直後に、同じ値を示す別の個体のコード記号がデコード範囲に入った場合には、そのデコード結果を再度出力することができる。
すなわち、第２実施形態の構成でも、第１実施形態の場合と同様な連続読み防止機能を実現できる。
【００９３】
なお、コード記号を実際にデコード可能な範囲を考えた場合、図２や図３に示した一次元のバーコードのように、モジュールを移動方向と垂直に一次元的に配列したコード記号であれば、その一部がデコード範囲に入ってから、コード記号の全部がデコード範囲から出るまで、デコードが可能である。従って、その間の移動距離は、撮像範囲の幅Ｓに、コード記号の移動方向の幅ｗ（画素）を加えた値となる。従って、このようなコード記号の場合、Ｔは、
Ｔ＝ｔ・（Ｓ＋ｗ）／ｍ
とするとよい。
【００９４】
また、モジュールを二次元的に配列した二次元コードや、モジュールを移動方向に一次元的に配列したバーコードの場合には、コード記号の全部がデコード範囲に入ってから、コード記号の一部でもデコード範囲から出るまでしか、デコードができない。従って、その間の移動距離は、Ｓ−ｗである。従って、このようなコード記号の場合、Ｔは、
Ｔ＝ｔ・（Ｓ−ｗ）／ｍ
とするとよい。
従って、第２実施形態においては、コード記号の形式や配置方向及びサイズに応じて、所定時間を変えるとよいと言える。
【００９５】
図１６に、第２実施形態における連続読み防止機能を実現するために読取装置１００が実行する処理の、図１２と対応するフローチャートを示す。図１６は、図１２のフローチャートのうちステップＳ１１、Ｓ１８、Ｓ１９及びＳ２３を削除し、ステップＳＡ１及びＳＡ２を追加した点以外は、図１２と共通である。そこで、この相違点についてのみ説明する。
まず、ステップＳ１１及びＳ２３を削除したのは、駆動制御装置２００から情報を取得する必要がないためである。
また、図１６の処理において、読取装置１００は、ステップＳ１５の後、所定フレーム毎に、撮像した画像中のコード記号の位置を記録し、同じコード記号の前回の位置と比較して、当該コード記号の移動速度を算出する（ＳＡ１）。この処理は、コード記号移動速度検出部１５０の機能と対応する。また、所定フレーム毎に実行し、その他のフレームではスキップすればよい。
【００９６】
また、ステップＳ１６以降の繰り返し処理では、ステップＳ１６でＮｏの場合、読取装置１００は、直近にステップＳＡ１で算出したコード記号の移動速度に基づき、連続読み防止タイマ１４８に設定すべきカウント時間を算出する（ＳＡ２）。以後のステップＳ２０及びＳ２１の処理は、図１２の場合と共通である。ステップＳＡ２乃至Ｓ２０の処理が、タイマ制御部１４６の機能と対応する設定手順の処理である。
【００９７】
〔第３実施形態：図１７乃至図１９〕
次に、この発明の光学的情報読取システムの第３実施形態を含む物品管理システムについて説明する。
この第３実施形態も、読取装置１００のタイマ制御部１４６が連続読み防止タイマ１４８にカウントさせる所定時間の設定方法が異なる点以外は、第１実施形態と共通であるので、この相違点に関連する事項のみ説明する。また、第１実施形態と共通の又は対応する構成要素には、第１実施形態で用いたものと同じ符号を用いる。
【００９８】
第３実施形態では、読取装置１００が、読取対象のコード記号までの距離を測定し、タイマ制御部１４６が、その測定した距離に基づきコード記号がデコード範囲に入ってから出るまでの時間を求めて、その時間を所定時間として設定する。また、この設定に必要な情報は予め読取装置１００に記憶させておき、従って、読取装置１００と駆動制御装置２００とが通信可能であることは必須ではない。
【００９９】
図１７に、この設定に関する機能を含む、第３実施形態の読取装置１００の機能構成を示す。
第３実施形態の読取装置１００は、種類判定部１４７と種類定義１６１を持たず、これらに代えて測距部１５１及びラック情報１６２を備える点が、図７の機能構成と異なる。
これらのうち測距部１５１は、適宜公知の手法により、読取装置１００と読取対象物との間の距離を計測する機能を備える。この距離は、より正確には、レンズ１１２の主点から読取対象物までの光路長である。距離の計測には、例えば特許第４４７３３３７号公報に記載の手法を用いることができる。
【０１００】
この場合、第３実施形態の読取装置１００は、読取対象物にレーザ光を照射するためのレーザダイオードを備え、測距部１５１は、撮像部１４１が撮像して得た画像中の、レーザ光のスポットが写る位置に基づき、読取装置１００と読取対象物との間の距離を計測する。測距部１５１は、随時距離の計測を行い、タイマ制御部１４６にその結果を供給する。
【０１０１】
ラック情報１６２は、基本的には図１１に示したラック構成情報２６１と同じものである。これらの情報は、ラック３００の構成や読取装置１００の配置に変更がなければ変化しない情報であり、予め読取装置１００に記憶させておいても、頻繁に変更する必要はなく、ユーザの手間はさほど大きくない。また、第３実施形態においては、各レーンを回転させる場合の角速度は（加減速中を除き）予め定められた一定速度であり、その値ωも、ラック情報１６２に含まれる。また、ラック３００に関する情報ではないが、デコード範囲の半画角θも、ラック情報１６２に含まれる。なお、この半画角θは、撮像センサ１１１による撮像範囲の半画角と、撮像範囲のうちどの程度の範囲をデコード範囲とするかの情報とに基づき算出することができる。
タイマ制御部１４６は、測距部１５１から供給される距離の情報と、ラック情報１６２とに基づき、コード記号がデコード範囲に入ってから出るまでの時間を求める。
【０１０２】
図１８を用いて、この算出方法を説明する。
図１８に示した各値のうち、ｄは測距により得られ、θ、Ｄ、ωはラック情報１６２から得られる。そして、レーンの回転に伴うコード記号の移動経路を直線で近似すると、デコード範囲を横切るために必要なコード記号の実空間上の移動距離Ｗは、
Ｗ＝２ｄ・tanθ
で求められる。また、ｒ＝Ｄ−ｄである。
【０１０３】
これらを用いて、コード記号がデコード範囲を横切るために必要な時間Ｔは、
Ｔ＝Ｗ／ωｒ＝２ｄ・tanθ／ω（Ｄ−ｄ）
で求められる。このとき、コード記号の形式や配置方向及びサイズに応じてＷの値を調整するとよいことは、第２実施形態の場合と同様である。
【０１０４】
上記のように求めた時間Ｔを連続読み防止タイマにカウントさせる所定時間として用いれば、コード記号がデコードに入って初めてデコードされた後、そのコード記号がデコードから出るまで、そのコード記号のデコード結果を、読取結果として出力しないようにすることができる。
また、あるコード記号がデコードから出た直後に、同じ値を示す別の個体のコード記号がデコードに入った場合には、そのデコード結果を再度出力することができる。
すなわち、第３実施形態の構成でも、第１実施形態の場合と同様な連続読み防止機能を実現できる。
【０１０５】
図１９に、第３実施形態における連続読み防止機能を実現するために読取装置１００が実行する処理の、図１２と対応するフローチャートを示す。図１９は、図１２のフローチャートのうちステップＳ１１、Ｓ１８、Ｓ１９及びＳ２３を削除し、ステップＳＢ１及びＳＢ２を追加した点以外は、図１２と共通である。そこで、この相違点についてのみ説明する。
まず、ステップＳ１１及びＳ２３を削除したのは、駆動制御装置２００から情報を取得する必要がないためである。
次に、図１９の処理において、読取装置１００は、ステップＳ１３でＮｏの場合あるいはステップＳ１４の後、所定フレーム毎に、レーザダイオード（ＬＤ）を点灯して撮像し、画像中でのスポットの位置に基づき、読取装置１００から読取対象物までの距離を測定する（ＳＢ１）。この処理は、測距部１５１の機能と対応する測距手順の処理である。また、所定フレーム毎に実行し、その他のフレームではスキップすればよい。
【０１０６】
また、ステップＳ１６以降の繰り返し処理では、ステップＳ１６でＮｏの場合、読取装置１００は、直近にステップＳＢ１で測定した距離及びラック情報１６２に基づき、連続読み防止タイマ１４８に設定すべきカウント時間を算出する（ＳＢ２）。以後のステップＳ２０及びＳ２１の処理は、図１２の場合と共通である。ステップＳＢ２乃至Ｓ２０の処理が、タイマ制御部１４６の機能と対応する設定手順の処理である。
【０１０７】
〔変形例〕
以上で実施形態の説明を終了するが、この発明において、各装置の具体的な構成、具体的な処理の手順、データの形式、具体的なデータの内容、採用する規格等は、実施形態で説明したものに限るものではない。
例えば、ラック３００において、レーンの数が３である必要はなく、１つのみでも、２つでも、４以上であってもよい。また、配置部３１２，３２２，３３２は、物品を載置するものだけでなく、把持したり、吊り下げたりして配置する箇所であってもよい。
また、ラック３００の各レーンは、円周状でなく、直線状に形成され、直線状に移動されるものであってもよい。この場合、移動は所定の経路を往復する移動となる。
また、ラック３００と読取装置１００とが相対的に等速度で移動すれば、ラック３００が固定され読取装置１００側が移動する構成であっても、上述した実施形態の場合と同様な連続読み防止機能を実現できる。
【０１０８】
また、ラック３００の移動速度や配置部の配置間隔に若干の変動があっても、連続読み防止機能に特段の支障はない。例えば、ある場所ではデコード範囲に同じ値を示すコード記号が２つ同時に入ってしまうほど配置部の配置間隔が狭い、ある場所の間隔あるいはある時点の移動速度を前提にある種類のコード記号について設定した連続読み防止タイマが、別の場所あるいは別の時点では、同じ種類のコード記号がデコード範囲にある間にタイムアップしてしまう、といった事態が生じない範囲であれば、ラック３００の移動速度や配置部の配置間隔の変動は許容できる。すなわち、ラック３００の移動速度や配置部の配置間隔は、この意味でほぼ等速度、ほぼ等間隔であればよい。
【０１０９】
また、上述した読取装置１００、駆動制御装置２００、ラック３００及びデータ処理装置４００は、任意の組み合わせで一体化して設けてもよい。駆動制御装置２００とデータ処理装置４００の機能を兼ね備える装置を設ける等である。また、ラック３００と読取装置１００とを一体化した場合でも、読取装置１００がラック３００中の配置部の移動経路の外にあれば、読取装置１００は物品保持具の外部に配置されているとみなすことができる。また、読取装置１００、駆動制御装置２００及びデータ処理装置４００の機能のうち、特に情報処理に関する機能は、複数の装置に分散して設け、それらの装置を協働させて当該機能を実現させる構成も、妨げられない。
【０１１０】
さらに、ユーザの操作を受け付ける機能はデータ処理装置４００に一元的に設け、読取装置１００及び駆動制御装置２００は、それぞれユーザの操作あるいはユーザによりなされた設定に基づきデータ処理装置４００が送信する指示に基づき動作する、という構成も考えられる。この場合には、データ処理装置４００と駆動制御装置２００とが協働して、上述下した実施形態における駆動制御装置２００の機能を実現する、と考えることもできる。
【０１１１】
また、上述した実施形態は、読取対象物を二次元的に撮像してその画像に含まれるコード記号をデコードする例について説明した。しかし、第１実施形態については、コード記号が通る位置を一元的に走査して、その反射率の分布をデコードする構成であっても、上述した実施形態の場合と同様な連続読み防止機能を実現できる。
【０１１２】
また、この発明のプログラムの実施形態は、１のコンピュータに、あるいは複数のコンピュータを協働させて、所要のハードウエアを制御させ、上述した実施形態における読取装置１００における、連続読み防止機能を含む機能を実現させ、あるいは上述した実施形態にて説明した処理を実行させるためのプログラムである。
【０１１３】
このようなプログラムは、はじめからコンピュータに備えるＲＯＭや他の不揮発性記憶媒体（フラッシュメモリ，ＥＥＰＲＯＭ等）などに格納しておいてもよい。メモリカード、ＣＤ、ＤＶＤ、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。さらに、ネットワークに接続された外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
【０１１４】
また、以上説明してきた実施形態及び変形例の構成が、相互に矛盾しない限り任意に組み合わせて実施可能であり、また、一部のみを取り出して実施することができることは、勿論である。
【符号の説明】
【０１１５】
１００…読取装置、１０１…読取対象物、１０２，３１１ａ，３１２ａ，３２１ａ，３５０ａ…コード記号、２００…駆動制御装置、３００…ラック、３１０…第１レーン、３１１，３２１，３３１…仕切り、３１２，３２２，３３２…（物品）配置部、３１４，３２４…壁、３１５…窓、３２０…第２レーン、３３０…第３レーン、３５０…物品、４００…データ処理装置
【図１】
2019197365.tif 000003
【図２】
2019197365.tif 000004
【図３】
2019197365.tif 000005
【図４】
2019197365.tif 000006
【図５】
2019197365.tif 000007
【図６】
2019197365.tif 000008
【図７】
2019197365.tif 000009
【図８】
2019197365.tif 000010
【図９】
2019197365.tif 000011
【図１０】
2019197365.tif 000012
【図１１】
2019197365.tif 000013
【図１２】
2019197365.tif 000014
【図１３】
2019197365.tif 000015
【図１４】
2019197365.tif 000016
【図１５】
2019197365.tif 000017
【図１６】
2019197365.tif 000018
【図１７】
2019197365.tif 000019
【図１８】
2019197365.tif 000020
【図１９】
2019197365.tif 000021