partie 2 :DeCompression :
DCT inverse
function IDCT = dct2diminv(DCT)
% Application de la DCT deux dimensions inverse
%Construction d'une matrice de valeurs du cosinus
for i=0:7
for x=0:7
valcos(i+1,x+1)=double(cos(((2*x +1)*i*pi)/16));
end % end for
end % end for
%Construction d'une matrice de valeurs de 1/4*c(i)*c(j)
c=1/sqrt(2);
for i=0:7
for j=0:7
if i==0 || j==0
cicj(i+1,j+1)=double((1/4)*c); % 0.1768
end % end if
if i~=0 && j~=0
cicj(i+1,j+1)=double(1/4); %0.2500
end % end if
if i==0 && j==0
cicj(i+1,j+1)=double((1/4)*c*c); %0.1250
end % end if
end % end for
end % end for
%Traitement
IDCT = double(zeros(8,8));
for x = 1 : 8
for y = 1 : 8
sigma = double(0);
for i = 1 : 8
for j = 1 : 8
sigma = sigma + (cicj(i,j) * double(DCT(i,j)) * valcos(i,x) * valcos(j,y));
end % end for
end % end for
IDCT(x,y) = sigma;
end % end for
end % end for
IDCT=round(IDCT); %arrondir