SYDLAB_inha/AI semiconductor

AI.semi - Encoder & Decoder (for image compression)

빈그레 2023. 10. 25. 19:23

 

 

 Encoder 

 


a) 색상 변환 ( Color Transformation )
 : 입력 이미지는 RGB 형식으로 주어질 수 있으며 이를 YCbCr과 같은 다른 색상 공간으로 변환한다.
Y 채널은 luminance를 Cb,Cr channel은 색차 정보를  포함

b) PSNR 계산 //인코딩 전에 계산
*** PSNR :  원본과 압축된 버전 간의 신호 대 잡음 비율을 나타내며, 높을수록 품질이 더 좋음을 의미
 : 압축 전에 이미지의 PSNR을 계산하여 디코딩 단계 압축품질 평가에서 사용

c) 블록 분할 (Block partitioning)
: 이미지를 작은 블록으로 나누어 압축 수행

D)변환 (Transform) //DCT
: 각 블록은 DCT와 같은변환을 통해 주파수 domain으로 변환됨

e) 양자화 (Quantization)
: 변환된 주파수 계수를 양자화를 통해 정밀도 감소시키기
  //Quantization table에 Quality factor 곱해서 DCT 계수에서 나누기...? 맞나.....우애으ㅜㅜㅜ,,

f) huffman 인코딩
: 양자화된 계수들을 효과적으로 표현하기 위한 인코딩 기법 (다른 기법도 존재)




 

 

 

Decoder

 

 a) 압축된 bit stream 수신
 : 인코더에서 생성된 압축된 bit stream을 받는다.

b)huffman 디코딩
: 압축된 bit stream을 계수로 변환

c) 역 양자화 (inverse Quantization)
: 양자화된 계수들을 역 양자화하여 원래의 정밀도로 되돌림

d) 역변환 (inverse Transform)
 : 주파수 domain 계수를 이미지 공간으로 변환

e) 블록 병합 (block merging)
: 각 블록을 원래의 이미지로 병합하여 전체 이미지 얻기

f) 색상 역변환( color inverse transformation)
: YCbCr 공간에서 RGB 공간으로 다시 변환

g) 압축 전 PSNR vs 압축 후 PSNR 비교
: 인코딩 전에 계산한 PSNR과 디코딩 후에 계산한 PSNR을 비교하여 압축 품질 평가