KR101143781B1 - 픽셀 샘플링에 의한 반 에일리어싱 방법 및 시스템 - Google Patents

픽셀 샘플링에 의한 반 에일리어싱 방법 및 시스템 Download PDF

Info

Publication number
KR101143781B1
KR101143781B1 KR1020077006318A KR20077006318A KR101143781B1 KR 101143781 B1 KR101143781 B1 KR 101143781B1 KR 1020077006318 A KR1020077006318 A KR 1020077006318A KR 20077006318 A KR20077006318 A KR 20077006318A KR 101143781 B1 KR101143781 B1 KR 101143781B1
Authority
KR
South Korea
Prior art keywords
pixel
pixel sample
sample points
edge
pixels
Prior art date
Application number
KR1020077006318A
Other languages
English (en)
Other versions
KR20070054660A (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 텔레폰악티에볼라겟엘엠에릭슨(펍)
Publication of KR20070054660A publication Critical patent/KR20070054660A/ko
Application granted granted Critical
Publication of KR101143781B1 publication Critical patent/KR101143781B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

에일리어싱을 감소시키는 방법, 시스템 및 제조 아티클에 관계된다. 한 실시예에 따른 방법은 대응하는 다수의 픽셀 샘플 값을 생성하도록 다수의 픽셀 샘플 포인트에서 이미지의 픽셀을 샘플링하며, 여기서, 다수의 픽셀 샘플 포인트의 하나 이상은 픽셀의 에지를 따른 위치로부터의 미리 정해진 변위에 배치된다. 이 방법은 디스플레이된 픽셀 값을 생성하도록 다수의 픽셀 샘플 값을 조합하는 단계를 더 포함한다.
픽셀 샘플 값, 반 에일리어싱, 픽셀 샘플 포인트, 변위

Description

픽셀 샘플링에 의한 반 에일리어싱 방법 및 시스템{METHOD AND SYSTEM FOR ANTI-ALIASING BY PIXEL SAMPLING}
본 발명은 일반적으로 그래픽 처리에 관한 것으로서, 특히, 비제한으로서, 저 계산 비용으로 고 프레임율에서 고 품질의 반 에일리어싱(anti-aliasing)된 그래픽 화상을 생성시키는 방법 및 시스템에 관한 것이다.
3차원 그래픽의 실시간 렌더링(rendering)은, 게임, 인간-기계 인터페이스, 메시징 및 e-커머스를 포함하는 이동 단말기 상의 많은 매력적인 응용을 갖는다. 3차원 렌더링이 통상적으로 계산상 고가의 태스크이므로, 수용 가능한 성능을 달성하기 위해 전용 하드웨어가 종종 구축되어야 한다. 따라서, 이 하드웨어 구조의 계산 복잡성 및 대역폭 사용을 낮추는 혁신적인 방식이 매우 중요하다. Akenine-Moller, Tomas and Jacob Strom, "Graphics for the Masses: A Hardware Architecture for Mobile Phones," ACM Transactions on Graphics, vol.22, no.3, Proceedings of ACM SIGGRAPH 2003, pp. 801-808, July 2003에 기재되어 있는 바와 같이, 그것은, 평균 눈 대 픽셀 각(eye-to-pixel angle)이 개인용 컴퓨터(PC)에 대한 것보다 이동 전화에 대해 약 2-4 더 큰 것으로 나타내었다. 따라서, 이동 장치 상의 이미지 품질은 이상적으로 PC에 대해서보다 더 좋아야 한다. 그러나, 이동 장 치는 통상적으로 다소 강력한 계산 자원을 갖고 있다.
초창기 컴퓨터 그래픽부터, 에일리어싱(aliasing)은 디스플레이 상에 정지 또는 이동 화상을 제공할 시에 문제가 된다. 일례의 에일리어싱은 라인이 비스듬히 그려질 시에 디스플레이 단말기 상에서 시각적으로 표시되는 계단상(stair-step) 효과이다. 이들 계단상 아티팩트(artifact)는 일반적으로 "재기스(jaggies)"라 한다. 3차원 렌더링 중에, 다각형의 가장자리는 종종 현저한 에일리어싱 아티팩트를 생성시킨다. 반 에일리어싱 기술을 이용하여 이들 아티팩트를 감소시키는 것이 바람직하다.
에일리어싱으로 인한 화상의 아티팩트를 감소시키는 한가지 접근법은 수퍼샘플링으로서 공지된 것을 이용하는 것이다. 수퍼샘플링 접근법에서는, 디스플레이될 픽셀당 하나 이상의 점으로 화면(scene)이 샘플링되고, 최종 이미지는 이 샘플로부터 계산된다. 수퍼샘플링의 특정 경우로서, 멀티샘플링 기술은 또한 이 화면을 픽셀당 하나 이상의 점으로 샘플링하지만, 단편 셰이더(fragment shader) 계산(예컨대, 텍스쳐 및 칼라)의 결과는 픽셀의 샘플 간에 공유된다. 멀티샘플링 알고리즘은, 일반적으로, 단일 통과 시 픽셀당 하나 이상의 샘플을 취해, 그리드 셀에 대한 샘플 중에서 계산을 공유하는 것이다.
반 에일리어싱으로의 수퍼샘플링 접근법에서, 스크린상에 디스플레이되는 최종 해상도보다 높은 해상도로 화상이 렌더링되어, 픽셀당 하나 이상의 샘플을 생성시킨다. 그 후, 각 픽셀에 대한 샘플은 평균화되어, 예컨대, 픽셀의 칼라를 형성한다. 이것은, 디스플레이될 각 픽셀에 대한 다수의 서브픽셀 샘플을 렌더링하여, 각 픽셀의 값을 서브픽셀 샘플 값의 웨이트된 합으로 계산함으로써 행해진다. 예컨대, 각 디스플레이된 픽셀은 픽셀 내부의 4개의 서브픽셀 샘플의 그룹의 필터된 웨이트된 합으로 이루어질 수 있다.
수퍼샘플링 접근법의 결과로서, 그래픽 하드웨어는 각 디스플레이된 픽셀에 대한 많은 샘플의 4배를 처리해야 한다. 이 반 에일리어싱 방법은 종종 억지(brute-force) 수퍼샘플링으로 지칭된다. 억지 수퍼샘플링은 이미지의 품질을 크게 증대시키지만, 메모리 및 렌더링 시간에 의해 고 페널티를 받는다. 예컨대, 타겟 이미지의 폭 및 높이가 w × h이라고 가정한다. 2w × 2h의 해상도가 억지 수퍼샘플링에 이용되면, 픽셀당 4개의 샘플이 이용되고, 많은 메모리의 4배뿐만 아니라 래스터화(rasterization) 시간의 4배가 필요로 된다. 수퍼샘플링이 양호한 화상 품질을 제공하지만, 그것은 무거운 계산 부담(burden)으로 인해 저 프레임율을 생성시킬 수 있다.
반 에일리어싱된 픽셀을 생성하기 위한 계산 부담을 낮추기 위해, 서브픽셀 샘플 위치가 하나 이상의 샘플 위치의 값이 하나 이상의 픽셀에 대한 최종 값을 계산하기 위해 이용될 수 있도록 하는 위치에 배치되는 수정된 수퍼샘플링 기법이 이용될 수 있다. 이런 종류의 수퍼샘플링 기법은 종종 샘플-공유 기법으로 지칭된다. 샘플을 공유함으로써, 픽셀당 4 미만의 샘플을 획득할 수 있다. 멀티샘플링은 때때로 대역폭 요구 조건을 더 감소시키는데 이용될 수 있는데, 그 이유는 계산의 부분이 픽셀 내부의 모든 샘플에 의해 공유될 수 있기 때문이다.
미국, 산타 클라라, NVIDIA Corporation으로부터의 GeForce3TM 그래픽 처리 유닛은 픽셀 간의 서브샘플의 공유 및 수퍼샘플링을 지원하는 하드웨어를 제공한다. 수퍼샘플링 기법은, "Quincunx"가 다이 상에 "5"의 형식의 서브픽셀 샘플 패턴을 제공하는 것으로 지칭된다(즉, 5개의 서브픽셀 샘플이 최종 픽셀의 값을 계산하는데 이용된다). Quincunx 기법의 샘플 위치의 배치로 인해, 픽셀당 2개만의 샘플이 계산될 필요가 있다. 이 샘플 값의 나머지는 이웃한 픽셀로부터 획득된다. 중심 서브픽셀 샘플에는 0.5의 웨이트가 주어지지만, 주변 서브픽셀 샘플에는 제각기 0.125의 웨이트가 주어진다. Quincunx 기법에 관한 정보는 NVIDIA Corporation으로부터의 "Technical Brief, HRAA: High-Resolution Antialiasing through Multisampling"에서 찾을 수 있다.
단색 기법에서 블랙과 화이트 간의 많은 그레이 레벨은 얼마나 많은 픽셀 샘플 포인트가 이용되는 가에 의존한다. 4개의 픽셀 샘플 위치가 이용되는 예에서는, 블랙과 화이트 간에는 기껏해야 3개의 그레이 음영(shade)이 있을 것이다. 결과적으로, 상술한 Quincunx 기법은 기껏해야 4개의 그레이 음영을 제공한다. 그러나, Quincunx 기법에 대한 그레이 음영의 유효 수는 2만큼 적을 수 있다. Quincunx 기법에서, 샘플 포인트는 수직, 수평 및 450 방향으로 라인을 형성하며, 이는 Quincunx 기법이 일부 라인 방향에 대한 일부 다른 기법보다 불량하게 실행하도록 한다.
본 발명은 저 계산 비용으로 고 품질의 반 에일리어싱된 화상을 생성시키는 방법 및 장치를 제공하려고 한다. 본 발명의 한 실시예는 에일리어싱을 감소시키는 방법에 관계된다. 이 방법은 대응하는 다수의 픽셀 샘플 값을 생성하도록 다수의 픽셀 샘플 포인트에서 이미지의 픽셀을 샘플링하는 단계를 포함하며, 여기서, 다수의 픽셀 샘플 포인트의 하나 이상은 픽셀의 에지를 따른 위치로부터의 미리 정해진 변위에 배치된다. 이 방법은 디스플레이된 픽셀 값을 생성하도록 다수의 픽셀 샘플 값을 조합하는 단계를 더 포함한다. 본 발명의 실시예에서, 미리 정해진 변위는 룩업 테이블을 이용하여 결정된다. 본 발명의 다른 실시예에서, 미리 정해진 변위는 의사 랜덤하게 결정된다.
본 발명의 다른 실시예는 에일리어싱을 감소시키는 시스템에 관계되며, 이 시스템은 이미지를 기억하도록 구성된 샘플 버퍼 및, 대응하는 다수의 픽셀 샘플 값을 생성하도록 다수의 픽셀 샘플 포인트에서 픽셀 샘플링을 실행하도록 구성된 프로세서를 포함하며, 여기서, 다수의 픽셀 샘플 포인트의 하나 이상은 픽셀의 에지를 따른 위치로부터의 미리 정해진 변위에 배치된다. 이 프로세서는 하나 이상의 디스플레이된 픽셀 값을 생성하도록 다수의 픽셀 샘플 값을 조합하기 위해 더 구성된다.
본 발명의 다른 실시예는, 하나 이상의 컴퓨터 판독 가능한 매체 및, 이 하나 이상의 컴퓨터 판독 가능한 매체 상에 포함된 프로세서 명령을 포함하는 제조 아티클(article)에 관계되며, 프로세서 명령은, 하나 이상의 프로세서에 의해 하나 이상의 컴퓨터 판독 가능한 매체로부터 판독 가능하여, 이에 의해, 하나 이상의 프로세서가 대응하는 다수의 픽셀 샘플 값을 생성하도록 다수의 픽셀 샘플 포인트에서 이미지의 픽셀을 샘플링하기 위해 동작하도록 구성되며, 여기서, 다수의 픽셀 샘플 포인트의 하나 이상은 픽셀의 에지를 따른 위치로부터의 미리 정해진 변위 내에 배치된다. 이 프로세서 명령은 하나 이상의 프로세서가 디스플레이된 픽셀 값을 생성하도록 다수의 픽셀 샘플 값을 조합하도록 동작하게 한다.
본 발명의 더욱 완전한 이해는, 첨부한 도면과 함께 본 발명의 예시적인 실시예에 대한 다음의 상세한 설명을 참조로 획득될 수 있다.
도 1A는 반 에일리어싱에 대한 픽셀 샘플링 패턴의 일례를 도시한 것이다.
도 1B는 반 에일리어싱에 대한 픽셀 샘플링 패턴을 도시한 것이다.
도 2A는 반 에일리어싱에 대한 픽셀 샘플링 패턴의 다른 예를 도시한 것이다.
도 2B는 반 에일리어싱에 대한 픽셀 샘플링 패턴을 도시한 것이다.
도 3A 및 3B는 픽셀 샘플 패턴의 픽셀 샘플 위치의 계산을 도시한 것이다.
도 4는 픽셀 샘플 패턴의 미러링(mirroring) 단계를 도시한 것이다.
도 5는 다른 픽셀 샘플 패턴의 다른 미러링 단계를 도시한 것이다.
도 6A 및 6B는 픽셀 샘플 패턴을 도시한 것이다.
도 7은 픽셀 샘플 패턴을 도시한 것이다.
도 8은 픽셀 샘플 패턴을 도시한 것이다.
도 9A 및 9B는 반 에일리어싱된 화상을 생성하는 방법을 도시한 것이다.
도 10A-10D는 각 픽셀에 대한 3개의 픽셀 샘플을 포함하는 멀티샘플링 기법의 변형을 도시한 것이다.
도 11은 다른 멀티샘플링 기법을 도시한 것이다.
도 12는 9개의 픽셀을 포함하는 3×3 픽셀 구성의 반 에일리어싱 기법을 도시한 것이다.
도 13A-13D는 멀티샘플링 기법을 도시한 것이다.
도 14는 멀티샘플링 기법을 도시한 것이다.
도 15는 3×3 픽셀 구성의 반 에일리어싱 기법을 도시한 것이다.
도 16은 반 에일리어싱된 화상을 생성하는 그래픽 시스템을 도시한 개략적인 블록도이다.
이하, 본 발명의 실시예는 첨부한 도면을 참조로 더욱 상세히 기술될 것이다. 그러나, 본 발명은 많은 상이한 형식으로 실시될 수 있고, 여기에 설명된 실시예로 제한되는 것으로 구성되지 않는다. 본 발명은 청구범위로서만 제한된다.
본 발명의 각종 실시예는 비주기적 픽셀 샘플링 패턴을 제공함으로써 반 에일리어싱 아티팩트를 감소시키는 역할을 한다. 비주기적 픽셀 샘플링 패턴은 에지의 어떠한 특정 각이 에일리어싱 아티팩트를 더욱 갖기 쉽게 할 수 없다. 본 발명의 각종 실시예는, 이웃한 픽셀에 대한 반사 규칙(reflection rule)을 구현할 필요성을 제거하여, 픽셀 에지 상에 배치된 샘플이 픽셀 에지를 공유하는 이웃한 픽셀에 의해만 공유됨을 필요로 하는 역할을 한다. 따라서, 어떠한 다른 픽셀도 그 샘 플에 의존할 필요가 없다.
도 1A를 참조하면, 8개의 픽셀(101a-101h)에 대한 픽셀 샘플링 패턴이 도시된다. 도 1A의 픽셀 샘플링 패턴은 픽셀(101a-101h)의 에지 상에 배치된 9개의 픽셀 샘플 포인트(104-112)를 도시한다. 명료함을 위해, 수평 픽셀 에지 상에 위치할 수 있는 어떠한 픽셀 샘플은 도시되지 않는다. 도 1A의 픽셀 샘플링 패턴은 픽셀 샘플링 패턴이 매 2개의 픽셀에 대해 반복될 시에 2의 주기성을 갖는다.
도 1B를 참조하면, 본 발명의 실시예에 따른 픽셀 샘플링 패턴이 도시된다. 도 1B의 픽셀 샘플링 패턴은 픽셀(101a'-101h')의 에지 상에 배치된 9개의 픽셀 샘플 포인트(104'-112')를 도시한다. 명료함을 위해, 수평 픽셀 에지 상에 위치할 수 있는 어떠한 픽셀 샘플은 도시되지 않는다. 도 1B에서, 픽셀 샘플 포인트(105')는 픽셀(101a' 및 101b')의 공유된 에지를 따라 미리 정해진 오프셋만큼 변위됨으로써, 어느 다른 픽셀 샘플 포인트(104' 및 106'-112')와 동일한 픽셀 에지를 따른 수직 거리에 있지 않도록 한다. 픽셀 샘플 포인트(105')가 변위되는 거리는 어느 많은 방법 또는 알고리즘에 의해 결정될 수 있다. 한 선택에서, 픽셀 샘플 포인트(105')가 변위되는 거리는, 반 에일리어싱 기법이 실행될 수 있는 하나 이상의 픽셀용 테이블로부터의 룩업(lookup)에 의해 결정될 수 있다. 다른 선택에서, 오프셋의 량은 의사 랜덤하게 결정될 수 있다. 픽셀 샘플 포인트(105')의 변위는 비주기적 픽셀 샘플링 패턴을 생성시킨다. 또 다른 선택에서, 어느 픽셀 샘플 포인트(104'-112') 중 하나 이상은, 픽셀 에지 상에 위치된 샘플 포인트가 그 픽셀 에지를 공유하는 이웃한 픽셀에 의해 공유되는 요구 조건으로 픽셀 에지를 따라 미리 정해진 거리만큼 변위될 수 있다.
도 2A를 참조하면, 8개의 픽셀(201a-201h)에 대한 픽셀 샘플링 패턴이 도시된다. 도 2A의 픽셀 샘플링 패턴은 픽셀(201a-201h)의 에지 상에 배치된 9개의 픽셀 샘플 포인트(204-212)를 도시한다. 명료함을 위해, 수평 픽셀 에지 상에 위치할 수 있는 어떠한 픽셀 샘플은 도시되지 않는다. 도 2A의 픽셀 샘플링 패턴은 픽셀 샘플링 패턴이 매 3개의 픽셀에 대해 반복될 시에 3의 주기성을 갖는다.
도 2B를 참조하면, 본 발명의 실시예가 도시되며, 여기서, 픽셀 샘플링 패턴내의 모든 샘플은, 픽셀의 에지를 따라 미리 정해지는 오프셋에, 또는 픽셀의 에지를 따라 미리 정해진 구간 내에 위치된다. 도 2B는 8개의 픽셀(201a'-201h')에 대한 픽셀 샘플링 패턴을 도시한다. 도 2B의 픽셀 샘플링 패턴은 픽셀(201a'-201d' 및 202a'-202d')의 에지 상에 배치된 9개의 픽셀 샘플 포인트(204'-212')를 도시한다. 픽셀 샘플 포인트(204'-212')의 각각은 픽셀 에지의 미리 정해진 구간 내의 미리 정해진 포인트에 위치된다. 한 선택에서, 픽셀 샘플 포인트(204'-212')는 픽셀 에지의 미리 정해진 구간 내에 의사 랜덤하게 위치된다. 다른 선택에서, 픽셀 샘플 포인트(204'-212')는 픽셀 샘플링 패턴이 2 이상의 픽셀을 넘어 반복하지 않도록 룩업 테이블로부터 판독되는 미리 정해진 오프셋에 위치된다.
도 2B는 각각의 픽셀 샘플 포인트(204'-212')와 관련된 미리 정해진 구간을 도시하며, 각 미리 정해진 구간은 브래킷(bracket)으로 나타낸다. 픽셀 샘플 포인트의 변위의 이용을 통해, 변위를 생성하는데 이용되는 룩업 테이블 또는 의사 랜덤 생성기의 제한 내에서, 픽셀 샘플링 패턴의 가상 무한 주기성이 생성되어, 라인 에지를 따라 개선된 대칭 브레이크업(breakup)을 생성시켜, 반 에일리어싱된 이미지의 더욱 양호한 가시적 품질을 제공한다. 픽셀 샘플 포인트(204'-212')의 미리 정해진 구간이 픽셀 에지의 일부만을 따라 연장하는 것으로 도시되지만, 미리 정해진 구간은, 특정 픽셀 샘플 포인트가 픽셀 에지를 따라 어딘가에 위치될 수 있도록 픽셀 에지의 전체 길이를 따라 연장할 수 있는 것으로 이해되어야 한다. 또한, 픽셀 샘플 포인트가 픽셀 에지 상에 정확히 위치될 필요는 없지만, 대신에, 예컨대, 픽셀 에지로부터의 픽셀 폭의 1/3의 거리에서 픽셀 에지 근처에 위치될 수 있음을 알아야 한다. 부가적인 픽셀 샘플 포인트는 각 픽셀 내에 위치될 수 있음을 알 수 있다.
도 3A 및 3B는, 픽셀 샘플 포인트(303-306)가 픽셀(301)의 에지에 배치되고, 픽셀 샘플 포인트(307-310)가 픽셀(302)의 에지에 배치되는 수퍼샘플링 기법을 도시한 것이다. 이것은, 픽셀(301) 및 픽셀(302)이 서로에 대해 인접하여 배치될 경우에 디스플레이 메모리 내에서 픽셀(301)과 픽셀(302) 간의 픽셀 샘플 공유를 고려한다. 도 3A 및 3B의 수퍼샘플링 기법에서, 샘플은 Quincunx 기법과 같이 픽셀(301, 302)의 코너에 배치되지 않는다. 대신에, 하나의 픽셀 샘플 포인트는 회전되는 정사각형 구성의 픽셀(301, 302)의 각 에지에 정해지고, 제각기 0.25의 웨이트를 갖는다. 다른 웨이트는 각 샘플 포인트를 또한 웨이트하기 위해 이용될 수 있는 것으로 이해되어야 한다.
정확한 픽셀 샘플 위치를 결정하는 식은 제각기 도 3A 및 3B의 아래에 도시된다. 도 3A 및 3B의 식에서, 항목 x0 및 y0는, 도 3A 및 3B에 도시된 바와 같이, 제각기 x-축("x") 및 y-축("y")의 원점을 나타낸다.
도시된 바와 같이 픽셀 샘플 포인트(303-310)의 배치는, 비교적 소수의 픽셀 샘플 포인트가 필요한 샘플링 패턴에 제공한다. 게다가, 샘플링 패턴은, 각 샘플 포인트가 픽셀의 고유 행(row) 및 열(column) 상에 위치되는 특징을 제공한다. 즉, 2개의 픽셀 샘플은 특정 픽셀에 대해 동일한 열 또는 행을 공유하지 않는다. 이것은, 도 3A 및 3B에서, 점선으로 도시되며, 여기서, 2개의 포인트는 동일한 점선 상에 위치하지 않는다. 샘플링 패턴은 또한 픽셀 샘플링 패턴 구성의 대칭을 브레이크(break)하는 역할을 하여, 디스플레이의 축없는(non-axial) 라인의 반 에일리어싱 효과의 증대에 제공하며, 축없는 라인은 디스플레이의 수평축 또는 수직축과 평행하게 위치하지 않는 라인이다. 반 에일리어싱 효과는, 디스플레이에 대해 거의 수직이거나 거의 수평인 라인에 대해 더욱 크다. 예컨대, 하나 이상의 픽셀(301, 302)에 걸쳐 디스플레이 상에 그려지는 거의 수평으로 지향된 다각형의 에지를 추정한다. 예컨대, Quincunx 기법이 반 에일리어싱된 라인 표현(representation)을 생성하기 위해 이용되면, 4개의 샘플 포인트가 제각기 픽셀의 각 코너 내에 이용될 것이다. 일부 픽셀의 경우, 다각형 에지는 픽셀의 상부만을 커버하지만, 2개의 최상위 픽셀 샘플 위치를 커버할 것이다. 결과적으로, 픽셀 내의 픽셀 샘플 위치로부터 값을 조사함으로써, 픽셀의 결정된 반 에일리어싱된 값은, 픽셀의 절반이 에지에 의해 커버될 지라도 0.25일 것이다. 그래서, 이 픽셀은 불량하게 제공될 것이다.
동일한 상황이 픽셀(301, 302)의 상부의 작은 부분을 커버하는 거의 수평 라 인 방향에 배치되는 다각형의 에지를 가진 도 3A 및 3B의 기법의 이용으로 발생하면, 다각형 에지는 픽셀 샘플 위치의 양방을 커버하는 것이 아니라, 샘플 위치의 배치로 인해 픽셀(301, 302)의 최상부 수평 에지 상의 샘플 위치만을 커버한다.
도 4는 픽셀(401)의 픽셀 샘플 포인트(403-406)가 Quincunx 기법에 따른 경우와 같이 픽셀의 코너에 배치되지 않는 픽셀 샘플링 패턴을 도시한다. 픽셀 샘플 포인트(403-406)에 의해 도시된 바와 같은 픽셀 샘플 구성은 "quad A"로서 지칭된다. 이에 대응하여, 픽셀 샘플 포인트(406-409)에 의해 도시된 바와 같은 픽셀 샘플 구성을 나타내는 픽셀(402)은 "quad B"로서 지칭된다.
quad A 및 quad B의 구성을 나란히 조사함으로써, quad B 미러 이미지의 픽셀 샘플 포인트(406-409)는, quad A의 우측 수직 에지(410) (및 결과적으로 quad B의 좌측 수직 에지)에서 반사될 시에 quad A의 대응하는 픽셀 샘플 포인트(403-406)임이 자명하다. 픽셀 샘플 포인트(403-406 및 406-409)의 위치를 미러함으로써, 2개의 픽셀 간에 픽셀 샘플 포인트(406)를 공유하고, 픽셀 샘플링 구성의 대칭을 브레이크업하여 더욱 양호한 반 에일리어싱 결과를 달성할 수 있다. 행당 하나만의 샘플 및 열당 하나만의 샘플이 존재한다. 예컨대, Quincunx 기법에서는, 상부 행에 대해 2개의 샘플이 존재한다.
도 5는 상위 좌측 픽셀(501)이 quad A 구성에서 4개의 픽셀 샘플 포인트(510-513)를 포함하는 반 에일리어싱 기법을 도시한다. 픽셀(501)의 우측으로의 픽셀(502)은 또한 quad B 구성에서 4개의 픽셀 샘플 포인트(513-516)를 포함하며, 이는 가장 좌측 픽셀(501)의 우측 에지에서 반사된다. 더욱이, 제 3 픽셀(503)은 또한 quad A 구성에서 4개의 픽셀 샘플 포인트(516-519)를 포함한다. 도 5로부터 알 수 있는 바와 같이, 픽셀(501-503)은 픽셀(501-502, 502-503)의 각 쌍 간에 하나의 픽셀 샘플 포인트(513, 516)를 공유한다. 픽셀(504-506)을 포함하는 픽셀의 하위 행은, 픽셀 샘플 포인트(511, 520-522)의 quad B 구성을 제공하는 픽셀(504)로 개시한다. 픽셀 샘플 포인트(511)는 상기 픽셀의 행 상에서 픽셀(504)과 픽셀(501) 간에 공유된다. quad A(즉, 최상부 픽셀(501)) 및 quad B(즉, 하위 픽셀(504))의 구성을 나란히 조사함으로써, quad B의 픽셀 샘플 포인트(511, 520-522)는, 픽셀(501)의 하부 수평 에지(530) (및 결과적으로 픽셀(504)의 상부 수평 에지)에서 반사되는 quad A의 대응하는 포인트(510-513)의 미러 이미지를 형성함이 자명하다.
픽셀(505)은 quad A 구성에서 4개의 픽셀 샘플 포인트(515, 522-524)를 포함한다. 픽셀(505)은, 픽셀(502)과 하나의 픽셀 샘플 포인트(515)를 공유하고, 픽셀(504)과 하나의 픽셀 샘플 포인트(522)를 공유한다. 동일한 것이 가장 우측 픽셀(506)에 적용하며, 이 픽셀(506)은 또한 이웃한 픽셀(503,505)과 2개의 픽셀 샘플 포인트(517, 524)를 공유한다.
미러링 기법을 이용함으로써, 디스플레이 상의 최상부 및 가장 좌측 픽셀(501-504)을 제외하고, 모든 픽셀은, 픽셀(501-506)의 최종 값을 결정할 시에 2개만의 새로운 픽셀 샘플 위치의 계산을 필요로 한다. 픽셀 계산이 좌측-우측 및 상부-하부 순서로 실행되는 예에서, 픽셀(501)에 대해, 픽셀 샘플 포인트(510-513)에 대한 값이 계산된다. 픽셀(502)에 대해, 픽셀 샘플 포인트(514-516)의 값이 계 산되지만, 픽셀 샘플 포인트(513)의 값은 픽셀(501)에 대해 이미 계산되었기 때문에 계산될 필요가 없다. 픽셀(503)에 대해, 픽셀 샘플 포인트(517-519)의 값이 계산되지만, 픽셀 샘플 포인트(516)의 값은 픽셀(502)에 대해 이미 계산되었기 때문에 계산될 필요가 없다. 픽셀(504)에 대해, 픽셀 샘플 포인트(520-522)의 값이 계산되지만, 픽셀 샘플 포인트(511)의 값은 픽셀(501)에 대해 이미 계산되었기 때문에 계산될 필요가 없다. 픽셀(505)에 대해, 픽셀 샘플 포인트(523-524)의 값만이 계산되지만, 픽셀 샘플 포인트(515 및 522)의 값은 제각기 픽셀(502 및 504)에 대해 이미 계산되었기 때문에 계산될 필요가 없다. 마찬가지로, 픽셀(506)에 대해, 픽셀 샘플 포인트(525-526)의 값만이 계산되지만, 픽셀 샘플 포인트(517 및 524)의 값은 제각기 픽셀(503 및 505)에 대해 이미 계산되었기 때문에 계산될 필요가 없다. 픽셀이, 우측에서 좌측으로, 하부에서 상부로 주사함으로써 횡단될 수 있는 다른 선택에서, 가장 우측 열 및 최하부 행을 제외한 모든 픽셀은 2개의 샘플만을 필요로 한다. 다른 선택에서, 주사 방향은, 메모리를 더욱 효율적으로 사용하기 위해 다른 라인마다 변경될 수 있다. 기하학적 프리미티브(geometric primitive)의 픽셀을 횡단하도록 당업자에게 이해되는 많은 방식이 기하학적 프리미티브 내부의 모든 픽셀을 횡단 기법이 방문하는 한 가능함을 이해하게 된다.
도 6A 및 6B는 픽셀 샘플 포인트(303'-306')가 픽셀(301')의 에지에 배치되고, 픽셀 샘플 포인트(307'-310')가 픽셀(302')의 에지에 배치되는 수퍼샘플링 기법을 도시한 것이다. 이것은, 픽셀(301') 및 픽셀(302')이 서로에 대해 인접하여 배치될 경우에 디스플레이 메모리 내에서 픽셀(301')과 픽셀(302') 간의 픽셀 샘플 공유를 고려한다. 도 6A 및 6B의 수퍼샘플링 기법에서, 하나 이상의 픽셀 샘플 포인트(303'-306')는 픽셀(301' 및 302')의 에지를 따른 구간 내의 미리 정해진 위치에 배치될 수 있다. 도 6A 및 6B는 픽셀 샘플 포인트(303'-310')의 각각과 관련된 미리 정해진 구간을 도시하며, 각 미리 정해진 구간은 브래킷으로 나타낸다. 각 브래킷이 픽셀 에지의 일부를 따라 연장하는 것으로 도시되지만, 픽셀 샘플 포인트는 픽셀 에지의 모든 부분을 따라 배치될 수 있음을 이해하게 된다. 도 6A 및 6B의 실시예에서, 하나의 픽셀 샘플 위치는 픽셀(301, 302)의 각 에지에 정해지고, 0.25의 웨이트를 갖는다. 도 6A에 대해 정확한 픽셀 샘플 위치를 결정하는 예시적인 식은 다음과 같다:
Figure 112007021962494-pct00001
그리고, 도 6B에 대해서는 다음과 같다:
Figure 112007021962494-pct00002
여기서, offset() 함수는 미리 정해진 범위 내에서 변위 값을 생성시키는 함수를 나타내고, 항목 x0 및 y0은, 도 6A 및 6B에 도시된 바와 같이, 제각기 x-축("x") 및 y-축("y")의 원점을 나타낸다. 다른 실시예에서, 이 정보가 룩업 테이 블 내에서나 의사 랜덤 함수로 이미 인코딩될 수 있을 시에, 픽셀 샘플 위치를 결정하는 식에 추가적인 상수를 포함할 필요가 없다. 예컨대, 픽셀 샘플 위치(303')에 대한 식은 다음의 형식일 수 있다:
Figure 112007021962494-pct00003
픽셀 샘플 포인트(303'-310')의 하나 이상의 변위된 (또는 오프셋) 배치는, 일직선 에지, 특히 27 도에 가까운 에지 상의 반 에일리어싱 효과를 증대하기 위해 샘플링 패턴의 주기성을 브레이크하는 역할을 한다. 픽셀 샘플 포인트의 변위가 실행되지 않는 샘플링 패턴의 경우, 27 도에서의 에지는, 픽셀 샘플 포인트가 27 도만큼 회전되는 정사각형을 나타낸다는 사실로 인해 바람직하지 않은 결과를 생성시킬 수 있다. 본 발명의 각종 실시예에 따라 도입한 변위는 이 대칭을 브레이크하여, 더욱 양호한 결과를 생성시킬 것이다.
한 선택에서, 픽셀 샘플 포인트(303'-310')의 각각은, 픽셀 샘플링 패턴이 적어도 매 픽셀에 대해 반복되지 않도록 룩업 테이블로부터 판독되는 바와 같이 미리 정해진 오프셋에 배치될 수 있다. 다른 선택에서, 픽셀 샘플 포인트(303'-310')의 각각은, 의사 난수 생성기를 이용하여 배치될 수 있다. 또 다른 선택에서, 샘플링 패턴은 샘플링 패턴은, 픽셀의 에지에서나 그 근처에 배치된 것 이외에 픽셀 내부에 배치된 하나 이상의 픽셀 샘플 포인트를 포함할 수 있다.
도 7은 가장 좌측 픽셀(401')의 픽셀 샘플 포인트(403'-406')가 픽셀(401')의 에지를 따라 미리 정해진 위치에 배치되는 픽셀 샘플링 패턴을 도시한다. 픽셀 샘플 포인트(407'-409')는 픽셀(402')의 에지에 배치된다. 하나 이상의 픽셀 샘플 포인트(403'-409')의 위치는 픽셀(401' 및 402')의 각각의 에지를 따라 미리 정해진 구간 내의 미리 정해진 위치에 배치될 수 있다. 도 7은 픽셀 샘플 포인트(403'-409')의 각각과 관련된 미리 정해진 구간을 도시하며, 각 미리 정해진 구간은 브래킷으로 나타낸다. 브래킷이 픽셀 에지의 일부를 따라 연장하는 것으로 도시되지만, 픽셀 샘플 포인트는 픽셀 에지의 모든 부분을 따라 배치될 수 있음을 이해하게 된다.
도 8은 상위 좌측 픽셀(501')이 4개의 픽셀 샘플 포인트(510'-513')를 포함하는 반 에일리어싱 기법을 도시한다. 픽셀(501')의 우측으로의 픽셀(502')은 또한 4개의 픽셀 샘플 포인트(513'-516')를 포함한다. 더욱이, 제 3 픽셀(503')은 또한 4개의 픽셀 샘플 포인트(516'-519')를 포함한다. 도 8로부터 알 수 있는 바와 같이, 픽셀(501'-503')은 픽셀(501'-502', 502'-503')의 각 쌍 간에 하나의 픽셀 샘플 포인트(513', 516')를 공유한다. 픽셀의 하위 행은, 픽셀 샘플 포인트(511', 520'-522')의 구성을 제공하는 픽셀(504')로 개시한다. 픽셀 샘플 포인트(511')는 상기 픽셀의 행 상에서 픽셀(504')과 픽셀(501') 간에 공유된다.
픽셀(505')은 4개의 픽셀 샘플 포인트(515', 522'-524')를 포함한다. 픽셀(505')은, 픽셀(502')과 하나의 픽셀 샘플 포인트(515')를 공유하고, 픽셀(504')과 하나의 픽셀 샘플 포인트(522')를 공유한다. 동일한 것이 가장 우측 픽셀(506')에 적용하며, 이 픽셀(506')은 또한 이웃한 픽셀(503',505')과 2개의 픽셀 샘플 포인트(517', 524')를 공유한다. 하나 이상의 픽셀 샘플 포인트(510'-525')의 위치는 g하나 이상의 픽셀(501'-506')의 각각의 에지를 따라 미리 정해진 구간 내의 미리 정해진 위치에 배치될 수 있다. 한 선택에서, 픽셀 샘플 포인트는 룩업 테이블로부터 판독되는 미리 정해진 오프셋에 배치된다. 다른 선택에서, 픽셀 샘플 포인트는 픽셀 에지의 미리 정해진 구간 내부에 의사 랜덤하게 배치된다.
최상부 및 가장 좌측 픽셀(501'-504')을 제외하고, 모든 픽셀은, 픽셀(501'-506')의 최종 값을 결정할 시에 2개만의 새로운 픽셀 샘플 포인트 값의 계산을 필요로 한다. 다른 선택에서, 이미지에서 가장 우측 열 및 최하부 행을 제외한 모든 픽셀은 2개의 샘플만을 필요로 한다. 이미지의 픽셀의 샘플 위치는 라인을 좌측에서 우측으로 주사함으로써 횡단될 수 있다. 다른 선택에서, 주사 방향은, 메모리를 더욱 효율적으로 사용하기 위해 다른 라인마다 변경될 수 있다. 게다가, 어떠한 횡단 기법은 수퍼샘플링 기법과 함께 구현될 수 있는 것으로 이해되어야 한다.
도 9A는 하나 이상의 기하학적 프리미티브가 이미지를 생성하도록 샘플링되는 고품질의 반 에일리어싱된 이미지를 생성하는 방법을 도시한 흐름도이다. 응용 스테이지(단계(610))에서, 프로세서(예컨대, 중앙 처리 장치(CPU))는 응용 프로그램(예컨대, 컴퓨터 게임)을 실행하여, 디스플레이 상의 2D 표현으로 변환될 수 있는 기하학적 프리미티브(예컨대, 삼각형 형태의 다각형)를 생성한다.
그 다음, 기하학적 스테이지(단계(620))에서, 프로세서 또는 그래픽 처리 장치(GPU)는 디스플레이 상의 물체의 출현에 영향을 주는 여러 시각적 효과, 예컨대, 조명, 클리핑(clipping), 변환, 또는 투영을 계산한다. 기하학적 프리미티브가 통상적으로 컴퓨터 그래픽에서 3-D 물체를 생성할 시에 이용될 시, 기하학적 프리미티브의 꼭지점(vertices)의 픽셀 좌표가 통상적으로 계산된다.
래스터라이저(rasterizer) 스테이지(단계(630))에서, 샘플 버퍼에 삼각형이 그려진다. 하나 이상의 기하학적 프리미티브를 통한 텍스쳐 좌표의 원근 보정(perspective correct) 보간은, 보정 투영이 확실히 획득되도록 하기 위해 이용된다. 래스터라이저 스테이지는 프로세서 및/또는 GPU에 의해 실행될 수 있다. 이 외에, 프로세서 또는 GPU는 또한, 예컨대, 하나 이상의 칼라, 다른 세트의 텍스쳐 좌표, 또는 포그(fog) 등을 보간할 수 있다. 프로세서 또는 GPU는 또한 Z-버퍼 테스트를 실행하여, 최종 픽셀이 보정 칼라를 확실히 획득할 수 있다. 필터링 스테이지(단계(640))에서, 샘플 버퍼는 칼라 버퍼 내에 기억되는 픽셀 칼라를 생성하기 위해 필터링된다. 그 후, 칼라 버퍼의 내용은 스크린 상이 디스플레이될 수 있다.
도 9B는 도 9A의 단계(630)를 도시한 더욱 상세한 흐름도이다. 단계(631)에서, 제 1 기하학적 프리미티브에 대한 기하학적 프리미티브 설정이 실행되며, 여기서, 본 발명의 각종 실시예에 따른 픽셀 샘플 패턴의 제 1 샘플 포인트는 기하학적 프리미티브 내에서 발견되고, 프로세스는 단계(632)로 진행한다. 단계(632)에서, 샘플 포인트가 기하학적 프리미티브의 경계 내에서 발견되었는지가 판별된다. 샘플 포인트가 기하학적 프리미티브 내에서 발견되지 않았다면, 프로세스는 단계(633)로 계속하며, 여기서, 그려질 더욱 많은 기하학적 프리미티브가 존재하는지가 판별된다. 그려질 기하학적 프리미티브가 더욱 많이 존재하면, 프로세스는 단계(634)로 진행한다. 단계(634)에서, 다음 기하학적 프리미티브가 검색되고, 프로세스는 기하학적 프리미티브 설정이 실행되는 단계(631)로 복귀한다. 단계(633)에서, 그려질 기하학적 프리미티브가 더욱 많이 존재하지 않음이 판별되면, 단계(630)는 종료하 고, 프로세스는 샘플의 필터링이 필터를 생성하기 위해 실행되는 단계(640)로 진행한다.
단계(632)에서, 샘플 포인트가 기하학적 프리미티브 내에서 발견되는 것으로 판별되면, 프로세스는 단계(635)로 진행하며, 여기서, 샘플이 기하학적 프리미티브에서 가시적인지에 관한 가시성 검사가 실행된다. 단계(636)에서, 샘플이 가시적인지에 관한 판별이 행해진다. 샘플이 가시적이지 않으면, 프로세스는 단계(637)로 진행하며, 여기서, 기하학적 프리미티브는 기하학적 프리미티브 내에서 다음 샘플 포인트를 찾도록 횡단되며, 프로세스는 단계(632)로 계속한다.
단계(636)에서, 샘플 포인트가 가시적인 판별이 행해지면, 단계(638)에서 샘플의 칼라의 계산이 실행되고, 단계(639)에서 샘플의 칼라 및 깊이가 샘플 버퍼와 같은 하나 이상의 버퍼 내에 기억된다. 그 후, 프로세스는 단계(637)로 복귀하며, 여기서, 기하학적 프리미티브는 기하학적 프리미티브 내에서 다음 샘플 포인트를 찾도록 횡단된다.
도 10A-10D는 픽셀(801, 802, 811, 812)의 각각에 대한 3개의 픽셀 샘플 포인트를 포함하는 멀티샘플링 기법의 변형을 도시한 것이다. 픽셀 샘플 포인트(803-808, 813-818)는 픽셀(801, 802, 811, 812)의 경계에 위치된다. 이 픽셀의 경계는 샘플 공유를 위한 미러면으로서 기능을 하여, 디스플레이 메모리 내에서 상이한 픽셀(801, 802, 811, 812) 간의 샘플의 공유를 고려한다.
픽셀 샘플 포인트(803-808, 813-818) 중 하나 이상은 각 픽셀(801, 802, 811, 812)의 코너에 위치된다. 용어 "코너에(at a corner)"는, 픽셀의 2개의 교차 경계의 거의 코너에, 예컨대, 이 코너에서 종단하는 최단 픽셀 에지의 길이의 1/3미만의 코너로부터의 거리에 샘플이 제공된다는 것을 의미한다. 그러나, 코너 샘플이 4까지의 픽셀 값의 계산에 이용될 수 있는 한, 코너 샘플은 실제 코너에 대해 약간 변위될 수 있다.
도 10A-10D의 멀티샘플링 기법에서, 제 1 픽셀 샘플 포인트는 픽셀(801, 802, 811, 812)의 2개의 경계의 코너에 정해진다. 제 2 및 3 픽셀 샘플 포인트는 픽셀(801, 802, 811, 812)의 분리 경계에 정해지며, 이는 제 1 픽셀 샘플이 존재하는 픽셀 코너를 교차하지 않는다. 도 10A-10D에서, 각 픽셀(801, 802, 811, 및 812)의 제 2 및 3 픽셀 샘플은 2개의 코너 간의 경계의 중심에 배치된다. 픽셀(801)에 대해, 픽셀 샘플 포인트(804, 805)는 제각기 2개의 코너 간의 경계의 중심의 중심에 배치된다. 픽셀(802)에 대해, 픽셀 샘플 포인트(806, 807)는 제각기 2개의 코너 간의 경계의 중심의 중심에 배치된다. 픽셀(811)에 대해, 픽셀 샘플 포인트(813, 815)는 제각기 2개의 코너 간의 경계의 중심의 중심에 배치된다. 픽셀(812)에 대해, 픽셀 샘플 포인트(816, 817)는 제각기 2개의 코너 간의 경계의 중심의 중심에 배치된다. 픽셀 샘플 포인트(803, 808, 814 및 818)는 제각기 픽셀(801, 802, 811 및 812)의 코너에 배치된다. 그러나, 제 2 및 3 픽셀 샘플 포인트는, 샘플이 2개의 이웃한 픽셀의 값의 계산에 이용될 수 있는 한 경계상의 어느 포인트에 배치될 수 있다. 또한, 도 10A-10D에서, 제 2 및 3 픽셀 샘플 포인트(804, 805, 806, 807, 813, 815, 816, 817)는 코너로부터의 동일한 거리에 각각의 픽셀(801, 802, 811, 812)의 경계 상에 배치된다. 다른 선택에서, 코너로부터의 거리는 픽셀 샘플 포인트(804, 805, 806, 807, 813, 815, 816, 817)의 각각에 대해 상이할 수 있다. 픽셀 샘플 포인트의 각각에는 1/3의 웨이트가 주어진다(즉, 웨이트의 합은 1과 같다). 이용될 있는 다른 웨이트 분산은 제 1 픽셀 샘플에 대해서는 0.2이고, 제 2 및 3 픽셀 샘플에 대해서는 0.4이다. 픽셀 샘플에 대한 어느 다른 웨이트 분산은 이들 합이 1의 값으로 되는 한 이용될 수 있다.
도 10A-10D에서, 그리드가 픽셀(801, 802, 811, 812)의 각각의 위에 중첩되어, 가능 픽셀 샘플 포인트를 코너에 정하고, 그리드가 코너 픽셀 샘플 포인트가 존재하는 픽셀(801, 802, 811, 812)의 코너를 교차하지 않는 경계를 교차하는 곳은 어디라도 상기 포인트를 정한다. 각 픽셀(801, 802, 811, 812)의 정확한 샘플 포인트 패턴을 결정하는 예시적인 식은 제각기 도 10A-10D에 도시되어 있다. 도 10A-10D의 식에서, 항목 x0 및 y0는, 도 10A-10D에 도시된 바와 같이, 제각기 x-축("x") 및 y-축("y")의 원점을 나타낸다.
도 11은, 가장 좌측 픽셀(901)이 코너에서의 하나의 픽셀 샘플 포인트(903) 및 픽셀(901)의 분리 경계상의 2개의 픽셀 샘플 포인트(904-905)를 포함하는 멀티샘플링 기법을 도시한다. 다음의 텍스트에서, 이 픽셀 샘플 구성은 Pattern A로서 지칭될 것이다. 이에 대응하여, 픽셀 샘플 포인트(905-907)를 가진 픽셀 샘플 구성을 제공하는 제 2 픽셀(902)은 Pattern B로서 지칭된다. Pattern A 및 Pattern B의 구성을 나란히 조사함으로써, Pattern B의 픽셀 샘플 포인트(905-907)는 Pattern A의 대응하는 포인트(903-905)의 미러 이미지임이 자명하다. Pattern A는 픽셀(901)의 우측 수직 경계(908)에서 반사되어 픽셀(902)의 Pattern B를 형성한다. 따라서, Pattern B는 Pattern A의 미러 이미지이다.
삭제
Pattern A 및 Pattern B의 픽셀 샘플 포인트는 또한 각각의 하부 수평 경계(909)에서 미러될 수 있다. 픽셀(901)의 하부 수평 경계에서 미러될 시에 Pattern A의 미러 이미지인 픽셀 샘플 구성을 제공하는 제 3 픽셀(911)은 Pattern C로서 지칭될 것이다. Pattern C는 픽셀 샘플 포인트(904, 923-924)를 가지며, 여기서, 픽셀 샘플 포인트 중 하나(즉, 픽셀 샘플 포인트(904))는 Pattern A와 공유된다. 하부 수평 경계(909)에서 미러될 시에 Pattern B의 미러 이미지인 픽셀 샘플 구성을 제공하는 제 4 픽셀(912)은 Pattern D로서 지칭될 것이다. Pattern D는 픽셀 샘플 포인트(906, 924-925)를 가지며, 여기서, 픽셀 샘플 포인트 중 하나(즉, 픽셀 샘플 포인트(924))는 Pattern C와 공유된다.
수직 경계(908)에 걸친 픽셀 샘플 포인트(903-905)의 위치를 미러함으로써, 2개의 픽셀(901, 902) 간에 픽셀 샘플 포인트(905)를 공유하고, 이 구성의 대칭을 브레이크업하여 개선된 반 에일리어싱 결과를 달성할 수 있다. 도 11의 멀티샘플링 기법에서는, 픽셀 행 및 픽셀 열당 하나의 샘플만이 존재한다. 대조적으로, Quincunx 기법에서는, 상부 행에 대해 2개의 샘플이 존재한다.
도 12는 9개의 픽셀(1001-1009)을 포함하는 3×3 픽셀 구성의 반 에일리어싱 기법을 도시한다. 상위 가장 좌측 픽셀(1001)은 Pattern A 구성의 3개의 픽셀 샘플 포인트(1010-1012)를 포함한다. 제 2 픽셀(1002)은 Pattern B 구성의 3개의 픽셀 샘플 포인트(1012-1014)를 포함하며, 이는 상위 가장 좌측 픽셀(1001)의 우측 경계에서 미러된다. 더욱이, 픽셀(1003)은 Pattern A 구성의 3개의 픽셀 샘플 포인 트(1014-1016)를 포함한다. 도 12로부터 알 수 있는 바와 같이, 픽셀(1001-1003)의 상부 행은, 각 쌍의 픽셀(1001-1002, 1002-1003) 간에 하나의 픽셀 샘플 포인트(1012, 1014)를 공유한다.
제 2 픽셀 행은 픽셀 샘플 포인트(1011, 1017-1018)의 Pattern C 구성을 제공하는 픽셀(1004)로 개시한다. 픽셀 샘플 포인트(1011)는 픽셀(1004)과 픽셀(1001) 간에 공유된다. 픽셀(1005)은, 제 2 행 상에서, Pattern D 구성의 3개의 픽셀 샘플 포인트(1013, 1018-1019)를 포함한다. 픽셀(1005)은, 픽셀(1002)과 하나의 픽셀 샘플 포인트(1013)를 공유하고, 픽셀(1004)과 하나의 픽셀 샘플 포인트(1018)를 공유한다. 동일한 것이 픽셀(1006)에 적용하며, 픽셀(1006)은, 제 2 행 상에서, 3개의 픽셀 샘플 포인트(1015, 1019-1020)를 가지며, 또한 이웃한 픽셀(1003, 1005)과 2개의 픽셀 샘플 포인트(1015, 1019)를 공유한다.
제 3 픽셀 행은 픽셀 샘플 포인트(1017, 1021-1022)의 Pattern A 구성을 제공하는 픽셀(1007)로 개시한다. 픽셀 샘플 포인트(1017)는 픽셀(1007)과 픽셀(1004) 간에 공유된다. 픽셀(1008)은, Pattern B 구성의 3개의 픽셀 샘플 포인트(1019, 1022-1023)를 포함한다. 픽셀(1008)은, 픽셀(1005)과 하나의 픽셀 샘플 포인트(1019)를 공유하고, 좌측으로의 픽셀(1007)과 하나의 픽셀 샘플 포인트(1022)를 공유한다. 동일한 것이 픽셀(1009)에 적용하며, 픽셀(1009)은, 제 3 행 상에서, 3개의 픽셀 샘플 포인트(1019, 1024-1025)를 가지며, 이웃한 픽셀(1006)과 하나의 픽셀 샘플 포인트(1019)를 공유한다.
도 12를 조사함으로써, 최상부 행 및 가장 좌측 열을 제외하고, 픽셀 코너에 제공된 모든 픽셀 샘플 포인트는 4개의 픽셀 간에 공유됨이 자명하다. 따라서, 코너 픽셀 샘플의 (비교적 큰 픽셀의 그리드에 대한) 대부분은 4개의 픽셀에 대해 한번만 계산될 필요가 있으며, 여기서, 계산 비용은 픽셀 당 0.25이다. 코너 픽셀의 경계를 교차하지 않는 경계상에 제공되고, 2개의 픽셀 간에 공유되는 픽셀 샘플 포인트(1011, 1012, 1013, 1015, 1018, 1021, 1022, 1023, 1024)는 2개의 이웃한 픽셀에 대해 한번만 계산될 것이다. 따라서, 이들 경계 픽셀에 대한 계산 비용은 픽셀당 0.5이다.
결과적으로, 미러링 기법을 이용함으로써, 최상부 및 가장 좌측 픽셀(1001-1004, 1007)을 제외한 모든 픽셀은, 픽셀(1001-1009)의 최종 값을 결정하기 위해 단지 1.25(0.25+0.5+0.5=1.25)의 새로운 픽셀 샘플 포인트 값의 계산을 평균할 필요가 있다. 다른 선택에서, 가장 우측 열 및 최하부 행의 픽셀을 제외한 모든 픽셀은 단지 1.25의 샘플만을 필요로 한다. 가장 많이 알려진 멀티샘플링 구성에서, 2 이상의 픽셀 샘플은 픽셀의 최종 값을 결정하기 위해 계산되어야 한다.
픽셀 내의 샘플 위치는 라인을 좌측에서 우측으로 주사함으로써 횡단될 수 있다. 다른 선택에서, 주사 방향은, 메모리를 더욱 효율적으로 사용하기 위해 다른 라인마다 변경될 수 있다. 어떠한 횡단 기법은 멀티샘플링 기법과 함께 구현될 수 있는 것으로 이해된다.
도 13A-13D는 멀티샘플링 기법을 도시한다. 도 13A-13D의 멀티샘플링 기법은 각 픽셀(801', 802', 811', 812')에 대한 3개의 픽셀 샘플을 포함하는 것으로 도시된다. 픽셀 샘플 포인트(803'-808', 813'-818')는 픽셀(801', 802', 811', 812')의 경계에 위치된다. 픽셀 샘플 포인트(801', 808', 814' 및 818')는 제각기 픽셀(801', 802', 811' 및 812')의 코너에 배치된다. 도 13A-13D의 멀티샘플링 기법에 따르면, 하나 이상의 픽셀 샘플 포인트(804', 805', 806', 807', 813', 815', 816' 및 817')는 픽셀(801', 802', 811', 812')의 에지를 따른 구간 내의 미리 정해진 위치에 배치된다. 도 13A-13D는 픽셀 샘플 포인트(804', 805', 806', 807', 813', 815', 816', 817')의 각각과 관련된 미리 정해진 구간을 도시하며, 각 미리 정해진 구간은 브래킷으로 나타낸다. 용어 "코너에"는, 픽셀의 2개의 교차 경계의 거의 코너에 샘플이 제공된다는 것을 의미한다. 그러나, 코너 샘플이 4까지의 픽셀 값의 계산에 이용될 수 있는 한, 코너 샘플은 실제 코너에 대해 변위될 수 있다. 예컨대, 샘플 포인트가 픽셀 폭의 1/3 이하의 거리에 배치되도록 코너 근처에 샘플 포인트가 또한 배치될 수 있다. 또 다른 선택에서, 샘플링 패턴은, 픽셀의 에지 또는 코너에서나 그 근처에 배치된 픽셀 샘플 포인트 이외에 픽셀 내부에 배치된 하나 이상의 픽셀 샘플 포인트를 포함할 수 있다.
도 13A-13D의 멀티샘플링 기법에서, 제 1 픽셀 샘플 포인트(803', 808', 814', 818')는 제각기 픽셀(801', 802', 811', 812')의 2개의 경계의 코너에 정해진다. 제 2 및 3 픽셀 샘플 포인트(804', 805', 806', 807', 813', 815', 816', 817')는 코너 픽셀 샘플을 교차하지 않는 픽셀(801', 802', 811', 812')의 분리 경계에 정해진다. 도 13A-13D에서, 각 픽셀(801', 802', 811', 812')의 제 2 및 3 픽셀 샘플 포인트(804', 805', 806', 807', 813', 815', 816', 817')는 2개의 코너 간의 경계의 중심에 배치된다. 그러나, 상술한 바와 같이, 제 2 및 3 픽셀 샘 플(804', 805', 806', 807', 813', 815', 816', 817')은, 샘플이 2개의 이웃한 픽셀의 계산에 이용될 수 있는 한 경계상의 어떠한 위치에 배치될 수 있다. 픽셀 샘플의 각각에는 1/3의 웨이트가 주어질 수 있다(즉, 웨이트의 합은 1과 같다). 따라서, 다른 예시적인 웨이트 분산은 제 1 픽셀 샘플에 대해서는 0.2이고, 제 2 및 3 픽셀 샘플의 각각에 대해서는 0.4이다.
도 13A의 각 픽셀의 정확한 픽셀 샘플 포인트 패턴을 결정하기 위한 예시적인 식은 다음과 같다:
Figure 112007021962494-pct00004
도 13B에 대해서는 다음과 같다:
Figure 112007021962494-pct00005
도 13C에 대해서는 다음과 같다:
Figure 112007021962494-pct00006
도 13D에 대해서는 다음과 같다:
Figure 112007021962494-pct00007
여기서, offset() 함수는 미리 정해진 범위 내에서 변위 값을 생성시키는 함수를 나타내고, x0 및 y0 항목은, 도 13A-13D에 도시된 바와 같이, 제각기 x-축("x") 및 y-축("y")의 원점을 나타낸다. 다른 실시예에서, 이 정보가 룩업 테이블 내에서나 의사 랜덤 함수로 이미 인코딩될 수 있을 시에, 픽셀 샘플 위치를 결정하는 식에 추가적인 0.5 상수를 포함할 필요가 없다. 예컨대, 픽셀 샘플 위치(804')에 대한 식은 다음의 형식일 수 있다:
Figure 112007021962494-pct00008
픽셀 샘플 포인트(803'-808', 813'-818')의 변위된 (오프셋) 배치는, 구성의 대칭성을 브레이크시켜, 반 에일리어싱 효과를 증대시키는 역할을 한다. 한 선택에서, 픽셀 샘플 포인트(804'-807', 813', 및 815'-817')의 각각은, 픽셀 샘플링 패턴이 적어도 모든 픽셀에 대해 반복되지 않도록 룩업 테이블로부터 판독되는 바와 같이 미리 정해진 오프셋에 위치될 수 있다. 다른 선택에서, 픽셀 샘플 포인트(804'-807', 813', 및 815'-817')의 각각은 의사 난수 생성기를 이용하여 위치될 수 있다.
도 14는, 가장 좌측 픽셀(901')이 코너에서의 하나의 픽셀 샘플 포인트(903') 및, 픽셀(901')의 경계를 따른 구간 내에 배치된 미리 정해진 위치에서의 2개의 픽셀 샘플 포인트(904'-905')를 포함하는 멀티샘플링 기법을 도시한다. 제 2 픽셀(902')은 코너에서의 하나의 픽셀 샘플 포인트(907') 및, 픽셀(902')의 경계를 따른 구간 내의 미리 정해진 위치에 배치된 2개의 픽셀 샘플 포인트(905' 및 906')를 갖는다. 제 3 픽셀(911')은 코너에서의 하나의 픽셀 샘플 포인트(923') 및, 픽셀(911')의 경계를 따른 구간 내의 미리 정해진 위치에 배치된 2개의 픽셀 샘플 포인트(904' 및 924')를 갖는다. 제 4 픽셀(912')은 코너에서의 하나의 픽셀 샘플 포인트(925') 및, 픽셀(912')의 경계를 따른 구간 내의 미리 정해진 위치에 배치된 2개의 픽셀 샘플 포인트(906' 및 924')를 갖는다. 도 14는 픽셀 샘플 포인트(904', 905', 906' 924')의 각각과 관련된 미리 정해진 구간을 도시하며, 각 미리 정해진 구간은 브래킷으로 나타낸다. 각 브래킷이 픽셀 에지의 일부를 따라 연장하는 것으로 도시되지만, 픽셀 샘플 포인트는 픽셀 에지의 모든 부분을 따라 배치될 수 있음을 이해하게 된다. 도 14에 도시된 바와 같이, 픽셀 샘플 포인트(904', 923'-924')는 픽셀 샘플 포인트(904')가 픽셀(901')과 픽셀(911') 간에 공유되는 픽셀 샘플 패턴을 형성한다. 픽셀 샘플 포인트(906', 924'-925')는, 픽셀 샘플 포인트(906')가 픽셀(902')과 픽셀(912') 간에 공유되고, 픽셀 샘플 포인트(924')가 픽셀(911')과 픽셀(912') 간에 공유되는 픽셀 샘플 패턴을 형성한다. 각 픽셀 샘플 포인트의 미리 정해진 위치는, 예컨대, 룩업 테이블을 참조로 또는 의사 랜덤하게 결정될 수 있다.
선택된 픽셀 샘플 위치의 변위된 또는 오프셋 위치 설정은 픽셀 샘플링 구성의 대칭을 브레이크업하여 더욱 양호한 반 에일리어싱 결과를 달성시키는 역할을 한다. 또한, 픽셀 행당 하나의 샘플 및 픽셀 열당 하나의 샘플만이 존재한다. 예컨대, Quincunx 기법에서는, 픽셀의 상부 행에 대해 2개의 픽셀 샘플이 존재한다.
도 15는 9개의 픽셀(1001'-1009')을 포함하는 3×3 픽셀 구성의 반 에일리어싱 기법을 도시한다. 픽셀(1001')은 3개의 픽셀 샘플 포인트(1010'-1012')를 포함한다. 픽셀(1001')의 우측에 위치되는 픽셀(1002')은 3개의 픽셀 샘플 포인트(1012'-1014')를 포함한다. 더욱이, 픽셀(1003')은 3개의 픽셀 샘플 포인트(1014'-1016')를 포함한다. 도 15로부터 알 수 있는 바와 같이, 픽셀(1001'-1003')의 상부 행은, 각 쌍의 픽셀(1001'-1002', 1002'-1003') 간에 하나의 픽셀 샘플 포인트(1012', 1014')를 공유한다.
제 2 픽셀 행은 픽셀 샘플 포인트(1011', 1017'-1018')의 구성을 제공하는 픽셀(1004')로 개시한다. 픽셀 샘플 포인트(1011')는 픽셀(1004')과 픽셀(1001') 간에 공유된다. 픽셀(1005')은, 제 2 행 상에서, 3개의 픽셀 샘플 포인트(1013', 1018'-1019')를 포함한다. 픽셀(1005')은, 픽셀(1002')과 하나의 픽셀 샘플 포인트(1013')를 공유하고, 픽셀(1004')과 하나의 픽셀 샘플 포인트(1018')를 공유한다. 동일한 것이 픽셀(1006')에 적용하며, 픽셀(1006')은, 제 2 행 상에 배치되어, 3개의 픽셀 샘플 포인트(1015', 1019'-1020')를 가지며, 또한 이웃한 픽셀(1003', 1005')과 2개의 픽셀 샘플 포인트(1015', 1019')를 공유한다.
제 3 픽셀 행은 픽셀 샘플 포인트(1017', 1021'-1022')의 구성을 제공하는 픽셀(1007')로 개시한다. 픽셀 샘플 포인트(1017')는 픽셀(1007')과 픽셀(1004') 간에 공유된다. 픽셀(1008')은 3개의 픽셀 샘플 포인트(1019', 1022'-1023')를 포 함한다. 픽셀(1008')은, 픽셀(1005')과 하나의 픽셀 샘플 포인트(1019')를 공유하고, 픽셀(1007')과 하나의 픽셀 샘플 포인트(1022')를 공유한다. 동일한 것이 픽셀(1009')에 적용하며, 픽셀(1009')은 3개의 픽셀 샘플 포인트(1019', 1024'-1025')를 가지며, 이웃한 픽셀(1006')과 하나의 픽셀 샘플 포인트(1019')를 공유한다. 하나 이상의 픽셀 샘플(1011', 1012', 1013', 1015', 1016', 1018', 1020', 1021', 1022', 1023', 1024' 및 1025')는 픽셀(1001'-1009')의 경계를 따른 구간 내의 미리 정해진 위치에 배치될 수 있다. 도 15는 픽셀 샘플 포인트(1011', 1012', 1013', 1015', 1016', 1018', 1020', 1021', 1022', 1023', 1024' 및 1025')의 각각과 관련된 미리 정해진 구간을 도시하며, 각 미리 정해진 구간은 브래킷으로 나타낸다. 각 브래킷이 픽셀 에지의 일부를 따라 연장하는 것으로 도시되지만, 픽셀 샘플 포인트는 픽셀 에지의 모든 부분을 따라 배치될 수 있음을 이해하게 된다. 각 픽셀 샘플 포인트의 미리 정해진 위치는, 예컨대, 의사 램덤하게 또는 룩업 테이블을 참조로 결정될 수 있다.
도 15를 조사함으로써, 최상부 행 및 가장 좌측 열을 제외하고, 픽셀 코너에 제공된 모든 픽셀 샘플 포인트는 4개의 픽셀 간에 공유됨이 자명하다. 따라서, 코너 픽셀 샘플의 (비교적 큰 픽셀의 그리드에 대한) 대부분은 4개의 픽셀에 대해 한번만 계산될 필요가 있으며, 여기서, 계산 비용은 픽셀 당 0.25이다. 코너 픽셀의 경계를 교차하지 않는 경계상에 제공되고, 2개의 픽셀 간에 공유되는 픽셀 샘플 포인트(1011', 1012', 1013', 1015', 1016', 1018', 1020', 1021', 1022', 1023', 1024' 및 1025')는 2개의 이웃한 픽셀에 대해 한번만 계산될 것이다. 따라서, 이들 경계 픽셀에 대한 계산 비용은 픽셀당 0.5이다.
결과적으로, 최상부 및 가장 좌측 픽셀(1001'-1004', 1007')을 제외한 모든 픽셀은, 픽셀(1001'-1009')의 최종 값을 결정하기 위해 단지 1.25(0.25+0.5+0.5=1.25)의 새로운 픽셀 샘플 포인트 값의 계산을 평균할 필요가 있다. 다른 선택에서, 가장 우측 열 및 최하부 행의 픽셀을 제외한 모든 픽셀은 단지 1.25의 샘플만을 필요로 한다. 가장 많이 알려진 멀티샘플링 구성에서, 2 이상의 픽셀 샘플은 픽셀의 최종 값을 결정하기 위해 계산되어야 한다.
픽셀 내의 픽셀 샘플 포인트는 라인을 좌측에서 우측으로 주사함으로써 횡단될 수 있다. 다른 선택에서, 주사 방향은, 메모리를 더욱 효율적으로 사용하기 위해 다른 라인마다 변경될 수 있다. 어떠한 횡단 기법은 본 발명의 원리로부터 벗어나지 않고 구현될 수 있는 것으로 이해된다.
도 15의 멀티샘플링 기법을 이용함으로써, 픽셀의 최종 값을 계산하기 위해 최대 세 번 디스플레이 메모리에 액세스할 필요가 있을 뿐이다. 그러나, 픽셀 값의 하나 이상의 후속 계산에 필요로 된 샘플을 일시 기억하기 위해, 온-칩 캐시 메모리와 같은 추가적인 작고 고속의 메모리를 제공함으로써, 최소 1.25 디스플레이 메모리로의 필요한 액세스를 감소시킬 수 있다. 이런 접근법을 Quincunx 기법으로 이용함으로써, 픽셀의 최종 값의 계산을 위해 최소 두 번 메모리에 액세스할 필요가 있다. 더욱이, 더욱 작은 추가적인 메모리가 하나의 샘플(즉, 제 1 픽셀의 값 및 후속 픽셀의 값의 계산에 이용되는 샘플)만을 기억하는데 이용될 수 있다.
도 14를 다시 참조하면, 픽셀(901')의 최종 값은 디스플레이 메모리로부터 픽셀 샘플(903'-905')을 검색함으로써 계산될 수 있다. 그 후, 픽셀 샘플(905')은 추가적인 메모리 내에 일시 기억될 수 있다. 픽셀(902')의 최종 값의 계산을 위해서는 디스플레이 메모리로부터 픽셀 샘플(906'-907')만을 검색할 필요가 있는 반면에, 픽셀 샘플(905')은 추가적인 메모리로부터 검색될 수 있다. 결과적으로, 예컨대, 이동 단말기의 176×174 픽셀 그리드와 같은 큰 픽셀 그리드의 픽셀의 대부분의 계산을 위해 디스플레이 메모리에 두 번 액세스할 필요가 있을 뿐이다. Quincunx 기법을 이용하여, 픽셀의 최종 값의 계산을 위해 디스플레이 메모리에 세 번 및 추가적인 메모리에 두 번 액세스할 필요가 있다.
도 16은, 픽셀 샘플 패턴을 가진 수퍼샘플링 기법에 따라 다각형과 같은 하나 이상의 기하학적 프리미티브를 도시한 시스템의 블록도이다. 중앙 처리 장치(CPU)(701)는 데이터 버스(703)를 통해 메모리(702)에 접속된다. 이 메모리(702)는 시스템에서 실행될 수 있는 응용 프로그램(예컨대, 컴퓨터 게임 또는 Computer Aided Design(CAD) 프로그램)을 포함한다. CPU(701)는 메모리(702) 내의 명령을 인출하여, 특정 태스크를 실행하기 위해 이 명령을 실행한다. 이러한 관계에서, CPU(701)에 대한 태스크는 디스플레이(705) 상에 그려질 물체에 관한 정보를 가진 Graphics Processing Unit(GPU)(704)을 제공할 수 있다.
GPU(704)는, 예컨대, 디지털 신호 프로세서(DSP)와 같은 프로세서, 주문형 반도체(ASIC), Field-Programmable Gate Array(FPGA), 고정 배선( hard-wired) 논리 등의 형식일 수 있다. 다른 선택에서, 그것은 CPU(701) 상에서 실행될 수 있다. GPU(704)는 또한 버스(703)에 접속되지만, 대량의 정보가 CPU(701)와 GPU(704) 사 이로 전송되는 경우에 개별 고속 버스(706)를 통해 CPU(701)에 접속될 수도 있다. 그 후, 개별 고속 버스(706) 상의 데이터 전송은 보통의 버스(703) 상의 데이터 트래픽을 방해하지 않을 것이다.
디스플레이 메모리(707)는 또한 버스(703)에 접속되어, 디스플레이(705) 상에 그려질 수 있는 화상(즉, 프레임)에 관해 GPU(704)로부터 송신된 정보를 기억한다. 특히, 디스플레이 메모리는 샘플 버퍼(707a) 및 칼라 버퍼(707b)를 포함한다. 샘플 버퍼(707a)는 최종 칼라 버퍼(707b) 내의 픽셀보다 거의 두 배 많은 샘플을 포함한다. 칼라 버퍼(707b)는, 이미지의 렌더링이 완료된 후에 스크린상에 디스플레이될 픽셀의 칼라를 유지한다. CPU(701)와 GPU(704) 간의 상호 접속과 같이, 디스플레이 메모리(707)는 개별 고속 버스를 통해 GPU(704)에 직접 접속될 수 있다. GPU(704) 및 디스플레이 메모리(707)가 통상적으로 이동하는 이미지를 생성하기 위해 이용되므로, 이들 2개의 유닛 간의 링크는 통상적으로 가능한 고속인 것이 바람직하며, 버스(703) 상의 정상 트래픽을 차단하지 않는 것이 바람직하다.
디스플레이 메모리(707)는, 공유된 버스(703)를 통하거나 개별 고속 버스(709)에 의해 Video Digital to Analog Converter (VDAC)(708)에 접속되며, 이는 칼라 버퍼(707b)로부터 정보를 판독하여, 디스플레이(705) 상에 개별 픽셀을 그리기 위해 디스플레이(705)에 제공되는 아날로그 신호(예컨대, 적색, 녹색, 청색(RGB) 합성 신호)로 변환한다. GPU(704)는, 여기에 기술된 바와 같은 픽셀 샘플링 패턴을 이용하여 칼라 버퍼(707b) 내에 유지된 픽셀을 생성하기 위해 수퍼샘플링 또는 멀티샘플링 절차를 실행한다.
상술한 상세한 설명이 테이블 룩업 또는 의사 랜덤 방법을 이용하여 픽셀 샘플 포인트의 위치 설정을 결정할 수 있는 예시적인 실시예를 기술하지만, 픽셀 샘플 포인트를 위치 설정하는 다른 방법이 본 발명의 원리에 따라 이용될 수 있는 것으로 이해되어야 한다.
상술한 상세한 설명은 본 발명의 실시예에 대한 것이다. 본 발명의 범주는 이 설명으로 반드시 제한될 필요는 없다. 예컨대, 본 발명은 샘플을 픽셀의 에지 상에 배치하는 어떠한 샘플 기법과 함께 이용될 수 있는 것으로 이해되어야 한다. 본 발명의 기술된 각종 실시예의 수퍼샘플링 기법은 컴퓨터 및 이동 단말기를 포함하는 많은 장치 내에 포함될 수 있는 것으로도 이해되어야 한다. 대신에, 본 발명의 범주는 다음의 청구범위 및 그의 등가물로 규정된다.

Claims (57)

  1. 에일리어싱을 감소시키는 방법에 있어서,
    다수의 픽셀 샘플 포인트에서 이미지의 픽셀을 픽셀의 하나 이상의 에지를 따라 샘플링하여 대응하는 다수의 픽셀 샘플 값을 생성하는 단계로서, 상기 다수의 픽셀 샘플 포인트의 하나 이상은 픽셀의 제 1 에지 상의 위치로부터 미리 정해진 변위에서 픽셀의 제 1 에지 상에 배치되고, 상기 미리 정해진 변위가 의사 랜덤하게 결정되는 단계 및;
    디스플레이된 픽셀 값을 생성하도록 다수의 픽셀 샘플 값을 조합하는 단계를 포함하는 것을 특징으로 하는 에일리어싱 감소 방법.
  2. 제 1 항에 있어서,
    상기 의사 랜덤하게 결정된 변위는 의사 난수 생성기를 이용하여 결정되는 것을 특징으로 하는 에일리어싱 감소 방법.
  3. 제 1 항에 있어서,
    상기 다수의 픽셀 샘플 포인트의 하나 이상은 인접한 픽셀의 하나 이상의 픽셀 샘플 포인트와 공유되는 것을 특징으로 하는 에일리어싱 감소 방법.
  4. 제 1 항에 있어서,
    상기 다수의 픽셀 샘플 값을 조합하는 단계는 다수의 픽셀 샘플 값의 평균을 결정하는 단계를 포함하는 것을 특징으로 하는 에일리어싱 감소 방법.
  5. 제 1 항에 있어서,
    상기 다수의 픽셀 샘플 값은 다수의 칼라 값을 포함하는 것을 특징으로 하는 에일리어싱 감소 방법.
  6. 제 1 항에 있어서,
    상기 디스플레이된 픽셀 값은 칼라 값을 포함하는 것을 특징으로 하는 에일리어싱 감소 방법.
  7. 제 1 항에 있어서,
    상기 미리 정해진 변위는 픽셀의 제 1 에지를 따른 미리 정해진 구간 내의 의사 랜덤 위치를 포함하는 것을 특징으로 하는 에일리어싱 감소 방법.
  8. 제 1 항에 있어서,
    상기 미리 정해진 변위는 0의 값과 동일한 것을 특징으로 하는 에일리어싱 감소 방법.
  9. 제 1 항에 있어서,
    다수의 픽셀의 샘플 포인트는 비주기적 샘플 패턴을 포함하는 것을 특징으로 하는 에일리어싱 감소 방법.
  10. 제 1 항에 있어서,
    다수의 픽셀 샘플 포인트는 4개의 픽셀 샘플 포인트로 이루어지는 것을 특징으로 하는 에일리어싱 감소 방법.
  11. 제 1 항에 있어서,
    다수의 픽셀 샘플 포인트는 3개의 픽셀 샘플 포인트로 이루어지는 것을 특징으로 하는 에일리어싱 감소 방법.
  12. 제 1 항에 있어서,
    상기 다수의 픽셀 샘플 포인트는,
    픽셀의 코너에 배치된 제 1 픽셀 샘플 포인트;
    픽셀의 제 1 에지를 따라 배치된 제 2 픽셀 샘플 포인트 및;
    픽셀의 제 2 에지를 따라 배치된 제 3 픽셀 샘플 포인트를 포함하는 것을 특징으로 하는 에일리어싱 감소 방법.
  13. 제 12 항에 있어서,
    상기 제 3 픽셀 샘플 포인트는 픽셀의 제 2 에지를 따른 위치로부터 의사 랜덤하게 미리 정해진 변위에 배치되는 것을 특징으로 하는 에일리어싱 감소 방법.
  14. 에일리어싱을 감소시키는 시스템에 있어서,
    이미지를 기억하도록 구성된 샘플 버퍼;
    픽셀의 하나 이상의 에지를 따라 다수의 픽셀 샘플 포인트에서 픽셀 샘플링을 실행시켜, 대응하는 다수의 픽셀 샘플 값을 생성하도록 구성된 프로세서를 포함하는데,
    다수의 픽셀 샘플 포인트의 하나 이상은 픽셀의 제 1 에지를 따른 위치로부터 의사 랜덤하게 미리 정해진 변위에서 픽셀의 제 1 에지 상에 배치되며;
    상기 프로세서는 하나 이상의 디스플레이된 픽셀 값을 생성하도록 다수의 픽셀 샘플 값을 조합하도록 더 구성되는 것을 특징으로 하는 에일리어싱 감소 시스템.
  15. 제 14 항에 있어서,
    하나 이상의 디스플레이된 픽셀 값을 기억하도록 구성된 칼라 메모리를 더 포함하는 것을 특징으로 하는 에일리어싱 감소 시스템.
  16. 제 14 항에 있어서,
    상기 프로세서는 중앙 처리 장치(CPU) 및 그래픽 처리 장치(GPU)로 이루어진 그룹으로부터 선택되는 것을 특징으로 하는 에일리어싱 감소 시스템.
  17. 제 14 항에 있어서,
    상기 프로세서는 다수의 픽셀 샘플 값의 평균을 결정함으로써 다수의 픽셀 샘플 값을 조합하는 것을 특징으로 하는 에일리어싱 감소 시스템.
  18. 제 14 항에 있어서,
    상기 다수의 픽셀 샘플 값은 칼라 값을 포함하는 것을 특징으로 하는 에일리어싱 감소 시스템.
  19. 제 14 항에 있어서,
    상기 하나 이상의 디스플레이된 픽셀 값은 칼라 값을 포함하는 것을 특징으로 하는 에일리어싱 감소 시스템.
  20. 제 14 항에 있어서,
    의사 랜덤하게 미리 정해진 변위를 결정하도록 구성되는 의사 난수 생성기를 더 포함하는 것을 특징으로 하는 에일리어싱 감소 시스템.
  21. 제 14 항에 있어서,
    상기 미리 정해진 변위는 픽셀의 제 1 에지를 따른 미리 정해진 구간 내의 위치를 포함하는 것을 특징으로 하는 에일리어싱 감소 시스템.
  22. 제 14 항에 있어서,
    상기 의사 랜덤하게 미리 정해진 변위는 0의 값과 동일한 것을 특징으로 하는 에일리어싱 감소 시스템.
  23. 제 14 항에 있어서,
    상기 다수의 픽셀 샘플 포인트의 하나 이상은 이미지의 인접한 픽셀의 하나 이상의 픽셀 샘플 포인트에 대응하는 것을 특징으로 하는 에일리어싱 감소 시스템.
  24. 제 14 항에 있어서,
    다수의 픽셀의 샘플 포인트는 비주기적 샘플 패턴을 포함하는 것을 특징으로 하는 에일리어싱 감소 시스템.
  25. 제 14 항에 있어서,
    다수의 픽셀 샘플 포인트는 4개의 픽셀 샘플 포인트로 이루어지는 것을 특징으로 하는 에일리어싱 감소 시스템.
  26. 제 14 항에 있어서,
    다수의 픽셀 샘플 포인트는 3개의 픽셀 샘플 포인트로 이루어지는 것을 특징으로 하는 에일리어싱 감소 시스템.
  27. 제 14 항에 있어서,
    상기 다수의 픽셀 샘플 포인트는,
    픽셀의 코너에 배치된 제 1 픽셀 샘플 포인트;
    픽셀의 제 1 에지를 따라 배치된 제 2 픽셀 샘플 포인트 및;
    픽셀의 제 2 에지를 따라 배치된 제 3 픽셀 샘플 포인트를 포함하는 것을 특징으로 하는 에일리어싱 감소 시스템.
  28. 제 27 항에 있어서,
    상기 제 3 픽셀 샘플 포인트는 픽셀의 제 2 에지를 따른 위치로부터 의사 랜덤하게 미리 정해진 변위에 배치되는 것을 특징으로 하는 에일리어싱 감소 시스템.
  29. 에일리어싱 감소 장치에 있어서,
    하나 이상의 컴퓨터 판독 가능한 매체;
    상기 하나 이상의 컴퓨터 판독 가능한 매체 상에 포함된 프로세서 명령으로서, 상기 프로세서 명령은, 하나 이상의 프로세서에 의해 하나 이상의 컴퓨터 판독 가능한 매체로부터 판독 가능하여, 하나 이상의 프로세서가 다수의 픽셀 샘플 포인트에서 이미지의 픽셀을 픽셀의 하나 이상의 에지를 따라 샘플링하여 대응하는 다수의 픽셀 샘플 값을 생성하고, 디스플레이된 픽셀 값을 생성하도록 다수의 픽셀 샘플 값을 조합하기 위해 동작하게 하도록 구성되는 상기 프로세서 명령을 포함하는데, 상기 다수의 픽셀 샘플 포인트의 하나 이상은 픽셀의 제 1 에지를 따른 위치로부터 의사 랜덤하게 미리 정해진 변위에서 픽셀의 제 1 에지 상에 배치되는 것을 특징으로 하는 에일리어싱 감소 장치.
  30. 제 29 항에 있어서,
    상기 의사 랜덤하게 미리 정해진 변위는 의사 난수 생성기를 이용하여 결정되는 것을 특징으로 하는 에일리어싱 감소 장치.
  31. 제 29 항에 있어서,
    상기 다수의 픽셀 샘플 포인트의 하나 이상은 인접한 픽셀의 하나 이상의 픽셀 샘플 포인트와 공유되는 것을 특징으로 하는 에일리어싱 감소 장치.
  32. 제 29 항에 있어서,
    상기 프로세서는 다수의 픽셀 샘플 값의 평균을 결정함으로써 다수의 픽셀 샘플 값을 조합하는 것을 특징으로 하는 에일리어싱 감소 장치.
  33. 제 29 항에 있어서,
    상기 다수의 픽셀 샘플 값은 다수의 칼라 값을 포함하는 것을 특징으로 하는 에일리어싱 감소 장치.
  34. 제 29 항에 있어서,
    상기 디스플레이된 픽셀 값은 칼라 값을 포함하는 것을 특징으로 하는 에일리어싱 감소 장치.
  35. 제 29 항에 있어서,
    상기 의사 랜덤하게 미리 정해진 변위는 픽셀의 제 1 에지를 따른 미리 정해진 구간 내의 위치를 포함하는 것을 특징으로 하는 에일리어싱 감소 장치.
  36. 제 29 항에 있어서,
    상기 미리 정해진 변위는 0의 값과 동일한 것을 특징으로 하는 에일리어싱 감소 장치.
  37. 제 29 항에 있어서,
    다수의 픽셀의 샘플 포인트는 비주기적 샘플 패턴을 포함하는 것을 특징으로 하는 에일리어싱 감소 장치.
  38. 제 29 항에 있어서,
    다수의 픽셀 샘플 포인트는 4개의 픽셀 샘플 포인트로 이루어지는 것을 특징으로 하는 에일리어싱 감소 장치.
  39. 제 29 항에 있어서,
    다수의 픽셀 샘플 포인트는 3개의 픽셀 샘플 포인트로 이루어지는 것을 특징으로 하는 에일리어싱 감소 장치.
  40. 제 29 항에 있어서,
    상기 다수의 픽셀 샘플 포인트는,
    픽셀의 코너에 배치된 제 1 픽셀 샘플 포인트;
    픽셀의 제 1 에지를 따라 배치된 제 2 픽셀 샘플 포인트 및;
    픽셀의 제 2 에지를 따라 배치된 제 3 픽셀 샘플 포인트를 포함하는 것을 특징으로 하는 에일리어싱 감소 장치.
  41. 제 40 항에 있어서,
    상기 제 3 픽셀 샘플 포인트는 픽셀의 제 2 에지를 따른 위치로부터 의사 랜덤하게 미리 정해진 변위에 배치되는 것을 특징으로 하는 에일리어싱 감소 장치.
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
KR1020077006318A 2004-09-20 2005-09-19 픽셀 샘플링에 의한 반 에일리어싱 방법 및 시스템 KR101143781B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US61152204P 2004-09-20 2004-09-20
US60/611,522 2004-09-20
US11/087,269 US7348996B2 (en) 2004-09-20 2005-03-23 Method of and system for pixel sampling
US11/087,269 2005-03-23
PCT/EP2005/010085 WO2006032435A1 (en) 2004-09-20 2005-09-19 Method and system for anti-aliasing by pixel sampling

Publications (2)

Publication Number Publication Date
KR20070054660A KR20070054660A (ko) 2007-05-29
KR101143781B1 true KR101143781B1 (ko) 2012-05-11

Family

ID=35539669

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077006318A KR101143781B1 (ko) 2004-09-20 2005-09-19 픽셀 샘플링에 의한 반 에일리어싱 방법 및 시스템

Country Status (7)

Country Link
US (1) US7348996B2 (ko)
EP (1) EP1792281B1 (ko)
JP (1) JP4713591B2 (ko)
KR (1) KR101143781B1 (ko)
CN (1) CN103325136A (ko)
AT (1) ATE513276T1 (ko)
WO (1) WO2006032435A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8851999B2 (en) 2002-12-10 2014-10-07 Ol2, Inc. System and method for improving the graphics performance of hosted applications
US8961316B2 (en) 2002-12-10 2015-02-24 Ol2, Inc. System and method for improving the graphics performance of hosted applications
US8840477B2 (en) 2002-12-10 2014-09-23 Ol2, Inc. System and method for improving the graphics performance of hosted applications
US8845434B2 (en) 2002-12-10 2014-09-30 Ol2, Inc. System and method for improving the graphics performance of hosted applications
US8422559B2 (en) * 2007-10-10 2013-04-16 Mediatek Inc. Matching-pixel sub-sampling motion estimation method for video compression
US8059909B2 (en) * 2008-04-29 2011-11-15 Sony Corporation Adaptive generation of irregular spatial sub-sampling for images
US20090322781A1 (en) * 2008-06-30 2009-12-31 Mikhail Letavin Anti-aliasing techniques for image processing
EP2141652A1 (en) * 2008-07-03 2010-01-06 Telefonaktiebolaget LM Ericsson (PUBL) Method and device for processing digital images
US20100013854A1 (en) * 2008-07-18 2010-01-21 Microsoft Corporation Gpu bezier path rasterization
US9375635B2 (en) 2009-03-23 2016-06-28 Sony Interactive Entertainment America Llc System and method for improving the graphics performance of hosted applications
JP4824105B2 (ja) * 2009-08-11 2011-11-30 株式会社フジヤマ 液体貯留装置
KR101606797B1 (ko) * 2009-10-28 2016-03-29 삼성디스플레이 주식회사 입체 영상 표시 장치 및 영상 표시 방법
KR101661166B1 (ko) * 2010-06-14 2016-09-29 연세대학교 산학협력단 3차원 영상 시스템에서 광선 추적 방법 및 장치
WO2013040261A1 (en) * 2011-09-14 2013-03-21 Onlive, Inc. System and method for improving the graphics performance of hosted applications
CN103763535B (zh) * 2014-01-29 2017-02-15 上海集成电路研发中心有限公司 超级采样的像素阵列、图像传感器、像素单元
US10096086B2 (en) * 2014-09-10 2018-10-09 Nvidia Corporation Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
US10147203B2 (en) 2014-09-10 2018-12-04 Nvidia Corporation Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
KR102251444B1 (ko) 2014-10-21 2021-05-13 삼성전자주식회사 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 안티 에일리어싱 방법
US10152772B2 (en) * 2016-01-18 2018-12-11 Advanced Micro Devices, Inc. Techniques for sampling sub-pixels of an image
US11076151B2 (en) 2019-09-30 2021-07-27 Ati Technologies Ulc Hierarchical histogram calculation with application to palette table derivation
US11915337B2 (en) 2020-03-13 2024-02-27 Advanced Micro Devices, Inc. Single pass downsampler
CN112102435B (zh) * 2020-09-24 2023-08-01 安徽文香科技股份有限公司 一种几何图形绘制的方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020140706A1 (en) 2001-03-30 2002-10-03 Peterson James R. Multi-sample method and system for rendering antialiased images

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239624A (en) * 1985-06-19 1993-08-24 Pixar Pseudo-random point sampling techniques in computer graphics
JP3151079B2 (ja) * 1993-04-05 2001-04-03 日本電信電話株式会社 アニメーションのエイリアシング除去方法
JP4125789B2 (ja) * 1996-11-04 2008-07-30 インテル・コーポレーション コンピュータ画像システムにおいてポリゴンのエッジをアンチエイリアシングするための方法および装置
US6483504B1 (en) * 1998-02-17 2002-11-19 Sun Microsystems, Inc. Graphics system having a super sampled-sample buffer with efficient storage of sample position information
US6947057B2 (en) * 2000-01-11 2005-09-20 Sun Microsystems, Inc. Rendering lines with sample weighting
US7145577B2 (en) * 2001-08-31 2006-12-05 Micron Technology, Inc. System and method for multi-sampling primitives to reduce aliasing
US6870542B2 (en) * 2002-06-28 2005-03-22 Nvidia Corporation System and method for filtering graphics data on scanout to a monitor
US6922199B2 (en) * 2002-08-28 2005-07-26 Micron Technology, Inc. Full-scene anti-aliasing method and system
ATE425517T1 (de) 2002-12-20 2009-03-15 Ericsson Telefon Ab L M Kostengünstige supersampling-aufrasterung
JP4456003B2 (ja) * 2002-12-20 2010-04-28 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 低コスト・スーパーサンプリング・ラスタライゼーション

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020140706A1 (en) 2001-03-30 2002-10-03 Peterson James R. Multi-sample method and system for rendering antialiased images

Also Published As

Publication number Publication date
CN103325136A (zh) 2013-09-25
ATE513276T1 (de) 2011-07-15
US7348996B2 (en) 2008-03-25
JP2008513862A (ja) 2008-05-01
EP1792281A1 (en) 2007-06-06
EP1792281B1 (en) 2011-06-15
KR20070054660A (ko) 2007-05-29
JP4713591B2 (ja) 2011-06-29
US20060061592A1 (en) 2006-03-23
WO2006032435A1 (en) 2006-03-30

Similar Documents

Publication Publication Date Title
KR101143781B1 (ko) 픽셀 샘플링에 의한 반 에일리어싱 방법 및 시스템
US6967663B1 (en) Antialiasing using hybrid supersampling-multisampling
US6975329B2 (en) Depth-of-field effects using texture lookup
JP4522996B2 (ja) テクスチャマッピングにおける適応リサンプリングのためのシステム
US7432936B2 (en) Texture data anti-aliasing method and apparatus
US7884825B2 (en) Drawing method, image generating device, and electronic information apparatus
US7742060B2 (en) Sampling methods suited for graphics hardware acceleration
US7511717B1 (en) Antialiasing using hybrid supersampling-multisampling
JP4977712B2 (ja) ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサならびにその方法
AU3367000A (en) Graphics system which renders samples into a sample buffer and generates pixels in response to stored samples at different rates
EP1480171B1 (en) Method and system for supersampling rasterization of image data
JP2007507036A (ja) 動作ぼかしの生成
EP1489560A1 (en) Primitive edge pre-filtering
KR101030825B1 (ko) 샘플링 패턴을 이용하는 방법, 샘플링 패턴을 생성하는 방법, 안티 에일리어싱 시스템, 및 컴퓨터 판독 가능한 기록매체
KR101222360B1 (ko) 픽셀 샘플링용 방법 및 장치
US6816167B1 (en) Anisotropic filtering technique
US20060181534A1 (en) Generation of motion blur
EP1431920B1 (en) Low-cost supersampling rasterization
KR100466473B1 (ko) 텍셀 캐시들을 사용한 영상 텍스처 맵핑 장치
JP3872056B2 (ja) 描画方法
KR20240068288A (ko) 적응적 슈퍼 샘플링 방법 및 적응적 슈퍼 샘플링 장치
JP2007517304A (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: 20160411

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee