KR102176511B1 - Apparatus and Method for processing image - Google Patents

Apparatus and Method for processing image Download PDF

Info

Publication number
KR102176511B1
KR102176511B1 KR1020140022489A KR20140022489A KR102176511B1 KR 102176511 B1 KR102176511 B1 KR 102176511B1 KR 1020140022489 A KR1020140022489 A KR 1020140022489A KR 20140022489 A KR20140022489 A KR 20140022489A KR 102176511 B1 KR102176511 B1 KR 102176511B1
Authority
KR
South Korea
Prior art keywords
tree search
divided
sub
unit
ray
Prior art date
Application number
KR1020140022489A
Other languages
Korean (ko)
Other versions
KR20150020012A (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 삼성전자주식회사
Priority to CN201480055150.0A priority Critical patent/CN105612558B/en
Priority to US14/457,513 priority patent/US9519992B2/en
Priority to PCT/KR2014/007484 priority patent/WO2015023106A1/en
Publication of KR20150020012A publication Critical patent/KR20150020012A/en
Application granted granted Critical
Publication of KR102176511B1 publication Critical patent/KR102176511B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • 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/005Tree description, e.g. octree, quadtree
    • 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/50Lighting effects
    • G06T15/80Shading

Abstract

영상 처리 장치 및 이의 영상 처리 방법이 제공된다. 본 영상 처리 장치는 광선을 생성하는 광선 생성부, 생성된 광선에 대한 트리 탐색을 수행하는 복수의 트리 탐색부, 이전 영상 프레임에 대한 트리 탐색 횟수 정보를 바탕으로 생성된 광선을 복수의 서브영역으로 분할하는 영역 분할부 및 영역 분할부에 의해 분할된 복수의 서브영역 각각을 복수의 트리 탐색부에 할당하는 광선 할당부를 포함한다.An image processing apparatus and an image processing method thereof are provided. The image processing apparatus includes a ray generator that generates light rays, a plurality of tree search units that perform a tree search on the generated rays, and a ray generated based on the number of tree search times for a previous image frame into a plurality of sub-regions. And a light ray allocating unit that allocates each of a region dividing unit to be divided and a plurality of subregions divided by the region dividing unit to a plurality of tree search units.

Description

영상 처리 장치 및 이의 영상 처리 방법{Apparatus and Method for processing image}Image processing apparatus and its image processing method {Apparatus and Method for processing image}

본 발명은 영상 처리 장치 및 이의 영상 처리 방법에 관한 것으로, 더욱 상세하게는 레이 트레이싱 기법을 통해 영상을 렌더링할 수 있는 영상 처리 장치 및 이의 영상 처리 방법에 관한 것이다.The present invention relates to an image processing apparatus and an image processing method thereof, and more particularly, to an image processing apparatus capable of rendering an image through a ray tracing technique, and an image processing method thereof.

종래의 그래픽 렌더링 작업은 GPU(Graphics Processing Unit)에서 처리되고 있으나, 이는 현실적이고 입체감있는 실감 렌더링이 불가능하다. 근래에는 보다 현실적이고 입체감있는 렌더링 알고리즘으로, Ray casting, Ray tracing, Global illumination 기법 등과 같은 실감 렌더링 기법이 개발되고 있다.Conventional graphics rendering work is being processed by a GPU (Graphics Processing Unit), but it is impossible to render realistic and three-dimensional realistic rendering. In recent years, realistic rendering techniques such as ray casting, ray tracing, and global illumination techniques have been developed as more realistic and three-dimensional rendering algorithms.

종래의 영상 처리 장치(100)는 도 1에 도시된 바와 같이, 광선 생성부(110), 트리 탐색부(120), 교차 검사부(130) 및 쉐이딩부(140)를 포함한다. 이때, 트리 탐색부(120)의 동작 로드(load)가 가장 크고, 트리 탐색부(120)의 성능은 영상 처리 장치(100) 전체 성능에 가장 큰 영향을 미친다. 따라서, 영상 처리 장치(100)는 성능향상을 위해 도 1에 도시된 바와 같이, 복수의 트리 탐색부(120-1,120-2,120-3,..)를 가진다.As shown in FIG. 1, the conventional image processing apparatus 100 includes a ray generator 110, a tree search unit 120, a cross check unit 130, and a shading unit 140. In this case, the operation load of the tree search unit 120 is the largest, and the performance of the tree search unit 120 has the greatest effect on the overall performance of the image processing apparatus 100. Accordingly, the image processing apparatus 100 includes a plurality of tree search units 120-1, 120-2, 120-3, .., as shown in FIG. 1 to improve performance.

광선 생성부(110)에서 생성된 광선들은 복수의 트리 탐색부(120-1,120-2,120-3,...) 중 하나에 할당이 되며, 광선이 어느 트리 탐색부에 할당되었는지가 트리 탐색부(120)의 캐쉬 메모리 적중률에 영향을 미친다. 이는 곧 트리 탐색부(120)의 성능에 큰 영향을 미치므로 효율적으로 광선을 트리 탐색부(120)에 할당하는 방법은 매우 중요하다. The rays generated by the ray generator 110 are assigned to one of the plurality of tree search units 120-1, 120-2, 120-3,..., and the tree search unit ( 120) affects the cache memory hit rate. Since this greatly affects the performance of the tree search unit 120, a method of efficiently allocating rays to the tree search unit 120 is very important.

종래의 광선을 복수의 트리 탐색부(120-1,120-2,120-3,..)에 할당하는 방법은 도 2a 및 도 2b에 도시된 바와 같다. 구체적으로, 광선 생성부(110)에서 생성된 복수의 광선은 도 2a에 도시된 바와 같이, 복수의 트리 탐색부(120-1,120-2,120-3,..)에 FIFO(First-In, First-Out) 방식으로 할당된다. 즉, 복수의 트리 탐색부(120-1,120-2,120-3,..)의 입력 FIFO의 상태를 확인하여 비어있는 트리 탐색부를 검색하여 순차적으로 광선이 할당된다. A conventional method of allocating light rays to a plurality of tree search units 120-1, 120-2, 120-3, ... is as shown in FIGS. 2A and 2B. Specifically, a plurality of light rays generated by the light ray generation unit 110 are FIFOs (First-In, First-) in a plurality of tree search units 120-1, 120-2, 120-3, ..., as shown in FIG. 2A. Out) method. That is, by checking the state of the input FIFOs of the plurality of tree search units 120-1, 120-2, 120-3, ..., an empty tree search unit is searched, and rays are sequentially allocated.

또한, 광선 생성부(110)에서 생성된 복수의 광선을 도 2b에 도시된 바와 같이, 복수의 트리 탐색부(120-1,120-2,120-3,...)에 대응되는 개수만큼 그룹으로 나누고, 각 그룹의 광선을 대응되는 트리 탐색부로 할당한다.In addition, the plurality of rays generated by the ray generator 110 are divided into groups by the number corresponding to the plurality of tree search units 120-1, 120-2, 120-3, ..., as shown in FIG. 2B, Each group of rays is assigned to a corresponding tree search unit.

그러나, 상술한 바와 같은 방법은 아래와 같은 문제점이 존재한다. 우선, 도 2a에 도시된 바와 같은 FIFO 방식으로 광선을 할당하는 방법은 트리 탐색부에서 처리하는 광선들 사이의 연관성이 낮기 때문에 캐쉬 메모리에서 Temporal locality 효과를 볼 수 없고, 이에 캐쉬메모리 적중률이 낮아져 성능 저하가 발생하게 된다.However, the method as described above has the following problems. First, in the method of allocating light rays in the FIFO method as shown in FIG. 2A, the temporal locality effect cannot be seen in the cache memory because the correlation between the rays processed by the tree search unit is low. Deterioration will occur.

또한, 도 2b에 도시된 바와 같은 그룹으로 광선을 할당하는 방법은 Temporal locality 효과를 얻어 더욱 높은 캐쉬메모리 적중률을 얻을 수 있다. 하지만, 일부 그룹에 트리 탐색이 많이 필요한 광선들이 할당된 경우 로드 밸런싱 문제가 발생한다. 이에 의해, 트리 탐색부(120)가 효율적으로 작동되지 못하는 문제점이 발생한다.In addition, the method of allocating rays to groups as shown in FIG. 2B can obtain a temporal locality effect and thus a higher cache memory hit ratio. However, when rays that require a lot of tree search are allocated to some groups, a load balancing problem occurs. Accordingly, a problem occurs in that the tree search unit 120 is not efficiently operated.

본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 캐쉬메모리 효율과 로드 밸런싱을 고려하여 생성된 광선을 복수의 트리 탐색부에 할당함으로써, 트리 탐색부의 성능을 향상시킬 수 있는 영상 처리 장치 및 이의 영상 처리 방법을 제공함에 있다.The present invention was conceived to solve the above-described problem, and an object of the present invention is to allocate light rays generated in consideration of cache memory efficiency and load balancing to a plurality of tree search units, thereby improving the performance of the tree search unit. It is to provide an image processing apparatus and an image processing method thereof.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 영상 처리 장치는, 광선을 생성하는 광선 생성부; 상기 생성된 광선에 대한 트리 탐색을 수행하는 복수의 트리 탐색부; 이전 영상 프레임에 대한 트리 탐색 횟수 정보를 바탕으로 상기 생성된 광선을 복수의 서브영역으로 분할하는 영역 분할부; 및 상기 영역 분할부에 의해 분할된 복수의 서브영역 각각을 상기 복수의 트리 탐색부에 할당하는 광선 할당부;를 포함한다.In accordance with an embodiment of the present invention for achieving the above object, an image processing apparatus includes: a light beam generator configured to generate a light beam; A plurality of tree search units for performing a tree search on the generated rays; A region dividing unit for dividing the generated ray into a plurality of sub-regions based on tree search number information for a previous image frame; And a light ray allocating unit that allocates each of the plurality of subregions divided by the region dividing unit to the plurality of tree search units.

그리고, 상기 영역 분할부는, 복수의 방식으로 서브영역이 분할된 복수의 분할 카테고리를 저장하며, 상기 복수의 분할 카테고리 중 상기 이전 영상 프레임에 대한 트리 탐색 시간이 최단 시간인 분할 카테고리를 판단하여 상기 판단된 분할 카테고리에 대응되도록 복수의 서브영역으로 분할할 수 있다.In addition, the region dividing unit stores a plurality of divided categories in which sub-regions are divided in a plurality of ways, and determines the division category in which the tree search time for the previous image frame is the shortest among the plurality of divided categories. It can be divided into a plurality of sub-areas to correspond to the divided category.

또한, 상기 영역 분할부는, 상기 이전 영상 프레임을 분할 카테고리에 따라 복수의 서브영역으로 분할하고, 상기 복수의 서브영역 각각에 포함된 픽셀에 대응되는 트리탐색 횟수와 상기 복수의 서브영역 각각의 크기에 대응되는 가중치를 곱한 값을 더하여 트리 탐색값을 산출하고, 상기 산출된 트리 탐색값을 이용하여 분할 카테고리에 대한 트리 탐색 시간을 판단할 수 있다.In addition, the region dividing unit divides the previous image frame into a plurality of sub-regions according to a division category, and determines the number of tree searches corresponding to pixels included in each of the plurality of sub-regions and the size of each of the plurality of sub-regions. A tree search value may be calculated by adding a value multiplied by a corresponding weight, and a tree search time for a split category may be determined using the calculated tree search value.

그리고, 상기 영역 분할부는, 상기 복수의 분할 카테고리 각각에 대해 상기 트리 탐색값를 산출하여 상기 산출된 복수의 트리 탐색값 중 가장 작은 트리 탐색값을 가지는 분할 카테고리를 트리 탐색 시간이 최단 시간인 분할 카테고리로 판단할 수 있다.In addition, the region dividing unit calculates the tree search value for each of the plurality of divided categories, and converts the divided category having the smallest tree search value among the calculated plurality of tree search values into a divided category having the shortest tree search time. I can judge.

또한, 상기 영역 분할부는, 상기 판단된 분할 카테고리에 대한 정보를 메모리에 저장하며, 다음 영상 프레임에 대한 서브영역 분할시 상기 메모리에 저장된 분할 카테고리에 대한 정보를 상기 광선 할당부를 제공할 수 있다.In addition, the region dividing unit may store information on the determined division category in a memory, and provide the ray allocator with information on the division category stored in the memory when sub-regions are divided for a next image frame.

그리고, 상기 광선 할당부는, 상기 복수의 트리 탐색부 중 대응되는 서브영역에 포함된 광선에 대한 트리 탐색이 종료된 트리 탐색부에 트리 탐색이 종료되지 않은 다른 서브영역에 포함된 광선을 추가로 할당할 수 있다.In addition, the ray allocating unit additionally allocates a ray included in another sub-region for which the tree search is not completed to a tree search unit in which the tree search for the ray included in the corresponding sub-region among the plurality of tree search units has been completed. can do.

또한, 상기 트리 탐색이 수행된 광선에 대한 교차 검사를 수행하는 교차 검사부; 및 상기 교차 검사가 수행된 광선에 대한 쉐이딩 동작을 수행하는 쉐이딩부;를 포함할 수 있다.Further, a cross check unit for performing a cross check on the ray on which the tree search has been performed; And a shading unit that performs a shading operation on the ray on which the cross check has been performed.

한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 영상 처리 방법은, 광선을 생성하는 단계; 이전 영상 프레임에 대한 트리 탐색 횟수 정보를 바탕으로 상기 생성된 광선을 복수의 서브영역으로 분할하는 단계; 상기 영역 분할부에 의해 분할된 복수의 서브영역 각각을 복수의 트리 탐색부에 할당하는 단계 및 상기 복수의 트리 탐색부가 상기 생성된 광선에 대한 트리 탐색을 수행하는 단계;를 포함한다.On the other hand, according to an embodiment of the present invention for achieving the above object, an image processing method includes the steps of: generating a light ray; Dividing the generated ray into a plurality of sub-regions based on the tree search number information for the previous image frame; And allocating each of a plurality of subregions divided by the region dividing unit to a plurality of tree search units, and performing a tree search on the generated light rays by the plurality of tree search units.

그리고, 상기 분할하는 단계는, 복수의 방식으로 서브영역이 분할된 복수의 분할 카테고리를 저장하며, 상기 복수의 분할 카테고리 중 상기 이전 영상 프레임에 대한 트리 탐색 시간이 최단 시간인 분할 카테고리를 판단하여 상기 판단된 분할 카테고리에 대응되도록 복수의 서브영역으로 분할할 수 있다.In the dividing step, a plurality of division categories in which the sub-regions are divided in a plurality of methods are stored, and among the plurality of division categories, a division category in which a tree search time for the previous image frame is the shortest time is determined, and the It may be divided into a plurality of sub-areas to correspond to the determined division category.

또한, 상기 분할하는 단계는, 상기 이전 영상 프레임을 분할 카테고리에 따라 복수의 서브영역으로 분할하고, 상기 복수의 서브영역 각각에 포함된 픽셀에 대응되는 트리탐색 횟수와 상기 복수의 서브영역 각각의 크기에 대응되는 가중치를 곱한 값을 더하여 트리 탐색값을 산출하고, 상기 산출된 트리 탐색값을 이용하여 분할 카테고리에 대한 트리 탐색 시간을 판단할 수 있다.In addition, the dividing may include dividing the previous image frame into a plurality of sub-regions according to a division category, and the number of tree searches corresponding to pixels included in each of the plurality of sub-regions and a size of each of the plurality of sub-regions A tree search value may be calculated by adding a value multiplied by a weight corresponding to, and a tree search time for a split category may be determined using the calculated tree search value.

그리고, 상기 분할하는 단계는, 상기 복수의 분할 카테고리 각각에 대해 상기 트리 탐색값를 산출하여 상기 산출된 복수의 트리 탐색값 중 가장 작은 트리 탐색값을 가지는 분할 카테고리를 트리 탐색 시간이 최단 시간인 분할 카테고리로 판단할 수 있다.In the dividing step, the tree search value is calculated for each of the plurality of divided categories, and the divided category having the smallest tree search value among the calculated plurality of tree search values is a divided category whose tree search time is the shortest time. It can be judged as.

또한, 상기 분할하는 단계는, 상기 판단된 분할 카테고리에 대한 정보를 메모리에 저장하는 단계; 및 다음 영상 프레임에 대한 서브영역 분할시 상기 메모리에 저장된 분할 카테고리에 대한 정보를 상기 광선 할당부를 제공하는 단계;를 포함할 수 있다.In addition, the dividing may include storing information on the determined division category in a memory; And providing the light beam allocator with information on a division category stored in the memory when sub-regions are divided for the next image frame.

그리고, 상기 할당하는 단계는, 상기 복수의 트리 탐색부 중 대응되는 서브영역에 포함된 광선에 대한 트리 탐색이 종료된 트리 탐색부에 트리 탐색이 종료되지 않은 다른 서브영역에 포함된 광선을 추가로 할당할 수 있다.In the allocating step, the tree search unit in which the tree search for the light rays included in the corresponding sub-region among the plurality of tree search units has been completed is additionally added to the light rays included in the other sub-regions for which the tree search is not completed. Can be assigned.

또한, 상기 트리 탐색이 수행된 광선에 대한 교차 검사를 수행하는 단계; 및 상기 교차 검사가 수행된 광선에 대한 쉐이딩 동작을 수행하는 단계;를 포함할 수 있다.Further, performing a cross check for the ray on which the tree search has been performed; And performing a shading operation on the ray on which the crossover inspection has been performed.

상술한 바와 같은 본 발명의 다양한 실시예에 의해, 연관성이 높은 광선 그룹을 하나의 트리 탐색부에 할당함으로 Temporal locality 효과로 트리 탐색부의 캐쉬메모리 적중률을 향상시킬 수 있다. 이에 의해, 트리 탐색부의 성능 및 영상 처리 장치의 전체적인 성능을 향상시키며 외부 메모리 대역폭을 줄이는 효과가 있다. 또한, 광선 그룹을 이전 프레임을 고려하여 적응적으로 서브그룹으로 분할하여 트리 탐색부에 할당함으로써, 균형적인 로드 밸런싱을 유지할 수 있게 된다.According to the various embodiments of the present invention as described above, by allocating a group of rays having high correlation to one tree search unit, it is possible to improve a cache memory hit ratio of the tree search unit through a temporal locality effect. Accordingly, there is an effect of improving the performance of the tree search unit and the overall performance of the image processing apparatus, and reducing the external memory bandwidth. In addition, by adaptively dividing the ray group into subgroups in consideration of the previous frame and assigning it to the tree search unit, it is possible to maintain balanced load balancing.

도 1은 종래의 영상 처리 장치의 구성을 도시한 블럭도,
도 2a 및 도 2b는 종래의 광선 할당 방법을 설명하기 위한 도면,
도 3은 본 발명의 일 실시예에 따른, 영상 처리 장치의 구성을 도시한 블럭도,
도 4는 본 발명의 일 실시예에 따른, 복수의 분할 카테고리를 도시한 도면,
도 5는 본 발명의 일 실시예에 따른, 영상 프레임에 대한 복수의 분할 카테고리 각각에 대한 트리 탐색값을 산출하는 방법을 설명하기 위한 도면, 그리고
도 6은 본 발명의 일 실시예에 따른, 영상 처리 방법을 설명하기 위한 흐름도이다.
1 is a block diagram showing the configuration of a conventional image processing apparatus.
2A and 2B are diagrams for explaining a conventional ray allocation method;
3 is a block diagram showing the configuration of an image processing apparatus according to an embodiment of the present invention;
4 is a diagram showing a plurality of division categories according to an embodiment of the present invention;
5 is a diagram for describing a method of calculating a tree search value for each of a plurality of divided categories for an image frame according to an embodiment of the present invention; and
6 is a flowchart illustrating an image processing method according to an embodiment of the present invention.

본 실시예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. Since these embodiments can apply various transformations and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope of the specific embodiment, it is to be understood to include all conversions, equivalents, or substitutes included in the disclosed spirit and technical scope. In describing the embodiments, when it is determined that a detailed description of a related known technology may obscure the subject matter, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. Terms such as first and second may be used to describe various components, but the components should not be limited by terms. The terms are only used for the purpose of distinguishing one component from another component.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are used only to describe specific embodiments, and are not intended to limit the scope of the rights. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "comprise" are intended to designate the existence of features, numbers, steps, actions, components, parts, or a combination thereof described in the specification, but one or more other It is to be understood that the presence or addition of features, numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance the possibility of being excluded.

실시예에 있어서 ‘모듈’ 혹은 ‘부’는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의‘모듈’ 혹은 복수의‘부’는 특정한 하드웨어로 구현될 필요가 있는 ‘모듈’ 혹은 ‘부’를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.In an embodiment, the'module' or'unit' performs at least one function or operation, and may be implemented as hardware or software, or a combination of hardware and software. In addition, a plurality of'modules' or a plurality of'units' are integrated into at least one module except for'modules' or'units' that need to be implemented with specific hardware and implemented as at least one processor (not shown). Can be.

이하, 실시예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings, and in the description with reference to the accompanying drawings, the same or corresponding constituent elements are assigned the same reference numerals, and redundant descriptions thereof will be omitted.

도 3은 본 발명의 일 실시예에 따른, 영상 처리 장치(300)의 구성을 도시한 블럭도이다. 도 3에 도시된 바와 같이, 영상 처리 장치(300)는 광선 생성부(310), 광선 할당부(320), 영역 분할부(330), 메모리(340), 복수의 트리 탐색부(350-1,350-2,350-3,..), 교차 검사부(360) 및 쉐이딩부(370)를 포함한다. 이때, 영상 처리 장치(300)는 스마트 폰, 스마트 TV, 태블릿 PC, 노트북 PC 등과 같은 다양한 영상 처리 장치로 구현될 수 있다.3 is a block diagram showing the configuration of an image processing apparatus 300 according to an embodiment of the present invention. As shown in FIG. 3, the image processing apparatus 300 includes a light ray generator 310, a light ray allocating unit 320, a region dividing unit 330, a memory 340, and a plurality of tree search units 350-1, 350. -2,350-3,..), a cross inspection unit 360 and a shading unit 370 are included. In this case, the image processing device 300 may be implemented as various image processing devices such as a smart phone, a smart TV, a tablet PC, and a notebook PC.

광선 생성부(310)는 레이 트레이싱 기법에 따라 영상 데이터를 출력하기 위한 광선을 생성한다. 이때, 광선 생성부(310)는 영상 데이터를 이루는 복수의 픽셀 각각에 대한 광선을 생성할 수 있다.The ray generator 310 generates a ray for outputting image data according to a ray tracing technique. In this case, the light ray generator 310 may generate a light ray for each of a plurality of pixels constituting the image data.

구체적으로, 광선 생성부(310)는 광선 생성 정보를 바탕으로 적어도 하나의 레이를 생성할 수 있다. 특히, 광선 생성부(310)는 광선 생성 정보를 바탕으로 광선의 스크린 좌표값을 획득할 수 있다. 그리고, 광선 생성부(310)는 획득된 스크린 좌표값과 카메라 위치(즉, 아이(eye)의 위치)를 바탕으로 광선을 생성할 수 있다.Specifically, the light ray generator 310 may generate at least one ray based on the light ray generation information. In particular, the ray generator 310 may acquire a screen coordinate value of the ray based on the ray generation information. In addition, the ray generator 310 may generate a ray based on the obtained screen coordinate value and the camera position (ie, the position of the eye).

광선 할당부(320)는 광선 생성부(310)에 의해 생성된 광선들을 영역 분할부(330)로부터 제공되는 서브영역 분할정보를 바탕으로 복수의 트리 탐색부(350-1,350-2,350-3,..) 각각에 할당할 수 있다. 이때, 서브영역 분할정보는 영상 프레임을 분할하는 복수의 서브영역에 대한 정보가 포함될 수 있다. 즉, 광선 할당부(320)는 영역 분할부(330)에 의해 매 프레임마다 적응적으로 분할된 서브영역에 포함된 광선들을 복수의 트리 탐색부(350-1,350-2,350-3,..) 각각에 할당할 수 있다. The ray allocating unit 320 includes a plurality of tree search units 350-1,350-2,350-3, based on subregion division information provided from the region division unit 330 on the rays generated by the ray generation unit 310. .) Can be assigned to each. In this case, the subregion division information may include information on a plurality of subregions that divide the image frame. That is, the ray allocating unit 320 uses the plurality of tree search units 350-1, 350-2, 350-3, ...) to each of the rays included in the sub-region adaptively divided for each frame by the region dividing unit 330. Can be assigned to

또한, 광선 할당부(320)는 복수의 트리 탐색부(350-1,350-2,350-3,..) 중 대응되는 서브영역에 포함된 광선에 대한 트리 탐색이 종료된 트리 탐색부에 트리 탐색이 종료되지 않은 다른 서브영역에 포함된 광선을 추가로 할당할 수 있다. 예를 들어, 제1 트리 탐색부(350-1)에 할당된 서브영역에 포함된 광선에 대한 트리 탐색이 종료되고, 제2 트리 탐색부(350-2)에 할당된 서브영역에 포함된 광선에 대한 트리 탐색이 종료되지 않은 경우, 광선 할당부(320)는 제2 트리 탐색부(350-2)에 할당된 서브영역에 포함된 광선 중 일부를 제1 트리 탐색부(350-1)에 재할당할 수 있다. 이와 같이, 광선 할당부(320)는 트리 탐색이 완료된 트리 탐색부에 트리 탐색이 종료되지 않은 광선을 적응적으로 할당할 수 있어, 더욱 빠른 트리 탐색이 가능해 질 수 있다.In addition, the ray allocating unit 320 terminates the tree search in the tree search unit in which the tree search for the rays included in the corresponding subregions among the plurality of tree search units 350-1,350-2,350-3,... It is possible to additionally allocate light rays included in other subregions that are not. For example, a tree search for a ray included in the subregion allocated to the first tree search unit 350-1 is terminated, and a ray included in the subregion allocated to the second tree search unit 350-2 When the tree search for is not finished, the ray allocating unit 320 transfers some of the rays included in the subregion allocated to the second tree search unit 350-2 to the first tree search unit 350-1. Can be reassigned. In this way, the ray allocating unit 320 may adaptively allocate the ray of which the tree search has not been completed to the tree search unit on which the tree search has been completed, so that a faster tree search may be possible.

한편, 영역 분할부(330)가 이전 프레임에 대한 트리 탐색 횟수 정보를 바탕으로 서브영역을 분할하므로, 광선 할당부(320)는 최초 프레임에 포함된 광선에 대해서는 기설정된 방식으로 복수의 트리 탐색부(350-1,350-2,350-3,..)로 할당할 수 있다.On the other hand, since the region dividing unit 330 divides the sub-region based on the tree search number information for the previous frame, the ray allocating unit 320 uses a plurality of tree search units in a preset manner for the ray included in the first frame. It can be assigned as (350-1,350-2,350-3,..).

영역 분할부(330)는 이전 영상 프레임에 대한 트리 탐색 횟수 정보를 바탕으로 다음 프레임을 복수의 서브 영역으로 분할한다. The region dividing unit 330 divides the next frame into a plurality of sub-regions based on the tree search number information for the previous image frame.

구체적으로, 영역 분할부(330)는 복수의 방식으로 서브영역이 분할된 복수의 분할 카테고리를 저장할 수 있다. 예를 들어, 영상 프레임이 8X8로 구성되어 있으며, 4개의 서브영역으로 분할된 경우, 영역 분할부(330)는 도 4에 도시된 바와 같이, 제1 분할 카테고리 내지 제9 분할 카테고리(410 내지 490)를 저장할 수 있다. 구체적으로, 제1 분할 카테고리(410)는 좌측 상단의 제1 서브영역이 2X2의 크기를 가지며, 우측 상단의 제2 서브영역이 2X6의 크기를 가지며, 좌측 하단의 제3 서브 영역이 6X2의 크기를 가지며, 우측 하단의 제4 서브 영역이 6X6의 크기를 가진다. 제2 분할 카테고리(420)는 좌측 상단의 제1 서브영역이 2X4의 크기를 가지며, 우측 상단의 제2 서브영역이 2X4의 크기를 가지며, 좌측 하단의 제3 서브 영역이 6X4의 크기를 가지며, 우측 하단의 제4 서브 영역이 6X4의 크기를 가진다. 제3 분할 카테고리(430)는 좌측 상단의 제1 서브영역이 2X6의 크기를 가지며, 우측 상단의 제2 서브영역이 2X2의 크기를 가지며, 좌측 하단의 제3 서브 영역이 6X6의 크기를 가지며, 우측 하단의 제4 서브 영역이 6X2의 크기를 가진다. 제4 분할 카테고리(440)는 좌측 상단의 제1 서브영역이 4X2의 크기를 가지며, 우측 상단의 제2 서브영역이 4X6의 크기를 가지며, 좌측 하단의 제3 서브 영역이 4X2의 크기를 가지며, 우측 하단의 제4 서브 영역이 4X6의 크기를 가진다. 제5 분할 카테고리(450)는 제1 서브 영역 내지 제4 서브 영역 모두 4X4의 크기를 가진다. 제6 분할 카테고리(460)는 좌측 상단의 제1 서브영역이 4X6의 크기를 가지며, 우측 상단의 제2 서브영역이 4X2의 크기를 가지며, 좌측 하단의 제3 서브 영역이 4X6의 크기를 가지며, 우측 하단의 제4 서브 영역이 4X2의 크기를 가진다. 제7 분할 카테고리(470)는 좌측 상단의 제1 서브영역이 6X2의 크기를 가지며, 우측 상단의 제2 서브영역이 6X6의 크기를 가지며, 좌측 하단의 제3 서브 영역이 2X2의 크기를 가지며, 우측 하단의 제4 서브 영역이 2X6의 크기를 가진다. 제8 분할 카테고리(480)는 좌측 상단의 제1 서브영역이 6X4의 크기를 가지며, 우측 상단의 제2 서브영역이 6X4의 크기를 가지며, 좌측 하단의 제3 서브 영역이 2X4의 크기를 가지며, 우측 하단의 제4 서브 영역이 2X4의 크기를 가진다. 제9 분할 카테고리(490)는 좌측 상단의 제1 서브영역이 6X6의 크기를 가지며, 우측 상단의 제2 서브영역이 6X2의 크기를 가지며, 좌측 하단의 제3 서브 영역이 2X6의 크기를 가지며, 우측 하단의 제4 서브 영역이 2X2의 크기를 가진다.Specifically, the region dividing unit 330 may store a plurality of division categories in which sub-regions are divided in a plurality of ways. For example, when an image frame is composed of 8X8 and is divided into four sub-regions, as shown in FIG. 4, the region dividing unit 330 includes first to ninth sub-categories 410 to 490. ) Can be saved. Specifically, in the first division category 410, the first subregion at the upper left has a size of 2X2, the second subregion at the upper right has a size of 2X6, and the third subregion at the lower left has a size of 6X2. And the fourth sub-region at the bottom right has a size of 6X6. In the second divided category 420, the first subregion at the upper left has a size of 2X4, the second subregion at the upper right has a size of 2X4, and the third subregion at the lower left has a size of 6X4, The fourth sub-area at the bottom right has a size of 6X4. In the third divided category 430, the first sub-region at the upper left has a size of 2X6, the second sub-region at the upper right has a size of 2X2, and the third sub-region at the lower left has a size of 6X6, The fourth sub-area at the bottom right has a size of 6X2. In the fourth divided category 440, the first sub-region at the upper left has a size of 4X2, the second sub-region at the upper right has a size of 4X6, and the third sub-region at the lower left has a size of 4X2, The fourth sub-area at the bottom right has a size of 4X6. The fifth division category 450 has a size of 4X4 for all of the first to fourth sub-regions. In the sixth divided category 460, the first sub-region at the upper left has a size of 4X6, the second sub-region at the upper right has a size of 4X2, and the third sub-region at the lower left has a size of 4X6, The fourth sub-area at the bottom right has a size of 4X2. In the seventh division category 470, the first sub-region at the upper left has a size of 6X2, the second sub-region at the upper right has a size of 6X6, and the third sub-region at the lower left has a size of 2X2, The fourth sub-area at the bottom right has a size of 2X6. In the eighth division category 480, the first subregion at the upper left has a size of 6X4, the second subregion at the upper right has a size of 6X4, and the third subregion at the lower left has a size of 2X4, The fourth sub-area at the bottom right has a size of 2X4. In the ninth divided category 490, the first sub-region at the upper left has a size of 6X6, the second subregion at the upper right has a size of 6X2, and the third sub-region at the lower left has a size of 2X6, The fourth sub-area at the bottom right has a size of 2X2.

한편, 상술한 바와 같이, 분할 카테고리가 4개의 서브영역으로 분할되는 것은 일 실시예에 불과할 뿐, 4개 이외의 복수 개의 서브영역으로 분할될 수 있다. 이때, 분할 카테고리의 서브영역 개수는 트리 탐색부(350)의 개수에 대응될 수 있다. 예를 들어, 트리 탐색부(350)의 개수가 8개인 경우, 분할 카테고리의 서브 영역 개수 역시 8개가 될 수 있다.Meanwhile, as described above, it is only an exemplary embodiment that the division category is divided into four sub-regions, and may be divided into a plurality of sub-regions other than four. In this case, the number of subregions of the divided category may correspond to the number of tree search units 350. For example, when the number of tree search units 350 is eight, the number of sub-areas of the divided category may also be eight.

