하프토닝 (Halftoning)

 

 디지털 이미지 하프토닝(digital image halftoning)이란 스캔한 사진이나 컴퓨터 그래픽처럼 여러 레벨의 밝기 값을 가지는 영상으로부터 흑백의 이진 영상을 만드는 기술이다[1]. 하프톤 된 영상은 흑색과 백색으로만 표현이 된다. 그러나 인간이 하프톤 영상을 보면 시각과 뇌의 작용에 의해 공간적으로 적분이 일어나게 되어 마치 저역 통과 필터를 거친 것과 같은 효과가 나서 연속계조의 영상으로 인식하게 된다. 일반적으로 하프토닝은 저 해상도의 프린터에서 고화질의 출력 영상을 얻기 위해 사용되며 현재에는 칼라 잉크젯 프린터의 보급으로 기존의 흑백 영상을 표현하기 위한 다양한 하프토닝 기법들이 연구되고 있다[2].

 

 

그림 1. 원 영상에서 바이너리 영상을 만드는 하프토닝 과정.

 

그림 2. 원 영상에서 바이너리 영상을 만드는 하프토닝 기술.

 

 

칼라 프린팅 디더링
(Dithering)

 

 칼라 프린팅을 위한 디더링 기법은 제한된 명암도를 이용하여 더 많은 명암도의 영상을 표현하기 위한 방법이다. 이러한 디더링들의 목표는 밝기 해상도 차이에서 발생하는 인공 결점들을 제거하여 고화질의 영상을 얻는 것이다. 따라서 현재 사용되고 있는 대부분 프린팅 장비들은 두 단계의 명암도만을 표현하므로 디더링 과정이 요구된다. 한편, 칼라 프린팅은 디지털 하프토닝(halftoning) 방식을 사용하는 프린터에서 제한된 수의 칼라로써 연속적으로 채색된 영상을 만들어 내기 위해 화소들의 패턴을 만들어 가는 과정이다[2]. 이 과정에서 사용하는 칼라 수의 감소는 단지 밝기 해상도의 감소뿐만 아니라 프린트하는 색의 열화 현상을 발생시키므로 화질 개선을 위해서는 색의 보상 과정이 필요하다.

 

그림 3. 칼라 프린팅을 위한 디더링 과정.

 

 

순서 디더링 (Ordered Dither)

 

 순서 디더링은 미리 정해 놓은 임계 행렬을 이용하여 화소의 이진값을 결정하기 때문에 속도가 빠른 장점이 있다. 그러나 저 해상도 프린터에서는 고정된 임계값을 사용하기 때문에 시각에 거슬리는 규칙적인 패턴에 의한 화질의 열화가 발생한다[3]. 이러한 방법에는 도트들의 클러스터를 형성하게 하는 클러스터 도트 순서 디더링(clustered dot ordered dither) 방법과 도트들이 흩어지도록 형성하는 디스펄스 도트 순서 디더링(dispersed dot ordered dither) 방법이 있다.

 

그림 4. 단색 디더링 패턴.

 

 

그림 5. 멀티 레벨 디더링 패턴.

 

 

 

그림 6. 순서 디더링 결과 영상.

 

 

오차 확산법 (Error Diffusion)

 

 오차 확산법은 화소의 이진화로 인한 양자화 오차를 주위의 화소로 확산시키는 방법이다. 경계부분이 명료하고 우수한 화질의 영상을 얻을 수 있다. 그러나 수행 속도가 비교적 느리고 어두운 영역과 밝은 영역에 벌레 모양의 패턴(worm-like pattern)이 나타나는 단점이 있다[4],[5]. 이러한 오차 확산 방법을 칼라에 적용시킬 경우 기존의 각각의 칼라에 대한 상관 관계를 고려하지 않고 독립적으로 양자화 오차를 확산하는 스칼라 오차 확산법과 각각의 칼라의 상관관계를 고려한 벡터 칼라 공간상에서 양자화 오차를 확산하는 벡터 오차 확산법이 있다.

 

 

그림 7. 오차 확산법 블록도.

 

 

그림 8. 오차 확산법 결과 영상.

 

 

스칼라 오차 확산법
(Scalar Error Diffusion)

 

 스칼라 오차 확산법은 각각의 칼라에 대한 상관 관계를 고려하지 않고 독립적으로 양자화 오차를 확산하는 방법이다. 각 채널별(C, M, Y)로 칼라가 독립적으로 처리되기 때문에 인간 시감 특성을 고려하지 못하게 되고 패턴의 중첩으로 인한 저주파 패턴의 잡음들이 나타나는 단점이 있다. 따라서 CMY 각각의 칼라를 동시에 고려하여 하프토닝하는 벡터 오차 확산법에 비해 비교적 영상의 화질이 떨어지게 된다.

 

 

그림 9. 칼라 영상에서 스칼라 오차 확산법.

 

 

벡터 오차 확산법
(Vector Error Diffusion)

 

 벡터 오차 확산법은 CIELAB 또는 CIEXYZ 색 공간을 이용한다. 각각의 칼라의 상관 관계를 고려한 벡터 칼라 공간 상에서 양자화 오차를 확산시킨다[6]. 벡터 오차 확산법은 스칼라 오차 확산법에서 나타나는 저주파 패턴의 잡음들을 제거할 수 있으며 보다 나은 화질의 영상을 얻을 수가 있다[7]. 그러나 양자화 과정에서 생기는 큰 오차의 확산으로 인해 경계 부분에서 제대로 색을 표현하지 못하는 단점이 있다. 이는 큰 누적된 양자화 오차를 확산 받음으로써 원하지 않는 다른 색이 표현되기 때문이다. 벡터 오차 확산법은 8개의 primary color(Red, Green, Blue, Cyan, Magenta, Yellow, Black, White)를 사용한다.

 

 

 

그림 10. 벡터 오차 확산법의 과정.

 

 

블루 노이즈 마스크
(Blue Noise Mask)

 

 블루 노이즈 마스킹 (BNM: Blue noise masking)은 오차 확산법과 순서 디더링이 적절히 결합된 기술이다. 블루 노이즈 마스크는 화소값의 비교만으로 하프토닝 처리된 결과 영상을 얻을 수 있는 방법으로서 공간 주파수에서 고주파 영역에서 평탄한 대역을 가지게 되며 블루 노이즈 특성을 가지는 이진 패턴을 생성하는 2차원의 마스크이다[8]. 여기에서 블루 노이즈란 Ulichney에 의해서 처음 사용된 용어로서 공간 주파수 상에서 고주파 성분을 뜻한다. 블루 노이즈 특성은 인간 시각에 있어서 아주 좋은 패턴을 나타내며 주기적 패턴이 나타나는 저주파수 특성과는 상반되는 개념을 가지고 있다. 오차 확산법 보다 빠르게 수행할 수 있으나 경계 부분이 분명하지 않고 노이즈가 증가하는 단점이 있다. 블루 노이즈 마스크의 방사상 평균 전력 스펙트럼을 나타내는 식은 다음과 같다[9].

 

 

             (1)

 

그림 11. 블루 노이즈 마스크의 방사상 전력 스펙트럼.

 

 

그림 12. 블루 노이즈 마스킹 결과 영상.

 

 

결합 블루 노이즈 마스크

(JBNM: Jointly Blue Noise Mask)

 

 결합 블루 노이즈 마스크 (JBNM: Jointly blue noise mask) 방법은 각 칼라 채널의 패턴 중첩성을 고려하여 최대한 인간 시각에 패턴이 드러나지 않도록 만들어줌으로써 칼라 영상을 하프토닝 하는 방법이다. 하지만 기존 방법 보다 휘도 오차를 줄일 수 있으나 칼라 영상에 적용하는 방법임에도 불구하고 큰 색 오차가 나는 단점이 있다. 마스크를 만드는 과정은 초기 패턴 생성, Upward 패턴 생성, Downward 패턴 생성으로 이루어져 있다[10].

 

 

텍스트 상자: 그림 13. 결합 블루 노이즈 마스크 생성 과정. 시작점이 되는 패턴으로부터 하강단계와 상승단계로 진행.

 

그림 14. 세 개의 시작 패턴 만드는 과정.

 

 

텍스트 상자: 그림 15. 스택 조건을 만족하는 이웃 레벨 패턴. 스택 조건은 현재 레벨의 검은 점을 바탕으로 다음 레벨의 검은 점이 결정된다는 것을 의미. 세 개의 검은 점을 제거하여 한 레벨 밝은 패턴이 된 것을 예로 보여줌.

 

 

MJBNM (Modified-Jointly Blue Noise Mask)

 

  MJBNM (Modified jointly blue noise mask)는 LPF 오차와 S-CIELAB 색 오차를 동시에 고려하는 방법이다. MJBNM의 특징은 칼라 채널간의 상호작용을 고려하기 때문에 높은 질의 블루 노이즈 패턴을 얻을 수 있다. 그리고 JBNM보다 작은 색(chrominance) 오차와 시각적으로 보기 좋은 하프톤 결과를 출력한다[11]. 칼라 채널간의 패턴 상관성(correlation)을 이용하고 색 오차는 S-CIELAB를 이용하여 측정한다[12].

 

 

그림 16. S-CIELAB 색 오차 측정.

 

 

JBNM                                        MJBNM

 

텍스트 상자: 그림 17. MacBeth ColorChecher의 하프톤 영상 결과 비교. MJBNM 방법이 휘도차가 뿐만 아니라 색차도 적은 결과를 보여줌. 특히 노란색과 붉은 색이 잘 표현되면서 부드럽게 나타남을 확인할 수 있음.

 

JBNM                                     MJBNM

 

텍스트 상자: 그림 18. Bike 영상 하프톤 결과 비교. MJBNM 방법으로 하프토닝한 영상에서 커튼과 시계 부분의 색감이 더 부드럽게 표현됨.

 

 

Direct Binary Search (DBS)

 

 Direct binary search(DBS)는 검색 기반의 하프토닝 방법이다. 스크리닝(Screening)과 오차 확산법 보다 우수한 하프톤 영상을 얻을 수 있다. 오차 확산법의 경우 결과 영상이 약간의 artifact들을 가지고 있으나 DBS의 경우 toggle과 swap에 의해 최상의 하프톤 영상을 얻을 수 있다[13],[14]. 그러나 계산량이 많기 때문에 오차 확산법과 비교하여 10배 정도 느리다는 단점이 있다. 프린팅 어플리케이션에서 아주 느리게 동작한다. 영상의 질과 소요시간은 초기 패턴에 의존하지 않는다는 특징이 있다[15].

 

 

 

그림 19. DBS 알고리즘.

 

 

그림 20. DBS의 구조.

 

 원본 영상                                  DBS 하프톤

 

그림 21. DBS 하프토닝 결과 비교.

 

 

6색 칼라 하프토닝

 

Cyan, Magenta, Yellow, Black, Light Cyan, Light Magenta

 (Epson, Roland, ....)

 

Cyan, Magenta, Yellow, Black, Orange and Green

 (Pantone Hexachrome, Roland, ....)

 

 

 

그림 22. 6색 하프토닝의 예 (Light magenta).

 

 

그림 23. 칼라 하프토닝 결과 비교[16].

 

 

 

중간 계조 영역에서 낟알 무늬를 감소시키기 위한

 6색 분리 방법

 

농도가 다른 두 잉크의 조합으로 생기는 낟알 무늬 특성의 개선을 위해 밝기와 정량적인 분석에 기반해서 낟알 무늬 값을 이용한 색 분리 방법이다. 낟알 무늬 값을 계산하기 위해 S-CIELAB 공간에서 밝기와 색상의 표준 편차를 이용하여 낟알 무늬 값을 구한 후 밝기와 낟알  무늬 값을 이용한 6색 분리 과정에 적용했다. 인간 시각에 민감한 낟알 무늬 특성을 감소하여 중간 계조 영역에서 보다 부드럽고 연속적인 계조를 얻게 되었다.

 

 

그림25. 낟알 무늬 특성을 계산하기 위한 알고리즘

 


그림 25. 색차를 이용한 6색 분리 방법

 


그림 26. 제안한 밝기와 낟알 무늬 값을 이용한 6색 분리 방법

 

 

 

칼라 디더링을 위한 프린터 특성에 기반한
비선형 양자화

 

 프린팅을 위한 기존의 양자화 과정은 단지 채색되어지는 점의 개수만을 고려하여 입력 영상의 명암도를 공간 해상도에 따라서 나누어주는 선형적 양자화 방법을 사용하였다. 그러나 선형적 양자화 방법은 채색하는 프린터의 특성을 고려하지 않기 때문에 정확한 밝기 값과 색을 표현할 수 없다. 우리 연구실에서는 칼라 프린팅 과정에서 염료가 용지 위에 채색될 때 점들의 중복 면적이 발생하는 현상을 고려한 비선형 양자화 방법을 제안한다. 제안된 비선형적 양자화 방법은 인접하는 점들의 전체 채색 면적에서 중복된 채색 면적을 뺀 실제 채색 면적에 비례하여 양자화 단계를 조절한다.

 

 

 

디지털 프린터의 점이득(dot gain) 보정

 

 프린팅시 각 매질의 흡수율은 매질의 특성에 의해 많이 좌우되며 또한 같은 매질이라 할지라도 표면의 코팅 상태에 따라 크게 차이가 난다. 종이의 경우 높은 반사율과 채색으로 인한 구김방지를 위해 종이 위에 하얀 진흙이나 플라스틱 등으로 코팅을 하게 된다. 특히 플라스틱 코팅의 경우, 내부 반사율을 높이기 위해 이중막 구조로써 빛의 반사를 증가시킨다. 이렇게 흡수율이 다른 매질 위에 프린팅을 할 경우, 프린터로부터 종이 표면 위로 분사된 잉크는 종이의 흡수율에 따라 다른 크기의 도트를 갖게 된다. 이러한 도트 크기의 증대를 점이득(dot gain)이라 하며 이것은 프린팅된 종이 위에서 현저한 색의 차이를 만드는 요인이 된다. 우리 연구실에서는 이러한 매질의 차이로 인한 점이득을 채도를 바탕으로 보정하는 방법과, 점이득 보정으로 인한 명도의 변화를 추가적으로 보상하는 명도 보정에 의한 색정합 알고리즘을 제안했다.

 

 

 

Photo Text Segmentation

 

복합기 등에서 스캐너로 입력 받은 영상에 대해 텍스트 부분을 찾아 프린트 시 보다 선명하게 출력되도록 한다. 먼저 텍스트는 가로방향으로 정렬되어 있고 상하로 스트로크를 만든다는 가정하에 MGD(Maximum gradient difference)를 구하여 값이 큰 부분을 텍스트 영역으로 생각한다[17]. 텍스트 부분은 프린팅시 에지(edge)를 강조하여 선명하게 출력한다[18]. 배경에 대해서는 기존의 오차 확산법을 사용한다. 텍스트와 배경의 경계면에서 결함이 생기지 않도록 단계적으로 에지를 강조시킨다.

 

그림 24. 기존의 오차 확산법과 텍스트를 강조한 오차 확산법.

 

 

참 고 문 헌

 

[1] R. Ulichney, “Digital Halftoning,” The MIT Press, 1993.

[2] H. R. Kang, “Digital Color Halftoning”, The SPIE Optical Engineering Press, 1999.

[3] B. E. Bayer, “An optimum method for two-level rendition of continuous-tone pictures,” IEEE International Conference on Communications, vol. 1, pp. 26-11 to 26-15, 1976.

[4] K. T. Knox, “Evolution of Error Diffusion,” SPIE Conf. On Device-Independent Color Imaging, vol. 3648, pp. 448-458, Jan. 1999.

[5] R. Floyd and L. Steinberg, “An adaptive algorithm for spatial gray scale,” SID 1975 Symp. Dig. Tech. Papers, pp. 36-37, 1975.

[6] M. Kouzaki, T. Itoh, T. Kawaguchi, N. Tsumura, H. Haneishi, and Y. Miyake, “Evaluation of digital halftone image by vector error diffusion,” Proc. SPIE, 3648.

[7] S. C. Lee, Y. T. Kim, Y. H. Jo, and Y. H. Ha, "Improved Vector Error Diffusion for Reduction of Smear Artifact in the Boundary Regions," Electronic Imaging 2003, San Jose, U.S.A., vol. 5008, pp. 455-466, Jan. 2003.

[8] T. Mitsa and K. J. Parker, “Digital Halftoning Technique Using a Blue-Noise Mask,” J. Opt. Soc. Am. A, vol. 9, no. 11, pp 1920-1929, Nov. 1992

[9] Y. T. Kim, J. Y. Kim, H. S. Kim, and Y. H. Ha, “Halftoning Method by CMY Printing Based on BNM,” Eighth Color Imaging Conference: Color Science and Engineering, Scottsdale, U.S.A., pp. 252-256, Nov. 2000.

[10] M. Wang and K. J. Parker, “Properties of Jointly-Blue Noise Masks and Applications to Color Halftoning,” Journal of Imaging Science and Technology, vol. 44. no. 4, pp. 360-370, Jul./Aug. 2000.

[11] Y. S. Kwon, Y. T. Kim, H. K. Lee, and Y. H. Ha, "Modified Jointly Blue Noise Mask Approach Using S-CIELAB Color Difference," Journal of Imaging Science and Technology, vol. 46, no. 6, pp. 543-549, Nov./Dec. 2002.

[12] M. D. Fairchild, “Color Appearance Models,” Addison Wesley, 1998.

[13] M. Analoui and J. P. Allebach, “Model-based halftoning using direct binary search,” Proc. SPIE, vol. 1666, pp. 96-108, Feb. 1992.

[14] F. A. Baqai and J. P. Allebach, “Printer models and the direct binary search algorithm,” in Proc. 1998 IEEE Int. Conf. Acoustics, Speech, and Signal Processing, Seattle, WA, May 1998, pp. V-2949-V-2952.

[15] D. Kacker, T. Camis, and J. P. Allebach, “Electrophotographic process embedded in direct binary search,” IEEE Trans. Image Processing, vol. 11, pp. 243-357, Mar. 2002.

[16] Hexachrome homepage (http://www.dgc-hex.co.uk/Index.html).

[17] E. K. Wong, Minya Chen, “A new robust algorithm for video text segmentation,” Pattern Recognition, vol. 36, pp. 1397-1406, Aug. 2002.

[18] R. Eschbach, K. T. Knox, “Error-diffusion algorithm with edge enhancement”, J. Opt. Soc. Am. A, vol. 8, no. 12, Dec. 1991.