ENSC Multimedia Communications Engineering Topic 4: Huffman Coding 2
|
|
- Aubrey Berry
- 6 years ago
- Views:
Transcription
1 ENSC Multimedia Communications Engineering Topic 4: Huffman Coding 2 Jie Liang Engineering Science Simon Fraser University JieL@sfu.ca J. Liang: SFU ENSC 424 1
2 Outline Canonical Huffman code Huffman encoding Huffman decoding Limitations of Huffman code Context-adaptive Huffman coding J. Liang: SFU ENSC 424 2
3 Canonical Huffman Code Huffman codes for a given data set is not unique Huffman algorithm is needed only to compute the optimal codeword lengths Canonical Huffman code is well structured Given the codeword lengths, can find a canonical Huffman code J. Liang: SFU ENSC 424 3
4 Canonical Huffman Code Rules: Assign 0 to left branch and 1 to right branch Build the tree from left to right in increasing order of depth Each leaf is placed at the first available position Example: Codeword lengths: 2, 2, 3, 3, 3, 4, 4 Verify that it satisfies Kraft-McMillan inequality A non-canonical example N i= 1 2 The Canonical Tree l i J. Liang: SFU ENSC 424 4
5 Canonical Huffman Properties: The first code is a series of 0 Codes of same length are consecutive: 100, 101, If we pad zeros to the right side such that all codewords have the same length, shorter codes would have lower value than longer codes: 0000 < 0100 < 1000 < 1010 < 1100 < 1110 < Formula from level n to level n+1: C(n+1, 1) = 2 ( C(n, last) + 1): append a 0 to the next available level-n code First code of length n+1 Last code of length n If from length n to n + 2 directly: e.g., 1, 3, 3, 3, 4, C(n+2, 1) = 4( C(n, last) + 1) J. Liang: SFU ENSC 424 5
6 Advantages of Canonical Huffman 1. Reducing memory requirement Non-canonical tree needs: All codewords Lengths of all codewords Need a lot of space for large table Canonical tree only needs: Min: shortest codeword length Max: longest codeword length Distribution: Number of codewords in each level Min=2, Max=4, # in each level: 2, 3, 2 J. Liang: SFU ENSC 424 6
7 Advantages of Canonical Huffman 2. Simplifying the decoding See Hirschberg & Lelewer s paper for details (Not required in this course) Final note about Canonical Huffman: Different conventions of canonical form exist: Can be built from the right to the left (exchanging 0 and 1). This convention is used in, e.g., Practical Huffman coding at J. Liang: SFU ENSC 424 7
8 Outline Review of last lecture Huffman code Canonical Huffman code Huffman Encoding Huffman Decoding Limitations of Huffman code Context-adaptive Huffman coding J. Liang: SFU ENSC 424 8
9 Computer Implementation Code: a: 01, b: 1, c: 000, d: 0010, e: 0011 How to store the Huffman table? Need codewords: 8 bits, 16 bits, 32 bits unsigned char Codewords[5] = {1, 1, 0, 2, 3}; Also need to store length of each codes unsigned char Codelength[5] = {2, 1, 3, 4, 4}; Computer does not know the number of leading zeros. 1 and 01 are different codes, 0 and 000 are different codes Decoder also needs to store this table. J. Liang: SFU ENSC 424 9
10 Encoding For each input symbol End Find its codeword Output all bits of the codeword Needs bit-level operations: byte pointer, bit pointer Source alphabet A = {a, b, c, d, e} Probability distribution: {0.2, 0.4, 0.2, 0.1, 0.1} Code: a: 01, b: 1, c: 000, d: 0010, e: 0011 Sequence: abaddecade Compressed bitstream: bits: 3 bits / symbol ASCII: 10 bytes (80 bits) Compression ratio: 2.67 : 1 J. Liang: SFU ENSC
11 Outline Review of last lecture Huffman code Canonical Huffman code Huffman Encoding Huffman Decoding Direct Approach Table Look-up Method Multilevel Table Look-up Method Limitations of Huffman code Context-adaptive Huffman coding J. Liang: SFU ENSC
12 Huffman Decoding Direct Approach: Read one bit, compare with all codewords Slow Binary tree approach: Embed the Huffman table into a binary tree data structure Read one bit: if it s 0, go to left child. If it s 1, go to right child. Decode a symbol when a leaf is reached. Still a bit-by-bit approach J. Liang: SFU ENSC
13 Table Look-up 00 1 N: # of codewords L: max codeword length Expand to a full tree: Each Level-L node belongs to the subtree of a codeword. Equivalent to dividing the range [0, 2^L] into N intervals, each corresponding to one codeword. Read L bits, and find which internal it belongs to: Bar [4] = {010, 011, 100, 1000}; x = ReadBits (3); For (k = 0; k <= 3) { } if (x < Bar [k]) {Decode codeword k; break;} Still needs conditional operators: slow J. Liang: SFU ENSC
14 Table Look-up Method a: 00 b: 010 c: 011 d: 1 char HuffDec[8][2] = { }; { a, 2}, { a, 2}, { b, 3}, { c, 3}, { d, 1}, { d, 1}, { d, 1}, { d, 1} a b c J. Liang: SFU ENSC d x = ReadBits(3); k = 0; //# of symbols decoded While (not EOF) { } symbol[k++] = HuffDec[x][0]; length = HuffDec[x][1]; x = x << length; newbits = ReadBits(length); x = x newbits; x = x & 7;
15 Multi-level Table Look-Up Look-up table size: 2^L L=8: 256 entries L=16: entries! Most codes can be decoded by looking at a few bits Long codes rarely appear Multi-level Table Look-Up Divide-and-conquer One for frequently appeared codewords Others for longer codewords entries 110 L = 8 16 entries One-level: 256 entries Two-level: 32 entries! J. Liang: SFU ENSC
16 More Complicated Cases More than one hole in the first table: Need one 2 nd -layer table for each hole. Table Table 2 Table 3 J. Liang: SFU ENSC
17 Outline Huffman code Canonical Huffman code Huffman Decoding Limitations of Huffman Code Context-adaptive Huffman coding J. Liang: SFU ENSC
18 Limitations of Huffman Code Need a probability distribution Usually estimated from a training set But the practical data could be quite different Hard to adapt to changing statistics Must design new codes on the fly Context-adaptive method still need predefined tables Minimum codeword length is 1 bit Serious penalty for high-probability symbols Example: Binary source, P(0)=0.9 Entropy: -0.9*log2(0.9)-0.1*log2(0.1) = bit Huffman code: 0, 1 Avg. code length: 1 bit More than 100% redundancy!!! Joint coding is not practical for large alphabet. J. Liang: SFU ENSC
19 Outline Huffman code Canonical Huffman code Huffman Decoding Limitations of Huffman Code Context-adaptive Huffman coding J. Liang: SFU ENSC
20 Context-adaptive Huffman code Switch Huffman table based on previously encoded information (context) Decoder follows the same rules. Example: Binary source with P(X2i, X2i+1): P(0, 0) = 3/8, P(0, 1) = 1/8 P(1, 0) = 1/8, P(1, 1) = 3/8 Encode 2 symbols together Code from previous example: 1, 00, 010, and 1 tend to appear in cluster: x0 x1 x2 x3 x4 x5 x6 x7 Context (0,0) (1,1) (0,1) (1,0) (0,0) Use last two symbols (context) to predict the next two. Design one set of Huffman code for each possible context value. Used in H.264 (revisited later) J. Liang: SFU ENSC Codewords (0,1) 10 (1,0) (1,1)
21 Summary Huffman code generation: Sort, merge assign code Canonical Huffman code Left to right, short to long, take first valid leaf Huffman Decoding Direct, tree, table look-up, multi-level table look-up Limitations of Huffman Coding Adaptive is hard, not efficient Next: Golumb-Rice coding Arithmetic coding J. Liang: SFU ENSC
ENSC 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 informationLec 04 Variable Length Coding in JPEG
Outline CS/EE 5590 / ENG 40 Special Topics (7804, 785, 7803) Lec 04 Variable Length Coding in JPEG Lecture 03 ReCap VLC JPEG Image Coding Framework Zhu Li Course Web: http://l.web.umkc.edu/lizhu/teaching/206sp.video-communication/main.html
More informationEE67I Multimedia Communication Systems Lecture 4
EE67I Multimedia Communication Systems Lecture 4 Lossless Compression Basics of Information Theory Compression is either lossless, in which no information is lost, or lossy in which information is lost.
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 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 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 informationData Compression Algorithms
Data Compression Algorithms Adaptive Huffman coding Robert G. Gallager Massachusetts Institute of Technology Donald Ervin Knuth Stanford University 17.10.2017 NSWI072-6 Static adaptive methods (Statistical)
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 informationInformation 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 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 informationArithmetic Coding. Arithmetic Coding
Contents Image Compression Lecture 3 Arithmetic Code Introduction to & Decoding Algorithm Generating a Binary Code for Huffman codes have to be an integral number of bits long, while the entropy value
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 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 informationITCT Lecture 8.2: Dictionary Codes and Lempel-Ziv Coding
ITCT Lecture 8.2: Dictionary Codes and Lempel-Ziv Coding Huffman codes require us to have a fairly reasonable idea of how source symbol probabilities are distributed. There are a number of applications
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 informationImage coding and compression
Chapter 2 Image coding and compression 2. Lossless and lossy compression We have seen that image files can be very large. It is thus important for reasons both of storage and file transfer to make these
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 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 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 informationCSC 310, Fall 2011 Solutions to Theory Assignment #1
CSC 310, Fall 2011 Solutions to Theory Assignment #1 Question 1 (15 marks): Consider a source with an alphabet of three symbols, a 1,a 2,a 3, with probabilities p 1,p 2,p 3. Suppose we use a code in which
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 informationCSE 143 Lecture 22. Huffman Tree
CSE 4 Lecture Huffman slides created by Ethan Apter http://www.cs.washington.edu/4/ Huffman Tree For your next assignment, you ll create a Huffman tree Huffman trees are used for file compression file
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 informationMultimedia Networking ECE 599
Multimedia Networking ECE 599 Prof. Thinh Nguyen School of Electrical Engineering and Computer Science Based on B. Lee s lecture notes. 1 Outline Compression basics Entropy and information theory basics
More informationMore Bits and Bytes Huffman Coding
More Bits and Bytes Huffman Coding Encoding Text: How is it done? ASCII, UTF, Huffman algorithm ASCII C A T Lawrence Snyder, CSE UTF-8: All the alphabets in the world Uniform Transformation Format: a variable-width
More informationCourse schedule. COMP9319 Web Data Compression and Search. Huffman coding. Original readings
Course schedule COMP9319 Web Data Compression and Search Lecture 2: daptive Huffman, WT Data compression Search Data compression + Search Web data compression + Search Optional topics 1 3 Original readings
More informationEntropy Coding. - to shorten the average code length by assigning shorter codes to more probable symbols => Morse-, Huffman-, Arithmetic Code
Entropy Coding } different probabilities for the appearing of single symbols are used - to shorten the average code length by assigning shorter codes to more probable symbols => Morse-, Huffman-, Arithmetic
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 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 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 informationSIGNAL COMPRESSION Lecture Lempel-Ziv Coding
SIGNAL COMPRESSION Lecture 5 11.9.2007 Lempel-Ziv Coding Dictionary methods Ziv-Lempel 77 The gzip variant of Ziv-Lempel 77 Ziv-Lempel 78 The LZW variant of Ziv-Lempel 78 Asymptotic optimality of Ziv-Lempel
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 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 informationLECTURE NOTES OF ALGORITHMS: DESIGN TECHNIQUES AND ANALYSIS
Department of Computer Science University of Babylon LECTURE NOTES OF ALGORITHMS: DESIGN TECHNIQUES AND ANALYSIS By Faculty of Science for Women( SCIW), University of Babylon, Iraq Samaher@uobabylon.edu.iq
More informationWireless Communication
Wireless Communication Systems @CS.NCTU Lecture 6: Image Instructor: Kate Ching-Ju Lin ( 林靖茹 ) Chap. 9 of Fundamentals of Multimedia Some reference from http://media.ee.ntu.edu.tw/courses/dvt/15f/ 1 Outline
More informationASCII American Standard Code for Information Interchange. Text file is a sequence of binary digits which represent the codes for each character.
Project 2 1 P2-0: Text Files All files are represented as binary digits including text files Each character is represented by an integer code ASCII American Standard Code for Information Interchange Text
More informationCIS 121 Data Structures and Algorithms with Java Spring 2018
CIS 121 Data Structures and Algorithms with Java Spring 2018 Homework 6 Compression Due: Monday, March 12, 11:59pm online 2 Required Problems (45 points), Qualitative Questions (10 points), and Style and
More informationCompact Encoding of the Web Graph Exploiting Various Power Laws
Compact Encoding of the Web Graph Exploiting Various Power Laws Statistical Reason Behind Link Database Yasuhito Asano, Tsuyoshi Ito 2, Hiroshi Imai 2, Masashi Toyoda 3, and Masaru Kitsuregawa 3 Department
More informationPESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA
INTERNAL ASSESSMENT TEST 2 Date : 30/3/15 Max Marks : 50 Name of faculty : Sabeeha Sultana Subject & Code : ADA(13MCA41) Answer any five full question: 1.Illustrate Mergesort for the dataset 8,3,2,9,7,1,5,4.
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 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 informationASCII American Standard Code for Information Interchange. Text file is a sequence of binary digits which represent the codes for each character.
Project 2 1 P2-0: Text Files All files are represented as binary digits including text files Each character is represented by an integer code ASCII American Standard Code for Information Interchange Text
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 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 informationEE-575 INFORMATION THEORY - SEM 092
EE-575 INFORMATION THEORY - SEM 092 Project Report on Lempel Ziv compression technique. Department of Electrical Engineering Prepared By: Mohammed Akber Ali Student ID # g200806120. ------------------------------------------------------------------------------------------------------------------------------------------
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 informationLecture 6 Review of Lossless Coding (II)
Shujun LI (李树钧): INF-10845-20091 Multimedia Coding Lecture 6 Review of Lossless Coding (II) May 28, 2009 Outline Review Manual exercises on arithmetic coding and LZW dictionary coding 1 Review Lossy coding
More informationAlgorithms and Data Structures CS-CO-412
Algorithms and Data Structures CS-CO-412 David Vernon Professor of Informatics University of Skövde Sweden david@vernon.eu www.vernon.eu Algorithms and Data Structures 1 Copyright D. Vernon 2014 Trees
More informationCSE100. Advanced Data Structures. Lecture 13. (Based on Paul Kube course materials)
CSE100 Advanced Data Structures Lecture 13 (Based on Paul Kube course materials) CSE 100 Priority Queues in Huffman s algorithm Heaps and Priority Queues Time and space costs of coding with Huffman codes
More informationCS15100 Lab 7: File compression
C151 Lab 7: File compression Fall 26 November 14, 26 Complete the first 3 chapters (through the build-huffman-tree function) in lab (optionally) with a partner. The rest you must do by yourself. Write
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 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 informationData Structures and Algorithms
Data Structures and Algorithms CS245-2015S-P2 Huffman Codes Project 2 David Galles Department of Computer Science University of San Francisco P2-0: Text Files All files are represented as binary digits
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 informationGZIP is a software application used for file compression. It is widely used by many UNIX
Behram Mistree & Dmitry Kashlev 6.375 Final Project Report GZIP Encoding and Decoding in Hardware GZIP Introduction GZIP is a software application used for file compression. It is widely used by many UNIX
More information7: Image Compression
7: Image Compression Mark Handley Image Compression GIF (Graphics Interchange Format) PNG (Portable Network Graphics) MNG (Multiple-image Network Graphics) JPEG (Join Picture Expert Group) 1 GIF (Graphics
More informationInformation Retrieval. Chap 7. Text Operations
Information Retrieval Chap 7. Text Operations The Retrieval Process user need User Interface 4, 10 Text Text logical view Text Operations logical view 6, 7 user feedback Query Operations query Indexing
More informationA New Compression Method Strictly for English Textual Data
A New Compression Method Strictly for English Textual Data Sabina Priyadarshini Department of Computer Science and Engineering Birla Institute of Technology Abstract - Data compression is a requirement
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 informationEfficient Sequential Algorithms, Comp309. Motivation. Longest Common Subsequence. Part 3. String Algorithms
Efficient Sequential Algorithms, Comp39 Part 3. String Algorithms University of Liverpool References: T. H. Cormen, C. E. Leiserson, R. L. Rivest Introduction to Algorithms, Second Edition. MIT Press (21).
More informationCSE COMPUTER USE: Fundamentals Test 1 Version D
Name:, (Last name) (First name) Student ID#: Registered Section: Instructor: Lew Lowther Solutions York University Faculty of Pure and Applied Science Department of Computer Science CSE 1520.03 COMPUTER
More informationEncoding. A thesis submitted to the Graduate School of University of Cincinnati in
Lossless Data Compression for Security Purposes Using Huffman Encoding A thesis submitted to the Graduate School of University of Cincinnati in a partial fulfillment of requirements for the degree of Master
More informationModule 4: Index Structures Lecture 13: Index structure. The Lecture Contains: Index structure. Binary search tree (BST) B-tree. B+-tree.
The Lecture Contains: Index structure Binary search tree (BST) B-tree B+-tree Order file:///c /Documents%20and%20Settings/iitkrana1/My%20Documents/Google%20Talk%20Received%20Files/ist_data/lecture13/13_1.htm[6/14/2012
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 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 informationRed-Black, Splay and Huffman Trees
Red-Black, Splay and Huffman Trees Kuan-Yu Chen ( 陳冠宇 ) 2018/10/22 @ TR-212, NTUST AVL Trees Review Self-balancing binary search tree Balance Factor Every node has a balance factor of 1, 0, or 1 2 Red-Black
More informationInformation Science 2
Information Science 2 - Path Lengths and Huffman s Algorithm- Week 06 College of Information Science and Engineering Ritsumeikan University Agenda l Review of Weeks 03-05 l Tree traversals and notations
More informationCMPSC112 Lecture 37: Data Compression. Prof. John Wenskovitch 04/28/2017
CMPSC112 Lecture 37: Data Compression Prof. John Wenskovitch 04/28/2017 What You Don t Get to Learn Self-balancing search trees: https://goo.gl/houquf https://goo.gl/r4osz2 Shell sort: https://goo.gl/awy3pk
More informationEfficient VLSI Huffman encoder implementation and its application in high rate serial data encoding
LETTER IEICE Electronics Express, Vol.14, No.21, 1 11 Efficient VLSI Huffman encoder implementation and its application in high rate serial data encoding Rongshan Wei a) and Xingang Zhang College of Physics
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 informationCSE 143, Winter 2013 Programming Assignment #8: Huffman Coding (40 points) Due Thursday, March 14, 2013, 11:30 PM
CSE, Winter Programming Assignment #8: Huffman Coding ( points) Due Thursday, March,, : PM This program provides practice with binary trees and priority queues. Turn in files named HuffmanTree.java, secretmessage.short,
More informationHuffman Coding Assignment For CS211, Bellevue College (rev. 2016)
Huffman Coding Assignment For CS, Bellevue College (rev. ) (original from Marty Stepp, UW CSE, modified by W.P. Iverson) Summary: Huffman coding is an algorithm devised by David A. Huffman of MIT in 95
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 informationBuilding Java Programs. Priority Queues, Huffman Encoding
Building Java Programs Priority Queues, Huffman Encoding Prioritization problems ER scheduling: You are in charge of scheduling patients for treatment in the ER. A gunshot victim should probably get treatment
More informationGreedy Approach: Intro
Greedy Approach: Intro Applies to optimization problems only Problem solving consists of a series of actions/steps Each action must be 1. Feasible 2. Locally optimal 3. Irrevocable Motivation: If always
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 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 informationAnalysis of Parallelization Effects on Textual Data Compression
Analysis of Parallelization Effects on Textual Data GORAN MARTINOVIC, CASLAV LIVADA, DRAGO ZAGAR Faculty of Electrical Engineering Josip Juraj Strossmayer University of Osijek Kneza Trpimira 2b, 31000
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 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 information1 Format. 2 Topics Covered. 2.1 Minimal Spanning Trees. 2.2 Union Find. 2.3 Greedy. CS 124 Quiz 2 Review 3/25/18
CS 124 Quiz 2 Review 3/25/18 1 Format You will have 83 minutes to complete the exam. The exam may have true/false questions, multiple choice, example/counterexample problems, run-this-algorithm problems,
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 informationAdaptive Huffman Coding (FastHF) Implementations
Adaptive Huffman Coding (FastHF) Implementations Amir Said 1 Introduction This document describes a fast implementation of static and adaptive Huffman codes, called FastHF. The C++ classes and interfaces
More informationCHAPTER 17 INFORMATION SCIENCE. Binary and decimal numbers a short review: For decimal numbers we have 10 digits available (0, 1, 2, 3, 9) 4731 =
Math 167 Ch 17 Review 1 (c) Janice Epstein, 2013 CHAPTER 17 INFORMATION SCIENCE Binary and decimal numbers a short review: For decimal numbers we have 10 digits available (0, 1, 2, 3, 9) 4731 = Math 167
More informationCSE 100 Advanced Data Structures
CSE 100 Advanced Data Structures Overview of course requirements Outline of CSE 100 topics Review of trees Helpful hints for team programming Information about computer accounts Page 1 of 25 CSE 100 web
More informationTU/e Algorithms (2IL15) Lecture 2. Algorithms (2IL15) Lecture 2 THE GREEDY METHOD
Algorithms (2IL15) Lecture 2 THE GREEDY METHOD x y v w 1 Optimization problems for each instance there are (possibly) multiple valid solutions goal is to find an optimal solution minimization problem:
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 informationAbout this exam review
Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review
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 informationCoding Trees in the Deflate format
Coding Trees in the Deflate format Christoph-Simon Senjak Lehr- und Forschungseinheit für Theoretische Informatik Institut für Informatik Ludwig-Maximilians-Universität München Oettingenstr.67, 80538 München
More informationFor decimal numbers we have 10 digits available (0, 1, 2, 3, 9) 10,
Math 167 Ch 17 WIR 1 (c) Janice Epstein and Tamara Carter, 2015 CHAPTER 17 INFORMATION SCIENCE Binary and decimal numbers a short review: For decimal numbers we have 10 digits available (0, 1, 2, 3, 9)
More informationAn Advanced Text Encryption & Compression System Based on ASCII Values & Arithmetic Encoding to Improve Data Security
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 3, Issue. 10, October 2014,
More informationLecture 3, Review of Algorithms. What is Algorithm?
BINF 336, Introduction to Computational Biology Lecture 3, Review of Algorithms Young-Rae Cho Associate Professor Department of Computer Science Baylor University What is Algorithm? Definition A process
More informationHuffman Code Application. Lecture7: Huffman Code. A simple application of Huffman coding of image compression which would be :
Lecture7: Huffman Code Lossless Image Compression Huffman Code Application A simple application of Huffman coding of image compression which would be : Generation of a Huffman code for the set of values
More informationCS 200 Algorithms and Data Structures, Fall 2012 Programming Assignment #3
Compressing Data using Huffman Coding Due Oct.24 noon Objectives In this assignment, you will implement classes for data compression. You will write: () An implementation of the Huffman Coding using a
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 informationCSE100. Advanced Data Structures. Lecture 12. (Based on Paul Kube course materials)
CSE100 Advanced Data Structures Lecture 12 (Based on Paul Kube course materials) CSE 100 Coding and decoding with a Huffman coding tree Huffman coding tree implementation issues Priority queues and priority
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 informationAn AVL tree with N nodes is an excellent data. The Big-Oh analysis shows that most operations finish within O(log N) time
B + -TREES MOTIVATION An AVL tree with N nodes is an excellent data structure for searching, indexing, etc. The Big-Oh analysis shows that most operations finish within O(log N) time The theoretical conclusion
More informationA Comparative Study of Entropy Encoding Techniques for Lossless Text Data Compression
A Comparative Study of Entropy Encoding Techniques for Lossless Text Data Compression P. RATNA TEJASWI 1 P. DEEPTHI 2 V.PALLAVI 3 D. GOLDIE VAL DIVYA 4 Abstract: Data compression is the art of reducing
More information