partie 2 :DeCompression :
Décodage HUFFMAN1 pour un bloc de pixels en RVB
function [r,v,b]=traitement_huff_rvb_inverse(code_huff_y,code_huff_cb,code_huff_cr,dico_y,dico_cb,dico_cr,qualite)
% Entrer le code HUFFMAN1 de Y,CB et CR et retourne les vecteur RVB pour un
%bloc 8x8
%Enlever le 'e' qui marque la fin
code_huff_y=code_huff_y(1:end-1);
code_huff_cb=code_huff_cb(1:end-1);
code_huff_cr=code_huff_cr(1:end-1);
%Décodage HUFFMAN1
codey=traitement_huffman_inverse (code_huff_y,dico_y);
codecb=traitement_huffman_inverse (code_huff_cb,dico_cb);
codecr=traitement_huffman_inverse (code_huff_cr,dico_cr);
%Passer des strings vers int
codey=denormaliser_type (codey);
codecb=denormaliser_type (codecb);
codecr=denormaliser_type (codecr);
%Transformer les vecteurs en cell arrays
codey=cell2mat(codey);
codecb=cell2mat(codecb);
codecr=cell2mat(codecr);
%Décodage RLE
y=decodage_rle (codey);
cb=decodage_rle (codecb);
cr=decodage_rle (codecr);
%Zigzag inverse
yquan=zigzaginv (y);
cbquan=zigzaginv (cb);
crquan=zigzaginv (cr);
%Quantification inverse
ydct=quantificationinverse (yquan,qualite,0);
cbdct=quantificationinverse (cbquan,qualite,1);
crdct=quantificationinverse (crquan,qualite,1);
%DCT inverse
y=dct2diminv (ydct);
cb=dct2diminv (cbdct);
cr=dct2diminv (crdct);
y=y+128;cb=cb+128;cr=cr+128;
%Transformation de couleurs inverse
[r,v,b]=torvb (y,cb,cr);