KR100200818B1 - 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법 - Google Patents

분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법 Download PDF

Info

Publication number
KR100200818B1
KR100200818B1 KR1019930025929A KR930025929A KR100200818B1 KR 100200818 B1 KR100200818 B1 KR 100200818B1 KR 1019930025929 A KR1019930025929 A KR 1019930025929A KR 930025929 A KR930025929 A KR 930025929A KR 100200818 B1 KR100200818 B1 KR 100200818B1
Authority
KR
South Korea
Prior art keywords
distance
straight line
edge
polygon
pixel
Prior art date
Application number
KR1019930025929A
Other languages
English (en)
Other versions
KR950015126A (ko
Inventor
최상길
조준형
위영철
Original Assignee
윤종용
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자주식회사 filed Critical 윤종용
Priority to KR1019930025929A priority Critical patent/KR100200818B1/ko
Priority to US08/348,130 priority patent/US5555359A/en
Publication of KR950015126A publication Critical patent/KR950015126A/ko
Application granted granted Critical
Publication of KR100200818B1 publication Critical patent/KR100200818B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/12Indexing scheme for image data processing or generation, in general involving antialiasing

Abstract

본 발명인 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법은 종래의 방법에서 사용되는 룩업테이블 메모리를 4개로 분할하여 처리함으로써 룩업테이블을 위한 메모리양을 1/16로 줄이는 효과가 있어서, 많은 양의 메모리를 주문형반도체내에 구현하는데 따른 비경제성을 개선할 수 있다.

Description

분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법
제1a도는 본 발명에서 사용되는 화면단위 및 다각형 가장자리를 도시한 도면이다.
제1b도는 서브픽셀의 마스크를 생성하기 위한 룩업테이블의 개략적인 블럭도이다.
제1c도는 마스크에 의해 출력되는 픽셀의 화면을 도시한 도면이다.
제2a도는 제1a도에 도시되어 있는 픽셀을 본 발명에서는 어떻게 처리할 것인가를 보여주는 도면이다.
제2b도는 각각의 서브블럭의 중심으로부터 다각형 가장자리의 일 직선까지의 거리를 도시한 도면이다.
제3도는 본 발명에 따른 장치의 개략적인 구성 블럭도이다.
* 도면의 주요부분에 대한 부호의 설명
200~206 : 가산기 208~214 : 룩업테이블
본 발명은 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱(Antialiasing) 방법에 관한 것으로, 특히 룩업테이블(Lookup Table; 이하 LUT라고 함)을 이용하여 서브픽셀(Subpixel)의 마스크(Mask)를 구하는 방법에 있어서 사용되는 LUT의 크기를 1/16만큼 줄이는 방법에 관한 것이다.
일반적으로 그래픽에서는 음극선관(Cathode-Ray Tube; 이하 CRT라고 함) 스크린의 디지탈화(Digitization)에 의해 목적 다각형(Object Polygon)의 가장자리(Edge)가 계단 모양으로 나타나는 경우가 있는데 이러한 현상을 제거하는 것을 앤티에일리어싱이라 한다.
앤티에일리어싱은 수퍼표본(Supersampling)방법과 면적표본(Area sampli ng)방법으로 나눌 수 있다. 수퍼표본방법은 한 픽셀내에 여러 개의 서브픽셀들에서의 칼라값을 구한 뒤 평균하여 픽셀의 칼라값을 계산한다. 면적표본방법은 픽셀내 차지하는 다각형의 면적을 계산하여 그 비율만큼의 칼라값을 계산한다.
보통 앤티에일리어싱을 하드웨어로 구현할 경우, 수행(Implementation)이 쉬운 수퍼표본방법을 사용하였으나, 쉴링(Schilling)의 설계(Scheme)는 수퍼표본방식의 단점을 보완하기 위하여 면적표본기법을 첨가한 새로운 방식이다.
Schilling의 방법은 픽셀의 중심에서 다각형의 가장자리까지의 거리(d)와 가장자리의 기울기(s)를 입력으로 하여 그 경우에 발생하는 서브픽셀 마스크를 LUT로부터 구한 뒤 '1'로 셋팅된 서브픽셀에 대하여 대응하는 프레임버퍼의 칼라값과 Z값을 갱신(update)한다.
룩업테이블에는 d와 s를 근거로 하여 다각형이 차지하는 면적에 대응하는 갯수만큼의 서브픽셀들이 픽셀내에 위치하는 다각형의 모양과 가장 근사한 모양을 갖는 서브픽셀 마스크(mask)로 저장되어 있다. 여기서, 각 픽셀의 중심과 다각형의 가장자리와의 거리 d는 가장자리함수(Edge Function)를 보간(Interpolation)함으로써 구해진다. (Andreas Schilling의 A New Simple and Efficient Antialiasing with Subpixel Masks ; Computer Graphics, Volume 25, Number 4, July 1991 pp. 133-141 참조)
제1a도는 본 발명에서 사용되는 화면단위 및 다각형 가장자리를 도시한 도면으로서, 제1a도에 도시되어 있는 화면단위로는 픽셀(100)과 서브픽셀(102)이 있는데, 본 발명에서는 픽셀은 4×4 서브픽셀로 구성되어 있다고 가정한다.
또한 제1a도에는 픽셀(100)의 중심으로부터 다각형 가장자리의 일직선까지의 거리(d)와 다각형 가장자리의 일 직선이 x축과 이루는 기울기(s)가 도시되어 있는데, 이 두변수를 이용하여 룩업테이블을 구성함으로써 원하는 화면을 출력하기 위한 각 서브픽셀의 마스크가 형성된다.
서브픽셀의 마스크를 생성하기 위한 룩업테이블의 개략적인 블럭도를 도시한 제1b도에서 보면, 룩업테이블(104)의 입력으로는 d, dex및 dey의 부호가 있는데, 여기서의 dex는 x축 증분에 따른 다각형 가장자리의 일 직선과의 거리를 나타내는 변수로서 dex의 크기는 다각형 가장자리의 일 직선의 기울기(s)에 비례하기 때문에 s의 역할을 하고, dey의 부호는 다각형의 내부인지 외부인지를 판별할 수 있게 해준다. 즉, dey의 부호가 플러스이면 다각형 가장자리의 일 직선의 윗부분이 내부라는 것을 뜻하고, 반대로 마이너스이면 다각형 가장자리의 일 직선의 아랫부분이 내부라는 것을 뜻하는 것이다.
따라서, 룩업테이블(104)에서는 입력되는 세가지 변수에 해당하는 마스크를 선택하게되고 이를 출력시킴으로써 화면에는 제1c도와 같이 표시된다.
Schilling의 앤티에일리어싱 방법은 하나의 픽셀이 4×4 서브픽셀로 구성된다고 가정할 때 룩업테이블을 위해 32K비트의 메모리가 필요하다. 고속으로 처리하기 위해서는 룩업테이블이 래스터발생부(Rasterizer Chip)내에 들어가야 하는데 많은 양의 메모리를 주문자형반도체(Application Specific Intergrated Circuit; ASIC이라고 함)내에 구현하는 것은 경제적이지 못하다.
따라서, 본 발명의 목적은 앤티에일리어싱을 수행하기 위한 룩업테이블을 구성하는데 필요한 메모리양을 줄이기 위하여 분할된 룩업테이블을 이용한 효과적인 앤티에이일리어싱 방법을 제공하는데 있다.
상기 목적을 달성하기 위하여 본 발명인 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법은 픽셀단위로 마스크처리하던 종래의 룩업테이블을 4개의 룩업테이블로 분할하여 마스크처리하기 위하여
상기 픽셀을 4개의 서브블럭으로 나누는 과정;
상기 픽셀의 중심으로부터 소정의 다각형 가장자리의 일 직선까지의 거리 및 상기 다각형 가장자리의 일 직선의 기울기로부터 상기 4개의 서브블럭의 중심으로부터 상기 다각형 가장자리의 일 직선까지의 각각의 거리를 구하는 과정;
상기 4개의 서브블럭을 중심으로부터 상기 다각형 가장자리의 일 직선까지의 각각의 거리 및 상기 기울기를 4개의 룩업테이블의 각각의 입력으로 하여 각 서브블럭의 화상데이타에 해당하는 서브마스크를 각각 출력하는 과정을 포함함을 특징으로 한다.
이하 도면을 참조로 하여 본 발명을 상세히 설명하기로 한다.
제2a도는 제1a도에 도시되어 있는 픽셀(100)을 본 발명에서는 어떻게 처리할 것인가를 보여주는 도면으로서, 제2a도와 같이 픽셀(100)을 4개의 서브블럭(B1, B2, B3, B4)으로 나누어 처리하기 때문에 룩업테이블을 4개로 분할하여 병렬로 수행할 수 있도록 함을 알 수 있다.
제2b도에는 각각의 서브블럭의 중심으로부터 다각형 가장자리의 일직선까지의 거리가 도시되어 있다.
그러므로, 본 발명에서는 하나의 픽셀에 대하여 4개의 독립된 룩업테이블을 사용하므로 각각의 룩업테이블에 대응하는 서브블럭(B1,B2,B3,B4)의 중심에서 다각형 가장자리의 일 직선까지의 거리(d1,d2,d3,d4)는 픽셀(100)의 중심에서 다각형 가장자리의 일직선까지의 거리(d)와 다음의 식들에 의해 정의되는 Δd1,Δd2,Δd3,Δd4를 각각 합하여 구할 수 있다.
즉, d는에 의한 보간(Interpolation)으로 구해지므로 Δd1,Δd2,Δd3,Δd4는 다음과 같이 정의되며 레지스터에 저장된다.
여기서,이다.
제3도는 본 발명에 따른 장치의 개략적인 구성 블럭도로서, 본 발명에 따른 장치는 4개의 가산기(300,302,304,306) 및 4개의 룩업테이블(308, 310,312,314)로 구성되어 있다.
제1가산기(300)는 d와 Δd1를 입력으로 하여 가산함으로써 d1를 제1룩업테이블(308)로 출력한다.
제2가산기(302)는 d와 Δd2를 입력으로 하여 가산함으로써 d2를 제2룩업테이블(310)로 출력한다.
제3가산기(304)는 d와 Δd3를 입력으로 하여 가산함으로써 d3를 제3룩업테이블(312)로 출력한다.
제4가산기(306)는 d와 Δd4를 입력으로 하여 가산함으로써 d4를 제4룩업테이블(314)로 출력한다.
각각의 룩업테이블(308~314)은 종래의 경우와 마찬가지로 각 서브블럭의 중심으로부터 다각형 가장자리의 직선까지의 거리(d1내지 d4), dex및 dey의 부호를 입력으로 하여 각각의 서브블럭에 대한 서브마스크를 출력한다.
본 발명은 Schilling방법에서의 LUT메모리를 4개로 분할하여 LUT크기를 1/16로 줄이는 효과가 있다. 독립된 서브마스크를 구하기 위해 각 서브블럭의 중심에서 다각형 가장자리의 직선까지의 거리를 구하기 위한 4개의 가산기(300~306)가 있어야하며, 이로 인하여 동작시 1클럭이 늦어질 수 있으며 한 픽셀내에서 다각형이 차지하는 면적의 계산을 4개의 독립된 서브블럭에 의해 구함으로써 각 서브블럭에서의 사절두에러(Truncation Error)의 누적으로 인하여 최대 1/16 픽셀만큼의 에러가 발생할 수 있다.
그러나, 이러한 에러는 한 픽셀의 칼라의 시각효과(Visual Effect)에 있어서 무시하여도 무방하여도 무방하며, 처리속도가 1 클럭 늦어지는 것은 면적표본방법에 의한 채색(Shading)에 소요되는 전체시간에 비하여 극미하여 무시할 수 있다.
LUT의 크기는 nxn 표본수를 m(=n2)이라고 하였을 때 아래식과 같이 정의된다.
따라서, 본 발명은 LUT를 4개로 분할함으로써 표본수가 1/4로 줄어든 4개의 LUT를 사용하므로 1/16 만큼 LUT메모리를 줄일 수 있다.
또한, 8×8 표본수일 때, 서브블럭이 2×2 표본수가 될 때까지 반복적으로 (recursive) 적용하면(1/16으로 분할) LUT크기를 1/162으로 줄일 수 있다. 이때, 반복깊이가 깊어지면 그에 비례하는 레지스터와 가산기가 필요하게 되고, 반복깊이를 k라고 하면 1/16k만큼 LUT크기를 줄일 수 있다.

Claims (4)

  1. 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법은 픽셀단위로 마스크처리하던 종래의 룩업테이블을 4개의 룩업테이블로 분할하여 마스크처리하기 위하여 상기 픽셀을 4개의 서브블럭으로 나누는 과정; 상기 픽셀의 중심으로부터 소정의 다각형 가장자리의 일 직선까지의 거리 및 상기 다각형 가장자리의 일 직선의 기울기로부터 상기 4개의 서브블럭의 중심으로부터 상기 다각형 가장자리의 일 직선까지의 각각의 거리를 구하는 과정; 상기 4개의 서브블럭을 중심으로부터 상기 다각형 가장자리의 일 직선까지의 각각의 거리 및 상기 기울기를 4개의 룩업테이블의 각각의 입력으로 하여 각 서브블럭의 화상데이타에 해당하는 서브마스크를 각각 출력하는 과정을 포함함을 특징으로 하는 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법.
  2. 제1항에 있어서, 상기 4개의 서브블럭으로부터 상기 다각형 가장자리의 일 직선까지의 각각의 거리를 구하는 과정은 상기 픽셀의 중심으로부터 상기 다각형 가장자리의 일 직선까지의 거리와 다음식에 의해서 정의되는 각각의 4가지 거리환산치를 더함으로써 상기 각각의 거리를 구하는 과정임을 특징으로 하는 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법.
    제1거리환산치 =, 제2거리환산치 =
    제3거리환산치 =, 제4거리환산치 =
    여기서, dex: x축 증분에 따른 상기 다각형 가장자리의 일 직선과의 거리
    dey: y축 증분에 따른 상기 다각형 가장자리의 일 직선과의 거리를 의미한다.
  3. 제1항에 있어서, 상기 서브마스크를 구하는 과정은 상기 픽셀의 중심으로부터 상기 다각형 가장자리의 일 직선까지의 거리와 상기 제1거리환산치와의 합인 제1거리, 상기 dex, 및 상기 dey의 부호를 입력으로 하는 소정의 제1룩업테이블로부터 제1서브마스크를 구하는 과정 : 상기 픽셀의 중심으로부터 상기 다각형 가장자리의 일 직선까지의 거리와 상기 제2거리환산치와의 합인 제2거리, 상기 dex, 및 상기 dey의 부호를 입력으로 하는 소정의 제2룩업테이블로부터 제2서브마스크를 구하는 과정 : 상기 픽셀의 중심으로부터 상기 다각형 가장자리의 일 직선까지의 거리와 상기 제3거리환산치와의 합인 제3거리, 상기 dex, 및 상기 dey의 부호를 입력으로 하는 소정의 제3룩업테이블로부터 제3서브마스크를 구하는 과정 : 및 상기 픽셀의 중심으로부터 상기 다각형 가장자리의 일 직선까지의 거리와 상기 제4거리환산치와의 합인 제4거리, 상기 dex, 및 상기 dey의 부호를 입력으로 하는 소정의 제4룩업테이블로부터 제4서브마스크를 구하는 과정을 포함함을 특징으로 하는 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법.
  4. 제3항에 있어서, 상기 제1 내지 4룩업테이블은 각각 상기 dex, 및 상기 dey의 부호를 입력으로 하는 대신 dex의 부호 및 dey를 입력으로 하는 것을 특징으로 하는 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법.
KR1019930025929A 1993-11-30 1993-11-30 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법 KR100200818B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019930025929A KR100200818B1 (ko) 1993-11-30 1993-11-30 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법
US08/348,130 US5555359A (en) 1993-11-30 1994-11-28 Computer graphics anti-aliasing method using a partitioned look-up table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930025929A KR100200818B1 (ko) 1993-11-30 1993-11-30 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법

Publications (2)

Publication Number Publication Date
KR950015126A KR950015126A (ko) 1995-06-16
KR100200818B1 true KR100200818B1 (ko) 1999-06-15

Family

ID=19369452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930025929A KR100200818B1 (ko) 1993-11-30 1993-11-30 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법

Country Status (2)

Country Link
US (1) US5555359A (ko)
KR (1) KR100200818B1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2637920B2 (ja) * 1994-08-11 1997-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・グラフィック・システム及びフレーム・バッファ使用方法
US7616200B1 (en) 1998-06-12 2009-11-10 3Dlabs Inc. Ltd. System for reducing aliasing on a display device
WO2000004482A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Multi-processor graphics accelerator
WO2000004527A1 (en) * 1998-07-17 2000-01-27 Intergraph Corporation Apparatus and method of directing graphical data to a display device
WO2000004443A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Byte reordering apparatus and method
US6181355B1 (en) 1998-07-17 2001-01-30 3Dlabs Inc. Ltd. Graphics processing with transcendental function generator
US6188410B1 (en) 1998-07-17 2001-02-13 3Dlabs Inc. Ltd. System for processing vertices from a graphics request stream
WO2000004496A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Graphics processor with texture memory allocation system
WO2000004494A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Graphics processing system with multiple strip breakers
WO2000004484A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Wide instruction word graphics processor
US6459453B1 (en) 1998-07-17 2002-10-01 3Dlabs Inc. Ltd. System for displaying a television signal on a computer monitor
US6674440B1 (en) 1999-04-05 2004-01-06 3Dlabs, Inc., Inc. Ltd. Graphics processor for stereoscopically displaying a graphical image
US6285348B1 (en) * 1999-04-22 2001-09-04 Broadcom Corporation Method and system for providing implicit edge antialiasing
JP4332934B2 (ja) * 1999-06-17 2009-09-16 株式会社セガ アンチエイリアシング方法及びこれを用いた画像処理装置
US6429877B1 (en) 1999-07-30 2002-08-06 Hewlett-Packard Company System and method for reducing the effects of aliasing in a computer graphics system
US6384839B1 (en) 1999-09-21 2002-05-07 Agfa Monotype Corporation Method and apparatus for rendering sub-pixel anti-aliased graphics on stripe topology color displays
CA2315302A1 (en) * 2000-07-13 2002-01-13 Paul A. Halmshaw Three dimensional imaging system
US6720975B1 (en) * 2001-10-17 2004-04-13 Nvidia Corporation Super-sampling and multi-sampling system and method for antialiasing
US20040174379A1 (en) * 2003-03-03 2004-09-09 Collodi David J. Method and system for real-time anti-aliasing
US7006110B2 (en) * 2003-04-15 2006-02-28 Nokia Corporation Determining a coverage mask for a pixel
US7209105B2 (en) * 2003-06-06 2007-04-24 Clairvoyante, Inc System and method for compensating for visual effects upon panels having fixed pattern noise with reduced quantization error
WO2013106210A1 (en) 2012-01-10 2013-07-18 Intel Corporation Electronic apparatus having parallel memory banks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4773515A (en) * 1987-04-28 1988-09-27 Skyway Luggage Company Multi-compartment, expansible luggage bag

Also Published As

Publication number Publication date
US5555359A (en) 1996-09-10
KR950015126A (ko) 1995-06-16

Similar Documents

Publication Publication Date Title
KR100200818B1 (ko) 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법
KR100243174B1 (ko) 서브픽셀 마스크 발생방법 및 장치
US5179641A (en) Rendering shaded areas with boundary-localized pseudo-random noise
JP3763136B2 (ja) 描画方法および描画装置
US7986330B2 (en) Method and apparatus for generating gammacorrected antialiased lines
KR100258919B1 (ko) 디더링행렬을 구현하는 디더링회로 및 그 방법
KR20020008047A (ko) 표시 방법
JPH0927039A (ja) オブジェクトにテクスチャを表示するためにテクセル値を計算する方法及び装置
JPH0660173A (ja) 画像を縮小する方法および装置
JP4381240B2 (ja) 画像処理装置及びこれを用いた画像表示装置、並びに画像処理方法及びこれをコンピュータに実行させるためのプログラム
KR970004120B1 (ko) 3차원도형처리장치
US4945497A (en) Method and apparatus for translating rectilinear information into scan line information for display by a computer system
JPH064679A (ja) イメージ処理装置
US5333250A (en) Method and apparatus for drawing antialiased lines on a raster display
JPH04190466A (ja) カラー画像の限定色表現装置
JPH10228537A (ja) 画素面積計算装置
JP4930860B2 (ja) 図形描画装置、アンチエイリアス処理方法およびプログラム
US6282323B1 (en) Image processing method and apparatus
JP2770513B2 (ja) シェーディング方法及びシェーディング装置
JP2770514B2 (ja) シェーディング装置
JPH08272351A (ja) 画像処理装置
JP3168661B2 (ja) 画素数増大方法およびその装置
JP2814631B2 (ja) シェーディングにおける演算回路
JPH0357087A (ja) 多角形ぬりつぶし装置
JPH09326920A (ja) サブピクセル単位でのデジタル画像処理方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090529

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee