Compression Using Huffman Coding

Total Page:16

File Type:pdf, Size:1020Kb

Compression Using Huffman Coding IJCSNS International Journal of Computer Science and Network Security, VOL.10 No.5, May 2010 133 Compression Using Huffman Coding Mamta Sharma S.L. Bawa D.A.V. college, Abstract JPEG 2000 is a wavelet-based image compression Data compression is also called as source coding. It is the standard. Wavelets are functions that satisfy certain process of encoding information using fewer bits than an mathematical requirements and are used in representing uncoded representation is also making a use of specific encoding data or other functions. LZW compression replaces strings schemes. Compression is a technology for reducing the quantity of characters with single codes. Compression occurs when of data used to represent any content without excessively a single code is output instead of a string of characters. reducing the quality of the picture. It also reduces the number of bits required to store and/or transmit digital media. Compression The comparison between various compression algorithms is a technique that makes storing easier for large amount of data. helps us to use a suitable technique for various There are various techniques available for compression in my applications. paper work , I have analyzed Huffman algorithm and compare it with other common compression techniques like Arithmetic, LZW and Run Length Encoding. 2. FUNDAMENTALS FOR COMPRESSION Keywords: LZW, Huffman, DCT, RLE, JPEG, MPEG, Compression 2.1 Types Formats, Quantization, Wavelets. Lossy compression means that some data is lost when it is decompressed. Lossy compression bases on the 1. INTRODUCTION assumption that the current data files save more information than human beings can "perceive”. Thus the Compression refers to reducing the quantity of data used irrelevant data can be removed. to represent a file, image or video content without excessively reducing the quality of the original data. It Lossless compression means that when the data is also reduces the number of bits required to store and/or decompressed, the result is a bit-for-bit perfect match with transmit digital media. To compress something means that the original one. The name lossless means "no data is lost", you have a piece of data and you decrease its size. There the data is only saved more efficiently in its compressed are different techniques who to do that and they all have state, but nothing of it is removed. their own advantages and disadvantages. One trick is to reduce redundant information, meaning saving sometimes 2.2 Digital data representation Digital data consist of a once instead of 6 times. Another one is to find out which sequence of symbols chosen from a finite alphabet. In parts of the data are not really important and just leave order for data compression to be meaningful, there is a those away. Arithmetic coding is a technique for lossless standard representation for the uncompressed data that data compression. It is a form of variable-length entropy codes each symbol using the same number of bits. encoding. Arithmetic coding encodes the entire message Compression is achieved when the data can be represented into a single number, a fraction n where (0.0 ≤ n < 1.0) but with an average length per symbol that is less than that of where other entropy encoding techniques separate the the standard representation. Therefore for compression to input message into its component symbols and replace be meaningful, a standard representation should be each symbol with a code word. Run length encoding defined for the data to be compressed. method is frequently applied to images or pixels in a scan line. It is a small compression component used in JPEG 2.3 Color representation An image consists of various compression colors of different intensities and brightness. Red, green and blue light sources forms a set of primary colors; this is Huffman coding is a loseless data compression technique. an addictive system since the presence of all the primary Huffman coding is based on the frequency of occurrence colors, all set to their maximum intensities, results in the of a data item i.e. pixel in images. The technique is to use perception of the color white. This phenomenon of color a lower number of bits to encode the data in to binary perception is caused by the way that the human eye codes that occurs more frequently. It is used in JPEG files. detects and processes light, which makes it possible to Manuscript received May 5, 2010 Manuscript revised May 20, 2010 134 IJCSNS International Journal of Computer Science and Network Security, VOL.10 No.5, May 2010 represent an image as a set of three intensity signals in two roughly twice the length, operating on real data with even spatial dimensions. symmetry (since the Fourier transform of a real and even function is real and even), where in some variants the 2.4 Digitization In order to be processed by computers, input and/or output data are shifted by half a sample. The an image that is captured by a light sensor must first be discrete cosine transform (DCT) helps separate the image digitized. Digitization consists of three steps:1) spatial into parts (or spectral sub-bands) of differing importance sampling,2) temporal sampling, and 3) quantization. (with respect to the image's visual quality). The DCT is similar to the discrete Fourier transform, it transforms a 1) Spatial sampling: Spatial sampling consists of taking signal or image from the spatial domain to the frequency measurements of the underlying analog signal at a finite domain. set of sampling points in a finite viewing area. The two dimensional sets of sampling points are transformed into a one-dimensional set through a process called raster 3. COMPRESSION TECHNIQUES scanning. The two main ways to perform raster scanning are progressive and interlaced. 3.1 SIMPLE REPETITION 2) Temporal sampling: It is performed mainly in motion If in a sequence a series on n successive tokens appears we estimation for video sequences. The human visual system can replace these with a token and a count number of is relatively slow in responding to temporal changes. By occurrences. We usually need to have a special flag to taking at least 16 samples per second at each grid point, an denote when the repeated token appears illusion of motion is maintained. This observation is the basis for motion picture technology, which typically For Example performs temporal sampling at a rate of 24 frames/sec. 3) Quantization: After spatial and temporal sampling, the 87900000000000000000000000000000000 image consists of a sequence of continuous intensity values. The continuous intensity values are incompatible We can replace with with digital processing, and one more step is needed before this information is processed by a digital computer. 879f32 The continuous intensity values are converted to a discrete set of values in a process called quantization. Quantization Where f is the flag for zero. can be viewed as a mapping from a continuous domain to a discrete range. A particular quantization mapping is Compression savings depend on the content of the data. called a quantizer. 2.5 Redundancy Redundancy exists in two forms: spatial Applications: and temporal. 1. Suppression of zero's in a file (Zero Length The former, also called intraframe redundancy, refers to Suppression) . the redundancy that exists within a single frame of video or image, while the latter, also called interface redundancy, 2. Silence in audio data, or pauses in conversation etc. refers to the redundancy that exists between consecutive frames within a video sequence. 3. Bitmaps 2.6 Vector Quantization In vector quantization, an image is segmented into same-sized blocks of pixel values. 4. Blanks in text or program source files The blocks are represented by a fixed number of vectors called code words. The code words are chosen from a 5. Backgrounds in images finite set called a codebook. the size of the codebook affects the rate as well as the distortion while a smaller 6. Other regular image or data tokens codebook has the opposite effects. 2.7 Discrete Cosine Transform Discrete cosine 3.2 RLE transform (DCT) is a Fourier-related transform[41] similar to the discrete Fourier transform[42](DFT), but This encoding method [34] is frequently applied to images using only real numbers. DCTs are equivalent to DFTs of (or pixels in a scan line). In this instance, sequences of IJCSNS International Journal of Computer Science and Network Security, VOL.10 No.5, May 2010 135 image elements (X1,X2……….,Xn)are mapped to pairs It follows a top-down approach : (c1,ℓ1),(c2,ℓ2),……..,(cn,ℓn) where ci represent image intensity or color and li the length of the ith run of pixels 1. Sort symbols according to their (Not dissimilar to zero length suppression above). The frequencies/probabilities, e.g., ABCDE. savings are dependent on the data. In the worst case (Random Noise) encoding is heavier than original file. 2. Recursively divides into two parts, each with approx. same number of counts. Applications: It is a small compression component used in JPEG 1 compression. 0 0 1 3.3 PATTERN SUBSTITUTION 0 1 This is a simple form of statistical encoding. Here we 1 substitute a frequently repeating pattern(s) with a code. 0 The code is shorter than pattern giving us compression. More typically tokens are assigned according to frequency of occurrence of patterns: Symbol Count log (1/p) Code Subtotal (# of bits) • Count occurrence of tokens ------------------------------------------------------------------- • Sort in Descending order -- • Assign some symbols to highest count tokens A 15 1.38 00 30 A predefined symbol table may used i.e assign code i to B 7 2.48 01 14 token i. C 6 2.70 10 12 3.4 ENTROPY ENCODING D 6 2.70 110 18 Lossless compression frequently involves some form of E 5 2.96 111 15 entropy encoding and is based on information theoretic techniques.
Recommended publications
  • CALIFORNIA STATE UNIVERSITY, NORTHRIDGE LOSSLESS COMPRESSION of SATELLITE TELEMETRY DATA for a NARROW-BAND DOWNLINK a Graduate P
    CALIFORNIA STATE UNIVERSITY, NORTHRIDGE LOSSLESS COMPRESSION OF SATELLITE TELEMETRY DATA FOR A NARROW-BAND DOWNLINK A graduate project submitted in partial fulfillment of the requirements For the degree of Master of Science in Electrical Engineering By Gor Beglaryan May 2014 Copyright Copyright (c) 2014, Gor Beglaryan Permission to use, copy, modify, and/or distribute the software developed for this project for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Copyright by Gor Beglaryan ii Signature Page The graduate project of Gor Beglaryan is approved: __________________________________________ __________________ Prof. James A Flynn Date __________________________________________ __________________ Dr. Deborah K Van Alphen Date __________________________________________ __________________ Dr. Sharlene Katz, Chair Date California State University, Northridge iii Contents Copyright .......................................................................................................................................... ii Signature Page ...............................................................................................................................
    [Show full text]
  • Modification of Adaptive Huffman Coding for Use in Encoding Large Alphabets
    ITM Web of Conferences 15, 01004 (2017) DOI: 10.1051/itmconf/20171501004 CMES’17 Modification of Adaptive Huffman Coding for use in encoding large alphabets Mikhail Tokovarov1,* 1Lublin University of Technology, Electrical Engineering and Computer Science Faculty, Institute of Computer Science, Nadbystrzycka 36B, 20-618 Lublin, Poland Abstract. The paper presents the modification of Adaptive Huffman Coding method – lossless data compression technique used in data transmission. The modification was related to the process of adding a new character to the coding tree, namely, the author proposes to introduce two special nodes instead of single NYT (not yet transmitted) node as in the classic method. One of the nodes is responsible for indicating the place in the tree a new node is attached to. The other node is used for sending the signal indicating the appearance of a character which is not presented in the tree. The modified method was compared with existing methods of coding in terms of overall data compression ratio and performance. The proposed method may be used for large alphabets i.e. for encoding the whole words instead of separate characters, when new elements are added to the tree comparatively frequently. Huffman coding is frequently chosen for implementing open source projects [3]. The present paper contains the 1 Introduction description of the modification that may help to improve Efficiency and speed – the two issues that the current the algorithm of adaptive Huffman coding in terms of world of technology is centred at. Information data savings. technology (IT) is no exception in this matter. Such an area of IT as social media has become extremely popular 2 Study of related works and widely used, so that high transmission speed has gained a great importance.
    [Show full text]
  • Greedy Algorithm Implementation in Huffman Coding Theory
    iJournals: International Journal of Software & Hardware Research in Engineering (IJSHRE) ISSN-2347-4890 Volume 8 Issue 9 September 2020 Greedy Algorithm Implementation in Huffman Coding Theory Author: Sunmin Lee Affiliation: Seoul International School E-mail: [email protected] <DOI:10.26821/IJSHRE.8.9.2020.8905 > ABSTRACT In the late 1900s and early 2000s, creating the code All aspects of modern society depend heavily on data itself was a major challenge. However, now that the collection and transmission. As society grows more basic platform has been established, efficiency that can dependent on data, the ability to store and transmit it be achieved through data compression has become the efficiently has become more important than ever most valuable quality current technology deeply before. The Huffman coding theory has been one of desires to attain. Data compression, which is used to the best coding methods for data compression without efficiently store, transmit and process big data such as loss of information. It relies heavily on a technique satellite imagery, medical data, wireless telephony and called a greedy algorithm, a process that “greedily” database design, is a method of encoding any tries to find an optimal solution global solution by information (image, text, video etc.) into a format that solving for each optimal local choice for each step of a consumes fewer bits than the original data. [8] Data problem. Although there is a disadvantage that it fails compression can be of either of the two types i.e. lossy to consider the problem as a whole, it is definitely or lossless compressions.
    [Show full text]
  • A Survey on Different Compression Techniques Algorithm for Data Compression Ihardik Jani, Iijeegar Trivedi IC
    International Journal of Advanced Research in ISSN : 2347 - 8446 (Online) Computer Science & Technology (IJARCST 2014) Vol. 2, Issue 3 (July - Sept. 2014) ISSN : 2347 - 9817 (Print) A Survey on Different Compression Techniques Algorithm for Data Compression IHardik Jani, IIJeegar Trivedi IC. U. Shah University, India IIS. P. University, India Abstract Compression is useful because it helps us to reduce the resources usage, such as data storage space or transmission capacity. Data Compression is the technique of representing information in a compacted form. The actual aim of data compression is to be reduced redundancy in stored or communicated data, as well as increasing effectively data density. The data compression has important tool for the areas of file storage and distributed systems. To desirable Storage space on disks is expensively so a file which occupies less disk space is “cheapest” than an uncompressed files. The main purpose of data compression is asymptotically optimum data storage for all resources. The field data compression algorithm can be divided into different ways: lossless data compression and optimum lossy data compression as well as storage areas. Basically there are so many Compression methods available, which have a long list. In this paper, reviews of different basic lossless data and lossy compression algorithms are considered. On the basis of these techniques researcher have tried to purpose a bit reduction algorithm used for compression of data which is based on number theory system and file differential technique. The statistical coding techniques the algorithms such as Shannon-Fano Coding, Huffman coding, Adaptive Huffman coding, Run Length Encoding and Arithmetic coding are considered.
    [Show full text]
  • 16.1 Digital “Modes”
    Contents 16.1 Digital “Modes” 16.5 Networking Modes 16.1.1 Symbols, Baud, Bits and Bandwidth 16.5.1 OSI Networking Model 16.1.2 Error Detection and Correction 16.5.2 Connected and Connectionless 16.1.3 Data Representations Protocols 16.1.4 Compression Techniques 16.5.3 The Terminal Node Controller (TNC) 16.1.5 Compression vs. Encryption 16.5.4 PACTOR-I 16.2 Unstructured Digital Modes 16.5.5 PACTOR-II 16.2.1 Radioteletype (RTTY) 16.5.6 PACTOR-III 16.2.2 PSK31 16.5.7 G-TOR 16.2.3 MFSK16 16.5.8 CLOVER-II 16.2.4 DominoEX 16.5.9 CLOVER-2000 16.2.5 THROB 16.5.10 WINMOR 16.2.6 MT63 16.5.11 Packet Radio 16.2.7 Olivia 16.5.12 APRS 16.3 Fuzzy Modes 16.5.13 Winlink 2000 16.3.1 Facsimile (fax) 16.5.14 D-STAR 16.3.2 Slow-Scan TV (SSTV) 16.5.15 P25 16.3.3 Hellschreiber, Feld-Hell or Hell 16.6 Digital Mode Table 16.4 Structured Digital Modes 16.7 Glossary 16.4.1 FSK441 16.8 References and Bibliography 16.4.2 JT6M 16.4.3 JT65 16.4.4 WSPR 16.4.5 HF Digital Voice 16.4.6 ALE Chapter 16 — CD-ROM Content Supplemental Files • Table of digital mode characteristics (section 16.6) • ASCII and ITA2 code tables • Varicode tables for PSK31, MFSK16 and DominoEX • Tips for using FreeDV HF digital voice software by Mel Whitten, KØPFX Chapter 16 Digital Modes There is a broad array of digital modes to service various needs with more coming.
    [Show full text]
  • On the Coding Gain of Dynamic Huffman Coding Applied to a Wavelet-Based Perceptual Audio Coder
    ON THE CODING GAIN OF DYNAMIC HUFFMAN CODING APPLIED TO A WAVELET-BASED PERCEPTUAL AUDIO CODER N. Ruiz Reyes1, M. Rosa Zurera2, F. López Ferreras2, P. Jarabo Amores2, and P. Vera Candeas1 1Departamento de Electrónica, Universidad de Jaén, Escuela Universitaria Politénica, 23700 Linares, Jaén, SPAIN, e-mail: [email protected] 2Dpto. de Teoría de la Señal y Comunicaciones, Universidad de Alcalá, Escuela Politécnica 28871 Alcalá de Henares, Madrid, SPAIN, e-mail: [email protected] ABSTRACT The last one, the ISO/MPEG-4 standard, is composed of several speech and audio coders supporting bit rates This paper evaluates the coding gain of using a dynamic from 2 to 64 kbps per channel. ISO/MPEG-4 includes Huffman entropy coder in an audio coder that uses a the already proposed AAC standard, which provides high wavelet-packet decomposition that is close to the sub- quality audio coding at bit rates of 64 kbps per channel. band decomposition made by the human ear. The sub- Parallel to the definition of the ISO/MPEG standards, band audio signals are modeled as samples of a station- several audio coding algorithms have been proposed that ary random process with laplacian probability density use the wavelet transform as the tool to decompose the function because experimental results indicate that the audio signal. The most promising results correspond to highest coding efficiency is obtained in that case. We adapted wavelet-based audio coders. Probably, the most have also studied how the entropy coding gain varies cited is the one designed by Sinha and Tewfik [2], a high with the band index.
    [Show full text]
  • Applying Compression to a Game's Network Protocol
    Applying Compression to a Game's Network Protocol Mikael Hirki Aalto University, Finland [email protected] Abstract. This report presents the results of applying different com- pression algorithms to the network protocol of an online game. The al- gorithm implementations compared are zlib, liblzma and my own imple- mentation based on LZ77 and a variation of adaptive Huffman coding. The comparison data was collected from the game TomeNET. The re- sults show that adaptive coding is especially useful for compressing large amounts of very small packets. 1 Introduction The purpose of this project report is to present and discuss the results of applying compression to the network protocol of a multi-player online game. This poses new challenges for the compression algorithms and I have also developed my own algorithm that tries to tackle some of these. Networked games typically follow a client-server model where multiple clients connect to a single server. The server is constantly streaming data that contains game updates to the clients as long as they are connected. The client will also send data to the about the player's actions. This report focuses on compressing the data stream from server to client. The amount of data sent from client to server is likely going to be very small and therefore it would not be of any interest to compress it. Many potential benefits may be achieved by compressing the game data stream. A server with limited bandwidth could theoretically serve more clients. Compression will lower the bandwidth requirements for each individual client. Compression will also likely reduce the number of packets required to transmit arXiv:1206.2362v1 [cs.IT] 28 May 2012 larger data bursts.
    [Show full text]
  • The Deep Learning Solutions on Lossless Compression Methods for Alleviating Data Load on Iot Nodes in Smart Cities
    sensors Article The Deep Learning Solutions on Lossless Compression Methods for Alleviating Data Load on IoT Nodes in Smart Cities Ammar Nasif *, Zulaiha Ali Othman and Nor Samsiah Sani Center for Artificial Intelligence Technology (CAIT), Faculty of Information Science & Technology, University Kebangsaan Malaysia, Bangi 43600, Malaysia; [email protected] (Z.A.O.); [email protected] (N.S.S.) * Correspondence: [email protected] Abstract: Networking is crucial for smart city projects nowadays, as it offers an environment where people and things are connected. This paper presents a chronology of factors on the development of smart cities, including IoT technologies as network infrastructure. Increasing IoT nodes leads to increasing data flow, which is a potential source of failure for IoT networks. The biggest challenge of IoT networks is that the IoT may have insufficient memory to handle all transaction data within the IoT network. We aim in this paper to propose a potential compression method for reducing IoT network data traffic. Therefore, we investigate various lossless compression algorithms, such as entropy or dictionary-based algorithms, and general compression methods to determine which algorithm or method adheres to the IoT specifications. Furthermore, this study conducts compression experiments using entropy (Huffman, Adaptive Huffman) and Dictionary (LZ77, LZ78) as well as five different types of datasets of the IoT data traffic. Though the above algorithms can alleviate the IoT data traffic, adaptive Huffman gave the best compression algorithm. Therefore, in this paper, Citation: Nasif, A.; Othman, Z.A.; we aim to propose a conceptual compression method for IoT data traffic by improving an adaptive Sani, N.S.
    [Show full text]
  • Answers to Exercises
    Answers to Exercises A bird does not sing because he has an answer, he sings because he has a song. —Chinese Proverb Intro.1: abstemious, abstentious, adventitious, annelidous, arsenious, arterious, face- tious, sacrilegious. Intro.2: When a software house has a popular product they tend to come up with new versions. A user can update an old version to a new one, and the update usually comes as a compressed file on a floppy disk. Over time the updates get bigger and, at a certain point, an update may not fit on a single floppy. This is why good compression is important in the case of software updates. The time it takes to compress and decompress the update is unimportant since these operations are typically done just once. Recently, software makers have taken to providing updates over the Internet, but even in such cases it is important to have small files because of the download times involved. 1.1: (1) ask a question, (2) absolutely necessary, (3) advance warning, (4) boiling hot, (5) climb up, (6) close scrutiny, (7) exactly the same, (8) free gift, (9) hot water heater, (10) my personal opinion, (11) newborn baby, (12) postponed until later, (13) unexpected surprise, (14) unsolved mysteries. 1.2: A reasonable way to use them is to code the five most-common strings in the text. Because irreversible text compression is a special-purpose method, the user may know what strings are common in any particular text to be compressed. The user may specify five such strings to the encoder, and they should also be written at the start of the output stream, for the decoder’s use.
    [Show full text]
  • Chapter 3 Multimedia Data Compression
    Chapter 3 Multimedia Data Compression 3.1 Lossless and Lossy compression 3.2 Entropy coding 3.3 Huffman coding 3.4 Adaptive coding 3.5 Dictionary-based coding (LZW) 3.1 Lossless and Lossy compression • Compression: the process of coding that will effectively reduce the total number of bits needed to represent certain information. Fig 3.1 A general data compression scheme • We call the output of the encoder codes or codewords. • The intermediate medium could either be data storage or a communication/computer network. • If the compression and decompression processes induce no information loss, the compression scheme is lossless; otherwise, it is lossy. B0 compression ratio = B1 B0 – number of bits before compression B1 – number of bits after compression • In general, we would desire any codec (encoder/decoder scheme) to have a compression ratio much larger than 1.0. • The higher the compression ratio, the better the lossless compression scheme, as long as it is computationally feasible. 3.2 Entropy coding • The entropy η of an information source with alphabet S = {s1, s2, . , sn} is: n 1 ==H( S ) pi log2 i=1 pi n =− ppiilog2 i=1 • pi – probability that symbol si will occur in S. log 1 • 2 pi – indicates the amount of information contained in si, which corresponds to the number of bits needed to encode si. • The definition of entropy is aimed at identifying often-occurring symbols in the datastream as good candidates for short codewords in the compressed bitstream. • We use a variable-length coding scheme for entropy coding— frequently occurring symbols are given codes that are quickly transmitted, while infrequently occurring ones are given longer codes.
    [Show full text]
  • The Improvised GZIP, a Technique for Real Time Lossless Data Compression
    EAI Endorsed Transactions on Context-aware Systems and Applications Research Article The Improvised GZIP, A Technique for Real Time Loss- less Data Compression Ahmad Saeed Shah*, Muhammad Athar Javed Sethi Department of Computer Systems Engineering, University of Engineering and Technology, Peshawar, Pakistan [email protected], [email protected] Abstract Whenever it comes to data processing, the user always faces two major constraints. One is storage capacity and second is bandwidth. These two resources must be efficiently utilized by compressing the data. Enormous algorithms are used to compress data. As far as, compression in storage is concern, GZIP is used on large scale for lossless data compression. However, it is not desirable to carry out lossless data compression for real time data. In this paper, an improvisation is proposed in the existing GZIP algorithm for compressing real time data by a contemporary concept of introducing Adaptive Huffman algorithm by replacing the traditional Huffman encoder (static). Simulations have proved that improvised GZIP has approximate 18% better compression ratio and space saving than traditional GZIP for real time data. This research paper extends the usability of GZIP algorithm to carry out lossless compression for real time data. Keywords: Lossless data compression, LZ77, Huffman encoding, GZIP and Adaptive Huffman. Received on 09 June 2019, accepted on 23 June 2019, published on 26 June 2019 Copyright © 2019 Ahmad Saeed Shah et al., licensed to EAI. This is an open access article distributed under the terms of the Creative Commons Attribution licence (http://creativecommons.org/licenses/by/3.0/), which permits unlimited use, distribution and reproduction in any medium so long as the original work is properly cited.
    [Show full text]
  • Lelewer and Hirschberg, "Data Compression"
    Data Compression DEBRA A. LELEWER and DANIEL S. HIRSCHBERG Department of Information and Computer Science, University of California, Irvine, California 92717 This paper surveys a variety of data compression methods spanning almost 40 years of research, from the work of Shannon, Fano, and Huffman in the late 1940s to a technique developed in 1986. The aim of data compression is to reduce redundancy in stored or communicated data, thus increasing effective data density. Data compression has important application in the areas of file storage and distributed systems. Concepts from information theory as they relate to the goals and evaluation of data compression methods are discussed briefly. A framework for evaluation and comparison of methods is constructed and applied to the algorithms presented. Comparisons of both theoretical and empirical natures are reported, and possibilities for future research are suggested Categories and Subject Descriptors: E.4 [Data]: Coding and Information Theory-data compaction and compression General Terms: Algorithms, Theory Additional Key Words and Phrases: Adaptive coding, adaptive Huffman codes, coding, coding theory, tile compression, Huffman codes, minimum-redundancy codes, optimal codes, prefix codes, text compression INTRODUCTION mation but whose length is as small as possible. Data compression has important Data compression is often referred to as application in the areas of data transmis- coding, where coding is a general term en- sion and data storage. Many data process- compassing any special representation of ing applications require storage of large data that satisfies a given need. Informa- volumes of data, and the number of such tion theory is defined as the study of applications is constantly increasing as the efficient coding and its consequences in use of computers extends to new disci- the form of speed of transmission and plines.
    [Show full text]