JP2907668B2 - Data processing device - Google Patents

Data processing device

Info

Publication number
JP2907668B2
JP2907668B2 JP1837193A JP1837193A JP2907668B2 JP 2907668 B2 JP2907668 B2 JP 2907668B2 JP 1837193 A JP1837193 A JP 1837193A JP 1837193 A JP1837193 A JP 1837193A JP 2907668 B2 JP2907668 B2 JP 2907668B2
Authority
JP
Japan
Prior art keywords
data
code
block
predetermined
buffer
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
Application number
JP1837193A
Other languages
Japanese (ja)
Other versions
JPH06217148A (en
Inventor
志堅 戴
誠 松本
伸彦 野間
修 野口
栄 宮本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic System Solutions Japan Co Ltd
Original Assignee
Panasonic System Networks Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic System Networks Co Ltd filed Critical Panasonic System Networks Co Ltd
Priority to JP1837193A priority Critical patent/JP2907668B2/en
Publication of JPH06217148A publication Critical patent/JPH06217148A/en
Application granted granted Critical
Publication of JP2907668B2 publication Critical patent/JP2907668B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、パーソナル・コンピ
ュータ(パソコン)等のデータ端末装置からのデータを
一般通信回線を介してファクシミリ装置や他のパソコン
等に送出するデータ処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing apparatus for transmitting data from a data terminal device such as a personal computer (personal computer) to a facsimile apparatus or another personal computer via a general communication line.

【0002】[0002]

【従来の技術】いわゆるパソコン通信用のモデムは、パ
ソコンのRS−232Cインターフェースと電話回線を
接続してデータ通信を行うための装置である。最近で
は、この種のモデムにファクシミリ装置との間でデータ
を送受信する機能を加えた、ファクシミリアダプタある
いはFAXモデムと称される装置が開発されている。
2. Description of the Related Art A so-called personal computer communication modem is a device for performing data communication by connecting a telephone line to an RS-232C interface of a personal computer. Recently, a device called a facsimile adapter or FAX modem has been developed in which a function of transmitting and receiving data to and from a facsimile device is added to this type of modem.

【0003】従来のファクシミリアダプタの概略構成を
図26に示している。図26において、DTE(DAT
A TERMINAL EQUIPMENT)1はパソ
コン等のデータ端末装置を指し、DCE(DATA C
IRCUIT−TERMINATING EQUIPM
ENT)2はファクシミリアダプタを指す。DCE2は
DTE1のRS−232Cインターフェースなどの構内
回線3と電話回線などの一般通信回線4とを接続する。
以下の説明では一般通信回線4を介してCCITTの
T.30に従ったファクシミリ通信が行われるものとす
る。
FIG. 26 shows a schematic configuration of a conventional facsimile adapter. In FIG. 26, DTE (DAT
A TERMINAL EQUIPMENT 1 indicates a data terminal device such as a personal computer, and a DCE (DATA C
IRCUIT-TERMINATING EQUIPM
ENT) 2 indicates a facsimile adapter. The DCE 2 connects a private line 3 such as an RS-232C interface of the DTE 1 to a general communication line 4 such as a telephone line.
In the following description, the CCITT T.D. It is assumed that facsimile communication according to No. 30 is performed.

【0004】DTE1からデータを送信する場合、DT
E1から構内回線3に出力されたデータはDCE2のバ
ッファ5に一時蓄積され、必要に応じてデータ処理部6
によって加工されてバッファ7に転送され、送受信モデ
ム8によって一般通信回線4を介して相手装置(パソコ
ンあるいはファクシミリ装置など)に伝送される。また
DTE1がデータを受信する場合、DCE2の送受信モ
デム8で受信した一般通信回線4上のデータがバッファ
7に一時記憶され、必要に応じてデータ処理部6で加工
されてバッファ5に転送され、DTE1はバッファ5の
データを構内回線3を介して受信する。
When data is transmitted from DTE1, DT
The data output from the E1 to the private line 3 is temporarily stored in the buffer 5 of the DCE 2, and the data processing unit 6
The data is then transferred to a buffer 7 and transmitted to a partner device (such as a personal computer or a facsimile device) via a general communication line 4 by a transmission / reception modem 8. When the DTE 1 receives data, the data on the general communication line 4 received by the transmission / reception modem 8 of the DCE 2 is temporarily stored in the buffer 7, processed by the data processing unit 6 as necessary, and transferred to the buffer 5, The DTE 1 receives the data in the buffer 5 via the private line 3.

【0005】このDCE2の動作は、DTE1とファク
シミリ装置との間で圧縮符号化された画像情報を伝送す
るファクシミリ通信モードと、DTE1と他のパソコン
等との間でコード情報を伝送するデータ通信モードに大
別される。
The operation of the DCE 2 includes a facsimile communication mode for transmitting image information compressed and encoded between the DTE 1 and the facsimile apparatus, and a data communication mode for transmitting code information between the DTE 1 and another personal computer or the like. Are roughly divided into

【0006】ファクシミリ通信モードでは、DTE1か
らの圧縮符号化された画像データをそのままで一般通信
回線4に送出する場合と、DTE1からの画像データを
DCE2で加工してから一般通信回線4に送出する場合
とがある。例えば、相手側ファクシミリ装置がMR符号
化データを受信する能力があり、DTE1からの画像デ
ータがMH符号化データである場合、通信時間を短縮す
るために、DCE2のデータ処理部6においてMH符号
化データをMR符号化データに変換してから一般通信回
線4に送出する。また、例えば相手側ファクシミリ装置
がB5サイズの記録紙しか備えておらず、DTE1から
の画像データがA4サイズのものである場合、DCE2
のデータ処理部6において画像データのサイズ変換を行
ってから一般通信回線4に送出する。さらに、DTE1
からの画像データの各ラインのデータについて、1ライ
ンのデータ数が予め定められた最小データ数に満たない
場合、DCE2のデータ処理部6においてその短いライ
ンデータに0フィルを付加して最小データ数に合せてか
ら一般通信回線4に送出する。
In the facsimile communication mode, the image data compressed and coded from the DTE 1 is sent to the general communication line 4 as it is, and the image data from the DTE 1 is processed by the DCE 2 before being sent to the general communication line 4. There are cases. For example, if the other facsimile machine has the ability to receive MR encoded data and the image data from the DTE 1 is MH encoded data, the MH encoding is performed in the data processing unit 6 of the DCE 2 to reduce the communication time. The data is converted into MR encoded data and sent to the general communication line 4. For example, if the other party's facsimile machine has only B5 size recording paper and the image data from DTE1 is of A4 size, DCE2
After the size of the image data is converted in the data processing unit 6, the image data is transmitted to the general communication line 4. In addition, DTE1
If the number of data in one line is less than the predetermined minimum number of data of each line of image data from, the data processing unit 6 of the DCE 2 adds 0 fill to the short line data and sets the minimum data number. And sends it out to the general communication line 4.

【0007】DTE1からの画像データをDCE2にお
いて前記のように加工してから一般通信回線4に送出す
る場合には、DCE2において次のような手順の前処理
を行うことになる。
When the image data from the DTE 1 is processed in the DCE 2 as described above and then transmitted to the general communication line 4, the DCE 2 performs the following preprocessing in the following procedure.

【0008】DTE1から構内回線3を介してシリアル
伝送されてくるデータは例えばバイト単位でバッファ5
に蓄積される。圧縮符号化された画像データは、1ライ
ン毎にEOL(ライン終端符号)と呼ぶ特定符号が付加
されたラインデータの集合からなる(各ラインデータを
構成するバイト数は一定ではない)。前述したMH符号
化データをMR符号化データに変換する処理や、サイズ
変換処理および0フィルの挿入処理は前記のライン単位
で行わなければならない。そこでデータ処理部6は、バ
ッファ5に蓄積されたデータ中から前記EOLを検索
し、処理対象となるラインデータがバッファ5内に揃っ
ているか否かをチェックし(これをEOL検索処理と称
す)、ラインデータが揃っていたならばそのデータを後
段のデータ処理手段に引き渡す(これをデータ切り出し
手段と称す)。
The data serially transmitted from the DTE 1 via the private line 3 is stored in a buffer 5 in byte units, for example.
Is accumulated in The compression-encoded image data includes a set of line data to which a specific code called EOL (line end code) is added for each line (the number of bytes constituting each line data is not constant). The process of converting the MH encoded data to the MR encoded data, the size conversion process, and the zero fill insertion process must be performed on a line-by-line basis. Therefore, the data processing unit 6 searches the data stored in the buffer 5 for the EOL, and checks whether or not the line data to be processed is arranged in the buffer 5 (this is referred to as an EOL search process). If the line data is complete, the data is transferred to the subsequent data processing means (this is referred to as data cutout means).

【0009】DCE2のデータ処理部6は通常マイクロ
プロセッサを用いて構成されており、前記のEOL検索
処理、データ切り出し処理、符号変換処理、サイズ変換
処理、0フィル挿入処理などをソフトウェアにより具現
化している。
The data processing unit 6 of the DCE 2 is usually constituted by using a microprocessor, and the above-mentioned EOL search processing, data cutout processing, code conversion processing, size conversion processing, zero fill insertion processing, etc. are realized by software. I have.

【0010】一方、データ通信モードでは、一般に動的
適応型データ圧縮および伸張方法を採用し、文字コード
の集合からなる情報を圧縮して送信し、受信時に伸張し
ている。これにより通信データ量を少なくし、効率的な
通信を行うようにしている。
On the other hand, in the data communication mode, a dynamic adaptive data compression and decompression method is generally adopted, and information composed of a set of character codes is compressed and transmitted, and decompressed upon reception. As a result, the amount of communication data is reduced, and efficient communication is performed.

【0011】[0011]

【発明が解決しようとする課題】前記DCE2にとって
重要な役割の1つは、構内回線3と一般通信回線4との
通信速度の差をうまく吸収して、効率よく通信を行うこ
とである。構内回線3を介してDTE1からDCE2に
伝送されるデータの速度は一定でないことが普通で、D
TE1の構成や動作状況に応じて変動する。DTE1か
らの画像データをDCE2で処理しながら相手側ファク
シミリ装置に向けて一般通信回線4に送出している場合
に、一般通信回線4への送信速度に対してDTE1から
の入力データが間に合わなくなることがある。このよう
な状況をアンダーフローと称している。モデム8はアン
ダーフローによる通信の中断を避けるために0フィルを
送出する。アンダーフローが起きると効率の良い通信が
行えない。 《第1の解決課題について》DTE1からの画像データ
をDCE2のデータ処理部6で加工して相手側ファクシ
ミリ装置に送信する場合、前記バッファ5に蓄積された
データの前処理であるEOL検索処理およびデータ切り
出し処理と、揃ったラインデータを加工する処理(前記
の符号変換処理やサイズ変換処理)とを、マイクロプロ
セッサからなるデータ処理部6より時系列的にどのよう
に実行するかが、効率の良い通信を実現する上で非常に
重要である。
One of the important roles of the DCE 2 is to effectively absorb the difference in communication speed between the private line 3 and the general communication line 4 and to perform efficient communication. Normally, the speed of data transmitted from the DTE 1 to the DCE 2 via the private line 3 is not constant.
It fluctuates according to the configuration and operation status of the TE1. When image data from DTE 1 is sent to general communication line 4 toward the other party's facsimile machine while being processed by DCE 2, input data from DTE 1 cannot keep up with the transmission speed to general communication line 4 There is. Such a situation is called an underflow. The modem 8 sends out a 0 fill in order to avoid interruption of communication due to underflow. If an underflow occurs, efficient communication cannot be performed. << Regarding the First Solution >> In the case where the image data from the DTE 1 is processed by the data processing unit 6 of the DCE 2 and transmitted to the other party's facsimile machine, the EOL search processing and the pre-processing of the data stored in the buffer 5 are performed. How the data cutout process and the process of processing the aligned line data (the above-described code conversion process and size conversion process) are executed in chronological order by the data processing unit 6 composed of a microprocessor depends on the efficiency. It is very important in achieving good communication.

【0012】従来のDCE2では、符号化画像データの
1ラインの最大データ数MAXに相当するデータがバッ
ファ5に入力されると、EOL検索処理を実行し、その
データ中からEOLを見つけてラインデータを切り出す
処理を行っていた。この方式では、EOL検索を行うと
きには必ず1ライン最大データ数MAX以上のデータが
存在するので、必ず1個以上のEOLがあり、最低1ラ
インのデータを必ず切り出すことができる。
In the conventional DCE 2, when data corresponding to the maximum data number MAX of one line of coded image data is input to the buffer 5, an EOL search process is executed, an EOL is found from the data, and line data is found. Had been cut out. In this method, when performing the EOL search, since there is always more than the maximum data number MAX of one line, there is always one or more EOLs, and data of at least one line can always be cut out.

【0013】しかし、1ライン最大データ数MAXは1
ライン平均データ数AVEより相当大きく、1回のEO
L検索で多数のEOLを見つける機会が多く発生する。
つまり、1回のEOL検索で多数ライン分のデータが切
り出されて次段のデータ加工処理に引き渡される。デー
タ加工手段に一度に多くのラインデータが渡されると、
その処理が滞りやすくなる。また、渡されたデータの処
理が完了しても、バッファ5に1ライン最大データ数M
AXに蓄積されるまで待たされる機会も多くなる。その
結果、データの入力処理と加工処理と出力処理を円滑に
進めることができず、効率の良い通信を行うことができ
なかった。
However, the maximum data number MAX per line is 1
One EO, which is considerably larger than the line average data number AVE
There are many opportunities to find many EOLs in L search.
That is, a large number of lines of data are cut out by one EOL search and transferred to the next data processing. When a lot of line data is passed to the data processing means at once,
The processing is likely to be delayed. Even if the processing of the passed data is completed, the maximum data number M per line is stored in the buffer 5.
The opportunity to wait until the data is stored in the AX increases. As a result, data input processing, processing processing, and output processing could not be smoothly performed, and efficient communication could not be performed.

【0014】また前記の問題に対して、EOL検索を短
い周期で繰り返し実行し、バッファ5に1ラインのデー
タが揃ったらすぐに切り出して加工処理に引き渡すよう
にする対策がある。しかし、この方式ではEOL検索を
行ってもEOLが見つからない機会が多くなり、短い周
期で繰り返し実行するEOL検索処理自体が負担にな
り、データの入力処理から加工処理および出力処理の全
体を能率良く行うことができない。
In order to solve the above problem, there is a countermeasure that the EOL search is repeatedly executed in a short cycle, and when one line of data is prepared in the buffer 5, the data is immediately cut out and delivered to the processing. However, in this method, the EOL search is often not performed even when the EOL search is performed, and the EOL search processing that is repeatedly executed in a short cycle is burdensome, and the entire processing from data input processing to processing and output processing is efficiently performed. Can't do it.

【0015】この発明は前記の課題を解決するもので、
EOL検索の実行間隔を適切に可変制御することにより
全体の処理を円滑に能率良く行えるようにしたデータ処
理装置を提供することを第1の目的とする。 《第の解決課題について》 従来技術の第の問題点は、ファクシミリ通信モードで
の0フィル送出に関わる出力処理である。
The present invention solves the above-mentioned problems, and
It is a first object of the present invention to provide a data processing apparatus capable of performing the entire processing smoothly and efficiently by appropriately and variably controlling the execution interval of the EOL search. The second problem of the "second solution for problems" prior art, an output processing relating to 0-fill delivery of the facsimile communication mode.

【0016】[0016]

【0017】[0017]

【0018】[0018]

【0019】[0019]

【0020】従来のDCE2(図26)では、モデム8
側のバッファ7には所定サイズのブロック単位でデータ
を蓄積するようになっていた。一般通信回線4に符号化
画像データを送出する際に、データ処理部6は送出すべ
きデータを順次バッファ7に書き込み、モデム8は1ブ
ロック単位でデータを一般通信回線4に送出する。モデ
ム8がバッファ7内の完成したデータブロックの送信を
すべて終了した場合、データ処理部6によって次に送信
すべきデータブロックがバッファ7に書き込まれるのを
待つ。その間、通信の中断を避けるためにモデム8は一
般通信回線4に0フィルを送出し続ける。一般通信回線
4の通信速度に比して構内回線3の通信速度が遅い場合
にはこのようなアンダーフローが発生しやすくなり、無
駄な0フィル送出により通信時間が不必要に長くなる。
In the conventional DCE 2 (FIG. 26), the modem 8
The buffer 7 on the side stores data in units of blocks of a predetermined size. When transmitting the encoded image data to the general communication line 4, the data processing unit 6 sequentially writes the data to be transmitted to the buffer 7, and the modem 8 transmits the data to the general communication line 4 in units of one block. When the modem 8 finishes transmitting all the completed data blocks in the buffer 7, it waits for the data processing unit 6 to write the next data block to be transmitted to the buffer 7. In the meantime, the modem 8 keeps sending 0 fill to the general communication line 4 in order to avoid interruption of communication. When the communication speed of the private line 3 is lower than the communication speed of the general communication line 4, such underflow is likely to occur, and the communication time becomes unnecessarily long due to unnecessary 0-fill transmission.

【0021】また、画像データはライン単位で構成され
ているので、ブロック単位で管理されているバッファ7
の1ブロックの切れ目とラインデータの切れ目が必ずし
も一致せず、そのため前記の0フィル挿入処理が1ライ
ンの途中で行われることもある。この場合は、ライン途
中に挿入された0フィルによって画像情報が壊れやすく
なり、符号エラーが発生する。
Further, since the image data is configured in units of lines, the buffer 7 managed in units of blocks is used.
The break of one block does not always match the break of line data, so that the 0-fill insertion processing may be performed in the middle of one line. In this case, the image information is easily broken by the 0 fill inserted in the middle of the line, and a code error occurs.

【0022】この発明は前記の課題を解決するもので、
出力バッファを適切に管理することで0フィルの送出機
会を少なくし、0フィル送出による符号エラーの発生を
防ぎ、能率の良い通信を行えるようにしたデータ処理装
置を提供することを第の目的とする。 《第の解決課題について》 従来技術の第の問題点は、データ通信モードでの動的
適応型データ圧縮および伸張の従来方式では処理時間が
長くなるということである。
The present invention solves the above-mentioned problems, and
It is a second object of the present invention to provide a data processing apparatus capable of reducing the chance of transmitting a 0 fill by appropriately managing an output buffer, preventing the occurrence of a code error due to the transmission of a 0 fill, and enabling efficient communication. And A third problem of the "third solving the issues" prior art, the conventional method of dynamically adaptive data compression, and decompression of data communication mode is that the processing time becomes long.

【0023】動的適応型データ圧縮および伸張方法と
は、文字や数字などの入力データと圧縮符号データとの
結び付きを入力データの累積出現回数に応じて順次変更
し、累積出現回数の多いデータほど短い圧縮符号を割り
当てる方法である。この方法の従来の処理手順を図28
と図29に従って詳述する。
The dynamic adaptive data compression and decompression method means that the connection between input data such as characters and numerals and compression code data is sequentially changed according to the cumulative number of appearances of the input data. This is a method of assigning a short compression code. FIG. 28 shows a conventional processing procedure of this method.
29 and FIG.

【0024】図28は圧縮変換テーブルを示し、図29
は伸張変換テーブルを示す。図28に示すように、圧縮
変換テーブルは、入力データ3Am(m=0〜n〜
N)、入力データ3Amの累積出現回数3Bm(m=0
〜n〜N)、入力データ3Amの圧縮符号3Cm(m=
0〜n〜N)から構成されている。入力データ3Amは
累積出現回数3Bmによって圧縮符号3Cmに関連づけ
られる。圧縮符号3Cmのテーブル位置だけは固定で、
短い符号順に上から並べられている。入力データ3Am
と累積出現回数3Bmは一対になってテーブル順位が並
べ変えられるもので、累積出現回数3Bmが大きい順に
上から並べられている。つまり、累積出現回数3Bmが
大きい入力データ3Amほど短い圧縮符号3Cmに対応
づけられる。
FIG. 28 shows a compression conversion table.
Indicates a decompression conversion table. As shown in FIG. 28, the compression conversion table has input data 3Am (m = 0 to n-
N), the cumulative number of appearances 3Bm of the input data 3Am (m = 0
To n to N), the compression code 3Cm of the input data 3Am (m =
0 to n to N). The input data 3Am is associated with the compression code 3Cm by the cumulative appearance number 3Bm. Only the table position of the compression code 3Cm is fixed,
It is arranged from the top in the short code order. Input data 3 Am
And the cumulative appearance frequency 3Bm are paired and the table order is rearranged, and are arranged from the top in descending order of the cumulative appearance frequency 3Bm. That is, the input data 3Am having the larger cumulative appearance frequency 3Bm is associated with the shorter compression code 3Cm.

【0025】図29に示すように、伸張変換テーブル
は、圧縮符号3Dm(m=0〜n〜N)、伸張データ3
Fm(m=0〜n〜N)、伸張データ3Fmの累積出現
回数3Em(m=0〜n〜N)から構成されている。圧
縮符号3Dmのテーブル位置だけは固定で、短い符号順
に上から並べられている。伸張データ3Fmと累積出現
回数3Emは一対になってテーブル順位が並べ変えられ
るもので、累積出現回数3Emが大きい順に上から並べ
られている。累積出現回数3Emが大きい伸張データ3
Fmほど短い圧縮符号3Dmに対応づけられている。
As shown in FIG. 29, the decompression conversion table includes a compression code 3Dm (m = 0 to n to N),
Fm (m = 0 to n to N), and 3Em (m = 0 to n to N), the cumulative number of appearances of the decompressed data 3Fm. Only the table position of the compression code 3Dm is fixed, and is arranged from the top in the short code order. The expansion data 3Fm and the cumulative appearance number 3Em are paired and the table order is rearranged, and are arranged from the top in descending order of the cumulative appearance number 3Em. Decompressed data 3 with a large cumulative appearance count 3Em
It is associated with a compression code 3Dm shorter as Fm.

【0026】入力データXを圧縮符号化する場合、まず
圧縮変換テーブルから入力データ3Axを検索し、それ
に対応する圧縮符号3Cxを出力するとともに、3Ax
に対応する累積出現回数3Bxをインクリメントする。
さらに、3Bxを書き換えたことにより、入力データ3
Amと累積出現回数3Bmの対の並べ変えを行う(累積
出現回数3Bm順)。
When the input data X is to be compression-encoded, the input data 3Ax is first searched from the compression conversion table, and the corresponding compression code 3Cx is output.
Is incremented by 3Bx.
Furthermore, by rewriting 3Bx, input data 3
The pair of Am and the cumulative appearance frequency 3Bm is rearranged (accumulated appearance frequency 3Bm order).

【0027】受信データを伸張するには、受信した圧縮
符号3Dxに対応する伸張データ3Fxを伸張変換テー
ブルから検索して出力するとともに、対応する累積出現
回数3Exをインクリメントする。さらに3Exを書き
換えたことにより、伸張データ3Fmと累積出現回数3
Emの対の並べ変えを行う。
To decompress the received data, the decompression data 3Fx corresponding to the received compression code 3Dx is retrieved from the decompression conversion table and output, and the corresponding cumulative appearance count 3Ex is incremented. By further rewriting 3Ex, the decompressed data 3Fm and the cumulative
The Em pairs are rearranged.

【0028】以上のように従来の方式では、入力データ
(受信側の圧縮データ)を圧縮変換テーブル(伸張変換
テーブル)から検索する処理が煩雑で時間がかかるとと
もに、テーブルの並べ変え処理も煩雑で時間がかかると
いう問題があった。
As described above, in the conventional method, the process of searching for the input data (compressed data on the receiving side) from the compression conversion table (decompression conversion table) is complicated and time-consuming, and the process of rearranging the tables is also complicated. There was a problem that it took time.

【0029】この発明は前記の課題を解決するもので、
動的適応型データ圧縮および伸張を高速に行えるように
したデータ処理装置を提供することを第の目的とす
る。
The present invention solves the above-mentioned problems, and
A third object is to provide a data processing device capable of performing dynamic adaptive data compression and decompression at high speed.

【0030】[0030]

【課題を解決するための手段】第1の目的を達成する第
1発明のデータ処理装置は、順次伝送されてくるデータ
列を一時記憶するバッファと、このバッファに蓄積され
たデータ中にラインの区切りを示す特定符号が含まれて
いるか否かを検索する検索手段と、この検索手段により
前記特定符号が検出されたときに前記バッファ中のデー
タをその特定符号で区切られたライン単位で読み出して
次段のデータ処理手段に引き渡すデータ切り出し手段
と、このデータ切り出し手段によって処理されていない
前記バッファ中のデータが所定数以上ある場合に前記検
索手段を起動し、その検索により前記特定符号が検出さ
れなかった場合には、前記所定数に適宜な増量分を順次
加えたデータ数を検索開始条件として、前記特定符号が
検出されるまで前記検索手段を繰り返し起動する検索処
理の実行制御手段とを備えたものである。
According to a first aspect of the present invention, there is provided a data processing apparatus for temporarily storing a data string sequentially transmitted, and storing a line in the data stored in the buffer. Searching means for searching whether or not a specific code indicating a delimiter is included; and when the specific code is detected by the searching means, data in the buffer is read out in line units delimited by the specific code. A data extraction unit to be passed to the next data processing unit; and a search unit when the data in the buffer not processed by the data extraction unit is equal to or more than a predetermined number, and the specific code is detected by the search. Otherwise, the number of data obtained by sequentially adding an appropriate increment to the predetermined number is used as a search start condition, and the number of data is set until the specific code is detected. Those having an execution control means for retrieval processing started repeatedly search means.

【0031】[0031]

【0032】第の目的を達成する第発明の装置は、
符号デ−タをブロック単位毎に蓄積するバッファメモリ
と、このバッファメモリ内の完成したデータブロックか
らデータを通信回線へ送出しかつ前記バッファメモリ内
の完成したデータブロックの送信をすべて終了した場合
前記バッファメモリ内にデータブロックが完成するまで
0フィルを送出する送信手段と、前記バッファメモリに
符号デ−タを書込み、直前のデータブロックが前記送信
手段によりデ−タ送出中である場合、書込みデ−タ量が
所定ブロックサイズに満たなくとも前記書込み中データ
ブロックを完成したとみなして送信可能ブロックとする
デ−タ処理手段とを備えたものである。また、書込みデ
−タ量が所定ブロックサイズを越えた場合でも書込み中
のデータブロックの次データブロックが前記送出手段に
よりデ−タ送出中であれば、同一ブロックのデータとし
て書き込みを続けるデータ処理手段を備えたものであ
る。また、現在書き込み中のデータブロックを完成させ
るに際して、所定ブロックサイズを越えても最後の1ラ
イン分のデータを書き込んだ時点でデータブロックを完
成させるデータ処理手段を備えた。また、書き込み中の
データブロックが次データブロックが送出中ブロックで
ある場合、前記送出中データブロックからデータが送出
され終わるまで前記書き込み中のデータブロックを完成
させないデータ処理手段を備えたものである。
The apparatus of the second invention for achieving the second object,
A buffer memory for accumulating code data for each block unit, and transmitting data from a completed data block in the buffer memory to a communication line and completing transmission of all the completed data blocks in the buffer memory. Transmitting means for transmitting a 0 fill until the data block is completed in the buffer memory; and code data in the buffer memory. If the immediately preceding data block is being transmitted by the transmitting means, the write data is written. Data processing means for determining that the data block being written is completed even if the data amount is less than the predetermined block size and making it a transmittable block. Even if the amount of write data exceeds a predetermined block size, if the data block next to the data block being written is sending data by the sending means, the data processing means continues writing as data of the same block. It is provided with. Further, when completing the data block currently being written, the data processing means is provided for completing the data block when the last one line of data is written even if the data size exceeds a predetermined block size. When the data block being written is the next data block being sent, the data block is provided so that the data block being written is not completed until data is sent from the data block being sent.

【0033】第の目的を達成する第発明の装置は、
入力符号データに対応する所定コードを記憶する第1の
記憶手段と、前記所定コードがアドレスとして入力され
て対応する伸張データを出力する第2の記憶手段と、前
記入力符号データの出現頻度に応じて前記第1の記憶手
段における前記入力符号データと前記所定コードとの対
応関係を随時変更するデータ処理手段とを備えたもので
ある。
The apparatus of the third invention for achieving the third object,
First storage means for storing a predetermined code corresponding to the input code data; second storage means for receiving the predetermined code as an address and outputting the corresponding decompressed data; And a data processing means for changing the correspondence between the input code data and the predetermined code in the first storage means at any time.

【0034】[0034]

【作用】第1発明の構成によれば、ある適宜な間隔でE
OLの検索処理が行われ、その検索でEOLが見つから
なければ、バッファ中の入力データがある程度増えてか
ら検索処理を行うので、必要以上に検索回数を増やすこ
となく、かつバッファ中に多数ライン分のデータ蓄積
させないうちに検索が行われる。したがって次段のデー
タ処理手段に多過ぎないライン数のデータが適切な間隔
で引き渡される。
According to the structure of the first aspect of the present invention, E is set at an appropriate interval.
If an OL search process is performed and an EOL is not found in the search, the search process is performed after the input data in the buffer has increased to some extent. The search is performed before the data is accumulated. Therefore, data of not too many lines is transferred to the next data processing means at appropriate intervals.

【0035】[0035]

【0036】第発明の構成によれば、所定ブロックサ
イズを超えても1ライン分の符号データを書き込んだ時
点でブロックを完成させ、かつ、次のブロックが送出中
ブロックであれば書き込み中ブロックが所定ブロックサ
イズに満たなくてもブロックを完成させる。そのためバ
ッファのデータを送信する動作が遅滞なく行われ、ライ
ンデータの途中で0フィルが送出されることがない。ま
た、0フィル送出中においてバッファに1ライン分のデ
ータがセットされた時点で0フィルの送出を停止するの
で、0フィル送出時間を最小限に押えることができる。
According to the configuration of the second invention, even if the block size exceeds a predetermined block size, the block is completed when one line of code data is written, and if the next block is a sending block, the writing block is completed. Completes the block even if is less than the predetermined block size. Therefore, the operation of transmitting the data of the buffer is performed without delay, and the zero fill is not transmitted in the middle of the line data. Also, since the transmission of the 0 fill is stopped when data of one line is set in the buffer during the transmission of the 0 fill, the transmission time of the 0 fill can be minimized.

【0037】第発明の構成によれば、圧縮変換データ
ルおよび伸張変換テーブルの変換情報を累積出現回数の
増加に伴って更新する処理がインデックスを書き換える
ことで処理され、またテーブルの検索処理も簡単にな
る。
According to the configuration of the third aspect, the process of updating the conversion information of the compression conversion table and the expansion conversion table with the increase in the number of cumulative appearances is performed by rewriting the index, and the table search process is also simple. become.

【0038】[0038]

【実施例】《ファクシミリ通信モード時の装置構成につ
いて》図1はこの発明の一実施例であるファクシミリア
ダプタ(データ処理装置)のファクシミリ通信モード時
の機能ブロック図である。図1において、DTE1はパ
ソコン等のデータ端末装置であり、DCE2はこの発明
によるファクシミリアダプタに相当する。DCE2はD
TE1のRS−232Cインターフェースなどの構内回
線3と電話回線などの一般通信回線4とを接続する。以
下の説明では一般通信回線4を介してCCITTのT.
30に従ったファクシミリ通信が行われるものとする。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS << Device Configuration in Facsimile Communication Mode >> FIG. 1 is a functional block diagram in a facsimile communication mode of a facsimile adapter (data processing device) according to an embodiment of the present invention. In FIG. 1, DTE1 is a data terminal device such as a personal computer, and DCE2 is equivalent to a facsimile adapter according to the present invention. DCE2 is D
A private line 3 such as an RS-232C interface of the TE 1 is connected to a general communication line 4 such as a telephone line. In the following description, the CCITT T.D.
It is assumed that facsimile communication according to No. 30 is performed.

【0039】DCE2において、入力バッファ5はDT
E1から伝送されてきたデータを一時的に蓄積する。デ
ータ切り出し部6は、バッファ5のデータからEOLを
検索し、EOLがあれば、EOLで区切られたラインデ
ータを復号部7に引き渡す。復号部7は、符号化画像デ
ータを1ラインづつ処理し、いったん復号化してサイズ
変換等の処理に供する。ラインデータバッファ8は、復
号化や符号化およびサイズ変換の処理を実行するための
バッファである。サイズ変換部9は、ラインデータバッ
ファ8を使って画像データのサイズ変換を実行する。符
号部10は、ラインデータバッファ8を使って一度復号
されたデータを再び符号化する。データバッファ11は
符号部10で処理されたデータを一時記憶するバッファ
である。出力バッファ制御部12は、データバッファ1
1のデータを出力バッファ13に書き込む制御を行う。
In the DCE 2, the input buffer 5 has a DT
The data transmitted from E1 is temporarily stored. The data cutout unit 6 searches the data in the buffer 5 for an EOL, and if there is an EOL, passes the line data delimited by the EOL to the decoding unit 7. The decoding unit 7 processes the encoded image data line by line, decodes the image data once, and provides the image data for processing such as size conversion. The line data buffer 8 is a buffer for executing decoding, encoding, and size conversion processing. The size converter 9 uses the line data buffer 8 to perform size conversion of image data. The encoding unit 10 encodes the data once decoded using the line data buffer 8 again. The data buffer 11 is a buffer for temporarily storing data processed by the encoding unit 10. The output buffer control unit 12 controls the data buffer 1
Control of writing the data of 1 into the output buffer 13 is performed.

【0040】出力バッファ13は、送信するデータをリ
ング形式で蓄積するバッファメモリであり、ブロック単
位でデータを蓄積するが、出力バッファ制御部12によ
りブロックサイズが可変制御される。モデム14は、出
力バッファ13のデータを変調して一般通信回線4に送
出するとともに、回線4からのデータを復調して入力バ
ッファ16に格納する。NCU15(網制御部)は、通
信回線4の接続制御を行う。入力バッファ16は、モデ
ム14による受信データが一時蓄積される。符号チェッ
ク部17は入力バッファ16のデータを順次読み出して
チェックし、バッファ18に転送する。受信データはこ
のバッファ18を介してDTE1に伝送される。
The output buffer 13 is a buffer memory for storing data to be transmitted in a ring format. The output buffer 13 stores data in block units. The output buffer control unit 12 variably controls the block size. The modem 14 modulates the data in the output buffer 13 and sends it out to the general communication line 4, and also demodulates the data from the line 4 and stores it in the input buffer 16. The NCU 15 (network control unit) controls connection of the communication line 4. The input buffer 16 temporarily stores data received by the modem 14. The code check unit 17 sequentially reads and checks the data in the input buffer 16 and transfers the data to the buffer 18. The received data is transmitted to DTE1 via this buffer 18.

【0041】以上の構成において、データ切り出し部
6、復号部7、サイズ変換部9、符号部10、出力バッ
ファ制御部12、符号チェック部17は、マイクロプロ
セッサからなるデータ処理部19によりソフトウェア的
に実現されている。 《第1発明の実施例について》図1の構成を前提とし、
図2に基づいて第1発明の実施例を説明する。DTE1
から符号化画像データが順次伝送されてきてバッファ5
に順次格納され、データ切り出し部6が図2のフローチ
ャートに示す手順で、バッファ5のデータをライン単位
で復号部7に引き渡す。
In the above configuration, the data cutout unit 6, the decoding unit 7, the size conversion unit 9, the encoding unit 10, the output buffer control unit 12, and the code check unit 17 are implemented in software by the data processing unit 19 composed of a microprocessor. Has been realized. << Embodiment of First Invention >> Assuming the configuration of FIG.
An embodiment of the first invention will be described with reference to FIG. DTE1
The encoded image data is sequentially transmitted from the
, And the data cutout unit 6 delivers the data in the buffer 5 to the decoding unit 7 line by line according to the procedure shown in the flowchart of FIG.

【0042】図2において、データ切り出し部6はまず
バッファ5に蓄積された未処理(復号部7に引き渡して
いない)のデータ数Dx を求める(ステップA1)。次
にデータ数Dx が(Do +Δd×N)以上であるか否か
を判定する(ステップA2)。ここで、Do は1ライン
データ数の平均値AVEに平均偏差σのm倍した値を加
えた値であり、Δdは平均偏差をn倍した値である
(m、nはそれぞれ1〜3程度の値である)。また、N
は次に述べるカウンタのカウント値であり、初期状態で
はNは0である。
In FIG. 2, the data cutout unit 6 first obtains the number Dx of unprocessed (not delivered to the decoding unit 7) data stored in the buffer 5 (step A1). Next, it is determined whether or not the data number Dx is equal to or more than (Do + Δd × N) (step A2). Here, Do is a value obtained by multiplying the average value AVE of the number of data of one line by m times the average deviation σ.
Δd is a value obtained by multiplying the average deviation by n (m and n are values of about 1 to 3, respectively). Also, N
Is the count value of the counter described below, and N is 0 in the initial state.

【0043】バッファ5のデータ数Dxが(Do+Δd
×N)以上であれば、EOL検索処理(ステップA3)
を実行し、データ数が不足していればステップA9にジ
ャンプする。EOL検索によりEOLが見つかると、ス
テップA4→A5→A6と進み、前記カウンタNを0に
クリアし、またEOLで区切られたバッファ5中のライ
ンデータに印を付けて復号部7に処理対象ラインデータ
として引き渡して、ステップA9に進む。ステップA9
は復号部7の復号処理、サイズ変換部9のサイズ変換処
理、符号部10の符号化処理、出力バッファ制御部12
の制御処理を含んだ他の処理(次段のデータ処理)であ
る。
When the number Dx of data in the buffer 5 is (Do + Δd)
× N) or more, EOL search processing (step A3)
Is executed, and if the number of data is insufficient, the process jumps to step A9. When the EOL is found by the EOL search, the process proceeds to steps A4 → A5 → A6, the counter N is cleared to 0, and the line data in the buffer 5 delimited by the EOL is marked and the decoding unit 7 processes the line. The data is delivered as data, and the process proceeds to step A9. Step A9
Is a decoding process of the decoding unit 7, a size conversion process of the size conversion unit 9, an encoding process of the encoding unit 10, an output buffer control unit 12
Is another process (data processing of the next stage) including the control process of (1).

【0044】N=0であるとすると、バッファ5のデー
タ数DxがDo以上になるとEOL検索処理が実行さ
れ、その検索でEOLが見つからないとステップA4→
A7→A8と進み、カウンタNをインクリメントして1
にし、(Do+Δd×N)が予め規定されている1ライ
ン最大データ数MAXを超えていないことを確認し(も
し超えていればエラー処理とする)、次段のデータ処理
に進む。そうすると、次にEOL検索が実行されるの
は、バッファ5のデータ数Dxが(Do+Δd)を超え
た場合である。この検索でもEOLが検出されないと、
カウンタNが2に増え、次にEOL検索が実行されるの
はバッファ5のデータ数Dxが(Do+Δd×2)を超
えた場合である。このように、EOLが検出されない場
合は検索を実行する基準データ数を初期値Doから徐々
に増加していく。なお基準データ数の増量分はΔdに2
のN乗を掛けた値にするなど、適宜に設定することがで
きる。ステップA2において、バッファ5のデータ数D
xが(Do+Δd×N)に満たない場合はEOL検索を
行わずに直ちに次段のデータ処理にジャンプする。
Assuming that N = 0, when the number of data Dx in the buffer 5 becomes equal to or more than Do, an EOL search process is executed.
A7 → A8, counter N is incremented by 1
Then, it is confirmed that (Do + Δd × N) does not exceed a predetermined maximum data number MAX per line (if it does, error processing is performed), and the process proceeds to the next data processing. Then, the next EOL search is performed when the number Dx of data in the buffer 5 exceeds (Do + Δd). If this search does not find EOL,
The counter N is increased to 2 and the next EOL search is executed when the data number Dx of the buffer 5 exceeds (Do + Δd × 2). As described above, when the EOL is not detected, the reference data number for executing the search is gradually increased from the initial value Do. The increment of the reference data number is 2 for Δd.
Can be set as appropriate, such as a value obtained by multiplying by N. In step A2, the number of data D in the buffer 5
If x is less than (Do + Δd × N), the processing immediately jumps to the next data processing without performing the EOL search.

【0045】以上のようにデータ切り出し部6としての
処理(ステップA1からA9の直前まで)を行うと、基
準データ数がDoの状態でEOLの検索を実行した場
合、Doが1ライン平均データ数AVEとその平均偏差
σから設定されているので、例えば95%の確率でライ
ンデータを切り出すことができる。もしこの回の検索で
EOLが検出されずに、基準データ数を(Do+Δd)
に増やした状態でEOLを実行した場合には、99%の
確率でラインデータを切り出すことができる。もしこの
回の検索でEOLが検出されずに、基準データ数を(D
o+Δd×2)に増やした状態でEOL検索を実行した
場合には、99.9999%の確率でラインデータを切
り出すことができる。しかも、これらの1回の処理で切
り出されるライン数は1ラインがもっとも多いことにな
る。
As described above, when the processing as the data cutout unit 6 (from immediately before steps A1 to A9) is performed, when the EOL search is executed with the reference data number being Do, Do is equal to the average number of data per line. Since AVE and its average deviation σ are set, line data can be cut out with a 95% probability, for example. If EOL is not detected in this search, the reference data number is set to (Do + Δd)
When EOL is executed with the number of lines increased, line data can be cut out with a 99% probability. If EOL is not detected in this search, the reference data number is changed to (D
o + Δd × 2), when the EOL search is executed, the line data can be cut out with a probability of 99.9999%. In addition, the number of lines cut out by one process is one line.

【0046】つまり、必要以上に短い間隔でEOL検索
処理を繰り返す不合理性が解消され、また長い間隔でE
OL検索を行って1回に多数ライン分のデータを切り出
して次段のデータ処理にまとめて引き渡すという不都合
が解消される。なお、この第1発明は一般のファクシミ
リ装置にも適用することができ、前記と同様な作用効果
を奏するものである。 《第2発明の実施例について》図1の構成を前提とし、
図3のフローチャートと図4の状態遷移図に従って第2
発明の実施例について詳述する。図1に示すように、デ
ータ処理部19には3つのラインバッファB0,B1,
B2が設定されていて、この3つのラインバッファB
0,B1,B2を使って入力データの復号化とサイズ変
更と符号化の処理が次のように行われる。
That is, the irrationality of repeating the EOL search process at an interval shorter than necessary is eliminated, and the EOL search process is executed at a longer interval.
This eliminates the inconvenience of performing OL search, cutting out data for many lines at a time, and collectively transferring the data to the next data processing. The first invention can be applied to a general facsimile machine, and has the same operation and effect as described above. << Embodiment of Second Invention >> Assuming the configuration of FIG.
According to the flowchart of FIG. 3 and the state transition diagram of FIG.
An embodiment of the invention will be described in detail. As shown in FIG. 1, the data processing unit 19 has three line buffers B0, B1,
B2 is set, and these three line buffers B
The decoding, resizing, and encoding of the input data are performed as follows using 0, B1, and B2.

【0047】以下の説明では、DTE1からDCE2の
バッファ5に伝送されたnライン目の入力データをDa
(n)とし、そのデータDa(n)を復号化したデータ
をDb(n)とし、そのデータDb(n)をサイズ変換
したデータをDc(n)と表記する。また、3つのライ
ンバッファB0,B1,B2を特定するためのポインタ
用として3つのモジュロ3カウンタi,j,kを使用す
る。周知のように、モジュロ3カウンタはカウントアッ
プするごとに0→1→2→0→1→2→0と計数値が周
期的に変化する。3つのカウンタi,j,kはこのイニ
シャル処理でそれぞれi=0,j=1,k=2に設定さ
れる。そして、i=0のとき、ラインバッファBiとい
う表記はBOを指す。i=1であればBi=B1,i=
2であればBi=B2である。同様に、カウンタjの内
容でバッファBjが特定され、カウンタkの内容でバッ
ファBkが特定される。
In the following description, the input data of the n-th line transmitted from the DTE 1 to the buffer 5 of the DCE 2 is Da
(N), Db (n) is data obtained by decoding the data Da (n), and Dc (n) is data obtained by converting the size of the data Db (n). Also, three modulo-3 counters i, j, and k are used as pointers for specifying the three line buffers B0, B1, and B2. As is well known, the count value of the modulo 3 counter periodically changes from 0 → 1 → 2 → 0 → 1 → 2 → 0 every time it counts up. The three counters i, j, and k are set to i = 0, j = 1, and k = 2 in the initial processing. When i = 0, the notation “line buffer Bi” indicates BO. If i = 1, Bi = B1, i =
If 2, Bi = B2. Similarly, the buffer Bj is specified by the contents of the counter j, and the buffer Bk is specified by the contents of the counter k.

【0048】以上の前提に従って図3のフローチャート
の処理内容を図4を参照しながら説明する。
The processing contents of the flowchart of FIG. 3 will be described with reference to FIG.

【0049】DTE1からDCE2のバッファ5に復号
化・サイズ変換・再符号化の処理対象となる画像データ
が転送されてくると、図3の処理が開始される。まずス
テップ301のイニシャル処理では、ラインバッファB
0とB2のダミーの参照データをセットするとともに、
3つのモジュロ3からカウンタをi=0,j=1,k=
2にプリセットする。
When the image data to be subjected to decoding, size conversion and re-encoding is transferred from the DTE 1 to the buffer 5 of the DCE 2, the processing shown in FIG. 3 is started. First, in the initial processing of step 301, the line buffer B
While setting dummy reference data of 0 and B2,
From the three modulo 3, the counters are set to i = 0, j = 1, k =
Preset to 2.

【0050】次にステップ302では、ラインバッファ
Bi=B0の1ライン前のデータD(n−1)を参照
し(初期状態ではダミーデータである)、nライン目の
入力データDa(n)を復号し、復号データDb(n)
をラインバッファBj=B1にセットする。このnライ
ン目がサイズ変換による間引きの対象でない場合はステ
ップ303→304と進む。
Next, in step 302, the data Db (n-1) one line before the line buffer Bi = B0 is referred to (dummy data in the initial state), and the input data Da (n) on the nth line is referred to. And decrypted data Db (n)
Is set to the line buffer Bj = B1. If the n-th line is not a target of thinning by size conversion, the process proceeds from step 303 to step 304.

【0051】ステップ304では、ラインバッファBj
=B1の復号データDb(n)をサイズ変換してデータ
Dc(n)を作り、そのデータDc(n)をラインバッ
ファBi=B0にセットする。なお、ラインバッファB
0に入っていた参照データD(n−1)は、Da
(n)の復号化が既に終わっているので、不要となって
いる。
In step 304, the line buffer Bj
= B1 to convert the decoded data Db (n) into data Dc (n), and set the data Dc (n) in the line buffer Bi = B0. Note that the line buffer B
The reference data D b (n−1) that has entered 0 is Da
This is unnecessary since the decoding of (n) has already been completed.

【0052】なお、ラインバッファB1に入っている復
号データDb(n)は、そのまま次の入力データDa
(n+1)を復号するための参照データとして用いる。
It is to be noted that the data stored in the line buffer B1 is
The signal data Db (n) is directly input to the next input data Da.
(N + 1) is used as reference data for decoding.

【0053】次のステップ305では、ラインバッファ
Bk=B2に入っているデータDc(n−1)を参照し
(初期状態ではダミーデータである)、ラインバッファ
Bi=B0のデータDc(n)を符号化して出力する。
In the next step 305 , the data Dc (n) in the line buffer Bk = B2 is referred to (dummy data in the initial state), and the data Dc (n) in the line buffer Bi = B0 is converted. Encode and output.

【0054】次のステップ306で各モジュロ3カウン
タi、j、kをカウントアップし(i=1、j=2、k
=0となる)、ステップ302に戻る。
In the next step 306 , each modulo 3 counter i, j, k is counted up (i = 1, j = 2, k
= 0), and returns to step 302.

【0055】するとステップ302では、ラインバッフ
ァBi=B1の復号データDb(n)を参照し、(n+
1)ライン目の入力データDa(n+1)を復号し、復
号データDb(n+1)をラインバッファBj=B2に
セットする。ラインバッファB2に入っていた参照デー
タDc(n−1)は、データDcの符号化出力が既に終
わっているので、不要となっている。
Then, in step 302, the decoded data Db (n) of the line buffer Bi = B1 is referred to, and (n +
1) The input data Da (n + 1) on the line is decoded, and the decoded data Db (n + 1) is set in the line buffer Bj = B2. The reference data Dc (n-1) stored in the line buffer B2 is unnecessary because the encoded output of the data Dc has already been completed.

【0056】次にステップ303→304と進むと、ラ
インバッファBi=B2の復号データDb(n+1)を
サイズ変換してデータDc(n+1)を作り、そのデー
タDc(n+1)をラインバッファBi=B1にセット
する。ラインバッファB1に入っていたデータDa
(n)は既に不要である。
Next, when the process proceeds from step 303 to step 304, the size of the decoded data Db (n + 1) of the line buffer Bi = B2 is converted to produce data Dc (n + 1), and the data Dc (n + 1) is converted to the line buffer Bi = B1. Set to. Data Da contained in line buffer B1
(N) is already unnecessary.

【0057】[0057]

【0058】次のステップ305では、ラインバッファ
Bk=B0のデータDc(n)を参照し、ラインバッフ
ァBi=B1のデータDc(n+1)を符号化した出力
する。
In the next step 305 , the data Dc (n + 1) of the line buffer Bi = B1 is encoded and output with reference to the data Dc (n) of the line buffer Bk = B0.

【0059】次のステップ306では各モジュロ3カウ
ンタをカウントアップし、i=2,j=0,k=1とし
てステップ302に戻る。
In the next step 306 , each modulo 3 counter is counted up, i = 2, j = 0, k = 1, and the flow returns to step 302.

【0060】したがって、Bi=B2の復号データDb
(n+1)を参照して(n+2)ライン目の入力データ
Da(n+2)を復号し、その復号データDb(n+
2)をBj=B0をセットし(ステップ302)、Bj
=B0のDb(n+2)をサイズ変換してDc(n+
2)を作り、Bi=B2にセットし(ステップ30
4)、Bk=B1のDc(n+1)を参照してBi=B
2のDc(n+2)を符号化して出力する(ステップ3
05)
Therefore, the decoded data Db of Bi = B2
The input data Da (n + 2) on the (n + 2) th line is decoded with reference to (n + 1), and the decoded data Db (n +
2) is set to Bj = B0 (step 302), and Bj
= B0 and Dc (n + 2)
2), and set Bi = B2 (step 30).
4) Bi = B with reference to Dc (n + 1) of Bk = B1
2 is encoded and output (Step 3).
05) .

【0061】そしてステップ306で各モジュロ3カウ
ンタをカウントアップすると、i=0,j=1,k=2
となって最初の状態に戻り、以上の処理を繰り返す。な
おステップ303においてデータDb(n)が間引き対
象である場合はステップ309に進み、入力データDa
(n)をラインバッファBiに取り込み、次のラインの
入力データDa(n+1)についての処理をステップ3
02に戻って行う。
At step 306 , when each modulo 3 counter is counted up, i = 0, j = 1, k = 2
Returns to the initial state, and repeats the above processing. If it is determined in step 303 that the data Db (n) is a thinning target, the process proceeds to step 309, where the input data Da
(N) is taken into the line buffer Bi, and the processing for the input data Da (n + 1) of the next line is performed in step 3
Return to step 02.

【0062】以上のように、この発明によれば、3つの
ラインバッファB0とB1とB2を処理の進行に合せて
使い回わしすることで、入力データの復号化、復号デー
タのサイズ変換、サイズ変換したデータ再符号化の処理
を行なうことができる。つまり、従来の処理方式よりも
1つ少ないラインバッファで済むのである。 《第3発明の実施例について》図1の構成を前提とし、
図5〜図11に従って第3発明の実施例について詳述す
る。図1の出力バッファ13において、NRはモデム1
4が現在読み出し中のデータブロックを指し、nおよび
n+1はそれぞれn番目およびn+1番目のデータブロ
ックを指し、NWはデータ処理部19が現在書き込み中
の未完成データブロックを指している。この出力バッフ
ァ13は少なくとも3個のデータブロックを有してい
る。
As described above, according to the present invention, the three line buffers B0, B1, and B2 are reused in accordance with the progress of the processing, thereby decoding the input data, converting the size of the decoded data, The converted data can be re-encoded. In other words, it requires only one less line buffer than the conventional processing method. << Embodiment of Third Invention >> Assuming the configuration of FIG.
An embodiment of the third invention will be described in detail with reference to FIGS. In the output buffer 13 of FIG.
Numeral 4 indicates a data block currently being read, n and n + 1 indicate nth and n + 1th data blocks, respectively, and NW indicates an incomplete data block currently being written by the data processing unit 19. This output buffer 13 has at least three data blocks.