그리고, 영역 분할부(330)는 저장된 복수의 분할 카테고리(410 내지 490) 중 이전 영상 프레임에 대한 트리 탐색 시간이 최단 시간인 분할 카테고리를 판단하여 판단된 분할 카테고리에 대응되도록 복수의 서브영역으로 분할할 수 있다. 구체적으로, 영역 분할부(330)는 트리 탐색 시간과 비례하는 트리 탐색값을 산출하고, 산출된 트리 탐색값을 이용하여 복수의 분할 카테고리 각각에 대한 트리 탐색 시간을 판단할 수 있다. In addition, the region dividing unit 330 determines a divided category in which the tree search time for the previous image frame is the shortest among the stored divided categories 410 to 490, and divides it into a plurality of sub-regions to correspond to the determined divided category. can do. Specifically, the region dividing unit 330 may calculate a tree search value proportional to the tree search time, and determine a tree search time for each of the plurality of divided categories using the calculated tree search value.

이때, 영역 분할부(330)는 이전 영상 프레임을 특정 분할 카테고리에 따라 복수의 서브영역으로 분할하고, 복수의 서브영역 각각에 포함된 픽셀에 대응되는 트리탐색 횟수와 복수의 서브영역 각각의 크기에 대응되는 가중치를 곱한 값을 더하여 트리 탐색값을 산출할 수 있다. 트리 탐색값(Pcat)은 아래의 수학식 1에 의해 산출될 수 있다.At this time, the region dividing unit 330 divides the previous image frame into a plurality of subregions according to a specific segmentation category, and the number of tree searches corresponding to pixels included in each of the plurality of subregions and the size of each of the plurality of subregions A tree search value can be calculated by adding a value multiplied by a corresponding weight. The tree search value (P cat ) can be calculated by Equation 1 below.

Figure 112014018854454-pat00001
Figure 112014018854454-pat00001

이때, TRV_CRT(i)는 i번째 픽셀의 트리탐색 횟수이며, w1은 제1 서브영역의 가중치, w2는 제2 서브영역의 가중치, w3은 제3 서브영역의 가중치, w4는 제4 서브영역의 가중치이다. 이때, w1,w2,w3,w4 각각은 대응되는 서브영역의 크기와 대응된다.Here, TRV_CRT(i) is the number of tree searches of the i-th pixel, w1 is the weight of the first sub-region, w2 is the weight of the second sub-region, w3 is the weight of the third sub-region, and w4 is the weight of the fourth sub-region. Weight. In this case, each of w1, w2, w3, and w4 corresponds to the size of the corresponding subregion.

예를 들어, 이전 영상 프레임에 포함된 각 픽셀의 트리 탐색 횟수가 도 5에 도시된 바와 같은 경우, 영역 분할부(330)는 아래의 수학식 2와 같이, 복수의 분할 카테고리(410 내지 490) 각각에 대한 트리 탐색값을 산출할 수 있다. For example, when the number of tree search times of each pixel included in the previous image frame is as shown in FIG. 5, the region dividing unit 330 includes a plurality of division categories 410 to 490 as shown in Equation 2 below. You can calculate the tree search value for each.

Figure 112014018854454-pat00002
Figure 112014018854454-pat00002

Figure 112014018854454-pat00003
Figure 112014018854454-pat00003

Figure 112014018854454-pat00004
Figure 112014018854454-pat00004

Figure 112014018854454-pat00005
Figure 112014018854454-pat00005

Figure 112014018854454-pat00006
Figure 112014018854454-pat00006

Figure 112014018854454-pat00007
Figure 112014018854454-pat00007

Figure 112014018854454-pat00008
Figure 112014018854454-pat00008

Figure 112014018854454-pat00009
Figure 112014018854454-pat00009

Figure 112014018854454-pat00010
Figure 112014018854454-pat00010

그리고, 영역 분할부(330)는 복수의 분할 카테고리(410 내지 490) 각각에 대해 산출된 트리 탐색값 중 가장 작은 트리 탐색값을 가지는 분할 카테고리를 트리 탐색 시간이 최단 시간인 분할 카테고리로 판단할 수 있다. 예를 들어, 상술한 바와 같이, 제1 분할 카테고리 내지 제9 분할 카테고리(410 내지 490) 각각에 대한 트리 탐색값이 산출된 경우, 영역 분할부(330)는 트리 탐색값이 가장 작은 제6 분할 카테고리를 트리 탐색 시간이 최단 시간인 분할 카테고리로 판단할 수 있다.In addition, the region dividing unit 330 may determine a division category having the smallest tree search value among the tree search values calculated for each of the plurality of division categories 410 to 490 as a division category having the shortest tree search time. have. For example, as described above, when a tree search value for each of the first to ninth subcategories 410 to 490 is calculated, the region divider 330 is divided into a sixth division with the smallest tree search value. The category can be determined as a divided category in which the tree search time is the shortest time.

그리고, 영역 분할부(330)는 이전 프레임 영상에 대한 트리 탐색 시간이 최단 시간인 분할 카테고리에 대한 정보를 다음 영상 프레임에 대한 서브영역 분할정보로 광선 할당부(320)에 제공할 수 있다. 예를 들어, 수학식 2에서 산출된 바와 같이, 트리 탐색 시간이 최단 시간인 분할 카테고리가 제6 분할 카테고리(460)라고 판단된 경우, 영역 분할부(330)는 제6 분할 카테고리(460)에 대한 정보를 광선 할당부(320)에 제공할 수 있다.In addition, the region dividing unit 330 may provide information on a division category in which the tree search time for the previous frame image is the shortest time to the ray allocating unit 320 as sub-region division information for the next image frame. For example, as calculated in Equation 2, when it is determined that the segmentation category having the shortest tree search time is the sixth segmentation category 460, the region segmentation unit 330 is assigned to the sixth segmentation category 460. Information about the light may be provided to the light ray allocating unit 320.

광선 할당부(320)는 수신된 서브영역 분할정보를 바탕으로 광선을 복수의 트리 탐색부(350-1,350-2,350-3,..)에 할당할 수 있다. 예를 들어, 광선 할당부(320)가 서브영역 분할정보로 제6 분할 카테고리(460)에 대한 정보를 수신한 경우, 광선 할당부(320)는 제6 분할 카테고리(460)를 바탕으로 생성된 광선들 각각을 복수의 트리 탐색부(350-1,350-2,350-3,..)에 제공할 수 있다. 구체적으로, 광선 할당부(320)는 제6 분할 카테고리(460)의 제1 서브영역에 포함되는 광선을 제1 트리 탐색부(350-1)에 할당하고, 제6 분할 카테고리(460)의 제2 서브영역에 포함되는 광선을 제2 트리 탐색부(350-2)에 할당하고, 제6 분할 카테고리(460)의 제3 서브영역에 포함되는 광선을 제3 트리 탐색부(350-3)에 할당하고, 제6 분할 카테고리(460)의 제4 서브영역에 포함되는 광선을 제4 트리 탐색부(350-4)에 할당할 수 있다.The light ray allocating unit 320 may allocate the light rays to the plurality of tree search units 350-1, 350-2, 350-3, ... based on the received sub-region division information. For example, when the ray allocating unit 320 receives information on the sixth division category 460 as sub-region division information, the ray allocator 320 is generated based on the sixth division category 460 Each of the rays may be provided to the plurality of tree search units 350-1, 350-2, 350-3, .. Specifically, the ray allocating unit 320 allocates the rays included in the first subregion of the sixth division category 460 to the first tree search unit 350-1, and 2 The light rays included in the sub-region are allocated to the second tree search unit 350-2, and the rays included in the third sub-region of the sixth division category 460 are assigned to the third tree search unit 350-3. After allocating, the rays included in the fourth subregion of the sixth division category 460 may be allocated to the fourth tree search unit 350-4.

또한, 영역 분할부(330)는 이전 프레임에 대해 판단된 분할 카테고리에 대한 정보를 메모리(340)에 저장하며, 다음 영상 프레임에 대한 서브영역 분할시 메모리(340)에 저장된 분할 카테고리에 대한 정보를 광선 할당부(320)를 제공할 수 있다.In addition, the region dividing unit 330 stores information on the division category determined for the previous frame in the memory 340, and stores information on the division category stored in the memory 340 when sub-regions are divided for the next image frame. A light ray allocating unit 320 may be provided.

트리 탐색부(350)는 수신된 광선에 대한 트리 탐색을 수행한다. 이때, 트리 탐색부(350)는 공간 분할 트리(spatial partitioning tree) 방식의 일종인 kd-tree를 이용할 수 있다. kd-tree는 박스 노드(Box Node), 내부 노드(Inner Node) 및 리프 노드(leaf node)를 포함하고, 리프 노드는 기하 데이터에 포함된 적어도 하나의 삼각형 정보를 포인팅하기 위한 삼각형 리스트를 포함할 수 있다. 본 발명의 일 실시예에서는 기하 데이터에 포함된 삼각형 정보가 배열로 구현된 경우, 리프 노드(930)에 포함된 삼각형 리스트는 배열 인덱스에 대응될 수 있다.The tree search unit 350 performs a tree search on the received ray. At this time, the tree search unit 350 may use a kd-tree, which is a kind of spatial partitioning tree method. The kd-tree includes a box node, an inner node, and a leaf node, and the leaf node includes a triangle list for pointing at least one triangle information included in the geometric data. I can. In an embodiment of the present invention, when triangle information included in geometric data is implemented as an array, a triangle list included in the leaf node 930 may correspond to an array index.

그러나, 상술한 바와 같이, kd-tree를 이용하는 것은 일 실시예에 불과할 뿐, BVH(Bounding Volume Hierarchy) 등과 같은 다양한 방식의 트리 탐색 기법이 수행될 수 있다.However, as described above, the use of kd-tree is only an example, and various types of tree search techniques such as Bounding Volume Hierarchy (BVH) may be performed.

특히, 영상 처리 장치(300)는 트리 탐색에 많은 로드가 발생될 수 있으므로, 도 3에 도시된 바와 같이, 복수의 트리 탐색부(350-1,350-2,350-3)를 구비하여 복수의 트리 탐색부(350-1,350-2,350-3) 각각이 독립적으로 광선에 대한 트리 탐색을 수행할 수 있다.In particular, since the image processing apparatus 300 may generate a lot of load in the tree search, as shown in FIG. 3, a plurality of tree search units is provided with a plurality of tree search units 350-1,350-2,350-3. (350-1,350-2,350-3) Each can independently perform a tree search for a ray.

교차 검사부(360)는 트리 탐색이 수행된 광선에 대한 교차 검사를 수행한다. 구체적으로, 교차 검사부(360)는 광선과 교차되는 리프 노드(leaf node)를 검색한다. 그리고, 교차 검사부(360)는 교차되는 리프 노드에 포함된 삼각형 리스트를 읽는다. 교차 검사부(360)는 삼각형 리스트의 좌표 정보를 읽고 주어진 광선에 대하여 교차 테스트를 수행할 수 있다. 그리고, 교차 검사부(360)는 광선에 의하여 히트(hit)된 삼각형과의 거리와 주어진 광선의 벡터값을 사용하여 레이-삼각형 히트 포인트의 좌표 값을 계산한다.The cross check unit 360 performs cross check on the ray on which the tree search has been performed. Specifically, the intersection inspection unit 360 searches for a leaf node that intersects the ray. In addition, the intersection inspection unit 360 reads a list of triangles included in the intersecting leaf nodes. The cross check unit 360 may read coordinate information of a triangle list and perform a cross test on a given ray. In addition, the intersection inspection unit 360 calculates the coordinate value of the ray-triangle hit point by using the distance from the triangle hit by the ray and the vector value of the given ray.

쉐이딩부(370)는 교차 검사가 수행된 광선에 대한 쉐이딩 동작을 수행한다. 구체적으로, 쉐이딩부(370)는 물질 메모리(material memory)와 삼각형 정보 캐시(triangle information cache)에 저장된 정보를 사용하여 광선-삼각형 히트 포인트의 컬러 값을 계산할 수 있다. 그리고, 쉐이딩부(370)는 산출된 컬러 값을 바탕으로 쉐이딩 동작을 수행할 수 있다.
The shading unit 370 performs a shading operation on the ray on which the cross check has been performed. Specifically, the shading unit 370 may calculate a color value of a ray-triangle hit point by using information stored in a material memory and a triangle information cache. In addition, the shading unit 370 may perform a shading operation based on the calculated color value.

이하에서는 도 6을 참조하여 영상 처리 장치의 영상 처리 방법에 대해 설명하기로 한다.Hereinafter, an image processing method of an image processing apparatus will be described with reference to FIG. 6.

우선, 영상 처리 장치(300)는 광선을 생성한다(S610). 이때, 영상 처리 장치(300)는 영상 프레임의 픽셀별로 광선을 생성할 수 있다.First, the image processing apparatus 300 generates light rays (S610). In this case, the image processing apparatus 300 may generate light rays for each pixel of the image frame.

그리고, 영상 처리 장치(300)는 이전 프레임에 대한 트리 탐색 횟수 정보를 바탕으로 생성된 광선을 복수의 서브영역으로 분할한다(S620). 구체적으로, 영상 처리 장치(300)는 복수의 방식으로 서브영역이 분할된 복수의 분할 카테고리를 저장하며, 복수의 분할 카테고리 중 이전 영상 프레임에 대한 트리 탐색 시간이 최단 시간인 분할 카테고리를 판단하여 판단된 분할 카테고리에 대응되도록 복수의 서브영역으로 분할할 수 있다. 더욱 구체적으로, 영상 처리 장치(300)는 이전 영상 프레임을 특정 분할 카테고리에 따라 복수의 서브영역으로 분할하고, 복수의 서브영역 각각에 포함된 픽셀에 대응되는 트리탐색 횟수와 복수의 서브영역 각각의 크기에 대응되는 가중치를 곱한 값을 더하여 트리 탐색값을 산출할 수 있다. 그리고, 영상 처리 장치(300)는 복수의 분할 카테고리 각각에 대해 트리 탐색값를 산출하여 산출된 복수의 트리 탐색값 중 가장 작은 트리 탐색값을 가지는 분할 카테고리를 트리 탐색 시간이 최단 시간인 분할 카테고리로 판단할 수 있다. Then, the image processing apparatus 300 divides the light rays generated based on the tree search number information for the previous frame into a plurality of sub-regions (S620). Specifically, the image processing apparatus 300 stores a plurality of divided categories in which sub-regions are divided in a plurality of ways, and determines and determines a divided category in which the tree search time for the previous image frame is the shortest among the plurality of divided categories. It can be divided into a plurality of sub-areas to correspond to the divided category. More specifically, the image processing apparatus 300 divides the previous image frame into a plurality of sub-regions according to a specific division category, and the number of tree searches corresponding to pixels included in each of the plurality of sub-regions and each of the plurality of sub-regions A tree search value can be calculated by adding a value multiplied by a weight corresponding to the size. In addition, the image processing apparatus 300 calculates a tree search value for each of the plurality of divided categories, and determines the divided category having the smallest tree search value among the plurality of tree search values calculated as the divided category having the shortest tree search time. can do.

그리고, 영상 처리 장치(300)는 복수의 서브 영역을 복수의 트리 탐색부(350-1,350-2,350-3,..)에 할당한다(S630). 구체적으로, 영상 처리 장치(300)는 트리 탐색 시간이 최단 시간이 분할 카테고리에 대한 정보를 바탕으로 복수의 서브 영역을 분할하며, 복수의 서브영역 각각에 포함된 광선을 대응되는 트리 탐색부에 할당할 수 있다.In addition, the image processing apparatus 300 allocates a plurality of sub-regions to a plurality of tree search units 350-1, 350-2, 350-3, .. (S630). Specifically, the image processing apparatus 300 divides a plurality of sub-areas based on information on a divided category in which the tree search time is the shortest time, and allocates rays included in each of the plurality of sub-areas to a corresponding tree search unit. can do.

그리고, 영상 처리 장치(300)는 할당된 서브 영역에 포함된 광선에 대한 트리 탐색을 수행한다(S640). 이때, 영상 처리 장치(300)는 복수의 트리 탐색부(350-1,350-2,350-3,..)를 이용하여 독립적으로 광선에 대한 트리 탐색을 수행할 수 있다.In addition, the image processing apparatus 300 performs a tree search on the rays included in the allocated sub-region (S640). In this case, the image processing apparatus 300 may independently perform a tree search for a ray using a plurality of tree search units 350-1, 350-2, 350-3, ...

그리고, 영상 처리 장치(300)는 트리 탐색된 광선에 대한 교차 검색 및 쉐이딩 동작을 수행한다(S650,S660). In addition, the image processing apparatus 300 performs a cross-search and shading operation on the tree-searched ray (S650 and S660).

상술한 바와 같이, 연관성이 높은 광선 그룹을 서브영역별로 하나의 트리 탐색부에 할당함으로서 트리 탐색부의 캐쉬메모리 적중률을 향상시킬 수 있다. 이에 의해, 트리 탐색부의 성능 및 영상 처리 장치의 전체적인 성능을 향상시키며 외부 메모리 대역폭을 줄이는 효과가 있다. 또한, 광선 그룹을 이전 프레임을 고려하여 적응적으로 서브그룹으로 분할하여 트리 탐색부에 할당함으로써, 균형적인 로드 밸런싱을 유지할 수 있게 된다.
As described above, by allocating a ray group having high correlation to one tree search unit for each sub-region, it is possible to improve the hit rate of the cache memory of the tree search unit. Accordingly, there is an effect of improving the performance of the tree search unit and the overall performance of the image processing apparatus, and reducing the external memory bandwidth. In addition, by adaptively dividing the ray group into subgroups in consideration of the previous frame and assigning it to the tree search unit, it is possible to maintain balanced load balancing.

본 실시예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. The device according to the present embodiments includes a processor, a memory for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, a key, a button, etc. It may include a user interface device and the like. Methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor. Here, as a computer-readable recording medium, a magnetic storage medium (e.g., read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and optical reading medium (e.g., CD-ROM ) And DVD (Digital Versatile Disc). The computer-readable recording medium is distributed over network-connected computer systems, so that computer-readable codes can be stored and executed in a distributed manner. The medium is readable by a computer, stored in memory, and executed on a processor.

본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.This embodiment may be represented by functional block configurations and various processing steps. These functional blocks may be implemented with various numbers of hardware or/and software configurations that perform specific functions. For example, the embodiment is an integrated circuit configuration such as memory, processing, logic, a look-up table, etc., capable of executing various functions by controlling one or more microprocessors or other control devices Can be hired. Similar to how components can be implemented with software programming or software elements, this embodiment includes various algorithms implemented with a combination of data structures, processes, routines or other programming components, including C, C++, Java ( Java), an assembler, etc. may be implemented in a programming or scripting language. Functional aspects can be implemented with an algorithm running on one or more processors. In addition, the present embodiment may employ a conventional technique for electronic environment setting, signal processing, and/or data processing. Terms such as “mechanism”, “element”, “means”, and “configuration” can be used broadly and are not limited to mechanical and physical configurations, etc. The terms are a series of routines of software in connection with a processor, etc. Can include the meaning of ).

본 실시 예에서 설명하는 특정 실행들은 예시들로서, 어떠한 방법으로도 기술적 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. The specific implementations described in the present embodiment are examples, and do not limit the technical scope in any way. For brevity of the specification, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection or connection members of the lines between the components shown in the drawings exemplarily represent functional connections and/or physical or circuit connections, and in an actual device, various functional connections that can be replaced or additionally It may be referred to as a connection, or circuit connections.

본 명세서(특히 특허청구범위)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.In the present specification (especially the claims), the use of the term "above" and a reference term similar thereto may correspond to both the singular and the plural. In addition, when a range is described, it includes individual values belonging to the above range (unless otherwise stated), it is the same as describing each individual value constituting the range in the detailed description. Finally, if there is no explicit order or contradictory description of the steps constituting the method, the steps may be performed in an appropriate order. It is not necessarily limited to the order of description of the steps. The use of all examples or illustrative terms (for example, etc.) is merely for describing the technical idea in detail, and the scope is not limited due to the examples or illustrative terms unless limited by the claims. In addition, those skilled in the art can recognize that various modifications, combinations, and changes may be configured according to design conditions and factors within the scope of the appended claims or their equivalents.

310: 광선 생성부 320: 광선 할당부
330: 영역 분할부 340: 메모리
350: 트리 탐색부 360: 교차 검사부
370: 쉐이딩부
310: ray generation unit 320: ray allocation unit
330: area division unit 340: memory
350: tree search unit 360: cross check unit
370: shading unit

Claims (14)

광선을 생성하는 광선 생성부;
상기 생성된 광선에 대한 트리 탐색을 수행하는 복수의 트리 탐색부;
이전 영상 프레임에 대한 트리 탐색 횟수 정보를 바탕으로 상기 생성된 광선을 복수의 서브영역으로 분할하는 영역 분할부; 및
상기 영역 분할부에 의해 분할된 복수의 서브영역 각각을 상기 복수의 트리 탐색부에 할당하는 광선 할당부;를 포함하는 영상 처리 장치.
A light ray generator that generates light rays;
A plurality of tree search units for performing a tree search on the generated rays;
A region dividing unit for dividing the generated ray into a plurality of sub-regions based on tree search number information for a previous image frame; And
And a light beam allocating unit that allocates each of the plurality of sub-regions divided by the region dividing unit to the plurality of tree search units.
제1항에 있어서,
상기 영역 분할부는,
복수의 방식으로 서브영역이 분할된 복수의 분할 카테고리를 저장하며, 상기 복수의 분할 카테고리 중 상기 이전 영상 프레임에 대한 트리 탐색 시간이 최단 시간인 분할 카테고리를 판단하여 상기 판단된 분할 카테고리에 대응되도록 복수의 서브영역으로 분할하는 것을 특징으로 하는 영상 처리 장치.
The method of claim 1,
The area division unit,
A plurality of divided categories in which the sub-regions are divided in a plurality of methods are stored, and a plurality of divided categories are determined to correspond to the determined divided categories by determining a divided category whose tree search time for the previous image frame is the shortest among the plurality of divided categories. The image processing apparatus, characterized in that divided into sub-regions of.
제2항에 있어서,
상기 영역 분할부는,
상기 이전 영상 프레임을 분할 카테고리에 따라 복수의 서브영역으로 분할하고, 상기 복수의 서브영역 각각에 포함된 픽셀에 대응되는 트리탐색 횟수와 상기 복수의 서브영역 각각의 크기에 대응되는 가중치를 곱한 값을 더하여 트리 탐색값을 산출하고, 상기 산출된 트리 탐색값을 이용하여 분할 카테고리에 대한 트리 탐색 시간을 판단하는 것을 특징으로 하는 영상 처리 장치.
The method of claim 2,
The area division unit,
The previous image frame is divided into a plurality of sub-regions according to a division category, and a value obtained by multiplying the number of tree searches corresponding to pixels included in each of the plurality of sub-regions and a weight corresponding to the size of each of the plurality of sub-regions is obtained. In addition, a tree search value is calculated, and a tree search time for a divided category is determined by using the calculated tree search value.
제2항에 있어서,
상기 영역 분할부는,
상기 복수의 분할 카테고리 각각에 대해 트리 탐색값를 산출하여 상기 산출된 복수의 트리 탐색값 중 가장 작은 트리 탐색값을 가지는 분할 카테고리를 트리 탐색 시간이 최단 시간인 분할 카테고리로 판단하는 것을 특징으로 하는 영상 처리 장치.
The method of claim 2,
The area division unit,
An image processing method characterized in that, by calculating a tree search value for each of the plurality of divided categories, the divided category having the smallest tree search value among the calculated plurality of tree search values is determined as the divided category having the shortest tree search time. Device.
제2항에 있어서,
상기 영역 분할부는,
상기 판단된 분할 카테고리에 대한 정보를 메모리에 저장하며, 다음 영상 프레임에 대한 서브영역 분할시 상기 메모리에 저장된 분할 카테고리에 대한 정보를 상기 광선 할당부에 제공하는 것을 특징으로 하는 영상 처리 장치.
The method of claim 2,
The area division unit,
And storing information on the determined segmentation category in a memory, and providing information on the segmentation category stored in the memory to the ray allocating unit when subregions are segmented for a next image frame.
제1항에 있어서,
상기 광선 할당부는,
상기 복수의 트리 탐색부 중 대응되는 서브영역에 포함된 광선에 대한 트리 탐색이 종료된 트리 탐색부에 트리 탐색이 종료되지 않은 다른 서브영역에 포함된 광선을 추가로 할당하는 것을 특징으로 하는 영상 처리 장치.
The method of claim 1,
The light beam allocating unit,
An image processing, comprising: additionally allocating a light ray included in another sub-region for which the tree search has not been completed, to a tree search unit in which a tree search for a ray included in a corresponding sub-region among the plurality of tree search units has been completed. Device.
제1항에 있어서,
상기 트리 탐색이 수행된 광선에 대한 교차 검사를 수행하는 교차 검사부; 및
상기 교차 검사가 수행된 광선에 대한 쉐이딩 동작을 수행하는 쉐이딩부;를 포함하는 영상 처리 장치.
The method of claim 1,
An intersection inspection unit for performing an intersection inspection on the ray on which the tree search has been performed; And
And a shading unit configured to perform a shading operation on the ray on which the cross-check has been performed.
광선 생성부가 광선을 생성하는 단계;
영역 분할부가 이전 영상 프레임에 대한 트리 탐색 횟수 정보를 바탕으로 상기 생성된 광선을 복수의 서브영역으로 분할하는 단계;
광선 할당부가 상기 영역 분할부에 의해 분할된 복수의 서브영역 각각을 복수의 트리 탐색부에 할당하는 단계;
상기 복수의 트리 탐색부가 상기 생성된 광선에 대한 트리 탐색을 수행하는 단계;를 포함하는 영상 처리 방법.
Generating a light beam by a light ray generator;
Dividing, by a region dividing unit, the generated ray into a plurality of subregions based on the tree search number information for the previous image frame;
Allocating, by a light ray allocating unit, each of a plurality of sub-regions divided by the region dividing unit to a plurality of tree search units;
And performing a tree search on the generated rays by the plurality of tree search units.
제8항에 있어서,
상기 분할하는 단계는,
복수의 방식으로 서브영역이 분할된 복수의 분할 카테고리를 저장하며, 상기 복수의 분할 카테고리 중 상기 이전 영상 프레임에 대한 트리 탐색 시간이 최단 시간인 분할 카테고리를 판단하여 상기 판단된 분할 카테고리에 대응되도록 복수의 서브영역으로 분할하는 것을 특징으로 하는 영상 처리 방법.
The method of claim 8,
The dividing step,
A plurality of divided categories in which the sub-regions are divided in a plurality of methods are stored, and a plurality of divided categories are determined to correspond to the determined divided categories by determining a divided category whose tree search time for the previous image frame is the shortest among the plurality of divided categories. The image processing method, characterized in that divided into sub-regions of.
제9항에 있어서,
상기 분할하는 단계는,
상기 이전 영상 프레임을 분할 카테고리에 따라 복수의 서브영역으로 분할하고, 상기 복수의 서브영역 각각에 포함된 픽셀에 대응되는 트리탐색 횟수와 상기 복수의 서브영역 각각의 크기에 대응되는 가중치를 곱한 값을 더하여 트리 탐색값을 산출하고, 상기 산출된 트리 탐색값을 이용하여 분할 카테고리에 대한 트리 탐색 시간을 판단하는 것을 특징으로 하는 영상 처리 방법.
The method of claim 9,
The dividing step,
The previous image frame is divided into a plurality of sub-regions according to a division category, and a value obtained by multiplying the number of tree searches corresponding to pixels included in each of the plurality of sub-regions and a weight corresponding to the size of each of the plurality of sub-regions is obtained. In addition, a tree search value is calculated, and a tree search time for a divided category is determined by using the calculated tree search value.
제9항에 있어서,
상기 분할하는 단계는,
상기 복수의 분할 카테고리 각각에 대해 트리 탐색값를 산출하여 상기 산출된 복수의 트리 탐색값 중 가장 작은 트리 탐색값을 가지는 분할 카테고리를 트리 탐색 시간이 최단 시간인 분할 카테고리로 판단하는 것을 특징으로 하는 영상 처리 방법.
The method of claim 9,
The dividing step,
An image processing method characterized in that, by calculating a tree search value for each of the plurality of divided categories, the divided category having the smallest tree search value among the calculated plurality of tree search values is determined as the divided category having the shortest tree search time. Way.
제9항에 있어서,
상기 분할하는 단계는,
상기 판단된 분할 카테고리에 대한 정보를 메모리에 저장하는 단계; 및
다음 영상 프레임에 대한 서브영역 분할시 상기 메모리에 저장된 분할 카테고리에 대한 정보를 상기 광선 할당부에 제공하는 단계;를 포함하는 것을 특징으로 하는 영상 처리 방법.
The method of claim 9,
The dividing step,
Storing information on the determined division category in a memory; And
And providing information on a segmentation category stored in the memory to the light beam allocating unit when segmenting a subregion for a next image frame.
제8항에 있어서,
상기 할당하는 단계는,
상기 복수의 트리 탐색부 중 대응되는 서브영역에 포함된 광선에 대한 트리 탐색이 종료된 트리 탐색부에 트리 탐색이 종료되지 않은 다른 서브영역에 포함된 광선을 추가로 할당하는 것을 특징으로 하는 영상 처리 방법.
The method of claim 8,
The allocating step,
An image processing, comprising: additionally allocating a light ray included in another sub-region for which the tree search has not been completed, to a tree search unit in which a tree search for a ray included in a corresponding sub-region among the plurality of tree search units has been completed. Way.
제8항에 있어서,
상기 트리 탐색이 수행된 광선에 대한 교차 검사를 수행하는 단계; 및
상기 교차 검사가 수행된 광선에 대한 쉐이딩 동작을 수행하는 단계;를 포함하는 영상 처리 방법.
The method of claim 8,
Performing a cross check on the ray on which the tree search has been performed; And
And performing a shading operation on the ray on which the cross check has been performed.
KR1020140022489A 2013-08-12 2014-02-26 Apparatus and Method for processing image KR102176511B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201480055150.0A CN105612558B (en) 2013-08-12 2014-08-12 Device and method for handling image
US14/457,513 US9519992B2 (en) 2013-08-12 2014-08-12 Apparatus and method for processing image
PCT/KR2014/007484 WO2015023106A1 (en) 2013-08-12 2014-08-12 Apparatus and method for processing image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361864877P 2013-08-12 2013-08-12
US61/864,877 2013-08-12

Publications (2)

Publication Number Publication Date
KR20150020012A KR20150020012A (en) 2015-02-25
KR102176511B1 true KR102176511B1 (en) 2020-11-09

Family

ID=52578999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140022489A KR102176511B1 (en) 2013-08-12 2014-02-26 Apparatus and Method for processing image

Country Status (2)

Country Link
KR (1) KR102176511B1 (en)
CN (1) CN105612558B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102493461B1 (en) 2015-08-31 2023-01-30 삼성전자 주식회사 System and Method of rendering
US10262456B2 (en) * 2015-12-19 2019-04-16 Intel Corporation Method and apparatus for extracting and using path shading coherence in a ray tracing architecture
US9892544B2 (en) 2015-12-22 2018-02-13 Intel Corporation Method and apparatus for load balancing in a ray tracing architecture

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090153556A1 (en) 2007-12-17 2009-06-18 Electronics And Telecommunications Research Institute Ray tracing device based on a pixel processing element and method thereof
US20110234583A1 (en) 2010-01-04 2011-09-29 Reuven Bakalash Method and apparatus for parallel ray-tracing employing modular space division

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049927B (en) * 2013-01-17 2016-06-29 浙江大学 Real time ray tracing rendering intent based on GPU cluster

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090153556A1 (en) 2007-12-17 2009-06-18 Electronics And Telecommunications Research Institute Ray tracing device based on a pixel processing element and method thereof
US20110234583A1 (en) 2010-01-04 2011-09-29 Reuven Bakalash Method and apparatus for parallel ray-tracing employing modular space division

Also Published As

Publication number Publication date
CN105612558B (en) 2019-02-01
KR20150020012A (en) 2015-02-25
CN105612558A (en) 2016-05-25

Similar Documents

Publication Publication Date Title
US9367949B2 (en) Apparatus and method for scheduling of ray tracing
US9842424B2 (en) Volume rendering using adaptive buckets
US8248401B2 (en) Accelerated data structure optimization based upon view orientation
US10347042B2 (en) Importance sampling of sparse voxel octrees
CN111260766B (en) Virtual light source processing method, device, medium and electronic equipment
KR102341267B1 (en) Apparatus and Method of rendering for binocular disparity image
KR102096497B1 (en) Reduced latency of map interfaces
US20110063285A1 (en) Rendering of stereoscopic images with multithreaded rendering software pipeline
US8248412B2 (en) Physical rendering with textured bounding volume primitive mapping
EP2698768A2 (en) Method and apparatus for graphic processing using parallel pipeline
US11954782B2 (en) Hybrid render with preferred primitive batch binning and sorting
WO2014087572A1 (en) Area dividing and rendering device and area dividing and rendering method
US11321903B2 (en) Bounding volume hierarchy compression
TW201513609A (en) Network visualization systems and methods
KR102176511B1 (en) Apparatus and Method for processing image
EP2690599B1 (en) Method and apparatus for ray tracing
US20140347355A1 (en) Ray tracing core and method for processing ray tracing
KR102482874B1 (en) Apparatus and Method of rendering
US20190102506A1 (en) Semiconductor package metal shadowing checks
US9934605B2 (en) Depth buffering for subsequent scene rendering
WO2011159085A2 (en) Method and apparatus for ray tracing in a 3-dimensional image system
KR20160061066A (en) Image processing apparatus and method
US9639975B1 (en) System and method for generating shadows
JP2015210672A (en) Information processor, control method, program and recording medium
US9519992B2 (en) Apparatus and method for processing image

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