JPEG
JPEG파일 이름 확장명 | .jpg , .jpeg , .jpe .jif , .jfif , .jfi |
---|---|
인터넷 미디어 유형 | 이미지/jpeg |
유형코드 | JPEG |
동일 유형 식별자(UTI) | public.jpeg |
매직넘버 | ff d8 ff |
개발자 | 공동 사진 전문가 그룹, IBM, 미쓰비시 전기, AT&T, 캐논,[1] ITU-T 연구 그룹 16 |
초기 릴리즈 | 1992년 9월 18일; | 전
형식 유형 | 로시 이미지 압축 형식을 갖추다 |
표준 | ITU-T.81, ITU-T T.83, ITU-T T.84, ITU-T T.86, ISO/IEC 10918 |
웹사이트 | www |
JPEG 또는 JPG(/ˈdʒeɪpɛ/JAY-peg)[2]는 디지털 이미지, 특히 디지털 사진에서 생성된 이미지들에 대해 일반적으로 사용되는 손실 압축 방법이다. 압축 정도를 조정할 수 있어 스토리지 크기와 이미지 품질 사이에서 선택할 수 있다. JPEG는 일반적으로 영상 화질에서 감지할 수 있는 손실이 거의 없는 10:1 압축을 달성한다.[3] JPEG는 1992년 도입 이후 세계에서 가장 널리 사용되는 이미지 압축 표준이자 가장 [4][5][6]널리 사용되는 디지털 이미지 포맷으로 2015년 현재 매일 수십억 장의 JPEG 이미지가 생산되고 있다.[7]
'JPEG'라는 용어는 1992년 이 표준을 만든 '공동사진전문가그룹'의 이니셜리즘/어법이다. JPEG의 기본은 1972년 나시르 아흐메드가 처음 제안한 손실 이미지 압축 기술인 [1]이산 코사인 변환(DCT)이다.[8] JPEG는 인터넷과 소셜 미디어에 디지털 이미지와 디지털 사진의 확산에 크게 기여했다.[9]
JPEG 압축은 많은 이미지 파일 형식에서 사용된다. JPEG/Exif는 디지털 카메라 및 기타 사진 이미지 캡처 장치가 사용하는 가장 일반적인 이미지 형식이며, JPEG/JFIF와 함께 World Wide Web에서 사진 이미지를 저장하고 전송하는 가장 일반적인 형식이다.[10] 이러한 형식 변화는 종종 구별되지 않으며, 간단히 JPEG라고 불린다.
JPEG의 MIME 미디어 유형은 JPEG 이미지를 업로드할 때 MIME 유형의 이미지/pjpeg를 제공하는 이전 Internet Explorer 버전을 제외하고 image/jpeg이다.[11] JPEG 파일에는 일반적으로 파일 이름 확장자가 .jpg
또는 .jpeg
. JPEG/JFIF는 최대 영상 크기가 65,535×65,535 픽셀이므로 최대 4기가픽셀까지 지원한다.[12] 2000년에 JPEG 그룹은 후속 모델인 JPEG 2000을 목표로 하는 형식을 도입했지만, 기존의 JPEG를 지배적인 이미지 표준으로 대체할 수는 없었다.[13]
역사
배경
1992년에 발행된 JPEG 원본 규격은 CCITT(현재의 ITU-T, ITU-T Study Group 16을 통한 ITU-T)와 공동 사진 전문가 그룹이 인용한 다양한 초기 연구 논문 및 특허의 과정을 구현한다.[1] JPEG의 손실 압축 알고리즘의 주요 근거는 1972년 나시르 아흐메드가 이미지 압축 기법으로 처음 제안한 이산 코사인 변환(DCT)이다.[1][14][8][14] 아흐메드는 1973년 캔자스 주립대학의 T. 나타라얀, 알링턴에 있는 텍사스 대학의 K. R. 라오 등과 함께 실용적인 DCT 알고리즘을 개발했다.[8] 그들의 1974년 논문은[15] JPEG 규격에 인용되어 있으며, 1977년 Wen-Hsiung Chen, C.H. Smith, S.C.의 논문을 포함하여 DCT에 대해 더 많은 연구를 수행한 몇 개의 후기 연구 논문도 포함되어 있다. N.J. Narasinha와 S.C.의 1978년 논문뿐만 아니라 [1][16]빠른 DCT 알고리즘을 설명한 프랄릭. 프랄릭, 그리고 1984년 B.G. 리가 쓴 논문.[1] 명세서는 또한 양자화 알고리즘에 대한 영향으로서 W.K.Pratt와 W.Hsiung Chen의 1984년 논문을 인용하고 있으며,[1][17] David A도 인용하고 있다. 허프먼의 1952년 논문 허프먼 코딩 알고리즘.[1]
JPEG 규격은 여러 회사의 특허를 인용하고 있다. 다음의 특허는 산술 코딩 알고리즘의 기초를 제공했다.[1]
- IBM
- 미국 특허 4,652,856 – 1986년 2월 4일 – Kotappuram M. A. Mohiuddin 및 Jorma J. Rissanen – 곱셈 없는 다중 알파벳 산술 코드
- 미국 특허 4,905,297 – 1990년 2월 27일 – G. 랭던, J.L. 미첼, W.B. 펜네베이커, 조마 J. 리사넨 – 산술 코딩 인코더 및 디코더 시스템
- 미국 특허 4,935,882 – 1990년 6월 19일 – W.B. 펜네베이커 및 J.L. 미첼 – 산술 코더의 확률 적응
- 미쓰비시 전기
- JP H02202267 (1021672) – 1989년 1월 21일 – 기무라 도시히로, 키노 시게노리, 오노 후미타카, 요시다 마사유키 – 코딩 시스템
- JP H03247123(2-46275) – 1990년 2월 26일 – 오노 후미타카, 기무라 도모히로, 요시다 마사유키, 키노 시게노리 – 코딩 기구 및 코딩 방법
JPEG 규격에는 IBM의 다른 특허 3건도 인용되어 있다. 특허권자로 거론되는 다른 기업으로는 AT&T(특허 2건)와 캐논이 있다.[1] 1986년 10월 압축연구소의 원 흐엉 첸과 다니엘 J. 클렌케가 출원한 미국 특허권 469만8672건은 이 목록에 없다. 이 특허는 DCT 기반 이미지 압축 알고리즘을 기술하며, 이후 2002년에 논란의 원인이 될 것이다(아래 특허 논란 참조).[18] 그러나 JPEG 명세서는 1977년과 1984년에 발표된 천원웅 연구 논문의 두 개의 초기 논문을 인용했다.[1]
JPEG 표준
"JPEG"는 JPEG 표준을 만든 위원회의 이름인 "Joint Photography Experts Group"과 다른 스틸 사진 코딩 표준을 의미한다. "조인트"는 ISO TC97 WG8 및 CCITT SGVIII를 나타낸다. 1986년에 설립된 이 단체는 1980년대 후반에 JPEG 표준을 개발했다. 그들이 조사한 몇 가지 변환 코사인 변환 기법 중에서, 그들은 이산 코사인 변환(DCT)을 선택했는데, 그것은 지금까지 가장 효율적인 실제 압축 기법이었기 때문이다. 이 단체는 1992년에 JPEG 표준을 발표했다.[5]
In 1987, ISO TC 97 became ISO/IEC JTC1 and, in 1992, CCITT became ITU-T. Currently on the JTC1 side, JPEG is one of two sub-groups of ISO/IEC Joint Technical Committee 1, Subcommittee 29, Working Group 1 (ISO/IEC JTC 1/SC 29/WG 1) – titled as Coding of still pictures.[19][20][21] ITU-T측에서는 ITU-T SG16이 각각의 주체다. 원래의 JPEG 그룹은 1986년에 [22]조직되어 1992년에 최초의 JPEG 표준을 발행하였으며, 1992년 9월에는 ITU-T 권장 T.81로[23], 1994년에는 ISO/IEC 10918-1로 승인되었다.
JPEG 표준은 코덱을 지정하는데, 코덱은 이미지를 바이트 스트림으로 압축한 후 다시 압축하여 이미지로 압축하는 방법을 정의하지만, 해당 스트림을 포함하는 데 사용되는 파일 형식은 정의하지 않는다.[24] Exif와 JFIF 표준은 JPEG 압축된 이미지의 교환을 위해 일반적으로 사용되는 파일 형식을 정의한다.
JPEG 표준은 공식적으로 정보 기술 – 연속 톤 스틸 이미지의 디지털 압축 및 코딩으로 명명된다. ISO/IEC 10918은 다음과 같은 부분으로 구성된다.
부분 | ISO/IEC 표준 | ITU-T rec. | 첫 공개일 | 최근 수정안 | 제목 | 설명 |
---|---|---|---|---|---|---|
1부. | ISO/IEC 10918-1:1994 | T.81(09/92) | 1992년 9월 18일 | 요구사항 및 지침 | ||
2부. | ISO/IEC 10918-2:1995 | T.83(11/94) | 1994년 11월 11일 | 컴플라이언스 테스트 | 소프트웨어 적합성(Part 1에 대한 규칙 및 점검) | |
3부. | ISO/IEC 10918-3:1997 | T.84(07/96) | 1996년 7월 3일 | 1999년 4월 1일 | 확장 | SPIFF(Still Picture Interchange File Format)를 포함하여 Part 1을 개선하기 위한 확장자 세트.[26] |
4부. | ISO/IEC 10918-4:1999 | T.86(06/98) | 1998년 6월 18일 | 2012년 6월 29일 | JPEG 프로파일, SPIFF 프로파일, SPIFF 태그, SPIFF 색상 공간, APPn 마커, SPIFF 압축 유형 및 등록 기관(REGAUT) 등록 | JPEG 확장에 사용되는 일부 매개 변수를 등록하는 방법 |
5부 | ISO/IEC 10918-5:2013 | T.871(05/11) | 2011년 5월 14일 | JPEG 파일 교환 형식(JFIF) | JPEG 표준으로 인코딩된 이미지의 사실상의 파일 형식인 널리 사용되는 형식. 2009년, JPEG 위원회는 공식적으로 JFIF를 JPEG Part 5로 표준화하기 위해 애드혹 그룹을 설립하였다.[27] | |
6부 | ISO/IEC 10918-6:2013 | T.872(06/12) | 2012년 6월 | 인쇄 시스템에 적용 | 인쇄를 위해 ISO/IEC 10918-1에 따라 인코딩된 이미지를 교환하기 위한 기능 및 응용 도구의 하위 집합을 지정한다. | |
7부 | ISO/IEC 10918-7:2019 | T.873(05/19) | 2019년 5월 | 연속 톤 정지 이미지의 디지털 압축 및 코드화 | 권장 ITU-T T.81 – ISO/IEC 10918-1에 명시된 코딩 기술에 대한 참조 소프트웨어를 제공한다. 참조 구현은 인코더를 제공하지만 인코딩 프로세스의 적합성 시험은 이 규격의 범위를 벗어난다. |
Ecma International /98은 JPEG File Interchange Format(JFIF)을 지정하며, 2009년 6월에 초판이 발행되었다.[28]
특허논란
2002년에, Eudent Networks는 JPEG 기술에 대한 특허권을 소유했고, 1986년 10월 27일에 출원되어 1987년 10월 6일에 특허권을 부여받은 특허로부터 비롯되었다: 압축 연구소의 Wen-Hsiung Chen과 Daniel J. Klenke에 의한 미국 특허 4,698,672.[18][29] 당시 Guardent가 Compression Labs를 소유하지 않았지만, Chen은 Cisco에서 일하기 전에 나중에 Guardent에 Compression Labs를 판매했다. 이는 유던트가 특허에 대한 소유권을 획득하는 결과로 이어졌다.[18] 2002년 포던트의 발표는 유니시스가 GIF 이미지 압축 표준에 대한 권리를 주장하려는 시도를 연상시키는 분노를 일으켰다.
JPEG 위원회는 2002년 특허청구를 조사하여 선행기술에 의해 무효화되었다는 의견을 제시하였는데,[30] 이는 여러 전문가들의 공통된 견해였다.[18][31] 특허는 나시르 아흐메드, T. 나타라얀, K. R. 라오의 1974년 논문에서 유래한 손실 이미지 압축 기술인 [18]이산 코사인 변환(DCT)을 기반으로 한 이미지 압축 알고리즘을 기술하고 있다.[1][14][15] Wen-Hsiung Chen은 C.H. Smith와 S.C.와 함께 1977년 논문에서 빠른 DCT 알고리즘을 설명하면서 DCT 기법을 더욱 발전시켰다. 프랄릭[16][18] 1992년 JPEG 규격은 DCT 알고리즘에 대한 1974년 아흐메드 논문과 1977년 첸 논문, 정량화 알고리즘에 대한 첸과 W.K. 프라트의 1984년 논문을 모두 인용하였다.[1][17] 압축연구소는 첸이 설립한 회사로 DCT 기술을 최초로 상용화한 기업이다.[32] 첸이 1986년 클렌케에 DCT 기반 이미지 압축 알고리즘에 대한 특허를 출원했을 때, 후에 JPEG 표준이 될 대부분의 것들은 이미 이전 문헌에서 공식화되었다.[18] JPEG 대표 리처드 클라크도 첸 자신이 JPEG 위원회 중 한 곳에 앉았다고 주장했지만, 용서ent는 이 주장을 부인했다.[18]
2002년과 2004년 사이에, Fordent는 30여 개 회사에 그들의 특허를 허가함으로써 약 1억 500만 달러를 획득할 수 있었다. 2004년 4월, Gudent는 추가 라이센스 지불을 강제하기 위해 다른 31개 회사를 고소했다. 같은 해 7월 21개 대형 컴퓨터 업체 컨소시엄이 특허 무효화를 목표로 맞소송을 제기했다. 또 마이크로소프트는 2005년 4월 유던트를 상대로 별도의 소송을 시작했다.[33] 2006년 2월 미국 특허상표국은 공공특허재단의 요청에 따라 Fordent의 JPEG 특허를 재검토하기로 합의했다.[34] 2006년 5월 26일, USPTO는 선행기술에 근거한 특허가 무효라고 판단했다. USPTO는 또한 Fordent가 선행기술에 대해 알고 있었지만 의도적으로 특허청에 알리지 않았다는 것을 발견했다. 이것은 특허권 복원에 대한 어떤 호소도 성공할 가능성이 매우 낮다.[35]
Forident 또한 1994년에 유럽특허청에서 부여한 유사한 특허를 가지고 있지만, 그것이 얼마나 집행 가능한지는 확실하지 않다.[36]
2006년 10월 27일 현재, 미국 특허의 20년 임기는 만료된 것으로 보이며, 2006년 11월, Forident는 JPEG 표준의 사용에 대한 특허 청구권의 집행을 포기하기로 합의하였다.[37]
JPEG 위원회는 자사의 표준(특히 기준 방법)을 라이센스 수수료 지불 없이 구현할 수 있다는 명백한 목표의 하나로 20개 이상의 대형 조직으로부터 JPEG 2000 표준에 대한 적절한 라이센스 권한을 확보했다.[citation needed]
2007년 8월부터, 또 다른 회사인 글로벌 특허 홀딩스, LLC는 1993년에 발행된 특허(미국 특허 5,253,341)가 JPEG 이미지를 웹사이트나 이메일로 다운로드함으로써 침해된다고 주장했다. 무효화되지 않으면 이 특허는 JPEG 영상을 표시하는 모든 웹사이트에 적용될 수 있다. 이 특허는 2000년부터 2007년까지 미국 특허청(United Office)에서 재심사를 받았으며, 2007년 7월 특허청은 이 특허의 원래 주장을 모두 취소했지만 글로벌 특허홀딩스(Global Extent Holdings)가 제안한 추가 청구(청구 17)가 유효하다는 사실을 밝혀냈다.[38] 이어 글로벌특허홀딩스는 자사 특허 17건을 청구해 다수의 소송을 제기했다.
미국 일리노이주 시카고에서 열린 글로벌 특허홀딩스(Global Extremit Holdings)의 재심사에 이은 첫 2건의 소송에서 둘 다 그린베이 패커스(Green Bay Packers), CDW(CDW), 모토로라(Motorola), 애플(Approtz), 오피스테맥스(ORitz), 오스테맥스(Offeremax), 캐터필러), 캐터필러(Catter), 크래터), 크라프트(Craftraftraf 2007년 12월 5일, 사우스 플로리다에서는 ADT 보안 서비스, 오토네이션, 플로리다 크리스털 주식회사, HearUSA, MovieTickets.com, Ocwen Financial Corporation, 타이어 킹덤을 상대로 한 세 번째 소송이 제기되었고, 2008년 1월 8일에는 사우스 플로리다에서 보카 라톤 리조트 & 클럽을 상대로 한 네 번째 소송이 제기되었다. 네바다의 글로벌 특허 홀딩스를 상대로 다섯 번째 소송이 제기되었다. 이 소송은 글로벌 특허홀딩스로부터 위협을 받은 것으로 알려진 주식회사 아마존닷컴이 제기한 것으로, '341 특허는 무효하며 침해되지 않는다'는 사법적 선언을 청구했다.
글로벌 특허 홀딩스는 또한 그레고리 아하로니안과[39] "특허 트롤 추적기"로 알려진 웹사이트의 익명 운영자를 포함한 광범위한 소프트웨어 특허에 대한 비판자들을 고소하거나 위협하기 위해 341 특허권을 사용했다.[40] 2007년 12월 21일, 시카고의 특허 변호사 버논 프랜시센은 미국 특허청에 '341 특허'의 유일한 잔여 주장을 새로운 선행기술에 기초하여 재검토해 줄 것을 요청했다.[41]
2008년 3월 5일, 미국 특허청은 '341 특허'를 재검토하기로 합의하여, 새로운 선행기술이 특허의 유효성과 관련하여 상당한 새로운 문제를 제기한다는 것을 발견했다.[42] 재심의를 고려해 미 특허청(특허청)의 '341호 특허 심사'가 끝날 때까지 소송 보류(스테이)를 청구한 소송 5건 중 4건이다. 2008년 4월 23일, 일리노이주 시카고에서 두 건의 소송을 주재하는 한 판사가 이 사건들의 소송을 허가했다.[43] 2008년 7월 22일 특허청은 19개의 별도 근거에 근거하여 청구가 무효라고 판단하여 2차 재심의 「사무처 조치」를 제1호 발행하였다.[44] 2009년 11월 24일, 모든 청구를 취소하는 재심사 증명서가 발급되었다.
2011년부터 2013년 초까지 동부 텍사스에 [45]본사를 둔 프린스턴 디지털 이미지 코퍼레이션으로 알려진 한 회사는 미국 특허 4,813,056건을 침해한 혐의로 많은 회사를 고소하기 시작했다. 프린스턴은 JPEG 이미지 압축 표준이 '056년' 특허를 침해하고 다수의 웹사이트, 소매업체, 카메라 및 장치 제조업체, 리셀러를 고소했다고 주장한다. 이 특허는 원래 제너럴 일렉트릭에 소유되어 할당되었다. 특허는 2007년 12월에 만료되었지만 프린스턴은 이 특허에 대한 "과거 침해"로 많은 기업을 고소했다. (미국 특허법에 따르면, 특허 소유자는 소송 제기 6년 전까지 "과거 침해"로 소송을 제기할 수 있으므로, 프린스턴은 이론적으로 2013년 12월까지 회사를 계속 고소할 수 있다. 프린스턴은 2013년 3월 현재 55개 이상의 회사를 상대로 뉴욕과 델라웨어에 소송이 계류 중이다. 법원 기록에 따르면 2009년 프린스턴에 특허를 배당하고 특허에 대한 일정한 권리를 보유하고 있다고 나와 있지만 제너럴 일렉트릭의 소송 개입 여부는 알려지지 않았다.[46]
일반적인 사용법
JPEG 압축 알고리즘은 톤과 색상의 매끄러운 변형을 가진 사진과 그림에서 최상으로 작동한다. 컬러 및 그레이스케일 스틸 이미지에는 가장 잘 사용되지만 바이너리 이미지에는 사용되지 않는다. 응답성 프리젠테이션을 위해 이미지에 사용되는 데이터 양을 줄이는 것이 중요한 웹 사용의 경우, JPEG의 압축 이점은 JPEG를 인기 있게 만든다.[47] JPEG/Exif는 디지털 카메라가 저장하는 가장 일반적인 형식이기도 하다.[48]
그러나 JPEG는 선 도면과 인접한 픽셀 간의 날카로운 대비가 눈에 띄는 아티팩트를 유발할 수 있는 기타 텍스트 그래픽 또는 상징 그래픽에는 적합하지 않다. 이러한 이미지는 TIFF,[48] GIF, PNG와 같은 무손실 그래픽 포맷으로 더 잘 저장되며, JPEG 표준은 무손실 코딩 모드를 포함하지만, 다른 무손실 포맷에 비해 압축 방식의 열등감 때문에 많은 제품에서 지원되지 않는다. ISO는 그러한 목적을 위해 JPEG-LS라는 자체적인 파일 형식을 개발했다.[47]
JPEG는 영상 충실도를 떨어뜨리는 손실 압축 방식이기 때문에 영상 데이터의 정확한 복제(일부 과학 및 의료 영상 애플리케이션, 특정 기술 영상 처리 작업 등)에 적합하지 않다. 또한 JPEG 파일은 이미지를 다시 압축할 때마다 일부 이미지 품질이 손실되므로 여러 편집 작업을 수행하기에 적합하지 않다. 자세한 내용은 디지털 생성 손실 참조. 순차적이고 반복적인 편집 중에 이미지 정보 손실을 방지하기 위해 첫 번째 편집은 무손실 형식으로 저장한 후 그 형식으로 편집한 후 최종적으로 배포를 위해 JPEG로 게시할 수 있다.[48]
JPEG 압축
JPEG는 이산 코사인 변환(DCT)에 기초한 손실 형태의 압축을 사용한다. 이 수학적 연산은 공간(2D) 영역에서 비디오 소스의 각 프레임/필드를 주파수 영역(예: 변환 도메인)으로 변환한다. 인간의 정신운동적 시스템에 느슨하게 기반을 둔 지각 모델은 고주파 정보, 즉 강도의 급격한 전환과 색조를 무시한다. 변환 도메인에서, 정보를 줄이는 과정을 정량화라고 한다. 간단히 말해서, 정량화는 큰 수 척도(각 숫자의 발생이 서로 다른)를 더 작은 수 척도로 최적으로 줄이는 방법이며, 변환 영역은 다른 계수보다 전체적인 그림에 덜 기여하는 고주파 계수가 특징이기 때문에 이미지를 편리하게 표현하는 방법이다.소형 트럭을 높은 압착성으로 연결하다 그런 다음 정량화된 계수를 시퀀싱하고 출력 비트스트림에 무손실 포장한다. JPEG의 거의 모든 소프트웨어 구현은 사용자가 압축 비율에 대한 사용자 제어(다른 선택적 매개 변수뿐만 아니라)를 허용하므로 사용자는 화질을 작은 파일 크기로 교환할 수 있다. 임베디드 애플리케이션(예: 유사한 DCT-압축 체계를 사용하는 miniDV)에서는 파라미터가 애플리케이션에 대해 미리 선택되고 고정된다.
압축 방법은 일반적으로 손실되므로 원본 영상 정보가 손실되어 복원할 수 없으므로 이미지 품질에 영향을 줄 수 있다. JPEG 표준에 정의된 옵션 무손실 모드가 있다. 그러나 이 모드는 제품에서는 널리 지원되지 않는다.[47]
또한 데이터가 점진적으로 높은 세부사항의 다중 통과로 압축되는 인터레이스 프로그레시브 JPEG 형식도 있다. 이는 느린 연결을 통해 다운로드하는 동안 표시되는 대형 이미지에 이상적이며, 데이터의 일부만 수신한 후 합리적인 미리보기가 가능하다. 그러나, 진보적인 JPEG에 대한 지원은 보편적이지 않다. 윈도우 7 이전의 Internet Explorer 버전과 같이 이를 지원하지 않는 프로그램에서 프로그레시브 JPEG를 수신하면 소프트웨어는 이미지를 완전히 다운로드한 후에만 표시한다.[49]
무손실 편집
영상 크기가 1MCU 블록(최소 코드화된 단위)의 배수(보통 양방향 16픽셀, 4:2:0 크로마 서브샘플링의 경우)인 한 JPEG 영상에 대한 많은 변경을 손실 없이 수행할 수 있다. 이를 구현하는 유틸리티는 다음과 같다.
- Jpegtran과 그 GUI인 Jpegcrop.
- IrfanView는 JPG_TRANSFORM 플러그인을 설치해야 하는 "JPG 무손실 크롭(PlugIn)"과 "JPG 무손실 회전(PlugIn)"을 사용한다.
- "Rossless Crop to File" 및 "JPEG Rossless Rotate"를 사용하는 FastStone 이미지 뷰어.
- "JPEG 무손실 변환"을 사용한 XnViewMP.
- ACDSee는 "Force Rossless JPEG operation" 옵션으로 무손실 회전(무손실 JPEG operation)을 지원한다.
블록은 90도 단위로 회전할 수 있으며 수평, 수직, 대각선 축에서 플립할 수 있으며 영상에서 이리저리 이동할 수 있다. 원본 이미지의 모든 블록을 수정된 블록에 사용할 필요는 없다.
JPEG 영상의 상단 및 왼쪽 가장자리는 8 × 8 픽셀 블록 경계 위에 놓여야 하지만 하단 및 오른쪽 가장자리는 그럴 필요가 없다. 이는 가능한 무손실 작물 작업을 제한하며, 하단 또는 오른쪽 가장자리가 모든 채널의 블록 경계 위에 있지 않은 이미지의 플립과 회전을 방지한다(가장자리가 위에서 언급한 바와 같이 블록 경계는 필수 사항이기 때문이다).
(크롬 하위 샘플링에 따라) 영상 너비와 높이가 8 또는 16의 배수가 아닌 회전은 무손실이 아니다. 이러한 이미지를 회전하면 블록이 다시 계산되어 품질이 저하된다.[50]
무손실 자르기 사용 시, 자르기 영역의 하단 또는 우측이 블록 경계 위에 있지 않을 경우 부분적으로 사용된 블록의 나머지 데이터는 자르기된 파일에 남아 복구될 수 있다. 파일에 계수가 배치되는 순서가 차이뿐이기 때문에 품질 손실 없이 기준선 형식과 프로그레시브 형식 간 변환도 가능하다.
또한, 동일한 품질로 저장되고 가장자리가 블록 경계와 일치한다면, 몇 개의 JPEG 영상은 손실 없이 결합될 수 있다.
JPEG 파일
"JPEG Interchange Format"(JIF)으로 알려진 파일 형식은 이 표준의 부속서 B에 명시되어 있다. 그러나 이러한 "순수" 파일 형식은 주로 표준의 모든 측면을 완전히 구현하는 프로그래밍 인코더와 디코더의 어려움 및 표준의 특정 단점 때문에 거의 사용되지 않는다.
이러한 문제를 해결하기 위해 몇 가지 추가 표준이 진화되었다. 1992년에 출시된 이 중 첫 번째 것은 JPEG 파일 교환 포맷(또는 JFIF)이었고, 최근에는 Exchangeable 이미지 파일 포맷(Exif)과 ICC 색상 프로필이 그 뒤를 이었다. 이 두 형식 모두 다른 마커로 구성된 실제 JIF 바이트 레이아웃을 사용하지만, 또한 JIF 표준의 확장 지점 중 하나인 응용 프로그램 마커: JFIF는 APP0을 사용하는 반면, Exif는 APP1을 사용한다. JIF 표준에서 향후 사용을 위해 남겨 두었으며, JIF 표준에 의해 읽히지 않은 파일의 이러한 세그먼트 내에서, 이 표준들은 특정 메타데이터를 추가한다.
따라서 JIFF는 어떤 면에서는 일정한 제약조건(모든 다른 인코딩 모드를 허용하지 않는 등)을 명시한다는 점에서 JIF 표준의 축소판인 반면, 어떤 면에서는 추가된 메타데이터로 인한 JIF의 확장판이다. 원본 JFIF 표준에 대한 문서에는 다음과 같이 명시되어 있다.[51]
JPEG 파일 교환 형식은 JPEG 비트스트림을 다양한 플랫폼과 애플리케이션 간에 교환할 수 있는 최소 파일 형식이다. 이 최소 형식에는 TIFF JPEG 규격에서 찾을 수 있는 고급 기능이나 애플리케이션별 파일 형식이 포함되지 않는다. 또한, 이러한 단순화된 형식의 유일한 목적은 JPEG 압축 영상을 교환하는 것이다.
JPEG 압축을 사용하는 이미지 파일은 일반적으로 "JPEG 파일"이라고 하며, JIF 이미지 형식의 변형으로 저장된다. JPEG를 출력하는 대부분의 이미지 캡처 장치(디지털 카메라 등)는 실제로 카메라 업계가 메타데이터 교환을 위해 표준화한 포맷인 엑시프 포맷으로 파일을 만들고 있다. 한편, Exif 표준은 컬러 프로필을 허용하지 않기 때문에 대부분의 이미지 편집 소프트웨어는 JPEG를 JFIF 형식으로 저장하고, 또한 거의 호환되는 방식으로 메타데이터를 포함시키기 위해 Exif 파일에서 APP1 세그먼트를 포함하고 있다. JFIF 표준은 다소 유연하게 해석된다.[52]
엄밀히 말하면, 각각 마커 세그먼트(APP0 또는 APP1)를 먼저 표시하도록 지정하기 때문에 JFIF와 Exif 표준은 양립할 수 없다. 실제로 대부분의 JPEG 파일에는 Exif 헤더 앞에 있는 JFIF 마커 세그먼트가 포함되어 있다. 이것은 나이든 독자들이 이전의 형식인 JFIF 세그먼트를 올바르게 다룰 수 있게 하는 반면, 새로운 독자들은 또한 다음 Exif 세그먼트를 디코딩하여, 먼저 나타나도록 요구하는 것에 대해 덜 엄격하다.
JPEG 파일 이름 확장명
JPEG 압축을 사용하는 파일의 가장 일반적인 파일 이름 확장자는 및 , 그러나 .jpe
, .jfif
그리고 .jif
또한 사용된다. 또한 JPEG 데이터가 다른 파일 형식에 내장될 수도 있다. TIFF 인코딩된 파일들은 종종 주 이미지의 축소판 그림으로 JPEG 이미지를 포함하고 MP3 파일은 ID3v2 태그에 커버 아트의 JPEG를 포함할 수 있다.
색 프로필
많은 JPEG 파일에는 ICC 색상 프로파일(색상 공간)이 포함되어 있다. 일반적으로 사용되는 색 프로필에는 sRGB와 Adobe RGB가 포함된다. 이러한 색상 공간은 비선형 변환을 사용하기 때문에, 8비트 JPEG 파일의 동적 범위는 약 11 정지다. 감마선을 참조한다.
구문 및 구조
JPEG 영상은 각 마커로 시작하는 일련의 세그먼트로 구성되며, 각 마커는 0xFF 바이트로 시작하고, 그 다음 마커의 종류를 나타내는 바이트로 구성된다. 어떤 마커는 단지 2바이트로 구성되며, 다른 마커는 2바이트(높음에서 낮음)가 뒤따르며, 이는 마커 특유의 페이로드 데이터의 길이를 나타낸다. (길이에는 길이에 대한 2바이트가 포함되지만 마커에 대한 2바이트는 포함되지 않는다.) 일부 마커는 엔트로피 코드 데이터가 뒤따른다. 이러한 마커의 길이는 엔트로피 코드 데이터를 포함하지 않는다. 연속 0xFF 바이트는 패딩을 위한 채우기 바이트로 사용되지만 이 채우기 바이트 패딩은 엔트로피 코드 스캔 데이터 직후 마커에 대해서만 수행되어야 한다(자세한 내용은 JPEG 사양 섹션 B.1.1.2 및 E.1.2 참조). 특히 "압축된 데이터 뒤에 마커가 추가되는 모든 경우 옵션 0xFF 채우기 바이트가 마커 앞에 있을 수 있음").
엔트로피 코드 데이터 내에서는 0xFF 바이트 이후 다음 바이트 이전에 인코더에 의해 0x00 바이트를 삽입하여, 0x00 바이트가 없는 곳에 마커가 나타나지 않도록 하여 프레임 오류를 방지한다. 디코더는 이 0x00 바이트를 건너뛰어야 한다. 바이트 스터핑(JPEG 규격 섹션 F.1.2.3 참조)이라고 하는 이 기법은 페이로드 데이터를 표시하지 않고 엔트로피 코드 데이터에만 적용된다. 그러나 엔트로피 코드화된 데이터에는 고유의 몇 가지 마커가 있다는 점에 유의하십시오. 특히, 병렬 디코딩을 허용하기 위해 엔트로피 코드 데이터의 독립적인 청크를 분리하는 데 사용되는 재설정 마커(0xD0 ~ 0xD7)와 인코더는 이러한 재설정 마커를 정기적으로 삽입할 수 있다(모든 인코더가 이렇게 하는 것은 아님).
단축명 | 바이트 | 페이로드 | 이름 | 평. |
---|---|---|---|---|
SOI | 0xFF, 0xD8 | 없는 | 이미지 시작 | |
SOF0 | 0xFF, 0xC0 | 가변 사이즈 | 프레임 시작(기본선 DCT) | 이것이 기준 DCT 기반 JPEG임을 나타내며, 폭, 높이, 성분 수 및 성분 서브샘플링(예: 4:2:0)을 지정한다. |
SOF2 | 0xFF, 0xC2 | 가변 사이즈 | 프레임 시작(진행 DCT) | 이것이 프로그레시브 DCT 기반 JPEG임을 나타내며, 폭, 높이, 성분 수, 성분 서브샘플링(예: 4:2:0)을 지정한다. |
DHT | 0xFF, 0xC4 | 가변 사이즈 | Huffman 테이블 정의 | 하나 이상의 Huffman 테이블을 지정하십시오. |
DQT | 0xFF, 0xDB | 가변 사이즈 | 수량화 테이블 정의 | 하나 이상의 정량화 테이블을 지정하십시오. |
DRI | 0xFF, 0xDD | 4바이트 | 재시작 간격 정의 | 최소 코드화된 단위(MCU)에서 RSTn 마커 사이의 간격을 지정하십시오. 이 마커 다음에 고정 크기를 나타내는 2바이트가 나타나므로 다른 변수 크기 세그먼트처럼 취급할 수 있다. |
SOS | 0xFF, 0xDA | 가변 사이즈 | 스캔 시작 | 이미지의 상하좌우 스캔을 시작한다. 기준 DCT JPEG 영상에는 일반적으로 단일 스캔이 있다. 진행형 DCT JPEG 영상에는 일반적으로 여러 스캔이 포함되어 있다. 이 마커는 어떤 데이터 조각을 포함할지를 지정하며, 바로 엔트로피 코드 데이터가 뒤따른다. |
RSTn | 0xFF, 0xDn(n=0..7) | 없는 | 다시 시작 | 모든 r 매크로 블록을 삽입하며, 여기서 r은 DRI 마커에 의해 설정된 재시작 간격이다. DRI 마커가 없는 경우 사용되지 않음. 0에서 7 사이의 값으로 마커 코드 주기의 낮은 3비트. |
APPN | 0xFF, 0xEn | 가변 사이즈 | 응용 프로그램별 | 예를 들어 Exif JPEG 파일은 APP1 마커를 사용하여 TIFF를 기반으로 한 구조로 배열된 메타데이터를 저장한다. |
COM | 0xFF, 0xFE | 가변 사이즈 | 댓글 | 텍스트 주석을 포함한다. |
EOI | 0xFF, 0xD9 | 없는 | 이미지 끝 |
다른 종류의 JPEG 인코딩을 도입하는 Start Of Frame 마커도 있다.
여러 벤더가 동일한 APPN 마커 유형을 사용할 수 있으므로 애플리케이션별 마커는 표준 또는 벤더 이름(예: "Exif" 또는 "Adobe") 또는 기타 식별 문자열로 시작하는 경우가 많다.
재시작 마커에서는 블록 대 블록 예측 변수가 재설정되고 비트스트림이 바이트 경계로 동기화된다. 재시작 마커는 신뢰할 수 없는 네트워크를 통한 전송이나 파일 손상과 같은 비트스트림 오류 후 복구 수단을 제공한다. 재시작 마커 사이의 매크로 블록 실행은 독립적으로 디코딩될 수 있으므로, 이러한 실행은 병렬로 디코딩될 수 있다.
JPEG 코덱 예제
JPEG 파일은 다양한 방법으로 인코딩할 수 있지만, 가장 일반적으로 JFIF 인코딩으로 이루어진다. 인코딩 프로세스는 다음과 같은 몇 단계로 구성된다.
- 영상의 색채 표현은 밝기를 나타내는 1개의 루마 성분(Y')과 색을 나타내는 2개의 크로마 성분(C와B CR)으로 구성된 Y′CC로BR 변환된다. 이 단계는 때때로 건너뛰기도 한다.
- 크로마 데이터의 분해능은 보통 2 또는 3의 인수로 감소한다. 이는 미세한 밝기 디테일에 비해 미세한 색 디테일에 눈이 덜 민감하다는 점을 반영한 것이다.
- 영상은 8×8픽셀의 블록으로 분할되며, 각 블록에 대해 Y, CB, C 데이터는R 각각 이산 코사인 변환(DCT)을 거친다. DCT는 일종의 공간 주파수 스펙트럼을 생성한다는 점에서 푸리에 변환과 유사하다.
- 주파수 성분의 진폭을 정량화한다. 인간의 시력은 고주파 밝기 변동의 강도보다 넓은 영역에 대한 색상이나 밝기의 작은 변화에 훨씬 더 민감하다. 따라서 고주파 성분의 크기는 저주파 성분보다 낮은 정확도로 저장된다. 인코더의 품질 설정(예: 독립형 JPEG 그룹의 라이브러리에서[54] 0–100 척도의 50 또는 95)은 각 주파수 성분의 분해능이 어느 정도 감소하는지에 영향을 미친다. 지나치게 낮은 품질 설정을 사용할 경우 고주파 구성 요소는 모두 폐기된다.
- 모든 8×8 블록에 대한 결과 데이터는 허프만 인코딩의 변형인 무손실 알고리즘으로 더욱 압축된다.
해독 과정은 되돌릴 수 없기 때문에 정량화를 제외하고 이러한 단계를 역전시킨다. 이 절의 나머지 부분에서는 인코딩 및 디코딩 프로세스가 더 자세히 설명되어 있다.
인코딩
JPEG 표준의 많은 옵션은 일반적으로 사용되지 않으며, 위에서 언급한 바와 같이 대부분의 이미지 소프트웨어는 JPEG 파일을 생성할 때 보다 간단한 JFIF 형식을 사용하며, 무엇보다도 인코딩 방법을 지정한다. 다음은 픽셀당 24비트(빨간색, 녹색, 파란색 각각 8개)의 입력에 적용할 때 보다 일반적인 인코딩 방법 중 하나에 대한 간략한 설명이다. 이 특정 옵션은 손실 데이터 압축 방법이다.
색 공간 변환
첫째, 이미지는 RGB에서 Y′CCBR(또는 비공식적으로 YCbCr)라고 하는 다른 색 공간으로 변환되어야 한다. Y, CB, C 세R 가지 성분을 가지고 있다: Y' 성분은 픽셀의 밝기를 나타내고, C와B CR 성분은 색도(파란색 및 적색 성분의 분할)를 나타낸다. 이는 기본적으로 비디오 DVD를 포함한 디지털 비디오뿐만 아니라 디지털 컬러 텔레비전에서 사용되는 색 공간과 동일하며, 아날로그 PAL 비디오와 MAC에서 색상이 표현되는 방식과 유사하다(그러나 YQ 색 공간을 사용하는 아날로그 NTSC에서는 그렇지 않다). Y′CCBR 색 공간 변환은 지각 영상 화질(또는 동일한 압축에 대한 더 큰 지각 영상 화질)에 큰 영향을 미치지 않고 더 큰 압축을 가능하게 한다. 영상의 궁극적인 지각 품질에 더 중요한 밝기 정보가 단일 채널에 국한되기 때문에 압축이 더 효율적이다. 이것은 인간의 시각 체계에서 색의 지각에 더욱 밀접하게 대응된다. 색 변환은 또한 통계적 장식에 의해 압축을 개선한다.
Y′CC로의BR 특정 변환은 JFIF 표준에 명시되어 있으며, 결과 JPEG 파일이 최대 호환성을 갖도록 수행되어야 한다. 그러나 "최고 품질" 모드의 일부 JPEG 구현은 이 단계를 적용하지 않고 RGB 색상 모델에 색상 정보를 유지하며,[55] RGB 색상은 적색, 녹색 및 청색 밝기 구성요소를 위해 별도의 채널에 저장된다. 따라서 압축 효율성이 떨어지고 파일 크기가 특히 중요한 경우에는 사용되지 않을 수 있다.
다운샘플링
인간의 눈에 있는 색과 밝기에 민감한 수용체의 밀도 때문에 인간은 이미지의 색과 색 포화(Cb와 Cr 성분)보다 이미지의 밝기(Y' 성분)에서 상당히 미세한 디테일을 볼 수 있다. 이 지식을 이용하여 인코더는 이미지를 더 효율적으로 압축하도록 설계될 수 있다.
Y′CCBR 컬러 모델로의 변환은 Cb와 Cr 컴포넌트의 공간 분해능("다운샘플링" 또는 "크롬아 서브샘플링"이라 함)을 감소시키는 다음 통상적인 단계를 가능하게 한다. 일반적으로 JPEG 영상에 대해 다운샘플링이 수행되는 비율은 4:4:4(다운샘플링이 없음), 4:2:2:2(수평방향에서 2배 감소), 또는 (가장 일반적으로) 4:2:0(수평방향과 수직방향 모두에서 2배 감소)이다. 나머지 압축 공정의 경우 Y', Cb, Cr은 매우 유사한 방식으로 별도로 처리된다.
블록 분할
서브샘플링 후 각 채널은 8×8 블록으로 분할해야 한다. 이는 크로마 서브샘플링에 따라 크기가 8×8(4:4:4 – 서브샘플링 없음), 16×8(4:2:2) 또는 가장 일반적으로 16×16(4:2:0)인 최소코드단위(MCU) 블록을 산출한다. 비디오 압축에서 MCU는 매크로블록이라고 불린다.
채널 데이터가 블록의 정수 수를 나타내지 않는 경우 인코더는 불완전한 블록의 나머지 영역을 어떤 형태의 더미 데이터로 채워야 한다. 가장자리를 고정된 색상(예: 검은색)으로 채우면 테두리의 가시적인 부분을 따라 울리는 아티팩트가 생성될 수 있으며, 가장자리 픽셀을 반복하는 것은 그러한 아티팩트를 줄인(그러나 반드시 제거할 필요는 없음) 일반적인 기법이며, 보다 정교한 테두리 채우기 기법도 적용할 수 있다.
이산 코사인 변환
다음으로, 각 구성요소(Y, Cb, Cr)의 8×8 블록은 표준화된 2차원 타입 II 이산 코사인 변환(DCT)을 사용하여 주파수 영