KR19980079591A - 그래픽 처리 장치 - Google Patents
그래픽 처리 장치 Download PDFInfo
- Publication number
- KR19980079591A KR19980079591A KR1019980000540A KR19980000540A KR19980079591A KR 19980079591 A KR19980079591 A KR 19980079591A KR 1019980000540 A KR1019980000540 A KR 1019980000540A KR 19980000540 A KR19980000540 A KR 19980000540A KR 19980079591 A KR19980079591 A KR 19980079591A
- Authority
- KR
- South Korea
- Prior art keywords
- pixel
- edge
- subpixel
- edge function
- unit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
에일리어싱 제거(anti-aliasing)처리동안 커버리지 계산을 위한 연산 처리를 병렬로 고속화한 우수한 그래픽 처리 장치를 제공한다.
픽셀을 구성하는 각 서브 픽셀에 대한 엣지 펑션(edge function)은 픽셀 좌표에 관련된 베이스 엣지 펑션 부분 Bef와, 서브 픽셀 참조치에 관련된 서브 엣지 펑션 부분 Sef로 나눠서 기술할 수 있고, 다시 각 펑션 Bef 및 Sef의 값을 서로 더한 값을 평가 함수 LineIOcheck의 변수로서 대입함으로써 서브 픽셀이 엣지의 상, 하 또는 엣지 라인 상 중 어디에 위치하는지를 판단할 수 있다. 여기서, △x《x, △y《y가 성립하고, 서브 엣지 펑션 Sef는 베이스 엣지 펑션 Bef 보다도 훨씬 작은 값이 된다. 비교적 대규모의 Bef 연산 유닛 1개에 대해 소규모인 Sef 연산 유닛을 여러개 제공함으로써 동등한 커버리지 연산 능력을 갖는 LSI를 소규모 면적에서 효율적으로 디자인할 수 있다. 또한, Bef 연산과 복수의 Sef 연산을 병렬로 행 할 수 있다.
Description
본 발명은 CRT(Cathod Ray Tube) 등의 디스플레이 상에 컴퓨터 그래픽스(CG) 화면을 생성하기 위한 그래픽 처리 장치에 관한 것으로, 특히 화상 표시 대상(오브젝트)을 다수의 폴리곤으로 분할하여 지오메트리 처리를 행한 후에 폴리곤(polygon)을 구성하는 각 픽셀에 대해 래스터라이즈(rasterize)처리를 행하는 타입의 그래픽 처리 장치에 관한 것이다. 더욱 상세하게는 본 발명은 폴리곤의 엣지 부분에서 발생하는 에일리어싱을 제거하는 에일리어싱 제거 처리를 실시하는 그래픽 처리 장치에 관한 것으로, 픽셀에 포함되는 서브 픽셀 중 폴리곤에 포함되는 비율(즉, 커버리지; coverage)에 따라서 에일리어싱 제거(anti-aliasing)를 행하는 타입의 그래픽 처리 장치에 관한 것이다.
최근의 기술 혁신에 따라 컴퓨터의 이용 분야도 확대되고 있다. 컴퓨터에 의한 도형이나 화상(소위 「컴퓨터 그래픽스(CG)」)의 작성이나 처리는 그 일례이다. 최근에는 컴퓨터의 표시 능력의 강화나 그래픽스 처리의 고펑션화에 수반하여, 3차원 오브젝트의 2차원적 이미지를 생성하여 표시하는 「3차원 그래픽스」가 각광을 받게 되었다. 여기서 말하는 3차원 그래픽스란, 3차원 오브젝트가 광원에 의해서 조사되었을 될 때 등의 광학 현상을 수식 모델로 표현하고 해당 모델에 기초하여 오브젝트 표면에 음영이나 농담(濃淡)을 가하거나 모양을 넣어서 보다 리얼하게 3차원적인 고정채(高精彩) 화상을 생성하는 것을 뜻한다. 이러한 3차원 그래픽 기술은 과학, 공학, 제조, 그 외의 응용 분야에서의 CAD/CAM이나 각종 소프트웨어 개발 분야 등에서 더욱 더 성황을 이루고 있다.
이러한 그래픽 처리 시스템은 일반적으로는 프론트 엔드(front end)로서 위치가 부여되는 『지오메트리 서브 시스템』과 백 엔드(back end)로서 위치가 부여되는 『래스터 서브 시스템』으로 구성된다.
지오메트리 서브 시스템은 컴퓨터 화면 상에서의 오브젝트의 위치를 결정하기 위한 기하학적인 연산 처리를 실시하는 과정인 것이다. 지오메트리 서브 시스템에서는 일반적으로 오브젝트는 다수의 폴리곤(통상은 3각형)의 집합체로서 취급되고 폴리곤 단위로 연산 처리가 행해진다. 즉, 폴리곤을 정의하는 각 정점에 대해 「좌표 변환」, 「클립핑(clipping)」, 「광원 계산」 이라고 하는 기하학 계산이 행해진다는 뜻이다. 여기서 「좌표 변환」이란, 제공된 폴리곤의 각 정점 좌표를 시점의 위치에 맞춰서 변환하는 처리인 것이다. 또한, 「클립핑」이란, 폴리곤 중 컴퓨터 화면에 표시되지 않은 부분을 검출하여 취사 선택하는 처리인 것이다. 또한 「광원 계산」이란, 광원과의 위치 관계를 기초로 각 정점의 휘도를 구하는 처리인 것이다.
한편, 래스터 서브 시스템은 오브젝트를 구성하는 각 픽셀(pixel)을 모두 칠하는 과정인 것이다. 래스터 라이즈 처리는 일반적으로는 폴리곤의 정점마다 구해진 화상 파라메터를 기초하여 폴리곤 내부의 모든 픽셀의 화상 파라메터를 보간함으로써 실현된다. 여기서 말하는 화상 파라메터에는 RGB 형식 등으로 표현된 색 데이타나 깊이 방향의 거리를 나타내는 Z치 등이 있다. 또한, 최근의 고정채인 3차원 그래픽 처리에서는 원근감을 표현하기 위한 f(fog: 안개)나 물체 표면의 소재감이나 모양을 표현하여 사실성을 표현하기 위한 텍스쳐 t(texture) 등도 화상 파라메터의 1개로서 구비하고 있고 이들 각 파라메터도 각 픽셀마다 계산된다.
그런데, 컴퓨터 기술의 분야에 있어서는 데이타의 거의 대부분은 디지탈 값으로 표현된다. 이 때문에, 자연계의 아날로그 현상을 불연속인 디지탈 값으로 변환하는 과정에서 나타나는 바람직하지 못한 현상 즉, 에일리어싱(aliasing)이라고 불리는 현상이 자주 관찰된다. 컴퓨터를 이용한 그래픽 처리에서는 에일리어싱은 특히 폴리곤의 엣지가 지그 재그의 계단 형태로 형성되거나 도형이 부정확한 형태로 표시되는 현상으로서 인식된다. 이것은 디스플레이의 픽셀 사이즈 혹은 해상도가 사람의 시각에 대해 충분하지 않은 것에 기인하고 있다.
이러한 에일리어싱 현상을 제거하기 위한 처리를 일반적으로 에일리어싱 제거(anti-aliasing)처리라고 부른다. 컴퓨터 그래픽스의 분야에서의 에일리어싱 제거 처리는 예를 들면 화상 처리의 최소 단위인 픽셀을 더 다수의 서브 픽셀로 세분화하여 래스터라이즈 처리에 의해서 일단 얻어진 픽셀에 관한 화상 데이타(색 데이타 등)를 재평가함으로써 달성된다. 에일리어싱 제거 처리는 폴리곤의 엣지를 가로지르는 픽셀을 더 4×4개, 8×8개 또는 16×16개의 서브 픽셀로 미세하게 분할하여 폴리곤에 포함되는(혹은 칠해야 하는) 서브 픽셀이 차지하는 비율 즉 커버리지(coverage: 면적율)에 따라 픽셀에 부여되는 색 데이타의 계조를 조정함으로써 달성된다.
도 5에 도시하는 예에서는 픽셀은 엣지 라인이 직선을 이루는 폴리곤에 의해서 부분적으로 커버되어 있으나 픽셀을 더 4×4개의 서브 픽셀로 분할해 보면 커버리지는 14/ 16인 것이 판명된다. 또한, 도 6에 도시하는 예에서는 픽셀은 엣지 라인이 원호를 이루는 폴리곤에 의해서 부분적으로 커버되어 있으나 픽셀을 더 4×4개의 서브 픽셀로 분할해 보면 커버리지는 14/16인 것이 판명된다. 이 경우 픽셀의 색 데이타를, 픽셀이 폴리곤에 포함되어 있는지 포함되어 있지 않은지 불연속인 값으로서 판단하는 것이 아니라 픽셀의 커버리지에 따라서 계조를 조정하면 엣지의 불연속성이 완화되어 표시 품질이 향상되게 된다. 에일리어싱 제거 처리를 실시함으로써 폴리곤의 엣지 부분에는 자연 현상에 가까운 그레쥬에이션(graduation)이 부가된다. 예를 들면, CAD에서 생성된 3차원 와이어 프레임 모델은 지그 재그한 모양을 발생시키지 않고 연속적인 평활한 선으로 화상될 것이다. 또한, 폴리곤의 접변(接邊) 부분에서의 색의 번짐이 적은 영상을 생성하는 것이 가능해질 것이다.
그런데, 서브 픽셀의 비율을 구하는 커버리지 계산에 있어서는 픽셀에 포함되는 각 서브 픽셀이 폴리곤 내, 엣지 라인 상, 폴리곤 외 중 어디에 위치하는지를 구할 필요가 있다. 즉, 커버리지 계산은 각 서브 픽셀이 폴리곤의 경계를 정의하는 엣지 라인의 상, 하 또는 라인 상 중 어디에 있는지를 판단하기 위한 함수(엣지 펑션)를 풀지 않으면 안되는 것이다.
엣지 펑션이 몇개의 항을 포함하는 기하학적인 계산식으로 구성된다는 것은 당업자이면 용이하게 이해할 수 있을 것이다. 이 엣지 펑션을 푸는 처리는 종래는 소프트웨어에 의해 실현되고 있기 때문에 고속으로 행하는 것이 곤란하였다. 환언하면, 에일리어싱 제거 처리를 고속화하기 위해서는 전용 하드웨어 회로(예를 들면 LSI)에 실장함과 동시에 처리를 병렬화하는 것이 바람직하다. 그러나, 엣지 펑션을 풀 때에는 복수의 승산이나 제산을 포함하고 있다. 이들 승 제산을 LSI에 살장하기 위해서는 비교적 큰 게이트 사이즈를 요하고(공지의 사실), 따라서 회로가 대규모화하여 제조 비용을 현저히 증대시켜 버리는 결과가 된다.
본 발명의 목적은 폴리곤의 엣지 부분에서 발생하는 에일리어싱을 제거하는 에일리어싱 제거 처리를 실시하는 우수한 그래픽 처리 장치를 제공하는 것에 있다.
본 발명의 다른 목적은 픽셀에 포함되는 서브 픽셀 중 폴리곤에 포함되는 비율(즉, 커버리지)에 따라서 에일리어싱 제거를 행하는 타입의 우수한 그래픽 처리 장치를 제공하는 것에 있다.
본 발명의 다른 목적은 에일리어싱 제거 처리시의 커버리지 계산을 위한 연산 처리를 병렬화 고속화한 우수한 그래픽 처리 장치를 제공하는 것에 있다.
본 발명의 다른 목적은 에일리어싱 제거 처리시의 커버리지 계산을 행하는 LSI를 비교적 작은 게이트 사이즈로 실장 가능한 우수한 그래픽 처리 장치를 제공하는 것에 있다.
본 발명은 상기 과제를 참작하여 이루어진 것으로 그 제1 측면은 픽셀 중 칠해야 하는 부분이 차지하는 커버리지를 계산하는 공정을 포함하는 타입의 그래픽처리 장치에 있어서, 픽셀 중 칠해야 하는 부분과 그렇지 않은 부분과의 엣지 라인에 관한 정보를 부여하는 수단과, 픽셀 좌표치에 대한 엣지 펑션을 풀기 위한 제1 연산 유닛과 픽셀에 포함되는 각 서브 픽셀의 서브 픽셀 참조치에 대한 엣지 펑션을 풀기 위한 1 이상의 제2 연산 유닛과, 픽셀 좌표치에 대한 제1 연산 유닛의 출력치와 서브 픽셀 참조치에 대한 제2 연산 유닛의 출력치를 이용하여 해당 서브 픽셀이 엣지 라인의 상, 하 또는 엣지 라인 상 중 어디에 위치하는지를 판단하는 평가 수단과, 픽셀에 포함되는 모든 서브 픽셀에 대한 평가 결과를 기초로 픽셀의 커버리지를 계산하는 커버리지 계산 수단을 포함하는 것을 특징으로 하는 그래픽 처리 장치이다.
또한, 본 발명의 제2 측면은 픽셀 중 칠해야 하는 부분이 차지하는 커버리지에 따라 픽셀의 계조를 조정하는 타입의 그래픽 처리 장치에 있어서, 픽셀 중 칠해야 하는 부분과 그렇지 않은 부분과의 엣지 라인에 관한 정보를 부여하는 수단과, 픽셀 중 이 칠해야 하는 부분의 화상 정보를 결정하는 수단과, 픽셀 좌표치에 대한 엣지 펑션을 풀기 위한 제1 연산 유닛과, 픽셀에 포함되는 각 서브 픽셀의 서브 픽셀 참조치에 대한 엣지 펑션을 풀기 위한 1 이상의 제2 연산 유닛과, 픽셀 좌표치에 대한 제1 연산 유닛의 출력치와 서브 픽셀 참조치에 대한 제2 연산 유닛의 출력치를 이용하여 해당 서브 픽셀이 엣지 라인의 상, 하 또는 엣지 라인상 중 어디에 위치하는지를 판단하는 평가 수단과, 픽셀에 포함되는 모든 서브 픽셀에 대한 평가 결과를 기초로 픽셀의 커버리지를 계산하는 커버리지 계산 수단과, 산출된 커버리지에 기초하여 픽셀의 화상 정보를 조정하는 수단을 포함하는 것을 특징으로 하는 그래픽 처리 장치이다.
여기서, 상기 제2 연산 유닛은 상기 제1 연산 유닛의 외부에 설치될 수 있다.
또한, 본 발명의 제3 측면은 픽셀 중 소정 영역 내에 있는 부분이 차지하는 커버리지를 계산하기 위한 커버리지 계산 유닛에 있어서, 소정 영역의 엣지 라인을 정의하는 좌표 데이타와 픽셀의 좌표 데이타를 입력으로 갖고, 엣지 라인을 정의하는 엣지 펑션을 도출하여 해당 엣지 펑션의 계수 부분을 출력함과 동시에 픽셀에 대한 엣지 펑션을 풀어 출력하기 위한 제1 연산 유닛과, 엣지 라인을 정의하는 엣지 펑션의 계수 부분과 픽셀에 포함되는 서브 픽셀의 참조치를 입력으로 갖고, 서브 픽셀에 대한 엣지 펑션을 풀어 출력하기 위한 1 이상의 제2 연산 유닛과, 상기 제1 연산 유닛에 의한 엣지 펑션의 결과와 상기 제2 연산 유닛에 의한 엣지 펑션의 결과를 사용해서 서브 픽셀이 소정 영역의 내외 중 어디에 있는지를 판단하는 판단 유닛을 포함하는 것을 특징으로 하는 커버리지 계산 유닛이다.
또한, 본 발명의 제4 측면은 픽셀 중 소정 영역 내에 있는 부분이 차지하는 커버리지를 계산하기 위한 커버리지 계산 유닛에 있어서, 소정 영역의 엣지 라인을 정의하는 좌표 데이타와 픽셀의 좌표 데이타를 입력으로 갖고, 엣지 라인을 정의하는 엣지 펑션을 도출하여 해당 엣지 펑션의 계수 부분을 출력함과 동시에 픽셀에 대한 엣지 펑션을 풀어 출력하기 위한 제1 연산 유닛과, 엣지 라인을 정의하는 엣지 펑션의 계수 부분과 픽셀에 포함되는 서브 픽셀의 참조치를 입력으로 갖고 서브 픽셀에 대한 엣지 펑션을 풀어 출력하기 위한 1 이상의 제2 연산 유닛과, 상기 제1 연산 유닛에 의한 엣지 펑션의 결과와 상기 제2 연산 유닛에 의한 엣지 펑션의 결과를 이용하여 서브 픽셀이 소정 영역의 내외 중 어디에 있는지를 판단하는 판단 유닛과, 픽셀에 포함되는 각 서브 픽셀에 대한 판단 유닛의 판단 결과를 집계함으로써 픽셀에 대한 커버리지를 계산하는 커버리지 계산 유닛을 구비하는 것을 특징으로 하는 커버리지 계산 유닛이다.
여기서, 상기 제2 연산 유닛은 상기 제1 연산 유닛 외에 실장될 수 있다.
여기서는 우선 본 발명의 기본 원리에 대해 상세히 설명한다.
폴리곤을 구성하는 2개의 정점 V0(x0, y0) 및 V1(x1, y1)을 잇는 직선(엣지 라인)의 방정식(즉, 엣지 펑션: ef)은 하기 수학식 1과 같이 기술된다. 단, 동일 식에서 dx=x1-x0및 dy=y1-y0으로 한다.
여기서, 엣지 라인 상의 임의의 점(x, y)으로부터 미소 거리 만큼 떨어진 점을 (x+△x, y+△y)로 하고, 이 점의 좌표치를 상기 수학식 1에 대입하면 엣지 펑션은 하기 수학식 2와 같이 된다.
점(x, y)을 픽셀 좌표(pixel coordinates)로 두면, (x+△x, y+△y)를 서브 픽셀의 좌표(sub-pixel coordinates), (△x, △y)를 서브 픽셀 참조치(sub pixel reference)로서 얻을 수 있다. 또, 서브 픽셀 참조치의 각각은 일정치의 정수배인 경우가 많다.
상기 수학식 2로 표시한 서브 픽셀 좌표(x+△x, y+△y)에 대한 엣지 펑션은 픽셀 좌표(x, y)에 관련된 베이스 엣지 펑션 부분 Bef와, 서브 픽셀 참조치(△x, △y)에 관련된 서브 엣지 펑션 부분 Sef로 분류하면 각각 하기 수학식 3 및 4와 같이 기술된다.
이들 엣지 펑션 Bef 및 Sef의 각 값을 서로 더한 값을 평가 함수 LineIO check의 변수로서 대입함으로써 서브 픽셀의 라인 IO 정보(즉, 서브 픽셀이 엣지의 상, 하 또는 엣지 라인 상 중 어디에 위치하는지)를 판단할 수 있다(하기 수학식 5 참조).
일반적으로 서브 픽셀 참조치△x, △y의 각각은 픽셀 좌표치 x, y 보다도 훨씬 작아서 △x《x 및 △y《y가 성립한다. 따라서, 서브 엣지 펑션 Sef도 당연하게 베이스 엣지 펑션 Bef 보다도 훨씬 작은 값이 된다.
컴퓨터 기술의 분야에서는 작은 값의 데이타는 좁은 비트폭으로 표현할 수 있는 것을 의미하고, 또한 작은 값의 데이타를 연산 처리하기 위한 LSI도 비교적 적은 게이트 사이즈로 실장하는 것이 가능하다. 한편 비교적 큰 좌표치를 처리할 필요가 있는 Bef 연산 유닛은 비교적 대규모로 된다. 예를 들면, 그래픽스 워크 스테이션용 디스플레이는 4096(=213)×4096(=213) 정도의 해상도를 갖고 있고, 픽셀을 어드레스하기 위한 x, y 각 좌표치는 정수 부분 및 소수 부분으로서 각각 13비트, 5비트의 합계 18비트폭을 필요로 한다. 따라서, 각 18비트폭의 x, y 좌표치를 입력으로 갖는 Bef 연산 유닛은 대규모로 된다. 이에 대해 서브 픽셀 참조치 △x, △y는 x, y 픽셀 좌표 중 소수 부분에만 해당하고 8×8 서브 픽셀의 경우에는 3비트폭으로 족하다. 즉, 각 3비트의 서브 픽셀 참조치 △x, △y 만 다루는 Sef 연산 유닛은 소규모로 족하다.
1개의 픽셀에 있어 Bef 연산이 1회인데에 비해 Sef 연산은 픽셀에 포함되는 각 서브 픽셀에 대해 필요하다. 또한, 각 연산 유닛의 규모를 감안하면 1개의 Bef 연산 유닛에 대해 복수의 Sef 연산 유닛을 제공하는 것은 실장 기술 상 충분 가능하다.
상술한 바와 같이, 커버리지 계산에서 1개의 픽셀 좌표에 대한 연산(즉 Bef 연산)에 대해 4×4개, 8×8개 또는 16×16개의 서브 픽셀 참조치에 대한 연산(즉 Sef 연산)이 수반된다. 엣지 펑션을 픽셀 좌표에 관련된 베이스 엣지 펑션 부분 Bef와, 서브 픽셀 참조치에 관련된 서브 엣지 펑션 부분 Sef로 분류함과 동시에, 1개의 Bef 연산 유닛에 대해 복수의 Sef 연산 유닛을 제공하는 형태는 LSI의 실장 효율이 높고 또한 동등한 커버리지 계산 능력을 소규모 면적으로 실현할 수 있기 때문에 제조 비용의 삭감으로 이어진다. 또한, 픽셀에 관한 Bef 연산과 이것에 부수하는 서브 픽셀에 관한 복수의 Sef 연산이 병렬화되므로 연산 처리의 고속화에도 기여할 수 있다.
앞서 폴리곤의 엣지 라인이 직선인 것을 전제로 해서 설명했지만, 이번에는 엣지 라인이 원호인 경우의 엣지 펑션에 대해 설명한다.
폴리곤의 엣지 라인이 중심 Vc(xc, yc), 직경 d의 원호로 구성되었다고 하자. 해당 원호의 방정식(즉, 엣지 펑션: cef)은 하기 수학식 6과 같이 기술된다.
여기서, 엣지 라인 상의 임의의 점(x, y)으로부터 미소 거리 만큼 떨어진 점을 (x+△x, y+△y)로 하고 이 점을 상기 수학식 6에 대입하면 엣지 펑션은 하기 수학식 7과 같아진다. 단, x-xc=dx및 y-yc=dy로 한다.
점(x, y)를 픽셀 좌표(pixel coordinates)로 두면, (x+△x, y+△y)를 서브 픽셀의 좌표(sub-pixel coordinates), (△x, △y)를 서브 픽셀 참조치(sub-pixel reference)로서 얻을 수 있을 것이다(동일 상). 또, 서브 픽셀 참조치의 각각은 일정치의 정수배인 경우가 많다.
상기 수학식 7로 표시한 서브 픽셀 좌표에 대한 엣지 펑션은 픽셀 좌표(x, y)에 관련된 페이스 엣지 펑션 부분 Bef와, 서브 픽셀 참조치(△x, △y)에 관련된 서브 엣지 펑션 부분 Sef으로 분류하면 각각 하기 수학식 8 및 9와 같이 기술된다.
이들 펑션 Bef 및 Sef의 각 값을 서로 더한 값을 평가 함수 CircleIOcheck의 변수로서 대입함으로써 서브 픽셀 라인 IO 정보(즉 서브 픽셀이 엣지의 상, 하 또는 엣지 라인 상 중 어디에 위치하는지)를 판단할 수 있다(하기 수학식 10 참조).
일반적으로, 서브 픽셀 참조치 △x, △y는 픽셀 좌표치 x, y 보다도 훨씬 작아서 △x《x 및 △y《y가 성립한다. 따라서, 서브 엣지 펑션 Sef도 당연하게 베이스 엣지 펑션 Bef 보다도 훨씬 작은 값이 된다(위와 같음).
컴퓨터 기술의 분야에서는 작은 값의 데이타는 좁은 비트폭으로 표현할 수 있는 것을 의미하고, 또한 작은 값을 연산 처리하기 위한 LSI도 비교적 적은 게이트 사이즈로 실장하는 것이 가능하다. 비교적 큰 좌표치를 처리할 필요가 있는 Bef 연산 유닛은 비교적 대규모로 된다. 이에 대해 Sef 연산 유닛은 소규모가 된다. 따라서, 1개의 Bef 연산 유닛에 대해 복수의 Sef 연산 유닛을 제공할 수 있다.
상술한 바와 같이, 커버리지 계산에서 1개의 픽셀 좌표에 대한 연산(즉, Bef 연산)에 있어 4×4개, 8×8개 또는 16×16개의 서브 픽셀 참조치에 대한 연산(즉 Sef 연산)이 부수한다. 엣지 펑션을 픽셀 좌표에 관련된 베이스 엣지 펑션 부분 Bef와 서브 픽셀 참조치에 관련된 서브 엣지 펑션 부분 Sef로 분류함과 동시에, 1개의 Bef 연산 유닛에 대해 복수의 Sef 연산 유닛을 제공하는 형태는 LSI의 실장 효율이 높고 또한 동등한 커버리지 계산 능력을 소규모 면적으로 실현할 수 있기 때문에 제조 비용의 삭감으로 이어진다. 또한, 픽셀에 관한 Bef 연산과, 이것에 부수하는 서브 픽셀에 관한 복수의 Sef 연산을 병렬화할 수 있으므로 연산 처리의 고속화에도 기여할 수 있다.
LSI의 설계에서 계산기의 게이트 사이즈를 작게 하는 것, 즉 실장 면적을 축소하는 것이 제조 비용 삭감에 직접적으로 기여하는 것은 널리 알려져 있다. 본 발명에 따르면 그래픽 처리(특히 래스터라이즈 처리 과정)에서의 커버리지 계산을 위한 계산기 부분을 비교적 작은 면적으로 실현할 수 있으므로 제조 비용의 기여는 매우 높다.
결국, 본 발명에 따르면, 에일리어싱 제거 처리시의 커버리지 계산을 위한 엣지 펑션의 연산 처리를 병렬화 고속화한 우수한 그래픽 처리 장치를 제공할 수 있는 것이다.
또한, 본 발명에 따르면 에일리어싱 제거 처리시의 커버리지 계산을 행하는LSI를 비교적 작은 게이트 사이즈로 실장 가능하여 우수한 그래픽 처리 장치를 제공할 수 있다.
본 발명의 또 다른 목적, 특징이나 이점은 후술하는 본 발명의 실시예나 첨부하는 도면에 기초하여 보다 상세한 설명에 의해서 분명하게 될 것이다.
도 1은 본 발명을 실현하는데 적합한 그래픽 처리 시스템(100)의 하드웨어 구성을 모식적으로 도시한 도면.
도 2는 래스터 서브 시스템(20)의 구성을 도해한 도면.
도 3은 포인트/영역 샘플러(22)의 구성을 도해한 도면.
도 4는 포인트 영역 샘플러(22)에서의 Bef 유닛(22D) 및 Sef 유닛(22E)의 다른 구성예를 도해한 도면.
도 5는 엣지 라인이 직선을 이루는 폴리곤에 의해서 부분적으로 커버된 픽셀을 4×4개의 서브 픽셀로 분할하여 커버리지를 계산하는 것을 개략적으로 도시한 도면.
도 6은 엣지 라인이 원호를 이루는 폴리곤에 의해서 부분적으로 커버된 픽셀을 4×4개의 서브 픽셀로 분할하여 커버리지를 계산하는 것을 개략적으로 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
10 : 지오메트리 서브 시스템(geometry sub-system)
20 : 래스터 서브 시스템(raster sub-system)
21 : 인터폴레이터(interpolate)
22 : 포인트/영역 샘플러
23 : XY 좌표 발생기
24 : 퍼 플레그멘트 오퍼레이터(per fragment operator)
25 : 프레임 버퍼
100 : 그래픽 처리 시스템
이하, 도면을 참조하면서 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명을 실현하는데 적합한 그래픽 처리 시스템(100)의 하드웨어구성을 모식적으로 나타낸 것이다. 해당 시스템(100)은 프론트 엔드로서 위치가 부여되어 있는 지오메트리 서브 시스템(10)과, 백 엔드로서 위치가 부여되어 있는 래스터 서브 시스템(20)으로 구성된다. 또한, 그래픽 처리 시스템(100)은, 예를 들면 다른 상위 컴퓨터 시스템(도시하지 않는다)의 확장 어댑터 카드의 형태로 사용된다. 상위 컴퓨터 시스템의 일례는 일본 I B M(주)이 시판하는 워크스테이션 RS/ 6000이다. 워크스테이션은 통상 확장 어댑터 카드를 장착하기 위한 버스 슬롯을 1개 이상 구비하고 있고 본 그래픽 처리 시스템(100)을 수용할 수 있다. 또, 버스 인터페이스 규격의 대표적인 예는 PCI(Peripheral Component Interconnect)이다.
상위 컴퓨터 시스템은 화상 표시 대상으로서의 3차원 오브젝트를 다수의 폴리곤(통상은 3각형)으로 분할하여 폴리곤을 구성하는 각 정점에 대한 3차원 좌표 데이타나 그 외의 화상 정보를 미리 계산하고, 또한 폴리곤 단위로 자신의 기억 장치(예를 들면, 하드 디스크: 도시하지 않는다) 내에 관리하고 있다. 또한, 상위 컴퓨터 시스템은 자신이 기억 관리하고 있는 화상 정보를 데이타 셋트(또는 「화상 명령열」)라는 단위로 그래픽 처리 시스템(100)에 차례 차례 공급하도록 되어 있다. 또, 데이타 셋트는 일반적으로는 1개의 폴리곤(또는 폴리곤의 일부)을 정의하기 위한 화상 정보의 집합체이고, 폴리곤의 각 정점의 좌표 데이타, 선폭, 선종(線種), 폴리곤에 부착되는 텍스쳐의 식별자 등을 포함하고 있다.
지오메트리 서브 시스템(geometry sub-system)(10)은 상위 컴퓨터 시스템으로부터 차례 차례 수신한 데이타 셋트에 대해 기하학적인 연산 처리를 실시하는 유닛이다. 여기서 말하는 기하학적인 연산이란, 「좌표 변환」이나 「클립핑」, 「광원 계산」 등을 가리킨다. 또, 서브 시스템(10)은 일반적으로는 복수의 노드 프로세서를 설치하여(도시하지 않는다) 데이타 셋트 단위로 연산 처리를 병렬화하고 있다.
한편, 래스터 서브 시스템(raster sub-system)(20)은 데이타 셋트로 정의된 폴리곤 내의 각 픽셀(pixel)을 칠하는 처리를 행하는 유닛이다. 래스터라이징 처리는 일반적으로는 폴리곤의 정점마다 기하학적인 연산 처리가 실시된 화상 파라메터를 기초하여 폴리곤 내부의 모든 픽셀의 화상 파라메터를 보간함으로써 실현된다.
도 2는 래스터 서브 시스템(20)의 내부 구성을 나타낸 것이다. 도 2에 도시한 바와 같이 본 실시예의 서브 시스템(20)은 인터폴레이터(interpolator)(21)와 포인트/영역 샘플러(point/area sampler)(22)와, XY 좌표 발생기(23)와, 퍼 플레그멘트 오퍼레이터(per fragment operator)(24)와, 프레임 버퍼(25)를 포함하고 있다.
인터폴레이터(21)는 폴리곤 내의 각 픽셀의 화상 데이타를 보간하기 위한 유닛이다. 인터폴레이터(21)는 지오메트리 서브 시스템(10)으로부터 폴리곤의 각 정점의 좌표 데이타(x, y, z)나 화상 데이타(r, g, b. a, f, …)를 수신하여 폴리곤 내의 각 픽셀에 대한 화상 데이타를 보간 처리하고, 이들 픽셀 데이타를 후속의 퍼 플레그멘트 오퍼레이터(24)에 전달하도록 되어 있다. 또, 인터폴레이터(21)는 일반적으로는 복수의 노드 프로세서를 설치하여(도시하지 않는다) 픽셀 단위로 연산 처리를 병렬화하고 있다. 보간 처리 자체는 본 발명의 요지에 직접 관련이 없으므로 더 이상 설명하지 않는다.
XY 좌표 발생기(23)는 폴리곤에 포함되는 각 픽셀의 좌표 데이타를 발생시키기 위한 유닛이고 폴리곤을 정의하는 각 정점의 좌표 데이타를 지오메트리 서브 시스템(10)으로부터 수신함과 동시에, 발생시킨 폴리곤 내의 각 픽셀의 좌표 데이타를 후속의 포인트/영역 샘플러(22)에 차례 차례 전달하도록 되어 있다.
포인트/영역 샘플러(22)는 커버리지나 서브 픽셀 마스크 정보 등의 파라메터를 계산하기 위한 유닛이고 폴리곤을 정의하는 각 정점의 좌표 데이타를 지오메트리 서브 시스템(10)으로부터 수신함과 동시에, 폴리곤 내의 각 픽셀의 좌표 데이타를 XY 좌표 발생기(23)로부터 수신하고 있다. 커버리지나 서브 픽셀 마스크 정보 등의 파라메터는 후속의 퍼 플레그멘트 오퍼레이터(24)에서 색 데이타 등의 픽셀에 관한 화상 데이타를 재평가(즉 에일리어싱 제거)하기 위해서 이용된다. 여기서, 커버리지는 픽셀 내에서 폴리곤에 포함되는 영역의 면적율을 뜻하며(상술함), 본 실시예에서는 픽셀 중의 서브 픽셀의 비율로 기술하도록 되어 있다. 또한, 서브 픽셀 마스크 정보란, 픽셀 중의 임의의 서브 픽셀이 폴리곤의 내외 중 어디에 위치하는지를 나타내는 정보이다(단, 서브 픽셀 마스크 정보의 용도는 본 발명의 요지에 직접 관련이 없으므로 더 이상 설명하지 않는다).
퍼 플레그멘트 오퍼레이터(24)는 인터폴레이터(21)에 의해서 얻어진 각 픽셀의 보간 데이타(r, g, b, a, f. z, …)를 수신함과 동시에, 포인트/영역 샘플러(22)에 의해서 계산된 커버리지나 서브 픽셀 마스크 정보에 따라서 픽셀의 색 데이타를 재평가(즉 에일리어싱 제거)하기 위한 유닛이다.
퍼 플레그멘트 오퍼레이터(24)에 의해서 조정된 각 픽셀의 화상 데이타는 프레임 버퍼(25) 중의 해당 어드레스에 일단 기록된다. 그리고, 프레임 버퍼(25)로부터 판독된 색 데이타(r, g, b)에 따라 오브젝트가 디스플레이 스크린(26) 상에서 화상되도록 되어 있다.
도 3은 포인트/영역 샘플러(22)의 내부 구성을 나타낸 것이다. 도 3에 도시한 바와 같이, 포인트/영역 샘플러(22)는 프리 프로세스 유닛(pre-process unit)(22A)과, 포스트 프로세스 유닛(22B)과, 화상 커맨드를 파이프 라인 처리하기 위한 커맨드 파이프 라인(22C)과, 단일의 베이스 엣지 펑션(Bef) 유닛(22D)과, 복수의 서브 엣지 펑션(Sef) 유닛(22E…) 및 라인 IO 체크 유닛(22F…)으로 구성된다.
프리 프로세스 유닛(22A)은 폴리곤의 경계선(엣지 라인)에 관한 정보를 수신하여 후속의 Bef 유닛(22D) 및 Sef 유닛(22E)의 각각에 필요한 데이타를 공급하도록 되어 있다. 여기서 말하는 엣지 라인에 관한 정보에는 예를 들면, 폴리곤의 각 정점의 좌표 데이타 ((x0, y0), (x1, y1), (x2, y2))나 현 처리 대상으로 되어 있는 픽셀의 좌표 데이타(x, y) 외 엣지가 직선 또는 원호 중 어느 것인지(LorC) 원호라면 그 직경 d가 포함된다.
픽셀 중의 각 서브 픽셀의 라인IO정보(즉, 서브 픽셀이 엣지 라인의 상, 하 또는 라인 상 중 어디에 위치하는지)를 기술한 엣지 펑션 ef(상기 수학식 1 또는 6)중 픽셀 좌표치(x, y)에 관련된 부분 Bef(상기 수학식 3 또는 8)의 연산 처리는 Bef 유닛(22D)이 담당하고 서브 픽셀 참조치(△x, △y)에 관련된 부분 Sef(상기 수학식 4 또는 9)는 Sef 유닛(22E)이 담당하도록 되어 있다.
Bef 유닛(22D)은 엣지 라인 상의 2점의 좌표 데이타(예를 들면 (x0, y0)과 (x1, y1)) 외 픽셀의 좌표 데이타(x, y), LorC나 d 등의 엣지 펑션을 푸는데 필요한 데이타를 입력하여 엣지 펑션의 Bef 부분을 연산하고 해당 연산 결과를 각 라인 IO 체크 유닛(22F…)에 출력함과 동시에 엣지 펑션의 계수 부분 dx및 dy나 엣지 라인의 속성 LorC을 각 Sef 유닛(22E)에 공급하도록 되어 있다. 픽셀을 어드레스하기 위한 x, y 각 좌표치는 예를 들면 정수 부분 13비트, 소수 부분5비트의 계 18비트폭씩 필요로 한다(상술함). 따라서, 거대한 비트폭의 입력 데이타를 처리하기 위한 Bef 연산 유닛(22D)은 필연적으로 대규모로 된다.
Sef 유닛(22E…)은 엣지 펑션의 계수 부분 dx및 dy와 픽셀 중의 각 서브 픽셀에 대한 참조치 (△x, △y)를 차례 차례 수신하여 엣지 펑션의 Sef 부분을 연산하여 대응하는 라인IO체크 유닛(22F…)에 연산 결과를 출력하도록 되어 있다.
각 서브 픽셀 참조치 △x, △y는 픽셀 좌표 x, y 중의 소수 부분에만 해당하고 각각 3비트폭으로 족하다. 따라서, 각 서브 픽셀 참조치 △x, △y 외에 처리할 필요가 없는 Sef 유닛(22E…)은 소규모 사이즈로 디자인하는 것이 가능하다. 한편 1개의 픽셀에 있어 Bef 연산이 1회인데 반하여 Sef 연산은 픽셀 중 의 서브 픽셀의 개수만큼 필요하다. 예를 들면 픽셀을 4×4개, 8×8개 또는 16×16개의 서브 픽셀로 분할한 경우에는 커버리지 계산에서 각각 4×4회, 8×8회 또는 16×16회의 Sef 연산을 필요로 한다. Sef 유닛(22E…)이 Bef 유닛에 비해 현저하게 소규모로 실장 가능한 것을 감안하면 도 3에 도시한 바와 같이 1개의 Bef 유닛(22D)에 대해 Sef 유닛(22E…)을 설치하는 것은 가능하고 또한 이에 의해 완전한 Bef 연산과, 간단하나 다수의 연산을 포함하는 Sef 연산을 병렬화할 수 있다.
라인 IO 체크 유닛(22F…)은 각 Sef 유닛(22E…)에 대응하여 배치되고 있다. 라인 IO 체크 유닛(22F…)은 펑션 Line IO check (또는 Circle IO check)을 푸는 것에 의해 서브 픽셀의 라인 IO 정보(즉 서브 픽셀이 엣지 라인의 상, 하 또는 라인 상 중 어디에 위치하는지)를 판별하도록 되어 있다. 상기 수학식 5 또는 10으로 표시한 바와 같이, Line IO check/ Circle IO check의 파라메터는 픽셀 좌표에 관련된 Bef 부분과, 서브 픽셀 참조치에 관련된 Sef 부분으로 분류되고 각각 Bef 유닛(22D) 및 대응하는 Sef 유닛(22E)으로부터 공급된다. 서브 픽셀의 개수만큼 Sef 유닛(22E…) 및 라인 IO 체크 유닛(22F…)을 병렬로 설치함으로써 각 서브 픽셀에 대한 라인 IO 정보를 병렬적으로 얻을 수 있어 연산 시간이 단축된다.
포스트 프로세스 유닛(22B)은 각 서브 픽셀에 대한 라인 IO 정보를 집계 처리하여 픽셀에 대한 커버리지나 서브 픽셀 마스크 정보를 얻게 되어 있다. 예를 들면, 각 라인 IO 체크 유닛(22F…)의 결과는 게더링 유닛(gathering unit)(22B-1)에 입력되어 섬 유닛(sum unit)(22B-2)에 의해서 엣지 라인의 상(또는 하)에 위치하는 서브 픽셀의 개수가 카운트되어 픽셀 전체에 대한 서브 픽셀의 비율이 커버리지 값으로서 출력된다. 또한, 서브 픽셀 마스크 발생기(22B-3)는 임의의 서브 픽셀에 대한 좌표치가 입력되면 해당 서브 픽셀에 대한 라인 IO 정보를 취득하여 마스크 정보로서 출력하도록 되어 있다.
또, 도 3에 도시한 포인트 영역 샘플러(22)에서의 Bef 유닛(22D)및 Sef 유닛(22E)의 구성은 결국 픽셀 중의 서브 픽셀의 개수분만큼 Sef 유닛(22E)을 설치한것이지만, 반드시 이것에는 한정되지 않는다. Bef 유닛(22D) 및 Sef 유닛(22E)의 다른 대체적인 구성을 도4에 예시해 둔다. 도 4a에서는 서브 픽셀 총수분만큼 Sef 유닛을 설치하고 있고, 도 4b에서는 서브 픽셀 총수의 반만큼 Sef 유닛을 설치하여 시분할 방식 등에 의해 모든 서브 픽셀에 대한 라인 IO 정보를 얻게 되어 있다. 또한, 도 4c에서는 서브 픽셀 총수의 4분의 1만큼 Sef 유닛을 설치하여 시분할 방식 등에 의해 모든 서브 픽셀에 대한 라인 IO 정보를 얻게 되어 있다. Sef 유닛의 개수를 줄임으로써 그래픽 처리 시스템의 실장 면적은 저감하지만 그 만큼 처리 속도는 늦어진다. 어느 것을 채용할지는 설계 사항이다.
한편, 도 4d 및 도 4e에서는 Bef 유닛을 2개 준비함으로써 2개의 픽셀에 대한 커버리지 계산을 병렬 처리할 수 있게 되어 있다. 이 경우, 처리 속도는 빠르게 되지만, 그래픽 처리 시스템의 실장 면적이 비대해 지고 제조 비용이 상승하게 된다. 어느 것을 채용할지는 설계 사항이다.
이상, 특정한 실시예를 참조하면서 본 발명에 대해 상세하게 설명했다. 그러나, 본 발명의 요지를 일탈하지 않은 범위내에서 당업자가 해당 실시예의 수정이나 대용을 이룰 수 있는 것은 자명하다. 예를 들면, 본 명세서에서 픽셀의 커버리지 계산을 컴퓨터 그래픽 처리에서의 에일리어싱 제거에 특정하여 설명하였지만, 다른 적용분야에 해당 커버리지 계산을 응용하는 것은 본 명세서의 내용을 이해한 당업자에게는 용이한 것은 물론이다. 결국, 예시라는 형태로 본 발명을 개시하였으나 한정적으로 해석되어야 하는 것은 아니다. 본 발명의 요지를 판단하기 위해서는 특허 청구의 범위를 참작해야 한다.
이상 설명하였듯이, 본 발명에 따르면 에일리어싱 제거 처리시의 커버리지 계산을 위한 연산 처리를 병렬화 고속화한 우수한 그래픽 처리 장치를 제공할 수 있다.
또한, 본 발명에 따르면, 에일리어싱 제거 처리시의 커버리지 계산을 행하는 LSI를 비교적 작은 게이트 사이즈로 실장 가능한 우수한 그래픽 처리 장치를 제공할 수 있다. 본 발명에 따르면, 그래픽 처리(특히 래스터 라이즈 처리 과정)에서의 커버리지 계산을 위한 계산기 부분을 비교적 작은 면적으로 실현할 수 있으므로 제조 비용의 기여는 매우 높다.
Claims (6)
- 픽셀 중 칠해야 하는 부분이 차지하는 커버리지(coverage)를 계산하는 공정을 포함하는 타입의 그래픽 처리 장치에 있어서, 상기 픽셀 중 칠해야 하는 부분과 그렇지 않은 부분과의 엣지 라인(edge line)에 관한 정보를 부여하는 수단, 픽셀 좌표치에 대한 엣지 펑션(edge function)을 풀기 위한 제1 연산 유닛, 상기 픽셀에 포함되는 각 서브 픽셀의 서브 픽셀 참조치(參照値)에 대한 엣지 펑션을 풀기 위한 1개 이상의 제2 연산 유닛, 상기 픽셀 좌표치에 대한 상기 제1 연산 유닛의 출력치와 상기 서브 픽셀 참조치에 대한 상기 제2 연산 유닛의 출력치를 이용하여 해당 서브 픽셀이 상기 엣지 라인의 상, 하, 또는 엣지 라인 위 중 어디에 위치하는지를 판단하는 평가 수단 및 상기 픽셀에 포함되는 모든 서브 픽셀에 대한 평가 결과를 기초로 상기 픽셀의 커버리지를 계산하는 커버리지 계산 수단을 포함하는 것을 특징으로 하는 그래픽 처리 장치.
- 픽셀 중 칠해야 하는 부분이 차지하는 커버리지에 따라 픽셀의 계조(階調;graduation)를 조정하는 타입의 그래픽 처리 장치에 있어서, 상기 픽셀 중 칠해야 하는 부분과 그렇지 않은 부분과의 엣지 라인에 관한 정보를 부여하는 수단, 상기 픽셀 중 칠해야 하는 부분의 화상 정보(image information)를 결정하는 수단, 픽셀 좌표치에 대한 엣지 펑션을 풀기 위한 제1 연산 유닛, 상기 픽셀에 포함되는 각 서브 픽셀의 서브 픽셀 참조치에 대한 엣지 펑션을 풀기 위한 1개 이상의 제2 연산 유닛, 상기 픽셀 좌표치에 대한 상기 제1 연산 유닛의 출력치와 상기 서브 픽셀 참조치에 대한 상기 제2 연산 유닛의 출력치를 이용하여 해당 서브 픽셀이 엣지 라인의 상, 하 또는 엣지 라인 위 중 어디에 위치하는지를 판단하는 평가 수단, 상기 픽셀에 포함되는 모든 서브 픽셀에 대한 평가 결과를 기초로 상기 픽셀의 커버리지를 계산하는 커버리지 계산 수단 및 산출된 커버리지에 기초하여 상기 픽셀의 화상 정보를 조정하는 수단을 포함하는 것을 특징으로 하는 그래픽 처리 장치.
- 제1항 또는 제2항에 있어서, 상기 제2 연산 유닛은 상기 제1 연산 유닛의 외부에 설치되어 있는 것을 특징으로 하는 그래픽 처리 장치.
- 픽셀 중 소정 영역 내에 있는 부분이 차지하는 커버리지를 계산하기 위한 커버리지 계산 유닛에 있어서, 상기 소정 영역의 엣지 라인을 정의하는 좌표 데이타와 픽셀의 좌표 데이타가 입력되고, 상기 엣지 라인을 정의하는 엣지 펑션을 도출하여 해당 엣지 펑션의 계수 부분을 출력함과 함께, 상기 픽셀에 대한 상기 엣지 펑션을 풀어 출력하기 위한 제1 연산 유닛, 상기 엣지 라인을 정의하는 상기 엣지 펑션의 계수 부분과 상기 픽셀에 포함되는 서브 픽셀의 참조치가 입력되고, 상기 서브 픽셀에 대한 엣지 펑션을 풀어 출력하기 위한 하나 이상의 제2 연산 유닛 및 상기 제1 연산 유닛에 의한 엣지 펑션의 결과와 상기 제2 연산 유닛에 의한 엣지 펑션의 결과를 이용하여 상기 서브 픽셀이 상기 소정 영역의 내외 중 어디에 있는지를 판단하는 판단 유닛을 포함하는 것을 특징으로 하는 커버리지 계산 유닛.
- 픽셀 중 소정 영역 내에 있는 부분이 차지하는 커버리지를 계산하기 위한 커버리지 계산 유닛에 있어서, 상기 소정 영역의 엣지 라인을 정의하는 좌표 데이타와 상기 픽셀의 좌표 데이타가 입력되고, 상기 엣지 라인을 정의하는 엣지 펑션을 도출하여 해당 엣지 펑션의 계수 부분을 출력함과 함께, 상기 픽셀에 대한 엣지 펑션을 풀어 출력하기 위한 제1 연산 유닛, 상기 엣지 라인을 정의하는 엣지 펑션의 계수 부분과 상기 픽셀에 포함되는 서브 픽셀의 참조치가 입력되고, 상기 서브 픽셀에 대한 엣지 펑션을 풀어 출력하기 위한 하나 이상의 제2 연산 유닛, 상기 제1 연산 유닛에 의한 엣지 펑션의 결과와 상기 제2 연산 유닛에 의한 엣지 펑션의 결과를 이용하여 상기 서브 픽셀이 상기 소정 영역의 내외 중 어디에 있는지를 판단하는 판단 유닛 및 상기 픽셀에 포함되는 각 서브 픽셀에 대한 판단 유닛의 판단 결과를 집계함으로써 픽셀에 대한 커버리지를 계산하는 커버리지 계산 유닛을 구비하는 것을 특징으로 하는 커버리지 계산 유닛.
- 제4항 또는 제5항에 있어서, 상기 제2 연산 유닛은 상기 제1 연산 유닛의 외부에 설치되어 있는 것을 특징으로 하는 커버리지 계산 유닛.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP97-076951 | 1997-03-28 | ||
JP9076951A JP2957511B2 (ja) | 1997-03-28 | 1997-03-28 | グラフィック処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980079591A true KR19980079591A (ko) | 1998-11-25 |
KR100305461B1 KR100305461B1 (ko) | 2001-10-19 |
Family
ID=13620091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980000540A KR100305461B1 (ko) | 1997-03-28 | 1998-01-12 | 그래픽처리장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6489966B1 (ko) |
JP (1) | JP2957511B2 (ko) |
KR (1) | KR100305461B1 (ko) |
TW (1) | TW350944B (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6781600B2 (en) * | 2000-04-14 | 2004-08-24 | Picsel Technologies Limited | Shape processor |
US6766281B1 (en) * | 2000-05-12 | 2004-07-20 | S3 Graphics Co., Ltd. | Matched texture filter design for rendering multi-rate data samples |
US6828983B1 (en) * | 2000-05-12 | 2004-12-07 | S3 Graphics Co., Ltd. | Selective super-sampling/adaptive anti-aliasing of complex 3D data |
US6636232B2 (en) * | 2001-01-12 | 2003-10-21 | Hewlett-Packard Development Company, L.P. | Polygon anti-aliasing with any number of samples on an irregular sample grid using a hierarchical tiler |
JP4684744B2 (ja) * | 2005-05-27 | 2011-05-18 | 三菱電機株式会社 | 図形描画装置及びプログラム |
US7652677B2 (en) * | 2006-08-03 | 2010-01-26 | Qualcomm Incorporated | Graphics system employing pixel mask |
US8232991B1 (en) * | 2006-11-03 | 2012-07-31 | Nvidia Corporation | Z-test result reconciliation with multiple partitions |
US8269775B2 (en) | 2008-12-09 | 2012-09-18 | Qualcomm Incorporated | Discarding of vertex points during two-dimensional graphics rendering using three-dimensional graphics hardware |
GB2606101B (en) * | 2018-04-05 | 2023-05-17 | Imagination Tech Ltd | Edge and depth processing hardware |
GB2600622B (en) * | 2018-04-05 | 2022-11-16 | Imagination Tech Ltd | Edge and depth processing hardware |
CN109636751B (zh) * | 2018-12-07 | 2020-11-27 | 厦门天马微电子有限公司 | 一种异形显示面板的边缘处理方法、显示面板及显示装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1309198C (en) * | 1987-12-10 | 1992-10-20 | Carlo J. Evangelisti | Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display |
GB8828342D0 (en) * | 1988-12-05 | 1989-01-05 | Rediffusion Simulation Ltd | Image generator |
US5422991A (en) * | 1992-09-22 | 1995-06-06 | International Business Machines Corporation | Parallel vector generator and triangle generator incorporating same |
JPH07282274A (ja) * | 1994-04-04 | 1995-10-27 | Mitsubishi Electric Corp | グラフィック表示装置 |
US5668940A (en) * | 1994-08-19 | 1997-09-16 | Martin Marietta Corporation | Method and apparatus for anti-aliasing polygon edges in a computer imaging system |
US6104842A (en) * | 1996-06-10 | 2000-08-15 | Integrated Device Technology, Inc. | Geometry processing of digital video models and images |
-
1997
- 1997-03-28 JP JP9076951A patent/JP2957511B2/ja not_active Expired - Fee Related
- 1997-09-26 TW TW086114080A patent/TW350944B/zh not_active IP Right Cessation
-
1998
- 1998-01-12 KR KR1019980000540A patent/KR100305461B1/ko not_active IP Right Cessation
- 1998-07-06 US US09/050,850 patent/US6489966B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6489966B1 (en) | 2002-12-03 |
KR100305461B1 (ko) | 2001-10-19 |
TW350944B (en) | 1999-01-21 |
JP2957511B2 (ja) | 1999-10-04 |
JPH10275241A (ja) | 1998-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3129973B1 (en) | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location | |
EP0430501B1 (en) | System and method for drawing antialiased polygons | |
US5278949A (en) | Polygon renderer which determines the coordinates of polygon edges to sub-pixel resolution in the X,Y and Z coordinates directions | |
US6795080B2 (en) | Batch processing of primitives for use with a texture accumulation buffer | |
US8704830B2 (en) | System and method for path rendering with multiple stencil samples per color sample | |
JP5232358B2 (ja) | アウトラインフォントのレンダリング | |
JP3344597B2 (ja) | グラフィック画像をテッセレーション化する方法および装置 | |
US6275235B1 (en) | High precision texture wrapping method and device | |
US7554546B1 (en) | Stippled lines using direct distance evaluation | |
JP2003271987A (ja) | プリミティブにより覆われるピクセルの割合を求める方法 | |
CN104933749B (zh) | 图形图元的裁剪 | |
KR100305461B1 (ko) | 그래픽처리장치 | |
JP4311877B2 (ja) | 副標本化テクスチャ端縁部のアンチエイリアシング | |
US11030791B2 (en) | Centroid selection for variable rate shading | |
US6927775B2 (en) | Parallel box filtering through reuse of existing circular filter | |
US20240169613A1 (en) | System and Method for Batching of Strokes and Fills in a Single Draw Call | |
US20240242404A1 (en) | System and Method for Rendering a Path Using a Clockwise Fill Rule | |
US20240169620A1 (en) | System and Method for Single-pass Path Rendering Using Coverage Counting | |
JP2002049931A (ja) | 画像生成方法 | |
WO2024112961A1 (en) | Interactive computer graphics system and methods for single-pass path rendering and batching of strokes and fills | |
Denault et al. | VLSI drawing processor utilizing multiple parallel scan-line processors | |
CN114723865A (zh) | 圆角方形框的渲染方法及设备、地图渲染方法 | |
JP2008152743A (ja) | テキスチャーパターンサイズ計算回路 | |
JP2002366968A (ja) | 画像描画装置 | |
JPH0896149A (ja) | 図形描画装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080721 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |