(58)【調査した分野】(Int.Cl.,DB名)
それぞれの可視数字の境界を決定することは、画像の各画素行中の黒画素の合計を記録すること、および該合計が閾値未満である1つまたはそれ以上の行を識別することを含む、請求項1〜3のいずれか1項に記載の補助デバイス。
それぞれの可視数字の境界を決定することはさらに、画像の各画素列中の黒画素の合計を記録すること、および該合計が閾値未満である1つまたはそれ以上の列を識別することを含む、請求項1〜4のいずれか1項に記載の補助デバイス。
プロセッサ配置はさらに、選択された数字が既定の最大数字幅値よりも幅が広いかどうかを決定することによって、選択された数字が2つ以上の数字を含むかどうかを決定するように構成される、請求項7に記載の補助デバイス。
最大高を有する2つ以上の数字が同じ高さを有し、識別予定の可視数字の1つを選択することは、同じ高さを有する2つ以上の数字のうちの最も上の数字を選択することを含む、請求項1〜8のいずれか1項に記載の補助デバイス。
プロセッサ配置はさらに、2つ以上の数字の分離が行われるべき点を予想するために数字の予想される幅を使用するように構成される、請求項6に従属する場合の請求項10に記載の補助デバイス。
プロセッサ配置はさらに、選択された数字の値に重み付け関数を適用した結果に対応する値がデバイスのディスプレイに表示されるように構成される、請求項1〜11のいずれか1項に記載の補助デバイス。
プロセッサ配置はさらに、画像を表す受けたデータに対して第2のアルゴリズムを実行するように構成され、第2のアルゴリズムは、少なくとも1つの工程が第1のアルゴリズムとは異なる、請求項1〜12のいずれか1項に記載の補助デバイス。
プロセッサ配置はさらに、注射デバイスにダイヤル設定された用量を決定するために第1のアルゴリズムの結果と第2のアルゴリズムの結果とを比較するように構成される、請求項13または請求項14に記載の補助デバイス。
プロセッサ配置はさらに、パターンマッチング処理の結果における信頼水準が閾値レベル未満である場合に、画像中の可視数字の別のものに対して第2のパターンマッチング処理を実行するように構成される、請求項1〜17のいずれか1項に記載の補助デバイス。
プロセッサ配置は、注射デバイスの可動部材上に存在する1つまたはそれ以上の数字のいずれとも一致しない決定用量値を表示するように構成される、請求項1〜18のいずれか1項に記載の補助デバイス。
【発明を実施するための形態】
【0016】
以下では、本発明の諸実施形態についてインスリン注射デバイスに関して説明する。しかし、本発明はこのような用途に限定されず、他の薬剤を排出する注射デバイス、または他のタイプの医療デバイスにも同様に適切に配置することができる。
【0017】
図1aは、たとえばSanofiのSolostar(登録商標)インスリン注射ペンである、注射デバイス1の分解組立図である。
【0018】
図1aの注射デバイス1は事前充填使い捨て注射ペンであり、ハウジング10を含み、針15を付けることができるインスリン容器14を含む。針は、内側針キャップ16および外側針キャップ17によって保護され、外側針キャップはキャップ18によって覆うことができる。注射デバイス1から排出予定のインスリン用量は、投与量つまみ12を回すことによって選択することができ、その場合、選択用量は、たとえば、いわゆる国際単位(IU)の倍数として投与量窓13を介して表示される。ここで1IUは、約45.5マイクログラムの純粋結晶のインスリン(1/22mg)の生物学的等量物である。投与量窓13に表示される選択用量の一例は、
図1aに示されるように、たとえば30IUである。選択用量は、別の仕方でも同様に適切に表示されることに留意されたい。ラベル(図示せず)がハウジング10上に設けられる。このラベルは、注射デバイス内に含まれる薬剤についての情報を、その薬剤を識別する情報を含めて含む。薬剤を識別する情報は文字の形でよい。薬剤を識別する情報はまた、色の形でもよい。薬剤を識別する情報はまた、バーコード、QRコード(登録商標)などに符号化される。薬剤を識別する情報はまた、白黒パターン、カラーパターンまたはシェーディングの形でもよい。
【0019】
投与量つまみ12を回すことにより、使用者に音響フィードバックを提供するための機械的なクリック音が生じる。投与量窓13に表示された数字は印刷によってスリーブ上に存在し、このスリーブは、ハウジング10内に含まれ、インスリン容器14内のピストンと機械的に相互作用する。針15が患者の皮膚部分に突き刺されると、次に注射ボタン11が押され、表示窓13に表示されたインスリン用量が注射デバイス1から排出される。注射ボタン11が押された後に注射デバイス1の針15が皮膚部分に一定の時間とどまっているときに、用量の大部分が患者の体の中に実際に注射される。インスリン用量の排出によってもまた機械的なクリック音が生じるが、この音は、投与量つまみ12を使用する
ときに生成される音とは異なる。
【0020】
注射デバイス1は、インスリン容器14が空になるか、または注射デバイス1の有効期限(たとえば、最初の使用から28日後)に達するまで、数回の注射処置に使用される。さらに、注射デバイス1を初めて使用する前に、インスリン容器14および針15から空気を除去するためのいわゆる「プライムショット」を、たとえば2単位のインスリンを選択し、針15が上向きの状態で注射デバイス1を保持しながら注射ボタン11を押すことによって実施する必要がある。
【0021】
説明を簡単にするために、以下では、たとえば次に注射予定の用量の計画をするとき、この用量が、注射デバイスによって排出されなければならない用量と等しくなるように、排出される用量は注射される用量と実質的に一致するものと例示的に仮定する。しかしながら、排出用量と注射用量の差異(たとえば、損失)は、もちろん考慮に入れられる。
【0022】
図1bは、注射デバイス1の端部の詳細図である。この図は、視認窓13と投与量つまみ12の間に置かれた位置特定リブ70を示す。
【0023】
図2aは、
図1aおよび
図1bの注射デバイス1に解放可能に取り付け予定の補助デバイス2の実施形態の概略図である。補助デバイス2は、
図1aおよび
図1bの注射デバイス1のハウジング10を取り巻くように構成された嵌合ユニット付きのハウジング20を含み、そのため、補助デバイス2が注射デバイス1のハウジング10に密着してはいるが、たとえば注射デバイス1が空であり交換されなければならないときには、注射デバイス1から取外し可能になる。
図2aは非常に概略的であり、物理的な配置の詳細については、以下で
図2bを参照して説明する。
【0024】
補助デバイス2は、注射デバイス1から情報を集めるための光学センサおよび音響センサを含む。この情報の少なくとも一部、たとえば選択用量(および場合により、この用量の単位)は、補助デバイス2の表示ユニット21を介して表示される。注射デバイス1の投与量窓13は、補助デバイス2が注射デバイス1に取り付けられると、補助デバイス2によって遮られる。
【0025】
補助デバイス2はさらに、ボタン22として概略的に図示された、少なくとも1つの使用者入力トランスデューサを含む。これらの入力トランスデューサ22により、使用者が補助デバイス2をオン/オフすること、動作を起動すること(たとえば、別のデバイスとの連結またはペアリングを確立させるために、および/または補助デバイス2から別のデバイスへの情報の伝達を起動するために)、または何かを確認することが可能になる。
【0026】
図2bは、
図1aおよび
図1bの注射デバイス1に解放可能に取り付け予定の補助デバイス2の第2の実施形態の概略図である。補助デバイス2は、
図1aおよび
図1bの注射デバイス1のハウジング10を取り巻くように構成された嵌合ユニット付きのハウジング20を含み、そのため、補助デバイス2が注射デバイス1のハウジング10に密着してはいるが、注射デバイス1から取外し可能になる。
【0027】
情報が補助デバイス2の表示ユニット21を介して表示される。注射デバイス1の投与量窓13は、補助デバイス2が注射デバイス1に取り付けられると、補助デバイス2によって遮られる。
【0028】
補助デバイス2はさらに、3つの使用者入力ボタンまたはスイッチを含む。第1のボタン22は、電源オン/オフボタンであり、これによって、補助デバイス2をたとえばオンおよびオフすることができる。第2のボタン33は通信ボタンである。第3のボタン34
は確認またはOKボタンである。ボタン22、33、34は、適切な任意の形の機械的スイッチとすることができる。これらの入力ボタン22、33、34により、使用者が補助デバイス2をオン/オフすること、動作を起動すること(たとえば、別のデバイスとの連結またはペアリングを確立させるために、および/または補助デバイス2から別のデバイスへの情報の伝達を起動するために)、または何かを確認することが可能になる。
【0029】
図2cは、
図1aおよび
図1bの注射デバイス1に解放可能に取り付け予定の補助デバイス2の第3の実施形態の概略図である。補助デバイス2は、
図1aおよび
図1bの注射デバイス1のハウジング10を取り巻くように構成された嵌合ユニット付きのハウジング20を含み、そのため、補助デバイス2が注射デバイス1のハウジング10に密着してはいるが、注射デバイス1から取外し可能になる。
【0030】
情報が補助デバイス2の表示ユニット21を介して表示される。注射デバイス1の投与量窓13は、補助デバイス2が注射デバイス1に取り付けられると、補助デバイス2によって遮られる。
【0031】
補助デバイス2はさらに、タッチセンサ式入力トランスデューサ35を含む。補助デバイスはまた、単一の使用者入力ボタンまたはスイッチ22を含む。ボタン22は電源オン/オフボタンであり、これによって、補助デバイス2をたとえばオンおよびオフすることができる。タッチセンサ式入力トランスデューサ35を使用して、動作を起動すること(たとえば、別のデバイスとの連結またはペアリングを確立させるために、および/または補助デバイス2から別のデバイスへの情報の伝達を起動するために)、または何かを確認することができる。
【0032】
図3は、
図2aの補助デバイス2が
図1aおよび
図1bの注射デバイス1に取り付けられた状態の補助デバイス2の概略図を示す。
【0033】
補助デバイス2のハウジング20と共に、複数の構成要素が含まれる。これらはプロセッサ24によって制御され、このプロセッサは、たとえば、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などである。プロセッサ24は、プログラムメモリ240に記憶されたプログラムコード(たとえば、ソフトウェアまたはファームウェア)を実行すると共に、たとえば中間結果を記憶するために、主メモリ241を使用する。主メモリ241はまた、実行された排出/注射のログブックを記憶するために使用される。プログラムメモリ240は、たとえば読取り専用メモリ(ROM)であり、主メモリは、たとえばランダムアクセスメモリ(RAM)である。
【0034】
図2bに示されたものなどの実施形態では、プロセッサ24は第1のボタン22と対話し、それによって補助デバイス2は、たとえば電源をオンおよびオフすることができる。第2のボタン33は通信ボタンである。この第2のボタンは、他のデバイスとの接続の確立を起動するために、または他のデバイスへの情報の伝達を起動するために使用される。第3のボタン34は確認またはOKボタンである。第3のボタン34は、補助デバイス2の使用者に提供された情報に対して確認応答するために使用することができる。
図2cに示されたものなどの実施形態では、2つのボタン33、34を省略することができる。代わりに、1つまたはそれ以上の容量性センサまたは他のタッチセンサが設けられる。
【0035】
プロセッサ24は、液晶ディスプレイ(LCD)として現在具現化されている表示ユニット21を制御する。表示ユニット21は、補助デバイス2の使用者に対し、たとえば注射デバイス1の現在の設定、または付与予定の次の注射についての情報を表示するために使用される。表示ユニット21はまた、たとえば使用者の入力を受けるために、タッチス
クリーンディスプレイとして具現化することもできる。
【0036】
プロセッサ24はまた、投与量窓13の画像を取り込むことができる光学式文字認識(OCR)リーダとして具現化された光学センサ25を制御し、この投与量窓には、現在選択されている用量が表示される(注射デバイス1に含まれるスリーブ19上にある、投与量窓13を通して見える数字、文字、記号またはグリフによって)。OCRリーダ25はさらに、取込み画像からの文字(たとえば数字)を認識し、この情報をプロセッサ24に提供することもできる。あるいは、補助デバイス2のユニット25は、画像を取り込むと共に取込み画像の情報をプロセッサ24に提供する光学センサ(たとえばカメラ)だけでもよい。その場合、プロセッサ24は、取込み画像に対しOCRを実施することに関与する。
【0037】
プロセッサ24はまた、現在選択されている用量が表示される投与量窓13を照明するための発光ダイオード(LED)29などの光源を制御する。たとえば一枚のアクリルガラスから作られた拡散器が光源の前方に使用される。さらに光学センサは、たとえば2つの非球面レンズを含むレンズ系を含む。拡大率(画像サイズと対象物サイズの比)は1未満である。拡大率は、0.05から0.5の範囲内である。1つの実施形態では、拡大率は0.15である。
【0038】
プロセッサ24はさらに、注射デバイス1のハウジング10の光学特性(たとえば、色または濃淡)を決定するように構成された測光器26を制御する。この光学特性は、ハウジング10の特定の部分、たとえば、注射デバイス1の中に含まれるスリーブ19またはインスリン容器の色または色コーディングとしてだけ存在することができ、この色または色コーディングは、たとえばハウジング10(および/またはスリーブ19)の別の窓を通して見える。その場合、この色の情報はプロセッサ24に提供され、プロセッサ24は次に、注射デバイス1の種類、または注射デバイス1に収容されたインスリンの種類を決定することができる(たとえば、紫色のSoloStar Lantus、および青色のSoloStar Apidra)。あるいは、測光器26の代わりにカメラユニットが使用され、その場合、画像処理によってハウジング、スリーブまたはインスリン容器の色を決定するために、ハウジング、スリーブまたはインスリン容器の画像がプロセッサ24に提供される。さらに、測光器26の読取値を改善するために、1つまたはそれ以上の光源が設けられる。光源は、測光器26による色検出を改善するために、ある特定の波長またはスペクトルの光を提供する。光源は、たとえば投与量窓13による不要な反射が回避または低減されるように配置される。例示的な一実施形態では、注射デバイスおよび/またはその中に収容されている薬剤に関連するコード(たとえばバーコードであり、たとえば一次元または二次元バーコードである)を検出するために、測光器26の代わりに、またはそれに加えてカメラユニットが配置される。このコードは、いくつか例を挙げると、たとえばハウジング10の上、または注射デバイス1に含まれる薬剤容器の上に置かれる。このコードは、たとえば、注射デバイスおよび/または薬剤の種類、および/または別の特性(たとえば有効期限)を示すことができる。
【0039】
プロセッサ24はさらに、注射デバイス1によって生成された音を検知するように構成されている音響センサ27を制御する(かつ/または音響センサからの信号を受ける)。このような音は、たとえば、投与量つまみ12を回すことによって用量がダイヤル設定されたとき、および/または注射ボタン11を押すことによって用量が排出/注射されたとき、および/またはプライムショットが行われたときに発生する。これらの動作は機械的に類似してはいるが、異なる音が出る(これらの動作を示すのが電子音の場合でも)。音響センサ27および/またはプロセッサ24は、たとえば、(プライムショットだけではなく)注射が行われたことを安全に認識できるようにするために、これらの異なる音を区別するように構成される。
【0040】
プロセッサ24はさらに、たとえば注射デバイス1の動作状態と関連付けることができる音響信号をたとえば使用者へのフィードバックとして生成するように構成されている音響信号発生器23を制御する。たとえば、音響信号は、注射予定の次の用量を思い出させるものとして、または、たとえば誤用の場合の警告信号として、音響信号発生器23から送出される。音響信号発生器は、たとえば、ブザーまたはスピーカとして具現化することができる。音響信号発生器23に加えて、またはその代替として、たとえば振動によって触覚フィードバックを与えるための触覚信号発生器(図示せず)もまた使用される。
【0041】
プロセッサ24は、無線によって他のデバイスとの間で情報を送信および/または受信するように構成されている無線ユニット28を制御する。このような伝送は、たとえば、無線伝送または光伝送に基づく。いくつかの実施形態では、無線ユニット28はブルートゥース(登録商標)トランシーバである。別法として、無線ユニット28は、たとえばケーブルまたはファイバ接続を介した有線結合によって他のデバイスとの間で情報を送信および/または受信するように構成された有線ユニットによって置き換えられ、または補完される。データが送信されるとき、転送されるデータ(値)の単位は、明示的または暗黙的に定義される。たとえば、インスリン用量の場合、常に国際(IU)単位が使用され、または別に、使用される単位が明示的に、たとえばコード化された形で転送される。
【0042】
プロセッサ24は、ペン1が存在するかどうか、すなわち補助デバイス2が注射デバイス1に連結されているかどうかを検出するように動作可能であるペン検出スイッチ30から入力を受ける。電池32が、プロセッサ24および他の構成要素に電源31から電力を供給する。
【0043】
したがって
図3の補助デバイス2は、注射デバイス1の状態および/または使用に関連する情報を決定することができる。この情報は、デバイスの使用者が使用するための表示ユニット21に表示される。この情報は、補助デバイス2自体で処理されるか、または他のデバイス(たとえば血糖監視システム)に少なくとも部分的に提供される。
【0044】
図4および
図5は、補助デバイス2が注射デバイス1に取り付けられたときの光学センサ25の視野400の例を概略的に示す。センサの視野は長方形または正方形である。光学センサの視野400は、用量窓13よりも広いが窓ほど高くはなく、したがって、用量窓13の全部を取り込まない。しかし、他のいくつかの実施形態では、視野が用量窓13よりも両方向に大きい。
図4および
図5の実線の水平線402は、視野400の中心線である(すなわち、光学センサの25画素アレイの中心画素行)
【0045】
いくつかの実施形態では、スペース制約、および数字が特定のサイズである必要性により、偶数だけが数字スリーブ19上に印刷される。他のいくつかの実施形態では、奇数だけが数字スリーブ上に印刷される。しかし、任意の単位数の薬剤を注射デバイス1にダイヤル設定することができる。いくつかの代替実施形態では、すべての数字、すなわち昇順の整数がスリーブ上に印刷される。これらの実施形態では、半単位用量を注射デバイスにダイヤル設定することが可能である。この注射デバイスは、80単位の最大ダイヤル設定用量に制限される。別の代替実施形態では、3つごと、4つごと、または5つごとの数字だけが印刷される。印刷された数字間の用量位置は、目盛によって示される。「印刷される」という用語は、本明細書では、数字が数字スリーブの表面に印付けられることを示すが、当業者には、数字が印刷される、エッチングされる、印付けられる、取り付けられる、またはそれとは別に、いくつかの知られている方法で補助デバイス2の光学センサ25に見えるようにされることが理解されよう。
【0046】
注射デバイス1および補助デバイス2は、光学センサ25の視野400が用量窓13を
覆ってほぼ中心に位置するように構成される。製造許容誤差は、視野が水平と垂直の両方向でわずかに中心を外れることを意味する。
図4では、数字6が用量窓13の中心に表示されるようにして6単位が注射デバイス1にダイヤル設定されている。
図5では、数字6と8の両方が用量窓13に表示され、これらの数字間のスペースが用量窓13の中心領域を占めるようにして7単位が注射デバイス1にダイヤル設定されている。
【0047】
プロセッサ24は、
図4および
図5で表された両方の状態が正確に復号されることを可能にするアルゴリズムを実行するように構成される。このアルゴリズムでは、注射デバイス1に現在ダイヤル設定されている用量を正確に決定するために、可視数字に対して光学式文字認識(OCR)処理を実行し、このOCR処理の結果を使用する。このアルゴリズムは、ソフトウェアまたはファームウェア内で具現化され、補助デバイス2のプログラムメモリ240に記憶される。プロセッサ24と、アルゴリズムを記憶するメモリ240とは一緒に、本明細書では「プロセッサ配置」と呼ばれる。
【0048】
全アルゴリズムは、前処理部、OCR部、および後処理部に分けることができ、各部は一般にいくつかの工程を含む。
【0049】
前処理部では、画像データ品質が評価され、以下の工程を実行することによって改善される:
・欠陥不良画素の補正
・明るさ補正
・歪みおよび傾斜補正
【0050】
たとえば、露光制御アルゴリズムは、明るすぎる、または暗すぎるピクチャを拒否し、露光パラメータが調整されている新しいピクチャが取り込まれる。数字は、人が認識および位置決めしやすいように傾斜して印刷されるが、この傾斜が除去されるならば復号しやすくなる。本明細書で説明され特許請求される本発明の目的に対して、前処理は任意選択の特徴である。アルゴリズムのOCR部は、画像の前処理なしで要求標準規格に合わせて実行するように設計され、かつ/または光学センサ25は、画像に直接実施予定のOCRのために十分な品質の画像を生成するように構成される。
【0051】
OCR部では、画像データが次にさらに処理され、最後に認識文字が得られる。OCR処理は次の工程を含む:
・2値化
・セグメント化
・パターンマッチング
・位置計算
【0052】
これらの工程については以下でより詳細に説明する。
【0053】
後処理は様々な検査、および表示予定の結果の生成を含む。後処理は以下の工程を含む:
・健全さ(sanity)検査を実行する
・ヒステリシス計算
・最終結果をディスプレイに示す
【0054】
本明細書で説明され特許請求される本発明の目的に対して、後処理は任意選択の特徴である。たとえばOCR処理の結果は、後処理なしで表示デバイスへ直接出力される。
【0055】
センサデバイス2の高い信頼性要件により、いくつかの実施形態には並列で動作する2
つのOCRアルゴリズムがある。これら2つのOCRアルゴリズムは同じ入力(画像)を有し、同じ出力を提供するようになっている。これらは両方とも同様の工程を実行するが、各工程で使用される個々の方法は様々である。これら2つのOCRアルゴリズムは、2値化、セグメント化、パターンマッチング、および位置計算の各工程のうちの1つが異なるか、またはこれらの工程のうちの2つ以上が異なる。同じ結果を提供するために異なる方法を使用する2つのOCR部があると、データが2つの独立した方法で処理されているので、アルゴリズム全体の信頼性が向上する。
【0056】
重要な課題は、ディスプレイによる数字、文字、および/またはグリフを認識して用量値を決定することが確実にできる小さなシステムの中に、画像取込み、およびその後のセグメント化を含むOCR処理を実施することである。システムは電池駆動され、小型であり、撮像能力ならびに処理能力が小型設計および寿命の要件により限定されている。この種のデバイスのプロセッサは一般に、約100MHz以下のクロック速度、最大32kバイトRAMおよび512kbフラッシュのメモリを有する(これらの仕様は例示であり、限定するものではない)。しかし、OCR処理の結果は、用量をダイヤル設定している使用者がその用量を補助デバイスからダイヤル設定しながら読み取ることができるという、リアルタイムで得られるべきである。典型的な計算時間は約70msであろう。
【0057】
次に、アルゴリズムのOCR部についてより詳細に説明する。
図6は、2値化後の用量窓13の画像600の一例を示す。実線の水平線602は、光学センサ25の視野の中心線である。用量窓13の画像がまず、光学センサ25によって取り込まれる。上述の前処理工程を適用した後に、2値化処理によってグレースケール画像が全くの白黒画像に変換される。明るいスリーブ上に暗い数字がある注射ペンの設計によれば、白黒画像は黒画素で数字の存在を示し、白画素で数字の不在を示す。
【0058】
いくつかの実施形態では、黒と白の画素を分けるために固定閾値が使用される。2値化ピクチャ中で、閾値以上の値を有する画素は白色に、閾値未満の画素は黒色になる。高い閾値がアーチファクト(白色領域内の黒色部分)を招くのに対し、低い閾値には、場合によって数字の一部が欠けるというリスクがある。いくつかの実施形態では、アルゴリズムが一般にアーチファクトに対して堅牢であるので(すなわち、いくつかのアーチファクトの存在下で正確なOCR処理を実行することができる)、閾値は数字の一部が決して欠けないように選択される。試験では、256個のグレー値を検出できるセンサが使用され、127という閾値で良好な結果が示された。
【0059】
前処理における明るさ補正により、固定閾値の使用が可能である。明るさ補正と固定閾値の組合せは、窓平均2値化(windowed mean binarization)と類似している。窓平均2値化では、画素値をそれが位置する領域の画素の平均値と比較する。歪みおよび傾斜補正工程の前に明るさ補正工程を実行するということは、OCR処理に使用されるさらに多くの情報が得られることであり、これがピクチャの縁部および隅部に対しより良好な結果をもたらすことが示された。
【0060】
あるいは、画像600に類似している2値画像を生成するために、大津の閾値方法(Otsu threshold method)が取込みグレースケール画像に適用される。いくつかの代替実施
形態では2値化が省略され、アルゴリズムのOCR部が取込みグレースケール画像に対して実行される。
【0061】
2値化後、セグメント化工程が実行される。アルゴリズムのこの部分の目標は、画像中のそれぞれの可視数字または部分的に見える数字の正確な位置を決定することである。これを達成するためにアルゴリズムは、数字の縁部を見つけることによって可視数字の境界を画成する。これは一般に、どの順序でも実行できる2つの工程で実現される。
図4およ
び
図5を再び参照すると、プロセッサ24はまず、2値化画像を構成する画素列が分析される「垂直投影」を実行する。それぞれの画素列が個々に分析され、それぞれの列内の黒画素の数の合計が算出される。いくつかの実施形態では、ゼロ黒画素を有する画素列だけが数字の縁部を画成する。あるいは、黒画素の数に対する低閾値が、汚れ、スクラッチ、および他の外乱を明らかにするように設定される。隣接列に対して異なる値が算出され、最大の差がある境界が数字の縁部を表す。加えて、列の重なり合う群(たとえば、3つの隣接列)の画素内容が、数字の水平縁部を決定する助けになるように算出される。
図4および
図5に見える破線は、「垂直投影」の予想結果を示す。
【0062】
プロセッサ24は次に、2値化画像を構成する画素行が分析される「水平投影」を実行する。これは、垂直投影について上述したのと同じように進行する。次に、
図7および
図8を参照すると、光学センサ25の視野700が再び示されている。実線の水平線702は、光学センサ25の視野の中心線である。水平投影の予想結果は、可視数字の縁部が識別されるように垂直投影の予想結果に加えられる。破線は、この処理の予想結果を示す。
図8で、数字「6」も「8」も完全に可視であり、したがってセグメント化処理では、これら両方の数の4つすべての縁部(左、右、上部および下部)を検出する。これは、7単位をダイヤル設定した使用者に対応する。
図7では、数字「6」が視野700中心にあり、数字「4」および「8」が上下に部分的に見える。これは、6単位をダイヤル設定した使用者に対応する。すなわち、部分的に見える数字の縁部のすべてが検出されるわけではない。プロセッサ24は、完全な数字の(画素行の)予想高さが事前プログラムされ、したがって、部分的に見える数字が存在することを認識することができる。
【0063】
それぞれの行および列の白画素の予想数が既知であるならば、「水平投影」および「垂直投影」も同じく、白画素の合計が代わりに計算される分析に完全に基づくことができるというのが素直な見方である。
【0064】
正確な位置が分かると、可視数字を表す画像の一部だけをOCR処理の次の工程のために使用することが可能になる。これにより、数字以外の他のもの、たとえば汚れ、スクラッチおよび他の外乱のいかなる影響も減らすことができる。さらに、後に続く工程で、たとえばパターンマッチング工程で処理予定の画素の総数もまた低減される。これは、リソース要件を減らす助けになる。これはまた、性能を向上させる助けにもなる。加えて、正確な位置が分かることがまた、画像の中心に対して垂直位置を決定する支援となる(下記参照)。
【0065】
OCR処理の次の工程は、復号予定および識別予定の可視数字の1つを選択することである。これは、数字のうちの1つを「主数字行」として指定することによって行われる。主数字行は、どの可視数字が最大高を有するかに基づいて選択される。その理由は、スリーブ上に印刷された数字のすべてがほぼ同じ高さを有し、かつ最大高を有する数字が完全に可視であると仮定することができ、したがって高い確実度で復号しやすいからである。
図7では、数字「6」が、上下の部分的に見える数字よりも高さがあり、主数字行として選択される。
図8では、数字の「6」も「8」も完全に可視であり、高さが同じである。この場合、最も上の数字が主数字行として選択される。主数字行は、注射デバイス1にダイヤル設定された用量を決定するために後で使用される数字である。
【0066】
インスリンの自己投与のための標準的な注射デバイス1は、1から80単位の任意の単位数の薬剤を注射することができる。したがって、主数字行として識別された数字を適正に復号するために、その数字が1つの数字からなるか、それとも2つの数字からなるかを決定しなければならない。したがってプロセッサ24は、それぞれの数字が1つの数字からなるか、それとも2つの数字からなるかを決定するために一連の工程を実行し、後者の場合には、その数字を互いに分離する。プロセッサ24は、事前に計算された列画素情報
をこの目的のために使用することができる。次に
図9を参照すると、別の例示的な視野900が示されており、9単位の薬剤が注射デバイス1にダイヤル設定されている。水平投影および垂直投影の予想結果が示されている。数字「10」は数字「8」よりも高く、主数字行として選択される。
【0067】
この後プロセッサ24は、選択された主数字行が所定の「最大数字幅」値よりも幅が広いかどうかを決定する。プロセッサ24は、取込み画像中の数字の予想サイズに関する情報が事前プログラムされているので、単一数字の最大予想幅が画成される。信頼性を向上させるために、最大幅は、最大幅の数字よりも多い少数の画素列として設定される。主数字行の幅が最大数字幅以下である場合、この行は単一の数字を含むと仮定される。主数字行が単一数字であるにしては幅が広すぎる場合には、第2の垂直投影が主数字行に対して実行される(画像全体に対してではなく)。加えて、個々の数字それぞれの予想幅が、分離が行われるべき点を予想するために使用される。
【0068】
図9に示された例示的な視野900は、数字が十分に間隔をあけて配置されている図である。実際には、数字スリーブが使用できるスペースの制限、および補助デバイス2が使用されていないときに数字が使用者に読取り可能である必要性により、各数字は一緒に非常に接近して印刷される。すなわち、2値化後には、数値を構成する2つの数字はきれいには分離されていなく、すなわち、黒画素のない列が2つの数字間にはない。これは、
図6に示された例示的な2値化画像の場合であり、上の数字「74」の「7」と「4」には、これらの間に黒画素を含まない画素列がない。この場合、個々の数字それぞれの予想幅は再び、分離が行われるべき点を予想するために使用される。予想列が黒画素を含む場合、この列の隣接列からの偏差が計算されて最良の分離点が決定される。この場合、選択された分離列中の黒画素が左側数字に属するのか右側数字に属するのかは明確ではないので、黒画素は無視される。こうすることが数字を正しく識別するためのOCR処理の信頼性に及ぼす影響は、最小限であることが示されている。
【0069】
次に、パターンマッチング処理が実行されて、主数字行中の数字が識別される。各数字のテンプレートを補助デバイス2のメモリに記憶することができ、その場合、識別された数字をこれらのテンプレートと比較することができる。簡単な手法では、パターンマッチングは画素ごとに実行することもできる。しかし、これは高い計算能力を必要とする。さらに、この方式には、画像とテンプレートの間に位置変動の傾向がある。他のいくつかの実施形態では、特徴認識処理が実行される。特徴は、水平線、垂直線もしくは対角線、曲線、円、または閉ループなどである。これらの特徴は、選択された数字の画像内で認識し、テンプレートと比較することができる。
【0070】
さらに別の実施形態では、パターンマッチングアルゴリズムは、ベクトル比較処理に基づくことができる。たとえばテンプレートは、黒画素の各線(連続する一続き)の位置および長さを記述するベクトルの形である。1つの例では、これらの位置および長さは、それぞれの線における絶対位置と関係がある。別の例では、位置および長さは、テンプレートの中心を通って延びる垂直線と関係がある。各数字の取込み2値画像は、同様にベクトルに変換され、それぞれの記憶されたテンプレートと比較されて最良一致が見出される。
【0071】
取込み画像のベクトルを特定の数字テンプレートと比較するときには、いかなる偏差も、画像とそのテンプレートの間の一致の可能性に適用されるペナルティになる。ペナルティの大きさは、テンプレートと比較される画像内の欠損または余分な黒画素の数に依存する。数字画像が各テンプレートと比較され、すべてのペナルティが適用された後で、どの数字が存在するかについての判定が行われる。良好な光学条件では、適正なテンプレートはペナルティが非常に低いのに対し、他のすべてのテンプレートは高いペナルティを有する。主数字行が2つの数字から成る場合には、この処理は両方の数字に対して実行され、
プロセッサ24は次に出力を一緒にして、その数字に対する最終結果を生成する。
【0072】
特定の数字に対しては特別な方策が存在する。たとえば、「1」は他のすべての数字から幅が大きく逸脱し、結果として共通の誤検出が生じる。これに対処するために、数字の2値画像が「1」の予想幅よりも幅が広い場合、この2値画像は、「1」の記憶されたベクトルテンプレートと比較されるときに追加の検出ペナルティを受ける。
【0073】
いくつかの例外的な場合では、主数字行のパターンマッチングの結果における信頼水準が特定の閾値(たとえば99%)未満であるならば、プロセッサは、他の可視数字または部分的可視数字の1つまたはそれ以上に対して第2のパターンマッチング処理を実行することができる。数字の順序が分かっているので、この第2のパターンマッチングは、第1のパターンマッチングが正しい結果を返したことを検査するものとして機能することができる。
【0074】
結果の信頼水準が依然として十分に高くない場合には、光学センサ25によって第2の画像が取り込まれ、処理が繰り返される。あるいは、エラーメッセージが表示される。
【0075】
主数字行の数字がうまく識別された後、注射デバイス1にダイヤル設定された用量を決定するために重み付け関数が適用される。重み付け関数を公式化するために、画像の中心に対する主数字行の垂直位置が決定される。これは、主数字行を含む中間画素行の、画像の中心線を表す光学センサ25の画素行に対するオフセットを計算することによって行われる。
【0076】
たとえば、いくつかの実施形態で光学センサは、感光要素からなる長方形の64×48アレイを含む。結果として得られる2値画像は、これらと同じ寸法を有する画素アレイになる。24番目および/または25番目の画素行が、画像の中心行として指定される。主数字行を含む中間画素行の位置が決定される。主数字行を含む中間画素行と画像の中心行との間の、画素行のオフセットが次に計算される。このオフセットは、オフセットの方向に応じて正または負になる。オフセットは、それに応じて決定数字に適用される前に、連続する数字間の(画素行における)距離でオフセットを割った端数に変換される。したがってオフセットにより、センサに対して数字の回転位置を決定することが可能になる。主数字行の中心画素行が画像の中心画素行と同じである場合、オフセットはゼロになり、その位置は主数字行番号(primary digit row number)と同じになる。しかし、補助デバイス2の、およびまたは注射デバイス1の製造許容誤差により、ならびに使用者が数字スリーブに加える圧力により、ほとんどの状況においていくらかのオフセットが存在する可能性がある。
【0077】
数字スリーブ上に印刷された連続する数字間の距離は、これらの数字が注射デバイス機構の離散形の機械的動きに関連付けられている用量を表しているので、一定である。したがって、取込み画像内の連続する数字間の(画素行における)距離もまた一定になるはずである。数字の予想高さ、および数字間のスペースは、アルゴリズムに事前プログラムされる。
【0078】
一例として、各数字の予想高さは22画素であり、数字間のスペースの予想高さは6画素である。したがって、連続する数字の中心画素行間の距離は28画素になる。
【0079】
この例を続けると、画素行に番号が、画像の最上部から最下部まで順に付けられている場合、重み付け関数の適用は数学的に次式の通りに定義される:
位置=主数字行の数字+[2×オフセット/(数字の予想高さ+スペースの予想高さ)]
【0080】
ここで、オフセット=中心画像行番号−主数字行中心行番号
【0081】
すなわち、主数字行が画像の上半分にある場合、オフセットは正になり、主数字行が画像の下半分にある場合、オフセットは負になる。たとえば、主数字行に示される数字が
図4のように「6」であり、オフセットがゼロである場合、計算位置は次式となる:
位置=6+[2×0/(28)]=6
【0082】
したがって、「6」の結果が予想通りに返されることになる。
【0083】
75単位が注射デバイス1にダイヤル設定されている
図6を例にとると、上の数字「74」が主数字行として選択され、上記の式によって11画素行の正のオフセットがあり、また28画素の組合せ数字/スペース高さを再び仮定する場合では、計算位置は次式となる:
位置=74+[2×11/(28)]=74.79
【0084】
次に、この結果が最も近い整数に丸められて、予想通りに「75」の位置決定が与えられる。
【0085】
最後の後処理部を適用した後、プロセッサ24によりこの結果が補助デバイス2の表示ユニット21に表示される。前に論じたように、スペース制約により、すべての数字が数字スリーブ上に印刷されるわけではない。いくつかの実施形態では、偶数だけが数字スリーブ上に印刷される。上述の位置決定工程により、補助デバイス2が用量値を表示することが、これらの値が数字スリーブ上に現われないことがあるにしても、可能になる。したがって、ダイヤル設定された用量のより明確な標示が補助デバイス2の使用者に提供される。
【0086】
使用者が用量をゆっくりとダイヤル設定する(すなわち、投与量つまみ12をゆっくりと回す)場合、上述の位置丸めにより2つの数字間での表示ちらつきが生じることがある。これを防止するために後処理工程は、表示される数字が前の表示数字にいくらか依存するように、ヒステリシス規則を含む。このヒステリシス計算は、結果が表示される前にアルゴリズムで実行される最後の工程である。
【0087】
当業者には、上述の重み付け関数および位置決定が単に1つの例であること、ならびに多数の他の計算方法が、同じ結果に到達するために使用されてよいことが理解されよう。当業者にはまた、上述の計算は、計算時間を減らすために修正および改善できることが理解されよう。すなわち、重み付け関数の厳密な形は、本発明の定義に必須ではない。
【0088】
いくつかの実施形態では、3つごと、4つごと、または5つごとの数字だけがスリーブ上に印刷され、たとえば数字の並びは、0、5、10、15などとなる。中間の用量値は、スリーブ上の目盛によってのみ示される。この場合、光学センサ25の解像度は、アルゴリズムが数字スリーブ19の正確な位置を決定すること、ならびに、センサの中心線に対する可視数字の位置を決定することによって、刻まれていない用量単位値を導出することを可能にするのに十分である。たとえば、7単位を注射デバイスに、用量スリーブが印刷数字5と10の間の位置に回って入るようにダイヤル設定することができる。この場合、アルゴリズムの位置決定態様は、重み付け関数の修正形を使用して「7」の用量値を算出するのに十分に正確である(数字の高さおよび数字間のスペースのサイズもまた修正されるので)。
【0089】
アルゴリズムはまた、たとえば1つまたはそれ以上の数字のサイズを変更することによ
って、画成された画素領域にまで数字を切り詰めることによって、またイタリックフォントで印刷された数字を直立位置にせん断変形させることによって、数字の画像に対して他の種類の操作を行うように構成することもできる。これらの操作は、記憶されたテンプレートとのパターンマッチング比較の前に行うことができる。あるいは、これらの操作は、2値化処理の前の取込み画像に対する画像前処理工程で行うこともできる。追加のシェーディング、歪みおよび露光補正もまた行うことができる。