Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TESTNI_ENA
- WIDTH = 1728px
- HEIGHT = 1000
- B W W B W W W B ~ 0 1 1 0 1 1 1 0 ..
- vhod[0 1 1 0 1 1 1 0] -> pixels size(vhod) = 1728px
- RLE = RUN LENGTH ENCODING
- B W W B W W W B -> 1B 2W 1B 3W 1B
- 1)COUNT
- %vector of white pixels
- %!vsaka vrstica se zacne z beli peksel, ako go nema dolzinata mu e 0
- W = [0,2,3,7,150,300,2,3,7,150,300,76] %<- lengths of white sequencies of pixels
- B = [1,1,1,1,1,1,1,1,1,1,2,716] %<- lengths of black sequencies of pixels
- %NAIVE FIND MAX BITS FOR A NUMBER (300 = 9bits) -> 9bit*(12 + 12) -> 216bits
- 9bits = 0 -> 2^9 - 1
- 2)<HUFFMAN>
- ->BLACK:
- chars | freq | length |
- 2 | 1/12 --> 2/12 ----> 1 | 2 |
- 716 | 1/12 --^ ^ | 2 |
- 1 | 10/12 -------------| | 1 |
- %CANNONIC HUFFMAN
- ->SORT BY length:
- ->CODE IT: 1 -> 0
- 2 -> 10
- 716 -> 11 -> code_i = code_i-1 + 1 << (length_i - length_i-1), code_0 = 0
- ->WHITE:
- chars | freq | | length
- 0 | 1/12 | --> 2/12 ---> 4/12 -----------> 1 | 3
- 76 | 1/12 | --^ | ^ | 3
- 2 | 2/12 | --> 4/12 ---| ----> 8/12 -----| | 3
- 3 | 2/12 | --^ | ^ | 3
- 7 | 2/12 | --> 4/12 ---| ----| | 3
- 150 | 2/12 | --^ | | 3
- 300 | 2/12 | ------------- | 2
- %NEXT = simpler(i,j) + i < j
- char length |
- 300 2 | 00
- 0 3 | 010 <-- + 1 << (l(i) - l(i-1))
- 2 3 |
- 3 3 |
- 7 3 |
- 76 3 |
- 150 3 |
- izhod = [0,1,0,0,0,1,1,0,]
- WHITE: 10x3b + 2x2b -> 48b
- BLACK: 10x1b + 2x2b --^
- ----------------------------------------------------------------------------------------
- CODE WHITE: char + freq %ALREADY IMPLEMENTED ON FAX MACHINE
- CODE BLACK: char + freq %ALREADY IMPLEMENTED ON FAX MACHINE
- ---------------------------------------------------------------------------------------
- output = [izhod, R, kodBela, kodCrna]
- R = ||izhod|| / ||vhod|| ||*|| = numel(*)
- kodBela = [1 2 716 ; 1 2 2]
- CONSTRAINTS: 120s
- SORT
- ====PREV index_father_i index_father_j l
- 1 -> 1 10/12 0 0 1 <- 5
- 2 -> 2 1/12 0 0 2 <- 4 + 5
- 3 -> 716 1/12 0 0 2 <- 4 + 5
- 4 -> - 2/12 2 3 1 <- 5
- 5 -> - 1 1 4
- TODO: diff
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement