Source Coding Techniques

Size: px
Start display at page:

Download "Source Coding Techniques"

Transcription

1 Source Coding Techniques. Huffman Code. 2. Two-pass Huffman Code. 3. Lemple-Ziv Code. 4. Fano code. 5. Shannon Code. 6. Arithmetic Code.

2 Source Coding Techniques. Huffman Code. 2. Two-path Huffman Code. 3. Lemple-Ziv Code. 4. Fano Code. 5. Shannon Code. 6. Arithmetic Code.

3 Source Coding Techniques. Huffman Code. With the Huffman code in the binary case the two least probable source output symbols are joined together, resulting in a new message alphabet with one less symbol take together smallest probabilites: P(i) + P(j) 2 replace symbol i and j by new symbol 3 go to - until end Application examples: JPEG, MPEG, MP3

4 . Huffman Code. ADVANTAGES: uniquely decodable code smallest average codeword length DISADVANTAGES: LARGE tables give complexity sensitive to channel errors

5 . Huffman Code. Huffman is not universal! it is only valid for one particular type of source! For COMPUTER DATA data reduction is lossless no errors at reproduction universal effective for different types of data

6 Huffman Coding: Example Compute the Huffman Code for the source shown H( S ) = ( 04log. ) ( 02log. ) ( 0log. ) 2 0. = L Source Symbol s k 0. s 0 s 0.2 s s s 4 Symbol Probability p k

7 Solution A Source Symbol s k s 2 s s 3 s 0 s 4 Stage I

8 Solution A Source Symbol s k s 2 s s 3 s 0 s 4 Stage I Stage II

9 Solution A Source Symbol s k Stage I Stage II Stage III s s s s s 4 0.

10 Solution A Source Symbol s k Stage I Stage II Stage III Stage IV s s s s s 4 0.

11 Solution A Source Symbol Stage I Stage II Stage III Stage IV s s k s s 3 s s 4 0.

12 Solution A Source Symbol Stage I Stage II Stage III Stage IV Code s s k s s 3 s s

13 Source Symbol Symbol Probability p k Solution A Cont d s s s s s 4 Code word c k s k ( ) = H S L = = 22. ( S ) L ( S ) H < H + THIS IS NOT THE ONLY SOLUTION!

14 Another Solution B Source Symbol Stage I Stage II Stage III Stage IV s s k 0 Code 0.6 s s 3 s s

15 Another Solution B Cont d Source Symbol Symbol Probability p k s s s s s 4 Code word c k s k ( ) = H S L = = 22. ( S ) L ( S ) H < H +

16 What is the difference between the two solutions? They have the same average length They differ in the variance of the average code length Solution A s 2 =0.6 Solution B s 2 =.36 σ 2 K ( ) 2 p l L k k k = 0 =

17 Source Coding Techniques. Huffman Code. 2. Two-pass Huffman Code. 3. Lemple-Ziv Code. 4. Fano Code. 5. Shannon Code. 6. Arithmetic Code.

18 Source Coding Techniques 2. Two-pass Huffman Code. This method is used when the probability of symbols in the information source is unknown. So we first can estimate this probability by calculating the number of occurrence of the symbols in the given message then we can find the possible Huffman codes. This can be summarized by the following two passes. Pass : Measure the occurrence possibility of each character in the message Pass 2 : Make possible Huffman codes

19 Source Coding Techniques 2. Two-pass Huffman Code. Example Consider the message: ABABABABABACADABACADABACADABACAD 0

20 Source Coding Techniques. Huffman Code. 2. Two-path Huffman Code. 3. Lemple-Ziv Code. 4. Fano Code. 5. Shannon Code. 6. Arithmetic Code.

21 Lempel-Ziv Coding Huffman coding requires knowledge of a probabilistic model of the source This is not necessarily always feasible Lempel-Ziv code is an adaptive coding technique that does not require prior knowledge of symbol probabilities Lempel-Ziv coding is the basis of well-known ZIP for data compression

22 Lempel-Ziv Coding History GIF, TIFF, V.42bis modem compression standard, PostScript Level published by Abraham Lempel and Jakob Ziv 984 LZ-Welch algorithm published in IEEE Computer Sperry patent transferred to Unisys (986) GIF file format Required use of LZW algorithm Universal Lossless

23 Lempel-Ziv Coding Example Codebook Index Subsequence 0 Representation Encoding

24 Lempel-Ziv Coding Example Codebook Index Subsequence 0 00 Representation Encoding

25 Lempel-Ziv Coding Example Codebook Index Subsequence Representation Encoding

26 Lempel-Ziv Coding Example Codebook Index Subsequence Representation Encoding

27 Lempel-Ziv Coding Example Codebook Index Subsequence Representation Encoding

28 Lempel-Ziv Coding Example Codebook Index Subsequence Representation Encoding

29 Lempel-Ziv Coding Example Codebook Index Subsequence Representation Encoding

30 Lempel-Ziv Coding Example Codebook Index Subsequence Representation Encoding

31 Lempel-Ziv Coding Example Information bits Source encoded bits Codebook Index Subsequence Representation Source Code

32 How Come this is Compression?! The hope is: If the bit sequence is long enough, eventually the fixed length code words will be shorter than the length of subsequences they represent. When applied to English text Lempel-Ziv achieves approximately 55% Huffman coding achieves approximately 43%

33 Encoding idea Lempel Ziv Welch-LZW Assume we have just read a segment w from the text. a is the next symbol. w a If wa is not in the dictionary,?write the index of w in the output file.?add wa to the dictionary, and set w a.?if wa is in the dictionary,?process the next symbol with segment wa. a

34 LZ Encoding example address 0: a address : b address 2: c Input string: a a b a a c a b c a b c b a a b a a c a b c a b c b output update a a a a b a a b a a a b a a c aa not in dictionry, output 0 add aa to dictionary continue with a, store ab in dictionary a a b a a c a a a b a a c a b c a a b a a c a b c a b continue with b, store ba in dictionary aa in dictionary, aac not, 0 aa 3 0 ab 4 ba 5 3 aac 6 2 ca 7 4 abc 8 7 cab 9 aabaacabcabcb LZ Encoder

35 UNIVERSAL (LZW) (decoder). Start with basic symbol set 2. Read a code c from the compressed file. - The address c in the dictionary determines the segment w. - write w in the output file. 3. Add wa to the dictionary: a is the first letter of the next segment

36 LZ Decoding example address 0: a address : b address 2: c Output String: Input update a? Output a 0 a a! a a b. output a determines? = a, update aa output determines!=b, update ab 0 aa 3 ab 4 a a b a a. a a b a a c. a a b a a c a b. a a b a a c a b c a ba 5 aac 6 ca 7 abc LZ Decoder aabaacabcabcb

37 Exercise. Find Huffman code for the following source Symbol h e l o w r d Probability Find LZ code for the following input

38 Source Coding Techniques. Huffman Code. 2. Two-path Huffman Code. 3. Lemple-Ziv Code. 4. Fano Code. 5. Shannon Code. 6. Arithmetic Code.

39 4. Fano Code. The Fano code is performed as follows:. arrange the information source symbols in order of decreasing probability 2. divide the symbols into two equally probable groups, as possible as you can 3. each group receives one of the binary symbols (i.e. 0 or ) as the first symbol 4. repeat steps 2 and 3 per group as many times as this is possible. 5. stop when no more groups to divide

40 4. Fano Code. Example :. arrange the information source symbols in order of decreasing probability Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

41 4. Fano Code. Example : 2. divide the symbols into two equally probable groups, as possible as you can Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

42 4. Fano Code. Example : 3. each group receives one of the binary symbols (i.e. 0 or ) as the first symbol Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code 0 0

