KR20010073076A - Z-버퍼를 렌더링하기 위한 방법 및 장치 - Google Patents

Z-버퍼를 렌더링하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20010073076A
KR20010073076A KR1020017002636A KR20017002636A KR20010073076A KR 20010073076 A KR20010073076 A KR 20010073076A KR 1020017002636 A KR1020017002636 A KR 1020017002636A KR 20017002636 A KR20017002636 A KR 20017002636A KR 20010073076 A KR20010073076 A KR 20010073076A
Authority
KR
South Korea
Prior art keywords
buffer
value
color
image
background
Prior art date
Application number
KR1020017002636A
Other languages
English (en)
Other versions
KR100701445B1 (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 KR20010073076A publication Critical patent/KR20010073076A/ko
Application granted granted Critical
Publication of KR100701445B1 publication Critical patent/KR100701445B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

복수의 도형 이미지 프리미티브 및 배경이 포함되는 이차원 픽셀 이미지를 제공하기 위한 이미지 처리 시스템 내에서, 도형 이미지 프리미티브는 3차원 물체를 나타내고, Z 버퍼 및 색 버퍼는 색 버퍼(354) 및 Z 버퍼(353)내의 전경에 관련된 이미지 프리미티브를 렌더링 하는 단계에 의해 클리어링되고, 그 후에 Z 버퍼를 스캐닝하고 각각의 픽셀에 대하여, 만일 Z 값이 0(357)과 같은 선정된 배경 값이라면, 배경 색(358)에 대응하는 색 버퍼 내의 위치를 클리어링하고, 만일 Z 값이 선정된 배경 값이 아니라면, Z 버퍼의 값을 선정된 배경 값(359)으로 클리어링한다. 이 방법에서, Z 버퍼 또는 색 값은 버퍼 클리어닝 처리동안 기록되지만, 결코 둘 다 되지 않는다. 픽셀은 그룹내의 캐시로부터 판독될 것이고, 그룹의 크기는 전경 또는 배경 픽셀이 되는 그룹내의 모든 연속적인 픽셀의 가능성을 최대화하도록 선택될 것이다. 다른 대역폭 절약은 타일 버퍼 및 두 개의 출력 버퍼를 이용함으로서 얻어진다.

Description

Z-버퍼를 렌더링하기 위한 방법 및 장치{Method and apparatus for rendering a Z-buffer}
도형 이미지 프리미티브(polygonal image primitives)의 매시(mesh)로서, 특히 다루기 쉬운 삼각형으로 물체를 모델링하는 것은 실시간 컴퓨터 그래픽의 일반적인 기술이다. 특히 삼차원 물체 모델링(three-dimension object modelling)의 경우에, 삼차원 이미지 데이터로부터 이차원 이미지를 얻도록, 삼차원 공간에서의 물체의 표면을 만드는 도형은 이차원 공간으로 투사되고, 어떤 필요한 계산 또는 룩-업 테이블(look-up table)의 참조에 따라, 적절한 픽셀 값(색, 및 텍스처(texture) 등을 포함하는)이 투사된 2 차원 도형 내의 픽셀의 위치 상에 맵핑된다.
Z-버퍼링은 컴퓨터 그래픽에서의 잘 알려진 기술이고, 겹쳐진 도형에 대한 깊이 소팅(depth sorting)을 허용하도록 도형내의 각 픽셀의 위치에 대한 깊이(Z) 값의 저장을 포함하고, 따라서, 도형에 맵핑되는 필수적이지 않은 픽셀 값을 방지하기 위해 그 앞의 다른 도형에 의해 폐색된다. 이것의 예는, 예를 들면 미국 특허 5,925,363(Anderson)에 설명되어 있는데, 픽셀당, 초기 결정은 픽셀에서 선택된 기하학적 모양이 그 픽셀에서 다른 기하학적인 모양을 가리는지에 따라 결정되며, 만약 그렇다면, 픽셀에서 선택된 모양의 값은 저장된다.
색 버퍼링은 또한 컴퓨터 그래픽의 공지된 기술이며, 버퍼의 사용을 포함하고, 다음 디스플레이를 위한 픽셀의 색 및 텍스처가 조합된다. 어느 시점에 이미지가 도형으로 구성됐을 때, 주어진 픽셀에서의 색 또는 텍스처는 픽셀이 처리되는 연속적인 도형의 영향으로서 프레임을 렌더링하는 동안 여러 번 변경될 것이다. 다른 한편으로, 주어진 픽셀에 도형의 영향이 없을 때, 픽셀은 이미지에 대해 열거된 배경 색과 함께 변경되지 않고 남아있다. 이미지 렌더링의 결론은, 어떤 배경 깊이 값이 도형에 대해 축적된 깊이 값을 교체함으로서 열거되어도, Z 버퍼는 전형적으로 클리어링 되어야 한다. 또한, 오직 단일 디스플레이 버퍼가 스크린 리프레시(refresh)를 위해 제공되고, 렌더링의 결론에서 디스플레이 버퍼로 복사되는 색 버퍼의 컨텐츠는 필수적이다. 대안적인 버퍼의 쌍은 제공될 때, 하나가 선행되는 이미지에 대한 화면 리프레시를 제공하는 동안, 이미지는 다른 하나로 직접적으로 구성될 수 있다.
가장 일반적인 문제는, 많은 양의 메모리 전송이 수행될 때, 거의 처리가 발생되지 않는 동안 만일 모두가 아니더라도, 이러한 구조로 렌더링으로의 결론에서 발생한다. 데이터 전송의 값은 전체 성능을 디그레이드 시킬 수 있는 렌더링 처리 내의 병목을 결과로 갖고, 몇몇 기술은 특히 Z 값의 효과적인 조정을 향상시키도록제안된다. 미국 특허 5,748,864(Martin)에서, 렌더링 하는 방법이 개시되었고, 각각의 저장된 Z 값은 각 프레임에서 Z 버퍼가 클리어되는 것이 필수적이지 않게 되도록 시퀀스 수에 의해 배열되고, 시퀀스 수를 참조함으로서 배열되고, 이것은 물론 시퀀스 수의 부가적 데이터를 적용시키도록 많은 데이터가 요구되지만, 버퍼 컨텐츠는 클리어링 사이에서 몇 번 재생될 수 있다. 미국 특허, 5,517,603(Kelly 등등)에서, 하드웨어 스켄라인 접근을 사용하는 렌더링 디바이스를 개시하였고, 시스템 프레임 버퍼와 렌더링 디바이스 사이의 대역폭 요구는 더 빈번한 복사 또는 데이터 전송 동작이 있을 지라도, 훨씬 작은(그리고 훨씬 빠른)버퍼가 요구되는 시간에서 한 라인의 이미지를 만듦으로서 최소화된다.
본 발명은 이미지 처리(image processing)에 대한 방법 및 장치에 관련되며, 특히 Z-버퍼링된 도형을 기본으로한 그래픽 시스템내의 렌더링 동작에 관련된다.
도 1은 본 발명을 수행하기에 적합한 이미지 처리 시스템의 계략적인 블록 다이어그램.
도 2는 더 상세하게 색 버퍼 및 Z-버퍼를 도시한 도면.
도 3은 종래 기술과 본 발명의 배열에서의 버퍼링 클리어링 처리의 동작의 플로우차트를 도시한 도면.
도 4는 타일 버퍼 및 한 쌍의 출력 버퍼를 도시한 도면.
본 발명의 목적은 버퍼를 클리어링 할 때, 시퀀스 수로 버퍼 용량의 손실 없이, 감소된 대역폭 요구에 의해 처리 효율을 향상시키는 이미지 처리 기술(및 동일하게 구현되는 장치)을 제공하는 것이다.
본 발명의 제 1 특성에 따라, 다수의 도형 이미지 프리미티브 및 배경으로 구성되는 이차원 픽셀 이미지를 제공하기 위한 이미지 처리 시스템 내의 Z 버퍼 및 색 버퍼 동작 방법이 제공되며, 상기 방법은,
a) 색 버퍼 및 Z 버퍼내의 전경에 관련된 이미지 프리미티브(image primitive)를 렌더링하는 단계; 및
b) Z 버퍼를 스케닝 하고, 각각의 픽셀에 대해, 만일 Z 값이 선정된 배경 값이라면, 배경 색으로 색 버퍼 내에서 대응하는 위치를 클리어링하고, 만일 Z 값이 상기 선정된 배경 값이 아니라면, Z 버퍼를 선정된 배경 값으로 클리어링하는 단계를 포함한다.
본 발명의 제 2 특성에 따라, 다수의 도형 이미지 프리미티브와 배경으로 구성된 이차원 이미지를 제공하기 위한 이미지 처리 시스템 내에서 Z 버퍼 및 색 버퍼를 동작하는 방법이 제공되고, 상기 방법은,
a) 색 버퍼 및 Z 버퍼 내에서 전경에 관련된 이미지 프리미티브를 렌더링 하는 단계;
b) Z 버퍼를 스캐닝하고, 각각의 픽셀에 대해, 만약 Z 값이 선정된 배경 값이라면, 배경 색을 기억 장치로 복사하고, 만일 Z 값이 상기 선정된 값이 아니라면, 색 값을 기억 장치로 복사하고 Z 값을 클리어링하는 단계를 포함한다.
본 발명의 방법의 이행에 있어서, 사용은 Z 값이 아직 (Z=0에서 알맞을) 배경 값으로 세트되어 있는 픽셀이 변경되지 않고, 이러한 값은 그들의 배경 상태에서 클리어링 되지 않아야 한다. 또한 색 버퍼는 렌더링 처리가 시작되기 전에 클리어링 되지 않고, Z값이 배경 값으로 설정된 픽셀에 대해, 색 값은 전경 픽셀의 렌더링 후에 배경 값으로 설정 될 수 있다. 이러한 실행에 대한 효과에서, 각각의 픽셀에 대해, Z 값 또는 색 값은 버퍼 클리어링 처리동안 기록되지만, 결코 둘 다되지 않는다.
또한 본 발명의 제 1 및 제 2 특성에 따라, 본 명세서에 참조문헌으로 포함된 공개를 참조로 하여 첨부된 청구항에서 정의된 것과 같은 이미지 처리 시스템이제공된다.
이미지 처리 장치로서 구성된 데이터 처리 시스템은 도 1에 도시된다. 시스템은, 가상 삼차원 세계상에 모델링된 물체의 이차원 시각을 디스플레이 하도록 생산된 삼차원 이미지 데이터를 처리하도록 배열된 CPU(10) 내의 처리 유닛을 갖는다. CPU(10)는 데이터와 어드레스 버스(12)를 통해 RAM(14)와 ROM(16)내의 임의 접근 기역 장치와 판독 전용 기역 장치로 연결되고 또한 적합한 인터페이스를 통해서 다른 오프라인 데이터 기억 공간(OLS(20))에 연결된다.OLS(20)은 삼차원 데이터 원 및, 자기 디스크, 광학 디스크, 광자기디스크, 또는 다른 알맞은 매체와 같은 영구적인 저장 디바이스로부터 CPU의 동작을 제어하기 위한 명령어를 제공한다. 이러한 배치 내의 OLS의 형태로 압박(constraint)은 요구되는 비율에서 인터페이스(18) 및버스(12)를 통해 CPU(10)로 데이터를 공급할 수 있다. 더 효과적인 배열에서, 그러나 데이터 및 명령어는 처리의 속도를 위해 전용(dedicated) 랜더 및 포스트 처리기에 의해 RAM(14)안으로 로드 된다.
또한 버스(12)로의 접속은 프레임 버퍼(23)를 통해 비디오 모니터(VDU:24)로 공급되는 비디오 이미지를 발생시키도록 배열된 프레임 버퍼 및 디스플레이 드라이버 스테이지(22)이다. 사용자 제어 및 이미지 발생 처리의 기여(contribution)를 위해 사용자입력 디바이스 인터페이스(26)는 인터페이스에 접속된 키보드(28) 및 마우스(30)와 같은 입력 디바이스와 버스(12)로 접속된다.
도시된 배열에서, 디스플레이 드라이버(22)내의 저장 영역은 색 버퍼(32) 및 Z 버퍼(34)를 갖고, 저장된 데이터를 조정하기 위한 포스트 처리기는 디스플레이 드라이버내의 전용 소자이다. 대안적인 배열에서(도시되지 않음), RAM(14)은 색 버퍼 및 Z 버퍼를 갖고 포스트-처리기의 기능은 CPU(10)의 기능의 부분 집합(subset)으로서 제공된다.
도 2는 도 1을 자세하게 도시한 도면으로서, 렌더링에 관련된 장치의 부분은 렌더(36)에 의해 나타내지고, 포스트-처리기는 38로 나타내진다. 색 버퍼(32) 및 Z 버퍼(34)는 랜더와 포스트 처리기 사이에 연결되있다.
설명을 위해, 종래의 렌더링 및 버퍼 클리어링 동작이 어떤 특성은 초기에 설명될 것이다. Z 버퍼(34) 및 색 버퍼(32)는 둘 다 그들의 배경 값을 초기화된다. 각각의 픽셀에 대하여 하나의 색 값과 하나의 Z 값을 갖는다. 각 Z 버퍼의 위치는 관찰자로부터 디스플레이된 삼차원 물체의 최대 가능한 거리에 대응하는 값으로 설정되고, 색 값은 그 앞에 삼차원 물체가 없을 때, 배경 색으로 설정된다. 배경 색은 스크린을 통해 일정하거나 또는, 하늘, 구름, 땅에 대한 적절한 영역색의 하늘-땅 모델과 처럼 더욱 복잡할 것이다.
3차원 물체는 도형, 전형적으로 삼각형 매시로서 모델링 될 것이다. 각각의 프레임에 대하여, 물체는 픽셀에 의해 렌더링된 픽셀이다. 겹쳐진 물체의 복잡한 장면은 발생될 때, 전경에 관련된 어떤 픽셀은 물체의 "정면 표면" 까지, 즉, 관찰자에게 가장 가까운 표면이 적절하게 렌더링될 때까지, 렌더링 동안 몇 차례 겹쳐 써질 것이다. 이것은 데이터 패킷이, 각각의 시간을 저장하고 반대로 메인 메모리로부터 전방과 후방으로 패치 된다. 일단 모든 픽셀이 색 버퍼 및 Z 버퍼에 기록되면, 이미지는 발생된다.
발생된 이미지를 디스플레이하기 위해, 색 버퍼는 VDU(24)상의 시각적 이미지(도 1을 보라)로부터 발생된 프레임 버퍼(23)에 복사된다. 자주, 더블 버퍼링 배열은 처리의 속도를 높이기 위해 이용되고, 두 프레임 버퍼가 제공되고, 현재 프레임 시각을 만들도록 디스플레이를 리프레시 하는데 이용되고, 다른 하나는 다음 이미지를 구성 가능하게 한다. 일반 이미지가 프레임 버퍼로 공급되면, Z 버퍼(34) 및 색 버퍼(32) 둘은 그 배경 값으로 렌더(36)에 의해 리셋 되고, 렌더링은 다음 프레임을 시작한다.
처리 단계 순서를 변경하여 더욱 효과적인 클리어링 처리가 얻어지는 것이 제안된다. 개시된 기술로부터 물러서는 제 1 개선점은 모든 색 버퍼의 클리어링을 파하는 것이다. 이것은 다음 단계에 의해 일어난다.
1. 색 버퍼내의 전경 도형에 의해 덮이는 픽셀을 렌더링하는 단계.
2. 색 버퍼내의 남은 픽셀을 배경 색으로 클리어링하는 단계.
3. 다음 프레임에 대한 준비에서 Z 버퍼를 클리어링하는 단계
도형이 전경이고 배경 정보는 Z 버퍼 내에 있고, 만일 Z 버퍼내의 위치가 배경 값으로 유지된다면(다음 예시 안에 비록 다른 값이 열거된다고 하여도, 0 값을 갖는다), 대응하는 픽셀은 전경이다. 그러므로 단계1 및 3을 조합하여, 본 발명의 기술은 얻어진다.
제 1 단계는 색 버퍼내의 전경 도형만을 렌더링한다. 다음으로, Z 버퍼는 스케닝되고, 각 픽셀의 값은 체크된다. 만약 값이 0이라면, 픽셀은 전경이 아니고 색 버퍼는 배경 색으로 클리어링 된다. 이것은 0으로 설정되어 있으므로 Z 버퍼를 클리어링 할 필요가 없다. 만일 Z 버퍼가 0이 아니라면, 픽셀은 전경이고, 색 버퍼는 이미 적절한 색을 포함한다. Z 버퍼내의 Z 값은 0으로 클리어링 될 수 있다. Z 버퍼 스캔의 마지막으로. 모든 Z 값은 0이 되고, 즉 Z 버퍼는 클리어링되고, 비-전경 픽셀에 대응하는 색 값만이 배경으로 클리어링된다.
종래 기술 및 본 발명의 처리는 실시예에서, 예를 들면, 온 보드 캐시 메모리와 함께 RISC 처리기는 다음 테이블에서 도시된 것과 같이 통합된다. 전형적으로, 메모리 엑세스를 다루는 RISC 캐시 동작은 할당된 캐시 블록이 없는 메모리 내의 제 1 바이트의 변경과 함께 시작된다. 블록이 할당 됐을 때, 존재하는 컨텐츠는 메모리로 돌아가고(만약 적절하다면), 메모리로부터의 새로운 데이터의 전체 컨텐츠는 캐시 안에서 처리되기 전에 캐시 블록에 쓰여진다. 다른 캐싱 기술은 숙련된랜더에 의해 공지되어있다.
비록, 본 발명에 따른 프레임 업데이트 처리는, 픽셀이 클리어링되는 것이 요구되는지를 검사하도록, 일반적으로 처리를 더 요구하고, 부가적인 처리를 처리하기 위한 시간은 종래 배열에 따른 메인 메모리로부터 캐시로의 데이터의 전송이 요구되는 시간과 비교하여 클락 사이클에서 무의미하다. 본 발명의 처리는 더블 버퍼 배열 또는 단일 출력 프레임 버퍼로 응용될 수 있다.
종래 기술 처리의 자세한 단계는 도 3a에 도시되어 있으며, 색 값을 프레임 버퍼로 보내는 시작(단계301)은 배경으로 색 버퍼를 클리어링(단계302) 함으로서 수행되고, Z 버퍼는 0으로 클리어링된다(단계 303). 처리는 각 픽셀에 대하여 픽셀이 선택된 곳에 Z 값을 기록하고(단계 304), Z 값은 Z 버퍼에 기록되고(단계305), 색 값은 색 버퍼에 쓰여진다(단계306). 단계(307)에서 연결되는 모든 픽셀은 다루어지고, 처리를 루프를 나오고 색 값은 단계(308)의 프레임 버퍼로 보내진다. 본 발명의 처리내의 자세한 단계는 도 3b에 도시되고, 다시 색 값은 프레임 버퍼로 보내는 것을 시작하고(단계(351)) 다음으로 각 전경 픽셀에 대하여 픽셀이 선택된 지점에서 처리는 루프에 들어가고(단계 352), Z 값은 Z 버퍼에 기록되고(단계(535)) 색 값은 색 버퍼에 기록된다(단계354). 단계(355)에서 결정된 모든 전경 픽셀은 다루어지고, 처리는 제 1 루프를 빠져나오고, Z 버퍼를 스캔하는 것이 수행되는 제 2 시작을 하고, 픽셀의 선택을 시작한다(단계 356). 각각의 픽셀에 대하여, 결정은 깊이 값이 0으로 설정되도록 만들어지고(단계 357) 및 만일 그렇다면, 색 버퍼는 배경으로 클리어링되고(단계 358), 만일 그렇지 않다면, Z 버퍼는 0으로 클리어링된다(단계359). 단계(360)에서 결정된 어떤 다른 픽셀도 제 2 루프에서 처리되도록 남아 잇지 않고, 처리는 색 값을 단계(361)의 프레임 버퍼로 전송한다.
본 발명에 따라 렌더링하고 클리어링 처리의 다른 이점은, Z 값이 오직 하나의 의해 스캔되는 것이 아니라, 그룹내의 각각의 픽셀이 처리되는, N 픽셀의 그룹내의 캐시의 메모리로부터 판독 될 수 있다는 점이다. 이러한 배열은 공지된 타일을 기초로한 렌더링 기술과 통상적으로 쉽게 이해될 수 있도록 처리 스피드의 증가를 가져온다.
그룹의 크기 N은 다음처럼 선택된다.
a) 처리기(10)는 캐시 메로리의 블록에 적합하도록 적어도 하나의 그룹에 대하여 충분히 작다.
b)동일한 타입의 그룹 내에서 즉, 모든 전경 또는 배경의 모든 연속적인 픽셀의 가능성을 최대화시키기에 충분히 작다.
c) 메인 메모리와 캐시 사이의 블록 전송의 총수를 최소화하기 중분하게 크다.
본 발명의 응용의 N의 알맞은 값은 16으로 찾아진다. 만일 그룹내의 모든 16개의 연속적인 픽셀이 배경 색으로 채워진다면, Z 버퍼는 클리어링되지 않고 메인 메모리로 다시 기록할 필요가 없고, 그러므로 시간이 절약된다. 만일 그룹내의 16개의 연속적인 픽셀이 전경 색으로 채워진다면, 색 버퍼는 클리어링 될 필요 없고, 그러므로 메인 메모리로부터 판독되거나 기록되지 않고, 다음 프레임이 다른 것을 렌더링하는 동안 이미지를 리프레시 하도록 이용되나. 대안적인 배열은 디스플레이를 위한 이미지를 유지하도록 출력 버퍼를 분리하는데 사용되지만. 출력 버퍼내의 이미지를 카피하는 것을 만드는 것은 다른 대역폭을 요구하고 낭비적이라는 것을 고려해야 한다.
드러나, 타일링된 렌더링 버퍼를 이용함으로서, 만약 본 발명의 방법이 사용된다면, 경제적으로 절약되는 것이 가능하다. 타일링 버퍼를 이용하는 본 발명의 양호한 실시예는 도 4에 도시되어 있다. 타일 버퍼(40)는 제 1 출력 버퍼(42)에 접속되어 도시되고, 제 2 동일한 출력 버퍼(44)에 접속될 수 있다. 버퍼(42, 44)는 스위치(46)를 통해 디스플레이 시스템으로 접속된다.
타일 버퍼(40)는, 출력 버퍼(42)내의 부(A, B, C, D)에 대응하는 스크린의 높이의 1/4과 전체 스크린의 폭을 갖는다. 이미지의 부를 만들도록 배열된다. 이미지의 한 부분은 타일 버퍼 내에서 만들어지고, 색 값과 Z 값을 포함한다. 타일 버퍼(40)가 가득 차면, 이 부분은 출력 버퍼(42)의 적절한 부분에, 오직 색 값만이 전송되고, 이미지의 다음 부분은 타일 버퍼 내에서 구성된다. 제 1 출력 버퍼(42)가 가득 차면, 이것은 제 2 출력 버퍼(44)의 제 1 부분에 접속된 디스플레이 및 타일 버퍼(40)로 스위치(46)를 통해 접속된다.
물론 , 이미지가 디스플레이 될 수 있기 전에, 타일 버퍼에 대해 출력 버퍼중의 하나로 완벽한 이미지를 제공하는 것은 물론 필수적이고, 그러므로, M 개의 분리된 타일로서 렌더링된 이미지에 대해, M 렌더링 및 전송 동작이 일어날 필요가 있다. 렌더링 내에서 사용되는 픽셀 당 조합된 메모리는 크지만(예를 들면, 색 값에 대하여 4 바이트, Z 값에 대하여 4 바이트), 두 개의 출력 버퍼를 공급하는 것이 필요하도록 동작의 메모리 가격을 절약할 수 있다. 기술은 또한 메모리내의 다른 세이빙을 제공하기 전에 출력 버퍼(버퍼로부터 로드된)내의 색 압축 스키마의 이용을 또한 허용한다.
실시예의 부가적인 이점은 배경 색 삽입이 픽셀이 타일 버퍼(40)로부터 출력 버퍼(42, 44)중의 하나로 전송될 때 수행된다는 점이다. 각각의 픽셀에 대하여 Z 값은 판독되고, 만일 이것이 0이라면, 배경 색은 출력 버퍼로 복사되고, 만약 이것이 0이 아니라면 배경 색이 출력 버퍼로 복사되고, Z 값은 0으로 클리어링하다. 이것은 또한 클리어링 메모리를 위해 요구된 트래픽을 감소시킨다.
결과는 배경인 이미지의 부분의 픽셀에 대하여, Z 버퍼는 판독되지만 기록되지 않는다. 전경인 각각의 픽셀에 대하여, Z 값은 판독되고 기록되고, 색 값은 복사되지만, 렌더링 색 버퍼(32)는 기록된다.
요약하면, 본 발명 응용에 대한 처리는 간략화된 관계로 시나리오를 복사한다.
따라서, 메모리 대역폭내의 다른 감소가 얻어진다.
예를 들면, VRML 배경 노드 하늘-땅 모델처럼, 배경 색이 일정한 색이 아닐 때, 배경 색 계산은, 타일 버퍼(40)로부터 출력 버퍼(42)중의 하나로 픽셀을 복사하도록 일련적으로 결합되고, 이것은 배경이 시각적이지 않을 때 배경 색의 계산을 피한다.
본 발명은 당업자에 의한 다양한 변경을 포함한다. 이러한 변경은 디자인내의 이미 공지된 특징에 포함되고, 제조 및 이미지 처리 장치 및 디바이스 및 그것의 구성부는 본 명세서에 이미 상술된 특징을 대신하거나 부가할 수 있다.

