DCT, IDCT를 이용한 영상압축 알고리즘(C++)
- 최초 등록일
- 2008.03.31
- 최종 저작일
- 2007.12
- 8페이지/ 한컴오피스
- 가격 2,000원
소개글
경희대학교 전자공학과 졸업연구 기말프로젝트
DCT변환을 C++언어로 구현 및 176 × 144사이즈의 foreman.yuv 영상에 대한 DCT변환과 IDCT 변환을 실행, 원본 이미지와 압축된 이미지를 관찰하여 비교해봄으로서 영상압축 원리를 이해한다.(양자화 계수값, 블록 크기 변화에 따른 압축된 이미지 비교)
목차
1. 목표
2. 원리
3. DCT를 이용한 압축결과
4. Q(양자화 계수)값의 변화(N=8)에 따른 압축결과 관찰
5. N(block size)값의 변화에 따른 압축결과 관찰
6. 문제해결
7. 결론 및 고찰
8. 전체 프로그래밍
본문내용
1. 목표
DCT변환을 C++언어로 구현 및 176 × 144사이즈의 foreman.yuv 영상에 대한 DCT변환과 IDCT 변환을 실행
원본 이미지와 압축된 이미지를 관찰하여 비교해봄으로서 영상압축 원리를 이해한다.
(양자화 계수값, 블록 크기 변화에 따른 압축된 이미지 비교)
2. 원리
사람의 눈이 영상의 전체적 변화에 비해 미세한 변화를 감지하지 못하는 점을 이용.(=>일종의 눈속임)
DCT는 이미지의 평면영역을 주파수 영역으로 변환 -> 주파수 영역으로 변환된 데이터를 양자화 계수로 나누어줌 -> IDCT로 이미지 복원
>> 양자화계수가 커질수록 압축률은 증가하고 PSNR는 감소한다.
>> N값이 증가할수록 Block Effect에 의한 화질 열화가 발생한다.
>> 효율적인 압축을 위해 사람의 눈이 인식하지 못할 정도 범위에서 적절한 Q값을 정할 필요가 있다.
>> 고주파와 저주파에서의 Q값을 다르게 적용시킬 필요가 있다.(고주파영역은 크게,저주파영역은 작게)
>> 원본 이미지의 주파수 특성에 따라 N값을 다르게 적용시켜야 한다.
참고 자료
없음