図面 (/)

技術 複数のサードパーティ・プラグインのチェーン化を制御する条件付きプログラミング論理を有するコンフィギュレーション・ファイルを用いての複数のサードパーティ・コードのプラグインをサポートするデジタル画像キャプチャおよび処理のシステム

出願人 メトロロジック・インストルメンツ・インコーポレーテッド
発明者 テイラー・スミスマシュー・パンコウメリッサ・フュータックシャオシュン・ジュウ
出願日 2012年1月17日 (8年11ヶ月経過) 出願番号 2012-007122
公開日 2012年8月9日 (8年4ヶ月経過) 公開番号 2012-150808
状態 拒絶査定
技術分野 記録担体の読み取り ストアードプログラム
主要キーワード 広域照射 デアクティブ 補足部分 鉛筆形状 電力管理サブシステム 出力特徴 音声インジケータ 製品アプリケーション
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2012年8月9日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

解決手段

デジタル画像キャプチャおよび処理のシステムは、適したハードウェアプラットホーム通信プロトコル、およびユーザ・インターフェースを備える、画像を取り込む携帯電話デジタルカメラビデオ・カメラ、移動演算端末、および携帯型データ端末(PDT)として実現することができる。複数のサードパーティ・プラグインを制御(即ち、調整)するコンフィギュレーションファイルは、複数のサードパーティ・プラグインをチェーン化(即ち、順序付け)する条件付きプログラミング論理を含み、それにより、顧客が、複数のプラグイン間対話およびコンフィギュレーションを可能にし、強化されたシステムの機能を実現することができる。

概要

背景

自動識別工業の現況は、(i)業界により開発および採用されてきた様々なクラスのバー・コード・シンボル体系、および(ii)様々なユーザ環境でそのようなバー・コード・シンボル体系を読み取るために開発および使用されてきた装置の種類の点から理解することができる。

一般に、現在3つの主要なバー・コード・シンボル体系のクラスが存在する。即ち、UPC/EAN、Code39などのような1次元(1D)バー・コード・シンボル体系と、1Dスタックド・バー・コード・シンボル体系、Code49、PDF417などと、2次元(2D)データ・マトリックス・シンボル体系とが存在する。またここ数年、業界のバー・コード・シンボルの読取りの必要を満たすために、レーザ走査ベースのバー・コード・シンボル・リーダおよび撮像ベースのバー・コード・シンボル・リーダが開発されてきた。

撮像ベースのバー・コード・シンボル・リーダは、レーザ走査ベースのバー・コード・シンボル・リーダに対して複数の利点を有する。即ち、それらは、PDF417シンボル体系などのようなスタックド2Dシンボル体系を読み取る能力がより高く、データ・マトリックス・シンボル体系などのようなマトリックス2Dシンボル体系を読み取る能力がより高く、バー・コードの向きにかかわらずバー・コードを読み取る能力がより高く、製造コストがより低く、またOCRセキュリティ・システムなどのような、バー・コード走査に関係しないこともあり得る他のアプリケーションで使用する潜在能力を有する。しかしながら、従来技術の撮像ベースのバー・コード・シンボル・リーダは、複数の短所および欠点を有する。

大部分の従来技術の手持ち式光学読取デバイスは、バー・コード・プログラミングメニューからバー・コードを読み取ることにより、または米国特許第5,929,418号に教示されているローカルホスト処理装置を使用することにより、プログラム書き換えることができる。しかしながら、これらのデバイスは通常、エンドユーザアプリケーション環境配備される前に、作業現場またはベンチ仕事台)で、動作するようにプログラムされたモードで動作するように制限される。従って、そのような従来技術の撮像ベースのバー・コード読取システムの静的に設定された性質は、これらのシステムの性能、ならびにサードパーティ第三者製造)製品(即ち、システムおよびデバイス)へ容易に組み込まれる能力を、制限してきた。

従来技術の撮像ベースのバー・コード・シンボル・リーダは、通常、バー・コード・メニューからバー・コード・シンボルを読み取ることによりプログラムされる任意の特定のシステム動作モード内で何れの復号化アルゴリズムを使用すべきかを管理するために、テーブルおよびバー・コード・メニューを使用する必要がある。

また、それぞれ参照により本明細書に組み込まれている、米国特許第6,321,989号、第5,965,863号、第5,929,418号、および第5,932,862号に開示されているように、そのような従来技術の撮像ベースのバー・コード・シンボル・リーダのハードウェアプラットホームの複雑さが原因で、エンドユーザは、システムのプログラミング用のタイプのバー・コード・シンボルを読み取ることによりシステム内で制限された範囲の機能を変更すること以外は、カスタマイズされたアプリケーション要件に合わせてシステムの特徴および機能を変更することが許されない。

また、専用の画像処理ベースのバー・コード・シンボル読取デバイスは、通常、揮発性および不揮発性メモリの量などのような、非常に制限された資源を有する。従って、これらのデバイスは通常、汎用コンピュータ・システムで一般に使用可能な豊富なツールをもたない。更に、顧客またはサードパーティは、従来の画像処理ベースのバー・コード・シンボル読取システムまたはデバイスの挙動強化または変更する必要がある場合、デバイスの製造業者連絡し、「標準ソフトウェアの必要な変更や、デバイス内へ独自のソフトウェアを組み込む方法について、交渉する必要がある。これには、通常、相手先商標製造業者(OEM)によるソフトウェアの再設計または再コンピレーションが伴う。このソフトウェア変更プロセスには、費用も時間もかかる。

また、従来技術の撮像ベースのバー・コード・シンボル・リーダの機械的、電気的、光学的、およびソフトウェア上の設計における制限の結果、そのような従来技術のリーダでは通常、(i)ユーザは、レーザ走査ベースのバー・コード・シンボル・リーダおよびPDF417およびデータ・マトリックスなどのような2Dシンボル体系で容易かつ簡単に、高密度の1Dバー・コードを読み取ることができず、また(iii)エンドユーザは、そのようなシステムのハードウェア・プラットホーム、通信インターフェース、およびユーザ・インターフェースに関する詳細な知識がなければ、そのような従来技術のシステムの特徴および機能を変更することができなかった。

従って、従来技術の方法および装置の短所および欠点を回避する、デジタル撮像モジュールを含めての、デジタル撮像ベースのコード・シンボル読取システムの機能を変更および拡張する改善された方法および装置が、当技術分野で大いに必要とされている。

概要

多層モジュール式ソフトウェア、およびプラグイン拡張可能アーキテクチャサポートする、手持可能なデジタル画像キャプチャおよび処理のシステムを提供する。デジタル画像キャプチャおよび処理のシステムは、適したハードウェア・プラットホーム、通信プロトコル、およびユーザ・インターフェースを備える、画像を取り込む携帯電話、デジタル・カメラビデオ・カメラ、移動演算端末、および携帯型データ端末(PDT)として実現することができる。複数のサードパーティ・プラグインを制御(即ち、調整)するコンフィギュレーションファイルは、複数のサードパーティ・プラグインをチェーン化(即ち、順序付け)する条件付きプログラミング論理を含み、それにより、顧客が、複数のプラグイン間対話およびコンフィギュレーションを可能にし、強化されたシステムの機能を実現することができる。A

目的

米国特許第5,929,418号
米国特許第6,321,989号
米国特許第5,965,863号
米国特許第5,932,862号
米国特許第5,942,741号
米国特許第6,619,549号





従って、本開示の主な目的は、従来技術の方法および装置の短所および欠点を回避するように、サードパーティのコードのプラグイン(サードパーティ・コード・プラグイン)を用いて、システムの特徴および機能の変更を可能にする新規なデジタル画像キャプチャおよび処理のシステムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

デジタル画像キャプチャおよび処理のシステム標準的な特徴および機能を変更および/または拡張する方法であって、(a)1組の標準的な特徴および機能と、演算プラットホームとを有する前記デジタル画像キャプチャおよび処理のシステムを提供するステップであって、前記演算プラットホームは、(i)前記デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、(ii)前記元の製品コードを特定のシーケンスで呼び出して実行することにより1または複数のアプリケーションを動作させるマイクロプロセッサとを含み、それにより、前記デジタル画像キャプチャおよび処理のシステムの標準的な挙動特徴付ける前記1組の標準的な特徴および機能をサポートするものであり、前記1または複数の元の製品コードは1組のプレースホルダを有し、前記1組のプレース・ホルダ内へは、付加価値再販業者(VAR)、相手先商標製造業者OEM)、および前記デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができるものである、ステップと、(b)前記1組のプレース・ホルダへ複数のサードパーティ・コードをプラグインするステップであって、前記デジタル画像キャプチャおよび処理のシステムの前記特徴および機能を変更および/または拡張させるように動作させ、それにより前記デジタル画像キャプチャおよび処理のシステムの前記標準的な挙動を、前記デジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更または拡張させるものであり、前記複数のサードパーティ・コードは、前記デジタル画像キャプチャおよび処理のシステムの前記複数のプラグインの順序付けまたはチェーン化を制御する条件付きプログラミング論理を有するコンフィギュレーションファイルを含むものである、ステップとを備える方法。

請求項2

請求項1に記載の方法であって、前記1または複数の元の製品コードおよび前記サードパーティ製品コードが、1または複数のライブラリで維持される実行可能バイナリ・コードを備え、前記メモリが、それぞれ異なるアクセス速度および性能特性を有する異なる種類のメモリを有するメモリ・アーキテクチャを備える、方法。

請求項3

請求項1に記載の方法であって、前記ステップ(b)は、付加価値再販業者(VAR)や相手先商標製造業者(OEM)などのようなエンドユーザまたはサードパーティが、前記元のシステム設計者により設定された仕様に従って前記複数のサードパーティ・コードを書くことを更に含む、方法。

請求項4

請求項1に記載の方法であって、前記ステップ(a)は、前記デジタル画像キャプチャおよび処理のシステムを、サードパーティ製品へ組み込むことまたはサードパーティ製品内へと実施することを更に含み、前記サードパーティ製品は、画像処理ベースのバー・コード・シンボル読取システム、携帯型データ端末(PDT)、モバイル電話コンピュータマウス型デバイスパーソナル・コンピュータ、キーボード民生用機器自動車ATM販売機回収機小売POSベースの取引システム、2Dまたは2DデジタイザCAT走査システム、自動車識別システム包装検査システム、および個人識別システムを含む群から選択されるものである、方法。

請求項5

請求項1に記載の方法であって、前記ステップ(b)の後に、エンドユーザが前記デジタル画像キャプチャおよび処理のシステムを使用して、前記デジタルカメラ・サブシステムで物体の1または複数のデジタル画像を形成および検出することを更に含み、前記デジタル画像処理サブシステムは、前記1または複数のデジタル画像を処理し、前記1または複数のデジタル画像から、バー・コードの読み取りフォントの認識、マークの認識、パターンの認識、および/または色のマッチングのためのデータを抽出する、方法。

請求項6

1組の標準的な特徴および機能と、カスタマイズされたエンドユーザ・アプリケーション要求を満たす1組のカスタムの特徴および機能とを有するデジタル画像キャプチャおよび処理のシステムであって、視野(FOV)を、前記視野内に撮像すべき物体上に投影し、画像キャプチャ・モードにおいて照射動作中に前記物体から反射されて撮像される光を検出するデジタル・カメラ・サブシステムであって、前記画像キャプチャ・モードでは、前記物体の1または複数のデジタル画像が前記デジタル・カメラ・サブシステムにより形成および検出されるものである、デジタル・カメラ・サブシステムと、前記1または複数のデジタル画像を処理し、生もしくは処理済みのデータを生成するか、または前記1または複数のデジタル画像内グラフィックで表される情報を認識または取得し、認識された前記情報を表す出力データを生成するデジタル画像処理サブシステムと、前記出力データを、外部のホスト・システムまたは他の情報受信または応答デバイスへ送る入出力サブシステムと、上記のサブシステムの動作を制御および/または調整するシステム制御サブシステムと、上記のサブシステムの1または複数のもの、ならびに前記デジタル画像キャプチャおよび処理のシステムの前記特徴および機能の実施をサポートする演算プラットホームとを備え、前記演算プラットホームは、(i)前記デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた複数の元の製品コードを記憶するメモリと、(ii)前記元の製品コードを特定のシーケンスで呼び出して実行することにより1または複数のアプリケーションを動作させるマイクロプロセッサとを含み、前記デジタル画像キャプチャおよび処理のシステムの標準的な挙動を特徴付ける1組の標準的な特徴および機能をサポートするものであり、前記複数の元の製品コードは1組のプレース・ホルダを有し、前記プレース・ホルダ内へは、付加価値再販業者(VAR)、相手先商標製造業者(OEM)、および前記デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、複数のサードパーティ製品コードを挿入またはプラグインすることができるものであり、前記1組のプレース・ホルダへプラグインされた複数のサードパーティ製品コードは、前記デジタル画像キャプチャおよび処理のシステムの前記特徴および機能を拡張させ、前記デジタル画像キャプチャおよび処理のシステムの前記標準的な挙動を、前記デジタル画像キャプチャおよび処理のシステム向けのカスタムの挙動へと変更するように動作し、前記サードパーティにより操作される前記外部のホスト・コンピュータ・システムは、前記入出力サブシステムインターフェースされて、(i)前記複数のサードパーティ製品コードを前記メモリへロードし、(ii)前記複数のサードパーティ製品コードを前記1組のプレース・ホルダへプラグインし、前記デジタル画像キャプチャおよび処理のシステムの前記標準的な特徴および機能を永久的に変更することなく、前記デジタル画像キャプチャおよび処理のシステムの前記特徴および機能を拡張し、前記デジタル画像キャプチャおよび処理のシステムの前記標準的な挙動を、前記デジタル画像キャプチャおよび処理のシステム向けの前記カスタムの挙動へと変更するようにされ、前記複数のサードパーティ・コードは、前記デジタル画像キャプチャおよび処理のシステムの前記複数のプラグインの順序付けまたはチェーン化を制御する条件付きプログラミング論理を有するコンフィギュレーション・ファイルを含むものである、デジタル画像キャプチャおよび処理のシステム。

請求項7

請求項6に記載のデジタル画像キャプチャおよび処理のシステムであって、光透過窓を有する筐体を備え、前記視野(FOV)が、前記視野内に撮像すべき物体上へ前記光透過窓を通って投影され、前記筐体が前記サブシステムを内蔵する、デジタル画像キャプチャおよび処理のシステム。

請求項8

請求項6に記載のデジタル画像キャプチャおよび処理のシステムであって、前記複数の元の製品コードおよび前記サードパーティ製品コードがそれぞれ、1または複数のライブラリで維持される実行可能バイナリ・コードを備える、デジタル画像キャプチャおよび処理のシステム。

請求項9

請求項6に記載のデジタル画像キャプチャおよび処理のシステムであって、付加価値再販業者(VAR)や相手先商標製造業者(OEM)などのエンドユーザが、前記元のシステム設計者により設定された仕様に従って前記1または複数のサードパーティ製品コードを書くことができる、デジタル画像キャプチャおよび処理のシステム。

請求項10

請求項6に記載のデジタル画像キャプチャおよび処理のシステムであって、サードパーティ製品内へ組み込まれる又は前記サードパーティ製品へと実施されるものであり、前記サードパーティ製品は、画像処理ベースのバー・コード・シンボル読取システム、携帯型データ端末(PDT)、モバイル電話、コンピュータ・マウス型デバイス、パーソナル・コンピュータ、キーボード、民生用機器、自動車、ATM、販売機、回収機、小売用POSベースの取引システム、1Dまたは2Dデジタイザ、CAT走査システム、自動車識別システム、包装検査システム、および個人識別システムを含む群から選択されるものであり、前記デジタル画像処理サブシステムは、前記2Dデジタル画像を処理し、前記2Dデジタル画像から、バー・コードの読み取り、フォントの認識、マークの認識、パターンの認識、および/または色のマッチングのためのデータを抽出する、デジタル画像キャプチャおよび処理のシステム。

技術分野

0001

本開示は、1次元(1D)および2次元(2D)のバー・コード・シンボルを読み取る多様なデジタル画像処理モードを有する、手で支持できる携帯型のエリア・タイプのデジタル・バー・コード・リーダ、ならびにシステムの特徴および機能を変更および拡張する改善された方法に関する。

背景技術

0002

自動識別工業の現況は、(i)業界により開発および採用されてきた様々なクラスのバー・コード・シンボル体系、および(ii)様々なユーザ環境でそのようなバー・コード・シンボル体系を読み取るために開発および使用されてきた装置の種類の点から理解することができる。

0003

一般に、現在3つの主要なバー・コード・シンボル体系のクラスが存在する。即ち、UPC/EAN、Code39などのような1次元(1D)バー・コード・シンボル体系と、1Dスタックド・バー・コード・シンボル体系、Code49、PDF417などと、2次元(2D)データ・マトリックス・シンボル体系とが存在する。またここ数年、業界のバー・コード・シンボルの読取りの必要を満たすために、レーザ走査ベースのバー・コード・シンボル・リーダおよび撮像ベースのバー・コード・シンボル・リーダが開発されてきた。

0004

撮像ベースのバー・コード・シンボル・リーダは、レーザ走査ベースのバー・コード・シンボル・リーダに対して複数の利点を有する。即ち、それらは、PDF417シンボル体系などのようなスタックド2Dシンボル体系を読み取る能力がより高く、データ・マトリックス・シンボル体系などのようなマトリックス2Dシンボル体系を読み取る能力がより高く、バー・コードの向きにかかわらずバー・コードを読み取る能力がより高く、製造コストがより低く、またOCRセキュリティ・システムなどのような、バー・コード走査に関係しないこともあり得る他のアプリケーションで使用する潜在能力を有する。しかしながら、従来技術の撮像ベースのバー・コード・シンボル・リーダは、複数の短所および欠点を有する。

0005

大部分の従来技術の手持ち式光学読取デバイスは、バー・コード・プログラミングメニューからバー・コードを読み取ることにより、または米国特許第5,929,418号に教示されているローカルホスト処理装置を使用することにより、プログラム書き換えることができる。しかしながら、これらのデバイスは通常、エンドユーザアプリケーション環境配備される前に、作業現場またはベンチ仕事台)で、動作するようにプログラムされたモードで動作するように制限される。従って、そのような従来技術の撮像ベースのバー・コード読取システムの静的に設定された性質は、これらのシステムの性能、ならびにサードパーティ第三者製造)製品(即ち、システムおよびデバイス)へ容易に組み込まれる能力を、制限してきた。

0006

従来技術の撮像ベースのバー・コード・シンボル・リーダは、通常、バー・コード・メニューからバー・コード・シンボルを読み取ることによりプログラムされる任意の特定のシステム動作モード内で何れの復号化アルゴリズムを使用すべきかを管理するために、テーブルおよびバー・コード・メニューを使用する必要がある。

0007

また、それぞれ参照により本明細書に組み込まれている、米国特許第6,321,989号、第5,965,863号、第5,929,418号、および第5,932,862号に開示されているように、そのような従来技術の撮像ベースのバー・コード・シンボル・リーダのハードウェアプラットホームの複雑さが原因で、エンドユーザは、システムのプログラミング用のタイプのバー・コード・シンボルを読み取ることによりシステム内で制限された範囲の機能を変更すること以外は、カスタマイズされたアプリケーション要件に合わせてシステムの特徴および機能を変更することが許されない。

0008

また、専用の画像処理ベースのバー・コード・シンボル読取デバイスは、通常、揮発性および不揮発性メモリの量などのような、非常に制限された資源を有する。従って、これらのデバイスは通常、汎用コンピュータ・システムで一般に使用可能な豊富なツールをもたない。更に、顧客またはサードパーティは、従来の画像処理ベースのバー・コード・シンボル読取システムまたはデバイスの挙動強化または変更する必要がある場合、デバイスの製造業者連絡し、「標準ソフトウェアの必要な変更や、デバイス内へ独自のソフトウェアを組み込む方法について、交渉する必要がある。これには、通常、相手先商標製造業者(OEM)によるソフトウェアの再設計または再コンピレーションが伴う。このソフトウェア変更プロセスには、費用も時間もかかる。

0009

また、従来技術の撮像ベースのバー・コード・シンボル・リーダの機械的、電気的、光学的、およびソフトウェア上の設計における制限の結果、そのような従来技術のリーダでは通常、(i)ユーザは、レーザ走査ベースのバー・コード・シンボル・リーダおよびPDF417およびデータ・マトリックスなどのような2Dシンボル体系で容易かつ簡単に、高密度の1Dバー・コードを読み取ることができず、また(iii)エンドユーザは、そのようなシステムのハードウェア・プラットホーム、通信インターフェース、およびユーザ・インターフェースに関する詳細な知識がなければ、そのような従来技術のシステムの特徴および機能を変更することができなかった。

0010

従って、従来技術の方法および装置の短所および欠点を回避する、デジタル撮像モジュールを含めての、デジタル撮像ベースのコード・シンボル読取システムの機能を変更および拡張する改善された方法および装置が、当技術分野で大いに必要とされている。

先行技術

0011

米国特許第5,929,418号
米国特許第6,321,989号
米国特許第5,965,863号
米国特許第5,932,862号
米国特許第5,942,741号
米国特許第6,619,549号

0012

従って、本開示の主な目的は、従来技術の方法および装置の短所および欠点を回避するように、サードパーティのコードのプラグイン(サードパーティ・コード・プラグイン)を用いて、システムの特徴および機能の変更を可能にする新規デジタル画像キャプチャおよび処理のシステムを提供することである。

0013

本開示の別の目的は、顧客、VAR、およびサードパーティが、システムのOEMに連絡して所望の改善をシステムに組み込む方法について交渉する必要なく、システムの1組の標準的な特徴および機能を変更および/または拡張できるようにする、デジタル画像キャプチャおよび処理のシステムを提供することである。

0014

本開示の別の目的は、顧客、VAR、およびサードパーティが、システムのハードウェア・プラットホーム、外部環境との通信、およびユーザ関連インターフェースに関する詳細な知識がなくても、OEM仕様に従って独自のソフトウェアを独立して設計し、そのソフトウェアをシステムへプラグインし、それによりデバイスの挙動を効果的に変更できるようにする、画像キャプチャおよび処理のシステムを提供することである。

0015

本開示の別の目的は、そのようなデジタル画像キャプチャおよび処理のシステムの顧客または任意のサードパーティに、基礎となるハードウェア、通信、およびユーザ関連インターフェースに干渉することなく、システムの挙動を強化または変更する方法および手段を提供することである。

0016

本開示の別の目的は、そのようなデジタル画像キャプチャおよび処理のシステムのエンドユーザならびにサードパーティに、デバイスのハードウェアの詳細に関する知識を必要とすることなく、デバイスで独自のプラグイン・モジュールを設計、開発、およびインストールする方法および手段を提供することである。

0017

本開示の別の目的は、相手先商標製造業者(OEM)へ、OEMのプラグイン・モジュールをデジタル画像キャプチャおよび処理のシステムへインストールする方法および手段を提供することであり、この方法および手段は、サードパーティ・プラグインに関してのシステムの特徴および機能に対して確立された仕様を満たすという条件ではあるが、インストールされたサードパーティのプラグイン(ソフトウェア)・モジュールに関する知識なしでインストールする方法および手段である。

0018

本開示の別の目的は、デジタル画像キャプチャおよび処理のシステムの顧客およびサードパーティに、独自のプラグイン・モジュールをインストールし、独自の必要性に従って互いに独立してデバイスの「標準」の挙動を強化または変更する方法および手段を提供することである。

0019

本発明の別の目的は、システムのファームウェアとは独立してソフトウェア・プラグイン(例えば、アプリケーション)を開発および維持できる、デジタル画像キャプチャおよび処理のシステムに対して特別に設計されたモジュール式ソフトウェア開発プラットホームを提供することである。

0020

本発明の別の目的は、サードパーティおよび顧客が、多様なアプリケーション環境におけるシステムの有用性および/または性能を更に改善するために、デジタル画像キャプチャおよび処理のシステム上で複数のプラグイン(例えば、アプリケーション)を互いに関連してインストールし動作させることができる、デジタル画像キャプチャおよび処理のシステムに対するモジュール式のソフトウェア開発プラットホームを提供することである。

0021

本発明の別の目的は新規なデジタル画像キャプチャおよび処理のシステムを提供することであり、この新規なデジタル画像キャプチャおよび処理のシステムは、同じタイプの複数のサードパーティ・プラグインをサードパーティによりアプリケーション層でプログラムでき、これらの複数のサードパーティ・プラグインを制御(即ち、調整)するコンフィギュレーションファイルが、複数のサードパーティ・プラグインをチェーン化(chain)する(即ち、順序付けする)条件付きプログラミング論理を含み、それにより、顧客は、複数のプラグイン間対話相互作用)およびコンフィギュレーションを可能にし、システムの機能を強化することができる。

0022

本発明の別の目的は、バー・コード・シンボルの読み取りパターン認識バーコード以外)、マーク認識(バーコード以外)、一意フォント認識、2Dバー・コードで一般に見られる長いデータ列高性能フォーマッティング解析パース)、強化されたセキュリティのための暗号化/暗号解読などに使用できるデジタル画像キャプチャおよび処理のシステムを提供することである。

0023

本開示の別の目的は、システムのハードウェア・プラットホーム、外部環境との通信、およびユーザ関連インターフェースに関する詳細な知識を必要とすることなく、設計者/製造業者により制約されたシステムの挙動の変更をサポートする画像キャプチャおよび処理のシステムを提供することである。

0024

本開示の別の目的は、現在の撮像技術を使用して、従来のレーザ走査バー・コード・シンボル・リーダにより実現される速度および信頼性で、1Dおよび2Dバー・コード・シンボル体系を自動的に読み取ることが可能な、新規な手で支持できるデジタル撮像ベースのバー・コード・シンボル・リーダを提供することである。

0025

本開示のこれらの目的および他の目的は、以下および本明細書に添付の特許請求の範囲で、より明らかに理解されるであろう。

0026

本開示の目的をどのように実施するかをより良く理解するために、以下の例示的な実施形態の詳細な説明を、以下に簡単に説明する添付の図面と一緒読むとよい。

図面の簡単な説明

0027

図1Aは、本開示の革新的なプラグイン・プログラミング方法を使用して変更および/または拡張できる多数の標準システムの特徴および機能を提供する様々なサブシステムをサポートすることが可能な多層のソフトウェア・システム・アーキテクチャを用いる、本開示のデジタル画像キャプチャおよび処理のシステムの概略図である。
図1Bは、図1Aに表す本開示のデジタル画像キャプチャおよび処理のシステムのシステム・アーキテクチャの概略図である。
図1C1図1C3はともに、図1Aおよび図1Bに表す本開示のデジタル画像キャプチャおよび処理のシステムのシステム・アーキテクチャにおいて提供されるそれぞれのサブシステムによりサポートされる特徴および機能を示す表である。
図1C1図1C3はともに、図1Aおよび図1Bに表す本開示のデジタル画像キャプチャおよび処理のシステムのシステム・アーキテクチャにおいて提供されるそれぞれのサブシステムによりサポートされる特徴および機能を示す表である。
図1C1図1C3はともに、図1Aおよび図1Bに表す本開示のデジタル画像キャプチャおよび処理のシステムのシステム・アーキテクチャにおいて提供されるそれぞれのサブシステムによりサポートされる特徴および機能を示す表である。
図1Dは、ともにインターフェースされるデジタル・カメラ基板および印刷回路(PC)基板を使用して、図1A図1C3に示す本開示のデジタル画像キャプチャおよび処理のシステムを実施できることを示す概略図である。
図1Eは、単一の複合型のデジタル・カメラPC基板を使用して、図1A図1C3に示す本開示のデジタル画像キャプチャおよび処理のシステムを実施できることを示す概略図である。
図1Fは、サードパーティ製品内で、図1A図1Eに示す本開示のデジタル画像キャプチャおよび処理のシステムを組み込みまたは実施できることを示す概略図であり、サードパーティ製品は、デジタル画像処理ベースのバー・コード・シンボル読取システム、OCRシステム物体認識システム携帯型データ端末(PDT)、モバイル電話、コンピュータ・マウス型のデバイス、パーソナル・コンピュータ、キーボード民生用機器自動車ATM販売機回収機小売POSベースの取引システム、2Dまたは2Dデジタイザ、およびCAT走査システム、自動車識別システム包装検査システム、個人識別システムなどを含むが、これらのみに限定されるものではない。
図2Aは、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの背面斜視図である。
図2Bは、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの前面斜視図である。
図2Cは、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの立面左側側面図である。
図2Dは、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの立面右側側面図である。
図2Eは、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの立面背面図である。
図2Fは、照射サブシステムおよび画像取込サブシステムに関連する構成要素を示す、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの立面正面図である。
図2Gは、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの底面図である。
図2Hは、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの上面背面図である。
図2Iは、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの第1の斜視分解図である。
図2Jは、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの第2の斜視分解図である。
図2Kは、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの第3の斜視分解図である。
図2L1は、図2A図2Kに示す手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスのシステム設計を表す概略ブロック図である。
図2L2は、図2Mに示す3層の演算プラットホームを使用して実現される多モードの画像処理ベースのバー・コード・シンボル読取サブシステムの概略ブロック図である。
図2Mは、図2A図2L2に示す手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスに対するシステムの実装形態を表す概略図である。
図3Aは、狭域および広域の画像キャプチャ動作モード中の、多モードの画像形成および検出サブシステムのFOV内の狭帯域照射近視野と遠視野と狭域と広域との空間関係を示す概略図である。
図3Bは、第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの斜視部分切欠図であり、狭帯域透過型光学フィルタ・システムを通じて可視の狭帯域の照射を送り、その狭帯域の照射で物体を照射するLEDベースの多モード照射サブシステムを示し、また、照射された物体から反射された光線収集して集束させる低域通過フィルタ画像感知アレイの前に含む画像形成光学系を示し、それにより、物体の画像が、狭帯域の照射内に含まれる光の光学成分のみを使用して形成および検出され、周囲光の他の成分はすべて、画像感知アレイにおける画像検出前に実質上除かれる。
図3Cは、第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスで使用される光学構成要素幾何学上の配置を示す概略図であり、赤色波長を反射する高域通過レンズエレメントが、画像形成レンズ・エレメントの前のデバイスの撮像窓に配置され、低域通過フィルタが、画像形成エレメント間の画像センサの前に配置され、狭帯域の照射内の光学構成要素のみを使用して画像感知アレイで物体を撮像し、周囲光の他の成分をすべて拒否する。
図4は、本開示の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスの3層のソフトウェア・アーキテクチャに関連するソフトウェア・モジュールを示す概略図であり、それらのソフトウェア・モジュールは、ソフトウェア・アーキテクチャのアプリケーション層内に常駐するメインタスク・モジュール、コードゲート・タスク・モジュール、狭域照射タスク・モジュール、Metrosetタスク・モジュール、アプリケーション・イベントマネージャ・モジュール、ユーザ・コマンド・テーブル・モジュール、コマンド・ハンドラ・モジュール、プラグイン・コントローラ、ならびにプラグイン・ライブラリおよびコンフィギュレーション・ファイルと、ソフトウェア・アーキテクチャのシステム・コア(SCORE)層内に常駐するタスク・マネージャ・モジュール、イベント・ディスパッチャ・モジュール、入出力マネージャ・モジュール、ユーザ・コマンド・マネージャ・モジュール、タイマ・サブシステム・モジュール、入出力サブシステム・モジュール、およびメモリ制御サブシステム・モジュールと、ソフトウェア・アーキテクチャのLinux(登録商標)オペレーティング・システム(OS)層内に常駐し、標準または専有の通信インターフェースを介して外部(host0プラグイン開発プラットホーム)と動作可能に通信する、プラグイン・コントローラと動作可能に通信するLinuxカーネル(Kernal)・モジュール、Linux(登録商標)ファイル・システム・モジュール、およびデバイス・ドライバ・モジュールとである。
図4A1は、本開示の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイス内で用いられるLEDベースの多モードの照射サブシステムから生成される狭域照射、近視野広域照射、および遠視野広域照射の範囲を示す概略図である。
図4A2は、本開示の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイスで用いられるLEDベースの多モードの照射サブシステムによりサポートされる各照射モードの幾何学上の特質および特性を示す表である。
図5は、本開示の撮像ベースのバー・コード読取システムのアプリケーション層内のタスクに対するプラグインを開発するコンピュータ・ソフトウェア開発プラットホームの例示的な実施形態の斜視図である。
図6は、本開示の方法を実施することを伴うステップを示す高次の流れ図であり、本開示の撮像ベースのバー・コード・シンボル読取システムのシステム挙動(即ち、機能)は、製造業者定義の1組の制約(即ち、変更可能な特徴および特徴内の機能に課される制約)内で、エンドユーザがシステムのアプリケーション層内の任意の変更可能なタスクに対して「プラグイン・モジュール」(即ち、ライブラリ)を開発、インストール/配備、および設定(コンフィギュレーション)することにより、エンドユーザにより変更でき、その結果、エンド・ユーザは、システムのハードウェア・プラットホーム、環境との通信、および/またはユーザ・インターフェースに関する詳細な知識を必要とすることなく、システムの標準的な(即ち、事前指定の)特徴および機能を柔軟に変更および/または拡張き、カスタマイズされたエンドユーザ・アプリケーション要件を満たすことができる。
図7Aは、「変更可能な」メイン・タスクがシステムのアプリケーション層内で(イネーブルにされて)実行されるときに行われる動作を示す例示的な流れ図である。
図7Bは、システムのアプリケーション層の画像処理ベースのバー・コード・シンボル読取サブシステム・ソフトウェア・モジュール内で「画像処理」と呼ばれるシステムの機能が実行されるときに行われる動作を示す例示的な流れ図である。
図7Cは、システムのアプリケーション層の変更可能なメイン・タスク・ソフトウェア・モジュール内で「画像処理およびバー・コード復号化」と呼ばれるシステムの機能が実行されるときに行われる動作を示す例示的な流れ図である。
図7Dは、システムのアプリケーション層の変更可能なメイン・タスク内で「データ出力手順」と呼ばれるシステムの機能が実行されるときに行われる動作を示す例示的な流れ図である。
図7Eは、システムのアプリケーション層のデータ出力手順ソフトウェア・モジュール内で「データ・フォーマッティング手順」と呼ばれるシステムの機能が実行されるときに行われる動作を示す例示的な流れ図である。
図7Fは、システムのアプリケーション層のデータ出力手順ソフトウェア・モジュール内で「スキャナ・コンフィギュレーション手順」と呼ばれるシステムの機能が実行されるときに行われる動作を示す例示的な流れ図である。
図8は、本開示のデジタル画像キャプチャおよび処理のシステムの概略図であり、このシステムは、図4に示す多層ソフトウェア・アーキテクチャを有し、システムのアプリケーション層の複数のサードパーティ・ソフトウェア・プラグインのチェーン化をサポートするものであり、複数のサードパーティ・プラグイン・コードは、デジタル画像キャプチャおよび処理のシステムにおける複数のサードパーティ・プラグインの順序付け即ちチェーン化を制御する条件付き論理を有するコンフィギュレーション・ファイルを含む。

実施例

0028

添付の図面内の図を参照して、本開示の手で支持できる撮像ベースのバー・コード・シンボル読取システムの様々な例示的な実施形態について詳細に説明する。図面では、同じエレメントは同じ参照番号を使用して示す。

0029

[サードパーティ・コードのプラグインを用いてのシステムの特徴および機能の変更および/または拡張を可能にする多層ソフトウェア・ベースのシステム・アーキテクチャを用いる本開示のデジタル画像キャプチャおよび処理のシステムの概要

0030

本開示は、VAR、OEMなど(即ち、元のシステム設計者以外)が、システムのハードウェア・プラットホーム、外部環境との通信、および/またはユーザ関連インターフェースに関する詳細な知識を所有することを必要とせずに、非常に広いクラスのデジタル画像キャプチャおよび処理のシステムおよびデバイスの標準システムの特徴および機能を変更および/または拡張できるようにする新規なシステム・アーキテクチャ、プラットホーム、および開発環境を提供することにより、レーザおよびデジタル撮像ベースのバー・コード・シンボル・リーダを含めての従来技術のデジタル画像キャプチャおよび処理のシステムおよびデバイスの短所および欠点に対処する。この新規な手法は、サードパーティ製品内で、出願人および譲受人であるMetrologic Instruments,Inc.(メトロロジックインストルメンツ社)などのような熟達したデジタル・イメージャの設計者および製造業者のデジタル画像キャプチャおよび処理技術を用いたいと望むサードパーティにとって、多数の利益および利点を有するが、手元のエンドユーザ・アプリケーションの要件を満たすために、そのようなシステムの特徴および機能の変更および/または拡張プロセス中に貴重知的財産およびノウ・ハウを犠牲にする、またはそれらを開示する危険を冒す必要がない。

0031

図1A図1Bに示すように、本開示のデジタル画像キャプチャおよび処理のシステム1000は、本開示の革新的なプラグイン・プログラミング方法を使用して変更および/または拡張できる多数の標準システムの特徴および機能を提供する様々なサブシステムをサポートすることが可能な多層ソフトウェア・システム・アーキテクチャを用いる。本明細書に開示する本開示の例示的な実施形態では、そのようなサブシステムは、物体存在検出サブシステム、物体範囲検出サブシステム、物体速度検出サブシステム、物体寸法判定サブシステム、視野(FOV)照射サブシステム、撮像形成および検出(IFD)サブシステム、デジタル画像処理サブシステム音声インジケータ出力サブシステム視覚インジケータ出力サブシステム、電力管理サブシステム、画像時間/空間スタンピング・サブシステム、ネットワーク(IP)アドレス記憶サブシステム、遠隔監視サービス提供サブシステム、入出力サブシステム、ならびにシステム制御および/または調整サブシステムを含み、示されたように全体として組み込まれている。

0032

本明細書に開示する本開示の例示的な実施形態に関して、例示的な標準システムの特徴および関数図1C1およびC2の表に説明されている。そのようなシステムの特徴(機能、feature)および機能(関数、function)について、本開示のデジタル画像キャプチャおよび処理における特徴および機能を全体としてサポートするサブシステムと関連して以下に説明する。

0033

システム・トリガ特徴(即ち、トリガ・イベント生成):物体存在検出サブシステム
標準システム機能:
自動トリガ(即ち、IR物体存在検出)(例えば、ON(オン)、OFFオフ))
手動トリガ(例えば、ON、OFF)
半自動トリガ(例えば、ON、OFF)

0034

物体範囲検出特徴:物体範囲検出サブシステム
標準システム機能:
(IRベース)長/短範囲検出(例えば、ON、OFF)
(IRベース)量子化/増分範囲検出(例えば、ON、OFF)

0035

物体速度検出特徴:物体速度検出サブシステム
標準システム機能:
LIDARベースの物体速度検出(例えば、ON、OFF)
IR−PULSE−DOPLERIRパルスドップラ)物体速度検出(例えば、ON、OFF)

0036

物体寸法判定特徴:物体寸法判定サブシステム
標準システム機能:
LIDARベースの物体寸法判定(例えば、ONまたはOFF)
構造化レーザ光物体寸法判定(例えば、ONまたはOFF)

0037

視野(FOV)照射特徴:照射サブシステム
標準システム機能:
照射モード(例えば、周囲/OFF、LED連続、およびLEDストロボフラッシュ
自動照射制御(即ち、ONまたはOFF)
照射フィールド・タイプ(例えば、狭域近視野照射、広域遠視野照射、狭域視野の照射、広域視野の照射)

0038

撮像形成および検出特徴:撮像形成および検出(IFD)サブシステム
標準システム機能:
画像キャプチャ・モード(例えば、狭域画像キャプチャ・モード、広域画像キャプチャ・モード)
画像キャプチャ制御(例えば、単一フレーム動画フレーム
画像感知アレイの電子利得(例えば、1〜10,000)
画像感知アレイにより検出される各画像フレームに対する露出時間(例えば、ミリ秒単位でプログラム可能
画像感知アレイ内の撮像画素の各ブロックに対する露出時間(例えば、ミリ秒単位でプログラム可能)
視野マーキング(例えば、1ドットパターン、2ドット・パターン、4ドット・パターン、可視ライン・パターン、4ドットおよびライン・パターン)

0039

デジタル画像処理特徴:デジタル画像処理サブシステム
標準システム機能:
画像感知アレイ上の画像クロッピング・パターン(例えば、x1、y2、x2、y2、x3、y3、x4、y4)
画像フレームの前処理(例えば、デジタル・フィルタ1、デジタル・フィルタ2、・・・、デジタル・フィルタn)
情報認識処理(例えば、第Aのシンボル体系の認識、・・・、第Zのシンボル体系の認識、OCRを使用する英数字文字列認識1、・・・、OCRを使用する英数字の文字列認識n、およびテキスト認識プロセス
後処理(例えば、デジタル・データ・フィルタ1、デジタル・データ・フィルタ2、・・・)
物体機能/特性セット認識(例えば、ONまたはOFF)

0040

音声インジケータ出力特徴:音声インジケータ出力サブシステム
標準システム機能:
音の大きさ(例えば、高、低、中の音量
音の高さ(例えば、周波1、周波2、周波3、・・・、音声1、・・・、音声N)

0041

視覚インジケータ出力特徴:視覚インジケータ出力サブシステム
標準システム機能:
インジケータの明るさ(例えば、高、低、中の明るさ)
インジケータの色(例えば、赤色、緑色、黄色、青色、白色)

0042

電力管理特徴:電力管理サブシステム
標準システム機能:
電力動作モード(例えば、OFF、ON連続、ONエネルギ節約)
エネルギ節約モード(例えば、節約モード第1、節約モード第2、・・・、節約モードM)

0043

画像時間/空間スタンピング特徴:画像時間/空間スタンピング・サブシステム
標準システム機能:
GPSベースの時間/空間スタンピング(例えば、ON、OFF)
ネットワーク・サーバ時間割当て(例えば、ON、OFF)

0044

ネットワーク(IP)アドレス記憶特徴:IPアドレス記憶サブシステム
標準システム機能:
手動IPアドレス記憶(例えば、ON、OFF)
DHCPを介した自動IPアドレス記憶(例えば、ON、OFF)

0045

遠隔監視/サービス提供特徴:遠隔監視/サービス提供サブシステム
標準システム機能:
TCP/IP接続(例えば、ON、OFF)
SNMPエージェント(例えば、ACTIVEアクティブ)またはDEACTIVE(デアクティブ))

0046

入出力特徴:入出力サブシステム
標準システム機能:
データ通信プロトコル(例えば、RS−232シリアル、USB、ブルートゥース(登録商標)など)
出力画像ファイル形式(例えば、JPG/EXIF、TIFF、PICT、PDFなど)
出力動画ファイル形式(例えば、MPEG、AVIなど)
データ出力形式(例えば、ASCII
キーボード・インターフェース(例えば、ASCII)
グラフィック表示(LCD)インターフェース(例えば、ACTIVEまたはDEACTIVE)

0047

システム制御および/または調整特徴:システム制御および/または調整サブシステム
標準システム機能:
システム動作モード(例えば、システム・モード1、システム・モード2、・・・、システム・モードN)

0048

図1Dに示すように、図1A〜1C3に表す本開示のデジタル画像キャプチャおよび処理のシステム1000は、ともにインターフェースされるデジタル・カメラ基板および印刷回路(PC)基板を使用して実施することができる。代替例として、図1Eに示すように、本開示のデジタル画像キャプチャおよび処理のシステム1000はまた、示されるように単一の複合型のデジタル・カメラ/PC基板を使用して実施することもできる。

0049

図1Fに示すように、本開示のデジタル画像キャプチャおよび処理のシステムは、例えば、画像処理ベースのバー・コード・シンボル読取システム、OCRシステム、物体認識システム、携帯型データ端末(PDT)、モバイル電話、コンピュータ・マウス型デバイス、パーソナル・コンピュータ、キーボード、民生用機器、自動車、ATM、販売機、回収機、小売用POSベースの取引システム、2Dまたは2Dデジタイザ、およびCAT走査システム、自動車識別システム、包装検査システム、ならびに個人識別システムなどのサードパーティ製品内に組み込むこと、およびサードパーティ製品内で実施することができるが、その製品はこれらに限定されるものではない。

0050

通常、本開示のデジタル画像キャプチャおよび処理のシステムは、上述のような1組の標準的な特徴および機能と、カスタマイズされたエンドユーザ・アプリケーション要件を満たす1組のカスタム特徴および機能とを有するものであり、カスタム特徴および機能は、典型的には、手元の特定のアプリケーション向けのそのような標準のシステムの特徴および機能を変更および/または拡張することを目的とする。

0051

図2A図5を参照して詳細に後述する例示的な実施形態では、本開示のデジタル画像キャプチャおよび処理のシステムは(第3の製品内にシステムが組み込まれたりそのシステム内で実施されるか否かにかかわらず)、通常、下記のものを備える。

0052

即ち、視野(FOV)を、前記FOVおいて撮像すべき物体上に投影し、画像キャプチャ・モードにおける照射動作中に物体から反射されて撮像された光を検出するデジタル・カメラ・サブシステムであって、物体の1または複数のデジタル画像が前記デジタル・カメラ・サブシステムにより形成および検出されるデジタル・カメラ・サブシステムと、デジタル画像を処理し、生もしくは処理済みの出力データを生成するか、または画像内にグラフィックで表される情報を認識もしくは取得し、認識した情報を表す出力データを生成するデジタル画像処理サブシステムと、前記出力データを、外部のホスト・システムまたは他の情報受取または応答デバイス伝送する入出力サブシステムと、上記のサブシステムの動作を制御および/または調整するシステム制御システムと、上記のサブシステムの1または複数のもの、ならびにデジタル画像キャプチャおよび処理のシステムの特徴および機能の実装をサポートする演算プラットホームとを備える。

0053

演算プラットホームは、(i)デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、(ii)元の製品コードを特定のシーケンスで呼び出して実行することにより1または複数のアプリケーションを動作させるマイクロプロセッサとを含み、デジタル画像キャプチャおよび処理のシステムの標準的挙動を特徴付ける1組の標準的な特徴および機能をサポートする。

0054

図6〜7Fを参照してより詳細に説明するように、これらの元の製品コードは、1組のプレースホルダを有し、このプレース・ホルダ内へ、付加価値再販業者(VAR)や、相手先商標製造業者(OEM)や、デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができる。

0055

本開示の新規な原理によれば、1または複数のサードパーティ・コード(「プラグイン」)が1組のプレース・ホルダへ挿入またはプラグインされ、デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を拡張させるように、およびその標準的な挙動をデジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更するように、動作する。

0056

本開示の殆どの実施形態では、デジタル画像キャプチャおよび処理のシステムは、光透過窓を有する筐体を更に備え、FOVは、光透過窓を通って、FOVで撮像すべき物体上へ投影される。また典型的に、これらの元の製品コードならびにサードパーティ製品コードは、演算プラットホームのメモリ構造でサポートされる1または複数のライブラリに維持される。通常、そのようなメモリは、それぞれ異なるアクセス速度および性能特性を有する様々な種類のメモリを有するメモリ・アーキテクチャを備える。

0057

本開示の原理によれば、付加価値再販業者(VAR)や相手先商標製造業者(OEM)などのようなエンドユーザは、元のシステム設計者により設定された仕様に従ってそのようなサードパーティ・コード(即ち、プラグイン)を書くことができ、これらのカスタム・コードをプレース・ホルダにプラグインすることができ、それにより、デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能の永久的な変更を行うことなく、デジタル画像キャプチャおよび処理のシステム(またはシステムが組み込まれるサードパーティ製品又はシステムが実施されるサードパーティ製品)の特徴および機能を変更および拡張することができ、また、デジタル画像キャプチャおよび処理のシステムの標準的な挙動をデジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更することができる。

0058

本開示の幾つかの例示的な実施形態では、デジタル・カメラ・システムは、デジタル画像形成および検出サブシステムを備え、デジタル画像形成および検出サブシステムは、(i)FOVを、光透過窓を通してFOVで撮像すべき物体上へ投影する画像形成光学系と、(ii)画像感知アレイのセンサ・エレメントがイネーブルとされる画像キャプチャ・モードにおける照射動作中に物体から反射されて撮像された光を検出する画像感知アレイとを有し、画像感知アレイ上に形成された物体の1または複数のデジタル画像を検出するように構成され、デジタル・カメラ・システムは更に、画像キャプチャ・モード中に光透過窓を通るものでありFOV内にある照射フィールドを生成および投影する照射アレイを有する照射サブシステムと、画像形成および検出サブシステムにより検出されたこれらのデジタル画像を取り込んでバッファリングする画像取込みおよびバッファリング・サブシステムとを備える。

0059

画像感知アレイは、エリア・タイプの画像感知アレイおよびリニア・タイプの画像感知アレイからなる群から選択されるデジタル画像感知構造により実現することができる。

0060

システムの演算プラットホーム内で用いられるメモリは、デジタル画像キャプチャおよび処理のシステムの機能を構成するために使用されるシステム・パラメータを維持することが好ましい。例示的な実施形態では、メモリは、オペレーティング・システム(OS)層、システム・コア(SCORE)層、およびアプリケーション層を特徴とし、前記デジタル撮像ベースのコード・シンボル読取システム内のトリガ・イベントの生成に応答する、3層モジュール式ソフトウェア・アーキテクチャをサポートするメモリ・アーキテクチャを備える。OS層は、OSカーネル・モジュール、OSファイル・システム・モジュール、およびデバイス・ドライバ・モジュールからなる群から選択される1または複数のソフトウェア・モジュールを含む。SCORE層は、タスク・マネージャ・モジュール、イベント・ディスパッチャ・モジュール、入出力マネージャ・モジュール、ユーザ・コマンド・マネージャ・モジュール、タイマ・サブシステム・モジュール、入出力サブシステム・モジュール、およびメモリ制御サブシステム・モジュールからなる群から選択される1または複数のソフトウェア・モジュールを含む。アプリケーション層は、コード・シンボル復号化モジュール、機能プログラミング・モジュール、アプリケーション・イベント・マネージャ・モジュール、ユーザ・コマンド・テーブル・モジュール、およびコマンド・ハンドラ・モジュールからなる群から選択される1または複数のソフトウェア・モジュールを含む。

0061

照射サブシステムから投影される照射のフィールドは、発光ダイオード(LED)のアレイから生成される狭帯域の照射とすることができる。また、デジタル画像処理サブシステムは典型的に、取り込まれたデジタル画像を処理して、デジタル画像内にグラフィックで表される1または複数のコード・シンボルを読み取るように適合され、読み取った1または複数のコード・シンボルを表すシンボル・キャラクタ・データの形で出力データを生成する。各コード・シンボルは、1Dバー・コード・シンボル、2Dバー・コード・シンボル、およびデータ・マトリックス・タイプのコード・シンボル構造からなる群から選択されるバー・コード・シンボルとすることができる。

0062

本開示のこれらの態様および他の態様は、以下および特許請求の範囲で明らかになるであろう。従ってこの時点で、図1A〜1Fに示す本開示のデジタル画像キャプチャおよび処理のシステムの様々な例示的な実施形態について、図2A〜5を参照してここで詳細に説明することが適当である。図2A〜5に示すこれらのそれぞれの例示的な実施形態では、本開示のデジタル画像キャプチャおよび処理のシステム1000は、示されたシステムまたは製品の構造、特徴、および機能へ組み込まれるか又は構造、特徴、および機能で実施される。これらの例示的な実施形態について説明した後、本開示のプラグイン・プログラミング方法の技術上の態様について、図6〜7Eを参照して詳細に説明する。

0063

[本開示の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード読取デバイス]

0064

図2A〜2L2を参照して、本開示の第1の例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイス1を詳細に示す。デバイス1は、ハンドル部分2Aとヘッド部分2Bとを有する手で支持できる筐体2を備え、ヘッド部分2Bは、高域通過(赤色波長を反射する)の光学フィルタ・エレメント4Aを有する光透過窓3を備える。より詳細に後述するように、高域通過光学フィルタ・エレメント4Aは、内部に取り付けられた低域通過光学フィルタ・エレメント4B内で協働し、低域通過光学フィルタ・エレメント4Bは高域通過光学フィルタ・エレメント4Aと協働する。これらの高域通過フィルタ・エレメント4Aおよび低域通過フィルタ・エレメント4Bは、狭帯域光学フィルタ・システム4を提供するように協働するものであり、狭帯域光学フィルタ・システム4は、筐体のヘッド部分に組み込まれ、狭帯域の照射(例えば、633ナノメートル)のみが撮像動作中に筐体を出入りすることを可能にする。

0065

図2I、2J、および2Kに最もよく示されているように、例示的な実施形態の手で支持できる筐体2は、左側の筐体ハンドル半部2A1および右側の筐体ハンドル半部2A2と、ハンドル半部2A1とハンドル半部2A2との間に取り付けられる脚状構造2A3と、筐体の半部内に提供される1対の隔置された開口2D1および2D2にスナップ嵌めされて枢動するトリガ・スイッチ構造2Cと、ハンドル半部2A1および2A2を合わせたときにそれらにより形成される凹部内に光透過窓3が形成および支持されるものであり、システムにより提供されるすべてのLED照射アレイを支持する光透過窓パネル5と、電気光学構成エレメントを支持するものであり、ハンドル筐体半部内に直交して取り付けられるPC基板7に動作可能に接続される光学ベンチ6と、筐体ハンドル半部2A1および2A2と接続され、筐体のヘッド部分を囲う部筐体部分2B1と、手で支持できる筐体のヘッド部分の後端部内に取り付けられた光パイプ構造10および発光ダイオード(LED)9のアレイ上へ取り付けられる光パイプ・レンズ・エレメント7と、上部筐体部分2B1ならびに左側ハンドル半部2A1および右側ハンドル半部2A2をともに保持し、光透過窓パネル5を間に挟み、光透過窓パネル5に対してあるレベル衝撃保護を提供する前面バンパ構造2Eとを備える。

0066

本開示の他の可能な実施形態では、手で支持できる筐体の形状は、異なる可能性および場合がある。更に他の適用分野では、筐体は、手で支持できるようにする必要すらなく、もしくは台の上の表面で静止して支持されるように、または商業用もしくは産業用の適用分野で使用されるように、設計される場合がある。

0067

[本開示の手で支持できるデジタル画像ベースのバー・コード読取デバイスのシステム設計モデルとしての概略ブロック機能図]

0068

図2L1のシステム設計モデルに示すように、例示的な実施形態の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイス1は、IRベースの物体存在および範囲検出サブシステム12と、狭域の画像キャプチャ・モード、近視野広域の画像キャプチャ・モード、および遠視野広域の画像キャプチャ・モードを有する多モード・エリア・タイプの画像形成および検出(即ち、カメラ)サブシステム13と、狭域の照射モード、近視野広域の照射モード、および遠視野広域の照射モードを有する多モードLEDベースの照射サブシステム14と、自動露光測定および照射制御サブシステム15と、画像取込みおよびバッファリング・サブシステム16と、図2L2に示し、詳細に述べる画像処理ベースのバー・コード・シンボル読取りの5つのモードを有する多モード画像処理バー・コード・シンボル読取サブシステム17と、入出力サブシステム18と、ユーザ由来制御作動信号をデバイスへ送る手動作動可能なトリガ・スイッチ2Cと、システム・モード・コンフィギュレーション・パラメータ・テーブル70と、示したように前述のサブシステムのそれぞれと統合されるシステム制御サブシステム18とを備える。

0069

IRベースの物体存在および範囲検出サブシステム12の主な機能は、多モード画像形成および検出サブシステム13のFOV内でIRベースの物体検出フィールド20を自動的に生成し、物体検出フィールド(20A、20B)の所定の領域内で物体の存在を検出し、制御作動信号A1を生成することである。制御作動信号A1は、システム制御サブシステム19へ供給され、システムの物体検出フィールド内で物体がいつどこで検出されたかを示す。

0070

第1の例示的な実施形態では、多モード画像形成および検出(即ち、カメラ)サブシステム13は、撮像すべき物体上で視野(FOV)23を生成する画像形成(カメラ)光学系21と、照射および画像取得キャプチャ動作中に物体から反射されて撮像された光を検出するCMOSエリア画像感知アレイ22とを有する。

0071

第1の例示的な実施形態では、多モードLEDベースの照射サブシステム14の主な機能は、狭域照射フィールド24、近視野広域照射フィールド25、および遠視野広域照射フィールド25を生成することである。これらのフィールドはそれぞれ、狭い光学帯域幅を有し、それぞれ、狭域および広域の撮像モード中に多モード画像形成および検出サブシステム13のFOV内に制限される。この構成は、多モード照射サブシステム14から送られて、照射された物体から反射される光のみが最終的に狭帯域の透過型の光学フィルタ・サブシステム4を透過することが確実になるように設計されるものであり、このサブシステム4は、(1)パネル5の直前光透過開口3に取り付けられた高域通過(即ち、赤色波長を反射する)フィルタ・エレメント4A、および(2)図3Cに示すように画像感知アレイ22の前またはパネル5の後の任意の場所に取り付けられる低域通過フィルタ・エレメント4Bにより実現される。図5A4は、狭帯域透過スペクトル・フィルタ・サブシステム4の結果として得られる合成伝送特性を示し、多モード照射サブシステム14で用いられるLED照射アレイからの発光スペクトル特性に対してプロットしたものである。

0072

狭帯域組込型光学フィルタ・サブシステム4の主な機能は、CMOS画像感知アレイ22のみが、多モード照射サブシステム14に関連するLEDドライバ回路30により駆動される3セットのLEDベースの照射アレイ27、28、および29により透過される狭帯域可視照射を受け取るようにすることであり、集光光学系により収集される周囲光の他の全ての成分は画像感知アレイ22で実質上拒否され、それにより改善されたSNRを提供し、従ってシステムの性能を改善する。

0073

自動露光測定および照射制御サブシステム15の主な機能は2つあり、それらは、(1)画像感知アレイ22辺りでシステムの光学系により収集される光子エネルギー(即ち、光)のパワー密度ジュール/cm]をリアルタイムで測定し、良好な画像形成および検出に必要な露出の量を示す自動露出制御信号を生成すること、そして(2)システム制御サブシステム19により提供される照射アレイ選択制御信号と組み合わせて、多モード照射サブシステムで選択されたLEDアレイ27、28、および/または29の出力パワーを自動的に駆動および制御して、システムのFOV内の物体がLEDベースの照射に対して最適に露出され、画像感知アレイ22で最適の画像が形成および検出されるようにすることである。

0074

画像取込みおよびバッファリング・サブシステム16の主な機能は、(1)システムの画像形成光学系21により2D画像感知アレイ22上へ集束された2D画像全体を検出すること、(2)取り込まれた画像フレームの選択された対象領域に対して、または検出された画像全体に対して、デジタル画素データ31のフレームを生成すること、次いで(3)取り込まれた画像データの各フレームをバッファリングすることである。特に、例示的な実施形態では、Welch Allynに譲渡され参照により本明細書に組み込まれる米国特許第5,932,862号および第5,942,741号で対処されている画像フレームの上書きならびに画像キャプチャおよび復号化プロセスの同期に関連する問題を解消するために、それぞれの画像キャプチャおよび処理サイクル中、または処理サイクルの特定の段階中に、単一の2D画像フレーム(31)が取り込まれる。

0075

多モードの撮像ベースのバー・コード・シンボル読取サブシステム17の主な機能は、システム動作の狭域照射と広域照射の両方のモード中に、画像取込みおよびバッファリング・サブシステム16により取り込まれてバッファリングされた画像を処理することである。そのような画像処理動作は、図14〜25に示し詳細に述べる画像ベースのバー・コード復号化方法を含む。

0076

入出力サブシステム18の主な機能は、外部のホスト・システムおよびデバイスとの標準および/または専有の通信インターフェースをサポートし、そのようなインターフェースを用いてそのような外部のホスト・システムまたはデバイスへ処理された画像データなどを出力することである。そのようなインターフェース、およびそのようなインターフェースを実施する技術の例は、全体として参照により本明細書に組み込まれる米国特許第6,619,549号で得られる。

0077

システム制御サブシステム19の主な機能は、示されるように、組み込まれた各サブシステム・コンポーネントに、ある所定の程度の制御または管理の信号サービスを提供することである。このサブシステムは、プログラムされたマイクロプロセッサにより実施できるが、例示的な実施形態では、図11A〜13Lに表し詳細に述べるように、図2Mに示す演算プラットホームでサポートされる3層ソフトウェア・アーキテクチャにより実施される。

0078

手で支持できる筐体に組み込まれた手動作動可能トリガ・スイッチ2Cの主な機能は、ユーザがトリガ・スイッチ2Cを手動で押したときに制御作動信号を生成できるようにすること、そしてこの制御作動信号を、本明細書に詳細に説明する複合のシステムおよびサブシステムの制御動作を実施する際に使用するために、システム制御サブシステム19へ提供することである。

0079

システム・モード・コンフィギュレーション・パラメータ・テーブル70の主な機能は、例示的な実施形態のシステムによりサポートされ、複合動作中に必要に応じてシステム制御サブシステム19により読み取って使用できる、それぞれのプログラム可能なシステム動作モードに対する1組のコンフィギュレーション・パラメータを記憶する(不揮発性永続的メモリ内に)ことである。

0080

各サブシステムの詳細な構造および機能について詳細に説明した。

0081

[本開示の手で支持できるデジタル撮像ベースのバー・コード読取デバイスのシステム実装モデルとしての概略図]

0082

図2Bは、図2A〜2Lに示す手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイス1に対するシステム実装形態の概略図を示す。このシステム実装形態に示すように、バー・コード・シンボル読取デバイスは複数のハードウェア構成要素を使用して実現され、ハードウェア構成要素は下記のものを含む。LEDベースの多モード照射サブシステム14および自動露光測定および照射制御サブシステム15により実行される電子機能を実現するコンポーネントを保持する照射基板33。25Mhzのマスタクロック、7フレーム/秒、1280×1024の分解能で動作し、ランダムアクセス可能な関心領域(ROIウィンドゥ機能を有する、高分解能(1280×1024の7ビットの6ミクロン画素寸法)のCMOS画像感知アレイ22を保持し、多モード画像形成および検出サブシステム13により実行される電子機能を実現するCMOSカメラ基板34。CPU基板35(即ち、演算プラットホーム)であって、(i)200mHzの1.0コア電圧で動作し、16ビットで100Mhzの外部バス速度を有するIntel(登録商標)Sabinalの32ビットのマイクロプロセッサPXA210 36、(ii)拡張可能な(例えば、7+メガバイト)Intel(登録商標)J3非同期16ビット・フラッシュ・メモリ37、(iii)16メガバイトの100MHzのSDRAM38、(iv)カメラのタイミングの制御および画像取得プロセスの駆動を行うように構成された、50Mhzのクロック周波数および60MB/秒のデータ速度で動作するXilinx Spartan IIFPGA FIFO 39、(v)システムの他のサブシステムを実現するためのマルチメディアカードソケット40、(vi)I2Cバスにより調整可能なMCUに対する電力管理モジュール41、ならびに(vii)1対のUART42Aおよび42Bの対(IRDポート用とJTAGポート用)を含むCPU基板35。入出力サブシステム18により実行される機能を実現するインターフェース基板43。鉛筆形状のIRベースの物体感知信号を送受信するための1対のIRLEDおよびフォトダイオード12Aを含むサブシステム12を実現する、IRベースの物体存在および範囲検出回路44。

0083

例示的な実施形態では、バー・コード・リーダにより支持される画像形成光学系21は、バー・コード・リーダの縁部から約70mmという、標的までの公称焦点距離で、103mmの視野を提供する。視野(FOV)の最小寸法は、標的まで約10mmという公称焦点距離で、62mmである。光学系のパラメータの予備試験図4Bに示す(図4B上の距離は、バー・コード・シンボル・リーダ内で縁部から約80mmのところに位置する画像感知アレイ22の位置から得られる)。図4Cに示すように、画像形成光学系の被写界深度は、1つの狭いモジュール当たり5ミルの分解能を有するバー・コードに対する約69mmから、1つの狭いモジュール当たり13ミルの分解能を有するバー・コードに対する181mmまで変動する。

0084

多モード照射サブシステム14は、撮像窓から短い距離と長い距離との両方に位置するバー・コードの高コントラストの画像を生成するのに十分な照射で、バー・コード・シンボル・リーダの光学視野(FOV)23をカバーするように設計される。照射サブシステムはまた、2つの目的を有する狭域(薄い高さ)標的ビーム24を提供するものであり、2つの目的は、(a)リーダの光学視野がどこにあるかをユーザに示すこと、および(b)バー・コードが適正に位置合わせされている場合に、画像のほんの数行の迅速な走査を可能にし、超高速のバー・コード復号化を試みることとである。バー・コードが、復号するための直線的に照射される画像となるように位置合わせされていない場合、視野全体が広域照射フィールド25または26で照射され、視野全体の画像が画像キャプチャおよびバッファリング・サブシステム16により取得され、多モード・バー・コード・シンボル読取サブシステム17により処理され、その視野内に存在するバー・コード・シンボルの読み取りを向きにかかわらず確かなものとする。

0085

バー・コード・シンボル・リーダで用いられるインターフェース基板43は、バー・コード・シンボル・リーダが外界と通信するためのハードウェア通信インターフェースを提供する。システムで実施されるインターフェースは、典型的に、RS232、キーボード・ウェッジ、および/もしくはUSB、または上記の何らかの組合せ、ならびに手元の特定のアプリケーションにより必要とされる又は要求される他のものを含む。

0086

[狭域および広域の狭帯域の照射によりそれぞれサポートされる狭域(リニア)および広域の撮像モード中のエリア・タイプ画像形成および検出(即ち、カメラ)サブシステムの仕様]

0087

図3B〜3Eに示すように、多モードの画像形成および検出(IFD)サブシステム13は、狭域画像キャプチャ・モード(即ち、画像感知アレイの中心の周り画素の中心の数列のみがイネーブルされる)と、広域画像キャプチャ動作モード(即ち、画像感知アレイ内のすべての画素がイネーブルされる)とを有する。画像形成および検出サブシステム13のCMOS画像感知アレイ22は、画像感知アレイに、照射され撮像される物体上の視野(FOV)23を提供する画像形成光学系21を有する。示されるように、このFOVは、バー・コード・リーダに組み込まれた多モード照射サブシステム14により照射される。

0088

多モード照射サブシステム14は、光透過窓パネル5に取り付けられて光透過窓4Aのあたりに配される3つの異なるLEDベースの照射アレイ27、28、および29を含む。各照射アレイは、異なる動作モード中にバー・コード・リーダのFOVの異なる部分を照射するように設計される。多モード照射サブシステム14の狭域(リニア)照射モード中、23により示すFOVの中央の狭域広域部分が、図3Aに示す狭域照射アレイ27により照射される。IR物体存在および範囲検出サブシステム12がFOVの近視野部分で物体を検出することに応答して作動される多モード照射サブシステム14の近視野広域照射モード中、FOVの近視野広域部分は、図3Aに示す近視野広域照射アレイ28により照射される。IR物体存在および範囲検出サブシステム12がFOVの遠視野部分で物体を検出することに応答して作動される多モード照射サブシステム14の遠視野広域照射モード中、FOVの遠視野広域部分は、図3Aに示す遠視野広域照射アレイ29により照射される。図3Aでは、画像形成および検出サブシステム13のFOVのこれらの狭帯域の照射フィールドならびに遠視野および近視野部分の間の空間関係を示す。

0089

図3Bでは、多モードLEDベースの照射サブシステム14が、図3Cに示す狭帯域透過タイプの光学フィルタ・サブシステム4を通して可視の狭帯域照射を送るところが示され、サブシステム14は、手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイス内に組み込まれている。多モード照射サブシステム14からの狭帯域の照射は、画像形成および検出サブシステム13の画像形成光学系のFOVで物体を照射し、そこから反射されて散乱する光線は、高域通過の光学フィルタ4Aおよび低域通過の光学フィルタ4Bを通って透過され、最終的に画像感知アレイ22上へ集束され、集束されて検出される画像を画像感知アレイ22上に形成するが、周囲光の他のすべての成分は、画像感知アレイ22における画像検出に到達する前に実質上排除される。特に、例示的な実施形態では、赤色波長を反射する高域通過の光学フィルタ・エレメント4Aは、画像形成光学系21の前でデバイスの撮像窓に配置され、低域通過の光学フィルタ・エレメント4Bは、画像形成光学系21の集束レンズエレメント間で画像感知アレイ22の前に配置される。これは、バー・コード・リーダ内に組み込まれる狭帯域の光学フィルタ・サブシステム4を形成し、FOV内の物体が、サブシステム14から生成される狭帯域の照射内のスペクトル成分のみを使用して画像感知アレイ22で確実に撮像されることを可能とし、更に、この狭い範囲(例えば、15nm)の外側の他のすべての周囲光の成分を実質的に排除する。

0090

[本開示の手で支持できる画像ベースのバー・コード読取システムで用いられる多モードのLEDベースの照射サブシステムの仕様]

0091

例示的な実施形態では、LEDベースの多モードの照射サブシステム14は、狭域照射アレイ27、近視野広域照射アレイ28、および遠視野広域照射アレイ29を備える。サブシステム14の3つの照射アレイにより生成される3つの狭帯域の照射フィールドを、図4A1に概略的に示す。狭域照射アレイ27は、独立して動作可能な2つのアレイ、即ち、近視野狭域照射アレイおよび遠視野狭域照射アレイとして実現することができ、これらは、広域撮像の動作モード中に自動のIRベースの物体存在および範囲検出サブシステム12の近視野および遠視野で標的物体が検出されると作動する。しかしながら、例示の目的で、本開示の第1の例示的な実施形態は、図4A1に示すように、システムの動作範囲の実質上全体にわたって照射するように設計された単一フィールド狭域(リニア)照射アレイのみを用いる。

0092

狭域(リニア)照射アレイ27は、それぞれ、円筒形のレンズ27B1および27B2を備え、光透過窓パネル5の左側部分および右側部分に取り付けられる、2対のLED光源27A1および27A2を含む。画像形成および検出サブシステム13の狭域画像キャプチャ・モード中、狭域(リニア)照射アレイ27は、システムのFOV内に光学帯域幅が狭い狭域照射フィールド24を生成する。例示的な実施形態では、狭域照射フィールド24は、遠視野で10mm未満の高さを有し、実質上、直線または幾分平面の照射フィールドの外観をもたらす。

0093

例示的な実施形態では、近視野広域照射アレイ28は、図4Bに示すように光透過窓パネル5の上部部分および下部部分にレンズを取り付けられていない2セットの(頂部が平らな)LED光源28A1〜28A6および28A7〜28A13を含む。画像形成および検出サブシステム13の近視野広域画像キャプチャ・モード中、近視野広域照射アレイ28は、システムのFOV内で光学帯域幅が狭い近視野広域照射フィールド25を生成する。

0094

例示的な実施形態では、それぞれ、遠視野広域照射アレイ29は、球形(即ち、平凸)レンズ29B1〜29B6および29B7〜29B13を備え、光透過窓パネル5の上部部分および下部部分に取り付けられる2セットのLED光源29A1〜29A6および29A7〜29A13を含む。画像形成および検出サブシステム13の遠視野広域画像キャプチャ・モード中、遠視野広域照射アレイ29は、システムのFOV内で光学帯域幅が狭い遠視野広域照射ビームを生成する。

0095

[本開示の手で支持できるデジタル画像ベースのバー・コード読取デバイスの3層ソフトウェア・アーキテクチャの仕様]

0096

図4に示すように、本開示の手で支持できるデジタル撮像ベースのバー・コード・シンボル読取デバイス1は、3層のソフトウェア・アーキテクチャを備え、(1)ソフトウェア・アーキテクチャのアプリケーション層内に常駐するメイン・タスク・モジュール、コードゲート・タスク(CodeGate Task)・モジュール、メトロセット・タスク(Metrosrt Task)・モジュール、アプリケーション・イベント・マネージャ・モジュール、ユーザ・コマンド・テーブル・モジュール、コマンド・ハンドラ・モジュール、プラグイン・コントローラ(マネージャ)、ならびにプラグイン・ライブラリおよびコンフィギュレーション・ファイルと、(2)ソフトウェア・アーキテクチャのシステム・コア(SCORE)層内に常駐するタスク・マネージャ・モジュール、イベント・ディスパッチャ・モジュール、入出力マネージャ・モジュール、ユーザ・コマンド・マネージャ・モジュール、タイマ・サブシステム・モジュール、入出力サブシステム・モジュール、およびメモリ制御サブシステム・モジュールと、(3)ソフトウェア・アーキテクチャのLinuxオペレーティング・システム(OS)層内に常駐するLinux(登録商標)カーネル・モジュール、Linux(登録商標)ファイル・システム・モジュール、およびデバイス・ドライバ・モジュールとを備える。

0097

撮像ベースのバー・コード・シンボル・リーダのオペレーティング・システム層は、Linux(登録商標)オペレーティング・システムに基づくが、他のオペレーティング・システムを使用できること(例えば、Microsoft(登録商標)Windows(登録商標)、Max OXS、Unix(登録商標)など)、また、設計は、メイン・アプリケーション・ソフトウェア層とオペレーティング・システム層との間で独立性を提供し、従って、潜在的にアプリケーション・ソフトウェア層を他のプラットホームへ輸送できるようにすることが好ましいことが理解される。更に、本開示のシステム設計原理は、共通のソフトウェア・コンポーネントの広範な使用により将来の他の製品に対するシステムの拡張性を提供し、それにより、そのような製品の設計を容易にし、開発時間を低減させ、かつロバスト性保障するはずである。

0098

例示的な実施形態では、上記の特徴は、SCOREと呼ばれるシステム・コア・ソフトウェア層の上で動作する、イベント駆動式のマルチタスクで潜在的にマルチユーザのアプリケーション層を実施することを通じて実現される。SCORE層は、製品アプリケーション・ソフトウェアと静的にリンクされ、従って、システムのアプリケーション・レベルまたは層で動作する。SCORE層は、アプリケーションへ1組のサービスを提供し、このサービスは、アプリケーションが基礎となるオペレーティング・システムの詳細を知ることを必要としないようにするものであるが、すべてのオペレーティング・システムAPIは、もちろん、アプリケーションに対して使用可能である。SCOREソフトウェア層は、製品アプリケーションが動作するために、リアルタイムのイベント駆動式のOS独立型枠組みを提供する。イベント駆動式アーキテクチャは、イベントを検出する手段を作り(必ずしも必要ではないが、通常は、ハードウェアの割込みが発生したときに作る)、そのイベントをアプリケーションに通知してリアルタイムで処理するようにすることにより、達成される。イベントの検出および通知は、SCOREソフトウェア層により提供される。SCORE層はまた、同時に動作している可能性のあるソフトウェア・タスクの開始および取消しを行う手段、従って、本開示のソフトウェア・システムのマルチタスクの性質を、アプリケーション製品に提供する。

0099

[本開示の撮像ベースのバー・コード・リーダ内で用いられるシステム・ソフトウェア・アーキテクチャのSCORE層内のソフトウェア・モジュールの仕様]

0100

SCORE層は、アプリケーション層に複数のサービスを提供する。

0101

タスク・マネージャは、製品アプリケーション動作中の任意の時点で特有のアプリケーション・タスク(スレッド)の実行および取消しを行う手段を提供する。

0102

イベント・ディスパッチャは、すべての種類の内部および外部の同期および非同期イベント信号発信および送達する手段を提供する。

0103

アプリケーションに対して同期か非同期かにかかわらず、イベントが発生したとき、イベント・ディスパッチャは、これらのイベントをアプリケーション・イベント・マネージャへディスパッチし(送り)、アプリケーション・イベント・マネージャは、現在の状態に基づいてアプリケーションにより必要とされるようにイベントに作用する。例えば、特定のイベントおよびアプリケーションの現在の状態に基づいて、アプリケーション・イベント・マネージャは、新しいタスクを開始するか、それとも現在動作しているタスクを停止させるか、あるいはそれ以外のことを行うか、または何も行わずにイベントを完全に無視するかを決めることができる。

0104

入出力マネージャは、入出力デバイス行動監視し、そのような行動が検出されたときに適当なイベントをアプリケーションに信号発信する手段を提供する。

0105

入出力マネージャ・ソフトウェア・モジュールは、バックグラウンドで動作し、外部のデバイスおよびユーザ接続の行動を監視し、そのような行動が検出されると、適当なイベントをアプリケーション層へ信号で伝える。入出力マネージャは、アプリケーションと並列に動作し、シリアル・ポート、ユーザ・トリガ・スイッチ2C、バー・コード・リーダ、ネットワーク接続などのハードウェア・デバイスから非同期で来る入出力信号に反応する、優先度の高いスレッドである。これらの信号およびアプリケーションからの任意の入出力要求(またはその欠如)に基づいて、入出力マネージャは適当なシステム・イベントを生成し、これらのシステム・イベントは、可能な限り迅速に、イベント・ディスパッチャを通ってアプリケーション・イベント・マネージャへ送達される。

0106

ユーザ・コマンド・マネージャは、ユーザ・コマンドを管理する手段を提供し、アプリケーションにより提供されるユーザ・コマンド・テーブルを使用し、ユーザにより入力されるデータに基づいて適当なユーザ・コマンド・ハンドラを実行する。

0107

入出力サブシステム・ソフトウェア・モジュールは、入出力接続を生成および削除するため、および外部のシステムおよびデバイスと通信するための手段を提供する。

0108

タイマ・サブシステムは、すべての種類の論理タイマを生成、削除、および使用する手段を提供する。

0109

メモリ制御サブシステムは、標準の動的メモリ管理機能と完全にコンパチブルのデバイスおよび収集されたデータをバッファリングする手段を、多レベル動的メモリを管理するインターフェースに提供する。メモリ制御サブシステムは、動的メモリのスレッドレベル管理のための手段を提供する。メモリ制御サブシステムのインターフェースは、標準Cメモリ管理機能と完全にコンパチブルである。このシステム・ソフトウェア・アーキテクチャは、複数のユーザに対してもデバイスの接続性を提供するように設計され、複数のユーザは、デバイスを用いて動作するための異なるレベルの権限を有し得る。

0110

ユーザ・コマンド・マネージャは、ユーザ・コマンドを入力すること、およびそのコマンドの対処の責務を負うアプリケーション・モジュールを実行することのための標準的な方法を提供する。ユーザ・コマンド・テーブルに記述された各ユーザ・コマンドは、ユーザ入力ごとにユーザ・コマンド・マネージャにより開始できるタスクであるが、開始されるのは、特定のユーザの権限がコマンドのセキュリティ・レベルに一致する場合のみである。

0111

イベント・ディスパッチャ・ソフトウェア・モジュールは、新しいタスクを開始すること、現在動作しているタスクを停止すること、または何か行うこと、もしくは何も行わずにイベントを単に無視することを含むイベントを、アプリケーション・イベント・マネージャへ信号発信および送達する手段を提供する。

0112

[本開示の撮像ベースのバー・コード・リーダで用いられるシステム・ソフトウェア・アーキテクチャのアプリケーション層内のソフトウェア・モジュールの仕様]

0113

本開示のシステム内で用いられる画像処理ソフトウェアは、画素データを含む取り込まれた画像のフレーム内でバー・コードの位置を特定して認識するバー・コード読取機能を実行する。画像処理ソフトウェアのモジュール型設計は、バー・コード・シンボルの読み取りに関係するか否かにかかわらず、他の潜在的なアプリケーションに将来使用できる豊富な1組の画像処理機能、例えば、光学文字認識(OCR)および検証(OCV)、様々な表面上の直接にマークされたシンボルの読み取りおよび検証、顔認識および他の生体識別などを提供する。

0114

無限ループ内のコードゲート(CodeGate)・タスクは、以下のタスクを実行する。このタスクは、視野(FOV)の中央にある「薄い」狭い水平領域を照射して、その領域のデジタル画像を取得する。次いで、より詳細に述べる本開示の画像処理バー・コード・シンボル読取サブシステム17によりサポートされる画像処理ソフトウェア設備を使用して、画像データの取り込まれたフレーム内に表されるバー・コード・シンボルの読み取りを試みる。バー・コード・シンボルの読み取りに成功した場合、サブシステム17は、その復号されたデータを特別の復号データ・バッファに保存する。成功しなかった場合、復号データ・バッファを消去する。次いで、ループを継続する。コードゲート・タスク・ルーチンは決して自然に終了(退出)しない。このルーチンは、他のイベントに反応するときに、システム内の他のモジュールにより取り消すことができる。例えば、ユーザがトリガ・スイッチ2Cを引いたとき、TRIGGER_ONというイベントが、アプリケーションへ通知される。このイベントの処理を担うアプリケーション・ソフトウェアは、コードゲート・タスクが動作しているかどうかを検査し、動作している場合、このコードゲート・タスクを取り消し、次いでメイン・タスクを開始する。コードゲート・タスクはまた、ユーザがバー・コード・リーダを物体から離したとき、またはユーザがバー・コード・リーダから物体を離したときに通知されるOBJECT_DETECT_OFFイベントで、取り消されることができる。コードゲート・タスク・ルーチンは、「半自動でトリガされる」システム・モードのプログラムされた動作が本開示の照射および撮像プラットホームでインプリメント(実施)されるときにイネーブルされる(メイン・タスクによる)。

0115

狭域照射タスクは、「手動トリガ」システム・モードのプログラムされた動作が本開示の照射および撮像プラットホームでインプリメントされるときにイネーブルされる(メイン・タスクによる)簡単なルーチンである。しかしながら、このルーチンはコードゲート・タスクと同時にはイネーブルにされない。図13Dのイベントの流れ図に示すように、コードゲート・タスクまたは狭域照射タスクが、メイン・タスク・ルーチンでイネーブルにされて本明細書に記載する多様な種類のシステム動作を実現する。

0116

撮像ベースのバー・コード・シンボル・リーダがコンフィギュレーションされるシステム・モードに応じて、メイン・タスクは典型的には異なった形で実行される。例えば、撮像ベースのバー・コード・シンボル・リーダが、半自動トリガの複数試行の1D/2D単一読取りモードにコンフィギュレーション(構成)されるとき、メイン・タスクは最初に、復号データ・バッファがコードゲート・タスクにより復号されたデータを含むか否かを検査する。含む場合、メイン・タスクは、データ出力手順を実行することによりそのデータをユーザへ直ちに送り出し、退出する。含まない場合、ループ内で、メイン・タスクは、視野の領域全体を照射して、その領域の全フレーム画像を取得する。取り込まれた画像のバー・コード・シンボルの読み取りを試みる。バー・コード・シンボルの読み取りに成功した場合、メイン・タスクは、データ出力手順を実行することによりそのデータをユーザへ直ちに送り出し、退出する。成功しなかった場合、ループを継続する。特に、読み取りに成功すると、データ出力手順を実行する前に、メイン・タスクは、「リーダ・プログラミング」コマンドまたはコマンドのシーケンスに関して、復号されたデータを分析する。必要な場合、MetroSelect(メトロセレクト)機能を実行する。メイン・タスクは、他のイベントに反応したとき、システム内の他のモジュールにより取り消すことができる。例えば、本開示のバー・コード・リーダは、MetroSelec(登録商標)およびMetroset(登録商標)などのような標準のMetrologic(メトロロジック)のコンフィギュレーション方法を使用して再構成することができる。MetroSelect機能は、メイン・タスク中に実行される。

0117

Metroset機能は、特別なMetroset(メトロセット)タスクにより実行される。Focus RS232ソフトウェア・ドライバは、その通信ラインで特別なNULL信号を検出すると、アプリケーションへMETRSET_ON(メトロセット・オン)イベントを通知する。このイベントの処理を担うアプリケーション・ソフトウェアは、Metrosetタスクを開始する。Metrosetタスクが完了すると、スキャナは通常動作へ戻る。

0118

プラグイン・コントローラ(即ち、マネージャ)の機能は、コンフィギュレーション・ファイルを読み取り、プラグインおよびコンフィギュレーション・ファイル・ライブラリ内でプラグイン・ライブラリを見つけて、プラグインをオペレーティング・システムのメモリへインストールすることであり、オペレーティング・システムは、将来のアクセスのために、プラグインがインストールされた場所を示すアドレスをプラグイン・マネージャへ戻す。より詳細に後述するように、プラグイン開発プラットホームは、画像処理ベースのバー・コード・シンボル読取システムの特徴および機能を強化、拡張、および/または変更するプラグインの開発をサポートするものであり、開発された後、開発されたプラグインをオペレーティング・システム層のファイル・システムにアップロードし、そのプラグインのアドレスをアプリケーション層内のプラグインおよびコンフィギュレーション・ファイル・ライブラリに記憶する。

0119

他のシステム動作モードは、システムによりサポートされる適当なソフトウェア・システムの変更を行うことにより、本開示の照射および撮像プラットホーム上で容易に実施することができる。

0120

[本開示の撮像ベースのバー・コード・リーダで用いられるシステム・ソフトウェア・アーキテクチャのアプリケーション層内のオペレーティング・システム層ソフトウェア・モジュール]

0121

トリガ・ドライバを含むデバイス・ドライバ・ソフトウェア・モジュールは、撮像ベースのデバイスで用いられるハードウェア・ベースの手動作動式トリガ・スイッチ2Cとのソフトウェア接続を確立する手段と、撮像ベースのデバイス上で画像取得機能を実施(インプリメント)する画像取得ドライバと、撮像ベースのデバイス上で物体検出機能を実施するIRドライバとを提供する。

0122

デバイス駆動ソフトウェア・モジュールは、本開示の撮像ベースのバー・コード・シンボル・リーダで用いられるハードウェアベースの手動作動式トリガ・スイッチ2Cとのソフトウェア接続を確立するトリガ・ドライバと、撮像ベースのバー・コード・シンボル・リーダ上で画像取得機能を実施する画像取得ドライバと、撮像ベースのバー・コード・シンボル・リーダ上で物体検出機能を実施するIRドライバとを含む。

0123

[本開示の原理に従ってデジタル画像キャプチャおよび処理のシステム内のシステム特徴および機能を変更および/または拡張する方法および装置]

0124

図6〜7Fを次に参照して、本開示のデジタル画像キャプチャおよび処理のシステム内の標準システムの特徴および機能を拡張する方法および装置について説明する。本開示の新規なプラグイン・プログラミング方法論に関して、図6〜8に記載の本明細書に説明および開示するデジタル画像キャプチャおよび処理のシステムの何れのものをも参照できることが理解されるが、限定ではなく例示の目的で、図2A〜5に示すデジタル撮像ベースのバー・コード読取システムも参照されたい。

0125

図6のブロックAに示すように、第1のステップは、撮像ベースのバー・コード・シンボル読取システム(多層ソフトウェア・アーキテクチャを有する)の「システム設計者」が、システムの何れの「特徴」(アプリケーション層で呼び出されるタスクによりインプリメントされる)および任意の所与の特徴の何れの機能が、システムのハードウェア・プラットホームや外部環境との通信インターフェースやユーザ・インターフェースに関する詳細な知識をもたないエンドユーザおよび/またはサードパーティ(元の設計者および製造業者以外、例えば、VAR、エンドユーザ、顧客など)により変更可能および/または拡張可能であるかを決定することを含む。システム設計者によるこのステップは、他者によるシステム変更に関する制約を確立するが、エンドユーザ・アプリケーションのカスタム要求を満たすためにシステムをどのように変更できるかに関する自由度を提供する。

0126

そのような判断に基づいて、図6のブロックBに示すように、システム設計者は、本開示の画像処理ベースのバー・コード読取システムを設計および作成するものであり、システム設計者以外の者(例えば、エンドユーザおよびサードパーティ)は、ブロックAでシステム設計者(即ち、元の製品/システムの設計者)により指定される元の製品/システムの特徴および機能を変更および/または拡張することを許される。

0127

図6のブロックCに示すように、次いでシステム設計者以外の者が、1組の特定のエンドユーザ・アプリケーション要求を満たすために、何れの変更可能および/または拡張可能なシステムの特徴および機能を変更および/または拡張したいと望むかを決定する。

0128

図6のブロックDに示すように、それぞれの変更可能な特徴/機能をシステム内で変更するために、システム設計者以外の者が、「プラグイン・モジュール」(サードパーティ・コードまたは「ソフトウェア・オブジェクト」)を開発し、設計されたカスタム・システム特徴をインプリメントし、その後に、多層システムのアプリケーション層の適したライブラリ(1または複数)内にプラグイン・モジュール(即ち、サードパーティ・コード)をインストールする。

0129

図6のブロックEに示すように、システム設計者以外の者が、ホスト・システムから通信を送ることにより、または機能を再構成するバー・コード・シンボルを読み取ることにより、システム内のそれぞれの変更可能および/または拡張可能な特徴に関連する機能を再コンフィギュレーションする。

0130

本開示のシステムの特徴/機能の変更方法論に関する簡単な概要を提供したが、これらの方法ステップについて、特に図4および図6〜7Fを参照してより詳細に説明する。

0131

例示的な実施形態では、図4に示すプラグインおよびコンフィギュレーション・ファイル・ライブラリに記憶された各プラグイン・モジュールは、1組のソフトウェア・ライブラリ(オブジェクト・モジュール)およびコンフィギュレーション・ファイルからなる。これらは、ホストPCで実施されるプラグイン開発プラットホームなどの外部のホスト・システムから、画像処理ベースのバー・コード・シンボル読取システムへダウンロードされることができ、、システムのOS層と通信するために様々な標準または専有の通信プロトコルを使用することができる。画像処理ベースのバー・コード・シンボル読取システムでは、この動作は、ホスト・システムから適当なコマンドが受け取られると、Metrosetタスクまたはユーザ・コマンド・マネージャにより実行される(ソフトウェア・ブロック図を参照)。ダウンロードが完了すると、プラグイン・ファイルは、画像処理ベースのバー・コード・シンボル読取システムのファイル・システムに記憶される。

0132

すべてのプラグイン・モジュール(即ち、サードパーティ・コード)の管理は、図4に示すプラグイン・コントローラにより実行される。プラグイン・コントローラは、プラグイン・モジュールをファイル・システムから画像処理ベースのバー・コード・シンボル読取システムの実行可能なメモリーへロード(インストール)し、プラグイン・ライブラリとアプリケーションとの動的リンクを実行する動作、プラグイン・モジュールをアンロードアンインストール)する動作、プラグイン・モジュール(即ち、サードパーティ・コード)の実行可能なアドレス(即ち、プレース・ホルダ)をアプリケーションに提供する動作、プラグイン・コンフィギュレーション・ファイルに記述されたプラグイン・エンゲージメント規則などのような、プラグイン・モジュールに関する追加の情報をアプリケーションに提供する動作などの動作を実行することができる。

0133

画像処理ベースのバー・コード・シンボル読取システムの任意のタスクは、プラグイン・モジュールに関するプラグイン・コントローラからの情報を要求することができ、かつ/またはそれに関する動作を要求することができる。1組の所定の特徴に対して、アプリケーション・タスクは、サードパーティ・プラグイン・モジュールを使用できるかを検査することをプラグイン・コントローラに要求することができ、そのようなモジュールが使用可能である場合、そのモジュールをインストールして、その実行可能アドレスならびにプラグイン・エンゲージメント規則を提供することができる。次いで、これらのタスクは、このモジュールを、特定の特徴を実施する「標準」モジュールの代わりに又はそれと共に実行することができる。プラグイン・モジュールのエンゲージメント規則、即ち、プラグイン・モジュールを「標準」モジュールに対する交換モジュールとして実行するか又はコンプリメンタリ(complimentary)・モジュールとして実行すべきかの判断は、特定の特徴に対して固有のものであり得る。これらの規則はまた、コンプリメンタリ・プラグイン・モジュールを、最初に、または「標準」モジュールの前に最初に実行するべきか、それとも後で実行するべきかを指定することができる。更に、プラグイン・モジュールは、最初に実行される場合、「標準」モジュールも呼び出すべきか否かをデバイスに示し、それにより、デバイスの挙動の変更を可能にすることができる。プログラミング・インターフェースは、プラグインの機能を可能にする特徴に対して事前定義され、サードパーティがデバイスに対して独自のソフトウェアを開発できるようにする。

0134

第1の非常に簡単な例として、画像処理ベースのバー・コード・シンボル読取システムの相手先商標製造業者(OEM)がシステムの「標準」画像前処理モジュール(即ち、実行可能なバイナリ形式の「元の製品コード」)を供給する場合を考慮する。典型的に、この画像前処理モジュールは、システムが視野(FOV)内の物体の画像を取得した後に、システムのメイン・タスクにより実行される。本開示の原理によれば、顧客は、独自の画像前処理ソフトウェアをプラグイン・モジュール(即ち、「サードパーティ・コード」)として、多層ソフトウェア・ベースのシステムに提供することができる。特に、サードパーティ・コードは、典型的に、実行可能なバイナリ形式で表される。プラグインは、例えば、以下で表される形式を有する「画像前処理プラグイン・コンフィギュレーション・ファイル」に記述することができる。

0135

//画像前処理コンフィギュレーション・ファイル
//タイプパラメータライブラリ関数
IMGPREPR: libimgprepr_plugin.so.1 ->PluginImgprepr
IMGPREPR_PROGMD: libimgprepr_plugin.so.1 ->PluginImgpreprProgmd
IMGPREPR_PROGBC: libimgprepr_plugin.so.1 ->PluginImgpreprProgbc

0136

図16Bに示す流れ図は画像前処理プラグインの論理を示す。

0137

第2のより興味深い例として、図7Cに示す画像処理およびバーコード復号化プラグインを考慮する。画像処理ベースのバー・コード・シンボル読取システムの相手先商標製造業者は、図7Aに示すように、システムが画像を取得した後にメイン・タスクにより通常は実行されるシステムの「標準」画像処理およびバーコード復号化モジュールを供給する。本開示の原理によれば、顧客は、顧客独自の画像処理およびバーコード復号化ソフトウェアをプラグイン・モジュールとして多層のソフトウェア・ベースのシステムに提供することができる。プラグインは、例えば、以下で表される形式を有する「画像処理およびバーコード復号化プラグイン・コンフィギュレーション・ファイル」に記述することができる。

0138

//復号プラグイン・コンフィギュレーション・ファイル
//タイプパラメータライブラリ関数
DECODE: 0x02: libdecode_plugin.so.1 ->PluginDecode

0139

上記で、「DECODE」は、画像処理およびバーコード復号化プラグインを識別するキーワードであり、「0x02」は、プラグインのエンゲージメント規則を識別する値であり、「libdecode_plugin.so.1」は、デバイスのファイル・システムのプラグイン・ライブラリの名称であり、「PluginDecode」は、顧客特有の画像処理およびバーコード復号化機能を実施するプラグイン関数(機能)の名称である。

0140

この特定のプラグインのエンゲージメント規則を示す値として使用される値「param」の個々のビットは、以下の意味を有することができる。

0141

ビット意味
0 0=標準をコンプリメント(compliment)、1=標準と交換
1 (ビット0==0の場合)0=標準機能前に呼び出す、1=標準機能後に呼び出す
リザーブ
・・・ ・・・

0142

従って、値「0x02」は、顧客プラグインが交換ではなくコンプリメンタリのモジュールであり(ビット「0」は0である)、標準モジュールの実行後に実行されるべきである(ビット「1」は1である)ことを意味する。

0143

第3の例として、図7Eに示す画像処理およびバーコード復号化プラグインを考慮する。画像処理ベースのバー・コード・シンボル読取システムの相手先商標製造業者は、図7Aに示すように、システムが画像を取得した後にメイン・タスクにより通常は実行されるシステムの「標準」画像処理およびバーコード復号化モジュールを供給する。本開示の原理によれば、顧客は、顧客独自の画像処理およびバーコード復号化ソフトウェアをプラグイン・モジュールとして、多層のソフトウェア・ベースのシステムに提供することができる。プラグインは、例えば、以下で表される形式を有する「画像処理およびバーコード復号化プラグイン・コンフィギュレーション・ファイル」に記述することができる。

0144

//データ・フォーマッティング・プラグイン・コンフィギュレーション・ファイル
//タイプパラメータライブラリ関数
PREFORMAT: libformat_plugin.so.1 ->PluginPreformat
FORMAT_PROGMD: libformat_plugin.so.1 ->PluginFormatProgmd
FORMAT_PROGBC: libformat_plugin.so.1 ->PluginFormatProgbc

0145

図16Eに示すブロック図は、データ・フォーマッティング・手順プラグインの論理を示す。

0146

上述のプラグインは、本開示の原理に従ってシステムの可能な特徴および機能をシステム設計者以外の者により変更できるように開発される多くの種類のプラグイン(オブジェクト)の幾つかの例を提供する。プラグイン・モジュールを開発でき画像処理ベースのバー・コード・シンボル読取システム内におよびインストールできる他のシステムの特徴および機能は、IRベースの物体存在および範囲検出サブシステム12、多モードのエリア・タイプの画像形成および検出(即ち、カメラ)サブシステム13、多モードのLEDベースの照射サブシステム14、自動露光測定および照射制御サブシステム15、画像取込みおよびバッファリング・サブシステム16、多モードの画像処理バー・コード・シンボル読取サブシステム17、入出力サブシステム18、手動作動可能トリガ・スイッチ2C、システム・モード・コンフィギュレーション・パラメータ・テーブル70、システム制御サブシステム18、ならびに画像処理ベースのバー・コード・シンボル読取システムに組み込むことができる任意の他のサブシステム、というようなシステムによりサポートされ実行される機能に関する制御を含むが、これに限定されるものではない。

0147

OEMシステム設計者以外の者により生成できるプラグイン・モジュールの構造および機能について説明したが、次に図4および5を参照して本開示のプラグイン開発プラットホームの例示的な実施形態について説明する。

0148

例示的な実施形態では、システム(例えば、Metrologic Focus(商標)1690画像処理バー・コード・リーダ)のシステム設計者/OEMは、例えば以下のソフトウェア・ツールを含むCDをプラグイン開発者へ提供する。

0149

・Linux(登録商標)PC用のArm Linux(登録商標) Toolchain(ツールチェーン
このディレクトリは、IBMコンパチブルのLinux(登録商標)PC向けのArm Linux(登録商標)クロスコンパイル・ツールチェーン(cross−compiling toolchain)・パッケージを含む。

0150

・Cygwin用のArm Linux(登録商標)ツールチェーン
このディレクトリは、IBM(登録商標)コンパチブルのWindows(登録商標)PC向けのArm Linux(登録商標)クロスコンパイル・ツールチェーン・パッケージを含む。Cygwinソフトウェアは、このクロスコンパイル・ツールチェーンを使用する前にインストールしなければならない。

0151

・プラグイン・サンプ
このディレクトリは、サンプル・プラグイン開発プロジェクトを含む。このプラグイン・ソフトウェアは、Linux(登録商標)PC用のArm Linux(登録商標)ツールチェーンを使用するIBMコンパチブルのLinux(登録商標)PC上で、またはCygwin用のArm Linux(登録商標)ツールチェーンを使用するCygwinソフトウェアがインストールされたWindows(登録商標)PC上で、コンパイルしなければならない。

0152

・FWZ Maker
このディレクトリは、Windows(登録商標)PC用のプログラムFWZ Makerのインストール・パッケージを含む。このプログラムは、Focus1690スキャナへダウンロードされるFWZファイルを構築するために使用される。

0153

・Latest Metrologic(登録商標)Focus(商標)ソフトウェア
このディレクトリは、Latest Metrologic(登録商標)Focus(商標)スキャナ・ソフトウェアを有するFWZファイルを含む。

0154

プラグイン・ソフトウェア開発プロセスの第1のステップは、ホスト/開発者のコンピュータ・システムに上記のツールをインストールすることにより、プラグイン開発者プラットホームを構成することを伴う。次のステップは、画像処理バー・コード・リーダへ、システム・ソフトウェアを、図10および11に示すシステムの通信ポートとプラグイン開発者コンピュータとの間の通信ケーブルを使用して、ホスト・プラグイン開発者プラットホームを介して、インストールすることを伴う。

0155

プラグイン・ソフトウェアを開発するために、プラグイン開発者プラットホーム(即ち、Linux(登録商標)PC)上、またはWindows(登録商標)Cygwin内に、対応する共有ライブラリを開発することができ、次いで、適正なプラグイン・コンフィギュレーション・ファイルを開発することができる。次いで、プラグイン・コンフィギュレーション・ファイルは、プラグイン、例えば、MetrologicのFocus(商標)の画像処理バー・コード・リーダなどのような画像キャプチャおよび処理デバイスを開発する場合、「/usr」ディレクトリへロードされる。この例示的な実施形態では、プラグイン・コンフィギュレーション・ファイルの各行は、プラグイン関数に関する情報を以下の形式で含む。

0156

plug-in type: parameter: filename ->function_name

0157

上記で、plug−in typeは、サポートされるプラグイン・タイプのキーワードの1つであり、フィールド区切り文字「:」が続く。

0158

上記で、parameterは、幾つかのプラグイン関数に対して特有の一意の意味を有する数(10進数、または0xが先行する場合16進数とすることができる)である。パラメータはまた、「呼出しモード」と呼ばれ、プラグインをどのように呼び出すべきかに関する何らかの特有の情報を提供することができる。パラメータは、必要とされるものではなく、省略することができる。指定される場合、パラメータには、フィールド区切り文字「:」が続かなければならない。

0159

上記で、filenameは、共有ライブラリの名称であり、ファイル名区切り文字「−>」が続く。ファイル名は、ライブラリへのフルパス(full-path)を含むことができる。パスが省略される場合、ライブラリは、Focusスキャナ内の「/usr/local/lib」または「/usr/lib/」ディレクトリに位置するものとする。従って、共有ライブラリは、プラグイン・コンフィギュレーション・ファイルにより指定されるスキャナ内の正しいディレクトリにロードされることが重要である。

0160

上記で、function_nameは、対応するプラグインC関数の名称である。

0161

特に、プラグイン・コンフィギュレーション・ファイルはまた、単一行のC式コメントを含むことができる。

0162

何れのプラグイン関数(システム設計者によりサポートされる)がプラグイン・モジュール(即ち、「オブジェクト」)に含まれるべきかを決定するのは、プラグイン開発者の裁量の範囲内である。共有ライブラリが構築され、プラグイン開発プラットホーム(図4および5に示す)上にコンフィギュレーション・ファイルが準備された後、プラグイン開発者は、FWZファイルを生成し、Windows(登録商標)PC上のFWZ Makerプログラムを使用して、コンフィギュレーション・ファイルおよび共有ライブラリをFWZファイルの中に含ませることができる。その後、FWZファイルは、例えば、MetrologicのMetrosetプログラムのフラッシュ・ユーティリティ・ツールを使用して、MetrologicのFocus(商標)画像処理バー・コード・リーダにダウンロードすることができる。

0163

MetrologicのFocus(商標)画像処理バー・コード・リーダ用のプラグイン・ソフトウェアをインストールする場合、動的メモリ割当てを使用しないことが推奨され、動的に割り当てるのではなく静的バッファを有することが推奨される。ファイルシステムに関する限り、ファイル内にデータを記憶する必要がある場合、不揮発性フラッシュ・メモリにデータを記憶するためには「/usr/」および「/usr/local」などの位置が推奨され、「/tmp」ディレクトリは、データをRAMに記憶するために使用することができる。

0164

[デジタル画像キャプチャおよび処理のシステムのプログラミング・バーコードおよびプログラミング・モード]

0165

例示的な実施形態では、本開示の画像処理バー・コード・リーダのコンフィギュレーションは、特別なプログラミング・バーコードを走査することを介して、またはホスト・コンピュータ(即ち、プラグイン開発コンピュータ)からリーダへ同等のデータを送ることにより、変更することができる。プログラミング・バーコードは、通常、Fn3という符号語(codeword)を有するCode128シンボルである。

0166

プログラミング・バーコードを走査するとき、リーダは、いわゆるプログラミング・モードにないこともある。リーダがプログラミング・モードではないとき、プログラミング・バーコードの影響は、即時であると想定される。一方、リーダがプログラミング・モードにあるとき、プログラミング・モード中に読み取られるすべてのプログラミング・バーコードの影響は、リーダがプログラミング・モードを終了した時点で生じる。

0167

プラグイン・ソフトウェアのコンフィギュレーションの目的でリザーブされた1組の特別なプログラミング・バーコードが存在する。これらのバーコードは少なくとも4つのデータ文字を有し、最初の3つのデータ文字は「990」である。復号プラグインは、「9900xx」で始まる6文字の長さを有するプログラミング・バーコードを使用することが推奨される(必ずしもというわけではない)。画像前処理プラグインは、「9901xx」で始まる6文字の長さを有するプログラミング・バーコードを使用することが推奨される(必ずしもというわけではない)。フォーマッティング・プラグインは、「9902xx」で始まる6文字の長さを有するプログラミング・バーコードを使用することが推奨される(必ずしもというわけではない)。

0168

本開示の原理に従ってプラグイン・モジュールが開発された後、プラグインは、単に、空のプラグイン・コンフィギュレーション・ファイルをダウンロードすることにより、アンインストールすることができる。例えば、復号プラグインをアンインストールするには、図10に示すOS層内のファイル・システムの「/usr」ディレクトリへ空の「decode.plugin」ファイルをダウンロードする。

0169

[例示的な実施形態の復号プラグインに関する詳細]

0170

復号プラグインの目的は、システムに提供される標準バーコード復号化に対する交換またはコンプリメンタリのバーコード復号化ソフトウェアを提供することである。復号プラグインは、以下のプラグイン関数を有することができる。

0171

DECODE; DECODE_ENABLE2D; DECODE_PROGMD; DECODE_PROGBC

0172

[復号(DECODE)プラグイン関数]

0173

この関数は、メモリ内の所与の画像からバーコード復号化を実行するために呼び出される。画像は、8ビット画素の2次元アレイとしてメモリ内で表されている。アレイの第1の画素は、画像の左上隅部を表す。

0174

関数プロトタイプ
int /*戻り:復号されたバーコードの数、誤り場合は負 */
(*PLUGIN_DECODE)(
void *p_image, /* 入力:画像へのポインタ*/
int size_x, /* 入力:列数*/
int size_y, /* 入力:行数*/
int pitch, /* 入力:行サイズ、バイト単位*/
DECODE_RESULT*p_decode_results, /* 出力:復号結果 */
int max_decodes, /* 入力:可能な最大復号結果 */
int *p_cancel_flag); /* 入力:NULLではない場合、取消しフラグへのポインタ */

0175

p_decode_resultsは、復号プラグイン関数(機能)が、DECODE_RESULT構造のアレイの形でバーコード復号化の1または複数の結果を記憶するメモリ内の位置を指すことに留意されたい(もちろん、プラグインが所与の画像内の1または複数のバーコードの復号に成功した場合)。可能な復号結果の最大数(即ち、アレイの寸法)は、max_decodesで与えられる。プラグインは、復号に成功したバーコードの数(即ち、アレイp_decode_results内のポピューレートされた要素の数)、または誤りの場合は負の数を、戻さなければならない。

0176

p_cancel_flagがNULLではない場合、復号化プロセスを継続するべきか、それとも可能な限り早く停止するべきかを示す整数フラグ(「取消しフラグ(Cancel flag)」と呼ばれる)を指す。このフラグが0である場合、復号化プロセスは継続することができる。このフラグがゼロではない場合、復号化プロセスは可能な限り早く停止しなければならない。復号化プロセスを中止アボート)させる理由は、例えば、タイムアウトであり得る。復号化プロセスを中止させる待ち時間を可能な限り短くするために、十分な頻度で取消しフラグを検査することが推奨される。

0177

取消しフラグは、復号化プラグイン(またはそれに関する任意のプラグイン)を中止できる唯一の方法ではないことに留意されたい。状況に応じて、システムは、復号化プラグインが動作しているスレッドを任意の時点で急に停止することを決めることができる。

0178

構造DECODE_RESULT

0179

構造DECODE_RESULTは、以下の形式を有する。

0180

#define MAX_DECODED_DATA_LEN 4096
#define MAX_SUPPL_DATA_LEN 128
typedef struct {
int x;
int y;
} BC_POINT;
typedef struct {
BC_POINT BCPts[4]; /*バーコードの4つの隅部の座標*/
} BC_BOUNDS;

0181

BC_BOUNDS構造内のアレイ・エレメント(即ち、隅部)の順序は、次の通りである。

0182

0−左上
1−右上
2−右下
3−左下

0183

typedef struct {
int decode_result_index; /*復号結果の索引、0から開始*/
int num_decode_results; /* 復号結果の総数から1を引いた値(即ち、0ベース) */
char SymId[32]; /*シンボル体系識別子文字*/
int Symbology; /* 復号されたバーコードのシンボル体系識別子番号 */
int Modifier; /* 復号されたバーコードの追加情報*/
int DecId; /*リザーブ*/
int Class; /* 1Dの場合は1、2Dの場合は2 */
unsigned char Data[MAX_DECODED_DATA_LEN]; /* 復号されたデータ、NULL文字を含み得る */
int Length; /* 復号されたバーコード内文字数*/
unsigned char SupplData[MAX_SUPPL_DATA_LEN]; /*補足コードのデータ */
int SupplLength; /* 補足コードのデータ内の文字数 */
unsigned char LinkedData[MAX_DECODED_DATA_LEN];
int LinkedLength;
BC_BOUNDS C_Bounds; /* 1次バーコードに対する境界*/
BC_BOUNDS S_Bounds; /* 補足バーコードに対する境界 */
} DECODE_RESULT;

0184

それぞれのポピューレートされたDECODE_RESULT構造の最初の2つのメンバは、アレイに復号結果のゼロ・ベースの索引を含まなければならず(即ち、第1の復号結果は、decode_result_index=0、第2の復号結果は、decode_result_index=1、など以下同様にこのような結果をユウサなければならない)、また復号に成功したバーコードのゼロ・ベースの総数(戻された値から1を引いた値に等しいはずである)を含まなければならない。

0185

DECODE_RESULT構造のSymIdメンバは、バーコード・シンボル体系を記述する最大31のNULLで終了する文字(NULL-terminated Characters)の列(ストリング)を有することができる。これは情報を提供する目的のみで使用される。以下の値は、幾つかの知られているバーコード・シンボル体系に推奨される。

0186

"AZTEC" Aztec
"CBR" Codabar
"CBK_A" Codablock A
"CBK_F" Codablock F
"C11" Code 11
"C128" Code 128
"C39" Code 39
"C93" Code 93
"DM" Datamatrix
"S2O5" Straight 2 of 5
"I2O5" Interleaved 2 of 5
"MC" MexiCode
"PDF" Code PDF
"QR" Code QR
"RSS-E" Code RSS-E
"RSS-EST" Code RSS-EST
"RSS14-LIM" Code RSS Limited
"RSS14" Code RSS-14
"RSS14-ST" Code RSS-ST
"UPC" Code UPC/EAN

0187

DECODE_RESULT構造のシンボル体系メンバは、復号されたバーコード・シンボル体系の識別(ID)を含まなければならない。以下のシンボル体系IDは、知られているバーコード・シンボル体系に使用しなければならない。

0188

MBCD_SYM_C128 Code 128
MBCD_SYM_C39 Code 39
MBCD_SYM_ITF Interleaved 2 of 5
MBCD_SYM_C93 Code 93
MBCD_SYM_CBRCodabar
MBCD_SYM_UPC Code UPC/EAN
MBCD_SYM_TPEN Telepen
MBCD_SYM_RSS14 Code RSS-14
MBCD_SYM_RSSE Code RSS-E
MBCD_SYM_RSSL Code RSS Limited
MBCD_SYM_MTFMatrix 2 of 5
MBCD_SYM_ATF Airline 2 of 5
MBCD_SYM_STF Straight 2 of 5
MBCD_SYM_MPLYMSIPlessey
MBCD_SYM_C11 Code 11
MBCD_SYM_PDFCode PDF
MBCD_SYM_PN Postnet
MBCD_SYM_DMDatamatrix
MBCD_SYM_MC MaxiCode
MBCD_SYM_QR Code QR
MBCD_SYM_AZ Aztec
MBCD_SYM_MICROPDF MicroPDF
MBCD_SYM_CBLA 1Codablock A
MBCD_SYM_CBLF Codablock F
MBCD_SYM_UNKNOWNユーザ定義のシンボル体系

0189

DECODE_RESULT構造の変更子(Modifier)メンバは、復号されたバーコードに関する追加の情報を含む。変更子の値は、通常、ビットの結合されたものである。これらの値は様々シンボル体系に対して固有であり、多くのシンボル体系は変更子を一切使用しない。変更子が使用されない場合、このメンバは0に設定するべきである。変更子をサポートする幾つかのシンボル体系に対して、可能な値を以下に提示する。

0190

Coupon(クーポン)変更子
MBCD_MODIFIER_COUP Couponのコード

0191

UPC変更子ビット・フラグ定数
MBCD_MODIFIER_UPCAUPC-A
MBCD_MODIFIER_UPCEUPC-E
MBCD_MODIFIER_EAN8 EAN-8
MBCD_MODIFIER_EAN13 EAN-13
MBCD_MODIFIER_SUPP2 2桁捕捉
MBCD_MODIFIER_SUPP5 5桁補足

0192

Code128変更子ビット・フラグ定数
MBCD_MODIFIER_C128A開始文字Aを有するCode128
MBCD_MODIFIER_C128B 開始文字Bを有するCode128
MBCD_MODIFIER_C128C 開始文字Cを有するが、EAN128でないCode128
MBCD_MODIFIER_EAN128 EAN-128
MBCD_MODIFIER_PROGプログラミング・ラベル(他のすべての事柄に優先
MBCD_MODIFIER_AIM_AIAIMアプリケーション・インジケータを有するCode128

0193

Code39変更子ビット・フラグ定数
MBCD_MODIFIER_ITPHARM イタリアの製薬

0194

Codabar変更子ビット・フラグ定数
MBCD_MODIFIER_CBR_DFDouble-Field Codabar(2フィールド・コーダバー)

0195

POSTNET iModifierビット・フラグ定数
MBCD_MODIFIER_PN POSTNET(ポストネット
MBCD_MODIFIER_JAP日本郵便
MBCD_MODIFIER_AUS オーストラリア郵便
MBCD_MODIFIER_PLANET PLANET(プラネット
MBCD_MODIFIER_RM ロイヤル・メール
MBCD_MODIFIER_KIX KIXコード
MBCD_MODIFIER_UPU57 UPU (57バー)
MBCD_MODIFIER_UPU75 UPU (75バー)

0196

Datamatrix変更子ビット・フラグ定数
MBCD_MODIFIER_ECC140 ECC 000-140
MBCD_MODIFIER_ECC200 ECC 200
MBCD_MODIFIER_FNC15 ECC 200、FNC1は第1または第5の位置
MBCD_MODIFIER_FNC26 ECC 200、FNC1は第2または第6の位置
MBCD_MODIFIER_ECIECC 200、ECIプロトコル実施
MBCD_MODIFIER_FNC15_ECI ECC 200、FNC1は第1まは第5の位置、ECIプロトコル
MBCD_MODIFIER_FNC26_ECI ECC 200、FNC1は第2または第6の位置、ECIプロトコル
MBCD_MODIFIER_RPリーダ・プログラミング・コード

0197

MaxiCode変更子ビット・フラグ定数
MBCD_MODIFIER_MZ モード0のシンボル
MBCD_MODIFIER_M45 モード4または5のシンボル
MBCD_MODIFIER_M23 モード2または3のシンボル
MBCD_MODIFIER_M45_ECIモード4または5のシンボル、ECIプロトコル
MBCD_MODIFIER_M23_ECI モード2または3のシンボル、ECIプロトコル

0198

DECODE_RESULT構造のDecIdメンバは現在使用されておらず、0に設定するべきである。

0199

DECODE_RESULT構造のClassメンバは、1または2に設定しなければならない。復号されたバーコードが、UPC、Code39、RSSなどのような通常のリニア・バーコードである場合、このクラスは1に設定するべきである。復号されたバーコードが、Code PDF、Datamatrix、Aztec、MaxiCodeなどのような2Dシンボル体系である場合、このクラスは2に設定するべきである。

0200

DECODE_RESULT構造のDataメンバは、復号されたデータを含む。このメンバは、MAX_DECODED_DATA_LENバイトまでのデータを含むことができる。

0201

DECODE_RESULT構造のLengthメンバは、何バイトの復号されたデータがData内に記憶されるかを指定する。

0202

DECODE_RESULT構造のSupplDataメンバは、クーポンなどのようなバーコードの補足部分内で復号されたデータを含む。このメンバは、MAX_DECODED_DATA_LENバイトまでのデータを含むことができる。

0203

DECODE_RESULT構造のSupplLengthメンバは、何バイトの復号されたデータがSupplDataに記憶されるかを指定する。

0204

DECODE_RESULT構造のLinkedDataメンバは、RSS/PDFの合成体などのような合成バーコードの2次的部分においての復号されたデータを含む。このメンバは、MAX_DECODED_DATA_LENバイトまでのデータを含むことができる。

0205

DECODE_RESULT構造のLinkedLengthメンバは、何バイトの復号されたデータがLinkedDataに記憶されるかを指定する。

0206

DECODE_RESULT構造のC_BoundsおよびS_Boundsメンバは、現在使用されていない。

0207

[DECODEプラグイン呼出しモード]

0208

DECODEプラグインは、以下の呼出しモード値を有することができる。

0209

ビット値
0 <-- 0=標準をコンプリメント、1=標準と交換
1 <-- (ビット0==0の場合)0=標準関数前に呼び出す、1=標準関数後に呼び出す

0210

デフォルトの呼出しモード値は0であり、デフォルトではDECODEプラグインは、標準のFocusバーコード復号化ソフトウェアに対するコンプリメンタリ・モジュールであると見なされ、標準関数(標準機能)前に実行されることを意味する。この場合、標準関数は、DECODEプラグインから戻った結果が負およびmax_decodes未満ではない場合にのみ呼び出される。

0211

[DECODE_ENABLE2Dプラグイン関数]

0212

この関数は、スキャナが2Dシンボル体系(PDF417、Datamatrixなど)の復号化を許すか又は許さないべきである動作モードに入ったことをプラグインに通知するために呼び出される。デフォルトで、2Dシンボル体系の復号化は許される。

0213

関数プロトタイプ:
void
(*PLUGIN_ENABLE2D)(int enable); /* 入力:0=ディスエーブル、1=イネーブル*/

0214

例えば、Focusスキャナがリニア・モード(全方向モードとは異なる)で働くように構成されるとき、2Dシンボル体系の復号化は許可されない。

0215

[DECODE_PROGMDプラグイン関数]

0216

この関数は、スキャナがプログラミング・モードに入ったことをプラグインに通知するために呼び出される。

0217

関数プロトタイプ:
void
(*PLUGIN_PROGMD)(int progmd); /* 入力:1=入る、0=通常の退出、(−1)=アボート*/

0218

[DECODE_PROGBCプラグイン関数]

0219

この関数は、コンフィギュレーションの目的でプラグインにより使用され得るプログラミング・バーコードをスキャナが今走査したところであることをプラグインに通知するために呼び出される。

0220

関数プロトタイプ:
int /*戻り:成功の場合は1、バーコードが無効の場合は0、誤りの場合は負 */
(*PLUGIN_PROGBC)(unsigned char *bufferptr,
int data_len);

0221

[本開示の例示的な実施形態の画像前処理プラグインに関する詳細]

0222

画像前処理プラグインの目的は、プラグインが画像取得の直後でバーコード復号化の前に何らかの特別な画像処理を実行できるようにすることである。画像前処理プラグインは、以下のプラグイン関数を有することができる。

0223

IMGPREPR; IMGPREPR_PROGMD; IMGPREPR_PROGBC

0224

[IMGPREPRプラグイン関数]

0225

この関数は、画像前処理を実行するために呼び出される。画像は、8ビット画素の2次元アレイとして、メモリ内で表されている。アレイの第1の画素は、画像の左上隅部を表す。

0226

関数プロトタイプ:
int /*戻り:前処理が行われた場合は1、そうでない場合は0、誤りの場合は負 */
(*PLUGIN_IMGPREPR)(
void *p_image, /* 入力:画像へのポインタ*/
int size_x, /* 入力:列数*/
int size_y, /* 入力:行数*/
int pitch, /* 入力:行サイズ、バイト単位*/
void **pp_new_image, /* 出力:新しい画像へのポインタ*/
int *p_new_size_x, /* 出力:新しい列数 */
int *p_new_size_y, /* 出力:新しい行数 */
int *p_new_pitch); /* 出力:新しい行サイズ、バイト単位 */

0227

IMGPREPRプラグイン関数が成功して行われた場合、1を戻し、pp_new_imageで示されるメモリ内の位置に新しい画像のアドレスを記憶する。新しい画像の寸法は、p_new_size_x、p_new_size_y、およびp_new_pitchにより示される位置に記憶される。

0228

理由が何であれ前処理が実行されなかった場合、IMGPREPRプラグイン関数は0を戻さなければならない。

0229

戻される負の値は誤りを示す。

0230

[IMGPREPR_PROGMDプラグイン関数]

0231

この関数は、スキャナがプログラミング・モードに入ったことをプラグインに通知するために呼び出される。

0232

関数プロトタイプ:
void
(*PLUGIN_PROGMD)(int progmd); /* 入力:1=入る、0=通常の退出、(−1)=アボート*/

0233

[IMGPREPR_PROGBCプラグイン関数]

0234

この関数は、コンフィギュレーションの目的でプラグインにより使用され得るプログラミング・バーコードをスキャナが今走査したところであることをプラグインに通知するために呼び出される。

0235

関数プロトタイプ:
int /*戻り:成功の場合は1、バーコードが無効である場合は0、誤りの場合は負 */
(*PLUGIN_PROGBC)(unsigned char *bufferptr,
int data_len);

0236

[例示的な実施形態のフォーマッティング・プラグインに関する詳細]

0237

フォーマッティング・プラグインの目的は、標準データ・フォーマッティング・ソフトウェアに、交換またはコンプリメンタリのソフトウェアを提供することである。フォーマッティング・プラグイン・コンフィギュレーション・ファイルは、「format.plugin」という名称を有し、スキャナ内の「/usr」ディレクトリにロードされなければならない。

0238

フォーマッティング・プラグインは、現在、以下のプラグイン関数を有することができる。
PREFORMAT; FORMAT_PROGMD; FORMAT_PROGBC

0239

[PREFORMATプラグイン関数]

0240

この関数は、データが実際にフォーマットされて送り出される前に、復号されたバーコード・データの必要な変換を実行するために呼び出される。

0241

関数プロトタイプ:
int /*戻り:プリフォーマットが行われた場合は1、そうでない場合は0、誤りの場合は負 */
(*PLUGIN_PREFORMAT)(
DECODE_RESULT*decode_results, /* 入力:復号結果 */
DECODE_RESULT *new_decode_results); /* 出力:プリフォーマットされた復号結果 */

0242

PREFORMATプラグイン関数が成功して行われた場合、1を戻し、new_decode_resultsで示されるメモリ内の位置に新しい復号結果を記憶する。

0243

理由が何であれプリフォーマティングが実行されなかった場合、PREFORMATプラグイン関数は0を戻さなければならない。

0244

負の値が戻されると誤りを示す。

0245

DECODE_RESULT構造に関する詳細は、DECODEプラグイン関数の項を参照されたい。

0246

[FORMAT_PROGMDプラグイン関数]

0247

この関数は、スキャナがプログラミング・モードに入ったことをプラグインに通知するために呼び出される。

0248

関数プロトタイプ:
void
(*PLUGIN_PROGMD)(int progmd); /* 入力:1=入る、0=通常退出、(−1)=アボート*/

0249

[FORMAT_PROGBCプラグイン関数]

0250

この関数は、コンフィギュレーションの目的でプラグインにより使用され得るプログラミング・バーコードをスキャナが今走査したところであることをプラグインに通知するために呼び出される。

0251

関数プロトタイプ:
int /*戻り:成功の場合は1、バーコードが無効の場合は0、誤りの場合は負 */
(*PLUGIN_PROGBC)(unsigned char *bufferptr,
int data_len);

0252

上記のシステムの特徴/関数の変更の方法は、多様なアプリケーション環境で実行することができ、本明細書に上述した画像処理ベースのバー・コード・シンボル読取システムに限定されるものではない。通常、アプリケーション・ソフトウェア層と、少なくとも画像キャプチャ機構および画像処理機構とをサポートするあらゆる画像キャプチャおよび処理システムまたはデバイスが、本開示を実行するのに適している。従って、画像を取り込む携帯電話、デジタル・カメラ、ビデオ・カメラ、ならびに携帯型または移動型の演算端末、および携帯型データ端末(PDT)はすべて、本開示を実施できる適切なシステムである。

0253

また、上述のプラグイン開発技法を使用してシステムの特徴および機能を変更する前述の設備を有する、図4に示す本開示の画像処理バー・コード・シンボル読取システムのアプリケーション層は、画像キャプチャおよび処理機能をサポートし且つ適したユーザ/通信インターフェースを備える従来の移動式演算デバイス、PDA、ポケット型パーソナル・コンピュータ(PC)、および他の携帯型のデバイスで実行するように移植できることが理解される。

0254

上述した本開示の画像キャプチャおよび処理システムは、CMOSセンサ、トリガ・スイッチなどを装備するPalm(登録商標)、PocketPC(登録商標)、MobilePC(登録商標)、JVM(登録商標)などのような様々なハードウェア演算プラットホームで実施することができる。そのような例示的な実施形態では、本開示の3層システム・ソフトウェア・アーキテクチャは、低層のLinux(登録商標)OS(本明細書で記載)をPalm、PocketPC、Apple(登録商標)OSXなどのような任意のオペレーティング・システム(OS)と交換することにより、容易に変更することができる。

0255

更に、本明細書に述べた中間層のSCOREサブシステムが、何らかの形式の画像センサ、トリガ・スイッチなどを装備する特有のハードウェア・プラットホームをサポートするという条件、および同じ(または類似の)上層の「コード・シンボル読取システム」アプリケーションが、そのプラットホームに対してコンパイルされるという条件で、任意の汎用の(移動式の)演算デバイスは、図2A〜5に示し、本明細書に詳細に述べたシステムのバー・コード・シンボル読取機能を有する画像キャプチャおよび処理システムへと変換することができる。本開示のそのような代替実施形態では、サードパーティである顧客が、基礎となるハードウェア・プラットホーム、通信プロトコル、および/またはユーザ・インターフェースのいかなる知識も必要とすることなく、独自のソフトウェア・プラグインを書き、汎用移動演算プラットホーム上で実現される画像キャプチャおよび処理デバイスの挙動を強化または変更することを可能にすることができる。

0256

[高性能の機能に関しての画像キャプチャおよび処理システムのモジュール式のソフトウェア・アーキテクチャのサードパーティ・プログラミングの技法

0257

上述のように、すべてのプラグイン・モジュールの管理は、図4に示すプラグイン・コントローラにより実行され、このコントローラは、例えば、プラグイン・モジュールをファイル・システムからシステムの実行可能なメモリにロード(インストール)し、プラグイン・ライブラリとアプリケーションとの動的リンクを実行すること、プラグイン・モジュールをアンロード(アンインストール)すること、プラグイン・モジュール(即ち、サードパーティ・コード)の実行可能なアドレス(即ち、プレース・ホルダ)をアプリケーションに提供すること、およびプラグイン・コンフィギュレーション・ファイルに記述されたプラグイン・エンゲージメント規則などのようなプラグイン・モジュールに関する追加の情報をアプリケーションに提供することなどの動作を実行できる。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