error correcting codes application of convolutional codes
play

Error-Correcting codes: Application of convolutional codes to Video - PowerPoint PPT Presentation

Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Error-Correcting codes: Application of convolutional codes to Video Streaming Diego Napp Department of Mathematics, Universidad of


  1. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Error-Correcting codes: Application of convolutional codes to Video Streaming Diego Napp Department of Mathematics, Universidad of Aveiro, Portugal July 22, 2016

  2. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Overview Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes

  3. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Error Correcting Codes Basic Problem: • want to store bits on magnetic storage device • or send a message (sequence of zeros/ones)

  4. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Error Correcting Codes Basic Problem: • want to store bits on magnetic storage device • or send a message (sequence of zeros/ones) • Bits get corrupted, 0 → 1 or 1 → 0, but rarely.

  5. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Error Correcting Codes Basic Problem: • want to store bits on magnetic storage device • or send a message (sequence of zeros/ones) • Bits get corrupted, 0 → 1 or 1 → 0, but rarely. What happens when we store/send information and errors occur?

  6. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Error Correcting Codes Basic Problem: • want to store bits on magnetic storage device • or send a message (sequence of zeros/ones) • Bits get corrupted, 0 → 1 or 1 → 0, but rarely. What happens when we store/send information and errors occur? can we detect them? correct?

  7. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes The International Standard Book Number (ISBN) It can be proved that all possible valid ISBN-10’s have at least two digits different from each other. ISBN-10: x 1 − x 2 x 3 x 4 − x 5 x 6 x 7 x 8 x 9 − x 10 satisfy 10 � ix i = 0 mod 11 i =1 For example, for an ISBN-10 of 0-306-40615-2: s = (0 × 10) + (3 × 9) + (0 × 8) + (6 × 7)+ + (4 × 6) + (0 × 5) + (6 × 4) + (1 × 3) + (5 × 2) + (2 × 1) = 0 + 27 + 0 + 42 + 24 + 0 + 24 + 3 + 10 + 2 = 132 = 12 × 11

  8. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Sending/storing information: Naive solution Repeat every bit three times Message Codeword Encoding 1 1 0 1 · · · = ⇒ 111 111 000 111 · · · Received message Decoding 111 111 001 111 · · · = ⇒ 1 1 0 1 · · ·

  9. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Sending/storing information: Naive solution Repeat every bit three times Message Codeword Encoding 1 1 0 1 · · · = ⇒ 111 111 000 111 · · · Received message Decoding 111 111 001 111 · · · = ⇒ 1 1 0 1 · · · • Good: Very easy Encoding / decoding • Bad: Rate 1 / 3

  10. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Sending/storing information: Naive solution Repeat every bit three times Message Codeword Encoding 1 1 0 1 · · · = ⇒ 111 111 000 111 · · · Received message Decoding 111 111 001 111 · · · = ⇒ 1 1 0 1 · · · • Good: Very easy Encoding / decoding • Bad: Rate 1 / 3 Can we do better???

  11. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Another Solution ∈ F 2 • Break the message into 2 bits blocks m = u 1 u 2 • Encode each block as follows: u − → uG where � 1 � 0 1 G = ; 0 1 1 � 1 � 0 1 ( u 1 , u 2 ) = u 1 u 2 u 1 + u 2 0 1 1

  12. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Another Solution ∈ F 2 • Break the message into 2 bits blocks m = u 1 u 2 • Encode each block as follows: u − → uG where � 1 � 0 1 G = ; 0 1 1 � 1 � 0 1 ( u 1 , u 2 ) = u 1 u 2 u 1 + u 2 0 1 1 • Better Rate 2 / 3 • I can detect 1 error...but I cannot correct.

  13. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes ∈ F 3 • Break the message into 3 bits blocks m = 1 1 0 • Encode each block as follows:   1 0 0 1 1 0  ; u − → uG G = 0 1 0 1 0 1  0 0 1 0 1 1

  14. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes ∈ F 3 • Break the message into 3 bits blocks m = 1 1 0 • Encode each block as follows:   1 0 0 1 1 0  ; u − → uG G = 0 1 0 1 0 1  0 0 1 0 1 1 For example   1 0 0 1 1 0  = (1 , 1 , 0 , 0 , 1 , 1); (1 , 1 , 0) 0 1 0 1 0 1  0 0 1 0 1 1   1 0 0 1 1 0  = (1 , 0 , 1 , 1 , 0 , 1); (1 , 0 , 1) 0 1 0 1 0 1  0 0 1 0 1 1 etc...

  15. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes • Rate 3 / 6 = 1 / 2, better than before (1 / 3). • Only 2 3 codewords in F 6 C = { (1 , 0 , 0 , 1 , 1 , 0) , (0 , 1 , 0 , 1 , 0 , 1) , (0 , 0 , 1 , 0 , 1 , 1) , (1 , 1 , 0 , 0 , 1 , 1) , (1 , 0 , 1 , 1 , 0 , 1) , (0 , 1 , 1 , 1 , 1 , 0) , (1 , 1 , 1 , 0 , 0 , 0) , (0 , 0 , 0 , 0 , 0 , 0) } • In F 6 we have 2 6 possible vectors

  16. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes • Rate 3 / 6 = 1 / 2, better than before (1 / 3). • Only 2 3 codewords in F 6 C = { (1 , 0 , 0 , 1 , 1 , 0) , (0 , 1 , 0 , 1 , 0 , 1) , (0 , 0 , 1 , 0 , 1 , 1) , (1 , 1 , 0 , 0 , 1 , 1) , (1 , 0 , 1 , 1 , 0 , 1) , (0 , 1 , 1 , 1 , 1 , 0) , (1 , 1 , 1 , 0 , 0 , 0) , (0 , 0 , 0 , 0 , 0 , 0) } • In F 6 we have 2 6 possible vectors • Any two codewords differ at least in 3 coordinates. I can detect and correct 1 error!!!

  17. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Hamming distance The intuitive concept of “closeness” of two words is well formalized through Hamming distance h ( x , y ) of words x , y . For two words x , y h ( x , y ) = the number of symbols x and y differ . A code C is a subset of F n , F a finite field. An important parameter of C is its minimal distance. dist ( C ) = min { h ( x , y ) | x , y ∈ C , x � = y } ,

  18. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Hamming distance The intuitive concept of “closeness” of two words is well formalized through Hamming distance h ( x , y ) of words x , y . For two words x , y h ( x , y ) = the number of symbols x and y differ . A code C is a subset of F n , F a finite field. An important parameter of C is its minimal distance. dist ( C ) = min { h ( x , y ) | x , y ∈ C , x � = y } , Theorem (Basic error correcting theorem) 1. A code C can detected up to s errors if dist ( C ) ≥ s + 1 . 2. A code C can correct up to t errors if dist ( C ) ≥ 2 t + 1 .

  19. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Definition An ( n , k ) block code C is a k -dimensional subspace of F n and the rows of G form a basis of C � uG : u ∈ F k � C = Im F G = (1)

  20. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Definition An ( n , k ) block code C is a k -dimensional subspace of F n and the rows of G form a basis of C � uG : u ∈ F k � C = Im F G = (1) Main coding theory problem 1. Construct codes that can correct a maximal number of errors while using a minimal amount of redundancy (rate) 2. Construct codes (as above) with efficient encoding and decoding procedures

  21. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes • Coding theory develops methods to protect information against errors. • Cryptography develops methods how to protect information against an enemy (or an unauthorized user). • Coding theory - theory of error correcting codes - is one of the most interesting and applied part of mathematics and informatics. • All real systems that work with digitally represented data, as CD players, TV, fax machines, internet, satelites, mobiles, require to use error correcting codes because all real channels are, to some extent, noisy. • Coding theory methods are often elegant applications of very basic concepts and methods of (abstract) algebra.

  22. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Topics we are investigating • (Convolutional) Codes over finite rings ( Z p r ).

  23. Introduction to Error-correcting codes Two challenges that recently emerged Block codes vs convolutional codes Topics we are investigating • (Convolutional) Codes over finite rings ( Z p r ). • Application of convolutional codes to Distributed Storage Systems.

Recommend


More recommend