WO2009095956A1 - データ圧縮・復元方法及び圧縮・復元プログラム - Google Patents
データ圧縮・復元方法及び圧縮・復元プログラム Download PDFInfo
- Publication number
- WO2009095956A1 WO2009095956A1 PCT/JP2008/000121 JP2008000121W WO2009095956A1 WO 2009095956 A1 WO2009095956 A1 WO 2009095956A1 JP 2008000121 W JP2008000121 W JP 2008000121W WO 2009095956 A1 WO2009095956 A1 WO 2009095956A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- repetition
- code
- data
- relative
- compressed data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 28
- 238000013144 data compression Methods 0.000 title claims description 26
- 238000007906 compression Methods 0.000 title abstract description 7
- 230000006835 compression Effects 0.000 title abstract description 7
- 230000006837 decompression Effects 0.000 title description 4
- 230000003252 repetitive effect Effects 0.000 claims abstract description 19
- 238000000605 extraction Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
Definitions
- the present invention relates to a data compression / decompression technique for realizing a system for storing and communicating electronic data in a compact manner.
- ⁇ Reducing data volume has the effect of reducing memory cost, communication cost and power saving.
- the entire system can be accelerated.
- Fig. 1 shows a conventional data compression technique.
- This method is a dictionary-type compression method called LZ77 method, which can reduce the amount of data at a reasonable cost with a low processing load.
- LZ77 method a dictionary-type compression method that can reduce the amount of data at a reasonable cost with a low processing load.
- a repetition of the same character string that has as long a matching portion as possible is found from the data buffer, and the repetition is encoded with the position and the matching length.
- the application consists of a mixture of instruction codes and data.
- one word is represented by a plurality of bytes (for example, 4 bytes).
- the part where the repetition is found is often at the same position in the word, such as the first byte and the third byte in the word. That is, when viewed from the relative position in byte units, it is often a multiple of 4 (in the case of 4-byte code).
- the instruction code portion and the data portion are uniformly processed so that the computer processing is easy, so that it is not possible to perform more efficient data compression incorporating this regularity.
- Patent Document 2 detects the meaning (difference between numbers and characters) of LZ77 type encoding even if the numerical sequence is the same in terms of byte representation depending on the analysis unit. Thus, a match is detected.
- An object of the present invention is to efficiently compress compressed data including an instruction code to generate compressed data, and efficiently restore the compressed data from the compressed data.
- the first aspect of the present invention is premised on a method or program for generating compressed data by compressing compressed data including an instruction code.
- repeat parts are sequentially detected from the compressed data, and the relative coincidence position of the repeat parts is in the first repeat state where the position is equivalent to a multiple of the instruction word length, which is the number of bytes representing the instruction code.
- a repetitive state determination step is performed to determine whether there is a second repetitive state.
- a first repetition code (word repetition code) generation step of generating a first repetition code including at least a value indicating a length and outputting it as compressed data is executed.
- a second repeat code including at least a value indicating the relative match position corresponding to the repeat part and a value indicating the match length at the relative match position of the repeat part
- a second repetition code (byte repetition code) generation step is executed to output it as compressed data.
- a switching code generation step for generating a switching code for switching between the first and second repetition codes and outputting it as compressed data is executed.
- the step of switching to the first repetition code when the first repetition state continues for a predetermined number of times (T times) after the second repetition state; And a step of switching to the second repetition code when the second repetition state is reached once after the first repetition state.
- the first repetition code or the second repetition code A value indicating the byte data of the compressed data as it is as a repetition code is output, and the first repetition code or the second repetition code is used to indicate whether or not a value indicating the byte data of the compressed data is output as it is It can be configured to include a flag.
- the second aspect of the present invention is premised on a method or program for restoring compressed data from compressed data generated by compressing compressed data including an instruction code.
- a switching code for switching between the first and second repetition codes is extracted from the compressed data, and the following first repeated partial restoration step and second repeated partial restoration step are switched and executed based on the extraction timing.
- a switching step is performed.
- the first repeated partial restoration step includes at least a value indicating a compressed relative match position obtained by dividing the relative match position by an instruction word length which is the number of bytes representing an instruction code, and a value indicating the match length at the relative match position.
- the compressed relative matching position and the matching length are extracted from the first repetition code constituting the compressed data, and the relative matching position is calculated by multiplying the compressed relative matching position by the instruction word length.
- the first repetitive portion corresponding to the relative matching position calculated from the compressed data and the extracted matching length is restored and output as compressed data.
- the second iterative partial restoration step extracts the relative coincidence position and the coincidence length from the second repetitive code constituting the compressed data including at least a value indicating the relative coincidence position and a value indicating the coincidence length at the relative coincidence position. Then, the second repetitive portion corresponding to the relative matching position extracted from the compressed data already restored and the extracted matching length is restored and output as compressed data.
- the flag included in the first iterative partial restoration step or the second iterative partial restoration step is byte data of the compressed data.
- the byte data of the compressed data is extracted as it is from the data included in the first repetition code or the second repetition code and is output as the compressed data. It can be constituted as follows.
- the configuration of the first and second aspects of the present invention described above makes it possible to efficiently compress and restore the instruction code with a small processing load by utilizing the characteristic of the instruction word length of the instruction code for the CPU.
- the time for the CPU to read out the instruction code from the RAM or the like can be shortened, so that the boot time can be shortened.
- FIG. 3 is a functional block diagram of an embodiment of the present invention
- FIG. 3 (a) is a functional block diagram of an embodiment for performing data compression
- FIG. 3 (b) is an embodiment for performing data decompression. It is a functional block diagram.
- the repetition detection unit 302 temporarily stores, for example, 8 kilobytes (8192 bytes) of original data 301 that is compressed data in which an instruction code such as an application and data are mixed, and detects repetition in the original data 301.
- the switching determination unit 303 determines whether the repetition detected by the repetition detection unit 302 is a word repetition corresponding to the instruction code part or a byte repetition corresponding to the data part.
- the switching unit 304 switches between processing by the word repetition code generation unit 305 and processing by the byte repetition code generation unit 306 based on the determination result of the switching determination unit 303.
- the word repetition code generation unit 305 generates a repetition code in units of words corresponding to the instruction code for the repetition portion detected by the repetition detection unit 302.
- the byte repetition code generation unit 306 generates a repetition code in units of bytes corresponding to the data part for the repetition part detected by the repetition detection unit 302.
- the switching code generation unit 307 generates a switching code at a boundary portion where the switching unit 304 repeatedly switches codes.
- the code output unit 308 combines the codes generated by the word repetition code generation unit 305, the byte repetition code generation unit 306, and the switching code generation unit 307, and outputs the combined data as compressed data 309.
- the compressed data 309 obtained as described above is stored in, for example, a ROM recording medium of a mobile phone or an embedded device.
- compressed data 309 read from a ROM recording medium of a mobile phone or an embedded device is input to the code input unit 310, where the code is extracted.
- the switching code detector 311 detects a switching code from the codes decoded by the word iterative decoding unit 313 and the byte iterative decoding unit 314.
- the switching unit 312 operates either the word iterative decoding unit 313 or the byte iterative decoding unit 314 based on the switching code detected by the switching code detection unit 311.
- the word repetition decoding unit 313 decodes the word repetition code input from the code input unit 310 to extract an instruction code portion and outputs it as original data 301.
- the byte repetitive decoding unit 314 decodes the byte repetitive code input from the code input unit 310 to extract a data portion, and outputs it as original data 301.
- FIG. 4 shows each of the functional block configurations shown in FIGS. 3A and 3B when each computer program corresponding to each operation of the operation flowchart shown in FIGS. 5 and 6 is realized. It is a figure which shows an example of the hardware constitutions of each computer which performs a program.
- the computer shown in FIG. 4 includes a CPU 401, a memory 402, an input device 403, an output device 404, an external storage device 405, a portable recording medium drive device 406 into which a portable recording medium 409 is inserted, and a network connection device 407. However, these are connected to each other by a bus 408.
- the configuration shown in the figure is an example of a computer that can implement the above system, and such a computer is not limited to this configuration.
- the data of the workstation or server that executes the data compression function 6 is a compression work computer, and when executing the operation of the operation flowchart of FIG. 6 corresponding to FIG. 3B, it is a computer such as a mobile phone, a mobile terminal, or an embedded device that executes the data restoration function. .
- the CPU 401 controls the entire computer.
- the memory 402 is a memory such as a RAM that temporarily stores a program or data stored in the external storage device 405 (or portable recording medium 409) when executing a program, updating data, or the like.
- FIG. 4 shows the configuration of the data compression work computer
- the memory 402 temporarily stores a data compression program corresponding to the operation flowchart of FIG. 5 and the compressed data 309 generated by the data compression program.
- 6 is a configuration of a computer such as a mobile phone or an embedded device, a data restoration program corresponding to the operation flowchart of FIG. 6, compressed data 309 restored by the program, and original data such as application program + data obtained by the restoration 301 is temporarily stored.
- the CUP 401 performs overall control by reading the program into the memory 402 and executing it.
- the input device 403 includes, for example, a keyboard, a mouse, etc. and their interface control devices.
- FIG. In the case of the configuration, it consists of a numeric keypad such as a mobile phone or an embedded device, a pointer device, etc. and their interface control devices.
- the input device 403 detects an input operation by a user using a keyboard, a mouse, or the like, and notifies the CPU 401 of the detection result.
- the output device 404 is composed of a display display device, a printing device, etc. and their interface control devices.
- FIG. 4 shows a computer such as a mobile phone or an embedded device. In the case of this configuration, the screen display device and the interface control device such as a mobile phone and an embedded device are used.
- the output device 404 outputs data sent under the control of the CPU 401 to a display device or a printing device.
- the external storage device 405 is, for example, a hard disk storage device when FIG. 4 is a configuration of a data compression work computer, and a ROM is stored when FIG. 4 is a configuration of a computer such as a mobile phone or an embedded device.
- the apparatus 405 is used for storing the above-described program, compressed data 309, original data 301, and the like.
- the portable recording medium driving device 406 is a portable recording medium 409 such as an optical disk, CD, or DVD
- FIG. 4 is a computer such as a mobile phone or an embedded device.
- the portable storage medium 409 such as SDRAM / micro SDRAM is accommodated and serves as an auxiliary to the external storage device 405.
- the network connection device 407 is a device for connecting, for example, a LAN (local area network) or WAN (wide area network) communication line when FIG. 4 is a configuration of a data compression computer. Is a device for connecting a mobile phone communication line or a WAN communication line in the case of a computer configuration such as a mobile phone or an embedded device.
- the system according to the present embodiment has a program corresponding to the operation flowchart shown in FIG. 5 equipped with the data compression function shown in FIG. 3A or a data restoration function shown in FIG. This is realized by the CPU 401 executing a program corresponding to the operation flowchart shown in FIG.
- the program may be recorded and distributed in, for example, the external storage device 405 or the portable recording medium 409, or may be acquired from the network by the network connection device 407.
- FIG. 5 and FIG. 5 show the operations of the program implemented by the above-described hardware configuration and equipped with the data compression function shown in FIG. 3A and the program equipped with the data restoration function shown in FIG. The operation will be sequentially described below with reference to the operation flowchart of FIG. 6 and the operation explanatory diagrams of FIGS.
- the switching determination unit 303 determines the value of the relative matching position obtained by the repeated detection unit 302.
- the switching unit 304 switches between the word repetition code generation unit 305 and the byte repetition code generation unit 306, and causes each generation unit to perform encoding.
- the instruction code portion represents, for example, 4 bytes for one instruction word, and a repetition is found in units of the one instruction word. Probability is high.
- the iterative detection unit 302 in FIG. 3 searches the data portion that is the same as the data portion currently being encoded, that is, the repetitive portion, from the past 8 kilobytes of data.
- the repetition detection unit 302 finds a repetition at a position that is a multiple of the instruction word length N
- the word repetition code generation unit 305 generates a word repetition code.
- the word repetition code generation unit 305 includes a repetition portion at a multiple position of the instruction word length N, a 1-bit flag having a value 1 indicating repetition, a relative match position, a match length, It is expressed by a word repetition / repetition code 701-1 consisting of
- the word repetition code generation unit 305 finds a data portion having a matching length smaller than 2 bytes during the word repetition search, the portion is a non-repetitive portion, and is 1 bit having a value of 0 indicating non-repetition. It is expressed by a flag and a word repetition / non-repetition code 701-2 in which the original data 301 itself is raw data.
- the switching determination unit 303 in FIG. 3 detects that a repetition is found at a position other than a multiple of the instruction word length N from the past 8 kilobytes of data in the repetition detection operation of the repetition detection unit 302. Sometimes, it is determined that the original data 301 has changed from the instruction code portion to the data portion, and the switching unit 304 switches from the operation of the word repetition code generation unit 305 to the operation of the byte repetition code generation unit 306 based on the detection result. Do. As a result, the byte repetition code generation unit 306 generates a byte repetition code.
- the switching unit 304 causes the word repetition code generation unit 305 to transmit the word repetition / switching code 701 in the same code format as the word repetition / repetition code 701-1. -3 is output.
- the flow of steps S504->S505->S506-> S508 is performed.
- the byte repetition code generation unit 306 sets a repetition portion at a position other than a multiple position of the instruction word length N as a 1-bit flag having a value 1 indicating repetition, a relative match position, This is expressed by a byte repetition / repetition code 702-1 consisting of a match length.
- step S508-> S509 the loop processing of S510-> S511-> S512-> S513-> S515-> S519-> S510 is performed.
- the byte repetition code generation unit 306 finds a data part having a matching length smaller than 2 bytes during the byte repetition search, the part is a non-repetitive part, and is 1 bit having a value of 0 indicating non-repetition. This is expressed by a word repetition / non-repetition code 702-2 consisting of a flag and raw data of the original data 301.
- the loop processing of steps S510->S511->S512->S519-> S510 is performed.
- the switching determination unit 303 in FIG. 3 has found a repetition at a multiple of the instruction word length N from the past 8 kilobytes of data in the repetition detection operation of the repetition detection unit 302.
- T times for example, 4 times
- the operation of the repetition code generation unit 306 is switched to the operation of the word repetition code generation unit 305.
- the word repetition code generation unit 305 generates a word repetition code again.
- the reason for determining the switching condition number of times T may be that a repetition is detected at a position that is a multiple of the instruction word length N even though it is a data portion. For this reason, the increase of the switching code by this misrecognition can be suppressed by setting the number of T appropriately.
- step S510 is performed. -> S511-> S512-> S513-> S514-> S516-> S517.
- the switching unit 304 sends the byte repetition / switching code 702 to the byte repetition code generation unit 306 in the same code format as the byte repetition / repetition code 702-1 prior to the code generation operation by the word repetition code generation unit 305. -3 is output.
- both the word repetition / repetition code 701-1 and the byte repetition / repetition code 702-1 have a match length of, for example, to express a match of up to 8 bytes. Expressed with a 3-bit code.
- the relative coincidence position is always an instruction word length N, for example, a multiple of 4 bytes, so that the relative coincidence position in the past 8 kilobytes can be expressed. Two bits necessary for expressing a byte position finer than 4 bytes can be reduced, and the relative coincidence position can be expressed by an 11-bit code.
- the number of bits necessary for expressing the relative coincidence position can be obtained by the following equation.
- log 2 search past data size
- log 2 command word length
- FIG. 8 is an explanatory diagram of the operation of generating the code of the compressed data 309 for the example of the byte string of the original data 301 in which the instruction data area and the data area are mixed.
- the operation by the word repetition code generation unit 305 is started, and an instruction code area is input as the original data 301.
- raw data of the original data 301 is output as word repetition / non-repetition codes C1 to C6 (corresponding to 701-2 in FIG. 7). Is done. Note that the 1-bit flag in FIG. 7 is omitted.
- the switching determination unit 303 determines switching to the byte repetition code, and the switching unit 304 switches from the operation of the word repetition code generation unit 305 to the operation of the byte repetition code generation unit 306.
- the switching unit 304 causes the word repetition code generation unit 305 to transmit the word repetition / switching code C12 in the same code format as the word repetition / repetition code 701-1.
- step S508-> S509 the loop processing of S510-> S511-> S512-> S513-> S515-> S519-> S510 is performed.
- FIG. 9 is a diagram illustrating an example of the code of the compressed data 309 output from the code output unit 308 of FIG. 3 based on the operation described in FIG. 8 and the code format of FIG.
- a 1-bit flag is added to the head of both the word repetition code 701 and the byte repetition code 702, but in the code output example of FIG. , C1-C16 1-bit flags for 16 codes are stored together. Subsequently, the codes C1 to C16 are output.
- the 8th bit of each of C1 to C6, C9, and C10 stores the 1st to 6th bytes and the 11th and 12th bytes of raw data (see FIG. 8) of the original data 301.
- the compressed data 309 generated by the data compression function of FIG. 3 (a) or FIG. 5 can be restored by the data restoration function of FIG. 3 (b) or FIG.
- the code input unit 310 in FIG. 3B inputs the compressed data 309 shown in FIG. 9 in order from the code C0, and gives them to the word iterative decoding unit 313 and the byte iterative decoding unit 314, respectively.
- the raw data is output as original data 301.
- the data corresponding to the extracted matching length bytes is read out from the data and output as original data 301 corresponding to the code C7.
- the loop processing of steps S601->S602->S603->S604->S606-> S601 is performed.
- the loop processing of steps S601->S602->S603->S604->S606-> S601 is performed.
- the loop processing of steps S601->S602->S603->S606-> S601 is performed.
- the loop processing of steps S601->S602->S603->S604->S606-> S601 is performed.
- the switching unit 312 switches the decoding operation from the word iterative decoding unit 313 to the byte iterative decoding unit 314.
- the processing is step S601->S602->S603->S604->S605-> S607.
- the byte iterative decoding unit 314 reads out the data corresponding to the extracted matching length byte from the data of the extracted relative matching position out of the latest data corresponding to 8 kilobytes held in the memory, They are output as original data 301 corresponding to the code C13.
- the loop process of S608->S609->S610->S611->S614-> S608 is performed.
- the byte iterative decoding unit 314 corresponds to a 1-bit flag recognized as a value 0 in the 1-bit flag group code input from the code input unit 310.
- the 8-bit 1 byte data to be input is recognized as a byte repetition / non-repetition code, and the raw data stored in the 1 byte is output as the original data 301.
- the loop processing of S608 ⁇ S609 ⁇ S610 ⁇ S614 ⁇ S608 is performed. If the relative match position and match length extracted from the decoded byte repetition / repetition code are 0 respectively, the byte repetition decoding unit 314 uses the switching code detection unit 311 in FIG. It is detected that the code is a byte repetition / switching code (corresponding to 702-3 in FIG. 7), and is notified to the switching unit 312.
- the switching unit 312 switches the decoding operation from the byte iterative decoding unit 314 to the word iterative decoding unit 313.
- the processing is S608->S609->S610->S611->S612->S613-> S601.
- the word iterative decoding unit 313 and the byte iterative decoding unit 314 have processed 16 codes
- the next 16 bits 2 bytes of data input from the code input unit 310 are converted into 1 bit similar to the code C0 in FIG. Processing is performed as a flag group code, and processing similar to that of the above-described code C0 is performed for processing of 16 codes to be input next.
- the original data 301 is data having such a characteristic that the instruction code and the data are mixed, the bits required for expressing the repeated relative coincidence position of the instruction code portion by the data compression method of the present embodiment. the number of, than conventional it becomes possible to reduce ⁇ log 2 (instruction word length) ⁇ bits only.
- the relative match position, the match length, the raw data, and the like are expressed as bits as they are in coding. However, these may be coded with Huffman codes or arithmetic codes.
- the instruction code is encoded by encoding at a multiple of the instruction word length by the data compression method of the present embodiment. It is possible to reduce the number of bits necessary for expressing the relative coincidence position of the repetition of the part by ⁇ log 2 (instruction word length) ⁇ bits as compared with the prior art.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
このような場合に、データ圧縮技術を用い、データのロスなしに符号化を実施することでデータ量を削減する技術が知られている。
本発明の第一の態様は、命令コードを含む被圧縮データを圧縮して圧縮データを生成する方法又はプログラムを前提とする。
上述の本発明の第一の態様において、第二の繰返し状態の後第一の繰返し状態が所定回数(T回)連続して続いた場合に、第一の繰返し符号への切替えを行うステップと、第一の繰返し状態の後第二の繰返し状態に1回でもなった場合に、第二の繰返し符号への切替えを行うステップとを、更に含むように構成することができる。
第一及び第二の繰返し符号を切り替えるための切替え符号を圧縮データから抽出し、その抽出タイミングに基づいて下記の第一の繰返し部分復元ステップと第二の繰返し部分復元ステップとを切り替えて実行させる切替えステップが実行される。
図3は、本発明の実施形態の機能ブロック図であり、図3(a)はデータ圧縮を行うための実施形態の機能ブロック図、図3(b)はデータ復元を行うための実施形態の機能ブロック図である。
繰返し検出部302は、アプリケーション等の命令コードとデータが混在した被圧縮データである元データ301を例えば8キロバイト(8192バイト)分を順次一時保持し、その元データ301中の繰返しを検出する。
切替え部304は、切替え判定部303の判定結果に基づいて、ワード繰返し符号生成部305による処理かバイト繰返し符号生成部306による処理かを切り替える。
バイト繰返し符号生成部306は、繰返し検出部302が検出した繰返し部分に対して、データ部分に対応するバイト単位での繰返し符号を生成する。
符号出力部308は、ワード繰返し符号生成部305、バイト繰返し符号生成部306、及び切替え符号生成部307が生成された各符号を合わせて、圧縮データ309として出力する。
次に、図3(b)のデータ復元側の機能ブロック図について説明する。
切替え符号検出部311は、ワード繰返し復号部313及びバイト繰返し復号部314が復号した符号中から、切替え符号を検出する。
ワード繰返し復号部313は、符号入力部310から入力されるワード繰返し符号を復号して命令コード部分を取り出し、それを元データ301として出力する。
図4は、図3(a)及び(b)に示される各機能ブロック構成が、図5及び図6に示される動作フローチャートの各動作に対応する各コンピュータプログラムによって実現される場合における、その各プログラムを実行する各コンピュータのハードウェア構成の一例を示す図である。
一方、図3の切替え判定部303が、繰返し検出部302における繰返しの検出動作において、過去分8キロバイトのデータ中から、命令ワード長Nの倍数位置以外の位置で繰返しを見つけたことを検知したときには、元データ301が命令コード部分からデータ部分に変化したと判定し、その検知結果に基づいて切替え部304が、ワード繰返し符号生成部305の動作からバイト繰返し符号生成部306の動作に切替えを行う。この結果、バイト繰返し符号生成部306が、バイト繰返し符号を生成する。
バイト繰返し符号生成部306は、図7の702として示されるように、命令ワード長Nの倍数位置以外の位置での繰返し部分を、繰返しを示す値1を有する1ビットフラグと、相対一致位置と、一致長とからなるバイト繰返し/繰返し符号702-1によって表現する。
更に続いて、図3の切替え判定部303が、繰返し検出部302における繰返しの検出動作において、過去分8キロバイトのデータ中から、命令ワード長Nの倍数の位置で繰返しを見つけることができた状態が、切替え条件回数T回(例えば4回)続いたことを検知したときには、元データ301がデータ部分から再び命令コード部分に変化したと判定し、その検知結果に基づいて切替え部304が、バイト繰返し符号生成部306の動作からワード繰返し符号生成部305の動作に切替えを行う。この結果、ワード繰返し符号生成部305が、再びワード繰返し符号を生成する。
上述の実施形態の動作において、図7に示されるように、ワード繰返し/繰返し符号701-1及びバイト繰返し/繰返し符号702-1ともに、一致長は、例えば8バイトまでの一致を表現するために3ビットの符号で表現する。また、相対一致位置については、バイト繰返し/繰返し符号702-1では、従来のLZ77方式と同様に、過去8キロバイト分の中の相対一致位置を表現するために13ビット(2の13乗=8192バイト、8キロバイト)の符号で表現する。これに対して、ワード繰返し/繰返し符号701-1では、相対一致位置はかならず命令ワード長N、例えば4バイトの倍数位置となるため、過去8キロバイト分の中の相対一致位置を表現するために、4バイトよりも細かいバイト位置を表現するために必要な2ビット分を削減することができ、相対一致位置は11ビットの符号で表現することができる。一般的には、ワード繰返し/繰返し符号701-1では、相対一致位置を表現するのに必要なビット数は、次式で求めることができる。
log2 (探索過去データサイズ)-log2 (命令ワード長)
従って、元データ301が命令コードとデータが混在するような性質のデータである場合には、本実施形態のデータ圧縮方式により、命令コード部分の繰返しの相対一致位置を表現するために必要なビット数を、従来よりも{log2 (命令ワード長)}ビットだけ削減することが可能となる。また同時に、命令コードの繰返しに着目することにより、繰返しのヒット率も向上する。これらが、本発明に関連する大きな特徴である。
初めて、ワード繰返し符号生成部305による動作からスタートし、元データ301として命令コードエリアが入力される。
次に、バイト番号7及び8バイト目の(00,1C)は、命令ワード長N=4の倍数位置である4バイト前のバイト番号3及び4バイト目と一致する。そこで、ワード繰返し/繰返し符号C7(図7の701-1に対応)として、相対一致位置=4、一致長=2からなる符号が出力される。これを<4,2>と表記する。なお、図7の1ビットフラグは省略されている。
次のバイト番号11及び12バイト目は、ワード繰返し部分が検出できないため、ワード繰返し/非繰返し符号C9及びC10として、元データ301の生データが出力される。
次のバイト番号13~16バイト目の(E5,9D,00,1C)は、命令ワード長N=4の倍数位置である8バイト前のバイト番号5~8バイト目と一致する。そこで、ワード繰返し/繰返し符号C11として、相対一致位置=8、一致長=4からなる符号<8,4>が出力される。
次に、バイト番号17及び18バイト目の(9D,00)は、3バイト手前の14及び15バイト目と一致するが、これは命令ワード長N=4の倍数位置ではない。
これに続いてバイト繰返し符号生成部306が動作を開始する。
続くバイト番号19及び20バイト目の(9D,10)は、9バイト前のバイト番号10及び11バイト目と一致する。そこで、バイト繰返し/繰返し符号C14=[9,2]が出力される。
図7の符号フォーマットでは、ワード繰返し符号701及びバイト繰返し符号702ともに、先頭に1ビットフラグが付加されているが、図9の符号出力例では、先頭の16ビット=2バイトからなる符号C0に、C1~C16の16符号分の1ビットフラグがまとめて格納される。そして、それに続いて、C1~C16の各符号が出力される。図9には図示していないが、16個の符号が出力されると再び、その次の16符号分の1ビットフラグがまとめて格納された16ビット=2バイトからなる符号が出力され、次の16個の符号が出力される。
符号C13は、バイト繰返し/繰返し符号であるため、C13の相対一致位置3(図8参照)が、13ビットのデータとして格納され、C13の一致長=2(図8参照)が、3ビットのデータとして格納される。これにより、符号C13は、16ビット=2バイトのデータを構成する。
出力された元データ301は、最新の8キロバイト(8192バイト)分がメモリに常に保持される。
ワード繰返し復号部313は、符号入力部310から始めに入力した1ビットフラグ群符号C0において、8ビット目が値1であることを認識することによって、符号C7に続いて入力する16ビット=2バイトが、ワード繰返し/繰返し符号C8(図9参照)であることを認識し、符号C7の場合と同様にして元データ301を復元して出力する。
ワード繰返し復号部313は、符号入力部310から始めに入力した1ビットフラグ群符号C0において、9及び10ビット目が値0であることを認識することによって、符号C8に続いて入力する2バイト分が、それぞれワード繰返し/非繰返し符号C9及びC10の各8ビット=1バイト(図9参照)であることを認識し、それぞれ各バイトに格納されている生データを元データ301として出力する。
ワード繰返し復号部313は、符号入力部310から始めに入力した1ビットフラグ群符号C0において、11ビット目が値1であることを認識することによって、符号C10に続いて入力する16ビット=2バイトが、ワード繰返し/繰返し符号C11(図9参照)であることを認識し、符号C7の場合と同様にして元データ301を復元して出力する。
ワード繰返し復号部313は、符号入力部310から始めに入力した1ビットフラグ群符号C0において、12ビット目が値1であることを認識することによって、符号C11に続いて入力する1バイト分が、ワード繰返し/繰返し符号C12(図9参照)であることを認識する。この場合に、2バイト分ではなく1バイト分が入力されるのは、図9に示されるように、ワード繰返し/繰返し符号は、4符号に1符号は、直前の3符号によって生じる2ビット×3=6ビットの保留ビットと会わせて、8ビット=1バイトで符号化されるためである。この場合、ワード繰返し復号部313は、その8ビットに格納されているデータのうち、下位3ビットを一致長として抽出し、残りの上位5ビットと、直前の3符号の復号時にレジスタ等に保持してあった2ビット×3=6ビットの保留ビットとを会わせた11ビットを相対一致位置として検出する。
図6の動作フローチャートでは、ステップS601->S602->S603->S604->S605->S607の処理になる。
図9には特には図示されていないが、バイト繰返し復号部314は、符号入力部310から入力した1ビットフラグ群符号において、値0であることを認識した1ビットフラグについては、それに対応して入力する8ビット=1バイトのデータがバイト繰返し/非繰返し符号であることを認識し、その1バイトに格納されている生データを元データ301として出力する。
また、バイト繰返し復号部314は、復号したバイト繰返し/繰返し符号から抽出された相対一致位置と一致長がそれぞれ値0である場合には、図3(b)の切替え符号検出部311によって、その符号がバイト繰返し/切替え符号(図7の702-3に対応)であると検出され、切替え部312に通知される。
図6の動作フローチャートでは、S608->S609->S610->S611->S612->S613->S601の処理になる。
Claims (8)
- 命令コードを含む被圧縮データを圧縮して圧縮データを生成する方法であって、
前記被圧縮データから繰返し部分を順次検出し、該繰返し部分の相対一致位置が前記命令コードを表すバイト数である命令ワード長の倍数に相当する位置である第一の繰返しの状態か、そうではない第二の繰返しの状態かを判定する繰返し状態判定ステップと、
前記繰返し部分が前記第一の繰返し状態である場合には、該繰返し部分に対応する前記相対一致位置を前記命令ワード長で割って得られる圧縮相対一致位置を示す値と、該繰返し部分の前記相対一致位置における一致長を示す値とを少なくとも含む第一の繰返し符号を生成し、それを前記圧縮データとして出力する第一の繰返し符号生成ステップと、
前記繰返し部分が前記第二の繰返し状態である場合には、該繰返し部分に対応する前記相対一致位置を示す値と、該繰返し部分の前記相対一致位置における一致長を示す値とを少なくとも含む第二の繰返し符号を生成し、それを前記圧縮データとして出力する第二の繰返し符号生成ステップと、
前記第一及び第二の繰返し符号を切り替えるための切替え符号を生成し、それを前記圧縮データとして出力する切替え符号生成ステップと、
を含むことを特徴とするデータ圧縮方法。 - 前記第二の繰返し状態の後前記第一の繰返し状態が所定回数連続して続いた場合に、前記第一の繰返し符号への切替えを行うステップと、
前記第一の繰返し状態の後前記第二の繰返し状態に1回でもなった場合に、前記第二の繰返し符号への切替えを行うステップと、
を更に含むことを特徴とする請求項1に記載のデータ圧縮方法。 - 前記第一の繰返し符号生成ステップ又は前記第二の繰返し符号生成ステップにおいて、前記一致長が所定バイト数よりも小さい場合には、前記第一の繰返し符号又は前記第二の繰返し符号として前記被圧縮データのバイトデータをそのまま示す値を出力し、前記第一の繰返し符号又は前記第二の繰返し符号は前記被圧縮データのバイトデータをそのまま示す値が出力されているか否かを示すためのフラグを含む、
ことを特徴とする請求項1又は2の何れか1項に記載のデータ圧縮方法。 - 命令コードを含む被圧縮データを圧縮して生成された圧縮データから前記被圧縮データを復元する方法であって、
相対一致位置を前記命令コードを表すバイト数である命令ワード長で割って得られる圧縮相対一致位置を示す値と、前記相対一致位置における一致長を示す値とを少なくとも含み前記圧縮データを構成する第一の繰返し符号から、前記圧縮相対一致位置と前記一致長を抽出し、該圧縮相対一致位置に前記命令ワード長を乗算して前記相対一致位置を算出し、既に復元されている前記被圧縮データから前記算出した相対一致位置と前記抽出した一致長とに対応する第一の繰返し部分を復元し、前記被圧縮データとして出力する第一の繰返し部分復元ステップと、
前記相対一致位置を示す値と、前記相対一致位置における一致長を示す値とを少なくとも含み前記圧縮データを構成する第二の繰返し符号から、前記相対一致位置と前記一致長を抽出し、既に復元されている前記被圧縮データから前記抽出した相対一致位置と前記抽出した一致長とに対応する第二の繰返し部分を復元し、前記被圧縮データとして出力する第二の繰返し部分復元ステップと、
前記第一及び第二の繰返し符号を切り替えるための切替え符号を前記圧縮データから抽出し、その抽出タイミングに基づいて前記第一の繰返し部分復元ステップと前記第二の繰返し部分復元ステップとを切り替えて実行させる切替えステップと、
を含むことを特徴とするデータ復元方法。 - 前記第一の繰返し部分復元ステップ又は前記第二の繰返し部分復元ステップにおいて、前記第一の繰返し符号又は前記第二の繰返し符号に含まれるフラグが前記被圧縮データのバイトデータをそのまま示す値が出力されていることを示している場合に、前記第一の繰返し符号又は前記第二の繰返し符号に含まれるデータから前記被圧縮データのバイトデータをそのまま抽出し、前記被圧縮データとして出力する、
ことを特徴とする請求項4に記載のデータ復元方法。 - 命令コードを含む被圧縮データを圧縮して圧縮データを生成するコンピュータに、
前記被圧縮データから繰返し部分を順次検出し、該繰返し部分の相対一致位置が前記命令コードを表すバイト数である命令ワード長の倍数に相当する位置である第一の繰返しの状態か、そうではない第二の繰返しの状態かを判定する繰返し状態判定機能と、
前記繰返し部分が前記第一の繰返し状態である場合には、該繰返し部分に対応する前記相対一致位置を前記命令ワード長で割って得られる圧縮相対一致位置を示す値と、該繰返し部分の前記相対一致位置における一致長を示す値とを少なくとも含む第一の繰返し符号を生成し、それを前記圧縮データとして出力する第一の繰返し符号生成機能と、
前記繰返し部分が前記第二の繰返し状態である場合には、該繰返し部分に対応する前記相対一致位置を示す値と、該繰返し部分の前記相対一致位置における一致長を示す値とを少なくとも含む第二の繰返し符号を生成し、それを前記圧縮データとして出力する第二の繰返し符号生成機能と、
前記第一及び第二の繰返し符号を切り替えるための切替え符号を生成し、それを前記圧縮データとして出力する切替え符号生成機能と、
を実行させるためのプログラム。 - 前記第二の繰返し状態の後前記第一の繰返し状態が所定回数連続して続いた場合に、前記第一の繰返し符号への切替えを行う機能と、
前記第一の繰返し状態の後前記第二の繰返し状態に1回でもなった場合に、前記第二の繰返し符号への切替えを行う機能と、
を更に実行させるためのプログラム。 - 命令コードを含む被圧縮データを圧縮して生成された圧縮データから前記被圧縮データを復元するコンピュータに、
相対一致位置を前記命令コードを表すバイト数である命令ワード長で割って得られる圧縮相対一致位置を示す値と、前記相対一致位置における一致長を示す値とを少なくとも含み前記圧縮データを構成する第一の繰返し符号から、前記圧縮相対一致位置と前記一致長を抽出し、該圧縮相対一致位置に前記命令ワード長を乗算して前記相対一致位置を算出し、既に復元されている前記被圧縮データから前記算出した相対一致位置と前記抽出した一致長とに対応する第一の繰返し部分を復元し、前記被圧縮データとして出力する第一の繰返し部分復元機能と、
前記相対一致位置を示す値と、前記相対一致位置における一致長を示す値とを少なくとも含み前記圧縮データを構成する第二の繰返し符号から、前記相対一致位置と前記一致長を抽出し、既に復元されている前記被圧縮データから前記抽出した相対一致位置と前記抽出した一致長とに対応する第二の繰返し部分を復元し、前記被圧縮データとして出力する第二の繰返し部分復元機能と、
前記第一及び第二の繰返し符号を切り替えるための切替え符号を前記圧縮データから抽出し、その抽出タイミングに基づいて前記第一の繰返し部分復元ステップと前記第二の繰返し部分復元ステップとを切り替えて実行させる切替え機能と、
を実行させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009551319A JP4814999B2 (ja) | 2008-01-31 | 2008-01-31 | データ圧縮・復元方法及び圧縮・復元プログラム |
GB1012425.3A GB2469955B (en) | 2008-01-31 | 2008-01-31 | Data compression/decompression method,and compression/decompression program |
PCT/JP2008/000121 WO2009095956A1 (ja) | 2008-01-31 | 2008-01-31 | データ圧縮・復元方法及び圧縮・復元プログラム |
US12/845,586 US8164490B2 (en) | 2008-01-31 | 2010-07-28 | Data compression/decompression method and computer readable storage medium storing compression/decompression program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2008/000121 WO2009095956A1 (ja) | 2008-01-31 | 2008-01-31 | データ圧縮・復元方法及び圧縮・復元プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/845,586 Continuation US8164490B2 (en) | 2008-01-31 | 2010-07-28 | Data compression/decompression method and computer readable storage medium storing compression/decompression program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009095956A1 true WO2009095956A1 (ja) | 2009-08-06 |
Family
ID=40912328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2008/000121 WO2009095956A1 (ja) | 2008-01-31 | 2008-01-31 | データ圧縮・復元方法及び圧縮・復元プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8164490B2 (ja) |
JP (1) | JP4814999B2 (ja) |
GB (1) | GB2469955B (ja) |
WO (1) | WO2009095956A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013150041A (ja) * | 2012-01-17 | 2013-08-01 | Fujitsu Ltd | プログラム、圧縮ファイル生成方法、圧縮符号伸張方法、情報処理装置、および記録媒体 |
JP2021527376A (ja) * | 2018-06-06 | 2021-10-11 | ウー インクァンWU, Yingquan | データ圧縮 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9467294B2 (en) | 2013-02-01 | 2016-10-11 | Symbolic Io Corporation | Methods and systems for storing and retrieving data |
US9817728B2 (en) | 2013-02-01 | 2017-11-14 | Symbolic Io Corporation | Fast system state cloning |
US10133636B2 (en) | 2013-03-12 | 2018-11-20 | Formulus Black Corporation | Data storage and retrieval mediation system and methods for using same |
US9628108B2 (en) | 2013-02-01 | 2017-04-18 | Symbolic Io Corporation | Method and apparatus for dense hyper IO digital retention |
US9304703B1 (en) | 2015-04-15 | 2016-04-05 | Symbolic Io Corporation | Method and apparatus for dense hyper IO digital retention |
KR20160070512A (ko) | 2014-12-10 | 2016-06-20 | 삼성전자주식회사 | 반도체 장치 및 그 동작 방법 |
US10061514B2 (en) | 2015-04-15 | 2018-08-28 | Formulus Black Corporation | Method and apparatus for dense hyper IO digital retention |
US10572186B2 (en) | 2017-12-18 | 2020-02-25 | Formulus Black Corporation | Random access memory (RAM)-based computer systems, devices, and methods |
US10725853B2 (en) | 2019-01-02 | 2020-07-28 | Formulus Black Corporation | Systems and methods for memory failure prevention, management, and mitigation |
CN110995753A (zh) * | 2019-12-19 | 2020-04-10 | 中国电力科学研究院有限公司 | 用电信息采集系统中远程通信报文的组合压缩方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08139610A (ja) * | 1994-11-09 | 1996-05-31 | Copcom Co Ltd | プログラム圧縮装置およびプログラム圧縮方法 |
JP2002043950A (ja) * | 2000-07-21 | 2002-02-08 | Canon Inc | 符号化方法および装置並びに復号化方法および装置 |
JP2006295853A (ja) * | 2005-04-14 | 2006-10-26 | Sony Corp | 符号化装置、復号装置、および、符号化方法ならびに復号方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953723A (en) * | 1993-04-02 | 1999-09-14 | T.M. Patents, L.P. | System and method for compressing inverted index files in document search/retrieval system |
US5572206A (en) | 1994-07-06 | 1996-11-05 | Microsoft Corporation | Data compression method and system |
US5959560A (en) * | 1997-02-07 | 1999-09-28 | Said; Amir | Data compression via alphabet partitioning and group partitioning |
JP3839604B2 (ja) * | 1998-12-22 | 2006-11-01 | 株式会社東芝 | データ処理方法 |
US6819271B2 (en) * | 1999-01-29 | 2004-11-16 | Quickshift, Inc. | Parallel compression and decompression system and method having multiple parallel compression and decompression engines |
US6885319B2 (en) * | 1999-01-29 | 2005-04-26 | Quickshift, Inc. | System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms |
US7417568B2 (en) * | 2000-10-03 | 2008-08-26 | Realtime Data Llc | System and method for data feed acceleration and encryption |
US6577254B2 (en) * | 2001-11-14 | 2003-06-10 | Hewlett-Packard Development Company, L.P. | Data compression/decompression system |
JP2004328097A (ja) * | 2003-04-22 | 2004-11-18 | Sony Corp | 情報処理装置および方法、記録媒体、並びにプログラム |
JP4630080B2 (ja) * | 2005-01-31 | 2011-02-09 | 富士通株式会社 | データ復元方法およびデータ復元プログラム |
US7215259B2 (en) | 2005-06-03 | 2007-05-08 | Quantum Corporation | Data compression with selective encoding of short matches |
KR100750165B1 (ko) * | 2006-02-22 | 2007-08-17 | 삼성전자주식회사 | 압축률 향상을 위해 개선된 컨텍스트 모델 선택을 사용하는cabac 부호화 방법 및 장치, 그리고 cabac복호화 방법 및 장치 |
US7733249B2 (en) * | 2007-01-18 | 2010-06-08 | Qin Zhang | Method and system of compressing and decompressing data |
-
2008
- 2008-01-31 JP JP2009551319A patent/JP4814999B2/ja not_active Expired - Fee Related
- 2008-01-31 WO PCT/JP2008/000121 patent/WO2009095956A1/ja active Application Filing
- 2008-01-31 GB GB1012425.3A patent/GB2469955B/en not_active Expired - Fee Related
-
2010
- 2010-07-28 US US12/845,586 patent/US8164490B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08139610A (ja) * | 1994-11-09 | 1996-05-31 | Copcom Co Ltd | プログラム圧縮装置およびプログラム圧縮方法 |
JP2002043950A (ja) * | 2000-07-21 | 2002-02-08 | Canon Inc | 符号化方法および装置並びに復号化方法および装置 |
JP2006295853A (ja) * | 2005-04-14 | 2006-10-26 | Sony Corp | 符号化装置、復号装置、および、符号化方法ならびに復号方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013150041A (ja) * | 2012-01-17 | 2013-08-01 | Fujitsu Ltd | プログラム、圧縮ファイル生成方法、圧縮符号伸張方法、情報処理装置、および記録媒体 |
JP2021527376A (ja) * | 2018-06-06 | 2021-10-11 | ウー インクァンWU, Yingquan | データ圧縮 |
Also Published As
Publication number | Publication date |
---|---|
GB2469955B (en) | 2012-09-12 |
GB201012425D0 (en) | 2010-09-08 |
US20100289676A1 (en) | 2010-11-18 |
JP4814999B2 (ja) | 2011-11-16 |
JPWO2009095956A1 (ja) | 2011-05-26 |
US8164490B2 (en) | 2012-04-24 |
GB2469955A (en) | 2010-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4814999B2 (ja) | データ圧縮・復元方法及び圧縮・復元プログラム | |
US7714747B2 (en) | Data compression systems and methods | |
US6879271B2 (en) | Method and apparatus for adaptive data compression | |
AU702207B2 (en) | Method of and apparatus for compressing and decompressing data and data processing apparatus and network system using the same | |
JP3009727B2 (ja) | 改良形データ圧縮装置 | |
CN110518917B (zh) | 基于Huffman编码的LZW数据压缩方法及系统 | |
JP2000315954A (ja) | 入力データストリームの圧縮方法とその装置 | |
JP2003524983A (ja) | 複数コーダを用いる最適化ロスレス圧縮のための方法及び装置 | |
JP2000269822A (ja) | データ圧縮装置、及びデータ復元装置 | |
JP2009516474A (ja) | 複数のマルコフチェーンを利用した圧縮 | |
Anto et al. | A Compression System for Unicode Files Using an Enhanced Lzw Method. | |
JP4093193B2 (ja) | データ圧縮方法及びプログラムならびにデータ復元方法及び装置 | |
JP4093200B2 (ja) | データ圧縮方法及びプログラムならびにデータ復元方法及び装置 | |
Shanmugasundaram et al. | Text preprocessing using enhanced intelligent dictionary based encoding (EIDBE) | |
JP4953145B2 (ja) | 文字列データ圧縮装置及びその方法並びに文字列データ復元装置及びその方法 | |
US11967975B1 (en) | Method and apparatus for recursive data compression using seed bits | |
JP4497029B2 (ja) | データ符号化装置,およびデータ符号化方法 | |
JP3265268B2 (ja) | 文字列圧縮方式 | |
JP2003318739A (ja) | データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体 | |
JPH06274311A (ja) | データ圧縮装置及びデータ復元装置 | |
JPH06291677A (ja) | データ圧縮装置及びデータ復元装置 | |
JPH0621827A (ja) | データ圧縮装置及びその方法 | |
JPS62209948A (ja) | デ−タ圧縮伝送方法 | |
JPH05244015A (ja) | データの圧縮方式 | |
CN114416350A (zh) | 一种解压方法、装置、可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08702853 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009551319 Country of ref document: JP |
|
ENP | Entry into the national phase |
Ref document number: 1012425 Country of ref document: GB Kind code of ref document: A Free format text: PCT FILING DATE = 20080131 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1012425.3 Country of ref document: GB |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 08702853 Country of ref document: EP Kind code of ref document: A1 |