Claims (10)

  1. 복수의 도형 이미지 프리미티브(image primitive) 및 배경으로 구성된 2차원 이미지를 제공하기 위한 이미지 처리 시스템내의 Z 버퍼 및 색 버퍼를 동작하는 방법으로서,
    상기 방법은,
    a) 상기 색 버퍼 및 상기 Z 버퍼 내의 전경(foreground)에 관련된 이미지 프리미티브를 렌더링하는 단계와;
    b) 상기 Z 버퍼를 스캐닝하고, 각각의 픽셀에 대해, 만일 상기 Z 값이 선정된 배경(background) 값이라면, 배경 컬러로 색 버퍼 내에 대응하는 위치를 클리어링하고, 만일 상기 Z 값이 상기 선정된 배경 값이 아니라면, Z 버퍼를 선정된 배경 값으로 클리어링하는 단계를 포함하는 동작 방법
  2. 다수의 도형 이미지 프리미티브와 배경으로 구성된 이차원 이미지를 제공하기 위한 이미지 처리 시스템 내에서 Z 버퍼 및 색 버퍼를 동작하는 방법으로서,
    상기 방법은,
    a) 상기 색 버퍼 및 상기 Z 버퍼 내에서 전경에 관련된 이미지 프리미티브를 렌더링하는 단계;
    b) Z 버퍼를 스캐닝하고 각각의 픽셀에 대해, 만약 상기 Z 값이 선정된 배경 값이라면, 배경 색을 기억 공간으로 복사하고, 만일 상기 Z 값이 상기 선정된 배경값이 아니라면, 상기 색 값을 기억 공간으로 복사하고 상기 Z 값을 클리어링하는 단계를 포함하는 동작 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 Z 값은 N 개의 픽셀의 그룹내의 상기 Z 버퍼로 제공되는 방법.
  4. 제 3 항에 있어서,
    상기 값(N)은 배경 및 전경 픽셀을 포함하는 그룹내의 모든 연속적인 픽셀의 가능성을 최대화하도록 선택된 방법.
  5. 제 2 항에 있어서,
    시퀀스내의 이미지의 부분에 관련된 렌더링 및 스캐닝 단계를 수행하는 것을 포함하고, 전체 이미지가 저장될 때까지, 각각의 상기 부분에 관련된 정보를 기억 공간에 전송하는 방법.
  6. 제 5항에 있어서,
    상기 전송 단계는 색 압축 단계를 포함하는 방법.
  7. 제 1 항에서 제 6 항에 있어서,
    상기 선정된 배경 값은 0 인 방법.
  8. 복수의 도형 이미지 프리미티브 및 배경이 포함된 이차원 이미지를 제공하기 위한 이미지 처리 시스템에 있어서,
    삼차원 이미지를 제공하는 수단과;
    Z 버퍼 및 색 버퍼를 포함하며 삼차원 이미지에 관련된 상기 이차원 이미지를 제공하기 위한 처리 수단 및 메모리로서, 전경에 관련된 이미지 프리미티브가 상기 색 버퍼 및 상기 Z 버퍼 내에 먼저 제 1 렌더링되고, 후속하여 상기 Z 버퍼가 각각의 픽셀에 대하여 스케닝되고, 만약 상기 Z 값이 선정된 배경 값이라면, 상기 색 버퍼내의 대응하는 위치는 배경 색으로 클리어링되고, 만일 상기 Z 값이 상기 선정된 배경 값이 아니라면, 상기 Z 버퍼는 상기 선정된 배경 값으로 클리어링 되도록 배열된 상기 처리 수단 및 메모리를 포함하는 이미지 처리 시스템.
  9. 복수의 도형 이미지 프리미티브 및 배경으로 구성된 이차원 이미지를 제공하기 위한 이미지 처리 시스템에 있어서,
    삼차원 이미지를 제공하기 위한 수단과;
    Z 버퍼 및 색 버퍼를 포함하며, 삼차원 이미지에 관련된 상기 이차원 이미지를 제공하기 위한 처리 수단 및 메모리로써, 전경에 관련된 이미지 프리미티브가 상기 색 버퍼 및 상기 Z 버퍼 내에 먼저 렌더링되고, 후속하여 상기 Z 버퍼가 각각의 픽셀에 대하여 스케닝되고, 만일, 상기 Z 값이 선정된 배경 값이라면, 배경 색은 다른 기억 공간에 복사되고, 만일 상기 Z 값이 상기 선정된 배경 값이 아니라면, 상기 색 값은 기억 공간으로 복사되고 상기 Z 값은 클리어링되도록 배열된 상기 처리 수단 및 메모리를 포함하는 이미지 처리 시스템.
  10. 제 8 항 또는 제 9 항에 있어서,
    타일 버퍼 수단 및 제 1 및 제 2 출력 버퍼 수단을 더 포함하는 이미지 처리 시스템.
KR1020017002636A 1999-06-29 2000-06-27 Z-버퍼를 렌더링하기 위한 방법 및 장치 KR100701445B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9915012.0 1999-06-29
GBGB9915012.0A GB9915012D0 (en) 1999-06-29 1999-06-29 Z-buffering graphics system

Publications (2)

Publication Number Publication Date
KR20010073076A true KR20010073076A (ko) 2001-07-31
KR100701445B1 KR100701445B1 (ko) 2007-03-30

Family

ID=10856145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017002636A KR100701445B1 (ko) 1999-06-29 2000-06-27 Z-버퍼를 렌더링하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US6498606B1 (ko)
EP (1) EP1105846A1 (ko)
JP (1) JP2003503775A (ko)
KR (1) KR100701445B1 (ko)
GB (1) GB9915012D0 (ko)
WO (1) WO2001001351A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100793990B1 (ko) * 2006-09-18 2008-01-16 삼성전자주식회사 타일 기반 3차원 렌더링에서의 조기 z 테스트 방법 및시스템
KR100888537B1 (ko) * 2004-06-28 2009-03-11 마이크로소프트 코포레이션 이미지의 2 계층이며, 삼차원인 표현을 생성하기 위한 컴퓨터 구현 방법, 시스템 및 컴퓨터―판독가능 매체

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU767211B2 (en) * 2000-07-28 2003-11-06 Canon Kabushiki Kaisha Rendering page descriptions
AUPQ905800A0 (en) 2000-07-28 2000-08-24 Canon Kabushiki Kaisha Rendering page descriptions
US6885378B1 (en) * 2000-09-28 2005-04-26 Intel Corporation Method and apparatus for the implementation of full-scene anti-aliasing supersampling
US6903739B2 (en) * 2001-02-20 2005-06-07 Ati International Srl Graphic display system having a frame buffer with first and second memory portions
JP2003109032A (ja) * 2001-09-26 2003-04-11 Pioneer Electronic Corp 画像作成装置及びコンピュータプログラム
US6747657B2 (en) * 2001-12-31 2004-06-08 Intel Corporation Depth write disable for zone rendering
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
GB0220138D0 (en) * 2002-08-30 2002-10-09 Kaydara Inc Matte extraction using fragment processors
US20050057573A1 (en) * 2003-09-12 2005-03-17 Jeff Andrews Methods and systems for transparent depth sorting
US7030887B2 (en) * 2003-09-12 2006-04-18 Microsoft Corporation Methods and systems for transparent depth sorting
US6911985B1 (en) * 2003-12-10 2005-06-28 Lsi Logic Corporation Method and apparatus for reducing frame buffer size in graphics systems
US9218689B1 (en) * 2003-12-31 2015-12-22 Zilabs Inc., Ltd. Multi-sample antialiasing optimization via edge tracking
JP4933406B2 (ja) * 2007-11-15 2012-05-16 キヤノン株式会社 画像処理装置、画像処理方法
US8942473B2 (en) * 2012-07-25 2015-01-27 Ko Hung Lin Image processing method and display apparatus
US9324128B2 (en) * 2013-03-14 2016-04-26 Intel Corporation Techniques for improving rendering efficiency
CN113821896B (zh) * 2021-11-22 2022-03-01 南京南瑞信息通信科技有限公司 一种配电网拓扑数据动态加载方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517603A (en) 1991-12-20 1996-05-14 Apple Computer, Inc. Scanline rendering device for generating pixel values for displaying three-dimensional graphical images
US5493637A (en) * 1992-12-04 1996-02-20 Network Computing Devices, Inc. Video buffer recycling method and apparatus
US5561750A (en) 1994-09-22 1996-10-01 Seiko Epson Corporation Z-buffer tag memory organization
US5886701A (en) 1995-08-04 1999-03-23 Microsoft Corporation Graphics rendering device and method for operating same
GB9712684D0 (en) 1997-06-18 1997-08-20 Philips Electronics Nv Fast processing of image primitives

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100888537B1 (ko) * 2004-06-28 2009-03-11 마이크로소프트 코포레이션 이미지의 2 계층이며, 삼차원인 표현을 생성하기 위한 컴퓨터 구현 방법, 시스템 및 컴퓨터―판독가능 매체
KR100793990B1 (ko) * 2006-09-18 2008-01-16 삼성전자주식회사 타일 기반 3차원 렌더링에서의 조기 z 테스트 방법 및시스템
US8154547B2 (en) 2006-09-18 2012-04-10 Samsung Electronics, Co., Ltd. Method and system for early Z test in title-based three-dimensional rendering

Also Published As

Publication number Publication date
EP1105846A1 (en) 2001-06-13
KR100701445B1 (ko) 2007-03-30
US6498606B1 (en) 2002-12-24
WO2001001351A1 (en) 2001-01-04
JP2003503775A (ja) 2003-01-28
GB9915012D0 (en) 1999-08-25

Similar Documents

Publication Publication Date Title
US10552938B2 (en) Memory management for systems for generating 3-dimensional computer images
KR20010073076A (ko) Z-버퍼를 렌더링하기 위한 방법 및 장치
US6373482B1 (en) Method, system, and computer program product for modified blending between clip-map tiles
US5852443A (en) Method and system for memory decomposition in a graphics rendering system
Montrym et al. InfiniteReality: A real-time graphics system
US8115767B2 (en) Computer graphics shadow volumes using hierarchical occlusion culling
US6396503B1 (en) Dynamic texture loading based on texture tile visibility
US6064393A (en) Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline
US5886701A (en) Graphics rendering device and method for operating same
US5760783A (en) Method and system for providing texture using a selected portion of a texture map
US5880737A (en) Method and system for accessing texture data in environments with high latency in a graphics rendering system
US6016150A (en) Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers
Schaufler Per-object image warping with layered impostors
US6259461B1 (en) System and method for accelerating the rendering of graphics in a multi-pass rendering environment
US5898437A (en) Method for fast rendering of three-dimensional objects by generating lists of like-facing coherent primitives
US7091971B2 (en) System, method, and apparatus for multi-level hierarchical Z buffering
Corrêa et al. Out-of-core sort-first parallel rendering for cluster-based tiled displays
JP4047387B2 (ja) 立体画像ディスプレイ駆動装置
US20030218614A1 (en) Dynamically adjusting sample density in a graphics system
US9269180B2 (en) Computer graphics processor and method for rendering a three-dimensional image on a display screen
Govindaraju et al. Interactive shadow generation in complex environments
JP2004102998A (ja) グラフィック対象物をチャンク映像に変換し、かつ、映像層を結合して表示画像に換える方法、および、装置
JP2001118082A (ja) 描画演算処理装置
JPH11514118A (ja) 立体画像の発生
Schneider et al. Real-time rendering of complex vector data on 3d terrain models

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: 20130227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150227

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee