최근 수정 시각 : 2019-06-17 21:54:27

JPEG

JPG에서 넘어옴
나무위키에 개별 문서가 있는 그래픽 포맷 목록
비트맵 APNG, AVIF, BMP, BPG, DDS, DNG, EXR, GIF, HEIF, JPEG, PNG, PSD, RAW, RGBE, TIFF, WebP
벡터 AI, CDR, SVG
비디오 AVI, BIK, FLV, mkv, MOV, MP4, MPEG, WebM, WMV


1. 뜻2. 특징
2.1. 정보 손실2.2. 작은 용량2.3. 이중 압축2.4. 순차 주사2.5. Motion JPEG
3. 유용한 웹 사이트4. 그 외
4.1. 웹 문화4.2. 압축률 향상을 위한 노력

1.

Joint Photograph Experts Group의 약자로, 제이펙이라고 발음한다. 그림 파일 형식의 하나.

정지 화상을 위해서 만들어진 손실 압축, 무손실 압축(JPEG 9.1부터) 방법 표준이다. 이 표준은 ISO와 ITU-T에서 제정하였다.(ISO 10918-1, 한국어 설명)

JPEG를 사용하는 파일 형식들도 보통 JPEG 이미지라 불리며, .jpg, .jpeg, .jpe, .jfif 등의 확장자를 사용한다.

JPEG 표준은 이미지가 어떻게 연속된 바이트로 바뀌는 지만을 규정한다. 독립 JPEG 그룹(Independent JPEG Group; IJG)에서 만든 JPEG의 확장인 JFIF(JPEG File Interchange Format)는 JPEG 스트림을 저장과 전송에 적합한 형태로 담는 이미지 파일 형식이다. 디지털 카메라의 사진 저장 방식으로는 다른 확장인 EXIF JPEG 형식이 더 자주 사용된다. 일반적으로 JPEG 파일이라고 할 때는 JFIF 형식이거나 EXIF JPEG 형식을 가리키지만, JNG와 같은 JPEG 기반의 다른 파일 형식도 있다.

2. 특징

2.1. 정보 손실

파일:external/hbfs.files.wordpress.com/jpeg_compression.jpg
흔히 이미지가 '깨진다', 또는 '사이버풍화', '디지털 풍화'라고 말하는 현상.jpg

JPEG/JFIF는 웹 상에서 사진 등의 화상을 보관하고 전송하는 데 가장 널리 사용되는 파일 형식이다. 압축 과정은 YIQ모델로 변환 → Macroblock화 → 8×8블록화 → 이산 코사인 변환 → 양자화[1] → 지그재그 스캐닝 → 엔트로피 코딩의 단계를 거친다. 이 중에서 양자화 과정이 유일하게 되돌릴 수 없는 과정으로, 이 과정에서 일부 데이터가 소실된다. 때문에 이 압축 방법은 인물이나 풍경 사진에는 쓸만할지 몰라도, 문자, 선, 세밀한 격자 등 고주파 성분이 많은 이미지의 변환에서는 GIFPNG에 비해 불리하며, 나쁜 품질을 보이는 경우가 많다.

현재는 JPEG 표준에도 비손실 압축 방법이 정의되어 있지만, 사실 원래 손실 압축 전용 규격이며 이를 대체하기 위한 손실/비손실 통합 규격이 이미 2000년대 초(JPEG 2000)와 2006년(JPEG XR)에 제안된 바 있다.[2] 비손실 JPEG 표준(9.1)은 저 둘이 실패한 후 2014년에야 나왔다(JPEG 최초버전은 1992년 생이다!). 아마 새로운 이름으로 보급이 안 되니깐 기존이 쓰던 이름 그대로 버전업 형식으로 추가하면 그나마 보급이 되지 않을까 싶어 시도한 것으로 보이지만, 특허 문제와 압축률 등의 이유로 잘 사용되지는 않으며, 비손실 압축 형식을 쓰려는 사람은 PNG 등의 비손실 압축 전용 포맷을 많이 사용한다.[3] 반대로 9.1 이전 JPEG으로 비손실 저장을 하는 방법도 있지만, 이쪽은 압축과정 대부분을 생략하는 편법에 가까워서 포맷만 JPEG이지 압축률 문제가 극심하다. 현재 손실/비손실 통합 포맷 중 그나마 쓰이는 편인 건 구글이 밀어주는 WebP(2010년) 정도이다.

사진을 압축할 목적으로 개발한 알고리즘이기 때문에 복잡한 패턴과 색상이 포함될수록 손실을 으로 감지하기 어려워진다. 쉬운 예로 단색이나 뚜렷한 윤곽선을 가지는 그래픽을 JPEG 압축하면 색이 뭉개지며 흩뿌려지거나 윤곽선 주위에 노이즈가 낀다.[4]

