IP Library Granted Patent US 9,479,194
Granted Patent B2
US 9,479,194 · App. 14/360,500 · Granted Oct 25, 2016

Data compression apparatus and data decompression apparatus

Inventors: Nagamasa Mizushima (Tokyo, JP); Hideyuki Koseki (Tokyo, JP); Atsushi Kawamura (Tokyo, JP)
Assignee: HITACHI, LTD.
H03M7/3084G06F3/065G06F3/0619G06F3/0688H03M7/3086H03M7/3088
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,479,194
App. No.
14/360,500
Granted
Oct 25, 2016
Kind
B2
Abstract

The present invention guarantees throughput for decompressing compressed data. A data compression apparatus includes: a division unit that divides plaintext data inputted to the division unit into a plurality of plaintext blocks each having a prescribed plaintext block length; a compression unit that creates a payload for each plaintext block of the plurality of plaintext blocks by compressing the plaintext block using a sliding dictionary-type compression algorithm, creates a header indicating the length of the payload, and creates a compression block that includes the header and the payload; and a concatenation unit that creates compressed data by concatenating a plurality of compression blocks created from the plurality of plaintext blocks.

Claims (17)

1. A data compression apparatus comprising:

a division unit that divides plaintext data inputted to the division unit into a plurality of plaintext blocks each having a prescribed plaintext block length;

a compression unit that creates a payload for each plaintext block of the plurality of plaintext blocks by compressing the plaintext block using a sliding dictionary-type compression algorithm, creates a header indicating the length of the payload, and creates a compression block that includes the header and the payload; and

a concatenation unit that creates compressed data by concatenating a plurality of compression blocks created from the plurality of plaintext blocks,

wherein the plaintext block length is a value obtained by dividing an output throughput for data decompressed by a logic circuit that decompresses the compressed data, by a frequency of a drive clock in the logic circuit.

2. A data compression apparatus according to claim 1 , wherein the compression unit, in a case where first data in the plaintext block matches past second data in the plaintext data, makes use of a copy symbol that indicates a copy distance indicating a distance from the first data to the second data and a copy length, which is the length of the first data, to convert the first data to the copy symbol, and includes a code word indicating the copy symbol in the payload, and

when each of M successive payloads in a plurality of payloads created from the plurality of plaintext blocks indicates a same first copy symbol, and, in addition, the copy length of the first copy symbol is the plaintext block length, the compression unit converts the M payloads to a single second copy symbol, and specifies M-times the plaintext block length as the copy length of the second copy symbol.

3. A data decompression apparatus comprising:

an extraction unit that uses compressed data created by: dividing plaintext data into a plurality of plaintext blocks, each of the plurality of plaintext blocks having a prescribed plaintext block length; creating a payload for each plaintext block of the plurality of plaintext blocks by compressing the plaintext block using a sliding dictionary-type compression algorithm; creating a header that indicates the length of the payload; creating a compression block that includes the payload and the header; and concatenating a plurality of compression blocks created with respect to the plurality of plaintext blocks, to recognize each header of the plurality of compression blocks from the compressed data, and extract a payload from the compressed data on the basis of the payload length indicated in the recognized header; and

a decompression unit that restores the plaintext block by decompressing the extracted payload using the sliding dictionary-type compression algorithm

wherein the plaintext block length is a value obtained by dividing an output throughput for a plaintext block restored by the decompression unit, by a frequency of a drive clock in the decompression unit.

4. A data decompression apparatus according to claim 3 , wherein the decompression unit creates an intermediate block having the plaintext block length from the extracted payload by, in a case where a code word in the extracted payload indicates a literal character, converting the code word to a literal character, and by, in a case where the code word indicates something other than a literal character, converting the code word to an indeterminate character, which is a character that indicates undetermined.

5. A data decompression apparatus according to claim 4 , wherein the decompression unit creates a plaintext block from the intermediate block by converting the indeterminate character to a literal character that is in a sliding dictionary, and stores the created plaintext block in the sliding dictionary.

6. A data decompression apparatus according to claim 5 , wherein the decompression unit includes a pipeline that decompresses the extracted payload.

7. A data decompression apparatus according to claim 6 , wherein the decompression unit restores one plaintext block for each cycle of the drive clock.

8. A data decompression apparatus according to claim 3 , wherein, in a case where first data in the plaintext block matches past second data in the plaintext data, a copy symbol that indicates a copy distance indicating a distance from the first data to the second data, and a copy length, which is the length of the first data, is used to convert the first data to the copy symbol, and a code word indicating the copy symbol is included in the payload, and

in a case where the extracted payload indicates a third copy symbol, and, in addition, the copy length of the third copy symbol indicates M times the plaintext block length, the extraction unit converts the extracted payloads to M successive fourth copy symbols, and specifies the plaintext block length as the copy length of the fourth copy symbol.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2014
From: MIZUSHIMA, NAGAMASA; KOSEKI, HIDEYUKI; KAWAMURA, ATSUSHI
To: HITACHI, LTD.
Reel/Frame 032966/0979 →
Continuity (1)
Related Publication 20160233880A1 · Aug 11, 2016