Chapter 5: Data compression. Chapter 5 outline
|
|
- Mitchell Lester
- 5 years ago
- Views:
Transcription
1 Chapter 5: Data compression Chapter 5 outline 2 balls weighing problem Examples of codes Kraft inequality Optimal codes + bounds Kraft inequality for uniquely decodable codes Huffman codes Shannon-Fano-Elias coding
2 You are given 2 balls, all equal in weight except for one that is either heavier or lighter. You are also given a two-pan balance to use. In each use of the balance you may put any number of the 2 balls on the left pan, and the same number on the right pan, and push a button to initiate the weighing; there are three possible outcomes: either the weights are equal, or the balls on the left are heavier, or the balls on the left are lighter. Your task is to design a strategy to determine which is the odd ball and whether it is heavier or lighter than the others in as few uses of the balance as possible. While thinking about this problem, you may find it helpful to consider the following questions: (a) How can one measure information? (b) When you have identified the odd ball and whether it is heavy or light, how much information have you gained? (c) Once you have designed a strategy, draw a tree showing, for each of the possible outcomes of a weighing, what weighing you perform next. At each node in the tree, how much information have the outcomes so far given you, and how much information remains to be gained? (d) How much information is gained when you learn (i) the state of a flipped coin; (ii) the states of two flipped coins; (iii) the outcome when a four-sided die is rolled? (e) How much information is gained on the first step of the weighing problem if 6 balls are weighed against the other 6? How much is gained if 4 are weighed against 4 on the first step, leaving out 4 balls? 2 balls weighing: lighter or heavier Total information contained? Each weighing gives you how much information (ideally)? Number of weighings needed? Strategy?
3 weigh weigh weigh weigh Figure 4.2. An optimal solution to the weighing problem. At each step there are two boxes: the left [Mackay textbook pg. 69] Examples of codes What is X? What is D? What is D*? What is H(X)? What is L(C)? Decode
4 Examples of codes Examples of codes Meaning in lay terms? All codes TABLE 5. Classes of Codes Nonsingular, But Not Uniquely Decodable, X Singular Uniquely Decodable But Not Instantaneous Instantaneous 2 4 Nonsingular codes Uniquely decodable codes Instantaneous codes
5 Code trees A C D B Kraft inequality Want short, prefix codes. Kraft inequality quantifies tradeoff.
6 Code tree for Kraft inequality 8 DATA COMPRESSION Root FIGURE 5.2. Code tree for the Kraft inequality. by a leaf on the tree. The path from the root traces out the symbols of the codeword. A binary example of such a tree is shown in Figure 5.2. The prefix condition on the codewords implies that no codeword is an ancestor of any other codeword on the tree. Hence, each codeword eliminates its descendants as possible codewords. University Press longest 2. On-screen viewing permitted. permitted. Let lmax Copyright be thecambridge length of the codeword ofprinting thenotset of codewords. You can buy this book for pounds or $5. See for links. Consider all nodes of the tree at level lmax. Some of them are codewords, 96 some are descendants of codewords, and some are neither. A codeword 5 Symbol Codes at level li has D lmax li descendants at level lmax. Each of these descendant sets must be disjoint. Also, the total number of nodes in these sets must be less than or equal to D lmax. Hence, summing over all the codewords, we have Figure 5.. The symbol coding li budget. The cost 2 of each D lmax D lmax (5.7) codeword (with length l) is or D li, The total symbol code budget Kraft inequality and code budgets l indicated by the size of the box it is written in. The total budget available when making a uniquely decodeable code is. You can think of this diagram as showing a codeword supermarket, with the codewords arranged in aisles by their length, and the cost of each codeword indicated by the size of its box on the shelf. If the cost of the codewords that you take exceeds the budget then your code will not be uniquely decodeable. (5.8) which is the Kraft inequality. Conversely, given any set of codeword lengths l, l2,..., lm that sat isfy the Kraft inequality, we can always construct a tree like the one in
7 i= and = { 2, 4, 8, 8 }, PX The total chieve as much compression as possible = l(ai ). Prefix be represented and consider thecodes code can C. The entropy of X is.75 bits, and the expected + obtained where on,binary trees. Complete prefix L(C, X)I = ofby a Asymbol code C for ensemble X islength L(C }gth X. X) of this code is also.75 bits. The sequence of symbols C : codes correspond to + binary trees x = (acdbac) is encoded as. C is a prefix code ng codewords: c (x) = with no unused branches. C is an L(C, X) P (x) l(x). (5.5) ample 5.. Let= and is therefore uniquely decodeable. Notice that the codeword lengths incomplete code. a c(ai ) pi h(pi ) li x AX AX = { a, satisfy b, c, li = d log }, 2 (/pi ), or equivalently, pi = 2 li i. (5.) (5.7) /2 a and PX = { /2, /4, /8, /8 },. write this quantity as Example 5.. Consider the fixed length code for the same ensemble X, C 4. /4 b 2. 2 I and consider the code X isexpected.75 bits, and L(C the 4expected length, X) is 2 bits. C. The entropy of The /8 c. L(C,X) pi li code is also.75 bits. (5.6) The sequence of symbols length L(C, X)= of this /8. d i= + Example 5.2. Consider C. The expected length L(C, X) is.25 bits, which 5 5 x = (acdbac) is encoded as c (x) =. C is a prefix code is less than H(X). But the code is not uniquely decodeable. The sex. and is therefore uniquely decodeable. Notice that the codeword lengths quence C : as, which can also be decoded li.x = (acdbac) encodes satisfy l(5.2) = 2(cabdca). ai c(ai ) pliias i = log2 (/pi ), or equivalently, C4 C5 ai c(ai ) pi h(pi ) li AX = { a, b, c, d a }, 4 (5.7) ample 5.. Consider the fixed length code for the same ensemble X, C. Example 5.. Consider the code C. The expected length L(C a 6, X) of this 6. 4 /8, /8 }, /2 and PX = { /2, /4,C a : b 4 The sequence of symbols x = (acdbac) is encoded as The expected length L(C 4, X) is 2 bits. code is.75 bits. b / b he code C. The entropy of X is.75 bits, the expected c and 4c+ (x) =. /8 c. c X) of this code is also.75 bits. Thedsequence symbols of 4Is CL(C ample 5.2. Consider C5. The expected length is.25it bits, is/8not,which because both c(b). c(a) = is adprefix d code? 5, X) 6 a prefix of s encoded as c+ (x) =. C is a prefix code. (5.) and c(c). decodeable. The seis less decodeable. than H(X). Butthat thethecode is notlengths uniquely re uniquely Notice codeword li. quence x = (acdbac) encodes as, which can also be decoded 2 (/pi ), or equivalently, pi = 2 C6 : C4 C5 as (cabdca). t, any encoded a codeword 2 indicated. by the of each /4 box on sizebof its the2. shelf.2 If the /8.thatyou costc of the codewords /8. then your the taked exceeds budget code will not be uniquely decodeable. C4 C5 a b c d Kraft inequality and code budgets C6 : ai c(ai ) pi h(pi ) li a b c d / /4 /8 /8 ider the C4. a must befixed easylength to code for the same ensemble CX, C length L(C4, X) is 2 bits. the code C. The expected b 6, ample Consider length L(C X) of this 6 ion as 5.. possible. as is.75 bits.length TheL(C sequence of symbols x = (acdbac) cis encoded ider code C5. The expected, X) is.25 bits, which d + (x) =. 5 c (X). But the code is not uniquely decodeable. The se decoded cdbac) encodes as, which can also be Is C is a prefix ofcboth c(b) 6 a+prefix code? It is not, because c(a)= 6: ed code C, no and c(c). code? It is not, because c(a) = is a prefix of both c(b) fy the end of a can be a prefix if there exists a or example, is ider the code C6. The expected length L(C6, X) of this its. The sequence of symbols x = (acdbac) is encoded as (5.4). eable code. ai c(ai ) pi a b c d /2 /4 /8 /8 h(pi ) li 2 ai c(ai ) a b c d a prefix of any Kraft inequality example ndition codes. What about L = {2;2;;;;}? What about L = {2;2;2;;;}? we constrain our nctuating code, o right without codeword is imeable. pi C4h(pi ) /2. /4 2. /8. /8. li 2 C6 Figure 5.2. Selections of codewords made by codes C, C, C4 and C6 from section 5.. [Mackay textbook, Ch.5]
8 Extended Kraft inequality Kraft inequality for uniquely decodable codes
9 Optimal codes Optimal code = prefix code that minimizes the expected codeword length. Solution to: Bounds on optimal code length
10 Block coding Entropy rate and code length
11 The wrong distribution Design code for source distribution q(x) but true distribution is p(x). Can we quantify the loss in the expected length of the `wrong code? Shannon code
12 Shannon code example Shannon code competitive optimality
13 Shannon-Fano-Elias coding Cumulative distribution function (CDF) of X F(x) F(x) F(x) F(x ) p(x) Performance? 2 x x ( ) Shannon-Fano-Elias for dyadic distribution x p(x) F (x) F (x) F (x) in Binary l(x) = log + Codeword p(x) What is L(C)? What is H(X)?
14 Shannon-Fano-Elias for general distribution x p(x) F (x) F (x) F (x) in Binary l(x) = log + Codeword p(x) What is L(C)? What is H(X)? Huffman codes Huffman discovered a simple algorithm for constructing optimal (shortest expected length) codes for a given any distribution. Example 5.6. X ={, 2,, 4, 5} with probabilities.25,.25,.2,.5,.5, tively. We expect the optimal binary code for to have the Codeword Length Codeword X Probability H(X), L(C)? Example 5.6. X ={, 2,, 4, 5} with probabilities.25,.25,.2,.5,.5, tively. We expect the optimal binary code for to have the Codeword X Probability
15 Huffman codes Purpose of dummy symbols? Number of dummy symbols? Huffman code of English language a i p i log 2 pi l i c(a i) a b c d e f g h i j.6.7 k l m n o p q.8. 9 r s t u v w x y z a n c s i o e d h y u w v q m r l t b g f p k x j z [Mackay textbook, Ch.5]
16 Huffman codes C is a Huffman code Constructing Huffman codes Huffman code obtained by repeatedly ``merging" the last two symbols, assigning to them the ``last codeword minus the last bit", and reordering the symbols in order to have non-increasing probabilities or weights.
17 Comments on Huffman codes Equivalence of Huffman coding and 2 questions? Huffman coding versus Shannon coding? Strengths? Weaknesses? Rigorous proof of Huffman optimality
Information Theory and Communication
Information Theory and Communication Shannon-Fano-Elias Code and Arithmetic Codes Ritwik Banerjee rbanerjee@cs.stonybrook.edu c Ritwik Banerjee Information Theory and Communication 1/12 Roadmap Examples
More informationCOMPSCI 650 Applied Information Theory Feb 2, Lecture 5. Recall the example of Huffman Coding on a binary string from last class:
COMPSCI 650 Applied Information Theory Feb, 016 Lecture 5 Instructor: Arya Mazumdar Scribe: Larkin Flodin, John Lalor 1 Huffman Coding 1.1 Last Class s Example Recall the example of Huffman Coding on a
More informationENSC Multimedia Communications Engineering Huffman Coding (1)
ENSC 424 - Multimedia Communications Engineering Huffman Coding () Jie Liang Engineering Science Simon Fraser University JieL@sfu.ca J. Liang: SFU ENSC 424 Outline Entropy Coding Prefix code Kraft-McMillan
More informationDigital Communication Prof. Bikash Kumar Dey Department of Electrical Engineering Indian Institute of Technology, Bombay
Digital Communication Prof. Bikash Kumar Dey Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 29 Source Coding (Part-4) We have already had 3 classes on source coding
More informationDigital Communication Prof. Bikash Kumar Dey Department of Electrical Engineering Indian Institute of Technology, Bombay
Digital Communication Prof. Bikash Kumar Dey Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 26 Source Coding (Part 1) Hello everyone, we will start a new module today
More informationLecture 15. Error-free variable length schemes: Shannon-Fano code
Lecture 15 Agenda for the lecture Bounds for L(X) Error-free variable length schemes: Shannon-Fano code 15.1 Optimal length nonsingular code While we do not know L(X), it is easy to specify a nonsingular
More informationOUTLINE. Paper Review First Paper The Zero-Error Side Information Problem and Chromatic Numbers, H. S. Witsenhausen Definitions:
OUTLINE Definitions: - Source Code - Expected Length of a source code - Length of a codeword - Variable/fixed length coding - Example: Huffman coding - Lossless coding - Distortion - Worst case length
More information14 Data Compression by Huffman Encoding
4 Data Compression by Huffman Encoding 4. Introduction In order to save on disk storage space, it is useful to be able to compress files (or memory blocks) of data so that they take up less room. However,
More informationData Compression - Seminar 4
Data Compression - Seminar 4 October 29, 2013 Problem 1 (Uniquely decodable and instantaneous codes) Let L = p i l 100 i be the expected value of the 100th power of the word lengths associated with an
More informationFundamentals of Multimedia. Lecture 5 Lossless Data Compression Variable Length Coding
Fundamentals of Multimedia Lecture 5 Lossless Data Compression Variable Length Coding Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Mahmoud El-Gayyar / Fundamentals of Multimedia 1 Data Compression Compression
More informationUniquely Decodable. Code 1 Code 2 A 00 0 B 1 1 C D 11 11
Uniquely Detectable Code Uniquely Decodable A code is not uniquely decodable if two symbols have the same codeword, i.e., if C(S i ) = C(S j ) for any i j or the combination of two codewords gives a third
More informationIMAGE COMPRESSION- I. Week VIII Feb /25/2003 Image Compression-I 1
IMAGE COMPRESSION- I Week VIII Feb 25 02/25/2003 Image Compression-I 1 Reading.. Chapter 8 Sections 8.1, 8.2 8.3 (selected topics) 8.4 (Huffman, run-length, loss-less predictive) 8.5 (lossy predictive,
More informationChapter 5 VARIABLE-LENGTH CODING Information Theory Results (II)
Chapter 5 VARIABLE-LENGTH CODING ---- Information Theory Results (II) 1 Some Fundamental Results Coding an Information Source Consider an information source, represented by a source alphabet S. S = { s,
More informationLecture 17. Lower bound for variable-length source codes with error. Coding a sequence of symbols: Rates and scheme (Arithmetic code)
Lecture 17 Agenda for the lecture Lower bound for variable-length source codes with error Coding a sequence of symbols: Rates and scheme (Arithmetic code) Introduction to universal codes 17.1 variable-length
More informationGreedy Algorithms. Alexandra Stefan
Greedy Algorithms Alexandra Stefan 1 Greedy Method for Optimization Problems Greedy: take the action that is best now (out of the current options) it may cause you to miss the optimal solution You build
More informationMove-to-front algorithm
Up to now, we have looked at codes for a set of symbols in an alphabet. We have also looked at the specific case that the alphabet is a set of integers. We will now study a few compression techniques in
More informationInformation Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 11 Coding Strategies and Introduction to Huffman Coding The Fundamental
More informationCMPSCI 240 Reasoning Under Uncertainty Homework 4
CMPSCI 240 Reasoning Under Uncertainty Homework 4 Prof. Hanna Wallach Assigned: February 24, 2012 Due: March 2, 2012 For this homework, you will be writing a program to construct a Huffman coding scheme.
More information6. Finding Efficient Compressions; Huffman and Hu-Tucker
6. Finding Efficient Compressions; Huffman and Hu-Tucker We now address the question: how do we find a code that uses the frequency information about k length patterns efficiently to shorten our message?
More informationHuffman Coding. Version of October 13, Version of October 13, 2014 Huffman Coding 1 / 27
Huffman Coding Version of October 13, 2014 Version of October 13, 2014 Huffman Coding 1 / 27 Outline Outline Coding and Decoding The optimal source coding problem Huffman coding: A greedy algorithm Correctness
More informationENSC Multimedia Communications Engineering Topic 4: Huffman Coding 2
ENSC 424 - Multimedia Communications Engineering Topic 4: Huffman Coding 2 Jie Liang Engineering Science Simon Fraser University JieL@sfu.ca J. Liang: SFU ENSC 424 1 Outline Canonical Huffman code Huffman
More informationCompressing Data. Konstantin Tretyakov
Compressing Data Konstantin Tretyakov (kt@ut.ee) MTAT.03.238 Advanced April 26, 2012 Claude Elwood Shannon (1916-2001) C. E. Shannon. A mathematical theory of communication. 1948 C. E. Shannon. The mathematical
More informationScribe: Virginia Williams, Sam Kim (2016), Mary Wootters (2017) Date: May 22, 2017
CS6 Lecture 4 Greedy Algorithms Scribe: Virginia Williams, Sam Kim (26), Mary Wootters (27) Date: May 22, 27 Greedy Algorithms Suppose we want to solve a problem, and we re able to come up with some recursive
More informationLossless Compression Algorithms
Multimedia Data Compression Part I Chapter 7 Lossless Compression Algorithms 1 Chapter 7 Lossless Compression Algorithms 1. Introduction 2. Basics of Information Theory 3. Lossless Compression Algorithms
More informationData Compression Techniques
Data Compression Techniques Part 1: Entropy Coding Lecture 1: Introduction and Huffman Coding Juha Kärkkäinen 31.10.2017 1 / 21 Introduction Data compression deals with encoding information in as few bits
More information16.Greedy algorithms
16.Greedy algorithms 16.1 An activity-selection problem Suppose we have a set S = {a 1, a 2,..., a n } of n proposed activities that with to use a resource. Each activity a i has a start time s i and a
More information6. Finding Efficient Compressions; Huffman and Hu-Tucker Algorithms
6. Finding Efficient Compressions; Huffman and Hu-Tucker Algorithms We now address the question: How do we find a code that uses the frequency information about k length patterns efficiently, to shorten
More informationChapter 16: Greedy Algorithm
Chapter 16: Greedy Algorithm 1 About this lecture Introduce Greedy Algorithm Look at some problems solvable by Greedy Algorithm 2 Coin Changing Suppose that in a certain country, the coin dominations consist
More informationDavid Rappaport School of Computing Queen s University CANADA. Copyright, 1996 Dale Carnegie & Associates, Inc.
David Rappaport School of Computing Queen s University CANADA Copyright, 1996 Dale Carnegie & Associates, Inc. Data Compression There are two broad categories of data compression: Lossless Compression
More informationBasics of Information Worksheet
Basics of Information Worksheet Concept Inventory: Notes: Measuring information content; entropy Two s complement; modular arithmetic Variable-length encodings; Huffman s algorithm Hamming distance, error
More informationWelcome Back to Fundamentals of Multimedia (MR412) Fall, 2012 Lecture 10 (Chapter 7) ZHU Yongxin, Winson
Welcome Back to Fundamentals of Multimedia (MR412) Fall, 2012 Lecture 10 (Chapter 7) ZHU Yongxin, Winson zhuyongxin@sjtu.edu.cn 2 Lossless Compression Algorithms 7.1 Introduction 7.2 Basics of Information
More informationHuffman Codes (data compression)
Huffman Codes (data compression) Data compression is an important technique for saving storage Given a file, We can consider it as a string of characters We want to find a compressed file The compressed
More informationGreedy Algorithms and Huffman Coding
Greedy Algorithms and Huffman Coding Henry Z. Lo June 10, 2014 1 Greedy Algorithms 1.1 Change making problem Problem 1. You have quarters, dimes, nickels, and pennies. amount, n, provide the least number
More informationGreedy Algorithms. CLRS Chapters Introduction to greedy algorithms. Design of data-compression (Huffman) codes
Greedy Algorithms CLRS Chapters 16.1 16.3 Introduction to greedy algorithms Activity-selection problem Design of data-compression (Huffman) codes (Minimum spanning tree problem) (Shortest-path problem)
More informationHorn Formulae. CS124 Course Notes 8 Spring 2018
CS124 Course Notes 8 Spring 2018 In today s lecture we will be looking a bit more closely at the Greedy approach to designing algorithms. As we will see, sometimes it works, and sometimes even when it
More information4.8 Huffman Codes. These lecture slides are supplied by Mathijs de Weerd
4.8 Huffman Codes These lecture slides are supplied by Mathijs de Weerd Data Compression Q. Given a text that uses 32 symbols (26 different letters, space, and some punctuation characters), how can we
More informationAnalysis of Algorithms - Greedy algorithms -
Analysis of Algorithms - Greedy algorithms - Andreas Ermedahl MRTC (Mälardalens Real-Time Reseach Center) andreas.ermedahl@mdh.se Autumn 2003 Greedy Algorithms Another paradigm for designing algorithms
More informationChapter 10: Trees. A tree is a connected simple undirected graph with no simple circuits.
Chapter 10: Trees A tree is a connected simple undirected graph with no simple circuits. Properties: o There is a unique simple path between any 2 of its vertices. o No loops. o No multiple edges. Example
More informationCHAPTER 11 Trees. 294 Chapter 11 Trees. f) This is a tree since it is connected and has no simple circuits.
294 Chapter 11 Trees SECTION 11.1 Introduction to Trees CHAPTER 11 Trees 2. a) This is a tree since it is connected and has no simple circuits. b) This is a tree since it is connected and has no simple
More informationAlgorithms Dr. Haim Levkowitz
91.503 Algorithms Dr. Haim Levkowitz Fall 2007 Lecture 4 Tuesday, 25 Sep 2007 Design Patterns for Optimization Problems Greedy Algorithms 1 Greedy Algorithms 2 What is Greedy Algorithm? Similar to dynamic
More informationGreedy algorithms part 2, and Huffman code
Greedy algorithms part 2, and Huffman code Two main properties: 1. Greedy choice property: At each decision point, make the choice that is best at the moment. We typically show that if we make a greedy
More informationCSE 421 Greedy: Huffman Codes
CSE 421 Greedy: Huffman Codes Yin Tat Lee 1 Compression Example 100k file, 6 letter alphabet: File Size: ASCII, 8 bits/char: 800kbits 2 3 > 6; 3 bits/char: 300kbits a 45% b 13% c 12% d 16% e 9% f 5% Why?
More informationComparison Based Sorting Algorithms. Algorithms and Data Structures: Lower Bounds for Sorting. Comparison Based Sorting Algorithms
Comparison Based Sorting Algorithms Algorithms and Data Structures: Lower Bounds for Sorting Definition 1 A sorting algorithm is comparison based if comparisons A[i] < A[j], A[i] A[j], A[i] = A[j], A[i]
More informationWe ve done. Now. Next
We ve done Fast Fourier Transform Polynomial Multiplication Now Introduction to the greedy method Activity selection problem How to prove that a greedy algorithm works Huffman coding Matroid theory Next
More informationData Compression. An overview of Compression. Multimedia Systems and Applications. Binary Image Compression. Binary Image Compression
An overview of Compression Multimedia Systems and Applications Data Compression Compression becomes necessary in multimedia because it requires large amounts of storage space and bandwidth Types of Compression
More informationAn undirected graph is a tree if and only of there is a unique simple path between any 2 of its vertices.
Trees Trees form the most widely used subclasses of graphs. In CS, we make extensive use of trees. Trees are useful in organizing and relating data in databases, file systems and other applications. Formal
More informationGreedy Algorithms CHAPTER 16
CHAPTER 16 Greedy Algorithms In dynamic programming, the optimal solution is described in a recursive manner, and then is computed ``bottom up''. Dynamic programming is a powerful technique, but it often
More informationAlgorithms and Data Structures: Lower Bounds for Sorting. ADS: lect 7 slide 1
Algorithms and Data Structures: Lower Bounds for Sorting ADS: lect 7 slide 1 ADS: lect 7 slide 2 Comparison Based Sorting Algorithms Definition 1 A sorting algorithm is comparison based if comparisons
More informationCHAPTER 1 Encoding Information
MIT 6.02 DRAFT Lecture Notes Spring 2011 Comments, questions or bug reports? Please contact 6.02-staff@mit.edu CHAPTER 1 Encoding Information In this lecture and the next, we ll be looking into compression
More informationTopics. Trees Vojislav Kecman. Which graphs are trees? Terminology. Terminology Trees as Models Some Tree Theorems Applications of Trees CMSC 302
Topics VCU, Department of Computer Science CMSC 302 Trees Vojislav Kecman Terminology Trees as Models Some Tree Theorems Applications of Trees Binary Search Tree Decision Tree Tree Traversal Spanning Trees
More informationMCS-375: Algorithms: Analysis and Design Handout #G2 San Skulrattanakulchai Gustavus Adolphus College Oct 21, Huffman Codes
MCS-375: Algorithms: Analysis and Design Handout #G2 San Skulrattanakulchai Gustavus Adolphus College Oct 21, 2016 Huffman Codes CLRS: Ch 16.3 Ziv-Lempel is the most popular compression algorithm today.
More informationDesign and Analysis of Algorithms
Design and Analysis of Algorithms Instructor: SharmaThankachan Lecture 10: Greedy Algorithm Slides modified from Dr. Hon, with permission 1 About this lecture Introduce Greedy Algorithm Look at some problems
More informationFebruary 24, :52 World Scientific Book - 9in x 6in soltys alg. Chapter 3. Greedy Algorithms
Chapter 3 Greedy Algorithms Greedy algorithms are algorithms prone to instant gratification. Without looking too far ahead, at each step they make a locally optimum choice, with the hope that it will lead
More informationlooking ahead to see the optimum
! Make choice based on immediate rewards rather than looking ahead to see the optimum! In many cases this is effective as the look ahead variation can require exponential time as the number of possible
More informationFigure-2.1. Information system with encoder/decoders.
2. Entropy Coding In the section on Information Theory, information system is modeled as the generationtransmission-user triplet, as depicted in fig-1.1, to emphasize the information aspect of the system.
More informationCS473-Algorithms I. Lecture 11. Greedy Algorithms. Cevdet Aykanat - Bilkent University Computer Engineering Department
CS473-Algorithms I Lecture 11 Greedy Algorithms 1 Activity Selection Problem Input: a set S {1, 2,, n} of n activities s i =Start time of activity i, f i = Finish time of activity i Activity i takes place
More informationLecture: Analysis of Algorithms (CS )
Lecture: Analysis of Algorithms (CS483-001) Amarda Shehu Spring 2017 1 The Fractional Knapsack Problem Huffman Coding 2 Sample Problems to Illustrate The Fractional Knapsack Problem Variable-length (Huffman)
More informationCOMP3121/3821/9101/ s1 Assignment 1
Sample solutions to assignment 1 1. (a) Describe an O(n log n) algorithm (in the sense of the worst case performance) that, given an array S of n integers and another integer x, determines whether or not
More informationComplete Variable-Length "Fix-Free" Codes
Designs, Codes and Cryptography, 5, 109-114 (1995) 9 1995 Kluwer Academic Publishers, Boston. Manufactured in The Netherlands. Complete Variable-Length "Fix-Free" Codes DAVID GILLMAN* gillman @ es.toronto.edu
More informationCS 206 Introduction to Computer Science II
CS 206 Introduction to Computer Science II 04 / 25 / 2018 Instructor: Michael Eckmann Today s Topics Questions? Comments? Balanced Binary Search trees AVL trees / Compression Uses binary trees Balanced
More informationApplied Lagrange Duality for Constrained Optimization
Applied Lagrange Duality for Constrained Optimization Robert M. Freund February 10, 2004 c 2004 Massachusetts Institute of Technology. 1 1 Overview The Practical Importance of Duality Review of Convexity
More informationPART IV. Given 2 sorted arrays, What is the time complexity of merging them together?
General Questions: PART IV Given 2 sorted arrays, What is the time complexity of merging them together? Array 1: Array 2: Sorted Array: Pointer to 1 st element of the 2 sorted arrays Pointer to the 1 st
More informationITCT Lecture 6.1: Huffman Codes
ITCT Lecture 6.1: Huffman Codes Prof. Ja-Ling Wu Department of Computer Science and Information Engineering National Taiwan University Huffman Encoding 1. Order the symbols according to their probabilities
More informationMultimedia Systems. Part 20. Mahdi Vasighi
Multimedia Systems Part 2 Mahdi Vasighi www.iasbs.ac.ir/~vasighi Department of Computer Science and Information Technology, Institute for dvanced Studies in asic Sciences, Zanjan, Iran rithmetic Coding
More information3.1 Generating Inverses of Functions 263
3.1 Generating Inverses of Functions FOCUSING QUESTION What is the inverse of a function? LEARNING OUTCOMES I can compare and contrast the key attributes of a function and its inverse when I have the function
More informationCh. 2: Compression Basics Multimedia Systems
Ch. 2: Compression Basics Multimedia Systems Prof. Thinh Nguyen (Based on Prof. Ben Lee s Slides) Oregon State University School of Electrical Engineering and Computer Science Outline Why compression?
More informationDistributed source coding
Distributed source coding Suppose that we want to encode two sources (X, Y ) with joint probability mass function p(x, y). If the encoder has access to both X and Y, it is sufficient to use a rate R >
More informationData Compression. Guest lecture, SGDS Fall 2011
Data Compression Guest lecture, SGDS Fall 2011 1 Basics Lossy/lossless Alphabet compaction Compression is impossible Compression is possible RLE Variable-length codes Undecidable Pigeon-holes Patterns
More informationText Compression through Huffman Coding. Terminology
Text Compression through Huffman Coding Huffman codes represent a very effective technique for compressing data; they usually produce savings between 20% 90% Preliminary example We are given a 100,000-character
More informationEECS 122: Introduction to Communication Networks Final Exam Solutions
EECS 22: Introduction to Communication Networks Final Exam Solutions Problem. (6 points) How long does it take for a 3000-byte IP packet to go from host A to host B in the figure below. Assume the overhead
More informationSecond Semester - Question Bank Department of Computer Science Advanced Data Structures and Algorithms...
Second Semester - Question Bank Department of Computer Science Advanced Data Structures and Algorithms.... Q1) Let the keys are 28, 47, 20, 36, 43, 23, 25, 54 and table size is 11 then H(28)=28%11=6; H(47)=47%11=3;
More informationGUIDED NOTES 3.5 TRANSFORMATIONS OF FUNCTIONS
GUIDED NOTES 3.5 TRANSFORMATIONS OF FUNCTIONS LEARNING OBJECTIVES In this section, you will: Graph functions using vertical and horizontal shifts. Graph functions using reflections about the x-axis and
More informationData compression.
Data compression anhtt-fit@mail.hut.edu.vn dungct@it-hut.edu.vn Data Compression Data in memory have used fixed length for representation For data transfer (in particular), this method is inefficient.
More informationWe will show that the height of a RB tree on n vertices is approximately 2*log n. In class I presented a simple structural proof of this claim:
We have seen that the insert operation on a RB takes an amount of time proportional to the number of the levels of the tree (since the additional operations required to do any rebalancing require constant
More information1 Leaffix Scan, Rootfix Scan, Tree Size, and Depth
Lecture 17 Graph Contraction I: Tree Contraction Parallel and Sequential Data Structures and Algorithms, 15-210 (Spring 2012) Lectured by Kanat Tangwongsan March 20, 2012 In this lecture, we will explore
More informationCAP 5993/CAP 4993 Game Theory. Instructor: Sam Ganzfried
CAP 5993/CAP 4993 Game Theory Instructor: Sam Ganzfried sganzfri@cis.fiu.edu 1 Announcements HW 1 due today HW 2 out this week (2/2), due 2/14 2 Definition: A two-player game is a zero-sum game if for
More informationError-Correcting Codes
Error-Correcting Codes Michael Mo 10770518 6 February 2016 Abstract An introduction to error-correcting codes will be given by discussing a class of error-correcting codes, called linear block codes. The
More informationBinary Trees Case-studies
Carlos Moreno cmoreno @ uwaterloo.ca EIT-4103 https://ece.uwaterloo.ca/~cmoreno/ece250 Standard reminder to set phones to silent/vibrate mode, please! Today's class: Binary Trees Case-studies We'll look
More informationECE608 - Chapter 16 answers
¼ À ÈÌ Ê ½ ÈÊÇ Ä ÅË ½µ ½ º½¹ ¾µ ½ º½¹ µ ½ º¾¹½ µ ½ º¾¹¾ µ ½ º¾¹ µ ½ º ¹ µ ½ º ¹ µ ½ ¹½ ½ ECE68 - Chapter 6 answers () CLR 6.-4 Let S be the set of n activities. The obvious solution of using Greedy-Activity-
More informationChapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 9 Greedy Technique Copyright 2007 Pearson Addison-Wesley. All rights reserved. Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that
More informationEngineering Mathematics II Lecture 16 Compression
010.141 Engineering Mathematics II Lecture 16 Compression Bob McKay School of Computer Science and Engineering College of Engineering Seoul National University 1 Lossless Compression Outline Huffman &
More informationALGORITHMS OF INFORMATICS. Volume 3. APPLICATIONS AND DATA MANAGEMENT
ALGORITHMS OF INFORMATICS Volume 3. APPLICATIONS AND DATA MANAGEMENT ELTE EÖTVÖS KIADÓ Budapest, 2006 Editor: Antal Iványi Authors: Ulrich Tamm (Chapter 13), László Szirmay-Kalos (14), János Demetrovics
More informationSource Encoding and Compression
Source Encoding and Compression Jukka Teuhola Computer Science Department of Information Technology University of Turku Spring 2014 Lecture notes 2 Table of Contents 1. Introduction...3 2. Coding-theoretic
More informationPierre A. Humblet* Abstract
Revised March 1980 ESL-P-8 0 0 GENERALIZATION OF HUFFMAN CODING TO MINIMIZE THE PROBABILITY OF BUFFER OVERFLOW BY Pierre A. Humblet* Abstract An algorithm is given to find a prefix condition code that
More informationChapter 7 Lossless Compression Algorithms
Chapter 7 Lossless Compression Algorithms 7.1 Introduction 7.2 Basics of Information Theory 7.3 Run-Length Coding 7.4 Variable-Length Coding (VLC) 7.5 Dictionary-based Coding 7.6 Arithmetic Coding 7.7
More informationDesign and Analysis of Algorithms
CSE 101, Winter 018 D/Q Greed SP s DP LP, Flow B&B, Backtrack Metaheuristics P, NP Design and Analysis of Algorithms Lecture 8: Greed Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Optimization
More informationEE 368. Weeks 5 (Notes)
EE 368 Weeks 5 (Notes) 1 Chapter 5: Trees Skip pages 273-281, Section 5.6 - If A is the root of a tree and B is the root of a subtree of that tree, then A is B s parent (or father or mother) and B is A
More informationContents. 3 Vector Quantization The VQ Advantage Formulation Optimality Conditions... 48
Contents Part I Prelude 1 Introduction... 3 1.1 Audio Coding... 4 1.2 Basic Idea... 6 1.3 Perceptual Irrelevance... 8 1.4 Statistical Redundancy... 9 1.5 Data Modeling... 9 1.6 Resolution Challenge...
More informationAtCoder World Tour Finals 2019
AtCoder World Tour Finals 201 writer: rng 58 February 21st, 2018 A: Magic Suppose that the magician moved the treasure in the order y 1 y 2 y K+1. Here y i y i+1 for each i because it doesn t make sense
More informationS. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 165
S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 165 5.22. You are given a graph G = (V, E) with positive edge weights, and a minimum spanning tree T = (V, E ) with respect to these weights; you may
More informationPriority Queues. Chapter 9
Chapter 9 Priority Queues Sometimes, we need to line up things according to their priorities. Order of deletion from such a structure is determined by the priority of the elements. For example, when assigning
More information1. (a) O(log n) algorithm for finding the logical AND of n bits with n processors
1. (a) O(log n) algorithm for finding the logical AND of n bits with n processors on an EREW PRAM: See solution for the next problem. Omit the step where each processor sequentially computes the AND of
More information15 July, Huffman Trees. Heaps
1 Huffman Trees The Huffman Code: Huffman algorithm uses a binary tree to compress data. It is called the Huffman code, after David Huffman who discovered d it in 1952. Data compression is important in
More informationOptimal Variable Length Codes (Arbitrary Symbol Cost and Equal Code Word Probability)* BEN VARN
INFORMATION AND CONTROL 19, 289-301 (1971) Optimal Variable Length Codes (Arbitrary Symbol Cost and Equal Code Word Probability)* BEN VARN School of Systems and Logistics, Air Force Institute of Technology,
More informationIntroduction Slide 1/20. Introduction. Fall Semester. Parallel Computing
Introduction Slide 1/20 Introduction Fall Semester Introduction Slide 2/20 Topic Outline Programming in C Pointers Input-Output Embarrassingly Parallel Message Passing Interface Projectile motion Fractal
More informationLecture 13. Types of error-free codes: Nonsingular, Uniquely-decodable and Prefix-free
Lecture 13 Agenda for the lecture Introduction to data compression Fixed- and variable-length codes Types of error-free codes: Nonsingular, Uniquely-decodable and Prefix-free 13.1 The data compression
More information14.4 Description of Huffman Coding
Mastering Algorithms with C By Kyle Loudon Slots : 1 Table of Contents Chapter 14. Data Compression Content 14.4 Description of Huffman Coding One of the oldest and most elegant forms of data compression
More informationDepartment of Computer Applications. MCA 312: Design and Analysis of Algorithms. [Part I : Medium Answer Type Questions] UNIT I
MCA 312: Design and Analysis of Algorithms [Part I : Medium Answer Type Questions] UNIT I 1) What is an Algorithm? What is the need to study Algorithms? 2) Define: a) Time Efficiency b) Space Efficiency
More informationCh. 2: Compression Basics Multimedia Systems
Ch. 2: Compression Basics Multimedia Systems Prof. Ben Lee School of Electrical Engineering and Computer Science Oregon State University Outline Why compression? Classification Entropy and Information
More informationIntro. To Multimedia Engineering Lossless Compression
Intro. To Multimedia Engineering Lossless Compression Kyoungro Yoon yoonk@konkuk.ac.kr 1/43 Contents Introduction Basics of Information Theory Run-Length Coding Variable-Length Coding (VLC) Dictionary-based
More information