JPH08290637A - Data processor - Google Patents
Data processorInfo
- Publication number
- JPH08290637A JPH08290637A JP7098955A JP9895595A JPH08290637A JP H08290637 A JPH08290637 A JP H08290637A JP 7098955 A JP7098955 A JP 7098955A JP 9895595 A JP9895595 A JP 9895595A JP H08290637 A JPH08290637 A JP H08290637A
- Authority
- JP
- Japan
- Prior art keywords
- data
- discrimination
- language
- processing
- determination
- 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.)
- Granted
Links
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、入力データを処理する
ことにより出力データを得るデータ処理装置に係り、特
にホストコンピュータなどの上位装置から受信したデー
タを記述する制御言語の種類を判別して、当該判別結果
に基づいて入力データを処理するデータ処理装置に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device which obtains output data by processing input data, and more particularly, to determine the type of control language for describing data received from a host device such as a host computer. The present invention relates to a data processing device that processes input data based on the determination result.
【0002】[0002]
【従来の技術】従来、画像記録装置などにおいて、ホス
トコンピュータ等から受信した制御言語の種類を判別す
る手段として、特開平5−96823号公報及び特開平
5−147275号公報等に開示された技術があった。2. Description of the Related Art Conventionally, as a means for discriminating the type of control language received from a host computer or the like in an image recording apparatus or the like, the technology disclosed in Japanese Patent Application Laid-Open No. 5-96823 and Japanese Patent Application Laid-Open No. 5-147275. was there.
【0003】特開平5−96823号公報によれば、制
御言語の種類毎、検索対象となるコード毎に重みを付け
たテーブルを用意し、入力された制御言語のコードが、
当該検索対象となるコードと一致すると、設定された重
みを制御言語の種類毎に加算し、加算された得点が基準
以上に達し、かつ最終的に最も大きい得点を示した制御
言語を選択する方法が開示されている。この方法は、2
番目との加算値の差がある点数以上になった時点又は判
別の対象となったデータ量が所定値以上に達した時点を
比較終了として確定判断を行うというものである。According to Japanese Patent Laid-Open No. 5-96823, a table in which weights are provided for each type of control language and each code to be searched, and the input control language code is
If the code to be searched matches, the set weight is added for each type of control language, and the control language in which the added score reaches or exceeds the standard and finally shows the highest score is selected. Is disclosed. This method is 2
When the difference between the sum and the added value exceeds a certain point or when the amount of data to be discriminated reaches a predetermined value or more, the decision is made as the end of the comparison.
【0004】特開平5−147275号公報によれば、
受信バッファより所定量のデータ、例えば128バイト
のデータを取り出して判別処理を行い、この判別結果が
確定しない場合には、さらに128バイトのデータを取
り出して再判別を行うという技術が開示されている。According to Japanese Patent Laid-Open No. 5-147275,
A technique is disclosed in which a predetermined amount of data, for example, 128-byte data is fetched from a reception buffer and a discrimination process is performed. If the discrimination result is not confirmed, 128-byte data is fetched and re-discrimination is performed. .
【0005】[0005]
【発明が解決しようとする課題】しかしながら、上記従
来技術には、下記のような問題点があった。However, the above-mentioned conventional techniques have the following problems.
【0006】特開平5−96823号公報に開示された
技術には、判別の対象となったデータ量が所定値以上に
達した時点で判別結果を確定する場合、その時点ではま
だ加算値の大小の判断がつかないこともあり得るので、
かかる場合には最適な制御言語の選択ができないおそれ
があった。In the technique disclosed in Japanese Patent Laid-Open No. 5-96823, when the determination result is decided when the amount of data to be determined reaches a predetermined value or more, the addition value is still large or small at that time. Since it may not be possible to judge
In such a case, it may not be possible to select the optimum control language.
【0007】一方、特開平5−147275号公報に開
示された技術には、例えば1回目に128バイト読み出
して判別できなかった場合、2回目にそれ以降の128
バイトのデータが読み出されるため、複数バイトのコマ
ンドがその境界にまたがっているような場合、コマンド
が判別の対象として利用されず、最適な制御言語が選択
できないおそれがあった。On the other hand, in the technique disclosed in Japanese Unexamined Patent Publication No. 5-147275, for example, when 128 bytes are read at the first time and cannot be discriminated, 128 times after the second time are read.
Since a byte of data is read, if a command of multiple bytes straddles the boundary, the command is not used as a target for determination, and there is a possibility that the optimum control language cannot be selected.
【0008】本発明は上記事実を考慮し、再度の判別の
対象として取得される入力データの範囲を好適化するこ
とにより、処理時間を短縮化すると共に、判別精度が優
れたデータ処理装置を提供することを目的とする。In consideration of the above facts, the present invention optimizes the range of input data acquired as a target of another discrimination, thereby shortening the processing time and providing a data processing device having excellent discrimination accuracy. The purpose is to do.
【0009】[0009]
【課題を解決するための手段】上記目的を達成するため
に、請求項1の発明は、入力データの所定範囲の判別デ
ータを取得するデータ取得手段と、このデータ取得手段
により得られた判別データに対して判別処理を実行する
ことにより、前記入力データを記述する制御言語の種類
を決定する判別手段と、この判別手段の判別処理により
制御言語の種類が決定できなかったとき、前記判別デー
タの最後の一部を包含する範囲の次の判別データを取得
するように前記データ取得手段を制御すると共に、前記
次の判別データに対して判別処理を実行するように前記
判別手段を制御する制御手段と、を含んで構成されてい
る。In order to achieve the above object, the invention according to claim 1 provides a data acquisition means for acquiring discrimination data in a predetermined range of input data, and discrimination data obtained by this data acquisition means. Discriminating means for deciding the type of control language for describing the input data by executing a discriminating process on the input data, and when the type of control language cannot be decided by the discriminating process of the discriminating means, Control means for controlling the data acquisition means so as to acquire the next discrimination data in the range including the last part and for controlling the discrimination means so as to execute the discrimination processing on the next discrimination data. And are included.
【0010】請求項2の発明は、前記データ取得手段に
より取得されたデータがコマンド列の途中で終了してい
るか否かを判定するコマンド判定手段をさらに含み、請
求項1の前記制御手段が、このコマンド判定手段により
コマンド列の途中で判別データが終了していると判定さ
れた場合には、前記コマンド列の先頭から次の判別デー
タを取得するように前記データ取得手段を制御し、コマ
ンド列の最後で判別データが終了していると判定された
場合には、前記判別データの次から次の判別データを取
得するように前記データ取得手段を制御するようにした
ものである。The invention of claim 2 further includes a command determining means for determining whether or not the data acquired by the data acquiring means ends in the middle of the command sequence, and the control means of claim 1 further comprises: When it is determined by the command determination means that the determination data has ended in the middle of the command sequence, the data acquisition means is controlled to obtain the next determination data from the beginning of the command sequence, and the command sequence is acquired. When it is determined that the discrimination data has ended at the end of the above step, the data acquisition means is controlled so as to obtain the discrimination data next to the discrimination data.
【0011】請求項3の発明は、請求項1の前記制御手
段が、前記判別手段の判別処理により制御言語の種類が
決定できなかったとき、この判別処理において該当しな
いと判断された制御言語以外の制御言語の種類に基づい
て、前記データ取得手段に次に取得させるデータ量を決
定するようにしたものである。According to a third aspect of the invention, when the control means of the first aspect cannot determine the type of the control language by the discrimination processing of the discrimination means, the control language is determined to be not applicable in this discrimination processing. The amount of data to be acquired next by the data acquisition means is determined based on the type of the control language.
【0012】[0012]
【作用】請求項1の発明では、判別手段は、データ取得
手段により取得された入力データの所定範囲の判別デー
タに対して判別処理を実行することにより、入力データ
を記述する制御言語の種類を決定する。この判別手段の
判別処理により制御言語の種類が決定できなかったと
き、制御手段は、この判別データの最後の一部を包含す
る範囲の次の判別データを取得するようにデータ取得手
段を制御すると共に、再度取得された次の判別データに
対して判別処理を実行するように判別手段を制御する。According to the first aspect of the present invention, the discriminating means determines the type of the control language for describing the input data by performing the discriminating process on the discriminating data in the predetermined range of the input data acquired by the data acquiring means. decide. When the type of the control language cannot be determined by the discrimination processing of the discrimination means, the control means controls the data acquisition means so as to acquire the discrimination data next to the range including the last part of the discrimination data. At the same time, the discriminating means is controlled so as to perform the discriminating process on the next discriminated data obtained again.
【0013】このように次に判別の対象となる判別デー
タを、先の判別データの最後の1部のデータを包含させ
るように取得することにより、従来のように、128バ
イト毎にデータを重複することなく取得する方法と比べ
て、入力データを構成するデータ列を寸断することによ
って生じる判別エラーを防止できる。In this way, by obtaining the discrimination data to be discriminated next so as to include the last part of the discrimination data, the data is duplicated every 128 bytes as in the conventional case. It is possible to prevent a discrimination error caused by fragmenting the data string forming the input data, as compared with the method of acquiring without inputting.
【0014】なお、すべての先の判別データを包含し、
かつ、先頭が同じになるように次の判別データを取得す
る場合には、ソフトウェアが簡素化されるという効果が
ある。In addition, including all the above discrimination data,
In addition, when the next discrimination data is acquired so that the heads are the same, there is an effect that the software is simplified.
【0015】請求項2の発明では、コマンド判定手段
は、データ取得手段により取得された判別データがコマ
ンド列の途中で終了しているか否かを判定する。制御手
段は、このコマンド判定手段によりコマンド列の途中で
判別データが終了していると判定された場合には、この
コマンド列の先頭から次の判別データを取得するように
データ取得手段を制御し、コマンド列の最後で判別デー
タが終了していると判定された場合には、先の判別デー
タの次から次の判別データを取得するようにデータ取得
手段を制御する。これにより、コマンド列が途中で終わ
っているような場合でも、後の判別では、当該コマンド
列の先頭から処理が開始されるので、コマンドエラーを
防ぐことができ、その結果、判別精度を向上させること
ができる。と同時に、コマンド列が寸断されなかった場
合には、先の入力データを重複して判別処理しないの
で、判別に要する処理時間を無用に延ばすこともなくな
る。According to the second aspect of the present invention, the command determination means determines whether or not the determination data acquired by the data acquisition means has ended in the middle of the command sequence. The control means controls the data acquisition means to acquire the next discrimination data from the head of this command sequence when the command determination means determines that the discrimination data ends in the middle of the command sequence. If it is determined that the discrimination data has ended at the end of the command sequence, the data acquisition means is controlled so as to acquire the next discrimination data from the next discrimination data. As a result, even if the command sequence ends in the middle, the process is started from the beginning of the command sequence in the subsequent determination, so that a command error can be prevented and, as a result, the determination accuracy is improved. be able to. At the same time, if the command sequence is not broken, the previous input data is not duplicated and the discrimination processing is not performed, so that the processing time required for the discrimination is not unnecessarily extended.
【0016】請求項3の発明では、制御手段は、判別手
段の判別処理により制御言語の種類が決定できなかった
とき、この判別処理において該当しないと判断された制
御言語以外の制御言語の種類に基づいて、データ取得手
段に次に取得させるデータ量を決定する。例えば、ワイ
ヤドットプリンタ関連の言語が残っている場合には、比
較的多くデータを取得し、ページ記述関連の言語が残っ
ている場合には、比較的少量のデータを取得する。これ
により、言語間に共通のテキスト出力が多く言語を特定
する為のコマンド出現頻度の低いワイヤドットプリンタ
言語でも判別可能となる確率を高められ、判別精度を向
上させることができる。また、ページ記述関連の制御言
語の場合には、特定のコマンドで特定しやすいため、判
定精度を下げることなく、データ取得にかかる時間を短
縮化することができる。According to the third aspect of the invention, when the control means cannot determine the type of the control language by the determination processing of the determination means, the control means selects a control language type other than the control language determined to be not applicable in the determination processing. Based on this, the amount of data to be acquired next by the data acquisition means is determined. For example, a relatively large amount of data is acquired when the wire dot printer related language remains, and a relatively small amount of data is acquired when the page description related language remains. As a result, it is possible to increase the probability that the text output common to the languages is large and the wire dot printer language in which the command appearance frequency for specifying the language is low can be identified, and the identification accuracy can be improved. Further, in the case of a control language related to page description, since it is easy to specify with a specific command, it is possible to shorten the time required to acquire data without lowering the determination accuracy.
【0017】[0017]
(第1実施例)以下、図面を参照して本発明の実施例を
詳細に説明する。図1に示すように、本発明の出力装置
としての画像記録装置11は、画像の記録を行う記録部
12、記録部12に画像情報を供給する画像供給装置1
3、電源部14、及び外部からの指示を入力するための
操作パネル15を備えている。(First Embodiment) An embodiment of the present invention will be described in detail below with reference to the drawings. As shown in FIG. 1, an image recording device 11 as an output device of the present invention includes a recording unit 12 that records an image, and an image supply device 1 that supplies image information to the recording unit 12.
3, a power supply unit 14, and an operation panel 15 for inputting an instruction from the outside.
【0018】記録部12は、例えばレーザプリンタ等か
ら構成され、画像供給装置13からの動作指令信号26
に基づき、画像供給装置13から供給された画像情報2
7を記録用紙23に印字出力(画像記録)する。この画
像記録を正常に実行させるために、記録部12は、図示
しないカセットトレイに収容された記録用紙23の種類
や図示しない定着部が定着温度に達したか否か等を示す
状態信号24を画像供給装置に13に送出する。また、
記録部12は、画像情報の転送について記録部12と同
期をとるための同期パルス25を画像供給装置13に送
出する。The recording unit 12 is composed of, for example, a laser printer, and has an operation command signal 26 from the image supply device 13.
Based on the image information 2 supplied from the image supply device 13
7 is printed out on the recording paper 23 (image recording). In order to execute this image recording normally, the recording unit 12 sends a status signal 24 indicating the type of the recording paper 23 accommodated in the cassette tray (not shown) and whether the fixing unit (not shown) has reached the fixing temperature. It is sent to the image supply device 13. Also,
The recording unit 12 sends to the image supply device 13 a synchronization pulse 25 for synchronizing the transfer of image information with the recording unit 12.
【0019】画像供給装置13には、ホストインターフ
ェイス端子17及び入力端子18が接続されている。ホ
ストインターフェイス端子17は、図示しないホストイ
ンターフェイスから印字データを入力させるための端子
であり、入力端子18は、図示しないネットワークから
印字データを入力させるための端子である。このホスト
インターフェイス端子17又は入力端子18を介して印
字データを2系統で入力することができる。なお、入力
端子18には、ネットワーク上の複数の装置が印字デー
タの供給源として接続される場合もある。A host interface terminal 17 and an input terminal 18 are connected to the image supply device 13. The host interface terminal 17 is a terminal for inputting print data from a host interface (not shown), and the input terminal 18 is a terminal for inputting print data from a network (not shown). Print data can be input in two systems via the host interface terminal 17 or the input terminal 18. Note that the input terminal 18 may be connected to a plurality of devices on the network as a print data supply source.
【0020】画像供給装置13は、記録部12から送ら
れてきた状態信号24及び同期パルス25に基づいて、
動作指令信号26を送出して記録部12を動作させると
共に、ホストインターフェイス端子17又は入力端子1
8から入力された印字データを画像情報27として記録
部12に送出して、画像記録を制御する。The image supply device 13 is based on the status signal 24 and the synchronization pulse 25 sent from the recording section 12,
The operation command signal 26 is sent to operate the recording unit 12, and the host interface terminal 17 or the input terminal 1
The print data input from 8 is sent to the recording unit 12 as the image information 27 to control the image recording.
【0021】操作パネル15は、キーやスイッチ等の入
力部と、液晶ディスプレイ(LCD)や発行ダイオード
(LED)等で構成された表示部とから構成され、オペ
レータの操作により画像供給装置13に記録に関する必
要な指示情報19を送出する。また、指示情報19を受
けた画像供給装置13から返送された応答情報21を表
示する。The operation panel 15 is composed of an input section such as keys and switches and a display section composed of a liquid crystal display (LCD), an emitting diode (LED) and the like, and is recorded in the image supply device 13 by an operator's operation. The necessary instruction information 19 regarding the above is transmitted. Further, the response information 21 returned from the image supply device 13 that has received the instruction information 19 is displayed.
【0022】電源部14は、商用電源(AC)を所定の
直流又は交流に変換して、記録部12及び画像供給装置
13に電力を供給する。The power supply unit 14 converts a commercial power supply (AC) into a predetermined direct current or alternating current and supplies electric power to the recording unit 12 and the image supply device 13.
【0023】画像供給装置13は、図2に示すように、
各種制御の中枢的役割を果たすと共にシステムバス32
に接続されたCPU(中央処理装置)31を備えてい
る。システムバス32には、パネルI/F(インターフ
ェイス)回路33、ホストI/F回路34が接続されて
いる。The image supply device 13 is, as shown in FIG.
The system bus 32 plays a central role in various controls.
CPU (Central Processing Unit) 31 connected to the. A panel I / F (interface) circuit 33 and a host I / F circuit 34 are connected to the system bus 32.
【0024】パネルI/F回路33は、操作パネル15
とのインターフェイスをとるための回路であり、オペレ
ータが操作パネル15のキーを操作すると、これに対応
した信号が操作パネル15から出力され、パネルI/F
回路33を介してシステムバス32上を転送される。ま
た、システムバス32の表示情報は、パネルI/F回路
33を介して操作パネル15に転送され、表示が行われ
る。The panel I / F circuit 33 is provided on the operation panel 15
When the operator operates a key on the operation panel 15, a signal corresponding to this is output from the operation panel 15 and the panel I / F
It is transferred on the system bus 32 via the circuit 33. Further, the display information of the system bus 32 is transferred to the operation panel 15 via the panel I / F circuit 33 and displayed.
【0025】ホストI/F回路34は、ホストコンピュ
ータ等の上位装置とのインターフェイスをとるための回
路であり、例えば、ホストコンピュータから入力する印
字データをRS232C規格やセントロニクス準拠に基
づいて受信する回路で構成されている。The host I / F circuit 34 is a circuit for interfacing with a host device such as a host computer. For example, the host I / F circuit 34 is a circuit for receiving print data input from the host computer based on the RS232C standard or the Centronics standard. It is configured.
【0026】さらに、この画像供給装置13は、複数の
ホストインターフェイス端子を持つことが可能であり、
必要とするホストインターフェイスに合わせてホストI
/F回路35を増設できる。増設可能なインターフェイ
スとしては、例えば、セントロニクスインターフェイス
やイーサネット等がある。これにより、複数のホストイ
ンターフェイスから印字データを入力できる。Further, the image supply device 13 can have a plurality of host interface terminals,
Host I according to the required host interface
The / F circuit 35 can be added. Examples of expandable interfaces include Centronics interface and Ethernet. This allows print data to be input from multiple host interfaces.
【0027】また、システムバス32には、不揮発性メ
モリ(NVM)37、RAM38、プログラムメモリ3
9、文字パターンメモリ41、記録部I/F回路43及
びビットマップコントローラ44が接続されている。The system bus 32 has a non-volatile memory (NVM) 37, a RAM 38, and a program memory 3.
9, a character pattern memory 41, a recording unit I / F circuit 43, and a bitmap controller 44 are connected.
【0028】NVM37は、図示しない電池によってバ
ックアップされたメモリであり、画像記録装置11自体
の電源がオフになった状態でも必要なデータを保持する
ことができる。The NVM 37 is a memory backed up by a battery (not shown), and can hold necessary data even when the image recording apparatus 11 itself is powered off.
【0029】RAM38は、CPU31の作業用のメモ
リであり、画像記録装置11の各種の制御を行う上で必
要となるデータを保持する。また、RAM38は、ホス
トI/F回路34やホストI/F回路35から入力され
た印字データを一時的に保持する受信バッファとしても
機能する。なお、このRAM38には、発生した文字パ
ターン、イメージ等を記録用紙1ページに対応させて張
りつけて電子的な編集を行うためのビットデータを格納
するビットマップメモリ42が含まれている。The RAM 38 is a working memory of the CPU 31, and holds data necessary for performing various controls of the image recording device 11. The RAM 38 also functions as a reception buffer that temporarily holds the print data input from the host I / F circuit 34 or the host I / F circuit 35. The RAM 38 includes a bit map memory 42 that stores bit data for electronically editing the generated character pattern, image, etc. in association with one page of recording paper.
【0030】プログラムメモリ39は、CPU31によ
る画像記録装置11の制御を行うためのプログラムを格
納したメモリである。なお、このプログラムメモリ39
に格納されているプログラムは、画像記録装置11の電
源がオンされた際に、CPU31により読み取られる。The program memory 39 is a memory in which a program for controlling the image recording device 11 by the CPU 31 is stored. The program memory 39
The program stored in is read by the CPU 31 when the power of the image recording apparatus 11 is turned on.
【0031】文字パターンメモリ41は、プリントアウ
トを行う時の文字パターンを格納したメモリであり、い
わゆるフォントメモリと呼ばれるメモリである。The character pattern memory 41 is a memory that stores a character pattern when printing out, and is a so-called font memory.
【0032】記録部I/F回路43は、記録部12との
インターフェイスをとるための回路であり、例えば、ビ
ットマップメモリ42に展開されたビットデータを、画
像情報27として記録部12に供給したり、また、状態
信号24、同期パルス25及び動作指令信号26を送受
するインターフェイスとしての役割を有する。The recording section I / F circuit 43 is a circuit for interfacing with the recording section 12. For example, the bit data expanded in the bitmap memory 42 is supplied to the recording section 12 as image information 27. It also serves as an interface for transmitting and receiving the status signal 24, the synchronization pulse 25 and the operation command signal 26.
【0033】ビットマップコントローラ44は、ビット
マップメモリ42と記録部I/F回路43との間の画像
情報の転送に関する制御を行うための回路である。The bitmap controller 44 is a circuit for controlling the transfer of image information between the bitmap memory 42 and the recording section I / F circuit 43.
【0034】プログラムメモリ46及び文字パターンメ
モリ47は、それぞれプログラムメモリ39及び文字パ
ターンメモリ41と同様にプログラム及び文字パターン
を格納しておくためのメモリであるが、ユーザの要求に
合わせて選択的に画像記録装置11に接続できるように
なっている。プログラムメモリ46及び文字パターンメ
モリ47としては、着脱自在のICカード形式又はSI
MM形式のROM等を用いることができる。これによ
り、各種のホストコンピュータから送られてくる印字デ
ータや制御データに対応したプログラムや文字パターン
に幅広く対応可能となる。The program memory 46 and the character pattern memory 47 are memories for storing a program and a character pattern similarly to the program memory 39 and the character pattern memory 41, respectively, but selectively according to the user's request. It can be connected to the image recording device 11. As the program memory 46 and the character pattern memory 47, a removable IC card format or SI
An MM format ROM or the like can be used. As a result, it is possible to widely support programs and character patterns corresponding to print data and control data sent from various host computers.
【0035】ハードディスク48は、大量のデータを記
憶しておくための磁気記録装置であり、文字パターンの
追加、フォームデータ及びロゴデータの保存、ホストコ
ンピュータからの入力データの保存等に使用される。こ
のハードディスク48もユーザが必要に応じて接続する
ことが可能である。The hard disk 48 is a magnetic recording device for storing a large amount of data, and is used for adding character patterns, saving form data and logo data, saving input data from the host computer, and the like. The hard disk 48 can also be connected by the user as needed.
【0036】次に、プロブラムメモリ39に記憶されて
いるプログラム、すなわちソフトウエアの構造を図3に
示す。図3に示すように、最下層には、ハードディスク
48等の各周辺機器を個別に制御するためのソフトウェ
ア群であるデバイス・ドライバーが位置している。Next, FIG. 3 shows the structure of the program stored in the program memory 39, that is, the software. As shown in FIG. 3, a device driver, which is a software group for individually controlling each peripheral device such as the hard disk 48, is located in the lowermost layer.
【0037】次の階層には、OS(operating system)
が位置し、画像記録装置11を制御するソフトウェアの
中核的役割を果たしている。このOSは、タスク管理、
記憶管理、入出力管理等を行うことにより、CPU3
1、RAM38、各周辺機器等のハードウェアを管理す
る。また、ハードウェア資源の管理を土台として、ファ
イル管理、プログラム管理、通信制御等を行うことによ
り、ファイル、上位のプログラム等の論理資源を管理す
る。このような構成をとることによって、ハードウェア
の変更による上位の階層のソフトウェアの修正を最小化
できる。In the next layer, the OS (operating system)
Is located and plays a core role of software for controlling the image recording device 11. This OS is for task management,
By performing storage management, input / output management, etc., the CPU 3
1, managing the hardware such as the RAM 38 and each peripheral device. Further, the logical resources such as files and upper programs are managed by performing file management, program management, communication control, etc. based on the management of hardware resources. By adopting such a configuration, it is possible to minimize the modification of the software of the upper layer due to the change of the hardware.
【0038】OSの上位には、制御用ライブラリー、ア
プリケーション・プログラム(application program )
が位置している。制御用ライブラリには、最上層にある
アプリケーション・プログラムに使用される制御用のプ
ログラム群が格納されている。A control library and an application program are provided above the OS.
Is located. The control library stores a control program group used for the application programs in the uppermost layer.
【0039】アプリケーション・プログラムは、画像記
録装置11がユーザ所望の動作を実行するように作成さ
れた応用的なプログラムである。制御言語としてのプリ
ンタ言語を解釈し、画像に展開するデコンポーザは、こ
のアプリケーション・プログラムに属する。The application program is an application program created so that the image recording device 11 executes the operation desired by the user. A decomposer that interprets a printer language as a control language and develops it into an image belongs to this application program.
【0040】図4に、アプリケーション・プログラムを
基本的な機能ブロックで示す。コントロール60はシス
テム全体の制御を行うもので、イン62及びアザーズ6
8からのジョブ開始の要求に基づいて、データプロセス
64及びアザーズ68を制御する。FIG. 4 shows an application program as basic functional blocks. The control 60 controls the entire system, and includes the in 62 and the others 6
The data process 64 and the others 68 are controlled based on the job start request from 8.
【0041】このコントロール60は、以下の(1)〜
(4)のモジュールから構成されている。なお、本実施
例では、コントロール60をシステム制御部と呼称す
る。 (1)システム・コントローラ 設定情報をチェック
し、各タスクを起動する。 (2)ジョブ・コントローラ ジョブを実行制御す
る。 (3)ページ・コントローラ ビットマップメモリを
管理する。 (4)タイマー・コントローラ メッセージによるタイ
マーを管理する。This control 60 has the following (1) to
It is composed of the module (4). In this embodiment, the control 60 will be referred to as a system control unit. (1) Check the system controller setting information and start each task. (2) Job controller Controls execution of jobs. (3) Page controller Manages bitmap memory. (4) Timer controller Manages the timer by message.
【0042】イン62は、ホストコンピュータとのデー
タの入出力を管理するものである。このような入出力を
行うため、イン62は、データプロセス64にデータを
受渡し、又はデータプロセス64からデータを受け取
る。さらに、データを受け渡したり、受け取ったりする
と、コントロール60にジョブの開始を要求する。The IN 62 manages input / output of data with the host computer. In order to perform such input / output, the IN 62 passes data to the data process 64 or receives data from the data process 64. Further, when data is transferred or received, the control 60 is requested to start a job.
【0043】また、イン62は、例えば、以下のような
モジュールから構成されている。 (1)インターフェイスA ローカル・インターフェ
イスA (2)インターフェイスB ローカル・インターフェ
イスB (3)インターフェイスC ネットワーク・インター
フェイスC (4)インターフェイスD ネットワーク・インター
フェイスD (5)インターフェイスE ネットワーク・インター
フェイスE なお、ローカル・インターフェイスとしては、セントロ
ニクス、RS−232C等、ネットワーク・インターフ
ェイスとしては、イーサネット、ローカルトーク等が使
用できる。Further, the in 62 is composed of, for example, the following modules. (1) Interface A Local Interface A (2) Interface B Local Interface B (3) Interface C Network Interface C (4) Interface D Network Interface D (5) Interface E Network Interface E For example, Centronics, RS-232C, etc., and as the network interface, Ethernet, local talk, etc. can be used.
【0044】データプロセス64は、データを処理する
ものである。この処理すべきデータはイン62から受け
取ったデータであり、処理結果は、イン62又はアウト
66に受け渡す。The data process 64 processes data. The data to be processed is the data received from the in 62, and the processing result is passed to the in 62 or the out 66.
【0045】また、データプロセス64は、本実施例で
規定する制御言語解釈部と同意語であり、本実施例で
は、デコンポーザと呼称する。The data process 64 is synonymous with the control language interpretation unit defined in this embodiment, and is called a decomposer in this embodiment.
【0046】デコンポーザは、データプロセス64とし
て実装され、下記の種類がある。これらは、それぞれ1
つ以上のタスクとして動作する。 (1)自動判別パーサ プリンタ言語(制御言
語)を判別するタスクである。 (2)言語Aデコンポーザ プリンタ言語A(製品ネ
イティブなページ記述言語)を解釈し実行するタスク群
である。 (3)言語Bデコンポーザ プリンタ言語B(業界標
準のページ記述言語)を解釈し実行するタスク群であ
る。 (4)言語Cデコンポーザ プリンタ言語C(X社開
発プロッタ制御言語)を解釈し実行するタスク群であ
る。 (5)言語Dデコンポーザ プリンタ言語D(Y社開
発ワイヤドットプリンタ制御言語)を解釈し実行するタ
スク群である。 (6)言語Eデコンポーザ プリンタ言語E(Z社開
発ワイヤドットプリンタ制御言語)を解釈し実行するタ
スク群である。 (7)ダンプ 16進ダンプの画像を形
成するタスクである。 (8)プリント・ユーテイ リテイ ・フォーマッタタスク 各種プリント・ユーティリティの画像を形成するタスク
である。The decomposer is implemented as the data process 64 and has the following types. These are 1
Operates as one or more tasks. (1) Automatic discrimination parser This is a task for discriminating the printer language (control language). (2) Language A Decomposer A group of tasks for interpreting and executing the printer language A (product native page description language). (3) Language B Decomposer A group of tasks for interpreting and executing printer language B (an industry standard page description language). (4) Language C Decomposer This is a task group for interpreting and executing the printer language C (plotter control language developed by X company). (5) Language D Decomposer A group of tasks for interpreting and executing the printer language D (wire dot printer control language developed by Y company). (6) Language E decomposer This is a group of tasks for interpreting and executing the printer language E (wire dot printer control language developed by Z company). (7) Dump This is a task for forming a hexadecimal dump image. (8) Print utility formatter task This is a task to form images of various print utilities.
【0047】アウト66は、データプロセス64の処理
結果のデータを出力するものである。このアウト66
は、以下のモジュールから構成されている。 (1)エンジン・コントローラ プリンタエンジン
(記録部)を制御する。The OUT 66 outputs the data of the processing result of the data process 64. This out 66
Is composed of the following modules: (1) Engine controller Controls the printer engine (recording unit).
【0048】アザーズ68は、上述以外の他の各種機能
や複合的な機能を実行するものである。このアザーズ6
8は、以下のモジュールから構成されている。 (1)UI パネル15の制御を
行う。 (2)プリンタ管理エージェント ネットワークでのプ
リンタ管理システムを実現するための機能を有する。例
えば、クライアントに対して、プリンタ・リソース、状
態の設定、提供等の機能である。The others 68 execute various functions other than those described above and composite functions. This Others 6
8 is composed of the following modules. (1) The UI panel 15 is controlled. (2) Printer management agent It has the function to realize the printer management system in the network. For example, functions such as printer resource, status setting, and provision to the client.
【0049】以上のように、アプリケーションプログラ
ムは、いくつかの構成要素からなり、各構成要素は、さ
らにいくつかの機能モジュールから構成されている。こ
れらの機能モジュールは実際には1つ又は複数のタスク
から構成されている。デコンポーザもいくつかのタスク
群を構成している。As described above, the application program is composed of some constituent elements, and each constituent element is further composed of some functional modules. These functional modules actually consist of one or more tasks. The decomposer also constitutes some tasks.
【0050】これらのタスク群は、制御用ライブラリと
して用意されている様々な関数を使ってタスク間の同期
を取っている。デコンポーザも、制御用ライブラリを使
ってコントロール60、イン62及びアウト66を構成
するタスク群との同期を取りながらプリント機能を実現
している。These task groups are synchronized with each other by using various functions prepared as a control library. The decomposer also realizes the print function by synchronizing with the task group forming the control 60, the in 62, and the out 66 by using the control library.
【0051】次に、画像記録装置11の作用について説
明する。各種のホストコンピュータやワークステーショ
ン等の情報処理装置から出力された印字データ及びその
印字データを如何に出力するかを定めた制御言語から構
成される制御データは、ホストインターフェイス端子1
7又は入力端子18を介して画像供給装置13に入力さ
れる。情報処理装置には多くの種類があるため、入力さ
れた制御データは、必ずしも統一されていない。例え
ば、ある情報処理装置が送出する制御データは、記録用
紙のサイズや文字の大きさ等を細かく指定できても、他
の装置の制御データはこのような指定を行うことができ
ない場合がある。Next, the operation of the image recording device 11 will be described. The control data composed of print data output from an information processing device such as various host computers and workstations and a control language that defines how to output the print data is the host interface terminal 1
The image is supplied to the image supply device 13 via the input terminal 7 or the input terminal 18. Since there are many types of information processing devices, the input control data is not always unified. For example, the control data sent by a certain information processing device may be able to specify the size of a recording sheet, the size of a character, and the like in detail, but the control data of another device may not be able to perform such a specification.
【0052】後者のように制御データに指定が無かった
場合、パネル15の表示部には、その旨が表示される。
そこで、オペレータがパネル15により当該記録に関す
る必要なデータをキー入力すると、当該指示情報19
が、画像供給装置13に伝達され、指示情報19に基づ
く記録制御が可能となる。When the control data is not specified as in the latter case, that fact is displayed on the display section of the panel 15.
Then, when the operator key-inputs the necessary data regarding the recording on the panel 15, the instruction information 19
Is transmitted to the image supply device 13, and recording control based on the instruction information 19 becomes possible.
【0053】なお、情報処理装置側で記録を行う用紙の
サイズや文字の大きさ等を制御データとして指定してき
た場合においても、パネル15からキー操作等により指
示情報19を入力することも可能である。このような場
合には、情報処理装置側の指示を常に優先させることも
できるし、パネル15側の入力を優先させることもでき
る。また、時間的に後で指示を与えた方を優先させるこ
とも可能である。Even when the size of the paper or the size of the characters to be recorded is designated as the control data on the side of the information processing apparatus, it is possible to input the instruction information 19 from the panel 15 by operating the keys. is there. In such a case, the instruction on the information processing device side can always be prioritized, or the input on the panel 15 side can be prioritized. It is also possible to give priority to a person who gives an instruction later in time.
【0054】次に、画像供給装置13は、指示情報19
と記録部12からの状態信号とに基づいて印字可能か否
か等の判断を行い、その旨を応答情報21としてパネル
15に表示させる。例えば、指示情報19によって指示
されたサイズの用紙が記録部12にセットされていない
場合には、そのサイズの用紙をセットするように促す応
答をパネル15に表示させる。Next, the image supply device 13 sends the instruction information 19
Based on the status signal from the recording unit 12, whether or not printing is possible is determined, and the fact is displayed on the panel 15 as response information 21. For example, when the paper of the size instructed by the instruction information 19 is not set in the recording unit 12, the panel 15 displays a response prompting to set the paper of that size.
【0055】以上のようにして記録準備が整うと、画像
供給装置13は、動作指令信号26を記録部12に送出
し、記録部12を制御データに基づいて動作させると共
に、記録部12からの同期パルス25により出力のタイ
ミングをとりながら入力された印字データを画像情報2
7として記録部12に転送する。When the recording preparation is completed as described above, the image supply device 13 sends the operation command signal 26 to the recording section 12 to operate the recording section 12 based on the control data, and at the same time, the recording section 12 outputs the operation command signal 26. The print data input while synchronizing the output timing with the synchronization pulse 25 is used as the image information 2
7 is transferred to the recording unit 12.
【0056】次に、アプリケーションプログラムの全体
動作、特にジョブ開始にあたって起動されるデコンポー
ザの作用について説明する。ジョブ開始にあたって起動
されるデコンポーザは、入力ポート毎に設定されている
プリンタ言語(制御言語)のデコンポーザである。ジョ
ブの入力ポートに対して設定されている制御言語が自動
判別を指定するものであれば、自動判別パーサが起動さ
れ(自動判別モード)、自動判別が指定されていなけれ
ば、設定されている制御言語のデコンポーザが起動され
る(プリンタ言語固定モード)。以下、この2つの場合
におけるデコンポーザの処理について各々説明する。な
お、対象となるデコンポーザは、上記の言語A、言語
B、言語C、言語D、言語Eについてのデコンポーザ及
びダンプである。Next, the overall operation of the application program, particularly the operation of the decomposer activated at the start of the job, will be described. The decomposer activated at the start of the job is a decomposer of the printer language (control language) set for each input port. If the control language set for the job input port specifies automatic discrimination, the automatic discrimination parser is started (automatic discrimination mode), and if automatic discrimination is not specified, the set control The language decomposer is started (printer language fixed mode). The processing of the decomposer in these two cases will be described below. Note that the target decomposers are the decomposers and dumps for the above language A, language B, language C, language D, and language E.
【0057】まず、プリンタ言語固定モードの処理を図
5のフローチャート及び図6のブロック図を参照して説
明する。なお、図6において、インタスク74はイン6
2によるタスク、アウトタスク76はアウト66による
タスク、ジョブコントローラ72は前述したコントロー
ル60の1つの機能モジュール、デコンポーザ70は、
当該ジョブを実行する1つのデコンポーザである。First, the printer language fixed mode processing will be described with reference to the flowchart of FIG. 5 and the block diagram of FIG. In FIG. 6, the in-task 74 is an in-task 74.
2, the out task 76 is a task according to the out 66, the job controller 72 is one functional module of the control 60 described above, and the decomposer 70 is
It is one decomposer that executes the job.
【0058】インタスク74がジョブを検出したか否か
を判定し(ステップ300)、否定判定の場合はジョブ
が検出されるまで、デコンポーザ70の待ち状態が保た
れる。ジョブが検出されると、インタスク74は、該当
入力ポートのプリンタ言語設定を参照して、対応するデ
コンポーザのジョブとしてジョブコントローラ72にジ
ョブを要求する(ステップ302)。なお、ジョブが検
出されたとは、あるインターフェイスに一連のデータが
入力されたことを意味する。The in-task 74 determines whether or not a job is detected (step 300). In the case of a negative determination, the wait state of the decomposer 70 is maintained until the job is detected. When the job is detected, the in-task 74 refers to the printer language setting of the corresponding input port and requests the job from the job controller 72 as the job of the corresponding decomposer (step 302). Note that the job being detected means that a series of data has been input to a certain interface.
【0059】ジョブコントローラ(システム制御部)7
2は、インタスク74からのジョブ要求を受けて、その
デコンポーザ70にジョブ実行指示を出力する(ステッ
プ304)。Job controller (system control section) 7
2 receives the job request from the in-task 74 and outputs a job execution instruction to the decomposer 70 (step 304).
【0060】非同期イベントとしてジョブ実行指示を受
けたデコンポーザ70は、デコンポーザ処理を開始する
(ステップ306)。このデコンポーザ70によるデコ
ンポーザ処理によって、インタスク74により受信され
た受信バッファ(RAM38)内のプリンタ言語は、設
定されたプリンタ言語に解釈されていく。Upon receiving the job execution instruction as the asynchronous event, the decomposer 70 starts the decomposer processing (step 306). By the decomposer processing by the decomposer 70, the printer language in the reception buffer (RAM 38) received by the in-task 74 is interpreted as the set printer language.
【0061】デコンポーザ70が、受信バッファ内のプ
リンタ言語を読み取っている際にデータの終わりを示す
EOJが検出されたか否かが判定される(ステップ30
8)。EOJが検出されない場合は、デコンポーザ処理
(ステップ306)が続行され、EOJが検出される
と、デコンポーザ70はジョブの終了処理を行う。な
お、EOJは、ジョブの終了を示すデータの入力、デー
タ入力待ち時間のタイムアウト、パネル15からの強制
排出指示の入力、ファイルの終了、ネットワークコネク
ションの終了等を検出することで判断できる。It is determined whether the decomposer 70 detects EOJ indicating the end of data while reading the printer language in the reception buffer (step 30).
8). If the EOJ is not detected, the decomposer processing (step 306) is continued, and if the EOJ is detected, the decomposer 70 performs the job end processing. The EOJ can be determined by detecting the input of data indicating the end of the job, the timeout of the data input waiting time, the input of the forced ejection instruction from the panel 15, the end of the file, the end of the network connection, and the like.
【0062】ジョブの終了処理として、デコンポーザ7
0は、先ずアウトタスク76にジョブ終了通知を出す
(ステップ310)。これにより、エンジンコントロー
ラは、当該処理データ以降の該当ジョブの出力依頼のな
いことを検出でき(ステップ312)、出力終了の準備
が可能となる。As the job end processing, the decomposer 7
0 first issues a job end notification to the out task 76 (step 310). As a result, the engine controller can detect that there is no output request for the job after the processing data (step 312), and prepare for the end of output.
【0063】そして、デコンポーザ70は、ジョブコン
トローラ72に対してジョブ終了報告を行う(ステップ
314)。Then, the decomposer 70 reports the job completion to the job controller 72 (step 314).
【0064】以上のようにデコンポーザ処理の終了で、
デコンポーザ70は非同期イベント待ち状態に移行し
(ステップ316)、新たなデコンポーザ処理の実行指
示を待つ(ステップ304)。At the end of the decomposer processing as described above,
The decomposer 70 shifts to the asynchronous event wait state (step 316) and waits for an instruction to execute a new decomposer process (step 304).
【0065】次に、自動判別モードにおける処理を図7
のフローチャート、このフローチャートに現れる機能ブ
ロックと制御の流れとを示す図8及び図9を参照して説
明する。なお、図8は自動判別ができた場合、図9は自
動判別ができなかった場合を示し、新たに付加された自
動判別パーサ78は、前述したデータプロセス64とし
て実装されるプリンタ言語判別タスクである。Next, the process in the automatic discrimination mode is shown in FIG.
The flowchart of FIG. 8 and the functional blocks and control flow appearing in this flowchart will be described with reference to FIGS. 8 and 9. Note that FIG. 8 shows a case where automatic discrimination is possible, and FIG. 9 shows a case where automatic discrimination is not possible. The newly added automatic discrimination parser 78 is a printer language discrimination task implemented as the data process 64 described above. is there.
【0066】先ず、インタスク74がジョブを検出した
か否かが判定され(ステップ318)、否定判定の場合
は、ジョブが検出されるまで、デコンポーザ70の待ち
状態が保たれる。ジョブが検出されると、インタスク7
4は、ジョブコントローラ72に対して自動判別パーサ
78のジョブとしてジョブ要求を行う(ステップ32
0)。First, it is determined whether or not the intask 74 has detected a job (step 318). In the case of a negative determination, the decomposer 70 is kept in a waiting state until a job is detected. If a job is detected, in task 7
4 issues a job request to the job controller 72 as a job of the automatic discrimination parser 78 (step 32).
0).
【0067】ジョブ要求を受けたジョブコントローラ7
2は、自動判別パーサ78にジョブ実行指示を出す(ス
テップ322)。Job controller 7 which has received a job request
2 issues a job execution instruction to the automatic discrimination parser 78 (step 322).
【0068】ジョブ実行指示を受けた自動判別パーサ7
8は、下記の、のいずれかの条件が満たされた時
に、受信した所定数のデータ又はEOJ検出までのデー
タを対象として自動判別処理を実行する(ステップ32
4)。An automatic discrimination parser 7 which has received a job execution instruction
When any one of the following conditions is satisfied, 8 executes the automatic discrimination processing for the received predetermined number of data or the data up to the EOJ detection (step 32).
4).
【0069】 所定数のデータを受信した場合 EOJを検出した場合 この自動判別処理の詳細については後述する。When a predetermined number of data is received When EOJ is detected Details of this automatic discrimination processing will be described later.
【0070】自動判別パーサ78が自動判別処理を終了
すると、入力されたプリンタ言語がどの言語であるかが
判別できたか否かが判定される(ステップ326)。入
力されたプリンタ言語がどの言語であるかが判別できた
場合は、自動判別パーサ78は、ジョブコントローラ7
2に対して判別結果のプリンタ言語に対応するデコンポ
ーザ70への切替え要求を出し(ステップ334)、ジ
ョブコントローラ72は当該デコンポーザ70を起動さ
せるべくジョブ実行指示を出す(ステップ304)。こ
れ以降は、制御が当該デコンポーザ70に移行し、ステ
ップ304を含めた以後のステップは、図5のプリンタ
固定モードと同じであるので、図5と対応する部分には
同一符号を付して説明を省略する。When the automatic discrimination parser 78 completes the automatic discrimination processing, it is judged whether or not the language of the inputted printer language can be discriminated (step 326). When it is possible to determine which language the input printer language is, the automatic determination parser 78 determines that the job controller 7
A request for switching to the decomposer 70 corresponding to the printer language of the determination result is issued to 2 (step 334), and the job controller 72 issues a job execution instruction to activate the decomposer 70 (step 304). After that, the control shifts to the decomposer 70, and the steps including step 304 are the same as those in the printer fixed mode of FIG. 5, and therefore, the portions corresponding to those of FIG. Is omitted.
【0071】なお、自動判別パーサ78が判別したプリ
ンタ言語のデコンポーザがオプション・ソフトで装着さ
れているか否かの判断と処置は、自動判別パーサ78で
はなく、ジョブコントローラ72が行う。The job controller 72, not the automatic discrimination parser 78, determines and takes action whether or not the decomposer in the printer language discriminated by the automatic discrimination parser 78 is installed by the option software.
【0072】一方、ステップ326で、入力されたプリ
ンタ言語がどの言語であるか判別できなかった場合は、
自動判別パーサ78がジョブコントローラ72に対して
アボート(ABORT)要求を出す(ステップ32
8)。なお、この際、プリントログにプリント言語判別
不可である旨を登録する。On the other hand, in step 326, if it is not possible to determine which language the input printer language is,
The automatic discrimination parser 78 issues an ABORT request to the job controller 72 (step 32).
8). At this time, the fact that the print language cannot be determined is registered in the print log.
【0073】アボート要求を受け取ったジョブコントロ
ーラ72は、自動判別パーサ78にアボート指示を出す
(ステップ330)。これにより、自動判別パーサ78
の処理が終了となる(ステップ332)。即ち、デコン
ポーザ71が非同期イベント待ち状態に移行する(図9
参照)。なお、この時、解放されたデコンポーザは特定
のものを指さず複数あるため、図9ではデコンポーザ7
1として単一のデコンポーザ70と区別している。Upon receiving the abort request, the job controller 72 issues an abort instruction to the automatic discrimination parser 78 (step 330). As a result, the automatic discrimination parser 78
Processing ends (step 332). That is, the decomposer 71 shifts to the asynchronous event waiting state (FIG. 9).
reference). At this time, since there are a plurality of released decomposers without pointing to a specific one, the decomposer 7 shown in FIG.
1 is distinguished from the single decomposer 70.
【0074】そして、処理を終えた自動判別パーサ78
は、ジョブコントローラ72にアボート終了報告を行い
(ステップ333)、これにより自動判別処理は終了
し、最初のステップ318に戻る。なお、この時点では
まだアウトタスク76に対し出力依頼を行っていないた
め、判別ができた時とは異なり、アウトタスク76に対
してはジョブ終了を通知しない(図9参照)。Then, the automatic discrimination parser 78 which has completed the processing
Sends an abort completion report to the job controller 72 (step 333), whereby the automatic determination processing ends, and the process returns to the first step 318. At this point, since the output request has not been made to the out task 76 yet, the job completion is not notified to the out task 76, unlike when the determination can be made (see FIG. 9).
【0075】以上の自動判別モードを使用すれば、ホス
トコンピュータより受信されたデータがどのプリンタ言
語で記述されているか自動的に識別されるので、ユーザ
がプリンタ言語を指定しなくても、画像記録装置11は
受信されたデータに合わせて適切なプリンタ言語処理系
を選択し、プリント処理を行うことができる。When the above automatic discrimination mode is used, the printer language in which the data received from the host computer is described is automatically identified, so that the image recording can be performed even if the user does not specify the printer language. The device 11 can select an appropriate printer language processing system according to the received data and perform print processing.
【0076】次に、上記自動判別パーサ78内部の構成
と詳細な制御の流れについて説明する。図10に示すよ
うに、自動判別パーサ78は、ジョブコントローラ72
とのインターフェイスをとるためのジョブコントローラ
インターフェイス80を備えている。Next, the internal structure of the automatic discrimination parser 78 and the detailed control flow will be described. As shown in FIG. 10, the automatic determination parser 78 uses the job controller 72.
A job controller interface 80 is provided for interfacing with the.
【0077】また、ジョブコントローラインターフェイ
ス80は、判別器コントローラ82にジョブ実行指示に
基づく判別開始指示を与えると共に、判別器コントロー
ラ82から送出された判別結果を受信する。また、ジョ
ブコントローラインターフェイス80は、ジョブコント
ローラ72からのジョブ実行指示を受信すると共に、デ
コンポーザ切替え要求やアボート要求をジョブコントロ
ーラ72に送出する。Further, the job controller interface 80 gives the discrimination start instruction to the discriminator controller 82 based on the job execution instruction, and receives the discrimination result sent from the discriminator controller 82. Further, the job controller interface 80 receives the job execution instruction from the job controller 72 and sends a decomposer switching request or an abort request to the job controller 72.
【0078】判別器コントローラ82は、ジョブコント
ローラインターフェイス80からの判別開始指示に基づ
いて、受信データが特定のプリンタ言語であるか否かを
判別する判別器の各々に起動指示を与えると共に、各判
別器からの判別結果(成功、失敗及び不定のいずれか)
を受け取る。The discriminator controller 82 gives a start instruction to each of the discriminators that determine whether the received data is in a specific printer language or not, based on the determination start instruction from the job controller interface 80. Result from the vessel (either success, failure or indefinite)
To receive.
【0079】本実施例では、言語A判別器84、言語B
判別器86、言語C判別器88、言語D判別器90及び
言語E判別器92の5つの判別器が設けられ、受信デー
タが言語A、言語B、言語C、言語D及び言語Eで記述
されているか否かを各々判別する。In this embodiment, the language A discriminator 84 and the language B are used.
Five discriminators, a discriminator 86, a language C discriminator 88, a language D discriminator 90 and a language E discriminator 92, are provided, and the received data are described in language A, language B, language C, language D and language E. Whether or not each is determined.
【0080】言語A判別器84、言語B判別器86及び
言語C判別器88は、各々直接判別器コントローラ82
と接続されており、判別器コントローラ82からの起動
指示により、各々対象とするプリンタ言語の判別を行
い、判別結果を判別器コントローラ82に送出する。The language A discriminator 84, the language B discriminator 86 and the language C discriminator 88 are each a direct discriminator controller 82.
The target printer language is determined according to the activation instruction from the discriminator controller 82, and the discrimination result is sent to the discriminator controller 82.
【0081】言語D判別器90及び言語E判別器92
は、グループ判別制御部94を介して判別器コントロー
ラ82と接続されており、グループ判別制御部94を介
して入力される起動指示により、各々対象とするプリン
タ言語の判別を行い、その判別結果をグループ判別制御
部94を介して判別器コントローラ82に送出する。Language D discriminator 90 and language E discriminator 92
Are connected to the discriminator controller 82 via the group discrimination control unit 94, and each of the target printer languages is discriminated by a start instruction input via the group discrimination control unit 94, and the discrimination result is displayed. It is sent to the discriminator controller 82 via the group discrimination control unit 94.
【0082】なお、判別器同士を1つのグループで構成
するか否かは、例えば、対象とするプリンタ言語が互い
に共通のコマンドを持つことが1つの基準となり、共通
のコマンドを持つ場合には1つのグループで構成する。Whether or not the discriminators are formed into one group is based on, for example, that the target printer languages have common commands, and if they have common commands, then 1 is determined. It consists of two groups.
【0083】また、これらの判別器は、バッファ96と
接続されており、バッファに格納されている受信データ
を読み取ってその判別対象としている。このバッファ9
6はローカルなメモリであって、ここに格納されている
受信データは、受信バッファ(図2でいうRAM38)
から転送されてきたものである。Further, these discriminators are connected to the buffer 96, and read the received data stored in the buffer as the discrimination target. This buffer 9
Reference numeral 6 is a local memory, and the reception data stored therein is a reception buffer (RAM 38 in FIG. 2).
It has been transferred from.
【0084】各判別器は、受信データを所定のバイト数
だけ順次読み取り、各判別器が対象とする言語で用いら
れるコマンドがあるか否かを検索する。また、各判別器
は受信データを各判別器が対象とする言語であると仮定
して文法エラーがあるか否かも検索する。そして、「コ
マンドがあるか」「文法エラーがあるか」の2種類の検
索結果の組み合わせに基づいて以下の「成功」、「不
定」、「失敗」のいずれかの判別結果を出力する。Each discriminator sequentially reads the received data by a predetermined number of bytes, and searches for a command used in the language targeted by each discriminator. Each discriminator also searches the received data for a grammatical error, assuming that the received data is in the target language. Then, based on the combination of the two types of search results, "whether there is a command" and "whether there is a syntax error", the following determination result of "success", "undefined", or "failure" is output.
【0085】 「成功」 : 「文法エラーなし」かつ「コマンドあ
り」 「不定」 : 「文法エラーなし」かつ「コマンドな
し」 「失敗」 : 「文法エラーあり」 「成功」の場合には、受信データのプリンタ言語は、当
該判別器の対象とする言語であり、「不定」の場合に
は、当該言語であるか否かが分からない状態、「失敗」
の場合には、受信データのプリンタ言語は当該言語では
ないということを示している。“Success”: “There is no syntax error” and “There is a command” “Undefined”: “There is no syntax error” and “No command” “Fail”: “There is a syntax error” “Success”, the received data The printer language of is the language targeted by the discriminator, and in the case of "indefinite", it is not known whether or not it is the language, "failure"
In the case of, it indicates that the printer language of the received data is not the language.
【0086】以上のように判別結果を定義することによ
り、「失敗」の場合には、「文法エラー」を検出した時
点で判別器による判別処理を打ち切ることが可能とな
る。これにより、該当しない制御言語のための判別処理
を最小限に抑えることができ、判別処理を高速化でき
る。By defining the discrimination result as described above, in the case of "failure", the discrimination processing by the discriminator can be terminated when the "syntax error" is detected. As a result, it is possible to minimize the discrimination processing for the control language that does not apply, and it is possible to speed up the discrimination processing.
【0087】また、「文法エラー」を検出することによ
り、たまたま文字列として他の制御言語のコマンドを含
んでいる場合でも、誤判定を防止できるので、判別精度
を向上させることができる。Further, by detecting the "grammar error", it is possible to prevent the erroneous determination even when the command of another control language happens to be included as the character string, so that the determination accuracy can be improved.
【0088】なお、この「文法エラー」は、制御言語と
しての矛盾が検出されたことを意味し、次のようにして
検出される。すなわち、各判別器は、受信データを記述
する制御言語の中から、その判別器が対象とする制御言
語にありえないような命令コードを検出した場合、又
は、その制御言語ではありえないような命令コードの組
み合わせを検出した場合に、「文法エラー」の判別結果
を出力する。また、ある特定の命令コードがデータ列の
特定の位置にあったり、命令コードの順番が定まってい
る制御言語の場合で当該位置にその命令コードがなかっ
た時も「文法エラー」に相当する。The "grammar error" means that a contradiction as a control language has been detected, and is detected as follows. That is, each discriminator detects, from the control language describing the received data, an instruction code which cannot be in the control language targeted by the discriminator, or an instruction code which cannot be in the control language. When a combination is detected, the "grammar error" determination result is output. Further, when a certain instruction code is located at a particular position in a data string, or in the case of a control language in which the order of the instruction code is fixed, there is no such instruction code at that position, which corresponds to a "grammar error".
【0089】次に、自動判別パーサ78の処理の流れに
ついて図11のフローチャートに沿って説明する。Next, the flow of processing of the automatic discrimination parser 78 will be described with reference to the flowchart of FIG.
【0090】受信バッファ(RAM38)に一定量以上
受信データが格納されると、ローカルなメモリであるバ
ッファ96に所定数分の当該受信データ、例えば256
バイトや1024バイト分の受信データが転送される
(ステップ340)。但し、当該所定数未満で受信デー
タの終わりを示すEOJが検出された場合には、EOJ
までの受信データが転送される(ステップ340)。When a certain amount or more of received data is stored in the receive buffer (RAM 38), a predetermined number of the received data, for example 256, is stored in the buffer 96 which is a local memory.
Bytes or 1024 bytes of received data are transferred (step 340). However, if EOJ indicating the end of received data is detected with less than the predetermined number, EOJ is detected.
The received data up to are transferred (step 340).
【0091】そして、ジョブコントローラインターフェ
イス80にジョブコントローラ72からジョブ実行指示
があると、ジョブコントローラインターフェイス80
は、判別器コントローラ82に判別開始指示を与える。
そして、判別開始指示を受けた判別器コントローラ80
は、各判別器に起動指示を与え、順番に起動させる。When the job controller 72 receives a job execution instruction from the job controller 72, the job controller interface 80
Gives a discrimination start instruction to the discriminator controller 82.
Then, the discriminator controller 80 that receives the discrimination start instruction
Gives an activation instruction to each discriminator and activates them in order.
【0092】先ず、言語A判別器84が起動され(ステ
ップ342)、バッファ96内の受信データが言語Aで
あるか否かの判別処理が行われる。判別処理が終了する
と、その結果が判別器コントローラ82に伝達され、判
別結果の判定が行われる(ステップ344)。First, the language A discriminator 84 is activated (step 342), and a discrimination process as to whether the received data in the buffer 96 is in the language A is performed. When the discrimination process is completed, the result is transmitted to the discriminator controller 82, and the discrimination result is discriminated (step 344).
【0093】ステップ344の判定が「成功」の場合
は、言語Aが受信データのプリンタ言語であると判断さ
れる(ステップ372)。そして、その判別結果が言語
Aであるという情報がジョブコントローラインターフェ
イス80に伝達され、そこからその判別結果がシステム
に通知される(ステップ374)。又は、ジョブコント
ローラインターフェイス80よりジョブコントローラ7
2に言語Aを解釈するデコンポーザへの切替え要求が送
出される。If the determination in step 344 is "success", it is determined that language A is the printer language of the received data (step 372). Then, the information that the discrimination result is the language A is transmitted to the job controller interface 80, and the system is notified of the discrimination result (step 374). Alternatively, from the job controller interface 80 to the job controller 7
2. A request for switching to the decomposer that interprets the language A is sent to 2.
【0094】ステップ344の判定が「失敗」または
「不定」の場合は、次の言語B判別器86が起動され
(ステップ346)、バッファ96内の受信データが言
語Bであるか否かの判別が行われる。If the determination in step 344 is "failure" or "indefinite", the next language B discriminator 86 is activated (step 346) and it is determined whether the received data in the buffer 96 is language B or not. Is done.
【0095】その判別結果の判定(ステップ348)が
成功の場合は、言語Bが受信データのプリンタ言語であ
ると判断され、上記と同様の処理が実行される。When the determination result (step 348) is successful, it is determined that the language B is the printer language of the received data, and the same processing as above is executed.
【0096】ステップ348の判定が「失敗」又は「不
定」の場合には、次の言語C判別器88が起動され(ス
テップ350)、バッファ96内の受信データが言語C
であるか否かの判別が行われる。If the determination in step 348 is "failure" or "undefined", the next language C discriminator 88 is activated (step 350), and the received data in the buffer 96 is in the language C.
Is determined.
【0097】その判別結果の判定(ステップ352)が
成功の場合は、言語Cが受信データのプリンタ言語であ
ると判断され、上記と同様の処理が実行される。If the determination result (step 352) is successful, it is determined that the language C is the printer language of the received data, and the same processing as above is executed.
【0098】このように、1つの判別器が「成功」と判
断した時点で自動判別処理を完了させることにより、該
当しない制御言語のための判別処理を行わなくて済み、
判別処理を高速化できる。By thus completing the automatic discrimination processing when one discriminator judges "successful", it is not necessary to perform discrimination processing for a control language that does not apply.
The discrimination process can be speeded up.
【0099】ところが、ステップ352の判定が「失
敗」又は「不定」の場合には、判別器コントローラ82
は、グループ判別制御部94に起動指示を与え、言語D
・言語E判別処理を実行させる(ステップ354)。こ
の言語D・言語E判別処理は、次のようなステップから
構成される。However, if the determination in step 352 is "failure" or "indefinite", the discriminator controller 82
Gives a start instruction to the group discrimination control unit 94, and the language D
-Language E discrimination processing is executed (step 354). This language D / language E discrimination processing is composed of the following steps.
【0100】先ず、言語D判別器90により、受信デー
タが言語Dであるか否かの判別処理(ステップ356)
が行われ、その判別結果がグループ判別制御部94に送
出され、そこで一旦保持される。次に、言語E判別器9
2により、受信データが言語Eであるか否かの判別処理
(ステップ358)が行われ、その判別結果がグループ
判別制御部94に送出される。グループ判別制御部94
は、言語D判別器90と言語E判別器92による判別結
果とをルールに照らして比較して、どちらに合致する
か、又はいずれでもないかを判別する(ステップ36
0)。例えば、一方の言語のみの判別が成功し、他方が
「失敗」又は「不定」の場合には、前者の言語を判別結
果とする。また、両者共に「成功」の場合は言語Dを判
別結果とし、両者共に「不定」の場合は、言語Eを判別
結果とする。そして、両者共に「失敗」の場合には判別
結果を「失敗」とし、一方が「不定」で他方が「失敗」
の場合には、判別結果を「不定」とする。判別結果が出
ると、グループ判別制御部94は、その判別結果と「成
功」の場合にはその言語の別を判別器コントローラ82
に通知する。そして、その判別結果が判定され(ステッ
プ362)、「成功」の場合には、言語Dと言語Eのい
ずれかの言語がプリンタ言語と判断され(ステップ37
2)、システムに通知される(ステップ374)。一
方、ステップ362の判定で、「失敗」又は「不定」の
場合には、次のステップで、上記の判別処理が1回目で
あるか否か、また、各判別器の判別結果に「不定」があ
るか否か、さらに判別したデータにEOJがあるか否か
が判定される(ステップ364)。判定の結果、判別処
理が1回目であり、かつ、各判別器の判別結果のいずれ
かに「不定」がある再判別可能な場合であり、かつ、受
信データがまだ終了していない場合には、ステップ34
0に戻り、2回目の判別処理が行われる。但し、無駄を
省くため、1回目の判別で「失敗」となった判別器の処
理は行わないように制御する。First, the language D discriminator 90 determines whether or not the received data is in the language D (step 356).
Is performed, the determination result is sent to the group determination control unit 94, and is temporarily held there. Next, the language E discriminator 9
2, the discrimination processing of whether or not the received data is the language E (step 358) is performed, and the discrimination result is sent to the group discrimination control unit 94. Group discrimination control unit 94
Compares the discrimination results by the language D discriminator 90 and the language E discriminator 92 in accordance with the rules, and discriminates which one is the same or which is neither (step 36).
0). For example, when only one language is successfully discriminated and the other is “failure” or “indefinite”, the former language is set as the discrimination result. If both are “successful”, the language D is the determination result, and if both are “indefinite”, the language E is the determination result. When both are "failure", the determination result is "failure", one is "undefined" and the other is "failure".
In the case of, the determination result is “undefined”. When the discrimination result is obtained, the group discrimination control unit 94 discriminates the discrimination result from the discriminator controller 82 in the case of “success”.
To notify. Then, the determination result is determined (step 362), and if the result is “success”, it is determined that one of the languages D and E is the printer language (step 37).
2) The system is notified (step 374). On the other hand, if the result of the determination in step 362 is “failure” or “indeterminate”, in the next step, it is determined whether or not the above determination process is the first time and the determination result of each discriminator is “indeterminate”. It is determined whether or not there is, and whether or not there is EOJ in the determined data (step 364). As a result of the determination, if the determination process is the first time, and the determination result of each of the discriminators is “indeterminate” and re-determination is possible, and the received data is not yet finished, , Step 34
Returning to 0, the second determination process is performed. However, in order to avoid waste, the discriminator that has failed in the first discrimination is not processed.
【0101】ステップ364の3つの条件のいずれか1
つでも条件を満たさない場合には、判別結果が「全て失
敗」かそれとも「不定あり」により分岐する(ステップ
366)。全て失敗の場合には、判別結果が「エラー」
とされ(ステップ370)、「不定あり」の場合には、
判別結果が言語Eとされて(ステップ368)、システ
ムに通知される(ステップ374)。この言語Eは、前
述したようにワイヤドットプリンタ制御言語の1つで、
単純なテキスト出力(文字列と復帰・改行等のコマンド
の組み合わせ)が可能な言語であるため、かかる処理が
可能となる。このように、相互に共通のコマンドがある
制御言語は1つのグループとして扱い、同じグループ内
の制御言語の判別については、これらの判別器による判
別が全て終了した時に、判別結果を出力するようにした
ので、同じグループ内の制御言語との誤判定が防止され
る。また、当該グループに属さない他の制御言語との誤
判定も避けられる。Any one of the three conditions of step 364
If any of the conditions is not satisfied, the determination result is "all failed" or "indeterminate" is branched (step 366). If all are unsuccessful, the determination result is "error"
(Step 370), and if “undefined”,
The determination result is set to the language E (step 368), and the system is notified (step 374). This language E is one of the wire dot printer control languages as described above,
This processing is possible because the language allows simple text output (combination of character strings and commands such as carriage return and line feed). In this way, control languages having commands that are common to each other are treated as one group, and when the control languages in the same group are discriminated, the discrimination result is output when all discriminations by these discriminators are completed. Therefore, erroneous determination as a control language in the same group is prevented. Further, it is possible to avoid misjudgment with other control languages that do not belong to the group.
【0102】さらに、ステップ360やステップ368
において扱ったように、プリンタ言語を特徴づけるコマ
ンドを含まずデータのみの「不定」の場合でも、ルール
として定めた適切な制御言語を当てはめることにより、
印字可能となる。Furthermore, step 360 and step 368
As described in Section 2, even if the data is "indefinite" without the command that characterizes the printer language, by applying the appropriate control language defined as a rule,
Can be printed.
【0103】なお、ステップ360において、同じグル
ープ内の複数の判別器が「成功」を出力した場合には、
グループ判別制御部94は、次のような方法によって判
別結果を出力するようにしてもよい。If a plurality of discriminators in the same group output "success" in step 360,
The group discrimination control unit 94 may output the discrimination result by the following method.
【0104】先ず、個々の制御言語における命令コード
をユニークコマンドと共通コマンドとに分類し、この共
通コマンドについては各判別器毎に重み付テーブルを用
意し、入力された制御言語の命令コードと一致する毎に
各判別器毎にそれらに設定された重みを加算していく。
そして、最終的な加算結果を判別結果「成功」の補助情
報として利用する。即ち、グループ内のすべての判別器
の加算結果が出た後、「成功」を検出した判別器が複数
あった場合、それら判別器毎の加算結果の大小でグルー
プのどの制御言語であるかを決定するという方法であ
る。共通コマンドは、制御上の意味、重要度が各制御言
語毎に異なるため、この方法によって、グループ内の識
別ができ、判別精度を向上させることができる。First, the instruction code in each control language is classified into a unique command and a common command. For this common command, a weighting table is prepared for each discriminator, and it matches the instruction code of the input control language. Each time, the weights set for each discriminator are added.
Then, the final addition result is used as auxiliary information for the determination result “success”. That is, if there are multiple discriminators that have detected “success” after the addition results of all the discriminators in the group have been output, the control language of the group is determined by the size of the addition result for each discriminator. It is a method of making a decision. Since the common command has different meanings and importance in control for each control language, this method enables identification within a group and improves discrimination accuracy.
【0105】さらにグループ内の制御言語群において、
予め優先順序を付けておき、グループ内でのすべての判
別器の結果が出た後、矛盾する命令コードを含んでいる
ことを検出した判別器を除き、この優先順序に従ってグ
ループのどの制御言語であるかを決定する方法も有効で
ある。この方法は、特にある制御言語にとって共通コマ
ンド(群)の制御上の意味が他の制御言語より重要であ
る場合に適用できる。即ち、グループ内で「成功」を検
出した判別器が複数あった場合、このことは入力データ
として共通のコマンドを含んでいることを意味する。よ
って、共通コマンド(群)の制御上の意味が他の制御言
語より重要である場合には、優先順序を確からしさの尺
度とみなすことができる。Further, in the control language group in the group,
Prioritize in advance, and after all discriminators in the group have obtained the results, except for the discriminator that detects that the discriminant instruction code is included, in which control language of the group according to this priority order A method of determining if there is also effective. This method can be applied especially when the control meaning of the common command (s) is more important for one control language than another control language. That is, when there are a plurality of discriminators that have detected “success” in the group, this means that a common command is included as input data. Therefore, when the control meaning of the common command (group) is more important than other control languages, the priority order can be regarded as a measure of certainty.
【0106】この方法によれば、前述した方法と比べ
て、ユニークコマンドと共通コマンドの分類、重み検
索、加算処理が省略でき、処理時間が短縮されるという
利点がある。According to this method, the classification of the unique command and the common command, the weight search, and the addition processing can be omitted and the processing time can be shortened as compared with the above-mentioned method.
【0107】また、2回目の判別処理において、判別対
象となる受信データを、ステップ340で次のような範
囲のデータとして取得することもできる。Further, in the second discrimination processing, the received data to be discriminated can be acquired as data in the following range in step 340.
【0108】2回目に取得されるデータは、前述したよ
うに1回目のデータ量よりも多く、1回目に取得される
データを全て含むようにする。この関係について図12
に示す。The data acquired at the second time is larger than the data amount at the first time as described above, and includes all the data acquired at the first time. About this relationship
Shown in
【0109】図12によれば、(a)は1回目に取得さ
れるデータを構成するコマンド列を示し、(b)は2回
目に取得されるデータを構成するコマンド列を示してい
る(図の下方が受信データの先頭よりを示す)。判別処
理の開始データは、1回目と2回目共に同じデータ
「%」であり、ソフトウェアの構成の簡素化を図ってい
る。また、2回目に取得されるデータの方がデータ量が
多く、1回目で最後のデータの境界付近になっていたデ
ータが2回目では、余裕で包含されている。従って、1
回目に取得したデータの最後が1続きのコマンド列の途
中だった場合、例えば、図12(a)のようにコマンド
列”<ESC>AB2”のうち、”<ESC>A”まで
が取得された時でも、2回目のデータ取得により当該コ
マンド列を判別の対象とすることができる。According to FIG. 12, (a) shows a command string forming the data acquired the first time, and (b) shows a command string forming the data acquired the second time (see FIG. Below shows the beginning of the received data). The start data of the determination process is the same data “%” in both the first and second times, which simplifies the software configuration. Further, the data acquired in the second time has a larger data amount, and the data that was near the boundary of the last data in the first time is included in the second time with a margin. Therefore, 1
When the end of the data acquired the second time is in the middle of one continuous command string, for example, up to “<ESC> A” of the command string “<ESC> AB2” is acquired as shown in FIG. 12A. In this case, the command sequence can be determined by the second data acquisition.
【0110】なお、1回目と2回目の判別処理におい
て、共に同じデータから処理を開始することとしたの
は、仮に1回目に取得されたデータ以降からのデータを
処理の対象とした場合、コマンド列の途中から判別を開
始するおそれがあり、最悪の場合、コマンドエラーで判
別エラーの原因となるからである。Note that the processing is started from the same data in both the first and second discrimination processing, if the data from the data acquired after the first processing is targeted for processing, This is because the discrimination may start in the middle of the row, and in the worst case, a command error causes a discrimination error.
【0111】しかし、上述のように同じデータから判別
処理を再開する場合、ソフトウェアの構成が簡素化され
コスト削減という利点がある一方、処理時間が多くなる
という問題が生じる。However, when the discrimination processing is restarted from the same data as described above, there is the advantage that the software configuration is simplified and the cost is reduced, but the processing time increases.
【0112】そこで、第1実施例では、2回目の判別処
理の開始データを適宜変更することによって、処理の重
複を避け、処理時間の短縮化を図る方法を用意した。な
お、この方法に基づく処理の流れを図13のフローチャ
ートに示し、当該方法を図13に沿って説明する。Therefore, in the first embodiment, a method for avoiding duplication of processing and shortening the processing time is prepared by appropriately changing the start data of the second discrimination processing. The flow of processing based on this method is shown in the flowchart of FIG. 13, and the method will be described with reference to FIG.
【0113】図13によれば、判別がスタートし、先ず
1回目の判別処理が実行される(ステップ380)。1
回目に取得されたデータが検索され、1回目の判別が行
われている間に、1回目で取得されたデータがコマンド
列の途中で終了したか否かが判定される(ステップ38
2)。肯定判定、即ち当該データがコマンド列の途中で
終了している場合、途中終了しているコマンド列の先頭
アドレスSがメモリに記憶される(ステップ384)。
否定判定、即ち当該データがコマンド列の途中で終了し
ていない場合は、1回目の判別処理の対象となったデー
タの最後のデータの次のアドレスNがメモリに記憶され
る(ステップ385)。According to FIG. 13, the discrimination is started, and the first discrimination processing is executed (step 380). 1
The data acquired for the first time is searched, and it is determined whether or not the data acquired for the first time ends in the middle of the command sequence while the first determination is performed (step 38).
2). In the affirmative determination, that is, when the data ends in the middle of the command string, the start address S of the command string that has ended midway is stored in the memory (step 384).
If a negative determination is made, that is, if the data has not ended in the middle of the command sequence, the address N next to the last data of the data subjected to the first determination processing is stored in the memory (step 385).
【0114】次に、1回目の判別処理が終了すると、そ
の判別結果等に基づいて、2回目の判別処理が必要であ
るか否かが判定される(ステップ386)。なお、この
ステップ386は、図11におけるステップ364に相
当する。Next, when the first discrimination processing is completed, it is judged whether or not the second discrimination processing is necessary based on the discrimination result and the like (step 386). Note that this step 386 corresponds to step 364 in FIG.
【0115】ステップ386で否定判定、即ち2回目の
判別処理が必要ではない場合には、判別処理が終了す
る。肯定判定、即ち2回目に判別処理が必要な場合は、
2回目のデータ取得が行われ、再び1回目で取得された
データがコマンド列の途中で終了したか否かが判定され
る(ステップ388)。If a negative determination is made in step 386, that is, if the second determination processing is not necessary, the determination processing ends. In the case of affirmative determination, that is, when the second determination process is necessary,
The second data acquisition is performed, and it is determined again whether or not the data acquired in the first acquisition ends in the middle of the command sequence (step 388).
【0116】1回目で取得されたデータがコマンド列の
途中で終了している場合には、ステップ384において
メモリに記憶されていた当該コマンド列の先頭アドレス
S以降のデータから2回目の判別処理を行う(ステップ
390)。If the data acquired at the first time ends in the middle of the command sequence, the second determination process is performed from the data after the start address S of the command sequence stored in the memory at step 384. Perform (step 390).
【0117】ステップ390の場合における1回目と2
回目のコマンド列と判別開始データを図14に示す。図
14によれば、図14(a)で示された1回目に取得さ
れたデータは、コマンド列”<ESC>AB2”のうち
途中の”A”までで終了している。従って、ステップ3
84で記憶されるアドレスSは、コマンド列の先頭にあ
る<ESC>のアドレスであり、よって、2回目の判別
処理の開始データは、図14(b)で示されたように2
回目に取得されるデータの途中にある<ESC>とな
る。これにより、1回目で判別対象となったデータを重
複して処理するという無駄が避けられ、処理時間が短縮
化される。また、コマンド列の途中から処理を行うこと
によるコマンドエラーも回避でき、判別精度が向上す
る。First and second in the case of step 390
FIG. 14 shows the command sequence for the second time and the discrimination start data. According to FIG. 14, the first acquired data shown in FIG. 14A ends up to “A” in the middle of the command sequence “<ESC> AB2”. Therefore, step 3
The address S stored in 84 is the address of <ESC> at the beginning of the command sequence, so the start data for the second determination process is 2 as shown in FIG.
It becomes <ESC> in the middle of the data acquired the next time. As a result, it is possible to avoid the waste of redundantly processing the data that is the discrimination target in the first time, and shorten the processing time. Further, a command error due to the processing being performed from the middle of the command sequence can be avoided, and the discrimination accuracy is improved.
【0118】一方、1回目で取得されたデータがコマン
ド列の途中で終了していない場合には、ステップ385
においてメモリに記憶されていたアドレスN以降のデー
タから2回目の判別処理を行う(ステップ392)。即
ち、1回目で判別処理を行った最後のデータの次のデー
タから2回目の判別処理が開始される。On the other hand, if the data acquired at the first time has not ended in the middle of the command sequence, step 385
At step 392, the second discrimination process is performed from the data on and after the address N stored in the memory. That is, the second discrimination process is started from the data next to the last data subjected to the discrimination process at the first time.
【0119】ステップ392の場合における1回目と2
回目のコマンド列と判別開始データを図15に示す。図
15によれば、図15(a)で示された1回目に取得さ
れたデータは、コマンド列”<ESC>AB2”が区切
られることなく終了しており、その次のデータから新た
なコマンド列が開始される。従って、ステップ385で
記憶されるアドレスSは、次のコマンド列の先頭にある
<ESC>のアドレスである。よって、2回目の判別処
理の開始データは、図15(b)で示されたように、2
回目に取得されるデータの途中にあるコマンド列の先頭
データ<ESC>となる。これにより、1回目で判別対
象となったデータを重複して処理するという無駄が避け
られ、処理時間が短縮化される。また、コマンド列の先
頭から判別処理を開始するので、コマンドエラーが回避
され、判別精度も向上する。The first and second in the case of step 392
FIG. 15 shows the command sequence for the second time and the discrimination start data. According to FIG. 15, the data acquired for the first time shown in FIG. 15A ends without the command string “<ESC> AB2” being delimited, and a new command from the next data. The row starts. Therefore, the address S stored in step 385 is the address of <ESC> at the beginning of the next command string. Therefore, as shown in FIG. 15B, the start data of the second determination process is 2
It becomes the head data <ESC> of the command string in the middle of the data acquired the next time. As a result, it is possible to avoid the waste of redundantly processing the data that is the discrimination target in the first time, and shorten the processing time. Further, since the discrimination processing is started from the head of the command string, command errors are avoided and discrimination accuracy is improved.
【0120】なお、アドレスS又はアドレスNを同一の
レジスタ等に格納し、2回目の判別処理を当該レジスタ
に記憶されたアドレスが指定するデータから開始するよ
うにすれば、ステップ388の判定は必ずしも必要では
ない。また、2回目に取得するデータ量をステップ34
0において1024バイトとしたが、判別可能な制御言
語の種類や各制御言語の判別処理の能力等を考慮して増
減されてもよい。If the address S or the address N is stored in the same register or the like and the second determination process is started from the data designated by the address stored in the register, the determination in step 388 is not always necessary. Not necessary. In addition, the amount of data to be acquired the second time is set to
Although 0 is set to 1024 bytes, the number may be increased or decreased in consideration of the type of control language that can be discriminated, the discrimination processing capability of each control language, and the like.
【0121】(第2実施例)第1実施例では、1回目と
2回目の判別処理において、それぞれ一定量のデータを
取得し、それぞれ各判別器において同一の判別ルールを
適用したが、これらを可変とすることもできる。このよ
うな発明を第2実施例として以下に開示する。なお、ハ
ードウェア等の構成及びソフトウェアの構造については
第1実施例と同様であるので、説明を省略する。(Second Embodiment) In the first embodiment, a fixed amount of data is obtained in each of the first and second discrimination processes, and the same discrimination rule is applied to each discriminator. It can also be variable. Such an invention will be disclosed below as a second embodiment. Since the configuration of hardware and the like and the structure of software are the same as those in the first embodiment, description thereof will be omitted.
【0122】第2実施例では、2回目に取得するデータ
量は、2回目の判別処理の対象となる制御言語、即ち1
回目の判別処理で「失敗」していない制御言語の種類に
基づいて変更する。In the second embodiment, the amount of data acquired the second time is the control language which is the target of the second discrimination processing, that is, 1
Change based on the type of control language that is not "failed" in the second determination process.
【0123】具体的には、ワイヤドットプリンタ関連の
言語が残っている場合には、比較的多くデータを取得す
る。これにより、言語間に共通のテキスト出力が多く言
語を特定する為のコマンド出現頻度の低いワイヤドット
プリンタ言語でも判別可能となる確率を高められ、判別
精度を向上させることができる。また、このように大量
のデータを取得してもワイヤドットプリンタ言語の場合
には、文字データや復帰/改行等の標準的なコマンドが
多いため、それらが検索の対象とはならず、処理時間の
増大は避けられる。Specifically, when the language related to the wire dot printer remains, a relatively large amount of data is acquired. As a result, it is possible to increase the probability that the text output common to the languages is large and the wire dot printer language in which the command appearance frequency for specifying the language is low can be identified, and the identification accuracy can be improved. In addition, even if such a large amount of data is acquired, in the case of the wire dot printer language, there are many standard commands such as character data and carriage return / line feed. Increase is avoided.
【0124】一方、ページ記述関連の言語が残っている
場合には、ページ記述関連言語毎にユニークであり、特
定しやすいため、比較的少量のデータを取得する。これ
により、ページ記述関連の制御言語の判定精度を下げる
ことなく、データ取得にかかる時間を短縮化することが
できる。On the other hand, when the page description-related languages remain, each page description-related language is unique and easy to identify, so a relatively small amount of data is acquired. This makes it possible to shorten the time required to acquire data without lowering the accuracy of determining the control language related to page description.
【0125】さらに、第2実施例では、各判別器におい
て適用される判別ルールを1回目と2回目の判別処理で
異なるルールとする。Further, in the second embodiment, the discrimination rule applied in each discriminator is different between the first and second discrimination processes.
【0126】第1実施例において、当該制御言語が「成
功」であると判別する基準は、その制御言語を特定でき
るユニークなコマンド群の存在を検出するということを
示した。第2実施例では、例えば、1回目の判別ルール
は、このようなユニークなコマンド群のうち、使用頻度
の高いコマンド(文字種の切替えや漢字モードへの切替
え等のコマンド)のみの有無を判断し、2回目は、これ
らコマンド群のすべてを対象としてその有無を検出す
る。これにより、1回目は、判別の対象となるコマンド
が少ないため、処理が高速になり、2回目は、制御言語
を特定できるコマンドすべてが判断の対象となるので、
より正確な判別が可能となる。従って、標準的なデータ
(使用頻度の高いコマンドを使用しているデータ)を判
別する場合には、処理時間を短縮することができ、ま
た、特別なデータ(使用頻度の高いコマンドを使用して
いないデータ)でも、正確な判別が可能となる。In the first embodiment, the criterion for determining that the control language is "success" is that the existence of a unique command group that can specify the control language is detected. In the second embodiment, for example, the first-time discrimination rule determines whether or not there are only frequently used commands (commands for switching character types, switching to Kanji mode, etc.) in such a unique command group. For the second time, the presence or absence of all of these command groups is detected. As a result, at the first time, the number of commands to be discriminated is small, so the processing is fast, and at the second time, all commands that can specify the control language are subject to discrimination.
More accurate discrimination is possible. Therefore, when determining standard data (data that uses frequently used commands), the processing time can be shortened, and special data (commands that are frequently used are used). Even if there is no data), accurate discrimination is possible.
【0127】なお、1回目と2回目で異なる判別ルール
を適用する上記の場合、2回目に取得されるデータは、
1回目に取得されたデータをすべて含め、かつ、判別の
開始は、1回目と同じデータの先頭から行う。1回目と
2回目とで、判別ルールが異なるため、2回目も先頭の
データから解析すべきだからである。In the above case in which different discrimination rules are applied in the first and second times, the data acquired in the second time is
All the data acquired at the first time is included, and the determination is started from the beginning of the same data as at the first time. This is because the discrimination rule is different between the first time and the second time, and therefore the second time should be analyzed from the first data.
【0128】以上が本発明に係る実施例であるが、上記
の例に限定されるわけではない。実施例では、1回目と
2回目に取得されるデータの先頭を合わせるようにした
が、2回目のデータの先頭が、1回目のデータの途中に
あってもよい。例えば、1回目にXバイト取得すること
とすると、2回目のデータは、1回目のデータの先頭か
らYバイト(X>Y)のところから取得するようにする
こともできる。このようにしても、コマンド列の最大バ
イト数がYバイト以下であれば、コマンド列の途中で1
回目のデータが終了していても、2回目のデータに当該
コマンド列を包含させることができる。また、各判別器
が検索する判別データと受信バッファから取得されるデ
ータの範囲は必ずしも一致していないが、これを一致さ
せることもできる。即ち、直接、受信バッファから当該
範囲の判別データを読み出すようにすることも可能であ
る。Although the embodiments of the present invention have been described above, the present invention is not limited to the above examples. In the embodiment, the heads of the first and second data obtained are matched, but the head of the second data may be in the middle of the first data. For example, if X bytes are acquired for the first time, the second data can be acquired from Y bytes (X> Y) from the beginning of the first data. Even in this case, if the maximum number of bytes in the command string is Y bytes or less, 1
Even if the data for the second time has ended, the command sequence can be included in the data for the second time. Further, the range of the discrimination data searched by each discriminator and the range of the data acquired from the reception buffer do not necessarily match, but they can also be matched. That is, it is possible to directly read the discrimination data in the range from the reception buffer.
【0129】また、判別処理を2回に限定せず、3回以
上行うようにしてもよい。かかる場合には、予め設定さ
れた回数まで又はデータの終了を検出するまで判別処理
を行う。この場合には、第1実施例及び第2実施例の処
理を3回目の判別処理以降まで適用できることはいうま
でもない。Further, the discrimination processing is not limited to two times and may be performed three times or more. In such a case, the determination process is performed up to a preset number of times or until the end of data is detected. In this case, it goes without saying that the processing of the first embodiment and the second embodiment can be applied until the third determination processing.
【0130】さらに、判別手段の構成と処理の流れ、回
路構成、機能ブロック、ソフトウェアの構成、制御や入
出力の流れ等も任意好適に変更可能である。例えば、自
動判別処理等をゲートアレイで実現することによって、
より高速化を達成することもできる。Further, the configuration of the discriminating means and the flow of processing, the circuit configuration, the functional blocks, the configuration of software, the flow of control and input / output, etc. can be arbitrarily changed. For example, by implementing automatic discrimination processing etc. with a gate array,
Higher speeds can also be achieved.
【0131】[0131]
【発明の効果】以上詳細に説明したように、請求項1の
発明では、制御言語の種類が決定できなかったとき、先
の判別データの最後の一部を包含する範囲のデータを次
の判別データとして取得するようにしたので、従来のよ
うに、所定量毎にデータを重複することなく取得する方
法と比べて、データ列を寸断することによって生じる判
別エラーを防止できる、という効果が得られる。As described in detail above, according to the first aspect of the invention, when the type of control language cannot be determined, the range of data including the last part of the previous determination data is determined as follows. Since it is acquired as data, there is an effect that a discrimination error caused by fragmenting a data string can be prevented, as compared with the conventional method of acquiring data for each predetermined amount without duplication. .
【0132】請求項2の発明では、先の判別データがコ
マンド列の途中で終了している場合には、このコマンド
列の先頭から次の判別データを取得し、コマンド列の最
後で終了している場合には、先の判別データの次から次
の判別データを取得するようにしたので、判別に要する
処理時間を無用に延ばすことなく、コマンドエラーを防
ぐことができる、という効果が得られる。According to the second aspect of the present invention, if the previous discrimination data ends in the middle of the command sequence, the next discrimination data is acquired from the beginning of this command sequence and ends at the end of the command sequence. If so, the next discrimination data is obtained from the next discrimination data. Therefore, the command error can be prevented without unnecessarily extending the processing time required for the discrimination.
【0133】請求項3の発明では、判別処理によって制
御言語の種類が決定できなかったとき、この判別処理に
おいて該当しないと判断された制御言語以外の制御言語
の種類に基づいて、次に取得するデータ量を決定するよ
うにしたので、判定精度を下げることなく、処理時間を
短縮化することができる、という効果が得られる。According to the third aspect of the invention, when the type of the control language cannot be determined by the discrimination process, the control language other than the control language determined as not applicable in the discrimination process is acquired next. Since the data amount is determined, it is possible to obtain the effect that the processing time can be shortened without lowering the determination accuracy.
【図1】第1実施例に係る画像記録装置の概略の構成を
示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of an image recording apparatus according to a first embodiment.
【図2】第1実施例に係る画像記録装置の回路構成図で
ある。FIG. 2 is a circuit configuration diagram of the image recording apparatus according to the first embodiment.
【図3】第1実施例に係る画像記録装置のソフトウェア
の構造を示す図である。FIG. 3 is a diagram illustrating a software structure of the image recording apparatus according to the first embodiment.
【図4】アプリケーション・プログラムにおける基本的
な機能ブロック図である。FIG. 4 is a basic functional block diagram in an application program.
【図5】プリンタ言語固定モードにおける画像記録装置
の処理の流れを示すフローチャートである。FIG. 5 is a flowchart showing a processing flow of the image recording apparatus in a printer language fixed mode.
【図6】プリンタ言語固定モードにおける画像記録装置
の機能ブロック図である。FIG. 6 is a functional block diagram of the image recording apparatus in a printer language fixed mode.
【図7】自動判別モードにおける画像記録装置の処理の
流れを示すフローチャートである。FIG. 7 is a flowchart showing a processing flow of the image recording apparatus in the automatic determination mode.
【図8】自動判別モードで正常動作した場合における画
像記録装置の機能ブロック図である。FIG. 8 is a functional block diagram of the image recording device in the case where the image recording apparatus normally operates in the automatic determination mode.
【図9】自動判別モードでアボート要求が出された場合
における画像記録装置の機能ブロック図である。FIG. 9 is a functional block diagram of the image recording apparatus when an abort request is issued in the automatic determination mode.
【図10】自動判別パーサの構成を示したブロック図で
ある。FIG. 10 is a block diagram showing a configuration of an automatic discrimination parser.
【図11】自動判別パーサの処理の流れを示したフロー
チャート図である。FIG. 11 is a flowchart showing a processing flow of an automatic discrimination parser.
【図12】図12(a)は、1回目に取得されたデータ
の構成例、図12(b)は2回目に取得されたデータの
構成例を示した図である。FIG. 12A is a diagram showing a configuration example of data acquired first, and FIG. 12B is a diagram showing a configuration example of data acquired second.
【図13】第1実施例に係る判別処理の開始データを変
更する処理を示すフローチャートである。FIG. 13 is a flowchart showing a process of changing the start data of the discrimination process according to the first embodiment.
【図14】図14(a)は、1回目に取得されたデータ
がコマンド列の途中で終了している場合のデータ構成
例、図14(b)は2回目に取得されたデータの構成例
と開始データを示した図である。FIG. 14A is a data configuration example in the case where the data acquired at the first time ends in the middle of the command sequence, and FIG. 14B is a configuration example of the data acquired at the second time. It is the figure which showed and start data.
【図15】図15(a)は、1回目に取得されたデータ
がコマンド列の最後で終了している場合のデータ構成
例、図15(b)は2回目に取得されたデータの構成例
と開始データを示した図である。FIG. 15A is a data configuration example in the case where the first acquired data ends at the end of the command sequence, and FIG. 15B is a configuration example of the second acquired data. It is the figure which showed and start data.
70 デコンポーザ 78 自動判別パーサ 82 判別器コントローラ 70 Decomposer 78 Automatic Discrimination Parser 82 Discriminator Controller
───────────────────────────────────────────────────── フロントページの続き (72)発明者 新原 克久 埼玉県岩槻市府内3丁目7番1号 富士ゼ ロックス株式会社岩槻事業所内 (72)発明者 塩見 雄仁 埼玉県岩槻市府内3丁目7番1号 富士ゼ ロックス株式会社岩槻事業所内 ─────────────────────────────────────────────────── ─── Continuation of front page (72) Inventor Katsuhisa Niihara, 3-7-1, Fuchu, Iwatsuki-shi, Saitama Prefecture, Iwatsuki Plant, Fuji Zerox Co., Ltd. (72) Yujihito Shiomi, 3-7-1, Fuchu, Iwatsuki, Saitama Prefecture No. Fuji Xerox Co., Ltd. Iwatsuki Office
Claims (3)
得するデータ取得手段と、 このデータ取得手段により得られた判別データに対して
判別処理を実行することにより、前記入力データを記述
する制御言語の種類を決定する判別手段と、 この判別手段の判別処理により制御言語の種類が決定で
きなかったとき、前記判別データの最後の一部を包含す
る範囲の次の判別データを取得するように前記データ取
得手段を制御すると共に、前記次の判別データに対して
判別処理を実行するように前記判別手段を制御する制御
手段と、 を含むデータ処理装置。1. A data acquisition means for acquiring discrimination data in a predetermined range of input data, and a control language for describing the input data by executing discrimination processing on the discrimination data obtained by the data acquisition means. When the type of the control language cannot be determined by the discrimination processing of the discrimination means, the discrimination means for deciding the type of A data processing device, comprising: a control unit that controls the data acquisition unit and controls the determination unit to perform a determination process on the next determination data.
ータがコマンド列の途中で終了しているか否かを判定す
るコマンド判定手段をさらに含み、 前記制御手段は、前記コマンド判定手段によりコマンド
列の途中で判別データが終了していると判定された場合
には、前記コマンド列の先頭から次の判別データを取得
するように前記データ取得手段を制御し、コマンド列の
最後で判別データが終了していると判定された場合に
は、前記判別データの次から次の判別データを取得する
ように前記データ取得手段を制御する請求項1に記載の
データ処理装置。2. The method further includes a command determination unit that determines whether or not the data acquired by the data acquisition unit has ended in the middle of the command sequence, and the control unit is in the middle of the command sequence by the command determination unit. If it is determined that the discrimination data has ended, the data acquisition means is controlled so as to acquire the next discrimination data from the beginning of the command sequence, and the discrimination data ends at the end of the command sequence. The data processing device according to claim 1, wherein when it is determined that the determination data is present, the data acquisition unit is controlled so as to acquire the next determination data after the determination data.
理により制御言語の種類が決定できなかったとき、この
判別処理において該当しないと判断された制御言語以外
の制御言語の種類に基づいて、前記データ取得手段に次
に取得させるデータ量を決定する請求項1に記載のデー
タ処理装置。3. The control means, when the type of control language cannot be determined by the determination processing of the determination means, based on the type of control language other than the control language determined not to correspond in this determination processing, The data processing device according to claim 1, wherein the data amount to be acquired next by the data acquisition unit is determined.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7098955A JP2785743B2 (en) | 1995-04-24 | 1995-04-24 | Data processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7098955A JP2785743B2 (en) | 1995-04-24 | 1995-04-24 | Data processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08290637A true JPH08290637A (en) | 1996-11-05 |
JP2785743B2 JP2785743B2 (en) | 1998-08-13 |
Family
ID=14233519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7098955A Expired - Fee Related JP2785743B2 (en) | 1995-04-24 | 1995-04-24 | Data processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2785743B2 (en) |
-
1995
- 1995-04-24 JP JP7098955A patent/JP2785743B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2785743B2 (en) | 1998-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6437869B1 (en) | Printer apparatus, printer system and control method therefor | |
EP0834800B1 (en) | Method and apparatus for controlling output of a printer | |
US7236262B2 (en) | Recording medium, printer control method, and printer control system | |
US20040080779A1 (en) | Print control method and apparatus | |
US6120197A (en) | Printer color processing mode automatic control apparatus, method, receiving apparatus, system, and its storing medium | |
US5854940A (en) | Output control system for interpreting input data according to a specific control language based upon outputs from a plurality of control language determining devices | |
US20080246994A1 (en) | Image forming device, program, and recording medium | |
JPH10333846A (en) | Output control method and device therefor | |
JP4401662B2 (en) | Print control apparatus and print control method | |
US7764394B2 (en) | Data processing apparatus, data processing method, and data processing program | |
JPH08290637A (en) | Data processor | |
JP2785742B2 (en) | Printer device | |
JP2861859B2 (en) | Output control device | |
JP2853606B2 (en) | Printer device | |
JP2000187579A (en) | Printing system, printer, printing control method and recording medium | |
JP3432105B2 (en) | Information processing apparatus and control method therefor | |
JPH11259264A (en) | Printer driver for image forming device, image forming device, and control method for image forming device | |
JPH10283129A (en) | Printing controller, installation method for printing control program and storage medium | |
JP3610194B2 (en) | Print control apparatus, print control method, and storage medium storing computer-readable program | |
JP2003256173A (en) | Printer, print processing method, storage medium readable by computer, and program | |
KR100334102B1 (en) | Method for management of history in the printer | |
US6629155B1 (en) | Data input/output method and apparatus and storage medium | |
JPH08234934A (en) | Printer device | |
JP3962437B2 (en) | Information processing apparatus and control method thereof | |
JP3037537B2 (en) | Printing system and printing device used in the printing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |