特許第6758458号(P6758458)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サノフィ−アベンティス・ドイチュラント・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツングの特許一覧

特許6758458光学式文字認識を行うデバイスおよび方法
<>
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000002
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000003
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000004
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000005
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000006
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000007
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000008
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000009
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000010
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000011
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000012
  • 特許6758458-光学式文字認識を行うデバイスおよび方法 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6758458
(24)【登録日】2020年9月3日
(45)【発行日】2020年9月23日
(54)【発明の名称】光学式文字認識を行うデバイスおよび方法
(51)【国際特許分類】
   G06K 9/20 20060101AFI20200910BHJP
   A61M 5/24 20060101ALI20200910BHJP
   A61M 5/315 20060101ALI20200910BHJP
【FI】
   G06K9/20 340L
   G06K9/20 340K
   A61M5/24
   A61M5/315 550N
【請求項の数】17
【外国語出願】
【全頁数】21
(21)【出願番号】特願2019-133235(P2019-133235)
(22)【出願日】2019年7月19日
(62)【分割の表示】特願2017-500984(P2017-500984)の分割
【原出願日】2015年7月9日
(65)【公開番号】特開2019-194915(P2019-194915A)
(43)【公開日】2019年11月7日
【審査請求日】2019年7月19日
(31)【優先権主張番号】14176482.9
(32)【優先日】2014年7月10日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】397056695
【氏名又は名称】サノフィ−アベンティス・ドイチュラント・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツング
(74)【代理人】
【識別番号】100127926
【弁理士】
【氏名又は名称】結田 純次
(74)【代理人】
【識別番号】100140132
【弁理士】
【氏名又は名称】竹林 則幸
(72)【発明者】
【氏名】ディートマー・ハーメン
【審査官】 松尾 俊介
(56)【参考文献】
【文献】 特許第6561111(JP,B2)
【文献】 特表2013−521963(JP,A)
【文献】 特開平08−221518(JP,A)
【文献】 特開平07−282190(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 9/20
A61M 5/24
A61M 5/315
(57)【特許請求の範囲】
【請求項1】
光学式文字認識処理において文字分離を実行する方法であって:
1つまたはそれ以上の文字列を表す画像データを受ける工程と;
画像データの各列中の黒画素の数を決定する工程と;
列中の黒画素の最大数である垂直分離閾値を定義する工程と;
黒画素の数が垂直分離閾値未満である列を除外することによって、列を異なる画素群と除外された列の群とに分割する工程と;
画像データ中で最も左の文字列を表す画素群を識別する工程と
を含み、
さらに:
除外された列の最も左の群を識別する工程と;
除外された列の最も左の群のすぐ右の画素群が最小数字幅閾値未満であると決定する工程と;
除外された列の最も左の群のすぐ右の画素群を除外する工程と
を含む、
前記方法。
【請求項2】
除外された列の最も左の群の右の第2の画素群を画像データ中の最も左の文字列と定義する工程を含む、請求項1に記載の方法。
【請求項3】
文字列を表す1つまたは2つの画素群が画像データ中にあるかどうかを決定する工程を含む、請求項1または2に記載の方法。
【請求項4】
文字列を表す1つまたは2つの画素群が画像データ中にあるかどうかを決定する工程は、除外された列の最も左の群の幅を決定する工程を含む、請求項1〜3のいずれか1項に記載の方法。
【請求項5】
除外された列の最も左の群の幅が最大左縁閾値未満である場合に、文字列を表す2つの画素群が画像データ中にあると決定する工程を含む、請求項4に記載の方法。
【請求項6】
画像データ中の最も左の文字列の幅を決定する工程をさらに含む、請求項1〜5のいずれか1項に記載の方法。
【請求項7】
画像データ中の最も左の文字列の決定された幅を使用して、最も左の文字列が幅の狭い数字に限って含むのか、それとも幅の広い数字を含むのかを決定する工程をさらに含む、請求項6に記載の方法。
【請求項8】
最も左の文字列が幅の狭い数字に限って含むと決定された場合に、最大有効用量結果を「19」に設定する、請求項7に記載の方法。
【請求項9】
画像の左側境界に触れる画素群を除外する工程をさらに含む、請求項1〜8のいずれか1項に記載の方法。
【請求項10】
左側と右側の文字列間にある除外された列の群を識別することによって、右側文字列の左側境界を識別する工程をさらに含む、請求項1〜9のいずれか1項に記載の方法。
【請求項11】
左側文字列が最大数字幅閾値よりも幅が広いかどうかを決定する工程と、広い場合に、画像データ中の数字が8〜10の範囲にあると決定する工程とをさらに含む、請求項1〜10のいずれか1項に記載の方法。
【請求項12】
光学式文字認識処理において文字分離を実行するプロセッサであって:
1つまたはそれ以上の文字列を表す画像データを受け;
画像データの各列中の黒画素の数を決定し;
列中の黒画素の最大数である垂直分離閾値を定義し;
黒画素の数が垂直分離閾値未満である列を除外することによって、列を異なる画素群と除外された列の群とに分割し;
除外された列の最も左の群を識別する工程と、
除外された列の最も左の群のすぐ右の画素群が最小数字幅閾値未満であると決定する工程と、
除外された列の最も左の群のすぐ右の画素群を除外する工程と
により、画像データ中で最も左の文字列を表す画素群を識別する;
ように構成された、前記プロセッサ。
【請求項13】
除外された列の最も左の群のすぐ右の第2の画素群を、画像データ中の最も左の文字列と定義するように構成される、請求項12に記載のプロセッサ。
【請求項14】
文字列を表す1つまたは2つの画素群が画像データ中にあるかどうかを決定するように構成される、請求項12に記載のプロセッサ。
【請求項15】
除外された列の最も左の群の幅を決定することによって、文字列を表す1つまたは2つの画素群が画像データ中にあるかどうかを決定するように構成される、請求項14に記載のプロセッサ。
【請求項16】
除外された列の最も左の群の幅が最大左縁閾値未満であるとの決定に応答して、文字列を表す2つの画素群が画像データ中にあると決定する、請求項15に記載のプロセッサ。
【請求項17】
注射デバイスに取り付けるための補助デバイスであって:
該注射デバイスの可動部材上に存在する1つまたはそれ以上の数字の画像を取り込むように構成された撮像配置と;
請求項12〜16のいずれか1項に記載のプロセッサと
を含む、前記補助デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、光学式文字認識(OCR)を行うデバイスおよび方法に関する。このデバイスは、注射デバイスなどの医療デバイスに取り付け、一緒に使用するための補助デバイスである。
【背景技術】
【0002】
医療デバイスの分野において、OCR技術は、たとえば薬剤の投薬誤りを防止するために非常に高い精度が必要である場合には、あまり多く使用されていない。したがって、多くの機械ベースのデバイスにもまた、手作業で読み取らなければならない投薬目盛または表示値があり、用量は手作業で記録しなければならない。これは使用者にとって時間がかかり、また間違いにつながる可能性もある。また、データが電子的に送信され、かつ/または電子的に分析されるべき場合、データはまず、別個の電子デバイスに手作業で入力されなければならない。さらに、一部の患者(たとえば、視力がよくない患者)にとっては、多くの場合に小さい機械的表示値を読み取ることが困難なこともある。
【0003】
薬剤の注射による規則的な治療を必要とする様々な疾患が存在する。このような注射は、医療従事者または患者自身によって利用される注射デバイスを使用して行うことができる。一例として、1型および2型の糖尿病は、たとえば1日に1回または数回、患者自身がインスリン用量を注射することによって治療することができる。たとえば、事前充填使い捨てインスリンペンを注射デバイスとして使用することができる。あるいは、再使用可能ペンを使用することもできる。再使用可能ペンでは、空の薬剤カートリッジを新しいものに交換することが可能になる。どちらのペンにも、使用前にそれぞれ交換される1組の1回限りの針が付属する。次に、注射されるべきインスリン用量は、たとえば、インスリンペンにおいて投与量つまみを回し、インスリンペンの用量窓またはディスプレイにより実際の用量を確認することによって、手動で選択することができる。次に、その用量が、適切な皮膚部分に針を挿入し、インスリンペンの注射ボタンを押すことによって注射される。たとえば、インスリンペンの誤った取扱いを防止するために、または既に施された用量の経過を追うためにインスリン注射を監視できるように、たとえば注射されたインスリンのタイプおよび用量の情報などの、注射デバイスの状態および/または使用に関連する情報を評価することが望ましい。
【発明の概要】
【課題を解決するための手段】
【0004】
本発明の第1の態様は、光学式文字認識処理において文字分離を実行する方法を提供し、この方法は:
1つまたはそれ以上の文字列を表す画像データを受ける工程と;
画像データの各列中の黒画素の数を決定する工程と;
列中の黒画素の最大数である垂直分離閾値を定義する工程と;
黒画素の数が垂直分離閾値未満である列を除外することによって、列を異なる画素群と除外された列の群とに分割する工程と;
画像データ中で最も左の文字列を表す画素群を識別する工程と;
文字列を表す1つまたは2つの画素群が画像データ中にあるかどうかを決定する工程と;
文字列を表す2つの画素群があると決定された場合に、最も右の文字列の右側境界を識別するために最も右の文字列の既定の幅値を使用する工程と
を含む。
【0005】
この方法は、最も右の文字列内の文字が、それが右側の縁/枠区域と結合していても正しくセグメント化され分離されることを可能にする。画像データ中の文字の正しいセグメント化および分離は、正確で信頼できるOCR処理が実行されることを可能にし、これは特に、OCR技術を医療用途に使用するのに重要である。
【0006】
画像データ中で最も左の文字列を表す画素群を識別する工程は、除外された列の最も左の群のすぐ右の画素群を識別する工程を含む。
【0007】
画像データ中で最も左の文字列を表す画素群を識別する工程は、除外された列の最も左の群のすぐ右の画素群を、それが最小数字幅閾値未満である場合に、除外された列の最も左の群の右の第2の画素群が画像データ中の最も左の文字列と定義されるように除外する工程を含む。この処理は、この文字分離方法を使用できる多くのデバイスにおいて、「0」と「2」の間に印刷される小さい「1」を明らかにする(かつ無視する)。
【0008】
文字列を表す1つまたは2つの画素群が画像データ中にあるかどうかを決定する工程は、除外された列の最も左の群の幅を決定する工程を含む。除外された列の最も左の除外された列群は、最も左の数字の群の左の白スペースを表す。この領域の幅は、見える数字がそれぞれ1つの数字を含むか、それとも2つの数字を含むかによって決まる。
【0009】
除外された列の最も左の群の幅が最大左縁閾値未満である場合に、この方法は、文字列を表す2つの画素群が画像データ中にあると決定する工程をさらに含む。
【0010】
この方法は、画像データ中の最も左の文字列の幅を決定する工程をさらに含む。この方法は、画像データ中の最も左の文字列の決定された幅を使用して、最も左の文字列が幅の狭い数字だけを含むのか、それとも幅の広い数字を含むのかを決定する工程をさらに含む。最も左の文字列が幅の狭い数字だけを含むと決定された場合に、この方法はさらに、最大有効用量結果を「19」に設定する工程を含む。数字「1」は幅が他のすべての数字とは著しく異なるので、後続のOCR処理が正確であるには、最も左の数字が「1」であるかどうかを識別することが重要である。
【0011】
この方法は、画像の左側境界に触れる画素群を除外する工程をさらに含む。場合によっては、文字データを表していないものとして識別され除外されなければならない左側枠領域がある。
【0012】
この方法は、左側と右側の文字列間にある除外された列の群を識別することによって、右側文字列の左側境界を識別する工程をさらに含む。この処理では、2つの数字間の隙間を識別する。OCRアルゴリズムでは各数字が、正しく識別されるために、分離される必要がある。
【0013】
この方法は、左側文字列が最大数字幅閾値よりも幅が広いかどうかを決定する工程と、広い場合に、画像データ中の数字が8〜10の範囲にあるかどうかを決定する工程とをさらに含む。この状況は、画像データ中で数字「8」が数字「10」の上または下に見える場合に起り得る。この場合、文字を列に分離することは困難である。しかし、可能性のある有効な結果を「8」、「9」または「10」に限定することによって、正確な結果をやはり返すことができる。
【0014】
本発明の第2の態様は、光学式文字認識処理において文字分離を実行するプロセッサを提供し、このプロセッサは:
1つまたはそれ以上の文字列を表す画像データを受け;
画像データの各列中の黒画素の数を決定し;
列中の黒画素の最大数である垂直分離閾値を定義し;
黒画素の数が垂直分離閾値未満である列を除外することによって、列を異なる画素群と除外された列の群とに分割し;
画像データ中で最も左の文字列を表す画素群を識別し;
文字列を表す1つまたは2つの画素群が画像データ中にあるかどうかを決定し;かつ
文字列を表す2つの画素群があると決定された場合に、最も右の文字列の右側境界を識別するために最も右の文字列の既定の幅値を使用するように
構成される。
【0015】
プロセッサは、除外された列の最も左の群のすぐ右の画素群を識別することによって、画像データ中で最も左の文字列を表す画素群を識別するように構成される。
【0016】
プロセッサは、除外された列の最も左の群の幅を決定することによって、文字列を表す1つまたは2つの画素群が画像データ中にあるかどうかを決定するように構成される。
【0017】
本発明の第3の態様は、注射デバイスに取り付けるための補助デバイスを提供し、この補助デバイスは:
注射デバイスの可動部材上に存在する1つまたはそれ以上の数字の画像を取り込むように構成された撮像配置と;
本発明の第2の態様に記載のプロセッサと
を含む。
【図面の簡単な説明】
【0018】
図1a】薬物送達デバイスの分解組立図である。
図1b図1aの薬物送達デバイスの一部の細部を示す斜視図である。
図2a】本発明の一態様による図1aおよび図1bの薬物送達デバイスに解放可能に取り付け予定のセンサデバイスの概略図である。
図2b】本発明の様々な態様による図1aおよび図1bの薬物送達デバイスに解放可能に取り付け予定のセンサデバイスの斜視図である。
図2c】本発明の別の態様による図1aおよび図1bの薬物送達デバイスに解放可能に取り付け予定のセンサデバイスの斜視図である。
図3】薬物送達デバイスに取り付けられたセンサデバイスの、センサデバイスの構成要素を示す概略図である。
図4】2値化後の用量窓の画像の一例の図である。
図5図4の画像の垂直投影の結果を示すグラフである。
図6図4の画像データについてのスミアリング関数(smearing function)の結果を示すグラフである。
図7図4の画像データに様々な閾値を適用した結果のグラフである。
図8】薬剤の1単位を示すために小さい「1」が使用されることを示す、2値化後の用量窓の画像の一例である。
図9】本発明の態様によるプロセッサの例示的動作を示す流れ図である。
【発明を実施するための形態】
【0019】
以下では、本発明の諸実施形態についてインスリン注射デバイスに関して説明する。しかし、本発明はこのような用途に限定されず、シリンジ、無針注射器および吸入器などの、他の薬剤を排出する注射デバイス、または他のタイプの医療デバイスにも同様に適切に配置することができる。
【0020】
図1aは、たとえばSanofiのSolostar(登録商標)インスリン注射ペンである、注射デバイス1の分解組立図である。
【0021】
図1aの注射デバイス1は事前充填使い捨て注射ペンであり、ハウジング10を含み、針15を付けることができるインスリン容器14を含む。針は、内側針キャップ16および外側針キャップ17によって保護され、外側針キャップはキャップ18によって覆うことができる。注射デバイス1から排出予定のインスリン用量は、投与量つまみ12を回すことによって選択することができ、その場合、選択用量は、たとえば、いわゆる国際単位(IU)の倍数として投与量窓13を介して表示される。ここで1IUは、約45.5マイクログラムの純粋結晶のインスリン(1/22mg)の生物学的等量物である。投与量窓13に表示される選択用量の一例は、図1aに示されるように、たとえば30IUである。選択用量は、別の仕方でも同様に適切に表示されることに留意されたい。ラベル(図示せず)がハウジング10上に設けられる。このラベルは、注射デバイス内に含まれる薬剤についての情報を、その薬剤を識別する情報を含めて含む。薬剤を識別する情報は文字の形でよい。薬剤を識別する情報はまた、色の形でもよい。薬剤を識別する情報はまた、バーコード、QRコード(登録商標)などに符号化される。薬剤を識別する情報はまた、白黒パターン、カラーパターンまたはシェーディングの形でもよい。
【0022】
投与量つまみ12を回すことにより、使用者に音響フィードバックを提供するための機械的なクリック音が生じる。投与量窓13に表示された数字は印刷によってスリーブ上に存在し、このスリーブは、ハウジング10内に含まれ、インスリン容器14内のピストンと機械的に相互作用する。針15が患者の皮膚部分に突き刺されると、次に注射ボタン11が押され、表示窓13に表示されたインスリン用量が注射デバイス1から排出される。注射ボタン11が押された後に注射デバイス1の針15が皮膚部分に一定の時間とどまっているときに、用量の大部分が患者の体の中に実際に注射される。インスリン用量の排出によってもまた機械的なクリック音が生じるが、この音は、投与量つまみ12を使用するときに生成される音とは異なる。
【0023】
注射デバイス1は、インスリン容器14が空になるか、または注射デバイス1の有効期限(たとえば、最初の使用から28日後)に達するまで、数回の注射処置に使用される。
【0024】
さらに、注射デバイス1を初めて使用する前に、インスリン容器14および針15から空気を除去するためのいわゆる「プライムショット」を、たとえば2単位のインスリンを選択し、針15が上向きの状態で注射デバイス1を保持しながら注射ボタン11を押すことによって実施する必要がある。
【0025】
説明を簡単にするために、以下では、たとえば次に注射予定の用量の計画をするとき、この用量が、注射デバイスによって排出されなければならない用量と等しくなるように、排出される用量は注射される用量と実質的に一致するものと例示的に仮定する。しかしながら、排出用量と注射用量の差異(たとえば、損失)は、もちろん考慮に入れられる。
【0026】
図1bは、注射デバイス1の端部の詳細図である。この注射デバイスは、ハウジング10上に置かれた、投与量つまみ12に隣接する案内リブ70を有する。注射デバイス1はまた、ハウジング10上に置かれた2つのくぼみ52を有する。これらは、案内リブ70に関して対称になっている。案内リブ70およびくぼみ52は、補助デバイス(以下で詳細に説明)を注射デバイス1上の正しい位置に固定するように機能する。
【0027】
図2aは、図1aの注射デバイス1に解放可能に取り付け予定の補助デバイス2の実施形態の概略図である。補助デバイス2は、図1aの注射デバイス1のハウジング10を取り巻くように構成された嵌合ユニット付きのハウジング20を含み、そのため、補助デバイス2が注射デバイス1のハウジング10に密着してはいるが、たとえば注射デバイス1が空であり交換されなければならないときには、注射デバイス1から取外し可能になる。
図2aは非常に概略的であり、物理的な配置の詳細については、以下で図2bを参照して説明する。
【0028】
補助デバイス2は、注射デバイス1から情報を集めるための光学センサおよび音響センサを含む。この情報の少なくとも一部、たとえば選択用量(および場合により、この用量の単位)は、補助デバイス2の表示ユニット21を介して表示される。注射デバイス1の投与量窓13は、補助デバイス2が注射デバイス1に取り付けられると、補助デバイス2によって遮られる。
【0029】
補助デバイス2はさらに、ボタン22として概略的に図示された、少なくとも1つの使用者入力トランスデューサを含む。これらの入力トランスデューサ22により、使用者が補助デバイス2をオン/オフすること、動作を起動すること(たとえば、別のデバイスとの連結またはペアリングを確立させるために、および/または補助デバイス2から別のデバイスへの情報の伝達を起動するために)、または何かを確認することが可能になる。
【0030】
図2bは、図1aの注射デバイス1に解放可能に取り付け予定の補助デバイス2の第2の実施形態の概略図である。補助デバイス2は、図1の注射デバイス1のハウジング10を取り巻くように構成された嵌合ユニット付きのハウジング20を含み、そのため、補助デバイス2が注射デバイス1のハウジング10に密着してはいるが、注射デバイス1から取外し可能になる。
【0031】
情報が補助デバイス2の表示ユニット21を介して表示される。注射デバイス1の投与量窓13は、補助デバイス2が注射デバイス1に取り付けられると、補助デバイス2によって遮られる。
【0032】
補助デバイス2はさらに、3つの使用者入力ボタンまたはスイッチを含む。第1のボタン22は、電源オン/オフボタンであり、これによって、補助デバイス2をたとえばオンおよびオフすることができる。第2のボタン33は通信ボタンである。第3のボタン34は確認またはOKボタンである。ボタン22、33、34は、適切な任意の形の機械的スイッチとすることができる。これらの入力ボタン22、33、34により、使用者が補助デバイス2をオン/オフすること、動作を起動すること(たとえば、別のデバイスとの連結またはペアリングを確立させるために、および/または補助デバイス2から別のデバイスへの情報の伝達を起動するために)、または何かを確認することが可能になる。
【0033】
図2cは、図1aの注射デバイス1に解放可能に取り付け予定の補助デバイス2の第3の実施形態の概略図である。補助デバイス2は、図1aの注射デバイス1のハウジング10を取り巻くように構成された嵌合ユニット付きのハウジング20を含み、そのため、補助デバイス2が注射デバイス1のハウジング10に密着してはいるが、注射デバイス1から取外し可能になる。
【0034】
情報が補助デバイス2の表示ユニット21を介して表示される。注射デバイス1の投与量窓13は、補助デバイス2が注射デバイス1に取り付けられると、補助デバイス2によって遮られる。
【0035】
補助デバイス2はさらに、タッチセンサ式入力トランスデューサ35を含む。補助デバイスはまた、単一の使用者入力ボタンまたはスイッチ22を含む。ボタン22は電源オン/オフボタンであり、これによって、補助デバイス2をたとえばオンおよびオフすることができる。タッチセンサ式入力トランスデューサ35を使用して、動作を起動すること(たとえば、別のデバイスとの連結またはペアリングを確立させるために、および/または補助デバイス2から別のデバイスへの情報の伝達を起動するために)、または何かを確認
することができる。
【0036】
図3は、図2aの補助デバイス2が図1aの注射デバイス1に取り付けられた状態の補助デバイス2の概略図を示す。
【0037】
複数の構成要素が補助デバイス2のハウジング20の中に含まれる。これらはプロセッサ24によって制御され、このプロセッサは、たとえば、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などである。プロセッサ24は、プログラムメモリ240に記憶されたプログラムコード(たとえば、ソフトウェアまたはファームウェア)を実行すると共に、たとえば中間結果を記憶するために、主メモリ241を使用する。主メモリ241はまた、実行された排出/注射のログブックを記憶するために使用される。プログラムメモリ240は、たとえば読取り専用メモリ(ROM)であり、主メモリは、たとえばランダムアクセスメモリ(RAM)である。
【0038】
図2bに示されたものなどの実施形態では、プロセッサ24は第1のボタン22と対話し、それによって補助デバイス2は、たとえば電源をオンおよびオフすることができる。第2のボタン33は通信ボタンである。この第2のボタンは、他のデバイスとの接続の確立を起動するために、または他のデバイスへの情報の伝達を起動するために使用される。第3のボタン34は確認またはOKボタンである。第3のボタン34は、補助デバイス2の使用者に提供された情報に対して確認応答するために使用することができる。図2cに示されたものなどの実施形態では、2つのボタン33、34を省略することができる。代わりに、1つまたはそれ以上の容量性センサまたは他のタッチセンサが設けられる。
【0039】
プロセッサ24は、液晶ディスプレイ(LCD)として現在具現化されている表示ユニット21を制御する。表示ユニット21は、補助デバイス2の使用者に対し、たとえば注射デバイス1の現在の設定、または付与予定の次の注射についての情報を表示するために使用される。表示ユニット21はまた、たとえば使用者の入力を受けるために、タッチスクリーンディスプレイとして具現化することもできる。
【0040】
プロセッサ24はまた、投与量窓13の画像を取り込むことができる光学式文字認識(OCR)リーダとして具現化された光学センサ25を制御し、この投与量窓には、現在選択されている用量が表示される(注射デバイス1に含まれるスリーブ19上にある、投与量窓13を通して見える数字、文字、記号またはグリフによって)。OCRリーダ25はさらに、取込み画像からの文字(たとえば数字)を認識し、この情報をプロセッサ24に提供することもできる。あるいは、補助デバイス2のユニット25は、画像を取り込むと共に取込み画像の情報をプロセッサ24に提供する光学センサ(たとえばカメラ)だけでもよい。その場合、プロセッサ24は、取込み画像に対しOCRを実施することに関与する。プロセッサ24は、異なるアルゴリズムをそれぞれ使用する2つ以上の異なるOCR処理を行うように構成される。
【0041】
プロセッサ24はまた、現在選択されている用量が表示される投与量窓13を照明するための発光ダイオード(LED)29などの光源を制御する。たとえば一枚のアクリルガラスから作られた拡散器が光源の前方に使用される。さらに光学センサは、たとえば2つの非球面レンズを含むレンズ系を含み、拡大像がもたらされる。拡大率(画像サイズと対象物サイズの比)は1未満である。拡大率は、0.05から0.5の範囲内である。1つの実施形態では、拡大率は0.15である。
【0042】
プロセッサ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に含まれる薬剤容器の上に置かれる。このコードは、たとえば、注射デバイスおよび/または薬剤の種類、および/または別の特性(たとえば有効期限)を示すことができる。
【0043】
プロセッサ24はさらに、注射デバイス1によって生成された音を検知するように構成されている音響センサ27を制御する(かつ/または音響センサからの信号を受ける)。このような音は、たとえば、投与量つまみ12を回すことによって用量がダイヤル設定されたとき、および/または注射ボタン11を押すことによって用量が排出/注射されたとき、および/またはプライムショットが行われたときに発生する。これらの動作は機械的に類似してはいるが、異なる音が出る(これらの動作を示すのが電子音の場合でも)。音響センサ27および/またはプロセッサ24は、たとえば、(プライムショットだけではなく)注射が行われたことを安全に認識できるようにするために、これらの異なる音を区別するように構成される。
【0044】
プロセッサ24はさらに、たとえば注射デバイス1の動作状態と関連付けることができる音響信号をたとえば使用者へのフィードバックとして生成するように構成されている音響信号発生器23を制御する。たとえば、音響信号は、注射予定の次の用量を思い出させるものとして、または、たとえば誤用の場合の警告信号として、音響信号発生器23から送出される。音響信号発生器は、たとえば、ブザーまたはスピーカとして具現化することができる。音響信号発生器23に加えて、またはその代替として、たとえば振動によって触覚フィードバックを与えるための触覚信号発生器(図示せず)もまた使用される。
【0045】
プロセッサ24は、無線によって他のデバイスとの間で情報を送信および/または受信するように構成されている無線ユニット28を制御する。このような伝送は、たとえば、無線伝送または光伝送に基づく。いくつかの実施形態では、無線ユニット28はブルートゥース(登録商標)トランシーバである。別法として、無線ユニット28は、たとえばケーブルまたはファイバ接続を介した有線結合によって他のデバイスとの間で情報を送信および/または受信するように構成された有線ユニットによって置き換えられ、または補完される。データが送信されるとき、転送されるデータ(値)の単位は、明示的または暗黙的に定義される。たとえば、インスリン用量の場合、常に国際(IU)単位が使用され、または別に、使用される単位が明示的に、たとえばコード化された形で転送される。
【0046】
プロセッサ24は、ペン1が存在するかどうか、すなわち補助デバイス2が注射デバイス1に連結されているかどうかを検出するように動作可能であるペン検出スイッチ30か
ら入力を受ける。電池32が、プロセッサ24および他の構成要素に電源31から電力を供給する。
【0047】
したがって図3の補助デバイス2は、注射デバイス1の状態および/または使用に関連する情報を決定することができる。この情報は、デバイスの使用者が使用するための表示ユニット21に表示される。この情報は、補助デバイス2自体で処理されるか、または他のデバイス(たとえば血糖監視システム)に少なくとも部分的に提供される。
【0048】
注射デバイス1および補助デバイス2は、光学センサ25の視野が用量窓13を覆ってほぼ中心に位置するように構成される。製造許容誤差は、視野が水平と垂直の両方向でわずかに中心を外れることを意味する。
【0049】
いくつかの実施形態では、スペース制約、および数字が特定のサイズである必要性により、偶数だけが数字スリーブ19上に印刷される。他のいくつかの実施形態では、奇数だけが数字スリーブ上に印刷される。しかし、任意の単位数の薬剤を注射デバイス1にダイヤル設定することができる。いくつかの代替実施形態では、すべての数字、すなわち昇順の整数がスリーブ上に印刷される。これらの実施形態では、半単位用量を注射デバイスにダイヤル設定することが可能である。この注射デバイスは、80単位の最大ダイヤル設定用量に制限される。別の代替実施形態では、3つごと、4つごと、または5つごとの数字だけが印刷される。印刷された数字間の用量位置は、目盛によって示される。「印刷される」という用語は、本明細書では、数字が数字スリーブの表面に印付けられることを示すが、当業者には、数字が印刷される、エッチングされる、印付けられる、取り付けられる、またはそれとは別に、いくつかの知られている方法で補助デバイス2の光学センサ25に見えるようにされることが理解されよう。
【0050】
以下の実施形態では、偶数だけが用量スリーブ19に印刷されると仮定されるが、任意の数の単位を注射デバイスにダイヤル設定することができる。
【0051】
プロセッサ24は、光学センサ25の視野内に見える数字(または一部だけの数字)が、これらを識別するために分離され、記憶されたテンプレートと比較する準備がされることを可能にするアルゴリズムを実行するように構成される。このアルゴリズムでは、注射デバイス1に現在ダイヤル設定されている用量を正確に決定するために、可視数字に対して光学式文字認識(OCR)処理を実行し、このOCR処理の結果を使用する。このアルゴリズムは、ソフトウェアまたはファームウェア内で具現化され、補助デバイス2のプログラムメモリ240に記憶される。プロセッサ24と、アルゴリズムを記憶するメモリ240とは一緒に、本明細書では「プロセッサ配置」と呼ばれる。
【0052】
全アルゴリズムは、前処理部、OCR部、および後処理部に分けることができ、各部は一般にいくつかの工程を含む。
【0053】
前処理部では、画像データ品質が評価され、以下の工程を実行することによって改善される:
・欠陥不良画素の補正
・明るさ補正
・歪みおよび傾斜補正
【0054】
たとえば、露光制御アルゴリズムは、明るすぎる、または暗すぎるピクチャを拒否し、露光パラメータが調整されている新しいピクチャが取り込まれる。数字は、人が認識および位置決めしやすいように傾斜して印刷されるが、この傾斜が除去されるならば復号しやすくなる。本明細書で説明され特許請求される本発明の目的に対して、前処理は任意選択
の特徴である。アルゴリズムのOCR部は、画像の前処理なしで要求標準規格に合わせて実行するように設計され、かつ/または光学センサ25は、画像に直接実施予定のOCRのために十分な品質の画像を生成するように構成される。
【0055】
OCR部では、画像データが次にさらに処理され、最後に認識文字が得られる。OCR処理は次の工程を含む:
・2値化
・セグメント化
・パターンマッチング
・位置計算
【0056】
後処理は様々な検査、および表示予定の結果の生成を含む。後処理は以下の工程を含む:
・健全さ(sanity)検査を実行する
・ヒステリシス計算
・最終結果をディスプレイに示す
【0057】
本明細書で説明され特許請求される本発明は、OCR処理のセグメント化部分に関する。本明細書で説明され特許請求される本発明の目的に対して、前処理、後処理、および他のOCR処理の部分は任意選択の特徴である。
【0058】
センサデバイス2の高い信頼性要件により、いくつかの実施形態には並列で動作する2つのOCRアルゴリズムがある。これら2つのOCRアルゴリズムは同じ入力(画像)を有し、同じ出力を提供するようになっている。これらは両方とも同様の工程を実行するが、各工程で使用される個々の方法は様々である。これら2つのOCRアルゴリズムは、2値化、セグメント化、パターンマッチング、および位置計算の各工程のうちの1つが異なるか、またはこれらの工程のうちの2つ以上が異なる。同じ結果を提供するために異なる方法を使用する2つのOCR部があると、データが2つの独立した方法で処理されているので、アルゴリズム全体の信頼性が向上する。
【0059】
重要な課題は、ディスプレイによる数字、文字、および/またはグリフを認識して用量値を決定することが確実にできる小さなシステムの中に、画像取込み、およびその後のセグメント化を含むOCR処理を実施することである。システムは電池駆動され、小型であり、撮像能力ならびに処理能力が小型設計および寿命の要件により限定されている。この種のデバイスのプロセッサは一般に、約100MHz以下のクロック速度、最大32kバイトRAMおよび512kbフラッシュのメモリを有する(これらの仕様は例示であり、限定するものではない)。しかし、OCR処理の結果は、用量をダイヤル設定している使用者がその用量を補助デバイスからダイヤル設定しながら読み取ることができるという、リアルタイムで得られるべきである。典型的な計算時間は約70msであろう。
【0060】
図4は、「47」単位の用量がダイヤル設定された2値化後の用量窓13の画像400の一例を示す。実線の水平線602は、光学センサ25の視野の中心線である。用量窓13の画像がまず、光学センサ25によって取り込まれる。上述の前処理工程を適用した後に、2値化処理によってグレースケール画像が全くの白黒画像に変換される。明るいスリーブ上に暗い数字がある注射ペンの設計によれば、白黒画像は黒画素で数字の存在を示し、白画素で数字の不在を示す。
【0061】
いくつかの実施形態では、黒と白の画素を分けるために固定閾値が使用される。2値化ピクチャ中で、閾値以上の値を有する画素は白色に、閾値未満の画素は黒色になる。高い閾値がアーチファクト(白色領域内の黒色部分)を招くのに対し、低い閾値には、場合に
よって数字の一部が欠けるというリスクがある。いくつかの実施形態では、アルゴリズムが一般にアーチファクトに対して堅牢であるので(すなわち、いくつかのアーチファクトの存在下で正確なOCR処理を実行することができる)、閾値は数字の一部が決して欠けないように選択される。試験では、256個のグレー値を検出できるセンサが使用され、127という閾値で良好な結果が示された。
【0062】
提案された1つのアルゴリズムでは、次に、2値化画像を右から左へ分析するセグメント化処理が実行される。この処理では、右側縁が除外され、数字の右側列の位置が識別される。次に、数字の左側列があるかどうかが決定される。数字の0〜8については、数字の右側列しかない。最後に、左側の目盛が除外されて、分離された数字列だけが残る。この提案されたアルゴリズムは、数字の右側列が右側縁からきちんと分離されていれば適切に機能する。
【0063】
図4で分かるように、場合によっては、数字が右へ十分遠くにシフトされているので、数字の右側列と右側縁が結合している。この例では、アルゴリズムは数字の右側列全体を除外することになり、ダイヤル設定用量を正しく認識しない。
【0064】
本発明のアルゴリズムでは、画像データを別の仕方で分析し、次に説明するように、数字の右側列が右側縁と結合していてもその数字を正しく分離することができる。
【0065】
プロセッサ24はまず、2値化画像を構成する画素列が分析される「垂直投影」を実行する。それぞれの画素列が個々に分析され、それぞれの列内の黒画素の数の合計が算出される。
【0066】
図5は、図4の画像400のこの垂直投影の結果を示すグラフ500である。次に、この生データは、次式により隣接列を結合することによってスミアリングされる:
=By−2+4By−1+6B+4By+1+By+2
ここで、Cはスミアリングされた投影値であり、Bは列「y」内の黒画素の合計である。
【0067】
あるいは、次式を使用することもできる:
=By−2+4By−1+8B+4By+1+By+2
【0068】
図6は、図4の画像データについてのスミアリング関数の結果を示すグラフ600である。この平滑化では、小さい外乱を取り除き、それがアルゴリズムの結果に悪影響を及ぼすことを防止する。実際には、小さい外乱の影響を取り除くように関数をスミアリングする任意の式が使用されてよく、上記の特定の式は単なる例として示されている。
【0069】
次に、アルゴリズムによりピクセル列が、以下に大文字で表記されるいくつかの異なる閾値を使用することによって、異なる画素群と除外された列の群とに分離される。曲線がVERICAL_SEPARATE_THRESHOLD未満になる場合、どちらの側の画素も別のエンティティの中にあると仮定され、異なる画素群に入れられる。最小の数の黒画素を有する列が分割部として使用され、どの画素群の一部でもない。
【0070】
曲線がVERICAL_WHITESPACE_THRESHOLD未満になる場合、その領域は空、すなわち白色と仮定される。画素群が分離され識別された後、各画素群は、VERICAL_THRESHOLDよりも黒画素が少ない縁部において列を取り除くことによって、両側からトリミングされる。
【0071】
図7は、これらの閾値を図4の画像データに適用した結果を示す。分離された画素群は
、陰影付け/ハッチング、および文字a)〜d)によって識別されている。除外された列の群は陰影付けがされていない。
【0072】
先に提案されたアルゴリズムでは、曲線がVERTICAL_INVALID_THRESHOLDを超えて上昇した場合に、画素群が無効として印付けられたが、これは、画素群a)で表された右側縁の場合のように、黒垂直線がほとんど全く白画素なしで画像中に伸びている場合にしか起きない。画素群a)はまた、本明細書では、右側縁部区域もしくは領域、右側の枠区域もしくは領域、または右側境界区域もしくは領域とも記述され、これらの用語は本明細書では交換可能に使用される。この場合の「無効」とは、画素群が印刷数字を表すものとみなされないことを意味する。しかし、画素群a)とb)の間の隙間がきれいではない場合、すなわち曲線がVERICAL_SEPARATE_THRESHOLD未満にならない場合、先のアルゴリズムでは、画素群a)とb)を一緒に除外することになる。画素群b)は右側文字列を表すので、このアルゴリズムでは画像中の数字を正しく識別しない。したがって、本発明ではVERTICAL_INVALID_THRESHOLDを使用しないが、以下で説明する別のやり方で画素群b)を右側縁から分離する。
【0073】
アルゴリズムのタスクは、文字列を表す画素群を識別することである。一般に、各文字列は、垂直に配列された2つ以上の文字を含む。これらは、後の工程で互いに分離される。いくつかの実施形態では、アルゴリズムは、画素群が画像の左側の境界に触れる場合に(また場合により、画像の右側の境界に触れる場合に)画素群を無効にするように配置される。再び、ここで「無効にする」とは画素群が、数字としてみなされることから除外されることを意味する。これにより、画素群d)が考慮の対象から除外されることになる。
【0074】
このアルゴリズムでは、画像データ中の最も左の文字列を表す画素群を識別する。これは、除外された列のうちの最も左の群のすぐ右の画素群を識別することによって行われる。たとえば、これは、VERICAL_SEPARATE_THRESHOLD未満である、第1の列よりも右の(大きい列番号を有する)画素の第1の群を識別することによって実現することができる。したがって、画素群c)が、最も左の文字列を表すものとして識別される。
【0075】
次に、アルゴリズムにより、文字列を表す1つまたは2つの画素群が画像データ中にあるかどうかを決定する。これは、除外された列、すなわち図7の画素群d)とc)の間の列の最も左の群の幅を決定することによって行われる。画像中に見える数字が単一列に配置されている、すなわち数字0〜8である場合、この第1の隙間の幅は、画像が数字の2列を含む場合よりも大きい。したがって、除外された列の第1の群が閾値MAX_LEFT_MARGIN_TWO_DIGITSよりも幅が広い場合、画像データは数字の単一列しか含まないと決定される。除外された列の第1の群がこの閾値よりも狭い場合には、2つの文字列が存在すると仮定される。
【0076】
アルゴリズムで、画像中の文字列を表す2つの画素群があると決定した場合、右側数字の範囲を推測することができる。したがって、たとえ右側数字が画像の右側で黒い縁区域と結合していても、数字は分析のために分離することができる。
【0077】
最初に、最も左の文字列の右の除外された列の群が識別される。ほとんどの場合に、これは、画像の左から第2の除外された列の群になる。その場合、通常は右側文字列の左側境界がどこにあるかが明白になる(いくつかの特殊な場合については、以下の説明参照)。画像データ中に現れる数字の幅(画素の単位)は、注射デバイス1および補助デバイス3の設計で光学センサ35が用量窓13から既定の距離に位置することになるので、分かっている。1つの例では、「1」を除く各数字の幅は、14画素であり、「1」の幅は7
画素である。各数字は26画素の高さを有する。しかし、画素の正確な数は、印刷された数字のフォントサイズだけでなく、使用されるフォントの種類、センサデバイス2および注射デバイス1に対するその配置、ならびにセンサデバイスのレンズまたは窓13による拡大に依存する。上記の例を続けると、偶数だけが数字スリーブ19に印刷されるので、左側文字列には数字「1」だけが現れ(数字10〜18)、その結果、右側文字列は14画素幅の数字だけを常に含むようになる。したがって、ひとたび右側文字列の左側境界が識別されると、右側境界は、14画素さらに右にあるものとして画成される。信頼性を高めるために、数字幅は少ない数の、予想幅を超える画素列として設定することができる。
【0078】
文字列を個々の数字に水平セグメント化した後に、任意選択の数字トリミング処理が、光学系の許容誤差ならびに数字の印刷許容誤差(たとえば数字幅および位置)を明らかにするために、次のように実施される。この処理は、任意の数字の左側縁部にも右側縁部にも適用できるが、正確なOCR分析のために右側数字が右側縁(画素群a)から十分に分離されることを確実にするように、右側数字の右側縁部に適用される場合に特に有効である。したがって、この任意選択のトリミングにより、OCR識別をさらに正確にすることができる。数字は既に、左右の文字列に分離されている。
【0079】
一例として右側数字を用いると、まず垂直投影が右側文字列の最も右の画素列について行われて、この列中の黒画素の数が決定される。この例における数字の予想高さは26画素である。たとえば、この列中の26画素のうちの20個以上が黒である場合、この列は、数字の一部ではなく画素群a)の一部である可能性が最も高いと決定され、拒否される。これは特に、右側の黒列が判読誤り、すなわち文字認識工程において「6」を「8」と間違えること、につながりやすい数字6と8それぞれを区別する場合に重要である。
【0080】
一方で、最も右の画素列中の6画素以下が黒である場合には、その列もまた、それがOCR工程に必要ではないので拒否される。偶数(2、4、6、8)だけが右側文字列中に現れることにより、最も右の画素列のすぐ左の列中には常により多くの黒画素がある。したがって、最後の列を拒否することがOCRに負の効果を及ぼさない。
【0081】
一部の注射デバイス設計では、小さい「1」が薬剤の1単位を示すのに使用される。この小さい1は、図8の2値化画像800に示されるように、「0」と「2」の間に垂直に置かれるが、左側にオフセットされる。この「1」は、数字10〜18に使用されるものよりも小さい。この特別な状態が存在する場合、アルゴリズムには、状況を認識するための追加の工程があり、数字が正しく復号されることを確実にする。これには、前のように、第1の文字列の幅を計算することが含まれる。幅が閾値DIGIT_MIN_ONE_WIDTH未満である場合、その列は、図8に示される小さい「1」を表すと推論される。その場合、この列は無効にされ、後続のOCR工程および位置検出工程で使用されない。第1の文字列がDIGIT_MIN_ONE_WIDTHと幅が等しいか、またはそれより広いものの、閾値DIGIT_MAX_ONE_WIDTH未満である場合には、第1の文字列は「通常の」1(数字10〜18の)ものを含むと推論される。この情報は引き続き、最大のあり得る有効結果を「19」と設定することによって、OCR処理において使用することができる。
【0082】
別の特殊な状態が、「9」単位が注射デバイス1にダイヤル設定される場合に存在する。この状態では、数字「8」および「10」が画像中に一部だけまたは完全に現れ、数字「8」は「10」の1と0の間の隙間のほぼ上方に位置している。したがって、アルゴリズムでは、左側文字列が閾値MAX_DIGIT_WIDTHよりも幅が広い(単一の数字であるには幅が広すぎる)かどうかを確かめるための追加の検査を実行する。そうである場合には、数字スリーブ19が数字8と10の間にあると推論される。それに応じて次に、文字列を分割するための閾値が、分析のために数字を分離できるように調整される。
【0083】
図9は、光学センサ25によって取り込まれた画像を分析する際のプロセッサ24の例示的な動作を説明する流れ図を示す。
【0084】
工程900で、プロセッサ24は光学センサ25から画像データを受ける。この画像データは2値化データとすることができ、あるいはプロセッサ24が2値化処理を行うことができる。別法として、プロセッサは、グレースケール画像について次の工程を実行することができる。工程902で、プロセッサ24は、画像データを分析して画像の各列内の黒画素の数を決定する。工程904で、垂直分離閾値が定義される。実際には、この閾値は事前定義され、補助デバイスのメモリに事前プログラムされる。しかし、閾値はまた、光レベルなどに基づいて、プロセッサによって動的に定義することもできる。
【0085】
工程906で、プロセッサ24は画像の列を、除外された列の群によって分離された画素群に分割する。これは、黒画素の数が事前定義の垂直分離閾値未満である列を除外することによって行われる。工程908で、プロセッサは、画像中の最も左の文字列を表す画素群を識別する。これは、最も左の除外された列の群のすぐ右の画素群を識別することによって行われる。
【0086】
工程910で、プロセッサ24は、画像中の文字列を表す1つまたは2つの画素の群があるかどうかを決定する。これは、除外された列の最も左の群の幅を決定することによって行われる。除外された列の最も左の群が既定の幅未満である場合、2つの文字列が存在すると仮定される。除外された列の最も左の群が既定の幅を超える場合、1つの文字列が存在すると仮定される。
【0087】
工程912で、画像データ中に2つの文字列が存在すると決定された場合、既定の幅の値(画素単位)がOCRアルゴリズムにおいて右側文字列に対し使用される。これには、左右の文字列間で除外された列の群を識別することによって、右側文字列の左側境界を決定することが含まれる。その場合、右側境界は、さらに右の既定の幅値(画素単位)にあるものとして画成される。この新しい垂直セグメント化処理の後に、OCRアルゴリズムの残りが実行される。
【0088】
プロセッサ24が、注射デバイス1にダイヤル設定された薬剤の単位の数字の結果を出力することができるには、いくつかのさらなる工程が必要とされる。これらの工程は、完璧を期して以下で説明されるが、任意選択であり、本発明を定義するのに不可欠なものではない。
【0089】
プロセッサ24は次に、2値化画像を構成する画素行が分析される「水平投影」を実行する。これは、垂直投影について上述したのと同じように進行する。水平投影の予想結果は、可視数字の縁部が識別されるように垂直投影の予想結果に加えられる。多くの場合、画像中の数字のいくつかは一部しか見えない。すなわち、部分的に見える数字の縁部のすべてが検出されるわけではない。プロセッサ24は、完全な数字の(画素行の)予想高さが事前プログラムされ、したがって、部分的に見える数字が存在することを認識することができる。
【0090】
それぞれの行および列の白画素の予想数が既知であるならば、「水平投影」および「垂直投影」も同じく、白画素の合計が代わりに計算される分析に完全に基づくことができるというのが素直な見方である。
【0091】
OCR処理の次の工程は、復号予定および識別予定の可視数字の1つを選択することである。これは、数字のうちの1つを「主数字行」として指定することによって行われる。
主数字行は、どの可視数字が最大高を有するかに基づいて選択される。その理由は、スリーブ上に印刷された数字のすべてがほぼ同じ高さを有し、かつ最大高を有する数字が完全に可視であると仮定することができ、したがって高い確実度で復号しやすいからである。2つの数字(異なる垂直位置を有する)が可視であり、高さが同じである場合、最も上の数字が主数字行として選択される。主数字行は、注射デバイス1にダイヤル設定された用量を決定するために後で使用される数字である。
【0092】
次に、パターンマッチング処理が実行されて、主数字行中の数字が識別される。各数字のテンプレートを補助デバイス2のメモリに記憶することができ、その場合、識別された数字をこれらのテンプレートと比較することができる。簡単な手法では、パターンマッチングは画素ごとに実行することもできる。しかし、これは高い計算能力を必要とする。さらに、この方式には、画像とテンプレートの間に位置変動の傾向がある。他のいくつかの実施形態では、特徴認識処理が実行される。特徴は、水平線、垂直線もしくは対角線、曲線、円、または閉ループなどである。これらの特徴は、選択された数字の画像内で認識し、テンプレートと比較することができる。
【0093】
さらに別の実施形態では、パターンマッチングアルゴリズムは、ベクトル比較処理に基づくことができる。たとえばテンプレートは、テンプレートの中心を通って延びる垂直線に対する黒画素の各線(連続する一続き)の位置および長さを記述するベクトルの形である。各数字の取込み2値画像は、同様にベクトルに変換され、それぞれの記憶されたテンプレートと比較されて最良一致が見出される。
【0094】
取込み画像のベクトルを特定の数字テンプレートと比較するときには、いかなる偏差も、画像とそのテンプレートの間の一致の可能性に適用されるペナルティになる。ペナルティの大きさは、テンプレートと比較される画像内の欠損または余分な黒画素の数に依存する。数字画像が各テンプレートと比較され、すべてのペナルティが適用された後で、どの数字が存在するかについての判定が行われる。良好な光学条件では、適正なテンプレートはペナルティが非常に低いのに対し、他のすべてのテンプレートは高いペナルティを有する。主数字行が2つの数字から成る場合には、この処理は両方の数字に対して実行され、プロセッサ24は次に出力を一緒にして、その数字に対する最終結果を生成する。
【0095】
特定の数字に対しては特別な方策が存在する。たとえば、「1」は他のすべての数字から幅が大きく逸脱し、結果として共通の誤検出が生じる。これに対処するために、数字の2値画像が「1」の予想幅よりも幅が広い場合、この2値画像は、「1」の記憶されたベクトルテンプレートと比較されるときに追加の検出ペナルティを受ける。
【0096】
いくつかの例外的な場合では、主数字行のパターンマッチングの結果における信頼水準が特定の閾値(たとえば99%)未満であるならば、プロセッサは、他の可視数字または部分的可視数字の1つまたはそれ以上に対して第2のパターンマッチング処理を実行することができる。数字の順序が分かっているので、この第2のパターンマッチングは、第1のパターンマッチングが正しい結果を返したことを検査するものとして機能することができる。結果の信頼水準が依然として十分に高くない場合には、光学センサ25によって第2の画像が取り込まれ、処理が繰り返される。あるいは、エラーメッセージが表示される。
【0097】
主数字行の数字がうまく識別された後、注射デバイス1にダイヤル設定された用量を決定するために重み付け関数が適用される。重み付け関数を公式化するために、画像の中心に対する主数字行の垂直位置が決定される。これは、主数字行を含む中間画素行の、画像の中心線を表す光学センサ25の画素行に対するオフセットを計算することによって行われる。
【0098】
たとえば、いくつかの実施形態で光学センサは、感光要素からなる長方形の64×48アレイを含む。結果として得られる2値画像は、これらと同じ寸法を有する画素アレイになる。24番目および/または25番目の画素行が、画像の中心行として指定される。主数字行を含む中間画素行の位置が決定される。主数字行を含む中間画素行と画像の中心行との間の、画素行のオフセットが次に計算される。このオフセットは、オフセットの方向に応じて正または負になる。オフセットは、それに応じて決定数字に適用される前に、連続する数字間の(画素行における)距離でオフセットを割った端数に変換される。したがってオフセットにより、センサに対して数字の回転位置を決定することが可能になる。主数字行の中心画素行が画像の中心画素行と同じである場合、オフセットはゼロになり、その位置は主数字行番号(primary digit row number)と同じになる。しかし、補助デバイス2の、およびまたは注射デバイス1の製造許容誤差により、ならびに使用者が数字スリーブに加える圧力により、ほとんどの状況においていくらかのオフセットが存在する可能性がある。
【0099】
数字スリーブ上に印刷された連続する数字間の距離は、これらの数字が注射デバイス機構の離散形の機械的動きに関連付けられている用量を表しているので、一定である。したがって、取込み画像内の連続する数字間の(画素行における)距離もまた一定になるはずである。数字の予想高さ、および数字間のスペースは、アルゴリズムに事前プログラムされる。
【0100】
一例として、各数字の予想高さは22画素であり、数字間のスペースの予想高さは6画素である。したがって、連続する数字の中心画素行間の距離は28画素になる。
【0101】
この例を続けると、画素行に番号が、画像の最上部から最下部まで順に付けられている場合、重み付け関数の適用は数学的に次式の通りに定義される:
位置=主数字行の数字+[2×オフセット/(数字の予想高さ+スペースの予想高さ)]
ここで、オフセット=中心画像行番号−主数字行中心行番号
【0102】
すなわち、主数字行が画像の上半分にある場合、オフセットは正になり、主数字行が画像の下半分にある場合、オフセットは負になる。たとえば、主数字行に示される数字が「6」であり、オフセットがゼロである場合、計算位置は次式となる:
位置=6+[2×0/(28)]=6
したがって、「6」の結果が予想通りに返されることになる。
【0103】
75単位が注射デバイス1にダイヤル設定されている別の例をとると、上の数字「74」が主数字行として選択され、上記の式によって11画素行の正のオフセットがあり、また28画素の組合せ数字/スペース高さを再び仮定する場合では、計算位置は次式となる:
位置=74+[2×11/(28)]=74.79
次に、この結果が最も近い整数に丸められて、予想通りに「75」の位置決定が与えられる。
【0104】
最後の後処理部を適用した後、プロセッサ24によりこの結果が補助デバイス2の表示ユニット21に表示される。前に論じたように、スペース制約により、すべての数字が数字スリーブ上に印刷されるわけではない。いくつかの実施形態では、偶数だけが数字スリーブ上に印刷される。上述の位置決定工程により、補助デバイス2が用量値を表示することが、これらの値が数字スリーブ上に現れないことがあるにしても、可能になる。したがって、ダイヤル設定された用量のより明確な標示が補助デバイス2の使用者に提供される
【0105】
使用者が用量をゆっくりとダイヤル設定する(すなわち、投与量つまみ12をゆっくりと回す)場合、上述の位置丸めにより2つの数字間での表示ちらつきが生じることがある。これを防止するために後処理工程は、表示される数字が前の表示数字にいくらか依存するように、ヒステリシス規則を含む。このヒステリシス計算は、結果が表示される前にアルゴリズムで実行される最後の工程である。
【0106】
当業者には、上述の重み付け関数および位置決定が単に1つの例であること、ならびに多数の他の計算方法が、同じ結果に到達するために使用されてよいことが理解されよう。当業者にはまた、上述の計算は、計算時間を減らすために修正および改善できることが理解されよう。すなわち、重み付け関数の厳密な形は必須ではない。
【0107】
アルゴリズムはまた、たとえば1つまたはそれ以上の数字のサイズを変更することによって、画成された画素領域にまで数字を切り詰めることによって、またイタリックフォントで印刷された数字を直立位置にせん断変形させることによって、数字の画像に対して他の種類の操作を行うように構成することもできる。これらの操作は、記憶されたテンプレートとのパターンマッチング比較の前に行うことができる。あるいは、これらの操作は、2値化処理の前の取込み画像に対する画像前処理工程で行うこともできる。追加のシェーディング、歪みおよび露光補正もまた行うことができる。
図1a
図1b
図2a
図2b
図2c
図3
図4
図5
図6
図7
図8
図9