상세 컨텐츠

본문 제목

JBIG Format

멀티미디어/이미지(Image)

by cepiloth 2018. 9. 4. 20:47

본문

728x90
반응형

JBIG

JBIG은 ISO/IEC 표준 11544, 그리고 ITU-T 권고안 T.82번으로 표준화된 무손실 이미지 압축 표준이다. Joint Bi-level Image Experts Group이 표준화하였다. 현재는 새로운 2값 이미지(다시 말해, 흑백 화상) 압축 표준인 JBIG2가 나와 있으며, 기존의 JBIG은 JBIG1이라고 불린다.

JBIG은 이진 이미지, 특히 팩시밀리 이미지를 압축하기 위해 개발되었다. 하지만 다른 용도로도 쓰였다. 그룹 4 (팩스) 표준보다 20% 내지 50%의 향상된 압축률을 보여주었다. 특수한 상황에서는 30배의 압축률 향상을 보여주었다. 1993년 규격화되었다.

JBIG은 IBM이 특허를 낸 일종의 산술 부호화 방식을 사용하고 있다. 이 방식은 Q-코더(Q-coder)라고 명명되어 있다. 이 방식은 바로 앞쪽의 비트(bit)나 그림의 앞 줄의 비트(bit)를 가지고 따지는 확률 계산에 기반하고 있다. 스캐닝 순서에 따라서 압축이나 압축풀기 동작이 일어나야 하므로 뒤쪽의 비트는 압축에 참조(reference)하지 않는다. 약간의 오버헤드(5%)를 추가하면 순차적 전송 기능을 지원해 준다.

디지털 이미지 제품을 위한 JBIG 기반 래스터 프린팅 아키텍처

디지털 이미지 제품 및 기술 혁신이 가속화되면서 엔트리 레벨의 컬러 레이저 프린터에서 고속 컬러 LED 프린터까지 아우르는 새로운 제품들이 워크그룹과 엔터프라이즈 시장으로 파고들고 있다. 이 글에서는 하드웨어 비용절감을 목적으로 OEM 업체들이 컬러 페이지 프린터의 설계를 최적화하기 위해 사용하는 채택요인과 기술 등을 살펴보고자 한다.

글/ Tak’ASIC, I&C 마이크로시스템(www.takasic.com))

컬러 프린팅에 대한 수요가 급증함에 따라 최근 몇 년 사이에 디지털 이미지 제품 및 기술 혁신이 가속화하고 있으며, 특히 출력 해상도와 질, 그리고 프린트 속도 면에서 놀라운 진보를 이루고 있다. 잉크젯이 컨수머 시장을 위한 주요 기술로 채택되어오는 동안 오피스 시장을 겨냥한 레이저 프린팅 기술은 빠른 속도와 저렴한 페이지 출력 이점들을 제공해왔다. 그러나 적게는 1천 달러에서 3천 달러를 호가하는 프린트 가격은 여전히 컬러 레이저 프린터의 시장 확대를 억압하는 걸림돌이다.

프린터 기술의 발달로 합리적인 가격의 제품들이 선보이기 시작하면서 SOHO 등 엔트리 레벨의 컬러 레이저 프린터에서 고속 컬러 LED 프린터까지 아우르는 새로운 제품들이 워크그룹과 엔터프라이즈 시장으로 파고들고 있다. 그 결과, 오피스 레벨의 컬러 프린터 출하량이 2002년에만 20% 이상 증가하는 등 전체 시장은 가파른 성장곡선을 그리고 있다.

많은 제품들이 래스터 프린팅 아키텍처(Raster Printing Architecture)를 채택, 시스템 자원을 이용하여 프린터의 가격을 낮추는 추세이다. 예를 들어 1천 달러의 가격 장벽을 깬 MINOLTA-QMS의 magicolor® 2300DL 프린터는, TAK’ASIC의 TAKB3 압축 프로세서가 장착된 래스터 프린터 아키텍처를 사용해 가격파괴 신화를 일궈낼 수 있었다. 이 글에서 우리는, 하드웨어 비용절감을 목적으로 OEM 업체들이 컬러 페이지 프린터의 설계를 최적화하기 위해 사용하는 채택요인과 기술을 살펴보고자 한다.

아키텍처의 변화

최근 데스크탑 프로세서 기능과 압축 기술의 진보는 새로운 종류의 고성능 저비용 프린터를 가능케 하고 있는데, 다른 한편으로 많은 경우 과거의 설계방식을 적당히 절충해서 사용하기도 한다. 모든 프린터 디자이너의 목적은 높은 품질의 출력과 고속 프린팅, 그리고 저렴한 가격 이 모두를 충족시키는 제품을 만드는 것이다. 물론 프린터 엔진의 물리적 기계구조는 이러한 목적을 달성하는 데 중요한 요소로 작용한다. 그러나 프린터의 컨트롤러 회로부분과 전체 시스템 아키텍처도 똑같이 중요한 요소이며, 이 글의 핵심이기도 하다.

인쇄속도를 최적화하기 위해서, 인쇄효율을 최대화하고 소위 ‘click to print’라고 불리는 출력 대기시간을 최소화함으로써 사용자의 만족도를 향상시키는 것이다. 이것은 사용자가 프린트 버튼을 클릭할 때부터 첫번째 페이지가 프린트 되기까지의 시간을 말한다. 프린터 컨트롤러 측면에서 보면, 페이지 내용이 프린터와 커뮤니케이션하는데 소요되는 시간과 페이지를 렌더링(Rendering)하는데 걸리는 총 시간이다.

컨트롤러 설계에 대한 두 가지 전통적인 접근법은 전체 시스템 상의 특별한 절충안을 필요로 한다. 첫번째 접근법을 우리는 ‘복잡한 프린터(Complex Printer)’ 방법론이라 부른다. 이 방식에 의하면 프린트할 내용이 인쇄를 위해 특수한(기술적인) 언어로 바뀌어서 프린터로 보내지고, 그 다음에 프린터가 이 내용을 페이지 이미지 비트맵으로 변환, 그 비트맵을 프린트하게 된다.

이 방법의 장점은 그 특수언어가 디바이스 독립적이고 사이즈를 작게 만들어 주어서 프린터로 빠르게 전송될 수 있다는 것이다. 하지만 그 특수한 기술언어를 해석하고 변환하기 위해서는 프린터 내부에 고성능의 값비싼 프로세서가 필요하다는 것이 단점이다. 사실 Apple Computer가 자사의 Apple Laserwriter로 오피스 레이저 프린터 시대를 열었을 때, 프린터를 제어하는 프로세서는 그 당시 Apple 컴퓨터가 내놓은 그 어떤 컴퓨터보다도 훨씬 강력한 성능의 것이었다.

두 번째 접근법은 ‘래스터 프린터(Raster Printer)’ 설계방식이라고 부른다. 이 방법의 장점은 점차 고성능화되는 사용자 컴퓨터의 프로세서를 이용한다는 것이다. 이 방법에 의하면 호스트 컴퓨터상에서 페이지를 빠르게 비트맵으로 변환한 다음에 완전히 변환된 페이지 비트맵을 프린터로 전송한다. 이러한 방식은 사용자 컴퓨터의 프로세서 처리능력을 사용함으로써 프린터가 고성능 프로세서를 탑재할 필요가 없으며 비용을 낮출 수 있다는 것이 장점이다. 그러나 페이지 비트맵 사이즈가 클 경우에 프린터로 이를 전송하는 시간이 오래 걸릴 수 있다.

전통적인 비손실 데이터 압축 기술이 적용되면, 이미지가 프린터로 전송되기 이전에 사이즈를 어느 정도 줄여준다. 하지만 사이즈를 줄이지 않고 이미지가 프린터로 전송되면, 특히 페이지에 이미지나 컬러 배경을 포함하고 있는 경우에는 하프톤(Hhalftoned-이미지 명암이 낮아지고 망점으로 이미지가 표현돼 또렷하지 못함)으로 출력된다. 이러한 현상은 점차 빈번해지고 있다. 최근까지는 어떤 접근법도 저비용의 고속 프린터 솔루션을 구현하는 데 성공하지 못했다. 그러나 페이지 비트맵을 효과적으로 압축하도록 고안된 데이터 압축 기술의 진보는 ‘래스터 프린터’ 방식의 위상을 확립하게 했다.

Joint Bi-level Image experts Group이 제안한 JBIG라고 불리는 새로운 압축 기술이 표준이 되었다. 이 압축방식은 특히 페이지 비트맵에 활용되어왔으며 하프톤으로 저하되는 이미지 데이터에도 매우 적합하다. 그 결과 이제 호스트 컴퓨터 상에서 페이지 비트맵을 압축하여 프린터로 빠르게 전송하고 그 내용을 복원하여 프린트 하는 것이 가능해졌다. 고속 압축복원기술은 프린터 내에 이러한 저가의 특수 목적 디바이스를 사용함으로써 실현 가능하다.

TAK’ASIC이 개발한 TAKB3는 JBIG을 구현하기 위한 특수목적 디바이스로서 프린터 시장에서 성공적으로 적용돼 호평을 받고 있다. JBIG 알고리즘이 저렴한 압축해제 디바이스와 결합하면 래스터 프린터 방식으로 설계된 고속의 저렴한 프린터를 구현할 수 있게 된다. 이제 JBIG 알고리즘과 래스터 프린터 설계, 그리고 TAK’ASIC의 압축해제 엔진에 대해 자세히 살펴보자.

JBIG 표준이란

JBIG 표준이란 스캔 문서나 랜더링된 문서와 같은 흑백 이미지 데이터를 위해 최적화된 비손실 압축복원 알고리즘을 일컫는다. 범용화된 JPEG과 MPEG을 개발한 것처럼 JBIG 표준도 규격화를 위한 노력의 일환으로 개발되었으며, 팩스 표준의 확장된 것으로 취급돼 왔다.
JBIG 표준의 목적은 팩스에 사용되는 MH/MR/MMR처럼 흑백 데이터를 압축하는 데 널리 사용되어왔던 기존 알고리즘보다 훨씬 높은 압축률을 가능케 하는 비손실 압축 알고리즘을 개발하는 것이었다. 또한 하프톤되는 데이터와 아시아 문자 데이터처럼 여타의 알고리즘이 압축하는데 실패한 데이터 압축을 실현하는 것이었다. 높은 압축률은 동일한 문서가 보다 빠르게 전송되고 적은 공간에 저장할 수 있음을 의미한다.

그러나 여기서 두 가지 의문점이 생긴다. 왜 흑백 이미지 데이터를 위한 특별한 알고리즘이 필요한가와 팩스에 사용되었던 알고리즘의 단점은 무엇인가 하는 것이다. 흑백 이미지 데이터가 특별한 알고리즘을 필요로 하는 이유는 이미지가 비트맵 이미지처럼 저장되어 각각의 픽셀이 싱글 비트에 의해 표현된다는 데 있다. 이러한 비트들은 페이지의 픽셀들과 일대일 대응이 되므로 비트들 사이에는 3차원적인 관계가 있다. 이 3차원적 관계는 비손실 압축률이 앞서 처리된 픽셀로부터 현재 픽셀을 예측할 수 있게 해주므로 매우 중요하다. 정확하게 현재 픽셀을 예측할 수 있다면 더 높은 압축률도 가능하기 때문이다. 그러기 위해서는 해당 페이지의 픽셀 레이아웃 정보가 최하위 레벨에서 알고리즘과 결합되어야 한다.

JBIG 알고리즘은 효과적인 압축을 가능케 하는 픽셀 이미지 기반의 비트를 갖고 있다. 여타의 압축 알고리즘들은 바이트 기반이며, 비트맵 이미지를 바이트들의 집합체로 해석하므로 비트기반 알고리즘과 같은 장점을 취할 수 없다. 따라서 JBIG처럼 높은 압축률을 기대하긴 어렵다. 또한 바이트 기반의 알고리즘들은 페이지 비트맵 데이터를 간결하게 압축하는데 몇 가지 문제점을 안고 있는데, 종종 비트맵 이미지의 대상들이 바이트 경계선에 놓여있지 않게 되므로 높은 압축률을 얻기 위해서는 바이트 패턴을 반복하는데 의존하는 수밖에 없다.

JBIG과 같이 팩스에 사용되는 알고리즘들은 이미지 기반의 흑백 비트를 처리하도록 설계되었고, 이 때문에 페이지 구조의 장점을 취할 수 있다. 팩스에 사용되는 표준 알고리즘들에 대한 문제점은 유연성이 없다는 것이다. 이것은 그 알고리즘들이 일반적인 페이지 형식에만 맞게 설계되고 최적화되어 있기 때문이며, 유연성을 갖기 위해서는 절충안을 마련해야 한다. 표준 팩스 압축 알고리즘은 때때로 알고리즘과 맞지 않는, 이를테면 하프톤되는 이미지나 아시아 문자들, 또는 폰트가 다른 경우에 압출률이 낮아지기도 한다.

JBIG이 이러한 경우에 맞게 개조된다면 놀라운 효과를 거두게 될 것이다. JBIG을 개조하는 방법은 두 가지로 나눌 수 있는데, 하나는 JBIG의 중심부에 예고장치가 있어 특정 컨텐츠로 바꾸는 것이고, 또 다른 하나는 픽셀 템플릿을 수정하여 하프톤 패턴에 맞게 압축률을 높이는 것이다. 그 결과, JBIG은 어떤 페이지 내용에 대해서도 최적화된 예측능력을 갖게 되며, 심지어 JBIG 표준의 설계자들조차 예상하지 못한 특수한 내용에 대해서도 이러한 예측이 가능하다.

JBIG으로 가능해지는 고성능 압축에서 마지막 핵심은, 엔트로피 코더(Entropy Coder)이다. 모든 압축 알고리즘의 중심에는 엔트로피 코더가 있는데, 알고리즘의 예측 단계에서 정보를 취하고 그 정보를 고효율 압축 버전으로 생성해내는 역할을 한다. 이러한 예측들이 더 정확할수록 데이터 압축률은 더 높아진다. JBIG에서 이미지 데이터와 관련 예측들은 각각의 비트 기반에서 생성된다. 동시에 엔트로피 코더는 이 정보 비트를 받아들여야 하고 그 다음에는 압축된 코드묶음을 언제 출력할지 결정해야 하는데, 이 때 데이터의 압축된 코드묶음은 입력비트 대비 1비트 보다 작아야 한다. 하지만 이러한 수준의 압축이 가능한 엔트로피 코딩 알고리즘들이 그리 많지는 않다. 비트기반의 데이터 묶음을 바이트나 워드로 분해하거나 입력비트 대비 1비트보다 작은 데이터로 바꾸는 것은 언뜻 불가능해 보이기도 한다.

그러나 JBIG 중심부의 엔트로피 코더는 이를 가능케 해준다. 여기에 사용되는 알고리즘은 ‘Q-Coder’라고 불리는데, 산술연산 코딩(Arithmetic Coding)이라고 불리는 방식의 고속 버전이다. 이 알고리즘에 대한 자세한 사항은 이 글의 범위를 벗어나는 것이므로 이 글의 마지막 부분에 언급한 참조문헌을 참고하기 바란다. 주목해야 할 점은 이러한 타입의 엔트리 코더가 가능한 최적의 것이라는 데 있다. 결과적으로 JBIG의 예측 단계에서 만들어진 Q-Coder 알고리즘이 가능한 가장 작은 데이터 묶음을 생성할 것이다.

래스터 프린터 아키텍처

JBIG에 대한 우리의 관심은 저렴한 고성능 프린터를 구현하고자 하는 희망에서 촉발된 것이다. 결국 컨트롤러에서 하드웨어의 비용을 최소화하고 프린터 처리량은 최대화하는 게 우리의 목적이다. 도입부에서 기술했듯이, 이를 성취하는 한가지 방법은 사용자의 컴퓨터에 있는 컴퓨팅 성능을 사용해서 페이지를 비트맵 이미지로 변환한 후에 이 비트맵 이미지를 프린터로 보내는 것이다. 하지만 비트맵 이미지 사이즈가 상당히 클 경우에 이미지 전송시간이 오래 걸리는 것이 전통적인 문제점이다. 이로 인해 프린팅 출력성능을 저하시키고 네트워크 대역폭을 방해하게 된다. 컬러 프린터에서는 네 개의 비트맵, 즉 Cyan, Magenta, Yellow, Black이 전송되기 때문에 이러한 문제점이 더 심각하다. 예를 들어 8X10인치의 컬러 사진은 600dpi 프린터에서 약 14.4메가바이트를 필요로 하며, 1200dpi 프린터에서는 4배에 가까운 57.6메가바이트가 필요하다.

핵심은, 페이지 비트맵 사이즈를 줄이는 것이다. 이것은 비손실 흑백 압축 알고리즘에 의해 가능하다. JBIG은 페이지 비트맵에 적합하게 설계되었으므로 이러한 애플리케이션에 이상적이며, 하프톤되는 이미지나 아시아 문자 등이 포함된 다양한 데이터들도 효과적으로 압축해준다. 하프톤된 페이지 데이터에는 사진 이미지뿐 아니라 컬러 프리젠테이션 슬라이드도 포함된다. 컬러 배경이 있는 슬라이드가 출력되려면 데이터 전체 페이지가 하프톤으로 되어 프린터로 전송되어야 한다. JBIG의 압축 성능은 최소화된 데이터가 프린터로 전송됨을 의미하고, 이것이 래스터 프린터 아키텍처를 가능하게 만드는 것이다. 만약, 프린터 내에 있는 고성능 프로세서를 제거할 수 있다면, 이 아키텍처를 저가에 구현하는 것이 가능해진다.

JBIG 해제기술은 저렴하면서도 고성능의 프린터를 위한 아키텍처를 실현시켜주는 핵심기술이다. 언뜻 보면 값싼 임베디드 프로세서 상에서 소프트웨어를 이용해 JBIG 복원을 하는 것이 해결책이라고 볼 수 있을 것이다. 사실 JBIG 복원기술의 기본 작용은 지나치게 복잡하지 않은, 가능한 수준의 것이다.

하지만 두 가지 걸림돌이 있다. 첫번째는 JBIG이 비트 기반이라는 것이다. 이것은 기본적인 복원작용이 개개의 비트 상에서 일어남을 의미한다. 대부분의 마이크로프로세서들이 바이트나 워드를 동시에 처리하도록 최적화되었기 때문에 비트 기반 프로세싱에는 최적화되어있지 못하므로, JBIG을 구현하는데 시간이 오래 걸린다. 두번째 걸림돌은, 레이저 프린터는 강력한 고성능의 컨트롤러가 필요하다는 것이다. 페이지가 프린터 메커니즘을 통해 이동하기 시작한 후에는 멈추거나 속도가 느려져서 안되며 계속해서 진행되어야 한다. 즉, 페이지 데이터가 레이저 속도보다 뒤쳐지지 않을 만큼 충분히 빠른 속도로 복원되어야 한다. 저전력 프로세서와 소프트웨어만으로는 이를 구현하기 어렵다. 이 문제해결의 열쇠는, JBIG 알고리즘 구현에 맞도록 특별히 설계된 저가의 Co-프로세서, TAK’ASIC의 TAK’3가 바로 그것이다.

TAK’ASIC의 TAK’B3 압축 프로세서

TAKB3는 강력한 성능과 저렴한 가격, 그리고 사용이 간편한 JBIG 이미지 프로세싱 솔루션이다. TAK’B3는 JBIG과 팩스용 G3/G4 ITU-T 추천사양, 그리고 ISO 표준에 맞게 최적화된 솔루션이다. 현재 업계에서 가장 강력한 코덱이며, A4 사이즈/600dpi 해상도의 이미지를 최소 분당 205 페이지 출력 가능한 성능을 제공한다. 또한, 고유의 멀티 태스킹 기능은 내장된 코텍 엔진 공유를 허용한다. 이러한 특징들이 TAK’B3가 다양한 컬러 이미지 처리에 가장 강력한 솔루션임을 입증한다. 아울러 멀티태스킹이 가능한 TAK’B3는 동시에 스캐닝과 프린팅 기능을 수행하는 복합기에도 효과적인 솔루션이다. 내부에 집적된 메모리로 인하여 한 사이클의 지연만으로 스위칭이 가능하고 내부 상태의 자동적인 관리가 가능하다.

TAK’B3는 사용이 간편하고 고객의 시스템 펌웨어와 인터페이스 할 수 있도록 C/C++ API 소프트웨어 풀세트를 무료로 제공한다. TAK’B3는 이미지 소스를 자동으로 측정해 페이퍼 사이즈를 예측하고 CCITT G3/G4 이미지를 가장 효과적인 JBIG 포맷으로 자동 변환하는 등 프린터/복사기/팩스/복합기에 최적화된 기능을 수행한다. 이러한 서로 다른 모드들은 완벽한 속도로 처리되므로 외부 CPU 자원들을 감소시켜준다.

TAK’B3 I/O 인터페이스는 버스트 모드와 풀 듀플렉스 DMA 동작에 최적화돼 있다. 또한 최적의 시스템 통합을 위한 big/little endian(컴퓨터 기억장소에서 저장되는 데이터 배열 방식) 동작도 지원한다. 자체 내장된 메모리와 내부 PLL이 특징인 TAK’B3는 외부 하드웨어 부품들을 제거해줌으로써 가장 비용효과적인 솔루션이다.

이 글의 목적은 저가이면서도 고성능인 프린터 시스템을 구현해주는 설계방법을 살펴보는 것이었다. 해결책은 프린터 컨트롤러의 가격을 낮추는 것이다. 우리는 사용자의 컴퓨터의 컴퓨팅 성능을 이용해서 페이지 비트맵을 렌더링한 다음, 압축형태로 프린터로 보내는 방식인 ‘래스터 프린터’ 아키텍처의 세부사항들을 살펴보았다. 프린터 컨트롤러의 역할은 단지 페이지 비트맵을 받아서 복원하기만 하기 때문에 단순하다. JBIG 압축 알고리즘은 이러한 종류의 페이지 데이터를 비손실 압축하도록 최적화된 표준이며, 이를 지원하는 이미지 프로세서, TAK’ASIC의 TAK’B3 JBIG 코덱을 이용하면 고속의 JBIG 복원을 실행하는 래스터 프리팅 아키텍처 제품을 저가에 구현할 수 있다.

참고자료

  1. ‘Offer Color Printing’, The 2003 Lyra Imaging Symposium, Lyra Research, January 21, 2003.

  2. ‘Introduction to JBIG’, comp.compression Frequently Asked Questions, (part 2/3), http://www.faqs.org/faqs/compression-faq/part2/section-5.html

  3. ‘Progressive Bi-level Image Compression, Revision 4.1’, ISO/IEC JTC1/SC2/WG9, CD 11544, September 16, 1991.

  4. ‘An overview of the basic principals of Q-coder adaptive binary arithmetic coder’, W.B. Pennebaker, J.L. Mitchell, G.G. Langdon, R.B. Arps, IBM Journal of research and development, Vol.32, No.6, November 1988, pp.771-726

728x90
반응형

'멀티미디어 > 이미지(Image)' 카테고리의 다른 글

OS/2 BMP(BITMAP)  (0) 2018.09.04
JPEG  (0) 2018.09.04
JPEG2000  (0) 2018.09.04
PNG  (0) 2018.09.04
Window Mata File(WMF, EMF)  (0) 2018.09.04

관련글 더보기

댓글 영역