hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
1970년대 사건
1970년대는 1945년 이후 이어진 냉전의 한복판에 해당한다. 세계는 서방권과 공산권의 양진영과 비동맹주의 블럭으로 분할되었고 곳곳에서 전쟁이 있었다. 초강대국인 미국과 소련은 억지이론에 따라 핵무기 경쟁을 하면서도 핵전쟁으로 인한 공멸을 두려워하여 직접 충돌하지는 않았다. 대신 지구의 곳곳에서는 이들이 대립이 배경이 되는 대리전이 일어났다.
1970년대 사건
베트남 전쟁은 1975년 사이공 함락까지 계속되었다.
1979년 소련의 침공으로 시작된 소련–아프가니스탄 전쟁은 1989년까지 계속 되었다.
1975년 시작된 앙골라 내전은 신생독립국 앙골라에서 공산진영과 반공세력 사이에 벌어진 내전으로 세기를 바꾸어 2002년까지 지속되었다.
1967년 시작된 캄보디아 내전 역시 1975년까지 지속되었고 내전에서 승리한 크메르 루주는 수 많은 인명을 학살하여 캄포디아를 킬링필드로 바꾸었다.
1974년 시작된 에티오피아 내전 역시 이념 갈등을 배경으로 1991년까지 지속되었다.
1971년 시작된 방글라데시 독립전쟁의 결과 파키스탄은 서파키스탄과 동파키스탄으로 분리되었고 이후 서파키스탄은 파키스탄으로 동파키스탄은 방글라데시로 국명을 바꾸었다. 1971년 서파키스탄의 무자비한 집단 학살이 있었다.
1976년 판문점 도끼만행사건은 남북의 군사적 긴장을 크게 높인 사건이었다.
1970년대 사건
1970년대 전쟁의 또 다른 한 축은 종교나 민족을 앞세운 폭력 대결이었다.
영국으로부터 독립한 인도와 파키스탄은 지속적인 갈등을 보였고 1971년 인도가 방글라데시 독립전쟁에 개입함으로써 1971년 인도-파키스탄 전쟁이 일어났다.
이스라엘 건국 이후 지속된 아랍-이스라엘 분쟁은 1970년대에도 계속되었다. 1973년 이집트의 공격으로 시작된 욤키푸르 전쟁은 양측 모두 큰 희생을 치른 뒤 정전 협정을 맺었지만, 아랍 석유 수출국 기구가 전쟁 당시 이스라엘을 지원한 나라에 대해 석유 금수 조치를 내리면서 1973년 석유 위기가 발생하였다. 이후 세계는 간간이 자원 무기화에 따른 위기를 겪고 있다.
1974년 튀르키예는 키프로스를 침략하여 북부 지역을 점령하였다.
1975년 인도네시아는 동티모르를 점령하였다.
1975년 시작된 레바논 내전은 1990년까지 이어졌고 다종교 다문화 사회인 레바논 내의 종교적 갈등 격화를 가져왔다. 레바논 내전은 또한 냉전에 따른 초강대국의 대리전 양상을 띄기도 하였다.
1977년 소말리아의 에티오피아 침공으로 오가덴 전쟁이 일어났다. 지역 패권을 두고 일어난 이 전쟁에서 소련과 쿠바가 에티오피아를 지원하였고 그 결과 소말리아는 패전 이후 소말리아 내전의 상황에 놓이게 되어 이후 오랫동안 제대로 된 중앙 정부가 없는 권력 공백을 겪게 되었다.
1978년 동아프리카의 패권을 두고 우간다-탄자니아 전쟁이 일어났다.
1970년대는 쿠데타에 의한 정변이 끊이지 않았다. 이러한 정변의 상당수는 미국이나 소련이 배후에 있었다.
1970년대의 영화 산업은 뉴 헐리우드로 대표되는 미국 영화의 세계적 흥행과 홍콩 영화, 일본 영화와 같은 아시아지역 영화들의 독특한 발전이 있었다.
JPEG
제이펙(Joint Photographic Experts Group; JPEG [ˈdʒeɪpɛɡ][*], 문화어: 합동사진전문가단체)은 디지털 이미지, 특히 디지털 사진으로 생성된 이미지에 일반적으로 사용되는 손실 압축 방식이다. 압축 정도를 조절할 수 있어 저장 크기와 화질 간의 균형을 선택할 수 있다. JPEG는 일반적으로 이미지 품질에서 눈에 띄지만 널리 용인되는 손실과 함께 10:1 압축을 달성한다. 1992년 도입된 이래 JPEG는 세계에서 가장 널리 사용되는 이미지 압축 표준이자 가장 널리 사용되는 디지털 이미지 파일 형식으로, 2015년 기준 매일 수십억 개의 JPEG 이미지가 생성된다.
JPEG
공동 사진 전문가 그룹은 1992년 이산 코사인 변환(DCT) 알고리즘을 기반으로 표준을 만들었다. JPEG는 인터넷과 이후 소셜 미디어 전반에 걸쳐 디지털 이미지와 디지털 사진의 확산에 크게 기여했다. JPEG 압축은 여러 이미지 파일 형식에서 사용된다. JPEG/Exif는 디지털 카메라 및 기타 사진 이미지 캡처 장치에서 사용하는 가장 일반적인 이미지 형식이다. JPEG/JFIF와 함께 월드 와이드 웹에서 사진 이미지를 저장하고 전송하는 가장 일반적인 형식이다. 이러한 형식 변형은 종종 구별되지 않고 단순히 JPEG라고 불린다.
JPEG의 MIME 미디어 타입은 "image/jpeg"이지만, 이전 인터넷 익스플로러 버전에서는 JPEG 이미지를 업로드할 때 "image/pjpeg" MIME 타입을 제공했다. JPEG 파일은 일반적으로 "jpg" 또는 "jpeg" 파일 확장자를 가진다. JPEG/JFIF는 최대 65,535×65,535픽셀의 이미지 크기를 지원하며, 따라서 가로세로비가 1:1일 때 최대 4기가픽셀까지 지원한다. 2000년, JPEG 그룹은 후속으로 의도된 JPEG 2000 형식을 도입했지만, 원본 JPEG를 지배적인 이미지 표준으로 대체할 수 없었다.
JPEG 역사
1992년에 발행된 원본 JPEG 규격은 CCITT (현 ITU-T) 및 공동 사진 전문가 그룹에서 인용한 다양한 이전 학술 논문과 특허의 프로세스를 구현한다.
JPEG의 손실 압축 알고리즘의 기초는 이산 코사인 변환(DCT)이다. 이는 나시르 아메드가 1972년에 이미지 압축 기술로 처음 제안했다. 아메드는 T. 나타라잔, K. R. 라오와 함께 1974년 논문에서 DCT 알고리즘을 발표했고, 이는 JPEG 규격에 인용되었다.
JPEG 규격은 여러 회사의 특허를 인용하고 있다. 다음 특허들은 산술 부호화 알고리즘의 기초를 제공했다.
JPEG 역사
IBM
미국 특허 4,652,856 – 1986년 2월 4일 – Kottappuram M. A. Mohiuddin 및 요르마 리사넨 – Multiplication-free multi-alphabet arithmetic code
미국 특허 4,905,297 – 1990년 2월 27일 – G. Langdon, 조안 L. 미첼, W. B. Pennebaker 및 Jorma J. Rissanen – Arithmetic coding encoder and decoder system
미국 특허 4,935,882 – 1990년 6월 19일 – W. B. Pennebaker 및 J. L. Mitchell – Probability adaptation for arithmetic coders
JPEG 역사
미쓰비시 전기
JP H02202267  (1021672) – 1989년 1월 21일 – Toshihiro Kimura, Shigenori Kino, Fumitaka Ono, Masayuki Yoshida – 코딩 시스템
JP H03247123  (2-46275) – 1990년 2월 26일 – Tomohiro Kimura, Shigenori Kino, Fumitaka Ono, 및 Masayuki Yoshida – 코딩 장치 및 코딩 방법
JPEG 규격은 IBM의 다른 세 가지 특허도 인용하고 있다. 특허 보유자로 인용된 다른 회사로는 AT&T (두 가지 특허) 및 캐논이 있다. 목록에는 Compression Labs의 웬시웅 첸과 대니얼 J. 클렌케가 1986년 10월에 출원한 미국 특허 4,698,672가 빠져 있다. 이 특허는 DCT 기반 이미지 압축 알고리즘을 설명하며, 나중에 2002년에 논란의 원인이 되었다 (특허 논쟁 참조). 그러나 JPEG 규격은 웬시웅 첸의 1977년 및 1984년의 두 가지 이전 연구 논문을 인용했다.
JPEG 역사
"JPEG"는 JPEG 표준 및 기타 정지 영상 코딩 표준을 만든 위원회 이름인 공동 사진 전문가 그룹의 약자이다. "Joint"는 ISO TC97 WG8 및 CCITT SGVIII을 의미했다. 1986년에 설립된 이 그룹은 1980년대 후반에 JPEG 표준을 개발했다. 이 그룹은 1992년에 JPEG 표준을 발표했다.
1987년, ISO TC 97은 ISO/IEC JTC 1이 되었고, 1992년, CCITT는 ITU-T가 되었다. 현재 JTC1 측에서는 JPEG가 ISO/IEC 공동 기술 위원회 1, 분과 위원회 29, 실무 그룹 1 (ISO/IEC JTC 1/SC 29/WG 1)의 두 하위 그룹 중 하나이며, 정지 영상 코딩을 담당한다. ITU-T 측에서는 ITU-T SG16이 해당 기관이다. 원본 JPEG 그룹은 1986년에 조직되었으며, 1992년에 첫 JPEG 표준을 발표했고, 1992년 9월에는 ITU-T 권고 T.81로 승인되었으며, 1994년에는 ISO/IEC 10918-1로 승인되었다.
JPEG 역사
JPEG 표준은 이미지가 바이트 스트림으로 압축되고 다시 이미지로 해제되는 방법을 정의하는 코덱을 지정하지만, 해당 스트림을 포함하는 데 사용되는 파일 형식은 지정하지 않는다.
Exif 및 JFIF 표준은 JPEG 압축 이미지를 교환하는 데 일반적으로 사용되는 파일 형식을 정의한다.
JPEG 표준은 공식적으로 정보 기술 – 연속 톤 정지 이미지의 디지털 압축 및 코딩으로 명명되었다. ISO/IEC 10918은 다음 부분들로 구성된다.
Ecma 인터내셔널 TR/98은 JPEG 파일 교환 형식(JFIF)을 지정하며, 첫 번째 판은 2009년 6월에 발행되었다.
JPEG 역사
2002년, Forgent Networks는 1986년 10월 27일에 출원되어 1987년 10월 6일에 부여된 Compression Labs의 웬시웅 첸과 대니얼 J. 클렌케의 특허 미국 특허 4,698,672에서 비롯된 JPEG 기술에 대한 특허권을 소유하고 있으며 이를 집행할 것이라고 주장했다. 당시 Forgent는 Compression Labs를 소유하고 있지 않았지만, 첸이 Cisco로 이직하기 전에 Compression Labs를 Forgent에 매각했다. 이로 인해 Forgent는 해당 특허권을 획득하게 되었다. Forgent의 2002년 발표는 유니시스가 GIF 이미지 압축 표준에 대한 권리를 주장하려 했던 시도를 연상시키는 소동을 일으켰다.
JPEG 위원회는 2002년에 특허 주장을 조사했고, 그들은 선행 기술에 의해 무효화되었다고 판단했으며, 이는 다양한 전문가들의 견해와 일치했다.
JPEG 역사
2002년부터 2004년까지 Forgent는 약 30개 회사에 특허를 라이선스하여 약 1억 5백만 달러를 벌어들였다. 2004년 4월, Forgent는 추가 라이선스 비용을 강제하기 위해 다른 31개 회사를 고소했다. 같은 해 7월, 21개 대형 컴퓨터 회사 컨소시엄은 특허 무효화를 목표로 반소를 제기했다. 또한 Microsoft는 2005년 4월 Forgent에 대해 별도의 소송을 제기했다. 2006년 2월, 미국특허청은 Public Patent Foundation의 요청에 따라 Forgent의 JPEG 특허를 재심사하는 데 동의했다. 2006년 5월 26일, USPTO는 선행 기술을 근거로 특허가 무효임을 확인했다. USPTO는 또한 Forgent가 선행 기술에 대해 알고 있었음에도 불구하고 의도적으로 특허청에 알리지 않았다는 것을 확인했다. 이로 인해 특허를 되살리기 위한 어떤 항소도 성공할 가능성이 매우 낮아졌다.
Forgent는 1994년 유럽 특허청으로부터 유사한 특허를 받았지만, 그 집행 가능성은 불확실하다.
JPEG 역사
2006년 10월 27일부로 미국 특허의 20년 유효 기간이 만료되었으며, 2006년 11월 Forgent는 JPEG 표준 사용에 대한 특허 청구권 주장을 포기하는 데 동의했다.
JPEG 위원회는 표준(특히 기본 방법)이 라이선스 비용 지불 없이 구현될 수 있도록 하는 것을 명시적인 목표 중 하나로 삼고 있으며, JPEG 2000 표준에 대한 적절한 라이선스 권리를 20개 이상의 대규모 조직으로부터 확보했다.
2007년 8월부터 Global Patent Holdings, LLC는 1993년에 발급된 자사의 특허(미국 특허 5,253,341)가 웹사이트 또는 이메일을 통한 JPEG 이미지 다운로드에 의해 침해되었다고 주장했다. 이 특허가 무효화되지 않으면, 이 특허는 JPEG 이미지를 표시하는 모든 웹사이트에 적용될 수 있다. 이 특허는 2000년부터 2007년까지 미국특허청의 재심사 대상이었고, 2007년 7월 특허청은 특허의 모든 원본 청구권을 취소했지만, Global Patent Holdings가 제안한 추가 청구권(청구권 17)은 유효하다고 판단했다. Global Patent Holdings는 그 후 특허의 청구권 17을 기반으로 여러 소송을 제기했다.
JPEG 역사
재심사 후 처음 두 건의 소송은 모두 일리노이주 시카고에서 제기되었으며, Global Patent Holdings는 그린베이 패커스, CDW, 모토로라, 애플, Orbitz, Officemax, 캐터필러, 크래프트, Peapod를 피고로 고소했다. 세 번째 소송은 2007년 12월 5일 남부 플로리다에서 ADT Security Services, AutoNation, Florida Crystals Corp., HearUSA, MovieTickets.com, Ocwen Financial Corp. 및 Tire Kingdom을 상대로 제기되었고, 네 번째 소송은 2008년 1월 8일 남부 플로리다에서 Boca Raton Resort & Club을 상대로 제기되었다. 다섯 번째 소송은 네바다에서 Global Patent Holdings를 상대로 제기되었다. 이 소송은 Global Patent Holdings로부터 위협을 받았다고 주장하는 Zappos.com, Inc.에 의해 제기되었으며, '341 특허가 무효이며 침해되지 않았다는 사법적 선언을 구했다.
Global Patent Holdings는 또한 '341 특허를 사용하여 광범위한 소프트웨어 특허에 대한 노골적인 비판자들을 고소하거나 위협하기도 했는데, 그중에는 Gregory Aharonian과 "Patent Troll Tracker"로 알려진 웹사이트 블로그의 익명 운영자가 포함된다. 2007년 12월 21일, 시카고의 특허 변호사 Vernon Francissen은 새로운 선행 기술을 근거로 '341 특허의 유일하게 남은 청구권을 재심사해달라고 미국특허청에 요청했다.
2008년 3월 5일, 미국특허청은 '341 특허를 재심사하는 데 동의했으며, 새로운 선행 기술이 특허의 유효성에 대해 상당한 새로운 의문을 제기한다고 판단했다. 재심사에 비추어 볼 때, 보류 중인 다섯 건의 소송 중 네 건의 피고측은 미국특허청의 '341 특허 심사가 완료될 때까지 사건을 일시 중단(정지)해 달라는 신청을 제기했다. 2008년 4월 23일, 일리노이주 시카고에서 두 건의 소송을 담당하던 판사는 해당 사건들의 신청을 승인했다. 2008년 7월 22일, 특허청은 두 번째 재심사의 첫 번째 "Office Action"을 발행하여, 19가지 다른 근거를 바탕으로 해당 청구권이 무효임을 확인했다. 2009년 11월 24일, 모든 청구권을 취소하는 재심사 증명서가 발급되었다.
2011년부터 2013년 초까지 동부 텍사스에 기반을 둔 Princeton Digital Image Corporation이라는 단체가 미국 특허 4,813,056의 침해 혐의로 수많은 회사를 고소하기 시작했다. 프린스턴은 JPEG 이미지 압축 표준이 '056 특허를 침해한다고 주장하며 수많은 웹사이트, 소매업체, 카메라 및 장치 제조업체, 리셀러를 고소했다. 이 특허는 원래 제너럴 일렉트릭이 소유하고 양도했다. 이 특허는 2007년 12월에 만료되었지만, 프린스턴은 "과거 침해"를 이유로 수많은 회사를 고소했다. (미국 특허법에 따르면, 특허 소유자는 소송 제기 전 최대 6년까지 "과거 침해"를 이유로 소송을 제기할 수 있으므로, 프린스턴은 이론적으로 2013년 12월까지 계속해서 회사를 고소할 수 있었다.) 2013년 3월 현재, 프린스턴은 뉴욕과 델라웨어에서 55개 이상의 회사를 상대로 소송을 진행 중이다. 제너럴 일렉트릭의 소송 개입 여부는 불분명하지만, 법원 기록에 따르면 2009년에 특허를 프린스턴에 양도했으며 특허에 대한 특정 권리를 보유하고 있다.
JPEG 일반적인 용도
JPEG 압축 알고리즘은 부드러운 톤과 색상 변화를 가진 사실적인 장면의 사진 및 그림에 가장 잘 작동한다. 웹 사용에서는 이미지에 사용되는 데이터 양을 줄이는 것이 반응형 프레젠테이션에 중요하므로, JPEG의 압축 이점이 JPEG를 인기 있게 만든다. JPEG/Exif는 디지털 카메라에서 저장하는 가장 일반적인 형식이다.
그러나 JPEG는 선화 및 기타 텍스트 또는 아이콘 그래픽에는 적합하지 않다. 이러한 그래픽에서는 인접 픽셀 간의 날카로운 대비가 눈에 띄는 압축 가공물을 유발할 수 있기 때문이다. 이러한 이미지는 무손실 그래픽 형식인 TIFF, GIF, PNG 또는 Raw 이미지 포맷으로 저장하는 것이 더 좋다. JPEG 표준에는 무손실 코딩 모드가 포함되어 있지만, 이 모드는 대부분의 제품에서 지원되지 않는다.
JPEG 일반적인 용도
JPEG의 일반적인 사용은 이미지 충실도를 감소시키는 손실 압축 방식이므로, 이미지 데이터의 정확한 재현(일부 과학 및 의료 영상 응용 프로그램 및 특정 기술 영상 처리 작업과 같은)에는 부적절하다.
JPEG는 또한 여러 번 편집될 파일에도 적합하지 않다. 이미지가 다시 압축될 때마다 일부 화질이 손실되기 때문이며, 특히 이미지가 잘리거나 이동되거나 인코딩 매개변수가 변경되면 더욱 그렇다. 자세한 내용은 디지털 세대 손실을 참조하라. 순차적이고 반복적인 편집 중 이미지 정보 손실을 방지하려면 첫 번째 편집을 무손실 형식으로 저장하고, 해당 형식으로 후속 편집을 수행한 다음, 최종적으로 배포용으로 JPEG로 게시할 수 있다.
JPEG JPEG 압축
JPEG는 이산 코사인 변환(DCT)에 기반한 손실 형태의 압축을 사용한다. 이 수학적 연산은 비디오 소스의 각 프레임/필드를 공간(2D) 도메인에서 주파수 도메인(변환 도메인이라고도 함)으로 변환한다. 인간의 시각 심리 시스템이 고주파 정보, 즉 강도와 색상 색조의 급격한 전환을 버리는 방식에 느슨하게 기반한 지각 모델. 변환 도메인에서 정보 감소 과정은 양자화라고 한다. 더 간단히 말하면, 양자화는 많은 수의 스케일(각 숫자의 다른 발생 빈도 포함)을 더 작은 스케일로 최적으로 줄이는 방법이며, 변환 도메인은 이미지의 편리한 표현 방식이다. 왜냐하면 다른 계수보다 전체 그림에 덜 기여하는 고주파 계수는 특성상 압축률이 높은 작은 값이기 때문이다. 양자화된 계수는 그 다음으로 순서가 지정되고 무손실 방식으로 출력 비트스트림으로 압축된다. JPEG의 거의 모든 소프트웨어 구현은 사용자가 압축률(및 기타 선택적 매개변수)을 제어할 수 있도록 하여, 사용자가 화질과 더 작은 파일 크기 사이에서 절충할 수 있게 한다. 임베디드 애플리케이션(예: 유사한 DCT 압축 스키마를 사용하는 miniDV)에서는 매개변수가 애플리케이션에 대해 미리 선택되고 고정된다.
JPEG JPEG 압축
압축 방식은 일반적으로 손실 방식이다. 즉, 원본 이미지 정보의 일부가 손실되어 복원할 수 없으며, 이는 이미지 품질에 영향을 미칠 수 있다. JPEG 표준에는 선택적 무손실 모드가 정의되어 있다. 그러나 이 모드는 제품에서 널리 지원되지 않는다.
또한 인터레이스된 프로그레시브 JPEG 형식이 있는데, 이 형식에서는 데이터가 점진적으로 더 높은 디테일의 여러 패스로 압축된다. 이는 느린 연결을 통해 다운로드되는 동안 표시될 큰 이미지에 이상적이며, 데이터의 일부만 수신한 후에도 합리적인 미리 보기를 허용한다. 그러나 프로그레시브 JPEG에 대한 지원은 보편적이지 않다. 프로그레시브 JPEG가 이를 지원하지 않는 프로그램(예: 윈도우 7 이전의 인터넷 익스플로러 버전)에 의해 수신되면, 소프트웨어는 이미지가 완전히 다운로드된 후에만 이미지를 표시한다.
12비트 JPEG 이미지를 그레이스케일 및 컬러로 생성하고 처리하는 많은 의료 영상, 교통 및 카메라 응용 프로그램도 있다. 12비트 JPEG 형식은 JPEG 사양의 확장 부분에 포함되어 있다. Libjpeg 코덱은 12비트 JPEG를 지원하며 고성능 버전도 존재한다.
JPEG JPEG 압축
JPEG 이미지에 대한 여러 변경은 이미지 크기가 1 MCU 블록(최소 인코딩 단위)의 배수(일반적으로 4:2:0 크로마 서브샘플링의 경우 양방향으로 16픽셀)인 한 무손실로(즉, 재압축 및 관련 품질 손실 없이) 수행할 수 있다. 이를 구현하는 유틸리티는 다음과 같다.
블록은 90도 간격으로 회전하거나, 수평, 수직, 대각선 축으로 뒤집거나, 이미지 내에서 이동할 수 있다. 원본 이미지의 모든 블록이 수정된 이미지에서 사용될 필요는 없다.
JPEG 이미지의 상단 및 왼쪽 가장자리는 8x8 픽셀 블록 경계(또는 더 큰 MCU 크기의 경우 16x16 픽셀)에 있어야 하지만, 하단 및 오른쪽 가장자리는 그럴 필요가 없다. 이로 인해 가능한 무손실 자르기 작업이 제한되며, 모든 채널에 대해 하단 또는 오른쪽 가장자리가 블록 경계에 있지 않은 이미지의 뒤집기 및 회전이 방지된다(가장자리가 위쪽 또는 왼쪽으로 이동하게 되는데, 위에서 언급했듯이 블록 경계가 필수적이기 때문이다).
JPEG JPEG 압축
크로마 서브샘플링에 따라 8 또는 16의 배수가 아닌 이미지를 회전하는 것은 무손실이 아니다. 이러한 이미지를 회전하면 블록이 다시 계산되어 화질이 손실된다.
무손실 자르기를 사용할 때, 자르기 영역의 하단 또는 오른쪽이 블록 경계에 있지 않으면, 부분적으로 사용된 블록의 나머지 데이터가 잘린 파일에 여전히 존재하며 복구될 수 있다. 또한 품질 손실 없이 베이스라인 형식과 프로그레시브 형식 간에 변환하는 것도 가능하다. 이는 파일에 계수가 배치되는 순서만 다르기 때문이다.
또한 여러 JPEG 이미지를 무손실로 결합할 수 있다. 단, 동일한 품질로 저장되었고 가장자리가 블록 경계와 일치해야 한다.
JPEG JPEG 파일
"JPEG 교환 형식"(JIF)으로 알려진 파일 형식은 표준의 부록 B에 명시되어 있다. 그러나 이 "순수한" 파일 형식은 거의 사용되지 않는다. 주로 인코더 및 디코더가 표준의 모든 측면을 완전히 구현하도록 프로그래밍하기 어렵기 때문이며, 표준의 특정 단점 때문이다.
이러한 문제를 해결하기 위해 여러 추가 표준이 발전해 왔다. 이 중 첫 번째는 1992년에 출시된 JPEG File Interchange Format (JFIF)이었고, 최근에는 Exchangeable image file format (Exif) 및 ICC 색상 프로파일이 뒤따랐다. 이 두 형식은 마커로 구성된 실제 JIF 바이트 레이아웃을 사용하지만, 추가적으로 JIF 표준의 확장 지점 중 하나인 응용 프로그램 마커를 사용한다: JFIF는 APP0을 사용하고 Exif는 APP1을 사용한다. JIF 표준에서 향후 사용을 위해 남겨두었고 JIF가 읽지 않는 파일의 이 세그먼트 내에서 이러한 표준은 특정 메타데이터를 추가한다.
JPEG JPEG 파일
따라서 JFIF는 어떤 면에서는 JIF 표준의 축소 버전이다. 특정 제약(예: 모든 다른 인코딩 모드를 허용하지 않음)을 지정하기 때문이며, 다른 면에서는 추가된 메타데이터로 인해 JIF의 확장이다. 원본 JFIF 표준 문서는 다음과 같이 명시한다.
JPEG 파일 교환 형식은 JPEG 비트스트림이 다양한 플랫폼과 응용 프로그램 간에 교환될 수 있도록 하는 최소한의 파일 형식이다. 이 최소 형식은 TIFF JPEG 사양이나 특정 응용 프로그램 파일 형식에서 찾을 수 있는 고급 기능을 포함하지 않는다. 또한 이 단순화된 형식의 유일한 목적은 JPEG 압축 이미지를 교환할 수 있도록 하는 것이므로 그렇게 해서는 안 된다.
JPEG JPEG 파일
JPEG 압축을 사용하는 이미지 파일은 일반적으로 "JPEG 파일"이라고 불리며, JIF 이미지 형식의 변형으로 저장된다. JPEG를 출력하는 대부분의 이미지 캡처 장치(디지털 카메라 등)는 실제로 Exif 형식으로 파일을 생성하는데, 이는 카메라 산업에서 메타데이터 교환을 위해 표준화된 형식이다. 반면에 Exif 표준은 색상 프로필을 허용하지 않으므로, 대부분의 이미지 편집 소프트웨어는 JPEG를 JFIF 형식으로 저장하고, 거의 준수하는 방식으로 메타데이터를 포함하기 위해 Exif 파일의 APP1 세그먼트를 포함한다. JFIF 표준은 다소 유연하게 해석된다.
엄밀히 말하면, JFIF와 Exif 표준은 호환되지 않는다. 각각의 마커 세그먼트(각각 APP0 또는 APP1)가 먼저 나타나야 한다고 지정하기 때문이다. 실제로 대부분의 JPEG 파일은 Exif 헤더 앞에 JFIF 마커 세그먼트를 포함한다. 이를 통해 이전 판독기는 이전 형식의 JFIF 세그먼트를 올바르게 처리할 수 있으며, 최신 판독기는 Exif 세그먼트가 먼저 나타나야 한다는 요구 사항에 덜 엄격하여 다음 Exif 세그먼트도 디코딩한다.
JPEG JPEG 파일
JPEG 압축을 사용하는 파일의 가장 일반적인 파일 확장자는 .jpg 및 .jpeg 이지만, .jpe, .jfif 및 .jif도 사용된다. JPEG 데이터는 다른 파일 형식에 내장될 수도 있다. 예를 들어, TIFF로 인코딩된 파일은 종종 JPEG 이미지를 메인 이미지의 섬네일로 내장하며, MP3 파일은 ID3v2 태그에 커버 아트의 JPEG를 포함할 수 있다.
많은 JPEG 파일은 ICC 색상 프로필(색 공간)을 내장한다. 일반적으로 사용되는 색상 프로필에는 sRGB 및 Adobe RGB가 있다. 이러한 색 공간은 비선형 변환을 사용하므로 8비트 JPEG 파일의 동적 범위는 약 11 스톱이다. 감마 곡선을 참조하라.
이미지가 색상 프로필 정보(태그 없음)를 지정하지 않으면 웹페이지 표시 목적으로 sRGB 색 공간으로 가정된다.
JPEG 구문 및 구조
JPEG 이미지는 일련의 세그먼트로 구성되며, 각 세그먼트는 마커로 시작하고, 각 마커는 0xFF 바이트로 시작한 다음 어떤 종류의 마커인지를 나타내는 바이트가 이어진다. 일부 마커는 이 두 바이트만으로 구성되며, 다른 마커는 그 뒤에 두 바이트(높은 바이트, 낮은 바이트 순)가 이어져서 마커별 페이로드 데이터의 길이를 나타낸다. (길이에는 길이에 대한 두 바이트는 포함되지만 마커에 대한 두 바이트는 포함되지 않는다.) 일부 마커는 엔트로피 부호화된 데이터가 뒤따르며, 그러한 마커의 길이는 엔트로피 부호화된 데이터를 포함하지 않는다. 연속된 0xFF 바이트는 패딩 목적으로 채움 바이트로 사용되지만, 이 채움 바이트 패딩은 엔트로피 부호화된 스캔 데이터 바로 뒤에 오는 마커에 대해서만 발생해야 한다(자세한 내용은 JPEG 사양 섹션 B.1.1.2 및 E.1.2 참조; 특히 "압축된 데이터 뒤에 마커가 추가되는 모든 경우에 선택적 0xFF 채움 바이트가 마커 앞에 올 수 있다").
JPEG 구문 및 구조
엔트로피 부호화된 데이터 내에서, 0xFF 바이트 뒤에는 인코더가 다음 바이트 앞에 0x00 바이트를 삽입하여, 의도하지 않은 마커가 나타나지 않도록 하여 프레이밍 오류를 방지한다. 디코더는 이 0x00 바이트를 건너뛰어야 한다. 바이트 스터핑이라고 불리는 이 기술(JPEG 사양 섹션 F.1.2.3 참조)은 마커 페이로드 데이터가 아닌 엔트로피 부호화된 데이터에만 적용된다. 그러나 엔트로피 부호화된 데이터 자체에도 몇 가지 마커가 있다. 특히 리셋 마커(0xD0부터 0xD7까지)는 독립적인 엔트로피 부호화된 데이터 청크를 분리하여 병렬 디코딩을 허용하는 데 사용되며, 인코더는 이러한 리셋 마커를 일정한 간격으로 삽입할 수 있다(모든 인코더가 그렇게 하는 것은 아니다).
JPEG 구문 및 구조
다른 종류의 JPEG 인코딩을 도입하는 다른 프레임 시작 마커도 있다.
여러 공급업체가 동일한 APPn 마커 유형을 사용할 수 있으므로, 응용 프로그램별 마커는 종종 표준 또는 공급업체 이름(예: "Exif" 또는 "Adobe") 또는 다른 식별 문자열로 시작한다.
재시작 마커에서, 블록 대 블록 예측 변수는 재설정되고, 비트스트림은 바이트 경계에 동기화된다. 재시작 마커는 신뢰할 수 없는 네트워크를 통한 전송 또는 파일 손상과 같은 비트스트림 오류 후 복구 수단을 제공한다. 재시작 마커 사이의 매크로블록 실행은 독립적으로 디코딩될 수 있으므로, 이러한 실행은 병렬로 디코딩될 수 있다.
JPEG JPEG 코덱 예시
JPEG 파일은 다양한 방식으로 인코딩될 수 있지만, 가장 일반적으로는 JFIF 인코딩을 사용하여 수행된다. 인코딩 프로세스는 여러 단계로 구성된다.
주파수 구성 요소의 진폭은 양자화된다. 인간의 시각은 넓은 영역에 걸친 색상 또는 밝기의 작은 변화에는 매우 민감하지만, 고주파 밝기 변화의 정확한 강도를 구별하는 데는 그다지 능숙하지 않다. 따라서 고주파 구성 요소의 진폭은 저주파 구성 요소보다 낮은 정확도로 저장된다. 인코더의 품질 설정(예: 독립 JPEG 그룹 라이브러리에서 0-100 스케일의 50 또는 95)은 각 주파수 구성 요소의 해상도가 어느 정도로 감소되는지에 영향을 미친다. 지나치게 낮은 품질 설정을 사용하면 고주파 구성 요소는 완전히 버려진다.
디코딩 프로세스는 양자화가 되돌릴 수 없기 때문에 이러한 단계를 역순으로 수행한다. 이 섹션의 나머지 부분에서는 인코딩 및 디코딩 프로세스가 더 자세히 설명된다.
JPEG JPEG 코덱 예시
JPEG 표준의 많은 옵션은 일반적으로 사용되지 않으며, 위에서 언급했듯이 대부분의 이미지 소프트웨어는 JPEG 파일을 만들 때 더 간단한 JFIF 형식을 사용하며, 이는 다른 것들 중에서도 인코딩 방법을 지정한다. 여기에는 픽셀당 비트가 24비트(각각 빨강, 초록, 파랑 8비트)인 입력에 적용될 때 가장 일반적인 인코딩 방법 중 하나에 대한 간략한 설명이 있다. 이 특정 옵션은 손실 데이터 압축 방법이다. 이들은 아래 행렬로 표시된다.
JPEG JPEG 코덱 예시
먼저, 이미지는 RGB(기본적으로 sRGB, 그러나 다른 색 공간도 가능)에서 Y′CBCR (또는 비공식적으로 YCbCr)이라는 다른 색 공간으로 변환되어야 한다. 여기에는 Y', CB, CR의 세 가지 구성 요소가 있다. Y' 구성 요소는 픽셀의 밝기를 나타내고, CB 및 CR 구성 요소는 색차 (파란색 및 빨간색 구성 요소로 분할)를 나타낸다. 이는 기본적으로 디지털 텔레비전 및 비디오 DVD를 포함한 디지털 비디오에서 사용되는 것과 동일한 색 공간이다. Y′CBCR 색 공간 변환은 인지적 이미지 품질에 큰 영향을 미치지 않으면서 더 큰 압축률을 허용한다(또는 동일한 압축률에서 더 큰 인지적 이미지 품질). 압축은 이미지의 최종 인지적 품질에 더 중요한 밝기 정보가 단일 채널에만 국한되기 때문에 더 효율적이다. 이는 인간 시각 시스템의 색상 인식과 더 밀접하게 일치한다. 색상 변환은 또한 통계적 탈상관화를 통해 압축을 향상시킨다.
JPEG JPEG 코덱 예시
Y′CBCR로의 특정 변환은 JFIF 표준에 명시되어 있으며, 결과 JPEG 파일이 최대 호환성을 가지도록 수행되어야 한다. 그러나 "최고 품질" 모드의 일부 JPEG 구현은 이 단계를 적용하지 않고 대신 색상 정보를 RGB 색 모델에 유지한다. 여기서 이미지는 빨강, 초록, 파랑 밝기 구성 요소에 대한 별도의 채널에 저장된다. 이로 인해 압축 효율이 떨어지므로, 파일 크기가 특히 중요할 때는 사용되지 않을 가능성이 높다.
인간 눈의 색상 및 밝기 감지 수용체 밀도로 인해 인간은 이미지의 밝기(Y' 구성 요소)에서는 이미지의 색조 및 색상 채도(Cb 및 Cr 구성 요소)에서보다 훨씬 더 미세한 세부 사항을 볼 수 있다. 이 지식을 활용하여 인코더는 이미지를 더 효율적으로 압축하도록 설계될 수 있다.
JPEG JPEG 코덱 예시
Y′CBCR 색상 모델로의 변환은 다음 일반적인 단계인 Cb 및 Cr 구성 요소의 공간 해상도를 줄이는 것("다운샘플링" 또는 "크로마 서브샘플링"이라고 함)을 가능하게 한다. JPEG 이미지에 대해 일반적으로 다운샘플링이 수행되는 비율은 4:4:4(다운샘플링 없음), 4:2:2(수평 방향으로 2배 감소), 또는 (가장 일반적으로) 4:2:0(수평 및 수직 방향으로 모두 2배 감소)이다. 나머지 압축 프로세스 동안 Y', Cb 및 Cr은 별도로 그리고 매우 유사한 방식으로 처리된다.
크로마 서브샘플링 후 각 채널은 8x8 블록으로 분할되어야 한다. 크로마 서브샘플링에 따라 이는 8x8(4:4:4 – 서브샘플링 없음), 16x8(4:2:2), 또는 가장 일반적으로 16x16(4:2:0) 크기의 최소 코딩 단위(MCU) 블록을 생성한다. 영상 압축에서 MCU는 매크로블록이라고 불린다.
JPEG JPEG 코덱 예시
채널에 대한 데이터가 정수 개의 블록을 나타내지 않으면 인코더는 불완전한 블록의 나머지 영역을 어떤 형태의 더미 데이터로 채워야 한다. 가장자리를 고정된 색상(예: 검정색)으로 채우면 테두리의 가시적인 부분에 따라 링잉 현상이 발생할 수 있다.
가장자리 픽셀을 반복하는 것은 이러한 아티팩트를 줄이는(반드시 제거하지는 않음) 일반적인 기술이며, 더 정교한 테두리 채우기 기술도 적용할 수 있다.
다음으로, 각 구성 요소(Y, Cb, Cr)의 각 8×8 블록은 정규화된 2차원 유형-II 이산 코사인 변환(DCT)을 사용하여 주파수 영역 표현으로 변환된다. 이산 코사인 변환의 참조 1을 참조하라. DCT는 이산 코사인 변환과 같은 변환군에서 "유형-II DCT"라고 불리기도 하며, 해당 역변환(IDCT)은 "유형-III DCT"로 표시된다.
예를 들어, 이러한 8x8 8비트 서브 이미지는 다음과 같을 수 있다.
JPEG JPEG 코덱 예시
8×8 블록의 DCT를 계산하기 전에, 그 값들은 양의 범위에서 0을 중심으로 하는 범위로 이동된다. 8비트 이미지의 경우, 원본 블록의 각 항목은  범위에 속한다. 범위의 중간점(이 경우 값 128)은 각 항목에서 빼져서 0을 중심으로 하는 데이터 범위를 생성하며, 따라서 수정된 범위는 이다. 이 단계는 이어지는 DCT 처리 단계에서 동적 범위 요구 사항을 줄인다.
이 단계의 결과는 다음과 같다.
다음 단계는 다음과 같이 주어지는 2차원 DCT를 취하는 것이다.
여기서
위의 행렬에 이 변환을 수행하면 다음(소수점 이하 두 자리로 반올림)을 얻는다.
크기가 상당히 큰 왼쪽 상단 모서리 항목에 주목한다. 이것은 DC 계수(상수 구성 요소라고도 함)로, 전체 블록의 기본 색조를 정의한다. 나머지 63개 계수는 AC 계수(교류 구성 요소라고도 함)이다. DCT의 장점은 위에서 볼 수 있듯이 대부분의 신호를 결과의 한 모서리에 집계하는 경향이 있다는 것이다. 다음 양자화 단계는 이 효과를 강조하는 동시에 DCT 계수의 전체 크기를 줄여 엔트로피 단계에서 효율적으로 압축하기 쉬운 신호를 생성한다.
JPEG JPEG 코덱 예시
DCT는 데이터의 비트 깊이를 일시적으로 증가시킨다. 8비트/구성 요소 이미지의 DCT 계수는 저장에 11비트 이상(DCT 계산의 충실도에 따라 다름)을 차지하기 때문이다. 이로 인해 코덱은 이러한 계수를 저장하기 위해 일시적으로 16비트 숫자를 사용해야 할 수 있으며, 이 시점에서 이미지 표현 크기가 두 배로 늘어난다. 이러한 값은 일반적으로 양자화 단계를 통해 다시 8비트 값으로 줄어든다. 이 단계에서의 일시적인 크기 증가는 대부분의 JPEG 구현에서 성능 문제가 되지 않는다. 이미지 인코딩 또는 디코딩 프로세스 중 일반적으로 이미지의 매우 작은 부분만 특정 시점에 완전한 DCT 형태로 저장되기 때문이다.
JPEG JPEG 코덱 예시
인간의 눈은 비교적 넓은 영역에서 밝기의 작은 차이를 잘 보지만, 고주파 밝기 변화의 정확한 강도를 구별하는 데는 그다지 능숙하지 않다. 이를 통해 고주파 구성 요소의 정보 양을 크게 줄일 수 있다. 이는 주파수 영역의 각 구성 요소를 해당 구성 요소에 대한 상수로 나눈 다음 가장 가까운 정수로 반올림하여 수행된다. 이 반올림 작업은 DCT 계산이 충분히 높은 정밀도로 수행되는 경우 전체 프로세스에서 유일한 손실 작업이다(크로마 서브샘플링 제외). 이 결과로, 일반적으로 많은 고주파 구성 요소가 0으로 반올림되고, 나머지 많은 부분은 작은 양수 또는 음수가 되어 훨씬 더 적은 비트를 사용하여 표현된다.
양자화 행렬의 요소는 압축률을 제어하며, 값이 클수록 압축률이 높아진다. 일반적인 양자화 행렬(원본 JPEG 표준에 명시된 50% 품질의 경우)은 다음과 같다.
양자화된 DCT 계수는 다음과 같이 계산된다.
여기서 는 양자화되지 않은 DCT 계수이고, 는 위의 양자화 행렬이며, 는 양자화된 DCT 계수이다.
위의 양자화 행렬을 위의 DCT 계수 행렬과 함께 사용하면 다음과 같은 결과가 나온다.
JPEG JPEG 코덱 예시
예를 들어, -415(DC 계수)를 사용하여 가장 가까운 정수로 반올림하면
서브블록의 대부분의 고주파 요소(즉, x 또는 y 공간 주파수가 4보다 큰 요소)가 0 값으로 양자화됨을 주목하라.
엔트로피 부호화는 비손실 데이터 압축의 특별한 형태이다. 이는 유사한 주파수를 함께 그룹화하고 길이를 코딩하는 0을 삽입한 다음 남은 부분에 허프먼 부호화를 사용하여 이미지 구성 요소를 "지그재그" 순서로 배열하는 것을 포함한다.
JPEG 표준은 디코더가 산술 부호화 사용을 지원하는 것을 허용하지만 요구하지는 않는다. 산술 부호화는 수학적으로 허프먼 부호화보다 우수하다. 그러나 이 기능은 역사적으로 로열티가 필요한 특허에 의해 보호되었고, 허프먼 부호화보다 인코딩 및 디코딩 속도가 느리기 때문에 거의 사용되지 않았다. 산술 부호화는 일반적으로 파일을 약 5-7% 더 작게 만든다.
이전 양자화된 DC 계수는 현재 양자화된 DC 계수를 예측하는 데 사용된다. 실제 값 대신 두 값의 차이가 인코딩된다. 63개의 양자화된 AC 계수 인코딩은 이러한 예측 차분을 사용하지 않는다.
JPEG JPEG 코덱 예시
위의 양자화된 계수에 대한 지그재그 순서는 아래에 나와 있다. (표시된 형식은 이해/보기 편의를 위한 것이다.)
i번째 블록이 로 표현되고, 각 블록 내의 위치가 로 표현될 때(, ), DCT 이미지의 모든 계수는 로 표현될 수 있다. 따라서 위 방식에서 픽셀 인코딩 순서(i번째 블록의 경우)는 , , , , , , ,  등이다.
JPEG JPEG 코덱 예시
이 인코딩 모드를 베이스라인 순차 인코딩이라고 한다. 베이스라인 JPEG는 프로그레시브 인코딩도 지원한다. 순차 인코딩은 한 번에 단일 블록의 계수를 인코딩하는 반면(지그재그 방식), 프로그레시브 인코딩은 모든 블록의 유사한 위치의 계수 묶음을 한 번에 인코딩하고(스캔이라고 함), 다음 묶음의 계수를 모든 블록에 대해 인코딩하는 식으로 계속된다. 예를 들어, 이미지가 N개의 8x8 블록 로 나뉘어 있다면, 3스캔 프로그레시브 인코딩은 첫 번째 스캔에서 모든 블록에 대한 DC 구성 요소 를 인코딩한다. 즉, 모든 에 대해 인코딩한다. 다음으로, 두 번째 스캔은 몇 가지 더 많은 구성 요소(네 개의 구성 요소가 더 있다고 가정하면, 부터 까지, 여전히 지그재그 방식으로)를 모든 블록에 대해 인코딩한다(따라서 순서는: ). 마지막 스캔에서는 모든 블록의 나머지 계수들을 인코딩한다.
JPEG JPEG 코덱 예시
모든 유사 위치 계수가 인코딩되면, 인코딩할 다음 위치는 위 그림에 표시된 지그재그 탐색에서 다음에 나타나는 위치이다. 베이스라인 프로그레시브 JPEG 인코딩은 각 "스캔" 또는 "패스"(유사 위치 계수를 포함)에서 다른 주파수에 맞게 조정된 다른 허프먼 테이블(아래 참조)을 사용할 수 있는 능력 때문에 베이스라인 순차 JPEG보다 일반적으로 더 나은 압축을 제공하는 것으로 밝혀졌지만, 그 차이는 그리 크지 않다.
나머지 글에서는 생성된 계수 패턴이 순차 모드 때문이라고 가정한다.
앞서 생성된 계수 패턴을 인코딩하기 위해 JPEG는 허프먼 부호화를 사용한다. JPEG 표준은 범용 허프먼 테이블을 제공한다. 인코더는 인코딩되는 이미지의 실제 주파수 분포에 최적화된 허프먼 테이블을 생성하도록 선택할 수도 있다.
지그재그 양자화된 데이터를 인코딩하는 과정은 아래에 설명된 런-렝스 인코딩으로 시작되며, 여기서:
런-렝스 인코딩은 각 0이 아닌 AC 계수 x를 검사하여 이전 AC 계수 이전에 몇 개의 0이 왔는지 결정하는 방식으로 작동한다. 이 정보를 사용하여 두 개의 기호가 생성된다.
JPEG JPEG 코덱 예시
RUNLENGTH와 SIZE는 모두 동일한 바이트에 위치하며, 이는 각각 4비트의 정보만 포함함을 의미한다. 상위 비트는 0의 개수를 다루는 반면, 하위 비트는 x의 값을 인코딩하는 데 필요한 비트 수를 나타낸다.
이는 기호 1이 0이 아닌 AC 계수 앞에 오는 첫 15개의 0에 대한 정보만 저장할 수 있다는 즉각적인 함의를 가진다. 그러나 JPEG는 두 가지 특별한 허프먼 코드워드를 정의한다. 하나는 나머지 계수가 0일 때 시퀀스를 조기에 종료하는 것(EOB 또는 "End-of-Block"이라고 함)이고, 다른 하나는 0이 아닌 AC 계수에 도달하기 전에 0의 실행이 15를 초과하는 경우이다. 0이 아닌 AC 계수 앞에 16개의 0이 발견되는 경우, 기호 1은 "(15, 0)(0)"으로 "특별히" 인코딩된다.
전체 프로세스는 "(0, 0)"으로 표시되는 "EOB" – 에 도달할 때까지 계속된다.
이를 염두에 두고, 앞서의 시퀀스는 다음과 같이 된다.
(0, 2)(-3);(1, 2)(-3);(0, 2)(-2);(0, 3)(-6);(0, 2)(2);(0, 3)(-4);(0, 1)(1);(0, 2)(-3);(0, 1)(1);(0, 1)(1);
JPEG JPEG 코덱 예시
(0, 3)(5);(0, 1)(1);(0, 2)(2);(0, 1)(-1);(0, 1)(1);(0, 1)(-1);(0, 2)(2);(5, 1)(-1);(0, 1)(-1);(0, 0);
(행렬의 첫 번째 값인 −26은 DC 계수이다. 동일한 방식으로 인코딩되지 않는다. 위를 참조하라.)
여기서부터 계수의 발생 빈도를 기반으로 주파수 계산이 이루어진다. 예제 블록에서는 양자화된 계수 중 대부분이 작은 숫자이며, 바로 앞에 0 계수가 오지 않는다. 이러한 빈번한 경우는 더 짧은 코드워드로 표현된다.
결과 압축률은 양자화 단계에서 사용되는 제수(divisor)를 덜 공격적으로 또는 더 공격적으로 사용하여 필요에 따라 조절할 수 있다. 10:1 압축은 일반적으로 원본과 눈으로 구별할 수 없는 이미지를 생성한다. 100:1 압축률도 일반적으로 가능하지만, 원본과 비교할 때 뚜렷한 아티팩트가 나타난다. 적절한 압축 수준은 이미지가 사용될 목적에 따라 달라진다.
월드 와이드 웹을 사용하는 사람들은 JPEG 이미지에서 나타나는 압축 가공물로 알려진 불규칙성에 익숙할 것이다. 이는 대비되는 가장자리(특히 곡선과 모서리) 주변의 노이즈 또는 "블록형" 이미지 형태로 나타날 수 있다. 이는 JPEG 알고리즘의 양자화 단계 때문이다. 이는 대비되는 색상 간의 날카로운 모서리 주변에서 특히 두드러진다(텍스트는 그러한 모서리가 많기 때문에 좋은 예이다). MPEG 비디오의 유사한 아티팩트는 모기 노이즈라고 불린다. 그 결과 "가장자리 번잡함"과 시간이 지남에 따라 변하는 가짜 점들이 마치 모기가 물체 주위에 떼 지어 날아다니는 것처럼 보이기 때문이다.
이러한 아티팩트는 압축 수준을 낮추어 줄일 수 있다. 무손실 파일 형식을 사용하여 이미지를 저장하면 완전히 피할 수 있지만, 파일 크기가 더 커진다. 광선 추적 프로그램으로 생성된 이미지에는 지형에 눈에 띄는 블록형 모양이 나타난다. 특정 낮은 강도의 압축 아티팩트는 단순히 이미지를 볼 때는 허용될 수 있지만, 이미지가 나중에 처리되면 강조되어 허용할 수 없는 품질로 이어질 수 있다. 윤곽선 검출 처리 단계에 대한 손실 압축의 효과를 보여주는 아래 예시를 참조하라.
일부 프로그램은 사용자가 개별 블록이 압축되는 정도를 변경할 수 있도록 허용한다. 이미지의 아티팩트가 적게 나타나는 영역에는 더 강력한 압축이 적용된다. 이러한 방식으로 JPEG 파일 크기를 수동으로 줄이면서 품질 손실을 줄일 수 있다.
양자화 단계는 항상 정보 손실을 초래하므로, JPEG 표준은 항상 손실 압축 코덱이다. (부동 소수점 숫자를 양자화하고 반올림하는 과정에서 모두 정보가 손실된다.) 양자화 행렬이 단위 행렬이라 할지라도, 반올림 단계에서 정보는 여전히 손실될 것이다.
이미지를 표시하기 위한 디코딩은 위에서 설명한 모든 작업을 역순으로 수행하는 것으로 구성된다.
DCT 계수 행렬(DC 계수의 차이를 다시 추가한 후)을 가져오면
그리고 위의 양자화 행렬과 요소별 곱셈을 하면 다음과 같이 된다.
이는 왼쪽 상단 부분의 원본 DCT 계수 행렬과 매우 유사하다.
다음 단계는 다음과 같이 주어지는 2차원 역 DCT(2D 유형-III DCT)를 취하는 것이다.
여기서
출력을 정수 값으로 반올림하면 (원본은 정수 값을 가졌으므로) (여전히 128만큼 낮아진) 값을 가진 이미지가 생성된다.
각 항목에 128을 더하면
이것이 압축 해제된 서브 이미지이다. 일반적으로 압축 해제 프로세스는 원본 입력 범위인 를 벗어나는 값을 생성할 수 있다. 이 경우 디코더는 원본 비트 깊이로 압축 해제된 이미지를 저장할 때 오버플로를 방지하기 위해 출력 값을 해당 범위 내로 유지하도록 클리핑해야 한다.
압축 해제된 서브 이미지를 원본 서브 이미지(오른쪽 이미지도 참조)와 비교하여 차이(원본 - 압축 해제)를 구하면 다음 오차 값이 나온다.
픽셀당 평균 절대 오차는 약 5값이다 (즉, ).
오차는 왼쪽 하단 모서리에서 가장 눈에 띄며, 왼쪽 하단 픽셀이 바로 오른쪽 픽셀보다 어두워진다.
JPEG 코덱의 구현에 필요한 정밀도는 JPEG 표준 준수를 위해 수립된 요구사항을 통해 암묵적으로 정의된다. 이러한 요구사항은 ITU.T 권고 T.83 | ISO/IEC 10918-2에 명시되어 있다. MPEG 표준 및 많은 후기 JPEG 표준과 달리, 위 문서는 참조 테스트 스트림에 의해 결정된 DCT 도메인에서 순방향 및 역방향 DCT의 최대 허용 오차를 통해 JPEG 코덱의 인코딩 및 디코딩 프로세스 모두에 필요한 구현 정밀도를 정의한다. 예를 들어, 디코더 구현의 출력은 위 표준의 일부로 제공되는 참조 테스트 코드스트림에 적용될 때 DCT 도메인에서 하나의 양자화 단위 오차를 초과해서는 안 된다. 특이하게도, 다른 많은 현대 표준과 달리 ITU.T T.83 | ISO/IEC 10918-2는 이미지 도메인에서 오차 한계를 공식화하지 않는다.
JPEG JPEG 압축의 효과
JPEG 압축 아티팩트는 세부적이고 불균일한 텍스처를 가진 사진에 잘 어울려 더 높은 압축률을 허용한다. 높은 압축률이 이미지의 왼쪽 상단 모서리에 있는 고주파 텍스처에 먼저 어떻게 영향을 미치는지, 그리고 대비되는 선들이 어떻게 더 흐릿해지는지 주목하라. 매우 높은 압축률은 이미지 품질에 심각한 영향을 미치지만, 전체적인 색상과 이미지 형태는 여전히 인식할 수 있다. 그러나 색상의 정밀도는 윤곽선(휘도 기반)의 정밀도보다 덜 손실된다(인간의 눈에는). 이는 휘도 평면의 정밀도를 더 많은 정보 비트로 보존하기 위해, 색상 평면을 서브샘플링하기 전에(더 낮은 품질의 양자화를 사용할 수도 있음) 휘도와 색상 정보를 분리하는 색상 모델로 이미지를 먼저 변환해야 한다는 사실을 정당화한다.
JPEG JPEG 압축의 효과
참고로, 아래의 비압축 24비트 RGB 비트맵 이미지(73,242 픽셀)는 219,726바이트(모든 다른 정보 헤더 제외)를 필요로 한다. 아래 표시된 파일 크기에는 내부 JPEG 정보 헤더 및 일부 메타데이터가 포함된다. 최고 품질 이미지(Q=100)의 경우 픽셀당 약 8.25비트가 필요하다. 그레이스케일 이미지의 경우 픽셀당 최소 6.5비트면 충분하다(유사한 Q=100 품질 색상 정보는 약 25% 더 많은 인코딩 비트를 필요로 한다). 아래 최고 품질 이미지(Q=100)는 픽셀당 9비트로 인코딩되었고, 중간 품질 이미지(Q=25)는 픽셀당 1비트를 사용한다. 대부분의 응용 프로그램에서는 품질 계수가 픽셀당 0.75비트(Q=12.5) 미만으로 내려가지 않아야 한다. 낮은 품질 이미지에서 볼 수 있듯이, 최저 품질 이미지는 픽셀당 0.13비트만 사용하며 매우 낮은 색상을 보여준다. 이는 이미지가 상당히 축소된 크기로 표시될 때 유용하다. Q 계수 대신 PSNR을 사용하여 주어진 이미지 품질에 대한 더 나은 양자화 행렬을 생성하는 방법은 Minguillón & Pujol (2001)에 설명되어 있다.
JPEG JPEG 압축의 효과
중간 품질 사진은 비압축 이미지에 필요한 저장 공간의 4.3%만 사용하지만, 세부 정보 손실이나 눈에 띄는 아티팩트가 거의 없다. 그러나 특정 압축 임계값을 넘어서면 압축된 이미지는 점점 더 눈에 띄는 결함을 보인다. 이 임계값 효과에 대한 수학적 설명은 부호율-변형 이론 문서를 참조하라. 이러한 면에서 JPEG의 특정 한계는 비중첩 8×8 블록 변환 구조이다. JPEG 2000 및 JPEG XR과 같은 더 현대적인 디자인은 낮은 주파수 계수에 더 큰 공간적 범위를 갖는 변환을 사용하고 중첩 변환 기저 함수를 사용하여 비트 사용량이 감소함에 따라 품질 저하가 더욱 부드럽게 나타난다.
JPEG 무손실 추가 압축
2004년부터 2008년까지, 표현된 이미지를 수정하지 않고 JPEG 이미지에 포함된 데이터를 추가로 압축하는 방법에 대한 새로운 연구가 나타났다. 이는 원본 이미지가 JPEG 형식으로만 제공되고, 보관 또는 전송을 위해 크기를 줄여야 하는 시나리오에 적용된다. 표준 범용 압축 도구는 JPEG 파일을 크게 압축할 수 없다.
일반적으로 이러한 방식은 DCT 계수를 코딩하는 단순한 방식의 개선 사항을 활용하는데, 이 방식은 다음 사항을 고려하지 못한다.