JPEG

위키백과, 우리 모두의 백과사전.
(JFIF에서 넘어옴)

JPEG
JPEG 압축의 화질 비교. 오른쪽에서 왼쪽으로 갈수록 압축률이 높은 대신 화질 손상이 많이 일어난다
파일 확장자.jpg, .jpeg, .jpe
.jif, .jfif, .jfi
인터넷 미디어 타입
image/jpeg
타입 코드JPEG
UTIpublic.jpeg
매직 넘버ff d8 ff
개발합동 사진 전문가 단체, IBM, 미츠비시 일렉트릭, AT&T, 캐논[1]
발표일1992년 9월 18일(31년 전)(1992-09-18)
포맷 종류손실 이미지 포맷
표준ISO/IEC 10918, ITU-T T.81, ITU-T T.83, ITU-T T.84, ITU-T T.86
웹사이트www.jpeg.org/jpeg/

제이펙(Joint Photographic Experts Group; JPEG [ˈdʒeɪpɛɡ][*], 문화어: 합동사진전문가단체[2])은 정지 화상을 위해서 만들어진 손실 압축 방법 표준이다. 이 표준은 ISOITU-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는 상에서 사진 등의 화상을 보관하고 전송하는 데 가장 널리 사용되는 파일 형식이다. 하지만 이 압축 방법은 문자, 선, 세밀한 격자 등 고주파 성분이 많은 이미지의 변환에서는 GIFPNG에 비해 불리하며, 나쁜 품질을 보이는 경우가 많다. JPEG 표준에도 비손실 압축 방법이 정의되어 있지만 특허 문제와 압축률 등의 이유로 잘 사용되지는 않으며, PNG 등의 비손실 압축을 지원하는 포맷을 많이 사용한다.

JPEG 표준[편집]

정적 이미지의 디지털 압축 및 코딩 – 파트[3][4][5]
파트 ISO/IEC 표준 ITU-T Rec. 최초 출시일 마지막 개정일 제목
Part 1 ISO/IEC 10918-1:1994 T.81 (09/92) 1992/9/18 Requirements and guidelines
Part 2 ISO/IEC 10918-2:1995 T.83 (11/94) 1994/11/11 Compliance testing
Part 3 ISO/IEC 10918-3:1997 T.84 (07/96) 1996/7/3 1999/4/1 Extensions
Part 4 ISO/IEC 10918-4:1999 T.86 (06/98) 1998/6/18 2012/6/29 Registration of JPEG profiles, SPIFF profiles, SPIFF tags, SPIFF colour spaces, APPn markers, SPIFF compression types and Registration Authorities (REGAUT)
Part 5 ISO/IEC 10918-5:2013 T.871 (05/11) 2011/5/14 JPEG File Interchange Format (JFIF)
Part 6 ISO/IEC 10918-6:2013 T.872 (06/12) 2012/6 Application to printing systems

압축 과정[편집]

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

색공간 변환[편집]

우선 각 픽셀의 RGB 데이터를 YCbCr이라는 다른 색공간 데이터로 변환한다. 이 색공간은 NTSCPAL 방식의 컬러 텔레비전 전송에 쓰이는 색공간과 유사하다. 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

같이 보기[편집]

각주[편집]

  1. “T.81 – DIGITAL COMPRESSION AND CODING OF CONTINUOUS-TONE STILL IMAGES – REQUIREMENTS AND GUIDELINES” (PDF). CCITT. September 1992. 2019년 7월 12일에 확인함. 
  2. 북한자료센터: 남북한 IT용어 비교[깨진 링크(과거 내용 찾기)]
  3. ISO/IEC JTC 1/SC 29. “Programme of Work, (Allocated to SC 29/WG 1)”. 2013년 12월 31일에 원본 문서에서 보존된 문서. 2009년 11월 7일에 확인함. 
  4. JPEG. “Joint Photographic Experts Group, JPEG Homepage”. 2009년 11월 8일에 확인함. 
  5. ISO. “JTC 1/SC 29 – Coding of audio, picture, multimedia and hypermedia information”. 2009년 11월 7일에 확인함. 

외부 링크[편집]