KR101661931B1 - 3차원 그래픽스 랜더링 장치 및 그 방법 - Google Patents

3차원 그래픽스 랜더링 장치 및 그 방법 Download PDF

Info

Publication number
KR101661931B1
KR101661931B1 KR1020100013432A KR20100013432A KR101661931B1 KR 101661931 B1 KR101661931 B1 KR 101661931B1 KR 1020100013432 A KR1020100013432 A KR 1020100013432A KR 20100013432 A KR20100013432 A KR 20100013432A KR 101661931 B1 KR101661931 B1 KR 101661931B1
Authority
KR
South Korea
Prior art keywords
data
area
next frame
frame
rendering
Prior art date
Application number
KR1020100013432A
Other languages
English (en)
Other versions
KR20110093404A (ko
Inventor
장경자
정석윤
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020100013432A priority Critical patent/KR101661931B1/ko
Priority to US12/860,479 priority patent/US8970580B2/en
Publication of KR20110093404A publication Critical patent/KR20110093404A/ko
Application granted granted Critical
Publication of KR101661931B1 publication Critical patent/KR101661931B1/ko

Links

Images

Classifications

    • 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/10Geometric effects
    • G06T15/20Perspective computation

Abstract

3차원 그래픽스 랜더링 장치 및 그 방법이 제공된다.
랜더링부는 현재프레임의 랜더링 데이터를 이전프레임의 랜더링 데이터를 이용하여 생성할 수 있다.
업데이트 준비부는 현재프레임의 객체정보 및 현재프레임의 랜더링 데이터 또는 다음프레임의 객체 정보를 이용하여, 다음프레임에서 업데이트될 스크린 영역을 예측하고, 현재프레임 또는 다음프레임으로부터 예측된 영역의 랜더링될 데이터를 추출할 수 있다.
랜더링부는 추출된 데이터를 랜더링하여 다음프레임 중 업데이트될 영역을 생성할 수 있다.

Description

3차원 그래픽스 랜더링 장치 및 그 방법{Method and Apparatus For Rendering 3D Graphics}
3차원 그래픽스 랜더링 장치 및 그 방법에 관한 것이며, 다음 프레임에서 업데이트될 영역을 예측하여 랜더링하여 랜더링 효율을 향상시키는 3차원 그래픽스 랜더링 장치 및 그 방법에 관련된 것이다.
최근 3차원 그래픽 데이터를 화면에 표시하는 디바이스가 각광받고 있다. 예를 들어, 모바일 디바이스에서 사용되는 UI(User Interface) 애플리케이션, e-book 애플리케이션, 인터넷 상의 쇼핑몰에서 사용되는 상품 시뮬레이션을 위한 애플리케이션 등이 적용되는 디바이스의 시장 규모가 확대되는 추세에 있다.
상술한 애플리케이션은 빠른 랜더링을 필요로 한다. 반면, 애플리케이션에 의해 표시되는 대부분의 장면(scene)들은 부분적인 변화가 자주 발생한다. 예를 들어, 모바일 디바이스에 다수의 아이콘들이 매트릭스 형태로 배열된 경우, 사용자는 한 행 또는 한 열만을 이동시킬 수 있으며, 이 때, 나머지 행 또는 열에 위치하는 아이콘들은 변화지 않는다.
그러나, 기존의 3차원 랜더링 기술은 장면이 바뀌어도 바뀐 장면의 3차원 그래픽 데이터를 모두 랜더링한다. 따라서, 상술한 모바일 디바이스의 경우, 사용자가 한 행에 위치하는 아이콘들을 좌측 또는 우측으로 쉬프트하는 경우, 모바일 디바이스는 쉬프트되지 않는 다른 행의 아이콘들도 함께 랜더링하여 표시한다. 즉, 기존에는 장면이 바뀔 때마다 모든 3차원 그래픽 데이터를 랜더링하므로, 랜더링하여 표시하는 데까지 중복된 작업을 수행하며, 많은 시간과 많은 메모리 공간을 필요로 한다.
현재프레임의 랜더링 데이터를 이전프레임의 랜더링 데이터를 이용하여 생성하는 랜더링부; 및 상기 현재프레임을 이루는 객체들의 객체정보 및 상기 현재프레임의 랜더링 데이터 또는 다음프레임의 객체 정보를 이용하여, 다음프레임에서 업데이트될 스크린 영역을 예측하고, 상기 현재프레임 또는 상기 다음프레임으로부터 상기 예측된 영역의 랜더링될 데이터를 추출하는 업데이트 준비부를 포함하며, 상기 랜더링부는 상기 추출된 데이터를 랜더링하여 상기 다음프레임 중 상기 업데이트될 영역을 생성하는 3차원 그래픽스 랜더링 장치가 제공된다.
상기 객체정보는 상기 각 객체 ID, 각 객체의 종류, 상기 각 객체의 데이터 또는 상기 각 객체 데이터의 변화정보를 포함한다.
상기 업데이트 준비부는, 상기 현재프레임의 객체들 중 현재 처리할 객체가 좌표, 위치 또는 회전이 변하는 동적 변화 객체이면, 상기 현재 처리할 객체에 대응하는 업데이트될 영역을 상기 현재프레임의 랜더링 데이터로부터 예측하는 업데이트 예측부; 및 상기 업데이트될 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출하여 준비하는 데이터 준비부를 포함한다.
상기 현재 처리할 객체가 상기 현재프레임에는 존재하며 상기 다음프레임에서는 존재하지 않는 객체이면, 상기 업데이트 예측부는 상기 업데이트될 영역에 속하는 객체에서 상기 현재 처리할 객체를 제거하며, 상기 데이터 준비부는 상기 현재 처리할 객체가 제거된 업데이트될 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출한다.
상기 랜더링부는, 상기 데이터 준비부에서 추출된 랜더링될 데이터를 래스터화한다.
상기 현재 처리할 객체가 상기 다음프레임에서 기하학 데이터가 변화하는 동적 변화 객체이면, 상기 현재 처리할 객체의 변화정보를 이용하여 상기 다음프레임에서 상기 현재 처리할 객체가 위치하는 영역을 산출하고, 상기 데이터 준비부는 상기 산출된 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출한다.
상기 랜더링부는, 상기 데이터 준비부에서 추출된 랜더링될 데이터 및 상기 현재 처리할 객체의 변화정보를 이용하여 기하학 처리 및 래스터화 처리를 수행한다.
상기 현재 처리할 객체의 변화정보는 상기 현재프레임과 상기 다음프레임간의 변화를 보여주는 변환정보 또는 애니메이션 path 정보 중 하나이다.
상기 기하학 처리된 데이터를 저장하는 저장부를 더 포함한다.
상기 기하학 처리된 데이터를 타일 비닝(Tile Binning)하여, 상기 기하학 처리된 데이터를 영역으로 분류하며, 상기 분류된 각 영역에 속하는 기하학 처리된 데이터를 상기 저장부로 출력하는 영역 분배기를 더 포함한다.
상기 업데이트 준비부는, 상기 현재프레임의 객체들 중 현재 처리할 객체가 컬러, 텍스쳐 또는 명암이 변하는 정적 변화 객체이면, 상기 현재 처리할 객체에 대응하는 업데이트 영역을 상기 현재프레임의 랜더링 데이터로부터 예측하는 업데이트 예측부; 및 상기 업데이트될 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출하여 준비하는 데이터 준비부를 포함한다.
상기 업데이트 예측부는 상기 현재프레임의 랜더링 데이터에서 상기 정적 변화 객체가 속하는 영역을 검색하고, 상기 검색된 영역을 상기 업데이트될 영역으로 예측한다.
상기 랜더링부는, 상기 데이터 준비부에서 추출된 랜더링될 데이터를 라이팅(lighting) 및 래스터화 또는 래스터화만한다.
상기 랜더링될 데이터는 객체 단위로 랜더링되는 객체 기반 랜더링 방법 또는 객체를 기하학 처리한 결과를 모아 영역 별로 랜더링하는 영역 또는 타일 기반 랜더링 방법 중 하나에 적용된다.
상기 업데이트 준비부는, 상기 현재프레임에 없으며 상기 다음프레임에서 새로 생성되는 객체는 동적 변화 객체로 판단하여 처리하며, 상기 다음프레임에서 업데이트될 영역을 상기 다음프레임의 객체의 변화정보를 이용하여 예측하는 업데이트 예측부; 및 상기 예측된 업데이트될 영역의 랜더링될 데이터를 상기 다음프레임으로부터 추출하여 준비하는 데이터 준비부를 포함한다.
상기 업데이트 예측부는, 상기 다음프레임에서 새로 생성되는 객체는 생성 객체로 판단하고, 상기 다음프레임의 객체의 변화정보를 이용하여 상기 다음프레임에서 상기 생성 객체가 위치하는 영역을 산출하고, 상기 데이터 준비부는 상기 산출된 영역의 랜더링될 데이터를 상기 다음프레임으로부터 추출한다.
상기 랜더링부는, 상기 데이터 준비부에서 추출된 랜더링될 데이터 및 상기 처리할 객체의 변화정보를 이용하여 기하학 처리 및 래스터화 처리를 수행한다.
고정 객체에 해당하는 영역은 이전프레임의 랜더링 데이터를 재사용한다.
상기 업데이트 준비부는 객체 정보와 장면 정보를 이용하여 상기 다음 프레임에서 처리될 객체와 상기 현재 프레임에서 처리한 객체를 비교하여 상기 처리될 객체의 종류를 구분한다.
한편, 현재프레임을 이루는 객체들의 정보인 객체정보 및 상기 현재프레임을 수신하는 단계; 상기 수신된 현재프레임의 랜더링 데이터를 이전프레임의 랜더링 데이터를 이용하여 생성하는 단계; 상기 수신된 현재프레임의 객체정보 및 상기 현재프레임의 랜더링 데이터 또는 다음프레임의 객체정보를 이용하여, 다음프레임에서 업데이트될 스크린 영역을 예측하는 단계; 상기 현재프레임 또는 상기 다음프레임으로부터 상기 업데이트될 영역에서 랜더링될 데이터를 추출하는 단계; 및 상기 추출된 데이터를 랜더링하여 상기 다음프레임 중 상기 업데이트될 영역을 생성하는 단계를 포함하는 3차원 그래픽스 랜더링 방법이 제공된다.
상기 예측하는 단계는, 상기 현재프레임의 객체들 중 현재 처리할 객체가 좌표, 위치 또는 회전이 변하는 동적 변화 객체이면, 상기 현재 처리할 객체에 대응하는 업데이트될 영역을 상기 현재프레임의 랜더링 데이터로부터 예측한다.
상기 예측하는 단계는, 상기 현재 처리할 객체가 상기 현재프레임에는 존재하며 상기 다음프레임에서는 존재하지 않는 객체이면, 상기 업데이트될 영역에 속하는 객체 데이터에서 상기 객체 데이터를 제거하며, 상기 추출하는 단계는, 상기 객체가 제거된 업데이트될 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출한다.
상기 랜더링하는 단계는, 상기 추출된 랜더링될 데이터를 래스터화한다.
상기 예측하는 단계는, 상기 현재 처리할 객체가 상기 다음프레임에서 기하학 데이터가 변화하는 동적 변화 객체이면, 상기 현재 처리할 객체의 변화정보를 이용하여 상기 다음프레임에서 상기 현재 처리할 객체가 위치하는 영역을 산출하며, 상기 추출하는 단계는, 상기 산출된 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출한다.
상기 랜더링하는 단계는, 상기 데이터 준비부에서 추출된 랜더링될 데이터 및 상기 현재 처리할 객체의 변화정보를 이용하여 기하학 처리 및 래스터화 처리를 수행한다.
상기 예측하는 단계는, 상기 현재프레임의 객체들 중 현재 처리할 객체가 컬러, 텍스쳐 또는 명암이 변하는 정적 변화 객체이면, 상기 현재프레임의 랜더링 데이터에서 상기 정적 변화 객체가 속하는 영역을 검색하고, 상기 검색된 영역을 상기 업데이트될 영역으로 예측하며, 상기 추출하는 단계는, 상기 업데이트될 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출한다.
상기 랜더링하는 단계는, 상기 추출된 랜더링될 데이터를 라이팅(lighting) 및 래스터화 또는 래스터화만한다.
상기 예측하는 단계는, 상기 현재프레임에 없었으나 상기 다음프레임에서 새로 생성되는 객체는, 동적 변화 객체로 판단하고, 상기 다음프레임에서 업데이트될 영역을 상기 다음프레임의 객체의 변화정보를 이용하여 예측한다.
상기 예측하는 단계는, 상기 다음프레임에서 새로 생성되는 객체는 생성 객체로 판단하고, 상기 다음프레임의 객체의 변화정보를 이용하여 상기 다음프레임에서 상기 처리할 객체가 위치하는 영역을 산출하며, 상기 추출하는 단계는, 상기 산출된 영역의 랜더링될 데이터를 상기 다음프레임으로부터 추출한다.
상기 랜더링하는 단계는, 상기 추출된 랜더링될 데이터 및 상기 처리할 객체의 변화정보를 이용하여 기하학 처리 및 래스터화 처리를 수행한다.
고정 객체에 해당하는 영역은 이전프레임의 랜더링 데이터를 재사용한다.
객체 정보와 장면 정보를 이용하여 상기 다음 프레임에서 처리될 객체와 상기 현재 프레임에서 처리한 객체를 비교하여 상기 처리될 객체의 종류를 구분하는 단계를 더 포함한다.
제안되는 실시예에 따르면, 새로운 프레임이 입력될 때마다 모든 버퍼를 클리어하지 않고 첫번째 프레임이 입력될 때만 버퍼 전체를 클리어함으로써 버퍼 클리어에 소요되는 시간을 줄일 수 있다.
또한, 제안되는 실시예에 따르면, 버퍼에 저장되는 데이터들을 영역 별로 나누어 저장함으로써 버퍼 클리어 영역을 최소화할 수 있다.
또한, 제안되는 실시예에 따르면, 다음프레임에서 업데이트되는 영역을 예측하고, 업데이트될 영역의 버퍼만 클리어함으로써, 업데이트되는 영역의 객체데이터를 랜더링함으로써, 버퍼 클리어와 랜더링에 소요되는 시간 및 연산량을 최소화하고, 저전력 환경에서도 랜더링을 할 수 있다.
또한, 제안되는 실시예에 따르면, 업데이트될 영역만 랜더링하고, 그 외 영역은 이전의 랜더링 결과를 사용하여 화면에 표시하므로, 랜더링 영역을 최소화하고, 따라서, 랜더링 처리속도를 향상시킬 수 있다.
도 1은 제안되는 실시예에 따른 3차원 그래픽스 랜더링 장치를 도시한 블록도,
도 2는 정적 변화 객체가 있는 영역에서 업데이트될 영역을 예측하는 실시예를 설명하기 위한 도면,
도 3은 정적 변화 객체가 있는 영역에서 업데이트될 영역을 예측하는 다른 실시예를 설명하기 위한 도면,
도 4는 타입 B의 동적 변화 객체가 있는 동적 변화 영역에서 업데이트될 영역을 예측하는 실시예를 설명하기 위한 도면,
도 5는 타입 C의 동적 변화 객체가 있는 동적 변화 영역에서 업데이트될 영역을 예측하는 실시예를 설명하기 위한 도면,
도 6은 제안되는 실시예에 따른 랜더링 방법을 간략히 설명하기 위한 흐름도,
도 7은 제안되는 실시예에 따른 랜더링 방법 중 첫번째 프레임을 랜더링하는 과정을 설명하기 위한 흐름도,
도 8은 제안되는 실시예에 따른 랜더링 방법 중 현재프레임을 이용하여 업데이트될 영역을 예측하는 과정을 설명하기 위한 흐름도,
도 9는 제안되는 다른 실시예에 따른 랜더링 방법 중 현재프레임을 이용하여 업데이트될 영역을 예측하는 과정을 설명하기 위한 흐름도이다.
도 10 및 도 11은 제안되는 실시예에 따른 동적 변화 영역의 랜더링될 데이터를 준비하는 과정을 설명하기 위한 흐름도,
도 12는 제안되는 실시예에 따른 정적 변화 영역의 랜더링될 데이터를 준비하는 과정을 설명하기 위한 흐름도,
도 13은 제안되는 실시예에 따른 업데이트될 영역 별 랜더링 방법을 설명하기 위한 흐름도, 그리고,
도 14는 객체 종류를 구분하는 방법을 설명하기 위한 흐름도이다.
이하, 제안되는 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 제안되는 실시예에 따른 3차원 그래픽스 랜더링 장치를 도시한 블록도이다.
도 1을 참조하면, 랜더링 장치(100)는 어플리케이션부(110), 업데이트 준비부(120), 랜더링부(130), 영역 분배기(140) 및 메모리(150)를 포함할 수 있다.
먼저, 도 1에서, 간격이 좁은 점선(예를 들어, 객체 정보 생성부와 객체 저장부 사이의 점선)은 첫번째 프레임 또는 현재 처리되는 프레임 또는 다음 프레임의 데이터 흐름에 대한 것이다.
이점쇄선(예를 들어, 업데이트 예측부와 객체 저장부 사이의 선)은 두 번째 프레임 또는 다음에 처리되는 다음프레임의 입력데이터의 흐름을 보여준다. 또한, 일점쇄선(예를 들어, 기하학 처리부와 제1기하학 저장부 사이의 선)은 두 번째 프레임 또는 다음에 처리되는 다음프레임에서 랜더링부로 입력되는 데이터의 흐름을 보여준다.
또한, 진한 실선(예를 들어, 기하학 처리부와 영역 분배기)은 랜더링부로부터 출력되는 출력데이터의 흐름을 보여준다. 또한, 간격이 큰 점선(예를 들어, 제1컬러 저장부와 제2컬러 저장부 사이의 선)은 업데이트 영역에 해당하는 데이터로서, 업데이트하기 위한 데이터 이동을 보여준다.
어플리케이션부(110)는 3차원 그래픽스 데이터를 생성하여 출력하며, 일 예로 프레임단위로 출력할 수 있다. 객체정보 생성부(111)는 각 프레임을 이루는 객체들의 정보인 객체정보를 생성할 수 있다. 객체는 원기둥, 육면체, 구와 같이 화면에 표시되는 다각형(polygon)일 수 있다. 또는 객체는 모델링 툴을 사용해 생성되는 다각형일 수 있다. 생성되는 객체정보는 메모리(150)의 객체 저장부(151)에 프레임 단위로 저장될 수 있다.
객체정보는 객체ID, 객체 데이터, 객체의 종류, 객체의 변화정보(기하학 데이터 변화 또는 컬러 데이터 변화) 및 컬러 계산에 필요한 데이터 중 적어도 하나를 포함할 수 있다. 객체 데이터는 예를 들어, 프레임을 구성하는 객체의 vertex의 좌표 및 normal 또는 texture 좌표 또는 컬러 또는 텍스쳐 등이 있으며, 객체의 종류는 동적 변화 객체, 정적 변화 객체 및 고정 객체, 생성 객체, 소멸 객체를 포함할 수 있다.
장면 정보는 프레임수, 시점 변화 정보 또는 씬 그래프 또는 shader 프로그램 등을 포함할 수 있다.
동적 변화 객체는 변환정보, 또는 경로(path)가 있는 애니메이션이 적용되는 객체로서, 좌표, 위치 또는 회전이 다음프레임에서 변하는 객체일 수 있다. 또한 동적 변화하면서, 컬러 값이 변하는 경우도 동적 변화 객체에 포함시킨다. 정적 변화 객체는, 객체의 좌표, 위치 또는 회전은 변하지 않고, 객체의 질감(material), 컬러, 텍스쳐(texture) 또는 명암(light)이 다음프레임에서 변하는 객체일 수 있다. 고정 객체는 다음프레임에서 변화없이 유지되는 객체일 수 있다.
생성 객체는 현재프레임에 없다가 다음프레임에 추가되는 객체일 수 있다. 소멸 객체는 현재프레임에 있다가 다음프레임에서 사라지는 객체일 수 있다. 생성 객체는 다음프레임에서 고정객체 또는 동적 변화 객체 또는 정적 변화 객체가 될 수 있다. 또한, 고정 객체 또는 동적 변화 객체 또는 정적 변화 객체가 다음 프레임에서 소멸 객체가 될 수 있다.
객체를 구분하는 방법은 애플리케이션부 또는 업데이트 준비부 중 업데이트 예측부 앞 단계에 위치할 수 있다. 객체 종류를 구분하는 방법은 도 14를 참조하여 자세히 후술한다.
객체의 변화정보는 객체가 다음프레임에서 변화되는 객체 데이터의 좌표, 위치 또는 회전 정보를 포함할 수 있으며, 변환정보(매트릭스 또는 벡터) 또는 애니메이션 패스(path)로 표현될 수 있다. 애니메이션 패스는 객체가 다음프레임에서 다른 위치에 표시되는 경우, 이동 경로에 대한 정보를 포함하며, (key, key value)로 표현될 수 있다. key는 시간이며, key value는 key 시점에서의 값(예를 들어, 좌표값)일 수 있다. 또한 컬러 값을 변화시키는 정보를 포함할 수 있다.
컬러 계산에 필요한 데이터는 컬러를 변화시켜 줄 데이터로서, texture 정보, lighting 정보 또는 변수 또는 상수를 포함할 수 있다.
한편, 어플리케이션부(110)로부터 출력되는 프레임이 첫번째 프레임(이하, '제1프레임'이라 한다)(f1)이면, 메모리(150)의 버퍼들은 컨트롤러(미도시)에 의해 클리어될 수 있다.
랜더링부(130)는 제1프레임(f1)을 이루는 어플리케이션 데이터, 예를 들어, 3D 객체 데이터를 랜더링하여 랜더링 데이터를 생성할 수 있다. 랜더링을 위하여 랜더링부(130)는 기하학 처리부(131) 및 래스터화부(133)를 포함할 수 있다.
기하학 처리부는 fixed pipeline의 기하학 연산부 또는 programmable shader pipeline에서의 vertex shader 부분을 포함할 수 있다. 래스터화부는 fixed pipeline의 래스터화부 또는 programmable shader pipeline에서의 fragment shader 부분을 포함할 수 있다. 3D 객체 데이터는 3D 삼각형의 정점데이터일 수 있다.
기하학 처리부(131)는 제1프레임(f1)을 기하학 처리(Geometry processing)하여 기하학 객체 데이터를 생성할 수 있다. 기하학 처리부(131)는 제1프레임(f1)의 모든 3D 객체를 트랜스포밍(transforming), 라이팅(lighting) 및 뷰포트 맵핑(viewport mapping)하여 기하학 데이터, 즉, 깊이(depth) 값을 갖는 2D 삼각형 데이터를 생성할 수 있다. 이하에서는, 기하학 객체 데이터를 기하학 데이터라 한다.
래스터화부(133)는 기하학 처리부(131)로부터 입력되는 깊이(depth) 값을 갖는 2D 삼각형 데이터, 예를 들어, 삼각형의 정점 데이터를 래스터화하여 제1프레임(f1)의 각 픽셀의 깊이값(depth)과 컬러값(color) 을 산출할 수 있다. 각 픽셀의 깊이 값은 각 fragment의 깊이 비교를 통해, 결정된다. 이 깊이 비교는 기하학 처리부에서 연산되거나 래스터화부에서 연산될 수 있다. 랜더링된 픽셀은 표시패널(160)에 표시된다.
영역 분배기(140)는 기하학 처리부(131)에서 생성된 기하학 데이터를 타일 비닝(Tile Binning)하여, 기하학 데이터를 영역으로 나눌 수 있다. 영역 분배기(140)는 기하학 데이터를 타일 단위로 분류된 스크린 영역과 교차(intersection) 검사하여, 각 영역에 속하는 기하학 데이터를 분류할 수 있다. 분류된 각 스크린 영역(이하, '영역'이라 한다) 및 각 영역에 위치하는 기하학 데이터는 제1기하학 저장부(152)에 저장될 수 있다. 기하학 데이터를 영역으로 나누어 저장하는 이유는 다음프레임을 랜더링할 경우, 클리어되는 버퍼 영역을 업데이트될 영역으로 최소화하기 위함이다.
메모리(150)는 랜더링 장치(100)에서 생성되는 데이터를 저장할 수 있다. 메모리(150)의 각 저장부(151~158)는 물리적으로 다르거나 하나의 저장매체에 위치할 수 있다. 메모리(150)는 논리적으로 도1의 150과 같이 구분할 수 있다.
객체 저장부(151)는 어플리케이션부(110)로부터 입력되는 매 프레임의 객체정보와 장면 정보를 저장할 수 있다.
제1기하학 저장부(152)는 영역 분배기(140)에서 분배된 현재프레임(f1)의 기하학 데이터를 각 영역 별로 저장할 수 있다. 제1기하학 저장부(152)는 geometry buffer일 수 있으며, 제1프레임(f1) 또는 현재프레임의 영역 별 기하학 데이터를 저장할 수 있다. 제1기하학 저장부(152)에 저장되는 정보는 각 영역의 ID, 좌표, 또는 영역의 크기, 각 영역에 위치하는 깊이(depth) 값을 갖는 2D 삼각형의 데이터, 또는 라이팅과 래스터화를 위한 객체 데이터, 각 영역에 위치하는 객체ID, 객체의 종류, 객체의 다음프레임에서의 변화정보(변환정보 또는 애니메이션 패스 정보 또는 컬러 데이터 변화 정보)를 포함할 수 있다.
제1깊이 저장부(153)는 기하학 처리부 또는 래스터화부(133)에서 생성되는 제1프레임(f1)의 각 픽셀의 깊이값을 저장할 수 있고, 제1컬러 저장부(154)는 래스터화부에서 생성되는 제1프레임(f1)의 각 픽셀의 컬러값을 저장할 수 있다. 제1깊이 저장부(153)는 깊이값을 저장하는 depth buffer과 제1컬러 저장부(154)는 컬러값을 저장하는 color buffer를 포함할 수 있다. 제1깊이 저장부(153)와 제1컬러 저장부(154)에는 제1프레임(f1) 또는 업데이트될 영역을 예측하기 위한 현재프레임의 깊이값과 컬러값이 저장될 수 있다.
업데이트 저장부(155)는 업데이트 준비부(120)에서 예측되는 업데이트될 영역과 관련된 정보, 업데이트될 영역의 랜더링될 데이터가 저장될 수 있다. 업데이트될 영역과 관련된 정보는 영역의 ID, 크기 또는 좌표, 영역의 변화, 업데이트될 영역에 속하는 객체ID, 객체 데이터, 변화정보, 또는, 컬러 계산에 필요한 데이터를 포함할 수 있다. 업데이트 저장부(155)에 저장되는 영역의 정보(특히, 영역에 속하는 객체 데이터)는 랜더링부(130)에서 랜더링되어 업데이트될 영역의 랜더링 데이터로 사용될 수 있다. 예를 들어, 업데이트될 영역의 랜더링 데이터는 제1프레임(f1) 또는 현재프레임의 데이터의 제1기하학 저장부 또는 제1깊이 저장부 또는 제1컬러 저장부(154)에서의 임의의 데이터가 재사용될 수 있다.
제2기하학 저장부(156)는 제2프레임(f2) 또는 다음프레임의 기하학 데이터를 저장할 수 있다. 제2프레임(f2) 중 제1프레임(f1)을 기준으로 변화가 발생한 영역의 객체 데이터는 기하학 처리부(131)에서 새로 기하학 처리되며, 변화가 발생하지 않은 영역은 제1프레임(f1)의 기하학 데이터를 재사용할 수 있다. 제2기하학 저장부(156)는 두번째 프레임인 제2프레임(f2) 또는 다음프레임의 영역 별 기하학 데이터를 저장할 수 있다.
제2깊이 저장부(157)는 업데이트될 영역의 객체 데이터에 대해 래스터화 결과(깊이값)을 저장할 수 있고, 제2컬러 저장부(158)는 업데이트될 영역의 객체 데이터에 대해 래스터화 결과(컬러값)를 저장할 수 있다.
또는, 스탠실 값 저장부(미도시)는 픽셀 당 1 바이트 값을 가지며, 픽셀의 깊이 값을 저장하는 깊이 버퍼와 컬러 값을 저장하는 컬러 버퍼와 함께 래스터 연산에 사용될 수 있다.
두번째 프레임은 첫번째 프레임의 랜더링 결과에서 업데이트 영역의 랜더링 결과(예를 들어, 컬러 값)만 복사해 LCD 패널에 그려줄 수 있다.
세번째 프레임인 제3프레임(f3)이 입력되면, 제1기하학 저장부(152)는 제2기하학 저장부(156)에 저장된 제2프레임(f2)의 기하학 데이터로 업데이트되며, 제1깊이 저장부(153)는 제2깊이 저장부(157)에 저장된 제2프레임(f2)의 깊이값으로 업데이트될 수 있고, 제1컬러 저장부(154)는 제2컬러 저장부(158)에 저장된 제2프레임(f2)의 컬러값으로 업데이트될 수 있다.
이하에서는 다음프레임이 입력되는 경우, 현재프레임을 이용하여 다음프레임에서 업데이트될 영역을 예측 및 랜더링하는 과정에 대해 설명한다. 또한, 다음프레임으로서 제2프레임(f2), 현재프레임으로서 제1프레임(f1)을 예로 들어 설명한다.
현재, 객체 저장부(151)에는 현재프레임(f1)을 이루는 객체의 객체정보가 저장되어 있으며, 제1기하학 저장부(152) 및 제1깊이 저장부(153) 및 제1컬러 저장부(154)에는 현재프레임(f1)과 관련된 기하학 데이터와 깊이값, 컬러값이 저장되어 있다.
어플리케이션부(110)는 다음프레임(f2)을 이루는 객체의 객체정보를 출력하며, 객체정보는 다음프레임(f2)의 객체정보를 저장할 수 있다.
업데이트 준비부(120)는 현재프레임(f1)의 객체정보 및 현재프레임(f1)의 랜더링 데이터 또는 다음프레임의 객체 정보를 이용하여, 다음프레임(f2)에서 업데이트될 스크린 영역(또는 타일)을 예측하고, 현재프레임(f1) 또는 다음프레임(f2)으로부터 예측된 영역의 랜더링될 객체 데이터를 추출할 수 있다. 이를 위하여, 업데이트 준비부(120)는 업데이트 예측부(121) 및 데이터 준비부(123)를 포함할 수 있다.
업데이트 예측부(121)는 객체 저장부(151)에 저장된 현재프레임(f1)의 객체정보 또는 다음프레임의 객체 정보를 읽어와 객체 단위로 예측할 수 있다. 업데이트 예측부(121)는 각 객체의 종류에 따라 업데이트될 영역을 예측할 수 있다. 업데이트 예측부(121)에는 객체 저장부(151)로부터 현재 처리할 객체 ID, 객체의 종류, 객체 데이터, 컬러 계산에 필요한 데이터 또는 변화정보(기하학 데이터 변화정보 또는 컬러 데이터 변화 정보 포함)가 입력되며, 제1기하학 저장부(152)로부터 현재프레임(f1)의 기하학 데이터가 입력될 수 있다.
입력되는 현재프레임(f1)의 기하학 데이터는 각 영역의 ID, 크기 또는 좌표, 영역의 종류, 각 영역과 교차하는 객체 데이터, 객체 ID, 변화정보, 또는, 컬러 계산에 필요한 데이터를 포함할 수 있다.
업데이트될 영역의 정보는 예측된 영역만 업데이트하는 정보로 사용될 수 있다. 업데이트될 영역의 정보는 영역의 ID, 크기 또는 좌표, 영역의 종류, 업데이트될 영역과 교차하는 객체 데이터, 객체 ID, 변화정보, 또는, 컬러 계산에 필요한 데이터를 포함할 수 있다.
업데이트 예측부(121)는 현재프레임(f1)의 객체들 중 현재 처리할 객체가 고정 객체인 것으로 확인되면, 현재 처리할 객체에 대응하는 영역은 다음프레임(f2)에서 유지될 영역인 것으로 판단하고, 다음 객체의 업데이트될 영역을 예측할 수 있다.
또한, 고정 객체는 다음프레임(f2)에서 변화될 객체가 아니므로, 표시패널(160)에 표시 시, 현재프레임(f1)에서 기산출된 기하학 데이터 또는 컬러값과 깊이값을 재사용할 수 있다.
[표 2]에 업데이트될 영역에서 업데이트될 객체 데이터의 종류를 타입 A, B, C로 구분해서 설명하였다.
한편, 업데이트 예측부(121)는 현재프레임(f1)의 객체들 중 현재 처리할 객체가 동적 변화 객체이고, 다음프레임(f2)에서 기하학 데이터가 변화하는 것으로 확인되면, 현재 처리할 객체가 타입 C인 것으로 판단할 수 있다. 객체의 변화정보가 있으면, 업데이트 예측부(121)는 현재 처리할 객체가 다음프레임(f2)에서 다른 위치에 표시되는 객체인 것으로 판단할 수 있다.
업데이트 예측부(121)는 현재 처리할 객체(즉, 동적 변화 객체)가 속하는 영역을 현재프레임(f1)의 기하학 데이터에서 검색하고, 다음프레임(f2)에서 현재 처리할 객체가 표시될 영역을 변화정보를 이용하여 검색할 수 있다. 업데이트 예측부(121)는 검색된 영역들을 업데이트될 영역으로 판단하고, 판단된 업데이트될 영역을 현재프레임(f1)의 기하학 데이터로부터 예측할 수 있다.
자세히 설명하면, 현재 처리할 객체의 변화정보가 변환정보이면, 업데이트 예측부(121)는 객체의 변환정보를 이용하여, 객체가 다음프레임(f2)에서 위치하는 좌표를 산출할 수 있다. 업데이트 예측부(121)는 산출된 좌표를 현재프레임(f1)에 투영시켜 교차되는 영역을 산출할 수 있다. 따라서, 산출된 교차되는 영역이 업데이트될 영역이 된다. 또한, 사라지는 객체가 속하는 영역의 랜더링될 데이터(예를 들어, 상기 동적 변화 객체가 현재프레임에 속하는 영역의 랜더링 될 데이터)는 타입 B와 관련되므로, 상세한 설명은 타입 B에서 한다.
데이터 준비부(123)는 업데이트 예측부(121)에서 산출된 교차되는 영역의 정보를 이용하여 현재프레임(f1) 또는 다음프레임(f2)에서 랜더링될 데이터를 추출할 수 있다. 교차되는 영역의 정보는 현재프레임(f1)에 있지만, 위치 변화 또는 회전 변화 또는 좌표 변화하는 객체를 포함하므로, 데이터 준비부(123)는 현재프레임(f1)에서 기하학 연산 결과 좌표에 변환정보를 적용하여, 3D 객체 데이터를 계산해 추출할 수 있다.
도 5는 타입 C의 동적 변화 객체가 있는 영역에서 업데이트될 영역을 예측하는 실시예를 설명하기 위한 도면이다. 도 5를 참조하면, 현재프레임(f1)과 다음프레임(f2) 중 동적 변화 객체(C)는 구(E, F)로서, 구(E)는 다음프레임(f2)에서 사라지며, 구(F)의 위치로 이동한다. 현재 처리할 객체의 변화정보는 구(E)가 구(F)의 위치로 이동하는데 필요한 정보이다. 구(E)가 사라지는 것은 도 4를 예로 들어 설명하였으므로 상세한 설명은 생략한다.
업데이트 예측부(121)는 변화정보를 이용하여, 현재프레임(f1)에서 구(E,)가 다음프레임(f2)의 영역(23, 24, 33, 34)로 이동할 것으로 판단하고, 영역(23, 24, 33, 34)이 업데이트될 영역인 것으로 예측할 수 있다.
데이터 준비부(123)는 예측된 영역(23, 24, 33, 34)의 정보 중 객체 데이터의 정보는 구(E)의 정보와 동일하므로, 예측된 영역(23, 24, 33, 34)의 ID, 크기 또는 좌표, 영역의 종류, 영역과 교차하는 객체 데이터, 컬러 계산에 필요한 데이터인 컬러변화정보, 변화정보를 현재프레임(f1)의 랜더링된 데이터로부터 획득할 수 있다. 영역과 교차하는 객체 데이터는 현재프레임(f1)에 표시된 구(E)의 객체 데이터일 수 있다.
한편, 업데이트 예측부(121)는 구(F)가 현재프레임(f1)에는 없으나 다음프레임(f2)에서 추가되는 것을 영역(23, 24, 33, 34)의 변화정보를 이용하여 예측할 수 있다. 데이터 준비부(123)는 예측된 영역(23, 24, 33, 34)에 위치하는 3D 객체 데이터를 다음프레임(f2)으로부터 추출하여 랜더링할 데이터를 준비할 수 있다. 준비되는 3D 객체 데이터는 객체의 ID, 종류, 변화정보, 컬러계산에 필요한 정보를 포함할 수 있다.
상술한 타입 C의 동적 변화 객체의 경우, 객체 데이터의 위치 이동 또는 회전 변화 또는 좌표 변화가 있으며, 컬러 데이터 변화가 있을 수 있으므로, 랜더링부(130)는 추출된 각 영역의 3D 객체 데이터(즉, 랜더링할 데이터)를 트랜스포밍, 라이팅, 뷰포트매핑 및 래스터화할 수 있다.
한편, 업데이트 예측부(121)는 현재프레임(f1)의 객체들 중 현재 처리할 객체가 동적 변화 객체인 것으로 확인되면, 현재 처리할 객체에 대응하는 영역이 업데이트될 영역인 것으로 판단하고, 업데이트될 영역을 현재프레임(f1)의 기하학 데이터로부터 예측할 수 있다.
자세히 설명하면, 업데이트 예측부(121)에는 객체 저장부(151)로부터 현재 처리할 객체의 종류(예를 들어, 동적 변화 객체), 객체 데이터 또는 변화정보가 입력되며, 제1기하학 저장부(152)로부터 현재프레임(f1)의 기하학 데이터가 입력될 수 있다. 또한 다음프레임에서 객체정보(vertex 정보 포함) 또는 객체 변화 정보가 입력 될 수 있다.
다음프레임에서, 객체의 vertex 좌표가 0이거나 객체 변화 정보가 0이면, 다음프레임에서 상기 객체는 사라질 소멸 객체일 수 있다.
다음프레임에서, 객체의 vertex 좌표가 0이 아니고, 객체 변화 정보가 0이 아니면, 현재프레임의 객체의 변환정보를 이용해, 객체가 다음프레임(f2)에서 위치하는 vertex 좌표를 산출할 수 있다. 업데이트 예측부(121)는 산출된 좌표를 현재프레임(f1)에 투영시켜 교차 영역을 산출할 수 있다. 현재프레임(f1)에서의 영역과 다르면, 현재 처리할 객체는 현재프레임(f1)에 존재하며, 다음프레임(f2)에서는 이동될 객체일 수 있다. 이 때, 현재프레임에서 현재 처리할 객체가 위치하는 영역의 객체 데이터가 다음프레임에서는 소멸될 것이며, 현재프레임에서 현재 처리할 객체가 속하는 영역은 타입 B 데이터를 포함할 수 있다.
또한 상기 다음프레임에서 위치할 vertex 좌표 값을 상기 현재프레임의 vertex 좌표 값 비교해서 다를 경우, 좌표 값을 투영한 결과(영역)가 현재프레임(f1)에서의 영역과 같거나 영역을 포함하면, 회전변화 또는 좌표변화 하는 동적 변화 객체일 수 있으며, 현재 처리할 객체가 속하는 영역은 타입 C 영역일 수 있다. 따라서, 타입 C 영역으로 처리한다.
또한 상기 다음프레임에서 위치할 vertex 좌표 값이 현재프레임(f1)에서의 vertex 좌표 값과 같고, 투영된 영역도 같으면, 정적 변화 객체일 수 있으며, 변화정보가 컬러 데이터 변화 정보이면, 정적 변화 영역으로 처리한다. 또한 좌표 변화도 없고, 컬러 변화도 없으면, 고정 객체 영역으로 처리한다.
동적 변화 객체 중 타입 B인 객체가 있는 영역을 처리하는 방법을 살펴본다. 현재프레임(f1)의 기하학 데이터는 각 영역의 ID, 크기 또는 좌표, 영역의 종류, 각 영역과 교차하는 객체ID, 객체 데이터, 변환정보(매트릭스) 또는 애니메이션 패스 정보, 컬러 계산에 필요한 데이터를 포함할 수 있다. 컬러 계산에 필요한 데이터는 컬러 변화정보도 포함할 수 있다. 그래서, 컬러 데이터가 변하지 않는 경우와 컬러 데이터가 변하는 경우 모두 포함할 수 있다.
업데이트 예측부(121)는 현재 처리할 객체가 속하는 영역을 현재프레임(f1)의 기하학 데이터에서 검색하고, 검색된 영역을 업데이트될 영역으로 예측할 수 있다. 업데이트 예측부(121)는 현재 처리할 객체가 타입 B의 객체이면, 업데이트될 영역에 속하는 임의의 객체(고정 객체 또는 정적 변화 객체 또는 동적 변화 객체 포함)에서 현재 처리할 객체 데이터를 제거하여 업데이트될 영역의 객체 데이터 세트를 변경할 수 있다.
데이터 준비부(123)는 현재 처리할 객체가 제거된 업데이트될 영역의 랜더링될 데이터를 현재프레임(f1) 또는 다음프레임(f2)으로부터 추출할 수 있다. 데이터 준비부(123)는 데이터 예측부(121)에서 예측된 업데이트될 영역의 정보를 이용하여 현재프레임(f1) 또는 다음프레임(f2)에서 랜더링될 데이터를 추출할 수 있다. 업데이트될 영역의 정보는 예측된 영역만 업데이트하는 정보로 사용될 수 있다. 업데이트될 영역의 정보는 영역의 ID, 크기 또는 좌표, 영역의 종류, 업데이트될 영역과 교차하는 객체ID, 객체 데이터, 변화정보 또는, 컬러 계산에 필요한 데이터를 포함할 수 있다.
도 4는 소멸 객체(예를 들어, 동적 변화 객체가 다음프레임에서 사라지는 경우)가 있는 타입 B인 경우 업데이트될 영역을 예측하는 실시예를 설명하기 위한 도면이다. 도 4를 참조하면, 현재프레임(f1)과 다음프레임(f2) 중 동적 변화 객체(C)는 구(sphere)로서, 다음프레임(f2)에서 사라짐을 알 수 있다.
업데이트 예측부(121)는 현재프레임(f1)에서 현재 처리할 객체가 동적 변화 객체이며, 변화정보가 있으면, 객체의 변환정보를 이용해, 객체가 다음프레임(f2)에서 위치하는 좌표 값을 산출할 수 있다. 업데이트 예측부(121)는 산출된 좌표 값을 현재프레임(f1)에 투영시켜 교차 영역을 산출할 수 있다. 현재프레임(f1)에서의 영역과 다르면, 현재 처리할 객체는 현재프레임(f1)에 존재하며 다음프레임(f2)에서 객체(C)가 사라지는 것으로 판단하고, 객체(C)가 속하는 영역(31, 32, 41, 42)이 업데이트될 영역인 것으로 예측할 수 있다. 이 때, 업데이트 예측부(121)는 업데이트될 영역(31, 32, 41, 42)에 속하는 객체 데이터 세트에서 현재 처리할 객체의 데이터 세트를 제거하여 업데이트될 영역의 객체 데이터 세트를 변경할 수 있다.
데이터 준비부(123)는 예측된 영역(31, 32, 41, 42)의 정보를 이용하여, 업데이트될 랜더링될 데이터를 현재프레임(f1)의 기하학 데이터로부터 추출함으로써, 랜더링에 필요한 데이터를 준비할 수 있다. 준비되는 데이터, 현재 처리할 객체가 속하는 영역의 ID, 크기 또는 좌표, 영역의 종류, 영역과 교차하는 객체 데이터, 컬러 계산에 필요한 데이터인 컬러변환정보, 변화정보를 포함할 수 있다.
타입 B의 객체의 경우, 객체의 기하학 데이터의 변화가 없으므로, 랜더링부(130)는 추출된 각 영역의 객체 데이터를 래스터화할 수 있다. 이로써, 랜더링 과정 중 기하학 처리는 생략될 수 있다.
한편, 업데이트 예측부(121)는 현재프레임(f1)의 객체들 중 현재 처리할 객체가 정적 변화 객체인 것으로 확인되면, 현재 처리할 객체에 대응하는 영역이 업데이트될 영역인 것으로 판단하고, 업데이트될 영역을 현재프레임(f1)의 랜더링된 데이터로부터 예측할 수 있다.
자세히 설명하면, 업데이트 예측부(121)에는 객체 저장부(151)로부터 현재 처리할 객체의 종류(정적 변화 객체), 객체ID, 객체 데이터 또는 컬러변화정보가 입력될 수 있다. 이 때, 현재 처리할 객체는 정적 변화 객체이므로 현재 처리할 객체가 속하는 영역은 타입 B 객체 데이터를 포함할 수 있다. 객체의 컬러변화정보는 컬러값을 직접 변화시키는 경우, 텍스쳐 이미지를 변화시키는 경우 또는 라이팅 성분을 변화시키는 경우 중 하나에 대한 변화정보일 수 있다.
업데이트 예측부(121)는 현재프레임(f1)의 기하학 데이터 중 현재 처리할 객체(즉, 정적 변화 객체)가 속하는 영역을 검색하고, 검색된 영역을 업데이트될 영역으로 예측할 수 있다.
데이터 준비부(123)는 예측된 업데이트될 영역의 랜더링될 데이터를 현재프레임(f1) 또는 다음프레임(f2)으로부터 추출하여 준비할 수 있다. 데이터 준비부(123)는 업데이트될 영역의 정보를 이용하여 랜더링될 데이터를 현재프레임(f1) 또는 다음프레임(f2)에서 추출할 수 있다.
도 2는 정적 변화 객체가 있는 영역에서 업데이트될 영역을 예측하는 실시예를 설명하기 위한 도면이다. 도 2를 참조하면, 현재프레임(f1)과 다음프레임(f2)의 기하학 데이터는 변화가 없다. 그러나, 현재프레임(f1)과 다음프레임(f2) 중 정적 변화 객체의 컬러값은 라이팅에 의해 변화됨을 알 수 있다. 업데이트 예측부(121)는 현재프레임(f1)에서 현재 처리할 객체가 정적 변화 객체이면, 그 객체가 속하는 영역, 즉, 영역번호 11, 12, 21, 22, 23, 30, 31, 32, 33, 40, 41, 42이 업데이트될 영역인 것으로 예측할 수 있다.
데이터 준비부(123)는 예측된 영역(11, 12, 21, 22, 23, 30, 31, 32, 33, 40, 41, 42)의 랜더링될 데이터를, 업데이트될 영역의 정보를 이용하여 현재프레임(f1)의 기하학 데이터로부터 추출하여 랜더링될 데이터를 준비할 수 있다. 준비되는 데이터는 현재 처리할 객체가 속하는 영역의 ID, 크기 또는 좌표, 영역의 종류, 영역과 교차하는 객체 데이터, 컬러변화정보를 포함할 수 있다.
정적 변화 객체의 경우, 객체의 기하정보 변화(위치 이동 또는 좌표 변화 또는 회전 변화)이 없으므로, 랜더링부(130)는 추출된 각 영역의 객체 데이터를 라이팅(lighting) 및 래스터화(Rasterization)할 수 있다. 이로써 랜더링 과정 중 트랜스포밍 과정이 생략될 수 있다.
도 3은 정적 변화 객체가 있는 영역에서 업데이트될 영역을 예측하는 다른 실시예를 설명하기 위한 도면이다. 도 3을 참조하면, 현재프레임(f1)과 다음프레임(f2) 중 정적 변화 객체의 컬러값은 텍스쳐 또는 질감(material) 특성에 의해 변화됨을 알 수 있다. 업데이트 예측부(121)는 현재프레임(f1)에서 현재 처리할 객체가 정적 변화 객체이면, 그 객체가 속하는 영역(31, 32, 41, 42)이 업데이트될 영역인 것으로 예측할 수 있다.
데이터 준비부(123)는 예측된 영역(31, 32, 41, 42)의 정보를 이용하여, 현재프레임(f1)의 기하학 데이터로부터 업데이트될 영역의 랜더링될 데이터를 추출함으로써, 랜더링할 객체 데이터를 준비할 수 있다. 준비되는 데이터는 현재 처리할 객체가 속하는 영역의 ID, 크기 또는 좌표, 영역의 종류, 영역과 교차하는 객체 데이터, 컬러변화정보를 포함할 수 있다.
정적 변화 객체의 경우, 객체의 기하학 데이터의 변화가 없으므로, 랜더링부(130)는 추출된 각 영역의 객체 데이터를 래스터화할 수 있다.
상술한 과정에 의해 생성되는 다음프레임(f2) 중 업데이트될 모든 영역의 랜더링된 데이터는 제2기하학 저장부(156) 및 제2깊이 저장부(157) 및 제2컬러 저장부(158)에 저장될 수 있다. 업데이트될 모든 영역의 랜더링이 완료되면, 제1기하학 저장부(152)에 저장된 현재프레임(f1)의 기하학 데이터 중 일부는 제2기하학 저장부(156)에 저장된 다음프레임(f2) 중 업데이트될 영역들의 랜더링 데이터로 업데이트될 수 있다. 이로써, 제1기하학 저장부(152)에는 다음프레임(f2)의 기하학 데이터가 저장될 수 있다.
또한, 업데이트될 모든 영역의 랜더링이 완료되면, 제1깊이 저장부(153)에 저장된 현재프레임(f1)의 깊이값과 제1컬러 저장부(154)에 저장된 컬러값 중 일부는 제2기하학 저장부(156)에 저장된 다음프레임(f2) 중 업데이트될 영역들의 깊이값과 컬러값으로 업데이트될 수 있다. 이로써, 제1깊이 저장부(153)에는 다음프레임(f2)의 깊이값과 제1컬러 저장부(154)에는 다음프레임(f2)의 컬러값이 저장될 수 있다.
제1기하학 저장부(152)와 제1깊이 저장부(153)와 제1컬러 저장부(154)에 저장되는 데이터들은 다음프레임의 랜더링 결과에 재사용될 수 있으며, 업데이트될 영역만 랜더링할 수 있다. 따라서, 랜더링에 필요한 시간과 연산량을 최소화할 수 있다.
이하, 상기와 같이 구성된 3차원 그래픽스 랜더링 장치의 랜더링 방법을 아래에서 도면을 참조하여 설명한다.
도 6은 제안되는 실시예에 따른 랜더링 방법을 간략히 설명하기 위한 흐름도이다.
610단계에서, 현재프레임 및 현재프레임을 이루는 객체들의 정보인 객체정보가 수신될 수 있다.
620단계에서, 수신된 현재프레임의 랜더링 데이터 가 이전프레임의 랜더링 데이터를 이용하여 생성될 수 있다.
630단계에서, 수신된 현재프레임의 객체정보 및 현재프레임의 랜더링 데이터 또는 다음프레임에서의 객체의 정보를 이용하여, 다음프레임에서 업데이트될 스크린 영역이 예측될 수 있다.
640단계에서, 예측된 영역의 랜더링될 데이터를 현재프레임 또는 다음프레임으로부터 추출할 수 있다.
650단계에서, 추출된 데이터를 랜더링하여 다음프레임 중 업데이트될 영역의 객체를 생성할 수 있다.
도 7은 제안되는 실시예에 따른 랜더링 방법 중 첫번째 프레임을 랜더링하는 과정을 설명하기 위한 흐름도이다. 이하에서는 현재프레임의 일 예로서 첫번째 프레임, 다음프레임의 일 예로서 두번째 프레임을 사용하며, 이에 제안되는 실시예의 적용이 한정되지 않음은 물론이다.
710단계에서, 어플리케이션부(110)로부터 현재프레임(f1)의 객체정보가 출력되면, 객체 저장부(151)는 현재프레임(f1)의 객체정보를 저장할 수 있다.
720단계에서, 메모리(150)의 버퍼들(예를 들어, 152~158) 모두 클리어될 수 있다.
730단계에서, 기하학 처리부(131)는 현재프레임(f1)을 이루는 3D 객체를 기하학 처리하여 2D 삼각형 데이터인 기하학 데이터를 생성하고, 제1기하학 저장부(152)에 저장할 수 있다. 730단계에서, 생성된 기하학 데이터는 영역 분배기(140)에서 영역 별로 분배되어 제1기하학 저장부(152)로 입력될 수 있다.
740단계에서, 래스터화부(133)는 730단계로부터 입력되는 2D 삼각형 데이터를 래스터화하여 현재프레임(f1)의 각 픽셀의 깊이값(depth)과 컬러값(color)을 산출하고, 산출된 깊이값과 컬러값을 제1깊이컬러 저장부(153)에 저장할 수 있다.
한편, 제안되는 실시예에 따르면, 랜더링 방법은 객체를 기하학 처리한 결과를 모아 영역 별로 랜더링 하는 방법(영역 또는 타일 기반 랜더링 방법)과 객체 단위로 랜더링하는 방법(객체 기반 랜더링 방법)을 지원할 수 있다.
도 8은 제안되는 실시예에 따른 랜더링 방법 중 현재프레임을 이용하여 업데이트될 영역을 예측하는 과정을 설명하기 위한 흐름도이다. 도 8은 영역 단위로 랜더링하는 방법에 관한 것이다.
800단계에서, 객체 저장부(151)에 저장된 현재프레임(f1)의 각 객체의 객체정보와 제1기하학 저장부(152)에 저장된 현재프레임(f1)의 기하학 객체 데이터는 업데이트 예측부(121)로 입력될 수 있다. 객체정보는 객체의 종류, 객체 데이터 또는 컬러변화정보 또는 기하학 변화정보를 포함할 수 있다.
810단계에서, 업데이트 예측부(121)는 현재 처리할 객체의 종류가 고정 객체가 아닌 것으로 확인되면, 820단계에서 동적 변화 객체인지 확인할 수 있다.
확인 결과 동적 변화 객체이면, 830단계에서, 업데이트 예측부(121)는 동적 변화 객체에 대응하는 업데이트될 영역을 예측할 수 있다.
확인 결과 정적 변화 객체이면, 840단계에서, 업데이트 예측부(121)는 정적 변화 객체에 대응하는 업데이트될 영역을 예측할 수 있다.
830단계 및 840단계에서 예측되는 업데이트될 영역의 정보는 예측된 영역만 업데이트하는데 사용되는 정보로서, 영역의 ID, 크기 또는 좌표, 영역의 종류, 업데이트될 영역과 교차하는 객체 데이터, 변화정보, 또는, 컬러 계산에 필요한 데이터를 포함할 수 있다.
850단계에서, 데이터 준비부(123)는 업데이트될 영역들의 객체 데이터를 병합하여 랜더링할 데이터를 준비할 수 있다. [표 1]은 하나의 업데이트될 영역에서 병합되는 객체의 타입과 그에 대응하여 준비되는 랜더링할 데이터의 예를 보여준다.
하나의 업데이트될 영역에서 병합되는
객체의 타입
준비되는 랜더링할 데이터
1 생성 객체 (예를 들어, id N이라 하자)
생성 객체: 고정객체, 동적 변화 객체, 정적 변화 객체가 될 수 있음
객체 데이터(id N인 데이터)가 추가됨
2 고정객체 (예를 들어, id N이라 하자)
(예: 고정 객체가 처음 생성될 경우)
고정객체(id N인)에 해당하는 랜더링 결과(기하학 버퍼, 깊이 버퍼, 컬러 버퍼)를 재사용함
3 정적 변화 객체 (예를 들어, id N이라 하자)
(예: 이전 프레임에 정적 변화 객체가 기하학 데이터 연산 결과는 같으나, 컬러 가 변화된 경우)
이전프레임의 정적 변화 객체(id N인)에 해당하는 기하학 연산 데이터를 사용함
4 동적 변화 객체 (예를 들어, id N이라 하자)
(예: 이전프레임의 동적 변화 객체가 다음프레임에서는 기하학 데이터가 변화되어, 이전프레임에 있던 영역을 포함하거나 다른 영역으로 변한 경우)
동적 변화 객체 데이터(id N인 데이터)가 추가됨
5 소멸 객체 (이전 프레임에 있다가 다음 프레임에서 없어지는 객체, 예를 들어, id N이라 하자)
(예: 이전 프레임에 객체(고정객체 또는 동적 변화 객체 또는 정적 변화 객체 일 수 있음)가 있다가 다음 프레임에서 없어지는 경우)
객체 데이터(id N인 데이터) 지움, 지워진 객체 데이터에 의해 가려졌던 데이터가 랜더링됨
영역에서 랜더링될 객체 데이터 종류 이전프레임 연산 결과 재사용 측면 랜더링 연산량 측면 영역에 해당하는 객체 데이터
타입A 기하학 연산 결과, 깊이 버퍼, 컬러버퍼 모두 재사용 가능 추가 연산 없음 고정 객체 데이터
타입B 기하학 연산 결과만 재사용 가능 래스터 연산 필요 정적 변화 객체 데이터,
소멸 객체 데이터(동적 변화 객체 중 현재프레임의 영역의 객체 데이터)
타입C 기하학 연산 결과만 재사용 가능 또는 기하학 연산부터 계산 필요 래스터 연산 또는 기하학 연산 및 래스터 연산 필요 동적 변화 객체(다음프레임에서 변화될 객체가 위치할 영역에 속한 객체 데이터), 생성 객체가 위치할 영역의 객체 데이터
860단계에서, 모든 객체에 대해 업데이트될 영역이 예측되면, 870단계에서, 랜더링부(130)는 업데이트될 영역의 랜더링될 데이터를 랜더링할 수 있다.
반면, 860단계에서, 모든 객체에 대해 수행되지 않은 경우, 880단계에서 다음 객체로 이동하여 810단계 내지 880단계가 동작될 수 있다.
도 9는 제안되는 다른 실시예에 따른 랜더링 방법 중 현재프레임을 이용하여 업데이트될 영역을 예측하는 과정을 설명하기 위한 흐름도이다. 도 9는 객체 단위로 랜더링하는 방법에 관한 것으로서, 도 8의 800단계 내지 840단계와 도 9의 900단계 내지 940단계는 동일하다.
다만, 950단계에서, 랜더링부(130)는 업데이트 될 영역에서 객체 단위로 데이터를 랜더링할 수 있다.
960단계에서, 모든 객체에 대한 랜더링이 완료되지 않은 경우, 970단계에서 다음 객체로 이동하여 900단계 내지 970단계가 동작될 수 있다.
도 10은 제안되는 실시예에 따른 동적 변화 영역의 랜더링될 데이터를 준비하는 과정을 설명하기 위한 흐름도이다.
1010단계에서, 업데이트 예측부(121)는 현재프레임(f1)의 객체들 중 현재 처리할 객체가 타입 B의 동적 변화 객체인지 확인할 수 있다. 타입 B의 동적 변화 객체는 이전 프레임에 있다가 다음 프레임에서 없어지는 객체이다.
타입 B의 동적 변화 객체로 확인되면, 1020단계에서, 업데이트 예측부(121)는 현재 처리할 객체(동적 변화 객체)가 속하는 영역을 현재프레임(f1)의 기하학 데이터에서 검색할 수 있다.
1030단계에서, 업데이트 예측부(121)는 검색된 영역을 업데이트될 영역으로 예측할 수 있다.
1040단계에서, 업데이트 예측부(121)는 업데이트될 영역에 속하는 객체 데이터에서 현재 처리할 객체(동적 변화 객체)를 제거하여 업데이트될 영역의 객체 세트를 변경할 수 있다.
1050단계에서, 데이터 준비부(123)는 현재 처리할 객체가 제거된 업데이트될 영역의 랜더링될 데이터를 현재프레임(f1) 또는 다음프레임(f2)으로부터 추출할 수 있다. 업데이트될 영역의 정보는 영역의 ID, 크기 또는 좌표, 영역의 종류, 업데이트될 영역과 교차하는 객체ID, 객체 데이터, 변화정보, 또는, 컬러 계산에 필요한 데이터를 포함할 수 있다.
한편, 1010단계에서 판단된 타입이 B가 아니면 업데이트 예측부는 1110단계로 진입할 수 있다.
도 11은 제안되는 다른 실시예에 따른 동적 변화 영역의 랜더링될 데이터를 준비하는 과정을 설명하기 위한 흐름도이다.
1110단계에서, 업데이트 예측부(121)는 현재프레임(f1)의 객체들 중 현재 처리할 객체가 타입 C이면, 1120단계에서, 업데이트 예측부(121)는 현재 처리할 객체의 변화정보가 변환정보인지 확인할 수 있다. 타입 C 객체는 이전 프레임에는 없다가 다음 프레임에서 생성되는 동적 변화 객체이다.
변환정보이면, 1130단계에서, 업데이트 예측부(121)는 객체에 대한 변환정보를 이용하여, 객체가 다음프레임(f2)에서 위치할 좌표를 산출할 수 있다.
1140단계에서, 업데이트 예측부(121)는 산출된 좌표의 영역을 현재프레임(f1)에 투영시켜 교차되는 영역을 확인할 수 있다.
반면, 1150단계에서 객체의 변화정보가 애니메이션 패스에 대한 정보이면, 1160단계에서, 업데이트 예측부(121)는 애니메이션 패스의 Key value를 이용하여 다음프레임(f2)에서 객체가 위치할 좌표를 산출할 수 있다.
1170단계에서, 업데이트 예측부(121)는 산출된 좌표의 영역을 현재프레임(f1)에 투영시켜 교차되는 영역을 확인할 수 있다.
1180단계에서, 업데이트 예측부(121)는 확인된 교차되는 영역을 업데이트될 영역으로 판단하고, 업데이트될 영역을 현재프레임(f1)의 기하학 데이터로부터 예측할 수 있다. 다음프레임(f2)에서 사라지는 객체와 관련된 설명은 도 10를 참조하여 설명하였으므로, 상세한 설명은 생략한다.
1190단계에서, 데이터 준비부(123)는 1180단계에서 예측된 업데이트될 영역의 랜더링될 데이터를 준비할 수 있다. 데이터 준비부(123)는 교차되는 영역의 정보를 이용하여 현재프레임(f1) 또는 다음프레임(f2)에서 랜더링될 데이터를 추출할 수 있다.
도 12는 제안되는 실시예에 따른 정적 변화 영역의 랜더링될 데이터를 준비하는 과정을 설명하기 위한 흐름도이다.
1210단계에서, 업데이트 예측부(121)는 현재프레임(f1)의 객체들 중 현재 처리할 객체가 타입 B의 정적 변화 객체인지 확인할 수 있다.
타입 B의 정적 변화 객체이면, 1220단계에서, 업데이트 예측부(121)는 현재프레임(f1)의 기하학 데이터 또는 깊이 데이터에서 현재 처리할 객체(즉, 정적 변화 객체)가 속하는 영역을 검색할 수 있다.
1230단계에서, 업데이트 예측부(121)는 검색된 영역을 업데이트될 영역으로 예측할 수 있다.
1240단계에서, 데이터 준비부(123)는 업데이트될 영역의 정보를 이용하여 업데이트될 영역의 랜더링될 데이터를 현재프레임(f1) 또는 다음프레임(f2)으로부터 추출하여 준비할 수 있다.
도 13은 제안되는 실시예에 따른 업데이트될 영역의 랜더링 방법을 명하기 위한 흐름도이다.
1310단계에서, 현재 처리할 객체가 고정 객체이면 상기 현재 처리할 객체가 속하는 업데이트될 영역은, 1320단계에서 현재프레임(f1)의 랜더링 데이터 중 고정 객체가 속하는 영역에 해당하는 랜더링 데이터가 재사용되어 표시패널(160)에 표시될 수 있다.
반면, 1330단계에서, 현재 처리할 객체가 타입 C인 동적 변화 객체이면, 상기 현재 처리할 객체가 속하는 업데이트될 영역은, 1340단계에서, 랜더링부(130)에서 현재프레임(f1) 또는 다음프레임(f2)의 변화될 영역의 객체 데이터를 트랜스포밍, 라이팅, 뷰포트매핑 및 래스터화할 수 있다.
반면, 1350단계에서, 현재 처리할 객체가 타입 B인 동적 변화 객체이면, 현재 처리할 객체가 속하는 업데이트될 영역은, 1360단계에서, 랜더링부(130)에서 객체의 데이터의 기하학 변화가 없으므로, 1050단계에서 추출된 각 영역의 객체 데이터를 래스터화할 수 있다. 이로써, 랜더링 과정 중 기하학 처리는 생략될 수 있다.
반면, 1370단계에서, 현재 처리할 객체가 타입 B의 정적 변화 객체이면, 상기 현재 처리할 객체가 속하는 업데이트될 영역은 1380단계에서, 랜더링부(130에서 업데이트될 영역에 해당하는 추출된 데이터를 라이팅 및 래스터화하거나 또는 래스터화할 수 있다. 기하학 데이터는 재사용하고, 픽셀의 컬러 값을 변화시킬 수 있다.
1390단계에서, 1340단계, 1360단계 및 1380단계에서 랜더링된 결과를 제2기하학 저장부(156) 및 제2깊이컬러 저장부(156)에 저장될 수 있다.
도 14는 객체 종류를 구분하는 방법을 설명하기 위한 흐름도이다. 객체 종류를 구분하는 방법은 어플리케이션부(110) 또는 업데이트 준비부(120) 중 업데이트 예측부(121) 앞 단계의 별도 블록(미도시)에서 수행될 수 있다.
1405단계에서, 입력되는 프레임이 첫번째 프레임(1th frame)이 아니면, 1410단계에서, 다음프레임에서 처리할 객체와 현재프레임에서 처리한 객체를 비교한다. 1405단계로 입력되는 데이터는 객체 정보와 장면 정보(프레임 수, 시점 정보 또는 씬 그래프 또는 shader 프로그램)를 포함한다.
1415단계에서, 비교 결과, 다음프레임에서 처리할 객체 ID와 현재프레임에서 처리한 객체 ID가 동일하면, 1420단계에서, 다음프레임에서 다음프레임에 처리될 객체가 사라지는지 판단한다. 1420단계는, 다음프레임에서 다음프레임의 객체 데이터 또는 객체 변환 정보가 0인지를 확인하여 객체가 사라지는지를 판단할 수 있다.
다음프레임에서 다음프레임의 객체 데이터(중 vertex 좌표 값)이 0이거나, 다음프레임의 객체 변환정보가 0이면, 사라지는 것으로 판단되며, 1425단계에서, 처리될 객체의 종류는 소멸 객체로 구분될 수 있다.
반면, 1420단계의 판단 결과 사라지지 않으면, 1430단계에서, 현재 처리될 객체에 동적 변화가 있는지 판단한다.
1435단계에서, 1430단계에서 동적 변화가 있는 것으로 판단되면, 현재 처리될 객체의 종류는 동적 변화 객체인 것으로 판단한다.
동적 변화 객체로 판단되는 세 가지 경우는 다음과 같다.
첫째, (2-1) 다음프레임의 객체 데이터(예: vertex 좌표 값)과 현재 처리된 프레임의 객체 데이터(예: vertex 좌표 값)가 같으면서, (2-1-2) 다음프레임의 객체 데이터의 기하학적 변환정보와 현재 처리된 프레임의 객체 데이터의 기하학적 변환정보가 다르면, 처리될 객체는 동적 변화 객체인 것으로 판단한다.
둘째, (2-2) 다음프레임의 객체 데이터(예: vertex 좌표 값)와 현재 처리된 프레임의 객체 데이터(예: vertex 좌표 값) 가 다르면서, (2-2-1) 다음프레임의 객체 데이터의 기하학적 변환정보와 현재 처리된 프레임의 객체 데이터의 기하학적 변환정보가 같은 경우이다.
셋째, (2-2) 다음프레임의 객체 데이터(예: vertex 좌표 값)와 현재 처리된 프레임의 객체 데이터(예: vertex 좌표 값) 가 다르면서, (2-2-2) 다음프레임의 객체 데이터의 기하학적 변환정보와 현재 처리된 프레임의 객체 데이터의 기하학적 변환정보가 다른 경우이다.
한편, 1430단계에서 현재 처리된 객체에 동적 변화가 없는 것으로 판단되면, 1440단계에서, 현재 처리될 객체에 정적 변화가 있는지 판단한다. 즉, (2-1) 다음프레임의 객체 데이터(예: vertex 좌표 값)과 현재 처리된 프레임의 객체 데이터(예: vertex 좌표 값)가 같고, (2-1-1) 다음프레임의 객체 데이터의 기하학적 변환정보와 현재 처리된 프레임의 객체 데이터의 기하학적 변환정보가 같으며, (2-1-1-1) 다음프레임의 객체 데이터의 컬러 변화정보와 현재 처리된 프레임의 객체 데이터의 컬러 변화정보가 다르면, 정적 변환가 있는 것으로 판단한다.
따라서, 1445단계에서, 현재 처리될 객체는 정적 객체인 것으로 판단하여 설정한다.
한편, 1420단계에서 다음 프레임의 처리될 객체가 다음 프레임에서 사라지지 않으며, 1447단계에서, 처리될 객체에 동적 변화와 정적 변화가 없으면, 1450단계에서 현재 처리될 객체는 고정 객체인 것으로 판단 및 설정된다.
또한, 1440단계에서, 현재 처리될 객체에 정적 변화가 없는 것으로 판단되면, 1450단계에서, 현재 처리될 객체는 고정 객체인 것으로 판단 및 설정된다. 즉, (2-1) 다음프레임의 객체 데이터(예: vertex 좌표 값)과 현재 처리된 프레임의 객체 데이터(예: vertex 좌표 값)가 같고, (2-1-1) 다음프레임의 객체 데이터의 기하학적 변환정보와 현재 처리된 프레임의 객체 데이터의 기하학적 변환정보가 같으며, (2-1-1-1) 다음프레임의 객체 데이터의 컬러 변화정보와 현재 처리된 프레임의 객체 데이터의 컬러 변화정보가 같으면, 현재 처리될 객체는 고정 객체로 판단된다.
한편, 1415단계에서, 객체 ID가 서로 다르면, 1455단계에서, 다음 프레임에 처리될 객체가 현재 처리된 프레임에 없던 객체인지, 즉, 새로운 객체인지 판단한다.
새로운 객체로 판단되면, 1460단계에서, 처리될 객체의 종류를 생성 객체로 설정한다.
새로운 객체가 아닌 것으로 판단되면, 1465단계에서,, 다음 프레임의 다른 객체를 처리할 객체로 설정하고, 1410단계로 진입한다.
또한, 1405단계에서 입력되는 프레임이 첫번째 프레임(1th frame)이면, 1460단계로 진입한다.
1470단계에서, 업데이트 준비부(120)는 1425단계, 1435단계, 1445단계, 1450단계 및 1460단계에서 설정된 객체를 이용하여 업데이트 준비를 수행한다.
1475단계에서, 랜더링부(130)는 업데이트 준비과 완료된 객체에 대해 랜더링을 수행한다. 랜더링된 데이터는 메모리(150)에 저장되어 업데이트되며, 표시패널(160)에 표시된다.
1480단계에서, 모든 객체에 대한 처리가 완료될 때까지 상술한 처리를 반복한다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 렌더링 장치 110 : 어플리케이션부
120 : 업데이트 준비부 130 : 렌더링부
140 : 영역 분배기 150 : 메모리

Claims (34)

  1. 현재프레임의 랜더링 데이터를 이전프레임의 랜더링 데이터를 이용하여 생성하는 랜더링부; 및
    상기 현재프레임을 이루는 객체들의 객체정보 및 상기 현재프레임의 랜더링 데이터 또는 다음프레임의 객체 정보를 이용하여, 다음프레임에서 업데이트될 스크린 영역을 예측하고, 상기 현재프레임 또는 상기 다음프레임으로부터 상기 예측된 영역의 랜더링될 데이터를 추출하는 업데이트 준비부
    를 포함하며,
    상기 랜더링부는 상기 추출된 데이터를 랜더링하여 상기 다음프레임 중 상기 업데이트될 영역을 생성하고,
    상기 업데이트 준비부는,
    상기 현재프레임을 이루는 객체들 중에서 처리하고자 하는 객체의 타입을 정적 객체, 동적 객체 및 고정 객체 중 어느 하나로 결정하고,
    상기 객체의 타입이 동적 객체인 경우, 상기 랜더링부는 상기 다음프레임에서 상기 객체에 대한 새로운 기하학 연산이 수행되어야 하는지 여부 또는 상기 객체에 대한 기하학 연산이 다음프레임에서 재사용될 수 있는지 여부를 판단하고,
    상기 객체의 타입이 정적 객체인 경우, 상기 객체에 대한 기하학 연산은 상기 다음프레임에서 재사용되고,
    상기 객체의 타입이 고정 객체인 경우, 상기 객체에 대한 기하학 연산, 깊이 버퍼, 컬러 버퍼는 상기 다음프레임에서 재사용되고,
    상기 객체의 타입이 동적 객체 또는 정적 객체인 경우, 상기 다음프레임에서 상기 객체에 대한 새로운 기하학 연산이 수행되는 3차원 그래픽스 랜더링 장치.
  2. 제1항에 있어서,
    상기 객체정보는 상기 각 객체 ID, 각 객체의 종류, 상기 각 객체의 데이터 또는 상기 각 객체 데이터의 변화정보를 포함하는 3차원 그래픽스 랜더링 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 업데이트 준비부는,
    상기 현재프레임의 객체들 중 현재 처리할 객체가 좌표, 위치 또는 회전이 변하는 동적 변화 객체이면, 상기 현재 처리할 객체에 대응하는 업데이트될 영역을 상기 현재프레임의 랜더링 데이터로부터 예측하는 업데이트 예측부; 및
    상기 업데이트될 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출하여 준비하는 데이터 준비부
    를 포함하는 3차원 그래픽스 랜더링 장치.
  4. 제3항에 있어서,
    상기 현재 처리할 객체가 상기 현재프레임에는 존재하며 상기 다음프레임에서는 존재하지 않는 객체이면, 상기 업데이트 예측부는 상기 업데이트될 영역에 속하는 객체에서 상기 현재 처리할 객체를 제거하며,
    상기 데이터 준비부는 상기 현재 처리할 객체가 제거된 업데이트될 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출하는 3차원 그래픽스 랜더링 장치.
  5. 제4항에 있어서,
    상기 랜더링부는, 상기 데이터 준비부에서 추출된 랜더링될 데이터를 래스터화하는 3차원 그래픽스 랜더링 장치.
  6. 제3항에 있어서,
    상기 현재 처리할 객체가 상기 다음프레임에서 기하학 데이터가 변화하는 동적 변화 객체이면, 상기 현재 처리할 객체의 변화정보를 이용하여 상기 다음프레임에서 상기 현재 처리할 객체가 위치하는 영역을 산출하고,
    상기 데이터 준비부는 상기 산출된 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출하는 3차원 그래픽스 랜더링 장치.
  7. 제6항에 있어서,
    상기 랜더링부는, 상기 데이터 준비부에서 추출된 랜더링될 데이터 및 상기 현재 처리할 객체의 변화정보를 이용하여 기하학 처리 및 래스터화 처리를 수행하는 3차원 그래픽스 랜더링 장치.
  8. 제6항에 있어서,
    상기 현재 처리할 객체의 변화정보는 상기 현재프레임과 상기 다음프레임간의 변화를 보여주는 변환정보 또는 애니메이션 path 정보 중 하나인 3차원 그래픽스 랜더링 장치.
  9. 삭제
  10. 제1항에 있어서,
    상기 기하학 처리된 데이터를 타일 비닝(Tile Binning)하여, 상기 기하학 처리된 데이터를 영역으로 분류하며, 상기 분류된 각 영역에 속하는 기하학 처리된 데이터를 저장부로 출력하는 영역 분배기
    를 더 포함하는 3차원 그래픽스 랜더링 장치.
  11. 제1항 또는 제2항에 있어서,
    상기 업데이트 준비부는,
    상기 현재프레임의 객체들 중 현재 처리할 객체가 컬러, 텍스쳐 또는 명암이 변하는 정적 변화 객체이면, 상기 현재 처리할 객체에 대응하는 업데이트 영역을 상기 현재프레임의 랜더링 데이터로부터 예측하는 업데이트 예측부; 및
    상기 업데이트될 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출하여 준비하는 데이터 준비부
    를 포함하는 3차원 그래픽스 랜더링 장치.
  12. 제11항에 있어서,
    상기 업데이트 예측부는 상기 현재프레임의 랜더링 데이터에서 상기 정적 변화 객체가 속하는 영역을 검색하고, 상기 검색된 영역을 상기 업데이트될 영역으로 예측하는 3차원 그래픽스 랜더링 장치.
  13. 제12항에 있어서,
    상기 랜더링부는, 상기 데이터 준비부에서 추출된 랜더링될 데이터를 라이팅(lighting) 및 래스터화 또는 래스터화만하는 3차원 그래픽스 랜더링 장치.
  14. 제1항에 있어서,
    상기 랜더링될 데이터는 객체 단위로 랜더링되는 객체 기반 랜더링 방법 또는 객체를 기하학 처리한 결과를 모아 영역 별로 랜더링하는 영역 또는 타일 기반 랜더링 방법 중 하나에 적용되는 3차원 그래픽스 랜더링 장치.
  15. 제1항 또는 제2항에 있어서,
    상기 업데이트 준비부는,
    상기 현재프레임에 없으며 상기 다음프레임에서 새로 생성되는 객체는 동적 변화 객체로 판단하여 처리하며, 상기 다음프레임에서 업데이트될 영역을 상기 다음프레임의 객체의 변화정보를 이용하여 예측하는 업데이트 예측부; 및
    상기 예측된 업데이트될 영역의 랜더링될 데이터를 상기 다음프레임으로부터 추출하여 준비하는 데이터 준비부를 포함하는 3차원 그래픽스 랜더링 장치.
  16. 제15항에 있어서,
    상기 업데이트 예측부는, 상기 다음프레임에서 새로 생성되는 객체는 생성 객체로 판단하고, 상기 다음프레임의 객체의 변화정보를 이용하여 상기 다음프레임에서 상기 생성 객체가 위치하는 영역을 산출하고,
    상기 데이터 준비부는 상기 산출된 영역의 랜더링될 데이터를 상기 다음프레임으로부터 추출하는 3차원 그래픽스 랜더링 장치.
  17. 제16항에 있어서,
    상기 랜더링부는, 상기 데이터 준비부에서 추출된 랜더링될 데이터 및 상기 처리할 객체의 변화정보를 이용하여 기하학 처리 및 래스터화 처리를 수행하는 3차원 그래픽스 랜더링 장치.
  18. 제1항에 있어서,
    고정 객체에 해당하는 영역은 이전프레임의 랜더링 데이터를 재사용하는 3차원 그래픽스 랜더링 장치.
  19. 제1항에 있어서,
    상기 업데이트 준비부는 객체 정보와 장면 정보를 이용하여 상기 다음 프레임에서 처리될 객체와 상기 현재 프레임에서 처리한 객체를 비교하여 상기 처리될 객체의 종류를 구분하는 3차원 그래픽스 랜더링 장치.
  20. 현재프레임을 이루는 객체들의 정보인 객체정보 및 상기 현재프레임을 수신하는 단계;
    상기 수신된 현재프레임의 랜더링 데이터를 이전프레임의 랜더링 데이터를 이용하여 생성하는 단계;
    상기 현재프레임을 이루는 객체들 중에서 처리하고자 하는 객체의 타입을 정적 객체, 동적 객체 및 고정 객체 중 어느 하나로 결정하는 단계;
    상기 수신된 현재프레임의 객체정보 및 상기 현재프레임의 랜더링 데이터 또는 다음프레임의 객체정보를 이용하여, 다음프레임에서 업데이트될 스크린 영역을 예측하는 단계;
    상기 현재프레임 또는 상기 다음프레임으로부터 상기 업데이트될 영역에서 랜더링될 데이터를 추출하는 단계; 및
    상기 추출된 데이터를 랜더링하여 상기 다음프레임 중 상기 업데이트될 영역을 생성하는 단계
    를 포함하고,
    상기 객체의 타입이 동적 객체인 경우, 상기 추출하는 단계는 상기 다음프레임에서 상기 객체에 대한 새로운 기하학 연산이 수행되어야 하는지 여부 또는 상기 상기 객체에 대한 기하학 연산이 다음프레임에서 재사용될 수 있는지 여부를 판단하고,
    상기 객체의 타입이 정적 객체인 경우, 상기 객체에 대한 기하학 연산은 상기 다음프레임에서 재사용되고,
    상기 객체의 타입이 고정 객체인 경우, 상기 객체에 대한 기하학 연산, 깊이 버퍼, 컬러 버퍼는 상기 다음프레임에서 재사용되고,
    상기 객체의 타입이 동적 객체 또는 정적 객체인 경우, 상기 다음프레임에서 상기 객체에 대한 새로운 기하학 연산이 수행되는 3차원 그래픽스 랜더링 방법.
  21. 제20항에 있어서,
    상기 예측하는 단계는,
    상기 현재프레임의 객체들 중 현재 처리할 객체가 좌표, 위치 또는 회전이 변하는 동적 변화 객체이면, 상기 현재 처리할 객체에 대응하는 업데이트될 영역을 상기 현재프레임의 랜더링 데이터로부터 예측하는 3차원 그래픽스 랜더링 방법.
  22. 제21항에 있어서,
    상기 예측하는 단계는,
    상기 현재 처리할 객체가 상기 현재프레임에는 존재하며 상기 다음프레임에서는 존재하지 않는 객체이면, 상기 업데이트될 영역에 속하는 객체 데이터에서 상기 객체 데이터를 제거하며,
    상기 추출하는 단계는,
    상기 객체가 제거된 업데이트될 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출하는 3차원 그래픽스 랜더링 방법.
  23. 제22항에 있어서,
    상기 랜더링하는 단계는, 상기 추출된 랜더링될 데이터를 래스터화하는 3차원 그래픽스 랜더링 방법.
  24. 제21항에 있어서,
    상기 예측하는 단계는,
    상기 현재 처리할 객체가 상기 다음프레임에서 기하학 데이터가 변화하는 동적 변화 객체이면, 상기 현재 처리할 객체의 변화정보를 이용하여 상기 다음프레임에서 상기 현재 처리할 객체가 위치하는 영역을 산출하며,
    상기 추출하는 단계는,
    상기 산출된 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출하는 3차원 그래픽스 랜더링 방법.
  25. 제24항에 있어서,
    상기 랜더링하는 단계는,
    상기 추출된 랜더링될 데이터 및 상기 현재 처리할 객체의 변화정보를 이용하여 기하학 처리 및 래스터화 처리를 수행하는 3차원 그래픽스 랜더링 방법.
  26. 제21항에 있어서,
    상기 예측하는 단계는,
    상기 현재프레임의 객체들 중 현재 처리할 객체가 컬러, 텍스쳐 또는 명암이 변하는 정적 변화 객체이면, 상기 현재프레임의 랜더링 데이터에서 상기 정적 변화 객체가 속하는 영역을 검색하고, 상기 검색된 영역을 상기 업데이트될 영역으로 예측하며,
    상기 추출하는 단계는,
    상기 업데이트될 영역의 랜더링될 데이터를 상기 현재프레임 또는 상기 다음프레임으로부터 추출하는 3차원 그래픽스 랜더링 방법.
  27. 제25항에 있어서,
    상기 랜더링하는 단계는,
    상기 추출된 랜더링될 데이터를 라이팅(lighting) 및 래스터화 또는 래스터화만하는 3차원 그래픽스 랜더링 방법.
  28. 제20항에 있어서,
    상기 예측하는 단계는,
    상기 현재프레임에 없었으나 상기 다음프레임에서 새로 생성되는 객체는, 동적 변화 객체로 판단하고, 상기 다음프레임에서 업데이트될 영역을 상기 다음프레임의 객체의 변화정보를 이용하여 예측하는 3차원 그래픽스 랜더링 방법.
  29. 제28항에 있어서,
    상기 예측하는 단계는,
    상기 다음프레임에서 새로 생성되는 객체는 생성 객체로 판단하고, 상기 다음프레임의 객체의 변화정보를 이용하여 상기 다음프레임에서 상기 처리할 객체가 위치하는 영역을 산출하며,
    상기 추출하는 단계는,
    상기 산출된 영역의 랜더링될 데이터를 상기 다음프레임으로부터 추출하는 3차원 그래픽스 랜더링 방법.
  30. 제29항에 있어서,
    상기 랜더링하는 단계는,
    상기 추출된 랜더링될 데이터 및 상기 처리할 객체의 변화정보를 이용하여 기하학 처리 및 래스터화 처리를 수행하는 3차원 그래픽스 랜더링 방법.
  31. 제20항에 있어서,
    고정 객체에 해당하는 영역은 이전프레임의 랜더링 데이터를 재사용하는 3차원 그래픽스 렌더링 방법.
  32. 제20항에 있어서,
    객체 정보와 장면 정보를 이용하여 상기 다음 프레임에서 처리될 객체와 상기 현재 프레임에서 처리한 객체를 비교하여 상기 처리될 객체의 종류를 구분하는 단계
    를 더 포함하는 3차원 그래픽스 랜더링 방법.
  33. 제20항 내지 제32항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
  34. 제1항에 있어서,
    상기 업데이트 준비부는,
    상기 현재프레임 및 상기 다음프레임에서의 상기 객체의 vertex 좌표 값, 기하학적 변환정보, 컬러 변화정보에 기초하여 상기 객체의 타입을 정적 객체, 동적 객체 및 고정 객체 중 어느 하나로 결정하는 3차원 그래픽스 랜더링 장치.
KR1020100013432A 2010-02-12 2010-02-12 3차원 그래픽스 랜더링 장치 및 그 방법 KR101661931B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100013432A KR101661931B1 (ko) 2010-02-12 2010-02-12 3차원 그래픽스 랜더링 장치 및 그 방법
US12/860,479 US8970580B2 (en) 2010-02-12 2010-08-20 Method, apparatus and computer-readable medium rendering three-dimensional (3D) graphics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100013432A KR101661931B1 (ko) 2010-02-12 2010-02-12 3차원 그래픽스 랜더링 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20110093404A KR20110093404A (ko) 2011-08-18
KR101661931B1 true KR101661931B1 (ko) 2016-10-10

Family

ID=44369342

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100013432A KR101661931B1 (ko) 2010-02-12 2010-02-12 3차원 그래픽스 랜더링 장치 및 그 방법

Country Status (2)

Country Link
US (1) US8970580B2 (ko)
KR (1) KR101661931B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200099117A (ko) * 2018-09-04 2020-08-21 씨드로닉스(주) 이동체의 이동 속성 획득 방법 및 이를 수행하는 장치
KR20220143617A (ko) * 2018-09-04 2022-10-25 씨드로닉스(주) 이동체의 이동 속성 획득 방법 및 이를 수행하는 장치
WO2023167396A1 (ko) * 2022-03-04 2023-09-07 삼성전자주식회사 전자 장치 및 그 제어 방법

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120062563A1 (en) * 2010-09-14 2012-03-15 hi5 Networks, Inc. Pre-providing and pre-receiving multimedia primitives
US8711163B2 (en) * 2011-01-06 2014-04-29 International Business Machines Corporation Reuse of static image data from prior image frames to reduce rasterization requirements
US9384711B2 (en) * 2012-02-15 2016-07-05 Microsoft Technology Licensing, Llc Speculative render ahead and caching in multiple passes
KR101935494B1 (ko) * 2012-03-15 2019-01-07 삼성전자주식회사 그래픽 편집 화면을 갱신하기 위한 그래픽 처리 장치 및 그 방법
US9286122B2 (en) 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
US9230517B2 (en) 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US9153212B2 (en) * 2013-03-26 2015-10-06 Apple Inc. Compressed frame writeback and read for display in idle screen on case
US9400544B2 (en) 2013-04-02 2016-07-26 Apple Inc. Advanced fine-grained cache power management
US9261939B2 (en) 2013-05-09 2016-02-16 Apple Inc. Memory power savings in idle display case
WO2014201345A1 (en) * 2013-06-13 2014-12-18 Hiperwall, Inc. Systems, methods, and devices for animation on tiled displays
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
KR102116976B1 (ko) * 2013-09-04 2020-05-29 삼성전자 주식회사 렌더링 방법 및 장치
KR102122454B1 (ko) * 2013-10-02 2020-06-12 삼성전자주식회사 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치
KR102101834B1 (ko) * 2013-10-08 2020-04-17 삼성전자 주식회사 영상 처리 장치 및 방법
KR20150042095A (ko) * 2013-10-10 2015-04-20 삼성전자주식회사 드로우 커맨드들의 처리 순서를 재조정하여 프레임을 렌더링하는 장치 및 방법
KR102147357B1 (ko) * 2013-11-06 2020-08-24 삼성전자 주식회사 커맨드들을 관리하는 장치 및 방법
KR20150093048A (ko) * 2014-02-06 2015-08-17 삼성전자주식회사 그래픽스 데이터를 렌더링하는 방법 및 장치
US9940686B2 (en) * 2014-05-14 2018-04-10 Intel Corporation Exploiting frame to frame coherency in a sort-middle architecture
US9799091B2 (en) * 2014-11-20 2017-10-24 Intel Corporation Apparatus and method for efficient frame-to-frame coherency exploitation for sort-last architectures
KR102327144B1 (ko) 2014-11-26 2021-11-16 삼성전자주식회사 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 타일 기반 그래픽스 파이프라인을 수행하는 방법
KR102317091B1 (ko) * 2014-12-12 2021-10-25 삼성전자주식회사 영상 처리 장치 및 방법
KR102370617B1 (ko) 2015-04-23 2022-03-04 삼성전자주식회사 적응적 샘플링을 수행하여 영상을 처리하는 방법 및 장치.
US10373286B2 (en) 2016-08-03 2019-08-06 Samsung Electronics Co., Ltd. Method and apparatus for performing tile-based rendering
KR102651126B1 (ko) * 2016-11-28 2024-03-26 삼성전자주식회사 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
US10672367B2 (en) * 2017-07-03 2020-06-02 Arm Limited Providing data to a display in data processing systems
US10580106B2 (en) * 2018-02-28 2020-03-03 Basemark Oy Graphics processing method utilizing predefined render chunks
GB2585944B (en) * 2019-07-26 2022-01-26 Sony Interactive Entertainment Inc Apparatus and method for data generation
KR20190106852A (ko) * 2019-08-27 2019-09-18 엘지전자 주식회사 Xr 컨텐츠 제공 방법 및 xr 컨텐츠 제공 디바이스
US11468627B1 (en) 2019-11-08 2022-10-11 Apple Inc. View dependent content updated rates

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100376207B1 (ko) * 1994-08-15 2003-05-01 제너럴 인스트루먼트 코포레이션 비디오신장프로세서에있어서디램(dram)의효율적인어드레싱을행하기위한방법및장치
KR100682456B1 (ko) * 2006-02-08 2007-02-15 삼성전자주식회사 렌더링 영역을 최소화하는 3d 그래픽스 데이터의 렌더링방법 및 시스템
US20070097138A1 (en) * 2005-11-01 2007-05-03 Peter Sorotokin Virtual view tree
US20100021060A1 (en) * 2008-07-24 2010-01-28 Microsoft Corporation Method for overlapping visual slices

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195098B1 (en) 1996-08-02 2001-02-27 Autodesk, Inc. System and method for interactive rendering of three dimensional objects
KR100354824B1 (ko) 1999-11-22 2002-11-27 신영길 시간 일관성을 이용한 실시간 렌더링 방법 및 렌더링 장치
JP2002015328A (ja) 2000-06-30 2002-01-18 Matsushita Electric Ind Co Ltd シーン記述を用いて表されるオブジェクトベースのユーザインタラクティブシーンをレンダリングする方法
WO2002052506A1 (en) 2000-12-22 2002-07-04 Volume Interactions Pte. Ltd. A method of rendering a graphics image
KR100657962B1 (ko) 2005-06-21 2006-12-14 삼성전자주식회사 3차원 그래픽 디스플레이 장치 및 방법
EP2137701A1 (en) * 2007-03-15 2009-12-30 Thomson Licensing Methods and apparatus for automated aesthetic transitioning between scene graphs
KR100924122B1 (ko) 2007-12-17 2009-10-29 한국전자통신연구원 픽셀 단위 처리 요소 기반의 광선 추적 장치 및 방법
GB0810205D0 (en) * 2008-06-04 2008-07-09 Advanced Risc Mach Ltd Graphics processing systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100376207B1 (ko) * 1994-08-15 2003-05-01 제너럴 인스트루먼트 코포레이션 비디오신장프로세서에있어서디램(dram)의효율적인어드레싱을행하기위한방법및장치
US20070097138A1 (en) * 2005-11-01 2007-05-03 Peter Sorotokin Virtual view tree
KR100682456B1 (ko) * 2006-02-08 2007-02-15 삼성전자주식회사 렌더링 영역을 최소화하는 3d 그래픽스 데이터의 렌더링방법 및 시스템
US20100021060A1 (en) * 2008-07-24 2010-01-28 Microsoft Corporation Method for overlapping visual slices

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200099117A (ko) * 2018-09-04 2020-08-21 씨드로닉스(주) 이동체의 이동 속성 획득 방법 및 이를 수행하는 장치
KR102454878B1 (ko) * 2018-09-04 2022-10-17 씨드로닉스(주) 이동체의 이동 속성 획득 방법 및 이를 수행하는 장치
KR20220143617A (ko) * 2018-09-04 2022-10-25 씨드로닉스(주) 이동체의 이동 속성 획득 방법 및 이를 수행하는 장치
KR102596388B1 (ko) * 2018-09-04 2023-11-01 씨드로닉스(주) 이동체의 이동 속성 획득 방법 및 이를 수행하는 장치
WO2023167396A1 (ko) * 2022-03-04 2023-09-07 삼성전자주식회사 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
US8970580B2 (en) 2015-03-03
KR20110093404A (ko) 2011-08-18
US20110199377A1 (en) 2011-08-18

Similar Documents

Publication Publication Date Title
KR101661931B1 (ko) 3차원 그래픽스 랜더링 장치 및 그 방법
US11657565B2 (en) Hidden culling in tile-based computer generated images
US11922534B2 (en) Tile based computer graphics
JP5847159B2 (ja) タイル・ベース・レンダリング・システムにおけるサーフェスのパッチのテッセレーション
KR102122454B1 (ko) 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치
US10032308B2 (en) Culling objects from a 3-D graphics pipeline using hierarchical Z buffers
KR101257849B1 (ko) 3차원 그래픽 객체 렌더링 방법 및 장치, 이를 위한 렌더링객체 최소화 방법 및 장치
US10229524B2 (en) Apparatus, method and non-transitory computer-readable medium for image processing based on transparency information of a previous frame
JP5634104B2 (ja) タイルベースのレンダリング装置および方法
US8917281B2 (en) Image rendering method and system
JP4948273B2 (ja) 情報処理方法及び情報処理装置
EP2728551B1 (en) Image rendering method and system
JP7100624B2 (ja) 優先プリミティブバッチのビニング及びソートを用いたハイブリッドレンダリング
KR20160068204A (ko) 메시 지오메트리를 위한 데이터 처리 방법 및 이를 기록한 컴퓨터 판독 가능 저장 매체
KR20150042095A (ko) 드로우 커맨드들의 처리 순서를 재조정하여 프레임을 렌더링하는 장치 및 방법
KR20150027638A (ko) 렌더링 방법 및 장치
JP2006113909A (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: 20190814

Year of fee payment: 4