KR100276793B1 - 부화소 마스크 생성장치 - Google Patents

부화소 마스크 생성장치 Download PDF

Info

Publication number
KR100276793B1
KR100276793B1 KR1019980020295A KR19980020295A KR100276793B1 KR 100276793 B1 KR100276793 B1 KR 100276793B1 KR 1019980020295 A KR1019980020295 A KR 1019980020295A KR 19980020295 A KR19980020295 A KR 19980020295A KR 100276793 B1 KR100276793 B1 KR 100276793B1
Authority
KR
South Korea
Prior art keywords
selection signal
subpixel
subpixel mask
mask
inverting
Prior art date
Application number
KR1019980020295A
Other languages
English (en)
Other versions
KR20000000612A (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 KR1019980020295A priority Critical patent/KR100276793B1/ko
Publication of KR20000000612A publication Critical patent/KR20000000612A/ko
Application granted granted Critical
Publication of KR100276793B1 publication Critical patent/KR100276793B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

본 발명은 부화소 마스크 생성장치에 관한 것으로, 본 발명의 목적은 3차원 그래픽스 가속기에서 부화소 마스크를 사용하여 앤티알리아스드(Antialiased) 묘화를 하고자 할 경우에 부화소 마스크를 작은 크기의 하드웨어를 사용하여 효과적으로 생성할 수 있는 부화소 마스크 생성장치를 제공하는데 있다.
이를 위해, 본 발명은 회전선택신호 및 반전선택신호를 제공하는 제어수단; 기준이 되는 1사분면에 대한 부화소 마스크 데이타만을 저장하는 메모리수단; 거리 값과 반전선택신호를 입력받아 상기 메모리수단에 저장된 데이타를 읽기 위한 주소를 출력하는 다수개의 읽기주소생성수단; 각 영역별로 상기 제어수단으로부터 입력된 반전선택신호와 회전선택신호에 따라 상기 메모리수단으로부터 출력된 부화소 마스크 데이타를 선택적으로 회전 혹은 반전 혹은 회전반전시켜 출력하는 다수개의 부화소 마스크 생성수단; 및 상기 각각의 부화소 마스크 생성수단으로부터 출력된 데이타들을 논리곱하는 논리곱수단을 구비한 것을 특징으로 한다.

Description

부화소 마스크 생성장치
본 발명은 부화소 마스크 생성장치에 관한 것으로, 더욱 자세하게는 3차원 그래픽스 가속기에서 부화소 마스크를 사용하여 앤티알리아스드(Antialiased) 묘화를 하고자 할 경우에 부화소 마스크를 작은 크기의 하드웨어를 사용하여 효과적으로 생성할 수 있는 부화소 마스크 생성장치에 관한 것이다.
부화소 마스크를 사용한 그래픽 이미지 묘화 방법은 기존의 묘화 방법에 비해 굴곡 없이 부드러운 경계를 갖는 고화질의 이미지를 생성하는 것이 가능하다. 즉, 종래 그래픽스 묘화 방법에 의해 묘화된 이미지는 그래픽스 객체 사이의 경계가 울퉁불퉁하게 보이는 앨리아싱(Aliasing) 현상이 나타나는데, 이러한 앨리아싱 현상을 줄이기 위해 부화소 마스크를 사용한 묘화 방법이 사용되고 있다. 부화소 마스크를 이용한 묘화 방법을 사용하기 위해서는 하드웨어적으로 부화소 마스크를 용이하게 생성하는 방법이 필요하였다.
종래에는 부화소 마스크를 용이하게 생성하기 위한 하드웨어로 다각형의 각 변에 대해 각각 별개의 부화소 마스크를 저장하는 롬을 사용하였다. 그런데, 이 경우 롬 테이블이 다각형의 변 개수 만큼 필요해 하드웨어 제작 비용을 증가시키는 단점이 있었다.
또한, 부화소 마스크를 생성시킬 때, 서로 이웃하는 다각형의 경계에서 각 다각형에서 생성되는 부화소 마스크는 항상 서로 반대의 마스크가 되도록 하여야 한다.
따라서, 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 한 개의 메모리에 1사분면에 대한 롬 참조표 값만을 저장하여 이를 이용해 모든 영역에 대한 부화소 마스크를 생성하도록 함으로써, 하드웨어의 수를 획기적으로 감소시킨 부화소 마스크 생성장치를 제공하는데 있다.
또한, 본 발명의 다른 목적은 변 함수에서 선분을 경계로 서로 다른 쪽은 항상 반전된 마스크가 생성되도록 한 부화소 마스크 생성장치를 제공하는데 있다.
도1a 내지 도1d는 제1사분면의 비트 마스크를 사용하여 다른 영역의 선분에 대한 비트 마스크를 생성하는 방법을 설명하기 위한 개념도.
도2는 본 발명의 일 실시예에 따른 한 변에 대한 부화소 마스크 생성장치의 블럭 구성도.
도3은 본 발명의 일 실시예에 따른 4개의 변을 갖는 다각형 묘화에서 부화소 마스크 생성장치의 블럭 구성도.
*도면의 주요 부분에 대한 부호의 설명
11, 11a 내지 11d : 읽기 주소 발생부
12 : 롬(ROM: Read Only Memory)
13, 13a 내지 13d : 부화소 마스크 생성부
14 : 논리곱 게이트(AND)
111, 132 : 인버터(INV)
112, 131, 133 : 멀티플렉서(MUX)
상기 목적을 달성하기 위한 본 발명은, 회전선택신호 및 반전선택신호를 제공하는 제어수단; 기준이 되는 1사분면에 대한 부화소 마스크 데이타만을 저장하는 메모리수단; 거리 값과 반전선택신호를 입력받아 상기 메모리수단에 저장된 데이타를 읽기 위한 주소를 출력하는 다수개의 읽기주소생성수단; 각 영역별로 상기 제어수단으로부터 입력된 반전선택신호와 회전선택신호에 따라 상기 메모리수단으로부터 출력된 부화소 마스크 데이타를 선택적으로 회전 혹은 반전 혹은 회전반전시켜 출력하는 다수개의 부화소 마스크 생성수단; 및 상기 각각의 부화소 마스크 생성수단으로부터 출력된 데이타들을 논리곱하는 논리곱수단을 구비한 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도1a 내지 도1d는 제1사분면의 비트 마스크를 사용하여 다른 영역의 선분에 대한 비트 마스크를 생성하는 방법을 설명하기 위한 개념도이다.
일반적으로 부화소 마스크를 생성하는 방법은 다각형을 구성하는 각각의 변에 대한 변 함수(Edge Function)를 구성하고, 이 변 함수로부터 현재 부화소를 구하고자 하는 화소의 중심에서 각 변과의 거리를 얻는다. 그리고, 다각형을 구성하는 각각의 변에 대한 기울기 정보를 획득한 다음, 기울기 정보와 거리 정보를 주소 정보로 이용하여 롬에 저장된 참조표를 읽어 낸다.
도1a 내지 도1d를 참조하여 제1사분면에 대한 부화소 마스크에서 제2, 3, 4 사분면의 부화소 마스크를 구하는 방법을 설명하면, 도1a를 기준 비트 마스크라 할 때, 도1b의 제2사분면의 부화소 마스크는 도1a의 기준 비트 마스크를 90도 회전시킨 것이고, 도1c의 제3사분면의 부화소 마스크는 도1a의 기준 비트 마스크를 반전시킨 것이며, 도1d의 제4사분면의 부화소 마스크는 도1b의 제2사분면의 부화소 마스크를 반전시킨 것이다. 도면에서 화소의 중심에서 선분까지의 거리와 기울기의 절대 값은 모두 같다.
일반적으로, 기울기 값은 Y값의 절대 변위가 X값의 절대 변위보다 작을 때는 Y값의 절대변위를 X값의 절대변위로 나누어서 구하고, 그 반대의 경우는 X값의 절대변위를 Y값의 절대변위로 나누어서 구한다. 즉, 기울기는 0에서 1 사이의 값을 갖고, 기울기에 사용된 비트 수에 따라 양자화 한다. 제1사분면에 대한 롬 참조표는 45도를 기준으로 기울기가 0에서 1 사이가 된다. 즉, Y값의 절대 변위가 X값의 절대변위보다 작은 경우와 큰 경우로 나누어서 롬에 저장될 참조표를 만든다.
또한, 거리값은 -0.5에서 +0.5 사이의 값을 가지는데, 거리 값이 +0.5보다 클 경우에는 부화소 마스크 값이 모두 1이고, 이와 반대로 거리 값이 -0.5보다 작을 경우에는 부화소 마스크의 값은 모두 0이 된다. 따라서, 이 거리값에 양자화 계수를 곱하여 롬 참조 주소 값을 생성한다. 이를 하드웨어로 용이하게 구현하는 방법은 다음과 같다.
예를 들어, 거리값 D = In, In-1, ..., I2, I1, I0, Mm, Mm-1, M2, M1, M0로 주어질 때(여기서, Ii는 정수 부분, Mj는 소수 부분을 나타냄(0≤i≤n, 0≤j≤m), 거리 값 D가 -0.5에서 +0.5 사이일 때는 Ii와 거리값의 소수부분 중 최상위비트 Mm은 모두 1(음수)이거나 모두 0(양수)이다. 거리 값을 롬 주소로 변환하기 위해서는 Mm의 값을 반전시키고, Mm부터 차례로 양자화 비트수 만큼 취하면 된다. 즉, 예를 들어 거리값 D를 3비트로 양자화 할 경우, 거리값 D = 11111111.111이면, Mm의 값은 '1'이므로, 이를 반전시키고 하위 3비트를 취하면 롬의 주소값은 '011' 즉 3이 된다. 한편, 거리값 D가 '00000000.001'와 같이 주어지면, Mm의 값이 '0'이므로, 이를 반전시키고 하위 3비트를 취하면, 롬의 주소값은 '101' 즉 5가 된다.
전술한 내용을 바탕으로 본 발명의 일 실시예를 도2 및 도3을 참조하여 살펴본다.
도2는 본 발명에 따른 한 변에 대한 부화소 마스크 생성장치의 블럭 구성도로서, 도면에서 11은 읽기 주소 발생부, 12는 롬(ROM), 13은 부화소 마스크 생성부, 111, 132는 인버터(INV), 112, 131, 133은 2:1 멀티플렉서(MUX)를 각각 나타낸다.
본 발명에 따른 부화소 마스크 생성장치는 크게 회전선택신호 및 반전선택신호를 제공하는 제어부(도시되지 않음.)와, 기준이 되는 1사분면에 대한 부화소 마스크 정보를 저장하는 롬(ROM; 12)과, 외부로부터 주어진 거리 값을 이용해 상기 롬(12)에 저장된 정보를 읽기 위한 주소를 생성하는 읽기주소 생성부(11), 및 상기 제어부의 제어에 따라 상기 롬(12)으로부터 출력된 부화소 마스크 정보를 회전 혹은 반전시켜 해당 영역에 대한 부화소 마스크를 생성하는 부화소 마스크 생성부(13)를 포함한다.
롬(12)에는 기준 비트 마스크로 1 사분면에 대한 부화소 마스크 정보만을 미리 저장시켜 둔다. 그리고, 외부로부터 주어지는 기울기 값은 롬(12)에 바로 입력되어 롬(12)에 저장된 기준 부화소 마스크를 읽기 위한 주소로 사용된다. 한편, 거리 값은 읽기주소 발생부(11)로 입력되는데, 거리 값은 변환 없이 롬(12)을 읽기 위한 주소로 사용되거나, 인버터(111)에 의해 반전되어 롬(12)을 읽기 위한 주소로 사용된다. 이를 구체적으로 살펴보면, 읽기주소 발생부(11)는 인버터(111)와 2:1 멀티플렉서(112)로 구성되어, 거리 값은 변환없이 멀티플렉서(112)의 일측 입력단에 입력됨과 동시에 인버터(111)에 의해 반전되어 멀티플렉서(112)의 타측 입력단에 입력된다. 멀티플렉서(112)는 제어부(도시되지 않음)로부터 입력된 반전선택신호에 의해 제어되어 반전된 거리값을 롬(12)을 읽기 위한 주소로 출력하거나, 원래의 거리값을 롬(12)을 읽기 위한 주소로 출력한다. 롬(12)은 기울기 값과 읽기주소 발생부(11)로부터 입력된 값에 의해 만들어진 주소에 저장된 데이타를 출력한다.
롬(12)에서 출력된 부화소 마스크 정보는 부화소 마스크 생성부(13)에 의해 회전되거나 반전되어 해당되는 영역에 대한 부화소 마스크가 생성된다. 부화소 마스크 생성부(13)는 2개의 2:1 멀티플렉서(131, 133)와 하나의 인버터(132)로 구성되는데, 멀티플렉서 131은 제어부(도시되지 않음)로부터 제공된 회전선택신호에 의해 '0'단자로 입력되는 부화소 마스크 정보 혹은 '1' 단자로 입력되는 회전된 부화소 마스크 정보 중 하나를 선택하여 출력한다. 여기서, 롬(12)으로부터 출력되는 부화소 마스크 정보를 90도 회전시키는 방법은 출력 값을 멀티플렉서(131)로 입력하기 위한 버스 연결 구조를 변경함으로써 가능하다. 예를 들어, 16비트의 부화소 마스크 데이타가 15, 14, 13, ..., 2, 1, 0의 순서로 출력된다고 할 때, 이를 90도 회전시키기 위해서는 버스 연결 구조를 변경하여 12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3의 순서로 전달하면 된다.
멀티플렉서 133은 제어부(도시되지 않음)의 반전선택신호에 의해 멀티플렉서 131로부터 출력된 부화소 마스크 정보와, 인버터(132)에 의해 반전된 이의 부화소 마스크 정보 중 하나를 선택하여 출력한다.
도3은 본 발명의 일 실시예에 따른 4×4 부화소 마스크를 생성하는 장치의 블럭 구성도이다.
롬(12)은 2K의 크기로, 한 워드 라인은 16비트이며, 여기에는 제1사분면의 부화소 마스크 데이타가 저장된다. 그리고, 제1사분면의 부화소 마스크 데이타는 기울기가 5비트, 거리가 6비트이며, 여기서 5비트의 기울기는 기울기 값을 나타내는 4비트와, X, Y 기울기의 대소에 따라서 이를 구분하기 위한 상위 1비트로 구성된다. 이 5비트의 기울기 값과 6비트의 거리값을 이용해 롬(12)에 저장된 데이타를 읽는다.
도3에 도시된 구성에 의해 도면에 도시되지 않은 앞단의 변 함수 보간기에서 생성된 각 변의 거리 값에 따라 구하고자 하는 부화소 마스크 값을 간단히 구할 수 있다.
도1a 내지 도1d에 도시된 각 영역의 부화소 마스크를 구하는 과정을 도2 및 도3을 참조하여 살펴보면 다음과 같다.
먼저, 롬(12)에는 도1a에 해당하는 기준 비트 마스크 데이타가 저장되어 있고, 도1b의 제2사분면 마스크는 도1a의 90도 회전된 형태이므로, 회전선택신호만이 '1'로 입력되어 멀티플렉서 131에서 90도 회전된 부화소 마스크 데이타를 선택함으로써 구현된다. 마찬가지로, 도1c의 제3사분면 부화소 마스크 데이타는 반전선택신호만이 '1'로 입력되어 멀티플렉서 112와 133에서 반전된 신호를 선택함으로써 구현되며, 도1d의 제4사분면 부화소 마스크 데이타는 반전선택신호와 회전선택신호가 '1'로 입력되어 멀티플렉서 112와 131, 133이 '1'번 단자의 신호를 선택함으로써 구현된다.
이와 같이 각각의 읽기주소 발생부(11a 내지 11d)와 부화소 마스크 생성부(13a 내지 13d)에 의해 생성된 각각의 부화소 마스크 데이타는 논리곱 게이트(AND; 14)에 의해 논리곱 되어 전체적인 부화소 마스크 신호가 출력된다.
상기와 같이 구성된 본 발명은 3차원 그래픽스 묘화기에서 부화소 마스크를 간단한 하드웨어를 통해 고속으로 생성할 수 있으므로, 현재 그래픽스 묘화기에서 묘화된 이미지에서 나타나는 앨리아싱 현상을 현저히 감소시킬 수 있고, 롬의 크기를 획기적으로 줄이면서도 마스크 생성 시간의 지연을 최소화할 수 있으며, 한 변을 경계로 이웃하는 다각형은 항상 서로 배타적인 마스크 비트 패턴을 갖는 부화소 마스크를 생성하도록 하므로, 다각형에 의한 화소의 면적 점유 상태를 올바르게 표현하여 다음 단계의 부화소 마스크 처리 결과가 항상 옳게 되도록 하는 효과가 있다.

Claims (6)

  1. 회전선택신호 및 반전선택신호를 제공하는 제어수단;
    기준이 되는 1사분면에 대한 부화소 마스크 데이타만을 저장하는 메모리수단;
    거리 값과 반전선택신호를 입력받아 상기 메모리수단에 저장된 데이타를 읽기 위한 주소를 출력하는 다수개의 읽기주소생성수단;
    각 영역별로 상기 제어수단으로부터 입력된 반전선택신호와 회전선택신호에 따라 상기 메모리수단으로부터 출력된 부화소 마스크 데이타를 선택적으로 회전 혹은 반전 혹은 회전반전시켜 출력하는 다수개의 부화소 마스크 생성수단; 및
    상기 각각의 부화소 마스크 생성수단으로부터 출력된 데이타들을 논리곱하는 논리곱수단
    을 구비한 것을 특징으로 하는 부화소 마스크 생성장치.
  2. 제 1 항에 있어서,
    상기 메모리수단은 쓰기만 가능한 메모리인 것을 특징으로 하는 부화소 마스크 생성장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 각각의 읽기주소생성수단은,
    외부로부터 입력된 거리값을 반전시키는 제1 반전수단; 및
    상기 반전선택신호에 따라 상기 외부로부터 입력된 거리값과 상기 반전수단에 의해 반전된 거리값 중 하나를 선택하는 제1 선택수단
    을 포함한 것을 특징으로 하는 부화소 마스크 생성장치.
  4. 제 3 항에 있어서,
    상기 각각의 부화소 마스크 생성수단은,
    상기 회전선택신호에 따라 상기 메모리수단으로부터 출력된 데이타와 상기 메모리수단의 출력 데이타를 회전시킨 데이타 중 하나를 선택하는 제2 선택수단;
    상기 제2 선택수단의 출력 데이타를 반전시키는 제2 반전수단; 및
    상기 반전선택신호에 따라 상기 제2 선택수단의 출력 데이타와 상기 제2 반전수단에 의해 반전된 데이타 중 하나를 선택하는 제3 선택수단
    을 포함한 것을 특징으로 하는 부화소 마스크 생성장치.
  5. 제 4 항에 있어서,
    상기 제1 내지 제3 선택수단은 2:1 멀티플렉서를 포함한 것을 특징으로 하는 부화소 마스크 생성장치.
  6. 제 5 항에 있어서,
    상기 메모리수단의 출력 데이타를 회전시킨 데이타는 상기 메모리수단으로부터 출력되는 데이타를 전달하는 버스의 연결 구조를 변경하여 생성된 것을 특징으로 하는 부화소 마스크 생성장치.
KR1019980020295A 1998-06-01 1998-06-01 부화소 마스크 생성장치 KR100276793B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980020295A KR100276793B1 (ko) 1998-06-01 1998-06-01 부화소 마스크 생성장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980020295A KR100276793B1 (ko) 1998-06-01 1998-06-01 부화소 마스크 생성장치

Publications (2)

Publication Number Publication Date
KR20000000612A KR20000000612A (ko) 2000-01-15
KR100276793B1 true KR100276793B1 (ko) 2001-01-15

Family

ID=19538100

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980020295A KR100276793B1 (ko) 1998-06-01 1998-06-01 부화소 마스크 생성장치

Country Status (1)

Country Link
KR (1) KR100276793B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006129943A1 (en) * 2005-06-03 2006-12-07 Polidigm Co., Ltd. Fast anti-aliasing method

Also Published As

Publication number Publication date
KR20000000612A (ko) 2000-01-15

Similar Documents

Publication Publication Date Title
US5016001A (en) Pattern data generating system
JPS6158083A (ja) 高速メモリ−・システム、デ−タ処理方法及びメモリ−・セグメント
US5555359A (en) Computer graphics anti-aliasing method using a partitioned look-up table
US4368463A (en) Graphic display area classification
US5301269A (en) Window-relative dither circuit
JPH05282437A (ja) 画像回転回路
KR100276793B1 (ko) 부화소 마스크 생성장치
US5233441A (en) Method for representing halftone dots with dot envelope parameters
US5239391A (en) Apparatus for generating halftone dots from dot envelope parameters
EP0235471B1 (en) A transformation circuit to effect raster operations
US4945497A (en) Method and apparatus for translating rectilinear information into scan line information for display by a computer system
JPH05233795A (ja) 画像拡大縮小装置
GB2115658A (en) Video display system
US6195463B1 (en) Multiresolution image processing and storage on a single chip
US5446558A (en) Apparatus and associated method for representing elliptical halftone dots
JPH0370431B2 (ko)
US5444834A (en) Filling pattern generation apparatus and method including correction for pattern overflow
US7365751B2 (en) Texture processor
JP3861483B2 (ja) ハーフトーン生成装置およびハーフトーン生成方法
JP2548286B2 (ja) イメージデータ処理装置
JP3937418B2 (ja) 記憶装置および記憶読み出し制御方法
JPH0697462B2 (ja) 画像回転方法
JPH0374071B2 (ko)
JP2647073B2 (ja) 図形表示装置
JPH0520450A (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: 20060922

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee