KR20080058135A - 픽셀 블록화 방법 및 이를 이용한 버퍼링 장치 및 그 방법 - Google Patents
픽셀 블록화 방법 및 이를 이용한 버퍼링 장치 및 그 방법 Download PDFInfo
- Publication number
- KR20080058135A KR20080058135A KR1020070047275A KR20070047275A KR20080058135A KR 20080058135 A KR20080058135 A KR 20080058135A KR 1020070047275 A KR1020070047275 A KR 1020070047275A KR 20070047275 A KR20070047275 A KR 20070047275A KR 20080058135 A KR20080058135 A KR 20080058135A
- Authority
- KR
- South Korea
- Prior art keywords
- pixel
- block
- depth value
- depth
- value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
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
1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은, 픽셀 블록화 방법 및 이를 이용한 버퍼링 장치 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 픽셀 단위의 데이터를 블록화하여 블록정보를 생성하고, 상기 생성한 블록정보를 이용하여 픽셀 데이터 전송 여부를 결정함으로써, 데이터의 전송량을 감소시키고, 불필요한 연산 없이 버퍼링을 수행하기 위한, 픽셀 블록화 방법 및 이를 이용한 버퍼링 장치 및 그 방법을 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 픽셀의 블록화 방법에 있어서, 픽셀들을 기준정보에 따라 블록화하는 단계; 해당 블록에 대한 블록정보를 생성하여 z-버퍼링 장치로 전송하는 단계; 상기 z-버퍼링 장치로부터 픽셀 깊이 값 전송 중지를 요청받지 않은 경우에 해당 블록의 픽셀 깊이 값을 차례로 전송하는 픽셀의 깊이 값 전송단계; 상기 z-버퍼링 장치로부터 픽셀 깊이 값 전송 중지를 요청받은 경우에 다음 블록의 블록정보를 상기 z-버퍼링 장치로 전송하는 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 3차원 그래픽 처리 등에 이용됨.
블록 깊이 버퍼, 블록정보, z-버퍼, 3차원 그래픽, 가시성 판별
Description
도 1 은 종래의 z-버퍼링 장치에 대한 일실시예 구성도,
도 2 는 본 발명에 이용되는 픽셀 단위의 물체에 대한 일예시도,
도 3 은 본 발명에 따른 픽셀의 블록화 과정에 대한 일실시예 설명도,
도 4 는 일반적인 픽셀 단위로 데이터 전송할 경우의 데이터 전송 횟수를 나타내는 일예시도,
도 5 는 본 발명에 따른 블록 단위로 데이터 전송할 경우의 데이터 전송 횟수를 나타내는 일예시도,
도 6 은 본 발명에 따른 블록정보 생성 과정에 대한 일실시예 설명도,
도 7 은 본 발명에 따른 픽셀 블록화 방법에 대한 일실시예 흐름도,
도 8 은 본 발명에 따른 z-버퍼의 블록화 상태 및 블록 깊이 버퍼의 구조에 대한 일실시예 설명도,
도 9 는 본 발명에 따른 블록 깊이 버퍼의 데이터 저장 과정에 대한 일실시예 설명도,
도 10 은 본 발명에 따른 블록 깊이 버퍼의 일실시예 블록도,
도 11 은 본 발명에 따른 픽셀 블록화를 이용한 z-버퍼링 장치의 일실시예 구성도,
도 12 는 블록 정보와 블록 깊이 버퍼 중에서 블록 정보가 더 작을 경우의 일예시도,
도 13 은 블록 정보와 블록 깊이 버퍼 중에서 블록 정보가 더 클 경우의 일예시도,
도 14 는 일반적인 화면이 겹치는 물체에 대한 z-버퍼링 과정의 일실시예 설명도,
도 15 는 본 발명에 따른 화면이 겹치는 물체에 대한 z-버퍼링 과정의 일실시예 설명도,
도 16 은 본 발명에 따른 픽셀 블록화를 이용한 z-버퍼링 방법에 대한 일실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
111 : 블록 깊이 버퍼 112 : 6비트 비교기
113 : 주소 생성기 114 : z-버퍼
115 : 24비트 비교기 116 : 제어기
본 발명은 픽셀 블록화 방법 및 이를 이용한 버퍼링 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 픽셀 단위의 데이터를 블록화하여 블록정보를 생성하고, 상기 생성한 블록정보를 이용하여 픽셀 데이터 전송 여부를 결정함으로써, 데이터의 전송량을 감소시키고, 불필요한 연산 없이 버퍼링을 수행하기 위한, 픽셀 블록화 방법 및 이를 이용한 버퍼링 장치 및 그 방법에 관한 것이다.
이하의 본 발명의 일실시예에서는 z-버퍼링 장치를 일예로 들어 설명하기로 하나, 본 발명이 이에 한정되는 것은 아님을 미리 밝혀 둔다.
일반적으로, 3차원 그래픽 처리 과정은 크게 어플리케이션 단계(application stage), 지오메트리 단계(geometry stage), 래스터라이져 단계(rasterizer stage)로 이루어진다.
어플리케이션 단계는 적용되는 응용 프로그램에 따라 다양한 동작을 수행하는데, 그 동작으로는 텍스쳐 애니메이션, 변환을 통한 애니메이션, 기하 모핑(morphing) 등이 있다. 이러한 어플리케이션 단계의 후단에서는 그래픽으로 처리될 물체(object)들을 지오메트리 단계로 넘겨주는 역할을 수행한다. 여기서, 물체들은 점, 선, 삼각형 등과 같은 렌더링 기본 요소(rendering primitive)로 구성되며, 렌더링 기본 요소들은 정점(vertex) 단위로 표현된다.
지오메트리 단계는 어플리케이션 단계에서 넘어오는 정점들로 표현된 물체들의 위치를 변환시키고, 정점들의 색상을 결정하여 래스터라이져 단계로 넘겨주는 역할을 수행한다. 이러한, 지오메트리 단계는 크게 트랜스포메이션 단 계(transformation stage)와 라이팅 단계(lighting stage)로 이루어진다. 먼저, 트랜스포메이션 단계에서 화면(screen)에 표시될 각 정점들의 고유 좌표계(model coordinates)는, 월드 좌표계(world coordinates)로 변환되고 최종적으로 화면 좌표계(screen coordinates)로 변환된다. 이러한 과정을 거치면서 정점들은 최종 화면에 표시되기에 올바른 위치와 방향으로 변환된다. 라이팅 단계에서는 광원(light source)의 위치와 종류, 물체의 재질(material)을 고려하여 각 정점들의 색상을 구한다.
래스터라이져 단계의 전반적인 과정은 크게 스캔 변환(scan conversion) 과정, 텍스쳐 매핑(texture mapping) 과정 그리고 z-버퍼링(z-buffering) 과정으로 이루어진다.
먼저, 스캔 변환 과정은 지오메트리 단계에서 넘어오는 물체들의 정점(vertex) 단위의 위치 정보와 색상 정보를 픽셀(pixel) 단위의 위치 정보와 색상 정보로 변환한다.
텍스쳐 매핑 과정은 화면에 표시될 물체에 미리 저장되어 있는 텍스쳐 이미지(texture image)를 입히는 과정이다. 이러한 텍스쳐 매핑 기법을 사용하면 물체를 나타내는 픽셀의 색상을 계산할 필요가 없기 때문에 연산량을 줄일 수 있고, 실제 이미지를 사용하여 현실감의 수준을 효율적으로 높여줄 수 있다.
z-버퍼링 과정은 여러 물체가 중첩되어 같은 픽셀에 표현되는 경우, 어느 물체가 최종적으로 화면에 표시되는지의 가시성(visuality) 여부를 판단하는 역할을 수행한다. 이때, z-버퍼링에 사용되는 z-버퍼(z-buffer)는, 각 픽셀의 색상 값을 저장하는 프레임 버퍼(frame buffer)와 같은 크기와 모양을 가지며, 카메라 시점(camera position)과의 거리를 나타내는 깊이 정보인 z값을 각 해당 픽셀 주소의 위치에 저장한다.
도 1 은 종래의 z-버퍼링 장치에 대한 일실시예 구성도이다.
도 1에 도시된 바와 같이, 종래의 z-버퍼링 장치는, z-버퍼링에 이용되는 픽셀의 깊이 값(z)을 저장하기 위한 z-버퍼(10), 각 픽셀의 색상 값을 저장하기 위한 프레임 버퍼(12), 및 상기 z-버퍼(10)에 저장되어 있는 픽셀의 깊이 값과 새로 입력되는 픽셀의 깊이 값을 비교하기 위한 24-bit 비교기(14) 및 상기 24-bit 비교기(14)로부터의 비교 결과에 따라 새로 입력받은 픽셀의 깊이 값을 상기 z-버퍼(10)에 저장하거나 상기 z-버퍼(10)가 기 저장하고 있는 픽셀의 깊이 값을 유지하기 위한 제어기(16)를 포함한다.
이하, z-버퍼링 장치의 동작에 대해 살펴보기로 한다.
먼저, 스캔 변환 과정을 통해 각 픽셀에 대한 xnew값, ynew값, znew값 그리고 해당 픽셀의 색상 값인 RGBnew값이 생성된다. 이때, xnew값과 ynew값은 픽셀의 위치정보, 즉 픽셀 주소를 나타내며, znew값은 깊이 정보, 즉 카메라 시점부터의 거리를 나타낸다.
이후, z-버퍼(10)는 xnew값 및 ynew값을 입력받음에 따라 기 저장하고 있는 해당 픽셀의 깊이 값(zold)을 출력한다.
그러면, 24-bit 비교기(14)는 z-버퍼(10)에서 출력한 픽셀의 깊이 값(zold)과 입력으로 들어온 픽셀의 깊이 값(znew)을 비교한다.
이후, 제어기(16)는 24-bit 비교기(14)로부터의 비교 결과에 따라 입력으로 들어온 픽셀의 깊이 값(znew)이 크면, 입력으로 들어온 픽셀의 깊이 값(znew)을 z-버퍼(10)에 저장하고, 작으면 z-버퍼(10)에 기 저장되어 있는 해당 픽셀의 깊이 값(zold)을 유지한다. 이때, 픽셀의 깊이 값(z)의 범위는 [-1,1]이며, 1에 가까울수록, 즉 z값이 클수록 카메라의 시점에 가까이 있다는 것을 의미한다.
아울러, 제어기(16)는 z-버퍼(10)에 새로 입력된 픽셀의 깊이 값(znew)을 저장하는 경우, 프레임 버퍼(12)에 새로 입력된 해당 픽셀의 색상 값(RGBnew)을 저장하도록 프레임 버퍼(12)를 제어한다.
이러한 z-버퍼링 과정은 3차원 그래픽 처리 과정 중 제일 마지막 과정으로, z-버퍼링을 수행한 후에야 가시성 판별이 가능하기 때문에, 최종적으로 화면에 표시되지 못하는 픽셀들이라 할지라도 해당 픽셀 데이터들을 z-버퍼링 장치로 전송하여 3차원 그래픽 처리가 이루어지도록 한다.
즉, 종래의 z-버퍼링 장치는 최종적으로 화면에 표시되는 픽셀 데이터인지 표시되지 않는 데이터인지의 여부에 상관없이, 모든 픽셀 데이터들을 입력받아 3차원 그래픽 처리를 위한 버퍼링을 수행한다.
이로 인하여, 종래의 z-버퍼링 장치는 스캔 변환 과정에서 생성된 모든 픽셀 데이터들을 전송받기 때문에 데이터 전송량이 상당하고, 아울러 다른 물체에 가려지는 픽셀들, 즉 최종적으로 화면에 표시되지 않는 픽셀 데이터에 대해서도 색상 값을 계산하기 때문에 불필요한 연산량이 발생하는 문제점이 있다.
이를 도 2를 참조하여 좀 더 상세히 살펴보기로 한다.
도 2 는 스캔 변환 과정에서 정점 단위의 물체를 픽셀 단위의 물체로 변환한 일예로서, 스캔 변환 과정에서 물체가 픽셀 단위로 변환된 후 픽셀의 위치정보(좌표정보)는 z-버퍼링 장치로 전송되고, 색상 정보는 텍스쳐 매핑 과정을 거친 후 z-버퍼링 장치로 전송되어, 버퍼링 결과에 따라 프레임 버퍼(12)로 저장되거나 무시된다. 이때, 물체를 표시하고 있는 모든 픽셀에 대해서 픽셀의 데이터(위치정보, 깊이 값)를 모두 z-버퍼링 장치로 전송한다.
도 2에 도시된 바와 같이, 삼각형 B는 일 부분이 삼각형 A에 가려져 있다. 이러한 경우, 최종적인 가시성 판별은 z-버퍼링을 수행한 후에 가능하기 때문에, z-버퍼링을 위해 삼각형 A를 표현하는 픽셀의 데이터와 삼각형 B를 표현하는 픽셀의 데이터를 모두 z-버퍼링 장치로 전송한다.
따라서, 다른 물체에 의해서 가려지는 픽셀들에 대한 불필요한 데이터 전송과 연산이 이루어지게 된다.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 픽셀 단위의 데이터를 블록화하여 블록정보를 생성하고, 상기 생성한 블록정보를 이용하여 픽셀 데 이터 전송 여부를 결정함으로써, 데이터의 전송량을 감소시키고, 불필요한 연산 없이 버퍼링을 수행하기 위한, 픽셀 블록화 방법 및 이를 이용한 버퍼링 장치 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 방법은, 픽셀의 블록화 방법에 있어서, 픽셀들을 기준정보에 따라 블록화하는 단계; 해당 블록에 대한 블록정보를 생성하여 z-버퍼링 장치로 전송하는 단계; 상기 z-버퍼링 장치로부터 픽셀 깊이 값 전송 중지를 요청받지 않은 경우에 해당 블록의 픽셀 깊이 값을 차례로 전송하는 픽셀의 깊이 값 전송단계; 상기 z-버퍼링 장치로부터 픽셀 깊이 값 전송 중지를 요청받은 경우에 다음 블록의 블록정보를 상기 z-버퍼 링 장치로 전송하는 단계를 포함한다.
한편, 본 발명의 장치는, 픽셀 블록화를 이용한 z-버퍼링 장치에 있어서, 블록정보를 이용하여 해당 블록 내 각 픽셀의 깊이 값 전송 여부를 판별하기 위한 가시성 판별수단; 이전 블록정보의 블록주소와 위치비트를 참조하여, 각 픽셀 깊이 값의 전송순서에 상응하는 픽셀 주소를 생성하기 위한 주소 생성수단; 상기 주소 생성수단에서 생성한 픽셀 주소에 해당하는 깊이 값을 출력하고, 상기 픽셀 주소를 바탕으로 새로운 깊이 값을 저장하기 위한 z-버퍼; 전송받은 블록 내 각 픽셀의 깊이 값(제 3 깊이 값)과 상기 z-버퍼에 저장되어 있는 해당 블록 내 각 픽셀의 깊이 값(제 4 깊이 값)을 비교하기 위한 제 2 비교수단; 및 상기 가시성 판별수단으로부터의 판별결과에 따라 해당 블록 내 각 픽셀의 깊이 값 전송 여부를 결정하고, 상기 제 2 비교수단으로부터의 비교결과에 따라 상기 z-버퍼 및 상기 블록 깊이 버퍼의 갱신 여부를 결정하기 위한 제어수단을 포함한다.
또한, 본 발명의 방법은, 픽셀 블록화를 이용한 z-버퍼링 방법에 있어서, 블록정보를 이용하여 해당 블록 내 각 픽셀의 깊이 값 전송 여부를 결정하는 깊이 값 전송 결정단계; 상기 결정결과에 따라 전송받은 해당 블록 내 각 픽셀의 깊이 값에 대한 픽셀 주소를 생성하는 단계; 및 상기 전송받은 블록 내 각 픽셀의 깊이 값(제 3 깊이 값)과 상기 생성한 픽셀 주소로 z-버퍼에 저장되어 있는 해당 블록 내 각 픽셀의 깊이 값(제 4 깊이 값)을 비교하여 그 결과에 따라 상기 z-버퍼 및 블록 깊이 버퍼의 갱신 여부를 결정하는 갱신 여부 결정단계를 포함한다.
또한, 본 발명은 픽셀들의 블록화 및 블록 깊이 버퍼를 사용하여 3차원 그래픽 처리 과정에서 일반적으로 사용되는 z-버퍼 알고리즘을 보다 효율적으로 개선한다.
또한, 본 발명은 픽셀 단위의 데이터가 아닌 블록 단위의 데이터를 전송받아 블록 깊이 버퍼를 통하여 1차적으로 가시성을 판별함으로써, 스캔 변환장치와 z-버퍼링 장치 사이의 데이터 전송량을 감소시켜 효율적인 z-버퍼링을 가능하게 한다.
또한, 본 발명은 임의로 블록 모양의 지정, 데이터 형식의 변형, 블록 깊이 버퍼의 크기 조절 등이 가능하기 때문에 다양한 시스템의 구성 및 환경에 적용하는 것이 가능하다.
또한, 본 발명은 화면에 표시되는 것은 특정 물체 또는 임의의 배경화면이며, 같은 물체 혹은 같은 배경을 나타내는 픽셀끼리는 국부성이 존재한다는 점에 착안하여, 스캔 변환 단과 z-버퍼 단 사이의 많은 데이터 전송이 요구되고 불필요한 연산 과정이 발생되는 일반적인 z-버퍼링의 단점을 해소하고 z-버퍼링을 보다 효율적으로 개선한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 2 는 본 발명에 이용되는 픽셀 단위의 물체에 대한 일예시도이다.
도 2에 도시된 바와 같이, 삼각형 A와 삼각형 B 그리고 C라는 물체(또는 배경)가 있다. 카메라의 시점에서 가장 가까운 물체는 삼각형 A이고, 삼각형 B가 그 다음으로 가깝고, C는 제일 멀리 있다고 가정하자. 즉, 삼각형 A는 전체가 모두 보이고, 삼각형 B는 삼각형 A와 겹쳐진 부분이 보이지 않으며, 배경 C는 삼각형 A 및 삼각형 B와 겹쳐진 부분이 보이지 않는다고 가정하자.
삼각형 A는 여러 픽셀로 구성되어 있으며, 삼각형 A를 나타내고 있는 픽셀들 사이에는 국부성이 존재한다. 이는 B와 C에도 마찬가지로 적용된다. 이때, 같은 물체를 나타내는 인접 픽셀들 사이의 국부성을 이용하여 픽셀들을 블록으로 묶고, 블록 단위의 데이터 전송과 연산을 한다면 스캔 변환 과정에서 생성된 데이터의 전송 및 z-버퍼링 장치에서의 연산량을 크게 줄일 수 있다.
이하, 도 3을 참조하여 본 발명에 따른 픽셀의 블록화 과정에 대해 살펴보기로 한다. 이에 앞서, 모든 정보 단위 및 버스 대역폭은 24비트라 가정하고, 화면의 해상도는 QCIF(220 × 176)라 가정하며, 하나의 블록에 포함되는 픽셀의 개수는 4개로 가정하지만, 본 발명이 이에 국한되는 것이 아님을 미리 밝혀 둔다.
먼저, 픽셀들의 블록화를 실행한다. 즉, 물체를 나타내는 픽셀들을 다수의 블록으로 묶는다. 이때, 하나의 블록을 이루는 픽셀의 개수나 블록의 모양은 적용되는 시스템 환경에 따라 임의로 최적화시켜 결정할 수 있다.
다음으로, 블록정보를 생성한다. 즉, 픽셀들을 블록으로 묶으면서 하나의 블록마다 하나의 블록정보를 생성한다. 생성된 블록정보는 z-버퍼링 장치에서 1차적 가시성 판별에 사용된다.
즉, 도 3에 도시된 바와 같이, (1011,1011), (1011,1010), (1010,1010), (1010,1011)의 픽셀 주소를 갖는 4개의 픽셀을 정사각형 모양의 블록(D)으로 묶고, 이에 대한 블록정보를 생성한 후 블록 단위로 z-버퍼링 장치로 전송한다.
여기서, 도 4 및 도 5를 참조하여 픽셀 단위로 데이터를 전송하는 경우와 블 록 단위로 데이터 전송하는 경우의 데이터 전송 횟수를 비교해 보기로 한다.
도 3의 D라는 블록에 포함되어 있는 4개의 픽셀을 z-버퍼링 장치로 전송한다고 가정할 때, 도 4에 도시된 바와 같이 픽셀 단위로 데이터를 전송하는 경우, 4개의 픽셀에 대하여 픽셀 각각의 주소 값(행 주소, 열 주소)과 깊이 값을 하나씩 전송해야 하므로, 총 8번의 전송이 이루어져야 한다. 이때, 픽셀의 주소 값은 상기의 가정에서 해상도가 QCIF(220 × 176)라 가정하였기 때문에 8비트의 행 주소와 8비트의 열 주소를 가지므로, 총 16비트의 크기를 갖는다.
반면, 도 5에 도시된 바와 같이 블록 단위로 데이터를 전송하는 경우, 블록정보와 해당 블록을 구성하는 픽셀 각각의 깊이 값만 전송하면 되므로, 최대 5번만에 전송할 수 있다. 이때, z-버퍼링 장치에서 블록정보를 검사한 결과, 해당 픽셀의 깊이 값이 필요없는 경우, 즉 현재 화면상의 물체의 깊이 값보다 작은 경우, 즉 현재 화면상의 물체에 가려져 보이지 않는 픽셀인 경우에는, 해당 픽셀의 깊이 값 전송 중지신호를 수신하지 않기 때문에 단 한 번의 전송(블록정보의 전송)만으로 4개의 픽셀에 대한 처리를 완료할 수 있다.
여기서, 블록정보는 블록주소(501), 블록을 구성하는 픽셀들 중 카메라의 시점에서 가장 가까운 픽셀에 대한 깊이 값(z)의 상위비트(502) 및 픽셀들의 위치비트(위치정보)(503)를 포함한다.
이때, 블록주소(501)는 실제 해당 블록 내에 있는 픽셀의 주소 중 상위비트를 이용하여 생성한다. 예를 들어, 하나의 블록에 포함된 픽셀 4개의 주소 값이 도 3에 도시된 바와 같이, 픽셀 3은 (1011,1010), 픽셀 2는 (1011,1011), 픽셀 1은 (1010,1010), 픽셀 0은 (1010,1011)라면, 공통으로 사용되는 상위비트를 이용하여 (101,101)와 같이 블록주소를 생성한다.
아울러, 이렇게 생성된 블록주소(501)와 위치비트(503)를 이용하여 역으로 실제 픽셀의 주소를 생성하는 것이 가능하다. 즉, 도 6의 위치비트 할당정보(61)와 같이 픽셀 0,1,2,3의 위치를 각각 (0,1), (0,0), (1,1), (1,0)로 미리 정함으로써, 실제 픽셀의 주소를 생성할 수 있다.
또한, 가장 가까운 픽셀의 깊이 값(502)은 모든 비트가 저장되는 것이 아니라 상위 비트의 일정 부분이 저장된다. 이때, 가장 가까운 픽셀의 깊이 값(z)(502)의 비트 수는 z-버퍼링 장치에서 사용하는 블록 깊이 버퍼의 크기에 영향을 미친다.
도 6 은 본 발명에 따른 블록정보 생성 과정에 대한 일실시예 설명도이다.
블록정보 생성 과정에 대한 설명에 앞서, 도 6에 도시된 화면은 16×16의 해상도를 가지며, 데이터의 크기 및 버스 폭은 24비트라 가정하고, 하나의 블록(62)을 예로 들어 설명하기로 한다.
먼저, 좌측 하단의 기준 주소가 (0000,0000)이라 할 경우, 블록(62) 내 픽셀들의 주소는 각각 (0111,1100), (0111,1101), (0110,1100), (0110,1101)이므로, 블록(62)의 블록정보(63) 중 행 주소(631)는 011, 열 주소(632)는 110이 된다.
다음으로, 블록을 구성하는 픽셀들 중 카메라의 시점에서 가장 가까운 픽셀(가장 큰 값을 갖는 픽셀)에 대한 z값은, 좌측 하단 픽셀의 깊이 값인 0.43이고, 이의 상위비트는 0.4이다. 따라서, 블록(62)의 블록정보(63) 중 가장 가까운 픽셀 에 대한 z값의 상위비트(633)는 0.4가 된다. 이때, z값의 상위 6비트를 저장하는 것이 바람직하다.
다음으로, 픽셀의 위치비트(634)는 픽셀의 위치를 나타내는 비트로, 블록(62)이 물체의 경계를 포함할 경우 물체를 표현하는 픽셀들의 위치를 나타낸다. 즉, 픽셀의 우측 하단에서 시계방향으로 우측 상단까지 순차적으로 위치를 정하고, 그 표기는 상위비트에서 하위비트 순(3,2,1,0)으로, 물체를 나타내는 픽셀의 경우 1로 나타내며, 그렇지 않은 경우 0으로 나타낸다.
도 6에 도시된 바와 같이, 블록(62) 내 우측 상단의 픽셀은 물체를 표현하는 픽셀이 아니므로, 위치비트의 해당 비트가 0으로 표시되고 나머지는 1로 표시되어 위치 비트는 1011이 된다.
한편, 블록이 물체의 경계를 포함하더라도 물체를 표현하는 픽셀의 개수와 픽셀의 위치를 위치비트를 통해서 알 수 있기 때문에, 픽셀 개수만큼의 픽셀의 깊이 값을 전송한다.
따라서, 블록 단위로 데이터 전송이 이루어지더라도 물체를 표현하지 않는 불필요한 픽셀의 데이터는 전송하지 않을 수 있다. 이때, 블록에 물체의 경계를 포함하여 물체를 나타내는 픽셀의 수가 하나일 경우라도, 픽셀 단위로 데이터를 전송할 경우의 데이터 전송 횟수와 블록 단위로 데이터를 전송할 경우의 데이터 전송 횟수는 2번으로 동일하다.
이렇게 생성된 블록정보는 다른 데이터보다 제일 먼저 z-버퍼링 장치로 전송된다.
그러면, z-버퍼링 장치는 전송된 블록정보에 포함된 z값(502)과 블록 깊이 버퍼에 저장되어 있는 z값을 이용하여 1차적으로 가시성 판별을 수행한 후 그 결과를 회신한다. 이때, 다른 물체에 가려져서 최종적인 화면에 표시되지 않는 불필요한 정보라면, 해당 블록의 데이터를 전송하지 않고 다음 블록의 블록정보를 z-버퍼 링 장치로 전송한다. 반대로 사용될 블록이라면, 도 5에 도시된 바와 같이 각 픽셀의 깊이 값들을 차례로 z-버퍼링 장치로 전송한다.
상기와 같은 픽셀 블록화 과정을 정리하면 도 7에 도시된 바와 같다.
도 7 은 본 발명에 따른 픽셀 블록화 방법에 대한 일실시예 흐름도이다.
먼저, 블록화를 위한 기준정보(하나의 블록에 포함되는 픽셀의 수 및 블록의 모양정보)를 저장하고 있다(701).
이후, 픽셀들을 기준정보에 따라 블록화한다(702).
이후, 해당 블록에 대한 블록정보를 생성하여 z-버퍼링 장치로 전송한다(703).
이후, z-버퍼링 장치로부터 픽셀 깊이 값 전송 중지를 요청받았는지 확인한다(704).
상기 확인 결과(704), 픽셀 깊이 값 전송 중지를 요청받지 않았으면 해당 블록의 픽셀 깊이 값을 차례로 전송한다(705). 이때, 해당 블록 내에 물체를 표현하지 않는 불필요한 픽셀(일예로, 배경을 나타내는 픽셀)이 포함되어 있는 경우에는 픽셀 깊이 값을 전송하지 않을 수도 있다.
이후, 잔여 블록의 존재 여부에 따라 존재하지 않으면 종료하고, 존재하면 다음 블록을 선택한 후 상기 "703" 과정으로 진행한다(706, 707).
반면, 상기 확인 결과(704), 픽셀 깊이 값 전송 중지를 요청받았으면 잔여 블록의 존재 여부에 따라 존재하지 않으면 종료하고, 존재하면 다음 블록을 선택한 후 상기 "703" 과정으로 진행한다(706, 707).
지금까지, 블록화 과정과 블록 단위의 데이터(블록정보, 픽셀의 깊이 값) 전송에 대하여 설명하였다.
이제부터는 z-버퍼 장치에서의 z-버퍼링 과정에 대해서 설명하기로 한다.
z-버퍼링 장치는 스캔 변환 과정에서 전송받은 블록정보를 이용하여 해당 블록의 1차적 가시성 판별을 위해 블록 깊이 버퍼를 사용한다. 이때, 블록 깊이 버퍼를 사용하기 위해서는 스캔 변환 과정에서처럼 z-버퍼의 블록화 과정이 선행되어야 한다.
z-버퍼의 블록화 과정은 스캔 변환 과정에서의 블록화 과정과 동일하다. 이때, 반드시 스캔 변환 과정에서의 블록의 개수와 모양 그리고 블록 내 픽셀의 개수가 일치해야 한다.
즉, 스캔 변환 과정에서 4개의 픽셀을 하나의 정사각형 모양의 블록으로 블록화한 경우, z-버퍼(도 8의 81)도 마찬가지로 4개의 픽셀을 하나의 정사각형 모양의 블록으로 동일하게 블록화한다.
도 8 은 본 발명에 따른 z-버퍼의 블록화 상태 및 블록 깊이 버퍼의 구조에 대한 일실시예 설명도이다.
도 8에 도시된 바와 같이, z-버퍼(81)는 4개의 픽셀을 하나의 정사각형 모양 으로 블록화한 구조를 가지며, 블록 깊이 버퍼(82)는 z-버퍼(81)의 각 블록에 대응되는 구조를 갖는다.
따라서, 블록 깊이 버퍼(82)는 블록화된 z-버퍼(81)를 참조하여 해당 블록 내 픽셀 중에서 카메라의 시점에서 가장 멀리 있는 픽셀의 깊이 값(z)의 상위비트를 저장한다. 이때, 저장되는 깊이 값의 상위비트 수는 반드시 스캔 변환 과정에서 전송되는 블록정보(63) 중 카메라의 시점에서 가장 가까운 깊이 값의 상위비트 수(633)와 일치하여야 한다.
도 9 는 본 발명에 따른 블록 깊이 버퍼의 데이터 저장 과정에 대한 일실시예 설명도로서, z-버퍼를 블록화하고 해당 블록의 z값들 중에서 카메라의 시점에서 가장 멀리 있는 깊이 값을 저장하는 과정을 나타낸다.
전술한 바와 같이, 도 6에서 블록정보(63) 중 가장 가까운 픽셀의 깊이 값(633)에 6비트를 할당하였으므로, 도 9에 도시된 바와 같이 블록 깊이 버퍼(93)에도 해당 블록(91) 내에서 가장 멀리 있는 깊이 값의 상위 6비트(92)가 저장된다. 또한, 상기의 가정에서 버스 대역폭이 24비트라 가정하였으므로 하나의 24비트 형식에 총 4개의 블록(91)에 대한 상위 6비트의 깊이 값(92)을 저장한다. 즉, 각 블록 내에서 가장 작은 깊이 값의 상위 6비트를 블록 깊이 버퍼(93)에 저장한다.
도 10 은 본 발명에 따른 블록 깊이 버퍼의 일실시예 블록도이다.
도 10에 도시된 바와 같이, 해상도가 QCIF(220 × 176)일 경우, z-버퍼의 크기는 116K Byte인 반면, 블록 깊이 버퍼의 크기는 7K Byte가 된다.
z-버퍼와 비교해 보면, 블록 깊이 버퍼는 상대적으로 훨씬 적은 자원을 소모 하므로 많은 자원을 필요로 하지 않는다.
도 11 은 본 발명에 따른 픽셀 블록화를 이용한 z-버퍼링 장치의 일실시예 구성도이다.
도 11에 도시된 바와 같이, 본 발명에 따른 픽셀 블록화를 이용한 z-버퍼링 장치는, 각 블록을 대상으로 카메라의 시점에서 가장 멀리 있는 픽셀의 깊이 값, 즉 블록 내 각 픽셀의 깊이 값 중 최소값의 상위 6비트를 저장하고 있는 블록 깊이 버퍼(111), 전송받은 블록정보 중 카메라 시점에서 가장 가까운 픽셀의 깊이 값의 상위 6비트(502), 즉 블록 내 각 픽셀의 깊이 값 중 최대값의 상위 6비트(제 1 깊이 값)와, 상기 블록 깊이 버퍼(111)에 저장되어 있는 해당 블록 내 픽셀의 깊이 값 중 최소값의 상위 6비트(제 2 깊이 값)를 비교하기 위한 6비트 비교기(112), 이전 블록정보의 블록주소와 위치비트를 참조하여, 각 픽셀의 깊이 값의 전송순서에 상응하는 픽셀 주소를 생성하기 위한 주소 생성기(113), 상기 주소 생성기(113)에서 생성한 픽셀 주소에 해당하는 깊이 값을 출력하고, 상기 생성한 픽셀 주소를 바탕으로 새로운 깊이 값을 저장하기 위한 z-버퍼(114), 전송받은 블록 내 각 픽셀의 깊이 값(제 3 깊이 값)과 상기 z-버퍼(114)에 저장되어 있는 해당 블록 내 각 픽셀의 깊이 값(제 4 깊이 값)을 비교하기 위한 24비트 비교기(115), 및 상기 6비트 비교기(112)로부터의 비교결과, 제 1 깊이 값이 제 2 깊이 값을 초과하면 해당 블록 각 픽셀의 깊이 값을 전송받고, 초과하지 않으면 깊이 값 전송 중지신호를 전송하여 해당 블록 각 픽셀의 깊이 값을 전송받지 않으며, 상기 24비트 비교기(115)로부터의 비교결과, 제 3 깊이 값이 제 4 깊이 값을 초과하면 제 4 깊이 값을 제 3 깊 이 값으로 갱신하고, 제 3 깊이 값들 중에서 최소값의 상위 6비트로 상기 블록 깊이 버퍼(111)를 갱신하며, 초과하지 않으면 제 4 깊이 값을 유지하기 위한 제어기(116)를 포함한다.
여기서, 블록 깊이 버퍼(111)와 6비트 비교기(112)를 가시성 판별기라 칭한다.
이하, 도 12 및 도 13을 참조하여 6비트 비교기(112)의 비교 결과에 따른 제어기(116)의 동작에 대해 살펴보기로 한다.
도 12에 도시된 바와 같이, 블록정보의 z값(502)이 블록 깊이 버퍼(111)에 저장되어 있는 z값보다 더 작다면 즉, 멀리 있다면, 그것은 현재 z-버퍼(114)의 해당 블록에 있는 픽셀들이 앞으로 전송될 픽셀보다 카메라의 시점에 더 가까이 있다는 뜻이다. 따라서, 앞으로 전송될 픽셀들은 화면상에 표현되지 않으므로, 제어기(116)는 스캔 변환 장치로 깊이 값 전송 중지신호를 보내어 정보가 전송되지 않도록 한다.
반면, 도 13에 도시된 바와 같이, 블록정보의 z값(502)이 블록 깊이 버퍼(111)에 저장되어 있는 z값보다 더 크다면 즉, 가까이 있다면, 제어기(116)는 스캔 변환 장치로 깊이 값 전송 중지신호를 전송하지 않아 해당 블록 내 픽셀들의 z값들이 차례로 전송받는다.
한편, 도 14 및 도 15를 참조하여 본 발명의 효과에 대해 살펴보기로 한다.
도 14 및 도 15는 일정 면적이 겹치는 두 삼각형을 한 화면에 표시해야 하는 경우를 도시한 것이다.
먼저, 삼각형 A를 표현하는 픽셀들은 이미 z-버퍼에 저장되어 있는 상태이고, 삼각형 B를 표현하는 픽셀들의 정보가 z-버퍼링 장치로 전송되어야 하는 경우를 가정한다.
일반적인 z-버퍼링을 사용할 경우 삼각형 B를 표현하는 픽셀들의 데이터를 모두 보내야 하기 때문에 많은 데이터의 전송이 요구된다. 데이터의 전송만을 고려하며 24비트의 데이터 버스 대역폭을 갖는다고 가정할 경우, 이를 수치적으로 계산해 보면 삼각형 B를 표현하는 픽셀 수는 총 93개이고, 한 픽셀 당 2번(픽셀의 행 주소 및 열 주소, 픽셀의 깊이 값(z값))의 데이터 전송이 필요하므로 총 186번의 데이터 전송이 이루어져야 한다.
반면, 도 15에 도시된 바와 같이 본 발명을 적용할 경우, 두 삼각형의 겹치는 면적 중 빗금 친 부분은 블록당 하나의 24비트 블록정보를 z-버퍼링 장치로 전송하는 것만으로 1차적 가시성 판별을 할 수 있기 때문에, 추가적인 데이터 전송은 이루어지지 않는다.
결국, 삼각형 B를 표현하는 빗금 친 부분 이외의 픽셀들은 모두 데이터 전송이 이루어지지만, 삼각형 B를 표현하는 빗금 친 부분은 블록 단위의 데이터 전송으로 인하여 일반적인 z-버퍼링보다 데이터 전송량이 감소하였다.
또한, 블록정보에 픽셀의 위치 정보를 나타내는 위치 비트를 포함시킴으로써, 블록 단위의 데이터 전송으로 발생할 수 있는 물체를 표현하지 않는 픽셀에 대한 불필요한 데이터 전송 과정을 제거하였다.
일반적인 z-버퍼링을 사용한 경우와 비교하기 위해서, 데이터 전송 횟수를 수치적으로 계산해보면, 빗금 친 블록은 한 번의 블록 정보 전송만으로 해결되므로, 삼각형 B를 표현하는 픽셀을 포함하는 블록 수(블록 정보 전송)와 삼각형 B를 표현하는 픽셀 수(각각 픽셀들의 z값 전송)만큼의 데이터 전송이 이루어지면 된다. 즉, 총 96번의 데이터 전송이 이루어지며, 일반적인 z-버퍼링 방법에 비하여 데이터 전송 과정이 크게 줄었음을 알 수 있다.
도 16 은 본 발명에 따른 픽셀 블록화를 이용한 z-버퍼링 방법에 대한 일실시예 흐름도이다.
먼저, 블록정보를 이용하여 해당 블록 내 각 픽셀의 깊이 값 전송 여부를 결정한다(1601).
즉, 전송받은 블록정보의 블록 내 각 픽셀의 깊이 값 중 최대값(제 1 깊이 값)과, 블록 깊이 버퍼에 저장되어 있는 해당 블록 내 픽셀의 깊이 값 중 최소값(제 2 깊이 값)을 비교한다.
상기 비교결과, 상기 제 1 깊이 값이 상기 제 2 깊이 값을 초과하면 해당 블록 내 각 픽셀의 깊이 값을 전송받고, 상기 제 1 깊이 값이 상기 제 2 깊이 값을 초과하지 않으면 깊이 값 전송 중지신호를 전송한다.
이후, 상기 결정결과에 따라 전송받은 해당 블록 내 각 픽셀의 깊이 값에 대한 픽셀 주소를 생성한다(1602).
이후, 상기 전송받은 블록 내 각 픽셀의 깊이 값(제 3 깊이 값)과 상기 생성한 픽셀 주소로 z-버퍼에 저장되어 있는 해당 블록 내 각 픽셀의 깊이 값(제 4 깊이 값)을 비교하여 그 결과에 따라 상기 z-버퍼 및 블록 깊이 버퍼의 갱신 여부를 결정한다(1603).
즉, 상기 제 3 깊이 값이 상기 제 4 깊이 값을 초과하면 상기 제 4 깊이 값을 상기 제 3 깊이 값으로 갱신한다.
그리고, 상기 제 3 깊이 값들 중에서 최소값으로 상기 제 2 깊이 값을 갱신한다.
반면, 상기 제 3 깊이 값이 상기 제 4 깊이 값을 초과하지 않으면 상기 제 4 깊이 값을 유지한다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은, 블록 단위의 데이터 전송과 블록 깊이 버퍼 사용에 따른 1차적 가시성 판별로 인하여 데이터 전송량을 크게 감소시킬 수 있고, 적은 추가 비용으로 불필요한 데이터 전송 과정과 연산 과정을 줄일 수 있는 효과가 있다.
또한, 본 발명은 불필요한 데이터 전송 과정 및 연산 과정이 제거되기 때문에 그만큼의 데이터 트래픽을 줄일 수 있으며, 빠른 z-버퍼링을 가능하게 하는 효과가 있다.
Claims (16)
- 픽셀의 블록화 방법에 있어서,픽셀들을 기준정보에 따라 블록화하는 단계;해당 블록에 대한 블록정보를 생성하여 버퍼링 장치로 전송하는 단계;상기 버퍼링 장치로부터 픽셀 깊이 값 전송 중지를 요청받지 않은 경우에 해당 블록의 픽셀 깊이 값을 차례로 전송하는 픽셀 깊이 값 전송단계; 및상기 버퍼링 장치로부터 픽셀 깊이 값 전송 중지를 요청받은 경우에 다음 블록에 대한 블록정보를 생성하여 상기 버퍼링 장치로 전송하는 단계를 포함하는 픽셀 블록화 방법.
- 제 1 항에 있어서,상기 픽셀 깊이 값 전송단계는,해당 블록 내에 물체를 표현하지 않는 불필요한 픽셀이 포함되어 있는 경우 픽셀 깊이 값을 전송하지 않는 것을 특징으로 하는 픽셀 블록화 방법.
- 제 1 항 또는 제 2 항에 있어서,상기 블록정보는,블록의 행 주소 및 열 주소 필드를 가지는 블록주소, 블록 내 각 픽셀의 깊이 값들 중 카메라 시점에서 가장 가까운 픽셀의 깊이 값(z)의 상위비트, 및 픽셀의 위치비트를 포함하는 것을 특징으로 하는 픽셀 블록화 방법.
- 제 3 항에 있어서,상기 블록주소는,블록 내 각 픽셀의 주소 값에 공통으로 포함되는 상위비트인 것을 특징으로 하는 픽셀 블록화 방법.
- 제 3 항에 있어서,상기 상위비트는,블록 내 각 픽셀의 깊이 값들 중 카메라 시점에서 가장 가까운 픽셀의 깊이 값(z)의 상위 6비트인 것을 특징으로 하는 픽셀 블록화 방법.
- 제 3 항에 있어서,상기 픽셀의 위치비트는,픽셀의 우측 하단에서 시계방향으로 우측 상단까지 순차적으로 위치를 정하 고,상기 정한 위치에 대한 표기는 상위비트에서 하위비트 순으로 물체를 나타내는 픽셀의 경우 1로 나타내고, 물체를 나타내는 픽셀이 아닌 경우 0으로 나타내는 것을 특징으로 하는 픽셀 블록화 방법.
- 제 3 항에 있어서,상기 기준정보는,하나의 블록에 포함되는 픽셀의 수 및 블록의 모양정보를 포함하는 것을 특징으로 하는 픽셀 블록화 방법.
- 픽셀 블록화를 이용한 버퍼링 장치에 있어서,블록정보를 이용하여 해당 블록 내 각 픽셀의 깊이 값 전송 여부를 판별하기 위한 가시성 판별수단;이전 블록정보의 블록주소와 위치비트를 참조하여, 각 픽셀 깊이 값의 전송순서에 상응하는 픽셀 주소를 생성하기 위한 주소 생성수단;상기 생성한 픽셀 주소에 해당하는 깊이 값을 출력하고, 상기 생성한 픽셀 주소를 바탕으로 새로운 깊이 값을 저장하기 위한 버퍼링 수단;전송받은 블록 내 각 픽셀의 깊이 값(이하, "제 3 깊이 값"이라 함)과 상기 버퍼링 수단에 저장되어 있는 해당 블록 내 각 픽셀의 깊이 값(이하, "제 4 깊이 값"이라 함)을 비교하기 위한 제 1 비교수단; 및상기 가시성 판별수단으로부터의 판별결과에 따라 해당 블록 내 각 픽셀의 깊이 값 전송 여부를 결정하고, 상기 제 1 비교수단으로부터의 비교결과에 따라 상기 버퍼링 수단 및 블록 깊이 버퍼의 갱신 여부를 결정하기 위한 제어수단을 포함하는 픽셀 블록화를 이용한 버퍼링 장치.
- 제 8 항에 있어서,상기 가시성 판별수단은,블록 내 각 픽셀의 깊이 값 중 최소값을 저장하고 있는 상기 블록 깊이 버퍼; 및전송받은 블록정보의 블록 내 각 픽셀의 깊이 값 중 최대값(이하, "제 1 깊이 값"이라 함)과, 상기 블록 깊이 버퍼에 저장되어 있는 해당 블록 내 픽셀의 깊이 값 중 최소값(이하, "제 2 깊이 값"이라 함)을 비교하기 위한 제 2 비교수단을 포함하는 픽셀 블록화를 이용한 버퍼링 장치.
- 제 9 항에 있어서,상기 제어수단은,상기 제 2 비교수단으로부터의 비교결과, 상기 제 1 깊이 값이 상기 제 2 깊이 값을 초과하면 해당 블록 내 각 픽셀의 깊이 값을 전송받고, 상기 제 1 깊이 값이 상기 제 2 깊이 값을 초과하지 않으면 깊이 값 전송 중지신호를 전송하며, 상기 제 1 비교수단으로부터의 비교결과, 상기 제 3 깊이 값이 상기 제 4 깊이 값을 초과하면 상기 제 3 깊이 값으로 상기 제 4 깊이 값을 갱신하고 상기 제 3 깊이 값들 중에서 최소값으로 상기 제 2 깊이 값을 갱신하며, 상기 제 3 깊이 값이 상기 제 4 깊이 값을 초과하지 않으면 상기 제 4 깊이 값을 유지하는 것을 특징으로 하는 픽셀 블록화를 이용한 버퍼링 장치.
- 제 9 항 또는 제 10 항에 있어서,상기 제 1 깊이 값은,각각 블록정보의 블록 내 각 픽셀의 깊이 값 중 최대값의 상위 6비트이고,상기 제 2 깊이 값은,상기 블록 깊이 버퍼에 저장되어 있는 해당 블록 내 픽셀의 깊이 값 중 최소값의 상위 6비트인 것을 특징으로 하는 픽셀 블록화를 이용한 버퍼링 장치.
- 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,상기 제 1 비교수단은,24비트 비교기인 것을 특징으로 하는 픽셀 블록화를 이용한 버퍼링 장치.
- 픽셀 블록화를 이용한 버퍼링 방법에 있어서,블록정보를 이용하여 해당 블록 내 각 픽셀의 깊이 값 전송 여부를 결정하는 깊이 값 전송 결정단계;상기 결정결과에 따라 전송받은 해당 블록 내 각 픽셀의 깊이 값에 대한 픽셀 주소를 생성하는 단계; 및상기 전송받은 블록 내 각 픽셀의 깊이 값(이하, "제 3 깊이 값"이라 함)과 상기 생성한 픽셀 주소로 버퍼에 저장되어 있는 해당 블록 내 각 픽셀의 깊이 값(이하, "제 4 깊이 값"이라 함)을 비교하여 상기 버퍼 및 블록 깊이 버퍼의 갱신 여부를 결정하는 갱신 여부 결정단계를 포함하는 픽셀 블록화를 이용한 버퍼링 방법.
- 제 13 항에 있어서,상기 깊이 값 전송 결정단계는,전송받은 블록정보의 블록 내 각 픽셀의 깊이 값 중 최대값(이하, "제 1 깊이 값"이라 함)과, 상기 블록 깊이 버퍼에 저장되어 있는 해당 블록 내 픽셀의 깊이 값 중 최소값(이하, "제 2 깊이 값"이라 함)을 비교하는 비교단계; 및상기 비교단계의 비교결과, 상기 제 1 깊이 값이 상기 제 2 깊이 값을 초과하면 해당 블록 내 각 픽셀의 깊이 값을 전송받고, 상기 제 1 깊이 값이 상기 제 2 깊이 값을 초과하지 않으면 깊이 값 전송 중지신호를 전송하는 단계를 포함하는 픽셀 블록화를 이용한 버퍼링 방법.
- 제 14 항에 있어서,상기 갱신 여부 결정단계는,상기 제 3 깊이 값이 상기 제 4 깊이 값을 초과하면 상기 제 3 깊이 값으로 상기 제 4 깊이 값을 갱신하는 단계;상기 제 3 깊이 값들 중에서 최소값으로 상기 제 2 깊이 값을 갱신하는 단계; 및상기 제 3 깊이 값이 상기 제 4 깊이 값을 초과하지 않으면 상기 제 4 깊이 값을 유지하는 단계를 포함하는 픽셀 블록화를 이용한 버퍼링 방법.
- 제 14 항 또는 제 15 항에 있어서,상기 제 1 깊이 값은,각각 블록정보의 블록 내 각 픽셀의 깊이 값 중 최대값의 상위 6비트이고,상기 제 2 깊이 값은,상기 블록 깊이 버퍼에 저장되어 있는 해당 블록 내 픽셀의 깊이 값 중 최소값의 상위 6비트인 것을 특징으로 하는 픽셀 블록화를 이용한 버퍼링 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060131944 | 2006-12-21 | ||
KR20060131944 | 2006-12-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080058135A true KR20080058135A (ko) | 2008-06-25 |
KR100875995B1 KR100875995B1 (ko) | 2008-12-24 |
Family
ID=39803822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070047275A KR100875995B1 (ko) | 2006-12-21 | 2007-05-15 | 픽셀 블록화 방법 및 이를 이용한 버퍼링 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100875995B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100983739B1 (ko) | 2008-11-20 | 2010-09-24 | 중앙대학교 산학협력단 | 블록 기반 3차원 맵 모델링 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004104425A (ja) | 2002-09-09 | 2004-04-02 | Nippon Hoso Kyokai <Nhk> | 視差分布測定方法、視差分布測定装置および視差分布測定プログラム |
JP2006108792A (ja) | 2004-09-30 | 2006-04-20 | Fukuoka Pref Gov Sangyo Kagaku Gijutsu Shinko Zaidan | 画像信号の符号化方法および装置 |
-
2007
- 2007-05-15 KR KR1020070047275A patent/KR100875995B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100875995B1 (ko) | 2008-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102275712B1 (ko) | 렌더링 방법, 렌더링 장치 및 전자 장치 | |
KR101925292B1 (ko) | 비-정규 직교 그리드로의 텍스처 매핑을 위한 그라디언트 조정 | |
US7167171B2 (en) | Methods and apparatuses for a polygon binning process for rendering | |
US10235799B2 (en) | Variable rate deferred passes in graphics rendering | |
US7256791B2 (en) | Rasterization of three dimensional images | |
KR20080050279A (ko) | 다단계 해상도 지형의 이미지 튐 현상 완화 장치 및 방법 | |
US8395619B1 (en) | System and method for transferring pre-computed Z-values between GPUs | |
US8933945B2 (en) | Dividing work among multiple graphics pipelines using a super-tiling technique | |
US10217259B2 (en) | Method of and apparatus for graphics processing | |
KR20120034293A (ko) | 정점 처리 방법 및 장치 | |
JPH10334273A (ja) | 3次元画像処理装置及び3次元画像処理方法 | |
EP2676245B1 (en) | Method for estimation of occlusion in a virtual environment | |
JP6944304B2 (ja) | テクスチャ処理方法及びその装置 | |
JPH09330423A (ja) | 三次元形状データ変換装置 | |
US20140347355A1 (en) | Ray tracing core and method for processing ray tracing | |
KR100875995B1 (ko) | 픽셀 블록화 방법 및 이를 이용한 버퍼링 장치 및 그 방법 | |
KR20090059800A (ko) | 폴리곤의 특징에 적응된 순서로 래스터화하는 래스터화엔진 및 3차원 그래픽스 시스템 | |
US7113655B2 (en) | Image processing apparatus | |
JP3872056B2 (ja) | 描画方法 | |
JP2003308544A (ja) | ミップマップデータの高速読出方式 | |
JP2007047417A (ja) | 画像生成装置 | |
US10157492B1 (en) | System and method for transferring pre-computed Z-values between GPUS | |
CN118397226A (zh) | 一种三维模型确定方法及电子设备 | |
EP1306811A1 (en) | Triangle identification buffer | |
JP2009211243A (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: 20111129 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |