(57)【特許請求の範囲】
【請求項１】
送信原稿上に記入された宛先情報を読み取ってその宛先情報のイメージデータを出力する原稿読取手段(100) 、
前記宛先情報のイメージデータを送信する第１条件または前記宛先情報のイメージデータを送信しない第２条件を設定する送信条件設定手段(NSMODE,S610) 、
前記送信条件設定手段によって前記第１条件が設定されているとき前記宛先情報のイメージデータを送信する第１送信手段(CPU,S628)、
前記送信原稿の前記宛先情報以外の領域を読み取った前記原稿読取手段の出力を送信する第２送信手段(S626-S629) 、
前記原稿読取手段が前記宛先情報以外の領域を読み取るときの読取精度を可変的に設定する第１読取精度設定手段(44)、および
前記原稿読取手段が前記宛先情報を読み取るとき前記第１読取精度設定手段によって設定された読取精度に拘わらず特定の読取精度を設定する第２読取精度設定手段(S302)を備え、
前記第１送信手段は前記宛先情報のイメージデータを前記第１読取精度設定手段によって設定された読取精度に従って送信する(S616,S623) 、ファクシミリ装置。
【請求項２】
前記原稿読取手段によって前記宛先情報を読み取ったイメージデータを格納するラインバッファ(68)を備え、
前記第１送信手段は前記ラインバッファに格納されたイメージデータを送信する、請求項１記載のファクシミリ装置。
【請求項３】
前記送信条件設定手段によって前記第２条件が設定されているとき前記宛先情報のイメージデータを空白イメージデータとして送信する第３送信手段(S616,S625,S920-S923) を備える、請求項１記載のファクシミリ装置。
【請求項４】
前記第３送信手段は前記空白イメージデータを前記第１読取精度設定手段によって設定された読取精度に従って送信する(S625)、請求項３記載のファクシミリ装置。
【請求項５】
宛先情報を手動的に入力する手動入力手段(16)、および
前記原稿読取手段から出力される前記宛先情報のイメージデータに基づいて前記宛先情報を認識する認識手段(60,S4,S5)を備え、
前記送信条件設定手段は前記宛先情報が前記認識手段によって認識された後前記手動入力手段によって宛先情報が手動的に入力されたとき前記第１条件を設定する、請求項１ないし４のいずれかに記載のファクシミリ装置。
【請求項６】
前記原稿読取手段から出力されるイメージデータを受け、そのイメージデータに基づいて前記宛先情報が記入された前記原稿上の領域を特定する領域特定手段(60,S303-S310)を備え、前記認識手段は前記領域特定手段によって特定された領域を前記原稿読取手段が読み取ったイメージデータに従って前記宛先情報を認識する、請求項５記載のファクシミリ装置。
【請求項７】
前記領域特定手段は、前記原稿読取手段からの前記イメージデータを受け、最初に黒ドットが検出されることによって決まる開始ラインと前記開始ライン以後に黒ドットが検出されない少なくとも１つの全白ラインが出現したことによって決まる終了ラインとに基づいて領域を特定する、請求項６記載のファクシミリ装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明はファクシミリ装置に関し、特にたとえば送信原稿上に手書きされた宛先情報を読み取り、この読み取った宛先情報に基づいて発呼する、ファクシミリ装置に関する。
【０００２】
【従来の技術】
たとえば、平成１年７月１１日付で出願公開された特開平１−１７５３６３号公報〔Ｈ０４Ｎ  １／３２〕には、送信原稿に記載されている宛先を読み取り、この読み取った宛先に基づいて自動ダイヤルを行う、ファクシミリ装置が開示されている。この従来技術では、送信原稿の所定位置に手書き欄を設け、そこに宛先電話番号を手書きし、この手書き宛先電話番号を文字認識部によって読み取るようにしている。
【０００３】
また、平成３年２月２０日付で出願公開された特開平３−３８９６５号公報〔Ｈ０４Ｎ  １／３２〕には、送信原稿の頭部に記載された電話番号の文字またはバーコードを走査してその画像を読み取り、その電気信号を出力し、電気信号から電話番号を認識し、認識した電話番号を自動ダイヤルする、ファクシミリ装置が開示されている。
【０００４】
さらに、平成４年５月１４日付で出願公開された特開平４−１４０９６３号公報〔Ｈ０４Ｎ  １／３２〕には、第１スライスレベルと第２スライスレベルとの中間の読み取りデータに基づいて相手先電話番号を検出し、それによって自動ダイヤルする、ファクシミリ装置が開示されている。つまり、この従来技術では、送信原稿本文の濃度を第１スライスレベルより高くし、原稿下部の余白に本文より濃度レベルが低い電話番号を記入するか、または本文と電話番号とが同じ濃度レベルの場合、本文と電話番号との間に本文より濃度レベルの低い仕切線を入れることによって、本文と電話番号とを区別して認識するようにしている。
【０００５】
さらに、平成５年８月１３日付で出願公開された特開平５−２０７２５６号公報〔Ｈ０４Ｎ  １／３２〕には、送信原稿をカバーシートの下に置き、そのカバーシートの所定位置に形成された記載欄に宛先電話番号を記入し、これを読み取ることによって自動ダイヤルするようにした、ファクシミリ装置が開示されている。
【０００６】
【発明が解決しようとする課題】
このような自動ダイヤルファクシミリ装置においては、読み取った宛先情報を送信データとして原稿本文の送信データと同様に送信するかどうかを決定する必要がある。なぜなら、その宛先情報を相手先に送って相手先に確認させたい場合などがあるからである。しかしながら、上述のいずれの従来技術もこの点に関しては何も開示していない。
【０００７】
わずかに、特開平４−１４０９６３号公報の従来技術には、宛先情報領域から読み取ったイメージデータを空白データに置換して送信することが記載されている。しかしながら、この従来技術もまた、読み取った宛先情報を送信データとして原稿本文の送信データと同様に送信するかどうかを決定するための具体的な構成は何ら教示していないばかりか、宛先情報のイメージデータを空白イメージデータに置換するかどうか選択的に設定できるものではない。
【０００８】
したがって、いずれの従来技術においても、読み取った宛先情報をどのように処理するか選択的に設定することができず、実用化可能な自動ダイヤルファクシミリ装置にはなっていない。
それゆえに、この発明の主たる目的は、読み取った宛先情報のイメージデータを送信するかどうかを選択的に設定できる、ファクシミリ装置を提供することである。
【０００９】
【課題を解決するための手段】
この発明は、送信原稿上に記入された宛先情報を読み取ってその宛先情報のイメージデータを出力する原稿読取手段(100) 、宛先情報のイメージデータを送信する第１条件または宛先情報のイメージデータを送信しない第２条件を設定する送信条件設定手段(NSMODE,S610) 、送信条件設定手段によって第１条件が設定されているとき宛先情報のイメージデータを送信する第１送信手段(CPU,S628)、送信原稿の宛先情報以外の領域を読み取った原稿読取手段の出力を送信する第２送信手段(S626-S629) 、原稿読取手段が宛先情報以外の領域を読み取るときの読取精度を可変的に設定する第１読取精度設定手段(44)、および原稿読取手段が宛先情報を読み取るとき第１読取精度設定手段によって設定された読取精度に拘わらず特定の読取精度を設定する第２読取精度設定手段(S302)を備え、第１送信手段は宛先情報のイメージデータを第１読取精度設定手段によって設定された読取精度に従って送信する(S616,S623) 、ファクシミリ装置である。
【００１０】
【作用】
送信モータは原稿送りローラを駆動し、それによって送信原稿を副走査方向に移動する。送信原稿が副走査方向に移動する際に、原稿読取手段は送信原稿を主走査方向に走査する。原稿読取手段は、たとえばＣＩＳ（Ｃｏｎｔａｃｔ  Ｉｍａｇｅ  Ｓｅｎｓｏｒ）であり、送信原稿の濃度に応じて黒ドットまたは白ドットの電気信号、すなわちイメージデータを出力する。原稿読取手段から出力される宛先情報のイメージデータは、たとえばラインバッファにストアされる。したがって、たとえば認識手段は、そのラインバッファ中のイメージデータに基づいて、宛先情報を認識する。そして、その認識結果に従って発呼手順が実行される。
【００１１】
送信条件設定手段は、たとえばメモリスイッチであり、ユーザの選択に従って任意に第１条件または第２条件を設定することができる。そして、第１条件が設定されているときには、第１送信手段によって、たとえばラインバッファにストアされた宛先情報のイメージデータが送信される。ただし、第２条件が設定されたとき、ラインバッファのイメージデータに代えて、空白のイメージデータが送信されるようにしてもよい。
【００１２】
【発明の効果】
この発明によれば、送信条件設定手段によって、読み取った宛先情報を送信するかどうかを任意に選択的に設定できるので、必要に応じて宛先情報を相手ファクシミリ装置に送信することができ、実用上非常に有効である。
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００１３】
【実施例】
図１はこの発明の一実施例を示す外観図である。この実施例のファクシミリ装置１０は、ハウジング１２を含み、このハウジング１２の上面には、操作パネル１４が形成される。操作パネル１４には、図２に詳細に示される種々のキーが配置される。
【００１４】
すなわち、操作パネル１４上には、「０〜９」，「＊」および「＃」を含むテンキー１６が設けられ、このテンキー１６は、後述のように、宛先情報を手動的に入力する際に用いられる。図２において「Ａ〜Ｄ」で示される４つのキーの各々はワンタッチダイヤルキー１８であり、それを押すことによって予め登録した宛先にダイヤルすることができる。短縮ダイヤルキー２０は、予め登録したたとえば２桁のコード番号によって宛先情報を入力するために用いられ、この短縮キー２０とテンキー１６とを用いて短縮コードを入力することができる。フラッシュキー２２はいわゆるフラッシング動作を行わせるためのキーであり、このフラッシュキー２２が操作されると、後述のＮＣＵ（Ｎｅｔｗｏｒｋ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）１１４が電話回線を７００ミリ秒〜１秒間ブレイクする。トーンキー２４はダイヤルパルス信号またはＤＴＭＦ（Ｄｕａｌ−Ｔｏｎｅ  Ｍｕｌｔｉ−Ｆｒｅｑｕｅｎｃｙ）  信号の切り換えのためのキーである。ポーズキー２６はダイヤルポーズ期間を設定するために用いられる。リダイヤルキー２８は一旦発呼が行われたが回線が接続されなかった宛先に再度ダイヤルするために用いられる。なお、参照番号３０および３２は、それぞれ、保留キーおよびハンズフリーキーを示す。
【００１５】
図２においてテンキー１６の上方には、メニューキー３４が設けられ、このメニューキー３４は機能選択キーである。すなわち、メニューキー３４を押すことによって、メニューを選択することができる。なお、このメニューキー３４は、後に説明するように、液晶表示器（ＬＣＤ：Ｌｉｃｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）３６においてカーソル３８を上位桁方向すなわち左方向に移動させるためのキーとしても用いられる。セットキー４０は、メニューキー３４で設定したメニューを確定させるためのキーである。ただし、セットキー４０は、ＬＣＤ３６上のカーソル３８を下位桁方向すなわち右方向に移動させるためにも用いられる。モードキー４２はファクスモード，電話モードまたは留守番電話モードを切り換えるためのキーである。画質選択キー４４はノーマル送信モード，ファイン送信モードおよび中間調送信モードのいずれかを選択する。
【００１６】
原稿種類キー４６は原稿の濃淡を切り換えたり、あるいは中間調を選択するために用いられる。ダイヤルバンクキー４８は、ＳＲＡＭ６８（後述）に蓄積された宛先情報を読み出すために用いられる。すなわち、たとえばテンキー１６によって手動的に宛先情報を入力すると、その都度その宛先情報がＳＲＡＭ６８に登録される。ダイヤルバンクキー４８を操作することによって、過去の発信頻度順位の第１位から第２０位までの宛先情報を読み出すことができる。このようにして、ダイヤルバンクキー４６で過去の宛先情報を読み出すことによって、ワンタッチダイヤル登録や短縮ダイヤル登録に利用することができる。また、ダイヤルバンクキー４８によって過去にダイヤルされた宛先情報を読み出すことによって、いわゆるオートダイヤラとしての機能も実現できる。ペーパーセーブキー５０は、ファクシミリ受信の際のファクシミリ用紙を節約するために用いられ、このペーパーセーブキー５０が押されると受信用紙送りピッチを１／２にする。
【００１７】
停止／クリアキー５２は、全ての動作を停止して待機状態にする機能と、登録モード（ワンタッチ登録あるいは自局番号登録）において入力された番号をクリアする機能と、登録モードそれ自体を解除する機能とを果たす。この停止／クリアキー５２は、また、後述の宛先情報認識動作においても操作される。たとえば図１に示すように原稿を挿入した後、宛先情報を認識する動作を開始するまでにこの停止／クリアキー５２が操作されると、その原稿を強制的に排出する。また、図１に示すように挿入された原稿の宛先情報を認識している間（ＬＣＤ３６に「バンゴウヨミトリチュウ」と表示される）、停止／クリアキー５２が操作されると、宛先情報の認識動作を中断し、その認識結果を廃棄する。ただし、この場合でも、ラインバッファ６８（後述）には、ＣＩＳ１００（後述）で読み取ったイメージデータは保持されている。さらに、修正モードあるいはエラー訂正モードにおいて、停止／クリアキー５２が１回操作されると、ＬＣＤ３６上のカーソル３８で示される位置以降の情報が全てクリアされる。また、修正モードまたはエラー訂正モードにおいて、停止／クリアキー５２が２回連続して操作されると、強制的に待機状態に戻る。
【００１８】
スタートキー５４は動作を開始させるときに操作される。たとえば、図１に示すハンドセット５６がオフフック状態にあるとき、またはハンズフリーキー３２がオンされているとき、このスタートキー５４が操作されると、図１のように原稿が挿入されたことに応じて送信動作が開始され、原稿が挿入されていないときには受信動作が開始される。また、ハンドセット５６がオンフック状態のとき、宛先情報が手動的に入力されると、このスタートキー５４の操作に応答して、ダイヤル動作が開始される。また、送信原稿上に記入された宛先情報を認識する際に、原稿が挿入された後このスタートキー５４がオンされると、その送信原稿上に記入された手書き宛先情報の読み取りを開始する。さらに、そのような宛先情報を認識した後にスタートキー５４が操作されると、その認識した宛先情報に従ったダイヤル動作が開始される。ただし、宛先情報の認識にエラーがある場合には、上述のエラー訂正モードに入る。
【００１９】
そして、コピーキー５８は原稿（図１）のコピー動作を実行する際に操作される。
図３は、たとえば東芝製の「ＴＣ３５１６７Ｆ」のようなシングルチップファクシミリプロセサを含む図１実施例のブロック図である。ＣＰＵ６０と他のコンポーネントとはバス６２によって結合される。ＲＯＭ６４は図４に示すように制御プログラム領域６４ａ，認識用辞書領域６４ｂおよびメッセージ（可聴メッセージまたは可視メッセージ）のためのデータ、すなわちメッセージデータをストアするメッセージデータ領域６４ｃを含む。制御プログラム領域６４ａは、後述のフロー図に従った制御プログラムを含む。認識用辞書領域６４ｂは、手書き宛先情報を認識するための辞書であり、パターンマッチングのベクトルや複数のニューラルネットワークを含み、パターンマッチングのベクトルに応じてニューラルネットワークを選択することによって、送信原稿上に記入された宛先情報を認識する。この認識用辞書領域６４ｂは、さらに、２５６テーブル（ビット数検出テーブル）を含む。このビット数検出テーブルは１バイト中の黒ビットの数を示すテーブルであり、ヒストグラムを作成するに際してビット数を検出する際に参照される。
【００２０】
ＶＲＡＭ６６は、図５に示すようにたとえば２５６バイト（＝１２８×２０４８）のビットマップ方式（ビット単位でアクセスする）のラインバッファ６８を含む。
他方、ＳＲＡＭ７６はバイトマップ方式（バイト単位でアクセスする）メモリであり、図６に示すようなメモリスイッチ領域７６ａ，フラグ領域７６ｂ，およびカウンタ，ポインタおよび変数領域７６ｃを含むとともに、ダイヤルバッファ７０，第１文字データテーブル（ＴＢＬ１）７２および第２文字データテーブル（ＴＢＬ２）７４を含む。
【００２１】
メモリスイッチ領域７６ａの発信モードスイッチＲＭＯＤＥ  は、手書き宛先情報を認識した後自動的に発呼するモード（自動発信モード）と、宛先情報を手動的に入力した後に発呼するモード（手動発信モード）とを選択するためのスイッチであり、この発信モードスイッチＲＭＯＤＥ  は「０」で自動発信モードを設定し、「１」で手動発信モードを設定する。
【００２２】
読取待機時間スイッチＲＴＳ  は、自動発信モードにおいて原稿をセットした後手書き宛先情報の読取動作の開始までの時間を設定するためのスイッチであり、このスイッチＲＴＳ  が「０」で設定されると、原稿がセットされた後、スタートキー５４（図２）が押されると直ちに手書き宛先情報の読み取りを開始する。また、このスイッチＲＴＳ  に「１」〜「１０」の可変数が設定されると、原稿がセットされた後、その設定された可変数で表される秒数（ＲＴＳ  秒）経過後自動的に手書き宛先情報の読み取りを開始する。
【００２３】
エラー処理モードスイッチＥＭＯＤＥ  は、手書き宛先情報を認識しているときに、リジェクト文字が発生したときの処理を選択するためのスイッチである。このスイッチＥＭＯＤＥ  が「０」に設定されると、手書き宛先情報を認識中にリジェクト文字（認識不能文字）が発生したとき、その認識を中断し、そのときまでに得られた認識結果を破棄する。また、このエラー処理モードスイッチＥＭＯＤＥ  が「１」で設定されると、リジェクト文字が発生する都度認識動作を中断し、エラー訂正モードに移行する。また、スイッチＥＭＯＤＥ  が「２」で設定されると、手書き宛先情報の全てに対する認識動作を終了した時点でエラー訂正モードに移行する。
【００２４】
認識確認時間スイッチＣＴは、手書き宛先情報の認識の終了後に、その認識結果を確認するための時間を設定するスイッチである。すなわち、このスイッチＣＴが「０」に設定されると、手書き宛先情報の認識結果をＬＣＤ３６（図２）で表示した後、スタートキー５４（図２）の操作に応答して直ちに自動ダイヤル動作を開始する。しかしながら、このスイッチＣＴに「１」〜「１０」の可変数が設定されると、認識結果を表示した後、その可変数で示される秒数（ＣＴ秒）経過後、自動的に、ダイヤル動作を実行する。
【００２５】
番号送信モードスイッチＮＳＭＯＤＥは、手書き宛先情報を認識するためにＣＩＳ１００で読み取ったイメージデータを送信データの一部として送信するか否かを選択するためのスイッチである。このスイッチＮＳＭＯＤＥが「０」で設定されると、宛先情報認識のために読み取ったイメージデータを送信データの一部としては送信しない。スイッチＮＳＭＯＤＥが「１」で設定されると、そのイメージデータを送信データの一部として送信する。
【００２６】
読取送信モードスイッチＳＭＯＤＥ  は、オペレータが希望する送信モードを設定するためのスイッチであり、ＳＭＯＤＥ  ＝「０」はノーマルモードを示し、ＳＭＯＤＥ  ＝「１」はファインモードを示し、ＳＭＯＤＥ  ＝「２」は中間調モードを示す。
フラグ領域７６ｂは、先読みフラグＳＦ，有効イメージ領域フラグＡＦ，有効文字フラグＭＦおよびエラーフラグＥＦを含む。先読みフラグＳＦは、既に認識された宛先情報のデータがダイヤルバッファ７０に存在しているかどうかを示すフラグであり、ＳＦ＝「０」がデータのないことを示し、ＳＦ＝「１」がデータがあることを示す。また、有効イメージ領域フラグＡＦは、ＣＩＳによって現在読み取っている原稿の領域が認識対象となる宛先情報が記載された領域であるか否かを示すフラグであり、ＡＦ＝「０」が宛先情報領域以外の領域を示し、ＡＦ＝「１」が宛先情報領域を示す。有効文字フラグＭＦは、主走査方向において認識の対象となる宛先情報の領域を走査しているか否かを示すフラグであり、ＭＦ＝「０」は領域外を示し、ＭＦ＝「１」は領域内を示す。さらに、エラーフラグＥＦは、宛先情報を認識しているときにリジェクト文字が発生したことまたは認識の中断の指示が発生したことを示すフラグであり、ＥＦ＝「０」はリジェクト文字の発生および認識中断指示の発生のいずれもないことを示し、ＥＦ＝「１」はリジェクト文字の発生または認識中断指示の発生があったことを示す。
【００２７】
ＳＲＡＭ７６のカウンタ，ポインタおよび変数領域７６ｃには、原稿送りカウンタＰＣＮＴが設けられる。この原稿送りカウンタＰＣＮＴは、宛先情報を認識するためにＣＩＳ１００によって読み取られた原稿の副走査方向のライン数をカウントするためのカウンタである。書込ラインカウンタＬＣＮＴは、宛先情報を認識するためにＣＩＳ１００で読み取ったイメージデータをラインバッファ６８に書き込むためのライトポインタである。有効ラインカウンタＢＣＮＴは、主走査方向に２以上の黒ドットが連続するライン（有効ライン）が連続して出現する数をカウントするカウンタである。全白ラインカウンタＷＣＮＴは、主走査方向に２以上の黒ドットが連続しないライン（全白ライン）が連続して出現する数をカウントするためのカウンタである。
【００２８】
第１カラムカウンタ〜第２０４８カラムカウンタは、図７に詳細に示すラインバッファ６８の各カラム毎の黒ドット数をカウントするカウンタであり、第１カラムカウンタ１ＣＣＮＴ  ，第２カラムカウンタ２ＣＣＮＴ  ，第３カラムカウンタ３ＣＣＮＴ  ，…，第２０４８カラムカウンタ２０４８ＣＣＮＴを含む。文字数カウンタＭＣＮＴは、ラインバッファ６８に格納されたイメージデータに含まれる文字数をカウントするためのカウンタである。カラムポインタＣＰＮＴは、ラインバッファ６８の各カラムをアドレスするポインタである。第１データカウンタＤＣＮＴ１  は、第１文字データテーブル７２（図６）のデータを読み出すためのリードポインタであり、第２データカウンタＤＣＮＴ２  は、第２文字データテーブル７４（図６）にデータを書き込むためのライトポインタである。
【００２９】
ダイヤルバッファライトポインタＤＬＢＷは、ダイヤルバッファ７０へ宛先情報のキャラクタコードを書き込むためのライトポインタである。第２テーブルリードポインタＴＲＰＴは、第２文字データテーブル７４のデータを読み出すためのリードポインタである。白送信カウンタＷＬＳＣは、送信すべき全白ラインの数を示すカウンタである。ラインバッファリードポインタＬＢＲＰは、ラインバッファ６８に格納されているイメージデータをライン毎に読み出すためのリードポインタである。スペースカウンタＳＣＮＴは、手書き宛先情報に含まれるスペースが連続して出現する数をカウントするためのカウンタである。停止キーカウンタＳＫＣ  は、停止／クリアキー５２（図２）の操作回数をカウントするためのカウンタである。タイマカウンタＴＭは時間をカウントするためのカウンタである。平均距離レジスタＡＬは、ラインバッファ６８に格納されているイメージデータの文字間平均距離ＡＬを示すデータを書き込むためのレジスタであり、スペース幅レジスタＳＰはラインバッファ６８のイメージデータの文字間スペースの幅ＳＰＣを表すデータを格納するためのレジスタである。
【００３０】
ダイヤルバッファ７０は、原稿上に記入された宛先情報の認識結果または手動的に入力された宛先情報に基づいてＮＣＵ１１４からダイヤルパルスまたはＤＴＭＦ信号を発生させるためのキャラクタコードをストアするためのバッファメモリである。
第１文字テーブル７２および第２文字テーブル７４の各々は、図８に示すように、始点Ｘ領域，始点Ｙ領域，Ｘ幅領域およびＹ幅領域毎に第１格納部〜第３２格納部の３３の格納部を有する文字データテーブルである。この文字データテーブル７２および７４には、１つの文字を上述の４つの領域で表すデータが格納される。文字データテーブル７２および７４は、宛先情報の各文字やスペースを切り出すために用いられる。
【００３１】
なお、このＳＲＡＭ７６は、さらに手書き宛先情報を認識するために必要なイメージバッファおよびヒストグラムバッファを含む。イメージバッファはバイトマップ形式でラインバッファ６８からのイメージデータをストアし、２５６バイト×１６ラインの領域として形成され、ヒストグラムバッファは１×５１２バイトの領域で形成される。ヒストグラムバッファは手書き宛先情報を認識する際に必要なヒストグラムを作成するために利用される。
【００３２】
時計回路７８はクロック信号（図示せず）を受けて現在時刻をカウントするための回路であり、ＶＲＡＭ６６およびＳＲＡＭ７６とともに、バックアップ電池８０によってバックアップされる。
記録制御回路８２は、宛先情報訂正動作，ファクシミリ受信動作またはコピー動作においてファクシミリ用紙にデータを印字するための回路であって、サーマルヘッド８４のためのサーマルヘッドドライバを含む。
【００３３】
ＤＭＡ回路８６は、ＣＰＵ６０の介在なしにたとえばラインバッファ６８からのデータを読み出しあるいはラインバッファ６８へデータを書き込むためのＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）動作を制御するための回路である。
モータ制御回路８８は、送信モータ９０および受信モータ９２を制御する。送信モータ９０および受信モータ９２はいずれもステッピングモータである。送信モータ９０は、図９に示す原稿送りローラ９４および圧接ローラ９６を駆動する。受信モータ９２はファクシミリ用紙ないし記録紙（図示せず）を送り出す。
【００３４】
画処理回路９８はＣＩＳ１００からの「１」または「０」で出力されるビットイメージデータを受ける中間調処理回路を含む。なお、この中間調処理において、たとえばディザ法に従ってＣＩＳ１００のスライスレベルを変更する。
符号化回路１０２は、ＣＩＳ１００からの１ライン分のデータをＭＨ（Ｍｏｄｉｆｉｅｄ  Ｈａｆｆｍａｎｎ）  コードに変換し、それをＳＲＡＭ７６に与える。したがって、このＳＲＡＭ７６には、ＣＩＳ１００からの１ライン分のデータのＭＨコードが１ライン毎に格納される。そして、このＭＨコードは、ＣＰＵ６０によってフィル（Ｆｉｌｌ）符号が付加された後、ＦＩＦＯ方式で、モデム１０４に与えられる。
【００３５】
なお、第１原稿センサ１０６および１０８は、図９に示すように、原稿送りローラ９４を挟む位置に配置される。第１原稿センサ１０６は原稿送りローラの位置に原稿が送られてきたことすなわち原稿の存在を検出する。また、第２原稿センサ１０８はＣＩＳ１００の位置に原稿が送られてきたことすなわち原稿が読取位置に達したことを検出する。これらセンサ１０６および１０８はセンサＩ／Ｏポート１４０に接続される。
【００３６】
モデム１０４は、ＤＴＭＦ発生回路を含み、ＣＰＵ６０からの指示に従ったモードでＤＴＭＦ信号を出力する。モデム１０４は、さらに、音声応答回路１１２を含み、この音声応答回路１１２は、ＮＣＵ１１４によって電話回線を捕捉したときに発呼側に返すたとえば「お待ち下さい」などの音声データをメッセージデータ領域６４ｃ（図４）のデータに従って返送する。なお、モデム１０４は、当然、変復調回路を含む。
【００３７】
ＮＣＵ１１４の詳細が図１０に示される。図１０を参照して、電話回線Ｌ１およびＬ２は、ＣＭＬスイッチを介してトランス１１６に接続される。したがって、ＣＭＬスイッチは、電話回線Ｌ１およびＬ２を、トランス１１６を介してモデム１０４に接続するか、スピーチネットワーク１１８を介してハンドセット５６に接続するかを切り換える。
【００３８】
待機状態では、ＣＭＬスイッチはハンドセット５６側に切り換えられていて、リンガ信号（１６Ｈｚ）が回線Ｌ１Ｌ２から出力されると、コンデンサおよび抵抗を介してトランス１１６にリンガ信号が与えられる。したがって着信検出回路１２０がリンガ信号を検出し、ＣＰＵ６０（図３）に着信を知らせる。
ＣＰＵ６０は、着信検出回路１２０からの着信信号が与えられると、リレードライブ回路１２２を介してＣＭＬスイッチをトランス１１６側に切り換える。応じて、モデム１０４−トランス１１６−ＭＣＬスイッチ−Ｌ１Ｌ２のラインが形成され、先に述べた「音声応答」が行われ、あるいは発呼側からのファクス識別信号、すなわちＣＮＧ信号（１１００Ｈｚ、０．５秒オン、３秒オフ）を検出する。したがって、このＮＣＵ１１４は、発呼側にファクス信号（たとえばＮＳＦ，ＣＳＩ，ＤＩＳ）を返送する。そして、発呼側がこのようなファクス信号を受けると、たとえばＮＳＳ（またはＴＳＩ，ＧＣＳ）の信号が送られ、２つのファクスの間での機能の確認が行われる。その後、トレーニングモードが実行され、モデム１０４の機能の確認が行われる。すなわち、まず９６００ボーでデータが送信され、次いで７２００ボー，４８００ボー，そして２４００ボーで順次データが送信され、２つのファクスの間でデータの授受可能な通信速度を設定する。そして、ＮＣＵ１１４からＣＦＲ信号を発呼側に返し、それに応じて、発呼側からファクスイメージ信号が回線Ｌ１，Ｌ２を介して送られる。
【００３９】
なお、各信号（ＮＳＦ，ＣＳＩ，ＤＩＳ，…，ＣＦＲなど）は、ＣＰＵ６０によってその信号を構成した後モデム１０４に対してその送信を指示する。
ファクス送信時において、たとえばテンキー１６（図２）によって宛先情報が入力され、スタートキー５４が操作されると、ＣＰＵ６０によってＣＭＬスイッチがトランス１１６側すなわちモデム１０４側に切り換わる。その後、３秒間回線の捕捉を確認する。そして、ＣＰＵ６０は、回線の確立を確認すると、ＤＰ制御回路１２４に信号を与える。応じて、ＤＰ制御回路１２４がＤＰスイッチをダイヤルバッファ７０（図６）にストアされたキャラクタコードに従ってオンまたはオフすることによって、回線Ｌ１，Ｌ２に発呼信号を与える。続いて、ＣＰＵ６０の指令に応答して、モデム１０４がＣＮＧ信号をトランス１１６および回線Ｌ１，Ｌ２を介して出力する。その後は先に述べたファクシミリ受信動作の逆である。
【００４０】
また、電話発呼の場合、ハンドセット５６が取り上げられ、フックスイッチＨＳがオン（メイク）される。したがって、回線Ｌ１，Ｌ２からトーン信号がＣＭＬスイッチを介してハンドセット５６で聞こえる。一方、フックスイッチ検出回路１２６がオンフック状態を検出する。このオンフック信号がＣＰＵ６０に与えられる。したがって、ＣＰＵ６０は、宛先情報が入力されていることおよびフックスイッチＨＳがオンされていることを条件に、ＣＭＬスイッチをトランス１１６側に切り換える。したがって、ＤＰ制御回路１２４がＤＰスイッチをオンまたはオフ制御し、発呼する。その後、一定時間いずれのキーも押されなかったことを条件として、ＣＭＬスイッチをフックスイッチＨＳ側に切り換え、ハンドセット５６との間で通話を可能にする。
【００４１】
なお、このようなＮＣＵ１１６の詳細な構成および動作は既によく知られたところでありかつ重要ではないので省略する。
ただし、図１０に示すスピーカ１２８は、図１に示すようにハウジング１２の側面に設けられ、ＮＣＵ制御Ｉ／Ｏポート１３０（図３）からの信号に応じて、スピーカドライブ回路１３２がスイッチ１３４をオンしたとき、スピーカ１２８から音声メッセージを出力することができる。
【００４２】
次に、図１１以降のフロー図を参照して、上述の実施例の動作について説明する。
図１１は動作の概略を示すフロー図である。最初のステップＳ１においては、ＣＰＵ６０（図３）は初期化を実行するとともに、操作パネル１４の各キーの操作をチェックする。次のステップＳ２では、ＣＰＵ６０は、原稿上に手書きされた宛先情報を自動的に認識するかどうかをチェックする。したがって、このステップＳ２において宛先情報を認識すべきであると判断した場合には、次のステップＳ３において、送信原稿上の宛先情報の有無をチェックするとともに、その宛先情報が記入されている場合には、宛先情報のイメージデータをラインバッファ６８に取り込む。そして、ステップＳ４において、手書きされた宛先情報の各文字のパターンデータを切り出すとともに、ステップＳ５において、切り出された文字を認識する。ステップＳ５で認識された宛先情報に従って、ステップＳ６では、送信処理が行われる。
【００４３】
図１１の最初のステップＳ１が図１２に詳細に示される。図１２の最初のステップＳ１００では、ＣＰＵ６０は、原稿が挿入されたかどうかを判断する。すなわち、このステップＳ１００では、ＣＰＵ６０は第１原稿センサ１０６（図９）からの検出信号があるかどうかを判断する。原稿挿入検出信号が第１原稿センサ１０６から得られないとき、ステップＳ１０１において、ＣＰＵ６０は、先読みフラグＳＦおよびエラーフラグＥＦをそれぞれクリアする。そして、次のステップＳ１０２において、操作パネル１４の各キーの操作をチェックし、操作されたキーに応じた処理を行う。たとえば、ハンドセット５６がオフフック状態にされたとき、ファクス信号が受信されるとポーリング受信の動作を行う。また、図６に示すメモリスイッチ領域７６ａの各メモリスイッチを設定する。さらには、ワンタッチダイヤル登録や短縮ダイヤル登録などの処理を行う。すなわち、原稿が挿入されるまでは待機状態にある。
【００４４】
そして、ステップＳ１００において、ＣＰＵ６０が第１原稿センサ１０６からの原稿検出信号を受け取ると、ステップＳ１０３に進み、原稿がＣＩＳ１００の読取位置まで送られたかどうかを判断する。すなわち、このステップＳ１０３では、ＣＰＵ６０は、第２原稿センサ１０８からの原稿検出信号があるかどうかを判断する。第２原稿センサ１０８からの検出信号がないときには、ステップＳ１０４において、ＣＰＵ６０はモータ制御回路８８に対して送信モータ９０を駆動するための指令信号を送る。応じて、送信モータ９０が駆動される。すなわち、ステップＳ１０４においては、ＣＰＵ６０からの指令に応じて、モータ制御回路８８が送信モータ９０を励磁する。したがって、原稿が原稿送りローラ９４によって送られる。そして、ステップＳ１０３において第２原稿センサ１０８が原稿を検出するまで、このステップＳ１０４が実行される。
【００４５】
そして、原稿が原稿読取位置に送られると、ステップＳ１０５において、ＣＰＵ６０はモータ制御回路８８に指令信号を与え、その指令信号に応じて、モータ制御回路８８は送信モータ９０を停止する。
そして、次のステップＳ１０６では、ＣＰＵ６０は、ＮＣＵ制御Ｉ／Ｏポート１３０からの信号に基づいて、ハンドセット５６がオフフック状態にあるかどうかを判断する。つまり、原稿がＣＩＳ１００の読取位置にまで送られたときに、オフフック状態となれば、先に説明した通話処理を行う。すなわち、ステップＳ１０５の状態でオフフック状態にされたということは、オペレータは電話を使用することを意味し、この場合には、ステップＳ１０７では通話処理を行うのである。
【００４６】
ステップＳ１０６で、オフフック状態ではないと判断されると、ファクシミリ送信を処理すべきであることを意味する。したがって、この場合には、図１１のステップＳ２すなわち図１３のステップＳ２００に進む。
図１３の最初のステップＳ２００では、ＣＰＵ６０は、ＳＲＡＭ７６のフラグ領域７６ｂを参照して、先読みフラグＳＦがセットされているかどうかを判断する。このステップＳ２００において“ＹＥＳ”と判断されるということは、既に原稿がセットされていて、その原稿上に記入された宛先情報が正しく認識され、ダイヤルバッファ７０（図６）に宛先情報の各文字のキャラクタコードがセットされていることを意味する。したがって、この場合には、そのまま送信処理（ステップＳ６）に移る。
【００４７】
そして、先読みフラグＳＦがセットされていない場合には、次のステップＳ２０１において、ＣＰＵ６０は表示Ｉ／Ｏポート１３６（図３）を制御して、ＬＣＤ３６にメッセージを表示する。すなわち、このステップＳ２０１では、ＣＰＵ６０は、ＲＯＭ６４のメッセージデータ領域６４ｃから「ソウシン、コピーデキマス」のメッセージデータを取り出し、それを表示Ｉ／Ｏポート１３２に与える。したがって、ＬＣＤ３６において、このメッセージが表示される。ただし、このステップＳ２０１において、ＬＣＤ３６による可視的表示とともに、スピーカ１２８を用いてメッセージを可聴的に表示するようにしてもよい。
【００４８】
次のステップＳ２０２では、ＣＰＵ６０はＳＲＡＭ７６のメモリスイッチ領域７６ａを参照して、発信モードスイッチＲＭＯＤＥ  の設定が「０」であるかどうかを判断する。すなわち、このステップＳ２０２では、ＣＰＵ６０は、原稿に記入された宛先情報を認識して、その認識結果に応じて自動的に発呼処理を行う自動発信モードが設定されているかどうかを判断する。したがって、このステップＳ２０２において“ＮＯ”と判断されると、手動送信モードであるので、ステップＳ８００（図２７）に進む。
【００４９】
自動送信モードが設定されている場合には、次のステップＳ２０３において、メモリスイッチ領域７６ａを参照して、読取待機時間スイッチＲＴＳ  として、「００」が設定されているのか「０１」〜「１０」の可変数値が設定されているのかを判断する。ステップＳ２０３において“ＹＥＳ”と判断されると、直ちにステップＳ２０５に進むが、“ＮＯ”と判断されると、ステップＳ２０４においてタイマカウンタＴＭ（図６）をトリガした後、ステップＳ２０５に進む。
【００５０】
ステップＳ２０５では、先のステップＳ１０６（図１２）と同様にして、ハンドセット５６がオフフック状態にあるかどうかを判断する。このステップＳ２０５において“ＹＥＳ”と判断される場合には、先のステップＳ１０７に進み、通話処理が実行される。
ステップＳ２０５において“ＮＯ”が判断されるとき、すなわちハンドセット５６がオフフック状態ではないときには、次のステップＳ２０６において、ＣＰＵ６０は、入力Ｉ／Ｏポート１３８（図３）を通して与えられる操作パネル１４からの信号を参照して、テンキー１６（図２）が操作されたかどうかを判断する。この段階でテンキー１６が操作されたのであれば、宛先情報を手動的に入力することを意味し、したがってこの場合には、ステップＳ８００（図２７）に進む。
【００５１】
テンキー１６が操作されないときには、次のステップＳ２０７において、スタートキー５４（図２）が操作されたかどうかを判断する。つまり、ステップＳ２０４でトリガしたタイマカウンタＴＭがタイムアップするまでにスタートキー５４が操作されると、そのタイマカウンタＴＭのカウント時間に拘わらず、図１１のステップＳ３すなわち図１４のステップＳ３００に進む。
【００５２】
そして、ステップＳ２０７においてスタートキー５４が操作されていないと判断した場合には、次のステップＳ２０８およびＳ２０９を実行して、そのとき操作されたキーに対応する処理を実行する。スタートキー５４も操作されず、他のキーも操作されないときには、ステップＳ２１０において、ＣＰＵ６０は、タイマカウンタＴＭに設定した可変数値ＲＴＳ  に相当する時間が経過したかどうかを判断する。つまり、ステップＳ２０４からＳ２１０までで、メモリスイッチ領域７６ａの待機時間スイッチＲＴＳ  に設定された可変数値に応じた時間だけ宛先情報の認識動作の開始を待つことになる。したがって、その間に宛先情報の手動入力や通話処理等が可能になる。
【００５３】
図１４の最初のステップＳ３００では、ＣＰＵ６０は、先のステップＳ２０１と同様の処理をして、ＬＣＤ３６に「バンゴウヨミトリチュウ」のメッセージを表示する。そして、次のステップＳ３０１において、ＣＰＵ６０は、ＶＲＡＭ６６のカウンタ，ポインタおよび変数領域７６ｃにおける各変数を初期化する。すなわち、原稿送りカウンタＰＣＮＴを初期値「１」に設定する。この原稿送りカウンタＰＣＮＴは、送信モータ９０によって原稿が副走査方向に１ライン送られる毎にインクリメントされるものであり、したがってこの原稿送りカウンタＰＣＮＴを参照することによって、手書き宛先情報を記入している領域の最終ラインの位置ないし番号を判断することができる。書込ラインカウンタＬＣＮＴが初期値「２」にセットされる。この書込ラインカウンタＬＣＮＴは、ラインバッファ６８（図１７）に１ライン分のデータが書き込まれる毎にインクリメントされる。ただし、図７に示すようにラインバッファ６８の第１ラインには手書き宛先情報を読み取ったイメージデータを書き込まないようにするために、このステップＳ３０１では、書込ラインカウンタＬＣＮＴを「２」にセットする。この書込ラインカウンタＬＣＮＴを参照することによって、ラインバッファ６８に宛先情報のイメージデータを書き込んだときの最終ラインの位置がわかる。
【００５４】
ステップＳ３０１では、さらに、カラムカウンタＣＣＮＴが全て「０」にされる。先に説明したように、ラインバッファ６８の第１カラムから第２０４８カラムのそれぞれについてカラムカウンタ１ＣＣＮＴ  から２０４８ＣＣＮＴが個別に設けられていて、そのカラムカウンタ１ＣＣＮＴ  〜２０４８ＣＣＮＴによって各カラム毎のＸ方向のヒストグラムを作成する。すなわち、カラムカウンタ１ＣＣＮＴ  〜２０４８ＣＣＮＴは、ラインバッファ６８の各カラム毎の黒ドット数をカウントするものであるため、ステップＳ３０１では、これら全てのカラムカウンタＣＣＮＴを「０」に設定する。
【００５５】
そして、ステップＳ３０１では、さらに、有効ラインカウンタＢＣＮＴに「０」の初期値を設定する。有効ラインカウンタＢＣＮＴは、ノイズ処理のために用いられるものである。すなわち、１ライン中に連続する２以上の黒ドットがあれば、そのラインには手書き宛先情報が記入されている有効ラインであると判断する。これに対して、１ライン中に連続した黒ドットがない場合には、その１ドットだけの黒ドットは原稿の汚れやごみによって出力されたものと認識し、そのラインは有効ラインとはみなさない。そして、このような有効ラインの連続数をカウントするのが有効ラインカウンタＢＣＮＴである。すなわち、有効ラインが連続して１５ライン（これは原稿上において２ｍｍの長さ）にならなければ、有効な宛先情報が記入されていないものと判断する。このような判断のために有効ラインカウンタＢＣＮＴが用いられる。つまり、この有効ラインカウンタＢＣＮＴのカウント値が「１５」を超えない限り、手書き宛先情報の認識を行わない。換言すれば、原稿上において２ｍｍ以下のサイズの宛先情報の文字は認識の対象から除外する。
【００５６】
ステップＳ３０１では、さらに、全白ラインカウンタＷＣＮＴが「０」に初期設定される。この全白ラインカウンタＷＣＮＴは図７に示すラインバッファ６８の最後の３つの全白ラインを検出するために用いられる。つまり、ラインバッファ６８（図７）において、３つの全白ラインが連続して格納されたとき、手書き宛先情報の記入領域の終了を判断する。つまり、この全白ラインカウンタＷＣＮＴは、手書き宛先情報の最後のラインすなわち終了ラインを検出するために用いられる。
【００５７】
ステップＳ３０１では、さらに、フラグ領域７６ａ（図６）の有効イメージ領域フラグＡＦがリセットされる。このフラグＡＦは、ＣＩＳ１００が手書き宛先情報を記入した領域を読み取っているかどうかを表すフラグであり、その領域を読み取っているときには「１」にセットされ、それ以外のときには「０」にリセットされる。
【００５８】
図１４の次のステップＳ３０２では、ＣＰＵ６０は、ＣＩＳ１００および送信モータ９０を含む読取系をセットアップする。すなわち、このステップＳ３０２では、ＣＰＵ６０は、モータ制御回路８８に指令信号を与え、送信モータ９０を駆動するとともに、ＣＩＳ１００および画処理回路９８をファインモードに設定する。つまり、手書き宛先情報を認識する場合には、オペレータが画質選択キー４４で設定したモードの如何に拘わらず、このステップＳ３０２で、ファインモードを強制的に設定する。
【００５９】
そして、次のステップＳ３０３において、ＣＩＳ１００からのイメージデータをラインバッファ６８の書込ラインカウンタＬＣＮＴによって指定されたラインに書き込む。最初のラインであれば、ＣＩＳ１００からのイメージデータはラインバッファ６８の第２ラインに書き込まれることになる。なお、このステップＳ３０３におけるラインバッファ６８へのイメージデータの書き込みは、実際にはＤＭＡに従って実行されるので、ＣＰＵ６０は、ラインバッファ６８の各アドレスとイメージデータのデータ長とをＤＭＡ回路８６（図３）に指示するだけでよい。それによって、ＣＩＳ１００からの１ライン分のイメージデータがラインバッファ６８に書き込まれる。
【００６０】
そして、次のステップＳ３０４において、ＣＰＵ６０は、入力Ｉ／Ｏポート１３４からの信号を参照して、停止／クリアキー５２（図２）が操作されたかどうかを判断する。この段階で停止／クリアキー５２が操作されたことは、たとえば（１）  オペレータは原稿をコピーしようとしていたのに宛先情報の読取動作に入ってしまった場合や（２）  原稿が正常に送られなかった場合などを意味し、停止／クリアキー５２の操作に応答して、原稿を排出する。そのために、このステップＳ３０４において“ＹＥＳ”が判断されたとき、図１５のステップＳ３１５に進み、原稿を排出する。
【００６１】
次のステップＳ３０５では、ＣＰＵ６０は、送信モータ９０を駆動して、ファインモードで１ライン分（約０．１３ｍｍ）だけ原稿を送る。そして、次のステップＳ３０６において、原稿送りカウンタＰＣＮＴをインクリメントする。
次のステップＳ３０７では、先のステップＳ３０３でラインバッファ６８に格納された１ライン分のイメージデータにおいて、２以上連続する黒ドットがあるかどうか、すなわち先に読み取った１ラインが有効ラインであるかどうかを判断する。具体的には、ＣＰＵ６０は、ラインバッファ６８の２０４８カラムのうち最初の５バイト（原稿では５ｍｍ）のデータを除いて、ラインバッファ６８の第４０カラムから２０４８カラムまでの２００バイト分（原稿では２００ｍｍ）のイメージデータをラインバッファ６８から読み出す。なお、ラインバッファ６８の最初の５バイトのイメージデータを読み出さない理由は、その範囲で原稿のエッジを検出してしまう可能性があるので、その可能性を排除するためである。
【００６２】
そして、ＣＰＵ６０は、ラインバッファ６８から読み出した２００バイト分のイメージデータをアキュムレータに取り込む。このとき、まず１バイトを読み出し、その１バイトのイメージデータと次のバイトのイメージデータの最上位ビットとの合計９ビットで黒ドットの連続性を判断する。すなわち、各バイト毎に単独で黒ドットの連続性を判断すると、先行のバイトの最下位ビットと後続のバイトの最上位ビットとが連続して黒ドットであった場合でも、黒ドットが連続していると判断できないことがある。そのために、次のバイトのイメージデータの最上位ビットを含めて合計９ビットで黒ドットの連続性を判断するのである。具体的には、ＣＰＵ６０は、アキュムレータの内容をチェックして、２以上のビットで連続する「１」があるかどうかを判断する。このようにして、ステップＳ３０７では、ＣＰＵ６０は先にラインバッファ６８に読み込んだイメージデータが有効ラインのものであるかどうかを判断する。
【００６３】
このステップＳ３０７において、“ＮＯ”と判断されると、次のステップＳ３０８において、ＣＰＵ６０は、有効イメージ領域フラグＡＦがセットされているかどうかを判断する。そして、このフラグＡＦが既にセットされている場合には、次のステップＳ３０９において、全白ラインカウンタＷＣＮＴをインクリメントする。そして、次のステップＳ３１０において、全白ラインカウンタＷＣＮＴのカウント値が「３」以上になったかどうかを判断する。先に説明したように、図７に示すようにラインバッファ６８に３ライン連続して全白ラインが出現した場合には、手書き宛先情報の記入領域の終了ラインを判断する。したがって、このステップＳ３１０において“ＹＥＳ”を判断したときには、手書き宛先情報の記入領域の終了ラインを検出したことを意味し、この場合、次のステップＳ３１１で読取系を停止した後、図１１のステップＳ４すなわち図１６の最初のステップＳ４００に進む。
【００６４】
先のステップＳ３０７において“ＹＥＳ”と判断したとき、すなわちステップＳ３０３でラインバッファ６８に格納された１ラインのイメージデータが有効ラインのものであると判断したとき、ステップＳ３１２において、ＣＰＵ６０は全白ラインカウンタＷＣＮＴをクリアする。全白ラインカウンタＷＣＮＴは連続して３ライン以上全白ラインが出現したかどうかを検出するためのカウンタであるので、有効ラインが検出される都度クリアされる。そして、先のステップＳ３１０において“ＮＯ”と判断された場合と同様に、図１５に示す次のステップＳ３１３に進む。
【００６５】
このステップＳ３１３では、ＣＰＵ６０は、ラインバッファ６８の書込ラインカウンタＬＣＮＴで示されるラインの黒ドットの位置に対応したカラムのカラムカウンタをインクリメントする。すなわち、このステップＳ３１３では、ラインバッファ６８の黒ドットが存在するカラムのカラムカウンタをインクリメントする。そして、次のステップＳ３１４において、ＣＰＵ６０は、書込ラインカウンタＬＣＮＴをインクリメントするとともに、有効ラインカウンタＢＣＮＴをインクリメントする。
【００６６】
そして、次のステップＳ３１５において、ＣＰＵ６０は、書込ラインカウンタＬＣＮＴのカウント値が「１２８」を超えたかどうかを判断する。つまり、このステップＳ３１５では、図７に示すラインバッファ６８の１２８ラインの全てにイメージデータが書き込まれたかどうかを判断する。したがって、ラインバッファ６８が満杯になるまでは、ステップＳ３１５において“ＮＯ”と判断されるため、次のステップＳ３１６に進む。
【００６７】
このステップＳ３１６では、有効イメージ領域フラグＡＦがセットされているかどうかを判断する。つまり、先のステップＳ３０７において有効ラインを検出すると、それは有効イメージ領域（宛先情報記入領域）であることを意味するため、このステップＳ３１６において、このフラグＡＦがセットされているかどうかを判断する。このステップＳ３１６において“ＮＯ”と判断された場合には、次のステップＳ３１７において、ＣＰＵ６０は、有効ラインカウンタＢＣＮＴのカウント値が「１５」に達したかどうかを判断する。すなわち、このステップＳ３１７では、ＣＰＵ６０は、連続して１５ライン以上有効ラインがあったかどうかを判断する。そして、このステップＳ３１７において“ＹＥＳ”が判断されたとき初めて、有効イメージ領域フラグＡＦをセットする（ステップＳ３１８）。先に説明したように、原稿上において２ｍｍ以下のサイズの宛先情報の文字は認識の対象としないため、有効ライン数が１５ラインを超えたときにのみ有効イメージ領域フラグＡＦをセットするのである。
【００６８】
先のステップＳ３０８（図１４）において、“ＮＯ”と判断されたときには、ステップＳ３１９に進む。このステップＳ３１９では、ＣＰＵ６０は、書込ラインカウンタＬＣＮＴに初期値「２」を設定するとともに、有効ラインカウンタＢＣＮＴをクリアするとともに、カラムカウンタ１ＣＣＮＴ  〜２０４８ＣＣＮＴの全てをクリアする。その後、ステップＳ３１７において“ＮＯ”と判断した場合と同様に、次のステップＳ３２０に進む。このステップＳ３２０では、ＣＰＵ６０は、原稿送りカウンタＰＣＮＴのカウント値が「２３１」を超えたかどうかを判断する。すなわち、このステップＳ３２０では、原稿が３０ｍｍ（＝２３１／７．７）以上送られたかどうかを判断する。これは、手書き宛先情報の文字が原稿の上端から３０ｍｍ以内に存在するであろうという前提に立つ。したがって、このステップＳ３２０における「２３１」を変更することによって、手書き宛先情報の認識領域を拡大しまたは縮小することができる。そして、このステップＳ３２０において“ＹＥＳ”が判断されるということは、原稿の上端から３０ｍｍの範囲内に宛先情報の文字が記入されていないことを意味する。したがって、この場合には、次のステップＳ３２１において、ＣＰＵ６０は、ＬＣＤ３６においてたとえば「バンゴウアリマセン」のようなメッセージを表示する。そして、次のステップＳ３２２において、送信モータ９０を駆動して原稿を排出するとともに、次のステップＳ３２３において、先のステップＳ３１１と同様に、読取系を停止する。
【００６９】
なお、ステップＳ３１９において書込ラインカウンタＬＣＮＴ，有効ラインカウンタＢＣＮＴおよびカラムカウンタＣＣＮＴを初期状態に戻す理由は、ステップＳ３０７において有効ラインが検出されずかつステップＳ３０８において有効イメージ領域フラグＡＦがセットされていないからである。すなわち、有効ラインが「１５」になる前に全白ラインが出現したときには、これらのカウンタＬＣＮＴ，ＢＣＮＴおよびＣＣＮＴを初期状態に戻すのである。
【００７０】
さらに、先のステップＳ３１５において、ラインバッファ６８が満杯になったことを検出すると、次のステップＳ３２４において、ＣＰＵ６０は読取系を停止する。すなわち、ステップＳ３１５において“ＹＥＳ”が判断されるということは、ラインバッファ６８に手書き宛先情報のイメージデータは書き込まれたもののその手書き宛先情報の終わりが検出されない場合である。たとえば、手書き宛先情報の文字が大きすぎるかあるいは手書き宛先情報としては認識できない別の文字やキャラクタがその領域に記入されていることを意味する。したがって、このステップＳ３１５において“ＹＥＳ”が判断されることは、後の処理において認識できない状態であることを意味し、したがって、この場合には、ステップＳ３２４に進むのである。そして、ステップＳ３２４において読取系を停止した後、ステップＳ３２５において、ステップＳ３２１と同様に、ＬＣＤ３６によってメッセージ表示をした後、ステップＳ３２６において、エラーフラグＥＦをセットしてステップＳ８００（図２７）に進む。
【００７１】
なお、先のステップＳ３２３の後、プロセスはステップＳ１００に進む。つまり、この場合には待機状態に入る。
先のステップＳ３１１が処理される場合には、ラインバッファ６８に認識可能な状態で手書き宛先情報のイメージデータがストアされていることを意味し、この場合には、図１１のステップＳ４に進み、手書き宛先情報として記入された各文字を切り出す。つまり、このステップＳ４では、図１８において点線で囲んだ各文字の領域と２点鎖線で囲んだスペースの領域とを検出する。そのために、このステップＳ４では、図１８に示す各文字の始点Ｘ，始点Ｙ，Ｘ幅およびＹ幅を、それぞれ、データＡ，Ｂ，ＣおよびＤとして文字データテーブル７２および７４（図６）に書き込む。
【００７２】
図１６の最初のステップＳ４００では、文字の切り出しのための初期化を行う。すなわち、このステップＳ４００では、文字数カウンタＭＣＮＴに「０」の初期値を設定する。この文字数カウンタＭＣＮＴは、ラインバッファ６８中のスペースの部分を含んだ文字の数をカウントするものである。ここで、スペースの部分もカウントするのは、スペースをポーズデータとして後の送信処理（ステップＳ６）において用いるためである。そして、ステップＳ４００では、さらに、カラムポインタＣＰＮＴに「１」の初期値を設定する。このカラムポインタＣＰＮＴは、ラインバッファ６８のリードポインタを示し、図１８に示す２０４８個のカラムのどれかを指示する。そして、ステップＳ４００では、有効文字フラグＭＦをリセットする。この有効文字フラグＭＦは、リードポインタＣＰＮＴが図１８の点線の領域の中にあるかどうかを示すフラグであり、このフラグＭＦがセットされているとき、それは有効文字であることを示す。さらに、ステップＳ４００では、第１文字データテーブル７２および第２文字データテーブル７４（図６）の第１格納部〜第３２格納部の全てをクリアする。
【００７３】
そして、次のステップＳ４０１において、ＣＰＵ６０は、カラムポインタＣＰＮＴで示されるカラムのカラムカウンタＣＣＮＴのカウント値が「３」以上であるかどうかを判断する。すなわち、このステップＳ４０１では、カラムポインタＣＰＮＴで指定されるカラムに３以上の黒ドットが存在するかどうかを判断する。１つのカラムに３以上の黒ドットが存在するかどうかを判断することによって、そのカラムが有効文字領域内にあるかどうかを判断するのである。したがって、このステップＳ４０１において“ＹＥＳ”と判断されると、次のステップＳ４０２およびＳ４０３を実行し、有効文字フラグＭＦをセットする。そして、ステップＳ４０３において、ＣＰＵ６０は、文字数カウンタＭＣＮＴをインクリメントする。
【００７４】
次のステップＳ４０５では、ＣＰＵ６０は、第１文字データテーブルＴＢＬ１の文字数カウンタＭＣＮＴで指示される格納部、つまり第ＭＣＮＴ番目の格納部に、図１８の始点ＸのデータＡとして、カラムポインタＣＰＮＴの値を書き込む。すなわち、ステップＳ４０５で、文字数カウンタＭＣＮＴで指示される文字の始点ＸのデータＡが第１文字データテーブル７２に書き込まれる。
【００７５】
ステップＳ４０５において始点ＸのデータＡを書き込んだ後、または先のステップＳ４０２において“ＮＯ”と判断された後、ＣＰＵ６０は、ステップＳ４０６において、カラムポインタＣＰＮＴをインクリメントする。その後、ステップＳ４０７において、カラムポインタＣＰＮＴの値が「２０４８」を超えたかどうかを判断する。つまり、このステップＳ４０７では、ラインバッファ６８の全てのカラムについて、ステップＳ４０１の判断が終了したかどうかを判断する。したがって、ラインバッファ６８の全てのカラムについて３以上の黒ドットがあるかどうかの判断を終えていない場合には、ステップＳ４０１からステップＳ４０６を繰り返し実行する。
【００７６】
そして、たとえば第１文字と第２文字との間のスペース部分をカラムポインタＣＰＮＴが指示したときには、ステップＳ４０１において“ＮＯ”と判断され、ステップＳ４０８に進む。そして、このステップＳ４０８で、有効文字フラグＭＦがセットされているかどうかを判断する。第１文字を先に検出している場合、このフラグＭＦはセットされているので、このステップＳ４０８で“ＹＥＳ”が判断され、次のステップＳ４０９で有効文字フラグＭＦがリセットされる。
【００７７】
その後、ステップＳ４１０〜Ｓ４１３を実行して、第１文字データテーブル７２の各格納部に残りの３つのデータＢ，ＣおよびＤを書き込む。
ステップＳ４１０では、図１８のＸ幅のデータＣを第１文字データテーブル７２の有効文字数カウンタＭＣＮＴで指定される格納部のＸ幅領域に格納する。このＸ幅データＣは、カラムポインタＣＰＮＴの値と先にステップＳ４０５で第１文字データテーブルの文字数カウンタＭＣＮＴで指定される格納部の始点Ｘ領域にセットされた値（データＡ）との差である。
【００７８】
そして、次のステップＳ４１１において、ＣＰＵ６０は、ラインバッファ６８のカラム（これは始点ＸのデータＡで表されるカラムからカラムポインタＣＰＮＴで示されるカラムまでの範囲において、黒ドットが位置する最上位ラインおよび最下位ラインを検出する。すなわち、このステップＳ４１１では、図１８の点線で示す文字領域の最上位ラインＹ１および最下位ラインＹ２を検出する。そして、ステップＳ４１２では、ステップＳ４１１で検出した最上位ラインＹ１の番号を、第１文字データテーブル７２の文字数カウンタＭＣＮＴで指定される格納部の始点Ｙ領域に、データＢとしてセットする。
【００７９】
そして、ステップＳ４１３において、ＣＰＵ６０は、第１文字データテーブル７２の文字数カウンタＭＣＮＴで指定される格納部のＹ幅領域にデータＤをセットする。このデータＤは、ステップＳ４１１で検出した最下位ラインＹ２と最上位ラインＹ１とによって「最下位ライン−最上位ライン＋１」によって求めることができる。
【００８０】
このようにして第１文字データテーブル７２の文字数カウンタＭＣＮＴで指定される格納部に４つのデータＡ，Ｂ，ＣおよびＤが全て格納されると、次のステップＳ４１４において、ＣＰＵ６０は文字数カウンタＭＣＮＴのカウント値が「３２」に達したかどうかを判断する。すなわち、このステップＳ４１４では、第１文字データテーブル７２の第１格納部から第３２格納部の全てに始点ＸのデータＡ，始点ＹのデータＢ，Ｘ幅のデータＣおよびＹ幅のデータＤが全て格納されたかどうかを判断する。したがって、もしこのステップＳ４１４において“ＮＯ”と判断されると、先のステップＳ４０６〜Ｓ４１３を繰り返し実行する。
【００８１】
なお、先のステップＳ４１１において、文字領域の最上位ラインＹ１および最下位ラインＹ２を検出するためには、ＣＰＵ６０は、ラインバッファ６８の１バイト分のイメージデータをアキュムレータに読み出し、これをシフトしながら「１」の数を検出する。これによって、最上位ラインＹ１のライン番号が検出できる。
【００８２】
図１７の次のステップＳ４１５では、ＣＰＵ６０は、文字数カウンタＭＣＮＴのカウント値が「０」かどうかを判断する。すなわち、このステップＳ４１５では、１つ以上の有効文字が手書き宛先情報記入領域に存在するかどうかを判断する。したがって、このステップＳ４１５において“ＹＥＳ”と判断される場合には、手書き宛先情報記入領域に認識すべき有効な文字がないのであるから、先のステップＳ３２５（図１５）に戻る。
【００８３】
しかしながら、ステップＳ４１５において“ＮＯ”と判断されると、ＣＰＵ６０は、次のステップＳ４１６において、図１８に示す手書き宛先情報記入領域の長さＬを算出する。具体的には、このステップＳ４１６では、第１文字データテーブルの第１格納部の始点Ｘ領域にセットされた値Ａ１（図１９）と、第１文字データテーブルの文字数カウンタＭＣＮＴによって指定される格納部の始点Ｘ領域およびＸ幅領域にセットされた値Ａ（ＭＣＮＴ）およびＣ（ＭＣＮＴ）とに基づいて、長さＬを算出する。すなわち、このステップＳ４１６では、手書き宛先情報の文字が記入された主走査方向の長さＬを検出する。次に、ステップＳ４１７において、ＣＰＵ６０は、平均文字間距離ＡＬを算出する。すなわち、ステップＳ４１７では、ステップＳ４１６で求めた文字領域長さＬを文字数カウンタＭＣＮＴで表される文字数で割った値を平均文字間距離ＡＬとして計算する。そして次のステップＳ４１８において、ＣＰＵ６０は、第１文字データテーブルのリードポインタＤＣＮＴ１  および第２文字データテーブルのライトポインタＤＣＮＴ２  にそれぞれ「１」の初期値を設定する。
【００８４】
次のステップＳ４１９〜Ｓ４２５を実行することによって、ＣＰＵ６０は、第１文字データテーブル７２のデータを第２文字データテーブル７４へ書き換える。ただし、このとき第２文字データテーブル７４にはスペースを示すデータも書き込まれる。
すなわち、ステップＳ４１９では、第１文字データテーブル７２のリードポインタＤＣＮＴ１  で指定される格納部の各データＡ，Ｂ，ＣおよびＤを、第２データテーブル７４のライトポインタＤＣＮＴ２  で指定される格納部に、図１９に示すようにセットする。そして、次のステップＳ４２０では、第１文字データテーブル７２のリードポインタＤＣＮＴ１  が文字数カウンタＭＣＮＴでカウントした文字数になったかどうか、すなわち、第１文字データテーブル７２に格納した全てのデータを第２文字データテーブル７４に格納したかどうかを判断する。したがって、もし、このステップＳ４２０において“ＹＥＳ”が判断されれば、次のステップＳ５（図１１）すなわち図２０のステップＳ５００に進む。
【００８５】
しかしながら、第１文字データテーブル７２の全てのデータを第２文字データテーブル７４へ書き込んでいない状態では、ステップＳ４２０において“ＮＯ”と判断される。したがって、ＣＰＵ６０は、次のステップＳ４２１において、手書き宛先情報記入領域に記入された各文字の間のスペースの幅ＳＰＣを計算する。具体的には、このステップＳ４２１では、第１文字データテーブル７２のリードポインタＤＣＮＴ１  で指定される格納部の始点Ｘ領域およびＸ幅領域にそれぞれセットされた値Ａ（ＤＣＮＴ１）  およびＣ（ＤＣＮＴ１）  と、第１文字データテーブル７２の次の格納部の始点Ｘ領域にセットされた値Ａ（ＤＣＮＴ１＋１）  とに基づいて、ラインバッファ６８にストアされている第（ＤＣＮＴ１）  番目の文字と第（ＤＣＮＴ１＋１）  番目の文字との間のスペース幅ＳＰＣを計算する。そして、その計算したスペース幅ＳＰＣは、ステップＳ４１７で計算した平均距離ＡＬとともに、ＶＲＡＭ６６のスペース幅レジスタＳＰおよび平均距離レジスタＡＬに格納される。
【００８６】
そして、ステップＳ４２２において、ＣＰＵ６０は、平均距離レジスタＡＬおよびスペース幅レジスタＳＰを参照して、スペース幅ＳＰＣが平均文字間距離ＡＬより大きいかどうかを判断する。もし、このステップＳ４２２において“ＹＥＳ”と判断されると、次のステップＳ４２３において、ＣＰＵ６０は、第２文字データテーブルのライトポインタＤＣＮＴ２  をインクリメントし、次のステップＳ４２４を実行する。
【００８７】
先のステップＳ４２２において“ＹＥＳ”が判断されるということは、平均文字間距離ＡＬ以上のスペースがその第（ＤＣＮＴ１）  番目の文字と第（ＤＣＮＴ１＋１）  番目の文字との間に存在することを意味し、したがって、この場合には、ステップＳ４２４では、第２文字データテーブル７４のその部分に、図１９に示すようにスペースを意味する「−１」をセットする。すなわち、ステップＳ４２４では、第２文字データテーブル７４のライトポインタＤＣＮＴ２  で指定される格納部の始点Ｘの領域に「−１」をセットする。そして、ステップＳ４２５において、リードポインタＤＣＮＴ１  およびライトポインタＤＣＮＴ２  をそれぞれインクリメントする。
【００８８】
このようにして、第１文字データテーブル７２に格納された全ての文字について文字またはスペースを第２文字データテーブル７４に記入した状態では、ステップＳ４２０において“ＹＥＳ”と判断され、次のステップＳ５００に進む。
図２０の最初のステップＳ５００では、ＣＰＵ６０は、図１７〜図１９のようにして切り出した手書き宛先情報の各文字の認識を実行するための初期化を行う。すなわち、このステップＳ５００では、先読みフラグＳＦをセットするとともに、エラーフラグＥＦをリセットする。さらに、このステップＳ５００では、スペースカウンタＳＣＮＴ（図６）に「０」の初期値を設定するとともに、ダイヤルバッファライトポインタＤＬＢＷおよび第２文字データテーブルリードポインタＴＲＰＴに、それぞれ、「１」の初期値を設定する。それとともに、ステップＳ５００では、ダイヤルバッファ７０（図６）をクリアする。
【００８９】
なお、ダイヤルバッファライトポインタＤＬＢＷは、３２桁の宛先情報を書き込むことができるダイヤルバッファ７０の書込桁位置を指定するためのポインタであり、リードポインタＴＲＰＴは、第２文字データテーブル７４の格納部を指定するポインタである。
そして、ステップＳ５０１では、第２文字データテーブル７４のリードポインタＴＲＰＴがそのライトポインタＤＣＮＴ２  を超えたかどうか、すなわち、第２文字データテーブル７４の第１格納部から第３２格納部の全ての格納部についてデータを読み出したかどうかを判断する。
【００９０】
そして、ステップＳ５０１で“ＮＯ”と判断されると、次のステップＳ５０２で、ＣＰＵ６０は、ＲＯＭ６４の認識用辞書領域６４ｂ（図４）等を参照して、切り出した文字の認識を実行する。すなわち、第２データテーブル７４の各格納部にストアされているデータに従ってラインバッファ６８の各文字領域のイメージデータを読み出し、それを正規化し、そのイメージデータの特徴パラメータを抽出する。そして、周知のパターンマッチングの手法に従って、抽出した特徴と辞書６４ｂにある特徴とを比較し、その文字が「０」〜「９」のいずれかの数字，「＊」，「＃」，「−」などであるかを認識する。そして、その認識した文字に対応するキャラクタコードＣＣを出力する。
【００９１】
ステップＳ５０３では、ＣＰＵ６０は、ステップＳ５０２で出力されるキャラクタコードＣＣがスペースを表すキャラクタコードであるかどうかを判断する。もし、このステップＳ５０３において“ＹＥＳ”であると判断されると、次のステップＳ５０４へ進む。このステップＳ５０４では、ダイヤルバッファライトポインタＤＬＢＷが「１」であるかどうかを判断する。もし、ダイヤルバッファライトポインタＤＬＢＷが「１」であると、このときのスペースのキャラクタコードを無視するために、ステップＳ５０５においてスペースカウンタＳＣＮＴをインクリメントした後、ステップＳ５２０へ進む。
【００９２】
これに対して、ステップＳ５０３において“ＮＯ”と判断されたときには、ステップＳ５０６〜Ｓ５０９を実行し、ダイヤルバッファ７０にスペースのキャラクタコードを書き込む。すなわち、ステップＳ５０６では、スペースカウンタＳＣＮＴが「０」になったかどうかを判断する。このスペースカウンタＳＣＮＴが「０」でないということは、第２文字データテーブル７４にいくつかのスペース（「−１」のデータ）が存在しているということを意味し、このときには、次のステップＳ５０７で、ダイヤルバッファライトポインタＤＬＢＷに従って、スペースのキャラクタコードをダイヤルバッファ７０に書き込む。そして、次のステップＳ５０８において、ダイヤルバッファライトポインタＤＬＢＷをインクリメントするとともに、ステップＳ５０９において、スペースカウンタＳＣＮＴをディクリメントする。
【００９３】
そして、ステップＳ５０６において、“ＹＥＳ”が判断されると、すなわち、スペースカウンタＳＣＮＴが「０」であると判断されると、次のステップＳ５１０において、ＣＰＵ６０は、先に出力されたキャラクタコードがエラーコードであるかどうかを判断する。もしエラーコードであれば、次のステップＳ５１１で、そのキャラクタコードをアルファベットの「Ｘ」のキャラクタコードに置き換える。そして、ステップＳ５１２では、ステップＳ５０２で出力されたキャラクタコードおよびステップＳ５１１で置き換えられたキャラクタコードのいずれかをダイヤルバッファライトポインタＤＬＢＷに従ってダイヤルバッファ７０に書き込む。
【００９４】
そして、次のステップＳ５１３では、ＣＰＵ６０は、ダイヤルバッファ７０にセットされたキャラクタコードに従って、認識した手書き宛先情報の文字をＬＣＤ３６で表示する。これは、オペレータに宛先情報を確認させるためである。このステップＳ５１３に続くステップＳ５１４では、ＣＰＵ６０は、停止／クリアキー５２（図２）が操作されたかどうかを判断する。ここで、停止／クリアキー５２が操作されるということは、宛先情報の文字の認識処理を停止するという意味であり、したがって、次のステップＳ５１５においてエラーフラグＥＦをセットし、ステップＳ８００（図２７）へ進む。
【００９５】
ステップＳ５１４において停止／クリアキー５２の操作が検出されなければ、次のステップＳ５１６において、キャラクタコードがアルファベットの「Ｘ」を表すキャラクタコードであるかどうかを判断する。すなわち、このステップＳ５１６では、先の認識ステップＳ５０２において認識できなかった文字（リジェクト文字）があるかどうかを判断する。つまり、ステップＳ５０２で認識できなかった文字は、ステップＳ５１１において「Ｘ」のキャラクタコードに置換されている。したがって、ステップＳ５１６において「Ｘ」のキャラクタコードを検出することによって、認識できなかった文字があるかどうかが判断できるのである。
【００９６】
そして、認識できなかった文字（リジェクト文字）があれば、ステップＳ５１７およびＳ５１８において、エラー処理モードスイッチＥＭＯＤＥ  の内容をチェックする。ステップＳ５１７において“ＹＥＳ”が判断されると、エラー処理モードスイッチＥＭＯＤＥ  には、「０」が設定されているので、手書き宛先情報の認識を中断し、それまでの認識結果を破棄する。そのために、ステップＳ５１５においてエラーフラグＥＦをセットした後、ステップＳ８００に進む。ステップＳ５１７において“ＮＯ”と判断され、ステップＳ５１８において“ＹＥＳ”と判断された場合には、エラー処理モードスイッチＥＭＯＤＥ  として「１」が設定されているので、文字認識中にリジェクト文字が発生したとして、その認識処理を中断し、訂正処理モードに移行する（Ｓ５１９）。ただし、このステップＳ５１９の訂正１ルーチンについては後に詳細に説明する。ステップＳ５１８において“ＮＯ”が判断されると、エラー処理モードスイッチＥＭＯＤＥ  として「２」が設定されているので、次のステップＳ５２０において、第２文字データテーブル７４のリードポインタＴＲＰＴをインクリメントした後、先のステップＳ５０１に戻って認識処理を続行する。そして、このステップＳ５０１において、第２文字データテーブルの全ての文字について認識が終了したことを判断すると、次の送信ステップＳ６（図１１）、すなわち図２２のステップＳ６００に進む。
【００９７】
図２２のステップＳ６００では、ＣＰＵ６０は、ダイヤルバッファ７０にアルファベット「Ｘ」のキャラクタコードがあるかどうかを判断する。このステップＳ６００において“ＹＥＳ”が判断されるのは、エラー処理モードスイッチＥＭＯＤＥ  が「２」で設定されているときである。したがって、この場合には、ステップＳ６０１で示す訂正２ルーチンに入る。
【００９８】
また、このステップＳ６００において、“ＮＯ”が判断されたときには、ＣＰＵ６０は、認識確認時間スイッチＣＴとして「０」が設定されているか、あるいは「０」〜「１０」の可変数値が設定されているかを判断する。このスイッチＣＴが「０」で設定されている場合には、スタートキー５４の操作に応答して発呼動作を実行する。ただし、スイッチＣＴとして「０」以外の数値が設定されている場合には、次のステップＳ６０３において、タイマカウンタＴＭ（図６）をトリガする。
【００９９】
そして、次のステップＳ６０４において、ＣＰＵ６０は、コピーキー５８（図２）が操作されたかどうかを判断する。このステップＳ６０４において、コピーキー５８の操作が検出されると、ステップＳ６０５においてコピー処理が実行された後、待機状態に戻る。また、ステップＳ６０５において、ＣＰＵ６０は、停止／クリアキー５２が操作されたかどうかを検出する。このステップＳ６０６において“ＹＥＳ”が判断されると、ステップＳ６０７において、先のステップＳ３２２と同様に、原稿を排出する。このようにして、手書き宛先情報の文字が正しく認識された後であっても、停止／クリアキー５２が操作されると、送信動作は行わず、そのまま原稿を排出する。
【０１００】
ステップＳ６０６において“ＮＯ”が判断されると、次のステップＳ６０７において、ＣＰＵ６０はメニューキー３４またはセットキー４０（いずれも図２）が操作されたかどうかを判断する。セットキー４０またはメニューキー３４のいずれかが操作されると、次のステップＳ６０８において、訂正３ルーチンが実行される。すなわち、手書き宛先情報の各文字を正しく認識した後にセットキー４０またはメニューキー３４が操作されると、それはオペレータがその宛先情報の文字を訂正したいという場合であるので、次のステップＳ６０８でその訂正を許容するのである。
【０１０１】
ステップＳ６０７において“ＮＯ”が判断される場合には、次のステップＳ６０９において、スタートキー５４が操作されたかどうかを判断する。スタートキー５４が操作されるとそのまま、またはスタートキー５４が操作されない場合であっても先のステップＳ６０３においてトリガしたタイマカウンタＴＭがメモリスイッチＣＴとして設定した可変数値に相当する時間の経過をカウントすると、ステップＳ６１０を経て、次のステップＳ６１１に進む。
【０１０２】
ステップＳ６１１では、ダイヤルバッファ７０にストアされているスペースを示すキャラクタコードを「；（セミコロン）」を示すコードに置換し、それをＬＣＤ３６で表示する。つまり、このステップＳ６１１では、ダイヤルバッファ７０にストアされたスペースコードをポーズコードである「；」のコードに置換する。そして、ステップＳ６１２において、ダイヤルバッファ７０にストアされているキャラクタコードに従ってＤＴＭＦ発生回路１１０を制御して、ダイヤル動作を実行する。
【０１０３】
その後、ステップＳ６１３において、宛先情報で特定される相手先からの応答信号があるかどうかをＮＣＵ１１４からの信号に基づいてＣＰＵ６０が判断する。もし応答がなければ、ステップＳ６１４で表されるリダイヤル動作を実行する。
ステップＳ６１３で応答が検出されると、ステップＳ６１５において、「フェーズＢ」が実行され、相手先ファクシミリ装置との間で能力ないし機能の確認が行われる。そして、次のステップＳ６１６において、ＣＰＵ６０は、読取系のセットアップを行う。具体的には、送信モータ９０を駆動するとともに、オペレータが画質選択キー４４（図２）を操作することによって指定した送信モード、たとえばファインモード，中間調モードあるいはノーマルモードを設定する。すなわち、手書き宛先情報を認識する場合は、オペレータの設定したモードの如何に拘わらず、強制的にファインモードを選択した。そして、宛先情報を認識した後送信原稿に記入されている送信データを送信する場合には、オペレータが当初に設定した送信モードを実行するのである。そして、ステップＳ６１７で原稿に記載された本文の部分をＣＩＳ１００で読み取って、それをモデム１０４からＮＣＵ１１４を介して電話回線に送出する。
【０１０４】
ステップＳ６１８では、ＣＰＵ６０は、先読みフラグＳＦがセットされているかどうか、すなわち、ラインバッファ７０の中に既に読み込んだ宛先情報のキャラクタコードがあるかどうかが判断される。そして、このステップＳ６１８において“ＹＥＳ”が判断されると、次のステップＳ６１９において、ＣＰＵ６０は、白送信カウンタＷＬＳＣ（図６）を、原稿送りカウンタＰＣＮＴおよび書込ラインカウンタＬＣＮＴのカウント値に従って計算する。すなわち、原稿送りカウンタＰＣＮＴは、手書き宛先情報を認識するためにＣＩＳ１００で読み取った原稿のライン数を示し、書込ラインカウンタＬＣＮＴは、ラインバッファ６８にイメージデータを書き込んだライン数を示している。したがって、原稿送りカウンタＰＣＮＴのカウント値から手書き宛先情報の記入領域のライン数すなわち書込ラインカウンタＬＣＮＴのカウント値を引くことによって、原稿の上端に形成された余白のライン数が計算できる。ただし、図７に示すようにラインバッファ６８の第１ラインには何のデータも書き込んでいないので、そのラインも白ラインであるため、ステップＳ６１９において「−１」を計算するのである。このようにして、ステップＳ６１９で、手書き宛先情報が記入されている領域より上の原稿の余白ライン数が計算される。したがって、ステップＳ６２０では、その計算された白送信カウンタＷＬＳＣのカウント値に応じて、全白ライン送信ルーチンを実行する。
【０１０５】
次のステップＳ６２１において、ＣＰＵ６０はエラーフラグＥＦがリセットされているかどうか判断する。もし、このエラーフラグＥＦがリセットされていれば、手書き宛先情報記入領域に記入された文字を送信データとして送信する必要があるので、ステップＳ６２２において、さらに、送信設定モードスイッチＮＳＭＯＤＥが「０」として設定されているかどうか、すなわち、認識のために読み取った手書き宛先情報のイメージデータを送信データの一部として送信するか否かを判断する。したがって、このステップＳ６２２において“ＹＥＳ”と判断されると、次のステップＳ６２３において、ラインバッファ６８にストアされているイメージデータの第２ラインから第（ＬＣＮＴ）番目のラインまでのイメージデータを先のステップＳ６１６で決定された送信モードに従って送信する。
【０１０６】
なお、スイッチＮＳＭＯＤＥが「１」で設定されている場合には、ステップＳ６２４において、白ライン送信カウンタＷＬＳＣを書込ラインカウンタＬＣＮＴのカウント値に基づいて決定する。そして、次のステップＳ６２５において、先のステップＳ６２０と同様にして、その白ライン送信カウンタＷＬＳＣで示される数の全白ラインを送信する。ステップＳ６２３またはＳ６２５を実行した後、図２４で示すステップＳ６２６〜Ｓ６２９において、通常のファクシミリ送信と同様に、原稿の送信データをステップＳ６１６で決定された送信モードに従って送信する。そして、ステップＳ６３０において、読取系を停止する。
【０１０７】
このようにして、送信原稿上に手書きされた宛先情報の各文字を認識し、その認識した結果に基づいて、スタートキー５４の操作に応答してまたは自動的にダイヤル動作を実行し、原稿の送信データを相手先ファクシミリ装置に送信することができる。
ここで、図２５を参照して、先のステップＳ５１９（図２１）で実行される訂正１ルーチンについて説明する。図２５の最初のステップＳ７００では、ＣＰＵ６０は、たとえばスピーカ１２８やＬＣＤ３６を用いて、オペレータにエラーが発生したことを報知する。それとともに、ステップＳ７０１では、ＣＰＵ６０は、ラインバッファ７０にストアされているキャラクタコードで示されるキャラクタを記録制御回路８２に与え、サーマルヘッド８４によってファクシミリ用紙（図示せず）に印字ないし出力する。したがって、オペレータは、この時点で、手書き宛先情報の認識を中止するかどうかを判断することができる。そして、ステップＳ７０２で停止／クリアキー５４の操作が検出されると、次のステップＳ７０３において、ＣＰＵ６０は、エラーフラグＥＦをセットした後、ステップＳ８００へ進む。停止／クリアキー５４が操作されなければ、次のステップＳ７０４において、オペレータがテンキー１６を操作したかどうかを検出する。もしテンキー１６が操作されれば、ステップＳ７０５において、その操作されたテンキーの数字を表すキャラクタコードをダイヤルバッファ７０の「Ｘ」のキャラクタコードと置換する。すなわち、このステップＳ７０５で、オペレータがテンキー１６を操作することによって、エラー表示された「Ｘ」の文字を訂正することができる。
【０１０８】
図２６はステップＳ６０１およびＳ６０８で実行される訂正２ルーチンおよび訂正３ルーチンを示す。訂正２ルーチンおよび訂正３ルーチンはほぼ同じ動作であるため、ここでは図２６を参照して一緒に説明する。
訂正３ルーチンのステップＳ７１１でＣＰＵ６０は、セットキー４０が操作されたかどうかを判断する。セットキー４０が操作されていれば、次のステップＳ７１０において、ＬＣＤ３６において表示された認識結果（ステップＳ５１３）の先頭位置にカーソル３８（図２）を表示する。逆に、セットキー４０が押されていない場合、すなわちメニューキー３４が押された場合には、次のステップＳ７１２において、ＬＣＤ３６に表示された認識結果の末尾の位置にカーソル３８を表示する。つまり、訂正２ルーチンと訂正３ルーチンとは、メニューキー３４が操作されたかセットキー４０が操作されたかによってカーソル３８の初期表示位置をどこに決定するかが異なるだけで、ステップＳ７１３以降の動作は同じである。
【０１０９】
ステップＳ７１３では、先のステップＳ７０１（図２５）と同様にラインバッファ７０に格納されているデータを印字ないし出力する。そして、次のステップＳ７１４において、ＣＰＵ６０は、ストップキーカウンタＳＫＣ  （図６）をクリアする。そして、次のステップＳ７１５において、操作パネル１４の何らかのキーが操作されたかどうかを判断する。キー操作があれば、次のステップＳ７１６において、停止／クリアキー５４が操作されたかどうかを判断する。このステップＳ７１６において“ＹＥＳ”が判断されると、ステップＳ７１７においてストップキーカウンタＳＫＣ  をインクリメントし、次のステップＳ７１８において、そのストップキーカウンタＳＫＣ  のカウント値が「２」になったかどうか判断する。このステップＳ７１８において“ＹＥＳ”が判断されるということは、停止／クリアキー５４が２回続けて操作されたことを意味し、この場合には、宛先情報の認識結果によらず、手動的に入力された宛先情報に従って送信動作を実行する。そのために、この場合には、ステップＳ８０７（後述）に進む。ステップＳ７１８において“ＮＯ”が判断されると、次のステップＳ７１９では、ＣＰＵ６０は、先のステップＳ７１０またはＳ７１２で表示されているカーソル３８以降のダイヤルバッファ７０のデータをクリアする。
【０１１０】
そして、ステップＳ７１６において“ＮＯ”が判断されると、次のステップＳ７２０において、ＣＰＵ６０はスタートキー５４が操作されたかどうか判断する。スタートキー５４が操作されたのであれば、ステップＳ７２１において、ダイヤルバッファ７０に「Ｘ」のキャラクタコードが存在するかどうかを判断する。アルファベット「Ｘ」のキャラクタコードが存在しない状態になって初めて、この訂正ルーチンを抜ける。したがって、「Ｘ」のキャラクタコードがある場合には、先のステップＳ７１５に戻る。
【０１１１】
停止／クリアキー５２またはスタートキー５４が操作されなかった場合には、次のステップＳ７２２において、ＣＰＵ６０はテンキー１６が操作されたかどうか判断する。もし、テンキー１６が操作されたのであれば、次のステップＳ７２３において、ダイヤルバッファ７０のカーソル３８で示される位置のキャラクタコードがテンキーによって入力された数値のキャラクタコードに置換される。
【０１１２】
ステップＳ７２２において“ＮＯ”と判断された場合には、ステップＳ７２４でメニューキー３４が操作されたかどうかを判断する。メニューキー３４が操作されたのであれば、カーソル３８（図２）を左方向へ移動させる（ステップＳ７２５）。そして、ステップＳ７２４において“ＮＯ”が判断されると、セットキー４０が操作されたかどうかを判断する。このステップＳ７２６において“ＹＥＳ”が判断されると、ＣＰＵ６０はカーソル３８（図２）を右方向に移動する（ステップＳ７２７）。そして、ステップＳ７２３，Ｓ７２５またはＳ７２７を実行した後、先のステップＳ７２１において、ＣＰＵ６０は、ダイヤルバッファ７０の中にアルファベット「Ｘ」のキャラクタコードが残っているかどうかを判断する。このようにして、手書き宛先情報を認識する際に発生したリジェクト文字についての訂正２ルーチン（逐次訂正）または訂正３ルーチン（一括訂正）が実行される。
【０１１３】
図２７には、宛先情報を手動的に入力する際の動作が示される。この図２７の最初のステップＳ８００では、ＣＰＵ６０は、ダイヤルバッファ７０をクリアする。そして、次のステップＳ８０１では、ＣＰＵ６０は、ＬＣＤ３６に、たとえば、「バンゴウヲニュウリョクシテクダサイ」のようなメッセージを表示し、オペレータが手動的にテンキー１６等を操作して宛先情報を入力するのを待つ。そして、ステップＳ８０２では、ＣＰＵ６０は、コピーキー５８が操作されたかどうか判断する。コピーキー５８が操作されたのであれば、ステップＳ８０３においてコピールーチンを実行した後、ステップＳ１００すなわち待機状態に戻る。また、ステップＳ８０４では、停止／クリアキー５２が操作されたかどうか判断する。このステップＳ８０４で“ＹＥＳ”が判断されると、ステップＳ８０５において、原稿を排出した後、待機状態に戻る。
【０１１４】
次のステップＳ８０６において、ＣＰＵ６０は、テンキー１６（図２）が操作されたかどうか判断する。テンキー１６が操作されなかった場合には、ステップＳ８０７で他のキーかどうかを判断し、次のステップＳ８０８で、その他のキーに対応する処理が実行される。
テンキー１６が操作された場合には、ステップＳ８０９において、テンキー１６によって入力された宛先情報の数値のキャラクタコードをダイヤルバッファ７０にセットする。そして、ステップＳ８１０においてスタートキー５４が操作されるのを待つ。ステップＳ８１０においてスタートキー５４が操作されると、ＣＰＵ６０は、ステップＳ６１１（図２２）へ進む。
【０１１５】
ステップＳ６０５やステップＳ８０３において実行されるコピールーチンが、図２８に示される。コピールーチンの最初のステップＳ９００では、ＣＰＵ６０は、読取系のセットアップを行う。すなわち、送信モータ９０を駆動するとともに、ＣＩＳ１００および画処理回路９８をステップＳ６１６に従って決定された送信モードに従って設定する。そして、次のステップＳ９０１において、印字系のセットアップを行う。すなわち、このステップＳ９０１では、ＣＰＵ６０は、モータ制御回路８８に指令信号を与え、受信モータ９２（図３）を駆動する。そして、次のステップＳ９０２では、ＣＰＵ６０は、先読みフラグＳＦがセットされているかどうかを判断する。先読みフラグＳＦがセットされていれば、手書き宛先情報記入領域からＣＩＳ１００で読み取ったイメージデータをコピーイメージとして印字する必要があるので、ステップＳ９０３〜Ｓ９０５を実行する。すなわち、ステップＳ９０３では、先のステップＳ６１９（図２３）と同じように、白ライン送信カウンタＷＬＳＣを原稿送りカウンタＰＣＮＴおよび書込ラインカウンタＬＣＮＴのカウント値に基づいて決定する。そして、次のステップＳ９０４では、ステップＳ９０３で決定された白ライン送信カウンタＷＬＳＣのカウント値に応じたライン数だけ、ファクシミリ用紙（記録紙）を受信モータ９２によって送る。このとき、ステップＳ９０５において、ラインバッファ７０の第２ライン〜第（ＬＣＮＴ）ラインのイメージデータをサーマルヘッド８４によってファクシミリ用紙（記録紙）に印字する。
【０１１６】
その後、先読みフラグＳＦがセットされていない場合ど同様に、ステップＳ９０６〜Ｓ９０９が実行される。すなわち、このステップＳ９０６〜Ｓ９０９では、原稿の本文の部分がコピーされる。そして、ステップＳ９０９においてコピーの終了が検出されると、ステップＳ９１０において、ＣＰＵ６０は読取系および印字系を停止する。
【０１１７】
図２９は、ステップＳ６２０またはＳ６２５で実行される全白ライン送信ルーチンを示すフロー図である。この図２９の最初のステップＳ９２０では、ＣＰＵ６０は、白ライン送信カウンタＷＬＳＣを、ステップＳ６１６で決定された送信モードに従って変更する。たとえば、オペレータが設定した送信モードがノーマルモードである場合には、白ライン送信カウンタＷＬＳＣのカウント値を１／２する。なぜなら、白ライン送信カウンタＷＬＳＣは、ファインモードにおけるライン数をカウントしているからである。そして、次のステップＳ９２１では、ラインバッファ６８の第１ラインのイメージデータ（全白ラインのイメージデータ）を読み出し、決定された送信モードに従って送信する。そして、ステップＳ９２２では、白ライン送信カウンタＷＬＳＣがインクリメントされ、ステップＳ９２３では、白ライン送信カウンタＷＬＳＣのカウント値が「０」になったかどうかすなわち送信すべき全白ラインの全てが送信されたかどうかを判断する。
【図面の簡単な説明】
【図１】この発明の一実施例を示す斜視図である。
【図２】図１実施例の操作パネルを詳細に示す平面図である。
【図３】図１実施例の全体構成を示すブロック図である。
【図４】図３に示すＲＯＭの記憶領域を示す図解図である。
【図５】図３に示すＶＲＡＭの記憶領域を示す図解図である。
【図６】図３に示すＶＲＡＭの記憶領域を示す図解図である。
【図７】図５に示すラインバッファを詳細に示す図解図である。
【図８】図６に示す第１文字データテーブル（第２文字データテーブル）を示す図解図である。
【図９】図１実施例において原稿がＣＩＳによって読み取られることを示す図解図である。
【図１０】図３に示すＮＣＵを詳細に示すブロック図である。
【図１１】実施例の全体動作を示す概略フロー図である。
【図１２】初期化および操作チェックの動作を示すフロー図である。
【図１３】自動認識可否チェックの動作を示すフロー図である。
【図１４】宛先情報の有無チェックおよび宛先情報のイメージデータの取り込み動作を示すフロー図である。
【図１５】図１４に続く動作を示すフロー図である。
【図１６】宛先情報の各文字を切り出すステップの動作を示すフロー図である。
【図１７】図１６に続く動作を示すフロー図である。
【図１８】第１文字データテーブル（第２文字データテーブル）にセットされる各データを示す図解図である。
【図１９】第１文字データテーブルのデータを第２文字データテーブルに書き込む状態を示す図解図である。
【図２０】認識ステップの動作を示すフロー図である。
【図２１】図２０に続く動作を示すフロー図である。
【図２２】送信ステップの動作を示すフロー図である。
【図２３】図２２に続く動作を示すフロー図である。
【図２４】図２３に続く動作を示すフロー図である。
【図２５】訂正１ルーチンを示すフロー図である。
【図２６】訂正２ルーチンおよび訂正３ルーチンを示すフロー図である。
【図２７】宛先情報を手動的に入力するときの動作を示すフロー図である。
【図２８】コピールーチンを示すフロー図である。
【図２９】全白ライン送信ルーチンを示すフロー図である。
【符号の説明】
１０  …ファクシミリ装置
１４  …操作パネル
１６  …テンキー
３４  …メニューキー
３６  …ＬＣＤ
３８  …カーソル
４０  …セットキー
４４  …画質選択キー
５２  …停止／クリアキー
５４  …スタートキー
５８  …コピーキー
６０  …ＣＰＵ
６４  …ＲＯＭ
６６  …ＶＲＡＭ
６８  …ラインバッファ
７０  …ダイヤルバッファ
７２  …第１文字データテーブル
７４  …第２文字データテーブル
７６  …ＳＲＡＭ
８４  …サーマルヘッド
９０  …送信モータ
９２  …受信モータ
１００  …ＣＩＳ
１０４  …モデム
１１４  …ＮＣＵ
【図１】
0003561551.tif 000002
【図２】
0003561551.tif 000003
【図３】
0003561551.tif 000004
【図４】
0003561551.tif 000005
【図５】
0003561551.tif 000006
【図６】
0003561551.tif 000007
【図７】
0003561551.tif 000008
【図８】
0003561551.tif 000009
【図９】
0003561551.tif 000010
【図１０】
0003561551.tif 000011
【図１１】
0003561551.tif 000012
【図１２】
0003561551.tif 000013
【図１３】
0003561551.tif 000014
【図１４】
0003561551.tif 000015
【図１５】
0003561551.tif 000016
【図１６】
0003561551.tif 000017
【図１７】
0003561551.tif 000018
【図１８】
0003561551.tif 000019
【図１９】
0003561551.tif 000020
【図２０】
0003561551.tif 000021
【図２１】
0003561551.tif 000022
【図２２】
0003561551.tif 000023
【図２３】
0003561551.tif 000024
【図２４】
0003561551.tif 000025
【図２５】
0003561551.tif 000026
【図２６】
0003561551.tif 000027
【図２７】
0003561551.tif 000028
【図２８】
0003561551.tif 000029
【図２９】
0003561551.tif 000030