% Aymeric Arnould, Tom Colinot % TP3 % Codage INTER (2/3) % Questions 12 %clear all; n=5; %Nombre d'images à coder gamma=1:10; %Pas PSNRmoy=[]; bpsmoy=[]; for i=1:length(gamma) g = gamma(i); file = fopen('Foreman.qcif','r'); [compY,~,~]=yuv_readimage(file,'qcif'); PSNR_seq=[]; bpp_seq=[]; %Codage de la première image [I_rec,PSNR,bpp] = encodeINTRA(compY,g); Y(:,:,1) = compY; Yc(:,:,1) = I_rec; PSNR_seq(1) = PSNR; bpp_seq(1) = bpp; %Pour les images suivantes, soustraction de l'image n-1 à l'image n avant %codage for k=2:n [compY,~,~]=yuv_readimage(file,'qcif'); Yk = compY - Yc(:,:,k-1); % différences par rapport à l'image décodée précédente [I_rec,PSNR,bpp] = encodeINTRA(Yk,g); Y(:,:,k) = Yk; Yc(:,:,k) = I_rec + Yc(:,:,k-1); % reconstruction à l'aide de l'image décodée précédente PSNR_seq(k) = PSNR; bpp_seq(k) = bpp; end PSNRmoy(i) = mean(PSNR_seq); bpsmoy(i) = mean(bpp_seq)*size(compY,1)*size(compY,2)*15; end figure(1); subplot(131); plot(gamma,PSNRmoy); xlabel('gamma'); ylabel('PSNR moyen'); subplot(132); plot(gamma,bpsmoy); xlabel('gamma'); ylabel('Debit moyen (bps)'); subplot(133); plot(bpsmoy,PSNRmoy); xlabel('Debit moyen (bps)'); ylabel('PSNR moyen');