43 4. Fano Code. Example : 4. repeat steps 2 and 3 per group as many times as this is possible. Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code 0 0

44 4. Fano Code. Example : 2. divide the symbols into two equally probable groups, as possible as you can Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code 0 0

45 4. Fano Code. Example : 3. each group receives one of the binary symbols (i.e. 0 or ) as the first symbol Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code 0 0 0

46 4. Fano Code. Example : Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code 0 0 0

47 4. Fano Code. Example : 2. divide the symbols into two equally probable groups, as possible as you can Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code 0 0 0

48 4. Fano Code. Example : 3. each group receives one of the binary symbols (i.e. 0 or ) as the first symbol Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

49 4. Fano Code. Example : 4. repeat steps 2 and 3 per group as many times as this is possible. Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

50 4. Fano Code. Example : 2. divide the symbols into two equally probable groups, as possible as you can Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

51 4. Fano Code. Example : 3. each group receives one of the binary symbols (i.e. 0 or ) as the first symbol Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

52 Example : 4. Fano Code. J I H G /6 F /6 E /8 D /8 C /4 B /4 A Fano Code Probability Symbol

53 4. Fano Code. Example : 2. divide the symbols into two equally probable groups, as possible as you can Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

54 4. Fano Code. Example : 3. each group receives one of the binary symbols (i.e. 0 or ) as the first symbol Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

55 4. Fano Code. Example : 2. divide the symbols into two equally probable groups, as possible as you can Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

56 4. Fano Code. Example : 3. each group receives one of the binary symbols (i.e. 0 or ) as the first symbol Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

57 4. Fano Code. Example : 2. divide the symbols into two equally probable groups, as possible as you can Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

58 4. Fano Code. Example : 3. each group receives one of the binary symbols (i.e. 0 or ) as the first symbol Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

59 4. Fano Code. Example : 2. divide the symbols into two equally probable groups, as possible as you can Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

60 4. Fano Code. Example : 3. each group receives one of the binary symbols (i.e. 0 or ) as the first symbol Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

61 4. Fano Code. Example : 2. divide the symbols into two equally probable groups, as possible as you can Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

62 4. Fano Code. Example : 3. each group receives one of the binary symbols (i.e. 0 or ) as the first symbol Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

63 4. Fano Code. Example : 5. stop when no more groups to divide Symbol A B C D E F G H I J Probability /4 /4 /8 /8 /6 /6 Fano Code

64 4. Fano Code. Note that: If it was not possible to divide precisely the probabilities into equally probable groups, we should try to make the division as good as possible, as we can see from the following example. Example 2: Symbol T U V W X Probability /3 /3 /9 /9 /9 Fano Code

65 Source Coding Techniques. Huffman Code. 2. Two-path Huffman Code. 3. Lemple-Ziv Code. 4. Fano Code. 5. Shannon Code. 6. Arithmetic Code.

66 5. Shannon Code. The Shannon code is performed as follows:. calculate a series of cumulative probabilities = n q k p i i=, k=,2,,n 2. calculate the code length for each symbol using log( \p i ) = l i < log ( \p i ) + 3. write q k in the form c c c li 2 -li where each c i is either 0 or

67 5. Shannon Code. Example 3:. calculate a series of cumulative probabilities Symbol Probability q k Length l i Shannon Code A /4 + 0 B /4 + /4 C /8 + /2 D /8 + 5/8 E /6 + 3/4 F /6 + 3/6 G + 7/8 H I /32 5/6 J 3

68 5. Shannon Code. Example 3: 2. calculate the code length for each symbol using log( \p i ) = l i < log ( \p i ) + Symbol Probability q k Length l i Shannon Code A /4 0 B /4 /4 C /8 /2 D /8 5/8 E /6 3/4 F /6 3/6 G 7/8 H 29/32 I 5/6 J 3

69 5. Shannon Code. Example 3: 2. calculate the code length for each symbol using log( \p i ) = l i < log ( \p i ) + Symbol A Probability /4 q k 0 Length l i Shannon Code Log(/(/4)) = l < Log(/(/4)) + B /4 /4 2 = l < 2 + C /8 /2 D /8 5/8 E /6 3/4 F /6 3/6 G 7/8 H 29/32 I 5/6 J 3

70 5. Shannon Code. Example 3: 2. calculate the code length for each symbol using log( \p i ) = l i < log ( \p i ) + Symbol A Probability /4 q k 0 Length l i 2 Log(/(/4)) = l < Log(/(/4)) + Shannon Code 2 = l < 2 + B C /4 /8 /4 /2 l = 2 D /8 5/8 E F /6 /6 3/4 3/6 G 7/8 H I J 29/32 5/6 3

71 5. Shannon Code. Example 3: 2. calculate the code length for each symbol using log( \p i ) = l i < log ( \p i ) + Symbol Probability q k Length l i Shannon Code A B C /4 /4 /8 0 /4 / D /8 5/8 3 E F /6 /6 3/4 3/6 4 4 G 7/8 5 H I J 29/32 5/

72 5. Shannon Code. Example 3: 3. write q k in the form c c c li 2 -li where each c i is either 0 or Symbol Probability q k Length l i Shannon Code A B C /4 /4 /8 0 /4 / D /8 5/8 3 E F /6 /6 3/4 3/6 4 4 G 7/8 5 H I J 29/32 5/

73 5. Shannon Code. Example 3: 3. write q k in the form c c c li 2 -li where each c i is either 0 or Symbol Probability q k Length l i q k = c c Shannon Code A B C /4 /4 /8 0 /4 / D /8 5/8 3 E F /6 /6 3/4 3/6 4 4 G 7/8 5 H I J 29/32 5/

74 5. Shannon Code. Example 3: 3. write q k in the form c c c li 2 -li where each c i is either 0 or Symbol Probability q k Length l i q k = c c Shannon Code A B C /4 /4 /8 0 /4 / = c c D /8 5/8 3 E F /6 /6 3/4 3/6 4 4 G 7/8 5 H I J 29/32 5/

75 5. Shannon Code. Example 3: 3. write q k in the form c c c li 2 -li where each c i is either 0 or Symbol A B C Probability /4 /4 /8 q k 0 /4 /2 Length l i q k = c c Shannon Code 0 = c c c = 0, c 2 = 0 D /8 5/8 3 E F /6 /6 3/4 3/6 4 4 G 7/8 5 H I J 29/32 5/

76 5. Shannon Code. Example 3: 3. write q k in the form c c c li 2 -li where each c i is either 0 or Symbol Probability q k Length l i Shannon Code A B C D E F G /4 /4 /8 /8 /6 /6 0 /4 /2 5/8 3/4 3/6 7/ q k = c c = c c c = 0, c 2 = 0 H I J 29/32 5/

77 5. Shannon Code. Example 3: 3. write q k in the form c c c li 2 -li where each c i is either 0 or Symbol Probability q k Length l i Shannon Code A B C /4 /4 /8 0 /4 / D /8 5/8 3 0 E F /6 /6 3/4 3/ G H I J 7/8 29/32 5/

78 5. Shannon Code. Example 3: Symbol Probability q k Length l i Shannon Code A B C /4 /4 /8 0 /4 / D /8 5/8 3 0 E F /6 /6 3/4 3/ G H I J 7/8 29/32 5/

79 5. Shannon Code. Note that: from examples and 3 one may conclude that Fano coding and Shannon coding produce the same code, however this is not true in general as we can see from the following example. Example Symbol Probability q k Length l i Shannon Code Fano code W X Y Z

80 Source Coding Techniques. Huffman Code. 2. Two-path Huffman Code. 3. Lemple-Ziv Code. 4. Shannon Code. 5. Fano Code. 6. Arithmetic Code.

81 6. Arithmetic Code. Coding In arithmetic coding a message is encoded as a number from the interval [0, ). The number is found by expanding it according to the probability of the currently processed letter of the message being encoded. This is done by using a set of interval ranges IR determined by the probabilities of the information source as follows: IR ={ [0, p ), [p, p + p 2 ), [p + p 2, p + p 2 + p 3 ), [p + + p n-, p + + p n ) } q j p i j Putting = we can write IR = { [0, q ), [q, q 2 ), [q n-, ) } i= In arithmetic coding these subintervals also determine the proportional division of any other interval [L, R) contained in [0, ) into subintervals IR [L,R] as follows:

82 6. Arithmetic Code. Coding In arithmetic coding these subintervals also determine the proportional division of any other interval [L, R) contained in [0, ) into subintervals IR [L,R] as follows: IR [L,R] = { [L, L+(R-L) q ), [L+(R-L) q, L+(R-L) q 2 ), [L+(R-L) q 2, L+(R-L) q 3 ),, [L+(R-L) P n-, L+(R-L) ) } Using these definitions the arithmetic encoding is determined by the Following algorithm: ArithmeticEncoding ( Message ). CurrentInterval = [0, ); While the end of message is not reached 2. Read letter x i from the message; 3. Divid CurrentInterval into subintervals IR CurrentInterval ; Output any number from the CurrentInterval (usually its left boundary); This output number uniquely encoding the input message.

83 6. Arithmetic Code. Coding Example Consider the information source A B C # Then the input message ABBC# has the unique encoding number As we will see the explanation In the next slides

84 6. Arithmetic Code. Coding 2. Read X i Example input message: A B B C #. CurrentInterval = [0, ); X i Current interval A [0, ) Subintervals

85 6. Arithmetic Code. Coding 2. Read X i Example input message: A B B C # 3. Divid CurrentInterval into subintervals IR CurrentInterval ; X i Current interval A [0, ) Subintervals IR [0,) = { [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) j } q = j p i i= [L+(R-L) q i, L+(R-L) q i+ )

86 6. Arithmetic Code. Coding 2. Read X i Example input message: A B B C # 3. Divid CurrentInterval into subintervals IR CurrentInterval ; X i Current interval A [0, ) Subintervals [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) IR [0,) = { [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) }

87 6. Arithmetic Code. Coding Example input message: No. A B B C # A B C # X i Current interval Subintervals A [0, ) [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) [0, 0.4)

88 6. Arithmetic Code. Coding Example input message: 2. Read X i A B B C # 3. Divid CurrentInterval into subintervals IR CurrentInterval ; X i Current interval Subintervals A [0, ) [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) B [0, 0.4) IR [0,0.4) = { [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) j } q = j p i i= [L+(R-L) q i, L+(R-L) q i+ )

89 6. Arithmetic Code. Coding Example input message: 2. Read X i A B B C # 3. Divid CurrentInterval into subintervals IR CurrentInterval ; X i Current interval Subintervals A [0, ) [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) B [0, 0.4) [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) IR [0,0.4) = { [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) }

90 6. Arithmetic Code. Coding Example input message: No. 2 A B B C # A B C # X i Current interval Subintervals A [0, ) [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) B [0, 0.4) [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) [0.6, 0.28)

91 6. Arithmetic Code. Coding Example input message: 2. Read X i A B B C # 3. Divid CurrentInterval into subintervals IR CurrentInterval ; X i Current interval Subintervals A [0, ) [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) [0, 0.4) B [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) B [ 0.6, 0.208), [0.208, 0.244), [0.244, 0.256), [0.256, 0.28) [0.6, 0.28)

92 6. Arithmetic Code. Coding Example input message: No. 2 A B B C # A B C # X i Current interval Subintervals A [0, ) [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) [0, 0.4) B [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) B [ 0.6, 0.208), [0.208, 0.244), [0.244, 0.256), [0.256, 0.28) [0.6, 0.28) [0.208, 0.244)

93 6. Arithmetic Code. Coding Example input message: 2. Read X i A B B C # 3. Divid CurrentInterval into subintervals IR CurrentInterval ; X i Current interval Subintervals A [0, ) [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) [0, 0.4) B [0.6, 0.28) C B [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) [ 0.6, 0.208), [0.208, 0.244), [0.244, 0.256), [0.256, 0.28) [0.208, 0.244) [0.208, ), [0.2224, ), [0.2332, ), [0.2368, 0.244)

94 6. Arithmetic Code. Coding Example input message: A B B C # No. 3 A B C # X i Current interval Subintervals A [0, ) [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) [0, 0.4) B [0.6, 0.28) C B [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) [ 0.6, 0.208), [0.208, 0.244), [0.244, 0.256), [0.256, 0.28) [0.208, 0.244) [0.208, ), [0.2224, ), [0.2332, ), [0.2368, 0.244) [0.2332, )

95 6. Arithmetic Code. Coding Example input message: 2. Read X i A B B C # 3. Divid CurrentInterval into subintervals IR CurrentInterval ; X i Current interval Subintervals A [0, ) [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) [0, 0.4) B [0.6, 0.28) C B [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) # [ 0.6, 0.208), [0.208, 0.244), [0.244, 0.256), [0.256, 0.28) [0.208, 0.244) [0.208, ), [0.2224, ), [0.2332, ), [0.2368, 0.244) [0.2332, ) [0.2332, ), [ , ), [ , ), [ , )

96 6. Arithmetic Code. Coding Example input message: 2. Read X i A B B C # No. 3 A B C # X i Current interval Subintervals A [0, ) [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) [0, 0.4) B [0.6, 0.28) C B [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) [ 0.6, 0.208), [0.208, 0.244), [0.244, 0.256), [0.256, 0.28) [0.208, 0.244) [0.208, ), [0.2224, ), [0.2332, ), [0.2368, 0.244) # [0.2332, ) [0.2332, ), [ , ), [ , ), [ , ) [ , )

97 6. Arithmetic Code. Coding Example input message: 2. Read X i A B B C # # is the end of input message Stop Return current interval [ , ) X i Current interval Subintervals A [0, ) [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) [0, 0.4) B [0.6, 0.28) C B [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) [ 0.6, 0.208), [0.208, 0.244), [0.244, 0.256), [0.256, 0.28) [0.208, 0.244) [0.208, ), [0.2224, ), [0.2332, ), [0.2368, 0.244) # [0.2332, ) [0.2332, ), [ , ), [ , ), [ , ) [ , )

98 6. Arithmetic Code. Coding Example input message: A B B C # # is the end of input message Stop Return current interval [ , ) Return the lower bound of the currentinterval as the codeword of the input message Input message ABBC# Codeword

99 6. Arithmetic Code. Decoding Arithmetic decoding can be determined by the following algorithm: ArithmeticDecoding ( Codeword ) 0. CurrentInterval = [0, ); While(). Divid CurrentInterval into subintervals IR CurrentInterval ; 2. Determine the subinterval i of CurrentInterval to which Codeword belongs; 3. Output letter x i corresponding to this subinterval; 4. If x i is the symbol # Return; 5. CurrentInterval = subinterval i in IR CurrentInterval ;

100 6. Arithmetic Code. Decoding Example Consider the information source Symbol A B C # Probability Then the input code word can be decoded to the message ABBC# As we will see the explanation In the next slides

101 6. Arithmetic Code. Decoding Example input codeword: CurrentInterval = [0, ); Current interval [0, ) Subintervals Output

102 6. Arithmetic Code. Decoding Example input codeword: Divid CurrentInterval into subintervals IR CurrentInterval ; Current interval [0, ) Subintervals Output IR[0,)= { [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) } q = j p i i= [L+(R-L) q i, L+(R-L) q i+ ) j

103 6. Arithmetic Code. Decoding Example input codeword: Current interval [0, ) Subintervals [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) Output IR [0,) = { [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) }

104 6. Arithmetic Code. Decoding Example input codeword: Determine the subinterval i of CurrentInterval to which Codeword belongs; 0 = < 0.4 Current interval [0, ) Subintervals [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) Output

105 6. Arithmetic Code. Decoding Example input codeword: Determine the subinterval i of CurrentInterval to which Codeword belongs; 0 = < 0.4 Current interval [0, ) Subintervals [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) Output

106 6. Arithmetic Code. Decoding Example input codeword: Output letter x i corresponding to this subinterval; No. A B C # No Current interval [0, ) Subintervals [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) Output A

107 6. Arithmetic Code. Decoding Example input codeword: If x i is the symbol # Current interval [0, ) Subintervals [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) Output A

108 6. Arithmetic Code. Decoding Example input codeword: If x i is the symbol # NO Current interval [0, ) Subintervals [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) Output A

109 6. Arithmetic Code. Decoding Example input codeword: CurrentInterval = subinterval i in IR CurrentInterval ; Current interval [0, ) Subintervals [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) Output A

110 6. Arithmetic Code. Decoding Example input codeword: CurrentInterval = subinterval i in IR CurrentInterval ; Current interval [0, ) [0, 0.4) Subintervals [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) Output A

111 6. Arithmetic Code. Decoding Example input codeword: Similarly we repeat the algorithm steps to 5 until the output symbol = # Current interval [0, ) [0, 0.4) [0.6, 0.28) Subintervals [0, 0.4), [0.4, 0.7), [0.7, 0.8), [0.8, ) Output [0, 0.6), [0.6, 0.28), [0.28, 0.32), [0.32, 0.4) B [ 0.6, 0.208), [0.208, 0.244), [0.244, 0.256), [0.256, 0.28) B [0.208, 0.244) [0.208, ), [0.2224, ), [0.2332, ), [0.2368, 0.244) [0.2332, ) [0.2332, ), [ , ), [ , ), [ , ) A C # 4. If x i is the symbol # Yes Stop Return the output message: A B B C #

Multimedia. Multimedia Data Compression (Lossless Compression Algorithms)

Multimedia. Multimedia Data Compression (Lossless Compression Algorithms) Course Code 005636 (Fall 2017) Multimedia Multimedia Data Compression (Lossless Compression Algorithms) Prof. S. M. Riazul Islam, Dept. of Computer Engineering, Sejong University, Korea E-mail: riaz@sejong.ac.kr

More information

Chapter 2: Source coding

Chapter 2: Source coding Chapter 2: meghdadi@ensil.unilim.fr University of Limoges Chapter 2: Entropy of Markov Source Chapter 2: Entropy of Markov Source Markov model for information sources Given the present, the future is independent

More information

Lecture 4 : Adaptive source coding algorithms

Lecture 4 : Adaptive source coding algorithms Lecture 4 : Adaptive source coding algorithms February 2, 28 Information Theory Outline 1. Motivation ; 2. adaptive Huffman encoding ; 3. Gallager and Knuth s method ; 4. Dictionary methods : Lempel-Ziv

More information

Bandwidth: Communicate large complex & highly detailed 3D models through lowbandwidth connection (e.g. VRML over the Internet)

Bandwidth: Communicate large complex & highly detailed 3D models through lowbandwidth connection (e.g. VRML over the Internet) Compression Motivation Bandwidth: Communicate large complex & highly detailed 3D models through lowbandwidth connection (e.g. VRML over the Internet) Storage: Store large & complex 3D models (e.g. 3D scanner

More information

ELEC 515 Information Theory. Distortionless Source Coding

ELEC 515 Information Theory. Distortionless Source Coding ELEC 515 Information Theory Distortionless Source Coding 1 Source Coding Output Alphabet Y={y 1,,y J } Source Encoder Lengths 2 Source Coding Two coding requirements The source sequence can be recovered

More information

Run-length & Entropy Coding. Redundancy Removal. Sampling. Quantization. Perform inverse operations at the receiver EEE

Run-length & Entropy Coding. Redundancy Removal. Sampling. Quantization. Perform inverse operations at the receiver EEE General e Image Coder Structure Motion Video x(s 1,s 2,t) or x(s 1,s 2 ) Natural Image Sampling A form of data compression; usually lossless, but can be lossy Redundancy Removal Lossless compression: predictive

More information

Basic Principles of Lossless Coding. Universal Lossless coding. Lempel-Ziv Coding. 2. Exploit dependences between successive symbols.

Basic Principles of Lossless Coding. Universal Lossless coding. Lempel-Ziv Coding. 2. Exploit dependences between successive symbols. Universal Lossless coding Lempel-Ziv Coding Basic principles of lossless compression Historical review Variable-length-to-block coding Lempel-Ziv coding 1 Basic Principles of Lossless Coding 1. Exploit

More information

Image and Multidimensional Signal Processing

Image and Multidimensional Signal Processing Image and Multidimensional Signal Processing Professor William Hoff Dept of Electrical Engineering &Computer Science http://inside.mines.edu/~whoff/ Image Compression 2 Image Compression Goal: Reduce amount

More information

SIGNAL COMPRESSION Lecture Shannon-Fano-Elias Codes and Arithmetic Coding

SIGNAL COMPRESSION Lecture Shannon-Fano-Elias Codes and Arithmetic Coding SIGNAL COMPRESSION Lecture 3 4.9.2007 Shannon-Fano-Elias Codes and Arithmetic Coding 1 Shannon-Fano-Elias Coding We discuss how to encode the symbols {a 1, a 2,..., a m }, knowing their probabilities,

More information

CS4800: Algorithms & Data Jonathan Ullman

CS4800: Algorithms & Data Jonathan Ullman CS4800: Algorithms & Data Jonathan Ullman Lecture 22: Greedy Algorithms: Huffman Codes Data Compression and Entropy Apr 5, 2018 Data Compression How do we store strings of text compactly? A (binary) code

More information

Motivation for Arithmetic Coding

Motivation for Arithmetic Coding Motivation for Arithmetic Coding Motivations for arithmetic coding: 1) Huffman coding algorithm can generate prefix codes with a minimum average codeword length. But this length is usually strictly greater

More information

Source Coding. Master Universitario en Ingeniería de Telecomunicación. I. Santamaría Universidad de Cantabria

Source Coding. Master Universitario en Ingeniería de Telecomunicación. I. Santamaría Universidad de Cantabria Source Coding Master Universitario en Ingeniería de Telecomunicación I. Santamaría Universidad de Cantabria Contents Introduction Asymptotic Equipartition Property Optimal Codes (Huffman Coding) Universal

More information

CMPT 365 Multimedia Systems. Lossless Compression

CMPT 365 Multimedia Systems. Lossless Compression CMPT 365 Multimedia Systems Lossless Compression Spring 2017 Edited from slides by Dr. Jiangchuan Liu CMPT365 Multimedia Systems 1 Outline Why compression? Entropy Variable Length Coding Shannon-Fano Coding

More information

CMPT 365 Multimedia Systems. Final Review - 1

CMPT 365 Multimedia Systems. Final Review - 1 CMPT 365 Multimedia Systems Final Review - 1 Spring 2017 CMPT365 Multimedia Systems 1 Outline Entropy Lossless Compression Shannon-Fano Coding Huffman Coding LZW Coding Arithmetic Coding Lossy Compression

More information

Shannon-Fano-Elias coding

Shannon-Fano-Elias coding Shannon-Fano-Elias coding Suppose that we have a memoryless source X t taking values in the alphabet {1, 2,..., L}. Suppose that the probabilities for all symbols are strictly positive: p(i) > 0, i. The

More information

Lecture 3 : Algorithms for source coding. September 30, 2016

Lecture 3 : Algorithms for source coding. September 30, 2016 Lecture 3 : Algorithms for source coding September 30, 2016 Outline 1. Huffman code ; proof of optimality ; 2. Coding with intervals : Shannon-Fano-Elias code and Shannon code ; 3. Arithmetic coding. 1/39

More information

repetition, part ii Ole-Johan Skrede INF Digital Image Processing

repetition, part ii Ole-Johan Skrede INF Digital Image Processing repetition, part ii Ole-Johan Skrede 24.05.2017 INF2310 - Digital Image Processing Department of Informatics The Faculty of Mathematics and Natural Sciences University of Oslo today s lecture Coding and

More information

UNIT I INFORMATION THEORY. I k log 2

UNIT I INFORMATION THEORY. I k log 2 UNIT I INFORMATION THEORY Claude Shannon 1916-2001 Creator of Information Theory, lays the foundation for implementing logic in digital circuits as part of his Masters Thesis! (1939) and published a paper

More information

CSEP 590 Data Compression Autumn Dictionary Coding LZW, LZ77

CSEP 590 Data Compression Autumn Dictionary Coding LZW, LZ77 CSEP 590 Data Compression Autumn 2007 Dictionary Coding LZW, LZ77 Dictionary Coding Does not use statistical knowledge of data. Encoder: As the input is processed develop a dictionary and transmit the

More information

Fibonacci Coding for Lossless Data Compression A Review

Fibonacci Coding for Lossless Data Compression A Review RESEARCH ARTICLE OPEN ACCESS Fibonacci Coding for Lossless Data Compression A Review Ezhilarasu P Associate Professor Department of Computer Science and Engineering Hindusthan College of Engineering and

More information

U Logo Use Guidelines

U Logo Use Guidelines COMP2610/6261 - Information Theory Lecture 15: Arithmetic Coding U Logo Use Guidelines Mark Reid and Aditya Menon logo is a contemporary n of our heritage. presents our name, d and our motto: arn the nature

More information

Introduction to Information Theory. Part 3

Introduction to Information Theory. Part 3 Introduction to Information Theory Part 3 Assignment#1 Results List text(s) used, total # letters, computed entropy of text. Compare results. What is the computed average word length of 3 letter codes

More information

Text Compression. Jayadev Misra The University of Texas at Austin December 5, A Very Incomplete Introduction to Information Theory 2

Text Compression. Jayadev Misra The University of Texas at Austin December 5, A Very Incomplete Introduction to Information Theory 2 Text Compression Jayadev Misra The University of Texas at Austin December 5, 2003 Contents 1 Introduction 1 2 A Very Incomplete Introduction to Information Theory 2 3 Huffman Coding 5 3.1 Uniquely Decodable

More information

Chapter 3 Source Coding. 3.1 An Introduction to Source Coding 3.2 Optimal Source Codes 3.3 Shannon-Fano Code 3.4 Huffman Code

Chapter 3 Source Coding. 3.1 An Introduction to Source Coding 3.2 Optimal Source Codes 3.3 Shannon-Fano Code 3.4 Huffman Code Chapter 3 Source Coding 3. An Introduction to Source Coding 3.2 Optimal Source Codes 3.3 Shannon-Fano Code 3.4 Huffman Code 3. An Introduction to Source Coding Entropy (in bits per symbol) implies in average

More information

CSE 421 Greedy: Huffman Codes

CSE 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 better: 2.52 bits/char 74%*2 +26%*4:

More information

CSEP 521 Applied Algorithms Spring Statistical Lossless Data Compression

CSEP 521 Applied Algorithms Spring Statistical Lossless Data Compression CSEP 52 Applied Algorithms Spring 25 Statistical Lossless Data Compression Outline for Tonight Basic Concepts in Data Compression Entropy Prefix codes Huffman Coding Arithmetic Coding Run Length Coding

More information

3F1 Information Theory, Lecture 3

3F1 Information Theory, Lecture 3 3F1 Information Theory, Lecture 3 Jossy Sayir Department of Engineering Michaelmas 2011, 28 November 2011 Memoryless Sources Arithmetic Coding Sources with Memory 2 / 19 Summary of last lecture Prefix-free

More information

3F1 Information Theory, Lecture 3

3F1 Information Theory, Lecture 3 3F1 Information Theory, Lecture 3 Jossy Sayir Department of Engineering Michaelmas 2013, 29 November 2013 Memoryless Sources Arithmetic Coding Sources with Memory Markov Example 2 / 21 Encoding the output

More information

Introduction to information theory and coding

Introduction to information theory and coding Introduction to information theory and coding Louis WEHENKEL Set of slides No 5 State of the art in data compression Stochastic processes and models for information sources First Shannon theorem : data

More information

Data Compression Techniques

Data Compression Techniques Data Compression Techniques Part 2: Text Compression Lecture 5: Context-Based Compression Juha Kärkkäinen 14.11.2017 1 / 19 Text Compression We will now look at techniques for text compression. These techniques

More information

Information 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 Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 13 Competitive Optimality of the Shannon Code So, far we have studied

More information

Autumn Coping with NP-completeness (Conclusion) Introduction to Data Compression

Autumn Coping with NP-completeness (Conclusion) Introduction to Data Compression Autumn Coping with NP-completeness (Conclusion) Introduction to Data Compression Kirkpatrick (984) Analogy from thermodynamics. The best crystals are found by annealing. First heat up the material to let

More information

Basics of DCT, Quantization and Entropy Coding

Basics of DCT, Quantization and Entropy Coding Basics of DCT, Quantization and Entropy Coding Nimrod Peleg Update: April. 7 Discrete Cosine Transform (DCT) First used in 97 (Ahmed, Natarajan and Rao). Very close to the Karunen-Loeve * (KLT) transform

More information

Data Compression Techniques

Data Compression Techniques Data Compression Techniques Part 1: Entropy Coding Lecture 4: Asymmetric Numeral Systems Juha Kärkkäinen 08.11.2017 1 / 19 Asymmetric Numeral Systems Asymmetric numeral systems (ANS) is a recent entropy

More information

Digital Communications III (ECE 154C) Introduction to Coding and Information Theory

Digital Communications III (ECE 154C) Introduction to Coding and Information Theory Digital Communications III (ECE 154C) Introduction to Coding and Information Theory Tara Javidi These lecture notes were originally developed by late Prof. J. K. Wolf. UC San Diego Spring 2014 1 / 8 I

More information

ECE472/572 - Lecture 11. Roadmap. Roadmap. Image Compression Fundamentals and Lossless Compression Techniques 11/03/11.

ECE472/572 - Lecture 11. Roadmap. Roadmap. Image Compression Fundamentals and Lossless Compression Techniques 11/03/11. ECE47/57 - Lecture Image Compression Fundamentals and Lossless Compression Techniques /03/ Roadmap Preprocessing low level Image Enhancement Image Restoration Image Segmentation Image Acquisition Image

More information

EE376A: Homework #3 Due by 11:59pm Saturday, February 10th, 2018

EE376A: Homework #3 Due by 11:59pm Saturday, February 10th, 2018 Please submit the solutions on Gradescope. EE376A: Homework #3 Due by 11:59pm Saturday, February 10th, 2018 1. Optimal codeword lengths. Although the codeword lengths of an optimal variable length code

More information

Reduce the amount of data required to represent a given quantity of information Data vs information R = 1 1 C

Reduce the amount of data required to represent a given quantity of information Data vs information R = 1 1 C Image Compression Background Reduce the amount of data to represent a digital image Storage and transmission Consider the live streaming of a movie at standard definition video A color frame is 720 480

More information

Ch 0 Introduction. 0.1 Overview of Information Theory and Coding

Ch 0 Introduction. 0.1 Overview of Information Theory and Coding Ch 0 Introduction 0.1 Overview of Information Theory and Coding Overview The information theory was founded by Shannon in 1948. This theory is for transmission (communication system) or recording (storage

More information

Multimedia Information Systems

Multimedia Information Systems Multimedia Information Systems Samson Cheung EE 639, Fall 2004 Lecture 3 & 4: Color, Video, and Fundamentals of Data Compression 1 Color Science Light is an electromagnetic wave. Its color is characterized

More information

Chapter 2 Date Compression: Source Coding. 2.1 An Introduction to Source Coding 2.2 Optimal Source Codes 2.3 Huffman Code

Chapter 2 Date Compression: Source Coding. 2.1 An Introduction to Source Coding 2.2 Optimal Source Codes 2.3 Huffman Code Chapter 2 Date Compression: Source Coding 2.1 An Introduction to Source Coding 2.2 Optimal Source Codes 2.3 Huffman Code 2.1 An Introduction to Source Coding Source coding can be seen as an efficient way

More information

SIGNAL COMPRESSION Lecture 7. Variable to Fix Encoding

SIGNAL COMPRESSION Lecture 7. Variable to Fix Encoding SIGNAL COMPRESSION Lecture 7 Variable to Fix Encoding 1. Tunstall codes 2. Petry codes 3. Generalized Tunstall codes for Markov sources (a presentation of the paper by I. Tabus, G. Korodi, J. Rissanen.

More information

Chapter 9 Fundamental Limits in Information Theory

Chapter 9 Fundamental Limits in Information Theory Chapter 9 Fundamental Limits in Information Theory Information Theory is the fundamental theory behind information manipulation, including data compression and data transmission. 9.1 Introduction o For

More information

1 Ex. 1 Verify that the function H(p 1,..., p n ) = k p k log 2 p k satisfies all 8 axioms on H.

1 Ex. 1 Verify that the function H(p 1,..., p n ) = k p k log 2 p k satisfies all 8 axioms on H. Problem sheet Ex. Verify that the function H(p,..., p n ) = k p k log p k satisfies all 8 axioms on H. Ex. (Not to be handed in). looking at the notes). List as many of the 8 axioms as you can, (without

More information

Stream Codes. 6.1 The guessing game

Stream Codes. 6.1 The guessing game About Chapter 6 Before reading Chapter 6, you should have read the previous chapter and worked on most of the exercises in it. We ll also make use of some Bayesian modelling ideas that arrived in the vicinity

More information

Image Compression. Qiaoyong Zhong. November 19, CAS-MPG Partner Institute for Computational Biology (PICB)

Image Compression. Qiaoyong Zhong. November 19, CAS-MPG Partner Institute for Computational Biology (PICB) Image Compression Qiaoyong Zhong CAS-MPG Partner Institute for Computational Biology (PICB) November 19, 2012 1 / 53 Image Compression The art and science of reducing the amount of data required to represent

More information

Sources: The Data Compression Book, 2 nd Ed., Mark Nelson and Jean-Loup Gailly.

Sources: The Data Compression Book, 2 nd Ed., Mark Nelson and Jean-Loup Gailly. Lossless ompression Multimedia Systems (Module 2 Lesson 2) Summary: daptive oding daptive Huffman oding Sibling Property Update lgorithm rithmetic oding oding and ecoding Issues: OF problem, Zero frequency

More information

COMM901 Source Coding and Compression. Quiz 1

COMM901 Source Coding and Compression. Quiz 1 German University in Cairo - GUC Faculty of Information Engineering & Technology - IET Department of Communication Engineering Winter Semester 2013/2014 Students Name: Students ID: COMM901 Source Coding

More information

( c ) E p s t e i n, C a r t e r a n d B o l l i n g e r C h a p t e r 1 7 : I n f o r m a t i o n S c i e n c e P a g e 1

( c ) E p s t e i n, C a r t e r a n d B o l l i n g e r C h a p t e r 1 7 : I n f o r m a t i o n S c i e n c e P a g e 1 ( c ) E p s t e i n, C a r t e r a n d B o l l i n g e r 2 0 1 6 C h a p t e r 1 7 : I n f o r m a t i o n S c i e n c e P a g e 1 CHAPTER 17: Information Science In this chapter, we learn how data can

More information

Coding for Discrete Source

Coding for Discrete Source EGR 544 Communication Theory 3. Coding for Discrete Sources Z. Aliyazicioglu Electrical and Computer Engineering Department Cal Poly Pomona Coding for Discrete Source Coding Represent source data effectively

More information

Lecture 10 : Basic Compression Algorithms

Lecture 10 : Basic Compression Algorithms Lecture 10 : Basic Compression Algorithms Modeling and Compression We are interested in modeling multimedia data. To model means to replace something complex with a simpler (= shorter) analog. Some models

More information

Basics of DCT, Quantization and Entropy Coding. Nimrod Peleg Update: Dec. 2005

Basics of DCT, Quantization and Entropy Coding. Nimrod Peleg Update: Dec. 2005 Basics of DCT, Quantization and Entropy Coding Nimrod Peleg Update: Dec. 2005 Discrete Cosine Transform (DCT) First used in 974 (Ahmed, Natarajan and Rao). Very close to the Karunen-Loeve * (KLT) transform

More information

Compression and Coding

Compression and Coding Compression and Coding Theory and Applications Part 1: Fundamentals Gloria Menegaz 1 Transmitter (Encoder) What is the problem? Receiver (Decoder) Transformation information unit Channel Ordering (significance)

More information

2018/5/3. YU Xiangyu

2018/5/3. YU Xiangyu 2018/5/3 YU Xiangyu yuxy@scut.edu.cn Entropy Huffman Code Entropy of Discrete Source Definition of entropy: If an information source X can generate n different messages x 1, x 2,, x i,, x n, then the

More information

Module 2 LOSSLESS IMAGE COMPRESSION SYSTEMS. Version 2 ECE IIT, Kharagpur

Module 2 LOSSLESS IMAGE COMPRESSION SYSTEMS. Version 2 ECE IIT, Kharagpur Module 2 LOSSLESS IMAGE COMPRESSION SYSTEMS Lesson 5 Other Coding Techniques Instructional Objectives At the end of this lesson, the students should be able to:. Convert a gray-scale image into bit-plane

More information

17.1 Binary Codes Normal numbers we use are in base 10, which are called decimal numbers. Each digit can be 10 possible numbers: 0, 1, 2, 9.

17.1 Binary Codes Normal numbers we use are in base 10, which are called decimal numbers. Each digit can be 10 possible numbers: 0, 1, 2, 9. ( c ) E p s t e i n, C a r t e r, B o l l i n g e r, A u r i s p a C h a p t e r 17: I n f o r m a t i o n S c i e n c e P a g e 1 CHAPTER 17: Information Science 17.1 Binary Codes Normal numbers we use

More information

CSCI 2570 Introduction to Nanocomputing

CSCI 2570 Introduction to Nanocomputing CSCI 2570 Introduction to Nanocomputing Information Theory John E Savage What is Information Theory Introduced by Claude Shannon. See Wikipedia Two foci: a) data compression and b) reliable communication

More information

Entropy as a measure of surprise

Entropy as a measure of surprise Entropy as a measure of surprise Lecture 5: Sam Roweis September 26, 25 What does information do? It removes uncertainty. Information Conveyed = Uncertainty Removed = Surprise Yielded. How should we quantify

More information

Summary of Last Lectures

Summary of Last Lectures Lossless Coding IV a k p k b k a 0.16 111 b 0.04 0001 c 0.04 0000 d 0.16 110 e 0.23 01 f 0.07 1001 g 0.06 1000 h 0.09 001 i 0.15 101 100 root 1 60 1 0 0 1 40 0 32 28 23 e 17 1 0 1 0 1 0 16 a 16 d 15 i

More information

Entropy Coding. Connectivity coding. Entropy coding. Definitions. Lossles coder. Input: a set of symbols Output: bitstream. Idea

Entropy Coding. Connectivity coding. Entropy coding. Definitions. Lossles coder. Input: a set of symbols Output: bitstream. Idea Connectivity coding Entropy Coding dd 7, dd 6, dd 7, dd 5,... TG output... CRRRLSLECRRE Entropy coder output Connectivity data Edgebreaker output Digital Geometry Processing - Spring 8, Technion Digital

More information

Lecture 2: Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments

Lecture 2: Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments Lecture 2: Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments Dr. Jian Zhang Conjoint Associate Professor NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006 jzhang@cse.unsw.edu.au

More information

Lecture 16. Error-free variable length schemes (contd.): Shannon-Fano-Elias code, Huffman code

Lecture 16. Error-free variable length schemes (contd.): Shannon-Fano-Elias code, Huffman code Lecture 16 Agenda for the lecture Error-free variable length schemes (contd.): Shannon-Fano-Elias code, Huffman code Variable-length source codes with error 16.1 Error-free coding schemes 16.1.1 The Shannon-Fano-Elias

More information

Kolmogorov complexity ; induction, prediction and compression

Kolmogorov complexity ; induction, prediction and compression Kolmogorov complexity ; induction, prediction and compression Contents 1 Motivation for Kolmogorov complexity 1 2 Formal Definition 2 3 Trying to compute Kolmogorov complexity 3 4 Standard upper bounds

More information

4F5: Advanced Communications and Coding Handout 2: The Typical Set, Compression, Mutual Information

4F5: Advanced Communications and Coding Handout 2: The Typical Set, Compression, Mutual Information 4F5: Advanced Communications and Coding Handout 2: The Typical Set, Compression, Mutual Information Ramji Venkataramanan Signal Processing and Communications Lab Department of Engineering ramji.v@eng.cam.ac.uk

More information

Lecture 2: Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments. Tutorial 1. Acknowledgement and References for lectures 1 to 5

Lecture 2: Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments. Tutorial 1. Acknowledgement and References for lectures 1 to 5 Lecture : Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments Dr. Jian Zhang Conjoint Associate Professor NICTA & CSE UNSW COMP959 Multimedia Systems S 006 jzhang@cse.unsw.edu.au Acknowledgement

More information

Lecture 1: Shannon s Theorem

Lecture 1: Shannon s Theorem Lecture 1: Shannon s Theorem Lecturer: Travis Gagie January 13th, 2015 Welcome to Data Compression! I m Travis and I ll be your instructor this week. If you haven t registered yet, don t worry, we ll work

More information

Multimedia Communications. Mathematical Preliminaries for Lossless Compression

Multimedia Communications. Mathematical Preliminaries for Lossless Compression Multimedia Communications Mathematical Preliminaries for Lossless Compression What we will see in this chapter Definition of information and entropy Modeling a data source Definition of coding and when

More information

ECE Advanced Communication Theory, Spring 2009 Homework #1 (INCOMPLETE)

ECE Advanced Communication Theory, Spring 2009 Homework #1 (INCOMPLETE) ECE 74 - Advanced Communication Theory, Spring 2009 Homework #1 (INCOMPLETE) 1. A Huffman code finds the optimal codeword to assign to a given block of source symbols. (a) Show that cannot be a Huffman

More information

Information Theory. Week 4 Compressing streams. Iain Murray,

Information Theory. Week 4 Compressing streams. Iain Murray, Information Theory http://www.inf.ed.ac.uk/teaching/courses/it/ Week 4 Compressing streams Iain Murray, 2014 School of Informatics, University of Edinburgh Jensen s inequality For convex functions: E[f(x)]

More information

Data Compression Using a Sort-Based Context Similarity Measure

Data Compression Using a Sort-Based Context Similarity Measure Data Compression Using a Sort-Based Context Similarity easure HIDETOSHI YOKOO Department of Computer Science, Gunma University, Kiryu, Gunma 76, Japan Email: yokoo@cs.gunma-u.ac.jp Every symbol in the

More information

Kotebe Metropolitan University Department of Computer Science and Technology Multimedia (CoSc 4151)

Kotebe Metropolitan University Department of Computer Science and Technology Multimedia (CoSc 4151) Kotebe Metropolitan University Department of Computer Science and Technology Multimedia (CoSc 4151) Chapter Three Multimedia Data Compression Part I: Entropy in ordinary words Claude Shannon developed

More information

EE376A - Information Theory Midterm, Tuesday February 10th. Please start answering each question on a new page of the answer booklet.

EE376A - Information Theory Midterm, Tuesday February 10th. Please start answering each question on a new page of the answer booklet. EE376A - Information Theory Midterm, Tuesday February 10th Instructions: You have two hours, 7PM - 9PM The exam has 3 questions, totaling 100 points. Please start answering each question on a new page

More information

lossless, optimal compressor

lossless, optimal compressor 6. Variable-length Lossless Compression The principal engineering goal of compression is to represent a given sequence a, a 2,..., a n produced by a source as a sequence of bits of minimal possible length.

More information

1 Introduction to information theory

1 Introduction to information theory 1 Introduction to information theory 1.1 Introduction In this chapter we present some of the basic concepts of information theory. The situations we have in mind involve the exchange of information through

More information

Data Compression Techniques (Spring 2012) Model Solutions for Exercise 2

Data Compression Techniques (Spring 2012) Model Solutions for Exercise 2 582487 Data Compression Techniques (Spring 22) Model Solutions for Exercise 2 If you have any feedback or corrections, please contact nvalimak at cs.helsinki.fi.. Problem: Construct a canonical prefix

More information

18.310A Final exam practice questions

18.310A Final exam practice questions 18.310A Final exam practice questions This is a collection of practice questions, gathered randomly from previous exams and quizzes. They may not be representative of what will be on the final. In particular,

More information

BASIC COMPRESSION TECHNIQUES

BASIC COMPRESSION TECHNIQUES BASIC COMPRESSION TECHNIQUES N. C. State University CSC557 Multimedia Computing and Networking Fall 2001 Lectures # 05 Questions / Problems / Announcements? 2 Matlab demo of DFT Low-pass windowed-sinc

More information

ECE 587 / STA 563: Lecture 5 Lossless Compression

ECE 587 / STA 563: Lecture 5 Lossless Compression ECE 587 / STA 563: Lecture 5 Lossless Compression Information Theory Duke University, Fall 2017 Author: Galen Reeves Last Modified: October 18, 2017 Outline of lecture: 5.1 Introduction to Lossless Source

More information

Sample solutions to Homework 4, Information-Theoretic Modeling (Fall 2014)

Sample solutions to Homework 4, Information-Theoretic Modeling (Fall 2014) Sample solutions to Homework 4, Information-Theoretic Modeling (Fall 204) Jussi Määttä October 2, 204 Question [First, note that we use the symbol! as an end-of-message symbol. When we see it, we know

More information

Massachusetts Institute of Technology. Problem Set 4 Solutions

Massachusetts Institute of Technology. Problem Set 4 Solutions Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Department of Mechanical Engineering.050J/2.110J Information and Entropy Spring 2003 Problem Set 4 Solutions

More information

Lecture 1 : Data Compression and Entropy

Lecture 1 : Data Compression and Entropy CPS290: Algorithmic Foundations of Data Science January 8, 207 Lecture : Data Compression and Entropy Lecturer: Kamesh Munagala Scribe: Kamesh Munagala In this lecture, we will study a simple model for

More information

Turbo Compression. Andrej Rikovsky, Advisor: Pavol Hanus

Turbo Compression. Andrej Rikovsky, Advisor: Pavol Hanus Turbo Compression Andrej Rikovsky, Advisor: Pavol Hanus Abstract Turbo codes which performs very close to channel capacity in channel coding can be also used to obtain very efficient source coding schemes.

More information

Non-binary Distributed Arithmetic Coding

Non-binary Distributed Arithmetic Coding Non-binary Distributed Arithmetic Coding by Ziyang Wang Thesis submitted to the Faculty of Graduate and Postdoctoral Studies In partial fulfillment of the requirements For the Masc degree in Electrical

More information

CSEP 590 Data Compression Autumn Arithmetic Coding

CSEP 590 Data Compression Autumn Arithmetic Coding CSEP 590 Data Compression Autumn 2007 Arithmetic Coding Reals in Binary Any real number x in the interval [0,1) can be represented in binary as.b 1 b 2... where b i is a bit. x 0 0 1 0 1... binary representation

More information

Digital Communication Systems ECS 452

Digital Communication Systems ECS 452 Digital Communication Systems ECS 452 Asst. Prof. Dr. Prapun Suksompong prapun@siit.tu.ac.th 2. Source Coding 1 Office Hours: BKD, 6th floor of Sirindhralai building Tuesday 14:20-15:20 Wednesday 14:20-15:20

More information

Information Theory CHAPTER. 5.1 Introduction. 5.2 Entropy

Information Theory CHAPTER. 5.1 Introduction. 5.2 Entropy Haykin_ch05_pp3.fm Page 207 Monday, November 26, 202 2:44 PM CHAPTER 5 Information Theory 5. Introduction As mentioned in Chapter and reiterated along the way, the purpose of a communication system is

More information

Review of Quantization. Quantization. Bring in Probability Distribution. L-level Quantization. Uniform partition

Review of Quantization. Quantization. Bring in Probability Distribution. L-level Quantization. Uniform partition Review of Quantization UMCP ENEE631 Slides (created by M.Wu 004) Quantization UMCP ENEE631 Slides (created by M.Wu 001/004) L-level Quantization Minimize errors for this lossy process What L values to

More information

PROBABILITY AND INFORMATION THEORY. Dr. Gjergji Kasneci Introduction to Information Retrieval WS

PROBABILITY AND INFORMATION THEORY. Dr. Gjergji Kasneci Introduction to Information Retrieval WS PROBABILITY AND INFORMATION THEORY Dr. Gjergji Kasneci Introduction to Information Retrieval WS 2012-13 1 Outline Intro Basics of probability and information theory Probability space Rules of probability

More information

Digital communication system. Shannon s separation principle

Digital communication system. Shannon s separation principle Digital communication system Representation of the source signal by a stream of (binary) symbols Adaptation to the properties of the transmission channel information source source coder channel coder modulation

More information

SGN-2306 Signal Compression. 1. Simple Codes

SGN-2306 Signal Compression. 1. Simple Codes SGN-236 Signal Compression. Simple Codes. Signal Representation versus Signal Compression.2 Prefix Codes.3 Trees associated with prefix codes.4 Kraft inequality.5 A lower bound on the average length of

More information

A Mathematical Theory of Communication

A Mathematical Theory of Communication A Mathematical Theory of Communication Ben Eggers Abstract This paper defines information-theoretic entropy and proves some elementary results about it. Notably, we prove that given a few basic assumptions

More information

CS6304 / Analog and Digital Communication UNIT IV - SOURCE AND ERROR CONTROL CODING PART A 1. What is the use of error control coding? The main use of error control coding is to reduce the overall probability

More information

Optimal codes - I. A code is optimal if it has the shortest codeword length L. i i. This can be seen as an optimization problem. min.

Optimal codes - I. A code is optimal if it has the shortest codeword length L. i i. This can be seen as an optimization problem. min. Huffman coding Optimal codes - I A code is optimal if it has the shortest codeword length L L m = i= pl i i This can be seen as an optimization problem min i= li subject to D m m i= lp Gabriele Monfardini

More information

Information Theory with Applications, Math6397 Lecture Notes from September 30, 2014 taken by Ilknur Telkes

Information Theory with Applications, Math6397 Lecture Notes from September 30, 2014 taken by Ilknur Telkes Information Theory with Applications, Math6397 Lecture Notes from September 3, 24 taken by Ilknur Telkes Last Time Kraft inequality (sep.or) prefix code Shannon Fano code Bound for average code-word length

More information

ECE 587 / STA 563: Lecture 5 Lossless Compression

ECE 587 / STA 563: Lecture 5 Lossless Compression ECE 587 / STA 563: Lecture 5 Lossless Compression Information Theory Duke University, Fall 28 Author: Galen Reeves Last Modified: September 27, 28 Outline of lecture: 5. Introduction to Lossless Source

More information

Introduction p. 1 Compression Techniques p. 3 Lossless Compression p. 4 Lossy Compression p. 5 Measures of Performance p. 5 Modeling and Coding p.

Introduction p. 1 Compression Techniques p. 3 Lossless Compression p. 4 Lossy Compression p. 5 Measures of Performance p. 5 Modeling and Coding p. Preface p. xvii Introduction p. 1 Compression Techniques p. 3 Lossless Compression p. 4 Lossy Compression p. 5 Measures of Performance p. 5 Modeling and Coding p. 6 Summary p. 10 Projects and Problems

More information

CHAPTER 8 COMPRESSION ENTROPY ESTIMATION OF HEART RATE VARIABILITY AND COMPUTATION OF ITS RENORMALIZED ENTROPY

CHAPTER 8 COMPRESSION ENTROPY ESTIMATION OF HEART RATE VARIABILITY AND COMPUTATION OF ITS RENORMALIZED ENTROPY 108 CHAPTER 8 COMPRESSION ENTROPY ESTIMATION OF HEART RATE VARIABILITY AND COMPUTATION OF ITS RENORMALIZED ENTROPY 8.1 INTRODUCTION Klimontovich s S-theorem offers an approach to compare two different

More information

Image Compression. Fundamentals: Coding redundancy. The gray level histogram of an image can reveal a great deal of information about the image

Image Compression. Fundamentals: Coding redundancy. The gray level histogram of an image can reveal a great deal of information about the image Fundamentals: Coding redundancy The gray level histogram of an image can reveal a great deal of information about the image That probability (frequency) of occurrence of gray level r k is p(r k ), p n

More information

channel of communication noise Each codeword has length 2, and all digits are either 0 or 1. Such codes are called Binary Codes.

channel of communication noise Each codeword has length 2, and all digits are either 0 or 1. Such codes are called Binary Codes. 5 Binary Codes You have already seen how check digits for bar codes (in Unit 3) and ISBN numbers (Unit 4) are used to detect errors. Here you will look at codes relevant for data transmission, for example,

More information

Communications Theory and Engineering

Communications Theory and Engineering Communications Theory and Engineering Master's Degree in Electronic Engineering Sapienza University of Rome A.A. 2018-2019 AEP Asymptotic Equipartition Property AEP In information theory, the analog of

More information