(57)【要約】      （修正有）【課題】光学式文字認識処理において文字分離を実行する方法を提供する。【解決手段】光学式文字認識処理において文字を分離する方法は、１つまたはそれ以上の文字列を表す画像データを受ける工程と、画像データの各列中の黒画素の数を決定する工程と、列中の黒画素の最大数である垂直分離閾値を定義する工程と、黒画素の数が垂直分離閾値未満である列を除外することによって、列を異なる画素群と除外された列の群とに分割する工程と、画像データ中で最も左の文字列を表す画素群を識別する工程と、文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定する工程と、文字列を表す２つの画素群があると決定された場合に、最も右の文字列の右側境界を識別するために最も右の文字列の既定の幅値を使用する工程とを含む。【選択図】図９
2019194915.tif 000002
【特許請求の範囲】
【請求項１】
光学式文字認識処理において文字分離を実行する方法であって：
１つまたはそれ以上の文字列を表す画像データを受ける工程と；
画像データの各列中の黒画素の数を決定する工程と；
列中の黒画素の最大数である垂直分離閾値を定義する工程と；
黒画素の数が垂直分離閾値未満である列を除外することによって、列を異なる画素群と除外された列の群とに分割する工程と；
画像データ中で最も左の文字列を表す画素群を識別する工程と；
文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定する工程と；
文字列を表す２つの画素群があると決定された場合に、最も右の文字列の右側境界を識別するために最も右の文字列の既定の幅値を使用する工程と
を含む、前記方法。
【請求項２】
画像データ中で最も左の文字列を表す画素群を識別する工程は、除外された列の最も左の群のすぐ右の画素群を識別する工程を含む、請求項１に記載の方法。
【請求項３】
画像データ中で最も左の文字列を表す画素群を識別する工程は、除外された列の最も左の群のすぐ右の画素群を、それが最小数字幅閾値未満である場合に、除外された列の最も左の群の右の第２の画素群が画像データ中の最も左の文字列と定義されるように除外する工程を含む、請求項１に記載の方法。
【請求項４】
文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定する工程は、除外された列の最も左の群の幅を決定する工程を含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
除外された列の最も左の群の幅が最大左縁閾値未満である場合に、文字列を表す２つの画素群が画像データ中にあると決定する工程を含む、請求項４に記載の方法。
【請求項６】
画像データ中の最も左の文字列の幅を決定する工程をさらに含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
画像データ中の最も左の文字列の決定された幅を使用して、最も左の文字列が幅の狭い数字に限って含むのか、それとも幅の広い数字を含むのかを決定する工程をさらに含む、請求項６に記載の方法。
【請求項８】
最も左の文字列が幅の狭い数字に限って含むと決定された場合に、最大有効用量結果を「１９」に設定する、請求項７に記載の方法。
【請求項９】
画像の左側境界に触れる画素群を除外する工程をさらに含む、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
左側と右側の文字列間にある除外された列の群を識別することによって、右側文字列の左側境界を識別する工程をさらに含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
左側文字列が最大数字幅閾値よりも幅が広いかどうかを決定する工程と、広い場合に、画像データ中の数字が８〜１０の範囲にあるかどうかを決定する工程とをさらに含む、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
光学式文字認識処理において文字分離を実行するプロセッサであって：
１つまたはそれ以上の文字列を表す画像データを受け；
画像データの各列中の黒画素の数を決定し；
列中の黒画素の最大数である垂直分離閾値を定義し；
黒画素の数が垂直分離閾値未満である列を除外することによって、列を異なる画素群と除外された列の群とに分割し；
画像データ中で最も左の文字列を表す画素群を識別し；
文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定し；かつ
文字列を表す２つの画素群があると決定された場合に、最も右の文字列の右側境界を識別するために最も右の文字列の既定の幅値を使用するように
構成された前記プロセッサ。
【請求項１３】
除外された列の最も左の群のすぐ右の画素群を識別することによって、画像データ中で最も左の文字列を表す画素群を識別するように構成される、請求項１２に記載のプロセッサ。
【請求項１４】
除外された列の最も左の群の幅を決定することによって、文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定するように構成される、請求項１２または請求項１３に記載のプロセッサ。
【請求項１５】
注射デバイスに取り付けるための補助デバイスであって：
該注射デバイスの可動部材上に存在する１つまたはそれ以上の数字の画像を取り込むように構成された撮像配置と；
請求項１２〜１４のいずれか１項に記載のプロセッサと
を含む、前記補助デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学式文字認識（ＯＣＲ）を行うデバイスおよび方法に関する。このデバイスは、注射デバイスなどの医療デバイスに取り付け、一緒に使用するための補助デバイスである。
【背景技術】
【０００２】
医療デバイスの分野において、ＯＣＲ技術は、たとえば薬剤の投薬誤りを防止するために非常に高い精度が必要である場合には、あまり多く使用されていない。したがって、多くの機械ベースのデバイスにもまた、手作業で読み取らなければならない投薬目盛または表示値があり、用量は手作業で記録しなければならない。これは使用者にとって時間がかかり、また間違いにつながる可能性もある。また、データが電子的に送信され、かつ／または電子的に分析されるべき場合、データはまず、別個の電子デバイスに手作業で入力されなければならない。さらに、一部の患者（たとえば、視力がよくない患者）にとっては、多くの場合に小さい機械的表示値を読み取ることが困難なこともある。
【０００３】
薬剤の注射による規則的な治療を必要とする様々な疾患が存在する。このような注射は、医療従事者または患者自身によって利用される注射デバイスを使用して行うことができる。一例として、１型および２型の糖尿病は、たとえば１日に１回または数回、患者自身がインスリン用量を注射することによって治療することができる。たとえば、事前充填使い捨てインスリンペンを注射デバイスとして使用することができる。あるいは、再使用可能ペンを使用することもできる。再使用可能ペンでは、空の薬剤カートリッジを新しいものに交換することが可能になる。どちらのペンにも、使用前にそれぞれ交換される１組の１回限りの針が付属する。次に、注射されるべきインスリン用量は、たとえば、インスリンペンにおいて投与量つまみを回し、インスリンペンの用量窓またはディスプレイにより実際の用量を確認することによって、手動で選択することができる。次に、その用量が、適切な皮膚部分に針を挿入し、インスリンペンの注射ボタンを押すことによって注射される。たとえば、インスリンペンの誤った取扱いを防止するために、または既に施された用量の経過を追うためにインスリン注射を監視できるように、たとえば注射されたインスリンのタイプおよび用量の情報などの、注射デバイスの状態および／または使用に関連する情報を評価することが望ましい。
【発明の概要】
【課題を解決するための手段】
【０００４】
本発明の第１の態様は、光学式文字認識処理において文字分離を実行する方法を提供し、この方法は：
１つまたはそれ以上の文字列を表す画像データを受ける工程と；
画像データの各列中の黒画素の数を決定する工程と；
列中の黒画素の最大数である垂直分離閾値を定義する工程と；
黒画素の数が垂直分離閾値未満である列を除外することによって、列を異なる画素群と除外された列の群とに分割する工程と；
画像データ中で最も左の文字列を表す画素群を識別する工程と；
文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定する工程と；
文字列を表す２つの画素群があると決定された場合に、最も右の文字列の右側境界を識別するために最も右の文字列の既定の幅値を使用する工程と
を含む。
【０００５】
この方法は、最も右の文字列内の文字が、それが右側の縁／枠区域と結合していても正しくセグメント化され分離されることを可能にする。画像データ中の文字の正しいセグメント化および分離は、正確で信頼できるＯＣＲ処理が実行されることを可能にし、これは特に、ＯＣＲ技術を医療用途に使用するのに重要である。
【０００６】
画像データ中で最も左の文字列を表す画素群を識別する工程は、除外された列の最も左の群のすぐ右の画素群を識別する工程を含む。
【０００７】
画像データ中で最も左の文字列を表す画素群を識別する工程は、除外された列の最も左の群のすぐ右の画素群を、それが最小数字幅閾値未満である場合に、除外された列の最も左の群の右の第２の画素群が画像データ中の最も左の文字列と定義されるように除外する工程を含む。この処理は、この文字分離方法を使用できる多くのデバイスにおいて、「０」と「２」の間に印刷される小さい「１」を明らかにする（かつ無視する）。
【０００８】
文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定する工程は、除外された列の最も左の群の幅を決定する工程を含む。除外された列の最も左の除外された列群は、最も左の数字の群の左の白スペースを表す。この領域の幅は、見える数字がそれぞれ１つの数字を含むか、それとも２つの数字を含むかによって決まる。
【０００９】
除外された列の最も左の群の幅が最大左縁閾値未満である場合に、この方法は、文字列を表す２つの画素群が画像データ中にあると決定する工程をさらに含む。
【００１０】
この方法は、画像データ中の最も左の文字列の幅を決定する工程をさらに含む。この方法は、画像データ中の最も左の文字列の決定された幅を使用して、最も左の文字列が幅の狭い数字だけを含むのか、それとも幅の広い数字を含むのかを決定する工程をさらに含む。最も左の文字列が幅の狭い数字だけを含むと決定された場合に、この方法はさらに、最大有効用量結果を「１９」に設定する工程を含む。数字「１」は幅が他のすべての数字とは著しく異なるので、後続のＯＣＲ処理が正確であるには、最も左の数字が「１」であるかどうかを識別することが重要である。
【００１１】
この方法は、画像の左側境界に触れる画素群を除外する工程をさらに含む。場合によっては、文字データを表していないものとして識別され除外されなければならない左側枠領域がある。
【００１２】
この方法は、左側と右側の文字列間にある除外された列の群を識別することによって、右側文字列の左側境界を識別する工程をさらに含む。この処理では、２つの数字間の隙間を識別する。ＯＣＲアルゴリズムでは各数字が、正しく識別されるために、分離される必要がある。
【００１３】
この方法は、左側文字列が最大数字幅閾値よりも幅が広いかどうかを決定する工程と、広い場合に、画像データ中の数字が８〜１０の範囲にあるかどうかを決定する工程とをさらに含む。この状況は、画像データ中で数字「８」が数字「１０」の上または下に見える場合に起り得る。この場合、文字を列に分離することは困難である。しかし、可能性のある有効な結果を「８」、「９」または「１０」に限定することによって、正確な結果をやはり返すことができる。
【００１４】
本発明の第２の態様は、光学式文字認識処理において文字分離を実行するプロセッサを提供し、このプロセッサは：
１つまたはそれ以上の文字列を表す画像データを受け；
画像データの各列中の黒画素の数を決定し；
列中の黒画素の最大数である垂直分離閾値を定義し；
黒画素の数が垂直分離閾値未満である列を除外することによって、列を異なる画素群と除外された列の群とに分割し；
画像データ中で最も左の文字列を表す画素群を識別し；
文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定し；かつ
文字列を表す２つの画素群があると決定された場合に、最も右の文字列の右側境界を識別するために最も右の文字列の既定の幅値を使用するように
構成される。
【００１５】
プロセッサは、除外された列の最も左の群のすぐ右の画素群を識別することによって、画像データ中で最も左の文字列を表す画素群を識別するように構成される。
【００１６】
プロセッサは、除外された列の最も左の群の幅を決定することによって、文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定するように構成される。
【００１７】
本発明の第３の態様は、注射デバイスに取り付けるための補助デバイスを提供し、この補助デバイスは：
注射デバイスの可動部材上に存在する１つまたはそれ以上の数字の画像を取り込むように構成された撮像配置と；
本発明の第２の態様に記載のプロセッサと
を含む。
【図面の簡単な説明】
【００１８】
【図１ａ】薬物送達デバイスの分解組立図である。
【図１ｂ】図１ａの薬物送達デバイスの一部の細部を示す斜視図である。
【図２ａ】本発明の一態様による図１ａおよび図１ｂの薬物送達デバイスに解放可能に取り付け予定のセンサデバイスの概略図である。
【図２ｂ】本発明の様々な態様による図１ａおよび図１ｂの薬物送達デバイスに解放可能に取り付け予定のセンサデバイスの斜視図である。
【図２ｃ】本発明の別の態様による図１ａおよび図１ｂの薬物送達デバイスに解放可能に取り付け予定のセンサデバイスの斜視図である。
【図３】薬物送達デバイスに取り付けられたセンサデバイスの、センサデバイスの構成要素を示す概略図である。
【図４】２値化後の用量窓の画像の一例の図である。
【図５】図４の画像の垂直投影の結果を示すグラフである。
【図６】図４の画像データについてのスミアリング関数（ｓｍｅａｒｉｎｇ  ｆｕｎｃｔｉｏｎ）の結果を示すグラフである。
【図７】図４の画像データに様々な閾値を適用した結果のグラフである。
【図８】薬剤の１単位を示すために小さい「１」が使用されることを示す、２値化後の用量窓の画像の一例である。
【図９】本発明の態様によるプロセッサの例示的動作を示す流れ図である。
【発明を実施するための形態】
【００１９】
以下では、本発明の諸実施形態についてインスリン注射デバイスに関して説明する。しかし、本発明はこのような用途に限定されず、シリンジ、無針注射器および吸入器などの、他の薬剤を排出する注射デバイス、または他のタイプの医療デバイスにも同様に適切に配置することができる。
【００２０】
図１ａは、たとえばＳａｎｏｆｉのＳｏｌｏｓｔａｒ（登録商標）インスリン注射ペンである、注射デバイス１の分解組立図である。
【００２１】
図１ａの注射デバイス１は事前充填使い捨て注射ペンであり、ハウジング１０を含み、針１５を付けることができるインスリン容器１４を含む。針は、内側針キャップ１６および外側針キャップ１７によって保護され、外側針キャップはキャップ１８によって覆うことができる。注射デバイス１から排出予定のインスリン用量は、投与量つまみ１２を回すことによって選択することができ、その場合、選択用量は、たとえば、いわゆる国際単位（ＩＵ）の倍数として投与量窓１３を介して表示される。ここで１ＩＵは、約４５．５マイクログラムの純粋結晶のインスリン（１／２２ｍｇ）の生物学的等量物である。投与量窓１３に表示される選択用量の一例は、図１ａに示されるように、たとえば３０ＩＵである。選択用量は、別の仕方でも同様に適切に表示されることに留意されたい。ラベル（図示せず）がハウジング１０上に設けられる。このラベルは、注射デバイス内に含まれる薬剤についての情報を、その薬剤を識別する情報を含めて含む。薬剤を識別する情報は文字の形でよい。薬剤を識別する情報はまた、色の形でもよい。薬剤を識別する情報はまた、バーコード、ＱＲコード（登録商標）などに符号化される。薬剤を識別する情報はまた、白黒パターン、カラーパターンまたはシェーディングの形でもよい。
【００２２】
投与量つまみ１２を回すことにより、使用者に音響フィードバックを提供するための機械的なクリック音が生じる。投与量窓１３に表示された数字は印刷によってスリーブ上に存在し、このスリーブは、ハウジング１０内に含まれ、インスリン容器１４内のピストンと機械的に相互作用する。針１５が患者の皮膚部分に突き刺されると、次に注射ボタン１１が押され、表示窓１３に表示されたインスリン用量が注射デバイス１から排出される。注射ボタン１１が押された後に注射デバイス１の針１５が皮膚部分に一定の時間とどまっているときに、用量の大部分が患者の体の中に実際に注射される。インスリン用量の排出によってもまた機械的なクリック音が生じるが、この音は、投与量つまみ１２を使用するときに生成される音とは異なる。
【００２３】
注射デバイス１は、インスリン容器１４が空になるか、または注射デバイス１の有効期限（たとえば、最初の使用から２８日後）に達するまで、数回の注射処置に使用される。
【００２４】
さらに、注射デバイス１を初めて使用する前に、インスリン容器１４および針１５から空気を除去するためのいわゆる「プライムショット」を、たとえば２単位のインスリンを選択し、針１５が上向きの状態で注射デバイス１を保持しながら注射ボタン１１を押すことによって実施する必要がある。
【００２５】
説明を簡単にするために、以下では、たとえば次に注射予定の用量の計画をするとき、この用量が、注射デバイスによって排出されなければならない用量と等しくなるように、排出される用量は注射される用量と実質的に一致するものと例示的に仮定する。しかしながら、排出用量と注射用量の差異（たとえば、損失）は、もちろん考慮に入れられる。
【００２６】
図１ｂは、注射デバイス１の端部の詳細図である。この注射デバイスは、ハウジング１０上に置かれた、投与量つまみ１２に隣接する案内リブ７０を有する。注射デバイス１はまた、ハウジング１０上に置かれた２つのくぼみ５２を有する。これらは、案内リブ７０に関して対称になっている。案内リブ７０およびくぼみ５２は、補助デバイス（以下で詳細に説明）を注射デバイス１上の正しい位置に固定するように機能する。
【００２７】
図２ａは、図１ａの注射デバイス１に解放可能に取り付け予定の補助デバイス２の実施形態の概略図である。補助デバイス２は、図１ａの注射デバイス１のハウジング１０を取り巻くように構成された嵌合ユニット付きのハウジング２０を含み、そのため、補助デバイス２が注射デバイス１のハウジング１０に密着してはいるが、たとえば注射デバイス１が空であり交換されなければならないときには、注射デバイス１から取外し可能になる。
図２ａは非常に概略的であり、物理的な配置の詳細については、以下で図２ｂを参照して説明する。
【００２８】
補助デバイス２は、注射デバイス１から情報を集めるための光学センサおよび音響センサを含む。この情報の少なくとも一部、たとえば選択用量（および場合により、この用量の単位）は、補助デバイス２の表示ユニット２１を介して表示される。注射デバイス１の投与量窓１３は、補助デバイス２が注射デバイス１に取り付けられると、補助デバイス２によって遮られる。
【００２９】
補助デバイス２はさらに、ボタン２２として概略的に図示された、少なくとも１つの使用者入力トランスデューサを含む。これらの入力トランスデューサ２２により、使用者が補助デバイス２をオン／オフすること、動作を起動すること（たとえば、別のデバイスとの連結またはペアリングを確立させるために、および／または補助デバイス２から別のデバイスへの情報の伝達を起動するために）、または何かを確認することが可能になる。
【００３０】
図２ｂは、図１ａの注射デバイス１に解放可能に取り付け予定の補助デバイス２の第２の実施形態の概略図である。補助デバイス２は、図１の注射デバイス１のハウジング１０を取り巻くように構成された嵌合ユニット付きのハウジング２０を含み、そのため、補助デバイス２が注射デバイス１のハウジング１０に密着してはいるが、注射デバイス１から取外し可能になる。
【００３１】
情報が補助デバイス２の表示ユニット２１を介して表示される。注射デバイス１の投与量窓１３は、補助デバイス２が注射デバイス１に取り付けられると、補助デバイス２によって遮られる。
【００３２】
補助デバイス２はさらに、３つの使用者入力ボタンまたはスイッチを含む。第１のボタン２２は、電源オン／オフボタンであり、これによって、補助デバイス２をたとえばオンおよびオフすることができる。第２のボタン３３は通信ボタンである。第３のボタン３４は確認またはＯＫボタンである。ボタン２２、３３、３４は、適切な任意の形の機械的スイッチとすることができる。これらの入力ボタン２２、３３、３４により、使用者が補助デバイス２をオン／オフすること、動作を起動すること（たとえば、別のデバイスとの連結またはペアリングを確立させるために、および／または補助デバイス２から別のデバイスへの情報の伝達を起動するために）、または何かを確認することが可能になる。
【００３３】
図２ｃは、図１ａの注射デバイス１に解放可能に取り付け予定の補助デバイス２の第３の実施形態の概略図である。補助デバイス２は、図１ａの注射デバイス１のハウジング１０を取り巻くように構成された嵌合ユニット付きのハウジング２０を含み、そのため、補助デバイス２が注射デバイス１のハウジング１０に密着してはいるが、注射デバイス１から取外し可能になる。
【００３４】
情報が補助デバイス２の表示ユニット２１を介して表示される。注射デバイス１の投与量窓１３は、補助デバイス２が注射デバイス１に取り付けられると、補助デバイス２によって遮られる。
【００３５】
補助デバイス２はさらに、タッチセンサ式入力トランスデューサ３５を含む。補助デバイスはまた、単一の使用者入力ボタンまたはスイッチ２２を含む。ボタン２２は電源オン／オフボタンであり、これによって、補助デバイス２をたとえばオンおよびオフすることができる。タッチセンサ式入力トランスデューサ３５を使用して、動作を起動すること（たとえば、別のデバイスとの連結またはペアリングを確立させるために、および／または補助デバイス２から別のデバイスへの情報の伝達を起動するために）、または何かを確認
することができる。
【００３６】
図３は、図２ａの補助デバイス２が図１ａの注射デバイス１に取り付けられた状態の補助デバイス２の概略図を示す。
【００３７】
複数の構成要素が補助デバイス２のハウジング２０の中に含まれる。これらはプロセッサ２４によって制御され、このプロセッサは、たとえば、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などである。プロセッサ２４は、プログラムメモリ２４０に記憶されたプログラムコード（たとえば、ソフトウェアまたはファームウェア）を実行すると共に、たとえば中間結果を記憶するために、主メモリ２４１を使用する。主メモリ２４１はまた、実行された排出／注射のログブックを記憶するために使用される。プログラムメモリ２４０は、たとえば読取り専用メモリ（ＲＯＭ）であり、主メモリは、たとえばランダムアクセスメモリ（ＲＡＭ）である。
【００３８】
図２ｂに示されたものなどの実施形態では、プロセッサ２４は第１のボタン２２と対話し、それによって補助デバイス２は、たとえば電源をオンおよびオフすることができる。第２のボタン３３は通信ボタンである。この第２のボタンは、他のデバイスとの接続の確立を起動するために、または他のデバイスへの情報の伝達を起動するために使用される。第３のボタン３４は確認またはＯＫボタンである。第３のボタン３４は、補助デバイス２の使用者に提供された情報に対して確認応答するために使用することができる。図２ｃに示されたものなどの実施形態では、２つのボタン３３、３４を省略することができる。代わりに、１つまたはそれ以上の容量性センサまたは他のタッチセンサが設けられる。
【００３９】
プロセッサ２４は、液晶ディスプレイ（ＬＣＤ）として現在具現化されている表示ユニット２１を制御する。表示ユニット２１は、補助デバイス２の使用者に対し、たとえば注射デバイス１の現在の設定、または付与予定の次の注射についての情報を表示するために使用される。表示ユニット２１はまた、たとえば使用者の入力を受けるために、タッチスクリーンディスプレイとして具現化することもできる。
【００４０】
プロセッサ２４はまた、投与量窓１３の画像を取り込むことができる光学式文字認識（ＯＣＲ）リーダとして具現化された光学センサ２５を制御し、この投与量窓には、現在選択されている用量が表示される（注射デバイス１に含まれるスリーブ１９上にある、投与量窓１３を通して見える数字、文字、記号またはグリフによって）。ＯＣＲリーダ２５はさらに、取込み画像からの文字（たとえば数字）を認識し、この情報をプロセッサ２４に提供することもできる。あるいは、補助デバイス２のユニット２５は、画像を取り込むと共に取込み画像の情報をプロセッサ２４に提供する光学センサ（たとえばカメラ）だけでもよい。その場合、プロセッサ２４は、取込み画像に対しＯＣＲを実施することに関与する。プロセッサ２４は、異なるアルゴリズムをそれぞれ使用する２つ以上の異なるＯＣＲ処理を行うように構成される。
【００４１】
プロセッサ２４はまた、現在選択されている用量が表示される投与量窓１３を照明するための発光ダイオード（ＬＥＤ）２９などの光源を制御する。たとえば一枚のアクリルガラスから作られた拡散器が光源の前方に使用される。さらに光学センサは、たとえば２つの非球面レンズを含むレンズ系を含み、拡大像がもたらされる。拡大率（画像サイズと対象物サイズの比）は１未満である。拡大率は、０．０５から０．５の範囲内である。１つの実施形態では、拡大率は０．１５である。
【００４２】
プロセッサ２４はさらに、注射デバイス１のハウジング１０の光学特性（たとえば、色または濃淡）を決定するように構成された測光器２６を制御する。この光学特性は、ハウ
ジング１０の特定の部分、たとえば、注射デバイス１の中に含まれるスリーブ１９またはインスリン容器の色または色コーディングとしてだけ存在することができ、この色または色コーディングは、たとえばハウジング１０（および／またはスリーブ１９）の別の窓を通して見える。その場合、この色の情報はプロセッサ２４に提供され、プロセッサ２４は次に、注射デバイス１の種類、または注射デバイス１に収容されたインスリンの種類を決定することができる（たとえば、紫色のＳｏｌｏＳｔａｒ  Ｌａｎｔｕｓ、および青色のＳｏｌｏＳｔａｒ  Ａｐｉｄｒａ）。あるいは、測光器２６の代わりにカメラユニットが使用され、その場合、画像処理によってハウジング、スリーブまたはインスリン容器の色を決定するために、ハウジング、スリーブまたはインスリン容器の画像がプロセッサ２４に提供される。さらに、測光器２６の読取値を改善するために、１つまたはそれ以上の光源が設けられる。光源は、測光器２６による色検出を改善するために、ある特定の波長またはスペクトルの光を提供する。光源は、たとえば投与量窓１３による不要な反射が回避または低減されるように配置される。例示的な一実施形態では、注射デバイスおよび／またはその中に収容されている薬剤に関連するコード（たとえばバーコードであり、たとえば一次元または二次元バーコードである）を検出するために、測光器２６の代わりに、またはそれに加えてカメラユニットが配置される。このコードは、いくつか例を挙げると、たとえばハウジング１０の上、または注射デバイス１に含まれる薬剤容器の上に置かれる。このコードは、たとえば、注射デバイスおよび／または薬剤の種類、および／または別の特性（たとえば有効期限）を示すことができる。
【００４３】
プロセッサ２４はさらに、注射デバイス１によって生成された音を検知するように構成されている音響センサ２７を制御する（かつ／または音響センサからの信号を受ける）。このような音は、たとえば、投与量つまみ１２を回すことによって用量がダイヤル設定されたとき、および／または注射ボタン１１を押すことによって用量が排出／注射されたとき、および／またはプライムショットが行われたときに発生する。これらの動作は機械的に類似してはいるが、異なる音が出る（これらの動作を示すのが電子音の場合でも）。音響センサ２７および／またはプロセッサ２４は、たとえば、（プライムショットだけではなく）注射が行われたことを安全に認識できるようにするために、これらの異なる音を区別するように構成される。
【００４４】
プロセッサ２４はさらに、たとえば注射デバイス１の動作状態と関連付けることができる音響信号をたとえば使用者へのフィードバックとして生成するように構成されている音響信号発生器２３を制御する。たとえば、音響信号は、注射予定の次の用量を思い出させるものとして、または、たとえば誤用の場合の警告信号として、音響信号発生器２３から送出される。音響信号発生器は、たとえば、ブザーまたはスピーカとして具現化することができる。音響信号発生器２３に加えて、またはその代替として、たとえば振動によって触覚フィードバックを与えるための触覚信号発生器（図示せず）もまた使用される。
【００４５】
プロセッサ２４は、無線によって他のデバイスとの間で情報を送信および／または受信するように構成されている無線ユニット２８を制御する。このような伝送は、たとえば、無線伝送または光伝送に基づく。いくつかの実施形態では、無線ユニット２８はブルートゥース（登録商標）トランシーバである。別法として、無線ユニット２８は、たとえばケーブルまたはファイバ接続を介した有線結合によって他のデバイスとの間で情報を送信および／または受信するように構成された有線ユニットによって置き換えられ、または補完される。データが送信されるとき、転送されるデータ（値）の単位は、明示的または暗黙的に定義される。たとえば、インスリン用量の場合、常に国際（ＩＵ）単位が使用され、または別に、使用される単位が明示的に、たとえばコード化された形で転送される。
【００４６】
プロセッサ２４は、ペン１が存在するかどうか、すなわち補助デバイス２が注射デバイス１に連結されているかどうかを検出するように動作可能であるペン検出スイッチ３０か
ら入力を受ける。電池３２が、プロセッサ２４および他の構成要素に電源３１から電力を供給する。
【００４７】
したがって図３の補助デバイス２は、注射デバイス１の状態および／または使用に関連する情報を決定することができる。この情報は、デバイスの使用者が使用するための表示ユニット２１に表示される。この情報は、補助デバイス２自体で処理されるか、または他のデバイス（たとえば血糖監視システム）に少なくとも部分的に提供される。
【００４８】
注射デバイス１および補助デバイス２は、光学センサ２５の視野が用量窓１３を覆ってほぼ中心に位置するように構成される。製造許容誤差は、視野が水平と垂直の両方向でわずかに中心を外れることを意味する。
【００４９】
いくつかの実施形態では、スペース制約、および数字が特定のサイズである必要性により、偶数だけが数字スリーブ１９上に印刷される。他のいくつかの実施形態では、奇数だけが数字スリーブ上に印刷される。しかし、任意の単位数の薬剤を注射デバイス１にダイヤル設定することができる。いくつかの代替実施形態では、すべての数字、すなわち昇順の整数がスリーブ上に印刷される。これらの実施形態では、半単位用量を注射デバイスにダイヤル設定することが可能である。この注射デバイスは、８０単位の最大ダイヤル設定用量に制限される。別の代替実施形態では、３つごと、４つごと、または５つごとの数字だけが印刷される。印刷された数字間の用量位置は、目盛によって示される。「印刷される」という用語は、本明細書では、数字が数字スリーブの表面に印付けられることを示すが、当業者には、数字が印刷される、エッチングされる、印付けられる、取り付けられる、またはそれとは別に、いくつかの知られている方法で補助デバイス２の光学センサ２５に見えるようにされることが理解されよう。
【００５０】
以下の実施形態では、偶数だけが用量スリーブ１９に印刷されると仮定されるが、任意の数の単位を注射デバイスにダイヤル設定することができる。
【００５１】
プロセッサ２４は、光学センサ２５の視野内に見える数字（または一部だけの数字）が、これらを識別するために分離され、記憶されたテンプレートと比較する準備がされることを可能にするアルゴリズムを実行するように構成される。このアルゴリズムでは、注射デバイス１に現在ダイヤル設定されている用量を正確に決定するために、可視数字に対して光学式文字認識（ＯＣＲ）処理を実行し、このＯＣＲ処理の結果を使用する。このアルゴリズムは、ソフトウェアまたはファームウェア内で具現化され、補助デバイス２のプログラムメモリ２４０に記憶される。プロセッサ２４と、アルゴリズムを記憶するメモリ２４０とは一緒に、本明細書では「プロセッサ配置」と呼ばれる。
【００５２】
全アルゴリズムは、前処理部、ＯＣＲ部、および後処理部に分けることができ、各部は一般にいくつかの工程を含む。
【００５３】
前処理部では、画像データ品質が評価され、以下の工程を実行することによって改善される：
・欠陥不良画素の補正
・明るさ補正
・歪みおよび傾斜補正
【００５４】
たとえば、露光制御アルゴリズムは、明るすぎる、または暗すぎるピクチャを拒否し、露光パラメータが調整されている新しいピクチャが取り込まれる。数字は、人が認識および位置決めしやすいように傾斜して印刷されるが、この傾斜が除去されるならば復号しやすくなる。本明細書で説明され特許請求される本発明の目的に対して、前処理は任意選択
の特徴である。アルゴリズムのＯＣＲ部は、画像の前処理なしで要求標準規格に合わせて実行するように設計され、かつ／または光学センサ２５は、画像に直接実施予定のＯＣＲのために十分な品質の画像を生成するように構成される。
【００５５】
ＯＣＲ部では、画像データが次にさらに処理され、最後に認識文字が得られる。ＯＣＲ処理は次の工程を含む：
・２値化
・セグメント化
・パターンマッチング
・位置計算
【００５６】
後処理は様々な検査、および表示予定の結果の生成を含む。後処理は以下の工程を含む：
・健全さ（ｓａｎｉｔｙ）検査を実行する
・ヒステリシス計算
・最終結果をディスプレイに示す
【００５７】
本明細書で説明され特許請求される本発明は、ＯＣＲ処理のセグメント化部分に関する。本明細書で説明され特許請求される本発明の目的に対して、前処理、後処理、および他のＯＣＲ処理の部分は任意選択の特徴である。
【００５８】
センサデバイス２の高い信頼性要件により、いくつかの実施形態には並列で動作する２つのＯＣＲアルゴリズムがある。これら２つのＯＣＲアルゴリズムは同じ入力（画像）を有し、同じ出力を提供するようになっている。これらは両方とも同様の工程を実行するが、各工程で使用される個々の方法は様々である。これら２つのＯＣＲアルゴリズムは、２値化、セグメント化、パターンマッチング、および位置計算の各工程のうちの１つが異なるか、またはこれらの工程のうちの２つ以上が異なる。同じ結果を提供するために異なる方法を使用する２つのＯＣＲ部があると、データが２つの独立した方法で処理されているので、アルゴリズム全体の信頼性が向上する。
【００５９】
重要な課題は、ディスプレイによる数字、文字、および／またはグリフを認識して用量値を決定することが確実にできる小さなシステムの中に、画像取込み、およびその後のセグメント化を含むＯＣＲ処理を実施することである。システムは電池駆動され、小型であり、撮像能力ならびに処理能力が小型設計および寿命の要件により限定されている。この種のデバイスのプロセッサは一般に、約１００ＭＨｚ以下のクロック速度、最大３２ｋバイトＲＡＭおよび５１２ｋｂフラッシュのメモリを有する（これらの仕様は例示であり、限定するものではない）。しかし、ＯＣＲ処理の結果は、用量をダイヤル設定している使用者がその用量を補助デバイスからダイヤル設定しながら読み取ることができるという、リアルタイムで得られるべきである。典型的な計算時間は約７０ｍｓであろう。
【００６０】
図４は、「４７」単位の用量がダイヤル設定された２値化後の用量窓１３の画像４００の一例を示す。実線の水平線６０２は、光学センサ２５の視野の中心線である。用量窓１３の画像がまず、光学センサ２５によって取り込まれる。上述の前処理工程を適用した後に、２値化処理によってグレースケール画像が全くの白黒画像に変換される。明るいスリーブ上に暗い数字がある注射ペンの設計によれば、白黒画像は黒画素で数字の存在を示し、白画素で数字の不在を示す。
【００６１】
いくつかの実施形態では、黒と白の画素を分けるために固定閾値が使用される。２値化ピクチャ中で、閾値以上の値を有する画素は白色に、閾値未満の画素は黒色になる。高い閾値がアーチファクト（白色領域内の黒色部分）を招くのに対し、低い閾値には、場合に
よって数字の一部が欠けるというリスクがある。いくつかの実施形態では、アルゴリズムが一般にアーチファクトに対して堅牢であるので（すなわち、いくつかのアーチファクトの存在下で正確なＯＣＲ処理を実行することができる）、閾値は数字の一部が決して欠けないように選択される。試験では、２５６個のグレー値を検出できるセンサが使用され、１２７という閾値で良好な結果が示された。
【００６２】
提案された１つのアルゴリズムでは、次に、２値化画像を右から左へ分析するセグメント化処理が実行される。この処理では、右側縁が除外され、数字の右側列の位置が識別される。次に、数字の左側列があるかどうかが決定される。数字の０〜８については、数字の右側列しかない。最後に、左側の目盛が除外されて、分離された数字列だけが残る。この提案されたアルゴリズムは、数字の右側列が右側縁からきちんと分離されていれば適切に機能する。
【００６３】
図４で分かるように、場合によっては、数字が右へ十分遠くにシフトされているので、数字の右側列と右側縁が結合している。この例では、アルゴリズムは数字の右側列全体を除外することになり、ダイヤル設定用量を正しく認識しない。
【００６４】
本発明のアルゴリズムでは、画像データを別の仕方で分析し、次に説明するように、数字の右側列が右側縁と結合していてもその数字を正しく分離することができる。
【００６５】
プロセッサ２４はまず、２値化画像を構成する画素列が分析される「垂直投影」を実行する。それぞれの画素列が個々に分析され、それぞれの列内の黒画素の数の合計が算出される。
【００６６】
図５は、図４の画像４００のこの垂直投影の結果を示すグラフ５００である。次に、この生データは、次式により隣接列を結合することによってスミアリングされる：
Ｃｙ＝Ｂｙ−２＋４Ｂｙ−１＋６Ｂｙ＋４Ｂｙ＋１＋Ｂｙ＋２
ここで、Ｃｙはスミアリングされた投影値であり、Ｂｙは列「ｙ」内の黒画素の合計である。
【００６７】
あるいは、次式を使用することもできる：
Ｃｙ＝Ｂｙ−２＋４Ｂｙ−１＋８Ｂｙ＋４Ｂｙ＋１＋Ｂｙ＋２
【００６８】
図６は、図４の画像データについてのスミアリング関数の結果を示すグラフ６００である。この平滑化では、小さい外乱を取り除き、それがアルゴリズムの結果に悪影響を及ぼすことを防止する。実際には、小さい外乱の影響を取り除くように関数をスミアリングする任意の式が使用されてよく、上記の特定の式は単なる例として示されている。
【００６９】
次に、アルゴリズムによりピクセル列が、以下に大文字で表記されるいくつかの異なる閾値を使用することによって、異なる画素群と除外された列の群とに分離される。曲線がＶＥＲＩＣＡＬ＿ＳＥＰＡＲＡＴＥ＿ＴＨＲＥＳＨＯＬＤ未満になる場合、どちらの側の画素も別のエンティティの中にあると仮定され、異なる画素群に入れられる。最小の数の黒画素を有する列が分割部として使用され、どの画素群の一部でもない。
【００７０】
曲線がＶＥＲＩＣＡＬ＿ＷＨＩＴＥＳＰＡＣＥ＿ＴＨＲＥＳＨＯＬＤ未満になる場合、その領域は空、すなわち白色と仮定される。画素群が分離され識別された後、各画素群は、ＶＥＲＩＣＡＬ＿ＴＨＲＥＳＨＯＬＤよりも黒画素が少ない縁部において列を取り除くことによって、両側からトリミングされる。
【００７１】
図７は、これらの閾値を図４の画像データに適用した結果を示す。分離された画素群は
、陰影付け／ハッチング、および文字ａ）〜ｄ）によって識別されている。除外された列の群は陰影付けがされていない。
【００７２】
先に提案されたアルゴリズムでは、曲線がＶＥＲＴＩＣＡＬ＿ＩＮＶＡＬＩＤ＿ＴＨＲＥＳＨＯＬＤを超えて上昇した場合に、画素群が無効として印付けられたが、これは、画素群ａ）で表された右側縁の場合のように、黒垂直線がほとんど全く白画素なしで画像中に伸びている場合にしか起きない。画素群ａ）はまた、本明細書では、右側縁部区域もしくは領域、右側の枠区域もしくは領域、または右側境界区域もしくは領域とも記述され、これらの用語は本明細書では交換可能に使用される。この場合の「無効」とは、画素群が印刷数字を表すものとみなされないことを意味する。しかし、画素群ａ）とｂ）の間の隙間がきれいではない場合、すなわち曲線がＶＥＲＩＣＡＬ＿ＳＥＰＡＲＡＴＥ＿ＴＨＲＥＳＨＯＬＤ未満にならない場合、先のアルゴリズムでは、画素群ａ）とｂ）を一緒に除外することになる。画素群ｂ）は右側文字列を表すので、このアルゴリズムでは画像中の数字を正しく識別しない。したがって、本発明ではＶＥＲＴＩＣＡＬ＿ＩＮＶＡＬＩＤ＿ＴＨＲＥＳＨＯＬＤを使用しないが、以下で説明する別のやり方で画素群ｂ）を右側縁から分離する。
【００７３】
アルゴリズムのタスクは、文字列を表す画素群を識別することである。一般に、各文字列は、垂直に配列された２つ以上の文字を含む。これらは、後の工程で互いに分離される。いくつかの実施形態では、アルゴリズムは、画素群が画像の左側の境界に触れる場合に（また場合により、画像の右側の境界に触れる場合に）画素群を無効にするように配置される。再び、ここで「無効にする」とは画素群が、数字としてみなされることから除外されることを意味する。これにより、画素群ｄ）が考慮の対象から除外されることになる。
【００７４】
このアルゴリズムでは、画像データ中の最も左の文字列を表す画素群を識別する。これは、除外された列のうちの最も左の群のすぐ右の画素群を識別することによって行われる。たとえば、これは、ＶＥＲＩＣＡＬ＿ＳＥＰＡＲＡＴＥ＿ＴＨＲＥＳＨＯＬＤ未満である、第１の列よりも右の（大きい列番号を有する）画素の第１の群を識別することによって実現することができる。したがって、画素群ｃ）が、最も左の文字列を表すものとして識別される。
【００７５】
次に、アルゴリズムにより、文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定する。これは、除外された列、すなわち図７の画素群ｄ）とｃ）の間の列の最も左の群の幅を決定することによって行われる。画像中に見える数字が単一列に配置されている、すなわち数字０〜８である場合、この第１の隙間の幅は、画像が数字の２列を含む場合よりも大きい。したがって、除外された列の第１の群が閾値ＭＡＸ＿ＬＥＦＴ＿ＭＡＲＧＩＮ＿ＴＷＯ＿ＤＩＧＩＴＳよりも幅が広い場合、画像データは数字の単一列しか含まないと決定される。除外された列の第１の群がこの閾値よりも狭い場合には、２つの文字列が存在すると仮定される。
【００７６】
アルゴリズムで、画像中の文字列を表す２つの画素群があると決定した場合、右側数字の範囲を推測することができる。したがって、たとえ右側数字が画像の右側で黒い縁区域と結合していても、数字は分析のために分離することができる。
【００７７】
最初に、最も左の文字列の右の除外された列の群が識別される。ほとんどの場合に、これは、画像の左から第２の除外された列の群になる。その場合、通常は右側文字列の左側境界がどこにあるかが明白になる（いくつかの特殊な場合については、以下の説明参照）。画像データ中に現れる数字の幅（画素の単位）は、注射デバイス１および補助デバイス３の設計で光学センサ３５が用量窓１３から既定の距離に位置することになるので、分かっている。１つの例では、「１」を除く各数字の幅は、１４画素であり、「１」の幅は７
画素である。各数字は２６画素の高さを有する。しかし、画素の正確な数は、印刷された数字のフォントサイズだけでなく、使用されるフォントの種類、センサデバイス２および注射デバイス１に対するその配置、ならびにセンサデバイスのレンズまたは窓１３による拡大に依存する。上記の例を続けると、偶数だけが数字スリーブ１９に印刷されるので、左側文字列には数字「１」だけが現れ（数字１０〜１８）、その結果、右側文字列は１４画素幅の数字だけを常に含むようになる。したがって、ひとたび右側文字列の左側境界が識別されると、右側境界は、１４画素さらに右にあるものとして画成される。信頼性を高めるために、数字幅は少ない数の、予想幅を超える画素列として設定することができる。
【００７８】
文字列を個々の数字に水平セグメント化した後に、任意選択の数字トリミング処理が、光学系の許容誤差ならびに数字の印刷許容誤差（たとえば数字幅および位置）を明らかにするために、次のように実施される。この処理は、任意の数字の左側縁部にも右側縁部にも適用できるが、正確なＯＣＲ分析のために右側数字が右側縁（画素群ａ）から十分に分離されることを確実にするように、右側数字の右側縁部に適用される場合に特に有効である。したがって、この任意選択のトリミングにより、ＯＣＲ識別をさらに正確にすることができる。数字は既に、左右の文字列に分離されている。
【００７９】
一例として右側数字を用いると、まず垂直投影が右側文字列の最も右の画素列について行われて、この列中の黒画素の数が決定される。この例における数字の予想高さは２６画素である。たとえば、この列中の２６画素のうちの２０個以上が黒である場合、この列は、数字の一部ではなく画素群ａ）の一部である可能性が最も高いと決定され、拒否される。これは特に、右側の黒列が判読誤り、すなわち文字認識工程において「６」を「８」と間違えること、につながりやすい数字６と８それぞれを区別する場合に重要である。
【００８０】
一方で、最も右の画素列中の６画素以下が黒である場合には、その列もまた、それがＯＣＲ工程に必要ではないので拒否される。偶数（２、４、６、８）だけが右側文字列中に現れることにより、最も右の画素列のすぐ左の列中には常により多くの黒画素がある。したがって、最後の列を拒否することがＯＣＲに負の効果を及ぼさない。
【００８１】
一部の注射デバイス設計では、小さい「１」が薬剤の１単位を示すのに使用される。この小さい１は、図８の２値化画像８００に示されるように、「０」と「２」の間に垂直に置かれるが、左側にオフセットされる。この「１」は、数字１０〜１８に使用されるものよりも小さい。この特別な状態が存在する場合、アルゴリズムには、状況を認識するための追加の工程があり、数字が正しく復号されることを確実にする。これには、前のように、第１の文字列の幅を計算することが含まれる。幅が閾値ＤＩＧＩＴ＿ＭＩＮ＿ＯＮＥ＿ＷＩＤＴＨ未満である場合、その列は、図８に示される小さい「１」を表すと推論される。その場合、この列は無効にされ、後続のＯＣＲ工程および位置検出工程で使用されない。第１の文字列がＤＩＧＩＴ＿ＭＩＮ＿ＯＮＥ＿ＷＩＤＴＨと幅が等しいか、またはそれより広いものの、閾値ＤＩＧＩＴ＿ＭＡＸ＿ＯＮＥ＿ＷＩＤＴＨ未満である場合には、第１の文字列は「通常の」１（数字１０〜１８の）ものを含むと推論される。この情報は引き続き、最大のあり得る有効結果を「１９」と設定することによって、ＯＣＲ処理において使用することができる。
【００８２】
別の特殊な状態が、「９」単位が注射デバイス１にダイヤル設定される場合に存在する。この状態では、数字「８」および「１０」が画像中に一部だけまたは完全に現れ、数字「８」は「１０」の１と０の間の隙間のほぼ上方に位置している。したがって、アルゴリズムでは、左側文字列が閾値ＭＡＸ＿ＤＩＧＩＴ＿ＷＩＤＴＨよりも幅が広い（単一の数字であるには幅が広すぎる）かどうかを確かめるための追加の検査を実行する。そうである場合には、数字スリーブ１９が数字８と１０の間にあると推論される。それに応じて次に、文字列を分割するための閾値が、分析のために数字を分離できるように調整される。
【００８３】
図９は、光学センサ２５によって取り込まれた画像を分析する際のプロセッサ２４の例示的な動作を説明する流れ図を示す。
【００８４】
工程９００で、プロセッサ２４は光学センサ２５から画像データを受ける。この画像データは２値化データとすることができ、あるいはプロセッサ２４が２値化処理を行うことができる。別法として、プロセッサは、グレースケール画像について次の工程を実行することができる。工程９０２で、プロセッサ２４は、画像データを分析して画像の各列内の黒画素の数を決定する。工程９０４で、垂直分離閾値が定義される。実際には、この閾値は事前定義され、補助デバイスのメモリに事前プログラムされる。しかし、閾値はまた、光レベルなどに基づいて、プロセッサによって動的に定義することもできる。
【００８５】
工程９０６で、プロセッサ２４は画像の列を、除外された列の群によって分離された画素群に分割する。これは、黒画素の数が事前定義の垂直分離閾値未満である列を除外することによって行われる。工程９０８で、プロセッサは、画像中の最も左の文字列を表す画素群を識別する。これは、最も左の除外された列の群のすぐ右の画素群を識別することによって行われる。
【００８６】
工程９１０で、プロセッサ２４は、画像中の文字列を表す１つまたは２つの画素の群があるかどうかを決定する。これは、除外された列の最も左の群の幅を決定することによって行われる。除外された列の最も左の群が既定の幅未満である場合、２つの文字列が存在すると仮定される。除外された列の最も左の群が既定の幅を超える場合、１つの文字列が存在すると仮定される。
【００８７】
工程９１２で、画像データ中に２つの文字列が存在すると決定された場合、既定の幅の値（画素単位）がＯＣＲアルゴリズムにおいて右側文字列に対し使用される。これには、左右の文字列間で除外された列の群を識別することによって、右側文字列の左側境界を決定することが含まれる。その場合、右側境界は、さらに右の既定の幅値（画素単位）にあるものとして画成される。この新しい垂直セグメント化処理の後に、ＯＣＲアルゴリズムの残りが実行される。
【００８８】
プロセッサ２４が、注射デバイス１にダイヤル設定された薬剤の単位の数字の結果を出力することができるには、いくつかのさらなる工程が必要とされる。これらの工程は、完璧を期して以下で説明されるが、任意選択であり、本発明を定義するのに不可欠なものではない。
【００８９】
プロセッサ２４は次に、２値化画像を構成する画素行が分析される「水平投影」を実行する。これは、垂直投影について上述したのと同じように進行する。水平投影の予想結果は、可視数字の縁部が識別されるように垂直投影の予想結果に加えられる。多くの場合、画像中の数字のいくつかは一部しか見えない。すなわち、部分的に見える数字の縁部のすべてが検出されるわけではない。プロセッサ２４は、完全な数字の（画素行の）予想高さが事前プログラムされ、したがって、部分的に見える数字が存在することを認識することができる。
【００９０】
それぞれの行および列の白画素の予想数が既知であるならば、「水平投影」および「垂直投影」も同じく、白画素の合計が代わりに計算される分析に完全に基づくことができるというのが素直な見方である。
【００９１】
ＯＣＲ処理の次の工程は、復号予定および識別予定の可視数字の１つを選択することである。これは、数字のうちの１つを「主数字行」として指定することによって行われる。
主数字行は、どの可視数字が最大高を有するかに基づいて選択される。その理由は、スリーブ上に印刷された数字のすべてがほぼ同じ高さを有し、かつ最大高を有する数字が完全に可視であると仮定することができ、したがって高い確実度で復号しやすいからである。２つの数字（異なる垂直位置を有する）が可視であり、高さが同じである場合、最も上の数字が主数字行として選択される。主数字行は、注射デバイス１にダイヤル設定された用量を決定するために後で使用される数字である。
【００９２】
次に、パターンマッチング処理が実行されて、主数字行中の数字が識別される。各数字のテンプレートを補助デバイス２のメモリに記憶することができ、その場合、識別された数字をこれらのテンプレートと比較することができる。簡単な手法では、パターンマッチングは画素ごとに実行することもできる。しかし、これは高い計算能力を必要とする。さらに、この方式には、画像とテンプレートの間に位置変動の傾向がある。他のいくつかの実施形態では、特徴認識処理が実行される。特徴は、水平線、垂直線もしくは対角線、曲線、円、または閉ループなどである。これらの特徴は、選択された数字の画像内で認識し、テンプレートと比較することができる。
【００９３】
さらに別の実施形態では、パターンマッチングアルゴリズムは、ベクトル比較処理に基づくことができる。たとえばテンプレートは、テンプレートの中心を通って延びる垂直線に対する黒画素の各線（連続する一続き）の位置および長さを記述するベクトルの形である。各数字の取込み２値画像は、同様にベクトルに変換され、それぞれの記憶されたテンプレートと比較されて最良一致が見出される。
【００９４】
取込み画像のベクトルを特定の数字テンプレートと比較するときには、いかなる偏差も、画像とそのテンプレートの間の一致の可能性に適用されるペナルティになる。ペナルティの大きさは、テンプレートと比較される画像内の欠損または余分な黒画素の数に依存する。数字画像が各テンプレートと比較され、すべてのペナルティが適用された後で、どの数字が存在するかについての判定が行われる。良好な光学条件では、適正なテンプレートはペナルティが非常に低いのに対し、他のすべてのテンプレートは高いペナルティを有する。主数字行が２つの数字から成る場合には、この処理は両方の数字に対して実行され、プロセッサ２４は次に出力を一緒にして、その数字に対する最終結果を生成する。
【００９５】
特定の数字に対しては特別な方策が存在する。たとえば、「１」は他のすべての数字から幅が大きく逸脱し、結果として共通の誤検出が生じる。これに対処するために、数字の２値画像が「１」の予想幅よりも幅が広い場合、この２値画像は、「１」の記憶されたベクトルテンプレートと比較されるときに追加の検出ペナルティを受ける。
【００９６】
いくつかの例外的な場合では、主数字行のパターンマッチングの結果における信頼水準が特定の閾値（たとえば９９％）未満であるならば、プロセッサは、他の可視数字または部分的可視数字の１つまたはそれ以上に対して第２のパターンマッチング処理を実行することができる。数字の順序が分かっているので、この第２のパターンマッチングは、第１のパターンマッチングが正しい結果を返したことを検査するものとして機能することができる。結果の信頼水準が依然として十分に高くない場合には、光学センサ２５によって第２の画像が取り込まれ、処理が繰り返される。あるいは、エラーメッセージが表示される。
【００９７】
主数字行の数字がうまく識別された後、注射デバイス１にダイヤル設定された用量を決定するために重み付け関数が適用される。重み付け関数を公式化するために、画像の中心に対する主数字行の垂直位置が決定される。これは、主数字行を含む中間画素行の、画像の中心線を表す光学センサ２５の画素行に対するオフセットを計算することによって行われる。
【００９８】
たとえば、いくつかの実施形態で光学センサは、感光要素からなる長方形の６４×４８アレイを含む。結果として得られる２値画像は、これらと同じ寸法を有する画素アレイになる。２４番目および／または２５番目の画素行が、画像の中心行として指定される。主数字行を含む中間画素行の位置が決定される。主数字行を含む中間画素行と画像の中心行との間の、画素行のオフセットが次に計算される。このオフセットは、オフセットの方向に応じて正または負になる。オフセットは、それに応じて決定数字に適用される前に、連続する数字間の（画素行における）距離でオフセットを割った端数に変換される。したがってオフセットにより、センサに対して数字の回転位置を決定することが可能になる。主数字行の中心画素行が画像の中心画素行と同じである場合、オフセットはゼロになり、その位置は主数字行番号（primary digit row number）と同じになる。しかし、補助デバイス２の、およびまたは注射デバイス１の製造許容誤差により、ならびに使用者が数字スリーブに加える圧力により、ほとんどの状況においていくらかのオフセットが存在する可能性がある。
【００９９】
数字スリーブ上に印刷された連続する数字間の距離は、これらの数字が注射デバイス機構の離散形の機械的動きに関連付けられている用量を表しているので、一定である。したがって、取込み画像内の連続する数字間の（画素行における）距離もまた一定になるはずである。数字の予想高さ、および数字間のスペースは、アルゴリズムに事前プログラムされる。
【０１００】
一例として、各数字の予想高さは２２画素であり、数字間のスペースの予想高さは６画素である。したがって、連続する数字の中心画素行間の距離は２８画素になる。
【０１０１】
この例を続けると、画素行に番号が、画像の最上部から最下部まで順に付けられている場合、重み付け関数の適用は数学的に次式の通りに定義される：
位置＝主数字行の数字＋［２×オフセット／（数字の予想高さ＋スペースの予想高さ）］
ここで、オフセット＝中心画像行番号−主数字行中心行番号
【０１０２】
すなわち、主数字行が画像の上半分にある場合、オフセットは正になり、主数字行が画像の下半分にある場合、オフセットは負になる。たとえば、主数字行に示される数字が「６」であり、オフセットがゼロである場合、計算位置は次式となる：
位置＝６＋［２×０／（２８）］＝６
したがって、「６」の結果が予想通りに返されることになる。
【０１０３】
７５単位が注射デバイス１にダイヤル設定されている別の例をとると、上の数字「７４」が主数字行として選択され、上記の式によって１１画素行の正のオフセットがあり、また２８画素の組合せ数字／スペース高さを再び仮定する場合では、計算位置は次式となる：
位置＝７４＋［２×１１／（２８）］＝７４．７９
次に、この結果が最も近い整数に丸められて、予想通りに「７５」の位置決定が与えられる。
【０１０４】
最後の後処理部を適用した後、プロセッサ２４によりこの結果が補助デバイス２の表示ユニット２１に表示される。前に論じたように、スペース制約により、すべての数字が数字スリーブ上に印刷されるわけではない。いくつかの実施形態では、偶数だけが数字スリーブ上に印刷される。上述の位置決定工程により、補助デバイス２が用量値を表示することが、これらの値が数字スリーブ上に現れないことがあるにしても、可能になる。したがって、ダイヤル設定された用量のより明確な標示が補助デバイス２の使用者に提供される
。
【０１０５】
使用者が用量をゆっくりとダイヤル設定する（すなわち、投与量つまみ１２をゆっくりと回す）場合、上述の位置丸めにより２つの数字間での表示ちらつきが生じることがある。これを防止するために後処理工程は、表示される数字が前の表示数字にいくらか依存するように、ヒステリシス規則を含む。このヒステリシス計算は、結果が表示される前にアルゴリズムで実行される最後の工程である。
【０１０６】
当業者には、上述の重み付け関数および位置決定が単に１つの例であること、ならびに多数の他の計算方法が、同じ結果に到達するために使用されてよいことが理解されよう。当業者にはまた、上述の計算は、計算時間を減らすために修正および改善できることが理解されよう。すなわち、重み付け関数の厳密な形は必須ではない。
【０１０７】
アルゴリズムはまた、たとえば１つまたはそれ以上の数字のサイズを変更することによって、画成された画素領域にまで数字を切り詰めることによって、またイタリックフォントで印刷された数字を直立位置にせん断変形させることによって、数字の画像に対して他の種類の操作を行うように構成することもできる。これらの操作は、記憶されたテンプレートとのパターンマッチング比較の前に行うことができる。あるいは、これらの操作は、２値化処理の前の取込み画像に対する画像前処理工程で行うこともできる。追加のシェーディング、歪みおよび露光補正もまた行うことができる。
【図１ａ】
2019194915.tif 000003
【図１ｂ】
2019194915.tif 000004
【図２ａ】
2019194915.tif 000005
【図２ｂ】
2019194915.tif 000006
【図２ｃ】
2019194915.tif 000007
【図３】
2019194915.tif 000008
【図４】
2019194915.tif 000009
【図５】
2019194915.tif 000010
【図６】
2019194915.tif 000011
【図７】
2019194915.tif 000012
【図８】
2019194915.tif 000013
【図９】
2019194915.tif 000014
【手続補正書】
【提出日】令和1年7月19日(2019.7.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
光学式文字認識処理において文字分離を実行する方法であって：
１つまたはそれ以上の文字列を表す画像データを受ける工程と；
画像データの各列中の黒画素の数を決定する工程と；
列中の黒画素の最大数である垂直分離閾値を定義する工程と；
黒画素の数が垂直分離閾値未満である列を除外することによって、列を異なる画素群と除外された列の群とに分割する工程と；
画像データ中で最も左の文字列を表す画素群を識別する工程と
を含み、
さらに：
除外された列の最も左の群を識別する工程と；
除外された列の最も左の群のすぐ右の画素群が最小数字幅閾値未満であると決定する工程と；
除外された列の最も左の群のすぐ右の画素群を除外する工程と
を含む、
前記方法。
【請求項２】
除外された列の最も左の群の右の第２の画素群を画像データ中の最も左の文字列と定義する工程を含む、請求項１に記載の方法。
【請求項３】
文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定する工程を含む、請求項１または２に記載の方法。
【請求項４】
文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定する工程は、除外された列の最も左の群の幅を決定する工程を含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
除外された列の最も左の群の幅が最大左縁閾値未満である場合に、文字列を表す２つの画素群が画像データ中にあると決定する工程を含む、請求項４に記載の方法。
【請求項６】
画像データ中の最も左の文字列の幅を決定する工程をさらに含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
画像データ中の最も左の文字列の決定された幅を使用して、最も左の文字列が幅の狭い数字に限って含むのか、それとも幅の広い数字を含むのかを決定する工程をさらに含む、請求項６に記載の方法。
【請求項８】
最も左の文字列が幅の狭い数字に限って含むと決定された場合に、最大有効用量結果を「１９」に設定する、請求項７に記載の方法。
【請求項９】
画像の左側境界に触れる画素群を除外する工程をさらに含む、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
左側と右側の文字列間にある除外された列の群を識別することによって、右側文字列の左側境界を識別する工程をさらに含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
左側文字列が最大数字幅閾値よりも幅が広いかどうかを決定する工程と、広い場合に、画像データ中の数字が８〜１０の範囲にあると決定する工程とをさらに含む、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
光学式文字認識処理において文字分離を実行するプロセッサであって：
１つまたはそれ以上の文字列を表す画像データを受け；
画像データの各列中の黒画素の数を決定し；
列中の黒画素の最大数である垂直分離閾値を定義し；
黒画素の数が垂直分離閾値未満である列を除外することによって、列を異なる画素群と除外された列の群とに分割し；
除外された列の最も左の群を識別する工程と、
除外された列の最も左の群のすぐ右の画素群が最小数字幅閾値未満であると決定する工程と、
除外された列の最も左の群のすぐ右の画素群を除外する工程と
により、画像データ中で最も左の文字列を表す画素群を識別する；
ように構成された、前記プロセッサ。
【請求項１３】
除外された列の最も左の群のすぐ右の第２の画素群を、画像データ中の最も左の文字列と定義するように構成される、請求項１２に記載のプロセッサ。
【請求項１４】
文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定するように構成される、請求項１２に記載のプロセッサ。
【請求項１５】
除外された列の最も左の群の幅を決定することによって、文字列を表す１つまたは２つの画素群が画像データ中にあるかどうかを決定するように構成される、請求項１４に記載のプロセッサ。
【請求項１６】
除外された列の最も左の群の幅が最大左縁閾値未満であるとの決定に応答して、文字列を表す２つの画素群が画像データ中にあると決定する、請求項１５に記載のプロセッサ。
【請求項１７】
注射デバイスに取り付けるための補助デバイスであって：
該注射デバイスの可動部材上に存在する１つまたはそれ以上の数字の画像を取り込むように構成された撮像配置と；
請求項１２〜１６のいずれか１項に記載のプロセッサと
を含む、前記補助デバイス。
【外国語明細書】
2019194915000001.pdf