JP3579123B2 - ファクシミリ装置 - Google Patents
ファクシミリ装置 Download PDFInfo
- Publication number
- JP3579123B2 JP3579123B2 JP11296995A JP11296995A JP3579123B2 JP 3579123 B2 JP3579123 B2 JP 3579123B2 JP 11296995 A JP11296995 A JP 11296995A JP 11296995 A JP11296995 A JP 11296995A JP 3579123 B2 JP3579123 B2 JP 3579123B2
- Authority
- JP
- Japan
- Prior art keywords
- destination information
- line
- character
- transmission
- setting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Facsimile Transmission Control (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
【産業上の利用分野】
この発明はファクシミリ装置に関し、特にたとえば送信原稿上に手書きされた宛先情報情報を読み取り、この読み取った宛先情報情報に基づいて発呼する、ファクシミリ装置に関する。
【0002】
【従来の技術】
たとえば、平成1年7月11日付で出願公開された特開平1−175363号公報〔H04N 1/32〕には、送信原稿に記載されている宛先を読み取り、この読み取った宛先に基づいて自動ダイヤルを行う、ファクシミリ装置が開示されている。この従来技術では、送信原稿の所定位置に手書き欄を設け、そこに宛先電話番号を手書きし、この手書き宛先電話番号を文字認識部によって読み取るようにしている。
【0003】
また、平成3年2月20日付で出願公開された特開平3−38965号公報〔H04N 1/32〕には、送信原稿の頭部に記載された電話番号の文字またはバーコードを走査してその画像を読み取り、その電気信号を出力し、電気信号から電話番号を認識し、認識した電話番号を自動ダイヤルする、ファクシミリ装置が開示されている。この従来技術では、送信原稿の予め決められた範囲の頭部に電話番号を書き込むようにしている。
【0004】
さらに、平成4年5月14日付で出願公開された特開平4−140963号公報〔H04N 1/32〕には、第1スライスレベルと第2スライスレベルとの中間の読み取りデータに基づいて相手先電話番号を検出し、それによって自動ダイヤルする、ファクシミリ装置が開示されている。つまり、この従来技術では、送信原稿本文の濃度を第1スライスレベルより高くし、原稿下部の余白に本文より濃度レベルが低い電話番号を記入するか、または本文と電話番号とが同じ濃度レベルの場合、本文と電話番号との間に本文より濃度レベルの低い仕切線を入れることによって、本文と電話番号とを区別して認識するようにしている。
【0005】
さらに、平成5年8月13日付で出願公開された特開平5−207256号公報〔H04N 1/32〕には、送信原稿をカバーシートの下に置き、そのカバーシートの所定位置に形成された記載欄に宛先電話番号を記入し、これを読み取ることによって自動ダイヤルするようにした、ファクシミリ装置が開示されている。
【0006】
【発明が解決しようとする課題】
特開平4−140963号公報の従来技術を除いて、上述の従来技術では、送信原稿あるいはカバーシートの所定位置に電話番号等を記入する必要がある。つまり、従来技術では、自動ダイヤルのための宛先電話番号を予め特定された位置に記入する必要がある。また、特開平4−140963号公報の従来技術では、そのような電話番号記入上の位置的な制約はないものの、本文と電話番号との濃度あるいは本文と仕切線との濃度レベルを明確に違える必要がある。すなわち、いずれの従来技術においても、宛先情報を自由な位置に自由な濃度で記入することはできず、したがって自動ダイヤルファクシミリ装置を実現するための多くの制約があり、いずれの従来技術も実用化されるには至っていない。
【0007】
それゆえに、この発明の主たる目的は、宛先情報を記入する際の制約を可及的取り除いて実用化可能なファクシミリ装置を提供することである。
この発明の他の目的は、比較的自由な位置に宛先情報を手書きしても正確にその宛先情報を認識することができる、ファクシミリ装置を提供することである。
【0008】
【課題を解決するための手段】
第1の発明は、送信原稿を副走査方向に移動する送信モータ(90)、 副走査方向の順次のラインの各々を主走査方向に走査して黒ドットまたは白ドットを出力する原稿読取手段(100) 、原稿読取手段の出力を受け、最初に黒ドットが検出されることによって決まる開始ラインと開始ライン以後に黒ドットが検出されない少なくとも1つの全白ラインが出現したことによって決まる終了ラインとに基づいて領域を特定する領域特定手段(60,S303-S310)、領域特定手段によって特定された領域を読み取った原稿読取手段の出力に基づいて宛先情報を認識する宛先情報認識手段(60,S4,S5)、宛先情報認識手段によって認識された宛先情報に従って発呼する発呼手段(60,114,S6,S612)、原稿読取手段の読取精度を可変的に設定する第1読取精度設定手段 (44) 、および原稿読取手段が領域を読み取るとき第1読取精度設定手段によって設定された読取精度に拘わらず特定の読取精度を強制的に設定する第2読取精度設定手段 (60,S302) を備える、ファクシミリ装置である。
第2の発明は、送信原稿を副走査方向に移動する送信モータ (90) 、副走査方向の順次のラインの各々を主走査方向に走査して黒ドットまたは白ドットを出力する原稿読取手段 (100) 、原稿読取手段の出力を受け、最初に黒ドットが検出されることによって決まる開始ラインと開始ライン以後に黒ドットが検出されない少なくとも1つの全白ラインが出現したことによって決まる終了ラインとに基づいて領域を特定する領域特定手段 (60,S303-S310) 、領域特定手段によって特定された領域を読み取った原稿読取手段の出力に基づいて宛先情報を認識する宛先情報認識手段 (60,S4,S5) 、および宛先情報認識手段によって認識された宛先情報に従って発呼する発呼手段 (60,114,S6,S612) を備え、宛先情報認識手段は宛先情報の文字が記入されている記入長を検出する記入長検出手段 (S416) 、領域中の宛先情報の文字数を検出する文字数検出手段 (S414) 、記入長および文字数に基づいて各文字間の平均スペース幅を計算する平均スペース幅計算手段( S417 )、および平均スペース幅に基づいて文字間スペースを特定するスペース特定手段 (S422-S424) を含む、ファクシミリ装置である。
第3の発明は、送信原稿を副走査方向に移動する送信モータ (90) 、 副走査方向の順次のラインの各々を主走査方向に走査して黒ドットまたは白ドットを出力する原稿読取手段 (100) 、原稿読取手段の出力を受け、最初に黒ドットが検出されることによって決まる開始ラインと開始ライン以後に黒ドットが検出されない少なくとも1つの全白ラインが出現したことによって決まる終了ラインとに基づいて領域を特定する領域特定手段 (60,S303-S310) 、領域特定手段によって特定された領域を読み取った原稿読取手段の出力に基づいて宛先情報を認識する宛先情報認識手段 (60,S4,S5) 、宛先情報認識手段によって認識された宛先情報に従って発呼する発呼手段 (60,114,S6,S612) 、および原稿読取手段からの黒ドットまたは白ドットで表される画像データをストアするラインバッファ手段を備え、 宛先情報認識手段はラインバッファ手段中の画像データに基づいて宛先情報を認識し、さらに宛先情報認識手段による認識結果を訂正する訂正モードを設定する訂正モード設定手段 (EMODE,S518,S519;S600,S601,S602;S607,S608) 、訂正モードが設定されたときラインバッファの画像データを出力する出力手段 (36,S701,S713) 、および訂正モードにおいて手動的に操作される手動操作キー (16) 、手動操作キーの操作に従って訂正された宛先情報のキャラクタコードをストアするダイヤルバッファ手段 (70) を備え、発呼手段はダイヤルバッファ手段のキャラクタコードに従って発呼し、訂正モード設定手段は宛先情報認識手段が宛先情報の1つまたはそれ以上の文字を認識できなかったとき第1訂正モードを設定する第1訂正モード設定手段 (S519,S502) を含み、さらに認識できなかった文字を特定の記号で表示する表示手段 (36,S511) を備え、第1訂正モード設定手段は宛先情報認識手段が宛先情報の1つの文字を認識できなかった都度1文字訂正モードを設定する1文字訂正モード設定手段 (S519) を含む、ファクシミリ装置である。
【0009】
【作用】
送信モータは原稿送りローラを駆動し、それによって送信原稿を副走査方向に移動する。送信原稿が副走査方向に移動する際に、原稿読取手段は送信原稿を主走査方向に走査する。原稿読取手段は、たとえばCIS(Contact Image Sensor)であり、送信原稿の濃度に応じて黒ドットまたは白ドットの電気信号、すなわちイメージデータを出力する。領域特定手段がその送信原稿読取手段からのイメージデータに基づいて宛先情報記入領域を特定する。すなわち、原稿読取手段から出力される最初の黒ドットが存在するラインを開始ラインとして特定する。この開始ライン以後にたとえば2つの全白ラインが出現するとそのラインを終了ラインとして特定する。したがって、宛先情報認識手段は開始ラインと終了ラインとによって特定される領域を読み取るときの原稿読取手段から出力されるイメージデータに基づいて宛先情報を認識する。そして、発呼手段がその認識された宛先情報に従って自動的に発呼手順を実行する。
【0010】
【発明の効果】
この発明によれば、領域特定手段によって宛先情報の文字を記入しているであろう領域が特定されるので、従来技術のように宛先情報の記入位置を予め指定しておく必要がない。したがって、オペレータは比較的自由な位置に宛先情報を書き込むことができ、実用上非常に有効である。
【0011】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0012】
【実施例】
図1はこの発明の一実施例を示す外観図である。この実施例のファクシミリ装置10は、ハウジング12を含み、このハウジング12の上面には、操作パネル14が形成される。操作パネル14には、図2に詳細に示される種々のキーが配置される。
【0013】
すなわち、操作パネル14上には、「0〜9」,「*」および「#」を含むテンキー16が設けられ、このテンキー16は、後述のように、宛先情報を手動的に入力する際に用いられる。図2において「A〜D」で示される4つのキーの各々はワンタッチダイヤルキー18であり、それを押すことによって予め登録した宛先にダイヤルすることができる。短縮ダイヤルキー20は、予め登録したたとえば2桁のコード番号によって宛先情報を入力するために用いられ、この短縮キー20とテンキー16とを用いて短縮コードを入力することができる。フラッシュキー22はいわゆるフラッシング動作を行わせるためのキーであり、このフラッシュキー22が操作されると、後述のNCU(Network Control Unit)114が電話回線を700ミリ秒〜1秒間ブレイクする。トーンキー24はダイヤルパルス信号またはDTMF(Dual−Tone Multi−Frequency) 信号の切り換えのためのキーである。ポーズキー26はダイヤルポーズ期間を設定するために用いられる。リダイヤルキー28は一旦発呼が行われたが回線が接続されなかった宛先に再度ダイヤルするために用いられる。なお、参照番号30および32は、それぞれ、保留キーおよびハンズフリーキーを示す。
【0014】
図2においてテンキー16の上方には、メニューキー34が設けられ、このメニューキー34は機能選択キーである。すなわち、メニューキー34を押すことによって、メニューを選択することができる。なお、このメニューキー34は、後に説明するように、液晶表示器(LCD:Licuid Crystal Display)36においてカーソル38を上位桁方向すなわち左方向に移動させるためのキーとしても用いられる。セットキー40は、メニューキー34で設定したメニューを確定させるためのキーである。ただし、セットキー40は、LCD36上のカーソル38を下位桁方向すなわち右方向に移動させるためにも用いられる。モードキー42はファクスモード,電話モードまたは留守番電話モードを切り換えるためのキーである。画質選択キー44はノーマル送信モード,ファイン送信モードおよび中間調送信モードのいずれかを選択する。
【0015】
原稿種類キー46は原稿の濃淡を切り換えたり、あるいは中間調を選択するために用いられる。ダイヤルバンクキー48は、SRAM68(後述)に蓄積された宛先情報を読み出すために用いられる。すなわち、たとえばテンキー16によって手動的に宛先情報を入力すると、その都度その宛先情報がSRAM68に登録される。ダイヤルバンクキー48を操作することによって、過去の発信頻度順位の第1位から第20位までの宛先情報を読み出すことができる。このようにして、ダイヤルバンクキー46で過去の宛先情報を読み出すことによって、ワンタッチダイヤル登録や短縮ダイヤル登録に利用することができる。また、ダイヤルバンクキー48によって過去にダイヤルされた宛先情報を読み出すことによって、いわゆるオートダイヤラとしての機能も実現できる。ペーパーセーブキー50は、ファクシミリ受信の際のファクシミリ用紙を節約するために用いられ、このペーパーセーブキー50が押されると受信用紙送りピッチを1/2にする。
【0016】
停止/クリアキー52は、全ての動作を停止して待機状態にする機能と、登録モード(ワンタッチ登録あるいは自局番号登録)において入力された番号をクリアする機能と、登録モードそれ自体を解除する機能とを果たす。この停止/クリアキー52は、また、後述の宛先情報認識動作においても操作される。たとえば図1に示すように原稿を挿入した後、宛先情報を認識する動作を開始するまでにこの停止/クリアキー52が操作されると、その原稿を強制的に排出する。また、図1に示すように挿入された原稿の宛先情報を認識している間(LCD36に「バンゴウヨミトリチュウ」と表示される)、停止/クリアキー52が操作されると、宛先情報の認識動作を中断し、その認識結果を廃棄する。ただし、この場合でも、ラインバッファ68(後述)には、CIS100(後述)で読み取ったイメージデータは保持されている。さらに、修正モードあるいはエラー訂正モードにおいて、停止/クリアキー52が1回操作されると、LCD36上のカーソル38で示される位置以降の情報が全てクリアされる。また、修正モードまたはエラー訂正モードにおいて、停止/クリアキー52が2回連続して操作されると、強制的に待機状態に戻る。
【0017】
スタートキー54は動作を開始させるときに操作される。たとえば、図1に示すハンドセット56がオフフック状態にあるとき、またはハンズフリーキー32がオンされているとき、このスタートキー54が操作されると、図1のように原稿が挿入されたことに応じて送信動作が開始され、原稿が挿入されていないときには受信動作が開始される。また、ハンドセット56がオンフック状態のとき、宛先情報が手動的に入力されると、このスタートキー54の操作に応答して、ダイヤル動作が開始される。また、送信原稿上に記入された宛先情報を認識する際に、原稿が挿入された後このスタートキー54がオンされると、その送信原稿上に記入された手書き宛先情報の読み取りを開始する。さらに、そのような宛先情報を認識した後にスタートキー54が操作されると、その認識した宛先情報に従ったダイヤル動作が開始される。ただし、宛先情報の認識にエラーがある場合には、上述のエラー訂正モードに入る。
【0018】
そして、コピーキー58は原稿(図1)のコピー動作を実行する際に操作される。
図3は、たとえば東芝製の「TC35167F」のようなシングルチップファクシミリプロセサを含む図1実施例のブロック図である。CPU60と他のコンポーネントとはバス62によって結合される。ROM64は図4に示すように制御プログラム領域64a,認識用辞書領域64bおよびメッセージ(可聴メッセージまたは可視メッセージ)のためのデータ、すなわちメッセージデータをストアするメッセージデータ領域64cを含む。制御プログラム領域64aは、後述のフロー図に従った制御プログラムを含む。認識用辞書領域64bは、手書き宛先情報を認識するための辞書であり、パターンマッチングのベクトルや複数のニューラルネットワークを含み、パターンマッチングのベクトルに応じてニューラルネットワークを選択することによって、送信原稿上に記入された宛先情報を認識する。この認識用辞書領域64bは、さらに、256テーブル(ビット数検出テーブル)を含む。このビット数検出テーブルは1バイト中の黒ビットの数を示すテーブルであり、ヒストグラムを作成するに際してビット数を検出する際に参照される。
【0019】
VRAM66は、図5に示すようにたとえば256バイト(=128×2048)のビットマップ方式(ビット単位でアクセスする)のラインバッファ68を含む。
他方、SRAM76はバイトマップ方式(バイト単位でアクセスする)メモリであり、図6に示すようなメモリスイッチ領域76a,フラグ領域76b,およびカウンタ,ポインタおよび変数領域76cを含むとともに、ダイヤルバッファ70,第1文字データテーブル(TBL1)72および第2文字データテーブル(TBL2)74を含む。
【0020】
メモリスイッチ領域76aの発信モードスイッチRMODE は、手書き宛先情報を認識した後自動的に発呼するモード(自動発信モード)と、宛先情報を手動的に入力した後に発呼するモード(手動発信モード)とを選択するためのスイッチであり、この発信モードスイッチRMODE は「0」で自動発信モードを設定し、「1」で手動発信モードを設定する。
【0021】
読取待機時間スイッチRTS は、自動発信モードにおいて原稿をセットした後手書き宛先情報の読取動作の開始までの時間を設定するためのスイッチであり、このスイッチRTS が「0」で設定されると、原稿がセットされた後、スタートキー54(図2)が押されると直ちに手書き宛先情報の読み取りを開始する。また、このスイッチRTS に「1」〜「10」の可変数が設定されると、原稿がセットされた後、その設定された可変数で表される秒数(RTS 秒)経過後自動的に手書き宛先情報の読み取りを開始する。
【0022】
エラー処理モードスイッチEMODE は、手書き宛先情報を認識しているときに、リジェクト文字が発生したときの処理を選択するためのスイッチである。このスイッチEMODE が「0」に設定されると、手書き宛先情報を認識中にリジェクト文字(認識不能文字)が発生したとき、その認識を中断し、そのときまでに得られた認識結果を破棄する。また、このエラー処理モードスイッチEMODE が「1」で設定されると、リジェクト文字が発生する都度認識動作を中断し、エラー訂正モードに移行する。また、スイッチEMODE が「2」で設定されると、手書き宛先情報の全てに対する認識動作を終了した時点でエラー訂正モードに移行する。
【0023】
認識確認時間スイッチCTは、手書き宛先情報の認識の終了後に、その認識結果を確認するための時間を設定するスイッチである。すなわち、このスイッチCTが「0」に設定されると、手書き宛先情報の認識結果をLCD36(図2)で表示した後、スタートキー54(図2)の操作に応答して直ちに自動ダイヤル動作を開始する。しかしながら、このスイッチCTに「1」〜「10」の可変数が設定されると、認識結果を表示した後、その可変数で示される秒数(CT秒)経過後、自動的に、ダイヤル動作を実行する。
【0024】
番号送信モードスイッチNSMODEは、手書き宛先情報を認識するためにCIS100で読み取ったイメージデータを送信データの一部として送信するか否かを選択するためのスイッチである。このスイッチNSMODEが「0」で設定されると、宛先情報認識のために読み取ったイメージデータを送信データの一部としては送信しない。スイッチNSMODEが「1」で設定されると、そのイメージデータを送信データの一部として送信する。
【0025】
読取送信モードスイッチSMODE は、オペレータが希望する送信モードを設定するためのスイッチであり、SMODE =「0」はノーマルモードを示し、SMODE =「1」はファインモードを示し、SMODE =「2」は中間調モードを示す。
フラグ領域76bは、先読みフラグSF,有効イメージ領域フラグAF,有効文字フラグMFおよびエラーフラグEFを含む。先読みフラグSFは、既に認識された宛先情報のデータがダイヤルバッファ70に存在しているかどうかを示すフラグであり、SF=「0」がデータのないことを示し、SF=「1」がデータがあることを示す。また、有効イメージ領域フラグAFは、CISによって現在読み取っている原稿の領域が認識対象となる宛先情報が記載された領域であるか否かを示すフラグであり、AF=「0」が宛先情報領域以外の領域を示し、AF=「1」が宛先情報領域を示す。有効文字フラグMFは、主走査方向において認識の対象となる宛先情報の領域を走査しているか否かを示すフラグであり、MF=「0」は領域外を示し、MF=「1」は領域内を示す。さらに、エラーフラグEFは、宛先情報を認識しているときにリジェクト文字が発生したことまたは認識の中断の指示が発生したことを示すフラグであり、EF=「0」はリジェクト文字の発生および認識中断指示の発生のいずれもないことを示し、EF=「1」はリジェクト文字の発生または認識中断指示の発生があったことを示す。
【0026】
SRAM76のカウンタ,ポインタおよび変数領域76cには、原稿送りカウンタPCNTが設けられる。この原稿送りカウンタPCNTは、宛先情報を認識するためにCIS100によって読み取られた原稿の副走査方向のライン数をカウントするためのカウンタである。書込ラインカウンタLCNTは、宛先情報を認識するためにCIS100で読み取ったイメージデータをラインバッファ68に書き込むためのライトポインタである。有効ラインカウンタBCNTは、主走査方向に2以上の黒ドットが連続するライン(有効ライン)が連続して出現する数をカウントするカウンタである。全白ラインカウンタWCNTは、主走査方向に2以上の黒ドットが連続しないライン(全白ライン)が連続して出現する数をカウントするためのカウンタである。
【0027】
第1カラムカウンタ〜第2048カラムカウンタは、図7に詳細に示すラインバッファ68の各カラム毎の黒ドット数をカウントするカウンタであり、第1カラムカウンタ1CCNT ,第2カラムカウンタ2CCNT ,第3カラムカウンタ3CCNT ,…,第2048カラムカウンタ2048CCNTを含む。文字数カウンタMCNTは、ラインバッファ68に格納されたイメージデータに含まれる文字数をカウントするためのカウンタである。カラムポインタCPNTは、ラインバッファ68の各カラムをアドレスするポインタである。第1データカウンタDCNT1 は、第1文字データテーブル72(図6)のデータを読み出すためのリードポインタであり、第2データカウンタDCNT2 は、第2文字データテーブル74(図6)にデータを書き込むためのライトポインタである。
【0028】
ダイヤルバッファライトポインタDLBWは、ダイヤルバッファ70へ宛先情報のキャラクタコードを書き込むためのライトポインタである。第2テーブルリードポインタTRPTは、第2文字データテーブル74のデータを読み出すためのリードポインタである。白送信カウンタWLSCは、送信すべき全白ラインの数を示すカウンタである。ラインバッファリードポインタLBRPは、ラインバッファ68に格納されているイメージデータをライン毎に読み出すためのリードポインタである。スペースカウンタSCNTは、手書き宛先情報に含まれるスペースが連続して出現する数をカウントするためのカウンタである。停止キーカウンタSKC は、停止/クリアキー52(図2)の操作回数をカウントするためのカウンタである。タイマカウンタTMは時間をカウントするためのカウンタである。平均距離レジスタALは、ラインバッファ68に格納されているイメージデータの文字間平均距離ALを示すデータを書き込むためのレジスタであり、スペース幅レジスタSPはラインバッファ68のイメージデータの文字間スペースの幅SPCを表すデータを格納するためのレジスタである。
【0029】
ダイヤルバッファ70は、原稿上に記入された宛先情報の認識結果または手動的に入力された宛先情報に基づいてNCU114からダイヤルパルスまたはDTMF信号を発生させるためのキャラクタコードをストアするためのバッファメモリである。
第1文字テーブル72および第2文字テーブル74の各々は、図8に示すように、始点X領域,始点Y領域,X幅領域およびY幅領域毎に第1格納部〜第32格納部の33の格納部を有する文字データテーブルである。この文字データテーブル72および74には、1つの文字を上述の4つの領域で表すデータが格納される。文字データテーブル72および74は、宛先情報の各文字やスペースを切り出すために用いられる。
【0030】
なお、このSRAM76は、さらに手書き宛先情報を認識するために必要なイメージバッファおよびヒストグラムバッファを含む。イメージバッファはバイトマップ形式でラインバッファ68からのイメージデータをストアし、256バイト×16ラインの領域として形成され、ヒストグラムバッファは1×512バイトの領域で形成される。ヒストグラムバッファは手書き宛先情報を認識する際に必要なヒストグラムを作成するために利用される。
【0031】
時計回路78はクロック信号(図示せず)を受けて現在時刻をカウントするための回路であり、VRAM66およびSRAM76とともに、バックアップ電池80によってバックアップされる。
記録制御回路82は、宛先情報訂正動作,ファクシミリ受信動作またはコピー動作においてファクシミリ用紙にデータを印字するための回路であって、サーマルヘッド84のためのサーマルヘッドドライバを含む。
【0032】
DMA回路86は、CPU60の介在なしにたとえばラインバッファ68からのデータを読み出しあるいはラインバッファ68へデータを書き込むためのDMA(Direct Memory Access)動作を制御するための回路である。
モータ制御回路88は、送信モータ90および受信モータ92を制御する。送信モータ90および受信モータ92はいずれもステッピングモータである。送信モータ90は、図9に示す原稿送りローラ94および圧接ローラ96を駆動する。受信モータ92はファクシミリ用紙ないし記録紙(図示せず)を送り出す。
【0033】
画処理回路98はCIS100からの「1」または「0」で出力されるビットイメージデータを受ける中間調処理回路を含む。なお、この中間調処理において、たとえばディザ法に従ってCIS100のスライスレベルを変更する。
符号化回路102は、CIS100からの1ライン分のデータをMH(Modified Haffmann) コードに変換し、それをSRAM76に与える。したがって、このSRAM76には、CIS100からの1ライン分のデータのMHコードが1ライン毎に格納される。そして、このMHコードは、CPU60によってフィル(Fill)符号が付加された後、FIFO方式で、モデム104に与えられる。
【0034】
なお、第1原稿センサ106および108は、図9に示すように、原稿送りローラ94を挟む位置に配置される。第1原稿センサ106は原稿送りローラの位置に原稿が送られてきたことすなわち原稿の存在を検出する。また、第2原稿センサ108はCIS100の位置に原稿が送られてきたことすなわち原稿が読取位置に達したことを検出する。これらセンサ106および108はセンサI/Oポート140に接続される。
モデム104は、DTMF発生回路を含み、CPU60からの指示に従ったモードでDTMF信号を出力する。モデム104は、さらに、音声応答回路112を含み、この音声応答回路112は、NCU114によって電話回線を捕捉したときに発呼側に返すたとえば「お待ち下さい」などの音声データをメッセージデータ領域64c(図4)のデータに従って返送する。なお、モデム104は、当然、変復調回路を含む。
【0035】
NCU114の詳細が図10に示される。図10を参照して、電話回線L1およびL2は、CMLスイッチを介してトランス116に接続される。したがって、CMLスイッチは、電話回線L1およびL2を、トランス116を介してモデム104に接続するか、スピーチネットワーク118を介してハンドセット56に接続するかを切り換える。
【0036】
待機状態では、CMLスイッチはハンドセット56側に切り換えられていて、リンガ信号(16Hz)が回線L1L2から出力されると、コンデンサおよび抵抗を介してトランス116にリンガ信号が与えられる。したがって着信検出回路120がリンガ信号を検出し、CPU60(図3)に着信を知らせる。
CPU60は、着信検出回路120からの着信信号が与えられると、リレードライブ回路122を介してCMLスイッチをトランス116側に切り換える。応じて、モデム104−トランス116−MCLスイッチ−L1L2のラインが形成され、先に述べた「音声応答」が行われ、あるいは発呼側からのファクス識別信号、すなわちCNG信号(1100Hz、0.5秒オン、3秒オフ)を検出する。したがって、このNCU114は、発呼側にファクス信号(たとえばNSF,CSI,DIS)を返送する。そして、発呼側がこのようなファクス信号を受けると、たとえばNSS(またはTSI,GCS)の信号が送られ、2つのファクスの間での機能の確認が行われる。その後、トレーニングモードが実行され、モデム104の機能の確認が行われる。すなわち、まず9600ボーでデータが送信され、次いで7200ボー,4800ボー,そして2400ボーで順次データが送信され、2つのファクスの間でデータの授受可能な通信速度を設定する。そして、NCU114からCFR信号を発呼側に返し、それに応じて、発呼側からファクスイメージ信号が回線L1,L2を介して送られる。
【0037】
なお、各信号(NSF,CSI,DIS,…,CFRなど)は、CPU60によってその信号を構成した後モデム104に対してその送信を指示する。
ファクス送信時において、たとえばテンキー16(図2)によって宛先情報が入力され、スタートキー54が操作されると、CPU60によってCMLスイッチがトランス116側すなわちモデム104側に切り換わる。その後、3秒間回線の捕捉を確認する。そして、CPU60は、回線の確立を確認すると、DP制御回路124に信号を与える。応じて、DP制御回路124がDPスイッチをダイヤルバッファ70(図6)にストアされたキャラクタコードに従ってオンまたはオフすることによって、回線L1,L2に発呼信号を与える。続いて、CPU60の指令に応答して、モデム104がCNG信号をトランス116および回線L1,L2を介して出力する。その後は先に述べたファクシミリ受信動作の逆である。
【0038】
また、電話発呼の場合、ハンドセット56が取り上げられ、フックスイッチHSがオン(メイク)される。したがって、回線L1,L2からトーン信号がCMLスイッチを介してハンドセット56で聞こえる。一方、フックスイッチ検出回路126がオンフック状態を検出する。このオンフック信号がCPU60に与えられる。したがって、CPU60は、宛先情報が入力されていることおよびフックスイッチHSがオンされていることを条件に、CMLスイッチをトランス116側に切り換える。したがって、DP制御回路124がDPスイッチをオンまたはオフ制御し、発呼する。その後、一定時間いずれのキーも押されなかったことを条件として、CMLスイッチをフックスイッチHS側に切り換え、ハンドセット56との間で通話を可能にする。
【0039】
なお、このようなNCU116の詳細な構成および動作は既によく知られたところでありかつ重要ではないので省略する。
ただし、図10に示すスピーカ128は、図1に示すようにハウジング12の側面に設けられ、NCU制御I/Oポート130(図3)からの信号に応じて、スピーカドライブ回路132がスイッチ134をオンしたとき、スピーカ128から音声メッセージを出力することができる。
【0040】
次に、図11以降のフロー図を参照して、上述の実施例の動作について説明する。
図11は動作の概略を示すフロー図である。最初のステップS1においては、CPU60(図3)は初期化を実行するとともに、操作パネル14の各キーの操作をチェックする。次のステップS2では、CPU60は、原稿上に手書きされた宛先情報を自動的に認識するかどうかをチェックする。したがって、このステップS2において宛先情報を認識すべきであると判断した場合には、次のステップS3において、送信原稿上の宛先情報の有無をチェックするとともに、その宛先情報が記入されている場合には、宛先情報のイメージデータをラインバッファ68に取り込む。そして、ステップS4において、手書きされた宛先情報の各文字のパターンデータを切り出すとともに、ステップS5において、切り出された文字を認識する。ステップS5で認識された宛先情報に従って、ステップS6では、送信処理が行われる。
【0041】
図11の最初のステップS1が図12に詳細に示される。図12の最初のステップS100では、CPU60は、原稿が挿入されたかどうかを判断する。すなわち、このステップS100では、CPU60は第1原稿センサ106(図9)からの検出信号があるかどうかを判断する。原稿挿入検出信号が第1原稿センサ106から得られないとき、ステップS101において、CPU60は、先読みフラグSFおよびエラーフラグEFをそれぞれクリアする。そして、次のステップS102において、操作パネル14の各キーの操作をチェックし、操作されたキーに応じた処理を行う。たとえば、ハンドセット56がオフフック状態にされたとき、ファクス信号が受信されるとポーリング受信の動作を行う。また、図6に示すメモリスイッチ領域76aの各メモリスイッチを設定する。さらには、ワンタッチダイヤル登録や短縮ダイヤル登録などの処理を行う。すなわち、原稿が挿入されるまでは待機状態にある。
【0042】
そして、ステップS100において、CPU60が第1原稿センサ106からの原稿検出信号を受け取ると、ステップS103に進み、原稿がCIS100の読取位置まで送られたかどうかを判断する。すなわち、このステップS103では、CPU60は、第2原稿センサ108からの原稿検出信号があるかどうかを判断する。第2原稿センサ108からの検出信号がないときには、ステップS104において、CPU60はモータ制御回路88に対して送信モータ90を駆動するための指令信号を送る。応じて、送信モータ90が駆動される。すなわち、ステップS104においては、CPU60からの指令に応じて、モータ制御回路88が送信モータ90を励磁する。したがって、原稿が原稿送りローラ94によって送られる。そして、ステップS103において第2原稿センサ108が原稿を検出するまで、このステップS104が実行される。
【0043】
そして、原稿が原稿読取位置に送られると、ステップS105において、CPU60はモータ制御回路88に指令信号を与え、その指令信号に応じて、モータ制御回路88は送信モータ90を停止する。
そして、次のステップS106では、CPU60は、NCU制御I/Oポート130からの信号に基づいて、ハンドセット56がオフフック状態にあるかどうかを判断する。つまり、原稿がCIS100の読取位置にまで送られたときに、オフフック状態となれば、先に説明した通話処理を行う。すなわち、ステップS105の状態でオフフック状態にされたということは、オペレータは電話を使用することを意味し、この場合には、ステップS107では通話処理を行うのである。
【0044】
ステップS106で、オフフック状態ではないと判断されると、ファクシミリ送信を処理すべきであることを意味する。したがって、この場合には、図11のステップS2すなわち図13のステップS200に進む。
図13の最初のステップS200では、CPU60は、SRAM76のフラグ領域76bを参照して、先読みフラグSFがセットされているかどうかを判断する。このステップS200において“YES”と判断されるということは、既に原稿がセットされていて、その原稿上に記入された宛先情報が正しく認識され、ダイヤルバッファ70(図6)に宛先情報の各文字のキャラクタコードがセットされていることを意味する。したがって、この場合には、そのまま送信処理(ステップS6)に移る。
【0045】
そして、先読みフラグSFがセットされていない場合には、次のステップS201において、CPU60は表示I/Oポート136(図3)を制御して、LCD36にメッセージを表示する。すなわち、このステップS201では、CPU60は、ROM64のメッセージデータ領域64cから「ソウシン、コピーデキマス」のメッセージデータを取り出し、それを表示I/Oポート132に与える。したがって、LCD36において、このメッセージが表示される。ただし、このステップS201において、LCD36による可視的表示とともに、スピーカ128を用いてメッセージを可聴的に表示するようにしてもよい。
【0046】
次のステップS202では、CPU60はSRAM76のメモリスイッチ領域76aを参照して、発信モードスイッチRMODE の設定が「0」であるかどうかを判断する。すなわち、このステップS202では、CPU60は、原稿に記入された宛先情報を認識して、その認識結果に応じて自動的に発呼処理を行う自動発信モードが設定されているかどうかを判断する。したがって、このステップS202において“NO”と判断されると、手動送信モードであるので、ステップS800(図27)に進む。
【0047】
自動送信モードが設定されている場合には、次のステップS203において、メモリスイッチ領域76aを参照して、読取待機時間スイッチRTS として、「00」が設定されているのか「01」〜「10」の可変数値が設定されているのかを判断する。ステップS203において“YES”と判断されると、直ちにステップS205に進むが、“NO”と判断されると、ステップS204においてタイマカウンタTM(図6)をトリガした後、ステップS205に進む。
【0048】
ステップS205では、先のステップS106(図12)と同様にして、ハンドセット56がオフフック状態にあるかどうかを判断する。このステップS205において“YES”と判断される場合には、先のステップS107に進み、通話処理が実行される。
ステップS205において“NO”が判断されるとき、すなわちハンドセット56がオフフック状態ではないときには、次のステップS206において、CPU60は、入力I/Oポート138(図3)を通して与えられる操作パネル14からの信号を参照して、テンキー16(図2)が操作されたかどうかを判断する。この段階でテンキー16が操作されたのであれば、宛先情報を手動的に入力することを意味し、したがってこの場合には、ステップS800(図27)に進む。
【0049】
テンキー16が操作されないときには、次のステップS207において、スタートキー54(図2)が操作されたかどうかを判断する。つまり、ステップS204でトリガしたタイマカウンタTMがタイムアップするまでにスタートキー54が操作されると、そのタイマカウンタTMのカウント時間に拘わらず、図11のステップS3すなわち図14のステップS300に進む。
【0050】
そして、ステップS207においてスタートキー54が操作されていないと判断した場合には、次のステップS208およびS209を実行して、そのとき操作されたキーに対応する処理を実行する。スタートキー54も操作されず、他のキーも操作されないときには、ステップS210において、CPU60は、タイマカウンタTMに設定した可変数値RTS に相当する時間が経過したかどうかを判断する。つまり、ステップS204からS210までで、メモリスイッチ領域76aの待機時間スイッチRTS に設定された可変数値に応じた時間だけ宛先情報の認識動作の開始を待つことになる。したがって、その間に宛先情報の手動入力や通話処理等が可能になる。
【0051】
図14の最初のステップS300では、CPU60は、先のステップS201と同様の処理をして、LCD36に「バンゴウヨミトリチュウ」のメッセージを表示する。そして、次のステップS301において、CPU60は、VRAM66のカウンタ,ポインタおよび変数領域76cにおける各変数を初期化する。すなわち、原稿送りカウンタPCNTを初期値「1」に設定する。この原稿送りカウンタPCNTは、送信モータ90によって原稿が副走査方向に1ライン送られる毎にインクリメントされるものであり、したがってこの原稿送りカウンタPCNTを参照することによって、手書き宛先情報を記入している領域の最終ラインの位置ないし番号を判断することができる。書込ラインカウンタLCNTが初期値「2」にセットされる。この書込ラインカウンタLCNTは、ラインバッファ68(図17)に1ライン分のデータが書き込まれる毎にインクリメントされる。ただし、図7に示すようにラインバッファ68の第1ラインには手書き宛先情報を読み取ったイメージデータを書き込まないようにするために、このステップS301では、書込ラインカウンタLCNTを「2」にセットする。この書込ラインカウンタLCNTを参照することによって、ラインバッファ68に宛先情報のイメージデータを書き込んだときの最終ラインの位置がわかる。
【0052】
ステップS301では、さらに、カラムカウンタCCNTが全て「0」にされる。先に説明したように、ラインバッファ68の第1カラムから第2048カラムのそれぞれについてカラムカウンタ1CCNT から2048CCNTが個別に設けられていて、そのカラムカウンタ1CCNT 〜2048CCNTによって各カラム毎のX方向のヒストグラムを作成する。すなわち、カラムカウンタ1CCNT 〜2048CCNTは、ラインバッファ68の各カラム毎の黒ドット数をカウントするものであるため、ステップS301では、これら全てのカラムカウンタCCNTを「0」に設定する。
【0053】
そして、ステップS301では、さらに、有効ラインカウンタBCNTに「0」の初期値を設定する。有効ラインカウンタBCNTは、ノイズ処理のために用いられるものである。すなわち、1ライン中に連続する2以上の黒ドットがあれば、そのラインには手書き宛先情報が記入されている有効ラインであると判断する。これに対して、1ライン中に連続した黒ドットがない場合には、その1ドットだけの黒ドットは原稿の汚れやごみによって出力されたものと認識し、そのラインは有効ラインとはみなさない。そして、このような有効ラインの連続数をカウントするのが有効ラインカウンタBCNTである。すなわち、有効ラインが連続して15ライン(これは原稿上において2mmの長さ)にならなければ、有効な宛先情報が記入されていないものと判断する。このような判断のために有効ラインカウンタBCNTが用いられる。つまり、この有効ラインカウンタBCNTのカウント値が「15」を超えない限り、手書き宛先情報の認識を行わない。換言すれば、原稿上において2mm以下のサイズの宛先情報の文字は認識の対象から除外する。
【0054】
ステップS301では、さらに、全白ラインカウンタWCNTが「0」に初期設定される。この全白ラインカウンタWCNTは図7に示すラインバッファ68の最後の3つの全白ラインを検出するために用いられる。つまり、ラインバッファ68(図7)において、3つの全白ラインが連続して格納されたとき、手書き宛先情報の記入領域の終了を判断する。つまり、この全白ラインカウンタWCNTは、手書き宛先情報の最後のラインすなわち終了ラインを検出するために用いられる。
【0055】
ステップS301では、さらに、フラグ領域76a(図6)の有効イメージ領域フラグAFがリセットされる。このフラグAFは、CIS100が手書き宛先情報を記入した領域を読み取っているかどうかを表すフラグであり、その領域を読み取っているときには「1」にセットされ、それ以外のときには「0」にリセットされる。
【0056】
図14の次のステップS302では、CPU60は、CIS100および送信モータ90を含む読取系をセットアップする。すなわち、このステップS302では、CPU60は、モータ制御回路88に指令信号を与え、送信モータ90を駆動するとともに、CIS100および画処理回路98をファインモードに設定する。つまり、手書き宛先情報を認識する場合には、オペレータが画質選択キー44で設定したモードの如何に拘わらず、このステップS302で、ファインモードを強制的に設定する。
【0057】
そして、次のステップS303において、CIS100からのイメージデータをラインバッファ68の書込ラインカウンタLCNTによって指定されたラインに書き込む。最初のラインであれば、CIS100からのイメージデータはラインバッファ68の第2ラインに書き込まれることになる。なお、このステップS303におけるラインバッファ68へのイメージデータの書き込みは、実際にはDMAに従って実行されるので、CPU60は、ラインバッファ68の各アドレスとイメージデータのデータ長とをDMA回路86(図3)に指示するだけでよい。それによって、CIS100からの1ライン分のイメージデータがラインバッファ68に書き込まれる。
【0058】
そして、次のステップS304において、CPU60は、入力I/Oポート134からの信号を参照して、停止/クリアキー52(図2)が操作されたかどうかを判断する。この段階で停止/クリアキー52が操作されたことは、たとえば(1) オペレータは原稿をコピーしようとしていたのに宛先情報の読取動作に入ってしまった場合や(2) 原稿が正常に送られなかった場合などを意味し、停止/クリアキー52の操作に応答して、原稿を排出する。そのために、このステップS304において“YES”が判断されたとき、図15のステップS315に進み、原稿を排出する。
【0059】
次のステップS305では、CPU60は、送信モータ90を駆動して、ファインモードで1ライン分(約0.13mm)だけ原稿を送る。そして、次のステップS306において、原稿送りカウンタPCNTをインクリメントする。
次のステップS307では、先のステップS303でラインバッファ68に格納された1ライン分のイメージデータにおいて、2以上連続する黒ドットがあるかどうか、すなわち先に読み取った1ラインが有効ラインであるかどうかを判断する。具体的には、CPU60は、ラインバッファ68の2048カラムのうち最初の5バイト(原稿では5mm)のデータを除いて、ラインバッファ68の第40カラムから2048カラムまでの200バイト分(原稿では200mm)のイメージデータをラインバッファ68から読み出す。なお、ラインバッファ68の最初の5バイトのイメージデータを読み出さない理由は、その範囲で原稿のエッジを検出してしまう可能性があるので、その可能性を排除するためである。
【0060】
そして、CPU60は、ラインバッファ68から読み出した200バイト分のイメージデータをアキュムレータに取り込む。このとき、まず1バイトを読み出し、その1バイトのイメージデータと次のバイトのイメージデータの最上位ビットとの合計9ビットで黒ドットの連続性を判断する。すなわち、各バイト毎に単独で黒ドットの連続性を判断すると、先行のバイトの最下位ビットと後続のバイトの最上位ビットとが連続して黒ドットであった場合でも、黒ドットが連続していると判断できないことがある。そのために、次のバイトのイメージデータの最上位ビットを含めて合計9ビットで黒ドットの連続性を判断するのである。具体的には、CPU60は、アキュムレータの内容をチェックして、2以上のビットで連続する「1」があるかどうかを判断する。このようにして、ステップS307では、CPU60は先にラインバッファ68に読み込んだイメージデータが有効ラインのものであるかどうかを判断する。
【0061】
このステップS307において、“NO”と判断されると、次のステップS308において、CPU60は、有効イメージ領域フラグAFがセットされているかどうかを判断する。そして、このフラグAFが既にセットされている場合には、次のステップS309において、全白ラインカウンタWCNTをインクリメントする。そして、次のステップS310において、全白ラインカウンタWCNTのカウント値が「3」以上になったかどうかを判断する。先に説明したように、図7に示すようにラインバッファ68に3ライン連続して全白ラインが出現した場合には、手書き宛先情報の記入領域の終了ラインを判断する。したがって、このステップS310において“YES”を判断したときには、手書き宛先情報の記入領域の終了ラインを検出したことを意味し、この場合、次のステップS311で読取系を停止した後、図11のステップS4すなわち図16の最初のステップS400に進む。
【0062】
先のステップS307において“YES”と判断したとき、すなわちステップS303でラインバッファ68に格納された1ラインのイメージデータが有効ラインのものであると判断したとき、ステップS312において、CPU60は全白ラインカウンタWCNTをクリアする。全白ラインカウンタWCNTは連続して3ライン以上全白ラインが出現したかどうかを検出するためのカウンタであるので、有効ラインが検出される都度クリアされる。そして、先のステップS310において“NO”と判断された場合と同様に、図15に示す次のステップS313に進む。
【0063】
このステップS313では、CPU60は、ラインバッファ68の書込ラインカウンタLCNTで示されるラインの黒ドットの位置に対応したカラムのカラムカウンタをインクリメントする。すなわち、このステップS313では、ラインバッファ68の黒ドットが存在するカラムのカラムカウンタをインクリメントする。そして、次のステップS314において、CPU60は、書込ラインカウンタLCNTをインクリメントするとともに、有効ラインカウンタBCNTをインクリメントする。
【0064】
そして、次のステップS315において、CPU60は、書込ラインカウンタLCNTのカウント値が「128」を超えたかどうかを判断する。つまり、このステップS315では、図7に示すラインバッファ68の128ラインの全てにイメージデータが書き込まれたかどうかを判断する。したがって、ラインバッファ68が満杯になるまでは、ステップS315において“NO”と判断されるため、次のステップS316に進む。
【0065】
このステップS316では、有効イメージ領域フラグAFがセットされているかどうかを判断する。つまり、先のステップS307において有効ラインを検出すると、それは有効イメージ領域(宛先情報記入領域)であることを意味するため、このステップS316において、このフラグAFがセットされているかどうかを判断する。このステップS316において“NO”と判断された場合には、次のステップS317において、CPU60は、有効ラインカウンタBCNTのカウント値が「15」に達したかどうかを判断する。すなわち、このステップS317では、CPU60は、連続して15ライン以上有効ラインがあったかどうかを判断する。そして、このステップS317において“YES”が判断されたとき初めて、有効イメージ領域フラグAFをセットする(ステップS318)。先に説明したように、原稿上において2mm以下のサイズの宛先情報の文字は認識の対象としないため、有効ライン数が15ラインを超えたときにのみ有効イメージ領域フラグAFをセットするのである。
【0066】
先のステップS308(図14)において、“NO”と判断されたときには、ステップS319に進む。このステップS319では、CPU60は、書込ラインカウンタLCNTに初期値「2」を設定するとともに、有効ラインカウンタBCNTをクリアするとともに、カラムカウンタ1CCNT 〜2048CCNTの全てをクリアする。その後、ステップS317において“NO”と判断した場合と同様に、次のステップS320に進む。このステップS320では、CPU60は、原稿送りカウンタPCNTのカウント値が「231」を超えたかどうかを判断する。すなわち、このステップS320では、原稿が30mm(=231/7.7)以上送られたかどうかを判断する。これは、手書き宛先情報の文字が原稿の上端から30mm以内に存在するであろうという前提に立つ。したがって、このステップS320における「231」を変更することによって、手書き宛先情報の認識領域を拡大しまたは縮小することができる。そして、このステップS320において“YES”が判断されるということは、原稿の上端から30mmの範囲内に宛先情報の文字が記入されていないことを意味する。したがって、この場合には、次のステップS321において、CPU60は、LCD36においてたとえば「バンゴウアリマセン」のようなメッセージを表示する。そして、次のステップS322において、送信モータ90を駆動して原稿を排出するとともに、次のステップS323において、先のステップS311と同様に、読取系を停止する。
【0067】
なお、ステップS319において書込ラインカウンタLCNT,有効ラインカウンタBCNTおよびカラムカウンタCCNTを初期状態に戻す理由は、ステップS307において有効ラインが検出されずかつステップS308において有効イメージ領域フラグAFがセットされていないからである。すなわち、有効ラインが「15」になる前に全白ラインが出現したときには、これらのカウンタLCNT,BCNTおよびCCNTを初期状態に戻すのである。
【0068】
さらに、先のステップS315において、ラインバッファ68が満杯になったことを検出すると、次のステップS324において、CPU60は読取系を停止する。すなわち、ステップS315において“YES”が判断されるということは、ラインバッファ68に手書き宛先情報のイメージデータは書き込まれたもののその手書き宛先情報の終わりが検出されない場合である。たとえば、手書き宛先情報の文字が大きすぎるかあるいは手書き宛先情報としては認識できない別の文字やキャラクタがその領域に記入されていることを意味する。したがって、このステップS315において“YES”が判断されることは、後の処理において認識できない状態であることを意味し、したがって、この場合には、ステップS324に進むのである。そして、ステップS324において読取系を停止した後、ステップS325において、ステップS321と同様に、LCD36によってメッセージ表示をした後、ステップS326において、エラーフラグEFをセットしてステップS800(図27)に進む。
【0069】
なお、先のステップS323の後、プロセスはステップS100に進む。つまり、この場合には待機状態に入る。
先のステップS311が処理される場合には、ラインバッファ68に認識可能な状態で手書き宛先情報のイメージデータがストアされていることを意味し、この場合には、図11のステップS4に進み、手書き宛先情報として記入された各文字を切り出す。つまり、このステップS4では、図18において点線で囲んだ各文字の領域と2点鎖線で囲んだスペースの領域とを検出する。そのために、このステップS4では、図18に示す各文字の始点X,始点Y,X幅およびY幅を、それぞれ、データA,B,CおよびDとして文字データテーブル72および74(図6)に書き込む。
【0070】
図16の最初のステップS400では、文字の切り出しのための初期化を行う。すなわち、このステップS400では、文字数カウンタMCNTに「0」の初期値を設定する。この文字数カウンタMCNTは、ラインバッファ68中のスペースの部分を含んだ文字の数をカウントするものである。ここで、スペースの部分もカウントするのは、スペースをポーズデータとして後の送信処理(ステップS6)において用いるためである。そして、ステップS400では、さらに、カラムポインタCPNTに「1」の初期値を設定する。このカラムポインタCPNTは、ラインバッファ68のリードポインタを示し、図18に示す2048個のカラムのどれかを指示する。そして、ステップS400では、有効文字フラグMFをリセットする。この有効文字フラグMFは、リードポインタCPNTが図18の点線の領域の中にあるかどうかを示すフラグであり、このフラグMFがセットされているとき、それは有効文字であることを示す。さらに、ステップS400では、第1文字データテーブル72および第2文字データテーブル74(図6)の第1格納部〜第32格納部の全てをクリアする。
【0071】
そして、次のステップS401において、CPU60は、カラムポインタCPNTで示されるカラムのカラムカウンタCCNTのカウント値が「3」以上であるかどうかを判断する。すなわち、このステップS401では、カラムポインタCPNTで指定されるカラムに3以上の黒ドットが存在するかどうかを判断する。1つのカラムに3以上の黒ドットが存在するかどうかを判断することによって、そのカラムが有効文字領域内にあるかどうかを判断するのである。したがって、このステップS401において“YES”と判断されると、次のステップS402およびS403を実行し、有効文字フラグMFをセットする。そして、ステップS403において、CPU60は、文字数カウンタMCNTをインクリメントする。
【0072】
次のステップS405では、CPU60は、第1文字データテーブルTBL1の文字数カウンタMCNTで指示される格納部、つまり第MCNT番目の格納部に、図18の始点XのデータAとして、カラムポインタCPNTの値を書き込む。すなわち、ステップS405で、文字数カウンタMCNTで指示される文字の始点XのデータAが第1文字データテーブル72に書き込まれる。
【0073】
ステップS405において始点XのデータAを書き込んだ後、または先のステップS402において“NO”と判断された後、CPU60は、ステップS406において、カラムポインタCPNTをインクリメントする。その後、ステップS407において、カラムポインタCPNTの値が「2048」を超えたかどうかを判断する。つまり、このステップS407では、ラインバッファ68の全てのカラムについて、ステップS401の判断が終了したかどうかを判断する。したがって、ラインバッファ68の全てのカラムについて3以上の黒ドットがあるかどうかの判断を終えていない場合には、ステップS401からステップS406を繰り返し実行する。
【0074】
そして、たとえば第1文字と第2文字との間のスペース部分をカラムポインタCPNTが指示したときには、ステップS401において“NO”と判断され、ステップS408に進む。そして、このステップS408で、有効文字フラグMFがセットされているかどうかを判断する。第1文字を先に検出している場合、このフラグMFはセットされているので、このステップS408で“YES”が判断され、次のステップS409で有効文字フラグMFがリセットされる。
【0075】
その後、ステップS410〜S413を実行して、第1文字データテーブル72の各格納部に残りの3つのデータB,CおよびDを書き込む。
ステップS410では、図18のX幅のデータCを第1文字データテーブル72の有効文字数カウンタMCNTで指定される格納部のX幅領域に格納する。このX幅データCは、カラムポインタCPNTの値と先にステップS405で第1文字データテーブルの文字数カウンタMCNTで指定される格納部の始点X領域にセットされた値(データA)との差である。
【0076】
そして、次のステップS411において、CPU60は、ラインバッファ68のカラム(これは始点XのデータAで表されるカラムからカラムポインタCPNTで示されるカラムまでの範囲において、黒ドットが位置する最上位ラインおよび最下位ラインを検出する。すなわち、このステップS411では、図18の点線で示す文字領域の最上位ラインY1および最下位ラインY2を検出する。そして、ステップS412では、ステップS411で検出した最上位ラインY1の番号を、第1文字データテーブル72の文字数カウンタMCNTで指定される格納部の始点Y領域に、データBとしてセットする。
【0077】
そして、ステップS413において、CPU60は、第1文字データテーブル72の文字数カウンタMCNTで指定される格納部のY幅領域にデータDをセットする。このデータDは、ステップS411で検出した最下位ラインY2と最上位ラインY1とによって「最下位ライン−最上位ライン+1」によって求めることができる。
【0078】
このようにして第1文字データテーブル72の文字数カウンタMCNTで指定される格納部に4つのデータA,B,CおよびDが全て格納されると、次のステップS414において、CPU60は文字数カウンタMCNTのカウント値が「32」に達したかどうかを判断する。すなわち、このステップS414では、第1文字データテーブル72の第1格納部から第32格納部の全てに始点XのデータA,始点YのデータB,X幅のデータCおよびY幅のデータDが全て格納されたかどうかを判断する。したがって、もしこのステップS414において“NO”と判断されると、先のステップS406〜S413を繰り返し実行する。
【0079】
なお、先のステップS411において、文字領域の最上位ラインY1および最下位ラインY2を検出するためには、CPU60は、ラインバッファ68の1バイト分のイメージデータをアキュムレータに読み出し、これをシフトしながら「1」の数を検出する。これによって、最上位ラインY1のライン番号が検出できる。
【0080】
図17の次のステップS415では、CPU60は、文字数カウンタMCNTのカウント値が「0」かどうかを判断する。すなわち、このステップS415では、1つ以上の有効文字が手書き宛先情報記入領域に存在するかどうかを判断する。したがって、このステップS415において“YES”と判断される場合には、手書き宛先情報記入領域に認識すべき有効な文字がないのであるから、先のステップS325(図15)に戻る。
【0081】
しかしながら、ステップS415において“NO”と判断されると、CPU60は、次のステップS416において、図18に示す手書き宛先情報記入領域の長さLを算出する。具体的には、このステップS416では、第1文字データテーブルの第1格納部の始点X領域にセットされた値A1(図19)と、第1文字データテーブルの文字数カウンタMCNTによって指定される格納部の始点X領域およびX幅領域にセットされた値A(MCNT)およびC(MCNT)とに基づいて、長さLを算出する。すなわち、このステップS416では、手書き宛先情報の文字が記入された主走査方向の長さLを検出する。次に、ステップS417において、CPU60は、平均文字間距離ALを算出する。すなわち、ステップS417では、ステップS416で求めた文字領域長さLを文字数カウンタMCNTで表される文字数で割った値を平均文字間距離ALとして計算する。そして次のステップS418において、CPU60は、第1文字データテーブルのリードポインタDCNT1 および第2文字データテーブルのライトポインタDCNT2 にそれぞれ「1」の初期値を設定する。
【0082】
次のステップS419〜S425を実行することによって、CPU60は、第1文字データテーブル72のデータを第2文字データテーブル74へ書き換える。ただし、このとき第2文字データテーブル74にはスペースを示すデータも書き込まれる。
すなわち、ステップS419では、第1文字データテーブル72のリードポインタDCNT1 で指定される格納部の各データA,B,CおよびDを、第2データテーブル74のライトポインタDCNT2 で指定される格納部に、図19に示すようにセットする。そして、次のステップS420では、第1文字データテーブル72のリードポインタDCNT1 が文字数カウンタMCNTでカウントした文字数になったかどうか、すなわち、第1文字データテーブル72に格納した全てのデータを第2文字データテーブル74に格納したかどうかを判断する。したがって、もし、このステップS420において“YES”が判断されれば、次のステップS5(図11)すなわち図20のステップS500に進む。
【0083】
しかしながら、第1文字データテーブル72の全てのデータを第2文字データテーブル74へ書き込んでいない状態では、ステップS420において“NO”と判断される。したがって、CPU60は、次のステップS421において、手書き宛先情報記入領域に記入された各文字の間のスペースの幅SPCを計算する。具体的には、このステップS421では、第1文字データテーブル72のリードポインタDCNT1 で指定される格納部の始点X領域およびX幅領域にそれぞれセットされた値A(DCNT1) およびC(DCNT1) と、第1文字データテーブル72の次の格納部の始点X領域にセットされた値A(DCNT1+1) とに基づいて、ラインバッファ68にストアされている第(DCNT1) 番目の文字と第(DCNT1+1) 番目の文字との間のスペース幅SPCを計算する。そして、その計算したスペース幅SPCは、ステップS417で計算した平均距離ALとともに、VRAM66のスペース幅レジスタSPおよび平均距離レジスタALに格納される。
【0084】
そして、ステップS422において、CPU60は、平均距離レジスタALおよびスペース幅レジスタSPを参照して、スペース幅SPCが平均文字間距離ALより大きいかどうかを判断する。もし、このステップS422において“YES”と判断されると、次のステップS423において、CPU60は、第2文字データテーブルのライトポインタDCNT2 をインクリメントし、次のステップS424を実行する。
【0085】
先のステップS422において“YES”が判断されるということは、平均文字間距離AL以上のスペースがその第(DCNT1) 番目の文字と第(DCNT1+1) 番目の文字との間に存在することを意味し、したがって、この場合には、ステップS424では、第2文字データテーブル74のその部分に、図19に示すようにスペースを意味する「−1」をセットする。すなわち、ステップS424では、第2文字データテーブル74のライトポインタDCNT2 で指定される格納部の始点Xの領域に「−1」をセットする。そして、ステップS425において、リードポインタDCNT1 およびライトポインタDCNT2 をそれぞれインクリメントする。
【0086】
このようにして、第1文字データテーブル72に格納された全ての文字について文字またはスペースを第2文字データテーブル74に記入した状態では、ステップS420において“YES”と判断され、次のステップS500に進む。
図20の最初のステップS500では、CPU60は、図17〜図19のようにして切り出した手書き宛先情報の各文字の認識を実行するための初期化を行う。すなわち、このステップS500では、先読みフラグSFをセットするとともに、エラーフラグEFをリセットする。さらに、このステップS500では、スペースカウンタSCNT(図6)に「0」の初期値を設定するとともに、ダイヤルバッファライトポインタDLBWおよび第2文字データテーブルリードポインタTRPTに、それぞれ、「1」の初期値を設定する。それとともに、ステップS500では、ダイヤルバッファ70(図6)をクリアする。
【0087】
なお、ダイヤルバッファライトポインタDLBWは、32桁の宛先情報を書き込むことができるダイヤルバッファ70の書込桁位置を指定するためのポインタであり、リードポインタTRPTは、第2文字データテーブル74の格納部を指定するポインタである。
そして、ステップS501では、第2文字データテーブル74のリードポインタTRPTがそのライトポインタDCNT2 を超えたかどうか、すなわち、第2文字データテーブル74の第1格納部から第32格納部の全ての格納部についてデータを読み出したかどうかを判断する。
【0088】
そして、ステップS501で“NO”と判断されると、次のステップS502で、CPU60は、ROM64の認識用辞書領域64b(図4)等を参照して、切り出した文字の認識を実行する。すなわち、第2データテーブル74の各格納部にストアされているデータに従ってラインバッファ68の各文字領域のイメージデータを読み出し、それを正規化し、そのイメージデータの特徴パラメータを抽出する。そして、周知のパターンマッチングの手法に従って、抽出した特徴と辞書64bにある特徴とを比較し、その文字が「0」〜「9」のいずれかの数字,「*」,「#」,「−」などであるかを認識する。そして、その認識した文字に対応するキャラクタコードCCを出力する。
【0089】
ステップS503では、CPU60は、ステップS502で出力されるキャラクタコードCCがスペースを表すキャラクタコードであるかどうかを判断する。もし、このステップS503において“YES”であると判断されると、次のステップS504へ進む。このステップS504では、ダイヤルバッファライトポインタDLBWが「1」であるかどうかを判断する。もし、ダイヤルバッファライトポインタDLBWが「1」であると、このときのスペースのキャラクタコードを無視するために、ステップS505においてスペースカウンタSCNTをインクリメントした後、ステップS520へ進む。
【0090】
これに対して、ステップS503において“NO”と判断されたときには、ステップS506〜S509を実行し、ダイヤルバッファ70にスペースのキャラクタコードを書き込む。すなわち、ステップS506では、スペースカウンタSCNTが「0」になったかどうかを判断する。このスペースカウンタSCNTが「0」でないということは、第2文字データテーブル74にいくつかのスペース(「−1」のデータ)が存在しているということを意味し、このときには、次のステップS507で、ダイヤルバッファライトポインタDLBWに従って、スペースのキャラクタコードをダイヤルバッファ70に書き込む。そして、次のステップS508において、ダイヤルバッファライトポインタDLBWをインクリメントするとともに、ステップS509において、スペースカウンタSCNTをディクリメントする。
【0091】
そして、ステップS506において、“YES”が判断されると、すなわち、スペースカウンタSCNTが「0」であると判断されると、次のステップS510において、CPU60は、先に出力されたキャラクタコードがエラーコードであるかどうかを判断する。もしエラーコードであれば、次のステップS511で、そのキャラクタコードをアルファベットの「X」のキャラクタコードに置き換える。そして、ステップS512では、ステップS502で出力されたキャラクタコードおよびステップS511で置き換えられたキャラクタコードのいずれかをダイヤルバッファライトポインタDLBWに従ってダイヤルバッファ70に書き込む。
【0092】
そして、次のステップS513では、CPU60は、ダイヤルバッファ70にセットされたキャラクタコードに従って、認識した手書き宛先情報の文字をLCD36で表示する。これは、オペレータに宛先情報を確認させるためである。このステップS513に続くステップS514では、CPU60は、停止/クリアキー52(図2)が操作されたかどうかを判断する。ここで、停止/クリアキー52が操作されるということは、宛先情報の文字の認識処理を停止するという意味であり、したがって、次のステップS515においてエラーフラグEFをセットし、ステップS800(図27)へ進む。
【0093】
ステップS514において停止/クリアキー52の操作が検出されなければ、次のステップS516において、キャラクタコードがアルファベットの「X」を表すキャラクタコードであるかどうかを判断する。すなわち、このステップS516では、先の認識ステップS502において認識できなかった文字(リジェクト文字)があるかどうかを判断する。つまり、ステップS502で認識できなかった文字は、ステップS511において「X」のキャラクタコードに置換されている。したがって、ステップS516において「X」のキャラクタコードを検出することによって、認識できなかった文字があるかどうかが判断できるのである。
【0094】
そして、認識できなかった文字(リジェクト文字)があれば、ステップS517およびS518において、エラー処理モードスイッチEMODE の内容をチェックする。ステップS517において“YES”が判断されると、エラー処理モードスイッチEMODE には、「0」が設定されているので、手書き宛先情報の認識を中断し、それまでの認識結果を破棄する。そのために、ステップS515においてエラーフラグEFをセットした後、ステップS800に進む。ステップS517において“NO”と判断され、ステップS518において“YES”と判断された場合には、エラー処理モードスイッチEMODE として「1」が設定されているので、文字認識中にリジェクト文字が発生したとして、その認識処理を中断し、訂正処理モードに移行する(S519)。ただし、このステップS519の訂正1ルーチンについては後に詳細に説明する。ステップS518において“NO”が判断されると、エラー処理モードスイッチEMODE として「2」が設定されているので、次のステップS520において、第2文字データテーブル74のリードポインタTRPTをインクリメントした後、先のステップS501に戻って認識処理を続行する。そして、このステップS501において、第2文字データテーブルの全ての文字について認識が終了したことを判断すると、次の送信ステップS6(図11)、すなわち図22のステップS600に進む。
【0095】
図22のステップS600では、CPU60は、ダイヤルバッファ70にアルファベット「X」のキャラクタコードがあるかどうかを判断する。このステップS600において“YES”が判断されるのは、エラー処理モードスイッチEMODE が「2」で設定されているときである。したがって、この場合には、ステップS601で示す訂正2ルーチンに入る。
【0096】
また、このステップS600において、“NO”が判断されたときには、CPU60は、認識確認時間スイッチCTとして「0」が設定されているか、あるいは「0」〜「10」の可変数値が設定されているかを判断する。このスイッチCTが「0」で設定されている場合には、スタートキー54の操作に応答して発呼動作を実行する。ただし、スイッチCTとして「0」以外の数値が設定されている場合には、次のステップS603において、タイマカウンタTM(図6)をトリガする。
【0097】
そして、次のステップS604において、CPU60は、コピーキー58(図2)が操作されたかどうかを判断する。このステップS604において、コピーキー58の操作が検出されると、ステップS605においてコピー処理が実行された後、待機状態に戻る。また、ステップS605において、CPU60は、停止/クリアキー52が操作されたかどうかを検出する。このステップS606において“YES”が判断されると、ステップS607において、先のステップS322と同様に、原稿を排出する。このようにして、手書き宛先情報の文字が正しく認識された後であっても、停止/クリアキー52が操作されると、送信動作は行わず、そのまま原稿を排出する。
【0098】
ステップS606において“NO”が判断されると、次のステップS607において、CPU60はメニューキー34またはセットキー40(いずれも図2)が操作されたかどうかを判断する。セットキー40またはメニューキー34のいずれかが操作されると、次のステップS608において、訂正3ルーチンが実行される。すなわち、手書き宛先情報の各文字を正しく認識した後にセットキー40またはメニューキー34が操作されると、それはオペレータがその宛先情報の文字を訂正したいという場合であるので、次のステップS608でその訂正を許容するのである。
【0099】
ステップS607において“NO”が判断される場合には、次のステップS609において、スタートキー54が操作されたかどうかを判断する。スタートキー54が操作されるとそのまま、またはスタートキー54が操作されない場合であっても先のステップS603においてトリガしたタイマカウンタTMがメモリスイッチCTとして設定した可変数値に相当する時間の経過をカウントすると、ステップS610を経て、次のステップS611に進む。
【0100】
ステップS611では、ダイヤルバッファ70にストアされているスペースを示すキャラクタコードを「;(セミコロン)」を示すコードに置換し、それをLCD36で表示する。つまり、このステップS611では、ダイヤルバッファ70にストアされたスペースコードをポーズコードである「;」のコードに置換する。そして、ステップS612において、ダイヤルバッファ70にストアされているキャラクタコードに従ってDTMF発生回路110を制御して、ダイヤル動作を実行する。
【0101】
その後、ステップS613において、宛先情報で特定される相手先からの応答信号があるかどうかをNCU114からの信号に基づいてCPU60が判断する。もし応答がなければ、ステップS614で表されるリダイヤル動作を実行する。
ステップS613で応答が検出されると、ステップS615において、「フェーズB」が実行され、相手先ファクシミリ装置との間で能力ないし機能の確認が行われる。そして、次のステップS616において、CPU60は、読取系のセットアップを行う。具体的には、送信モータ90を駆動するとともに、オペレータが画質選択キー44(図2)を操作することによって指定した送信モード、たとえばファインモード,中間調モードあるいはノーマルモードを設定する。すなわち、手書き宛先情報を認識する場合は、オペレータの設定したモードの如何に拘わらず、強制的にファインモードを選択した。そして、宛先情報を認識した後送信原稿に記入されている送信データを送信する場合には、オペレータが当初に設定した送信モードを実行するのである。そして、ステップS617で原稿に記載された本文の部分をCIS100で読み取って、それをモデム104からNCU114を介して電話回線に送出する。
【0102】
ステップS618では、CPU60は、先読みフラグSFがセットされているかどうか、すなわち、ラインバッファ70の中に既に読み込んだ宛先情報のキャラクタコードがあるかどうかが判断される。そして、このステップS618において“YES”が判断されると、次のステップS619において、CPU60は、白送信カウンタWLSC(図6)を、原稿送りカウンタPCNTおよび書込ラインカウンタLCNTのカウント値に従って計算する。すなわち、原稿送りカウンタPCNTは、手書き宛先情報を認識するためにCIS100で読み取った原稿のライン数を示し、書込ラインカウンタLCNTは、ラインバッファ68にイメージデータを書き込んだライン数を示している。したがって、原稿送りカウンタPCNTのカウント値から手書き宛先情報の記入領域のライン数すなわち書込ラインカウンタLCNTのカウント値を引くことによって、原稿の上端に形成された余白のライン数が計算できる。ただし、図7に示すようにラインバッファ68の第1ラインには何のデータも書き込んでいないので、そのラインも白ラインであるため、ステップS619において「−1」を計算するのである。このようにして、ステップS619で、手書き宛先情報が記入されている領域より上の原稿の余白ライン数が計算される。したがって、ステップS620では、その計算された白送信カウンタWLSCのカウント値に応じて、全白ライン送信ルーチンを実行する。
【0103】
次のステップS621において、CPU60はエラーフラグEFがリセットされているかどうか判断する。もし、このエラーフラグEFがリセットされていれば、手書き宛先情報記入領域に記入された文字を送信データとして送信する必要があるので、ステップS622において、さらに、送信設定モードスイッチNSMODEが「0」として設定されているかどうか、すなわち、認識のために読み取った手書き宛先情報のイメージデータを送信データの一部として送信するか否かを判断する。したがって、このステップS622において“YES”と判断されると、次のステップS623において、ラインバッファ68にストアされているイメージデータの第2ラインから第(LCNT)番目のラインまでのイメージデータを先のステップS616で決定された送信モードに従って送信する。
【0104】
なお、スイッチNSMODEが「1」で設定されている場合には、ステップS624において、白ライン送信カウンタWLSCを書込ラインカウンタLCNTのカウント値に基づいて決定する。そして、次のステップS625において、先のステップS620と同様にして、その白ライン送信カウンタWLSCで示される数の全白ラインを送信する。ステップS623またはS625を実行した後、図24で示すステップS626〜S629において、通常のファクシミリ送信と同様に、原稿の送信データをステップS616で決定された送信モードに従って送信する。そして、ステップS630において、読取系を停止する。
【0105】
このようにして、送信原稿上に手書きされた宛先情報の各文字を認識し、その認識した結果に基づいて、スタートキー54の操作に応答してまたは自動的にダイヤル動作を実行し、原稿の送信データを相手先ファクシミリ装置に送信することができる。
ここで、図25を参照して、先のステップS519(図21)で実行される訂正1ルーチンについて説明する。図25の最初のステップS700では、CPU60は、たとえばスピーカ128やLCD36を用いて、オペレータにエラーが発生したことを報知する。それとともに、ステップS701では、CPU60は、ラインバッファ70にストアされているキャラクタコードで示されるキャラクタを記録制御回路82に与え、サーマルヘッド84によってファクシミリ用紙(図示せず)に印字ないし出力する。したがって、オペレータは、この時点で、手書き宛先情報の認識を中止するかどうかを判断することができる。そして、ステップS702で停止/クリアキー54の操作が検出されると、次のステップS703において、CPU60は、エラーフラグEFをセットした後、ステップS800へ進む。停止/クリアキー54が操作されなければ、次のステップS704において、オペレータがテンキー16を操作したかどうかを検出する。もしテンキー16が操作されれば、ステップS705において、その操作されたテンキーの数字を表すキャラクタコードをダイヤルバッファ70の「X」のキャラクタコードと置換する。すなわち、このステップS705で、オペレータがテンキー16を操作することによって、エラー表示された「X」の文字を訂正することができる。
【0106】
図26はステップS601およびS608で実行される訂正2ルーチンおよび訂正3ルーチンを示す。訂正2ルーチンおよび訂正3ルーチンはほぼ同じ動作であるため、ここでは図26を参照して一緒に説明する。
訂正3ルーチンのステップS711でCPU60は、セットキー40が操作されたかどうかを判断する。セットキー40が操作されていれば、次のステップS710において、LCD36において表示された認識結果(ステップS513)の先頭位置にカーソル38(図2)を表示する。逆に、セットキー40が押されていない場合、すなわちメニューキー34が押された場合には、次のステップS712において、LCD36に表示された認識結果の末尾の位置にカーソル38を表示する。つまり、訂正2ルーチンと訂正3ルーチンとは、メニューキー34が操作されたかセットキー40が操作されたかによってカーソル38の初期表示位置をどこに決定するかが異なるだけで、ステップS713以降の動作は同じである。
【0107】
ステップS713では、先のステップS701(図25)と同様にラインバッファ70に格納されているデータを印字ないし出力する。そして、次のステップS714において、CPU60は、ストップキーカウンタSKC (図6)をクリアする。そして、次のステップS715において、操作パネル14の何らかのキーが操作されたかどうかを判断する。キー操作があれば、次のステップS716において、停止/クリアキー54が操作されたかどうかを判断する。このステップS716において“YES”が判断されると、ステップS717においてストップキーカウンタSKC をインクリメントし、次のステップS718において、そのストップキーカウンタSKC のカウント値が「2」になったかどうか判断する。このステップS718において“YES”が判断されるということは、停止/クリアキー54が2回続けて操作されたことを意味し、この場合には、宛先情報の認識結果によらず、手動的に入力された宛先情報に従って送信動作を実行する。そのために、この場合には、ステップS807(後述)に進む。ステップS718において“NO”が判断されると、次のステップS719では、CPU60は、先のステップS710またはS712で表示されているカーソル38以降のダイヤルバッファ70のデータをクリアする。
【0108】
そして、ステップS716において“NO”が判断されると、次のステップS720において、CPU60はスタートキー54が操作されたかどうか判断する。スタートキー54が操作されたのであれば、ステップS721において、ダイヤルバッファ70に「X」のキャラクタコードが存在するかどうかを判断する。アルファベット「X」のキャラクタコードが存在しない状態になって初めて、この訂正ルーチンを抜ける。したがって、「X」のキャラクタコードがある場合には、先のステップS715に戻る。
【0109】
停止/クリアキー52またはスタートキー54が操作されなかった場合には、次のステップS722において、CPU60はテンキー16が操作されたかどうか判断する。もし、テンキー16が操作されたのであれば、次のステップS723において、ダイヤルバッファ70のカーソル38で示される位置のキャラクタコードがテンキーによって入力された数値のキャラクタコードに置換される。
【0110】
ステップS722において“NO”と判断された場合には、ステップS724でメニューキー34が操作されたかどうかを判断する。メニューキー34が操作されたのであれば、カーソル38(図2)を左方向へ移動させる(ステップS725)。そして、ステップS724において“NO”が判断されると、セットキー40が操作されたかどうかを判断する。このステップS726において“YES”が判断されると、CPU60はカーソル38(図2)を右方向に移動する(ステップS727)。そして、ステップS723,S725またはS727を実行した後、先のステップS721において、CPU60は、ダイヤルバッファ70の中にアルファベット「X」のキャラクタコードが残っているかどうかを判断する。このようにして、手書き宛先情報を認識する際に発生したリジェクト文字についての訂正2ルーチン(逐次訂正)または訂正3ルーチン(一括訂正)が実行される。
【0111】
図27には、宛先情報を手動的に入力する際の動作が示される。この図27の最初のステップS800では、CPU60は、ダイヤルバッファ70をクリアする。そして、次のステップS801では、CPU60は、LCD36に、たとえば、「バンゴウヲニュウリョクシテクダサイ」のようなメッセージを表示し、オペレータが手動的にテンキー16等を操作して宛先情報を入力するのを待つ。そして、ステップS802では、CPU60は、コピーキー58が操作されたかどうか判断する。コピーキー58が操作されたのであれば、ステップS803においてコピールーチンを実行した後、ステップS100すなわち待機状態に戻る。また、ステップS804では、停止/クリアキー52が操作されたかどうか判断する。このステップS804で“YES”が判断されると、ステップS805において、原稿を排出した後、待機状態に戻る。
【0112】
次のステップS806において、CPU60は、テンキー16(図2)が操作されたかどうか判断する。テンキー16が操作されなかった場合には、ステップS807で他のキーかどうかを判断し、次のステップS808で、その他のキーに対応する処理が実行される。
テンキー16が操作された場合には、ステップS809において、テンキー16によって入力された宛先情報の数値のキャラクタコードをダイヤルバッファ70にセットする。そして、ステップS810においてスタートキー54が操作されるのを待つ。ステップS810においてスタートキー54が操作されると、CPU60は、ステップS611(図22)へ進む。
【0113】
ステップS605やステップS803において実行されるコピールーチンが、図28に示される。コピールーチンの最初のステップS900では、CPU60は、読取系のセットアップを行う。すなわち、送信モータ90を駆動するとともに、CIS100および画処理回路98をステップS616に従って決定された送信モードに従って設定する。そして、次のステップS901において、印字系のセットアップを行う。すなわち、このステップS901では、CPU60は、モータ制御回路88に指令信号を与え、受信モータ92(図3)を駆動する。そして、次のステップS902では、CPU60は、先読みフラグSFがセットされているかどうかを判断する。先読みフラグSFがセットされていれば、手書き宛先情報記入領域からCIS100で読み取ったイメージデータをコピーイメージとして印字する必要があるので、ステップS903〜S905を実行する。すなわち、ステップS903では、先のステップS619(図23)と同じように、白ライン送信カウンタWLSCを原稿送りカウンタPCNTおよび書込ラインカウンタLCNTのカウント値に基づいて決定する。そして、次のステップS904では、ステップS903で決定された白ライン送信カウンタWLSCのカウント値に応じたライン数だけ、ファクシミリ用紙(記録紙)を受信モータ92によって送る。このとき、ステップS905において、ラインバッファ70の第2ライン〜第(LCNT)ラインのイメージデータをサーマルヘッド84によってファクシミリ用紙(記録紙)に印字する。
【0114】
その後、先読みフラグSFがセットされていない場合ど同様に、ステップS906〜S909が実行される。すなわち、このステップS906〜S909では、原稿の本文の部分がコピーされる。そして、ステップS909においてコピーの終了が検出されると、ステップS910において、CPU60は読取系および印字系を停止する。
【0115】
図29は、ステップS620またはS625で実行される全白ライン送信ルーチンを示すフロー図である。この図29の最初のステップS920では、CPU60は、白ライン送信カウンタWLSCを、ステップS616で決定された送信モードに従って変更する。たとえば、オペレータが設定した送信モードがノーマルモードである場合には、白ライン送信カウンタWLSCのカウント値を1/2する。なぜなら、白ライン送信カウンタWLSCは、ファインモードにおけるライン数をカウントしているからである。そして、次のステップS921では、ラインバッファ68の第1ラインのイメージデータ(全白ラインのイメージデータ)を読み出し、決定された送信モードに従って送信する。そして、ステップS922では、白ライン送信カウンタWLSCがインクリメントされ、ステップS923では、白ライン送信カウンタWLSCのカウント値が「0」になったかどうかすなわち送信すべき全白ラインの全てが送信されたかどうかを判断する。
【図面の簡単な説明】
【図1】この発明の一実施例を示す斜視図である。
【図2】図1実施例の操作パネルを詳細に示す平面図である。
【図3】図1実施例の全体構成を示すブロック図である。
【図4】図3に示すROMの記憶領域を示す図解図である。
【図5】図3に示すVRAMの記憶領域を示す図解図である。
【図6】図3に示すVRAMの記憶領域を示す図解図である。
【図7】図5に示すラインバッファを詳細に示す図解図である。
【図8】図6に示す第1文字データテーブル(第2文字データテーブル)を示す図解図である。
【図9】図1実施例において原稿がCISによって読み取られることを示す図解図である。
【図10】図3に示すNCUを詳細に示すブロック図である。
【図11】実施例の全体動作を示す概略フロー図である。
【図12】初期化および操作チェックの動作を示すフロー図である。
【図13】自動認識可否チェックの動作を示すフロー図である。
【図14】宛先情報の有無チェックおよび宛先情報のイメージデータの取り込み動作を示すフロー図である。
【図15】図14に続く動作を示すフロー図である。
【図16】宛先情報の各文字を切り出すステップの動作を示すフロー図である。
【図17】図16に続く動作を示すフロー図である。
【図18】第1文字データテーブル(第2文字データテーブル)にセットされる各データを示す図解図である。
【図19】第1文字データテーブルのデータを第2文字データテーブルに書き込む状態を示す図解図である。
【図20】認識ステップの動作を示すフロー図である。
【図21】図20に続く動作を示すフロー図である。
【図22】送信ステップの動作を示すフロー図である。
【図23】図22に続く動作を示すフロー図である。
【図24】図23に続く動作を示すフロー図である。
【図25】訂正1ルーチンを示すフロー図である。
【図26】訂正2ルーチンおよび訂正3ルーチンを示すフロー図である。
【図27】宛先情報を手動的に入力するときの動作を示すフロー図である。
【図28】コピールーチンを示すフロー図である。
【図29】全白ライン送信ルーチンを示すフロー図である。
【符号の説明】
10 …ファクシミリ装置
14 …操作パネル
16 …テンキー
34 …メニューキー
36 …LCD
38 …カーソル
40 …セットキー
44 …画質選択キー
52 …停止/クリアキー
54 …スタートキー
58 …コピーキー
60 …CPU
64 …ROM
66 …VRAM
68 …ラインバッファ
70 …ダイヤルバッファ
72 …第1文字データテーブル
74 …第2文字データテーブル
76 …SRAM
84 …サーマルヘッド
90 …送信モータ
92 …受信モータ
100 …CIS
104 …モデム
114 …NCU
Claims (24)
- 送信原稿を副走査方向に移動する送信モータ(90)、
前記副走査方向の順次のラインの各々を主走査方向に走査して黒ドットまたは白ドットを出力する原稿読取手段(100) 、
前記原稿読取手段の出力を受け、最初に黒ドットが検出されることによって決まる開始ラインと前記開始ライン以後に黒ドットが検出されない少なくとも1つの全白ラインが出現したことによって決まる終了ラインとに基づいて領域を特定する領域特定手段(60,S303-S310)、
前記領域特定手段によって特定された前記領域を読み取った前記原稿読取手段の出力に基づいて宛先情報を認識する宛先情報認識手段(60,S4,S5)、
前記宛先情報認識手段によって認識された前記宛先情報に従って発呼する発呼手段(60,114,S6,S612)、
前記原稿読取手段の読取精度を可変的に設定する第1読取精度設定手段 (44) 、および
前記原稿読取手段が前記領域を読み取るとき前記第1読取精度設定手段によって設定された読取精度に拘わらず特定の読取精度を強制的に設定する第2読取精度設定手段 (60,S302) を備える、ファクシミリ装置。 - 黒ドットが第2の所定数以上前記主走査方向に連続したときラインを有効ラインとして検出する有効ライン検出手段(60,S307) を備え、
前記領域特定手段は最初の有効ラインを前記開始ラインとして決定する開始ライン決定手段(S301,S317) を含む、請求項1記載のファクシミリ装置。 - 前記領域特定手段は前記開始ライン以後全白ラインが第3の所定数連続して出現したとき前記終了ラインを決定する終了ライン決定手段(60,S309-S311)を含む、請求項1または2記載のファクシミリ装置。
- 前記終了ライン決定手段によって前記終了ラインが決定されたとき前記送信モータを停止する第1のモータ停止手段(60,S311) を備える、請求項1ないし3のいずれかに記載のファクシミリ装置。
- 前記原稿読取手段が前記開始ラインから第4の所定数のライン分の原稿を読み取ったとき前記送信モータを停止する第2のモータ停止手段(60,S320,S323)を備える、請求項1ないし4のいずれかに記載のファクシミリ装置。
- 前記開始ライン以後第5の所定数以上有効ラインが連続するか否かを判断する有効ライン数判断手段(60,S317) 、および
前記有効ライン数判断手段が前記第5の所定数以上有効ラインが連続しないことを判断したとき前記送信モータを停止する第3のモータ停止手段(60,S323) を備える、請求項1ないし5のいずれかに記載のファクシミリ装置。 - 第6の所定数のライン分の前記原稿読取手段の出力をストアできるラインバッファ(68)、および
前記開始ラインから前記終了ラインまでの有効ラインの前記原稿読取手段の出力を前記ラインバッファに書き込む書込手段(60,S303,S314)を備え、
前記宛先情報認識手段は前記ラインバッファにストアされている画像データに基づいて前記宛先情報を認識する、請求項1ないし6のいずれかに記載のファクシミリ装置。 - 前記ラインバッファにストアされている画像データを送信する第1条件または前記ラインバッファにストアされている画像データを送信しない第2条件を設定する送信条件設定手段(NSMODE)、
前記送信条件設定手段によって前記第1条件が設定されているとき前記ラインバッファの前記画像データを送信する第1送信手段(60,S623) 、および
前記送信原稿の前記領域以外を読み取った前記原稿読取手段の出力を送信する第2送信手段(S626-S629) を備える、請求項7記載のファクシミリ装置。 - 前記送信条件設定手段によって前記第2条件が設定されているとき前記ラインバッファの前記画像データを空白データとして送信する第3送信手段(S625,S920-S923)を備える、請求項8記載のファクシミリ装置。
- 前記原稿読取手段が前記領域を読み取ることによって得られた画像データの送信を要求する送信要求手段(NSMODE)、
前記送信要求手段の要求に従って前記画像データを前記第1読取精度設定手段によって設定された精度で送信する第1送信手段(S616,S623) 、および
前記領域を除く前記送信原稿を前記第1読取精度設定手段によって設定された精度で読み取った前記原稿読取手段の出力を送信する第2送信手段(S626-S629) を備える、請求項1記載のファクシミリ装置。 - 送信原稿を副走査方向に移動する送信モータ (90) 、
前記副走査方向の順次のラインの各々を主走査方向に走査して黒ドットまたは白ドットを出力する原稿読取手段 (100) 、
前記原稿読取手段の出力を受け、最初に黒ドットが検出されることによって決まる開始ラインと前記開始ライン以後に黒ドットが検出されない少なくとも1つの全白ラインが出現したことによって決まる終了ラインとに基づいて領域を特定する領域特定手段 (60,S303-S310) 、
前記領域特定手段によって特定された前記領域を読み取った前記原稿読取手段の出力に基づいて宛先情報を認識する宛先情報認識手段 (60,S4,S5) 、および
前記宛先情報認識手段によって認識された前記宛先情報に従って発呼する発呼手段 (60,114,S6,S612) を備え、
前記宛先情報認識手段は
前記宛先情報の文字が記入されている記入長を検出する記入長検出手段(S416)、
前記領域中の前記宛先情報の文字数を検出する文字数検出手段(S414)、
前記記入長および前記文字数に基づいて各文字間の平均スペース幅を計算する平均スペース幅計算手段(S417) 、および
前記平均スペース幅に基づいて文字間スペースを特定するスペース特定手段(S422-S424) を含む、ファクシミリ装置。 - 宛先情報を手動的に入力するための手動入力手段(16)、および
前記宛先情報認識手段によって認識された宛先情報に従って自動的に発呼を開始する自動モードと前記手動入力手段によって入力された宛先情報に従って発呼を開始する手動モードとを選択的に設定する第1モード設定手段(RM0DE,S202)を備える、請求項1または11記載のファクシミリ装置。 - 前記第1モード設定手段によって前記自動モードが設定されたとき前記原稿読取手段が前記宛先情報を読み取るまでに所定の待機時間を確保するための待機時間確保手段(RTS,S210)を備える、請求項12記載のファクシミリ装置。
- 前記第1モード設定手段によって前記自動モードが設定されているとき強制的に前記手動モードを設定する第2モード設定手段(S804,S809,S810)、および
前記待機時間中に前記手動入力手段が操作されことを検出する第1検出手段(S207)を備え、
前記第2モード設定手段は前記第1検出手段の検出に応答して前記手動モードを設定する、請求項13記載のファクシミリ装置。 - 前記第1モード設定手段によって前記自動モードが設定されたとき前記送信原稿がセットされてから前記記入宛先情報に従って発呼するまでの間に前記手動入力手段が操作されたことを検出する第2検出手段(S206)を備え、
前記第2モード設定手段は前記第2検出手段の検出に応答して前記手動モードを設定する、請求項12ないし14のいずれかに記載のファクシミリ装置。 - 前記第1モード設定手段によって前記自動モードが設定されたとき前記原稿読取手段が前記宛先情報を読み取らなかったことを検出する第3検出手段(S315)を備え、
前記第2モード設定手段は前記第3検出手段の検出に応答して前記手動モードを設定する、請求項13ないし15のいずれかに記載のファクシミリ装置。 - 前記宛先情報認識手段によって前記宛先情報を認識して前記発呼手段が発呼するまでの間に処理を中断する中断手段(S603-S610) を備える、請求項1記載のファクシミリ装置。
- 前記中断手段によって中断する時間を可変的に設定する中断時間設定手段(CT)を備え、
前記中断手段は前記中断時間設定手段によって設定された時間だけ処理を中断する、請求項17記載のファクシミリ装置。 - 手動的に操作可能な手動操作キーを備え、
前記中断手段は前記手動操作キーが操作されるまで前記処理を中断する、請求項17または18記載のファクシミリ装置。 - 送信原稿を副走査方向に移動する送信モータ (90) 、
前記副走査方向の順次のラインの各々を主走査方向に走査して黒ドットまたは白ドットを出力する原稿読取手段 (100) 、
前記原稿読取手段の出力を受け、最初に黒ドットが検出されることによって決まる開始ラインと前記開始ライン以後に黒ドットが検出されない少なくとも1つの全白ラインが出現したことによって決まる終了ラインとに基づいて領域を特定する領域特定手段 (60,S303-S310) 、
前記領域特定手段によって特定された前記領域を読み取った前記原稿読取手段の出力に基づいて宛先情報を認識する宛先情報認識手段 (60,S4,S5) 、
前記宛先情報認識手段によって認識された前記宛先情報に従って発呼する発呼手段 (60,114,S6,S612) 、および
前記原稿読取手段からの黒ドットまたは白ドットで表される画像データをストアするラインバッファ手段を備え、
前記宛先情報認識手段は前記ラインバッファ手段中の前記画像データに基づいて宛先情報を認識し、さらに
前記宛先情報認識手段による認識結果を訂正する訂正モードを設定する訂正モード設定手段(EMODE,S518,S519;S600,S601,S602;S607,S608)、
前記訂正モードが設定されたとき前記ラインバッファの前記画像データを出力する出力手段(36,S701,S713)、および
前記訂正モードにおいて手動的に操作される手動操作キー(16)、
前記手動操作キーの操作に従って訂正された宛先情報のキャラクタコードをストアするダイヤルバッファ手段(70)を備え、
前記発呼手段は前記ダイヤルバッファ手段のキャラクタコードに従って発呼し、
前記訂正モード設定手段は前記宛先情報認識手段が前記宛先情報の1つまたはそれ以上 の文字を認識できなかったとき第1訂正モードを設定する第1訂正モード設定手段 (S519,S502) を含み、さらに
認識できなかった文字を特定の記号で表示する表示手段 (36,S511) を備え、
前記第1訂正モード設定手段は前記宛先情報認識手段が前記宛先情報の1つの文字を認識できなかった都度1文字訂正モードを設定する1文字訂正モード設定手段 (S519) を含む、ファクシミリ装置。 - 前記1文字訂正モードが設定されたとき前記宛先情報認識手段は前記手動操作キーによって訂正されたキャラクタコードが前記ダイヤルバッファ手段にストアされた後に次の文字を認識する(S520)、請求項20記載のファクシミリ装置。
- 前記第1訂正モード設定手段は前記宛先情報認識手段が前記宛先情報の全ての文字を認識した後一括訂正モードを設定する一括訂正モード設定手段(S601)を含む、請求項20または21記載のファクシミリ装置。
- 前記訂正モード設定手段は前記宛先情報認識手段が前記宛先情報の全ての文字を正しく認識したとき手動的に第2訂正モードを設定する第2訂正モード設定手段(S608)を含む、請求項20ないし22のいずれかに記載のファクシミリ装置。
- 前記ダイヤルバッファ手段に前記宛先情報の全ての文字コードがストアされてから前記発呼手段が発呼を開始するまでに処理を中断する中断手段(S603)を備え、
前記出力手段は前記中断手段による中断中に前記ラインバッファ手段の画像データを出力する、請求項20ないし23のいずれかに記載のファクシミリ装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11296995A JP3579123B2 (ja) | 1995-05-11 | 1995-05-11 | ファクシミリ装置 |
CA002176188A CA2176188C (en) | 1995-05-10 | 1996-05-09 | Facsimile apparatus capable of recognizing hand-written addressing information |
DE19618955A DE19618955A1 (de) | 1995-05-10 | 1996-05-10 | Faksimilegerät mit der Möglichkeit der Erkennung handschriftlicher Adressinformation |
US08/644,708 US5940189A (en) | 1995-05-10 | 1996-05-10 | Facsimile apparatus capable of recognizing hand-written addressing information |
GB9609862A GB2300781B (en) | 1995-05-10 | 1996-05-10 | Facsimile apparatus capable of recognising hand-written addressing information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11296995A JP3579123B2 (ja) | 1995-05-11 | 1995-05-11 | ファクシミリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08307628A JPH08307628A (ja) | 1996-11-22 |
JP3579123B2 true JP3579123B2 (ja) | 2004-10-20 |
Family
ID=14600091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11296995A Expired - Fee Related JP3579123B2 (ja) | 1995-05-10 | 1995-05-11 | ファクシミリ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3579123B2 (ja) |
-
1995
- 1995-05-11 JP JP11296995A patent/JP3579123B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08307628A (ja) | 1996-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5940189A (en) | Facsimile apparatus capable of recognizing hand-written addressing information | |
JP3580443B2 (ja) | ファクシミリ装置 | |
JP3579123B2 (ja) | ファクシミリ装置 | |
JP3561551B2 (ja) | ファクシミリ装置 | |
JP3469674B2 (ja) | ファクシミリ装置 | |
JP3490794B2 (ja) | ファクシミリ装置 | |
JP3268970B2 (ja) | 通信端末装置 | |
JP3373997B2 (ja) | 通信端末装置 | |
JP3291430B2 (ja) | 通信端末装置 | |
JP3258894B2 (ja) | 通信端末装置 | |
JP3439016B2 (ja) | 通信端末装置 | |
JPH08307633A (ja) | ファクシミリ装置 | |
JPH09247407A (ja) | 通信端末装置 | |
JP3258895B2 (ja) | 通信端末装置 | |
JP3471979B2 (ja) | 画像処理装置 | |
JP3443222B2 (ja) | ファクシミリ装置 | |
JP3114325B2 (ja) | ファクシミリ装置 | |
JPH09252365A (ja) | 通信端末装置 | |
JP3588158B2 (ja) | ファクシミリ装置 | |
JP2002374398A (ja) | ファクシミリ装置 | |
JP3510707B2 (ja) | ファクシミリ装置 | |
JP3147591B2 (ja) | 転送機能付きファクシミリ装置 | |
JPH08298580A (ja) | ファクシミリ装置 | |
JPH10190908A (ja) | 読取装置およびファクシミリ装置 | |
JPH08116420A (ja) | 通信装置及び通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040706 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040715 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080723 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080723 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090723 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |