[include(틀:그래픽 포맷)] [목차] == 개요 == Joint Photograph Experts Group의 약자로, [[그림]] [[확장자|파일 형식]]의 하나다. == 상세 == '''제이펙'''(J(제이), PEG(펙))이 공식 발음이지만 '제피이지'라고 발음하는 사람도 있다. 정지 화상을 위해서 만들어진 손실 압축, 무손실 압축(JPEG 9.1부터) 방법 표준이다. 이 표준은 [[ISO]]와 ITU-T에서 제정하였다.([[http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=10918|ISO 10918-1]], [[https://www.kssn.net/StdKS/KS_detail.asp?k1=X&k2=ISO/IEC%2010918-1_2001&k3=1|한국어 설명]]) JPEG를 사용하는 파일 형식들도 보통 JPEG 이미지라 불리며, .jpg, .jpeg, .jpe, .jfif 등의 [[확장자]]를 사용한다. 이름 바꾸기로 확장자를 바꿔도 문제가 없다. JPEG 표준은 이미지가 어떻게 연속된 바이트로 바뀌는지만을 규정한다. 그 외 확장 방식(아마도 컨테이너 방식)에 따라 아래와 같은 몇가지 유형이 나뉘어진다. * EXIF-JPEG: [[디지털 카메라]]의 사진 저장 방식이다. EXIF 방식의 [[메타데이터]]를 포함하여 사진을 찍은 시간, GPS, 카메라 정보 등을 기록한다. * JFIF: JPEG File Interchange Format으로, 인터넷에서 스트림 전송[* 일반적으로 스트림 전용 방식이라면 파일 전송이 완료되기 전에 메타데이터를 먼저 전송해서 파일 정보를 일찍 확인할 수 있게 만들고, 네트워크 환경이 불안정해서 전송이 일부 끊겨도 처음부터 다시 전체 파일을 받을 필요 없이 패킷을 관리할 수 있게 구조를 짜는 등의 기술이 들어간다.]에 적합한 형태로 이미지를 담는 파일 형식이다. 독립 JPEG 그룹(Independent JPEG Group; IJG)에서 만들었다. * 그 외: JNG와 같은 파일 형식도 있다. == 특징 == === 정보 손실 === [[파일:external/hbfs.files.wordpress.com/jpeg_compression.jpg]] 흔히 이미지가 '깨진다', 또는 '사이버풍화', '[[디지털 풍화]]'라고 말하는 현상. JPEG/JFIF는 웹 상에서 사진 등의 화상을 보관하고 전송하는 데 가장 널리 사용되는 파일 형식이다. 압축 과정은 [[YUV|YIQ]]모델로 변환 → Macroblock화 → 8×8블록화 → [[이산 코사인 변환]] → 양자화[* Quantization, 계수화라고도 한다.] → 지그재그 스캐닝 → 엔트로피 코딩의 단계를 거친다. 이 중에서 '''양자화 과정이 유일하게 되돌릴 수 없는 과정'''으로, 이 과정에서 일부 데이터가 소실된다. 때문에 이 압축 방법은 인물이나 풍경 사진에는 쓸만할지 몰라도, 문자, 선, 세밀한 격자 등 고주파 성분이 많은 이미지의 변환에서는 [[GIF]]나 [[PNG]]에 비해 불리하며, 나쁜 품질을 보이는 경우가 많다. 현재는 JPEG 표준에도 비손실 압축 방법이 정의되어 있지만, 사실 원래 손실 압축 전용 규격이며 이를 대체하기 위한 손실/비손실 통합 규격이 이미 2000년대 초(JPEG 2000)와 2006년(JPEG XR)에 제안된 바 있다.[* [[반디집]]으로 유명한 키플러님이 2007년 당시 관련 프로그램을 만들면서 [[https://kippler.com/doc/jpeg2000_vs_jpegxr/|소개한 글]]이 있다.] 비손실 JPEG 표준(9.1)은 저 둘이 실패한 후 2014년에야 나왔다(JPEG 최초버전은 1992년 생이다!). 아마 새로운 이름으로 보급이 안 되니깐 기존이 쓰던 이름 그대로 버전업 형식으로 추가하면 그나마 보급이 되지 않을까 싶어 시도한 것으로 보이지만, 특허 문제와 압축률 등의 이유로 잘 사용되지는 않으며, 비손실 압축 형식을 쓰려는 사람은 [[PNG]] 등의 비손실 압축 전용 포맷을 많이 사용한다.[* PNG도 [[Opus(오디오 코덱)|Opus]] 비슷한 방식으로 손실 압축을 하는 게 가능하지만, 별도 유틸을 이용한 개조이지 포맷 자체는 비손실만 정의하고 있다. 음악 쪽으로는 손실 FLAC이 비슷한 처지.] 반대로 9.1 이전 JPEG으로 비손실 저장을 하는 방법도 있지만, 이쪽은 압축과정 대부분을 생략하는 편법에 가까워서 포맷만 JPEG이지 압축률 문제가 극심하다. 현재 손실/비손실 통합 포맷 중 그나마 쓰이는 편인 건 [[구글]]이 밀어주는 [[WebP]](2010년) 정도이다. [[사진]]을 압축할 목적으로 개발한 [[알고리즘]]이기 때문에 복잡한 패턴과 색상이 포함될수록 손실을 [[눈(신체)|눈]]으로 감지하기 어려워진다. 쉬운 예로 단색이나 뚜렷한 윤곽선을 가지는 그래픽을 JPEG 압축하면 색이 뭉개지며 흩뿌려지거나 윤곽선 주위에 노이즈가 낀다.[* 이 때문에 배경을 따는 데 애로사항이 생긴다. 여기서 나온 것이 [[디자이너를 괴롭히는 방법]]이다(...).] 품질 설정이 낮을수록 '''과감하게''' 손실시키면서 압축하기 때문에 적당히 낮은 값으로 고정되어 설정 자체를 보여주지도 않는 [[그림판]] 같은데서 이 포맷으로 저장하면 아름답게 도트가 뭉개지고 색이 갈변하는 것을 볼 수 있다.(...)[* 그림판을 열어 빨간색으로 선을 쭉 그은뒤 저장해보자. 갈색이 된다.] 그리고 [[DSLR]]을 사용하는 사람들은 JPEG보다는 [[RAW(파일)|raw]] 이미지를 사용하고, 인쇄 출판 계통쪽 사람들은 [[TIFF]], [[EPS]] 포맷을, 웹에서 무손실 포맷이 필요할 때는 [[PNG]]를 많이 쓰는 편. JPEG로 저장할 때 최상 퀄리티로 설정해두면 그만큼 압축률은 떨어지지만 손실도 적어져서 포토샵 기준 품질 12[* 프리셋 맥스가 아니다! 프리셋 맥스는 품질 10인 점을 조심. 포토샵은 품질 12가 최대이다. 100을 최대값으로 쓰는 프로그램들과 혼동하지 않도록 주의할 것.][* 웹용으로 저장(Ctrl+Shift+Alt+S)을 쓰는 경우 품질을 100단계로 설정 가능하다.]정도 되면 웬만큼 확대해서 비교해도 무손실인 것처럼 보이는 수준이긴 한데, JPEG 9.1이 아닌 이상 아무리 높은 퀄리티로 해도 손실이 없어지진 않는다. JPEG를 쓸 때 빨간색이 들어가는 이미지라면 다른 포맷을 쓰는 것이 좋다. 빨간색이 특히 잘 무너진다. 또한 흰색의 녹화 현상도 심하다. 인코더 설정에서 1:1 서브샘플링(4:4:4 컬러 서브 샘플링 또는 픽셀 서브샘플링 없음) 설정이 가능하면 전혀 일어나지 않는 현상이다. 물론 용량 증가[* 용량이 정해진 상황이라면 결국 다른 측면에서 화질 열화가 일어난다.]는 감수해야 한다. JPEG로 저장된 파일을 불러와서 편집하고, 다시 JPEG 형식으로 저장하면 그림이 한 층 더 뭉개진다(…). [[손실 압축 포맷]] 자체의 특성상 당연한 얘기지만... 따라서 JPEG로 그림을 보관하는 경우에는 편집을 대비해서 원본을 별도로 보관할 필요가 있다. === 작은 용량 === 작은 용량 덕분에 각종 웹 사이트들이 가장 좋아하는 업로드 확장자의 하나이다. 특히 대부분 국내 웹 사이트들은 이미지 업로드시 강제적으로 JPEG나 GIF 혹은 PNG 형식 파일만 업로드 하게 지정해놓고 있다. 이유는 딱 하나. 용량이 작으니까.[* 보안적인 이유도 있다. 웹셸이나 XSS 등 서버나 클라이언트에 악영향을 주는 파일의 업로드를 원천적으로 차단하기 위함이다.] 그 중에서도 JPG 확장자를 제일 선호하는 듯 싶다. === 이중 압축 === 손실 압축을 하는데도, 한 번 더 (무손실)압축할 수 있는 프로그램이 있다. ([[WinZip]], [[Stuffit]], [[PackJPG]]) 단, 고유 파일형식을 사용하기 때문에 똑같은 프로그램이 없으면 압축 해제가 안된다. === 순차 주사 === 순차 주사(Progressive)를 지원한다. 이걸 쓸 경우 웹상에서 로딩 방식이 달라지고[* 저해상도의 이미지를 앞서 보여준 다음 점점 해상도를 높이는 방식으로 로딩된다.] [[포토샵]] 기준으로 파일 용량이 10% 가량 줄어드는 장점이 있다. 다만 저장할 때마다 세팅을 일일이 해야 하는 귀찮음이 있다(...). === Motion JPEG === [include(틀:비디오 포맷)] 이 JPEG 기술을 이용해서 나온 [[동영상]] 파일 포맷이 Motion JPEG로, [[QuickTime Player]]에 처음 채용했다. MPEG과는 달리, 여러 프레임 사이의 압축을 하지 않기 때문에 MPEG보다 더 용량이 크다. 의외로 여러 군데서 쓰였는데, [[PlayStation|플레이스테이션]]의 동영상 포맷으로 사용되었다. 일부 디지털 카메라로 동영상을 촬영하면 이 포멧으로 인코딩 된다. 여담으로 JPEG Still Image라고도 한다. === JPEG2000 === 위 정보손실 문단에서 언급된 방식으로, 웨이블릿 변환(Wavelet Transform) 방식을 기반으로 한다. JPEG의 후계 포맷으로 고안되었다가 코덱이 지나치게 무거워서 보급에는 실패하였으나 '''사실상 디지털 영화의 표준'''인 [[DCP]]의 영상에서 쓰여 아주 중요한 포맷이 됐다. == 유용한 웹 사이트 == 만일 JPEG로 인한 화질 저하가 없으면서, 파일 용량을 줄이길 바라면 [[http://www.jpegmini.com|이 사이트]]에서 변환하면 된다. 사진 크기나 기타 다른 변환 없이 용량만 줄여준다. 다만, 업로드 시 JPEG 확장자만 지원한다. 위 사이트랑은 정반대로, 화질이 손실되는 확장자라는 걸 조크로 삼아 이미지 화질을 확 내리는 [[http://needsmorejpeg.com/|needs more jpeg]]라는 사이트도 존재한다. [[레딧]]에서도 봇이 존재한다. ||[[파일:9rkP2.jpg|width=200]]||[[파일:external/9a28a539f36d05e9fe754b47ed4cf3479d5896640ff0c407e75244098587f355.jpg|width=200]]|| Need more jpeg에서 변환한 이미지(...) ~~[[모자이크]]~~ == 그 외 == === 웹 문화 === * [[디시인사이드]]에서 시작된 것인데, 언젠가부터 글 제목 뒤에 '***.jpg'가 붙어 있는 글들이 생겨나기 시작했다(예시: XXX 근황.jpg). 이것은 그 게시물의 내용이 그림이 주임을 제목으로부터 전달하려고 만들어진 것이다. 이래야 조회수가 높아지기도 하고. 특히 [[국내야구 갤러리]] 같은 메이저 갤러리에선 거의 개념글 제목이 '.jpg'로 도배되어 있는 풍경을 볼 수도 있다(...). 물론 이를 악용해서 [[낚시(인터넷)|낚시]]하기도 한다. 또, 이와 비슷한 .txt 또는 '.[[만화|manhwa]]', '.[[썰|ssul]]'와 '.[[기사|gisa]]'와 같은 그냥 로마자 단어 하나를 넣는 것도(...) 언제부터인지 쓰이기 시작했다. '.jpg'와 '.gif'를 합친 '.jpgif'라는 변종도 있으며(예시: XXX 근황.jpgif), 바리에이션으로 '[[박진영|jyp]]'로 부르기도 한다. --이쯤이면 그냥 미친 거 같다.-- 그리고 [[리그 오브 레전드]] 유럽 리그인 LEC에서도 .jpg 드립을 썼다.[[https://twitter.com/LEC/status/1310933546471751681|deadlions.jpg]] 아래와 같이 영미권에서는 주로 jpeg으로 읽는 것을 생각하면.. * 제목에 '.JPG'를 붙이는 이유.JPG 가 있는데, 조회수와 추천수에서 큰 차이를 보인다. [[https://theqoo.net/square/1498713866|#]] * 영미권에서는 'JPEG'를 /제이펙/으로, 한 단어처럼 읽는다. 한국에서는 그냥 /제이피(이)쥐/로 약어를 하나씩 읽는 것이 압도적. * 'JPEG = [[일본인|'''J'''a'''p'''an'''e'''se]] [[소녀|'''G'''irl]]'이라는 드립이 있다. === 압축률 향상을 위한 노력 === * 웹에서 가장 많이 쓰이고 있어 동일 화질 기준 좀 더 크기를 작게(동일 용량 기준 화질이 좋게) 하기 위한 연구가 많이 있다. 대표적인 것이 모질라의 프로젝트인 [[https://research.mozilla.org/2014/03/05/introducing-the-mozjpeg-project/|mozjpeg]] [[https://en.wikipedia.org/wiki/Libjpeg#mozjpeg|#]] 와 구글의 Guetzli가 있다. * mozjpeg는 약 10% 정도 더 작게 압축을 한다고 한다. * Guetzli는 약 35% 정도 더 작게 압축을 할 수 있다고 하는데, 문제는 압축 속도가 250배 이상 느리다. 심지어 저 속도는 mozjpeg 기준이다! mozjpeg도 [[포크(동음이의어)#s-1.3|포크]] 원본인 libjpeg-turbo[* 제일 원조는 libjpeg/SIMD이고, libjpeg/SIMD와 libjpeg-turbo 모두 [[SIMD]] 및 최신 CPU기술 활용을 통한 속도 향상에 중점을 두고 있다.]에 비해 느리다고 많이 까인 걸 생각하면 [[충격과 공포]] 수준...[[https://windowsforum.kr/info/8395906|#]] (댓글들 참고) * mozjpeg가 더 먼저 나왔고 평가도 더 좋은 편이다. JPEG의 원래 용도(사진이나 고해상도 게임 그래픽 등 복잡한 패턴과 색상을 압축할 때)에서 체감 화질 대비 압축률이 매우 좋은 편이다. 반면 Guetzli는 단색이나 뚜렷한 윤곽선을 가지는 그래픽에서 JPEG 특유의 단점을 덜 드러내는 편인데, 그런 경우 차라리 [[WebP]]나 [[HEIF]], [[AVIF]], [[PNG]]를 쓰는 게 나은 경우가 많다. [[WebP]], [[HEIF]], [[AVIF]]야 차기 포맷이라 당연히 우수해야 하고, 어디까지나 [[WebP]]는 차기 치곤 많이 쓰이는 편이고 아직 은근히 지원 안 되는 곳이 많다지만, [[PNG]]에게도 까이는 상황은...[* 사실 해당 상황은 소스 자체에 대한 JPEG의 한계이기 때문에 mozjpeg도 PNG에게 까이는 건 마찬가지다. 진짜 문제는 Guetzli는 너무 느리다. mozjpeg 정도의 느린 거야 최신 CPU의 힘으로 웃어넘길 수 있는 수준인 반면, Guetzli은 어지간한 HD급 게임 스크린샷 한 장 변환하는데도 몇 분이 걸릴 정도로 정말 한참 걸린다(...)] [[http://teus.me/431|1]], [[http://teus.me/432|2]], [[http://lite.parkoz.com/zboard/view.php?id=express_freeboard2&no=429594|3]], [[http://lite.parkoz.com/zboard/view.php?id=express_freeboard2&no=429597|4]] * 윈도우 사용자를 위한 GUI 변환기는 mozjpeGUI(mozjpeg), iPress[[https://teus.me/463?category=402265|링크]][* 구라제거기 제작자가 만든 것.], [[소프트웨어/목록#s-15|XnView]](Guetzli)를 사용하는 것이 가장 편리하다. [[http://www.coolenjoy.net/bbs/37/198019|#]] [[분류:두문자어]][[분류:파일 형식]]