JPEG

제이펙(, )은 정지 화상을 위해서 만들어진 손실 압축 방법 표준이다. 이 표준은 ISO와 ITU-T에서 제정하였다. JPEG를 사용하는 파일 형식들도 보통 JPEG 이미지라 불리며, .jpg, .jpeg, .jpe 등의 확장자를 사용한다. 1677만 7216색과 256색 그레이로 저장 할 수 있다.
JPEG 표준은 이미지가 어떻게 연속된 바이트로 바뀌는지만을 규정한다. 독립 JPEG 그룹(Independent JPEG Group; IJG)에서 만든 JPEG의 확장인 JFIF(JPEG File Interchange Format)는 JPEG 스트림을 저장과 전송에 적합한 형태로 담는 이미지 파일 형식이다. 디지털 카메라의 사진 저장 방식으로는 다른 확장인 EXIF JPEG 형식이 더 자주 사용된다. 일반적으로 JPEG 파일이라고 할 때는 JFIF 형식이거나 EXIF JPEG 형식을 가리키지만, JNG와 같은 JPEG 기반의 다른 파일 형식도 존재한다.

손실 압축 형식이지만 파일 크기가 작기 때문에 웹에서 널리 쓰인다. 압축률을 높이면 파일 크기는 작아지지만 이미지 품질은 더욱 떨어진다.

JPEG/JFIF는 웹 상에서 사진 등의 화상을 보관하고 전송하는 데 가장 널리 사용되는 파일 형식이다. 하지만 이 압축 방법은 문자, 선, 세밀한 격자 등 고주파 성분이 많은 이미지의 변환에서는 GIF나 PNG에 비해 불리하며, 나쁜 품질을 보이는 경우가 많다. JPEG 표준에도 비손실 압축 방법이 정의되어 있지만 특허 문제와 압축률 등의 이유로 잘 사용되지는 않으며, PNG 등의 비손실 압축을 지원하는 포맷을 많이 사용한다.

JPEG 표준

압축 과정 
JPEG 표준 안에는 많은 선택사항들이 있지만, 그중 대부분은 거의 사용되지 않는다. 아래 설명은 픽셀당 24비트 (빨강, 초록, 파랑 각 8비트씩)의 색상정보를 가진 데이터를 변환하는 일반적인 방법에 대한 간단한 설명이다. 아래 설명한 방식에선 손실 압축 방식을 사용한다.

색공간 변환 
우선 각 픽셀의 RGB 데이터를 YCbCr이라는 다른 색공간 데이터로 변환한다. 이 색공간은 NTSC나 PAL 방식의 컬러 텔레비전 전송에 쓰이는 색공간과 유사하다. Y 성분은 픽셀의 루마 정보를 가지고 있으며, Cb와 Cr 성분은 색차 정보(chroma components)를 가지고 있다. 사람의 눈이 색상 성분보다 휘도 성분에 더 민감하기 때문에 색상 정보를 더 많이 압축하기 위해서 YCbCr 색공간으로 변환한다.
색공간 변환 시 제한된 정밀도 (채널당 8 비트) 때문에 정보가 완전히 보전되지 않는다. 따라서 뒤에서 양자화를 전혀하지 않더라도 원본과 완전히 일치하지 않는다. 즉, JPEG 저장시 화질을 100%으로 하더라도 원본과 차이가 있게 된다.

크로마 서브샘플링 
때로는 Cb와 Cr 성분의 수를 줄인다. (이를 "다운 샘플링", 혹은 "크로마 서브샘플링"이라 한다.) 이어지는 설명은 각 성분에 대한 것으로, 성분별로 같은 절차가 진행된다.

양자화 
사람의 눈은 명도에 대해 비교적 넓은 영역에서 작은 차이를 구분할 수 있다. 그러나 고주파의 명도 변화에서는 그 구별 능력이 떨어진다. 이 사실에 근거하여 고주파 성분의 정보의 많은 부분은 버릴 수 있다. 이런 작업은 주파수 영역의 각 성분에 대해 특정 상수로 나누고 정수 몫만을 취함으로써 수행된다. 이 작업이 전체 압축 과정에서 가장 손실이 큰 부분이다. 이 방법으로 고주파 성분들은 거의 0이나 0에 근접한 양수, 혹은 음수가 된다. (여기서 말하는 주파수는 전자기파의 주파수를 말하는 것이 아니라, 데이터를 격자 상에 늘어 놓았을 때의 공간적인 변화를 말하는 것에 주의한다.) 그런데 정지 영상의 특성상 평균적으로 픽셀값이 확 변하는 곳이 적다(에너지 집중 현상으로 인해 대부분 저주파수에 모여있다. 그래서 양자화를 할 때 가중치 양자화를 적용함으로써 에너지가 큰 저주파는 많이 살려내고, 에지가 거의 없어서 잘라내도 총합 에너지엔 거의 차이가 없는 고주파를 많이 제거한다.).

엔트로피 부호화 
이 과정은 비손실 압축 방식으로서, 8×8 격자의 성분들을 저주파부터 지그재그로 일렬로 세운 뒤. 반복된 0에만 RLE를 적용하고, 그 결과들에 대해 허프만 부호화를 한다. 표준은 허프만 부호화 대신에 더 압축률이 좋은 산술 부호화도 가능하다고 기술하지만 산술 코딩은 인코딩, 디코딩시의 지연, 경제성 등의 이유를 들어 잘 쓰이지 않는다.

압축 해제 과정 
압축 해제된 JPEG 데이터를 얻는 과정은 압축 과정을 역으로 취함으로써 이루어진다.

규격서 
규격은 합동 그룹에서 만들어졌기 때문에, ISO와 ITU-T 양측에서 나오고 있다.
 ITU-T권고 T.81
 JIS X 4301
 ISO/IEC 10918-1:1994

같이 보기 

 JPEG 2000
 MPEG
 VCEG

각주

외부 링크 
 JPEG Standard (JPEG ISO/IEC 10918-1 ITU-T Recommendation T.81) at W3.org
 JPEG compression and decompression on GPU.

 
ISO 표준
그래픽 파일 포맷
오픈 포맷
화상 압축
손실 압축 알고리즘
ITU-T 권고