품질 설정이 낮을수록 과감하게 손실시키면서 압축하기 때문에 적당히 낮은 값으로 고정되어 설정 자체를 보여주지도 않는 그림판 같은데서 이 포맷으로 저장하면 아름답게 도트가 뭉개지고 색이 갈변하는 것을 볼 수 있다.(...)[5] 그리고 DSLR을 사용하는 사람들은 JPEG보다는 raw 이미지를 사용하고, 인쇄 출판 계통쪽 사람들은 TIFF, EPS 포맷을, 웹에서 무손실 포맷이 필요할 때는 PNG를 많이 쓰는 편. JPEG로 저장할 때 최상 퀄리티로 설정해두면 그만큼 압축률은 떨어지지만 손실도 적어져서 포토샵 기준 품질 12[6]정도 되면 웬만큼 확대해서 비교해도 무손실인 것처럼 보이는 수준이긴 한데, JPEG 9.1이 아닌 이상 아무리 높은 퀄리티로 해도 손실이 없어지진 않는다.

JPEG를 쓸 때 빨간색이 들어가는 이미지라면 다른 포맷을 쓰는 것이 좋다. 빨간색이 특히 잘 무너진다. 또한 흰색의 녹화 현상도 심하다. 인코더 설정에서 1:1 서브샘플링(4:4:4 컬러 서브 샘플링 또는 픽셀 서브샘플링 없음) 설정이 가능하면 전혀 일어나지 않는 현상이다. 물론 용량 증가[7]는 감수해야 한다.

JPEG로 저장된 파일을 불러와서 편집하고, 다시 JPEG 형식으로 저장하면 그림이 한 층 더 뭉개진다(…). 손실 압축 포맷 자체의 특성상 당연한 얘기지만.... 따라서 JPEG로 그림을 보관하는 경우에는 편집을 대비해서 원본을 별도로 보관할 필요가 있다.

2.2. 작은 용량

작은 용량 덕분에 각종 웹 사이트들이 가장 좋아하는 업로드 확장자의 하나이다. 특히 대부분 국내 웹 사이트들은 이미지 업로드시 강제적으로 JPEG나 GIF 혹은 PNG 형식 파일만 업로드 하게 지정해놓고 있다. 이유는 딱 하나. 용량이 작으니까.[8] 그 중에서도 JPG 확장자를 제일 선호하는 듯 싶다.

2.3. 이중 압축

손실 압축을 하는데도, 한 번 더 (무손실)압축할 수 있는 프로그램이 있다. (Winzip, Stuffit, PackJPG) 단, 고유 파일형식을 사용하기 때문에 똑같은 프로그램이 없으면 압축 해제가 안된다.

2.4. 순차 주사

순차 주사(Progressive)를 지원한다. 이걸 쓸 경우 웹상에서 로딩 방식이 달라지고[9] 포토샵 기준으로 파일 용량이 10% 가량 줄어드는 장점이 있다. 다만 저장할 때마다 세팅을 일일이 해야 하는 귀찮음이 있다(...).

2.5. Motion JPEG

이 JPEG 기술을 이용해서 나온 동영상 파일 포맷이 Motion JPEG로, QuickTime Player에 처음 채용했다. MPEG과는 달리, 여러 프레임 사이의 압축을 하지 않기 때문에 MPEG보다 더 용량이 크다.

의외로 여러 군데서 쓰였는데, 플레이스테이션의 동영상 포맷으로 사용되었다. 일부 디지털 카메라로 동영상을 촬영하면 이 포멧으로 인코딩 된다.

여담으로 JPEG Still Image라고도 한다.

3. 유용한 웹 사이트

만일 JPEG로 인한 화질 저하가 없으면서, 파일 용량을 줄이길 바라면 http://www.jpegmini.com 이 사이트에서 변환하면 된다. 사진 크기나 기타 다른 변환 없이 용량만 줄여준다. 다만, 업로드 시 JPEG 확장자만 지원한다. 그 말인 즉슨, 변환 할 파일도 이미 화질을 손실시킬 수밖에 없는 의미..?!

위 사이트랑은 정반대로, 화질이 손실되는 확장자라는 걸 조크로 삼아 이미지 화질을 확 내리는 needs more jpeg 라는 사이트도 존재한다. 레딧에서도 봇이 존재한다.
파일:external/9a28a539f36d05e9fe754b47ed4cf3479d5896640ff0c407e75244098587f355.jpg
Need more jpeg에서 변환한 이미지(...)

4. 그 외

4.1. 웹 문화

  • 디시인사이드에선 주로 jyp라 불리고 있다.
  • 디시인사이드에서 시작된 것인데, 언젠가부터 글 제목 뒤에 '****.jpg'가 붙어있는 글들이 생겨나기 시작했다.(ex : XXX 근황.jpg) 이것은 그 게시물의 내용이 그림이 주가 된다는 것을 제목에서부터 전달하려고 만들어진 것이다. 물론 이를 악용해서 낚시를 하는 경우도 많다. 또, 이와 비슷한 '.hwajilguji'와 '.gisa'도 언제부터 쓰인다.
  • 영미권에서는 'JPEG'를 /제이펙/으로 읽는다. 한국에서는 /제이피이쥐/로 읽는 것이 압도적.
  • JPG = Japan Girl이라는 드립이 있다.

4.2. 압축률 향상을 위한 노력

  • 웹에서 가장 많이 쓰이고 있어 동일 화질 기준 좀 더 크기를 작게(동일 용량 기준 화질이 좋게) 하기 위한 연구가 많이 있다. 대표적인 것이 모질라의 프로젝트인 mozjpeg # 와 구글의 Guetzli가 있다.
  • mozjpeg는 약 10% 정도 더 작게 압축을 한다고 한다.
  • Guetzli는 약 35% 정도 더 작게 압축을 할 수 있다고 하는데, 문제는 압축 속도가 250배 이상 느리다. 심지어 저 속도는 mozjpeg 기준이다! mozjpeg도 포크 원본인 libjpeg-turbo[10]에 비해 느리다고 많이 까인 걸 생각하면 충격과 공포 수준...# (댓글들 참고)
  • mozjpeg가 더 먼저 나왔고 평가도 더 좋은 편이다. JPEG의 원래 용도(사진이나 고해상도 게임 그래픽 등 복잡한 패턴과 색상을 압축할 때)에서 체감 화질 대비 압축률이 매우 좋은 편이다. 반면 Guetzli는 단색이나 뚜렷한 윤곽선을 가지는 그래픽에서 JPEG 특유의 단점을 덜 드러내는 편인데, 그런 경우 차라리 WebPPNG를 쓰는 게 나은 경우가 많다. WebP야 차기 포맷이라 당연히 우수해야 하고, 어디까지나 차기 치곤 많이 쓰이는 편이고 아직 은근히 지원 안 되는 곳이 많다지만, PNG에게도 까이는 상황은...[11] 1, 2, 3, 4
  • 윈도우 사용자를 위한 GUI 변환기는 mozjpeGUI(mozjpeg), XnView(Guetzli)를 사용하는 것이 가장 편리하다. #


[1] Quantization, 계수화라고도 한다.[2] 반디집으로 유명한 키플러님이 2007년 당시 관련 프로그램을 만들면서 소개한 글이 있다.[3] PNG도 Opus 비슷한 방식으로 손실 압축을 하는 게 가능하지만, 별도 유틸을 이용한 개조이지 포맷 자체는 비손실만 정의하고 있다. 음악 쪽으로는 손실 FLAC이 비슷한 처지[4] 이 때문에 배경을 따는 데 애로사항이 생긴다. 여기서 나온 것이 디자이너를 괴롭히는 방법이다(...).[5] 그림판을 열어 빨간색으로 선을 쭉 그은뒤 저장해보자. 갈색이 된다.[6] 프리셋 맥스가 아니다! 프리셋 맥스는 품질 10인 점을 조심. 포토샵은 품질 12가 최대이다. 100을 최대값으로 쓰는 프로그램들과 혼동하지 않도록 주의할 것.[7] 용량이 정해진 상황이라면 결국 다른 측면에서 화질 열화가 일어난다[8] 보안적인 이유도 있다. 웹셸이나 XSS 등 서버나 클라이언트에 악영향을 주는 파일의 업로드를 원천적으로 차단하기 위함이다.[9] 저해상도의 이미지를 앞서 보여준 다음 점점 해상도를 높이는 방식으로 로딩된다.[10] 제일 원조는 libjpeg/SIMD이고, libjpeg/SIMD와 libjpeg-turbo 모두 SIMD 및 최신 CPU기술 활용을 통한 속도 향상에 중점을 두고 있다.[11] 사실 해당 상황은 소스 자체에 대한 JPEG의 한계이기 때문에 mozjpeg도 PNG에게 까이는 건 마찬가지다. 진짜 문제는 Guetzli는 너무 느리다. mozjpeg 정도의 느린 거야 최신 CPU의 힘으로 웃어넘길 수 있는 수준인 반면, Guetzli은 어지간한 HD급 게임 스크린샷 한 장 변환하는데도 몇 분이 걸릴 정도로 정말 한참 걸린다(...)