(57)【要約】【課題】バーコードの読み取り性能を向上させる。【解決手段】バーコードの読取指示に応じて読取部５７から出力される、前記バーコードの一連の読取データを構成する複数のデータの各々が、第１及び第２の値のいずれの値を示すかを、互いに異なる判定基準に基づき判定する複数の判定部２２−１〜２２−５と、前記複数のデータについての各判定部２２による複数の判定結果から、前記バーコードの規格に応じて予め設定した選択条件に基づき、一の判定部２２による複数の判定結果を選択し、前記読取指示の指示元へ出力する選択部２７と、をそなえる。【選択図】図１１
2016076283.tif 000002
【特許請求の範囲】
【請求項１】
バーコードの読取指示に応じて読取部から出力される、前記バーコードの一連の読取データを構成する複数のデータの各々が、第１及び第２の値のいずれの値を示すかを、互いに異なる判定基準に基づき判定する複数の判定部と、
前記複数のデータについての各判定部による複数の判定結果から、前記バーコードの規格に応じて予め設定した選択条件に基づき、一の判定部による複数の判定結果を選択し、前記読取指示の指示元へ出力する選択部と、をそなえる
ことを特徴とする、データ判定装置。
【請求項２】
前記複数の判定部の各々から出力される複数の判定結果を、前記判定部ごとに格納するデータ格納部と、
前記複数の判定結果が第１の値から第２の値に変化した回数を前記判定部ごとにカウントする複数のカウンタと、をさらにそなえ、
前記選択部は、カウント値が所定値に近いカウンタに対応するデータ格納部に格納された複数の判定結果を選択する、
ことを特徴とする、請求項１記載のデータ判定装置。
【請求項３】
前記複数の判定部の各々は、前記データと前記読取部から前記データの１つ前に出力された前回データとの差分と、前記判定部ごとに値の異なる所定の変化量とに基づき、前記データが第１及び第２の値のいずれの値を示すかを判定する、
ことを特徴とする、請求項１又は請求項２記載のデータ判定装置。
【請求項４】
前記判定部による判定結果が所定回数以上連続して第１及び第２の値のうちの一方の値を示す場合、当該判定結果を有効な判定結果と判断して前記選択部へ出力する一方、前記判定部による判定結果が所定回数連続して前記一方の値を示す前に他方の値を示した場合、当該判定結果を無効な判定結果と判断して、当該判定結果を直前に有効と判断した判定結果に補正して前記選択部へ出力する補正部をさらにそなえる
ことを特徴とする、請求項１〜３のいずれか１項記載のデータ判定装置。
【請求項５】
各々にバーコードが表示された複数の記録媒体を収納するライブラリ装置であって、
バーコードの読取指示に応じて一の記録媒体のバーコードを読み取る読取装置をそなえ、
前記読取装置が、
複数のデータにより構成される前記バーコードの一連の読取データを出力する読取部と、
前記複数のデータの各々が、第１及び第２の値のいずれの値を示すかを、互いに異なる判定基準に基づき判定する複数の判定部と、
前記複数のデータについての各判定部による複数の判定結果から、前記バーコードの規格に応じて予め設定した選択条件に基づき、一の判定部による複数の判定結果を選択し、前記読取指示の指示元へ出力する選択部と、をそなえる
ことを特徴とする、ライブラリ装置。
【請求項６】
バーコードの読取データを判定するデータ判定装置が実行するデータ判定方法であって、
前記データ判定装置は、
バーコードの読取指示に応じて読取部から出力される、前記バーコードの一連の読取データを構成する複数のデータの各々が、第１及び第２の値のいずれの値を示すかを、互いに異なる判定基準に基づき複数の判定を行ない、
前記複数のデータについての複数の判定結果から、前記バーコードの規格に応じて予め設定した選択条件に基づき、一の判定による複数の判定結果を選択し、前記読取指示の指示元へ出力する
ことを特徴とする、データ判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコードのデータ判定装置，ライブラリ装置，及びバーコードのデータ判定方法に関する。
【背景技術】
【０００２】
磁気テープカートリッジや光ディスクカートリッジ等の媒体カートリッジ（記録媒体）を複数収納するライブラリ装置が知られている。ライブラリ装置では、筐体内部に設けられた複数の収納セルに媒体カートリッジがセル単位で格納される。
【０００３】
ライブラリ装置は、ホストからの移動命令に基づき、搬送ロボットにより収納セル及びドライブモジュール間で媒体カートリッジのピックアップ，運搬，及び投入（挿入）を行なうことで、ドライブモジュールに投入された媒体の記録又は再生を行なう。
【０００４】
媒体カートリッジのカートリッジ背面には、媒体管理情報を含むバーコードを記録したバーコードラベルが貼付され、搬送ロボットに搭載されたバーコードリーダによりバーコードが読み取られる。バーコードリーダは、ＬＥＤ（Light Emitting Diode）をライン配置したＬＥＤ照明ユニットとＣＣＤ（Charge Coupled Device）リニアセンサとをそなえる。ライブラリ装置は、搬送ロボットをカートリッジ背面（バーコードラベル）に対向させた状態で、ＬＥＤ照明ユニットを点灯してＣＣＤリニアセンサによるスキャンを行ない、スキャン結果をデコードすることで、バーコードの読み取り（媒体管理情報の取得）を行なうことができる。
【０００５】
ところで、ライブラリ装置では、装置の起動時やホストからの指示により、収納された媒体カートリッジについて、媒体管理情報と収納セルの位置情報とを対応付けて管理（登録）するインベントリ処理が行なわれる。
【０００６】
インベントリ処理では、ライブラリ装置は、装置内に収納されている多数の媒体カートリッジのバーコードラベルを連続的に読み取り、装置内のどの位置にどのような媒体カートリッジが収納されているかをホストに通知する。例えばライブラリ装置は、処理対象とするカラム（収納セルの縦方向の並び）の最上部又は最下部のセル位置に搬送ロボットを移動して位置付けた後に、バーコードリーダをスキャン動作させながら搬送ロボットを一定速度で下降又は上昇移動させて、媒体カートリッジのバーコードラベルを連続的に読み取る。
【０００７】
バーコードを読み取る手法については、種々の技術が知られている（例えば、下記特許文献１〜４参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２００５／００４１４２号パンフレット
【特許文献２】特開平０８−０４４８０９号公報
【特許文献３】特開平０５−０８９２７８号公報
【特許文献４】特開２００２−０３２７１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、バーコードリーダの読み取り環境における種々の要因により、読み取りエラー或いは誤認識等が発生し、バーコードを正しく読み取れない場合がある。この場合、再度読み取り動作を行なうリトライ処理を実施することもできるが、搬送ロボットの移動は機械的な動作であるため、リトライ処理によりホストへの応答時間は遅延し得る。
【００１０】
特に、大型のライブラリ装置では、収納する媒体カートリッジは数百巻となることもあり、収納する媒体カートリッジの数が多くなるほど、インベントリ処理にかかる時間は長期化する。このため、インベントリ処理においてバーコードが正しく読み取れずリトライ処理が頻発した場合には、ホストへの通知が大幅に遅延することになり、ライブラリ装置が利用可能になるまでに多大な時間がかかってしまう。
【００１１】
なお、上述した課題は、ライブラリ装置に限られたものではなく、バーコードラベルを貼付された又はバーコードを印字された管理対象からバーコードを読み取る種々の装置においても同様に生じ得る。
【００１２】
１つの側面では、本発明は、バーコードの読み取り性能を向上させることを目的とする。
【課題を解決するための手段】
【００１３】
１つの態様では、本件のデータ判定装置は、複数の判定部と、選択部とをそなえる。前記複数の判定部は、バーコードの読取指示に応じて読取部から出力される、前記バーコードの一連の読取データを構成する複数のデータの各々が、第１及び第２の値のいずれの値を示すかを、互いに異なる判定基準に基づき判定する。また、前記選択部は、前記複数のデータについての各判定部による複数の判定結果から、前記バーコードの規格に応じて予め設定した選択条件に基づき、一の判定部による複数の判定結果を選択し、前記読取指示の指示元へ出力する。
【発明の効果】
【００１４】
１つの側面では、バーコードの読み取り性能を向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】一実施形態に係るライブラリ装置の一例を示す斜視図である。
【図２】図１に例示するライブラリ装置の正面図である。
【図３】図１に例示するライブラリ装置から搬送ロボットに関連する構成を抽出した斜視図である。
【図４】搬送ロボット及びその周辺の構成例を示す図である。
【図５】ライブラリ装置の動作の一例を説明する図である。
【図６】媒体カートリッジに貼付されたバーコードラベルの一例を示す図である。
【図７】バーコードリーダとバーコードラベルとの位置付け精度と、ＣＣＤリニアセンサからの出力信号との関係の一例を示す図である。
【図８】外乱光が発生したときのＣＣＤリニアセンサからの出力信号の一例を示す図である。
【図９】バックセル及びサイドセルの板金及びネジを黒色塗装した例を示す図である。
【図１０】一実施形態に係るバーコードリーダの構成例を示す図である。
【図１１】一実施形態に係る判定装置の構成例を示す図である。
【図１２】ＣＣＤリニアセンサからの出力波形の一部（拡大図）についてのＡ／Ｄ変換部によるサンプリング結果の一例を示す図である。
【図１３】Ａ／Ｄ変換部により図１２に示すデータが入力される場合の各比較部での判定結果例を示す図である。
【図１４】一実施形態に係る並列処理部による判定（比較）処理の一例を説明するフローチャートである。
【図１５】一実施形態に係る並列処理部によるノイズ除去処理の一例を説明するフローチャートである。
【図１６】一実施形態に係る出力選択部による黒バー判定処理の一例を説明するフローチャートである。
【図１７】一実施形態に係る出力選択部による出力選択処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【００１７】
〔１〕一実施形態
〔１−１〕ライブラリ装置について
はじめに、図１〜図５を参照しながら、一実施形態に係るライブラリ装置について説明する。
【００１８】
図１は、一実施形態に係るライブラリ装置１の一例を示す斜視図である。図１に示すように、ライブラリ装置１は、データセンタやサーバルーム等の施設に設置可能なラック型の装置とすることができる。なお、ライブラリ装置１として、他の態様、例えばより大規模なモジュラー型の装置が用いられてもよい。
【００１９】
図２は、図１に例示するライブラリ装置１の正面図である。ライブラリ装置１は、ラックの内側の正面奥にバックセル２を、ラックの内側の両側面にサイドセル３をそなえる。バックセル２及びサイドセル３にはそれぞれ媒体カートリッジが収納される複数の収納セルが設けられる。なお、一実施形態に係るライブラリ装置１（バックセル２及びサイドセル３）は、数百巻の媒体カートリッジ６を収納することができる。
【００２０】
また、ライブラリ装置１は、ドライブモジュール４と、上ロボット５−１及び下ロボット５−２（以下の説明においてこれらを区別しない場合には単に搬送ロボット５という）とをそなえる。
【００２１】
ドライブモジュール４は、後述するホスト７又は上位制御部８（図５参照）からの指示に応じて、投入（挿入）された媒体カートリッジ６（図５参照）内の媒体に対してデータの記録又は再生を行なう。
【００２２】
搬送ロボット５は、ホスト７又は上位制御部８からの指示に応じて、収納セル及びドライブモジュール４間で媒体カートリッジ６のピックアップ，運搬，及び投入（挿入）を行なう。
【００２３】
図３は、図１に例示するライブラリ装置１から搬送ロボット５に関連する構成を抽出した斜視図である。搬送ロボット５は、レール（Ｙ機構）５１をガイドとして、モータ駆動によりラック内を上下方向に移動することが可能である。なお、搬送ロボット５は、バランサ５２により水平姿勢を保つように制御される。
【００２４】
図４に搬送ロボット５及びその周辺の構成例を示す。搬送ロボット５は、モータによって駆動するＺ機構５３，Ｘ機構５４，及びスイブル機構５５により、ラック内の水平方向を自在に移動することができる。Ｚ機構５３は、搬送ロボット５をラックの奥行方向に移動させ、Ｘ機構５４は、搬送ロボット５をラックの左右方向に移動させる。スイブル機構５５は、搬送ロボット５をおよそ２７０°の範囲で水平面（Ｘ−Ｚ平面）において回転させるものである。搬送ロボット５は、ハンド機構５８により把持する媒体カートリッジ６を、レール５１，Ｚ機構５３，Ｘ機構５４により移動元から移動先へ運搬し、スイブル機構５５により移動先の収納セル又はドライブモジュール４に対向させることができる。
【００２５】
ＬＥＤ照明ユニット５６は、複数のＬＥＤをライン状に配置したものであり、媒体カートリッジ６のバーコードラベル６ａ（図６参照）に光を照射する光源の一例である。
【００２６】
ＣＣＤリニアセンサ５７は、複数のフォトダイオードをライン状に配置し、各フォトダイオードにＣＣＤを接続したものであり、ＬＥＤ照明ユニット５６の点灯によるバーコードラベル６ａからの反射光を検出し、電気信号、例えば電圧信号に変換する。ＣＣＤリニアセンサ５７は、ホスト７又は上位制御部８からのバーコードの読取指示に応じて、複数のデータにより構成されるバーコードの一連の読取データを出力する読取部の一例であるといえる。
【００２７】
ハンド機構５８は、媒体カートリッジ６を把持する爪又はアーム等のハンド部と、ハンド部が把持した媒体カートリッジ６を収容する収容部とをそなえる。ハンド機構５８は、媒体カートリッジ６を、移動元の収納セル又はドライブモジュール４からピックアップして（取り出して）搬送ロボット５内に収容し、移動先の収納セル又はドライブモジュール４に投入（挿入）する。
【００２８】
また、搬送ロボット５は、ＬＥＤ照明ユニット５６及びＣＣＤリニアセンサ５７の制御により媒体カートリッジ６のバーコードラベル６ａを読み取り、読取結果を上位制御部８へ送信する制御ボード５０をそなえる。制御ボード５０としては、例えばＬＳＩ（Large Scale Integration）等の集積回路，ＡＳＩＣ（Application Specific Integrated Circuit），ＦＰＧＡ（Field Programmable Gate Array），ＭＰＵ（Micro-Processing Unit）等の電子回路の少なくとも１つを含むプリント版（回路基板）が挙げられる。
【００２９】
このように、ＬＥＤ照明ユニット５６，ＣＣＤリニアセンサ５７，及び制御ボード５０は、バーコードの読取指示に応じて一の媒体カートリッジ６のバーコードを読み取るバーコードリーダ１０として機能することができる。
【００３０】
媒体カートリッジ６は、例えば磁気テープカートリッジや光ディスクカートリッジ等のデータを記憶する記録媒体の一例である。磁気テープカートリッジとしては例えばＬＴＯ（Linear Tape-Open Ultrium）テープが挙げられる。光ディスクカートリッジとしては、光ディスク、例えばＣＤ（Compact Disc），ＤＶＤ（Digital Versatile Disc），ブルーレイディスク等を格納するカートリッジが挙げられる。ＣＤとしては、ＣＤ−ＲＯＭ，ＣＤ−Ｒ（CD-Recordable），ＣＤ−ＲＷ（CD-Rewritable）等が挙げられ、ＤＶＤとしては、ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷ等が挙げられる。なお、これらの光ディスクのうち、書き換え可能な光ディスクが用いられることが好ましい。
【００３１】
以下、一実施形態においては、媒体カートリッジ６として、磁気テープカートリッジが用いられ、ドライブモジュール４はテープドライブであるものとして説明する。
【００３２】
図５は、ライブラリ装置１の動作の一例を説明する図である。ライブラリ装置１は、ＦＣ（Fibre Channel；ファイバチャネル）等の通信ケーブルを介して接続されたホスト７からの指示に応じて、搬送ロボット５やドライブモジュール４の制御を行なう。
【００３３】
ホスト７は、ライブラリ装置１に対して、収納セル及びドライブモジュール４における移動元から移動先への媒体カートリッジ６の投入，媒体カートリッジ６へのライトデータの記録又はリードデータの再生，及びインベントリ処理等の指示を行なう。なお、ホスト７としては、例えばサーバやＰＣ（Personal Computer）等の情報処理装置が挙げられる。
【００３４】
ライブラリ装置１は、図５に例示するように、上述したバックセル２，サイドセル３，ドライブモジュール４，及び搬送ロボット５に加えて、上位制御部８及びロボット制御部９をそなえる。
【００３５】
上位制御部８は、ホスト７からの指示に応じて、ロボット制御部９に対する搬送ロボット５の移動制御，搬送ロボット５に対するバーコードラベル６ａの読取制御，及びドライブモジュール４に対する媒体カートリッジ６の媒体への記録又は再生制御を行なう。上位制御部８としては、例えばＣＰＵ（Central Processing Unit）等のプロセッサ，ＲＡＭ（Random Access Memory）等のメモリ，ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の記憶装置等をそなえるサーバやＰＣ等の情報処理装置が挙げられる。
【００３６】
ロボット制御部９は、上位制御部８からの指示（制御）に応じて、搬送ロボット５を移動させる各モータの駆動を制御する。モータとしては、例えばレール５１に沿って上下方向に移動させるモータ，搬送ロボット５をＺ機構５３及びＸ機構５４によって奥行方向及び左右方向にそれぞれ移動させるモータ，搬送ロボット５をＸ−Ｚ平面で回転させるスイブル機構５５のモータ等が挙げられる。ロボット制御部９としては、例えばＡＳＩＣやＭＰＵ等の集積回路が挙げられる。
【００３７】
また、上位制御部８は、ライブラリ装置１の起動後又はホスト７からの指示に応じて、バックセル２及びサイドセル３に収納された媒体カートリッジ６を登録するためのインベントリ処理を行なう。
【００３８】
インベントリ処理において、上位制御部８は、ロボット制御部９及び搬送ロボット５に対して、収納セルに格納された媒体カートリッジ６の媒体管理情報、例えばボリューム番号を読み取り、ボリューム番号及び収納セルの位置情報を通知するよう指示する。ロボット制御部９は、処理対象とするカラム（収納セルの縦方向の並び）の最上部又は最下部のセル位置に搬送ロボット５を移動して位置付けた後に、搬送ロボット５を一定速度で下降又は上昇移動させる。
【００３９】
搬送ロボット５は、ロボット制御部９による搬送ロボット５の移動に合わせて、バーコードリーダ１０により媒体カートリッジ６の背面（バーコードラベル６ａ）を連続的にスキャンする。スキャン結果は、制御ボード５０から直接又はロボット制御部９を介して上位制御部８に送信される。上位制御部８は、スキャン結果をデコードし、バーコードの文字を認識して媒体管理情報（ボリューム番号）の取得を行なう。全ての収納セルのチェックが完了すると、上位制御部８は、収集したボリューム番号及び収納セルの位置情報をホスト７に通知し、インベントリ処理を完了する。
【００４０】
インベントリ処理により収集されたボリューム番号及び収納セルの位置情報は、ホスト７が媒体カートリッジ６へのアクセスを指示する際に、当該媒体カートリッジ６及びその収納セルを特定するために用いられる。
【００４１】
なお、図６に示すように、バーコードリーダ１０は、１つのバーコードラベル６ａに対して、搬送ロボット５を下降又は上昇移動させて、破線で示すような異なる位置で複数回のスキャンを行ない、上位制御部８で数回以上バーコードを認識できれば読取成功とすることもできる。
【００４２】
ところで、上述のように、ライブラリ装置１では、数百巻の媒体カートリッジ６を収納可能である。インベントリ処理では、媒体カートリッジ６の収納巻数が多ければ多いほど、高速に処理が行なわれることが好ましい。
【００４３】
しかしながら、インベントリ処理をはじめとするバーコードリーダによる読み取りでは、種々の要因により、読み取りエラー或いは誤認識等が発生し、バーコードを正しく読み取れない場合がある。これらの要因としては、バーコードラベル６ａの素材の違い（反射率等），バーコードリーダとバーコードラベル６ａとの位置付け精度，収納セルの板金等による外乱光等が挙げられる。
【００４４】
（ａ）バーコードラベル６ａの素材の違いに起因する読み取りエラー或いは誤認識の発生
バーコードラベル６ａには、ライブラリ装置１（搬送ロボット５）のメーカごとに自社の装置に最適なラベルの母材が使用されており、バーコードリーダはバーコードラベル６ａを最適に読み取れるようチューニングされていることが多い。
【００４５】
モノクロＣＣＤリニアセンサを用いたバーコードリーダは、バーコードラベル６ａのバーの白／黒を判定するための基準レベルを1つの値としていることが多い。このため、１つのライブラリ装置１内で複数の異なるラベル母材のバーコードラベル６ａを貼り付けた媒体カートリッジ６を収納して使用する場合、バーコードラベル６ａの光の反射率の違いにより、バーコードリーダで読み取りエラーが発生する場合がある。
【００４６】
この場合、読み取りレベルを変更して再度読み直す動作を繰り返すため、リトライ処理に時間を要する。また、１つのバーコードラベル６ａに対する複数回のスキャンを行なうようにしても、読み取りレベルを変更する場合には、複数回のスキャンをリトライすることになるため、ホストへの応答時間は遅延し得る。
【００４７】
（ｂ）バーコードリーダとバーコードラベル６ａとの位置付け精度に起因する読み取りエラー或いは誤認識の発生
図７に例示するように、可動する搬送ロボット５に取り付けられたバーコードリーダから照射される光は、搬送ロボット５とバーコードラベル６ａの位置付け精度が悪い場合、バーコードラベル６ａからの反射光に偏りが生じる。図７の例では、バーコードラベル６ａの左端の光強度が最も強く、右端に向かうにつれて徐々に光強度が弱くなる。
【００４８】
このため、ＣＣＤリニアセンサでの受信光の強度に応じた出力信号（電圧信号）が均一にならず、読み取り精度が低下してしまう。図７の例では、バーコードラベル６ａの左端から右端に向かうにつれて、出力信号が、バーコードの白／黒を判定する基準値に近づきマージンが小さくなるため、白／黒判定において誤検出の可能性が高くなる。
【００４９】
（ｃ）収納セルの板金等による外乱光に起因する読み取りエラー或いは誤認識の発生
図８に例示するように、バーコードリーダは、バーコードラベル６ａ以外からの反射光（外乱光）を検出してしまう場合がある。反射光は、ＣＣＤリニアセンサにおいて、バーコードラベル６ａの端部の信号出力にノイズ（短い幅の信号）を発生させ、上位制御部８における読み取り時（デコード時）に誤認識を生じさせる可能性がある。
【００５０】
バーコードの誤認識を低減させ正確にバーコードを読み取るためには、バーコードラベル６ａの周辺において、ラベル以外の反射光を抑制させる反射対策を行なうことが有効である。反射対策としては、図９に例示するように、バックセル２及びサイドセル３の板金２ａ，３ａやネジ２ｂ，３ｂ等を黒色塗装することが考えられるが、黒色塗装によりライブラリ装置１の部品が高価になってしまう。
【００５１】
これに対し、一実施形態に係るライブラリ装置１は、以下に詳述するバーコードリーダ１０により、バーコードの読み取り性能を向上させることができる。以下、バーコードリーダ１０の詳細について説明する。
【００５２】
〔１−２〕バーコードリーダについて
図１０は、一実施形態に係るバーコードリーダ１０の構成例を示す図である。バーコードリーダ１０は、例示的に、上位インタフェース部１１，コマンド処理部１２，Ａ／Ｄ変換部１３，白／黒判定部１４，ＬＥＤ照明ユニット５６，及びＣＣＤリニアセンサ５７をそなえる。なお、上位インタフェース部１１，コマンド処理部１２，Ａ／Ｄ変換部１３，及び白／黒判定部１４の少なくとも１つは、集積回路として制御ボード５０に実装されてよい。
【００５３】
上位インタフェース部１１は、上位制御部８との通信を行なうものであり、例示的に、上位制御部８からの指示（コマンド）を受け付ける受信部１１１と、バーコードのスキャン結果を上位制御部８に送信する上位送信部１１２とをそなえる。
【００５４】
コマンド処理部１２は、受信部１１１が受信した上位制御部８からの指示に応じて、ＬＥＤ照明ユニット５６の点灯及びＣＣＤリニアセンサ５７のスキャンを制御する。
【００５５】
Ａ／Ｄ変換部１３は、ＣＣＤリニアセンサ５７によるバーコードのスキャン結果、つまりＬＥＤ照明ユニット５６からの光強度に応じたスキャンデータ（出力信号）を、アナログ−デジタル変換して白／黒判定部１４に供給する。
【００５６】
白／黒判定部１４は、Ａ／Ｄ変換部１３でデジタル信号に変換されたスキャンデータについて白／黒判定処理を行ない、判定結果を上位送信部１１２に供給する。つまり、白／黒判定部１４は、媒体カートリッジ６のバーコードのデータを判定する判定装置２０の一例である。
【００５７】
〔１−３〕判定装置について
次に、図１１を参照しながら、一実施形態に係る判定装置２０の詳細について説明する。図１１に示すように、判定装置２０は、例示的に、並列処理部２１及び出力選択部２４をそなえる。
【００５８】
並列処理部２１は、入力されるバーコードのスキャンデータを、複数の異なる判定基準に基づき、白か黒かを判定する白／黒判定処理を行なう。
【００５９】
出力選択部２４は、所定のバーコードの規格から予め設定した選択条件に従い、白／黒判定の判定結果から一の判定基準を用いた判定結果を選択して、上位制御部８に出力する。
【００６０】
〔１−３−１〕並列処理部の構成
次に、並列処理部２１の詳細について説明する。なお、以下の説明では、ＣＣＤリニアセンサ５７からの出力信号が、Ａ／Ｄ変換部１３により０〜２５５の範囲のデータ値に変換されるものとする。
【００６１】
図１１に示すように、並列処理部２１は、例示的に、前回データ保持部２１１及び複数（図１１では５つ）の比較部２２−１〜２２−５（以下の説明においてこれらを区別しない場合には単に比較部２２という）をそなえる。
【００６２】
前回データ保持部２１１は、Ａ／Ｄ変換部１３から前回入力されたスキャンデータ（データ値）を保持するものであり、白／黒判定処理の際に、保持する前回データを各比較部２２に供給する。なお、前回データ保持部２１１は、スキャンの開始前に、Ａ／Ｄ変換部１３により初期値として２５５が設定されてよい。
【００６３】
比較部２２は、Ａ／Ｄ変換部１３から入力されるデータと、前回データ保持部２１１から入力される前回データと、互いに異なる判定基準とを用いて白／黒判定処理を行ない、白又は黒を示す判定データを出力する。一例として、比較部２２−１〜２２−５は、それぞれ判定基準として変化量Δ１〜Δ５を保持する。図１１の例では、各変化量Δｎ（ｎは自然数）には、それぞれ変化量Δ１＝２０，変化量Δ２＝４０，変化量Δ３＝６０，変化量Δ４＝８０，変化量Δ５＝１００の値が設定されている。
【００６４】
図１２を参照して、比較部２２による白／黒判定処理の一例を説明する。図１２は、ＣＣＤリニアセンサ５７からの出力波形の一部（拡大図）についてのＡ／Ｄ変換部１３によるサンプリング結果の一例を示す図である。なお、図１２では、説明の簡略化のため、サンプリング周期を粗くしている。
【００６５】
各比較部２２は、縦破線の一定間隔でのサンプリングによりＡ／Ｄ変換部１３から出力されるデジタルデータを、前回データ保持部２１１が保持する前回データと比較する。例えば比較部２２は、前回データからＡ／Ｄ変換部１３からのデジタルデータを減算し、差分ΔＸを取得（記憶）する。
【００６６】
そして、各比較部２２は、比較結果（差分ΔＸ）の絶対値が、各比較部２２の持つ判定基準である変化量Δｎの値よりも大きいか否かを判定することで、白／黒判定を行なう。
【００６７】
例えば比較部２２は、差分ΔＸの絶対値が変化量Δｎ以下の場合、前回から白／黒判定結果は変化していないと判断し、前回の白／黒判定の判定結果を今回の白／黒判定結果としてセット（出力）する。一方、比較部２２は、差分ΔＸの絶対値が変化量Δｎよりも大きい場合、差分ΔＸの正負に応じて、差分ΔＸが正（プラス）の場合には“０”「白」を白／黒判定結果としてセットし、差分ΔＸが負（マイナス）の場合には“１”「黒」を白／黒判定結果としてセットする。このとき、比較部２２は、前回の白／黒判定の判定結果が今回の白／黒判定結果と同じであれば、前回の白／黒判定の判定結果をセットする。
【００６８】
なお、比較部２２は、図１１に例示するように、前回の前回の白／黒判定の判定結果として、前回判定データ２２ａを保持してよい。なお、スキャン開始前には、前回判定データ２２ａに、初期値として“１”「黒」が設定されてよい。
【００６９】
Ａ／Ｄ変換部１３により図１２に示すデータが入力される場合の各比較部２２での判定結果例を図１３に示す。以下、図１３の例における、タイミングｔ０〜ｔ５での比較部２２の動作を、変化量Δ４を有する比較部２２−４に着目して説明する。なお、初期値として、前回判定データ２２ａには“１”「黒」が、前回データ保持部２１１にはＡ／Ｄ変換後のデジタルデータ範囲である２５５が、それぞれセットされているものとする。
【００７０】
・タイミングｔ０
比較部２２−４は、前回データ保持部２１１の初期値＝２５５とタイミングｔ０時点でのＡ／Ｄ変換後のデータ値＝２４５とを受け取り、差分計算を実施して、ΔＸ＝２５５−２４５＝１０を得る。次いで、比較部２２−４は、ΔＸ＝１０と変化量Δ４＝８０とを比較してΔ４の方が大きいと判定し、前回判定データ２２ａ（初期値＝“１”「黒」）を出力する。
【００７１】
・タイミングｔ１
比較部２２−４は、前回データ保持部２１１のデータ＝２４５とタイミングｔ１時点でのデータ値＝２４５とを受け取り、差分計算を実施して、ΔＸ＝２４５−２４５＝０を得る。次いで、比較部２２−４は、ΔＸ＝０と変化量Δ４＝８０とを比較してΔ４の方が大きいと判定し、前回判定データ２２ａ（“１”「黒」）を出力する。
【００７２】
・タイミングｔ２
比較部２２−４は、前回データ保持部２１１のデータ＝２４５とタイミングｔ２時点でのデータ値＝１８０とを受け取り、差分計算を実施して、ΔＸ＝２４５−１８０＝６５を得る。次いで、比較部２２−４は、ΔＸ＝６５と変化量Δ４＝８０とを比較してΔ４の方が大きいと判定し、前回判定データ２２ａ（“１”「黒」）を出力する。
【００７３】
・タイミングｔ３
比較部２２−４は、前回データ保持部２１１のデータ＝１８０とタイミングｔ３時点でのデータ値＝１０５とを受け取り、差分計算を実施して、ΔＸ＝１８０−１０５＝７５を得る。次いで、比較部２２−４は、ΔＸ＝７５と変化量Δ４＝８０とを比較してΔ４の方が大きいと判定し、前回判定データ２２ａ（“１”「黒」）を出力する。
【００７４】
・タイミングｔ４
比較部２２−４は、前回データ保持部２１１のデータ＝１０５とタイミングｔ４時点でのデータ値＝２０とを受け取り、差分計算を実施して、ΔＸ＝１０５−２０＝８５を得る。次いで、比較部２２−４は、ΔＸ＝８５と変化量Δ４＝８０とを比較してΔＸの方が大きいと判定し、また、ΔＸが正であり且つ前回判定データが“１”「黒」であると判定して、“０”「白」をセットする。
【００７５】
・タイミングｔ５
比較部２２−４は、前回データ保持部２１１のデータ＝２０とタイミングｔ５時点でのデータ値＝２０とを受け取り、差分計算を実施して、ΔＸ＝２０−２０＝０を得る。次いで、比較部２２−４は、ΔＸ＝０と変化量Δ４＝８０とを比較して比較してΔ４の方が大きいと判定し、前回判定データ２２ａ（“０”「白」）を出力する。
【００７６】
以上のように、比較部２２は、タイミングｔ０からｔ５までの各時点での変化量に対し、比較部２２ごとに異なる判定基準Δｎを用いて白／黒判定を行なう。なお、比較部２２は、バーコードリーダ１０による１スキャン、つまりバーコードラベル６ａの一端から多端までの全てのデジタルデータがＡ／Ｄ変換部１３から順次入力される間、上述した判定処理を複数の比較部２２で並列に行なう。
【００７７】
このように、複数の比較部２２は、バーコードの読取指示に応じて読取部から出力される複数のデータの各々が第１及び第２の値のいずれの値を示すかを、互いに異なる判定基準に基づき判定する複数の判定部の一例であるといえる。
【００７８】
これにより、並列処理部２１は、ＣＣＤリニアセンサ５７から出力される１つのデータを、複数の異なる白／黒判定基準を持つ比較部２２で、同時に並行して判定処理を行なうことができる。
【００７９】
従って、ライブラリ装置１に収納された複数の媒体カートリッジ６のバーコードラベル６ａのラベル母材が互いに異なる場合でも、バーコードリーダ１０は、各ラベル母材に適した基準レベルを持つ比較部２２により、正確にバーコードを読み取ることができる。すなわち、複数の異なる種類の母材のバーコードラベル６ａを読み取ることが可能となり、他社製品の媒体カートリッジ６も同じライブラリ装置１内で使用することが可能となる。
【００８０】
また、比較部２２は、例えば数Ｖ等の白／黒判定の基準値ではなく、各比較部２２に設定した変化量Δｎを判定基準として用いて、サンプリングによる前回データとＡ／Ｄ変換されたデータとの差分に対して白／黒判定を行なうことができる。
【００８１】
これにより、バーコードリーダ１０は、基準値とデータ値とのマージンに影響されず、判定処理を変化量という基準によって正規化することができるため、ＣＣＤリニアセンサの出力レベルの偏りに起因する読み取りエラーを抑制することができる。
【００８２】
図１１の説明に戻り、比較部２２は、図１１に例示するように、ノイズ除去部２３をそなえることができる。ノイズ除去部２３は、比較部２２による白／黒判定の判定結果から外乱光等のノイズの影響を除去するノイズ除去処理を行なう。
【００８３】
例えば、ノイズ除去部２３は、比較部２２から出力されたデータ“１”又は“０”を受信し、同じ値を連続して規定（所定）回数のｍ回（ｍは自然数；例えば、３回）以上受信したか否かを判定し、出力選択部２４に出力するデータを生成する。
【００８４】
ノイズ除去部２３は、３回以上連続して同じデータを受信した場合、比較部２２からの当該データは有効なデータであると判別して出力選択部２４にデータを出力する。一方、ノイズ除去部２３は、受信したデータが３回未満のデータであれば比較部２２からの当該データは無効なデータであると判別して、最後に有効であったデータを出力選択部２４に出力する。
【００８５】
すなわち、ノイズ除去部２３は、比較部２２による判定結果が所定回数以上連続して第１及び第２の値のうちの一方の値を示す場合、当該判定結果を有効な判定結果と判断して選択部２７へ出力する。また、ノイズ除去部２３は、判定結果が所定回数連続して一方の値を示す前に他方の値を示した場合、当該判定結果を無効な判定結果と判断して、当該判定結果を直前に有効と判断した判定結果に補正して選択部２７へ出力する補正部の一例であるといえる。
【００８６】
このため、ノイズ除去部２３は、図１１に例示するように、カウンタ２３ａ及びノイズ検出カウンタ２３ｂをそなえるとともに、最後の有効データ２３ｃを保持することができる。
【００８７】
例えばノイズ除去部２３は、比較部２２から受信したデータが前回判定データ２２ａと同一である場合にカウンタ２３ａをカウントアップする。そして、カウンタ２３ａのカウント値が３に達した場合、当該データを有効なデータとして出力選択部２４に出力するとともに、当該データを最後の有効データ２３ｃとして保持する。
【００８８】
一方、ノイズ除去部２３は、受信したデータが前回判定データ２２ａと異なる場合にカウンタ２３ａをリセットするとともに、無効データを検出したためノイズ検出カウンタ２３ｂをカウントアップし、最後の有効データ２３ｃを出力選択部２４に出力する。なお、ノイズ除去部２３は、１スキャンが完了するまで無効データを検出するごとにノイズ検出カウンタ２３ｂを加算，累積し、１スキャンが完了したときに、その累積値を出力選択部２４に出力する。
【００８９】
なお、ノイズ除去部２３は、比較部２２からの判定データと前回判定データ２２ａとの比較を行なうと、判定データにより前回判定データ２２ａを更新する。
【００９０】
ここで、ノイズ除去部２３が比較部２２からの判定データを有効データであると判定する基準となる規定回数ｍは、バーコードのバーの幅に基づき定めることができる。
【００９１】
上述のように、収納セルの板金等による外乱光は、バーコードのバーよりも幅が狭いことが多い。バーコードラベル６ａ上の汚れや傷等の小さいデータ等のノイズも同様である。
【００９２】
そこで、サンプリング周期とバーコードのバーの幅とに基づいて、白バー又は黒バーと判定するのに十分な回数ｍを設定することで、外乱光やノイズがバーであると判定される可能を低減させ、読み取りエラー或いは誤認識の発生を抑制することができる。
【００９３】
このように、ノイズ除去部２３は、比較部２２による判定データの連続性を監視し、バーコードの規格に満たない幅については、無効データとして処理することができる。つまり、ノイズ除去部２３により、バーコードのスキャン時のノイズ検出及び補正を行なうことができる。これにより、バーコードリーダの読み取り環境に起因する読み取り精度の低下や誤認識を回避することができ、バーコードラベル６ａのスキャンのリトライ処理やリードエラーを未然に防ぐことができるため、インベントリ処理の処理速度の低下を防ぐことができる。
【００９４】
また、ライブラリ装置１側の収納セル周辺の板金２ａ，３ａ（機構部）やネジ２ｂ，３ｂに、一般的な処理鋼板やニッケルメッキ処理のネジを使用することが可能となり、コストの削減が図れる。
【００９５】
以上のように、並列処理部２１は、バーコードの白バー，黒バーを時系列で連続するデータ（電圧値）として監視及び比較することにより、ラベル上の汚れや傷等の小さいデータをノイズとして除去し、バーのスキャン結果を補正することができる。これにより、読み取り精度を向上させることができる。
【００９６】
〔１−３−２〕出力選択部の構成
次に、出力選択部２４の詳細について説明する。
【００９７】
出力選択部２４は、例示的に、比較部２２−１〜２２−５（ノイズ除去部２３）の各々から出力されるデータ“１”又は“０”を、少なくとも１スキャン分累積して格納する、複数（図１１では５つ）のデータ格納部２５−１〜２５−５，設定値格納部２６，及び選択部２７をそなえる。なお、以下の説明においてデータ格納部２５−１〜２５−５を区別しない場合には単にデータ格納部２５という。
【００９８】
データ格納部２５は、黒バーカウンタ２５ａをそなえ、比較部２２から受信したデータから黒バーのエッジを検出したときに、黒バーカウンタ２５ａをカウントアップすることで、１スキャンの間に検出した黒バーの数を計数する。
【００９９】
磁気テープカートリッジのバーコードラベル６ａは、３９コードの規格が使用されることが多い。３９コードでは、１つのキャラクタを、５本の黒バー及び４本の白バーの計９本のバーで表し、このうち３本のバーが太いバー（コード）であることが定められている。
【０１００】
バーコードラベル６ａは、start + 8char + stop = 10charの１０文字、つまり１０キャラクタで構成されるため、１つのバーコードラベル６ａにつき黒バーは５０本存在することになる。
【０１０１】
データ格納部２５は、比較部２２から受信した判定データについて、白から黒への変化を検出することで黒バーを検出し、黒バーカウンタ２５ａを＋１カウントする。この処理は、データ格納部２５−１〜２５−５において、それぞれに対応する比較部２２−１〜２２−５から送られる判定データに対して、並列に行なわれる。
【０１０２】
設定値格納部２６は、上位制御部８からのコマンド指示により、黒バーカウント値として指示された値を格納するものであり、上位制御部８からコマンド処理部１２を介して任意の値を設定されることができる。黒バーカウント値として任意の値を設定可能であるため、判定装置２０では、媒体カートリッジ６（磁気テープカートリッジ）のバーコードラベル６ａ以外にも、任意の文字数の黒バーや文字以外の装置固有のマーク等を検出することができる。
【０１０３】
選択部２７は、バーコードラベル６ａの１回のスキャンが完了すると、各データ格納部２５の黒バーカウンタ２５ａの情報を参照し、カウント値が設定値格納部２６に設定された黒バーカウント値（例えば５０）と等しいものをチェックする。
【０１０４】
そして、選択部２７は、カウント値が５０と等しい又は５０に近い黒バーカウンタ２５ａを選択し、選択した黒バーカウンタ２５ａのデータ格納部２５に格納されたデータを出力データとして選択する。
【０１０５】
このように、選択部２７は、複数のデータについての各比較部２２による複数の判定結果から、バーコードの規格に応じて予め設定した選択条件に基づき、一の比較部２２による複数の判定結果を選択し、読取指示の指示元へ出力することができる。
【０１０６】
なお、カウント値が５０と等しい黒バーカウンタ２５ａは無いが、５０を超過する（例えば５２の）黒バーカウンタ２５ａと、５０未満（例えば４９）の黒バーカウンタ２５ａとがある場合、選択部２７は、５０を超過する黒バーカウンタ２５ａを選択することが好ましい。これは、上述のように、バーコードラベル６ａには５０本の黒バーが存在するため、黒バーが５０本に満たない（黒バーが欠落した）出力データを選択するよりも、黒バーが５０本を超過した（黒バーが過多の）出力データを選択する方が、上位制御部８において正常に認識できる（訂正できる）可能性が高いからである。
【０１０７】
また、選択部２７は、複数の黒バーカウンタ２５ａのカウント値が５０と等しい又は５０に近い場合、予め設定された以下の（ｉ）〜（iv）のいずれかの選択条件に基づき、１つの黒バーカウンタ２５ａを選択する。
【０１０８】
（ｉ）複数且つ奇数個のデータ格納部２５が該当し、番号（例えば符号）が連続している場合（例えば符号２５−１〜２５−３）、番号が中央のデータ格納部２５（この場合符号２５−２）を選択する。
【０１０９】
（ii）複数且つ偶数個のデータ格納部２５が該当し、番号が連続している場合（例えば符号２５−１〜２５−４）、中央のデータ格納部２５（この場合符号２５−２及び２５−３）から、全体のデータ格納部２５（符号２５−１〜２５−５）の中央（符号２５−３）に近いデータ格納部２５（この場合符号２５−２及び２５−３のうちの２５−３）を選択する。
【０１１０】
（iii）複数且つ奇数個のデータ格納部２５が該当し、番号が不連続の場合（例えば符号２５−１，２５−２，２５−４）、番号が中央のデータ格納部２５（この場合符号２５−２）を選択する。
【０１１１】
（iv）複数且つ偶数個のデータ格納部２５が該当し、番号が不連続の場合（例えば符号２５−１，２５−２，２５−３，２５−５）、中央のデータ格納部２５（この場合符号２５−２及び２５−３）から、全体のデータ格納部２５（符号２５−１〜２５−５）の中央（符号２５−３）に近いデータ格納部２５（この場合符号２５−２及び２５−３のうちの２５−３）を選択する。
【０１１２】
以上の制御により、選択部２７で有効データとして選択されたデータ格納部２５（２５−１〜２５−５)からの出力データは、黒バーカウンタ２５ａ及びノイズ検出カウンタ２３ｂのカウント値（累積値）のデータとともに上位制御部８へ送信される。
【０１１３】
これにより、データを受信した上位制御部８は、バーコードラベル６ａの読み取りデータ（スキャン結果）をデコード処理し、デコードしたデータと併せて各カウント値を記憶することができる。なお、上位制御部８は、このカウント値を保持するために不揮発メモリ８ａをそなえることもできる。
【０１１４】
例えば上位制御部８は、媒体カートリッジ６のボリュームラベルを登録する際に、以前に当該ボリュームラベルを読み込んだことがあるか否かを不揮発性メモリ８ａの参照により確認することもできる。これにより、上位制御部８は、読み込んだことがある場合には、そのときのノイズ検出カウント値と今回読み込んだときのノイズカウント値とを比較し、比較値に大きな差（例えば、２０）がある場合、バーコードラベル６ａの汚れや傷などが増えた判断することができる。このように、ライブラリ装置１側でバーコードラベル６ａの経年劣化を検出できるため、例えばホスト７等へアラーム通知をすることにより、バーコードラベル６ａの目視確認やバーコードラベル６ａの貼り替えをオペレータ等に促すことが可能となる。
【０１１５】
このように、出力選択部２４は、複数の比較部２２の各々から出力される複数の判定結果を、比較部２２ごとに格納するデータ格納部２５と、複数の判定結果が第１の値から第２の値に変化した回数を比較部２２ごとにカウントする複数の黒バーカウンタ２５ａと、をそなえる。そして、選択部２７は、カウント値が所定値に近い黒バーカウンタ２５ａに対応するデータ格納部２５に格納された複数の判定結果を選択する。
【０１１６】
従って、出力選択部２４は、並列処理部２１による複数の処理結果から、バーコードの規格から予め設定した選択条件に従って、最適なデータを１つ選択し、上位制御部８に出力することができる。
【０１１７】
なお、上述した並列処理部２１及び出力選択部２４による１スキャンあたりの処理が完了すると、上位制御部８は、図６に示すように、当該バーコードラベル６ａについて、バーコードリーダ１０に位置を変えて複数回のスキャンを行なわせてもよい。
【０１１８】
以上のように、一実施形態に係る判定装置２０は、バーコードラベル６ａの材質や特性等を考慮して、複数の基準に照らして白／黒判定を行なうことができる。また、判定装置２０は、黒から白又は白から黒への変化の連続性を監視し、バーコードラベル６ａのフォーマットに照らして、判定結果からバーコードの欠けやノイズを除去することができる。さらに、判定装置２０は、黒バーの出現回数をカウントし、規定値と一致する判定結果を読み取り結果として採用することができる。
【０１１９】
従って、バーコードリーダ１０によるバーコードの読み取り性能を向上させることができるため、読み取りエラー或いは誤認識の発生自体を抑制でき、ライブラリ装置１全体の性能向上に寄与することができる。
【０１２０】
〔１−４〕動作例
次に、上述の如く構成されたバーコードリーダ１０の判定装置２０の動作例を、図１４〜図１７を参照して説明する。
【０１２１】
はじめに、図１４及び図１５を参照して、並列処理部２１による判定（比較）処理及びノイズ除去処理の一例を説明する。なお、図１４及び図１５に示す処理は、１スキャンのうちの１つのサンプリングのタイミングで実施される１つの比較部２２における処理である。従って、実際には、図１４及び図１５に示す処理は比較部２２の数（並列数）だけ並行して実施され、１スキャンが完了するまで複数のサンプリングのタイミングで実施される。
【０１２２】
図１４に例示するように、上位制御部８又はコマンド処理部１２が、Ａ／Ｄ変換部１３を介して、前回データ保持部２１１及び前回判定データ２２ａに初期値としてそれぞれ２５５及び“１”「黒」を設定する（ステップＳ１）。次いで、ＬＥＤ照明ユニット５６が点灯しバーコードラベル６ａからの反射光がＣＣＤリニアセンサ５７にて受光されると、その出力信号がＡ／Ｄ変換部１３でアナログ−デジタル変換される。そして、Ａ／Ｄ変換部１３及び前回データ保持部２１１は、それぞれ変換したデジタルデータ及び前回データ（初回は初期値）を各比較部２２に入力する（ステップＳ２）。
【０１２３】
各比較部２２は、入力された前回データからＡ／Ｄ変換部１３からのデジタルデータを減算して差分ΔＸを算出する（ステップＳ３）。また、各比較部２２は、算出した差分ΔＸの絶対値が各比較部２２固有の変化量Δｎよりも大きいか否かを判定する（ステップＳ４）。
【０１２４】
差分ΔＸの絶対値が変化量Δｎよりも大きい場合（ステップＳ４のＹｅｓルート）、比較部２２は、差分ΔＸが０よりも大きいか（正か）否かを判定する（ステップＳ５）。
【０１２５】
差分ΔＸが０よりも大きい場合（ステップＳ５のＹｅｓルート）、比較部２２は、前回判定データ２２ａが“１”「黒」であるか否かを判定する（ステップＳ６）。
【０１２６】
前回判定データ２２ａが“１”「黒」である場合（ステップＳ６のＹｅｓルート）、比較部２２は、判定データに“０”「白」をセットし（ステップＳ７）、処理が図１５のステップＳ１１に移行する。
【０１２７】
一方、ステップＳ６において前回判定データ２２ａが“１”「黒」ではない（“０”「白」である）場合（ステップＳ６のＮｏルート）、比較部２２は、判定データに前回判定データ２２ａ（“０”「白」）をセットし（ステップＳ１０）、処理が図１５のステップＳ１１に移行する。
【０１２８】
また、ステップＳ５において差分ΔＸが０以下（０又は負である）場合（ステップＳ５のＮｏルート）、比較部２２は、前回判定データ２２ａが“１”「黒」であるか否かを判定する（ステップＳ８）。
【０１２９】
前回判定データ２２ａが“１”「黒」ではない（“０”「白」である）場合（ステップＳ８のＮｏルート）、比較部２２は、判定データに“１”「黒」をセットし（ステップＳ９）、処理が図１５のステップＳ１１に移行する。
【０１３０】
一方、ステップＳ８において前回判定データ２２ａが“１”「黒」である場合（ステップＳ８のＹｅｓルート）、比較部２２は、判定データに前回判定データ２２ａ（“１”「黒」）をセットし（ステップＳ１０）、処理が図１５のステップＳ１１に移行する。
【０１３１】
さらに、ステップＳ４において差分ΔＸの絶対値が変化量Δｎ以下の場合（ステップＳ４のＮｏルート）、比較部２２は、判定データに前回判定データ２２ａをセットし（ステップＳ１０）、処理が図１５のステップＳ１１に移行する。
【０１３２】
図１５のステップＳ１１では、ノイズ除去部２３が、比較部２２からの判定データが前回判定データ２２ａと同じであるか否かを判定する（ステップＳ１１）。
【０１３３】
判定データが前回判定データ２２ａと同じ場合（ステップＳ１１のＹｅｓルート）、ノイズ除去部２３はカウンタ２３ａを＋１カウントし（ステップＳ１２）、判定データを前回判定データ２２ａに記憶して（ステップＳ１９）、処理がステップＳ２０に移行する。
【０１３４】
一方、ステップＳ１１において判定データが前回判定データ２２ａと同じではない場合（ステップＳ１１のＮｏルート）、ノイズ除去部２３が、カウンタ２３ａのカウンタ値が規定回数（所定回数）のｍ以上であるか否かを判定する（ステップＳ１３）。
【０１３５】
カウンタ２３ａのカウンタ値がｍ未満である場合（ステップＳ１３のＮｏルート）、ノイズ除去部２３は、判定データを無効データと判断し、ノイズ検出カウンタ２３ｂを＋１カウントする（ステップＳ１４）。そして、ノイズ除去部２３は、最後の有効データ２３ｃを出力選択部２４に出力し（ステップＳ１５）、カウンタ２３ａをリセットして（ステップＳ１６）、処理がステップＳ１９に移行する。
【０１３６】
一方、ステップＳ１３においてカウンタ２３ａのカウンタ値がｍ以上である場合（ステップＳ１３のＹｅｓルート）、ノイズ除去部２３は、判定データを有効データと判断し、当該判定データを出力選択部２４に出力する（ステップＳ１７）。そして、ノイズ除去部２３は、判定データを最後の有効データ２３ｃに記憶し（ステップＳ１８）、処理がステップＳ１６に移行する。
【０１３７】
ステップＳ２０では、出力選択部２４による黒バー判定処理（図１６参照）が行なわれる。黒バー判定処理が完了すると、ノイズ除去部２３（並列処理部２１）は、１回のスキャンが完了したか否かを判定する（ステップＳ２１）。
【０１３８】
１回のスキャンが完了していない場合（ステップＳ２１のＮｏルート）、処理が図１４のステップＳ２に移行する。
【０１３９】
一方、ステップＳ２１において１回のスキャンが完了した場合（ステップＳ２１のＹｅｓルート）、ノイズ除去部２３は、ノイズ検出カウンタ２３ｂのノイズ検出カウント値を出力選択部２４に出力し（ステップＳ２２）、処理が終了する。
【０１４０】
次に、図１６を参照して、出力選択部２４による黒バー判定処理の一例を説明する。なお、図１６に示す処理は、１スキャンのうちの１つのサンプリングのタイミングで実施される１つのデータ格納部２５における処理である。従って、実際には、図１６に示す処理はデータ格納部２５（比較部２２）の数（並列数）だけ並行して実施され、１スキャンが完了するまで複数のサンプリングのタイミングで比較部２２の処理に続いて実施される。
【０１４１】
図１６に例示するように、出力選択部２４は、ノイズ除去部２３（並列処理部２１）からの出力データを、対応するデータ格納部２５に格納する（ステップＳ３１）。そして、各データ格納部２５は、出力データが前回出力されたデータと同じか否かを判定する（ステップＳ３２）。
【０１４２】
出力データが前回出力データと異なる場合（ステップＳ３２のＮｏルート）、データ格納部２５は、出力データが“１”「黒」であるか否かを判定する（ステップＳ３３）。
【０１４３】
出力データが“１”「黒」である場合（ステップＳ３３のＹｅｓルート）、データ格納部２５は、黒バーカウンタ２５ａを＋１カウントし（ステップＳ３４）、処理が図１５のステップＳ２１に移行する。
【０１４４】
一方、ステップＳ３２において出力データが前回出力データと同じ場合（ステップＳ３２のＹｅｓルート）、又は、ステップＳ３３において出力データが“１”「黒」ではない（“０”「白」である）場合（ステップＳ３３のＮｏルート）、処理が図１５のステップＳ２１に移行する。
【０１４５】
次に、図１７を参照して、出力選択部２４による出力選択処理の一例を説明する。
【０１４６】
出力選択部２４（選択部２７）は、ノイズ除去部２３からノイズ検出カウント値（図１５のステップＳ２２参照）を入力されると（ステップＳ４１）、黒バーカウンタ２５ａの黒バーカウント値が設定値格納部２６の設定値と等しいデータ格納部２５があるか否かを判定する（ステップＳ４２）。
【０１４７】
黒バーカウント値が設定値と等しいデータ格納部２５がない場合（ステップＳ４２のＮｏルート）、選択部２７は、黒バーカウント値が設定値に近いデータ格納部２５を選択し、記憶する（ステップＳ４３）。このとき、複数一致する場合には、選択部２７は、所定の条件（上記（ｉ）〜（iv）参照）に応じたデータ格納部２５を選択する。そして、選択部２７は、選択したデータ格納部２５の黒バーカウント値，出力データ，及びノイズ検出カウント値を、上位送信部１１２を介して上位制御部８に送信し（ステップＳ４５）、処理が終了する。
【０１４８】
一方、黒バーカウント値が設定値と等しいデータ格納部２５がある場合（ステップＳ４２のＹｅｓルート）、選択部２７は、黒バーカウント値が設定値と同じデータ格納部２５を選択し、記憶する（ステップＳ４４）。このとき、複数一致する場合には、選択部２７は、所定の条件（上記（ｉ）〜（iv）参照）に応じたデータ格納部２５を選択する。そして、処理がステップＳ４５に移行する。
【０１４９】
〔２〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【０１５０】
例えば、図１１において判定装置２０は比較部２２及びデータ格納部２５をそれぞれ５つそなえるものとして説明したが、これに限定されるものではなく、比較部２２及びデータ格納部２５は、それぞれ４つ以下又は６つ以上そなえられてよい。
【０１５１】
また、上述した説明において、白／黒の判定データとして、“０”が白を示し、“１”が黒を示すものとして説明したが、これに限定されるものではなく、例えば“０”が黒を示し、“１”が白を示してもよい。
【０１５２】
さらに、上述した説明において、判定装置２０（白／黒判定部１４）は搬送ロボット５のバーコードリーダ１０にそなえられる（実装される）ものとして説明したが、これに限定されるものではない。例えば判定装置２０は、上位制御部８にそなえられてもよい。この場合、Ａ／Ｄ変換部１３からのデジタルデータが上位送信部１１２を介して上位制御部８に送信され、上位制御部８において判定装置２０が白／黒判定処理を行なえばよい。
【０１５３】
また、図１０及び図１１に示すバーコードリーダ１０及び判定装置２０の各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
【０１５４】
〔３〕付記
以上の実施形態に関し、更に以下の付記を開示する。
【０１５５】
（付記１）
バーコードの読取指示に応じて読取部から出力される、前記バーコードの一連の読取データを構成する複数のデータの各々が、第１及び第２の値のいずれの値を示すかを、互いに異なる判定基準に基づき判定する複数の判定部と、
前記複数のデータについての各判定部による複数の判定結果から、前記バーコードの規格に応じて予め設定した選択条件に基づき、一の判定部による複数の判定結果を選択し、前記読取指示の指示元へ出力する選択部と、をそなえる
ことを特徴とする、データ判定装置。
【０１５６】
（付記２）
前記複数の判定部の各々から出力される複数の判定結果を、前記判定部ごとに格納するデータ格納部と、
前記複数の判定結果が第１の値から第２の値に変化した回数を前記判定部ごとにカウントする複数のカウンタと、をさらにそなえ、
前記選択部は、カウント値が所定値に近いカウンタに対応するデータ格納部に格納された複数の判定結果を選択する、
ことを特徴とする、付記１記載のデータ判定装置。
【０１５７】
（付記３）
前記所定値は、前記バーコードの規格により定められた前記バーコードに含まれる第１又は第２の値の数を示す、
ことを特徴とする、付記２記載のデータ判定装置。
【０１５８】
（付記４）
前記複数の判定部の各々は、前記データと前記読取部から前記データの１つ前に出力された前回データとの差分と、前記判定部ごとに値の異なる所定の変化量とに基づき、前記データが第１及び第２の値のいずれの値を示すかを判定する、
ことを特徴とする、付記１〜３のいずれか１項記載のデータ判定装置。
【０１５９】
（付記５）
前記判定部による判定結果が所定回数以上連続して第１及び第２の値のうちの一方の値を示す場合、当該判定結果を有効な判定結果と判断して前記選択部へ出力する一方、前記判定部による判定結果が所定回数連続して前記一方の値を示す前に他方の値を示した場合、当該判定結果を無効な判定結果と判断して、当該判定結果を直前に有効と判断した判定結果に補正して前記選択部へ出力する補正部をさらにそなえる
ことを特徴とする、付記１〜４のいずれか１項記載のデータ判定装置。
【０１６０】
（付記６）
各々にバーコードが表示された複数の記録媒体を収納するライブラリ装置であって、
バーコードの読取指示に応じて一の記録媒体のバーコードを読み取る読取装置をそなえ、
前記読取装置が、
複数のデータにより構成される前記バーコードの一連の読取データを出力する読取部と、
前記複数のデータの各々が、第１及び第２の値のいずれの値を示すかを、互いに異なる判定基準に基づき判定する複数の判定部と、
前記複数のデータについての各判定部による複数の判定結果から、前記バーコードの規格に応じて予め設定した選択条件に基づき、一の判定部による複数の判定結果を選択し、前記読取指示の指示元へ出力する選択部と、をそなえる
ことを特徴とする、ライブラリ装置。
【０１６１】
（付記７）
前記読取装置が、
前記複数の判定部の各々から出力される複数の判定結果を、前記判定部ごとに格納するデータ格納部と、
前記複数の判定結果が第１の値から第２の値に変化した回数を前記判定部ごとにカウントする複数のカウンタと、をさらにそなえ、
前記選択部は、カウント値が所定値に近いカウンタに対応するデータ格納部に格納された複数の判定結果を選択する、
ことを特徴とする、付記６記載のライブラリ装置。
【０１６２】
（付記８）
前記所定値は、前記バーコードの規格により定められた前記バーコードに含まれる第１又は第２の値の数を示す、
ことを特徴とする、付記７記載のライブラリ装置。
【０１６３】
（付記９）
前記複数の判定部の各々は、前記データと前記読取部から前記データの１つ前に出力された前回データとの差分と、前記判定部ごとに値の異なる所定の変化量とに基づき、前記データが第１及び第２の値のいずれの値を示すかを判定する、
ことを特徴とする、付記６〜８のいずれか１項記載のライブラリ装置。
【０１６４】
（付記１０）
前記読取装置が、
前記判定部による判定結果が所定回数以上連続して第１及び第２の値のうちの一方の値を示す場合、当該判定結果を有効な判定結果と判断して前記選択部へ出力する一方、前記判定部による判定結果が所定回数連続して前記一方の値を示す前に他方の値を示した場合、当該判定結果を無効な判定結果と判断して、当該判定結果を直前に有効と判断した判定結果に補正して前記選択部へ出力する補正部をさらにそなえる
ことを特徴とする、付記６〜９のいずれか１項記載のライブラリ装置。
【０１６５】
（付記１１）
バーコードの読取データを判定するデータ判定装置が実行するデータ判定方法であって、
前記データ判定装置は、
バーコードの読取指示に応じて読取部から出力される、前記バーコードの一連の読取データを構成する複数のデータの各々が、第１及び第２の値のいずれの値を示すかを、互いに異なる判定基準に基づき複数の判定を行ない、
前記複数のデータについての複数の判定結果から、前記バーコードの規格に応じて予め設定した選択条件に基づき、一の判定による複数の判定結果を選択し、前記読取指示の指示元へ出力する
ことを特徴とする、データ判定方法。
【０１６６】
（付記１２）
前記データ判定装置は、
前記複数の判定の各々により出力される複数の判定結果を、前記判定ごとにデータ格納部に格納し、
前記複数の判定結果が第１の値から第２の値に変化した回数を前記判定ごとに複数のカウンタによりカウントし、
カウント値が所定値に近いカウンタに対応するデータ格納部に格納された複数の判定結果を選択する、
ことを特徴とする、付記１１記載のデータ判定方法。
【０１６７】
（付記１３）
前記所定値は、前記バーコードの規格により定められた前記バーコードに含まれる第１又は第２の値の数を示す、
ことを特徴とする、付記１２記載のデータ判定方法。
【０１６８】
（付記１４）
前記データ判定装置は、前記複数の判定の各々において、前記データと前記読取部から前記データの１つ前に出力された前回データとの差分と、前記判定ごとに値の異なる所定の変化量とに基づき、前記データが第１及び第２の値のいずれの値を示すかを判定する、
ことを特徴とする、付記１１〜１３のいずれか１項記載のデータ判定方法。
【０１６９】
（付記１５）
前記データ判定装置は、
前記判定による判定結果が所定回数以上連続して第１及び第２の値のうちの一方の値を示す場合、当該判定結果を有効な判定結果と判断し、
前記判定による判定結果が所定回数連続して前記一方の値を示す前に他方の値を示した場合、当該判定結果を無効な判定結果と判断して、当該判定結果を直前に有効と判断した判定結果に補正する
ことを特徴とする、付記１１〜１４のいずれか１項記載のデータ判定方法。
【符号の説明】
【０１７０】
１    ライブラリ装置
２    バックセル
２ａ，３ａ    板金
２ｂ，３ｂ    ネジ
３    サイドセル
４    ドライブモジュール
５    搬送ロボット
６    媒体カートリッジ
６ａ    バーコードラベル
７    ホスト
８    上位制御部
８ａ    不揮発性メモリ
９    ロボット制御部
１０    バーコードリーダ
１１    上位インタフェース部
１２    コマンド処理部
１３    Ａ／Ｄ変換部
１４    白／黒判定部
２０    判定装置
２１    並列処理部
２２，２２−１〜２２−５    比較部
２２ａ    前回判定データ
２３    ノイズ除去部
２３ａ    カウンタ
２３ｂ    ノイズ検出カウンタ
２３ｃ    最後の有効データ
２４    出力選択部
２５，２５−１〜２５−５    データ格納部
２５ａ    黒バーカウンタ
２６    設定値格納部
２７    選択部
５０    制御ボード
５１    レール
５２    バランサ
５３    Ｚ機構
５４    Ｘ機構
５５    スイブル機構
５６    ＬＥＤ照明ユニット
５７    ＣＣＤリニアセンサ
５８    ハンド機構
１１１    受信部
１１２    上位送信部
２１１    前回データ保持部
【図１】
2016076283.tif 000003
【図２】
2016076283.tif 000004
【図３】
2016076283.tif 000005
【図４】
2016076283.tif 000006
【図５】
2016076283.tif 000007
【図６】
2016076283.tif 000008
【図７】
2016076283.tif 000009
【図８】
2016076283.tif 000010
【図９】
2016076283.tif 000011
【図１０】
2016076283.tif 000012
【図１１】
2016076283.tif 000013
【図１２】
2016076283.tif 000014
【図１３】
2016076283.tif 000015
【図１４】
2016076283.tif 000016
【図１５】
2016076283.tif 000017
【図１６】
2016076283.tif 000018
【図１７】
2016076283.tif 000019