JPH03104421A - System and device for data compression and data decoder - Google Patents

System and device for data compression and data decoder

Info

Publication number
JPH03104421A
JPH03104421A JP24258089A JP24258089A JPH03104421A JP H03104421 A JPH03104421 A JP H03104421A JP 24258089 A JP24258089 A JP 24258089A JP 24258089 A JP24258089 A JP 24258089A JP H03104421 A JPH03104421 A JP H03104421A
Authority
JP
Japan
Prior art keywords
data
block
string
data block
predetermined
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.)
Pending
Application number
JP24258089A
Other languages
Japanese (ja)
Inventor
Tokuhiro Tsukiyama
築山 徳広
Osamu Hirose
修 広瀬
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.)
Hitachi Ltd
Hitachi Information and Telecommunication Engineering Ltd
Original Assignee
Hitachi Computer Peripherals Co Ltd
Hitachi 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 Hitachi Computer Peripherals Co Ltd, Hitachi Ltd filed Critical Hitachi Computer Peripherals Co Ltd
Priority to JP24258089A priority Critical patent/JPH03104421A/en
Publication of JPH03104421A publication Critical patent/JPH03104421A/en
Pending legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

PURPOSE:To improve the data compression rate and to enhance the utilizing efficiency of a recording medium by compressing a data coincident with a data string constituting a prescribed data block into a data string replaced with information of the number of data coincident consecutively, and identification information representing the location of the information of a data number in the replaced data string. CONSTITUTION:When a data of a 1st block is inputted entirely to a character compression circuit 6 repetitively, a control circuit 10 switches a signal line 17 and an output of a selector 5 is used as a data from a selector 18. When a data string of a 2nd block is inputted, a processing 9 compares it with an input data string of the 1st block stored in a buffer memory 3. When they are coincident, a signal line 12 is valid and an input data string of the 1st block and the same data of the input data string of the 2nd block inputted to a same data counter 13 generate the information of consecutive length. The data count inputted to the compression circuit 6 is compressed, and written in a buffer memory 8 through a selector 7.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は,データ圧縮方式、データ圧縮装置,データ復
元装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data compression method, a data compression device, and a data decompression device.

[従来の技術] ブロック化された複数のデータブロックより構成される
データ群を磁気テープ等に記録する場合、第4図(a)
に示すように,データブロックA−Cそのものを記録し
たのでは、テープ等への記録効率が悪いため、従来は、
連続するデータの相関性を利用してデータ量を圧縮して
いる。
[Prior Art] When recording a data group consisting of a plurality of divided data blocks on a magnetic tape or the like, the method shown in FIG. 4(a)
As shown in the figure, recording the data blocks A to C themselves would result in poor recording efficiency on tape, etc., so conventionally,
The amount of data is compressed by using the correlation of continuous data.

特開昭60−35373公報に記載の技術は、特に、デ
ータの読み取り方向が正方向でも逆方向でも圧縮された
データを復元可能とする繰り返し文字圧縮方式を使用し
て記録媒体の使用効率を向上させるものである。
The technology described in Japanese Patent Application Laid-Open No. 60-35373 improves the usage efficiency of recording media by using a repeated character compression method that allows compressed data to be restored regardless of whether the data is read in the forward or reverse direction. It is something that makes you

この技術においては、データブロック毎にデータ圧縮を
行い、データ圧縮実施しない時、第4図(a)に示す様
にデータブロックA−Dが記録されるものが,データ圧
縮され、第4図(b)に示す様にa = dの新たなデ
ータブロックとして磁気テープ上に記録される。図中の
IBG (データブロック間ギャップ)は、データブロ
ックとデータブロックの間に設け、データブロックの区
切りが解かる様にするものである。
In this technique, data compression is performed for each data block, and when data compression is not performed, data blocks A to D are recorded as shown in FIG. 4(a). As shown in b), a new data block with a = d is recorded on the magnetic tape. The IBG (inter-data block gap) in the figure is provided between data blocks so that the data blocks can be separated.

なお、この様なデータ圧縮の効果は、ブロック内のデー
タの自己相関が強い程、圧縮率が高まる。
Note that the effect of such data compression is that the stronger the autocorrelation of data within a block, the higher the compression rate.

[発明が解決しようとする課題] しかし、前記従来技術は、データ圧縮効率という点にお
いては不充分である。
[Problems to be Solved by the Invention] However, the above-mentioned conventional technology is insufficient in terms of data compression efficiency.

それは、多数のデータブロックより成る1ファイル内の
各データブロックは、同一バイト数であることか多く、
各データブロックは類似していることが経験上知られて
いるにもかかわらず、従来の技術は、このデータブロッ
ク間に存在する相関性をデータ圧縮に利用していないた
めである。
In many cases, each data block within a file consisting of multiple data blocks has the same number of bytes.
This is because, although it is known from experience that each data block is similar, conventional techniques do not utilize the correlation that exists between data blocks for data compression.

本発明は,このような従来技術の欠点を軽減し、よりデ
ータの圧縮率を向上させ、記録媒体の使用効率を向上さ
せることができるデータ圧縮方式、データ圧縮装置,お
よび、データ復元装置を提供することにある。
The present invention provides a data compression method, a data compression device, and a data restoration device that can alleviate the drawbacks of such conventional techniques, further improve the data compression rate, and improve the usage efficiency of recording media. It's about doing.

[課題を解決するための手段] 前記目的を達或するために、複数のデータブロックの圧
縮方式であって、所定のデータブロック以外のデータブ
ロックを構成するデータ列を,順次、前記所定のデータ
ブロックを構戒するデータ列と一致するデータを、連続
して一致したデータ数の情報で置き代えたデータ列と,
置き代えたデータ列における前記データ数の情報の位置
を示す識別情報とで表すことを特徴とするデータ圧縮方
式を提供する。
[Means for Solving the Problem] In order to achieve the above object, a compression method for a plurality of data blocks is provided, in which a data string constituting a data block other than a predetermined data block is sequentially compressed into the predetermined data. A data string in which the data that matches the data string that determines the block is replaced with information about the number of consecutively matching data,
A data compression method is provided, characterized in that the information is represented by identification information indicating the position of the information of the number of data in the replaced data string.

また、本発明は、前記目的達或するために、複数のデー
タブロックよりなる所定のデータグループ内の、所定の
データブロックのデータ列と前記所定のデータブロック
以外のデータブロックのデータ列とを個々のデータにつ
いて比較する手段と、比較した結果が同一の場合に同一
データの連続数を計数する計数手段と、連続する同一デ
ータを前記計数手段が計数した計数値に置き代えて新た
なデータ列を作成する手段と、所定の制御情報領域の、
前記新たなデータ列における計数値位置に対応した制御
ビットをセットする手段と、前記新たなデータ列と制御
情報領域の情報である制御情報とより前記所定のデータ
ブロック以外のデータブロックに相当する圧縮データブ
ロックを作成する手段と,圧縮データブロックと前記所
定のデータブロックとより圧縮データグループを作成す
る手段とを有することを特徴とするデータ圧縮装置を提
併する。
Further, in order to achieve the above-mentioned object, the present invention individually separates a data string of a predetermined data block and a data string of data blocks other than the predetermined data block within a predetermined data group consisting of a plurality of data blocks. means for comparing the data, a counting means for counting the consecutive number of identical data when the comparison results are the same, and a new data string by replacing the consecutive identical data with the count counted by the counting means. means for creating and a predetermined control information area;
means for setting a control bit corresponding to a count value position in the new data string, and compression corresponding to a data block other than the predetermined data block using the new data string and control information that is information in a control information area. A data compression device is provided, comprising means for creating a data block and means for creating a compressed data group from a compressed data block and the predetermined data block.

また、あわせて、本発明は、複数のデータブロックより
なるデータグループ内の、所定のデータブロック以外の
データブロックを、前記所定のデータブロックを構成す
るデータ列と一致するデータを、連続して一致したデー
タ数である計数値で置き代えたデータ列と、置き代えた
データ列における前記計数値の位置に対応した制御ビッ
トがセットされた制御情報とよりなる圧縮データブロッ
クと、前記所定のデータブロックと、を含んだ圧縮デー
タグループ内の圧縮データブロックの、制御情報の制御
ビットを参照して,前記置き換えられたデータ列中の前
記計数値を、同データグループの前記前記所定のデータ
ブロックのデータ列の、復元しようとするデータブロッ
クのデータ位置に対応する位置より、前記計数値分抽出
したデータに置き換える手段を有することを特徴とする
データ復元装置を提供する。
In addition, the present invention continuously matches data blocks other than a predetermined data block in a data group consisting of a plurality of data blocks with data that matches a data string constituting the predetermined data block. a compressed data block consisting of a data string replaced with a count value that is the number of data that has been replaced, and control information in which a control bit corresponding to the position of the count value in the replaced data string is set; and the predetermined data block. and, by referring to the control bits of the control information of the compressed data block in the compressed data group containing A data restoration device is provided, characterized in that it has means for replacing the data extracted by the count value from a position corresponding to a data position of a data block to be restored in a column.

なお、前記データ圧縮装置に、前記圧縮データグループ
を、さらに、繰り返し文字圧縮、ハフマンコードによる
圧縮等の所定の符号則で圧縮する手段を備えても良い。
Note that the data compression device may further include means for compressing the compressed data group using a predetermined coding rule, such as repeated character compression or Huffman code compression.

[作 用] 本発明に係るデータ圧縮方式によれば、所定のデータブ
ロック以外のデータブロックを構成するデータ列は、順
次、前記所定のデータブロックを構成するデータ列と一
致するデータを連続して一致したデータ数の情報で置き
代えたデータ列と、置き代えたデータ列における前記デ
ータ数の情報の位置を示す識別情報とに圧縮される。
[Function] According to the data compression method according to the present invention, a data string constituting a data block other than a predetermined data block is sequentially concatenated with data that matches a data string constituting the predetermined data block. The information is compressed into a data string replaced with information on the number of data that matches, and identification information indicating the position of the information on the number of data in the replaced data string.

また、本発明に係るデータ圧縮装置によれば、複数のデ
ータブロックよりなる所定のデータグループ内の、所定
のデータブロックのデータ列と前記所定のデータブロッ
ク以外のデータブロックのデータ列とを個々のデータに
ついて比較し、比較した結果が同一の場合には、同一デ
ータの連続数を計数する. また,連続する同一データを計数値に置き代えて新たな
データ列を作成すると,共に、所定の制御情報領域の、
前記新たなデータ列における計数値位置に対応した制御
ビットをセッ1−する。
Further, according to the data compression device according to the present invention, the data string of a predetermined data block and the data string of data blocks other than the predetermined data block in a predetermined data group consisting of a plurality of data blocks are individually separated. Compare the data, and if the comparison results are the same, count the number of consecutive identical data. In addition, when a new data string is created by replacing continuous identical data with count values, both
A control bit corresponding to the count value position in the new data string is set to 1-.

そして、前記新たなデータ列と制御情報領域の情報であ
る制御情報とより前記所定のデータブロック以外のデー
タブロックに相当する圧縮データブロックを作威し、さ
らに、圧縮データブロックと前記所定のデータブロック
とより圧縮データグループを作成する。
Then, a compressed data block corresponding to a data block other than the predetermined data block is created using the new data string and control information that is information in the control information area, and further, a compressed data block corresponding to a data block other than the predetermined data block is created. and create a compressed data group.

また、本発明に係るデータ復元装置によれば、圧縮デー
タブロックの、制御情報の制御ビットを参照して、前記
置き換えられたデータ列中の前記計数値を、同データグ
ループの前記前記所定のデータブロックのデータ列の,
復元しようとするデータブロックのデータ位置に対応す
る位置より、前記計数値分抽出したデータに置き換える
Further, according to the data restoration device according to the present invention, the count value in the replaced data string is determined by referring to the control bit of the control information of the compressed data block. of the data string of the block,
Replace with the data extracted by the count value from a position corresponding to the data position of the data block to be restored.

なお、前記データ圧縮装置においては、前記圧縮データ
グループを,繰り返し文字圧縮、ハフマンコードによる
圧縮等の所定の符号則でさらに圧縮しても良い。
In the data compression device, the compressed data group may be further compressed using a predetermined code rule such as repeated character compression or Huffman code compression.

以上のように、1データグループの所定量を制限すれば
第3ブロック目以降のみを復元する場合でも、第1ブロ
ックの復元に多大な時間が必要とならないため、第3ブ
ロック目以降のみのデータ復元でも高速に復元可能であ
る。
As described above, if the predetermined amount of one data group is limited, even if only the third block and subsequent blocks are to be restored, a large amount of time is not required to restore the first block. Restoration can also be done quickly.

なお、磁気テープに圧縮データを記録する場合には、一
般的に順序読み出しが多く、前記のようなランダム読み
出しは少ないので、前記のような第3ブロック目以降の
みのデータ復元のケースは起きにくい。
In addition, when recording compressed data on magnetic tape, there are generally many sequential reads, and random reads like the one mentioned above are rare, so the case of restoring data only from the third block onward is unlikely to occur. .

また、磁気テープに圧縮データを記録する場合には、従
来技術の如くブロック間ギャプの如く非データ領域で区
分することを実施せずに、圧縮データとして存在しない
データ(識別マーク)を使用してブロック間ギャプの代
用をするようにし、記録媒体の使用効率さらに向上させ
ても良い。この場合、複数ブロックを含むデータグルー
プ毎に、従来のギャプ等の非データ領域を設けることが
望ましい。
Furthermore, when recording compressed data on a magnetic tape, data that does not exist as compressed data (identification marks) is used instead of dividing it by non-data areas such as gaps between blocks as in the conventional technology. The gap between blocks may be substituted to further improve the usage efficiency of the recording medium. In this case, it is desirable to provide a conventional non-data area such as a gap for each data group including a plurality of blocks.

(以下余白) [実施例] 以下、本発明の一実施例を説明する。(Margin below) [Example] An embodiment of the present invention will be described below.

第1図に、本実施例に係るデータ圧縮装置の構成を示す
FIG. 1 shows the configuration of a data compression device according to this embodiment.

図中、3はデータグループの第エデータブロックを保持
するバッファ、5は入力データIN2とセレクタ18よ
りのデータとデータ″0”を選択出力するセレクタ、6
はセレクタ5よりのデータを繰返し文字圧縮する繰返し
文字圧縮回路、7はブロック間識別マークMを挿入する
為のセレクタ、8は出力データを保持するバッファ、9
はバッファ3にほじされたデータブロックと入力データ
ブロックを比較する比較器、13は比較器9の比較結果
より同一データの連続数を計数する同一データ計数器、
14は後述する制御ビットを発生する制御ビット生戊、
18は同一データ計数器の計数結果と制御ビット生或が
発生した制御ビットと人力データIN2のいづれかを選
択出力するセレクタ、10は制御ビット生成等、全体を
制御する制御回路である。
In the figure, 3 is a buffer that holds the data block of the data group, 5 is a selector that selects and outputs the input data IN2, the data from the selector 18, and data "0", and 6
is a repeating character compression circuit that repeatedly compresses data from selector 5, 7 is a selector for inserting an inter-block identification mark M, 8 is a buffer for holding output data, 9
13 is a comparator that compares the data block extracted into the buffer 3 with the input data block; 13 is an identical data counter that counts the number of consecutive identical data from the comparison result of the comparator 9;
14 is a control bit generator that generates a control bit to be described later;
18 is a selector that selects and outputs either the count result of the same data counter, the control bit generation, or the generated control bit and the manual data IN2; 10 is a control circuit that controls the entire control bit generation, etc.

以下、本データ圧縮装置の動作について説明する。The operation of this data compression device will be explained below.

本データ圧縮装置は、一例として、入力データ列INI
信号2、バイト単位のデータの転送指示信号REQI信
号l、ブロック単位のデータ転送終了信号ENDI信号
の等ホスト装置等よりの入力を受け、データ圧縮し、出
力データ列OUT等を出力するものとした。
As an example, this data compression device uses an input data string INI
It receives input from the host device, etc., such as signal 2, byte-based data transfer instruction signal REQI signal 1, and block-based data transfer end signal ENDI signal, compresses the data, and outputs the output data string OUT, etc. .

まず、所定のデータグループの第1ブロックの入力デー
タ列が,REQI信号1に同期してバス線2から入力さ
れると、入力されたデータ列は、ENDI (データ転
送終了信号)4が有効となるまで1バイト単位に、順次
バツファメモリ3に貯えられる。
First, when the input data string of the first block of a predetermined data group is input from the bus line 2 in synchronization with the REQI signal 1, the input data string is processed when the ENDI (data transfer end signal) 4 is valid. The data is sequentially stored in the buffer memory 3 in 1-byte units until the number of data is reached.

また、これと同時に、第1ブロックの入力データは、セ
レクタ5を通り、繰返し文字圧縮回路6に入力され、圧
縮され、セレクタ7を通り、バツファメモリ9に貯えら
れる。
At the same time, the input data of the first block passes through the selector 5, is input to the repetitive character compression circuit 6, is compressed, passes through the selector 7, and is stored in the buffer memory 9.

次に、第1ブロックのデータが全て繰返し文字圧縮回路
6に入力されると、第2ブロック以降の処理の為、制御
回路10は、信号線17を切り替え、セレクタ5の出力
をセレクタ18よりのデータとする。
Next, when all of the data of the first block is input to the repetitive character compression circuit 6, the control circuit 10 switches the signal line 17 and outputs the output of the selector 5 from the selector 18 in order to process the second and subsequent blocks. Data.

また、制御回路10は、第1ブロックの入力データ列全
てが圧縮回路6の処理を終え、バツファメモリ8に格納
されると、第2ブロックの入力データ列との境目を明確
にするため,ブロック間識別マークと呼ぶデータMを2
バイト、セレクタ7よりバッファメモリ8に送る。この
ブロック間識別データMは、繰返し文字圧縮による圧縮
後データ列中レこは絶対に出現し得ない2バイトの連続
データとすることで、ブロックの境目を明確に示すこと
ができる。
Furthermore, when all the input data strings of the first block have been processed by the compression circuit 6 and stored in the buffer memory 8, the control circuit 10 controls the input data string between the blocks in order to clarify the boundary with the input data string of the second block. Data M called identification mark is 2
The byte is sent from the selector 7 to the buffer memory 8. This inter-block identification data M is 2-byte continuous data that can never appear in a data string after compression by repeated character compression, thereby making it possible to clearly indicate the boundaries between blocks.

次に、第2ブロックのデータ列が入力されるとこの入力
データは、比較器9にて、バツファメモリ3に貯えられ
ている第1ブロックの入力データ列との比較が行なわれ
る。
Next, when the data string of the second block is inputted, this input data is compared with the input data string of the first block stored in the buffer memory 3 in the comparator 9.

なお、このときバツファメモリ3は制御回路10により
信号線11を通して,書き込みから読み出し状態へと切
り替えられており,メモリアドレスは、ブロックの終了
を示すEND1信号4により初期化された後、第2ブロ
ックのREQ信号1により順次加算されていく。これに
より,比較器9では、バスm23上の第1ブロシクの入
力データ列と、バス線2の第2ブロックの入力データ列
との比較が行なわれる, 比較器9で比較された結果、一致している場合には、信
号線12を有効にする。この信号線■2は、制御回路1
0および同一データ計数器13に入力される。
At this time, the buffer memory 3 is switched from the write state to the read state by the control circuit 10 through the signal line 11, and the memory address is initialized by the END1 signal 4 indicating the end of the block, and then the buffer memory 3 is switched from the write state to the read state by the control circuit 10 through the signal line 11. Sequential addition is performed by REQ signal 1. As a result, the comparator 9 compares the input data string of the first block on the bus m23 with the input data string of the second block of the bus line 2. If so, enable signal line 12. This signal line ■2 is the control circuit 1
0 and the same data are input to the counter 13.

そして、同一データ計数器13では、第1ブロックの入
力データ列と、第2ブロックの入力データ列の同じデー
タが連続する長さ情報を生成するため、信号線12が有
効な間.REQ信号lにより計数器を加算し、計数結果
をデータカウント値としてバス15に出力する。
Since the same data counter 13 generates length information in which the same data of the input data string of the first block and the input data string of the second block are continuous, the same data counter 13 generates length information in which the same data of the input data string of the first block and the input data string of the second block are continuous. The counter adds up in response to the REQ signal 1, and outputs the counting result to the bus 15 as a data count value.

一方,制御回路10においては、信号線12が有効から
無効になった時点で、信号線16によりセレクタ18を
切り替えて、バス線15上のデータカウント値を、圧縮
回路6八導く。
On the other hand, in the control circuit 10, when the signal line 12 changes from valid to invalid, the selector 18 is switched by the signal line 16, and the data count value on the bus line 15 is guided to the compression circuit 68.

圧縮回路6へ入力されたデータカウント値、は圧縮され
セレクタ7を通ってバッファメモリ8へ書き込まれる。
The data count value input to the compression circuit 6 is compressed and written to the buffer memory 8 through the selector 7.

また、制御回路10は、データとして同一データ計数値
が出力されたことを示す制御ビットを生或するため、信
号線l9を通して,制御ビット生成回路工4にピットセ
ット信号を送る。
Further, the control circuit 10 sends a pit set signal to the control bit generation circuit 4 through the signal line 19 in order to generate a control bit indicating that the same data count value has been output as data.

制御ビット生成回路14では、信号線工9にタイミング
をとって、制御回路10からの信号線24を取り込む。
The control bit generation circuit 14 takes in the signal line 24 from the control circuit 10 at the timing of the signal linework 9.

信号線24はバス[27が同一データ計数値の場合+j
lNにセットされる信号である。
The signal line 24 is the bus [+j if 27 is the same data count value
This is a signal set to IN.

ところで、同一データ力ウンタエ3のカウンタ幅は、本
例においては、8bit幅(O〜255)までの数値を
表現可としており、万一,同一データ計数器13がオー
バーフローする場合は、キャリー信号20を出力するこ
とにより、一旦、同一データ計数値を圧縮回路6に送り
,制御回路10からのリセット信号2工にて、計数値を
クリアした後、再び計数する。もちろん、キャリーによ
る同−データ計数値出力の際も、制御ビット生成の為、
制御回路10は、信号線19および信号線24がセッ1
・する。
By the way, the counter width of the same data counter 3 is capable of expressing numerical values up to 8 bit width (0 to 255) in this example, and in the event that the same data counter 13 overflows, the carry signal 20 By outputting , the same data count value is once sent to the compression circuit 6, and after the count value is cleared by the reset signal 2 from the control circuit 10, it is counted again. Of course, when outputting the same data count value by carry, due to control bit generation,
The control circuit 10 has a signal line 19 and a signal line 24 connected to each other.
·do.

一方、比較器9で、バス線2とバス線23との比較結果
が不一致で、信号線12が無効である場合には、制御回
路IOは、不一致データに対応して信号線24をクリア
し、信号線l9をセットする。これにより、制御ビット
生或回路14にu O 7+を取り込む。
On the other hand, if the comparison result between the bus line 2 and the bus line 23 by the comparator 9 is inconsistent and the signal line 12 is invalid, the control circuit IO clears the signal line 24 in response to the inconsistent data. , set the signal line l9. As a result, u O 7+ is taken into the control bit generation circuit 14.

また、これと同時に,制御回路10は、信号線16によ
ってセレクタ18を切り替え、第2ブロックの入力デー
タをバス線2より圧縮回路6に導く。
At the same time, the control circuit 10 switches the selector 18 using the signal line 16 and guides the input data of the second block to the compression circuit 6 via the bus line 2.

以降、制御回路10は,信号fil2が無効の間は、不
一致データ1バイト毎に制御ビットII O uを制御
ビット生戊回路14に取り込ませる。
Thereafter, while the signal fil2 is invalid, the control circuit 10 causes the control bit generation circuit 14 to take in the control bit II O u for each byte of mismatched data.

ところで、データ列の比較が,比較器9で進むと、制御
ビット生或回路工4内のレジスタが満杯になる。このこ
とは、FULL信号22を有効にすることで、制御回路
10に伝えられ、制御回路10では、信号線16により
セレクタ18を切り替えて制御ビット列(8bit)を
圧縮回路6へ送る。
By the way, as the comparison of the data strings progresses in the comparator 9, the register in the control bit generation circuit 4 becomes full. This is communicated to the control circuit 10 by enabling the FULL signal 22, and the control circuit 10 switches the selector 18 through the signal line 16 and sends the control bit string (8 bits) to the compression circuit 6.

この結果第2ブロック以降のデータ列に対して圧縮回路
6へ送られるデータ列は、8バイトに1回の割合で,制
御ビット列が挿入されることになる。このようすを図示
したものが第3図である。
As a result, the control bit string is inserted once every 8 bytes in the data strings sent to the compression circuit 6 for the second and subsequent blocks. FIG. 3 illustrates this situation.

これによれば、同一データカウントイ直81、81aお
よび8lbに対応する制御ビッI〜は“1”にセットさ
れ9バイト目ごとに付加(82、82a)される。
According to this, the control bits I~ corresponding to the same data count numbers 81, 81a and 8lb are set to "1" and added (82, 82a) every 9th byte.

ところで、領域83に付加されている“OO”データ2
バイトは、制御ビットを含むバイトデータが必ず8バイ
トおきにくるようにする為、データが8バイトに満たな
いで終了したとき付加するものであり、このとき対応す
る制御ビットは必ずII I ITとすることにより、
復元時、この不要データを分離可能となる。
By the way, “OO” data 2 added to area 83
A byte is added when the data ends with less than 8 bytes in order to ensure that the byte data including the control bit comes every 8 bytes, and in this case, the corresponding control bit is always II I IT. By doing so,
When restoring, this unnecessary data can be separated.

なお、この11 0 0 I+データ付加時には、制御
回路10が信号線24をセットし、信号線工9により制
御ビットをセットすると同時に、信号線l7を切り替え
てセレクタ5からは“OO”データが出力されるように
して、信号線28のタイミングで圧縮回路6へ転送する
Note that when adding this 11 0 0 I+ data, the control circuit 10 sets the signal line 24, and the signal wire operator 9 sets the control bit, and at the same time switches the signal line 17 so that the selector 5 outputs "OO" data. The data is transferred to the compression circuit 6 at the timing of the signal line 28.

この8バイトに満たないデータの処理を制御ビッi・生
成回路14よりのFULL信号22が有効となるまで続
け、FULL信号22が有効となった時点で、制御回路
10は信号線16、17を切り替えバス線25からのデ
ータを圧縮回路6へ導く。
This processing of data less than 8 bytes is continued until the FULL signal 22 from the control bit i/generation circuit 14 becomes valid, and at the time the FULL signal 22 becomes valid, the control circuit 10 connects the signal lines 16 and 17. Data from the switching bus line 25 is guided to the compression circuit 6.

以上の入力データブロックの各処理が終了したら,そし
て,ブロック間識別データを出力すべく,制御回路10
は、信号線26にてブロック間識別マークMを選択し、
信号線29に同期して2バイト、バッファメモリ8に送
る。
After each process of the input data blocks described above is completed, the control circuit 10 outputs the inter-block identification data.
selects the inter-block identification mark M with the signal line 26,
Two bytes are sent to the buffer memory 8 in synchronization with the signal line 29.

さらに、ここまでの処理を、バツファメモリ8が、所定
のデータ量に達っするまで、第3ブロック、第4ブロッ
ク・・の入カデータ列について行う。
Further, the processing up to this point is performed for the input data strings of the third block, the fourth block, etc. until the buffer memory 8 reaches a predetermined amount of data.

バッファメモリ8は、所定のデータ量に達した時点で4
3号線30により、その旨制御回路に通知する。これを
受け、制御回路1oではその時点までのバッファメモリ
8内のデータを、新たな1ブロックのデータグループと
してバス線31へ出カする。END1a37信号を有効
にする,以降、次の入力データエN2があれば,以上の
処理を繰り返す。
When the buffer memory 8 reaches a predetermined amount of data, the buffer memory 8
The control circuit is notified of this via the No. 3 line 30. In response to this, the control circuit 1o outputs the data in the buffer memory 8 up to that point to the bus line 31 as a new data group of one block. After the END1a37 signal is enabled, the above process is repeated if there is next input data N2.

ところで、磁気テープ記録装置等は、END信号により
、記録データに前記IBGを付加するため、以上のよう
にENDI信号4に代えてENDI a信号37を有効
にして出力することにより、前記IBGは、データブロ
ック毎にでは無く、データグループ毎に付加されること
になる.また,制御ビットは8バイト毎に挿入せず、デ
ータ群の後ろにまとめて挿入するようにしても良い。
By the way, since a magnetic tape recording device or the like adds the IBG to recorded data using the END signal, by validating and outputting the ENDI a signal 37 instead of the ENDI signal 4 as described above, the IBG is It will be added to each data group, not to each data block. Further, the control bits may not be inserted every 8 bytes, but may be inserted all at the end of the data group.

また,圧縮回路6については、特に繰返し文字圧縮を行
うものに限らず、他の圧縮を行うものでも同様に実現で
き,また、効果がある.なお、以上の説明中に表れなか
った信号4132、32および34はデータの転送拒否
信号、信号線35、36は、転送指示信号である。
Furthermore, the compression circuit 6 is not limited to one that specifically performs repeated character compression, but can be similarly implemented and effective with other types of compression. Note that signals 4132, 32, and 34, which did not appear in the above explanation, are data transfer refusal signals, and signal lines 35, 36 are transfer instruction signals.

次に本実施例に係るデータ復元装置について説明する。Next, a data restoration device according to this embodiment will be explained.

第2図に本実施例に係るデータ復元装置の構成を示す。FIG. 2 shows the configuration of the data restoration device according to this embodiment.

図中、43は復元対象である圧縮されたデータグループ
を保持するバッファ、44、49は繰返し文字圧縮デー
タ復元器、45は復元器44により復元された第lブロ
ックデータを保持するバッファ、46は全体の動作を制
御する制御回路、48はバッファ45よりのデータと制
御回路よりのデータを切り替えるセレクタである。
In the figure, 43 is a buffer that holds the compressed data group to be restored, 44 and 49 are repetitive character compressed data restorers, 45 is a buffer that holds the l-th block data restored by the restorer 44, and 46 is a buffer that holds the compressed data group to be restored. A control circuit 48 that controls the overall operation is a selector that switches between data from the buffer 45 and data from the control circuit.

以下、本データ復元装置の動作について説明する。The operation of this data restoration device will be explained below.

本データ復元装置は、一例として,記録装置等より入力
データ列IN2信号42,バイト単位のデータの転送指
示イa号REQ2信号41.ブロック単位のデータ転送
終了信号END2信号等記録装置等よりホスト装置等よ
りの入力を受け、データ圧縮を復元し、出力データ列O
UT等を出方するものとした。
For example, this data restoration device receives an input data string IN2 signal 42 from a recording device or the like, a data transfer instruction number a REQ2 signal 41 . Receives input from the host device, etc. from the recording device, etc., such as the END2 signal, which is the data transfer end signal in block units, restores the data compression, and outputs the data string O.
It was assumed that UT, etc. would appear.

まず、圧縮された複数のデータブロックを含む1つのデ
ータグループは、REQ2信号41に同期しバス線42
から入力される。
First, one data group including a plurality of compressed data blocks is transmitted to the bus line 42 in synchronization with the REQ2 signal 41.
Input from

入力データグループは、バッファメモリ43に全て格納
されると同時に、第1番目のブロックに相当するデータ
部(はじめて、ブロック間識別マークが検出されるまで
のデータ列)については、復元回路44にてデータを復
元処理した後、バッファメモリ45に貯える。
The input data group is all stored in the buffer memory 43, and at the same time, the data portion corresponding to the first block (the data string until the inter-block identification mark is detected for the first time) is stored in the restoration circuit 44. After the data is restored, it is stored in the buffer memory 45.

以降、第1番目のブロックに相当するデータ列の出力が
要求される場合、制御回路46は信号線47によってセ
レクタ48をバッファメモリ45のデータを選択出力す
るように制御する。
Thereafter, when output of the data string corresponding to the first block is requested, the control circuit 46 controls the selector 48 via the signal line 47 to selectively output the data in the buffer memory 45.

また、第2番目以降のブロックが要求される場合には、
バッファメモリ43より、必要なブロックのデータが前
記復元回路44と同じ方式の復元回路49に送られ、復
元され、制御回路46に入力される。
Also, if the second or subsequent blocks are requested,
The data of the necessary block is sent from the buffer memory 43 to a restoration circuit 49 of the same type as the restoration circuit 44, restored, and input to the control circuit 46.

制御回路46では,9バイトを1単位として第2番目以
降のブロックのデータ復元処理を行う。
The control circuit 46 performs data restoration processing for the second and subsequent blocks using 9 bytes as one unit.

制御回路46に入力されるデータは,前記第3図で示し
た8バイトのデータの次に1バイトの制御ビット列が付
加される形式となっている。
The data input to the control circuit 46 has a format in which a 1-byte control bit string is added next to the 8-byte data shown in FIG.

制御回路46は、9バイト目の制御ビット列(第3図8
2および82a)中u 1 nになっているビットに対
応するバイトのデータ(81、81a、8lbおよび8
3)を同一データ計数値であると見なし、制御回路46
は,そのデータ位置より計数値に相当する数のデータを
バッファメモリ45から出力するよう、信号線5oによ
りバッファ45を操作し、信号腺47によりセレクタ4
8をバス線51を選択出力するよう制御する。
The control circuit 46 controls the control bit string of the 9th byte (see FIG.
Byte data (81, 81a, 8lb and 8
3) are considered to be the same data count value, and the control circuit 46
operates the buffer 45 through the signal line 5o so as to output from the buffer memory 45 a number of data corresponding to the count value from the data position, and the selector 4 through the signal gland 47.
8 is controlled to selectively output the bus line 51.

また、制御回路46は、9バイト目のデータのビットが
11 0 17になっている部分に相当するデータバイ
ト(84.84a、84bおよび84c)を、制御回路
46に取り込んだデータよりそのまま出力するよう、信
号線47によりセレクタ48を切り替え、バス852を
OUT信号65として選択出力させる。
Further, the control circuit 46 outputs the data bytes (84.84a, 84b and 84c) corresponding to the part where the bits of the 9th byte of data are 11 0 17 as is from the data taken into the control circuit 46. Thus, the selector 48 is switched by the signal line 47 to selectively output the bus 852 as the OUT signal 65.

以上の処理を8バイト分終了した時点で制御回路46は
、新たな9バイトを,復元回路49より受け取り,以上
の第2ブロック以降のブロックの処理を同様に1ブロッ
クについて繰り返す。
When the above processing is completed for 8 bytes, the control circuit 46 receives 9 new bytes from the restoration circuit 49, and repeats the above processing for the second block and subsequent blocks in the same manner for one block.

もし、ブロック間識別マークで示されるデータブロック
の終りで、制御ビットがIt I I+であり相当する
データバイトが、同一データ計数値であることを示して
いるが、計数値がゼロの場合は、第3図83で示すデー
タは、圧縮時にデータ長が8バイトで割りきれなかった
場合に余ったデータバイトに、ダミーデータとして付加
されたデータを示しているので、制御回路46は、この
データバイトを削除する。
If the control bit is It I I+ at the end of the data block indicated by the inter-block identification mark, indicating that the corresponding data bytes have the same data count value, but the count value is zero, The data shown in FIG. 3 83 indicates data added as dummy data to the remaining data bytes when the data length was not divisible by 8 bytes during compression. Delete.

以上、1つのデータブロックの復元が終了したら制御回
路46は、END信号53を出力する。
When the restoration of one data block is completed, the control circuit 46 outputs the END signal 53.

そして、さらに,ここまでの処理を、バッファメモリ4
3が空になるまで実行することにより、読み込んだ1グ
ループデータ中の全てのデータブロックについての復元
を実行する。
Furthermore, the processing up to this point is performed in the buffer memory 4.
3 until it becomes empty, all data blocks in one group of data that have been read are restored.

なお、必要なブロック位置の検出は、END信号54と
、制御回路46内で検出される、ブロック間識別マーク
を計数することにより、可能であるため,任意のデータ
ブロックの復元が可能である。この場合、1データグル
ープを、バッファメモリ43に読み込ん、だ後,第1ブ
ロックの復元を終了してバッファメモリ45に記録し、
その後、前記手段で特定するデータブロックを検出して
,前記同様の手段で、その該当するデータブロックを復
元する。
Note that since the necessary block position can be detected by counting the END signal 54 and the inter-block identification marks detected within the control circuit 46, it is possible to restore any data block. In this case, after reading one data group into the buffer memory 43, the restoration of the first block is completed and recorded into the buffer memory 45,
Thereafter, the specified data block is detected by the means described above, and the corresponding data block is restored using the same means as described above.

また、逆方向の復元についても、制御ビットを基に、前
記同様の復元が可能となる。
Furthermore, the same restoration as described above is also possible in the reverse direction based on the control bits.

なお、上記復元処理の説明中、説明していない信号線5
5、56、57および58は、有効データの転送信号,
信号線59.60、6lおよび62は、データ転送拒否
信号、信号B63および64はバッファメモリのREA
D/WRITE切替信号である。
In addition, during the explanation of the above restoration process, the signal line 5 which is not explained
5, 56, 57 and 58 are valid data transfer signals;
Signal lines 59, 60, 6l and 62 are data transfer rejection signals, and signals B63 and 64 are buffer memory REA signals.
This is a D/WRITE switching signal.

以上説明したように、本実施例によれば、特に磁気テー
プ等データの、順書き込み、順読み出しのデータ記憶装
置では、各データブロック間において類似性がある特徴
を利用して、第2ブロック目以降のデータを、第エブロ
ックのデータを基に,データが一致している部分のデー
タバイト長の情報と、不一致データの情報と、バイト長
の情報か不一致データの情報なのかを示す制御バイト情
報とに圧縮することにより、データの圧縮率が向上する
As explained above, according to the present embodiment, especially in a data storage device such as a magnetic tape that performs sequential writing and sequential reading of data, the second block is The subsequent data is based on the data of the 1st eblock, and includes information on the data byte length of the part where the data matches, information on the mismatched data, and a control byte that indicates whether it is the byte length information or the mismatched data. By compressing information into data, the compression rate of data is improved.

また,第1ブロックのデータおよび,前記第2ブロック
目以降の圧縮情報を特定の圧縮手段でさらに圧縮処理を
することにより、より高い圧縮が可能となる。
Furthermore, by further compressing the data of the first block and the compressed information of the second and subsequent blocks using a specific compression means, higher compression becomes possible.

さらに、また、データの正方向、逆方向復元において上
記圧縮された複数データブロックを特定の所容量近くに
なるまで結合し、そのデータグループを新しいデータブ
ロックとすることにより、従来のデータブロックとデー
タブロック間を非データ領域IBGで分離している方式
より圧縮データ内に存在し得ない情報(ブロック間識別
マーク)を利用することにより前記非データ領域を削減
できるのでさらに記録媒体の効率を向上させることがで
きる。また、あらかじめ,圧縮されたデータグループの
第1ブロックのデータを復元して第2ブロック目以降の
復元の基となるように備えることにより,速やかな復元
処理実施が可能となる。
Furthermore, when restoring data in the forward and reverse directions, the compressed multiple data blocks are combined until they reach a specific capacity, and that data group is used as a new data block. Compared to a method in which blocks are separated by a non-data area IBG, the non-data area can be reduced by using information that cannot exist in compressed data (inter-block identification mark), which further improves the efficiency of the recording medium. be able to. Further, by restoring the data of the first block of the compressed data group in advance and preparing it as a basis for restoring the second and subsequent blocks, it becomes possible to carry out the restoration process quickly.

なお、以上説明した圧縮装置、復元装置は、特に、計算
機システム中央処理装置と磁気テープ記録装置との間に
介在するMTコントローラや磁気テープ記録装置の制御
部分に組み込んで利用することができる他、他の記録装
置や記録装置コントローラや通信装置等に組み込んで利
用することができる。
The compression device and the decompression device described above can be used by being incorporated into the MT controller interposed between the computer system central processing unit and the magnetic tape recording device or the control part of the magnetic tape recording device. It can be used by being incorporated into other recording devices, recording device controllers, communication devices, etc.

[発明の効果] 以上のように本発明によれば、よりデータの圧縮率を向
上させ、記録媒体等の使用効率を向上させることができ
るデータ圧縮方式、データ圧縮装置、および,データ復
元装置を提供することができる。
[Effects of the Invention] As described above, the present invention provides a data compression method, a data compression device, and a data restoration device that can further improve the data compression rate and improve the usage efficiency of recording media, etc. can be provided.

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

第1図は実施例に係るデータ圧縮装置の構成を示すブロ
ック図、第2図は実施例に係るデータ復元装置の構成を
示すブロック図、第3図は実施例に係る第2ブロック目
以降のブロック間圧縮前データ列とブロック間圧縮され
たデータ列の関係を示す説明図、第4図は従来のデータ
圧縮技術による媒体上での記録状態を示す説明図である
。 3・・・バッファメモリ、6・・・繰り返し文字圧縮,
8・・・バッファメモリ、9・・・比較器.10・・・
制御回路、13・・・同一データ計数器、14・・・制
御ビット生成器、43・・・バッファメモリ、44・・
・復元回路、45・・・バッファメモリ、46・・・制
御回路、49・・・復元回路。
FIG. 1 is a block diagram showing the configuration of a data compression device according to the embodiment, FIG. 2 is a block diagram showing the configuration of the data decompression device according to the embodiment, and FIG. 3 is a block diagram showing the configuration of the data compression device according to the embodiment. FIG. 4 is an explanatory diagram showing the relationship between a data string before inter-block compression and a data string subjected to inter-block compression. FIG. 4 is an explanatory diagram showing a state of recording on a medium using a conventional data compression technique. 3... Buffer memory, 6... Repeated character compression,
8... Buffer memory, 9... Comparator. 10...
Control circuit, 13... Same data counter, 14... Control bit generator, 43... Buffer memory, 44...
- Restoration circuit, 45... Buffer memory, 46... Control circuit, 49... Restoration circuit.

Claims (1)

【特許請求の範囲】 1、複数のデータブロックの圧縮方式であって、所定の
データブロック以外のデータブロックを構成するデータ
列を、 順次、前記所定のデータブロックを構成するデータ列と
一致するデータを、連続して一致したデータ数を示す情
報で置き換えたデータ列と、置き代えたデータ列におけ
る前記データ数の情報の位置を示す識別情報とで表すこ
とを特徴とするデータ圧縮方式。 2、複数のデータブロックよりなる所定のデータグルー
プ内の、所定のデータブロックのデータ列と前記所定の
データブロック以外のデータブロックのデータ列とを個
々のデータについて比較する手段と、比較した結果が同
一の場合に同一データの連続数を計数する計数手段と、
連続する同一データを前記計数手段が計数した計数値に
置き換えて新たなデータ列を作成する手段と、所定の制
御情報領域の、前記新たなデータ列における計数値位置
に対応した制御ビットをセットする手段と、前記新たな
データ列と制御情報領域の情報である制御情報とより前
記所定のデータブロック以外のデータブロックに相当す
る圧縮データブロックを作成する手段と、圧縮データブ
ロックと前記所定のデータブロックとより圧縮データグ
ループを作成する手段とを有することを特徴とするデー
タ圧縮装置。 3、複数のデータブロックよりなるデータグループ内の
、所定のデータブロック以外のデータブロックを、前記
所定のデータブロックを構成するデータ列と一致するデ
ータを、連続して一致したデータ数である計数値で置き
代えたデータ列と、置き代えたデータ列における前記計
数値の位置に対応した制御ビットがセットされた制御情
報とよりなる圧縮データブロックと、 前記所定のデータブロックと、 を含んだ圧縮データグループ内の圧縮データブロックの
、制御情報の制御ビットを参照して、前記置き換えられ
たデータ列中の前記計数値を、同データグループの前記
前記所定のデータブロックのデータ列の、復元しようと
するデータブロックのデータ位置に対応する位置より、
前記計数値分抽出したデータに置き換える手段を有する
ことを特著とするデータ復元装置。
[Claims] 1. A compression method for a plurality of data blocks, in which a data string constituting a data block other than a predetermined data block is sequentially compressed into data matching a data string constituting the predetermined data block. A data compression method characterized in that: is represented by a data string replaced with information indicating the number of consecutively matched data, and identification information indicating the position of the information of the number of data in the replaced data string. 2. means for comparing each data string of a predetermined data block with a data string of a data block other than the predetermined data block in a predetermined data group consisting of a plurality of data blocks; a counting means for counting the number of consecutive identical data in the same case;
means for creating a new data string by replacing continuous identical data with the count value counted by the counting means; and setting a control bit corresponding to the count value position in the new data string in a predetermined control information area. means for creating a compressed data block corresponding to a data block other than the predetermined data block from the new data string and control information that is information in the control information area; and a compressed data block and the predetermined data block. and means for creating a compressed data group. 3. A count value that is the number of consecutive data blocks other than the predetermined data block in a data group consisting of a plurality of data blocks that match the data string constituting the predetermined data block. a compressed data block consisting of a data string replaced by , and control information in which a control bit corresponding to the position of the count value in the replaced data string is set; and the predetermined data block. An attempt is made to restore the count value in the replaced data string of the data string of the predetermined data block of the same data group by referring to the control bit of control information of the compressed data block in the group. From the position corresponding to the data position of the data block,
A data restoration device characterized in that it has means for replacing data with the data extracted for the count value.
JP24258089A 1989-09-19 1989-09-19 System and device for data compression and data decoder Pending JPH03104421A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24258089A JPH03104421A (en) 1989-09-19 1989-09-19 System and device for data compression and data decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24258089A JPH03104421A (en) 1989-09-19 1989-09-19 System and device for data compression and data decoder

Publications (1)

Publication Number Publication Date
JPH03104421A true JPH03104421A (en) 1991-05-01

Family

ID=17091180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24258089A Pending JPH03104421A (en) 1989-09-19 1989-09-19 System and device for data compression and data decoder

Country Status (1)

Country Link
JP (1) JPH03104421A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03164951A (en) * 1989-11-24 1991-07-16 Nec Software Ltd File data storing device
WO1997005610A1 (en) * 1995-07-28 1997-02-13 International Business Machines Corporation Mass-storage applications of local probe arrays
US6134288A (en) * 1996-10-16 2000-10-17 Hyundai Electronics Industries Co., Ltd. Apparatus and method for generating a decoding clock signal in response to a period of write and read clock signals

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03164951A (en) * 1989-11-24 1991-07-16 Nec Software Ltd File data storing device
WO1997005610A1 (en) * 1995-07-28 1997-02-13 International Business Machines Corporation Mass-storage applications of local probe arrays
US6134288A (en) * 1996-10-16 2000-10-17 Hyundai Electronics Industries Co., Ltd. Apparatus and method for generating a decoding clock signal in response to a period of write and read clock signals

Similar Documents

Publication Publication Date Title
US4872009A (en) Method and apparatus for data compression and restoration
JP2915568B2 (en) Adaptive data compression system for tape drive systems.
US5109226A (en) Parallel processors sequentially encoding/decoding compaction maintaining format compatibility
KR100324833B1 (en) Variable length code decoder
JPH0828053B2 (en) Data recording method
WO1986000477A1 (en) Method and apparatus for digital huffman decoding
GB1594521A (en) Facsimile encoding communication system
CN112152634A (en) Block compression encoding method, block compression encoding device, computer equipment and readable storage medium
US4866440A (en) Method for compressing and restoring data series and apparatus for realizing same
JPH03104421A (en) System and device for data compression and data decoder
JPH04359315A (en) Data compression controller and data restoration controller
JP2000039969A5 (en)
JPS63232626A (en) Data compression restoration system
JPS5818824B2 (en) Fukushima Shingouno Fugoukahoushiki
JPH03135163A (en) Document information storage device
JPH02218224A (en) Data transferring method
JPS61236224A (en) Method for compressing data
EP0429306B1 (en) Data compaction system
JP2950005B2 (en) Information recording device and information reproducing device
JPH04219033A (en) Transmission method for variable length coding data
JP2776075B2 (en) Transmission method of variable length coded data
JPS5953579B2 (en) character compression device
JPH0264770A (en) Data compression-restoring system with dictionary
CN115952133A (en) Rich text data processing method, system and related equipment
JPH03266524A (en) Data recorder