【0063】図5はデータ処理部19の出力バッファ1
3の制御アルゴリズムを示している。前述のように必要
に応じてサイズ変換されて符号化されたデータがデータ
バッファ11にライン単位で一時記憶される(ステップ
D1)。ステップD2では、バッファ11のラインデー
タのデータ数(バイト数)Lsizを求め、所定の最小
データ数Lminと比較して、LsizがLmin以上
か否かを判定し、LsizがLminより小さい場合に
は不足分だけ0フィルを挿入してデータ数をLminに
する(ステップD3)。ここで最小データ数Lminは
次の式によって決まる値である。
FIG. 5 shows the output buffer 1 of the data processing unit 19.
3 shows a control algorithm. As described above, the data whose size has been converted and encoded as necessary is temporarily stored in the data buffer 11 in line units (step D1). In step D2, the number of data (number of bytes) Lsiz of the line data in the buffer 11 is obtained, and compared with a predetermined minimum data number Lmin to determine whether or not Lsiz is equal to or greater than Lmin. The number of data is set to Lmin by inserting 0 fills for the shortage (step D3). Here, the minimum data number Lmin is a value determined by the following equation.

【0064】Lmim(b/1)=一般通信回線4の伝送速
度(bps)×最小記録(伝送)時間(s/1) また、LsizがLmim以上の場合にはそのまま0フ
ィルを付加することなくステップD4に進む。ステップ
D4では、出力バッファ13全体の空き容量Ebを計算
している。Lsizの符号データを受入れる容量があれ
ば(ステップD5)、出力バッファ制御部12はバッフ
ァ7のデータブロックNWに符号データを書込む(ステ
ップD7)。他方、バッファ7にLsizの符号データ
を受入れる容量がなければ(ステップD5)、一定時間
待って(ステップD6)再度出力バッファ13の空き容
量を見にいく(ステップD4)。出力バッファ13内に
Lsiz分の空き容量ができるまでは、ステップD6か
らステップD5までの処理を繰り返し、出力バッファ1
3に空き容量ができれば(ステップD5)データ処理部
19はデータブロックNWに符号データを書込む(ステ
ップD7)。
Lmim (b / 1) = transmission speed of general communication line 4 (bps) × minimum recording (transmission) time (s / 1) Further, when Lsiz is not less than Lmim, 0 fill is added as it is. Proceed to step D4. In step D4, the free space Eb of the entire output buffer 13 is calculated. If there is a capacity to receive the Lsiz code data (step D5), the output buffer control unit 12 writes the code data into the data block NW of the buffer 7 (step D7). On the other hand, if the buffer 7 does not have enough capacity to receive the Lsiz code data (step D5), it waits for a certain period of time (step D6) to check the free space of the output buffer 13 again (step D4). Until there is free space for Lsiz in the output buffer 13, the processing from step D6 to step D5 is repeated.
If free space 3 (Step D5) data processing unit 19 writes the code data in the data block N W (step D7).

【0065】出力バッファ制御部12は出力バッファ1
3のDデータブロックNWに符号データを書込むと、ブ
ロックNW内のデータ数F(NW)がデータブロックの標
準サイズQに達したか否かを判断する(ステップD
8)。データ数F(NW)がQに満たない場合には1個
前のデータブロックNW’を見て(ステップD9)、そ
のデータブロックNW’が現在符号データ送出中のブロ
ックNRであるか否か判断する(ステップD10)。な
お、ステップD9においてNW−1=NW+(N−1)m
od Nを意味する。
The output buffer control unit 12 controls the output buffer 1
When the code data is written in the D data block N W of No. 3, it is determined whether or not the number of data F (N W ) in the block N W has reached the standard size Q of the data block (step D).
8). If the data number F (N W ) is less than Q, the immediately preceding data block N W ′ is looked at (step D 9), and the data block N W ′ is the block N R currently transmitting the code data. It is determined whether or not (Step D10). In step D9, N W -1 = N W + (N-1) m
od N.

【0066】データブロックNW’がブロックNRである
場合は、書込み中のブロックNWの直前ブロックが送出
中ブロックNRであるので、このまま放置しておくとブ
ロックNR内の符号データが空になってもブロックNR
完成していないため、アンダーフローが生じる可能性が
ある。そこで、バッファ制御部12は図6に示すように
データ数F(NW)がデータブロックの標準サイズQに
満たなくても、少なくとも1ラインの符号データ(図6
では1ラインである)が入っていれば現在書込み中のデ
ータブロックNWを完成させたものとし1個データブロ
ックを先に進める(ステップD13)。すなわち、ここ
では符号データ数F(NW)が標準サイズQに満たない
場合であってもデータブロックを完成させている。この
ように出力バッファ13には常時データブロックNR
未送出データブロック、データブロックNWの少なくと
も3個のデータブロックが存在することになる。また、
この3個のデータブロックがデータブロックNR、デー
タブロックNW、未書込みデータブロックである場合も
あるが、少なくとも3個のデータブロックが常時出力バ
ッファ13内に存在している。なお、ステップD13に
おいてNW+1=NW+1mod Nを意味する。
[0066] Data If block N W 'is a block NR, since immediately before the block of the block N W during writing is a delivery in block N R, encoded data of this still left to the left when the block N R is empty , The block N R is not completed, so that an underflow may occur. Therefore, even if the number of data F (N W ) is less than the standard size Q of the data block as shown in FIG.
In one line is) is entered with long as shall thereby completing the data block N W currently writing advancing one data block earlier (Step D13). That is, here, the data block is completed even when the number of code data F (N W ) is less than the standard size Q. Thus, the output buffer 13 always has the data block N R ,
Undelivered data blocks, so that at least three data blocks of the data block N W exists. Also,
The three data blocks may be a data block N R , a data block N W , and an unwritten data block, but at least three data blocks always exist in the output buffer 13. In step D13, it means N W + 1 = N W +1 mod N.

【0067】1個先に進めたデータブロックに符号デー
タを新たに書込みを開始すると、バッファ制御部12は
再びステップD11からステップD8までの流れを繰り
返す。ステップD8に至り、ここでデータ数F(NW
がQに満たない場合でも、図7に示すように1個前のデ
ータブロックNW’が送出中ブロックNRではなく(ステ
ップD10)未送出データブロックであるので、出力バ
ッファ処理部12はそのまま現在の書込みデータブロッ
クNWに符号データの書込みを続ける。
When new writing of code data is started in the data block advanced by one, the buffer control unit 12 repeats the flow from step D11 to step D8 again. It reaches step D8, where the number of data F (N W )
Is smaller than Q, as shown in FIG. 7, since the immediately preceding data block N W ′ is not the transmitting block N R but a non-transmitting data block (step D10), the output buffer processing unit 12 remains unchanged. continue the writing of code data to the current of the write data block N W.

【0068】他方、ステップD8において、データ数F
(NW)がQに達している場合には書込みデータブロッ
クNW直後のデータブロックNW”を見にいく(ステップ
D11)。そして、このデータブロックNW”が現在符
号データ送出中のブロックNRであるか否か判断する
(ステップD12)。データブロックNW”がデータブ
ロックNRであれば、図8に示すように次の書込み可能
な空データブロックは存在しないことになる。この場
合、再びステップD11からステップD5までの流れを
繰り返す。ステップD5に至り出力バッファ13の全体
の空き容量EbがLsizの符号データを受入れる容量
があれば、図10(a)乃至(d)で詳細に示すよう
に、標準サイズQを越えても現在書込み中のデータブロ
ックNWに符号データの書き込みをさらに続ける。すな
わち、図10(a)はデータブロックNWへの書込みが
続けられ、直後データブロックNRから符号データが転
送されている状態を表している。次に図10(b)では
(a)の状態がさらに進みデータブロックNW内の符号
データ数F(NW)がQに達しつつあり、他方データブ
ロックNR内の符号データ数F(NR)は転送されている
ために減っている。図10(c)ではステップD5で出
力バッファ13の全体空き容量EbがLsizの符号デ
ータを受入れる容量があると判断されているので、出力
バッファ制御部12は出力バッファ13内の空いた空間
にQを越えて符号データをデータブロックNWに書込み
続けている。さらに、図10(d)ではデータブロック
R内の符号データを送出し終わり、送出データブロッ
クを1個先に進めている。すなわちデータブロックが1
個空いたことになり、Qを越えても書込み続けていたデ
ータブロックNWを完成させ、書込みデータブロックを
1個先に進める。このように出力バッファ13内の全デ
ータブロックが完成したデータブロックであっても、出
力バッファ13内にLsizの符号データを受入れる容
量ができれば、現在書込み中のデータブロックNW内の
データ数F(NW)がすでに標準サイズQに達していて
も出力バッファ制御部12はQを越えて符号データをデ
ータブロックNWに書込みを続ける。これにより、出力
バッファ13内に空ブロックが存在しない場合であって
も、データ処理部19はデータブロックが全て空になる
のを待っていないので、データブロックを固定管理した
場合よりも無駄に通信時間を長くすることはない。
On the other hand, in step D8, the number of data F
(N W) is If it is judged in Q data block N W immediately after the write data block NW "go to see (step D11). Then, the data block N W" block N currently encoded data sending It is determined whether it is R (step D12). If the data block N W ″ is the data block N R , there is no next writable empty data block as shown in Fig. 8. In this case, the flow from step D11 to step D5 is repeated again. At step D5, if the total free space Eb of the output buffer 13 has a capacity to receive the code data of Lsiz, as shown in detail in FIGS. further continued writing of code data into data blocks NW in. that is, FIG. 10 (a) continues to write to the data block N W, the code data from the data block N R immediately after it represents the state of being transferred are. Next, FIG. 10 (b) in (a) state further proceeds data block N W in the code data count F (N W) is located reaching a Q, other de Data block N in the R code data number F (N R) is reduced to being transferred. Capacity entire space Eb accepts the code data Lsiz the output buffer 13 in FIG. 10 (c) In Step D5 since it is determined that there is, the output buffer control section 12 continues writing the code data beyond the Q in the space vacated in the output buffer 13 to the data block N W. further, FIG. 10 (d) the data After the transmission of the code data in the block N R is completed, the transmission data block is advanced by one, that is, the data block is 1
This means that the data block NW which has been continuously written even after exceeding Q is completed, and the write data block is advanced by one. Be data block all data blocks is completed in this way in the output buffer 13, if the capacity to accept the code data Lsiz in the output buffer 13, data number F in the data block N W currently writing ( Even if (N W ) has already reached the standard size Q, the output buffer control unit 12 continues to write the code data to the data block N W beyond Q. Accordingly, even when there is no empty block in the output buffer 13, the data processing unit 19 does not wait for all the data blocks to be empty, so that the communication is more wasteful than when the data blocks are fixedly managed. It does not lengthen the time.

【0069】ステップD12において、現在書込み中の
データブロックNWの直後のデータブロックNW”が現在
送出中のデータブロックNRでなければ、図9のように
標準サイズQを越えて最後の1ラインのデータを入れた
時点でデータブロックNWを完成させ書込みデータブロ
ックを1個先に進める(ステップD13)。これによ
り、データブロックの切れ目は必ず1ラインの切れ目と
一致し1ラインは必ずEOLで終わるので、1ラインの
途中で0フィルを送出することはなくなる。すなわち、
データブロックのブロックサイズを固定管理した場合の
ように送出中のデータブロックNRの切れ目がブロック
内の最後の1ラインの途中となることはないので、デー
タブロックNRの次のブロックが未完成ブロックで0フ
ィルを送出する場合でも、1ラインの途中で0フィルを
送出することはない。したがって、0フィルにより画情
報が破壊され符号エラーが引き起こされるおそれはなく
なる。
[0069] In step D12, unless the data block N R of the data block N W "immediately following the data block N W currently writing NOW delivery, beyond the standard size Q as shown in Figure 9 of the last 1 When the data of the line is inserted, the data block NW is completed and the write data block is advanced by one (step D13), whereby the break of the data block always coincides with the break of one line and one line is always EOL. , No zero fill is sent out in the middle of one line.
Since break of data block N R during transmission as in the case of fixing the management block size of the data block does not become a middle of the last one line in the block, the next block of data block N R unfinished Even when transmitting 0 fill in a block, 0 fill is not transmitted in the middle of one line. Therefore, there is no possibility that the image information is destroyed by the 0 fill and a code error is caused.

【0070】次に、ファクシミリ通信用モデム14の制
御動作を図11を用いて説明する。まず、モデム14は
出力バッファ13の送出データブロックNRから一定時
間おきに符号データを取り出して一般通信回線4へと送
出する。その際、送出データブロックNR内に未送出の
符号データがあるか否か判断する(ステップE1)。未
送出データがあればモデム14はそのまま符号データを
送出しつづける(ステップE2)。未送出の符号データ
がなければ、送出データブロックNRの1個先のデータ
ブロックNR’を見にいく(ステップE3)。この際、
1個先に進めたデータブロックNR’が現在書込み中の
データブロックNWであれば、つまり未完成のデータブ
ロックであれば(ステップE4)、このデータブロック
W内の符号データは送出することができないので、0
フィルを送出する(ステップE5)。しかしながら、デ
ータブロックNWは少なくとも1ラインの符号データが
入れば完成するので、ブロックサイズを固定管理した場
合に比べると0フィルの送出時間はかなり削減される。
他方、1個先に進めたデータブロックNR’が現在書込
み中のデータブロックNWでないときは(ステップE
4)、まだ未送出データブロックが出力バッファ13内
に存在しているということなので、送出データブロック
Rを1個先に進める(ステップE6)。そして、ファ
クシミリ通信用モデム14は1個先に進めたデータブロ
ックから符号データを一般通信回線4へ送出し始める
(ステップE7)。
Next, the control operation of the facsimile communication modem 14 will be described with reference to FIG. First, modem 14 sends a retrieve the encoded data in a predetermined time interval from the transmission data block N R of the output buffer 13 to the common communication line 4. At this time, it is determined whether or not there is untransmitted code data in the transmission data block N R (step E1). If there is untransmitted data, the modem 14 continues to transmit the code data as it is (step E2). If there is no untransmitted code data, the data block N R ′, which is one block ahead of the transmission data block N R , is checked (step E3). On this occasion,
If the data block N R ′ advanced by one is the data block N W currently being written, that is, if it is an unfinished data block (step E4), the code data in this data block N W is transmitted. 0
The fill is transmitted (step E5). However, since the data block NW is completed when at least one line of code data is entered, the transmission time of the 0 fill is considerably reduced as compared with the case where the block size is fixedly managed.
On the other hand, if the data block N R ′ advanced by one is not the data block N W currently being written (step E
4) Since an untransmitted data block still exists in the output buffer 13, the transmitted data block N R is advanced by one (step E6). Then, the facsimile communication modem 14 starts to transmit the code data to the general communication line 4 from the data block advanced one step (step E7).

【0071】以上のように。データ処理部19が出力バ
ッファ13内のデータブロックを完成させる際に、符号
データ数F(NW)が標準サイズQに満たない場合であ
ってもデータブロックを完成させ、若しくは標準サイズ
を越えた場合であってもそのデータブロックに書込みを
続けブロックサイズを可変制御することにより、モデム
14が0フィルを送出する時間を最小限度にすることが
できる。したがって0フィルによる通信時間の増加を最
小限度におさえることができる。また、データブロック
の切れ目と1ラインの切れ目とは必ず一致し1ラインは
必ずEOLで終わるので、0フィルにより画情報が破壊
され符号エラーが引き起こされるおそれはなくなる。し
たがって、0フィルによる通信エラーの発生がなくなり
通信の継続を保証することができる。
As described above. When the data processing unit 19 completes the data block in the output buffer 13, the data block is completed or exceeds the standard size even if the number of code data F (N W ) is less than the standard size Q. Even in such a case, by continuing writing to the data block and variably controlling the block size, the time for the modem 14 to transmit the 0 fill can be minimized. Therefore, an increase in communication time due to the zero fill can be minimized. Further, since the break of the data block always matches the break of one line and one line always ends with EOL, there is no possibility that the image information is destroyed by the zero fill and a code error is caused. Therefore, no communication error occurs due to the zero fill, and continuation of communication can be guaranteed.

【0072】なお、本実施例では画情報のバッファ制御
について言及したが、電話や音響装置等に用いられる音
声データにも利用できることは言うまでもない。また、
その他の分野における制御についても同様である。 《第3発明の他の実施例について》以上、出力バッファ
13においてデータブロック単位で管理する制御につい
て述べてきたが、以下、バッファリング制御の他の実施
例としてデータをライン単位で管理する制御について図
12乃至図13を用いて説明する。
Although the buffer control of image information has been described in the present embodiment, it is needless to say that the present invention can also be used for audio data used for telephones, audio equipment and the like. Also,
The same applies to control in other fields. << Other Embodiments of Third Invention >> The control for managing data blocks in the output buffer 13 has been described above. The control for managing data in line units as another embodiment of the buffering control will be described below. This will be described with reference to FIGS.

【0073】データ処理部19は図12に示すように以
下のような制御動作を行う。符号化処理若しくは原稿サ
イズ変換処理後の符号データはデータ処理部19内の符
号バッファ11に一時記憶される。(ステップF1)。
続いて、出力バッファ制御部12において符号データの
データ量Liszがバイト数で計算され、計算の結果そ
れが所定の最小データ数Lmim以上であるか否かを判
断する(ステップF2)。LsizがLmimより小さ
い場合にはバッファ制御部12はその符号データがLs
izになるまで0フィルを付加し、LmimをLsiz
に変換する(ステップF3)。LsizがLmim以上
の場合にはそのまま0フィルを付加することなくステッ
プF4に進む。ステップF4では、出力バッファ13全
体の空き容量Ebを計算している。出力バッファ13に
空き容量がない場合(ステップF5)、一定時間待って
(ステップF6)再度バッファ7の空き要領を見にいく
(ステップF4)。通常この待ち時間の間にデータ処理
部19は符号化処理若しくはサイズ変換処理等の他の処
理を行っていることが多い。他方、出力バッファ13に
空き容量がある場合は(ステップF5)、次にLsiz
分の符号データを受入れる容量があるか否かを判断する
(ステップF7)。出力バッファ13にLsiz分の符
号データを受入れる容量がなければ、ステップF8へ進
み、出力バッファ制御部12は空き容量Eb分だけ符号
データをデータバッファ11から出力バッファ13へ移
し、LsizをEbだけ減らして(ステップF8)、ス
テップF6へ進む。他方、出力バッファ13にLsiz
分の符号データを受入れる容量がある場合(ステップF
7)、出力バッファ制御部12はLsiz分の符号デー
タバッファ11から出力バッファ13へ移す(ステップ
F9)。このように、符号データを移す際、出力バッフ
ァ制御部12は出力バッファ13のポインタCWの位置
に移している。ポインタCWの位置は符号データが移さ
れる毎に図23(a)乃至(b)のように自動的に更新
される。最後に、1ライン分のすべてのデータが出力バ
ッファ13に移されると、図23(b)乃至(c)のよ
うに書き込みポインタWTにポインタCWの値を入れて
(ステップF10)、次ラインの入力処理に移る。この
ように、1ライン分の符号データを出力バッファ13に
書き終わるまで、出力バッファ制御部12は書き込みポ
インタWTを更新しない。
The data processing section 19 performs the following control operation as shown in FIG. The code data after the encoding process or the document size conversion process is temporarily stored in the code buffer 11 in the data processing unit 19. (Step F1).
Subsequently, the output buffer control unit 12 calculates the data amount Liz of the code data by the number of bytes, and determines whether or not the calculation result is equal to or more than a predetermined minimum data number Lmim (step F2). If Lsiz is smaller than Lmim, the buffer control unit 12
Add 0 fill until iz, Lmim to Lsiz
(Step F3). If Lsiz is equal to or larger than Lmim, the process proceeds to step F4 without adding 0 fill. In step F4, the free space Eb of the entire output buffer 13 is calculated. If there is no free space in the output buffer 13 (step F5), the process waits for a predetermined time (step F6) and checks the free space of the buffer 7 again (step F4). Usually, during this waiting time, the data processing unit 19 often performs other processing such as encoding processing or size conversion processing. On the other hand, if there is free space in the output buffer 13 (step F5), then Lsiz
It is determined whether or not there is a capacity for receiving the code data of the minute (step F7). If the output buffer 13 has no capacity to receive the code data for Lsiz, the process proceeds to step F8, and the output buffer control unit 12 moves the code data from the data buffer 11 to the output buffer 13 by the free space Eb, and reduces Lsiz by Eb. (Step F8), and the process proceeds to Step F6. On the other hand, Lsiz
If there is a capacity to receive the code data of
7), the output buffer control unit 12 moves the code data buffer 11 for Lsiz to the output buffer 13 (Step F9). As described above, when transferring the code data, the output buffer control unit 12 has moved to the position of the pointer CW of the output buffer 13. The position of the pointer CW is automatically updated every time the code data is moved as shown in FIGS. Finally, when all the data for one line is transferred to the output buffer 13, the value of the pointer CW is put into the write pointer WT as shown in FIGS. Move on to input processing. As described above, the output buffer control unit 12 does not update the write pointer WT until one line of code data has been written to the output buffer 13.

【0074】次に、ファクシミリ通信用モデム14の制
御動作を図14を用いて説明する。まず、モデム14は
出力バッファ13のポインタRDから一定時間おきに符
号データを取り出して一般通信回線4へ送出る。その
際、出力バッファ13に未送出データが有るか否かを判
断する(ステップG1)。送出できるデータが出力バッ
ファ13内にない場合(RD=WT)、通信断を避ける
ために0フィルを一般通信回線4へ送出する(ステップ
G2)。この実施例の場合、1ラインでも出力バッファ
13内にあれば0フィルの送出は停止するので、実施例
1のように1ブロック完成して0フィルの送出を停止す
る場合よりも、0フィルの送出時間は短くなる。また、
ブロックサイズの可変制御を行わないので、その分の時
間をデータ処理部19は符号化処理若しくはサイズ変換
処理等の他の処理にあてることができるようになる。
Next, the control operation of the facsimile communication modem 14 will be described with reference to FIG. First, the modem 14 extracts code data from the pointer RD of the output buffer 13 at regular intervals and sends out the code data to the general communication line 4. At this time, it is determined whether or not there is untransmitted data in the output buffer 13 (step G1). If there is no data that can be transmitted in the output buffer 13 (RD = WT), a 0-fill is transmitted to the general communication line 4 in order to avoid communication interruption (step G2). In this embodiment, if even one line is in the output buffer 13, the transmission of the 0 fill is stopped. Therefore, compared to the case where one block is completed and the transmission of the 0 fill is stopped as in the first embodiment, the transmission of the 0 fill is stopped. The sending time is shorter. Also,
Since the variable control of the block size is not performed, the data processing unit 19 can use the time for the variable control for other processing such as encoding processing or size conversion processing.

【0075】他方、出力バッファ13内に符号データが
ある場合(ステップG1)、読み出しポインタRDが指
している符号データを一般通信回線4へ送出する(ステ
ップG3)。符号データを送出すると、ポインタRDを
更新して(ステップG4)、終了する。
On the other hand, if there is code data in the output buffer 13 (step G1), the code data pointed to by the read pointer RD is sent to the general communication line 4 (step G3). When the code data is transmitted, the pointer RD is updated (step G4), and the process ends.

【0076】以上のように、データ処理部19が出力バ
ッファ13に符号データを書き込む際に、符号データを
ブロック単位でなくライン単位で管理することによっ
て、データ処理部19の負担を軽減し、また、出力バッ
ファ13内に符号データが1ライン分でもあれば、モデ
ム14は0フィルを送出せず、符号データを送出するの
で、モデム14が0フィルを送出する時間を最小限にす
ることができる。したがって0フィルによる通信時間の
増加を最小限度におさえることができる。また、この場
合もデータの切れ目と1ラインの切れ目とは必ず一致し
1ラインは必ずEOLで始まるので、1ラインの途中で
0フィルが送出されることはなく、0フィルにより画情
報が破壊され符号エラーが引き起こされるおそれはなく
なる。したがって、0フィルによる通信エラーの発生が
なくなり通信の継続を保証することができる。 《第4発明の実施例について》図2はこの発明の一実施
例であるファクシミリアダプタ(データ処理装置)のデ
ータ通信モード時の機能ブロック図である。この場合、
DTE1から文字や数字のコードデータが構内回線3を
介してDCE2に転送され、バッファ20に順次蓄積さ
れる。このバッファ20のデータが圧縮部21で圧縮符
号化され、出力バッファ22に一時蓄積され、モデム2
3、NCU15を介して一般通信回線4に送出される。
また、通信回線4から受信したデータはモデム23を経
て入力バッファ24に一時蓄積され、伸張部25により
伸張されて復元され、バッファ26を介して構内回線3
でDTE1に転送される。
As described above, when the data processing unit 19 writes the code data in the output buffer 13, the load on the data processing unit 19 is reduced by managing the code data on a line basis instead of a block basis. If the code data in the output buffer 13 is for one line, the modem 14 does not transmit the 0 fill but transmits the code data, so that the time for the modem 14 to transmit the 0 fill can be minimized. . Therefore, an increase in communication time due to the zero fill can be minimized. Also in this case, the data break and the one-line break always coincide, and one line always starts with EOL. Therefore, no 0-fill is transmitted in the middle of one line, and image information is destroyed by the 0-fill. There is no risk of causing a code error. Therefore, no communication error occurs due to the zero fill, and continuation of communication can be guaranteed. << Embodiment of Fourth Invention >> FIG. 2 is a functional block diagram in a data communication mode of a facsimile adapter (data processing device) according to an embodiment of the present invention. in this case,
Code data of characters and numerals are transferred from the DTE 1 to the DCE 2 via the private line 3 and are sequentially stored in the buffer 20. The data in the buffer 20 is compression-encoded by the compression unit 21, temporarily stored in the output buffer 22, and
3, transmitted to the general communication line 4 via the NCU 15.
The data received from the communication line 4 is temporarily stored in the input buffer 24 via the modem 23, expanded and restored by the expansion unit 25, and
Is transferred to DTE1.

【0077】圧縮部21および伸張部25はマイクロプ
ロセッサからなるデータ処理部19によりソフトウェア
的に具現化されている。この圧縮部21および伸張部2
5の処理アルゴリズムを以下に詳述する。
The compression section 21 and the expansion section 25 are embodied in software by a data processing section 19 comprising a microprocessor. The compression unit 21 and the expansion unit 2
The processing algorithm of No. 5 will be described in detail below.

【0078】圧縮変換テーブルは図16に示すインデッ
クステーブル(a)と圧縮符号テーブル(b)とからな
る。インデックステーブル(a)においては、多数種類
の入力データXが所定の順番で配列されている。ここで
テーブルアドレスm(0,1,2…N)の位置のデータ
XをXmと表記する。各データXmに対応して、そのデ
ータXmの累積出現回数1Amと、昇順インデックス1
Bmと、降順インデックス1Cmと、符号ポインタ1D
mの各エリアが設定されている。
The compression conversion table comprises an index table (a) and a compression code table (b) shown in FIG. In the index table (a), many types of input data X are arranged in a predetermined order. Here, the data X at the position of the table address m (0, 1, 2,... N) is expressed as Xm. Corresponding to each data Xm, the cumulative occurrence count 1Am of the data Xm and the ascending index 1
Bm, descending index 1Cm, and sign pointer 1D
m are set.

【0079】累積出現回数1AmはデータXmの累積入
力回数を示す。昇順インデックス1Bmは、累積出現回
数1Amのテーブル(a)中の順位の昇順情報である。
具体的には、データXiの累積出現回数1Aiが最上位
である場合、昇順インデックス1Bmを0とする。ま
た、データXjの1Ajの順位がデータXkの1Akの
順位と等しいか1番だけ下位にある場合、データXjの
昇順インデックス1Bjとして1番だけ上位のデータX
kのアドレスKをセットする。
The cumulative appearance count 1 Am indicates the cumulative input count of the data Xm. The ascending order index 1Bm is ascending order information of the order in the table (a) of the cumulative appearance number 1Am.
Specifically, when the cumulative appearance frequency 1Ai of the data Xi is the highest, the ascending index 1Bm is set to 0. If the rank of 1Aj of the data Xj is equal to or lower than the rank of 1Ak of the data Xk, the data Xj is ranked as the ascending index 1Bj of the data Xj.
The address K of k is set.

【0080】昇順インデックス1Cmは、累積出現回数
1Amのテーブル(a)中の順位の降順情報である。具
体的には、データXiの累積出現回数1Aiが最下位で
ある場合、降順インデックス1Cmを0とする。また、
データXjの1Ajの順位がデータXkの1Akの順位
と等しいか1番だけ上位にある場合、データXjの降順
インデックス1Cjとして1番だけ下位のデータXkの
アドレスkをセットする。
The ascending order index 1Cm is descending order information of the order in the table (a) of the cumulative appearance number 1Am. Specifically, when the cumulative appearance count 1Ai of the data Xi is the lowest, the descending order index 1Cm is set to 0. Also,
If the rank of 1Aj of the data Xj is equal to the rank of 1Ak of the data Xk or is one rank higher, the address k of the data Xk that is lower by one rank is set as the descending index 1Cj of the data Xj.

【0081】符号ポインタ1Dmは次に説明する図16
の圧縮符号デーブル(b)のアドレスを指す。圧縮符号
テーブル(b)は圧縮符号1Fが符号長の短い順に配列
されているとともに、各圧縮符号1F(i)にはその符
号長1E(i)が対応して配列されている。つまり、テ
ーブルアドレスiの位置の圧縮符号が1F(i)であ
り、その符号長が1E(i)である。そして前期符号ポ
インタ1Dmとしてテーブル(b)のアドレスiがセッ
トされている。
The code pointer 1Dm corresponds to FIG.
Of the compressed code table (b). In the compression code table (b), the compression codes 1F are arranged in ascending order of code length, and the code length 1E (i) is arranged corresponding to each compression code 1F (i). That is, the compression code at the position of the table address i is 1F (i), and the code length is 1E (i). The address i of the table (b) is set as the first code pointer 1Dm.

【0082】以上のようなインデックステーブル(a)
と圧縮符号テーブル(b)を用い、後述する詳細な手順
により、次のように入力データXに該当する圧縮符号1
Fを選出して出力するとともに、テーブルの更新処理を
行う。
The index table (a) as described above
The compression code 1 corresponding to the input data X is obtained by the detailed procedure described below using the
F is selected and output, and the table is updated.

【0083】(1)データXが入力されると、インデック
ステーブル(a)からXを検索する。そのデータXがテ
ーブルアドレスmに配置されていた場合(X=Xm)、
該当する符号ポインタ1Dmを読み取り、圧縮符号テー
ブル(b)のアドレス(1Dm)の位置の圧縮符号1F
(1Dm)を読み取って出力する。つまり、入力データ
Xmを圧縮符号1F(1Dm)に変換する。
(1) When data X is input, X is searched from the index table (a). If the data X is located at the table address m (X = Xm),
The corresponding code pointer 1Dm is read, and the compression code 1F at the address (1Dm) of the compression code table (b) is read.
(1Dm) is read and output. That is, the input data Xm is converted into the compression code 1F (1Dm).

【0084】(2)前期入力データXmの累積出現回数1
Amをインクリメントする。 (3)前期累積出現回数1Amがインクリメントされたこ
とによりテーブル(a)の1Aの順位が変わったか否か
を調べ、順位が変わっている場合は符号ポインタ1Dの
欄を並べ換える他、昇順インデックス1Bと降順インデ
ックス1Cの書き換えを行う。
(2) Cumulative number of appearances 1 of input data Xm in the previous period
Increment Am. (3) It is checked whether or not the rank of 1A in the table (a) has changed due to the increment of the cumulative appearance count 1Am in the previous period. And rewriting the descending order index 1C.

【0085】以上により累積出現回数のより多データX
が符号長のより短い圧縮符号1Fに対応する関係を作り
出すのである。
As described above, the more data X of the cumulative number of appearances
Creates a relationship corresponding to the compressed code 1F having a shorter code length.

【0086】ここで、累積出現回数1Amがインクリメ
ントされたのを受けて、テーブル順位が変わるか否かを
調べるアルゴリズムについて概略説明する。
Here, an algorithm for checking whether or not the table order changes in response to the increment of the cumulative appearance number 1 Am will be briefly described.

【0087】1Amがインクリメントされたとき、同じ
アドレスmの昇順インデックス1Bmを見る。1Bm=
0であれば1Amは最上位であるが、1Bm=iであれ
ば、1Aiが1Amの1番だけ上位であったことを意味
する。そこで、インクリメントされた1Amと1Aiと
を比較し、1Amが1Aiを超えていれば順位が逆転し
たことになる。この場合は符号ポインタ1Dmと1Di
とを入れ換える。また昇順インデックス1Aと降順イン
デックス1Bとを書き換える。以下では、その処理手順
を詳細に説明する。
When 1 Am is incremented, the ascending index 1 Bm of the same address m is looked up. 1Bm =
If it is 0, 1Am is the highest order, but if 1Bm = i, it means that 1Ai is the highest order of 1Am. Therefore, the incremented 1Am is compared with 1Ai, and if 1Am exceeds 1Ai, the order is reversed. In this case, the code pointers 1Dm and 1Di
Replace with Also, the ascending index 1A and the descending index 1B are rewritten. Hereinafter, the processing procedure will be described in detail.

【0088】図17のフローチャートに従って順次説明
する。まず新たにデータXmが入力されたとする。この
場合、データXmの符号ポインタ1Dmにより圧縮符号
データ1F(1Dm)を取り出す。圧縮符号データの長
さである符号長1E(1Dm)はBitsに記憶され、
そして、圧縮符号データそのものはCodeに入力され
る(ステップI1)。ここで、Bitsは図19乃至図
20に示す符号長1E(m)の3、4等のビット数を示
し、また、Codeは図19乃至図20に示す圧縮符号
1F(m)の000、0001、010等のコードデー
タを表している。入力されたCodeは図21の(a)
から(b)のようにRCTビット分右に算術シフトされ
る(ステップI2)。ここで、RCTは前回バイト整列
されなかった残データBYTのビット数を指している。
The operation will be sequentially described with reference to the flowchart of FIG. First, it is assumed that data Xm is newly input. In this case, the compressed code data 1F (1Dm) is extracted by the code pointer 1Dm of the data Xm. The code length 1E (1Dm), which is the length of the compressed code data, is stored in Bits,
Then, the compression code data itself is input to Code (step I1). Here, Bits indicates the number of bits such as 3 or 4 of the code length 1E (m) shown in FIGS. 19 and 20, and Code indicates 000, 0001 of the compression code 1F (m) shown in FIGS. 19 and 20. , 010 and the like. The input Code is shown in FIG.
(B) is arithmetically shifted right by RCT bits (step I2). Here, RCT indicates the number of bits of the remaining data BYT that has not been byte-aligned last time.

【0089】次に、図21(b)に示すように、残デー
タBYTと前記Codeとの論理和をCodeとし、残
データBYTのビット数RCTと現在の圧縮符号データ
のビット数Bitsとの合計ビット数をRCTとする
(ステップI3)。これによって、新たに入力された圧
縮符号データCodeと残データBYTとが論理和をと
ることでバイト整列されることになる。さらに、残デー
タBYTと論理和をとったCodeの総ビット数RCT
が計算される。ここで、BitsではなくRCTとなっ
ているのは、Bitsが個々の圧縮データの長さに対応
している表現であるのに対し、RCTがバイト整列がさ
れていない圧縮符号データの全体の長さを表現している
からである。
Next, as shown in FIG. 21 (b), the logical sum of the remaining data BYT and the code is defined as Code, and the sum of the number of bits RCT of the remaining data BYT and the number of bits Bits of the current compressed code data is calculated. The number of bits is set to RCT (step I3). As a result, the newly input compressed code data Code and the remaining data BYT are logically ORed to be byte-aligned. Further, the total number of bits RCT of the code that is ORed with the remaining data BYT
Is calculated. Here, RCT instead of Bits is an expression in which Bits corresponds to the length of each piece of compressed data, whereas RCT is the entire length of compressed code data that is not byte-aligned. It is because it expresses.

【0090】続いて、RCTを数え15ビットより多い
か否かを判断する(ステップI4)。15ビットより多
い場合、圧縮符号データを順次2バイトづつ上位バイト
より出力し(ステップI6)、図21(c)のようにC
odeの上位16ビット目より下位データを新たな残デ
ータBYTとし左にシフトする(ステップI7)。他
方、RCTが16ビット以下の場合(ステップI4)、
さらに7ビットより多いか否かを判断する(ステップI
5)。ステップI5において7ビットより多い場合、圧
縮符号データを順次1バイトづつ上位バイトより出力し
(ステップI9)、図21(d)のようにCodeの上
位8ビット目より下位のデータを新たな残データBYT
とし左にシフトする(ステップI10)。他方、RCT
の総ビット数が8ビット以下の場合(ステップI5)、
Codeそのものを残データBYTとする(ステップI
8)。
Subsequently, it is determined whether or not the RCT is greater than 15 bits (step I4). If the number of bits is larger than 15 bits, the compressed code data is sequentially output from the upper byte every two bytes (step I6).
The data lower than the upper 16 bits of the mode is shifted to the left as new remaining data BYT (step I7). On the other hand, when the RCT is 16 bits or less (step I4),
Further, it is determined whether the number is more than 7 bits (step I).
5). If there are more than 7 bits in step I5, the compressed code data is sequentially output one byte at a time from the upper byte (step I9), and as shown in FIG. BYT
And shift to the left (step I10). On the other hand, RCT
Is less than or equal to 8 bits (step I5),
Code itself is used as the remaining data BYT (step I
8).

【0091】最後に、総ビット数RCTを8で割ったと
きの余りを新しい残データBYTの有効ビット数RCT
とする(ステップI11)。このように図16の圧縮変
換テーブルを用いて圧縮符号データを出力すると、符号
長1E(m)を導入しているので、従来の圧縮変換テー
ブルを用いた場合よりも圧縮符号データ符号長を容易に
判断することができ、バイト整列処理を高速化すること
ができる。
Finally, the remainder obtained by dividing the total number of bits RCT by 8 is calculated as the number of effective bits RCT of the new remaining data BYT.
(Step I11). When the compressed code data is output using the compression conversion table of FIG. 16 as described above, the code length 1E (m) is introduced, so that the code length of the compressed code data can be made easier than in the case of using the conventional compression conversion table. And the speed of the byte alignment process can be increased.

【0092】以上の圧縮符号の出力処理が終了すると図
18のステップH1に戻る。図18の処理の際、ここで
は図19乃至図20に示すB→C→E→A→Bの順にデ
ータを入力する場合について説明を続ける。
When the above-mentioned compression code output processing is completed, the flow returns to step H1 in FIG. At the time of the processing in FIG. 18, the case where data is input in the order of B → C → E → A → B shown in FIGS. 19 and 20 will be continued.

【0093】まず、入力データBに対応する圧縮符号デ
ータ001を出力すると(ステップH1)、入力データ
Bの累積出現回数1ABは1だけ増加したことになるの
で、0回から1回へと書き換える。すなわち、1AB
1AB+1とする(ステップH2)。実際上、累積出現回
数が一定の値に達すると累積出現回数の正規化(Res
cale)が行われることがあるが、ここでは説明を簡
単にするために正規化については触れないこととした。
次に、mを変数STARTに記憶する。ここでは、入力
データXmは1なのでBをSTARTに入れる(ステッ
プH3)。さらに入力データXmより上位に構成要素
(入力データm−1)があるか否か調べる(ステップH
4)。入力データBの場合、符号ポインタ1DBは2で
あり入力データBの上位には1が示す入力データがある
ことになるので、1DB=1は成立せず、上位構成要素
を示すインデックス1Bmをポインタ変数NEXTに記
憶させる。入力データBの上位構成要素1BB図19
(a)の昇順インデックスに示すように0であるので、
0をNEXTに入れる(ステップH5)。他方、ステッ
プH4において、入力データBに上位構成要素がないと
き、すなわち1DB=1が成立するときは、ステップH
9へ進む。なお、ここで、0は入力データAの入力番号
のことである。
First, when the compressed code data 001 corresponding to the input data B is output (step H1), the cumulative appearance number 1AB of the input data B is increased by one, and is rewritten from zero to one. . That is, 1A B =
1A B + 1 is set (step H2). In practice, when the cumulative number of appearances reaches a certain value, the cumulative number of appearances is normalized (Res
call) may be performed, but here, for simplicity, normalization is not described.
Next, m is stored in a variable START. Here, since the input data Xm is 1, B is put into START (step H3). Further, it is checked whether or not there is a component (input data m-1) higher than the input data Xm (step H).
4). If the input data B, it means that there is input data 1 is shown in the upper of the code pointer 1D B is a two input data B, 1D B = 1 is not established, the index 1Bm showing the upper component It is stored in the pointer variable NEXT. Upper component 1B of input data B B FIG.
Since it is 0 as shown in the ascending index of (a),
0 is set in NEXT (step H5). On the other hand, if there is no higher-order component in the input data B in step H4, that is, if 1D B = 1 holds, step H4 is executed.
Go to 9. Here, 0 is the input number of the input data A.

【0094】次に、入力データSTARTの累積出現回
数1ASTARTが、NEXTに記憶された入力データの累
積出現回数1ANEXTより多いかを調べる(ステップH
6)。図19(b)では入力データBの累積出現回数1
Bは1回であり、入力データAの累積出現回数1AAの0
回より多いので、ステップH7に進み、入力データBの
符号ブック1DBと入力データAの符号ブック1DAとの
値の交換を行う。すなわち、まず符号ポインタ1DB
値である2をKに入れ、空になった1DBに符号ブック
1DAの値である1を入れる。次に、Kに入れておいた
2を空になった1DAに入れる。これによって、図19
(b)に示すように入力データmの累積出現回数1Am
の多い順に1DBと1DAとが並べ換ったことになる。な
お、1DBと1DAとを交換する方法としては、ステップ
H7に示した方法の他に1DSTART=1DSTART−1、1
NEXT=1DNEXT+1としても同じ目的を達成すること
ができる。続いて、NEXTをmとする(ステップH
8)。ここでは、NEXTは0であったので0をmとす
る。
[0094] Next, the cumulative number of occurrences 1A START input data START is checked whether more than the accumulated number of occurrences 1A NEXT input data stored in the NEXT (Step H
6). In FIG. 19B, the cumulative number of appearances of the input data B is 1
A B is 1 time, and the cumulative appearance frequency 1A of the input data A is 0
Since more than times, the flow advances to step H7, the exchange of values between the codebook 1D A of codebook 1D B and the input data A of the input data B. That is, first a 2 is the value of the code pointer 1D B placed in K, the 1D B became empty add 1 is the value of the codebook 1D A. Next, put in 1D A became a 2, which had been placed in a K in the sky. As a result, FIG.
(B) As shown in FIG.
1D B and 1D A are rearranged in the descending order. As a method of exchanging 1D B and 1D A , in addition to the method shown in step H7, 1D START = 1D START -1, 1
The same objective can be achieved by setting D NEXT = 1D NEXT +1. Subsequently, NEXT is set to m (step H).
8). Here, NEXT is 0, so 0 is set to m.

【0095】再び、ステップH4に戻り、入力データB
より上位に構成要素があるか否か調べる。入力データB
の符号ブック1DBは図19(b)に示すように1とな
っているので、1DB=1が成立し、上位には構成要素
がないので、ステップH9へ進む。
Returning again to step H4, the input data B
Check if there is a component at a higher level. Input data B
Since the codebook 1D B has a 1, as shown in FIG. 19 (b), 1D B = 1 is established, since the upper no component, the process proceeds to step H9.

【0096】以下のステップH9では、昇順インデック
スと降順インデックスとの並べ換えによって、テーブル
における入力データmの理論的順序付けを行う。
In the following step H9, the input data m in the table is theoretically ordered by rearranging the ascending index and the descending index.

【0097】まず、ステップH9において入力データm
とSTARTが総いつのものであるか否かを調べる。こ
こでは、mはステップ8で0となっており、また、ST
ARTはBであるので、mとSTARTとは同一ではな
く、ステップH10へ進み、入力データの順位変化によ
る昇順インデックス及び降順インデックス並べ換え処理
を続ける。他方、mとSTARTとが、同一であった場
合、処理は終了する。これは、累積出現回数1Amを1
つ増加しても入力データの順位に変化が生じなかった場
合を意味している。なお、ここで1とは入力データBの
入力番号のことである。
First, in step H9, the input data m
And START are checked. Here, m is 0 in step 8, and ST
Since ART is B, m and START are not the same, and the process proceeds to step H10 to continue the ascending index and descending index rearrangement processing based on the change in the rank of the input data. On the other hand, if m and START are the same, the process ends. This means that the cumulative appearance count 1 Am is 1
This means that no change occurs in the rank of the input data even if the number increases. Here, 1 is the input number of the input data B.

【0098】ステップH10において、STARTが一
番下位か否かを判断する。図19(a)ではSTART
=1は一番下位ではないので、ステップH11へ進む。
他方、一番下位であればステップH12へ進む。
At step H10, it is determined whether START is the lowest order. In FIG. 19A, START
Since = 1 is not the lowest order, the process proceeds to step H11.
On the other hand, if it is the lowest, the process proceeds to step H12.

【0099】ステップH11では、入力データSTART
論理チェーンから外し、この前後の入力データの昇順イ
ンデックス、降順インデックスを結んでいる。まず、昇順
インデックス1BSTARTをKに入れる。例えば図19
(a)を用いると1BSTARTはAなのでAをKに入れ
る。これにより、入力データBの昇順インデックス1B
Bを昇順インデックス列群から抜き出している。次に降
順インデックス1CKに1CS TARTを入れる。例えば、図
19(a)では1CKはCAであり、また、1CSTART
2であるので、1CAに2を入れる。2は入力データC
の入力番号である。続いて降順インデックス1CSTART
をKに入れる。図19(a)では1CSTARTは2なの
で、2をKに入れる。これにより、入力データBの降順
インデックス1BBを降順インデックス列群から抜き出
している。次に、昇順インデックス1BKに1BSTART
入れる。図19(a)では1BKは1BCであり、また、
1BSTARTは0であるので、1BCに0を入れる。これに
よって、降順インデックス1CAと昇順インデックス1
Cとが並べ換えられ、入力データAとCとが結び付け
られたことになる。すなわち、図19(b)によるとデ
ータAの下位のデータは降順インデックス1CAによ
り、1から2に変ったことが分る。また、データCの上
位のデータは昇順インデックス1BCにより、1から0
に変わったことが分かる。したがって、入力データ列群
におけるデータAとデータCとの記憶位置は固定のまま
で、論理上データAとデータCとの間にデータBは存在
せず両者は連続した関係になる。
In step H11, the input data START is removed from the logical chain, and the ascending index and the descending index of the input data before and after this are connected. First, the ascending index 1B START is put in K. For example, FIG.
If (a) is used, 1B START is A, so A is put in K. Thereby, the ascending index 1B of the input data B
B is extracted from the ascending index column group. Then put the 1C S TART in descending order index 1C K. For example, 1C K in FIG. 19 (a) is a C A, also, 1C START is 2, so add 2 to 1C A. 2 is input data C
Is the input number. Then, descending index 1C START
Into K. In FIG. 19A, 1C START is 2, so 2 is put in K. Thereby, the extracted descending index 1B B input data B from the descending index column group. Next, put 1B START in ascending index 1B K. 1BK In FIG. 19 (a) is a 1B C, also
Since 1B START is 0, 0 is inserted into 1B C. As a result, the descending index 1C A and the ascending index 1
B C is rearranged, and the input data A and C are linked. That is, according to FIG. 19B, it can be seen that the data below the data A has changed from 1 to 2 by the descending index 1CA. Further, the upper data of the data C by ascending index 1B C, from 1 0
You can see that it has changed. Therefore, the storage positions of the data A and the data C in the input data string group remain fixed, and there is no data B between the data A and the data C in a logical manner, and the two have a continuous relationship.

【0100】次に、入力データSTARTが一番上位か
否かを判断する(ステップH12)。すなわち、1D
START=1か否かを判断する。一番上位であれば、入力
データS TARTを論理チェーンの最上位に入れる処理を行
う(ステップH13)。すなわち、1CSTARTにNEX
Tを入れ、1BNEXTにSTARTを入れる。図19
(b)では、1DSTART=1が成立するので、次の処理
を行う。まず、1CSTARTは1C Bであり、NEXTはス
テップH5より0であるので、1CBに0を入れる。ま
た、1BNEXTは1BAであり、STARTは1であるの
で、1BAに1を入れる。これにより、テーブルは図1
9(a)から(b)のように書き換り、入力データm、
符号長1E(m)及び圧縮符号1F(m)の記憶位置は
固定のままで、入力データm及び圧縮符号1F(m)は
累積出現回数1Amの大小によって関連付けられたこと
になる。すなわち図19(a)と(b)を比較すると、
例えば入力データAの昇順インデックス1ABは0から
1へとかわり、入力データAは最上位ではなくなったこ
とを表わしている。他方、ステップH12において、S
TARTが一番上位でなかった場合、STARTをNE
XTとmとの間に挿入する処理を行う(ステップH1
4)。
Next, whether the input data START is the highest order
It is determined whether or not there is (Step H12). That is, 1D
STARTIt is determined whether or not = 1. If at the top, enter
dataS TARTProcess to put the
(Step H13). That is, 1CSTARTNEX
Insert T, 1BNEXTInto START. FIG.
In (b), 1DSTART= 1 holds, so the next process
I do. First, 1CSTARTIs 1C BNEXT is
Since it is 0 from step H5, 1CBTo 0. Ma
1BNEXTIs 1BAAnd START is 1.
And 1BAPut 1 in. Thus, the table is shown in FIG.
9 (a) to 9 (b), and the input data m,
The storage positions of the code length 1E (m) and the compression code 1F (m) are
The input data m and the compression code 1F (m) remain fixed.
What is related by the magnitude of the cumulative appearance count of 1 Am
become. That is, comparing FIGS. 19A and 19B,
For example, ascending index 1A of input data ABIs from 0
1 and the input data A is no longer at the top
And On the other hand, in step H12, S
If TART is not the highest, START is set to NE
A process of inserting between XT and m is performed (step H1).
4).

【0101】以上により、データBを入力した際のテー
ブル書き換え処理は終了する。続いて、データCを入力
する。入力データCの符号ポインタ1DCは3なので、
番号3が指し示す圧縮符号列群の上から3番目の圧縮符
号010を出力する(ステップH1)。データCの累積
出現回数1ACが1つ増加したことになるので、図19
(b)から(c)のように累積出現回数1ACを0回か
ら1回に書き換える(ステップH2)。次に、2を変数
STARTに記憶させる(ステップH3)。さらに、入
力データCより上位に構成要素があるか否かを符号ポイ
ンタ1Dmより調べる(ステップH4)。図19(b)
では符号ブック1DCは3であり、上位に構成要素があ
ることになるので、1DC=1は成立せず(ステップH
4)、ステップH5へ進み、上位構成要素を示す昇順イ
ンデックス1Bmポインタ変数NEXTに記憶させる。
すなわち、昇順インデックス1BCである0をNEXT
に入れる。
As described above, the table rewriting process when the data B is input ends. Subsequently, data C is input. Since the sign pointer 1D C of the input data C is 3,
The third compressed code 010 from the top of the compressed code string group indicated by the number 3 is output (step H1). Since the cumulative number of occurrences 1A C of data C will be increased one, 19
The cumulative appearance count 1A C is rewritten from 0 to 1 as shown in (b) to (c) (step H2). Next, 2 is stored in the variable START (step H3). Further, it is checked from the code pointer 1Dm whether or not there is a component higher than the input data C (step H4). FIG. 19 (b)
In this case, the code book 1D C is 3, and there are higher-order components, so that 1D C = 1 does not hold (step H
4) Then, the process proceeds to step H5, where it is stored in the ascending index 1Bm pointer variable NEXT indicating the higher-order component.
That, NEXT 0 in ascending order index 1B C
Put in.

【0102】次に入力データSTARTの累積出現回数
1ASTARTが、NEXTに記憶されている入力データの
累積出現回数1ANEXTより多いか調べる(ステップH
6)。図19(b)では入力データCの累積出現回数1
Cは1回で、入力データAの累積出現回数1AAの0回
より多いので、ステップH7へ進み、入力データCの符
号ポインタ1DCと入力データAの符号ポインタ1DA
の入れ換え処理を行う。続いてNEXTをmとする。こ
こでは、NEXTは0であったので0をmとする(ステ
ップH8)。
[0102] Then the cumulative number of occurrences 1A START input data START is examined cumulative occurrence count 1A NEXT than or greater of the input data stored in the NEXT (Step H
6). In FIG. 19B, the cumulative number of appearances of the input data C is 1
Since A C is one time, which is more than 0 times of the cumulative appearance number 1A A of the input data A, the process proceeds to step H7, where the code pointer 1D C of the input data C and the code pointer 1D A of the input data A are replaced. Do. Subsequently, NEXT is set to m. Here, since NEXT is 0, 0 is set to m (step H8).

【0103】再び、ステップH4に戻り入力データBよ
り上位に構成要素があるか否か調べる。入力データCの
符号ブック1DCは図19(c)に示すように2と書き
換わっているものの、1DB=1は成立しないので、ス
テップH5へ進む。次に昇順インデックス1Bmをポイ
ンタ変数NEXTに記憶させる。ここでは、mはステッ
プH8で0となっているので昇順インデックス1BA
ある1をNEXTに入れる(ステップH5)。続いて、
入力データSTARTの累積出現回数1ASTAR Tが、N
EXTに記憶された入力データの累積出現回数1ANEXT
より多いか調べる(ステップH6)。入力データSTA
RTであるCの累積出現回数1ACは1回であり、NE
XTに記憶されたデータBの累積出現回数1ABも1回
であるので、累積出現回数1ACは累積出現回数1AB
りも多くはない。したがって、ステップH9へ進む。
Returning again to step H4, it is checked whether or not there is a component higher than the input data B. Although codebook 1D C of the input data C is rewritten and 2 as shown in FIG. 19 (c), since the 1D B = 1 does not hold, the process proceeds to step H5. Next, the ascending order index 1Bm is stored in the pointer variable NEXT. Here, since m is 0 in step H8, 1 which is the ascending index 1B A is put in NEXT (step H5). continue,
The cumulative number of appearances 1A STAR T of the input data START is N
Cumulative number of appearances of input data stored in EXT 1A NEXT
It is checked whether the number is larger (step H6). Input data STA
The cumulative appearance count 1A C of C which is RT is 1 and NE
Since the cumulative number of occurrences 1A B of the stored data B to the XT also once, the cumulative number of occurrences 1A C is not more than the cumulative number of occurrences 1A B. Therefore, the process proceeds to step H9.

【0104】ステップH9において、入力データmとS
TARTが同一のものであるか否かを調べる。ここで
は、mはステップH8で0となっており、また、STA
RTは2であるので、mとSTARTがとは同一ではな
く、ステップH10へ進む。ステップH10ではSTA
RTが一番下位かを調べる。図19(b)ではSTAR
T=2は一番下位ではないので、ステップH11ヘ進
む。
At step H9, input data m and S
Check whether TART is the same. Here, m is 0 in step H8, and STA
Since RT is 2, m and START are not the same, and the process proceeds to step H10. In step H10, the STA
Check if RT is lowest. In FIG. 19B, STAR
Since T = 2 is not the lowest, the process proceeds to step H11.

【0105】ステップH11では、入力データCの昇順
インデックス1BCおよび降順インデックス1CCをテー
ブルの論理チェーンから外し、この前後の入力データの
昇順インデックス1BD及び降順インデックス1CAを結
んでいる。すなわち、まずKに昇順インデックス1BC
が示す0を入れる。次に、1CAに降順インデックス1
Cである3を入れる。3は入力データDの入力番号で
ある。続いて、Kに降順インデックス1CCである3を
入れ、1BDに1BCである0を入れる。これにより、図
19(c)に示すようにデータAの降順インデックス1
AとデータDの昇順インデックス1BDとは結び付けら
れたことになる。すなわち、入力データの記憶位置は固
定であっても、データAの下位のデータは降順インデッ
クス1CAをみるだけで番号3によりDであると分り、
またデータDの上位データは昇順インデックス1BD
みるだけで番号0によりAであると分る。ステップH1
1での処理が終わるとステップH12へ進む。
[0105] In step H11, remove the ascending index 1B C and descending index 1C C of the input data C from the logical chain of tables, linking ascending index 1B D and descending index 1C A input data of the front and rear. That is, first, ascending index 1B C
Insert 0 indicated by. Next, 1C A has descending index 1
Insert 3 which is CC . 3 is the input number of the input data D. Subsequently, the descending index 1C is a C 3 placed in K, add 0 is 1B C to 1B D. As a result, as shown in FIG.
It will be tied to the ascending index 1B D of C A and data D. That is, even if the storage position of the input data is fixed, the lower data of the data A is D by the number 3 just by looking at the descending index 1C A ,
The upper data of the data D is seen to be A by numbers 0 only see an ascending index 1B D. Step H1
When the process in step 1 is completed, the process proceeds to step H12.

【0106】ステップH12では、入力データCが一番
上位であるか否かを調べているが、入力データCは一番
上位でないので、ステップH14へ進む。ステップH1
4では、データSTARTをデータNEXTとデータm
との間に挿入する処理を行っている。すなわち、ここで
はデータSTARTは2、データNEXTは1、データ
mは0であるので、図19(b)で連続した関係であっ
たデータBとデータAとの間にデータCを割りこませる
処理を行うことになる。、まず、昇順インデックス1B
STARTにNEXTを入れる。1BSTARTは1BCであり、
また、NEXTは1であるので、図19(c)に示すよ
うに1BCにBを入れる。次に昇順インデックス1Bm
にSTARTを入れる。1Bmは1BAであり、また、
STARTは2であるので、図19(c)に示すように
1BAに2を入れる。続いて、降順インデックス1C
STARTに1CNEXTを入れる。1CSTARTは1CCであり、
また、1CNEXTは図19(b)に示すように0であるの
で、1CCに0を入れると図19(c)に示すようにな
る。さらに、降順インデックス1CNEXTにSTARTを
入れる。1CNEXTは1CBであり、また、STARTは
2であるので、図19(c)に示すように1CBに2を
入れる。これにより、入力データ列群におけるデータA
乃至Cの記憶位置は固定のままで、累積出現回数1Am
の大小に対応して、大きい順からデータB、C、Aと関
連付けられることになる。例えば、図19(c)により
データBの下位のデータは降順インデックス1CBを見
れば番号2よりCであると分り、データCの下位のデー
タは降順インデックス1CCを見れば番号0によりAで
あると分る。
At step H12, it is checked whether or not the input data C is at the top. However, since the input data C is not at the top, the process proceeds to step H14. Step H1
4, the data START is replaced with the data NEXT and the data m
Is inserted between the and. That is, here, since the data START is 2, the data NEXT is 1, and the data m is 0, the process of assigning the data C between the data B and the data A, which have a continuous relationship in FIG. Will be done. First, ascending index 1B
Put NEXT in START . 1B START is 1B C ,
Moreover, NEXT is 1, so that the add B to 1B C as shown in FIG. 19 (c). Next, ascending index 1Bm
Into START. 1Bm is 1B A , and
Since START is 2, put 2 to 1B A as shown in FIG. 19 (c). Then, descending index 1C
Insert 1C NEXT into START . 1C START is 1C C ,
Also, since 1C NEXT is 0 as shown in FIG. 19B, if 0 is inserted into 1C C , it becomes as shown in FIG. 19C. Further, START is entered in the descending order index 1C NEXT . 1C NEXT is 1C B, also, START is 2, so add 2 to 1C B as shown in FIG. 19 (c). Thereby, the data A in the input data string group
To C, the storage position is fixed, and the cumulative number of appearances is 1 Am
Are associated with the data B, C, and A in ascending order according to the magnitude of. For example, referring to FIG. 19 (c), the lower data of the data B is found to be C from the number 2 when looking at the descending index 1CB, and the lower data of the data C is represented by the number 0 by looking at the descending index 1CC. I know there is.

【0107】以上により、データCを入力した際のテー
ブル書き換え処理は終了する。続いて、データEを入力
する。入力データEの符号ポインタ1DEは図19
(c)より5なので、番号5が指し示す圧縮符号列群の
上から5番目の圧縮符号1000を出力する(ステップ
H1)。データEの累積出現回数1AEが1つ増加した
ことになるので、図19(c)から(d)のように累積
出現回数1AEを0回から1回に書き換える(ステップ
H2)。次に、4を変数STARTに記憶させる(ステ
ップH3)。4は入力データEの入力番号である。さら
に、入力データEより上位に構成要素があるか否かを符
号ポインタ1DEより調べる(ステップH4)。図19
(c)では符号ポインタ1DEは5であり、上位に構成
要素があることになるので、1DE=1は成立せず(ス
テップH4)、ステップH5へ進み、上位構成要素を示
す昇順インデックス1BEをNEXTに記憶させる。す
なわち、昇順インデックス1BEである3をNEXTに
入れる。
As described above, the table rewriting process when the data C is input ends. Subsequently, data E is input. Code pointer 1D E of input data E Figure 19
Since (c) is 5, the fifth compressed code 1000 from the top of the compressed code string group indicated by number 5 is output (step H1). Since the cumulative number of occurrences 1A E data E is that it has increased by 1, FIG. 19 (c) the cumulative occurrence count 1A E as (d) is rewritten once from zero (step H2). Next, 4 is stored in the variable START (step H3). 4 is the input number of the input data E. Further, it is checked from the code pointer 1D E whether or not there is a component higher than the input data E (step H4). FIG.
(C) the code pointer 1D E is 5, it means that there is a component in the upper, 1D E = 1 is not satisfied (step H4), the flow advances to step H5, ascending index 1B showing the upper component E is stored in NEXT. That is, put 3 in ascending order index 1B E to NEXT.

【0108】次に、入力データEの累積出現回数1AE
が、NEXTに記憶されているデータDの累積出現回数
1ADより多いか調べる(ステップH6)。図20
(d)では入力データEの累積出現回数1AEは1回
で、入力データDの累積出現回数1ADの0回より多い
ので、ステップH7ヘ進み、入力データEの符号ポイン
タ1DEと入力データDの符号ポインタ1DDとの入れ替
え処理を行う。続いて、NEXTをmとする。ここで
は、NEXTは3であったので3をmとする(ステップ
H8)。
Next, the cumulative number of appearances 1A E of the input data E
Is greater than the cumulative number of appearances 1A D of data D stored in NEXT (step H6). FIG.
In (d), since the cumulative appearance frequency 1A E of the input data E is one, which is larger than 0 of the cumulative appearance frequency 1A D of the input data D, the process proceeds to step H7, where the sign pointer 1DE of the input data E and the input data A process of replacing the code pointer D with the code pointer 1DD is performed. Subsequently, NEXT is set to m. Here, since NEXT is 3, 3 is set to m (step H8).

【0109】再び、ステップH4に戻り入力データEよ
り上位に構成要素があるか否か調べる。入力データEの
符号ポインタ1DEは4と書き換っているので、1DE
1は成立せず、ステップH5へ進む。次に、昇順インデ
ックス1BmをNEXTに記憶させる。ここでは、mは
ステップH8で3となっているので、図19(c)に示
すように昇順インデックス1BDである0をNEXTに
入れる(ステップH5)。続いて、入力データEの累積
出現回数1AEが、NEXTに記憶されたデータAの累
積出現回数1AAより多いか調べる(ステップH6)。
累積出現回数1AEは1回であり、累積出現回数1AA
0回であるので、累積出現回数1AEは累積出現回数1
Aよりも多く、再びステップH7へ進む。
Returning again to step H4, it is checked whether or not there is a component higher than the input data E. Since the sign pointer 1D E of input data E is Tsu written as 4, 1D E =
1 is not established, and the routine proceeds to step H5. Next, the ascending order index 1Bm is stored in NEXT. Here, m is since a 3 in the step H8, the 0 in ascending order index 1B D as shown in FIG. 19 (c) Add to NEXT (step H5). Subsequently, the cumulative number of occurrences 1A E of input data E, checks whether more than the accumulated number of occurrences 1A A of the stored data A NEXT (step H6).
Since the cumulative appearance frequency 1A E is one and the cumulative appearance frequency 1A A is zero, the cumulative appearance frequency 1A E is the cumulative appearance frequency 1
The number is larger than A A, and the process proceeds to step H7 again.

【0110】ステップH7では、まず符号ポインタ1D
Eの値である4をKに入れ、空になった1DEに符号ポイ
ンタ1DAの値である3を入れる。次に、Kに入れてお
いた4を空になった1DAに入れる。これによって、図
28(d)に示すように累積出現回数1Amの多い順に
1DEと1AAとが並べ換ったことになる。続いて、NE
XTをmとする。ここでは、NEXTは0であったので
0をmとする(ステップH8)。
In step H7, first, the code pointer 1D
The value 4 of E is put into K, and the value 1 of the sign pointer 1D A is put into 1D E which has become empty. Next, put in 1D A became the 4, which had been placed in a K in the sky. This results in cumulative occurrence count 1Am-rich order 1D E and the 1A A is Tsu lined conversion as shown in FIG. 28 (d). Next, NE
Let XT be m. Here, since NEXT is 0, 0 is set to m (step H8).

【0111】ステップH4に戻り、入力データEより上
位に構成要素があるか否か調べる。入力データEの符号
ポインタ1DEは3と書き換っているので、1DE=1は
成立せず、ステップH5へ進む。次に、昇順インデック
ス1BmをNEXTに記憶させる。ここでは、mはステ
ップH8で0となっているので、図19(c)に示すよ
うに昇順インデックス1BAである2をNEXTに入れ
る(ステップH5)。続いて、入力データEの累積出現
回数1AEが、NEXTに記憶されたデータCの累積出
現回数1ACより多いか調べる(ステップH6)。累積
出現回数1AEは1回であり、累積出現回数1AAも1回
であるので、累積出現回数1AEと累積出現回数1AA
は同数であり、ステップH9へ進む。
Returning to step H4, it is checked whether or not there is a component higher than the input data E. Since the sign pointer 1D E of input data E is 3 and write Tsu, 1D E = 1 is not established, the flow advances to step H5. Next, the ascending order index 1Bm is stored in NEXT. Here, since m is 0 in step H8, 2 as the ascending order index 1B A is put in NEXT as shown in FIG. 19C (step H5). Subsequently, the cumulative number of occurrences 1A E of input data E, checks whether more than the accumulated number of occurrences 1A C of the stored data C in the NEXT (step H6). Cumulative number of occurrences 1A E is once, since the cumulative number of occurrences 1A A also once a equal to the cumulative occurrence count 1A E and the accumulated occurrence counts 1A A, the process proceeds to step H9.

【0112】ステップH9では、入力データmとSTA
RTが同一のものであるか否かを調べる。ここでは、m
はステップ8で0となっており、また、STARTは4
であるので、mとSTARTとは同一ではなく、ステッ
プH10へ進む。ステップH10では、STARTが一
番下位かを調べる。図19(c)においてSTART=
4は一番下位であるので、ステップH12へ進む。
At step H9, input data m and STA
Check whether the RT is the same. Here, m
Is 0 in step 8, and START is 4
Therefore, m and START are not the same, and the process proceeds to step H10. In step H10, it is checked whether START is the lowest. In FIG. 19C, START =
Since 4 is the lowest order, the process proceeds to step H12.

【0113】ステップH12では、入力データCが一番
上位であるか否かを調べているが、入力データEは一番
上位でないので、ステップH14へ進む。ステップH1
4では、データEをデータCとデータAとの間に挿入す
る処理を行う。まず、昇順インデックス1BSTARTにN
EXTを入れる。1BSTARTは1BEであり、また、NE
XTは2であるので、図20(d)に示すように1BE
に2を入れる。次に昇順インデックス1BmにSTAR
Tを入れる。1BmにSTARTを入れる。1Bmは1
Aであり、また、STARTは4であるので、図28
(d)に示すように1BAに4を入れる。続いて、降順
インデックス1CSTARTに1CNEXTを入れる。1CSTART
は1CEであり、又、1CNEXTは図27(c)に示すよ
うに0であるので、1CEに0を入れると図28(d)
に示すようになる。さらに、降順インデックス1CNEXT
にSTARTを入れる。1CNEXTは1CCであり、ま
た、STARTは4であるので、図20(d)に示すよ
うに1CCに4を入れる。これにより、入力データ列群
におけるデータA、C及びEの記憶位置は固定のまま
で、累積出現回数1Amの大小に対応して、データC、
E、Aの順に関連付けられることになる。例えば、図2
0(d)によりデータCの下位のデータは降順インデッ
クス1CCをみれば番号4によりEであると分り、デー
タEの下位のデータは降順インデックス1CEをみれば
番号0によりAであると分る。
At step H12, it is checked whether or not the input data C is at the top. However, since the input data E is not at the top, the process proceeds to step H14. Step H1
In step 4, a process of inserting data E between data C and data A is performed. First, N in ascending index 1B START
Insert EXT. 1B START is 1B E, also, NE
Since XT is 2, 1B E as shown in FIG.
Put 2 in. Next, it is STAR to ascending index 1Bm.
Insert T. Put START in 1Bm. 1Bm is 1
Since B A and START are 4, FIG.
Insert 4 into 1B A as shown in (d). Subsequently, 1C NEXT is entered in the descending order index 1C START . 1C START
A is 1C E, also because 1C NEXT, as shown in FIG. 27 (c) is 0, put a 0 to 1C E Figure 28 (d)
It becomes as shown in. Furthermore, descending index 1C NEXT
Into START. Since 1C NEXT is 1C C and START is 4, 4 is inserted into 1C C as shown in FIG. As a result, the storage positions of the data A, C, and E in the input data string group remain fixed, and the data C,
E and A will be related in this order. For example, FIG.
0 (d) indicates that the lower data of the data C is E by the number 4 when viewed from the descending index 1C C , and that the lower data of the data E is A by the number 0 when viewed by the descending index 1C E. You.

【0114】以上により、データCを入力した際のテー
ブル書き換え処理は終了する。続いて、データAを入力
する。入力データAの符号ポインタ1DAは図20
(d)より4であるので、番号4が指し示す圧縮符号列
群の上から4番目の圧縮符号011を出力する(ステッ
プH1)。すなわち、図19(a)の初期状態ではデー
タAに対応する圧縮符号は圧縮符号列群の1番目の00
0であったのが、累積出現回数1Amにより変化してい
るのが分る。
As described above, the table rewriting process when the data C is input ends. Subsequently, data A is input. The sign pointer 1D A of the input data A is shown in FIG.
Since (d) is 4, the fourth compressed code 011 from the top of the compressed code string group indicated by the number 4 is output (step H1). That is, in the initial state of FIG. 19A, the compression code corresponding to data A is the first 00 in the compression code string group.
It can be seen that the value of 0 has changed according to the cumulative number of appearances of 1 Am.

【0115】データAの累積出現回数1AAが1つ増加
したことになるので、図20(d)から(f)のように
累積出現回数1AAを0回から1回に書き換える(ステ
ップH2)。次に、0をSTARTに記憶させる(ステ
ップH3)。さらに、入力データAより上位に構成要素
があるか否かを符号ポインタ1DAより調べる(ステッ
プH4)。図20(d)では符号ポインタ1DAは4で
あり、上位に構成要素を示す昇順インデックス1BA
NEXTに記憶させる。すなわち、昇順インデックス1
Aは図20(d)より4であるので4をNEXTに記
憶させる(ステップH5)。次に入力データAの累積出
現回数1AAが、NEXTに記憶されているデータEの
累積出現回数1AEより多いか調べる(ステップH
6)。図20(f)では入力データAの累積出現回数1
Aは1回で、入力データEの累積出現回数1AEも1回
なので、両者は同数であり、ステップH9へ進む。
[0115] Since the cumulative occurrence count 1A A data A is to have increased one rewrites FIG 20 (d) the cumulative occurrence count 1A A as (f) in once from zero (Step H2) . Next, 0 is stored in START (step H3). Furthermore, it examined from the code pointer 1D A whether or not there is a component to the upper than the input data A (step H4). In FIG. 20 (d), the code pointer 1D A is 4, and the ascending index 1B A indicating the higher-order component is stored in NEXT. That is, ascending index 1
Since B A is 4 in FIG. 20D, 4 is stored in NEXT (step H5). Cumulative occurrence count 1A A of the next input data A is checked whether more than the accumulated number of occurrences 1A E data E stored in NEXT (Step H
6). In FIG. 20F, the cumulative number of appearances of the input data A is 1
Since A A is once and the cumulative appearance number 1A E of the input data E is also one, both are the same, and the process proceeds to step H9.

【0116】ステップH9において、入力データmとS
TARTが同一のものであるか否かを調べる。ここで
は、mは0のままであり、また、STARTも0である
ので、mとSTARTとは同一であり、昇順インデック
ス1Bm及び降順インデックス1Cmには何等の変更も
なく、データAを入力した際のテーブルの書き換え処理
はそのまま終了する。
In step H9, the input data m and S
Check whether TART is the same. Here, since m remains 0 and START is also 0, m and START are the same, and the data A is input without any change in the ascending index 1Bm and the descending index 1Cm. The table rewriting process is ended as it is.

【0117】最後に2回目のデータBを入力する。入力
データBの符号ポインタ1DBは図20(f)より1で
あるので、番号1の指し示す圧縮符号列群の上から1番
目の圧縮符号000を出力する(ステップH1)。すな
わち、1回目のデータBの場合と異なり、累積出現回数
1ABの大小にしたがって圧縮符号が000から001
へと変わっている。これが、動的適応型データ圧縮方法
の特長である。データBの累積出現回数1ABが1つ増
加したので、図20(f)から(e)のように累積出現
回数1ABを1回から2回に書き換える(ステップH
2)。次に、1をSTARTに記憶させる(ステップH
3)。さらに、入力データBより上位に構成要素がある
か否かを符号ポインタ1DBより調べる(ステップH
4)。図20(f)では符号ポインタ1DBは1であ
り、上位に構成要素がないので、1DE=1が成立し
(ステップH4)、ステップH9へ進む。すなわち、こ
こでは符号ブック1Dmは書き換える必要がないことを
意味している。
Finally, the second data B is input. Code pointer 1D B input data B is because in Figure 20 (f) from 1, and outputs a first compressed code 000 from the top of the compression code string group indicated by the number 1 (step H1). That is, unlike the first data B, the compression code 000 in accordance with the magnitude of the cumulative occurrence count 1A B 001
Has changed to This is a feature of the dynamic adaptive data compression method. Since the cumulative number of occurrences 1A B data B is increased by one, FIG. 20 (f) the cumulative occurrence count 1A B as (e) rewriting the once to twice (Step H
2). Next, 1 is stored in START (step H).
3). Further, it is checked from the sign pointer 1D B whether or not there is a component higher than the input data B (step H).
4). A diagram 20 (f) the code pointer 1D B 1, since there is no component to the upper, 1D E = 1 is satisfied (step H4), the flow advances to step H9. That is, here, the code book 1Dm does not need to be rewritten.

【0118】ステップH9では、入力データmとSTA
RTが同一のものであるか否かを調べるが、ここでは、
m及びSTARTともに1であるので、mとSTART
とは同一であり、データBを入力した際のテーブルの書
き換え処理はそのまま終了する。圧縮符号データは00
1→010→1000→011→000の順に一般通信
回線4へと出力されたことになる。
At step H9, input data m and STA
It is checked whether RT is the same or not. Here,
Since m and START are both 1, m and START
And the process of rewriting the table when the data B is input ends. The compression code data is 00
That is, the data is output to the general communication line 4 in the order of 1 → 010 → 1000 → 011 → 000.

【0119】以上のように、動的適応型データ圧縮方法
を用いて入力データmの圧縮符号化処理を行う際、圧縮
変換テーブル上の入力データ列群、累積出現回数列群、
符号長列群及び圧縮符号列群の記憶位置を固定させてい
るので、入力データmに一致するデータの中から探し出
すのが容易となり、検索速度が短縮される。また、累積
出現回数1Amによって変化する入力データmと圧縮符
号1F(1Dm)との対応関係も符号ブック列群の値を
入れ換えるだけでよく、さらに、入力データ列群内の個
々のデータ相互の関係も昇順インデックス列群及び降順
インデックス列群の値を入れ換えるだけでよく、これに
より、入力データmを圧縮符号1F(1Dm)に変換す
る操作も容易になり、処理時間も短縮される。
As described above, when the compression encoding process of the input data m is performed using the dynamic adaptive data compression method, the input data sequence group, the cumulative appearance frequency sequence group,
Since the storage positions of the code length sequence group and the compressed code sequence group are fixed, it is easy to search out data matching the input data m, and the search speed is reduced. Further, the correspondence between the input data m that changes according to the cumulative number of appearances 1Am and the compression code 1F (1Dm) only needs to be exchanged with the value of the codebook sequence group. It is only necessary to exchange the values of the ascending index column group and the descending index column group, thereby making it easy to convert the input data m into the compression code 1F (1Dm), and to shorten the processing time.

【0120】その上、図16の圧縮変換テーブルのよう
に符号長1E(m)を導入すると、圧縮符号1F(m)
をバイト整列して出力する際、ビット数を確実かつ容易
に管理でき、圧縮符号1F(m)のビット列のバイト整
列を高速化することができる。なお、テーブル(b)中
の符号長1Eの項目は必ずしも必要ではない。
In addition, when the code length 1E (m) is introduced as shown in the compression conversion table of FIG. 16, the compression code 1F (m)
Is output in a byte-aligned manner, the number of bits can be managed reliably and easily, and the byte alignment of the bit string of the compression code 1F (m) can be speeded up. Note that the item of the code length 1E in the table (b) is not always necessary.

【0121】以下、上述の方法により圧縮された符号デ
ータを受信側において伸張する方法について図15及び
図22乃至図25を参照にしながら説明する。
Hereinafter, a method of expanding the code data compressed by the above method on the receiving side will be described with reference to FIG. 15 and FIGS.

【0122】図22において、本変換テーブルは復号化
テーブル(a)と伸張データテーブル(b)とから構成
されている。復号化テーブル(a)圧縮符号列群(m=
0〜N)及び伸張データ(インデックス)列群(2B
m、m=0〜N)からなり、、また、伸張データテーブ
ル(b)は累積出現回数列群(2A(m)、m=0〜
N)及び伸張データ列群(2Cm、m=0〜N)からな
っている。圧縮符号mは図2の1F(m)に相当するも
のであり、伸張データ(インデックス)2Bmは圧縮符
号mに対応している伸張データ2C(2Bm)を指して
いるインデックスである。累積出現回数2A(2Bm)
は伸張データ2C(2Bm)の累積出現回数を示し、伸
張データ2Cmは圧縮符号データを伸張し元のデータで
ある圧縮対象に復元したデータである。なお、圧縮符号
列群、累積出現回数列群及び伸張データ列群の各要素の
記憶位置は固定である。伸張データ(インデックス)2
Bmによって、累積出現回数2A(m)の大小に応じた
伸張データ2C(m)の順位付けが行われる。
In FIG. 22, this conversion table is composed of a decoding table (a) and an expanded data table (b). Decoding table (a) compressed code string group (m =
0-N) and decompressed data (index) column group (2B
m, m = 0 to N), and the decompression data table (b) has a cumulative appearance frequency sequence group (2A (m), m = 0 to N).
N) and a decompressed data string group (2 Cm, m = 0 to N). The compression code m corresponds to 1F (m) in FIG. 2, and the decompressed data (index) 2Bm is an index pointing to the decompressed data 2C (2Bm) corresponding to the compression code m. Cumulative appearance frequency 2A (2Bm)
Indicates the cumulative number of appearances of the decompressed data 2C (2Bm), and the decompressed data 2Cm is data obtained by decompressing the compressed code data and restoring it to the original data to be compressed. Note that the storage positions of the elements of the compression code string group, the cumulative appearance number string group, and the decompressed data string group are fixed. Decompressed data (index) 2
Based on Bm, the expansion data 2C (m) is ranked according to the magnitude of the cumulative appearance count 2A (m).

【0123】図23において、本変換テーブルは0〜2
25のASCIIコードで示されたデータを伸張対象と
したものであり、そのため、圧縮符号列群(m=0〜2
25)、伸張データ(インデックス)列群(2Bm、m
=0〜225)、累積出現回数列群(2A(m)、m=
0〜225)とそれぞれなっている。なお、累積出現回
数列群(2A(m)、m=0〜225)とそれぞれなって
いる。なお累積出現回数2A(m)は次の関係を満たし
ているとした。
In FIG. 23, the conversion table is 0-2.
The data represented by 25 ASCII codes are to be decompressed. Therefore, the compressed code string group (m = 0 to 2)
25), decompressed data (index) column group (2Bm, m
= 0 to 225), the cumulative appearance frequency sequence group (2A (m), m =
0 to 225). It should be noted that the cumulative appearance frequency sequence group (2A (m), m = 0 to 225) is provided. It is assumed that the cumulative appearance frequency 2A (m) satisfies the following relationship.

【0124】2A(2B0)≧2A(2B1)≧〜≧2A
(2Bn)≧〜≧2A(2B225) 図24において、圧縮符号mは5つのデータ(000、
001、010、011、1000)であるとし、また
復元された伸張データはA、B、C、D、Eであるとす
る。さらに、1乃至5は図10の伸張データテーブル
(b)の各要素の記憶位置にあてがわれた番号である。
2A (2B 0 ) ≧ 2A (2B 1 ) ≧ 〜 ≧ 2A
(2B n ) ≧ 〜 ≧ 2A (2B 225 ) In FIG. 24, the compression code m is five data (000,
001, 010, 011 and 1000), and the restored decompressed data are A, B, C, D and E. Further, 1 to 5 are numbers assigned to the storage positions of the respective elements of the decompression data table (b) in FIG.

【0125】図25のフローチャートに従って受信デー
タの伸張処理手順を説明する。まず、一般通信回線4に
より伝送されてきた圧縮符号データはデータ通信用モデ
ム23によって受信され、入力バッファ24に一時蓄え
られる。データ処理部19は入力バッファ24から圧縮
符号データを取り出し、ASCIIコード等のキャラク
タデータに変換してバッファ26に出力する。データ処
理部19内の伸張部25が圧縮符号データを伸張する
際、まず圧縮符号データをビット列により圧縮符号列群
内のどの圧縮符号データmかを特定し、次にその圧縮符
号データmに対応する伸張データ2Bmをバッファ26
に出力し、伸張変換テーブルの累積出現回数2A(2B
m)を更新している。すなわち、圧縮符号データを00
1と特定し、図24(a)が示すように圧縮符号データ
001に対応する伸張データBを出力すると(ステップ
J1)、番号2が示す累積出現回数列群の記憶位置に該
当する累積出現回数2A(B)を1つ増加する(ステップ
J2)。図24(b)が示すように累積出現回数2A
(B)を0回から1回にし、ステップJ3へ進む。
The procedure for expanding received data will be described with reference to the flowchart shown in FIG. First, the compressed code data transmitted by the general communication line 4 is received by the data communication modem 23 and is temporarily stored in the input buffer 24. The data processing unit 19 takes out the compressed code data from the input buffer 24, converts it into character data such as ASCII code, and outputs it to the buffer 26. When the decompression unit 25 in the data processing unit 19 decompresses the compressed code data, first, the compression code data is specified by the bit string as to which compression code data m in the compression code string group, and then the compression code data corresponding to the compression code data m is specified. The expanded data 2Bm to be transferred to the buffer 26
And the cumulative number of appearances 2A (2B
m) has been updated. That is, the compression code data is set to 00
24, when the decompressed data B corresponding to the compressed code data 001 is output as shown in FIG. 24A (step J1), the cumulative appearance number corresponding to the storage position of the cumulative appearance number sequence group indicated by the number 2 is obtained. 2A (B) is increased by one (step J2). As shown in FIG. 24 (b), the cumulative number of appearances 2A
(B) is changed from 0 times to 1 time, and the process proceeds to step J3.

【0126】ステップJ3以降では、伸張データ2Bm
の累積出現回数2A(2Bm)の大小に応じて、圧縮符
号mが伸張データ2Bmに対応するように伸張データ
(インデックス)列群内の各要素の記憶位置を並べ換え
ている。
In step J3 and thereafter, the expanded data 2Bm
The storage position of each element in the expanded data (index) column group is rearranged so that the compression code m corresponds to the expanded data 2Bm in accordance with the magnitude of the cumulative appearance frequency 2A (2Bm).

【0127】まず、ステップJ3では圧縮符号データm
がテーブルの一番上位に達したか否かを調べている。圧
縮符号データmが一番上位の要素であった場合、テーブ
ルにおいて何等の変更もないので、そのまま終了する。
他方、圧縮符号mが一番上位の要素でなかった場合はス
テップJ4へ進む。圧縮符号データ001は一番上位の
要素ではないので、ステップJ4に進む。
First, in step J3, the compressed code data m
Is checking to see if it has reached the top of the table. If the compressed code data m is the highest-order element, there is no change in the table, and the process ends.
On the other hand, if the compression code m is not the highest-order element, the process proceeds to step J4. Since the compression code data 001 is not the highest-order element, the process proceeds to step J4.

【0128】ステップJ4へ進むと、圧縮符号データm
が対応している伸張データ2Bmの累積出現回数2A
(2Bm)と1個上位の圧縮符号データm−1が対応し
ている伸張データ2Bm−1の累積出現回数2A(2B
m−1)とを比較し、累積出現回数2A(2Bm)が累
積出現回数2A(2Bm−1)より多いか判断する。累
積出現回数2A(2Bm)が累積出現回数2A(2Bm
−1)より多くなければ、テーブル内容の更新をそのま
ま終了する。他方、累積出現回数2A(2Bm)が累積
出現回数2A(2Bm−1)より多ければ、ステップJ
5へ進み、伸張データ(インデックス)列群内の各要素
の並べ換えを行う。図24(b)では圧縮符号データ0
01に対応している伸張データBの累積出現回数1回は
1個上位のの圧縮符号データ000に対応している伸張
データAの累積出現回数0回よりも多いのでステップJ
5へ進む。
At step J4, the compressed code data m
Corresponds to the cumulative number of appearances 2A of the expanded data 2Bm
(2Bm) and the cumulative appearance count 2A (2B
m-1) to determine whether the cumulative number of appearances 2A (2Bm) is greater than the cumulative number of appearances 2A (2Bm-1). The cumulative appearance frequency 2A (2Bm) is the cumulative appearance frequency 2A (2Bm
If not more than -1), the updating of the table contents is terminated as it is. On the other hand, if the cumulative number of appearances 2A (2Bm) is greater than the cumulative number of appearances 2A (2Bm-1), step J
Proceeding to step 5, the respective elements in the expanded data (index) column group are rearranged. In FIG. 24B, the compressed code data 0
Since the cumulative appearance count of the decompressed data B corresponding to 01 is larger than the accumulated appearance count of the decompressed data A corresponding to the compression code data 000 which is higher by one, the step J
Go to 5.

【0129】ステップJ5へ進むと、まずKに伸張デー
タ2Bmを入れ、伸張データ列群の伸張データ2Bmの
記憶位置を空にする。次に、空になった伸張データ2B
mに伸張データ2Bm−1を入れ、続いて伸張データ2
Bm−1の記憶位置にKに記憶しておいた伸張データ2
Bmを入れる。圧縮符号データm−1を圧縮符号データ
mとし(ステップJ6)、ステップJ3へ戻る。これに
よって、伸張データ列群の各要素が累積出現回数2A
(m)の大小に応じて並べ換ったことになる。すなわ
ち、図24(a)を用いると、まずKに伸張データBを
入れ、伸張データ2BBに伸張データAを入れることに
なる。次に伸張データ2BAにKに記憶しておいた伸張
データBを入れる。これにより、図24(b)が示すよ
うに伸張データ列群の伸張データA及び伸張データBの
記憶位置が入れ換ったことになる。続いて、圧縮符号デ
ータ000を圧縮符号データmとし、ステップJ3へ戻
る。
In step J5, first, the expanded data 2Bm is put into K, and the storage position of the expanded data 2Bm in the expanded data string group is made empty. Next, the empty decompressed data 2B
m and the expanded data 2Bm-1
Decompressed data 2 stored in K at the storage location of Bm-1
Add Bm. The compressed code data m-1 is set as the compressed code data m (step J6), and the process returns to step J3. As a result, each element of the decompressed data string group has a cumulative appearance frequency of 2A
This means that they are rearranged according to the magnitude of (m). That is, the use of FIG. 24 (a), K put the decompressed data B First, the putting decompressed data A to the extended data 2B B. Then add decompressed data B that has been stored in the K in the decompressed data 2B A. This means that the storage positions of the decompressed data A and the decompressed data B in the decompressed data string group have been switched as shown in FIG. Subsequently, the compression code data 000 is set as the compression code data m, and the process returns to step J3.

【0130】ステップJ3へ戻ると、圧縮符号データ0
00は一番上位の要素であるので、そのまま処理を終了
する。
Returning to step J3, the compressed code data 0
Since 00 is the highest-order element, the processing ends.

【0131】以上により、圧縮符号データ001を伸張
データBに復元した際の処理は終了する。
Thus, the processing when the compressed code data 001 is restored to the decompressed data B is completed.

【0132】次に、圧縮符号データを010と特定し、
図24(b)が示すように圧縮符号データ010に対応
する伸張データCを出力する(ステップJ1)。伸張デ
ータCの累積出現回数2A(c)が一つ増加したので番
号3が指す累積出現回数列群の記憶位置の値を置き換え
る。すなわち、図24(c)が示すように累積出現回数
2A(c)を0回から1回へと更新し(ステップJ
2)、ステップJ3へ進む。
Next, the compression code data is specified as 010,
As shown in FIG. 24B, decompressed data C corresponding to the compressed code data 010 is output (step J1). Since the cumulative number of appearances 2A ( c ) of the decompressed data C is increased by one, the value of the storage position of the group of cumulative number of appearances indicated by the number 3 is replaced. That is, as shown in FIG. 24C, the cumulative appearance number 2A ( c ) is updated from 0 to 1 (step J).
2) Go to step J3.

【0133】ステップJ3へ進むと、圧縮符号データ0
10がテーブルの一番上位であるか否かを調べる。圧縮
符号データ010は一番上位の要素でないので、ステッ
プJ4へ進む。
At step J3, the compressed code data 0
It is checked whether 10 is at the top of the table. Since the compression code data 010 is not the highest-order element, the process proceeds to step J4.

【0134】ステップJ4へ進むと、図24(b)及び
(c)が示すように圧縮符号データ010に対応してい
る伸張データCの累積出現回数1回は1個上位の圧縮符
号データ001に対応している伸張データAの累積出現
回数0回よりも多いのでステップJ5へ進む。
At step J4, as shown in FIGS. 24 (b) and (c), the cumulative appearance count of the decompressed data C corresponding to the compressed code data 010 is changed to the next higher compressed code data 001 by one. Since the number of corresponding appearances of the decompressed data A is greater than 0, the process proceeds to step J5.

【0135】ステップJ5へ進むと、まずKに伸張デー
タCを入れ、伸張データ列群の伸張データ2Bcの記憶
位置を空にする。次に、空になった伸張データ2Bc
伸張データAを入れ、続いて伸張データ2BAの記憶位
置にKに記憶しておいた伸張データCを入れる。これに
より、図24(c)が示すように伸張データ列群の伸張
データA及び伸張データCの記憶位置が入れ換ったこと
になる。続いて、圧縮符号データ001を圧縮符号デー
タmとし(ステップJ6)、ステップJ3へ戻る。
[0135] Proceeding to step J5, K put the decompressed data C first, empty the storage location of the decompressed data 2B c decompression data sequence group. Next, place the decompressed data A to the extended data 2B c emptied, then add decompressed data C that has been stored in K in the storage position of the expanded data 2B A. This means that the storage positions of the decompressed data A and the decompressed data C in the decompressed data string group have been switched as shown in FIG. Subsequently, the compressed code data 001 is set as the compressed code data m (step J6), and the process returns to step J3.

【0136】ステップJ3へ戻ると、圧縮符号データ0
01は一番上位の要素ではないので、ステップJ4へ進
む。ステップJ4へ進むと、図24(c)が示すように
圧縮符号データ001に対応している伸張データCの累
積出現回数1回は1個上位の圧縮符号データ000に対
応している伸張データBの累積出現回数1回と同数なの
で、テーブル内容の更新はそのまま終了する。
Returning to step J3, the compressed code data 0
Since 01 is not the highest-order element, the process proceeds to step J4. At step J4, as shown in FIG. 24 (c), one occurrence of the cumulative appearance of the decompressed data C corresponding to the compressed code data 001 corresponds to the decompressed data B corresponding to the next higher compressed code data 000. Is the same as the cumulative number of appearances of 1. Therefore, the updating of the table contents is terminated as it is.

【0137】以上により、圧縮符号データ010を伸張
データCに復元した際の処理は終了する。
Thus, the processing when the compressed code data 010 is restored to the decompressed data C is completed.

【0138】続いて、圧縮符号データを1000と特定
し、図24(c)が示すように圧縮符号データ1000
に対応する伸張データEを出力する(ステップJ1)。
伸張データEの累積出現回数2A(E)が1つ増加した
ので、図35(d)が示すように番号スが指す累積出現
回数2A(E)を0回から1回へと更新し(ステップJ
2)、ステップJ3へ進む。
Subsequently, the compression code data is specified as 1000, and as shown in FIG.
Is output (step J1).
Since the cumulative number of occurrences 2A of expanded data E (E) is increased by one, the cumulative number of occurrences 2A (E) pointed to number scan as shown in FIG. 35 (d) is updated to once from zero (step J
2) Go to step J3.

【0139】ステップJ3へ進んで、圧縮符号データ1
000はテーブルの一番上位ではないので、ステップJ
4へ進む。
Proceeding to step J3, the compressed code data 1
000 is not the top of the table, so step J
Proceed to 4.

【0140】ステップJ4へ進むと、図24(c)及び
(d)が示すように圧縮符号データ1000に対応して
いる伸張データEの累積出現回数1回は1個上位の圧縮
符号データ011に対応している伸張データDの累積出
現回数0回よりも多いのでステップJ5へ進む。
At step J4, as shown in FIGS. 24 (c) and (d), the cumulative appearance frequency of the decompressed data E corresponding to the compressed code data 1000 is changed to the next higher compressed code data 011 by one. Since the cumulative number of appearances of the corresponding decompressed data D is greater than 0, the process proceeds to step J5.

【0141】ステップJ5へ進むと、Kに伸張データE
を入れ、伸張データ列群の伸張データ2BEの記憶位置
を空にする。次に、空になった伸張データ2BEに伸張
データDを入れ、続いて伸張データ2BDの記憶位置に
Kに記憶しておいた伸張データEを入れる。これによ
り、伸張データ列群の伸張データD及び伸張データEの
記憶位置が入れ換ったことになる。続いて、圧縮符号デ
ータ011を圧縮符号データmとし、ステップJ3へ戻
る。
At step J5, the expanded data E is stored in K.
Placed, empty the storage location of the decompressed data 2B E decompression data sequence group. Next, place the decompressed data D to the extended data 2B E emptied, then add decompressed data E that has been stored in K in the storage position of the expanded data 2B D. This means that the storage positions of the decompressed data D and the decompressed data E in the decompressed data string group have been switched. Subsequently, the compression code data 011 is set as the compression code data m, and the process returns to step J3.

【0142】ステップJ3へ戻ると、圧縮符号データ0
11は1番上位の要素ではないので、ステップJ4へ進
む。
Returning to step J3, the compressed code data 0
Since 11 is not the top element, the process proceeds to step J4.

【0143】ステップJ4へ進むと、圧縮符号データ0
11に対応している伸張データEの累積出現回数1回は
1個上位の圧縮符号データ010に対応している伸張デ
ータAの累積出現回数0回よりも多いのでステップJ5
へ進む。
At step J4, the compressed code data 0
11 is larger than the cumulative appearance number 0 of the decompressed data A corresponding to the compression code data 010, which is one higher order, so that step J5 is performed.
Proceed to.

【0144】ステップJ5へ進むと、Kに伸張データE
を入れ、伸張データ列群の伸張データ2BEの記憶位置
を空にする。次に、空になった伸張データ2BEに伸張
データAを入れ、続いて伸張データ2BAの記憶位置に
Kに記憶しておいた伸張データEを入れる。これによ
り、図35(d)が示すように伸張データ列群の伸張デ
ータA及び伸張データEの記憶位置が入れ換ったことに
なる。続いて、圧縮符号データ010を圧縮符号データ
mとし(ステップJ6)、ステップJ3へ戻る。
At step J5, the expanded data E is stored in K.
Placed, empty the storage location of the decompressed data 2B E decompression data sequence group. Next, place the decompressed data A to the extended data 2B E emptied, then add decompressed data E that has been stored in K in the storage position of the expanded data 2B A. This means that the storage positions of the decompressed data A and the decompressed data E in the decompressed data string group have been switched as shown in FIG. Subsequently, the compression code data 010 is set to the compression code data m (step J6), and the process returns to step J3.

【0145】ステップJ3へ戻ると、圧縮符号データ0
10は一番上位の要素ではないので、ステップJ4へ進
む。
Returning to step J3, the compressed code data 0
Since 10 is not the highest element, the process proceeds to step J4.

【0146】ステップJ4へ進むと、図24(d)が示
すように圧縮符号データ010に対応している伸張デー
タEの累積出現回数1回は1個上位の圧縮符号データ0
01に対応している伸張データCの累積出現回数1回と
同数なので、テーブル内容の更新はそのまま終了する。
At step J4, as shown in FIG. 24D, the cumulative appearance count of the decompressed data E corresponding to the compressed code data 010 is one higher than the compressed code data 0
Since the cumulative number of times of decompression data C corresponding to 01 is the same as one, the updating of the table contents is terminated as it is.

【0147】以上により、圧縮符号データ1000を伸
張データEに復元した際の処理は終了する。
Thus, the processing when the compressed code data 1000 is restored to the decompressed data E is completed.

【0148】続いて、圧縮符号データを011と特定
し、図24(d)が示すように圧縮符号データ011に
対応する伸張データAを出力する(ステップJ1)。伸
張データAの累積出現回数2A(A)が1つ増加したの
で、図24(e)が示すように番号サが指す累積出現回
数2A(A)を0回から1回へと更新し(ステップJ
2)、ステップJ3へ進む。
Subsequently, the compressed code data is specified as 011 and the expanded data A corresponding to the compressed code data 011 is output as shown in FIG. 24D (step J1). Since the cumulative number of occurrences 2A extension data A (A) is increased by one, 24 the accumulated occurrence counts 2A pointed to number service as (e) shows (A) is updated to once from zero (step J
2) Go to step J3.

【0149】ステップJ3へ進んで、圧縮符号データ0
11はテーブルの一番上位ではないので、ステップJ4
へ進む。
Proceeding to step J3, the compressed code data 0
Since 11 is not the top of the table, step J4
Proceed to.

【0150】ステップJ4へ進むと、図24(d)及び
(e)が示すように圧縮符号データ011に対応してい
る伸張データAの累積出現回数1回は1個上位の圧縮符
号データ010に対応している伸張データEの累積出現
回数1回と同数なので、テーブル内容の更新はそのまま
終了する。
At step J4, as shown in FIGS. 24 (d) and (e), the cumulative appearance frequency of the decompressed data A corresponding to the compressed code data 011 is changed to the next higher compressed code data 010 by one. Since the number of times of the corresponding appearance of the decompressed data E is equal to one, the updating of the table contents is terminated as it is.

【0151】以上により、圧縮符号データ011を伸張
データAに復元した際の処理は終了する。
Thus, the processing when the compressed code data 011 is restored to the decompressed data A is completed.

【0152】最後に、圧縮符号データを000と特定
し、図24(e)が示すように圧縮符号データ000に
対応する伸張データBを出力する(ステップJ1)。伸
張データBの累積出現回数2A(B)が1つ増加したの
で、図24(f)が示すように累積出現回数2A(B
を1回から2回へと更新し(ステップJ2)、ステップ
J3へ進む。
Finally, the compressed code data is specified as 000, and the expanded data B corresponding to the compressed code data 000 is output as shown in FIG. 24 (e) (step J1). Since the cumulative number of appearances 2A ( B ) of the decompressed data B has increased by one, the cumulative number of appearances 2A ( B ) as shown in FIG.
Is updated from once to twice (step J2), and the process proceeds to step J3.

【0153】ステップJ3へ進んで、圧縮符号データ0
00はテーブルの一番上位であるので、図24(e)及
び(f)が示すようにテーブルにおいて何等の変更もな
く、そのまま終了する。これにより圧縮符号データ00
0を伸張データBに復元した際の処理は終了する。伸張
データはB、C、E、A、Bの順に復元され、DTE1
へと転送される。
Proceeding to step J3, the compressed code data 0
Since 00 is the top of the table, the process ends without any change in the table as shown in FIGS. Thereby, the compressed code data 00
The process when 0 is restored to the decompressed data B ends. The decompressed data is restored in the order of B, C, E, A, B, and DTE1
Is forwarded to.

【0154】以上説明から明らかなように、受信した圧
縮符号データ001、010、100、001、100
0は伸張データB、C、E、A、Bと復元され動的適応
型データ圧縮方法により圧縮符号化された入力データ
B、C、E、A、Bが無事受信側で再現されたことが分
る。このように伸張処理を行うと、動的適応型データ圧
縮方法及び動的適応型データ伸張方法を用いた場合に確
実にデータを再現することができ、かつ、圧縮変換テー
ブルにおいて入力データ列群の各要素の記憶位置を固定
にし、また、伸張変換テーブルにおいて圧縮符号列群の
各要素の記憶位置を固定にしているので、その処理速度
を速めることができる。さらに、動的適応型データ伸張
方法により圧縮符号mの伸張処理を行う際、累積出現回
数2A(m)の更新により変更する圧縮符号mと伸張デ
ータ2C(m)と関連付けを伸張データ(インデック
ス)2Bmを用いて行い、その伸張データ(インデック
ス)2Bmが伸張データ2C(2Bm)に対して2C
(2Bm)=2Bmの関係にある場合、伸張データ(イ
ンデックス)2Bmをそのまま伸張データとして使うこ
とができるので、その分処理時間の短縮を図ることがで
きる。
As apparent from the above description, the received compressed code data 001, 010, 100, 001, 100
0 indicates that the input data B, C, E, A, and B, which are decompressed as decompressed data B, C, E, A, and B and are compression-encoded by the dynamic adaptive data compression method, are successfully reproduced on the receiving side. I understand. By performing the decompression process in this manner, data can be reliably reproduced when the dynamic adaptive data compression method and the dynamic adaptive data decompression method are used, and the compression conversion table is used to store the input data sequence group. Since the storage position of each element is fixed and the storage position of each element of the compression code string group is fixed in the decompression conversion table, the processing speed can be increased. Further, when performing the expansion processing of the compression code m by the dynamic adaptive data expansion method, the association between the compression code m to be changed by updating the cumulative appearance number 2A (m) and the expansion data 2C (m) and the expansion data (index) is performed. 2Bm, and the decompressed data (index) 2Bm is 2C with respect to the decompressed data 2C (2Bm).
When (2Bm) = 2Bm, the decompressed data (index) 2Bm can be used as decompressed data as it is, so that the processing time can be shortened accordingly.

【0155】また、動的適応型データ圧縮方法により圧
縮符号化されたデータを元のデータに復元する際に重要
なことは、動的適応型データ圧縮方法と動的適応型デー
タ伸張方法において同じアルゴリズムを用いてないとい
うことである。すなわち、図18の圧縮変換テーブルに
よってデータを圧縮符号化すると、ステップA5以降に
おいて現在処理しているデータmの累積出現回数1Am
とデータmより累積出現回数が1つ多い入力データm+
1若しくは累積出現回数が同一の入力データmの累積出
現回数1ANEXTと比較して、符号ブック1Dmと1D
NEXTとを入れ替え若しくはそのままにする処理を行って
いる。これに対し、図25の伸張変換テーブルによって
データを伸張する場合、ステップC4以降において現在
処理しているデータmの累積出現回数2A(2Bm)と
圧縮符号列群の1個上位の記憶位置のデータm−1の累
積出現回数2A(2Bm−1)を比較して、符号ブック
に相当する伸張データ(インデックス)2Bmと2Bm
−1とを入れ替え若しくはそのままにする処理を行って
いる。ここでは、圧縮符号処理の場合のように累積出現
回数2Amとデータmより累積出現回数が1つ多い入力
データm+1若しくは累積出現回数が同一の入力データ
mの累積出現回数2ANEXTとの比較を行ってはいない。
もし、伸張処理をする際に圧縮符号処理と同様のアルゴ
リズムを用いると、誤ってB、C、E、Eと復号される
結果となり圧縮符号データは元のデータに復元されない
ことになる。このように、データの符号化時と復号化時
とで別個のアルゴリズムを用いることにより、復号誤り
を無くしかつ高速でデータを高速に処理することが可能
となる。
What is important when restoring data compressed and encoded by the dynamic adaptive data compression method to the original data is the same in the dynamic adaptive data compression method and the dynamic adaptive data decompression method. That is, no algorithm is used. That is, when the data is compression-encoded by the compression conversion table of FIG. 18, the cumulative number of appearances of the data m currently processed in step A5 and thereafter is 1 Am
And input data m + whose cumulative appearance count is one more than data m
1 or the cumulative number of appearances 1A NEXT of the input data m having the same cumulative number of appearances, the codebooks 1Dm and 1D
A process is performed to replace or leave NEXT . On the other hand, when the data is expanded by the expansion conversion table of FIG. 25, the cumulative number of appearances 2A (2Bm) of the data m currently being processed in step C4 and the subsequent steps and the data of the storage position one higher order in the compression code string group By comparing the cumulative number of appearances 2A (2Bm-1) of m-1 with the expanded data (index) 2Bm and 2Bm corresponding to the codebook
A process of exchanging −1 with or keeping the same is performed. Here, as in the case of the compression code processing, a comparison is made between the cumulative appearance number 2Am and the input data m + 1 whose cumulative appearance number is one more than the data m or the cumulative appearance number 2A NEXT of the input data m having the same cumulative appearance number. Not.
If the same algorithm as the compression code processing is used in the decompression processing, the result will be erroneously decoded as B, C, E, E, and the compressed code data will not be restored to the original data. As described above, by using separate algorithms for data encoding and decoding, it is possible to eliminate decoding errors and process data at high speed.

【0156】[0156]

【発明の効果】以上詳細に説明したように、第1発明に
よれば、バッファに順次蓄積される符号化画像データを
特定符号によりラインデータ単位で切り出して次段のデ
ータ処理手段に引き渡す処理において、必要以上に短い
間隔で特定符号の検索処理の繰り返してデータ処理部
(マイクロプロセッサ)の負担を大きくするという不都
合が解消され、また長い間隔で特定符号の検索を行って
1回に多数ライン分のデータを切り出して次段のデータ
処理にまとめて引き渡し、次段の処理に負担をかけた
り、次段の処理の待ち時間が長くなるという不都合が解
消される。
As described above in detail, according to the first aspect, in the process of cutting out the encoded image data sequentially stored in the buffer in units of line data by a specific code and delivering it to the next stage data processing means, The inconvenience of increasing the load on the data processing unit (microprocessor) by repeating the search processing of the specific code at an interval shorter than necessary is eliminated. Are cut out and delivered collectively to the next stage of data processing, thereby eliminating the inconvenience of burdening the next stage of processing and increasing the waiting time of the next stage of processing.

【0157】[0157]

【0158】また第発明によれば、所定ブロックサイ
ズを超えても1ライン分の符号データを書き込んだ時点
でブロックを完成させ、かつ、次のブロックが送出中ブ
ロックであれば書き込み中ブロックが所定ブロックサイ
ズに満たなくてもブロックを完成させるので、バッファ
のデータを送信する動作が遅滞なく行われ、0フィル送
出による通信効率の低下を防ぐことができる。また同様
に、0フィル送出中においてバッファに1ライン分のデ
ータがセットされた時点で0フィルの送出を停止するの
で、0フィル送出時間を最小限に押えることができ、通
信効率を向上することができる。また、ラインデータの
途中で0フィルが送出されることをなくすことができ、
ライン途中で0フィルが送出されることによる画像情報
の破壊を防ぐことができ、かつ、符号エラーを引き起こ
すことがなく、通信の継続性を保証することができる。
また、出力バッファにデータを書き込む際にデータをラ
イン単位で管理すると、データ処理部は1ライン分のデ
ータを書き込まない限り書き込みポインタを更新させな
いという処理を行えばよく、データをブロック単位で管
理する場合より処理の負担が軽くなる。
According to the second aspect of the present invention, even if the block size exceeds a predetermined block size, the block is completed when one line of code data is written, and if the next block is a sending block, the writing block is Since the block is completed even if the size does not reach the predetermined block size, the operation of transmitting data in the buffer is performed without delay, and it is possible to prevent a decrease in communication efficiency due to the transmission of 0 fill. Similarly, since the transmission of the 0 fill is stopped when data of one line is set in the buffer during the transmission of the 0 fill, the transmission time of the 0 fill can be minimized, and the communication efficiency can be improved. Can be. Also, it is possible to eliminate the transmission of 0 fill in the middle of the line data,
It is possible to prevent the destruction of the image information due to the transmission of the 0 fill in the middle of the line, and to guarantee the continuity of the communication without causing a code error.
If data is managed in units of lines when writing data to the output buffer, the data processing unit only needs to perform processing of not updating the write pointer unless data for one line is written, and manages data in units of blocks. The processing load is lighter than in the case.

【0159】また第発明によれば、圧縮変換テーブル
を用いて累積出現回数の多い入力データほど短い圧縮符
号データを割り当てることで圧縮処理を行う方式におい
て、入力データとその累積出現回数および圧縮符号デー
タの記憶位置を固定にし、かつ入力データと圧縮符号デ
ータとを結び付ける符号インデックスおよび入力データ
相互の順位付けを示すインデックスを有する圧縮変換テ
ーブルとし、入力データの記憶位置を常に固定している
ので、テーブルから目的の入力データを検索する処理が
容易となり、圧縮処理時間が短縮される。また、累積出
現回数によって変動する入力データと圧縮符号データと
の対応関係も符号インデックスの書き換えによって順次
更新され、さらに、入力データ相互の順位付けもインデ
ックスの書き換えによって順次更新されるので、テーブ
ル情報の更新処理も容易である。
According to the third aspect of the present invention, in a method of performing compression processing by assigning shorter compression code data to input data having a higher cumulative appearance number using the compression conversion table, the input data, the cumulative appearance number thereof, and the compression code Since the storage position of the data is fixed, and a compression conversion table having a code index for linking the input data and the compressed code data and an index indicating the ranking of the input data, and the storage position of the input data is always fixed, Processing for retrieving target input data from the table is facilitated, and the compression processing time is reduced. Also, the correspondence between the input data and the compressed code data, which fluctuates according to the cumulative number of appearances, is sequentially updated by rewriting the code index, and further, the ranking of the input data is sequentially updated by rewriting the index. Update processing is also easy.

【0160】その上、圧縮変換テーブルに圧縮符号デー
タのビット数を表わす符号長情報を導入することによっ
て、圧縮符号をバイト整列して出力する際のビット数を
簡単かつ確実に管理することができるので、圧縮符号の
整列処理を高速化することができる。
In addition, by introducing code length information indicating the number of bits of the compressed code data into the compression conversion table, the number of bits when the compressed code is byte-aligned and output can be easily and reliably managed. Therefore, it is possible to speed up the process of arranging the compression codes.

【0161】同様に伸張変換テーブルを用いて短い圧縮
符号データほど累積出現回数の多い伸張データに割り当
てて復元する処理を行う方式において、伸張デ−タおよ
び圧縮符号デ−タの記憶位置を固定し、かつ圧縮符号デ
−タと伸張デ−タとを結び付ける伸張インデックスを有
する伸張変換テ−ブルを用いて、伸張デ−タの記憶位置
を常に固定としているので、伸張変換テ−ブルから目
的の伸張デ−タを検索する処理が容易となり、検索処理
速度が短縮される。また、伸張インデックスと伸張デ−
とが同値である場合には、伸張インデックスをそのま
伸張デ−タとして用いることができるので、伸張デ−
伸張変換テ−ブル中から除いてテ−ブル構成を簡単
にすることができ、その分さらに処理時間の短縮を実現
することができる。
Similarly, in a system in which shorter compressed code data is assigned to the expanded data having a larger number of cumulative appearances and restored by using the expansion conversion table, the storage positions of the expanded data and the compressed code data are fixed. and compressed code de - data and an extended de - extension conversion Te has a stretch index linking the data - using a table, extension de - since the always fix the storage position of the data, decompression conversion Te - purposes in Bull Search processing of expanded data of
Speed is reduced. Also, the expansion index and the expansion data
If data and are equivalent is directly decompressed de stretch index - it is possible to use as a data decompression de -
The table can be simplified by removing the data from the expansion conversion table, and the processing time can be further reduced.

【0162】以上の各発明により、パソコン等からファ
クシミリ装置に通信する場合や、他のパソコンと通信す
る場合に、効率よく確実な通信を実現することができ
る。
According to the above inventions, efficient and reliable communication can be realized when communicating with a facsimile apparatus from a personal computer or the like or when communicating with another personal computer.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例であるデータ処理装置のファ
クシミリ通信モード時の概略を示す概略ブロック図
FIG. 1 is a schematic block diagram showing an outline of a data processing apparatus according to an embodiment of the present invention in a facsimile communication mode.

【図2】本発明のEOL検索とデータ切り出し処理の制
御手順の一実施例を示したフロー図
FIG. 2 is a flowchart showing an embodiment of a control procedure of an EOL search and data cutout processing of the present invention.

【図3】本発明においてサイズ変換する際のバッファ選
択処理を示すフロー図
FIG. 3 is a flowchart showing a buffer selection process at the time of size conversion in the present invention.

【図4】図3の動作におけるバッファの状態遷移図FIG. 4 is a state transition diagram of a buffer in the operation of FIG. 3;

【図5】本発明のデータ処理部のバッファリング制御を
示したフロー図
FIG. 5 is a flowchart showing buffering control of the data processing unit of the present invention.

【図6】図5のステップD10〜ステップD13におけ
るバッファの蓄積状態を示すメモリ状態図
6 is a memory state diagram showing a buffer accumulation state in steps D10 to D13 in FIG.

【図7】図5のステップD10〜終了におけるバッファ
の状態を示すメモリ状態図
FIG. 7 is a memory state diagram showing a state of a buffer at steps D10 to end of FIG. 5;

【図8】図5のステップD12〜終了におけるバッファ
の状態を示すメモリ状態図
FIG. 8 is a memory state diagram showing the state of the buffer in steps D12 to end of FIG. 5;

【図9】図5のステップD12〜ステップD13におけ
るバッファの状態を示すメモリ状態図
FIG. 9 is a memory state diagram showing a state of a buffer in steps D12 to D13 of FIG. 5;

【図10】図8における出力バッファの状態の遷移を表
した状態遷移図
FIG. 10 is a state transition diagram showing a state transition of an output buffer in FIG. 8;

【図11】本発明のモデムの制御動作を示したフロー図FIG. 11 is a flowchart showing a control operation of the modem of the present invention.

【図12】本発明の他のバッファリング制御を示したフ
ロー図
FIG. 12 is a flowchart showing another buffering control of the present invention.

【図13】図12の制御による出力バッファの状態の遷
移を表した状態遷移図
13 is a state transition diagram showing the state transition of the output buffer under the control of FIG.

【図14】本発明のモデムの他の制御動作を示したフロ
ー図
FIG. 14 is a flowchart showing another control operation of the modem of the present invention.

【図15】本発明の一実施例であるデータ処理装置のデ
ータ通信モード時の概略を示す概略ブロック図
FIG. 15 is a schematic block diagram illustrating an outline of a data processing device according to an embodiment of the present invention in a data communication mode.

【図16】本発明に用いる入力データを符号データに変
換する圧縮変換テーブルを示したテーブル図
FIG. 16 is a table diagram showing a compression conversion table for converting input data used in the present invention into encoded data;

【図17】圧縮符号の出力処理を示したフロー図FIG. 17 is a flowchart showing a compression code output process;

【図18】圧縮符号の出力に伴うテーブル更新処理を示
したフロー図
FIG. 18 is a flowchart showing a table updating process accompanying output of a compression code;

【図19】図16に示した圧縮変換テーブルの内容の遷
移を例示したテーブルの状態遷移図
FIG. 19 is a state transition diagram of a table exemplifying transition of the contents of the compression conversion table shown in FIG. 16;

【図20】図16に示されるテーブルの内容の変遷に後
続する変遷内容を示した状態遷移図
FIG. 20 is a state transition diagram showing transition contents subsequent to the transition of the contents of the table shown in FIG. 16;

【図21】図17におけるバイト整列処理の際のデータ
の流れを示した説明図
FIG. 21 is an explanatory diagram showing a data flow at the time of byte alignment processing in FIG. 17;

【図22】本発明の実施例において符号データを伸張す
る際に用いる伸張変換テーブルのテーブル図
FIG. 22 is a table diagram of a decompression conversion table used when decompressing code data in the embodiment of the present invention.

【図23】図22に示す伸張変換テーブルにおいて他の
テーブル構成を示したテーブル図
23 is a table diagram showing another table configuration in the extension conversion table shown in FIG. 22;

【図24】図23の伸張変換テーブルの内容の変遷を例
示したテーブルの状態遷移図
FIG. 24 is a state transition diagram of a table exemplifying the transition of the contents of the expansion conversion table of FIG. 23;

【図25】図1のデータ処理部19が行う符号データ処
理部の伸張処理の制御動作を示したフロー図
25 is a flowchart showing a control operation of a decompression process of a code data processing unit performed by the data processing unit 19 in FIG.

【図26】従来のデータ処理装置の概略を示した概略ブ
ロック図
FIG. 26 is a schematic block diagram schematically showing a conventional data processing device.

【図27】従来のサイズ変換の際の復号及び符号処理を
示した状態遷移図
FIG. 27 is a state transition diagram showing decoding and encoding processing at the time of conventional size conversion.

【図28】従来の入力データを圧縮符号に変換するため
のテーブルを示したテーブル図
FIG. 28 is a table diagram showing a conventional table for converting input data into a compression code;

【図29】従来の圧縮符号を伸張データに復元するため
のテーブルを示したテーブル図
FIG. 29 is a table showing a table for restoring conventional compression codes to decompressed data;

【符号の説明】[Explanation of symbols]

1 DTE 2 DCE 3 構内回線 4 一般通信回線 5 バッファ 6 データ切り出し部 7 復号部 8 データバッファ 9 サイズ変換部 10 符号部 11 処理後のデータバッファ 12 出力バッファ制御部 13 出力バッファ 14 ファクシミリ送信用モデム 15 NCU 16 入力バッファ 17 符号チェック部 19 データ処理部 21 圧縮部 22 出力バッファ 23 データ通信用バッファ 24 入力バッファ 25 伸張部 Reference Signs List 1 DTE 2 DCE 3 Private line 4 General communication line 5 Buffer 6 Data cutout unit 7 Decoding unit 8 Data buffer 9 Size conversion unit 10 Encoding unit 11 Data buffer after processing 12 Output buffer control unit 13 Output buffer 14 Facsimile transmission modem 15 NCU 16 input buffer 17 code check unit 19 data processing unit 21 compression unit 22 output buffer 23 data communication buffer 24 input buffer 25 decompression unit

───────────────────────────────────────────────────── フロントページの続き (72)発明者 野間 伸彦 東京都目黒区下目黒2丁目3番8号 松 下電送株式会社内 (72)発明者 野口 修 東京都目黒区下目黒2丁目3番8号 松 下電送株式会社内 (72)発明者 宮本 栄 東京都目黒区下目黒2丁目3番8号 松 下電送株式会社内 (56)参考文献 特開 平4−324759(JP,A) 特開 昭58−175342(JP,A) 特開 平3−102967(JP,A) 特開 平2−75250(JP,A) ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Nobuhiko Noma 2-3-8 Shimomeguro, Meguro-ku, Tokyo Inside Matsushita Electric Transmission Co., Ltd. (72) Osamu Noguchi 2-3-8 Shimomeguro, Meguro-ku, Tokyo No. Matsushita Electric Transmission Co., Ltd. (72) Inventor Sakae Miyamoto 2-3-8 Shimomeguro, Meguro-ku, Tokyo Matsushita Electric Transmission Co., Ltd. (56) References JP 4-324759 (JP, A) JP 58-175342 (JP, A) JP-A-3-102967 (JP, A) JP-A-2-75250 (JP, A)

Claims (11)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 順次伝送されてくるデ−タ列を一時記憶
するバッファと、このバッファに蓄積されたデ−タ中に
ラインの区切りを示す特定符号が含まれているか否かを
検索する検出手段と、この検出手段により前記特定符号
が検索されたときに前記バッファの中のデータをその特
定符号で区切られたライン単位で読み出して次段のデー
タ処理手段に引き渡すデータ切り出し手段と、このデー
タ切り出し手段によって処理されていない前記バッファ
の中のデータが所定数以上ある場合に前記検索手段を起
動し、その検索により前記特定符号が検出されなかった
場合には、前記所定数に適宜な増量分を順次加えたデー
タ数を検索開始条件として、前記特定符号が検出される
まで前記検索手段を繰り返し起動する検索処理の実行制
御手段とを備えたことを特徴とするデータ処理装置。
1. A buffer for temporarily storing a data string sequentially transmitted, and a detection for searching whether or not a specific code indicating a line break is included in the data stored in the buffer. Means for reading out the data in the buffer in units of lines delimited by the specific code when the specific code is retrieved by the detection means, and transferring the data to the next-stage data processing means; When the number of data in the buffer that has not been processed by the cutout means is equal to or more than a predetermined number, the search means is started, and when the specific code is not detected by the search, an appropriate increase to the predetermined number is performed. And execution control means for a search process for repeatedly activating the search means until the specific code is detected, using the number of data sequentially added as search start conditions. A data processing device characterized by the following.
【請求項2】 バッファに入力されてくるデータの1ラ
インの平均データ数とその標準偏差に基づいて所定数を
設定した請求項1のデータ処理装置。
2. The data processing apparatus according to claim 1, wherein a predetermined number is set based on an average number of data of one line of data input to the buffer and a standard deviation thereof.
【請求項3】 符号デ−タをブロック単位毎に蓄積する
バッファメモリと、このバッファメモリ内の完成したデ
ータブロックからデータを通信回線へ送出しまた前記バ
ッファメモリ内の完成したデータブロックの送信をすべ
て終了した場合前記バッファメモリ内にデータブロック
が完成するまで0フィルを送出する送信手段と、前記バ
ッファメモリに符号デ−タを書込み、直前のデータブロ
ックが前記送信手段によりデ−タ送出中である場合、書
込みデ−タ量が所定ブロックサイズに満たなくとも前記
書込み中データブロックを完成したとみなして送信可能
ブロックとするデ−タ処理手段とを具備することを特徴
とするデ−タ処理装置。
3. A buffer memory for storing code data for each block, transmitting data from a completed data block in the buffer memory to a communication line, and transmitting a completed data block in the buffer memory. When all data has been transmitted, transmitting means for transmitting 0 fills until the data block is completed in the buffer memory, and code data are written in the buffer memory, and the immediately preceding data block is being transmitted by the transmitting means. Data processing means for determining that the data block being written is completed even if the amount of write data is less than a predetermined block size and making the data block a transmittable block. apparatus.
【請求項4】 デ−タ処理手段は、1ライン分の符号デ
ータを書き込んだ段階で、書き込み中データブロックを
完成させることを特徴とする請求項3記載のデ−タ処理
装置。
4. The data processing apparatus according to claim 3, wherein said data processing means completes the data block being written at the stage of writing one line of code data.
【請求項5】 符号デ−タをブロック単位毎に蓄積する
バッファメモリと、このバッファメモリ内の完成したデ
ータブロックからデータを通信回線へ送出しまた前記バ
ッファメモリ内の完成したデータブロックの送信をすべ
て終了した場合前記バッファメモリ内にデータブロック
が完成するまで0フィルを送出する送信手段と、前記バ
ッファメモリに符号デ−タを書込み、書込みデ−タ量が
所定ブロックサイズを越えた場合でも書込み中のデータ
ブロックの次データブロックが前記送出手段によりデ−
タ送出中であれば、所定ブロックサイズを越えても前記
バッファメモリの全容量が許す限り前記データブロック
に書込みを続けるデ−タ処理手段とを具備することを特
徴とするデ−タ処理装置。
5. A buffer memory for storing code data for each block, transmitting data from a completed data block in the buffer memory to a communication line, and transmitting a completed data block in the buffer memory. A transmission means for transmitting 0 fills until the data block is completed in the buffer memory when all data has been written, and writing coded data in the buffer memory, and writing even if the write data amount exceeds a predetermined block size. The next data block following the data block in the middle is transmitted by the transmitting means.
A data processing unit that continues to write to the data block as long as the total capacity of the buffer memory permits, even if the data exceeds a predetermined block size during data transmission.
【請求項6】 デ−タ処理手段は、書込み中データブロ
ックの次データブロックが送出中データブロックである
場合、前記送出中データブロックからデ−タが送出され
終わるまで前記書込み中のデータブロックを完成させな
いことを特徴とする請求項5記載のデ−タ処理装置。
6. The data processing means, if the data block next to the data block being written is a data block being sent, repeats the data block being written until the data is completely sent from the data block being sent. 6. The data processing device according to claim 5, wherein the data processing device is not completed.
【請求項7】 符号デ−タをブロック単位毎に蓄積する
バッファメモリと、このバッファメモリ内の完成したデ
ータブロックからデータを通信回線へ送出しまた前記バ
ッファメモリ内の完成したデータブロックの送信をすべ
て終了した場合前記バッファメモリ内にデータブロック
が完成するまで0フィルを送出する送信手段と、前記バ
ッファメモリに符号デ−タを書込み、現在書込み中のデ
ータブロックを完成させる際所定ブロックサイズを越え
ても最後の1ライン分のデ−タを書き込んだ時点でその
データブロックが完成したとみなして送信可能ブロック
とするデ−タ処理手段とを具備することを特徴とするデ
−タ処理装置。
7. A buffer memory for storing code data for each block, transmitting data from a completed data block in the buffer memory to a communication line, and transmitting a completed data block in the buffer memory. A transmission means for transmitting 0 fills until the data block is completed in the buffer memory when all the data blocks have been completed, and a code data being written in the buffer memory and exceeding a predetermined block size when completing the data block currently being written. The data processing device further comprises: data processing means for determining that the data block has been completed when the last one line of data has been written, and making the data block a transmittable block.
【請求項8】 所定デ−タが変換される符号デ−タを記
憶する第1の記憶手段と、前記所定デ−タを所定記憶位
置に記憶しかつ前記第1の記憶手段のアドレスを指す符
号インデックスを前記所定デ−タに関連づけて記憶する
第2の記憶手段と、前記所定デ−タの累積出現回数に応
じて前記符号インデックスを書き換えることで前記所定
データをその累積出現回数順に短い前記符号デ−タを割
り当てる処理を行うデ−タ処理手段と、このデ−タ処理
手段の制御により前記第1の記憶手段から得られた前記
符号データを通信回線に送出する送信手段とを備えたこ
とを特徴とするデ−タ処理装置。
8. A first storage means for storing code data into which predetermined data is converted, and said predetermined data is stored at a predetermined storage location and indicates an address of said first storage means. Second storage means for storing a code index in association with the predetermined data; and rewriting the code index in accordance with the cumulative number of occurrences of the predetermined data to shorten the predetermined data in the order of the cumulative number of occurrences. Data processing means for allocating code data; and transmission means for transmitting the code data obtained from the first storage means to a communication line under the control of the data processing means. A data processing apparatus characterized by the above-mentioned.
【請求項9】 第2の記憶手段に累積出現回数が1つ上
又は同等である所定デ−タのアドレスを示す昇順インデ
ックスを設け、デ−タ処理手段は第1の所定デ−タの累
積出現回数が1つ増加した場合前記第1の所定デ−タの
昇順インデックスを検索して累積出現回数が1つ上の第
2の所定デ−タを判定し、前記第1の所定デ−タの累積
出現回数と前記第2の所定データの累積出現回数と比較
し前記第1の所定デ−タの累積出現回数の方が大きい場
合前記第1の所定デ−タの符号インデックスと前記第2
の所定データの符号インデックスを書き換えて、符号イ
ンデックスの配列関係を変更する請求項8記載のデ−タ
処理装置。
9. An ascending index indicating an address of predetermined data whose cumulative appearance count is higher or equal to one in the second storage means, and the data processing means accumulates the first predetermined data. When the number of appearances increases by one, the ascending order index of the first predetermined data is searched to determine the second predetermined data whose cumulative appearance number is one higher, and the first predetermined data is determined. Is compared with the cumulative number of appearances of the second predetermined data, and when the cumulative number of occurrences of the first predetermined data is larger, the code index of the first predetermined data and the second
9. The data processing apparatus according to claim 8, wherein the code index of the predetermined data is rewritten to change the arrangement relationship of the code indexes.
【請求項10】 各入力符号データの伸張データをこの
伸張データの累積出現回数と対にして所定順序で固定し
て記憶する第1記憶手段と、前記各入力符号データを所
定順序で固定して記憶しかつ前記第1記憶手段のアドレ
スを指示しどの累積出現回数がどの入力符号データに対
応するかを関連付けるインデックスを前記各入力符号デ
ータに対応させて記憶する第2記憶手段と、前記入力符
号デ−タの累積出現回数に応じて前記インデックスを並
べ換えて短い入力符号デ−タを累積出現回数順の多い伸
張データに割り当てる処理を行うデータ処理手段とを備
えたことを特徴とするデ−タ処理装置。
10. A first storage means for storing decompressed data of each input code data in a predetermined order in combination with the cumulative number of appearances of the decompressed data, and fixing each of the input code data in a predetermined order. A second storage means for storing, in correspondence with each of the input code data, an index indicating an address of the first storage means and associating which cumulative appearance number corresponds to which input code data; Data processing means for rearranging the index in accordance with the cumulative number of appearances of the data and allocating short input code data to decompressed data having the largest cumulative appearance number. Processing equipment.
【請求項11】 各入力符号データの累積出現回数を所
定順序で固定して記憶する第1記憶手段と、前記各入力
符号データを所定順序で固定して記憶しかつ前記第1記
憶手段のアドレスを指示しどの累積出現回数がどの入力
符号データに対応するかを関連付けるインデックスを前
記各入力符号データに対応させて記憶する第2記憶手段
と、前記入力符号デ−タの累積出現回数に応じて前記イ
ンデックスを並べ換えるデータ処理手段とを備え、前記
インデックスは伸張データを示すコード情報で構成さ
れ、このインデックスに基づいて前記入力符号データを
復元することを特徴とするデ−タ処理装置。
11. A first storage means for storing a fixed number of cumulative occurrences of each input code data in a predetermined order, and an address of said first storage means for storing said input code data fixed in a predetermined order. And a second storage means for storing an index for associating which cumulative appearance number corresponds to which input code data in association with each of the input code data, and according to the cumulative appearance number of the input code data. A data processing means for rearranging the index, wherein the index is constituted by code information indicating decompressed data, and the input code data is restored based on the index.
JP1837193A 1992-02-19 1993-02-05 Data processing device Expired - Fee Related JP2907668B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1837193A JP2907668B2 (en) 1992-02-19 1993-02-05 Data processing device

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP3170992 1992-02-19
JP31968492 1992-11-30
JP4-31709 1992-11-30
JP4-319684 1992-11-30
JP1837193A JP2907668B2 (en) 1992-02-19 1993-02-05 Data processing device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP8364197A Division JP2971831B2 (en) 1997-04-02 1997-04-02 Data processing device

Publications (2)

Publication Number Publication Date
JPH06217148A JPH06217148A (en) 1994-08-05
JP2907668B2 true JP2907668B2 (en) 1999-06-21

Family

ID=27282182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1837193A Expired - Fee Related JP2907668B2 (en) 1992-02-19 1993-02-05 Data processing device

Country Status (1)

Country Link
JP (1) JP2907668B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58175342A (en) * 1982-04-07 1983-10-14 Fujitsu Ltd Data transmission controlling system
JPH0275250A (en) * 1988-09-09 1990-03-14 Mitsubishi Electric Corp Variable length encoding transmitter
JPH03102967A (en) * 1989-09-18 1991-04-30 Canon Inc Color image encoding system
JPH04324759A (en) * 1991-04-24 1992-11-13 Murata Mach Ltd Facsimile transmission method

Also Published As

Publication number Publication date
JPH06217148A (en) 1994-08-05

Similar Documents

Publication Publication Date Title
CA2263453C (en) A lempel-ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases
JP2713369B2 (en) Data compression apparatus and method
US5663721A (en) Method and apparatus using code values and length fields for compressing computer data
US6906644B2 (en) Encoding and decoding apparatus with matching length means for symbol strings
US5396595A (en) Method and system for compression and decompression of data
EP0880100A2 (en) Cache-based data compression/decompression
JP3141001B2 (en) Encoding method, data compressor, and recording medium recording computer program
JP2001507543A (en) Methods and means for processing information
EP0438955A1 (en) Data compression method
JP2907668B2 (en) Data processing device
JP2971831B2 (en) Data processing device
EP0438954A1 (en) Method of decoding compressed data
US5708431A (en) Method for compression coding of potentially unbounded integers
JP2940948B2 (en) Data compression method
US6028962A (en) System and method for variable encoding based on image content
US7580429B1 (en) System and methods for improving data compression
JP3105598B2 (en) Data compression method using universal code
JP3244793B2 (en) Data communication device
JPH06168097A (en) Data encoding system and data decoding system
JP3143029B2 (en) Data compression method and device, and data decompression method and device
JPH06326616A (en) Constituting method for huffman decoding table
CN117294764A (en) Method, device, equipment and storage medium for data compression and transmission
JP3143030B2 (en) Data compression method and device, and data decompression method and device
JPH07334344A (en) Data coding device
JPH05225215A (en) Electronic slip system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees