KR20080020198A - An image detection equipment and the method which applied the kd-tree search algorithm of the non-stack type for ray tracing - Google Patents

An image detection equipment and the method which applied the kd-tree search algorithm of the non-stack type for ray tracing Download PDF

Info

Publication number
KR20080020198A
KR20080020198A KR1020060083354A KR20060083354A KR20080020198A KR 20080020198 A KR20080020198 A KR 20080020198A KR 1020060083354 A KR1020060083354 A KR 1020060083354A KR 20060083354 A KR20060083354 A KR 20060083354A KR 20080020198 A KR20080020198 A KR 20080020198A
Authority
KR
South Korea
Prior art keywords
node
ray
search
tree
unit
Prior art date
Application number
KR1020060083354A
Other languages
Korean (ko)
Other versions
KR100894136B1 (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 KR1020060083354A priority Critical patent/KR100894136B1/en
Publication of KR20080020198A publication Critical patent/KR20080020198A/en
Application granted granted Critical
Publication of KR100894136B1 publication Critical patent/KR100894136B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7847Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using low-level visual features of the video content
    • G06F16/785Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using low-level visual features of the video content using colour or luminescence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree

Abstract

An image detection apparatus to which a non-stack type KD search algorithm is applied for tracing ray and a method thereof are provided to reduce time for detecting images by shortening overlapped search or calculation time. An image detection apparatus comprises a ray generator, a downward searching unit(130), an upward searching unit(140), and a shading/texture mapping unit(150). The ray generator generates ray to be projected to an image. The downward searching unit searches a triangle where the ray crosses an object while moving to a terminating node of a binary tree. The upward searching unit is for searching internal nodes not detected after the downward searching unit performs the search operation. The shading/texture mapping unit calculates a color of a crossed point in the object detected by the downward searching unit.

Description

광선 추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 장치 및 방법{An image detection equipment and the method which applied the KD-tree search algorithm of the non-stack type for ray tracing}An image detection equipment and the method which applied the KD-tree search algorithm of the non-stack type for ray tracing}

도 1은 종래의 스택을 이용한 케이디 트리에 의한 영상분할 및 광선을 도시한 구성도,1 is a block diagram showing image segmentation and light beams by a caddy tree using a conventional stack;

도 2는 종래의 스택을 이용한 케이디 트리에서의 노드 이동을 도시한 구조도,2 is a structural diagram showing a node movement in a Caddy tree using a conventional stack;

도 3은 종래의 스택을 이용한 케이디 트리에 의한 스택기반 탐색 방법을 도시한 흐름도,3 is a flowchart illustrating a stack-based search method using a CAD tree using a conventional stack;

도 4는 종래의 비 스택을 이용한 케이디 트리에 의한 영상분할 및 광선을 도시한 구성도,4 is a block diagram showing image segmentation and light beams by a caddy tree using a conventional non-stack;

도 5는 종래의 비 스택을 이용한 케이디 트리에 의한 상하향탐색을 도시한 흐름도,5 is a flow chart showing the up and down navigation by the Caddy tree using a conventional non-stack,

도 6은 본 발명에 따른 비 스택을 이용한 케이디 트리 탐색 알고리즘을 적용한 영상검출 장치의 구성도, 6 is a block diagram of an image detection apparatus to which a Cady Tree search algorithm using a non-stack according to the present invention;

도 7은 본 발명에 따른 영상검출 장치 내에 포함된 탐색부의 구성도,7 is a configuration diagram of a search unit included in an image detection apparatus according to the present invention;

도 8은 본 발명에 따른 케이디 트리에 의한 영상분할 및 광선을 도시한 구성도,8 is a block diagram showing image segmentation and light beam by the Caddy tree according to the present invention;

도 9는 본 발명에 따른 비 스택을 이용한 케이디 트리에서의 노드 이동을 도시한 구성도,9 is a block diagram showing a node movement in the Cady tree using a non-stack in accordance with the present invention,

도 10은 본 발명에 따른 비 스택을 이용한 케이디 트리에서의 노드 탐색 방법을 나타내는 흐름도이다.10 is a flowchart illustrating a node searching method in a Cady tree using a non-stack according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

110 : 광선 생성부 120 : 탐색부110: ray generator 120: search unit

130 : 하향 탐색부 131 : 레이-트라이앵글 교차테스트부130: downward navigation unit 131: ray-triangle cross test unit

132 : 제1역다중화기 140 : 상향 탐색부132: first demultiplexer 140: upward search unit

141 : 노드결정부 142 : 하향탐색 노드결정부141: node determination unit 142: downward navigation node determination unit

143 : 레이-박스 교차테스트부 144 : 제2역다중화기143: ray-box cross test unit 144: second demultiplexer

150 : 쉐이딩/텍스쳐 맵핑부150: shading / texture mapping unit

본 발명은 그래픽 처리 장치(GPU : Graphics Processing Unit)에서 동작되는 레이 트레이싱(Ray-Tracing)을 위한 논스택(Non-Stack) 방식의 케이디 트리(KD- Tree) 탐색 알고리즘에 관한 것으로서, 보다 자세하게는 그래픽 처리 장치에 적용되며, 이진 트리(Binary Tree)의 일종인 케이디 트리의 탐색 알고리즘에서 중복되어 방문하는 노드의 수를 줄여 탐색 알고리즘의 성능을 향상시킬 수 있는 광선 추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 장치 및 방법에 관한 것이다.The present invention relates to a non-stack KD-tree search algorithm for ray tracing that is operated in a graphics processing unit (GPU), and more specifically, A non-stacked cad tree for ray tracing, which is applied to the graphics processing unit and improves the performance of the navigator algorithm by reducing the number of duplicated nodes in the cad tree search algorithm, a kind of binary tree. An image detection apparatus and method applying a search algorithm are provided.

일반적으로 컴퓨터의 영상정보 처리, 가속화, 신호전환, 화면출력을 담당하는 그래픽카드는 비디오 램과 그래픽 칩에 따라 성능이 달라진다. 중앙처리장치(CPU)의 그래픽 작업으로 인해 생기는 병목 현상을 해결하기 위해 만든 것이 그래픽 가속기능으로, 그래픽카드를 그래픽 가속기(Graphics Accelerator)라고도 한다. 기존의 CPU가 처리하던 트랜스폼(transform)과 라이트닝(lighting)을 그래픽 처리 장치가 대신 처리하여, 중앙처리장치의 사이클을 다른 작업을 위해 사용하고 부담을 줄이고 좀 더 자유롭게 사용할 목적으로 개발되었다. 그래픽 처리 장치(GPU : Graphics Processing Unit)는 원래 3D그래픽을 구현하는 데 있어 애플리케이션을 위해 사용했던 3D그래픽 가속 칩을 개량한 것이다. 그래픽 연산처리를 하는 반도체 칩으로, 코어라고도 한다. GPU가 빠르다는 것은 코어의 속도가 빠르다는 것을 뜻한다. 따라서, CPU의 처리량은 줄었지만 GPU의 처리량은 계속 증가함에 따라 많은 열이 발생하여 CPU처럼 방열판이나 냉각팬이 설치되는 경우가 많다.In general, the graphics card that handles computer image information, acceleration, signal conversion, and screen output depends on the video RAM and graphics chip. It was created to solve the bottleneck caused by the CPU's graphic work. Graphics card is also called Graphics Accelerator. The graphics processing unit handles transforms and lightings that were previously handled by the CPU, and was developed to use the central processing unit's cycle for other tasks, reduce the burden, and use it more freely. The Graphics Processing Unit (GPU) is an improvement on the 3D graphics acceleration chip that was originally used for applications in implementing 3D graphics. A semiconductor chip that performs graphics arithmetic processing, also called a core. Faster GPUs mean faster cores. Therefore, the throughput of the CPU is reduced, but as the throughput of the GPU continues to increase, a lot of heat is generated, and a heat sink or cooling fan is often installed like a CPU.

따라서, 컴퓨터가 사양이 다양해지고 고속, 고성능화되면서 그래픽 처리 장치의 중요성은 더 높아졌다. 특수효과를 내는 필터를 사용하는 프로그램과 점차 디지털 신호 처리(DSP : Digital Signal Processing)적인 프로세서로 변해감에 따라 그래픽 처리 장치의 처리량도 늘고 있다.Thus, as computers become more versatile, faster, and higher in performance, the importance of graphics processing devices becomes more important. As the use of special effects filters and digital signal processing (DSP) processors gradually increases, the throughput of graphic processing devices is increasing.

이러한 그래픽 처리 장치에 포함되어 영상에 포함된 물체를 검출하기 위한 알고리즘인 케이디 트리는 옥트리(Octree)와 같은 공간 분할 트리(Spatial Partitioning Tree)의 일종이다. 옥트리는 부모노드(parent-node)의 각 좌표축 중간을 분할하는 방법으로 8개의 서브노드(sub-node) 생성한다.Caddy tree, which is an algorithm included in the graphic processing device and detects an object included in an image, is a kind of spatial partitioning tree such as an octree. The octree creates eight sub-nodes by dividing the middle of each coordinate axis of the parent node.

도 1은 종래의 스택을 이용한 케이디 트리에 의한 영상분할 및 광선을 도시한 구성도이다. 도 1에 도시된 바와 같이, 케이디 트리는 임의의 평가함수에 의해 선택된 하나의 좌표축에 대해 평가함수가 최소화될 수 있는 위치를 중심으로 2개의 영역으로 분할하는 방식을 특정 한계 값에 도달할 때까지 반복적으로 수행하여 입력된 영상을 분할한다. 1 is a block diagram showing image segmentation and light beams by a caddy tree using a conventional stack. As shown in FIG. 1, the Cady Tree iteratively divides two regions around a position where an evaluation function can be minimized for one coordinate axis selected by an arbitrary evaluation function until a specific limit value is reached. Divides the input image.

이렇게 생성된 케이디 트리는 광선(ray)과 교차(intersection)되는 물체를 빠르게 검색하기 위해 사용된다. The Cady tree created in this way is used to quickly search for an object that intersects a ray.

도 2는 종래의 스택을 이용한 케이디 트리에서의 노드 이동을 도시한 구조도이다. 도 2에 도시된 바와 같이, 보여지는 이진트리는 도 1에서 분할된 영상을 트리구조로 표현한 것으로서, 영상을 검출하기 위한 트리의 탐색은 루트노드(S0)에서부터 시작하게 된다.2 is a structural diagram showing node movement in a Caddy tree using a conventional stack. As shown in FIG. 2, the binary tree shown is a tree structure of the image segmented in FIG. 1, and the search for the tree for detecting the image starts from the root node S0.

루트노드(S0)와 광선의 교차를 검사하고, 만약 광선과 물체의 교차가 수행되는 경우, 루트노드(S0)의 2개의 자식노드 중에서 광선시점으로부터 먼 쪽에 있는 자식노드(S2)(제2노드)를 스택에 넣고, 광선시점으로부터 가까이에 있는 쪽의 자식노드(S1)(제1노드)에 대해서 부모노드인 루트노드(S0)와 같이 재귀적으로 교차테스 트를 수행한다. The intersection of the root node S0 and the ray is examined, and if the intersection of the ray and the object is performed, the child node S2 (second node) farthest from the ray start point among the two child nodes of the root node S0. ) Is placed on the stack, and the child node S1 (first node) closer to the ray viewpoint is recursively cross-tested as the parent node root node S0.

즉, 루트노드(S0)의 자식노드 중 하나인 제1노드(S1)의 교차테스트를 수행하여 제1노드(S1)의 하위노드에 광선과 교차되는 영역을 포함하고 있다면, 제1노드(S1)에 포함된 2개의 자식노드 중에서 광선시점으로부터 먼 쪽에 있는 자식노드(n2)(제2노드)를 스택에 삽입하고, 가까이에 있는 쪽의 자식노드(n1)(제1노드)의 교차테스트인 광선과 제1노드(n1)에 포함된 트라이앵글의 교차테스트를 수행한다.That is, if a cross-test of the first node S1, which is one of the child nodes of the root node S0, is performed and the subnode of the first node S1 includes an area intersecting the light beam, the first node S1 ) Inserts the child node n2 (second node) farthest from the ray start point out of the two child nodes included in the stack, and cross-tests the child node n1 (first node) of the adjacent one. The cross test of the light beam and the triangle included in the first node n1 is performed.

이후, 제1노드(n1)의 교차테스트가 수행된 결과 교차점을 찾지 못했을 경우, 다음으로 테스트할 노드를 지정함에 있어서, 제1노드는 자식노드가 존재하지 않기 때문에 스택에 저장된 노드인 제2노드(n2)를 꺼내어 탐색을 다시 수행한다. Subsequently, when the intersection test is not found as a result of the cross test of the first node n1, in designating a node to be tested next, the first node is a second node that is a node stored in the stack because no child node exists. Take out (n2) and perform the search again.

즉, 도 2에 도시된 트리에서 스택에 저장될 노드는 S2, n2, n4이며, 전체 노드의 방문순서는 S0, S1, n1, n2, S2, n3, n4로 이루어진다.That is, in the tree shown in FIG. 2, nodes to be stored in the stack are S2, n2 and n4, and the visit order of all nodes is S0, S1, n1, n2, S2, n3, n4.

도 3은 종래의 스택을 이용한 케이디 트리에 의한 스택기반 탐색 방법을 도시한 흐름도이다. 도 3에 도시된 바와 같이, 루트노드의 교차점 테스트를 수행하고(S110), 루트노드의 하위노드 내에 교차점이 존재하는 경우, 루트노드의 자식노드 중 제2노드를 스택에 저장하고(S120) 탐색을 위해 제1노드로 이동한다(S130). 이때, 제1노드가 단말노드인 경우(S140), 단말노드 내에 포함된 트라이앵글과 광선과의 교차점을 검출하고(S150), 제1노드가 단말노드가 아닌 경우(S140), 해당 제1노드를 부모노드로 하여, 부모노드의 자식노드 중 제2노드를 스택에 저장하고(S120) 탐색을 위해 제1노드로 이동한다(S130).3 is a flowchart illustrating a stack-based search method using a CAD tree using a conventional stack. As shown in FIG. 3, when an intersection test of a root node is performed (S110), and when an intersection exists in a lower node of the root node, a second node among the root nodes of the root node is stored in a stack (S120) and searched. In order to move to the first node (S130). In this case, when the first node is the terminal node (S140), the intersection point of the triangle and the light beam included in the terminal node is detected (S150), and when the first node is not the terminal node (S140), the corresponding first node As the parent node, the second node among the child nodes of the parent node is stored in the stack (S120) and moved to the first node for searching (S130).

S150 단계에서 트라이앵글과 광선의 교차가 발생하는 경우(S160), 탐색을 종 료하며, 트라이앵글과 광선의 교차가 발생하지 않는 경우(S160), 스택에 저장된 노드를 검사하여 저장된 노드가 존재한다면(S170), 스택의 제일 상부에 저장된 노드로 이동하여 탐색을 수행한다(S180). If the intersection of the triangle and the ray occurs in step S150 (S160), the search is terminated, and if the intersection of the triangle and the ray does not occur (S160), if the node stored by checking the node stored in the stack exists (S170) In step S180, the controller moves to the node stored at the top of the stack.

만약, 스택에 저장된 노드가 없는 경우(S170), 해당되는 트리의 노드를 모두 방문한 것으로 판단하고, 탐색을 종료한다.If there are no nodes stored in the stack (S170), it is determined that all nodes of the corresponding tree have been visited, and the search ends.

도 4는 종래의 비 스택을 이용한 케이디 트리에 의한 영상분할 및 광선을 도시한 구성도이다. GPU 상에서 스택을 사용하지 않는 방법은 리스타트(Restart)와 백트랙(Backtrack)의 두 가지 케이디 트리 광선추적 알고리즘을 제안하고 있다. 이들 알고리즘은 광선의 교차 허용범위를 변환시킴으로써, 이미 방문한 노드에 대한 재탐색을 하지 않도록 한다. 도 4에 도시된 바와 같이, 케이디 트리에 사용되는 영상을 도 1에서 설명한 바와 같이 분할하고, t_min의 값이 노드 n1보다 앞쪽에 있으므로, 광선시점에서 가까운 노드인 n1노드를 먼저 탐색하고, n1이 탐색된 이후, t_min과 t_max는 (b)와 같이 조절한다.4 is a block diagram showing image segmentation and light beams by a caddy tree using a conventional non-stack. A method that does not use a stack on a GPU suggests two Cady Tree raytrace algorithms: Restart and Backtrack. These algorithms transform the intersection tolerance of the rays, thus avoiding rediscovering already visited nodes. As shown in FIG. 4, the image used for the Caddy tree is divided as described in FIG. 1, and since the value of t_min is ahead of the node n1, the node n1, which is a node close to the ray time point, is first searched, and n1 is After the search, t_min and t_max are adjusted as in (b).

다음으로 n2를 탐색할 경우, t_min과 t_max 사이에 노드 n1이 포함되지 않으므로, n2만이 선택되어 탐색을 수행한다.Next, when searching for n2, since node n1 is not included between t_min and t_max, only n2 is selected to perform the search.

이때, 리스타트(Restart) 방식은 트리의 단말노드에서 광선과 교차된 트라이앵글을 찾지 못할 경우, t_min 값을 변경한 후, 루트노드에서부터 다시 하향탐색을 통해 탐색을 수행하는 것이며, 백트랙(Backtrack)은 자식노드가 부모노드에 대한 포인터(pointer)를 이용하여 부모노드로의 상향탐색을 수행할 때 사용한다. 이중 리스타트(Restart) 알고리즘은 메모리 사용량에 있어서, 백트랙(Backtrack) 보다 우수하고, 백트랙(Backtrack)은 수행 성능에서 리스타트(Restart) 보다 우수하다. At this time, if the restart method does not find a triangle that intersects a ray at the terminal node of the tree, the t_min value is changed, and then the search is performed by searching downward again from the root node. Is used when the child node performs a search up to the parent node using a pointer to the parent node. The double restart algorithm is superior to backtrack in memory usage, and the backtrack is superior to restart in performance.

두 개의 알고리즘 중에서 백트랙(Backtrack) 알고리즘의 경우, 내부 노드에 대해서 최대 3번의 방문 및 경계선 검출 테스트가 필요한 문제점을 내포하고 있다.Among the two algorithms, the backtrack algorithm has a problem that up to three visits and boundary detection tests are required for internal nodes.

도 5는 종래의 비 스택을 이용한 케이디 트리에 의한 상하향탐색을 도시한 흐름도이다. 도 5에 도시된 바와 같이 하향탐색을 통해 단말노드에 도착한 경우 광선과 단말노드 내에 포함된 트라이앵글과의 교차점을 검출한다(S210). 이후 교차점이 발견되지 않으면(S220), t_min에 t_max를 대입하고, t_max에는 global_max를 대입한다(S230). 이후, 부모노드로 이동하고(S240), 해당되는 부모노드에 포함되는 자식노드 중에서, 탐색이 이루어지지 않은 자식노드가 있는 경우(S250), 해당되는 자식노드로 이동하여(S260), 하향탐색을 수행하기 위해 S210 단계로 이동한다(S270). FIG. 5 is a flowchart illustrating up and down navigation by a Caddy tree using a conventional non-stack. As shown in FIG. 5, when the terminal node arrives through the downlink search, the intersection point between the ray and the triangle included in the terminal node is detected (S210). After the intersection is not found (S220), t_max is substituted for t_min, and global_max is substituted for t_max (S230). Subsequently, when moving to the parent node (S240), and among the child nodes included in the corresponding parent node, if there is a child node that has not been searched (S250), the mobile node moves to the corresponding child node (S260), and searches downward. In step S210 to perform (S270).

만약, 해당 부모노드의 자식노드 중 모든 노드에 대한 탐색이 이루어진 경우(S250), 해당 부모노드의 부모노드로 이동하여 S250 단계부터 재수행한다(S240).If the search for all nodes among the child nodes of the parent node is made (S250), the process moves to the parent node of the parent node and re-executes from step S250 (S240).

도 1 내지 도 3에서 도시한 바와 같이, 스택을 사용하는 케이디 트리의 경우, 메모리 쓰기 동작을 수행해야 하기 때문에 멀티 파이프 라인을 이용하여 동작을 수행하는 그래픽 처리 장치에서는 메모리 충돌이 빈번하게 발생하여 데이터 병목현상이 초래되는 문제점이 있다. As shown in FIGS. 1 to 3, in the case of the Caddy tree using the stack, since a memory write operation must be performed, a memory conflict frequently occurs in a graphic processing apparatus that performs an operation using a multi-pipeline. There is a problem that causes bottlenecks.

또한, 도 4 내지 도 5에서 도시한 바와 같이, 리스타트(Restart)와 백트랙(Backtrack)은 단말노드 방문 후 다음 방문 노드를 선택하기 위해 항상 부모노드에 대한 경계선 검출 테스트를 필요로 한다. 따라서, 처음 하향탐색시 방문했던 노 드에 대해 최대 2번의 방문 및 경계선 검출 테스트를 더 수행해야 한다. 따라서, 스택을 사용하는 알고리즘 대비 최대 약 3배 정도의 성능저하가 발생하는 문제점이 있다.In addition, as shown in FIGS. 4 to 5, restart and backtrack always require a boundary detection test for a parent node to select a next visit node after a terminal node visit. Therefore, up to two more visit and border detection tests should be performed on the node that was visited during the first down search. Therefore, there is a problem that a performance degradation of up to about 3 times compared to an algorithm using a stack occurs.

