KR100547258B1 - 안티-에일리어싱 수퍼샘플링을 위한 방법 및 장치 - Google Patents

안티-에일리어싱 수퍼샘플링을 위한 방법 및 장치 Download PDF

Info

Publication number
KR100547258B1
KR100547258B1 KR1020037004456A KR20037004456A KR100547258B1 KR 100547258 B1 KR100547258 B1 KR 100547258B1 KR 1020037004456 A KR1020037004456 A KR 1020037004456A KR 20037004456 A KR20037004456 A KR 20037004456A KR 100547258 B1 KR100547258 B1 KR 100547258B1
Authority
KR
South Korea
Prior art keywords
graphics
polygons
cache
cpu
image
Prior art date
Application number
KR1020037004456A
Other languages
English (en)
Other versions
KR20030046474A (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 KR20030046474A publication Critical patent/KR20030046474A/ko
Application granted granted Critical
Publication of KR100547258B1 publication Critical patent/KR100547258B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)

Abstract

본 발명의 일실시예에 따른 컴퓨터 시스템이 기재되어 있다. 상기 컴퓨터 시스템은 그래픽 가속기, 및 상기 그래픽 가속기에 연결되는 그래픽 캐시를 포함한다. 상기 그래픽 캐시는 텍스처 데이터, 컬러 데이터 및 심도 데이터를 저장한다.
컴퓨터 시스템, 그래픽, 3차원 그래픽, 텍스처, 이미지, CPU, 렌더링

Description

안티-에일리어싱 수퍼샘플링을 위한 방법 및 장치{METHOD AND APPARATUS FOR THE ANTI-ALIASING SUPERSAMPLING}
본 발명은 컴퓨터 시스템에 관한 것으로, 특히, 3차원 그래픽 처리에 관한 것이다.
컴퓨터로 생성된 그래픽은 산업, 비지니스, 교육 및 엔터테인먼트 등의 여러 분야에서 널리 사용되고 있다. 컴퓨터 그래픽은 디스플레이 모니터상에 픽셀로 표현된다. 그러나, 디스플레이는 유한개의 픽셀들을 포함하기 때문에, 에일리어싱(aliasing)이 종종 발생할 수 있다. 아날로그 데이터를 디지털 포맷으로 나타내어야 하기 때문에, 에일리어싱은 고르지못한(jagged) 에지를 가진 디스플레이 이미지를 초래한다.
에일리어싱을 감소시키기 위해 사용되는 애플리케이션 기술을 통상적으로 안티-에일리어싱(anti-aliasing)이라고 부른다. 전화면 안티-에일리어싱에 사용되는 하나의 기술로 수퍼샘플링(supersampling)이 알려져 있다.
수퍼샘플링은 본래의 그래픽 화면이 고해상도로 렌더링된 후에, 본래 디스플 레이 해상도로 다운필터링되는 방법이다. 따라서, 수퍼샘플링은 본질적으로 에일리어싱 효과를 보다 높은 공간 주파수로 시프트한다.
그러나, 수퍼샘플링 기술을 이용할 때에 컴퓨터 시스템에 의해 초래되는 성능 장애가 존재한다. 수퍼샘플링이 갖는 문제점은 이미지를 보다 높은 해상도로 렌더링하기 위해, 부가적인 프로세싱, 메모리 저장공간 및 대역폭을 필요로 하고, 이것을 다음에 다운필터링한다는 점이다. 예를 들면, 디스플레이의 X 및 Y 방향의 각각에서 두배(2x)로 수퍼샘플링하는 것은 4배(4x)의 저장공간 및 대역폭을 필요로 한다. 그러므로, 추가의 메모리 저장장치 및 대역폭을 초래하지 않고 수퍼샘플링을 효과적으로 구현하는 것이 요구된다.
발명의 요약
본 발명의 일실시예에 따른 컴퓨터 시스템은 그래픽 가속기, 및 상기 그래픽 가속기에 연결되는 그래픽 캐시를 포함한다. 상기 그래픽 캐시는 텍스처 데이터, 컬러 데이터 및 심도 데이터를 저장한다.
본 발명은 본 발명의 여러 실시예에 대한 아래의 상세한 설명과 첨부된 도면으로부터 보다 명확하게 이해될 것이다. 그러나, 상기 도면들은 본 발명을 특정 실시예로 제한하도록 의도된 것이 아니며, 단지 설명과 이해를 위한 것으로 간주되어 야 한다.
도1은 컴퓨터 시스템의 일실시예를 도시한 블록도.
도2는 프로세서의 일실시예를 도시한 블록도.
도3은 그래픽 캐시의 일실시예를 도시한 블록도.
도4는 수퍼샘플링 동안의 데이터 흐름의 일실시예를 도시한 순서도.
수퍼샘플링의 효과적인 구현을 위한 방법 및 장치가 기재되어 있다. 다음의 본 발명의 상세한 설명에서, 여러 가지 특정 세부사항들이 본 발명의 완전한 이해를 제공하기 위해 제시된다. 그러나, 이 기술분야에서 통상의 지식을 가진 자에게는, 본 발명이 이러한 특정 세부사항들없이 실시될 수 있다는 것이 이해될 것이다. 다른 예에서, 주지된 구조 및 장치들은, 본 발명을 모호하지 않게 하기 위해, 상세히 설명되지 않고, 블록도로 도시된다.
본 명세서내의 "일실시예" 또는 "하나의 실시예"라는 용어는 그 실시예와 연관되어 설명되는 특정한 형태, 구조 또는 특징이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 본 명세서의 여러 부분에서 사용된 "일실시예에서"라는 어구는 반드시 모두 동일한 실시예를 언급하는 것은 아니다.
도1은 컴퓨터 시스템(100)의 일실시예를 도시한 블록도이다. 컴퓨터 시스템(100)은 프로세서 버스(110)에 연결되는 중앙 처리 장치(프로세서)(105)를 포함한다. 일실시예에서, 프로세서(105)는 미국 캘리포니아 산타클라라 소재의 인 텔 코퍼레이션사에서 시판된 Pentium?Ⅱ 계열 및 모발 Pentium? 및 Pentium? Ⅱ 프로세서를 포함한 Pentium?계열의 프로세서이다. 대안적으로, 다른 프로세서가 사용될 수 있다.
그리고, 칩셋(120)이 프로세서 버스(110)에 연결된다. 칩셋(120)은 메인 메모리(113)를 제어하기 위한 메모리 제어기를 포함할 수 있다. 칩셋(120) 역시, 미국 캘리포니아 산타클라라 소재의 인텔 코퍼레이션사에 의해 개발된 AGP(Accelerated Graphics Port) 스펙 개정안 2.0 인터페이스를 포함할 수 있다. 칩셋(120)은 비디오 장치(125)에 연결되고, 비디오 데이터 요구를 처리하여 메인 메모리(113)에 액세스한다.
메인 메모리(113)는 칩셋(120)을 통해 프로세서 버스(110)에 연결된다. 메인 메모리(113)는 프로세서(105)에 의해 실행되는 명령어 시퀀스를 저장한다. 일실시예에서, 메인 메모리는 DRAM(dynamic random access memory) 시스템을 포함하지만, 다른 구조를 가질 수 있다. 프로세서(105)에 의해 실행되는 명령어 시퀀스는 메인 메모리(113) 또는 다른 저장 장치로부터 검색될 수 있다. 다수의 프로세서 및/또는 다수의 메인 메모리 장치와 같은, 부가적인 장치들이 프로세서 버스(110)에 언결될 수 있다. 컴퓨터 시스템(100)은 단일 프로세서의 관점으로 기재되었지만, 다수의 프로세서가 프로세서 버스(110)에 연결될 수 있다. 비디오 장치(125)도 역시 칩셋(120)에 연결된다. 일실시예에서, 비디오 장치는 CRT(cathode ray tube) 또는 LCD(liquid crystal display)오 같은 비디오 모니터 및 필요한 지원 회로를 포함한 다.
프로세서 버스(110)는 칩셋(120)에 의해 시스템 버스(130)에 연결된다. 일실시예에서, 시스템 버스(130)는 미국 캘리포니아 산타클라라 소재의 인텔 코퍼레이션사에 의해 개발된 PCI(Peripheral Component Interconnect) 스펙 개정안 2.1 표준이다. 그러나, 다른 버스 표준안이 사용될 수도 있다. 오디오 장치(127)와 같은 다수의 장치들이 시스템 버스(1300에 연결될 수 있다.
버스 브리지(140)는 시스템 버스(130)를 2차 버스(150)에 연결시킨다. 일실시예에서, 2차 버스(150)는 미국 뉴욕 아몽크 소재의 인터네셔널 비지니스 머신(International Business Machines)사에 의해 개발된 ISA(Industry Standard Architecture) 스펙 개정안 1.0a 버스이다. 그러나, 예를 들면, 컴팩 컴퓨터 등에 의해 개발된 EISA(Extended Industry Standard Architecture) 스펙 개정안 3.12 와 같은 다른 버스 표준안이 사용될 수도 있다. 하드 디스크(153) 및 디스크 드라이브(154)와 같은 여러 장치들이 2차 버스(150)에 연결될 수 있다. 커서 제어 장치(도1에 미도시)와 같은 다른 장치들이 2차 버스(150)에 연결될 수 있다.
도2는 프로세서(105)의 일실시예를 도시한 블록도이다. 프로세서(105)는 CPU 코어(210), CPU 캐시(220), 그래픽 코어(230), 그래픽 캐시(240) 및 버스 인터페이스(250)를 포함한다. CPU 코어(210)는 컴퓨터 시스템(100)에서 수신된 비-그래픽 명령어를 실행한다. CPU 캐시(220)는 CPU 코어(210)에 연결된다. 일실시에에 따르면, CPU 캐시(220)는 CPU 코어(210)에 의해 실행되는 명령어 시퀀스 및 데이터를 저장하기 위한 고속 저장 메커니즘이다.
버스 인터페이스(250)가 CPU 캐시(220)에 연결된다. 버스 인터페이스(250)는 CPU 캐시(220) 및 그래픽 캐시(240)를 프로세서 버스(110)에 연결시켜, 데이터가 프로세서(105)로/로부터 분배될 수 있다.
그래픽 코어(230)는 그래픽 변환을 컴퓨팅하도록 특수화되는 그래픽 가속기(graphics accelerator)를 포함한다. 그래픽 코어(230)는 그래픽 계산을 실행하는 동안에, CPU 코어(210)로 하여금 비-그래픽 커맨드를 실행하도록 한다. 일실시예에 따르면, 그래픽 코어는 타일-기반(tile-based) 렌더링 아키텍처에 따라 동작한다. 렌더링은 하나의 픽셀을 기초로 상이한 컬러 및 위치 정보를 계산하는 동작이다. 그 결과, 뷰어는 비디오 장치(125)의 2D 모니터상에서 심도(depth)를 인식할 수 있다.
렌더링은, 단지 정점(vertices)의 세트로서 이전에 저장되었던 객체의 표면상의 위치를 채운다. 이 방식으로, 3D 효과로 명암이 생긴 명확한 객체가 화면상에 묘사될 수 있다. 객체를 렌더링하기 위하여, 컬러 및 위치 정보를 판정하는 것이 필요하다. 이를 효과적으로 수행하기 위해, 객체의 정점들을 삼각형으로 나누고, 그 다음에, 이 삼각형(3개의 정점의 세트)이 그래픽 코어(230)에서 한번에 처리된다.
타일-기반 렌더링에서, 그래픽 코어(230)는, 화면이 완전해질 때까지, 삼각형 방식으로 특정 그래픽 화면(또는 이미지)내에 다각형들을 구성한다. 그러나, 화면의 렌더링 전에, 그래픽 코어(230)는 화면을 삼각형의 시리즈로 분해한다. 이어서, 각 삼각형의 경계 박스를 조사함으로써, 삼각형들이 타일로 저장된다. 타일 저 장은 어떤 타일에 삼각형이 위치되는지를 판정한다. 일실시예에 따르면, 그래픽 캐시(240)는 화면내의 각 타일에 대해 버퍼를 포함한다. 버퍼는 버퍼내에 포함되는 특정 삼각형에 대한 포인터를 포함한다. 각 삼각형이 저장된 후에, 화면의 각 타일이 한번에 렌더링된다.
그래픽 캐시(240)는 그래픽 코어(230) 및 버스 인터페이스(250)에 연결된다. 일실시예에 따르면, 그래픽 캐시(240)는 128x64 픽셀의 타일 크기를 수용할 수 있는(여기서, 각 픽셀은 32-비트 컬러 및 심도값을 포함함) 통합 그래픽 캐시이다. 다른 실시예에서, 그래픽 캐시(240)는 컬러 및 심도 데이터에 추가하여 텍스처(texture) 데이터를 저장한다. 또 다른 실시예에서는, 그래픽 캐시(240)는 128x64 타일 크기를 수용하기 위한 64-킬로바이트 SRAM일 수 있다. 그러나, 이 기술분야에서 통상의 지식을 가진 자는 다른 크기 및 형태의 메모리 장치가 그래픽 캐시(240)를 구현하는데 사용될 수 있다는 것을 이해할 것이다.
도3은 그래픽 캐시(240)의 일실시예를 도시한 블록도이다. 그래픽 캐시(240)는 그래픽 텍스처 캐시(320) 및 그래픽 컬러/Z 타일 버퍼(340)를 포함한다. 그래픽 텍스처 캐시(320)는 객체의 텍스처 매핑에 사용되는 텍스처 데이터를 저장한다. 텍스처 매핑은, 컬러 및 밝기와 같은, 2차원 품질에 추가하여 3차원적인 특성(예로, 얼마나 명확하고 객체를 반영하는지)으로 텍스처를 인코딩하는 것을 포함한다. 텍스처가 정의되면, 이것은 3차원 객체 둘레에 싸여질 수 있다.
그래픽 컬러/Z 타일 버퍼(340)는 하나 또는 그 이상의 그래픽 화면의 각 타일내의 픽셀들에 대한 컬러 및 심도 데이터를 저장한다. 타일 크기는 컬리 및 심도 포맷 및 그래픽 컬러/Z 타일 버퍼(340)의 크기에 기반하여 결정될 수 있다. 이에 따라, 일실시예에 따르면, 그래픽 컬러/Z 타일 버퍼(340)는, 특정 타일내에 포함되는 모든 삼각형에 대한 중간 컬러 및 심도 데이터 액세스를 수행하기 위해 충분히 크다. 다른 실시예에 따르면, 컬러 및 심도 데이터는, 타일내의 최종 삼각형의 렌더링이 완료된 후에, 메모리(113)에 기록된다.
일실시예에 따르면, 그래픽 캐시(240)의 사용은, 추가의 메모리 저장공간 및 대역폭 요구를 없앰으로써, 그래픽 코어(230)가 효과적으로 수퍼샘플링을 구현할 수 있게 한다. 도4는 그래픽 코어(230)에 의한 샘플링 동안의 데이터 흐름의 일실시예를 도시한 순서도이다. 예시를 위해, X 및 Y 방향으로의 2배(2x) 샘플링에 의해, k=4 값이 취해진다. 또한, 타일 크기는 128x64로 가정되고, 다각형들은 64x32의 가상 타일 크기로 저장된다. 그러나, 이 기술분야에서 통상의 지식을 가진 자는, 다른 k값 및 타일 크기를 이용하여 프로세스가 구현될 수 있다는 것이 이해될 것이다.
도4를 참조하면, 처리 블록(410)에서, 메모리(113)로부터 칩셋(120)내의 AGP 포트를 통해 타일에 대한 다각형들이 그래픽 코어(230)에서 수신된다. 처리 블록(420)에서, 다각형들은 그래픽 코어(230)에서 확대된다. 이 예에서, k=4 이기 때문에, 다각형은 본래 크기의 4배(4x)로 확대(amplify)된다. 이러한 확대는, 그래픽 코어(230)에 의해 지원되는 뷰포트(viewport) 변환을 이용하여 수행된다. 뷰포트 변환에서, 그래픽 코어(230)에 의해 워드 좌표가 디스플레이 화면 좌표로 매핑된다. 이어서, 그래픽 코어(230)는 변환을 가속한다. 뷰포트 변환을 적용함으로써, 타일로 렌더링하기 위해 최종 이미지가 확대되도록 하기 위해, 뷰포트의 치수가 조정될 수 있다.
처리 블록(430)에서, 확대된 다각형들이 셋업된다. 일실시예에 따르면, 셋업 단계는 각 정점에 관련된 입력 데이터를 취하여, 스캔 변환에 필요한 여러 가지 파라미터를 컴퓨팅한다. 다른 실시예에 따르면, 다각형에 걸친 여러 정점 속성들을 보간(interpolate)하는데 필요한 그레디언트(gradient)도 역시 컴퓨팅된다.
처리 블록(440)에서, 다각형에 대한 텍스처 데이터의 래스터화(rasterization) 및 텍스처링(texturing)이 그래픽 코어(230)에서 수행된다. 래스터화 동안에, 다각형내 픽셀들이 처리된다. 또한, 텍스처링이 엔에이블되면, 텍스처가 픽셀에 인가된다. 처리 블록(450)에서, 타일의 렌더링이 완료된다. 타일내의 마지막 삼각형의 렌더링이 완료된 후에, 그래픽 컬러/Z 타일 버퍼(340)는본래 크기의 4배의 완전한 이미지의 타일을 포함한다. 처리 블록(460)에서, 스트레치(stretch) 비트 블록 전송(bit aligned block transfer: BLT)이 실행된다. BLT는 픽셀 또는 다른 데이터가 하나의 메모리 위치로부터 다른 위치로 카피되는 처리과정이다. 스트레치 BLT는 물리적인 타일 크기로부터 가상 타일 크기로 이미지를 다운샘플링하기 위해 수행된다.
스트레치 BLT는 물리적인 타일 크기와 같은 크기의 직사각형(2개의 다각형으로 이루어짐)을 렌더링함으로써 달성된다. 물리적인 타일(예로, 그래픽 컬러/Z 타일 버퍼(340))내의 수퍼샘플링된 이미지는 스트레치 BLT의 소스로 간주되고, 목적지가 메모리(113)에 할당된다. 일실시예에 따르면, 그래픽 코어(230)는 스트레치 BLT의 소스를 목적지 직사각형에 대한 텍스처 맵으로 취급한다. 결과적으로, 타일에 대한 텍스처 데이터의 양호한 사용을 유지하기 위해, 그래픽 텍스처 캐시(320)는 방해받지 않고 유지된다.
처리 블록(470)에서, 그래픽 컬러/Z 타일 버퍼(340)내에 더 이상의 타일들이 렌더링될 필요가 있는지가 판단된다. 더 이상의 파일들이 렌더링될 필요가 있는 것으로 판단된 경우, 제어는 처리 블록(410)으로 리턴되어, 다른 타일에 대한 다각형이 그래픽 컬러/Z 타일 버퍼(340)로부터 그래픽 코어(230)에서 수신된다. 일실시예에 따르면, 그래픽 코어(230)는 파이프라인 엔진을 포함한다. 그 결과, 이전 타일의 스트레치 BLT가 수행되는 동안에, 그래픽 코어(230)에서 다음 타일의 렌더링이 시작될 수 있다.
전술된 바와 같이, 타일-기반 렌더링을 위한 통합 그래픽 캐시 아키텍처를 이용함으로써, 외부 메모리 저장장치 및 대역폭 요구를 증가시키지 않고, 효과적인 수퍼샘플링된 이미지가 생성될 수 있게 된다.
통상적으로, 비-타일 기반 렌더링을 이용하는 그래픽 엔진은 통상적으로, 다운샘플링이 발생하기 전에, 먼저 본래 디스플레이 해상도의 k배 크기인 메모리 위치에 전체 수퍼샘플링된 이미지를 렌더링하여야 한다. 이 메모리는 통상적으로 그래픽 엔진과 동일한 반도체 장치상에 구현될만큼 크다. 그러므로, 메인 메모리내의 메모리 저장공간 및 대역폭에서의 증가가 요구된다.
전술된 바와 같이, 통합 그래픽 캐시는 이후에 (예로, 스트레치 BLT를 통해) 다운필터링되는 수퍼샘플링된 이미지에 대한 일시적인 저장공간을 제공한다. 그 결 과, 본래 크기의 최종 이미지는 메모리(113)와 같은 메인 시스템 메모리에 기록되어 저장될 필요가 있다. 이에 따라, 추가의 메모리 저장공간 및 대역폭을 초래하지 않는 효과적인 수퍼샘플링의 구현예가 기재되었다.
이 기술분야에서 통상의 지식을 가진 자에게는, 전술한 상세한 설명을 읽은 후에, 본 발명의 많은 대안예 및 변형예들이 이루어질 수 있다는 것이 명백하며, 예시적인 방법으로 도시되고 설명된 특정 실시예가 제한적인 의미가 아니라는 것이 이해될 것이다. 그러므로, 여러 실시예의 세부사항에 대한 언급은 본 발명의 범위를 제한하려고 의도된 것이 아니라 예시적인 것으로 간주되어야 한다.

Claims (24)

  1. 중앙 처리 장치(CPU) 코어;
    수퍼샘플링 기술을 통해 그래픽 변환(graphical transformations)을 컴퓨팅하기 위한 그래픽 코어(graphics core); 및
    상기 그래픽 코어에 연결되는 통합 그래픽 캐시(unified graphics cache) - 상기 통합 그래픽 캐시는 텍스처 데이터, 컬러 데이터 및 심도(depth) 데이터를 저장함 -
    를 포함하는 컴퓨터 시스템.
  2. 제1항에 있어서,
    상기 그래픽 캐시는,
    상기 텍스처 데이터를 저장하기 위한 텍스처 캐시; 및
    상기 컬러 데이터 및 심도 데이터를 저장하기 위한 컬러 및 심도 버퍼를 포함하는
    컴퓨터 시스템.
  3. 제1항에 있어서,
    상기 CPU 코어에 연결되는 CPU 캐시
    를 더 포함하는 컴퓨터 시스템.
  4. 제3항에 있어서,
    상기 CPU 캐시 및 상기 그래픽 캐시에 연결되는 버스 인터페이스
    를 더 포함하는 컴퓨터 시스템.
  5. 제1항에 있어서,
    상기 그래픽 코어는 타일-기반 렌더링 아키텍처에 따라 렌더링을 수행하는
    컴퓨터 시스템.
  6. 제1항에 있어서,
    CPU 캐시 및 그래픽 캐시에 연결된 버스 인터페이스; 및
    상기 버스 인터페이스에 연결되는 메인 메모리
    를 더 포함하는 컴퓨터 시스템.
  7. 제2항에 있어서,
    상기 그래픽 코어는 이미지 다각형들(polygons)을 확대하고, 상기 다각형들 을 상기 그래픽 캐시에 렌더링하는
    컴퓨터 시스템.
  8. 제7항에 있어서,
    상기 이미지 다각형들의 확대는 뷰포트 변환(viewport transformation)을 통해 수행되는
    컴퓨터 시스템.
  9. 제7항에 있어서,
    상기 그래픽 코어는, 상기 다각형들이 렌더링된 후에, 상기 이미지 다각형들을 다운샘플링(downsampling)하는
    컴퓨터 시스템.
  10. 제9항에 있어서,
    상기 이미지 다각형들의 다운샘플링은 비트 블록 전송(bit aligned block transfer: BLT)을 실행함으로써 구현되는
    컴퓨터 시스템.
  11. 이미지를 수퍼샘플링(supersampling)하기 위한 방법에 있어서,
    그래픽 코어에서 상기 이미지의 제1 타일의 다각형들을 수신하는 단계;
    상기 그래픽 코엉서 상기 다각형들을 확대하는 단계; 및
    상기 제1 타일의 다각형들을 통합 그래픽 캐시에 렌더링하는 단계 - 여기서, 상기 통합 그래픽 캐시는 상기 이미지의 텍스처 데이터, 컬러 데이터 및 심도 데이터를 저장함 -
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 다각형들의 렌더링 후 그래픽 코어에서 스트레치 정렬 블록 전송(stretch aligned block transfer)을 실행하는 단계
    를 더 포함하는 방법.
  13. 제11항에 있어서,
    상기 다각형들은 상기 이미지의 본래 크기의 4배로 확대되는
    방법.
  14. 제11항에 있어서,
    상기 확대는 뷰포트 변환을 이용하여 수행되는
    방법.
  15. 제11항에 있어서,
    상기 다각형들을 렌더링하는 단계는,
    상기 이미지 다각형들을 셋업하는 단계; 및
    상기 이미지 다각형들 내의 픽셀들을 래스터화(rasterizing)하는 단계를 포함하는
    방법.
  16. 제15항에 있어서,
    상기 이미지 다각형들 내의 상기 픽셀들을 텍스처링(texturing)하는 단계
    를 더 포함하는 방법.
  17. 제11항에 있어서,
    상기 다각형들이 렌더링된 후에, 상기 다각형들을 다운샘플링하는 단계
    를 더 포함하는 방법.
  18. 제17항에 있어서,
    상기 다운샘플링은 비트 블록 전송(BLT)을 실행함으로써 수행되는
    방법.
  19. 제11항에 있어서,
    상기 통합 그래픽 캐시가 렌더링되어야 하는 더 이상의 타일들을 포함하고 있는지를 판단하는 단계;
    상기 판단 결과, 렌더링되어야 하는 더 이상의 타일들을 포함하고 있는 경우, 상기 그래픽 코어에서 상기 이미지의 제2 타일의 다각형들을 수신하는 단계; 및
    상기 제2 타일의 다각형들을 상기 통합 그래픽 캐시에 렌더링하는 단계
    를 더 포함하는 방법.
  20. 비-그래픽 명령어를 실행하기 위한 CPU 코어;
    상기 CPU 코어에 연결된 CPU 캐시;
    수퍼샘플링 기술을 통해 그래픽 변형을 컴퓨팅하기 위한 그래픽 가속기(graphics accelerator); 및
    텍스처 데이터, 컬러 데이터 및 심도 데이터를 저장하기 위해, 상기 그래픽 코어 및 CPU에 연결된 통합 그래픽 캐시
    를 포함하는 중앙 처리 장치(CPU).
  21. 제20항에 있어서,
    상기 그래픽 캐시는,
    상기 텍스처 데이터를 저장하기 위한 텍스처 캐시; 및
    상기 컬러 데이터 및 심도 데이터를 저장하기 위한 컬러 및 심도 버퍼를 포함하는
    CPU.
  22. 제20항에 있어서,
    상기 그래픽 코어는 이미지 다각형들을 확대하고, 상기 그래픽 캐시에 상기 다각형들을 렌더링하는
    CPU.
  23. 제22항에 있어서,
    상기 CPU 캐시 및 상기 그래픽 캐시에 연결되는 버스 인터페이스
    를 더 포함하는 CPU.
  24. 제23항에 있어서,
    상기 그래픽 가속기는 타일-기반 렌더링 아키텍처에 따라 렌더링을 수행하는
    CPU.
KR1020037004456A 2000-09-28 2001-09-26 안티-에일리어싱 수퍼샘플링을 위한 방법 및 장치 KR100547258B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/675,096 US6885378B1 (en) 2000-09-28 2000-09-28 Method and apparatus for the implementation of full-scene anti-aliasing supersampling
US09/675,096 2000-09-28
PCT/US2001/030360 WO2002027661A2 (en) 2000-09-28 2001-09-26 Method and apparatus for the anti-aliasing supersampling

Publications (2)

Publication Number Publication Date
KR20030046474A KR20030046474A (ko) 2003-06-12
KR100547258B1 true KR100547258B1 (ko) 2006-01-26

Family

ID=24709035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037004456A KR100547258B1 (ko) 2000-09-28 2001-09-26 안티-에일리어싱 수퍼샘플링을 위한 방법 및 장치

Country Status (12)

Country Link
US (1) US6885378B1 (ko)
EP (1) EP1323131B1 (ko)
JP (1) JP2004510270A (ko)
KR (1) KR100547258B1 (ko)
CN (1) CN1251155C (ko)
AT (1) ATE355569T1 (ko)
AU (1) AU2001293158A1 (ko)
CA (1) CA2423497C (ko)
DE (1) DE60126967T2 (ko)
HK (1) HK1054110B (ko)
TW (1) TW591547B (ko)
WO (1) WO2002027661A2 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3543942B2 (ja) * 2000-03-02 2004-07-21 株式会社ソニー・コンピュータエンタテインメント 画像生成装置
US20030210267A1 (en) * 2002-05-13 2003-11-13 Kylberg Robert Lee Systems and methods for providing asynchronous client rendering in a graphical user interface (GUI) environment
TW569097B (en) * 2002-09-11 2004-01-01 Via Tech Inc Personal computer system and core logic chip applied to same
JP2004164618A (ja) * 2002-10-14 2004-06-10 Oce Technol Bv 携帯端末における選択メカニズム
US7307667B1 (en) * 2003-06-27 2007-12-11 Zoran Corporation Method and apparatus for an integrated high definition television controller
US9098943B1 (en) * 2003-12-31 2015-08-04 Ziilabs Inc., Ltd. Multiple simultaneous bin sizes
US7460175B2 (en) * 2004-04-02 2008-12-02 Nvidia Corporation Supersampling of digital video output for multiple analog display formats
JP4656862B2 (ja) * 2004-05-28 2011-03-23 ルネサスエレクトロニクス株式会社 半導体装置
CN101849227A (zh) * 2005-01-25 2010-09-29 透明信息技术有限公司 在单片构造的硅芯片上采用多个图形核心的图形处理和显示系统
US8089486B2 (en) * 2005-03-21 2012-01-03 Qualcomm Incorporated Tiled prefetched and cached depth buffer
US7348988B2 (en) * 2005-05-06 2008-03-25 Via Technologies, Inc. Texture cache control using an adaptive missing data table in a multiple cache computer graphics environment
KR101177125B1 (ko) * 2005-06-11 2012-08-24 엘지전자 주식회사 멀티-코어 프로세서의 합성모드 구현 방법 및 장치
US7737988B1 (en) * 2005-11-14 2010-06-15 Nvidia Corporation Using font filtering engines for texture blitting
KR100762811B1 (ko) * 2006-07-20 2007-10-02 삼성전자주식회사 하프 플레인 에지 함수를 이용한 타일 비닝 방법 및 시스템
US8009172B2 (en) * 2006-08-03 2011-08-30 Qualcomm Incorporated Graphics processing unit with shared arithmetic logic unit
JP2008090673A (ja) * 2006-10-03 2008-04-17 Mitsubishi Electric Corp キャッシュメモリ制御装置
CN101252687B (zh) * 2008-03-20 2010-06-02 上海交通大学 实现多通道联合的感兴趣区域视频编码及传输的方法
WO2010123950A2 (en) 2009-04-20 2010-10-28 Barco, Inc. Using gpu for network packetization
US9349156B2 (en) 2009-09-25 2016-05-24 Arm Limited Adaptive frame buffer compression
US8988443B2 (en) 2009-09-25 2015-03-24 Arm Limited Methods of and apparatus for controlling the reading of arrays of data from memory
GB0916924D0 (en) 2009-09-25 2009-11-11 Advanced Risc Mach Ltd Graphics processing systems
US9406155B2 (en) 2009-09-25 2016-08-02 Arm Limited Graphics processing systems
GB2474115B (en) * 2009-09-25 2012-10-03 Advanced Risc Mach Ltd Methods of and apparatus for controlling the reading of arrays of data from memory
KR101609266B1 (ko) * 2009-10-20 2016-04-21 삼성전자주식회사 타일 기반의 랜더링 장치 및 방법
KR101683556B1 (ko) * 2010-01-06 2016-12-08 삼성전자주식회사 타일 기반의 렌더링 장치 및 렌더링 방법
GB201105716D0 (en) 2011-04-04 2011-05-18 Advanced Risc Mach Ltd Method of and apparatus for displaying windows on a display
US8884963B2 (en) * 2011-05-04 2014-11-11 Qualcomm Incorporated Low resolution buffer based pixel culling
CN102208112B (zh) * 2011-05-25 2015-08-05 威盛电子股份有限公司 景深消隐方法、三维图形处理方法及其装置
US9098938B2 (en) * 2011-11-10 2015-08-04 The Directv Group, Inc. System and method for drawing anti-aliased lines in any direction
CN103164838B (zh) * 2011-12-12 2015-11-04 扬智科技股份有限公司 图形数据处理方法
US9734548B2 (en) * 2012-10-26 2017-08-15 Nvidia Corporation Caching of adaptively sized cache tiles in a unified L2 cache with surface compression
US9720858B2 (en) 2012-12-19 2017-08-01 Nvidia Corporation Technique for performing memory access operations via texture hardware
US9697006B2 (en) 2012-12-19 2017-07-04 Nvidia Corporation Technique for performing memory access operations via texture hardware
US9195426B2 (en) 2013-09-20 2015-11-24 Arm Limited Method and apparatus for generating an output surface from one or more input surfaces in data processing systems
US9595075B2 (en) * 2013-09-26 2017-03-14 Nvidia Corporation Load/store operations in texture hardware
GB2524467B (en) 2014-02-07 2020-05-27 Advanced Risc Mach Ltd Method of and apparatus for generating an overdrive frame for a display
GB2528265B (en) 2014-07-15 2021-03-10 Advanced Risc Mach Ltd Method of and apparatus for generating an output frame
US10163180B2 (en) * 2015-04-29 2018-12-25 Qualcomm Incorporated Adaptive memory address scanning based on surface format for graphics processing
GB2540562B (en) 2015-07-21 2019-09-04 Advanced Risc Mach Ltd Method of and apparatus for generating a signature representative of the content of an array of data
US10262456B2 (en) * 2015-12-19 2019-04-16 Intel Corporation Method and apparatus for extracting and using path shading coherence in a ray tracing architecture
US10235811B2 (en) 2016-12-29 2019-03-19 Intel Corporation Replicating primitives across multiple viewports
US10262393B2 (en) * 2016-12-29 2019-04-16 Intel Corporation Multi-sample anti-aliasing (MSAA) memory bandwidth reduction for sparse sample per pixel utilization
US10510133B2 (en) * 2017-06-20 2019-12-17 Think Silicon Sa Asymmetric multi-core heterogeneous parallel processing system
US10628910B2 (en) 2018-09-24 2020-04-21 Intel Corporation Vertex shader with primitive replication
US10902265B2 (en) * 2019-03-27 2021-01-26 Lenovo (Singapore) Pte. Ltd. Imaging effect based on object depth information

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69032932T2 (de) * 1989-11-17 1999-09-16 Digital Equipment Corp System und Verfahren zum unverfälschten Polygonenzeichnen
US5307451A (en) 1992-05-12 1994-04-26 Apple Computer, Inc. Method and apparatus for generating and manipulating graphical data for display on a computer output device
US5388206A (en) * 1992-11-13 1995-02-07 The University Of North Carolina Architecture and apparatus for image generation
KR100277803B1 (ko) * 1995-03-10 2001-01-15 가나이 쓰도무 3차원 그래픽 표시장치
US5651104A (en) * 1995-04-25 1997-07-22 Evans & Sutherland Computer Corporation Computer graphics system and process for adaptive supersampling
US5682522A (en) * 1995-07-18 1997-10-28 Silicon Integrated Systems Corp. Shared memory architecture of graphics frame buffer and hard disk cache
US5977977A (en) 1995-08-04 1999-11-02 Microsoft Corporation Method and system for multi-pass rendering
US6111584A (en) 1995-12-18 2000-08-29 3Dlabs Inc. Ltd. Rendering system with mini-patch retrieval from local texture storage
US5960213A (en) 1995-12-18 1999-09-28 3D Labs Inc. Ltd Dynamically reconfigurable multi-function PCI adapter device
JPH09245179A (ja) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp コンピュータグラフィックス装置
EP0821324A3 (en) 1996-07-26 1999-05-06 International Business Machines Corporation Cache memory for Z-buffer
US5828382A (en) * 1996-08-02 1998-10-27 Cirrus Logic, Inc. Apparatus for dynamic XY tiled texture caching
US6104417A (en) * 1996-09-13 2000-08-15 Silicon Graphics, Inc. Unified memory computer architecture with dynamic graphics memory allocation
US5860060A (en) * 1997-05-02 1999-01-12 Texas Instruments Incorporated Method for left/right channel self-alignment
US6094203A (en) * 1997-09-17 2000-07-25 Hewlett-Packard Company Architecture for a graphics processing unit using main memory
US5986677A (en) * 1997-09-30 1999-11-16 Compaq Computer Corporation Accelerated graphics port read transaction merging
US6496187B1 (en) * 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system configured to perform parallel sample to pixel calculation
JP3497988B2 (ja) * 1998-04-15 2004-02-16 株式会社ルネサステクノロジ 図形処理装置及び図形処理方法
US6483516B1 (en) * 1998-10-09 2002-11-19 National Semiconductor Corporation Hierarchical texture cache
US6448968B1 (en) * 1999-01-29 2002-09-10 Mitsubishi Electric Research Laboratories, Inc. Method for rendering graphical objects represented as surface elements
GB9915012D0 (en) * 1999-06-29 1999-08-25 Koninkl Philips Electronics Nv Z-buffering graphics system

Also Published As

Publication number Publication date
CA2423497C (en) 2009-07-28
KR20030046474A (ko) 2003-06-12
HK1054110A1 (en) 2003-11-14
ATE355569T1 (de) 2006-03-15
DE60126967T2 (de) 2007-10-31
WO2002027661A3 (en) 2002-06-13
HK1054110B (zh) 2007-08-31
EP1323131B1 (en) 2007-02-28
CA2423497A1 (en) 2002-04-04
US6885378B1 (en) 2005-04-26
AU2001293158A1 (en) 2002-04-08
TW591547B (en) 2004-06-11
EP1323131A2 (en) 2003-07-02
CN1251155C (zh) 2006-04-12
DE60126967D1 (de) 2007-04-12
WO2002027661A2 (en) 2002-04-04
CN1466738A (zh) 2004-01-07
JP2004510270A (ja) 2004-04-02

Similar Documents

Publication Publication Date Title
KR100547258B1 (ko) 안티-에일리어싱 수퍼샘플링을 위한 방법 및 장치
US10885607B2 (en) Storage for foveated rendering
JP6563048B2 (ja) スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
EP3559914B1 (en) Foveated rendering in tiled architectures
JP4234217B2 (ja) サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法
KR101033779B1 (ko) 확장된 버텍스 캐시를 갖는 그래픽스 프로세싱 유닛을 이용하여 이미지를 프로세싱하는 방법 및 장치
KR20090079241A (ko) 공유된 산술 논리 유닛을 구비한 그래픽 처리 유닛
CN109584140B (zh) 图形处理
US7898549B1 (en) Faster clears for three-dimensional modeling applications
US7027047B2 (en) 3D graphics rendering engine for processing an invisible fragment and a method therefor
WO2016022281A1 (en) High order filtering in a graphics processing unit
US6756989B1 (en) Method, system, and computer program product for filtering a texture applied to a surface of a computer generated object
US7616200B1 (en) System for reducing aliasing on a display device
WO2016022282A1 (en) High order filtering in a graphics processing unit
JP4532746B2 (ja) 3dパイプラインを使用したストレッチ・ブリッティングのための方法および装置
US7492373B2 (en) Reducing memory bandwidth to texture samplers via re-interpolation of texture coordinates
US6850244B2 (en) Apparatus and method for gradient mapping in a graphics processing system
US6784892B1 (en) Fully associative texture cache having content addressable memory and method for use thereof
JP4869290B2 (ja) プログラム可能なオフセット位置を用いてテクスチャサンプルを処理するための方法及びシステム
JP4419480B2 (ja) 画像処理装置およびその方法
JPH09166975A (ja) 画像生成装置及び画像生成方法
JPH0869539A (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: 20120110

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee