Advertisement
daskalot

Untitled

Mar 19th, 2019
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 2.53 KB | None | 0 0
  1. TESTNI_ENA
  2. WIDTH = 1728px
  3. HEIGHT = 1000
  4. B W W B W W W B ~ 0 1 1 0 1 1 1 0 ..
  5. vhod[0 1 1 0 1 1 1 0] -> pixels size(vhod) = 1728px
  6. RLE = RUN LENGTH ENCODING
  7. B W W B W W W B -> 1B 2W 1B 3W 1B
  8. 1)COUNT
  9. %vector of white pixels
  10. %!vsaka vrstica se zacne z beli peksel, ako go nema dolzinata mu e 0
  11. W = [0,2,3,7,150,300,2,3,7,150,300,76] %<- lengths of white sequencies of pixels
  12. B = [1,1,1,1,1,1,1,1,1,1,2,716] %<- lengths of black sequencies of pixels
  13. %NAIVE FIND MAX BITS FOR A NUMBER (300 = 9bits) -> 9bit*(12 + 12) -> 216bits
  14. 9bits = 0 -> 2^9 - 1
  15. 2)<HUFFMAN>
  16.  ->BLACK:
  17.     chars | freq                      | length |
  18.     2     | 1/12   --> 2/12 ----> 1   | 2      |  
  19.     716   | 1/12   --^          ^     | 2      |
  20.     1     | 10/12  -------------|     | 1      |
  21.     %CANNONIC HUFFMAN
  22.     ->SORT BY length:
  23.     ->CODE IT:  1 -> 0    
  24.                 2 -> 10
  25.                 716 -> 11 -> code_i = code_i-1 + 1 << (length_i - length_i-1), code_0 = 0
  26.   ->WHITE:
  27.     chars | freq |                                      |  length
  28.     0     | 1/12 |  --> 2/12 ---> 4/12 -----------> 1   |  3
  29.     76    | 1/12 |  --^         |                 ^     |  3
  30.     2     | 2/12 |  --> 4/12 ---| ----> 8/12 -----|     |  3
  31.     3     | 2/12 |  --^         |     ^                 |  3
  32.     7     | 2/12 |  --> 4/12 ---| ----|                 |  3
  33.     150   | 2/12 |  --^         |                       |  3
  34.     300   | 2/12 |  -------------                       |  2
  35.     %NEXT = simpler(i,j) + i < j
  36.     char length |
  37.     300  2      |  00      
  38.     0    3      |  010    <-- + 1 << (l(i) - l(i-1))
  39.     2    3      |
  40.     3    3      |
  41.     7    3      |
  42.     76   3      |
  43.     150  3      |
  44.    
  45.  
  46.    izhod = [0,1,0,0,0,1,1,0,]
  47.    WHITE: 10x3b + 2x2b -> 48b
  48.    BLACK: 10x1b + 2x2b --^
  49.    ----------------------------------------------------------------------------------------
  50.    CODE WHITE: char + freq %ALREADY IMPLEMENTED ON FAX MACHINE
  51.    CODE BLACK: char + freq %ALREADY IMPLEMENTED ON FAX MACHINE
  52.    ---------------------------------------------------------------------------------------
  53.    output = [izhod, R, kodBela, kodCrna]
  54.  
  55.    R = ||izhod|| / ||vhod|| ||*|| = numel(*)
  56.  
  57.    kodBela = [1 2 716 ; 1 2 2]
  58.  
  59.    CONSTRAINTS: 120s
  60.  
  61.    SORT
  62.    ====PREV        index_father_i index_father_j  l
  63.    1 -> 1    10/12    0            0              1 <- 5
  64.    2 -> 2    1/12     0            0              2 <- 4 + 5
  65.    3 -> 716  1/12     0            0              2 <- 4 + 5
  66.    4 -> -    2/12     2            3              1 <- 5
  67.    5 -> -    1        1            4
  68.  
  69.    TODO: diff
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement