KR20100075351A - Method and system for rendering mobile computer graphic - Google Patents

Method and system for rendering mobile computer graphic Download PDF

Info

Publication number
KR20100075351A
KR20100075351A KR1020090040080A KR20090040080A KR20100075351A KR 20100075351 A KR20100075351 A KR 20100075351A KR 1020090040080 A KR1020090040080 A KR 1020090040080A KR 20090040080 A KR20090040080 A KR 20090040080A KR 20100075351 A KR20100075351 A KR 20100075351A
Authority
KR
South Korea
Prior art keywords
pixel
rendering
vertex
color
interpolation
Prior art date
Application number
KR1020090040080A
Other languages
Korean (ko)
Other versions
KR101118597B1 (en
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 KR20100075351A publication Critical patent/KR20100075351A/en
Application granted granted Critical
Publication of KR101118597B1 publication Critical patent/KR101118597B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Abstract

PURPOSE: A method and a system for rendering a mobile computer graphic are provided to use a fixed point arithmetic processor to efficiently perform rendering at low power consumption. CONSTITUTION: A rendering server(210) determines the attributes of each apex of a geometric model for a 3 dimensional object through vertex shaping in a world coordinate system, and generates vertex data which indicates the attributes of each vertex. Plural rendering clients(220) perform by using the generated vertex and the pre-stored image. The plural rendering clients generate new images.

Description

모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템{Method and System for Rendering Mobile Computer Graphic}Method and system for rendering mobile computer graphics {Method and System for Rendering Mobile Computer Graphic}

기하 기반 랜더링(Geometry based rendering: 이하, 'GBR'이라 칭함)은 3차원 그래픽 객체(Graphic Object)의 기하학적 모델(Geometric Model)에 근거하여 만들어진 와이어 프레임 메쉬 모델(Wire Frame Mesh Model)을 카메라로 찍어낸 것처럼 합성하는 기법을 말한다. 일반적으로 3차원 컴퓨터 그래픽은 GBR을 지칭하며, 실사적인 GBR은 기하학적 모델의 복잡성 및 디스플레이하는 상세도(Level of Detail)에 따라 많은 연산과 메모리 액세스를 필요로 한다.Geometry based rendering (hereafter referred to as 'GBR') is a camera that takes a wire frame mesh model created based on a geometric model of a three-dimensional graphic object. It is a technique of synthesizing as if made. In general, three-dimensional computer graphics refer to GBR, and realistic GBR requires a lot of computation and memory access depending on the complexity of the geometric model and the level of detail displayed.

최근의 컴퓨터 그래픽은 GBR뿐만 아니라 이미지 기반 랜더링(Image Based Rendering: 이하, 'IBR'이라 칭함)도 포함한다. IBR은 미리 캡쳐된 다수의 이미지를 이용하여 새로운 카메라의 위치, 시간 및 환경에 따라 이미지를 만들어내는 기법을 말한다. 이때, 캡쳐된 이미지들을 이용하여 랜더링되는 장면에 적합한 이미지를 합성할 때, 좌표이동, 확대 및 수축 회전 등을 고려하여 이미지 워핑(Image Warping), 이미지 모핑(Image Morphing) 및 투시 변환(Perspective Transformation)(영상의 시각에 따른 변환)이 가장 흔히 사용된다.Modern computer graphics include GBR as well as Image Based Rendering (hereinafter referred to as IBR). IBR is a technique that uses a number of pre-captured images to create images based on the location, time and environment of a new camera. At this time, when compositing an image suitable for a rendered scene by using captured images, image warping, image morphing, and perspective transformation are considered in consideration of coordinate shift, zoom, and rotation. (Visually transformed image) is most commonly used.

더욱 빠르고, 사실적인 랜더링을 위하여 점차 IBR과 GBR이 혼합되어 사용되 는 추세이다. 특히, 애니메이션의 경우 물체나 카메라가 움직일 때, 매번 새 프레임을 새로 랜더링하는 것보다 과거에 만들어진 프레임을 업데이트하는 것이 효율적이다.IBR and GBR are increasingly used for faster and more realistic rendering. In the case of animation, in particular, when an object or camera moves, it is more efficient to update a frame that was created in the past than to render a new frame each time.

GBR에서 물체(Geometric Object, Triangle, Polygon)를 랜더링할 때, 물체의 물질 특성에 따라 이미지를 합성하는 것보다, 미리 캡쳐된 이미지를 랜더링하려는 물체의 표면에 자리를 맞추어 부착시키는 방법이 자주 사용된다. 이러한 기법을 텍스쳐 매핑(Texture Mapping)이라 하며, 이때 이미지는 주어진 시각에 따라 투시 보정(Perspective Correct)되어야 한다. 이러한 면에서, 텍스쳐 매핑은 IBR과 매우 비슷한 연산을 하게 된다.When rendering an object (Geometric Object, Triangle, Polygon) in GBR, it is often used to attach a pre-captured image to the surface of the object to be rendered, rather than to synthesize the image according to the material properties of the object. . This technique is called texture mapping, and the image must be perspective corrected according to a given time. In this respect, texture mapping is very similar to IBR.

한편, 컴퓨터 그래픽을 빠른 속도로 랜더링하기 위해서, 종래에는 도 1과 같은 하드웨어 기반의 가속기인 그래픽 처리 파이프라인(Graphics Processing Pipeline)을 사용한다.Meanwhile, in order to render computer graphics at a high speed, a graphics processing pipeline, which is a hardware-based accelerator such as FIG. 1, is conventionally used.

도 1을 참조하면, 종래의 그래픽 처리 파이프라인은 랜더링하려는 물체 예컨대, 삼각형의 세 꼭지점을 카메라를 원점으로 하는 4차원 동차 좌표 기반의 정규 뷰 볼륨(Canonical View Volume) 상의 좌표로 변환하고(S110), 이 좌표로 표기된 이미지들에서 뷰 볼륨 외부에 있는 부분을 잘라내는 클리핑(Clipping)(S120) 과정을 거친 후, 이를 화면 상에 투영하며(S130), 화면에 투영된 이미지들의 세 꼭지점에 부여된 색상을 이용하여 선형 보간(Linear Interpolation)으로 이미지 내부의 색상을 계산(Rasterization)(S140)하여 스크린으로 보낸다.Referring to FIG. 1, the conventional graphics processing pipeline converts three vertices of an object to be rendered, for example, triangles, into coordinates on a canonical view volume based on a 4D homogeneous coordinate with the camera as the origin (S110). After the process of clipping (S120) to cut out the portion outside the view volume from the images indicated by these coordinates, the image is projected on the screen (S130), and the three vertices of the images projected on the screen are assigned. Color is sent to the screen by rasterization (S140) in the image by linear interpolation (Linear Interpolation) using the color.

기존의 그래픽 처리 파이프라인은 하드웨어의 복잡성을 줄이기 위하여 기하 학적인 데이터를 모두 카메라 또는 눈을 원점으로 하는 정규 시각 공간(Canonical Eye Space)으로 좌표변환하고, 물체를 3차원 공간에서 2차원 공간으로 투영할 때 3차원 공간을 4차원으로 연장한 동차 공간(Homogeneous Space)을 사용한다. 동차 공간을 사용하면, 투시 투영(Perspective Projection)에 필요한 모든 좌표변환을 묶어 하나의 4 x 4 행렬을 곱하여 연산할 수 있는 장점이 있다. 한편, 동차 투영(Homogeneous Projection)의 특성상, 랜더링하기 전에 카메라 뒤에 있는 물체가 뒤집어져 나타나는 현상을 방지하기 위하여, 랜더링되는 공간인 뷰 프러스텀(View Frustum)을 정의하고, 이 공간 외부에 있는 물체를 미리 잘라주는 뷰 프러스텀 클리핑(View Frustum Clipping)이 선행되어야 한다. 동차 공간에서는 하드웨어 기반의 가속기로 클리핑을 쉽게 수행할 수 있다.Existing graphics processing pipeline transforms all geometric data into Canonical Eye Space with camera or eye origin in order to reduce hardware complexity, and project objects from 3D space to 2D space. In this case, we use homogeneous space that extends three-dimensional space into four dimensions. Using homogeneous space has the advantage of combining all the coordinate transformations required for Perspective Projection and multiplying them into a single 4 x 4 matrix. On the other hand, due to the nature of Homogeneous Projection, in order to prevent the object behind the camera from being flipped before rendering, a view frustum, which is a rendered space, is defined, and an object outside the space is defined. View Frustum Clipping must be preceded. In homogeneous spaces, clipping can be easily done with a hardware-based accelerator.

3차원 공간에서 주어진 와이어 프레임은 그 표면이 수많은 삼각형의 조각으로 구성되며, 각 와이어 프레임의 꼭지점(Vertex)마다 물체의 특성에 따라 여러 가지의 속성(색, 밝기, texture, 투명도 및 반사도 등)이 주어진다. 여기서, 주어진 속성은 물체의 주위 환경, 광원 특성, 광원의 수에 따라 색, 밝기 등이 달라진다. 기존의 그래픽 처리 파이프라인에서는 비교적 간단한 조명모델(Illumination Model)을 사용하며, 필요에 따라 여러 차례의 연산으로 쉐이더(Shader)를 사용하여 1차 랜더링된 것을 보완하게 된다.In a three-dimensional space, a wire frame is made up of numerous triangular pieces whose surface has different properties (such as color, brightness, texture, transparency, and reflectivity) for each vertex of each wire frame, depending on the characteristics of the object. Is given. Here, the given property is changed in color, brightness, etc. according to the environment of the object, the light source characteristics, the number of light sources. The existing graphics processing pipeline uses a relatively simple illumination model, which supplements the primary rendering using shaders in several operations as needed.

래스터화(Rasterization) 단계에서는 2차원 공간으로 투영되는 삼각형 내부에 들어오는 각 픽셀마다 삼각형의 세 꼭지점에서 정의된 속성 데이터를 사용하여 적절한 색상을 결정하고, 스크린 버퍼(Screen Buffer)에 기록하게 된다. 이 단계는 하드웨어 기반의 가속기를 사용하며, 간단한 연산자를 사용하여 세 꼭지점의 색을 선형 보간(Linear Interpolation)으로 계산한다. 선형 보간에 의한 계산은, 물체가 가까이 있고 넓은 시각에 분포되어 있는 경우에는, 원근 왜곡이 심하게 되기 때문에, 이를 해결하려면 투시 보정 보간(Perspective Correct Interpolation)을 사용하여야 한다. 이러한 왜곡은 특히 텍스쳐 매핑의 경우를 포함하며, 사용자에게 거부감을 준다.In the rasterization step, for each pixel coming into the triangle projected into the two-dimensional space, the appropriate color is determined using the attribute data defined at the three vertices of the triangle, and then written to the screen buffer. This step uses a hardware-based accelerator and computes the color of the three vertices by linear interpolation using a simple operator. The calculation by linear interpolation requires perspective correction interpolation to solve this problem, because the perspective distortion is severe when the object is near and distributed in a wide view. This distortion includes especially the case of texture mapping, which gives the user a sense of rejection.

한편, 반도체 기술의 발전으로 그래픽 처리 장치(Graphics Processing Unit: GPU)의 연산속도 및 성능이 급속히 증가되며, 랜더링 기술도 SIMD(Single Instruction Multiple Data) 구조를 가지는 프로그램 쉐이더(Programmable Shader)가 핵심을 이루게 되었고, 더욱 현실적인 랜더링을 위하여 많은 연산이 사용되는 광추적(Raytracing) 기법이 보편화되는 추세이다.Meanwhile, with the development of semiconductor technology, the computational speed and performance of the graphics processing unit (GPU) are rapidly increased, and the rendering technology also includes a program shader having a single instruction multiple data (SIMD) structure. In general, the ray tracing technique that uses many operations for more realistic rendering is becoming a trend.

광추적 기법은 카메라에서 화면을 통하여 물체로 직진하는 광선을 내보내어 물체와의 교점을 구하고, 여러 광원으로부터 그 교점에 도달하는 빛이 반사되어 픽셀에 도달하는 광 강도(Light Intensity) 및 색상의 합계를 계산하여 샘플링한다.Light-tracking technique sends out a ray of light that goes straight through the screen from the camera to the object to find the intersection with the object, and the light intensity and color that reaches the pixel by reflecting light reaching the intersection from various light sources. Calculate and sample

광추적 기법은 물체가 투명체, 반투명체 및 반사체인 경우에도 적용된다. 광선이 이러한 물체와 만나면, 그 점에서 굴절 혹은 반사의 법칙을 이용하여 새 광선의 진로(Path, Direction)를 정해 새로운 광선을 내보내고, 이 새로운 광선과 다른 물체와의 교점을 구하고 이러한 과정을 반복하여 최종 색상을 구할 수 있다. 또한, 교점에서 색상을 계산할 때 광원에서 출발한 빛이 그 교점에 비추어지는 정도(Light Source Visibility)에 따라 명암 및 색상을 조정하게 된다.Light tracking techniques also apply when the object is a transparent, translucent and reflector. When a ray meets these objects, it uses the law of refraction or reflection to determine the path and direction of the new ray to emit a new ray, find the intersection of this new ray with another object, and repeat this process. You can get the final color. In addition, when calculating the color at the intersection, the contrast and color are adjusted according to the degree of light source visibility from the light source.

하지만, 광추적 기법 역시 포인트 샘플링(Point Sampling)에 의한 값을 사용하여 앨리어싱(Aliasing)이 발생 가능하기 때문에, 이를 해결하는 방법으로 한 픽셀당 여러 광선을 내보내 픽셀 평균치를 사용하는 슈퍼 샘플링(Super Sampling)이 안티앨리어싱 방법으로 주로 사용된다.However, since the aliasing can occur by using the value of the point sampling, it can be solved by the super sampling which uses the pixel average value by exporting several rays per pixel. ) Is often used as an antialiasing method.

본 발명은 저전력 소모를 요구하는 모바일 장치 환경에서, IBR과 GBR을 하나의 플랫폼으로 효율적으로 수행하여 투시 보정(Perspectively Correct)하고, 실제 면적 평균(True Area Average)을 이용하는 안티앨리어싱을 수행함으로써, 고품질의 이미지를 랜더링하는 알고리즘, 하드웨어 소프트웨어 아키텍쳐를 구현하기 위한 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템을 제공한다.According to the present invention, in a mobile device environment requiring low power consumption, IBR and GBR are efficiently performed on a single platform to provide perspective correction and antialiasing using a true area average. An algorithm for rendering an image of a computer, a method and system for rendering a computer graphics for a mobile device to implement a hardware software architecture.

본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호:2007-S-026-02, 과제명:MPCore 플랫폼 기반 다중 포맷 멀티미디어 SoC]The present invention is derived from the research conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy and the Ministry of Information and Communication Research and Development. [Task management number: 2007-S-026-02, Task name: Multi-format multimedia SoC based on MPCore platform] ]

멀티미디어 단말기용 콘텐츠들이 고급화 및 다양화됨에 따라 모바일 멀티미디어 SoC(System on Chip)는 낮은 전력소모로 빠른 시간 내에 시각적으로 충실한 화질의 영상을 만들어내는 고성능을 요구하고 있다. 고화질의 멀티미디어 단말기의 응용분야로 게임, 애니메이션 및 네비게이션 등은 전송 대역폭을 줄이기 위하여 압축된 3차원 그래픽 데이터의 형태로 멀티미디어 단말기로 전송되며, 멀티미디어 단말기에서는 압축된 데이터를 이용하여 이미지를 구현하게 된다.As contents for multimedia terminals are advanced and diversified, mobile multimedia system on chip (SoC) requires high performance to produce visually faithful image quality in a short time with low power consumption. As a field of application of high quality multimedia terminals, games, animations and navigation are transmitted to the multimedia terminal in the form of compressed 3D graphic data in order to reduce the transmission bandwidth, and the multimedia terminal implements the image using the compressed data.

한편, 그래픽 랜더링은 특정 카메라에 보여지는 것처럼 장면을 합성하는 것 이다. 이때 합성된 이미지의 픽셀 데이터는 각 픽셀의 중심점 샘플이 아니라, 카메라의 광 민감도 특성을 고려하여 각 픽셀에 도달하는 광 강도(Light Intensity)와 각 픽셀 면적 상의 평균값을 사용해야 한다.Graphic rendering, on the other hand, is the composition of scenes as seen by a particular camera. In this case, the pixel data of the synthesized image should use the light intensity reaching each pixel and the average value of each pixel area in consideration of the light sensitivity characteristics of the camera, not the center point sample of each pixel.

만약, 광 강도가 이미지 샘플링 포인트 간격보다 적은 공간에서 빠르게 변화한다면, 포인트 샘플로 구성된 이미지는 빠른 변화에 의한 효과를 바르게 나타내지 못하고, 시각적으로 거북하게 느껴질 수 있다.If the light intensity changes rapidly in a space less than the image sampling point interval, the image composed of the point samples may not visually exhibit the effect of the fast change and may be visually disturbed.

이러한 앨리어싱(Aliasing)은 충분한 샘플링을 통하여 줄일 수 있지만, 포인트 샘플링에서는 이미지의 픽셀 크기보다 더 작은 공간에서의 변화로 인해 언제든지 앨리어싱이 생길 수 있으며, 물체 간 경계선에 날카로움이 생기거나, 주기가 빠르게 변하는 영역에서는 심한 왜곡이 생기고, 특히 애니메이션의 경우 픽셀 점멸 현상이 나타나게 된다. 이러한 원근 왜곡을 배제하려면 포인트 샘플이 아닌 영역 샘플이 사용되어야 한다.Aliasing can be reduced by sufficient sampling, but in point sampling, aliasing can occur at any time due to changes in the space smaller than the pixel size of the image. Severe distortion occurs in the area, especially pixel blinking in animation. To exclude this perspective distortion, area samples, not point samples, should be used.

이러한 앨리어싱을 없애기 위해, 고정 함수 그래픽 파이프라인(Fixed Function Graphics Pipeline)에서는 래스터화 후, 후처리 필터(Post Processing Filter)를 사용하여 처리하거나 각 픽셀당 여러 샘플을 취하여 평균값을 구하는 슈퍼 샘플링(Super Sampling) 방법이 사용된다.In order to eliminate this aliasing, the fixed function graphics pipeline can be rasterized and processed using a post processing filter or supersampling by taking multiple samples per pixel to average. ) Method is used.

하지만, 슈퍼 샘플링 역시 경우에 따라 앨리어싱 현상이 나타날 수 있고, 래스터화 단계에서 삼각형 내의 색, 밝기를 결정할 때, 꼭지점 데이터를 사용한 선형 보간(Linear Interpolation)을 사용하면, 물체가 가까이 있고 넓은 시각에 분포되어 있는 경우, 원근감을 바르게 나타내지 못하여 원근 왜곡(Perspective Distortion) 현상이 생기며, 이를 해결하려면 원근감을 바르게 다루는 투시 보정 매핑(Perspective Correct Mapping)을 사용하여야 한다. 또한, IBR 기법이 보편화, 다양화되면서, 이에 필요한 원근 보정 연산을 필요로 한다.However, supersampling can also occur in some cases, and in the rasterization phase, when linear interpolation using vertex data is used to determine the color and brightness within a triangle, the object is near and distributed to a wider perspective. In this case, perspective distortion may not be represented properly, and perspective correction mapping may be used to solve the perspective. In addition, as IBR techniques are becoming more and more popular, they require perspective correction calculations.

따라서, 종래에는 그래픽 처리로 랜더링하는 데 많은 연산을 필요로 하고, 많은 데이터 액세스를 필요로 하며, 이는 바로 전력소모 및 성능저하로 이어지는 문제점이 있었다.Therefore, conventionally, a lot of operations are required to render in graphics processing, and a lot of data access, which is a problem that leads to power consumption and performance degradation.

본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로서, 컴퓨터 그래픽을 랜더링할 때, 연산량을 줄여주기 위한 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템을 제공하는 데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object thereof is to provide a computer graphics rendering method and system for mobile to reduce the amount of computation when rendering computer graphics.

본 발명의 다른 목적은 컴퓨터 그래픽을 랜더링할 때, 이미 액세스된 데이터를 최대한 재사용하여 메모리 액세스를 줄여주고, 여러 병렬 연산자를 사용하는 경우 각 연산자 간의 데이터 상관관계를 줄여 메모리 액세스 경합을 줄여주기 위한 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템을 제공한다.Another object of the present invention is to reduce memory access by rendering the computer graphics as much as possible to reuse the already accessed data, and to reduce the memory access contention by reducing the data correlation between each operator when using multiple parallel operators Computer graphics rendering method and system.

본 발명의 다른 목적은 저전력 소모를 요구하는 모바일 장치 환경에서, IBR과 GBR을 하나의 플랫폼으로 효율적으로 수행하여 고품질의 이미지를 랜더링하기 위한 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템을 제공한다.It is another object of the present invention to provide a computer graphics rendering method and system for mobile for rendering high quality images by efficiently performing IBR and GBR on one platform in a mobile device environment requiring low power consumption.

이와 같은 목적을 달성하기 위한 본 발명은, 전역 좌표계 상에서 꼭지점 쉐이딩을 통하여 3차원으로 표시된 물체의 기하학적 모델의 각 꼭지점의 속성을 결정하고, 상기 각 꼭지점의 속성을 나타내는 꼭지점 데이터를 생성하는 랜더링 서버; 및 상기 생성된 꼭지점 데이터와 기저장된 이미지를 이용하여 랜더링을 수행하고 새로운 이미지를 생성하는 다수의 랜더링 클라이언트를 포함하는 모바일용 컴퓨터 그래픽 랜더링 시스템을 제공한다.According to an aspect of the present invention, there is provided a rendering server configured to determine attributes of each vertex of a geometric model of an object displayed in three dimensions through vertex shading on a global coordinate system, and generate vertex data representing the attributes of each vertex; And a plurality of rendering clients performing rendering using the generated vertex data and the pre-stored image and generating a new image.

본 발명은, 전역 좌표계 상에서 주어진 픽셀의 모든 꼭지점이 픽셀 그리드 평면에 투영된 이미지 내부에 존재하는지 여부를 판단하는 단계; 상기 픽셀이 다수의 이미지에 걸쳐있는 경우, 픽셀 조각의 각 꼭지점의 속성을 이용한 보간(Interpolation)으로 상기 픽셀 조각의 각 꼭지점의 색상값을 계산하는 래스터화 단계; 및 상기 픽셀 조각의 각 꼭지점의 색상값의 합을 (픽셀 조각의 면적 * 픽셀 조각의 꼭지점 개수)로 나누어 상기 픽셀의 색상을 구하는 단계를 포함하는 모바일용 컴퓨터 그래픽 랜더링 방법을 제공한다.The present invention comprises the steps of determining whether all vertices of a given pixel on a global coordinate system are inside an image projected on the pixel grid plane; A rasterization step of calculating color values of each vertex of the pixel piece when the pixel spans a plurality of images by interpolation using an attribute of each vertex of the pixel piece; And dividing the sum of the color values of the vertices of the pixel fragment by the area of the pixel fragment * the number of vertices of the pixel fragment to obtain the color of the pixel.

이상에서 설명한 바와 같이 본 발명에 의하면, IBR과 GBR을 하나의 플랫폼으로 랜더링을 수행하는 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템을 제공함으로써, 고품질의 이미지를 효율적으로 처리하는 효과가 있다.As described above, according to the present invention, by providing a computer graphics rendering method and system for mobile that renders IBR and GBR on one platform, there is an effect of efficiently processing high quality images.

또한, 컴퓨터 그래픽을 랜더링할 때 고정 소수점 산술 프로세서를 사용함으로써, 랜더링을 저전력 소모로 효율적으로 수행할 수 있다.In addition, by using a fixed-point arithmetic processor when rendering computer graphics, rendering can be efficiently performed at low power consumption.

또한, 각 꼭지점의 색상을 구할 때 물체의 거리에 따라 다른 보간 기법을 사용함으로써, 원근 왜곡 현상을 줄여줄 수 있고, 이에 따라 애니메이션이나 게임 등과 같은 응용 프로그램을 효율적으로 처리할 수 있다.In addition, when the color of each vertex is used to interpolate differently depending on the distance of the object, it is possible to reduce the perspective distortion, thereby efficiently processing an application such as animation or game.

또한, 2차원 공간 영역을 임의로 여러 개로 겹치지 않게 분할하고, 분할된 영역마다 병렬 벡터 연산자를 사용하여 GBR과 IBR을 수행함으로써, 각 연산자 간의 데이터 상관관계를 줄여 메모리 액세스 경합을 줄여주는 효과가 있다.In addition, by dividing the two-dimensional space region arbitrarily without overlapping, and performing the GBR and IBR using the parallel vector operator for each divided region, there is an effect of reducing the memory access contention by reducing the data correlation between each operator.

이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 또 한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, in describing the present invention, if it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

실시예Example

도 2는 본 발명의 일실시예에 따른 모바일용 컴퓨터 그래픽 랜더링 시스템을 나타낸 도면이다.2 is a diagram illustrating a computer graphics rendering system for mobile according to one embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명에 따른 모바일용 컴퓨터 그래픽 랜더링 시스템(200)은 랜더링 서버(210)와 랜더링 클라이언트(220)로 분할된다.As shown in FIG. 2, the computer graphics rendering system for mobile 200 according to the present invention is divided into a rendering server 210 and a rendering client 220.

본 발명에 따른 랜더링 클라이언트(220)는 랜더링 서버(210)에서 주어지는 압축 데이터와 기저장된 데이터 즉, 이미지를 이용하여 새로운 이미지를 만들어내고, 랜더링 서버(210)의 일부 기능을 포함할 수도 있다.The rendering client 220 according to the present invention may generate a new image using the compressed data and the pre-stored data, that is, the image, which are given from the rendering server 210, and may include some functions of the rendering server 210.

랜더링 클라이언트(220)는 랜더링을 저전력 소모로 효율적으로 수행하도록 고정 소수점 산술 프로세서(Fixed Point Arithmetic Processor)를 사용한다.The rendering client 220 uses a fixed point arithmetic processor to efficiently perform rendering at low power consumption.

본 발명에 따른 랜더링 서버(210)는 응용 프로그램 인터페이스를 통하여 애니메이션이나 게임 등과 같은 응용 프로그램과 인터페이스되고, 기하학적 모델을 랜더링 클라이언트(220)에서 랜더링할 수 있도록 미리 처리하여, 랜더링 클라이언트(220)가 필요로 하는 데이터를 압축하여 전송하고, 랜더링 클라이언트(220)의 랜더링 동작에 따라 랜더링 클라이언트(220)가 필요로 하는 데이터를 미리 전송할 수도 있다.The rendering server 210 according to the present invention interfaces with an application program such as an animation or a game through an application program interface, and processes the geometric model in advance so that the rendering client 220 can render the rendering client 220. The compressed data may be compressed and transmitted, and the data required by the rendering client 220 may be transmitted in advance according to the rendering operation of the rendering client 220.

본 발명에 따른 모바일용 컴퓨터 그래픽 랜더링 시스템(200)은 랜더링 서 버(210)를 기하학적 엔진(Geometry Engine), 랜더링 클라이언트(220)를 랜더링 엔진(Rendering Engine)으로 정의하고, 적어도 하나 이상의 랜더링 클라이언트를 포함하여, 랜더링 클라이언트에서 랜더링 서버(210)의 일부 기능을 수행할 수도 있다.The computer graphics rendering system for mobile 200 according to the present invention defines a rendering server 210 as a geometry engine, a rendering client 220 as a rendering engine, and defines at least one rendering client. In addition, the rendering client may perform some functions of the rendering server 210.

본 발명에 따른 랜더링 서버(210)와 랜더링 클라이언트(220)에서는, 랜더링 서버(210) 하나가 주어진 장면을 여러 개의 다른 시점, 다른 시각, 다른 화면 영역으로 각각 사용하는 다수의 랜더링 클라이언트를 가질 수 있다.In the rendering server 210 and the rendering client 220 according to the present invention, one rendering server 210 may have a plurality of rendering clients each using a given scene at several different viewpoints, different times, and different screen regions. .

랜더링 서버(210)는 전역 좌표계(World Coordinate System; WCS) 상에서 조명모델 및 주위환경을 고려하여 주어진 데이터의 각 꼭지점에 색, 밝기, 텍스쳐 및 투명도 등을 포함하는 속성을 결정한다. 이러한 기능은 꼭지점 쉐이더(Vertex Shader) 및 쉐도윙(Shadowing)을 복합한 것으로 볼 수 있다.The rendering server 210 determines an attribute including color, brightness, texture, transparency, and the like at each vertex of the given data in consideration of the lighting model and the surrounding environment on the World Coordinate System (WCS). This can be seen as a combination of vertex shaders and shadowing.

랜더링 서버(210)는 이러한 꼭지점 쉐이딩을 끝내고, 각 랜더링 클라이언트(220)에 맞게 은면(Hidden Surface)이 제거된 꼭지점 데이터(Vertex Data)를 보낸다.The rendering server 210 finishes this vertex shading and sends vertex data from which hidden surfaces have been removed for each rendering client 220.

본 발명에 따른 랜더링 클라이언트(220)는 랜더링 서버(210)에서 카메라 데이터를 기반으로 샘플링 그리드(Sampling Grid)를 정하여 기하학적 엔진에 의해 전달된 꼭지점 데이터에 의거하여 랜더링을 수행하게 된다. 랜더링 클라이언트(220)에서 꼭지점 데이터를 이용하여 랜더링을 수행하는 구체적인 방법에 대해서는 도 3 내지 도 5에서 후술하기로 한다.The rendering client 220 according to the present invention determines a sampling grid based on camera data in the rendering server 210 and performs rendering based on vertex data transmitted by the geometric engine. A detailed method of performing rendering using vertex data in the rendering client 220 will be described later with reference to FIGS. 3 to 5.

도 3은 전역 좌표계 상에서 픽셀을 통과하는 광선과 투영된 이미지의 교점을 구하는 방법을 설명하기 위한 도면이다.FIG. 3 is a diagram for describing a method of obtaining an intersection of a ray passing through a pixel and a projected image on a global coordinate system.

도 3은 전역 좌표계 상에서 3차원으로 표시된 물체(310)의 꼭지점 및 카메라 좌표를 사용하고, 카메라의 픽셀들을 통과한 빛이 물체에서 반사되어 카메라의 픽셀에 투영되는 관계를 나타낸다. 즉, 물체(310) 내의 임의의 점에서 출발한 빛이 카메라로 진행할 때, 디스플레이 화면(320) 상에 투영되는 점을 나타낸다.3 uses the vertices and camera coordinates of the object 310 represented in three dimensions on the global coordinate system, and illustrates the relationship in which light passing through the pixels of the camera is reflected from the object and projected onto the pixels of the camera. That is, it indicates a point projected on the display screen 320 when light starting at an arbitrary point in the object 310 proceeds to the camera.

도 3을 참조하면, 단위 벡터 ez는 카메라의 시선 방향을 정의하는 단위 벡터이며, ey는 카메라 공간의 위쪽 방향(y축)을 정의하는 단위 벡터이고, ex는 카메라 공간의 수평축(x축)을 정의하는 단위 벡터로서, 카메라 공간의 세 개의 단위 기초 벡터를 이룬다.Referring to FIG. 3, a unit vector e z is a unit vector defining a direction of a camera's line of sight, e y is a unit vector defining an upward direction (y-axis) of camera space, and e x is a horizontal axis (x of camera space). Axis, a unit vector that defines three unit base vectors in camera space.

이 카메라 공간의 단위 벡터들을 전역 좌표계의 좌표로 표기하고, 스크린(320) 상의 샘플 포인트 x축, y축 인덱스값을 kx, ky라 하면, S(kx, ky)는 전역 좌표계로 표기된 스크린 샘플 포인트(Screen Sample Point)가 된다. 광추적이란 카메라 원점(E)에서 출발하여 픽셀(kx, ky)를 통과하는 시선이 물체와 만나는 교점(Ray-triangle Intersection)의 색상을 계산하는 방법을 의미한다. 이러한 교점은 벡터 크로스 프로덕트(Vector Cross Product)와 도트 프로덕트(Dot Product)를 이용한 수학식 1에 의해 계산된다.When unit vectors of the camera space are expressed in coordinates of the global coordinate system, and the sample point x-axis and y-axis index values on the screen 320 are kx and ky, S (kx, ky) is a screen sample point expressed in the global coordinate system. (Screen Sample Point). Light tracking refers to a method of calculating a color of a ray-triangle intersection where the line of sight that passes from the camera origin E and passes through the pixels kx and ky meets an object. This intersection is calculated by Equation 1 using a vector cross product and a dot product.

Figure 112009027642363-PAT00001
Figure 112009027642363-PAT00001

이 교점에서의 색상은 꼭지점에서 주어진 값을 선형 보간(Linear Interpolation)하여 구한다. 또한, 광선(kx, ky)가 만나는 물체가 없으면, 랜더링하려는 장면의 배경 색상을 그대로 이용한다. 이러한 방법으로 모든 샘플 포인트에서의 색상이 정해진다.The color at this intersection is obtained by linear interpolation of the values given at the vertices. Also, if there is no object where the rays kx and ky meet, the background color of the scene to be rendered is used as it is. In this way the color at all sample points is determined.

도 4는 본 발명의 픽셀 조각의 길이와 면적과의 관계를 나타낸 그래프이다.4 is a graph showing the relationship between the length and area of a pixel piece of the present invention.

도 4를 참조하면, 주어진 픽셀에 여러 이미지가 걸쳐있는 경우, 픽셀 조각의 길이(λ) 및 면적(a)을 직선(410)과 픽셀 중심(420) 간의 거리(d')로 표기한 그래프로서, 이 조각의 길이 함수(430)와 면적 함수(440)는 직선(410)의 기울기(m)에 따라 다르게 변화하는데, 이 함수는 미리 계산하여 룩업 테이블(Look up Table)로 만들어, 픽셀의 색상을 구할 때 사용된다.Referring to FIG. 4, when a plurality of images span a given pixel, the length (λ) and area (a) of the pixel fragment are represented by a distance d 'between the straight line 410 and the pixel center 420. The length function 430 and the area function 440 of the fragment change differently according to the slope m of the straight line 410. The function is calculated in advance to make a look up table, and the color of the pixel. It is used to find.

도 5는 전역 좌표계 상에서 픽셀에 의해 분할되는 교점을 계산하는 방법을 설명하기 위한 도면이다.FIG. 5 is a diagram for describing a method of calculating an intersection divided by a pixel on a global coordinate system.

도 5를 참조하면, 물체의 투영된 이미지 경계가 픽셀 내부를 통과할 때 여러 개의 픽셀 조각이 생기는 것을 나타내며, 이러한 픽셀 조각의 모든 꼭지점의 좌표를 계산한다.Referring to FIG. 5, it is shown that when a projected image boundary of an object passes inside a pixel, several pixel pieces are generated, and the coordinates of all the vertices of the pixel pieces are calculated.

모든 픽셀 조각의 꼭지점에서의 색상도 원래의 이미지의 꼭지점 값을 이용하여 연산 가능하다. 전역 좌표계로 표기된 3차원 공간에 정의된 직선이 화면의 x축 픽셀 그리드에 의하여 공간 분할하는 평면과의 교점을 계산하는 방법을 보여준다. 같은 방법으로 모든 픽셀 그리드의 x-화면 방향, y-화면 방향에서 계산되며, 시각적으로 바르게 계산된다. Nx는 kx 픽셀 그리드 평면의 법선 벡터(Unit Normal Vector)이고, RA, RB는 전역 좌표계의 3차원 좌표, E는 전역 좌표계 상의 카메라 위치를 나타낸다. 교점에서의 색상 계산은 점 A와 점 B의 색상을 선형 보간으로 계산한다.The color at the vertices of every pixel fragment can also be computed using the vertex values of the original image. It shows how to calculate the intersection with the plane that the line defined in 3D space expressed in global coordinate system is spatially divided by the x-axis pixel grid of the screen. In the same way, it is calculated in the x-screen direction, y-screen direction of every pixel grid, and is calculated correctly visually. Nx is a unit normal vector of the kx pixel grid plane, RA and RB are three-dimensional coordinates of the global coordinate system, and E represents a camera position on the global coordinate system. Color calculation at the intersection computes the color of points A and B by linear interpolation.

도 6은 본 발명의 일실시예에 따른 앤티앨리어싱 광추적 기반의 래스터화 방법을 나타낸 알고리즘이다.6 is an algorithm illustrating an anti-aliasing light tracking based rasterization method according to an embodiment of the present invention.

도 6을 참고하면, 본 발명은 픽셀 코너 샘플링(Pixel Coner Sampling)을 사용하는 광추적 기법을 기반으로 하는 래스터화를 제시한다. 즉, 픽셀이 투영된 다수의 이미지에 의해 나눠지는 경우 나눠진 픽셀 조각의 각 꼭지점의 색, 밝기를 보간하여 각 꼭지점의 색상값을 계산하고, 모든 꼭지점의 색상값과 픽셀 조각의 면적을 이용하여 픽셀의 색상 면적평균값을 산출한다.Referring to FIG. 6, the present invention proposes a rasterization based on a light tracking technique using pixel corner sampling (Pixel Coner Sampling). That is, when a pixel is divided by a plurality of projected images, the color values of each vertex are calculated by interpolating the color and brightness of each divided pixel fragment, and the pixel values are calculated using the color values of all the vertices and the area of the pixel fragments. The color area average value of is calculated.

도 7은 본 발명의 일실시예에 따른 모바일용 컴퓨터 그래픽 랜더링 방법을 나타낸 흐름도이다.7 is a flowchart illustrating a method for rendering computer graphics for mobile according to an embodiment of the present invention.

본 발명에 따른 모바일용 컴퓨터 그래픽 랜더링 방법은 기존의 동차 좌표계(Homogeneous Coordinate System)를 사용하지 않고, 전역 좌표계(World Coordinate System, 이하, 'WCS'라 칭함)로 표시된 데이터를 사용하여 광추적(Ray Tracing) 기법과 기존의 래스터화(Rasterization)의 장점을 사용하여 높은 화질의 화면을 빠른 속도로 랜더링하게 된다. WCS를 사용하기 때문에 카메라 뒤에 있는 물체를 미리 클리핑(Clipping)하지 않고, 4차원 연산이 아닌 3차원 벡터 연산을 사용하여 랜더링에 필요한 계산을 수행한다.The computer graphics rendering method for mobile according to the present invention does not use a conventional Homogeneous Coordinate System, but uses light displayed in a global coordinate system (hereinafter referred to as 'WCS') to perform light tracking. By using the tracing technique and the advantages of the existing rasterization, a high quality screen is rendered at a high speed. Because WCS is used, it does not pre-clip the object behind the camera and uses the 3D vector operation rather than the 4D operation to perform the calculation required for rendering.

즉, 본 발명에 따른 모바일용 컴퓨터 그래픽 랜더링 방법은 클라이언트 디스플레이 화면 영역 즉, 2차원 공간 영역을 임의로 여러 개로 겹치지 않게 분할하고, 분할된 영역마다 병렬 벡터 연산자를 사용하여 기하 기반 랜더링(Geometry based rendering: 이하, 'GBR'이라 칭함)과 이미지 기반 랜더링(Image Based Rendering: 이하, 'IBR'이라 칭함)을 수행함으로써, 랜더링하는 병렬처리 기법이다.That is, the computer graphics rendering method for mobile according to the present invention divides the client display screen area, that is, the two-dimensional space area, without randomly overlapping several pieces, and uses geometric vector rendering by using a parallel vector operator for each divided area. Hereinafter, a rendering process is performed by performing 'GBR') and image based rendering (hereinafter referred to as 'IBR').

도 7을 참조하면, 조명모델 및 주위환경을 고려하여 전역 좌표계(World Coordinate System; WCS) 상에 주어진 픽셀의 네 꼭지점이 투영된 이미지의 내부에 존재하는지 여부를 판단하고(S710), 주어진 픽셀의 네 꼭지점이 투영된 이미지 내부에 존재하는 경우, 픽셀의 각 꼭지점의 속성을 이용한 보간(Interpolation)으로 픽셀의 각 꼭지점의 색상값을 계산하며(S712), 픽셀의 각 꼭지점의 색상값의 평균치를 계산하여 픽셀의 색상을 구한다(S714).Referring to FIG. 7, it is determined whether four vertices of a given pixel are present in the projected image on the World Coordinate System (WCS) in consideration of the illumination model and the surrounding environment (S710). If four vertices exist within the projected image, the color values of each vertex of the pixel are calculated by interpolation using the properties of each vertex of the pixel (S712), and the average value of the color values of each vertex of the pixel is calculated. The color of the pixel is obtained (S714).

단계 S710에서 주어진 픽셀이 여러 이미지에 걸쳐있는 경우, 픽셀 조각의 각 꼭지점의 속성을 이용한 보간으로 픽셀 조각의 각 꼭지점의 색상값을 계산한다(S720). 여기서, 기설정된 물체와의 거리, 깊이 폭 및 시각 분포에 따라 물체가 가까이 있고 넓은 시각에 분포되어 있는 투시 보정 모드(Perspective Correct Mode)를 만족하는 경우, 투시 보정 보간(Perspective Correct Interpolation)을 사용하여 픽셀 조각의 각 꼭지점의 색상값을 계산하고, 물체가 멀리 있고 좁은 시각에 분포되어 있는 약 투시 모드(Weak Perspective Mode)를 만족하는 경우, 선형 보간(Linear Interpolation)을 사용하여 픽셀 조각의 각 꼭지점의 색상값을 계산한다. 즉, 투영된 이미지와 물체 간의 깊이 편차(다양한 시점에서 투영된 이미지 면적과 물체 면적 간의 평균 편차)가 1/10 이상인 경우, 원근 보정 보간(Perspective Correct Interpolation)하고, 투영된 이미자와 물체 간의 깊이 편차가 1/10 미만인 경우 선형 보간(Linear Interpolation)하여 픽셀 조각의 각 꼭지점의 색상값을 구한다.If the pixel given in step S710 spans multiple images, the color value of each vertex of the pixel piece is calculated by interpolation using the attributes of each vertex of the pixel piece (S720). In this case, when the perspective correction mode (Perspective Correct Mode) in which the object is close and distributed in a wide view according to the distance, depth width, and visual distribution with respect to the preset object is satisfied, Perspective Correct Interpolation is used. Compute the color values of each vertex of the pixel fragment and, if the object satisfies the Weak Perspective Mode, which is distributed far and narrowly, use linear interpolation to determine each vertex of the pixel fragment. Calculate the color value. That is, when the depth deviation between the projected image and the object (average deviation between the projected image area and the object area at various points of view) is 1/10 or more, Perspective Correct Interpolation, and the depth deviation between the projected imager and the object. Is less than 1/10, the linear interpolation (linear interpolation) to obtain the color value of each vertex of the pixel fragment.

이어서, 픽셀 조각의 모든 꼭지점의 색상값의 합을 (픽셀 조각의 면적 * 픽셀 조각의 꼭지점 개수)로 나누어 해당 픽셀의 색상 면적평균값 즉, 색상을 구한다(S730). 즉, 픽셀이 여러 이미지에 걸쳐 있는 경우, 각 이미지별로 픽셀 조각은 언제나 삼각형이나 사각형이 되며, 사각형이 되는 경우에는 다시 삼각형과 평행사변형(마름모, 직사각형 등)으로 분할할 수 있다. 따라서, 이러한 삼각형, 마름모의 모든 꼭지점의 색, 밝기를 보간하여 계산할 수 있고, 삼각형, 평행사변형의 면적에 의한 색상 면적평균값을 정확하게 계산할 수 있다. 자세하게는, 삼각형에 의한 색상 면적평균값은 세 꼭지점의 색, 밝기의 합을 삼각형 면적의 3배수로 나누어서 구할 수 있고, 정사각형, 직사각형, 마름모에 의한 색상 면적평균값은 네 꼭지점의 합을 면적의 4배수로 나누어서 구할 수 있다. 이러한 방법으로 각 픽셀의 색상 면적평균값을 계산하여 픽셀의 색상을 구할 수 있다.Subsequently, the sum of the color values of all the vertices of the pixel fragment is divided by (area of the pixel fragment * the number of vertices of the pixel fragment) to obtain an average value of the color area of the pixel, that is, the color (S730). In other words, when a pixel is spread over multiple images, the pixel fragments for each image are always triangles or rectangles, and when the pixels are rectangles, the pixel pieces may be divided into triangles and parallelograms (diamonds, rectangles, etc.). Therefore, the color and brightness of all the vertices of the triangle and the rhombus can be calculated by interpolation, and the average value of the color area by the area of the triangle and the parallelogram can be calculated accurately. In detail, the color area average value of the triangle can be obtained by dividing the color and brightness of three vertices by three times the area of the triangle, and the color area average value of the square, rectangle, and rhombus is divided by four times the area. You can get it. In this way, the color area of each pixel can be calculated to calculate the color of the pixel.

본 발명에 의한 모바일용 컴퓨터 그래픽 랜더링 방법은 계산해야되는 샘플의 수가 센터를 샘플링하는 경우와 비교하여, (가로 픽셀 수)*(세로 픽셀 수)에서 (가로 픽셀 수+1)*(세로 픽셀 수+1)로 증가되는데, 이는 1/(가로 픽셀 수)+1/(세로 픽셀 수)의 확률로 증가하여, 전체 픽셀 수가 증가하면 무시할 수 있는 정도이다.The computer graphics rendering method for mobile according to the present invention is compared with the case where the number of samples to be calculated is sampling the center, the number of horizontal pixels) * (vertical pixels) to (horizontal pixels + 1) * (vertical pixels) +1), which increases with a probability of 1 / (horizontal pixels) + 1 / (vertical pixels), which is negligible as the total number of pixels increases.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따 라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

도 1은 종래의 그래픽 처리 파이프라인의 처리 과정을 나타낸 도면,1 is a view showing a process of a conventional graphics processing pipeline;

도 2는 본 발명의 일실시예에 따른 모바일용 컴퓨터 그래픽 랜더링 시스템을 나타낸 도면,2 is a diagram illustrating a computer graphics rendering system for mobile according to one embodiment of the present invention;

도 3은 전역 좌표계 상에서 픽셀을 통과하는 광선과 투영된 삼각형의 교점을 구하는 방법을 설명하기 위한 도면,3 is a view for explaining a method for obtaining an intersection point of a ray passing through a pixel and a projected triangle on a global coordinate system;

도 4는 본 발명의 픽셀 조각의 길이와 면적과의 관계를 나타낸 그래프,4 is a graph showing the relationship between the length and area of a pixel piece of the present invention;

도 5는 전역 좌표계 상에서 픽셀에 의해 분할되는 교점을 계산하는 방법을 설명하기 위한 도면,5 is a diagram for describing a method of calculating an intersection divided by a pixel on a global coordinate system;

도 6은 본 발명의 일실시예에 따른 앤티앨리어싱 광추적 기반의 래스터화 방법을 나타낸 알고리즘,6 is an algorithm illustrating a rasterization method based on anti-aliasing light tracking according to an embodiment of the present invention;

도 7은 본 발명의 일실시예에 따른 모바일용 컴퓨터 그래픽 랜더링 방법을 나타낸 흐름도이다.7 is a flowchart illustrating a method for rendering computer graphics for mobile according to an embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

210: 랜더링 서버 220: 다수의 랜더링 클라이언트210: rendering server 220: a number of rendering clients

Claims (8)

전역 좌표계 상에서 꼭지점 쉐이딩을 통하여 3차원으로 표시된 물체의 기하학적 모델의 각 꼭지점의 속성을 결정하고, 상기 각 꼭지점의 속성을 나타내는 꼭지점 데이터를 생성하는 랜더링 서버; 및A rendering server that determines attributes of each vertex of the geometric model of the object displayed in three dimensions through vertex shading on a global coordinate system, and generates vertex data representing the attributes of each vertex; And 상기 생성된 꼭지점 데이터와 기저장된 이미지를 이용하여 랜더링을 수행하고 새로운 이미지를 생성하는 다수의 랜더링 클라이언트;A plurality of rendering clients performing rendering by using the generated vertex data and the pre-stored image and generating a new image; 를 포함하는 모바일용 컴퓨터 그래픽 랜더링 시스템.Mobile computer graphics rendering system comprising a. 제1항에 있어서,The method of claim 1, 상기 다수의 랜더링 클라이언트는 고정 소수점 산술 프로세서(Fixed Point Arithmetic Processor)를 사용하는 것을 특징으로 하는 모바일용 컴퓨터 그래픽 랜더링 시스템.And said plurality of rendering clients uses a fixed point arithmetic processor. 제1항에 있어서,The method of claim 1, 상기 다수의 랜더링 클라이언트는 주어진 장면의 시점, 시각 및 화면 영역에 따라 각각 선택적으로 사용되는 것을 특징으로 하는 모바일용 컴퓨터 그래픽 랜더링 시스템.And the plurality of rendering clients are selectively used according to a viewpoint, time and screen area of a given scene, respectively. 제1항에 있어서,The method of claim 1, 상기 각 꼭지점의 속성은 색, 밝기, 텍스쳐 및 투명도 중 적어도 하나를 포함하는 것을 특징으로 하는 모바일용 컴퓨터 그래픽 랜더링 시스템.Wherein each attribute of the vertex comprises at least one of color, brightness, texture, and transparency. 전역 좌표계 상에서 주어진 픽셀의 모든 꼭지점이 픽셀 그리드 평면에 투영된 이미지 내부에 존재하는지 여부를 판단하는 단계;Determining whether all vertices of a given pixel on the global coordinate system are inside an image projected on the pixel grid plane; 상기 픽셀이 다수의 이미지에 걸쳐있는 경우, 픽셀 조각의 각 꼭지점의 속성을 이용한 보간(Interpolation)으로 상기 픽셀 조각의 각 꼭지점의 색상값을 계산하는 래스터화 단계; 및A rasterization step of calculating color values of each vertex of the pixel piece when the pixel spans a plurality of images by interpolation using an attribute of each vertex of the pixel piece; And 상기 픽셀 조각의 각 꼭지점의 색상값의 합을 (픽셀 조각의 면적 * 픽셀 조각의 꼭지점 개수)로 나누어 상기 픽셀의 색상을 구하는 단계;Obtaining the color of the pixel by dividing the sum of the color values of each vertex of the pixel piece by the area of the pixel piece * the number of vertices of the pixel piece; 를 포함하는 모바일용 컴퓨터 그래픽 랜더링 방법.Mobile computer graphics rendering method comprising a. 제5항에 있어서,The method of claim 5, 상기 픽셀의 모든 꼭지점이 상기 투영된 이미지의 내부에 존재하는 경우, 상기 픽셀의 각 꼭지점의 속성을 이용한 보간으로 상기 픽셀의 각 꼭지점의 색상값을 계산하는 래스터화 단계; 및A rasterization step of calculating a color value of each vertex of the pixel by interpolation using an attribute of each vertex of the pixel when all vertices of the pixel exist in the projected image; And 상기 픽셀의 각 꼭지점의 색상값의 평균치를 계산하여 상기 픽셀의 색상을 구하는 단계Obtaining a color of the pixel by calculating an average value of color values of each vertex of the pixel 를 더 포함하는 것을 특징으로 하는 모바일용 컴퓨터 그래픽 랜더링 방법.A computer graphics rendering method for mobile further comprising. 제5항 또는 제6항에 있어서, 상기 래스터화 단계에서,The method of claim 5 or 6, wherein in the rasterization step, 기설정된 물체와의 거리, 깊이 폭 및 시각 분포에 따라 투시 보정 모드(Perspective Correct Mode)를 만족하는 경우 투시 보정 보간(Perspective Correct Interpolation)을 사용하고, 약 투시 모드(Weak Perspective Mode)를 만족하는 경우 선형 보간(Linear Interpolation)을 사용하여 래스터화를 수행하는 것을 특징으로 하는 모바일용 컴퓨터 그래픽 랜더링 방법.When the Perspective Correct Mode is satisfied according to the distance to the preset object, the depth width, and the visual distribution. Perspective Correct Interpolation is used. When the Perspective Correct Interpolation is satisfied. A method for rendering computer graphics for mobiles comprising performing rasterization using linear interpolation. 제7항에 있어서,The method of claim 7, wherein 상기 투시 보정 보간은 수학식
Figure 112009027642363-PAT00002
에 의해 계산된 물체와의 교점(t)을 고려하여 보간을 수행하고, d는 원점(E)으로부터 픽셀 그리드 평면까지의 거리,
Figure 112009027642363-PAT00003
은 법선 벡터, S(kx, ky)는 전역 좌표계로 표기된 스크린 샘플 포인트(Screen Sample Point)인 것을 특징으로 하는 모바일용 컴퓨터 그래픽 랜더링 방법.
The perspective correction interpolation is expressed as
Figure 112009027642363-PAT00002
Interpolation is performed taking into account the intersection point t with the object calculated by d, and d is the distance from the origin E to the pixel grid plane,
Figure 112009027642363-PAT00003
Is a normal vector, S (kx, ky) is a screen sample point expressed in a global coordinate system.
KR1020090040080A 2008-12-24 2009-05-08 Method and System for Rendering Mobile Computer Graphic KR101118597B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080133597 2008-12-24
KR1020080133597 2008-12-24

Publications (2)

Publication Number Publication Date
KR20100075351A true KR20100075351A (en) 2010-07-02
KR101118597B1 KR101118597B1 (en) 2012-02-27

Family

ID=42637728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090040080A KR101118597B1 (en) 2008-12-24 2009-05-08 Method and System for Rendering Mobile Computer Graphic

Country Status (1)

Country Link
KR (1) KR101118597B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101229040B1 (en) * 2011-03-30 2013-02-01 (주)이지위드 Interactive media art image forming device and method
US8705852B2 (en) 2011-01-27 2014-04-22 Samsung Electronics Co., Ltd. Image processing apparatus and method for defining distortion function for synthesized image of intermediate view
CN115801746A (en) * 2022-12-05 2023-03-14 广州南方智能技术有限公司 Distributed server rendering device and method
CN116740249A (en) * 2023-08-15 2023-09-12 湖南马栏山视频先进技术研究院有限公司 Distributed three-dimensional scene rendering system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6878691B2 (en) * 2002-05-13 2005-04-12 Enanta Pharmaceuticals, Inc. 6-11 bicyclic ketolide derivatives
KR20060071449A (en) * 2004-12-22 2006-06-27 심판식 Decoration device for architecture

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8705852B2 (en) 2011-01-27 2014-04-22 Samsung Electronics Co., Ltd. Image processing apparatus and method for defining distortion function for synthesized image of intermediate view
KR101229040B1 (en) * 2011-03-30 2013-02-01 (주)이지위드 Interactive media art image forming device and method
CN115801746A (en) * 2022-12-05 2023-03-14 广州南方智能技术有限公司 Distributed server rendering device and method
CN115801746B (en) * 2022-12-05 2023-09-22 广州南方智能技术有限公司 Distributed server rendering device and method
CN116740249A (en) * 2023-08-15 2023-09-12 湖南马栏山视频先进技术研究院有限公司 Distributed three-dimensional scene rendering system
CN116740249B (en) * 2023-08-15 2023-10-27 湖南马栏山视频先进技术研究院有限公司 Distributed three-dimensional scene rendering system

Also Published As

Publication number Publication date
KR101118597B1 (en) 2012-02-27

Similar Documents

Publication Publication Date Title
US10915981B2 (en) Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
US6437782B1 (en) Method for rendering shadows with blended transparency without producing visual artifacts in real time applications
CN111508052B (en) Rendering method and device of three-dimensional grid body
US10467805B2 (en) Image rendering of laser scan data
JP4643271B2 (en) Visible surface determination system and method for computer graphics using interval analysis
WO2017206325A1 (en) Calculation method and apparatus for global illumination
US7982734B2 (en) Spatially-varying convolutions for rendering soft shadow effects
US8115783B2 (en) Methods of and apparatus for processing computer graphics
US7755626B2 (en) Cone-culled soft shadows
US7970237B2 (en) Spatially-varying convolutions for rendering glossy reflection effects
JP2007066064A (en) Image generating device and image generating program
US6791544B1 (en) Shadow rendering system and method
WO2007064280A1 (en) Computer graphics processor and method for rendering a three-dimensional image on a display screen
KR20180071767A (en) Apparatus and method for determining LOD(level Of detail) for texturing cube map
US20230230311A1 (en) Rendering Method and Apparatus, and Device
KR101118597B1 (en) Method and System for Rendering Mobile Computer Graphic
JP2008282171A (en) Graphics processor, and method for rendering processing
JP2004054634A (en) Picture processor and its method
US20180005432A1 (en) Shading Using Multiple Texture Maps
JP2952585B1 (en) Image generation method
KR20220154780A (en) System and method for real-time ray tracing in 3D environment
und Algorithmen et al. Shadow Mapping of Large Environments
JP2004054621A (en) Picture processor and its method
WO2009018487A1 (en) Spatially varying convolution for rendering effects
JP2004054626A (en) Picture processor and its method

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee