SYDLAB_inha/Featuremap Comp

JPEG - 압축 파일 형식

빈그레 2024. 1. 18. 21:07

 

 

 

 

 

 

 jpeg압축 알고리즘을 활용하여 졸업 프로젝트를 준비하고있는데,

jpeg에 대한 개념적 이해가 부족한 것 같아 리마인드하는 겸 jpeg 압축 알고리즘에 대해 다시 정리해보고자 한다.

 

 

 

 

 

위 사진을 보면 파일유형에  jpg파일이라고 되어있다.

jpeg 이미지 파일 형식으로 이미지가 저장 및 표현되어있다는 뜻이다.

 

 

//https://bskyvision.com/entry/JPEG-%EC%9D%B4%EB%AF%B8%EC%A7%80-%ED%8C%8C%EC%9D%BC-%ED%98%95%EC%8B%9D%EC%9D%98-%EC%9B%90%EB%A6%AC%EC%99%80-%EC%9D%B4%ED%95%B4

 

JPEG 압축 제대로 이해하기

아래 사진은 2019년 1월 5일, 14일에 찍은 사진들을 담은 폴더를 캡쳐한 것이다. 여기 보면 유형에 JPG 파일이라고 적혀있는 것을 확인할 수 있다. JPEG 이미지 파일 형식으로 이미지가 저장 및 표현

bskyvision.com

 

이미지 파일 형식 (image file format)

 

: 이미지 데이터를 저장하고 표현하기 위한 파일 형식을 의미한다.

 

이미지 파일 형식은 크게 래스터(raster) 방식과 벡터(vector) 방식으로 나눌 수 있다.

래스터 방식은 이미지를 색상 정보가 담긴 픽셀들로 표현하는 방식이고,

벡터 방식은 수학식으로 이뤄진 점, 직선, 곡선, 다각형 등으로 이미지를 표현하는 방식이다.

 

래스터 이미지는 픽셀 수가 많을수록 화면의 질이 향상되지만, 그만큼 파일 용량은 커진다. 

래스터 이미지의 사이즈를 확대시키거나 축소시킬 때에는 화질 손실이 절대적으로 생긴다.

 

벡터 이미지는 아무리 이미지를 확대시켜도 선명하게 보인다. 확대와 축소에 자유롭다.

하지만, 자연스러운 변화나 세밀한 표현이 어렵고, 복잡한 계산이 필요한 이미지의 경우 컴퓨터에 큰 부담을 준다.

 

JPEG, GIF, PNG, TIFF, BMP, Raw 등이 래스터 방식을 이용한 이미지 파일 형식들이고,

AI, SVG, VML, CGM, 거버 포맷 등은 벡터 방식을 이용한 것들이다. 

 

 

파일 읽기

 

 

https://yottu.tistory.com/20

 

4. JPEG 파일 속 들여다 보기

이제의 디지털 사진(P1010194.jpg)의 바이트 정보를 파악하여 실제로 어떤 포맷으로 파일이 구성되어 있고, 압축된 정보가 어떻게 저장되어 있는 지 살펴보고자 한다. 사진 데이터의 분석은 울트라

yottu.tistory.com

 

 

 

 

 

 

절차에 따라 인코딩 된 각 데이트들은 esc0영역에 저장된다.

 

 

 

https://velog.io/@nurungg/Image-Metadata

 

Image Metadata (이미지 메타데이터)

이미지 메타데이터에 관해! Exif, XMP, IPTC-IIM

velog.io

 

 

 

 

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계수 부호화  (허프만 인코딩)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//나중에 읽어볼 것

https://bskyvision.com/407