(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について、図面を参照して説明する。
【0019】
図1は、本実施の形態にかかる電子筆記具の概略構成図である。
【0020】
図1において、本実施の形態にかかる電子筆記具は、デジタルペン1である。デジタルペン1は、制御部11、圧力センサ12、LED(Light Emitting Diode)13(光源)、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサ14(画像センサ)、情報メモリ15、通信インターフェース(I/F)16、バッテリ17、スイッチ18及びペンチップ19を備えている。制御部11は、ペン全体の動作を制御し、マイコンやメモリなどで構成されている。制御部11には、デジタルペン1による筆記動作をペンチップ19に加わる圧力によって検出する圧力センサ12が接続されている。また、制御部11には、用紙3上に赤外光を照射するLED(Light Emitting Diode)13、及び用紙3からの赤外反射光を検知することによってコードパターン画像を読み取るCMOSイメージセンサ14が接続されている。また、制御部11には、後述する識別情報及び位置情報を記憶するための情報メモリ15、PC(Personal Computer)2等の外部装置と通信するための通信I/F16、ペンを駆動するためのバッテリ17、及びデジタルペン1の動作モードの切り替えを受け付けるスイッチ18も接続されている。
【0021】
デジタルペン1の動作モードは、例えば、筆記モードとオプションモードがある。筆記モードは、デジタルペン1で記載された文字や図形などが、PC2に送信されるモードである。オプションモードは、例えば、制御部11がCMOSイメージセンサ14に用紙3上の特定の領域のコードパターン画像を読み取らせ、通信I/F16を介してPC2に送信するモードである。スイッチ18が押下されると、筆記モード又はオプションモードが制御部11に交互に設定される。
【0022】
用紙3には、コードパターン画像が不可視の状態で印刷されている。コードパターン画像は、識別情報に対応する識別コード及び位置情報に対応する位置コードを含む。識別情報は、用紙を識別する情報であり、例えばシリアル番号である。位置情報は、用紙上の位置を特定する情報である。例えば、位置情報はXY座標で用紙上の位置を特定する。
【0023】
筆記モードで、ユーザがデジタルペン1を用いて用紙3上に文字又は図形を記載すると、LED(Light Emitting Diode)13が用紙3上に赤外光を照射し、CMOSイメージセンサ14が用紙3からの赤外反射光を検知することによってコードパターン画像を読み取る。制御部11は、この読み取られたコードパターン画像から文字又は図形の情報(即ち、位置情報)及び識別情報を取得し、文字又は図形の情報及び識別情報を通信I/F16を介してPC2に送信する。
【0024】
ところで、用紙3に対するデジタルペン1の傾斜角は、デジタルペン1を使用するユーザ毎に異なる。また、デジタルペン1は、室内で使用される場合もあるが、屋外で使用される場合もある。このようなデジタルペン1の使用状態や使用環境によって、制御部11が受信するCMOSイメージセンサ14からのコードパターン画像の出力は変動する。このため、制御部11がコードパターン画像から文字又は図形の情報を正確に読み取るためには、コードパターン画像の出力変動を抑制する必要がある。本実施の形態では、制御部11が、CMOSイメージセンサ14の露光時間、CMOSイメージセンサ14の出力ゲイン、又はLED13の発光量を調整することにより、コードパターン画像の出力変動を抑制する。
【0025】
図2(A)は、
図1に示す制御部11の構成を示すブロック図である。
【0026】
制御部11は、統括制御部31(検出手段、制御手段)、発光制御部32、受光制御部33、画像処理部34及びメモリ35を備える。統括制御部31は、圧力センサ12やスイッチ18から入力される信号に基づき、発光制御部32、受光制御部33、および画像処理部34を制御する。また、統括制御部31は、CMOSイメージセンサ14から入力されるデータの光量を検出する。統括制御部31は、CMOSイメージセンサ14から入力されるデータの光量及びメモリ35に格納された後述するテーブル情報に基づき、LED13の制御内容を発光制御部32に設定し、CMOSイメージセンサ14の制御内容を受光制御部33に設定する。
【0027】
発光制御部32は、設定されたLED13の制御内容に基づき、LED13の発光動作を制御する。受光制御部33は、設定されたCMOSイメージセンサ14の制御内容に基づき、CMOSイメージセンサ14の受光動作を制御する。画像処理部34は、統括制御部31から受けた指示に基づき、CMOSイメージセンサ14から入力されるデータに画像処理を施して通信I/F16に出力する。
【0028】
図2(B)は、
図2(A)に示す画像処理部34の構成を示すブロック図である。
【0029】
画像処理部34は、2値化処理部34a、ドット検出部34b及びコード解析部34cを備える。2値化処理部34aは、CMOSイメージセンサ14から入力されるデータを画素毎に2値化して出力する。ドット検出部34bは、2値化処理されたデータからドットを検出する。コード解析部34cは、検出されたドットの配列からコードパターン画像の解析を行うとともに、解析したコードパターン画像から識別情報や位置情報等の情報を取得し、取得した情報を通信I/F16に出力する。なお、コード解析部34cから出力される情報は、必要に応じて、一次的に情報メモリ15に記憶される。2値化処理部34aで行われる2値化処理、ドット検出部34bで行われるドット検出処理、及びコード解析部34cで行われるコード解析処理は、まとめてデコード処理と呼ばれる。
【0030】
図3は、CMOSイメージセンサ14に含まれる各セルの構造を示す図である。
【0031】
CMOSイメージセンサ14に含まれるセル40は、フォトダイオード41、トランジスタ42,43、電荷転送スイッチ44、電荷転送ゲート45、リセット端子46,47、電源端子48、及び電荷蓄積コンデンサ49を備えている。さらに、セル40は、行選択トランジスタ50、電荷読み出しトランジスタ51、行選択端子52、アンプ53、出力端子54及び定電流源55を備えている。電源端子48は、不図示のバッテリ17に接続されている。電荷転送ゲート45、リセット端子46,47及び出力端子54は、不図示の制御部11に接続されている。
【0032】
フォトダイオード41は、入力した光を光電変換し、電荷を蓄積する。制御部11は、リセット端子46を介してトランジスタ42をオン・オフすることによって、フォトダイオード41に電荷を蓄積する時間、即ち露光時間を決定する。また、制御部11は、電荷転送ゲート45を介して電荷転送スイッチ44をオンにすることで、フォトダイオード41から電荷蓄積コンデンサ49に電荷を蓄積する。また、制御部11は、リセット端子47を介してトランジスタ42をオン・オフすることによって、電荷が読み出された後の電荷蓄積コンデンサ49を初期化する。電荷蓄積コンデンサ49に蓄積された電荷は、行選択端子52を介して行選択信号が行選択トランジスタ50に入力されたときに、電圧としてアンプに53に入力される。アンプ53は、制御部11からの出力ゲインの値に応じてデータを増幅し、出力端子54を介して制御部11に出力する。尚、アンプ53は、各セルに含まれるのではなく、後述するように、CMOSイメージセンサ14が1個のアンプ53を備える。
【0033】
図4は、CMOSイメージセンサ14の構成図である。
【0034】
図4では、CMOSイメージセンサ14は、12個のセル40、水平シフトレジスタ61、垂直シフトレジスタ62、列選択トランジスタ63a〜63d、及び4個の定電流源55を備えている。水平シフトレジスタ61は、1列目の3個のセル40に蓄積されたデータを読み出す場合に、列選択トランジスタ63aに列選択信号を出力する。同様に、水平シフトレジスタ61は、2列目の3個のセル40に蓄積されたデータを読み出す場合に、列選択トランジスタ63bに列選択信号を出力する。水平シフトレジスタ61は、3列目の3個のセル40に蓄積されたデータを読み出す場合に、列選択トランジスタ63cに列選択信号を出力する。水平シフトレジスタ61は、4列目の3個のセル40に蓄積されたデータを読み出す場合に、列選択トランジスタ63dに列選択信号を出力する。
【0035】
垂直シフトレジスタ62は、1行目の4個のセル40に蓄積されたデータを読み出す場合に、1行目のセル40内の行選択トランジスタ50に行選択信号を出力する。垂直シフトレジスタ62は、2行目の4個のセル40に蓄積されたデータを読み出す場合に、2行目のセル40内の行選択トランジスタ50に行選択信号を出力する。垂直シフトレジスタ62は、3行目の4個のセル40に蓄積されたデータを読み出す場合に、3行目のセル40内の行選択トランジスタ50に行選択信号を出力する。
【0036】
図5は、CMOSイメージセンサ14の動作状態を示すタイミングチャートである。
【0037】
図5では、画像フレームが垂直同期信号の1周期毎に入力される。制御部11がリセット端子46にリセット信号を出力し、リセット期間を調整することにより、CMOSイメージセンサ14の露光時間は調整される。例えば、制御部11は、用紙3の紙面が明るい場合には(受光光量が多い場合)、CMOSイメージセンサ14の出力が飽和しないように、露光時間を短くする。制御部11は、用紙3の紙面が暗い場合には(受光光量が少ない場合)、CMOSイメージセンサ14の出力が増加するように、露光時間を長くする。また、制御部11は、リセット端子46にリセット信号を出力する直前に、電荷転送スイッチ44をオンにする信号を電荷転送ゲート45に出力することで、電荷蓄積コンデンサ49に電荷を蓄積する。また、制御部11は、CMOSイメージセンサ14の露光時間のタイミングでリセット端子47にリセット信号を出力し、電荷蓄積コンデンサ49を初期化する。
【0038】
垂直シフトレジスタ62は、1フレーム期間中に3行分の行選択信号を出力する。行選択信号が出力されてから次の行選択信号が出力されるまでの期間は、水平同期信号の1周期に相当する。水平シフトレジスタ61は、この水平同期信号の1周期の間に、1つの行に含まれる4つのセルに対応する4つの列選択信号を列選択トランジスタ63a〜63dにそれぞれ出力する。この結果、リセット期間中に12個のセル40からデータがそれぞれ読み出される。
【0039】
図6(A)〜(F)は、メモリ35に格納されるテーブル情報の例を示す図である。
【0040】
図6(A)〜(F)において、設定値は、制御部11内の統括制御部31が、発光制御部32又は受光制御部33に設定する値である。
図6(A)〜(F)において、光量は、統括制御部31が検出するCMOSイメージセンサ14からのデータの光量の閾値を示す。CMOSイメージセンサ14の露光時間、CMOSイメージセンサ14のゲイン、LED13に供給される電流量及びLED13の発光時間は、統括制御部31によって制御される内容を示す。
【0041】
例えば、
図6(A)では、統括制御部31が、CMOSイメージセンサ14からのデータの光量が「3」未満である場合に、設定値1として、1/100秒の露光時間を示す情報を受光制御部33に設定する。この場合、受光制御部33は、CMOSイメージセンサ14の露光時間が1/100秒になるように、トランジスタ42に送るリセット信号を制御する。
【0042】
例えば、
図6(B)では、統括制御部31が、CMOSイメージセンサ14からのデータの光量が「3」未満である場合に、設定値1として、ゲイン「20」を示す情報を受光制御部33に設定する。この場合、受光制御部33は、CMOSイメージセンサ14のゲインが「20」になるように、アンプ53を制御する。ここでは、CMOSイメージセンサ14の最大出力を10としている。
【0043】
例えば、
図6(C)では、統括制御部31が、CMOSイメージセンサ14からのデータの光量が「3」未満である場合に、設定値1として、50mAの電流量を示す情報を発光制御部32に設定する。この場合、発光制御部32は、LED13に供給される電流量が50mAになるように、LED13に供給される電流量を制御する。
【0044】
例えば、
図6(D)では、統括制御部31が、CMOSイメージセンサ14からのデータの光量が「3」未満である場合に、設定値1として、1/100秒の発光時間を示す情報を発光制御部32に設定する。この場合、発光制御部32は、LED13の発光時間が1/100秒になるように、LED13に供給される電流のデューティ比を制御する。当然、LED13は、CMOSイメージセンサ14の露光期間中に発光する。
【0045】
図6(A)〜(D)に示すように、統括制御部31は、CMOSイメージセンサ14からのデータの光量に基づいて、CMOSイメージセンサ14の露光時間、CMOSイメージセンサ14のゲイン、LED13に供給される電流量及びLED13の発光時間の少なくとも1つを制御する。これにより、CMOSイメージセンサ14の出力変動が抑制される。
【0046】
また、
図6(E)に示すように、統括制御部31は、CMOSイメージセンサ14からのデータの光量に基づいて、CMOSイメージセンサ14の露光時間及びゲインの組み合わせを制御してもよい。この場合、統括制御部31は、CMOSイメージセンサ14のゲインの値を変動することによって、CMOSイメージセンサ14の感度を調整し、さらに、露光時間の値を変動することによって、CMOSイメージセンサ14の感度を調整する。また、
図6(F)に示すように、統括制御部31は、CMOSイメージセンサ14からのデータの光量に基づいて、CMOSイメージセンサ14のゲイン及びLED13に供給される電流量の組み合わせを制御してもよい。この場合、統括制御部31は、CMOSイメージセンサ14のゲインの値を変動することによって、CMOSイメージセンサ14の感度を調整し、さらに、LED13に供給される電流量を変動することによって、CMOSイメージセンサ14の感度を調整する。統括制御部31が制御する組み合わせには、CMOSイメージセンサ14の露光時間、CMOSイメージセンサ14のゲイン、LED13に供給される電流量及びLED13の発光時間の少なくとも2つが含まれていればよい。
【0047】
尚、
図6(A)〜(F)のテーブル情報は一例であって、これらに限定されるものではない。例えば、テーブル情報内の光量の閾値や設定値をより細かく設定してもよい。
【0048】
また、例えば、デジタルペン1は、メモリ35に格納される複数のテーブル情報のうち、使用するテーブル情報を設定するスイッチ(設定手段)を備えていてもよい。このスイッチは、統括制御部31に接続される。あるいは、統括制御部31は、使用するテーブル情報を設定する設定コマンドをPC2から通信I/F16を介して受信し、この設定コマンドに応じて使用するテーブル情報を統括制御部31自身に設定してもよい。
【0049】
図7は、
図6(A)〜(F)の各テーブル情報に含まれる光量と設定値との関係を示す図である。
図7において、縦軸は設定値(
図6(A)〜(F)の設定1〜設定4)を示し、横軸は光量の値を示す。閾値1〜3は、例えば、
図6(A)〜(F)の光量「3」、「5」、「7」が対応する。
【0050】
図8は、統括制御部31に実行される処理を示すフローチャートである。ここでは、
図7に示す、テーブル情報に含まれる光量と設定値との関係を前提とする。
【0051】
まず、統括制御部31は、受光制御部33にCMOSイメージセンサ14の初期設定を行う(ステップS1)。ここでは、例えば、CMOSイメージセンサ14のリセットが実行され、受光制御部33に設定値1が設定される。
【0052】
次に、統括制御部31は、CMOSイメージセンサ14からのデータの光量を検出する(ステップS2)。そして、統括制御部31は、CMOSイメージセンサ14からのデータの光量が、テーブル情報に含まれる光量の閾値1よりも大きいか否かを判別する(ステップS3)。ステップS3の判別でNOの場合には、統括制御部31は、設定値1を発光制御部32及び/又は受光制御部33に設定する(ステップS4)。手順はステップS2に戻る。
【0053】
ステップS3の判別でYESの場合には、統括制御部31は、CMOSイメージセンサ14からのデータの光量が、テーブル情報に含まれる光量の閾値2よりも大きいか否かを判別する(ステップS5)。ステップS5の判別でNOの場合には、統括制御部31は、設定値2を発光制御部32及び/又は受光制御部33に設定する(ステップS6)。手順はステップS2に戻る。
【0054】
ステップS5の判別でYESの場合には、統括制御部31は、CMOSイメージセンサ14からのデータの光量が、テーブル情報に含まれる光量の閾値3よりも大きいか否かを判別する(ステップS7)。ステップS7の判別でNOの場合には、統括制御部31は、設定値3を発光制御部32及び/又は受光制御部33に設定する(ステップS8)。手順はステップS2に戻る。ステップS7の判別でYESの場合には、統括制御部31は、設定値4を発光制御部32及び/又は受光制御部33に設定する(ステップS9)。手順はステップS2に戻る。
【0055】
統括制御部31は、CMOSイメージセンサ14からの新たなデータ(即ち、新たな画像フレーム)が入力される度に、ステップS2〜S9の手順を実行する。また、ステップS4、S6、S8、S9で設定値が設定された発光制御部32及び/又は受光制御部33は、テーブル情報に従って、CMOSイメージセンサ14の露光時間、CMOSイメージセンサ14のゲイン、LED13に供給される電流量及びLED13の発光時間の少なくとも1つを制御する。
【0056】
このように、
図7及び
図8では、統括制御部31は、CMOSイメージセンサ14からの新たなデータ(即ち、新たな画像フレーム)が入力される度に、CMOSイメージセンサ14からのデータの光量とテーブル情報に含まれる光量の閾値との大小関係に基づいて、CMOSイメージセンサ14の露光時間、CMOSイメージセンサ14のゲイン、LED13に供給される電流量及びLED13の発光時間の少なくとも1つを制御する。よって、CMOSイメージセンサ14の出力変動が抑制される。
【0057】
図9は、テーブル情報に含まれる光量と設定値との関係の他の例を示す図である。
図9において、縦軸は設定値を示し、横軸は光量の値を示す。この場合、テーブル情報には、3つの設定値と、光量の4つの閾値が含まれている。統括制御部31によって制御される内容は、CMOSイメージセンサ14の露光時間、CMOSイメージセンサ14のゲイン、LED13に供給される電流量及びLED13の発光時間の少なくとも1つである。
【0058】
図10は、統括制御部31に実行される処理の他の例を示すフローチャートである。ここでは、
図9に示す、テーブル情報に含まれる光量と設定値との関係を前提とする。
【0059】
まず、統括制御部31は、受光制御部33にCMOSイメージセンサ14の初期設定を行う(ステップS11)。ここでは、例えば、CMOSイメージセンサ14のリセットが実行され、受光制御部33に設定値1が設定される。
【0060】
次に、統括制御部31は、CMOSイメージセンサ14からのデータの光量を検出する(ステップS12)。このとき、初回だけ、検出値を前回データとして登録する。そして、統括制御部31は、CMOSイメージセンサ14からのデータの光量が、テーブル情報に含まれる光量の閾値1よりも大きいか否かを判別する(ステップS13)。ステップS13の判別でNOの場合には、統括制御部31は、設定値1を発光制御部32及び/又は受光制御部33に設定する(ステップS14)。手順はステップS12に戻る。
【0061】
ステップS13の判別でYESの場合には、統括制御部31は、CMOSイメージセンサ14からのデータの光量が、テーブル情報に含まれる光量の閾値2よりも大きいか否かを判別する(ステップS15)。ステップS15の判別でNOの場合には、統括制御部31は、CMOSイメージセンサ14からの前回のデータの光量が、テーブル情報に含まれる光量の閾値2よりも大きいか否かを判別する(ステップS16)。ステップS16の判別でNOの場合には、統括制御部31は、設定値1を発光制御部32及び/又は受光制御部33に設定する(ステップS17)。手順はステップS12に戻る。ステップS16の判別でYESの場合には、統括制御部31は、設定値2を発光制御部32及び/又は受光制御部33に設定する(ステップS18)。手順はステップS12に戻る。
【0062】
ステップS15の判別でYESの場合には、統括制御部31は、CMOSイメージセンサ14からのデータの光量が、テーブル情報に含まれる光量の閾値3よりも大きいか否かを判別する(ステップS19)。ステップS19の判別でNOの場合には、統括制御部31は、設定値2を発光制御部32及び/又は受光制御部33に設定する(ステップS20)。手順はステップS12に戻る。
【0063】
ステップS19の判別でYESの場合には、統括制御部31は、CMOSイメージセンサ14からのデータの光量が、テーブル情報に含まれる光量の閾値4よりも大きいか否かを判別する(ステップS21)。ステップS21の判別でNOの場合には、統括制御部31は、CMOSイメージセンサ14からの前回のデータの光量が、テーブル情報に含まれる光量の閾値3よりも大きいか否かを判別する(ステップS22)。ステップS22の判別でNOの場合には、統括制御部31は、設定値2を発光制御部32及び/又は受光制御部33に設定する(ステップS23)。手順はステップS12に戻る。ステップS22の判別でYESの場合には、統括制御部31は、設定値3を発光制御部32及び/又は受光制御部33に設定する(ステップS24)。手順はステップS12に戻る。
【0064】
ステップS21の判別でYESの場合には、統括制御部31は、設定値3を発光制御部32及び/又は受光制御部33に設定する(ステップS25)。手順はステップS12に戻る。
【0065】
統括制御部31は、CMOSイメージセンサ14からの新たなデータ(即ち、新たな画像フレーム)が入力される度に、ステップS12〜S25の手順を実行する。また、ステップS14、S17、S18、S20、S23〜S25で設定値が設定された発光制御部32及び/又は受光制御部33は、テーブル情報に従って、CMOSイメージセンサ14の露光時間、CMOSイメージセンサ14のゲイン、LED13に供給される電流量及びLED13の発光時間の少なくとも1つを制御する。
【0066】
このように、
図9及び
図10では、統括制御部31は、CMOSイメージセンサ14からの新たなデータ(即ち、新たな画像フレーム)が入力される度に、CMOSイメージセンサ14からのデータの光量とテーブル情報に含まれる光量の閾値との大小関係及びCMOSイメージセンサ14からの前回のデータの光量とテーブル情報に含まれる光量の閾値との大小関係に基づいて、CMOSイメージセンサ14の露光時間、CMOSイメージセンサ14のゲイン、LED13に供給される電流量及びLED13の発光時間の少なくとも1つを制御する。よって、
図7及び
図8の場合に比べて、CMOSイメージセンサ14の出力変動がより抑制される。
【0067】
以上説明したように、本実施の形態によれば、統括制御部31は、CMOSイメージセンサ14が新たなデータ(画像フレーム)を受信する度に、統括制御部31で検出されたCMOSイメージセンサ14から入力されるデータの光量及びテーブル情報に基づいて、LED13又はCMOSイメージセンサ14の動作を制御する。よって、デジタルペン1は、デジタルペン1の使用状態や使用環境によって生じるCMOSイメージセンサ14からの出力変動を抑制するので、従来の電子筆記具よりも、画像を正確に読み取ることができる。また、CMOSイメージセンサ14の感度が調整されるので、画像のデコード処理が安定的に動作する。
【0068】
さらに、デジタルペン1は、テーブル情報を用いて、CMOSイメージセンサ14の露光時間を調整するので、従来のように、複雑な計算を必要とするフィードバック制御を用いて、CMOSイメージセンサ14の露光時間を制御しない。よって、デジタルペン1は、画像を高速に読み取ることができる(高速応答性が高い)。また、従来のように、複雑な計算を必要とするフィードバック制御を用いると、リミットサイクル発振が生じるが、デジタルペン1ではリミットサイクル発振が生じないというメリットがある。
【0069】
デジタルペン1の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、PC2に供給し、制御部11が記憶媒体に格納されたプログラムをPC2から読み出し実行することによっても、上記実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、CD−ROM、DVD、又はSDカードなどがある。
【0070】
また、制御部11が、デジタルペン1の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記実施の形態と同様の効果を奏する。