jpeg압축 알고리즘을 활용하여 졸업 프로젝트를 준비하고있는데,
jpeg에 대한 개념적 이해가 부족한 것 같아 리마인드하는 겸 jpeg 압축 알고리즘에 대해 다시 정리해보고자 한다.
위 사진을 보면 파일유형에 jpg파일이라고 되어있다.
jpeg 이미지 파일 형식으로 이미지가 저장 및 표현되어있다는 뜻이다.
이미지 파일 형식 (image file format)
: 이미지 데이터를 저장하고 표현하기 위한 파일 형식을 의미한다.
이미지 파일 형식은 크게 래스터(raster) 방식과 벡터(vector) 방식으로 나눌 수 있다.
래스터 방식은 이미지를 색상 정보가 담긴 픽셀들로 표현하는 방식이고,
벡터 방식은 수학식으로 이뤄진 점, 직선, 곡선, 다각형 등으로 이미지를 표현하는 방식이다.
래스터 이미지는 픽셀 수가 많을수록 화면의 질이 향상되지만, 그만큼 파일 용량은 커진다.
래스터 이미지의 사이즈를 확대시키거나 축소시킬 때에는 화질 손실이 절대적으로 생긴다.
벡터 이미지는 아무리 이미지를 확대시켜도 선명하게 보인다. 확대와 축소에 자유롭다.
하지만, 자연스러운 변화나 세밀한 표현이 어렵고, 복잡한 계산이 필요한 이미지의 경우 컴퓨터에 큰 부담을 준다.
JPEG, GIF, PNG, TIFF, BMP, Raw 등이 래스터 방식을 이용한 이미지 파일 형식들이고,
AI, SVG, VML, CGM, 거버 포맷 등은 벡터 방식을 이용한 것들이다.
파일 읽기
절차에 따라 인코딩 된 각 데이트들은 esc0영역에 저장된다.
https://velog.io/@nurungg/Image-Metadata
JPEG
JPEG(joing Photographic Experts Group)은 손실 압축 기술을 사용하는 이미지 파일 형식이다.
손실 압축이란, 원본 파일의 용량을 줄이기 위해 고의적으로 이미지를 손실시키는 것이다. 단, 사람의 눈에 크게 거슬리지 않는 부분들을 손실시킨다.
1.rgb to YCbCr
2.변환된 색공간에 대하여 색정보 다운샘플링 //영철선배님 논문에서는 이것을 진행하지 않음
3.8*8 block으로 분할되고, DCT 변환(공간 영역에서 주파수 영역으로)
//주파수 성분으로 바꾸는 식이 존재함
4. quantization
5. zigzag 스캐닝
: 2차원으로 배열된 quantization된 dct 계수들을 1차원의 데이터로 만들어준다.
6. DC계수 부호화 (허프만 인코딩)
7. AC계수 부호화 (허프만 인코딩)
//나중에 읽어볼 것
'SYDLAB_inha > Featuremap Comp' 카테고리의 다른 글
FM Compression - 중간정리 (0) | 2024.01.23 |
---|---|
JPEG - metadata (0) | 2024.01.18 |
HW code 분석 - Encoder engine , Frame_reuse (0) | 2024.01.12 |
HW cod 분석 - FS core (0) | 2024.01.11 |
HW code 분석 - data flow대로 가장 상위 module보기 (0) | 2024.01.11 |