본 발명은 종래 기술의 문제점을 해결하기 위한 것으로, 스택 및 메모리 쓰기 기능이 필요하지 않은 케이디 트리 탐색 알고리즘을 적용한 영상검출 장치를 제공하는 데에 목적이 있다.The present invention is to solve the problems of the prior art, and an object of the present invention is to provide an image detection apparatus that applies a Cady tree search algorithm that does not require a stack and memory write function.

또한, 본 발명은 리스타트(Restart)와 백트랙(Backtrack) 탐색시 중복 연산을 최소화하기 위해 동일한 노드를 평균 1.5번 이상 방문하지 않는 케이디 트리 탐색 방법을 제공하는 데에 목적이 있다.Another object of the present invention is to provide a cady tree search method in which the same node is not visited more than 1.5 times on average in order to minimize duplicate operations during restart and backtrack search.

본 발명의 상기 목적은 영상을 이진트리 형식으로 분할하고 최종 분할된 영역을 단말노드로 하고, 광선 추적을 이용하여 상기 영상에 포함된 물체를 검출하기 위한 케이디 트리 알고리즘을 포함하는 장치에 있어서, 영상에 투과할 광선을 생성하기 위한 광선생성부와 상기 이진트리의 단말노드 방향으로 이동하면서 상기 물체와 상기 광선이 교차하는 트라이앵글을 탐색하기 위한 하향탐색부와 상기 하향탐색부를 통해 탐색을 수행한 이후, 탐색되지 않은 내부노드를 검색하기 위한 상향탐색부 및 상기 하향탐색부에서 검출된 물체 교차점의 컬러를 계산하기 위한 쉐이딩/텍 스쳐 매핑부에 의해 달성된다.The above object of the present invention is to divide the image into a binary tree format, the final divided region as a terminal node, and includes a Cady tree algorithm for detecting an object included in the image using ray tracing, After searching through the downlink search unit and the downlink search unit for searching the triangle crossing the object and the light beam while moving in the direction of the light generating unit and the terminal node of the binary tree, It is achieved by an uplink searcher for searching for an undiscovered internal node and a shading / texture mapping unit for calculating the color of the object intersection point detected by the downsearcher.

또한, 본 발명의 다른 목적은 영상을 이진트리 형식으로 분할하고 최종 분할된 영역을 단말노드로 하고, 광선 추적을 이용하여 상기 영상에 포함된 물체를 검출하기 위한 케이디 트리 알고리즘을 이용한 영상검출 방법에 있어서, 루트노드로부터 하위노드의 제1노드를 하향탐색하는 제1단계와 상기 하향탐색을 통해 단말노드를 발견하는 경우, 상기 광선과 단말노드 내의 트라이앵글의 교차점을 검출하는 제2단계와 상기 제2단계에서 상기 교차점이 발견되지 않는 경우, 현재 노드의 형제노드의 위치를 검출하는 제3단계와 상기 제3단계에서 형제노드가 이미 탐색을 완료한 경우, 부모노드의 형제노드로 이동하는 제4단계와 상기 부모노드의 형제노드의 주소를 판단하는 제5단계와 상기 부모노드의 형제노드의 탐색이 이루어지지 않은 경우, 해당되는 노드의 하위노드들 중에서 상기 광선과의 교차점을 검출하는 제6단계 및 상기 제6단계에서 상기 광선과의 교차점이 검출되는 경우, 제1단계부터의 탐색을 수행하는 제7단계에 의해 달성된다.In addition, another object of the present invention is to divide the image into a binary tree format, the final segmented region as a terminal node, an image detection method using a Cady tree algorithm for detecting an object included in the image using ray tracing. In an embodiment, a first step of searching a first node of a lower node from a root node and a second step of detecting an intersection point of the light beam and a triangle in the terminal node when the terminal node is found through the down-searching method A third step of detecting the position of the sibling node of the current node if the intersection point is not found in the step; and a fourth step of moving to the sibling node of the parent node if the sibling node has already searched in the third step. And a fifth step of determining an address of a sibling node of the parent node and a corresponding node if the sibling node of the parent node has not been searched. From among the lower nodes of the sixth step and the sixth step of detecting the point of intersection with the light beam is achieved by a seventh step for performing a search in the case where the intersection of the rays detected from the first step.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.  Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.Prior to this, terms or words used in the specification and claims should not be construed as having a conventional or dictionary meaning, and the inventors should properly explain the concept of terms in order to best explain their own invention. Based on the principles that can be defined, it should be interpreted as meanings and concepts corresponding to the technical spirit of the present invention.

도 6은 본 발명에 따른 비 스택을 이용한 케이디 트리 알고리즘을 적용한 영 상검출 장치의 구성도이다. 도 6에 도시된 바와 같이, 영상검출 장치는 영상에 투과할 광선을 생성하기 위한 광선 생성부(110), 분할된 영상에 대한 노드를 탐색하기 위한 탐색부(120), 광선과 단말노드 내에 포함된 트라이앵글이 교차되는 교차점을 분석하기 위한 쉐이딩/텍스쳐 맵핑부(150)를 포함하고 있다.6 is a block diagram of an image detection apparatus to which the Cady Tree algorithm using the non-stack according to the present invention is applied. As shown in FIG. 6, the image detecting apparatus includes a light generating unit 110 for generating a light beam to be transmitted to an image, a searching unit 120 for searching a node for a divided image, and a light beam and a terminal node. It includes a shading / texture mapping unit 150 for analyzing the intersection where the triangle is intersected.

이때, 탐색부(120)는 루트노드로부터 단말노드까지 탐색하기 위한 하향탐색부(130)와 단말노드에서 부모노드로의 탐색을 위한 상향탐색부(140)로 구성되어 있다.In this case, the searcher 120 includes a downlink search unit 130 for searching from a root node to a terminal node and an uplink search unit 140 for searching from a terminal node to a parent node.

도 7은 본 발명에 따른 영상검출 장치 내에 포함된 탐색부의 구성도이다. 도 7에 도시된 바와 같이, 탐색부(120)는 하향탐색부(130)와 상향탐색부(140)로 나뉘며 각 구성요소 간의 신호는 광선의 정보와 노드 정보를 포함한다. 또한, 노드가 단말노드일 경우, 트라이앵글 리스트를 포함한다. 7 is a block diagram of a search unit included in the image detection apparatus according to the present invention. As illustrated in FIG. 7, the search unit 120 is divided into a down search unit 130 and an up search unit 140, and a signal between each component includes beam information and node information. In addition, when the node is a terminal node, it includes a triangle list.

하향탐색부(130)는 루트노드로부터 하위노드 방향으로 교차점 탐색을 수행하면서 단말도드에 도착한 경우, 광선의 정보와 단말노드에 포함된 트라이앵글 정보를 이용하여 광선과 트라이앵글과의 교차점을 검색하는 레이-트라이앵글 교차테스트부(131)를 포함하며, 레이-트라이앵글 교차테스트부(131)에서 광선과 트라이앵글이 교차되는 경우, 쉐이딩/텍스쳐 맵핑부(150)에 광선과 노드 정보의 전송 경로를 설정하기 위한 제1역다중화기(132)를 포함한다.When the down-search unit 130 arrives at the terminal node while searching for the intersection point from the root node to the lower node direction, the down search unit 130 searches for the intersection point between the ray and the triangle using information of the beam and triangle information included in the terminal node. And a triangle intersection test unit 131. When the ray and triangle cross each other in the ray-triangle intersection test unit 131, the shading / texture mapping unit 150 sets a transmission path of the ray and node information. And one demultiplexer 132.

상향탐색부(140)는 하향탐색부(130)에서 단말노드에 존재하는 트라이앵글과 광선의 교차점을 검색하여, 교차점이 존재하지 않는 경우, 다음 탐색을 수행할 노드를 결정하기 위한 노드 결정부(141)를 포함한다.The uplink search unit 140 searches for the intersection point of the triangle and the ray existing in the terminal node in the downlink search unit 130, and if there is no intersection point, the node determining unit 141 for determining a node to perform the next search. ).

또한, 다음 탐색을 수행할 노드가 부모노드의 형제노드로 결정될 경우, 하향탐색을 수행할 노드를 찾는 하향탐색 노드결정부(142)와 하향탐색 노드결정부(142)에서 결정된 노드가 제1노드(near 노드)일 경우, 광선과 영상의 경계선을 검출하기 위한 레이-박스 교차테스트부(143)를 포함하고 있다.In addition, when the node to perform the next search is determined as the sibling node of the parent node, the nodes determined by the downlink node determining unit 142 and the downlink node determining unit 142 that find the node to be downlinked are the first node. In the case of a (near node), the ray-box cross test unit 143 for detecting a boundary line between a light ray and an image is included.

또한, 레이-박스 교차테스트부(143)에서 광선과 경계선이 교차되는 경우, 해당 노드에서부터 하향탐색을 하기 위해 광선정보와 노드 정보를 전송하기 위한 전송경로를 설정하는 제2역다중화기(144)를 포함할 수 있다.In addition, when the ray-box cross-test unit 143 intersects the light beam and the boundary line, the second demultiplexer 144 sets a transmission path for transmitting the light beam information and the node information to search down from the corresponding node. It may include.

하향탐색부(130)에서 하향탐색을 통해 단말노드에 도착한 경우, 하향탐색부(130)에 포함된 레이-트라이앵글 교차테스트부(131)는 트라이앵글 정보와 광선 정보를 이용하여 단말노드에서의 광선과 트라이앵글과의 교차점을 검색하고, 교차점이 검색되는 경우, 제1역다중화기(132)를 통해서 쉐이딩/텍스쳐 맵핑부(150)로 교차점 정보와 광선 정보를 전송한다.When the down search unit 130 arrives at the terminal node through the down search, the ray-triangle cross test unit 131 included in the down search unit 130 uses the triangle information and the ray information to transmit the light beams at the terminal node. When the intersection point is searched for the triangle and the intersection point is found, the intersection information and the ray information are transmitted to the shading / texture mapping unit 150 through the first demultiplexer 132.

만약 레이-트라이앵글 교차테스트부(131)에서 교차점이 검출되지 않는 경우, 제1역다중화기(132)를 통해서 상향탐색부(140)에 포함된 노드결정부(141)로 광선 정보와 노드 정보를 전송한다.If the intersection point is not detected by the ray-triangle intersection test unit 131, the ray information and the node information are transmitted to the node determination unit 141 included in the uplink search unit 140 through the first demultiplexer 132. do.

노드결정부(141)는 다음 탐색을 수행할 노드를 결정함에 있어서, 다음에 처리할 노드가 해당 노드의 형제노드인 경우, 다음에 탐색이 수행될 노드 역시 단말노드에 해당하므로, 노드 정보 및 광선 정보를 레이-트라이앵글 교차테스트부(141)로 전송하여, 광선과 트라이앵글의 교차점을 검색한다.In determining the node to perform the next search, the node determining unit 141 determines that the next node to be processed is a sibling node of the corresponding node. The information is transmitted to the ray-triangle intersection test unit 141 to search for the intersection of the ray and the triangle.

만약 노드결정부(141)에서 결정된 노드가 부모노드의 형제노드일 경우, 하향 탐색 노드결정부(142)에서 하향탐색을 수행할 부모노드의 형제노드를 결정하며, 하향탐색 노드결정부(142)에서 결정된 하향탐색 노드가 제2노드(far 노드)일 경우, 결정된 노드의 부모노드의 형제노드를 탐색하고, 결정된 하향탐색 노드가 제1노드(near 노드)일 경우, 레이-박스 교차테스트부(143)에서 교차점 검색을 수행한다.If the node determined by the node determination unit 141 is a sibling node of the parent node, the downlink discovery node determination unit 142 determines the sibling node of the parent node to perform the down search, and the downlink discovery node determination unit 142 If the downlink search node determined in FIG. 2 is a second node (far node), the sibling node of the parent node of the determined node is searched, and if the determined downlink node is the first node (near node), the ray-box cross test unit ( In step 143, the intersection search is performed.

레이-박스 교차테스트부(143)에서 수행된 결과, 교차점이 발견되는 경우, 제2역다중화기(144)를 통해서 하향탐색부(130)에 포함된 레이-트라이앵글 교차테스트부(131)로 광선 정보와 노드 정보를 전송하여, 하향탐색을 수행하도록 하며, 교차점이 발견되지 않는 경우, 제2역다중화기(146)를 통해 교차테스트 결과정보와 광선 정보를 하향탐색 노드결정부(142)로 전송하여, 현재 위치한 노드를 기준으로 하여, 다음 탐색을 수행하기 위한 부모노드의 형제노드를 결정한다.When the intersection point is found as a result of the ray-box cross-test unit 143, the ray information is transmitted to the ray-triangle cross-section test unit 131 included in the down-search unit 130 through the second demultiplexer 144. And node information to perform downlink search, and if no intersection is found, the cross test result information and the ray information are transmitted to the downlink node determiner 142 through the second demultiplexer 146. Based on the currently located node, it determines the sibling node of the parent node to perform the next search.

도 8은 본 발명에 따른 케이디 트리에 의한 영상분할 및 광선을 도시한 구성도이다. 도 8에 도시된 바와 같이, 케이디 트리 알고리즘에 의해 영상은 이진트리 형식으로 분할되며, 광선시점으로부터 광선이 조사된다. 이때, 루트노드는 전체 영상을 포함하는 S0가 해당되며, 단말노드는 더 이상 분할되지 않은 n1 내지 n16이다. 8 is a block diagram illustrating image segmentation and light beams by the Caddy Tree according to the present invention. As shown in FIG. 8, the image is divided into a binary tree format by the Cady Tree algorithm, and the light beam is irradiated from the light beam time point. In this case, the root node corresponds to S0 including the entire image, and the terminal nodes are n1 to n16 which are not divided anymore.

도 9는 본 발명에 따른 비 스택을 이용한 케이디 트리에서의 노드 이동을 도시한 구성도이다. 도 9는 도 8에 도시된 분할된 영상을 이진트리 구조로 표현한 것으로서, 각 화살표는 모든 단말노드에 트라이앵글이 포함된 경우, 루트노드의 하위노드를 방문하기 위한 순서를 나타낸다.9 is a diagram illustrating a node movement in a Cady tree using a non-stack in accordance with the present invention. FIG. 9 is a representation of the divided image illustrated in FIG. 8 in a binary tree structure. Each arrow indicates a sequence for visiting a lower node of a root node when all terminal nodes include triangles.

이때, 루트노드의 자식노드들 중에서 광선시점과 가까이에 위치한 노드를 제 1노드(near 노드)라 하며, 광선시점과 먼 거리에 위치한 노드를 제2노드(far 노드)라 한다. 즉, 단말노드를 제외한 노드들 중에서 임의의 한 노드는 자식노드를 포함하고 있으며, 이 자식노드 중에서 광선시점과 가까이에 있는 노드를 제1노드(near 노드)라 하며, 광선시점과 멀리 떨어져 있는 노드를 제2노드(far 노드)라 한다.At this time, a node located near the ray point of view among the child nodes of the root node is called a first node, and a node located far from the ray point of view is called a second node. That is, any node among the nodes other than the terminal node includes a child node, and a node near the ray point of view is called a first node (near node), and a node far from the ray point of view. Is called a second node (far node).

루트노드로부터 하위노드로의 탐색을 하향탐색이라 하며, 단말노드에서부터 부모의 형제노드를 탐색하는 것을 상향탐색이라 한다. The search from the root node to the child node is called down search, and the search from the terminal node to the sibling node of the parent is called up search.

도 10은 본 발명에 따른 비 스택을 이용한 케이디 트리에서의 노드 탐색 방법을 나타내는 흐름도이다. 도 10에 도시된 바와 같이, 하향탐색부를 통해 루트노드부터 광선과 가까이에 존재하는 노드를 우선으로 노드의 하향탐색을 수행한다(S305). 이후, 단말노드에 도착한 경우, 하향탐색부는 광선 정보와 단말노드 내에 포함된 트라이앵글 정보를 이용하여 레이-트라이앵글 교차테스트부에서 광선과 트라이앵글과의 교차점을 검색한다(S310).10 is a flowchart illustrating a node searching method in a Cady tree using a non-stack according to the present invention. As shown in FIG. 10, the node is first downlinked from the root node to the light ray through the downlink searcher (S305). Thereafter, when the terminal node arrives, the downlink search unit searches for the intersection point between the ray and the triangle in the ray-triangle intersection test unit by using the ray information and the triangle information included in the terminal node (S310).

만약 단말노드에서 교차점을 발견한 경우(S315), 해당되는 교차테스트 결과 정보와 광선 정보를 제1역다중화기를 이용하여 쉐이딩/텍스쳐 맵핑부로 전송하고(S320), 단말노드에서 교차점을 발견하지 못한 경우(S315), 해당 노드가 광원시점으로부터 최외각에 존재하는 노드인지를 검출한다(S325). If an intersection is found at the terminal node (S315), the corresponding cross test result information and the ray information are transmitted to the shading / texture mapping unit using the first demultiplexer (S320), and the intersection node is not found at the terminal node. In operation S 315, it is detected whether the corresponding node is a node existing at the outermost point from the light source viewpoint.

S325 단계에서 해당하는 노드가 최외각 노드인 경우, 더 이상 탐색할 노드가 존재하지 않는 것으로 판단하여 탐색을 종료하며, 해당 노드가 최외각 노드가 아닐 경우, 해당 노드의 형제노드부터 탐색을 진행한다(S335).In step S325, if the corresponding node is the outermost node, it is determined that the node to be searched no longer exists, and the search ends. If the node is not the outermost node, the search proceeds from the sibling node of the corresponding node. (S335).

만약 이미 검색을 완료하여 재수행할 필요가 없는 경우(S330), 탐색수행을 위해 부모노드의 형제노드로 이동한다(S340). 이때, 부모노드의 형제노드의 주소가 홀수인 경우(즉, 루트노드의 자식노드의 하위노드로서, 제1노드에 해당하는 경우)(S345), 이미 해당 부모노드의 형제노드의 하위 노드까지 탐색을 완료하였으므로, S335 단계부터 재수행하기 위해 이동할 노드의 부모노드의 형제노드로 이동한다. 이후, S335 단계부터 탐색을 재수행한다.If it is already necessary to complete the search and do not need to perform again (S330), to move to the sibling node of the parent node to perform the search (S340). In this case, when the address of the sibling node of the parent node is odd (that is, as a child node of the root node, which corresponds to the first node) (S345), the search is made up to the child node of the sibling node of the parent node already. Since it has been completed, it moves to the sibling node of the parent node of the node to be moved in order to perform again from step S335. Thereafter, the search is performed again from step S335.

만약, 부모노드의 형제노드의 주소가 짝수 주소인 경우(즉, 루트노드의 자식노드 이하의 노드로서, 제2노드에 해당하는 경우)(S345), 아직 교차점 검색을 위한 탐색이 이루어지지 않는 노드로서, 해당 노드의 하위노드에 광선과의 교차점이 존재하는지 검색하여(S350), 해당 노드의 하위노드에 교차점이 검출되는 경우, S305 단계로 이동하여 광선과 트라이앵글의 교차점 검출을 위한 탐색을 재수행한다.If the address of the sibling node of the parent node is an even address (i.e., it is a node below the root node of the root node and corresponds to the second node) (S345), a node that has not yet been searched for intersection search is performed. As a search for whether an intersection point with a ray exists in a lower node of the node (S350), and if an intersection point is detected in a lower node of the node, the process moves to step S305 to re-search for detecting an intersection point of a ray and a triangle. .

본 발명은 이상에서 살펴본 바와 같이 바람직한 실시예를 들어 도시하고 설명하였으나, 상기한 실시예에 한정되지 아니하며 본 발명의 정신을 벗어나지 않는 범위 내에서 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변경과 수정이 가능할 것이다.Although the present invention has been shown and described with reference to the preferred embodiments as described above, it is not limited to the above embodiments and those skilled in the art without departing from the spirit of the present invention. Various changes and modifications will be possible.

따라서, 본 발명의 광선 추적을 위한 비 스택 방식의 케이디 트리 알고리즘을 적용한 영상검출 장치는 스택 및 메모리 쓰기 기능이 필요하지 않은 케이디 트리 탐색 알고리즘을 사용하여 노드를 탐색함에 있어서, 중복 탐색 및 연산 수행시간을 감소시켜 영상검출을 위한 시간을 단축시키는 효과가 있다.Therefore, in the image detection apparatus using the non-stacked Cady Tree algorithm for ray tracing according to the present invention, in searching for a node using a Cady Tree search algorithm that does not require a stack and memory write function, a duplicate search and calculation execution time are required. The effect of reducing the time for image detection is reduced.

Claims (10)

영상을 이진트리 형식으로 분할하고 최종 분할된 영역을 단말노드로 하고, 광선 추적을 이용하여 상기 영상에 포함된 물체를 검출하기 위한 케이디 트리 알고리즘을 포함하는 장치에 있어서, An apparatus comprising a Cady Tree algorithm for dividing an image into a binary tree format, using the last divided region as a terminal node, and detecting an object included in the image by using ray tracing. 영상에 투과할 광선을 생성하기 위한 광선생성부;A ray generator for generating a ray to be transmitted to the image; 상기 이진트리의 단말노드 방향으로 이동하면서 상기 물체와 상기 광선이 교차하는 트라이앵글을 탐색하기 위한 하향탐색부;A downward search unit for searching for a triangle in which the object and the ray intersect while moving in a direction of a terminal node of the binary tree; 상기 하향탐색부를 통해 탐색을 수행한 이후, 탐색되지 않은 내부노드를 검색하기 위한 상향탐색부; 및An upward search unit for searching for an internal node that is not searched after the search through the down search unit; And 상기 하향탐색부에서 검출된 물체 교차점의 컬러를 계산하기 위한 쉐이딩/텍스쳐 매핑부Shading / texture mapping unit for calculating the color of the object intersection point detected by the downward search unit 를 포함하는 광선추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 장치.Apparatus for detecting a non-stacked Cady tree search algorithm for ray tracing comprising a. 제 1 항에 있어서, 상기 하향탐색부는The method of claim 1, wherein the down search unit 상기 단말노드를 투과하는 광선과 물체의 트라이앵글의 교차를 검출하기 위한 제1교차 테스트부; 및 A first intersecting test unit for detecting an intersection of a triangle of an object and a ray passing through the terminal node; And 제1교차 테스트부에서 교차점을 검출한 이후 다음 노드를 결정하기 위해 상 기 광선의 정보와 노드의 정보를 노드결정부로 전송하는 제1역다중화기The first demultiplexer which transmits the information of the beam and the information of the node to the node determining unit to determine the next node after detecting the intersection at the first cross testing unit. 를 포함하는 광선추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 장치.Apparatus for detecting a non-stacked Cady tree search algorithm for ray tracing comprising a. 제 2 항에 있어서, 상기 상향탐색부는The method of claim 2, wherein the upward search unit 상기 단말노드의 교차를 테스트한 이후, 다음 탐색을 수행할 노드를 결정하기 위한 노드결정부;A node determining unit for determining a node to perform a next search after testing the intersection of the terminal nodes; 상기 노드결정부에서 결정된 노드가 부모노드의 형제노드인 경우, 하향탐색을 수행할 노드를 검색하는 하향탐색 노드결정부; 및A downlink search node determiner for searching for a node to perform a downsearch when the node determined by the node determiner is a sibling node of a parent node; And 상기 하향탐색 노드결정부에 결정된 노드가 제2노드에 해당하는 경우, 상기 광선과 제2노드의 하위노드에 포함된 물체의 교차를 검출하는 제2교차 테스트부; 및A second crossing test unit detecting an intersection of an object included in a lower node of the second node when the node determined by the downlink search node determining unit corresponds to a second node; And 상기 제2교차 테스트부에서 하위노드에 포함된 물체가 상기 광선과 교차되는 경우 하향탐색부로 상기 광선의 정보와 해당하는 노드의 정보를 전송하는 제2역다중화기A second demultiplexer for transmitting the information of the light beam and the information of the corresponding node to the downlink search unit when an object included in a lower node intersects the light beam in the second cross test unit; 를 포함하는 광선추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 장치.Apparatus for detecting a non-stacked Cady tree search algorithm for ray tracing comprising a. 제 2 항에 있어서, The method of claim 2, 상기 하향탐색 노드결정부에서 결정된 노드가 제1노드인 경우, 부모노드의 형제노드를 탐색하는 광선추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 장치.And a non-stacked Cady Tree search algorithm for ray tracing for searching for a sibling node of a parent node when the node determined by the downlink search node determiner is a first node. 제 2 항에 있어서, The method of claim 2, 상기 제1교차 테스트부에서 상기 광선과 트라이앵글이 교차되는 경우, 상기 제1역다중화기를 통해서 상기 쉐이딩/텍스쳐 매핑부로 상기 교차 정보를 전송하는 광선추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 장치.When the ray crosses the triangle in the first cross test unit, an image using the non-stacked Cady Tree search algorithm for ray tracing for transmitting the cross information to the shading / texture mapping unit through the first demultiplexer Detection device. 영상을 이진트리 형식으로 분할하고 최종 분할된 영역을 단말노드로 하고, 광선 추적을 이용하여 상기 영상에 포함된 물체를 검출하기 위한 케이디 트리 알고리즘을 이용한 영상검출 방법에 있어서, An image detection method using a Cady Tree algorithm for dividing an image into a binary tree format and using the last divided region as a terminal node, and detecting an object included in the image by using ray tracing. 루트노드로부터 하위노드의 제1노드를 하향탐색하는 제1단계;First searching down the first node of the lower node from the root node; 상기 하향탐색을 통해 단말노드를 발견하는 경우, 상기 광선과 단말노드 내의 트라이앵글의 교차점을 검출하는 제2단계;A second step of detecting an intersection of the ray and the triangle in the terminal node when the terminal node is found through the downlink search; 상기 제2단계에서 상기 교차점이 발견되지 않는 경우, 현재 노드의 형제노드 의 위치를 검출하는 제3단계;Detecting a position of a sibling node of a current node when the intersection is not found in the second step; 상기 제3단계에서 형제노드가 이미 탐색을 완료한 경우, 부모노드의 형제노드로 이동하는 제4단계;A fourth step of moving to a sibling node of a parent node when the sibling node has already searched in the third step; 상기 부모노드의 형제노드의 주소를 판단하는 제5단계;A fifth step of determining an address of a sibling node of the parent node; 상기 부모노드의 형제노드의 탐색이 이루어지지 않은 경우, 해당되는 노드의 하위노드들 중에서 상기 광선과의 교차점을 검출하는 제6단계; 및Detecting a point of intersection with the ray among subnodes of a corresponding node when the sibling node of the parent node has not been searched; And 상기 제6단계에서 상기 광선과의 교차점이 검출되는 경우, 제1단계부터의 탐색을 수행하는 제7단계A seventh step of searching from the first step when the intersection with the light ray is detected in the sixth step; 를 포함하는 광선추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 방법.Image detection method applying a non-stacked Cady tree search algorithm for ray tracing comprising a. 제 6 항에 있어서,The method of claim 6, 상기 노드 간의 이동은 배열로 지정된 각 노드의 주소를 가리키는 포인터를 이용하는 광선추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 방법.The image detection method using a non-stacked Cady Tree search algorithm for ray tracing using a pointer pointing to the address of each node specified in the array. 제 6 항에 있어서, The method of claim 6, 상기 제5단계는 상기 부모노드의 주소가 홀수인지를 이용하여 제1노드인지 판단하는 광선추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 방법.The fifth step is an image detection method using a non-stacked Cady tree search algorithm for ray tracing to determine whether the address of the parent node is the first node using an odd number. 제 8 항에 있어서,The method of claim 8, 상기 부모노드가 제1노드인 경우, 상기 부모노드의 부모노드의 형제노드로 이동하는 광선추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 방법.And a non-stacked Cady Tree search algorithm for ray tracing to move to the sibling node of the parent node of the parent node when the parent node is the first node. 제 6 항에 있어서, The method of claim 6, 상기 제3단계에서 형제노드가 존재하는 경우, 형제노드로 이동하는 것을 특징으로 하는 광선추적을 위한 비 스택 방식의 케이디 트리 탐색 알고리즘을 적용한 영상검출 방법.And a sibling node when the sibling node is present in the third step, wherein the cad tree search algorithm of the non-stack method for ray tracing is applied.
KR1020060083354A 2006-08-31 2006-08-31 An image detection equipment and the method which applied the KD-tree search algorithm of the non-stack type for ray tracing KR100894136B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060083354A KR100894136B1 (en) 2006-08-31 2006-08-31 An image detection equipment and the method which applied the KD-tree search algorithm of the non-stack type for ray tracing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060083354A KR100894136B1 (en) 2006-08-31 2006-08-31 An image detection equipment and the method which applied the KD-tree search algorithm of the non-stack type for ray tracing

Publications (2)

Publication Number Publication Date
KR20080020198A true KR20080020198A (en) 2008-03-05
KR100894136B1 KR100894136B1 (en) 2009-04-20

Family

ID=39395262

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060083354A KR100894136B1 (en) 2006-08-31 2006-08-31 An image detection equipment and the method which applied the KD-tree search algorithm of the non-stack type for ray tracing

Country Status (1)

Country Link
KR (1) KR100894136B1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010137822A3 (en) * 2009-05-28 2011-03-03 주식회사 실리콘아츠 Ray tracing core and ray tracing chip including same
WO2010137821A3 (en) * 2009-05-29 2011-03-31 주식회사 실리콘아츠 Ray tracing device and method
KR20110124834A (en) * 2010-05-12 2011-11-18 삼성전자주식회사 Apparatus and method for generating kd-tree using hardware
US8253738B2 (en) 2008-10-15 2012-08-28 Samsung Electronics Co., Ltd. Data processing apparatus and method
KR101284324B1 (en) * 2011-06-29 2013-07-08 세종대학교산학협력단 Ray tracing core and ray tracing method
KR20140105915A (en) * 2013-02-25 2014-09-03 삼성전자주식회사 Method and apparatus for adaptive stack management
US9342919B2 (en) 2010-09-30 2016-05-17 Samsung Electronics Co., Ltd. Image rendering apparatus and method for preventing pipeline stall using a buffer memory unit and a processor
US9355491B2 (en) 2010-08-26 2016-05-31 Samsung Electronics Co., Ltd. Ray tracing apparatus and method
US9390545B2 (en) 2012-05-04 2016-07-12 Samsung Electronics Co., Ltd. Apparatus and method for traversing hierarchical acceleration structure

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101653203B1 (en) 2010-02-01 2016-09-02 삼성전자주식회사 Image processing apparatus and method
KR102193684B1 (en) 2013-11-04 2020-12-21 삼성전자주식회사 Apparatus and method for processing ray tracing
KR102244619B1 (en) 2014-09-30 2021-04-26 삼성전자 주식회사 Method for generating and traverse acceleration structure

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4605445B2 (en) 2004-08-24 2011-01-05 ソニー株式会社 Image processing apparatus and method, recording medium, and program

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8253738B2 (en) 2008-10-15 2012-08-28 Samsung Electronics Co., Ltd. Data processing apparatus and method
US9311739B2 (en) 2009-05-28 2016-04-12 Siliconarts, Inc. Ray tracing core and ray tracing chip having the same
US9965889B2 (en) 2009-05-28 2018-05-08 Siliconarts, Inc. Ray tracing core and ray tracing chip having the same
WO2010137822A3 (en) * 2009-05-28 2011-03-03 주식회사 실리콘아츠 Ray tracing core and ray tracing chip including same
WO2010137821A3 (en) * 2009-05-29 2011-03-31 주식회사 실리콘아츠 Ray tracing device and method
CN102439862A (en) * 2009-05-29 2012-05-02 斯里考纳特斯公司 Ray tracing device and method
KR20110124834A (en) * 2010-05-12 2011-11-18 삼성전자주식회사 Apparatus and method for generating kd-tree using hardware
US9355491B2 (en) 2010-08-26 2016-05-31 Samsung Electronics Co., Ltd. Ray tracing apparatus and method
US9342919B2 (en) 2010-09-30 2016-05-17 Samsung Electronics Co., Ltd. Image rendering apparatus and method for preventing pipeline stall using a buffer memory unit and a processor
KR101284324B1 (en) * 2011-06-29 2013-07-08 세종대학교산학협력단 Ray tracing core and ray tracing method
US9390545B2 (en) 2012-05-04 2016-07-12 Samsung Electronics Co., Ltd. Apparatus and method for traversing hierarchical acceleration structure
US9275494B2 (en) 2013-02-25 2016-03-01 Samsung Electronics Co., Ltd. Method and apparatus for stack management
KR20140105915A (en) * 2013-02-25 2014-09-03 삼성전자주식회사 Method and apparatus for adaptive stack management

Also Published As

Publication number Publication date
KR100894136B1 (en) 2009-04-20

Similar Documents

Publication Publication Date Title
KR100894136B1 (en) An image detection equipment and the method which applied the KD-tree search algorithm of the non-stack type for ray tracing
US11062501B2 (en) Vertex processing pipeline for building reduced acceleration structures for ray tracing systems
EP3435336B1 (en) Hybrid hierarchy for ray tracing
US7089511B2 (en) Framework for hierarchical VLSI design
TWI395155B (en) Method and system for processing rays, and computer accessible medium including associated data
JP2022106860A (en) Hierarchy merging
KR101697238B1 (en) Image processing apparatus and method
JP2022091849A (en) Methods and graphics processing units for determining differential data for rays of ray bundle
JP2010134919A (en) System, method, and program for photorealistic imaging using ambient occlusion
US10031947B2 (en) Method and apparatus for performing a search operation on heterogeneous computing systems
KR20150057868A (en) Method and apparatus for traversing binary tree in a ray tracing system
JP2023532434A (en) Early culling for raytracing
JP2010097591A (en) Data processor and method
Kim et al. Optimizing seam carving on multi-GPU systems for real-time content-aware image resizing
CN115204105A (en) Polygonal straight skeleton generation method, pattern matching method, and storage medium
TWI474206B (en) Method and system for sizing polygons in an integrated circuit (ic) layout
KR102261257B1 (en) Ray tracing device and method for reducing the amount of data transmitted between devices
CN110941940A (en) 3D winding method, storage device and system based on collision detection
KR102261250B1 (en) Ray tracing device and method for reducing the amount of data transmitted between devices
US11163929B1 (en) Generate clock network using inverting integrated clock gate
US11132490B1 (en) Using negative-edge integrated clock gate in clock network
US11928500B1 (en) Multi-threaded network routing based on partitioning
US20230334770A1 (en) Formation of bounding volume hierarchies
CN116385624A (en) Stack buffer memory component for ray tracing hardware accelerator and application method thereof
CN116894900A (en) Formation of bounding volume hierarchy

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120321

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130402

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee