맨위로가기

JBIG2

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

JBIG2는 텍스트, 하프톤 이미지 및 일반 데이터의 압축을 위한 파일 형식이다. 텍스트 영역은 기호 패턴을 인식하여 압축하고, 하프톤 이미지는 회색조로 변환 후 압축하며, 나머지 영역은 산술 부호화 알고리즘을 사용한다. PDF 파일 형식에서 지원되며, 다양한 오픈 소스 디코더와 인코더가 존재한다. 텍스트 이미지 데이터 압축에는 패턴 매칭 및 대체(PM&S)와 소프트 패턴 매칭(SPM) 방식이 사용되며, 하프톤 이미지는 산술 부호화 또는 비트맵 패턴 인덱싱을 통해 압축된다. JBIG2는 MQ 코더를 포함한 산술 부호화 또는 허프만 부호화를 사용할 수 있다. JBIG2는 특허를 받았다. 하지만 일부 구현에서 문자 치환 오류가 발생할 수 있으며, 취약점을 악용한 사례도 보고되었다.

더 읽어볼만한 페이지

  • 화상 압축 - JPEG
    JPEG은 정지 화상의 디지털 압축 및 코딩을 위한 국제 표준이자 이를 만든 위원회의 이름으로, 1992년 최초 표준 발표 이후 웹 환경에서 널리 사용되는 이미지 형식이 되었다.
  • 화상 압축 - PNG
    PNG는 GIF의 단점을 보완하여 개발된 무손실 압축 방식의 그래픽 파일 형식이며, 높은 색상 표현과 투명도를 지원하고, 8바이트 시그니처와 이미지 정보를 담은 청크들로 파일 구조가 구성된다.
  • 손실 압축 알고리즘 - JPEG
    JPEG은 정지 화상의 디지털 압축 및 코딩을 위한 국제 표준이자 이를 만든 위원회의 이름으로, 1992년 최초 표준 발표 이후 웹 환경에서 널리 사용되는 이미지 형식이 되었다.
  • 손실 압축 알고리즘 - VP9
    VP9는 구글이 개발한 오픈 소스 비디오 코덱으로, VP8보다 압축 효율을 높이고 HEVC보다 나은 성능을 목표로 개발되었으며, WebM 형식으로 사용되고 주요 웹 브라우저와 넷플릭스, 유튜브 등에서 지원했으나 AV1의 등장으로 개발이 중단되었다.
  • 무손실 압축 알고리즘 - VP9
    VP9는 구글이 개발한 오픈 소스 비디오 코덱으로, VP8보다 압축 효율을 높이고 HEVC보다 나은 성능을 목표로 개발되었으며, WebM 형식으로 사용되고 주요 웹 브라우저와 넷플릭스, 유튜브 등에서 지원했으나 AV1의 등장으로 개발이 중단되었다.
  • 무손실 압축 알고리즘 - FLAC
    FLAC은 조시 콜슨이 개발한 무손실 오디오 코덱으로, 원본 음질을 유지하면서 파일 크기를 줄이기 위해 오디오 데이터를 압축하며, 4~32비트 샘플 크기, 최대 8 채널을 지원하고, 미국 국립 문서 기록 관리청에서 디지털 오디오에 선호되는 형식으로 지정되었다.
JBIG2 - [IT 관련 정보]에 관한 문서
개요
JBIG2
종류이미지 압축 파일 포맷
개발Joint Bi-level Image Experts Group
표준ITU-T T.88, ISO/IEC 14492
기술 정보
용도이진 이미지 (bi-level image) 코딩
특징손실/비손실 압축 지원
포함 가능Portable Document Format, 팩스

2. 기능

JBIG2 인코더는 입력 이미지를 텍스트 영역, 하프톤 이미지 영역, 기타 데이터 영역으로 분할한다. 텍스트 및 하프톤이 아닌 영역은 일반적으로 MQ 코더라는 상황 의존적인 산술 부호화 알고리즘을 사용하여 압축된다.

텍스트 영역은 전경 픽셀을 기호(일반적으로 텍스트의 문자에 해당)로 그룹화하여 압축한다. 유사한 기호는 하나의 대표 기호로 묶어 사전을 생성하고, 이를 기반으로 각 기호의 위치 정보를 저장한다. 손실 압축의 경우 유사한 기호 간의 차이는 무시될 수 있으며, 무손실 압축의 경우 다른 유사 기호를 템플릿으로 사용하여 유사한 기호를 압축하여 고려한다.[4]

하프톤 이미지는 회색조 이미지를 재구성한 다음, 이 이미지를 하프톤 패턴 사전과 함께 전송하여 압축할 수 있다.[4] JBIG2가 텍스트를 압축하는 데 사용하는 알고리즘은 DjVu 파일 형식에서 사용되는 JB2 압축 방식과 매우 유사하다.

PDF 파일 버전 1.4 이상은 JBIG2 압축 데이터를 포함할 수 있다. JBIG2를 위한 오픈 소스 소프트웨어 디코더로는 jbig2dec[5](AGPL), 자바 기반 jbig2-imageio[6](Apache-2), 자바스크립트 기반 jbig2.js[7](Apache-2), 그리고 Xpdf와 Poppler에서 발견된 Glyph & Cog LLC의 디코더[8] (둘 다 GPL)가 있다. 오픈 소스 인코더는 jbig2enc[9](Apache-2)이다.

2. 1. 텍스트 이미지 데이터 압축

JBIG2는 인간의 시각적 인지 특성을 이용하여 텍스트 이미지 데이터를 압축한다. 즉, 픽셀 단위로는 정확히 일치하지 않더라도, 사람이 동일한 문자로 인식하는 경우, 하나의 대표 비트맵만 코딩하고 나머지는 위치 정보만 기록한다. 텍스트 이미지 데이터 압축에는 두 가지 방식이 사용된다.[10]

'''패턴 매칭 및 대체'''(PM&S)는 더 고전적인 코딩 방식이다. 인코더는 이미지 분할을 수행하여 문자 크기 조각을 분리한다. 각 조각에 대해 인코더는 비트맵 사전에서 일치하는 항목을 찾는다. 일치하는 항목이 있으면 사전에서 해당 대표 비트맵의 인덱스와 페이지에서 문자의 위치를 코딩한다. 위치는 일반적으로 이전에 코딩된 다른 문자를 기준으로 한다. 일치하는 항목이 없으면 분할된 픽셀 블록이 직접 코딩되어 사전에 추가된다. PM&S 방식은 뛰어난 압축을 달성할 수 있지만 이미지 해상도가 낮으면 프로세스 중에 대체 오류가 발생할 수 있다.[11]

JBIG2는 선택적 '''소프트 패턴 매칭'''(SPM)으로 PM&S를 개선한다. 동일한 분할 및 검색이 수행되지만, 발견된 각 일치 항목에 대해 인코더는 해당 사전 항목뿐만 아니라 실제 조각과 사전 조각 간의 차이를 설명하는 ''세부 데이터''를 저장한다. 이렇게 하면 대체 오류가 크게 줄어든다.[10] SPM은 아주 적은 양의 데이터만 추가한다.[11]

2. 2. 하프톤 이미지 압축

하프톤 이미지는 두 가지 방법으로 압축할 수 있다.[4] 첫 번째 방법은 인접한 픽셀 간의 상관 관계를 얻기 위해 템플릿 픽셀을 적응적으로 배치하는 산술 부호화 알고리즘과 유사하다. 두 번째 방법은 하프톤 이미지에 대해 디스크리닝을 수행하여 이미지를 다시 회색조로 변환하는 것이다. 그런 다음 변환된 회색조 값은 하프톤 비트맵 사전에 포함된 고정 크기의 작은 비트맵 패턴의 인덱스로 사용된다. 이를 통해 디코더는 서로 인접한 인덱싱된 사전 비트맵 패턴을 제시하여 하프톤 이미지를 성공적으로 렌더링할 수 있다.[10]

2. 3. 엔트로피 부호화

JBIG2는 텍스트, 하프톤, 일반 영역을 부호화할 때 산술 부호화 또는 허프만 부호화를 사용할 수 있다. 특히 JBIG2는 JPEG 2000과 동일한 엔트로피 인코더인 MQ 코더를 사용한다.[4]

3. 기술적 상세

2레벨 이미지는 대량의 텍스트와 하프톤 데이터로 구성되며, 동일한 모양이 반복적으로 나타나는 경향이 있다. JBIG2는 이미지를 텍스트, 하프톤, 일반 영역으로 분할하여 각 영역에 맞는 압축 방식을 적용한다.

이상적으로, JBIG2 인코더는 입력 페이지를 텍스트 영역, 하프톤 이미지 영역, 기타 데이터 영역으로 분할한다. 텍스트와 하프톤이 아닌 영역은 일반적으로 MQ 코더라는 상황 의존적인 산술 부호화 알고리즘을 사용하여 압축된다.

텍스트 영역은 다음과 같이 압축된다. 먼저 영역의 전경 픽셀을 기호로 그룹화한다. 그런 다음 기호 사전을 생성하고 인코딩하는데, 여기에도 상황 의존적인 산술 부호화가 사용된다. 마지막으로, 영역은 어떤 기호가 어디에 나타나는지 설명하여 인코딩된다. 일반적으로 기호는 텍스트의 문자에 해당하지만, 반드시 그래야 하는 것은 아니다. 손실 압축의 경우 유사한 기호(예: 동일한 글자의 약간 다른 인상) 간의 차이는 무시될 수 있다. 무손실 압축의 경우, 이 차이는 다른 유사 기호를 템플릿으로 사용하여 유사한 기호를 압축하여 고려한다.

하프톤 이미지는 하프톤을 생성하는 데 사용된 회색조 이미지를 재구성한 다음, 이 이미지를 하프톤 패턴 사전과 함께 전송하여 압축할 수 있다.[4]

전반적으로, JBIG2가 텍스트를 압축하는 데 사용하는 알고리즘은 DjVu 파일 형식에서 바이너리 이미지를 코딩하기 위해 사용되는 JB2 압축 방식과 매우 유사하다.

4. 특허

JBIG2 관련 특허는 IBM미쓰비시가 소유하고 있으며, 요청하면 무료 라이선스를 사용할 수 있다. JBIG와 JBIG2 특허는 서로 다르다.

5. 문제점 및 논란

JBIG2 압축 방식, 특히 손실 압축을 사용하면 스캔된 문서에서 문자 치환 오류가 발생할 수 있다. 이는 압축 과정에서 유사한 모양의 문자를 혼동하여 발생하는데, 예를 들어 "6"이 "8"로 바뀌는 경우가 있다.[17][18][19] 이러한 오류는 압축 인공물이 흐림[16] 또는 모스키토 노이즈처럼 명확하게 나타나는 다른 압축 알고리즘과 달리, 눈에 잘 띄지 않게 텍스트를 변경할 수 있다.

2013년, 제록스 복사기 및 프린터에서 JBIG2 압축으로 인한 문자 치환 오류가 보고되었다.[17][18][19] 건설 청사진, 숫자 표,[17][18][19] 의약품 처방전[17][18][19] 등 다양한 문서에서 이러한 문제가 발생할 수 있으며, 심각한 결과를 초래할 수 있다. 독일 컴퓨터 과학자 데이비드 크리젤(David Kriesel)은 이러한 문제점을 발견하고 제록스와 함께 조사했다.[20][21]

제록스는 소프트웨어 결함을 인정하고,[22] 2013년 8월에 패턴 매칭을 자동으로 비활성화하는 소프트웨어 패치를 제공했다.[22] 그러나, 영향을 받는 장치에 대한 리콜이나 강제 업데이트는 이루어지지 않았다.[22] 이전에 스캔된 문서는 오류를 포함하고 있을 가능성이 있어 진위 여부를 확인하기 어려울 수 있다.

이러한 문제점 때문에 일부 국가에서는 JBIG2 사용에 주의를 기울일 것을 권고하거나 사용을 금지하는 지침을 발표했다.[23] 독일 연방 정보 보안청은 JBIG2 인코딩을 "교체 스캔"에 사용해서는 안 된다는 기술 지침을 발표했고,[24] 스위스 전자 문서 영구 보존 조정 사무소는 PDF 문서를 만들 때 JBIG2 사용을 권장하지 않았다.[25]

6. 취약점 및 악용 사례

Xpdf 구현에 있는 JBIG2의 취약점이 애플의 iOS 운영 체제에서 재사용되었으며, 이는 페가수스 스파이웨어가 JBIG2 스트림 내에 에뮬레이션된 컴퓨터 아키텍처를 구축하여 아이폰에 대한 제로 클릭 공격을 구현하는 데 사용되었다. 애플은 2021년 9월 iOS 14.8에서 이 "FORCEDENTRY" 취약점을 수정했다.[26]

참조

[1] 간행물 Press release from the Joint Bi-level Image experts Group http://www.jpeg.org/[...]
[2] 웹사이트 ITU-T Recommendation T.88 – T.88 : Information technology - Coded representation of picture and audio information - Lossy/lossless coding of bi-level images http://www.itu.int/r[...] 2011-02-19
[3] 웹사이트 ISO/IEC 14492:2001 – Information technology – Lossy/lossless coding of bi-level images http://www.iso.org/i[...] 2011-02-19
[4] 논문 JBIG2-the ultimate bi-level image coding standard 2000
[5] 웹사이트 jbig2dec https://jbig2dec.com
[6] 웹사이트 jbig2-imageio https://github.com/l[...]
[7] 웹사이트 jbig2.js https://github.com/m[...]
[8] 웹사이트 JBIG2Stream https://cgit.freedes[...]
[9] 웹사이트 jbig2enc https://github.com/a[...]
[10] 논문 "JBIG2-the ultimate bi-level image coding standard" 2000
[11] 논문 "The emerging JBIG2 standard" 1998-11
[12] 웹사이트 jbig2enc: Documentation https://github.com/a[...]
[13] citation What is the patent situation with JBIG? http://www.jpeg.org/[...]
[14] citation What is JBIG2? http://www.swiftview[...] 2012-04-07
[15] citation JBIG2 patents http://www.archivum.[...] 2012-04-07
[16] 서적 Proceedings 2002 International Conference on Image Processing http://signal.ece.ut[...] 2002
[17] 웹사이트 Xerox scanners/photocopiers randomly alter numbers in scanned documents http://www.dkriesel.[...] 2013-08-02
[18] 뉴스 Confused Xerox copiers rewrite documents, expert finds https://www.bbc.co.u[...] 2013-08-06
[19] 웹사이트 Xerox Scanners / Photocopiers Randomly Alter Numbers http://fontfeed.com/[...] 2013-08-05
[20] 웹사이트 Xerox investigating latest mangling test findings http://www.dkriesel.[...] 2013-08-11
[21] citation Update on Scanning Issue: Software Patches To Come http://realbusinessa[...] Xerox (blog) 2013-08-11
[22] 간행물 Scanning and Compression White Paper https://web.archive.[...] 2013
[23] 웹사이트 Video and Slides of my Xerox Talk at 31C3 https://www.dkriesel[...] 2016-07-31
[24] 웹사이트 BSI Technical Guidelines 03138: Replacement Scanning https://www.bsi.bund[...] 2021-12-28
[25] 웹사이트 JBIG2 Compression https://kost-ceco.ch[...] 2021-12-28
[26] 웹사이트 Project Zero: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution https://googleprojec[...] 2021-12-15
[27] 간행물 Press release from the Joint Bi-level Image experts Group http://www.jpeg.org/[...]
[28] 웹사이트 ITU-T Recommendation T.88 – T.88 : Information technology - Coded representation of picture and audio information - Lossy/lossless coding of bi-level images https://www.itu.int/[...] 2011-02-19
[29] 웹사이트 ISO/IEC 14492:2001 – Information technology – Lossy/lossless coding of bi-level images http://www.iso.org/i[...] 2011-02-19
[30] 논문 JBIG2-the ultimate bi-level image coding standard 2000
[31] 웹사이트 jbig2dec home page http://jbig2dec.sour[...]
[32] 웹사이트 open source jbig2 plugin for Java's ImageIO https://code.google.[...]
[33] 웹사이트 jbig2enc home page http://www.imperialv[...]
[34] 논문 "The emerging JBIG2 standard" 1998-11
[35] citation What is the patent situation with JBIG? http://www.jpeg.org/[...]
[36] 웹사이트 What is JBIG2? http://www.swiftview[...] 2012-04-07
[37] 웹사이트 JBIG2 patents http://www.archivum.[...] 2012-04-07
[38] 논문 No-reference perceptual quality assessment of JPEG compressed images http://signal.ece.ut[...] 2002
[39] 웹사이트 Xerox scanners/photocopiers randomly alter numbers in scanned documents http://www.dkriesel.[...] 2013-08-02
[40] 뉴스 Confused Xerox copiers rewrite documents, expert finds http://www.bbc.co.uk[...] BBC News 2013-08-06
[41] 웹사이트 http://fontfeed.com/[...]
[42] 웹사이트 Xerox investigating latest mangling test findings http://www.dkriesel.[...] 2013-08-11
[43] 웹사이트 Update on Scanning Issue: Software Patches To Come http://realbusinessa[...] Xerox (blog) 2013-08-11
[44] 웹사이트 Video and Slides of my Xerox Talk at 31C3 https://www.dkriesel[...] 2016-07-31



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com