KR20190046210A - Space reassembly method and virtual roadmap decision method for virtual reality and space reassembly apparatus performing the same - Google Patents

Space reassembly method and virtual roadmap decision method for virtual reality and space reassembly apparatus performing the same Download PDF

Info

Publication number
KR20190046210A
KR20190046210A KR1020170139511A KR20170139511A KR20190046210A KR 20190046210 A KR20190046210 A KR 20190046210A KR 1020170139511 A KR1020170139511 A KR 1020170139511A KR 20170139511 A KR20170139511 A KR 20170139511A KR 20190046210 A KR20190046210 A KR 20190046210A
Authority
KR
South Korea
Prior art keywords
node
virtual
road map
nodes
path
Prior art date
Application number
KR1020170139511A
Other languages
Korean (ko)
Other versions
KR102004048B1 (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 KR1020170139511A priority Critical patent/KR102004048B1/en
Publication of KR20190046210A publication Critical patent/KR20190046210A/en
Application granted granted Critical
Publication of KR102004048B1 publication Critical patent/KR102004048B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2211/00Image generation
    • G06T2211/40Computed tomography
    • G06T2211/416Exact reconstruction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Disclosed are a space reassembly method, a virtual road map decision method, and a space reassembly apparatus performing the same for virtual reality. The space reassembly method for virtual reality comprises the steps of: determining a real road map in which room nodes and passage nodes which can be arranged in a real space where a user is positioned are interconnected; determining a virtual road map from the real road map by using a depth priority search; and visualizing virtual reality that the user experiences based on the virtual road map and a position of the user in the real space.

Description

가상 현실을 위한 공간 재구성 방법 및 가상 로드맵 결정 방법 및 이를 수행하는 공간 재구성 장치{SPACE REASSEMBLY METHOD AND VIRTUAL ROADMAP DECISION METHOD FOR VIRTUAL REALITY AND SPACE REASSEMBLY APPARATUS PERFORMING THE SAME}TECHNICAL FIELD [0001] The present invention relates to a space reorganization method and a virtual roadmap determining method for virtual reality, and a space reorganization apparatus for performing the same. [0002]

아래의 설명은 가상 현실을 위한 공간 재구성 방법 및 가상 로드맵 결정 방법 및 이를 수행하는 공간 재구성 장치에 관한 것으로, 보다 구체적으로는 로드맵을 방 노드(room node)와 통로 노드(path node)로 구성하고, 깊이 우선 탐색에 기초하여 현실 로드맵으로부터 가상 로드맵을 결정하는 방법 및 장치에 관한 것이다.The following description relates to a space reconfiguration method and a virtual road map determining method for a virtual reality and a space reconfiguring apparatus for performing the method. More specifically, the road map is composed of a room node and a path node, To a method and apparatus for determining a virtual roadmap from a realistic roadmap based on depth-first search.

최근 가상 현실 장치(Virtual Reality Device)를 이용하여 사용자에게 이미지를 제공하는 장치들이 개발되고 있다. 가상 현실 기술은 조작된 감각 자극을 통해 사용자가 현실감을 느끼도록 하는 것으로 게임, 교육, 의료, 저널리즘 등 많은 영역에서 활용될 수 있다.Recently, devices for providing images to users by using a virtual reality device have been developed. Virtual reality technology allows users to feel reality through manipulated sensory stimulation and can be used in many areas such as games, education, medical care, journalism.

가상 현실 장치에 GPS 등의 위치 측정 수단이 구비되거나 현실 공간에 가상 현실 장치의 위치를 측정할 수 있는 센서가 설치된 경우, 사용자의 위치 또는 이동이 반영된 가상 공간이 구현될 수 있다. 예를 들어, 사용자는 가상 현실 장치에 디스플레이된 가상 공간의 이동로 등을 따라 걷거나 달릴 수 있다. 그러나, 가상 공간에 현실 공간의 제약 조건이 고려되지 않은 경우, 가상 공간만을 인식하여 이동하는 사용자는 현실 공간에 존재하는 장애물에 부딪힐 위험성이 존재한다. 이와 같은 문제를 해결하기 위하여, 현실 공간을 고려하여 가상 공간을 구성할 경우에는 현실 공간의 제약(예컨대, 방 크기)으로 인하여 가상 공간의 범위가 지나치게 제약되는 문제가 발생할 수 있다.When a virtual reality apparatus is provided with a position measuring means such as a GPS or a sensor capable of measuring the position of the virtual reality apparatus in the real space, a virtual space reflecting the position or movement of the user can be realized. For example, the user can walk or run along the moving path of the virtual space displayed on the virtual reality apparatus. However, if the constraint of the real space is not considered in the virtual space, there is a danger that the moving user recognizing only the virtual space will hit an obstacle existing in the real space. In order to solve such a problem, when the virtual space is constructed in consideration of the real space, there may arise a problem that the range of the virtual space is excessively limited due to the restriction of the real space (for example, the room size).

본 발명은 공간 재구성을 통해 제한된 현실 공간보다 큰 크기를 가지는 가상 현실을 구현함으로써, 제한된 범위의 현실 공간 내 사용자의 이동을 보다 넓은 범위의 가상 공간에서의 이동으로 대응시킬 수 있고, 사용자가 자신의 몸을 움직이는 자연스러운 방식으로 보다 넓고 복잡한 가상 공간에서 이동하는 것이 가능할 수 있다.The present invention realizes a virtual reality having a size larger than a limited physical space through spatial reconfiguration, so that movement of a user in a limited range of physical space can be matched with movement in a wider range of virtual space, It may be possible to move in a wider and more complex virtual space in a natural way to move the body.

본 발명은 주어진 현실 공간으로부터 생성 가능한 가상 공간의 구조를 그래프 방식으로 미리 생성함으로써, 원하는 크기와 형태의 가상 공간을 쉽고 빠르게 구성하는 것이 가능할 수 있다.The present invention can easily and quickly construct a virtual space of a desired size and shape by previously generating a structure of a virtual space that can be generated from a given physical space in a graphical manner.

본 발명은 현실 공간에서의 이동 경로를 가상 공간에서의 이동 경로로 대응시킬 때 변형되는 정도를 일정 범위 내로 제한함으로써, 사용자가 가상 현실 체험 시 발생 가능한 어지럼증을 최소화하는 것이 가능할 수 있다.In the present invention, it is possible to minimize dizziness that may occur in a virtual reality experience by limiting the degree of deformation when the movement path in the real space is corresponded to the movement path in the virtual space within a certain range.

일실시예에 따른 가상 현실을 위한 공간 재구성 방법은 사용자가 위치한 현실 공간에 배치 가능한 방 노드들 및 통로 노드들이 서로 연결된 현실 로드맵을 결정하는 단계; 깊이 우선 탐색(depth-first search)을 이용하여 상기 현실 로드맵으로부터 가상 로드맵을 결정하는 단계; 및 상기 현실 공간 내 상기 사용자의 위치 및 상기 가상 로드맵에 기초하여, 상기 사용자가 체험하는 가상 현실을 가시화하는 단계를 포함한다.According to an embodiment of the present invention, there is provided a method for reconfiguring a space for a virtual reality, the method comprising: determining a real road map in which room nodes and path nodes that can be placed in a real space where a user is located are interconnected; Determining a virtual roadmap from the real road map using a depth-first search; And visualizing a virtual reality experienced by the user based on the position of the user in the real space and the virtual road map.

일실시예에 따른 공간 재구성 방법에서 상기 가상 로드맵을 생성하는 단계는 상기 현실 로드맵에 포함된 방 노드들 중 어느 하나의 방 노드를 선택하고, 상기 깊이 우선 탐색에 기초하여 상기 선택된 방 노드로부터 다른 방 노드로 연결되는 경로를 탐색함으로써, 상기 가상 로드맵을 생성할 수 있다.In the method of reconstructing a space according to an exemplary embodiment, the step of generating the virtual road map may include selecting one of the room nodes included in the real road map, selecting one of the room nodes included in the real road map, The virtual road map can be generated by searching for a route to the node.

일실시예에 따른 공간 재구성 방법에서 상기 가상 로드맵을 생성하는 단계는 상기 선택된 방 노드에 연결된 통로 노드마다 경로 탐색기(pathfinder)를 생성하고, 상기 생성된 경로 탐색기 중 어느 하나의 경로 탐색기를 선택하고, 상기 선택된 경로 탐색기의 스택(stack)에서 가장 위에 있는 노드의 깊이와 상기 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이에 기초하여 상기 가상 로드맵을 확장하거나 축약함으로써, 상기 가상 로드맵을 생성할 수 있다.The generating of the virtual road map may include generating a pathfinder for each of the node nodes connected to the selected node, selecting one of the generated pathfinders, The virtual road map can be generated by expanding or reducing the virtual road map based on the depth of the topmost node in the stack of the selected path searcher and the depth of the most recently extended node in the depth first search .

일실시예에 따른 공간 재구성 방법에서 상기 가상 로드맵을 생성하는 단계는 상기 가상 로드맵을 확장하거나 축약하는 과정에서 생성된 노드가 방 노드인 경우, 상기 선택된 경로 탐색기에서 더 이상 탐색이 진행되지 않도록 설정할 수 있다.In the method of generating a virtual road map in the method of reconstructing a space according to an exemplary embodiment, when the node generated in the process of expanding or reducing the virtual road map is a node, have.

일실시예에 따른 공간 재구성 방법에서 상기 가상 로드맵을 생성하는 단계는 상기 선택된 경로 탐색기를 통해 상기 선택된 방 노드로부터 상기 다른 방 노드로 연결되는 경로가 탐색되지 않은 경우, 상기 선택된 경로 탐색기를 삭제하고, 상기 삭제된 경로 탐색기를 제외한 나머지 경로 탐색기 중 어느 하나의 경로 탐색기를 선택하여 상기 가상 로드맵을 확장하거나 축약할 수 있다.The generating of the virtual road map may include deleting the selected path searcher when the path from the selected node to the other node is not found through the selected path searcher, The virtual road map can be expanded or contracted by selecting any one of the route searchers other than the deleted route searcher.

일실시예에 따른 공간 재구성 방법에서 상기 깊이 우선 탐색은 상기 현실 로드맵에 포함된 상기 통로 노드들 중 적어도 하나의 통로 노드를 상기 선택된 방 노드에 연결시켜 상기 선택된 방 노드로부터 시작된 경로가 상기 다른 방 노드에 도달되게 하는 알고리즘일 수 있다.In the spatial reconfiguration method according to an embodiment, the depth-first search connects at least one passage node among the passage nodes included in the real road map to the selected one node, Lt; / RTI >

일실시예에 따른 공간 재구성 방법에서 상기 방 노드들 각각은 상기 통로 노드들 중 적어도 하나의 통로 노드로 확장 가능하고, 상기 통로 노드들 각각은 상기 방 노드들 중 어느 하나의 방 노드 또는 상기 통로 노드들 중 어느 하나의 통로 노드로 확장 가능할 수 있다.In the spatial reconstruction method according to an embodiment, each of the room nodes is extendable to at least one passage node of the passage nodes, and each of the passage nodes includes one of the room nodes or the passage node Lt; RTI ID = 0.0 > a < / RTI >

일실시예에 따른 공간 재구성 방법에서 상기 가상 현실을 가시화하는 단계는 상기 가상 로드맵의 시작 노드가 미리 정해진 경우, 상기 사용자로 하여금 상기 가상 로드맵의 시작 노드에 대응되는 상기 현실 로드맵의 시작 노드로 이동하도록 가이드할 수 있다.In the method of reconstructing a space according to an exemplary embodiment, the step of visualizing the virtual reality may include: when the starting node of the virtual road map is predetermined, moving the user to a starting node of the real road map corresponding to the starting node of the virtual road map You can guide.

일실시예에 따른 공간 재구성 방법에서 상기 가상 현실을 가시화하는 단계는 제한된 상기 현실 공간보다 큰 크기를 가지는 가상 현실을 가시화할 수 있다.In the method of reconstructing a space according to an exemplary embodiment, the step of visualizing the virtual reality may visualize a virtual reality having a size larger than the limited physical space.

일실시예에 따른 공간 재구성 방법에서 상기 현실 공간은 상기 사용자의 위치를 감지 가능한 공간일 수 있다.In the spatial reconstruction method according to an exemplary embodiment, the real space may be a space capable of sensing the position of the user.

일실시예에 따른 가상 로드맵 결정 방법은 현실 로드맵에 포함된 방 노드들 중 어느 하나의 방 노드를 선택하는 단계; 깊이 우선 탐색에 기초하여 상기 선택된 방 노드로부터 다른 방 노드로 연결되는 경로를 탐색하는 단계; 및 상기 탐색된 경로에 기초하여 가상 로드맵을 결정하는 단계를 포함한다.A method for determining a virtual road map according to an exemplary embodiment includes: selecting one of a plurality of node nodes included in a real road map; Searching for a path from the selected node to another node based on the depth-first search; And determining a virtual roadmap based on the searched route.

일실시예에 따른 가상 로드맵 결정 방법에서 상기 경로를 탐색하는 단계는 상기 선택된 방 노드에 연결된 통로 노드마다 경로 탐색기를 생성하는 단계; 상기 생성된 경로 탐색기 중 어느 하나의 경로 탐색기를 선택하는 단계; 및 상기 선택된 경로 탐색기의 스택에서 가장 위에 있는 노드의 깊이와 상기 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이에 기초하여 상기 가상 로드맵을 확장하거나 축약하는 단계를 포함할 수 있다.In the method for determining a virtual road map according to an exemplary embodiment, the step of searching for a path includes: generating a path searcher for each of the path nodes connected to the selected node; Selecting one of the generated path searchers; And expanding or reducing the virtual roadmap based on the depth of the topmost node in the stack of the selected path searcher and the depth of the most recently expanded node in the depth first search.

일실시예에 따른 가상 로드맵 결정 방법에서 상기 가상 로드맵을 확장하거나 축약하는 단계는 상기 가상 로드맵을 확장하거나 축약하는 과정에서 생성된 노드가 방 노드인 경우, 상기 선택된 경로 탐색기에서 더 이상 탐색이 진행되지 않도록 설정하는 단계를 포함할 수 있다.In the method of determining a virtual road map according to an exemplary embodiment, in the step of expanding or reducing the virtual road map, when the node generated in expanding or reducing the virtual road map is a node, And the like.

일실시예에 따른 공간 재구성 장치는 프로세서; 및 상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리를 포함하고, 상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 사용자가 위치한 현실 공간에 배치 가능한 방 노드들 및 통로 노드들이 서로 연결된 현실 로드맵을 결정하고, 깊이 우선 탐색을 이용하여 상기 현실 로드맵으로부터 가상 로드맵을 결정하며, 상기 현실 공간 내 상기 사용자의 위치 및 상기 가상 로드맵에 기초하여, 상기 사용자가 체험하는 가상 현실을 가시화한다.A spatial reconfiguration apparatus according to an exemplary embodiment includes a processor; And a memory including at least one instruction executable by the processor, wherein when the at least one instruction is executed in the processor, the processor is further programmed such that the room nodes and the passage nodes, Determines a connected road map, determines a virtual road map from the road map using depth-first search, and visualizes a virtual reality experienced by the user based on the location of the user and the virtual road map in the real space.

일실시예에 따른 공간 재구성 장치에서 상기 프로세서는 상기 현실 로드맵에 포함된 방 노드들 중 어느 하나의 방 노드를 선택하고, 상기 깊이 우선 탐색에 기초하여 상기 선택된 방 노드로부터 다른 방 노드로 연결되는 경로를 탐색함으로써, 상기 가상 로드맵을 생성할 수 있다.In the spatial reconfiguration apparatus according to an exemplary embodiment, the processor may select one of the node nodes included in the real road map, and determine a path from the selected node to another node based on the depth- The virtual road map can be generated.

일실시예에 따른 공간 재구성 장치에서 상기 깊이 우선 탐색은 상기 현실 로드맵에 포함된 상기 통로 노드들 중 적어도 하나의 통로 노드를 상기 선택된 방 노드에 연결시켜 상기 선택된 방 노드로부터 시작된 경로가 상기 다른 방 노드에 도달되게 하는 알고리즘일 수 있다.In the spatial reconfiguration apparatus according to an exemplary embodiment, the depth-first search connects at least one passage node among the passage nodes included in the real road map to the selected node, Lt; / RTI >

일실시예에 따른 공간 재구성 장치에서 상기 방 노드들 각각은 상기 통로 노드들 중 적어도 하나의 통로 노드로 확장 가능하고, 상기 통로 노드들 각각은 상기 방 노드들 중 어느 하나의 방 노드 또는 상기 통로 노드들 중 어느 하나의 통로 노드로 확장 가능할 수 있다.In the spatial reconfiguration apparatus according to an embodiment, each of the room nodes is extendable to at least one of the passage nodes, and each of the passage nodes is connected to any one of the room nodes or the passage node Lt; RTI ID = 0.0 > a < / RTI >

일실시예에 따른 공간 재구성 장치에서 상기 프로세서는 상기 가상 로드맵의 시작 노드가 미리 정해진 경우, 상기 사용자로 하여금 상기 가상 로드맵의 시작 노드에 대응되는 상기 현실 로드맵의 시작 노드로 이동하도록 가이드할 수 있다.In a spatial reconfiguration apparatus according to an embodiment, the processor may guide the user to move to a start node of the real road map corresponding to a start node of the virtual road map, when a start node of the virtual road map is predetermined.

일실시예에 따른 공간 재구성 장치는 프로세서; 및 상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리를 포함하고, 상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 현실 로드맵에 포함된 방 노드들 중 어느 하나의 방 노드를 선택하고, 깊이 우선 탐색에 기초하여 상기 선택된 방 노드로부터 다른 방 노드로 연결되는 경로를 탐색하며, 상기 탐색된 경로에 기초하여 가상 로드맵을 결정한다.A spatial reconfiguration apparatus according to an exemplary embodiment includes a processor; And a memory including at least one instruction executable by the processor, wherein, when the at least one instruction is executed in the processor, the processor selects one of the node nodes included in the real road map Searches for a route from the selected node to another node based on the depth-first search, and determines a virtual roadmap based on the searched route.

일실시예에 따른 공간 재구성 장치에서 상기 프로세서는 상기 선택된 방 노드에 연결된 통로 노드마다 경로 탐색기를 생성하고, 상기 생성된 경로 탐색기 중 어느 하나의 경로 탐색기를 선택하며, 상기 선택된 경로 탐색기의 스택에서 가장 위에 있는 노드의 깊이와 상기 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이에 기초하여 상기 가상 로드맵을 확장하거나 축약할 수 있다.In the spatial reconfiguration apparatus according to an exemplary embodiment, the processor generates a path searcher for each of the path nodes connected to the selected node, selects one of the generated path searchers, The virtual road map can be expanded or contracted based on the depth of the node above and the depth of the most recently extended node in the depth-first search.

일실시예에 따르면, 공간 재구성을 통해 제한된 현실 공간보다 큰 크기를 가지는 가상 현실을 가시화함으로써, 제한된 범위의 현실 공간 내 사용자의 이동을 보다 넓은 범위의 가상 공간에서의 이동으로 대응시킬 수 있고, 사용자가 자신의 몸을 움직이는 자연스러운 방식으로 보다 넓고 복잡한 가상 공간에서 이동하는 것이 가능할 수 있다.According to an embodiment, by visualizing a virtual reality having a size larger than a limited physical space through spatial reconfiguration, movement of a user in a limited range of physical space can be matched with movement in a wider range of virtual space, It may be possible to move in a wider and more complex virtual space in a natural way of moving the body.

일실시예에 따르면, 현실 공간에서의 이동 경로를 가상 공간에서의 이동 경로로 대응시킬 때 변형되는 정도를 일정 범위 내로 제한함으로써, 사용자가 가상 현실 체험 시 발생 가능한 어지럼증을 최소화하는 것이 가능할 수 있다.According to an embodiment, it is possible to minimize dizziness that may occur in a virtual reality experience by limiting the degree of deformation when the movement path in the real space is corresponded to the movement path in the virtual space within a certain range.

일실시예에 따르면, 주어진 현실 공간으로부터 생성 가능한 가상 공간의 구조를 그래프 방식으로 미리 생성함으로써, 원하는 크기와 형태의 가상 공간을 쉽고 빠르게 구성하는 것이 가능할 수 있다.According to an embodiment, it is possible to easily and quickly construct a virtual space of a desired size and shape by previously generating a structure of a virtual space that can be generated from a given physical space in a graphical manner.

도 1은 일실시예에 따른 가상 현실 시스템을 설명하기 위한 도면이다.
도 2는 일실시예에 따라 현실 로드맵 및 가상 로드맵을 설명하기 위한 도면이다.
도 3 내지 도 5는 일실시예에 따라 가상 로드맵을 결정하는 과정을 설명하기 위한 도면이다.
도 6 및 도 7은 일실시예에 따라 사용자의 이동을 반영하는 과정을 설명하기 위한 도면이다.
도 8은 일실시예에 따라 공간 재구성 방법을 나타낸 도면이다.
도 9는 일실시예에 따라 가상 로드맵 결정 방법을 나타낸 도면이다.
도 10은 일실시예에 따라 공간 재구성 장치를 나타낸 도면이다.
1 is a view for explaining a virtual reality system according to an embodiment.
2 is a diagram for explaining a real road map and a virtual road map according to an embodiment.
3 to 5 are diagrams for explaining a process of determining a virtual road map according to an embodiment.
6 and 7 are views for explaining a process of reflecting a movement of a user according to an embodiment.
FIG. 8 is a diagram illustrating a spatial reconstruction method according to an embodiment.
9 is a diagram illustrating a method of determining a virtual roadmap according to an embodiment.
10 illustrates a spatial reconstruction apparatus in accordance with one embodiment.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of embodiments are set forth for illustration purposes only and may be embodied with various changes and modifications. Accordingly, the embodiments are not intended to be limited to the particular forms disclosed, and the scope of the present disclosure includes changes, equivalents, or alternatives included in the technical idea.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first or second, etc. may be used to describe various elements, but such terms should be interpreted solely for the purpose of distinguishing one element from another. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected or connected to the other element, although other elements may be present in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms " comprises ", or " having ", and the like, are used to specify one or more of the described features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로, 실시예의 범위가 본문에 설명된 내용에 한정되는 것으로 해석되어서는 안된다. 관련 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타내며, 공지된 기능 및 구조는 생략하도록 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. The specific structural or functional descriptions below are illustrated for purposes of illustration only and are not to be construed as limiting the scope of the embodiments to those described in the text. Those skilled in the art will appreciate that various modifications and changes may be made thereto without departing from the scope of the present invention. In addition, the same reference numerals shown in the drawings denote the same members, and the well-known functions and structures are omitted.

도 1은 일실시예에 따른 가상 현실 시스템을 설명하기 위한 도면이다.1 is a view for explaining a virtual reality system according to an embodiment.

도 1을 참조하면, 일실시예에 따른 가상 현실(Virtual Reality; VR) 시스템(100)은 공간 재구성 장치(110) 및 VR 기기(120)를 포함한다. 공간 재구성 장치(110) 및 VR 기기는 무선 또는 유선 네트워크를 통해 연결될 수 있다.Referring to FIG. 1, a virtual reality (VR) system 100 according to an embodiment includes a spatial reconfiguration device 110 and a VR device 120. The spatial reconfiguration device 110 and the VR device may be connected via a wireless or wired network.

일실시예에 따른 공간 재구성 장치(110)는 사용자가 위치한 현실 공간을 재구성하여 가상 현실을 결정하고, 사용자의 위치에 따라 가상 현실을 시각화할 수 있다. 여기서, 현실 공간은 사용자의 위치가 감지될 수 있는 제한된 공간이고, 가상 공간은 사용자가 VR 기기(120)를 통해 체험 가능한 가상적인 공간으로 현실이 아닌 컴퓨팅 기기에 의해 만들어진 허상에 해당할 수 있다. 예를 들어, 가상 공간은 게임, 시뮬레이션 등에서 사용자에게 시각적으로 제공될 수 있는 가상의 공간을 제한 없이 포함할 수 있다.The spatial reconfiguration device 110 according to an embodiment can reconstruct a real space where a user is located to determine a virtual reality, and visualize a virtual reality according to a user's location. Here, the real space is a limited space in which the location of the user can be sensed, and the virtual space can be a virtual space that a user can experience through the VR device 120, which corresponds to a virtual image created by the computing device. For example, the virtual space may include, without limitation, a virtual space that can be visually provided to a user in a game, a simulation, and the like.

공간 재구성 장치(110)는 공간 재구성을 통해 제한된 현실 공간보다 큰 크기를 가지는 가상 현실을 가시화함으로써, 제한된 범위의 현실 공간 내 사용자의 이동을 보다 넓은 범위의 가상 공간에서의 이동으로 대응시킬 수 있고, 사용자가 자신의 몸을 움직이는 자연스러운 방식으로 보다 넓고 복잡한 가상 공간에서 이동하는 것이 가능할 수 있다.The spatial reconfiguration unit 110 can visualize a virtual reality having a size larger than a limited physical space through spatial reconfiguration so that movement of a user in a limited range of physical space can be matched with movement in a wider range of virtual space, It may be possible for a user to move in a wider and more complex virtual space in a natural way of moving his or her body.

VR 기기(120)는 VR 기기(120)를 착용한 사용자로 하여금 가상 현실을 경험하게 하는 기기이다. VR 기기(120)는 공간 재구성 장치(110)에서 시각화된 영상을 디스플레이에 표시할 수 있다. 사용자는 VR 기기(120)의 디스플레이에 표시된 VR 영상을 시청함으로써, 가상 현실을 경험할 수 있다. 예를 들어, VR 기기(120)는 사용자의 머리에 착용 가능한 가상 현실 장치, 스마트 글래스(smart glass), 헤드 업 디스플레이(Head Up Display; HUD) 등을 포함할 수 있다. 또한, VR 기기(120)는 스마트 폰 등의 단말이 사용자의 머리에 고정되도록 지지하는 장치 등으로도 구현될 수 있다.The VR device 120 is a device that allows a user wearing the VR device 120 to experience a virtual reality. The VR device 120 can display the visualized image on the display on the spatial reconfiguration device 110. [ The user can experience the virtual reality by watching the VR image displayed on the display of the VR device 120. [ For example, the VR device 120 may include a virtual reality device that can be worn on the user's head, a smart glass, a head up display (HUD), and the like. Also, the VR device 120 may be implemented as a device for supporting a terminal such as a smart phone to be fixed to the user's head.

도 2는 일실시예에 따라 현실 로드맵 및 가상 로드맵을 설명하기 위한 도면이다.2 is a diagram for explaining a real road map and a virtual road map according to an embodiment.

일실시예에 따른 공간은 직사각형 형태의 방과 곡선 형태의 통로들이 서로 연결된 구조를 가질 수 있다. 다시 말해, 공간 구성요소에는 일정한 면적을 가지는 방과 길쭉한 형태의 통로가 존재할 수 있다. 방과 통로의 형태는 다음과 같이 정의되고, 두 구성요소 모두 2차원 매개변수 (u, v)에 따라 그 내부의 임의 위치를 대응시킬 수 있다

Figure pat00001
.The space according to one embodiment may have a structure in which rectangular shaped rooms and curved passages are connected to each other. In other words, there may be a room with a certain area and an elongated passage in the space component. The shape of the room and the passageway is defined as follows, and both components can correspond to arbitrary positions in the interior according to the two-dimensional parameters (u, v)
Figure pat00001
.

방은 너비 w와 높이 h로 규정되고, R=<w, h>로 표시될 수 있다. 방의 내부 영역은 다음의 수학식 1과 같이 (u, v)에 의하여 매개화될 수 있다.The room is defined by the width w and the height h , and can be expressed as R = <w, h> . The interior area of the room can be mediated by (u, v) as shown in the following equation (1).

Figure pat00002
Figure pat00002

통로는 중심 궤적 곡선 C와 너비 w에 의하여 규정되고, P=<C, w>로 표시될 수 있다. 중심 궤적 곡선 C는 1차원 변수로 매개화되고, 2차 미분 가능한 함수로 표현되어야 한다. 본 명세서에서는 중심 궤적 곡선 C가 3차 허밋(Hermite) 곡선으로 표현되는 것을 가정하고, 이 경우 다음의 수학식 2와 같이 시작 지점의 위치 p 0 와 접선 벡터 t 0 , 끝 지점의 위치 p 1 과 접선 벡터 t 1 으로 정의될 수 있다.The passage is defined by the center locus curve C and the width w , and can be expressed as P = < C, w & gt ;. The center locus curve C is mediated as a one-dimensional variable and must be expressed as a second-order differentiable function. In this specification, it is assumed that the center locus curve C is expressed by a third-order Hermite curve. In this case, the position p 0 of the start point, the tangent vector t 0 , the position p 1 of the end point, Can be defined as a tangent vector t 1 .

Figure pat00003
Figure pat00003

임의의 곡선 C(u)가 주어지면, 통로의 내부 영역은 다음의 수학식 3과 같이 (u, v)에 의하여 매개화 될 수 있다.Given an arbitrary curve C (u) , the interior region of the passageway can be mediated by (u, v) as: &lt; EMI ID =

Figure pat00004
Figure pat00004

여기에서 N(u)C(u)에서의 법선 벡터로서, 접선 벡터 C'(u)를 정규화한 후 90도 회전시킴으로써 얻을 수 있다.Here, N (u) is obtained as a normal vector at the C (u), 90 degree rotated after normalizing the tangent vector C '(u).

일실시예에 따라 방과 통로는 현실 공간으로부터 가상 공간으로 대응시키는 과정에서 모두 제한된 범위 안에서 다음과 같이 변형하는 것이 허용될 수 있다.According to one embodiment, the room and the passageway may be allowed to be transformed in a limited range in the process of mapping from the real space to the virtual space as follows.

방의 경우, 현실 로드맵의 방 R=<w, h>과 가상 로드맵의 방 R'=<C', w'>이 주어졌을 때, 다음의 조건을 만족할 경우 R'R의 허용되는 변형으로 판단될 수 있다.If the room, "Given this, if the following conditions are satisfied R room R '= <C', w>, of the room R = <w, h> and virtual road map of the real road map is determined by the allowed variation of the R .

균등 확대/축소:

Figure pat00005
Even zoom:
Figure pat00005

통로의 경우, 현실 로드맵의 통로 P=<C, w>와 가상 로드맵의 통로 P'=<C', w'>이 주어졌을 때, 곡선 CC' 및 통로 너비 ww'에 대하여 허용 가능한 변형 범위는 다양한 방법으로 정의될 수 있다. 예를 들어, 3차 허밋 곡선으로 정의된 곡선 C=<p 0 , t 0 , p 1 , t 1 > C'=<p 0 ', t 0 ', p 1 ', t 1 '>이 주어질 때, C'의 시작 위치와 접선 벡터가 C와 일치하도록 강체 변환하여 C''=<p 0 '', t 0 '', p 1 '', t 1 ''>을 얻고, 이로부터 다음과 같이 변형 범위가 규정될 수 있다.In the case of passage , given the path P ' <C, w> of the real roadmap and the path P' = <C ', w'> of the virtual roadmap, the curves C and C ' and the passage widths w and w' Possible range of deformation can be defined in various ways. For example, given a curve C = <p 0 , t 0 , p 1 , t 1 > and C '= <p 0 ', t 0 ', p 1 ', t 1 '> defined by a cubic hemi- when, C 'starting position and the tangent vectors to the rigid body transformation to match the C C a''=<p0'' , t 0'', p 1'', t 1''> getting, from which following Similarly, the range of deformation can be defined.

거리 확대/축소:

Figure pat00006
Zoom in / out:
Figure pat00006

너비 확대/축소:

Figure pat00007
Zoom in / out width:
Figure pat00007

회전 변환:

Figure pat00008
Rotation transformation:
Figure pat00008

방향 전환:

Figure pat00009
turnabout:
Figure pat00009

일실시예에 따른 로드맵 구조가 다음과 같이 결정될 수 있다. 현실 로드맵과 가상 로드맵은 공통적으로 공간 구성요소를 노드(node)로 하고, 구성요소 간의 공간적 연결 관계를 유향 에지(directed edge)로 표현하는 그래프(graph) 구조를 가질 수 있다. 본 명세서에서는 설명의 편의를 위해, 유향 에지를 에지로도 지칭할 수 있다.The road map structure according to one embodiment can be determined as follows. A real road map and a virtual road map may have a graph structure in which a spatial component is a node and a spatial connection relationship between components is expressed as a directed edge. For convenience of description, the oriented edge can also be referred to as an edge in this specification.

노드와 에지에 포함되는 정보는 다음과 같다.The information contained in the node and the edge is as follows.

노드는 공간 구성요소의 정보 R 또는 P와 해당 구성요소의 위치 (x, y) 및 방향 정보 a를 포함하고, 해당 정보는

Figure pat00010
로 표시될 수 있다.A node includes information R or P of a spatial component, position (x, y) and direction information a of the component, and the information includes
Figure pat00010
. &Lt; / RTI &gt;

에지는 전임자(predecessor) 노드 N과 후임자(successor) 노드 N', 전임자 노드의 연결 부위 매개 변수 (u, v)와 후임자 노드의 연결 부위 매개 변수 (u', v')으로 규정될 수 있으며, 에지에 포함된 정보는 E=<(N, u, v), (N', u', v')>로 표시될 수 있다.The edge can be defined as the predecessor node N , the successor node N ' , the connection site parameters u and v of the predecessor node and the connection site parameters u' and v 'of the successor node, The information contained in the edge can be expressed as E = <(N, u, v), (N ', u', v ')> .

일실시예에 따라 기본 빌딩블록 집합이 생성될 수 있다. 가상 현실의 체험하는 사용자가가 마주하게 되는 가상 로드맵의 공간 구성요소가 완전히 임의의 형태를 가지는 것이 아니라 가상 현실의 설계자가 계획한 범위에 국한되도록 하기 위하여, 제한된 개수의 공간 구성요소들로 구성된 기본 빌딩블록 집합이 미리 구축될 수 있다. 빌딩블록 집합의 생성을 위하여, 가상 현실의 설계자가 각 빌딩블록을 직접 설정할 수 있고, 또는 일정한 규칙 및 절차에 따라 전체 빌딩블록들이 자동으로 생성되도록 할 수도 있다. 본 명세서에서는 방 빌딩블록 집합 R set ={R 1 , R 2 , ..., R m }과 통로 빌딩블록 집합 P set ={P 1 , P 2 , ..., P m }이 별도로 구성되어 있다고 가정한다.A basic building block set may be generated according to one embodiment. In order to make the spatial components of the virtual road map to be encountered by the users experiencing virtual reality to be confined to the range planned by the designer of the virtual reality rather than having a completely arbitrary shape, a basic constituted by a limited number of spatial components A building block set can be built in advance. For the generation of a building block set, a designer of a virtual reality can directly set each building block, or all building blocks can be automatically generated according to certain rules and procedures. In this specification, a set of building blocks R set = {R 1 , R 2 , ..., R m } and a set of building blocks P set = {P 1 , P 2 , ..., P m } .

일실시예에 따라 현실 로드맵이 생성될 수 있다. 이동 가능한 영역인 현실 공간이 주어지면, 이 현실 공간 내에서 임의의 위치에 공간 구성요소를 무작위로 배치하여 노드를 생성하고(Proc_Node), 이미 생성된 노드들을 유향 에지로 연결하여 로드맵을 생성할 수 있다(Proc_Edge). 여기서, 이동 가능한 영역은 VR기기를 착용한 사용자의 위치 추적이 가능한 영역을 의미할 수 있다.A realistic road map may be generated according to an embodiment. Given a realistic space, which is a movable region, a node can be created by randomly arranging spatial components at arbitrary positions within this real space (Proc_Node), and a roadmap can be created by connecting already generated nodes to the desired edge (Proc_Edge). Here, the movable area may refer to an area where a user wearing the VR device can be tracked.

일실시예에 따른 노드의 생성 절차 Proc_Node는 다음과 같다.The procedure of generating a node Proc_Node according to an embodiment is as follows.

첫 번째로, 생성하고자 하는 구성요소의 종류가 무작위로 결정될 수 있다. 예를 들어, 제한된 범위 안에서 발생된 난수가 미리 정해진 임계값 이하이면 방이 생성되고, 또는 난수가 미리 정해진 임계값을 초과하면 통로가 생성될 수 있다.First, the types of components to be generated can be determined at random. For example, if a random number generated within a limited range is below a predetermined threshold, a room is created, or a passage may be created if the random number exceeds a predetermined threshold.

방 또는 통로를 생성하는 경우, 공간 재구성 장치는 모두 빌딩블록 집합으로부터 하나의 빌딩블록을 임의로 선택한 후, 허용된 범위 안에서 선택된 빌딩블록을 무작위로 변형시키고, 이동 가능한 영역에 포함되는 범위에서 위치 (x, y)와 방향 a를 산출하여 변형된 빌딩블록을 배치할 수 있다.When generating a room or a passage, the spatial reconstruction apparatus arbitrarily selects one building block from the building block set, randomly deforms the selected building block within the allowable range, and calculates the position x , y) and the direction a to calculate the deformed building block.

예를 들어, 방이 생성될 경우, 공간 재구성 장치는 방 빌딩블록 집합 R set 에서 임의의 방 R k =<w k , h w >를 선택하고, 변형 가능한 범위 안에서 선택된 방 R k =<w k , h w >을 무작위로 변형하여, 변형된 방 R k '=<w k ', h w '>을 산출한 후, 이동 가능한 영역 안에 변형된 방 R k '=<w k ', h w '>을 배치할 수 있다.For example, when a room is created, the spatial reconstruction unit chooses an arbitrary room R k = <w k , h w > in the room building block set R set and selects the room R k = <w k , h w> of the random transformation, the transformed room R k '= <w k' , h w '> the variations in the after calculation, the movable area room R k' = <w k ' , h w'> Can be arranged.

또는, 통로가 생성될 경우, 공간 재구성 장치는 통로 빌딩블록 집합 Pset에서 임의의 통로 P k =< C k , w k >를 선택하고, 변형 가능한 범위 안에서 선택된 통로 P k =< C k , w k >를 무작위로 변형하여 변형된 통로 P k '=< C k ', w k '>를 산출한 후, 이동 가능한 영역 안에 변형된 통로 P k '=< C k ', w k '>를 배치할 수 있다.Alternatively, when a passage is created, the spatial reconstruction device selects an arbitrary passage P k = < C k , w k > in the passage building block set P set and selects a passage P k = < C k , w k> a randomly modified by transformation into the passage P k '= <C k' , w k '> the calculated after, deformation in the movable area, passage of P k' = <C k ' , w k'> an arrangement can do.

일실시예에 따라 노드들을 유향 에지로 연결하는 절차 Proc_Edge는 다음과 같다.The procedure Proc_Edge for connecting the nodes to the directed edge according to one embodiment is as follows.

공간 재구성 장치는 연결하고자 하는 구성요소 순서쌍의 종류를 '방-통로', '통로-방', '통로-통로' 중에서 어느 하나로 랜덤하게 결정할 수 있다. 이 때, 공간 재구성 장치는 구성요소의 종류를 결정할 때와 마찬가지로 난수 발생과 임계값을 이용하여 연결하고자 하는 구성요소 순서쌍의 종류를 결정할 수 있다.The spatial reconfiguration device can randomly determine the type of constituent element pair to be connected as one of "room-passage", "passage-room", or "passage-passage". In this case, as in the case of determining the type of the component, the spatial reconfiguring apparatus can determine the type of the constituent element pair to be connected using the random number generation and the threshold value.

공간 재구성 장치는 '방-통로', '통로-방', '통로-통로' 경우 모두 각 구성요소에 해당되는 기존 노드 NN'을 임의로 선택한 후, 이 두 노드를 연결할 수 있는 최적의 빌딩블록 P k 를 검색할 수 있다. 허용되는 범위에서 P k 를 변형하여 두 노드를 연결할 수 있을 경우, 공간 재구성 장치는 변형된 통로 P k '에 대하여 새로운 노드

Figure pat00011
를 생성하고, 이를 기존의 두 노드와 연결하는 두 개의 에지
Figure pat00012
Figure pat00013
을 생성할 수 있다.The spatial reconfiguration device arbitrarily selects the existing nodes N and N ' corresponding to each component in the case of' room-passage ',' passage-room ', and' passage-passage ' The block P k can be retrieved. If the two nodes can be connected by modifying P k in the allowed range, the spatial reconstruction device may be able to adapt the modified path P k '
Figure pat00011
And two edges connecting the two nodes to each other,
Figure pat00012
And
Figure pat00013
Can be generated.

'방-통로'의 경우, 공간 재구성 장치는 임의의 방 노드 N=<R, x, y, a>와 통로 노드 N'=<P, x', y', a'>을 선택할 수 있다. 방의 외곽, 즉 R(u, 0) 또는 R(0, v)에서 출발하여 통로의 시작 지점, 즉 P(0, 0.5)까지 도달 가능한 통로 빌딩블록을 검색하여, 변형이 허용되는 범위에서 연결 가능한 빌딩블록이 있을 경우에 한해, 공간 재구성 장치는 선택된 방 노드 N=<R, x, y, a>와 통로 노드 N'=<R', x', y', a'>를 연결할 수 있다.In the case of 'room-passage', the spatial reconfiguration device can select any room node N = <R, x, y, a> and the passage node N '= <P, x', y ', a'> . It is possible to search the passage building blocks reachable to the starting point of the passage, that is, P (0, 0.5), starting from the outside of the room, that is, R (u, 0) or R (0, v) Only if there is a building block, the spatial reconfiguration device can connect the selected node N = <R, x, y, a> to the path node N '= <R', x ', y', a '> .

'통로-방'의 경우, 공간 재구성 장치는 임의의 통로 노드 N=<P, x, y, a>와 방 노드 N'=<R, x', y', a'>을 선택할 수 있다. 통로의 종료 지점, 즉 P(1, 0.5)에서 출발하여 방의 외곽, 즉 R(u, 0) 또는 R(0, v)까지 도달 가능한 통로 빌딩블록을 검색하여, 변형이 허용되는 범위에서 연결 가능한 빌딩블록이 있을 경우에 한해, 공간 재구성 장치는 선택된 통로 노드 N=<P, x, y, a>와 방 노드 N'=<R, x', y', a'>을 연결할 수 있다.In the case of a 'passage-room', the spatial reconstruction device can select any passage node N = <P, x, y, a> and a room node N '= <R, x', y ', a'> . It is possible to search the passage building blocks which can be reached from the end point of the passage, that is, P (1, 0.5 ) and reach the outskirts of the room, that is, R (u, 0) or R (0, v) Only when there is a building block, the spatial reconfiguration device can connect the selected path node N = <P, x, y, a> and the room node N '= <R, x', y ', a'> .

'통로-통로'의 경우, 공간 재구성 장치는 임의의 두 통로 노드 N=<P, x, y, a>N'=<P', x', y', a'>을 선택할 수 있다. 한 통로의 종료 지점, 즉 P(1, 0.5)에서 출발하여 다른 통로의 시작 지점, 즉 P'(0, 0.5)까지 도달 가능한 통로 빌딩블록을 검색하여, 변형이 허용되는 범위에서 연결 가능한 빌딩블록이 있을 경우에 한해, 공간 재구성 장치는 선택된 두 통로 노드 N=<P, x, y, a>N'=<P', x', y', a'>을 연결할 수 있다.In the case of a 'passage-passage', the spatial reconstruction device can select any two passage nodes N = <P, x, y, a> and N '= <P', x ', y', a '> . It is possible to search for a passage building block which can reach from the end point of one passage, that is, P (1, 0.5) to the starting point of another passage, that is, P '(0, 0.5) , The spatial reconfiguration device can connect the selected two passage nodes N = <P, x, y, a> and N '= <P', x ', y', a '> .

앞서 설명한 Proc_Node와 Proc_Edge 절차는 일정 비율로 교차로 수행될 수 있다. 추가적으로, 공간 재구성 장치는 일정 주기에 따라 강 연결 컴포넌트(strongly connected components)를 식별하고, Proc_Edge 절차 수행 시 가장 큰 컴포넌트에 속한 노드를 우선적으로 선택할 수 있다.The Proc_Node and Proc_Edge procedures described above can be performed at an intersection at a certain rate. Additionally, the spatial reconfiguring device can identify strongly connected components over a period of time and preferentially select the nodes belonging to the largest component in the Proc_Edge procedure.

공간 재구성 장치는 이러한 절차를 반복 횟수, 노드의 수, 에지의 수, 노드와 에지의 비율, 강 연결 컴포넌트의 규모 중 적어도 하나가 일정 임계값에 도달할 때까지 수행할 수 있다. 최종적으로, 가장 큰 강 연결 컴포넌트만 남김으로써 현실 로드맵이 완성될 수 있다.The spatial reconfiguring device may perform this procedure until at least one of the number of iterations, the number of nodes, the number of edges, the ratio of nodes to edges, and the size of the strong connection component reaches a certain threshold value. Finally, the real roadmap can be completed by leaving only the largest steel connection components.

도 2를 참조하면, 일실시예에 따른 현실 공간(210)과 가상 공간(220)이 도시된다.Referring to FIG. 2, a real space 210 and a virtual space 220 according to an embodiment are shown.

현실 공간(210)은 가상 현실을 체험하는 사용자의 위치가 감지될 수 있는 영역이다. 현실 공간(210)에는 사용자의 이동을 방해하는 장애물도 존재할 수 있다. 도 2에서 현실 공간(210) 내 빗금친 부분이 장애물을 나타낼 수 있다. 현실 공간(210)에 배치 가능한 방 노드들 및 통로 노드들이 앞서 설명한 바와 같이 서로 연결되어 현실 로드맵이 결정될 수 있다. 도 2에서는 현실 공간(210) 내 직사각형(211)이 방 노드를 나타내고, 직사각형들을 연결시키는 선(213)은 통로 노드를 나타낼 수 있다.The real space 210 is an area where a position of a user experiencing a virtual reality can be sensed. In the real space 210, there may be an obstacle that obstructs the movement of the user. In FIG. 2, the hatched portion in the real space 210 may indicate an obstacle. The room nodes and the passageway nodes that can be placed in the real space 210 are connected to each other as described above so that a realistic road map can be determined. In FIG. 2, the rectangle 211 in the real space 210 represents a room node, and the line 213 connecting the rectangles represents a passage node.

공간 재구성 장치는 깊이 우선 탐색(depth-first search)을 이용하여 현실 로드맵으로부터 가상 로드맵을 결정할 수 있다. 도 2에서 가상 공간(220)은 이러한 가상 로드맵에 포함된 방 노드들 및 통로 노드들의 예시가 도시되어 있다.The spatial reconfiguring device can determine the virtual roadmap from the real road map using depth-first search. In FIG. 2, the virtual space 220 is illustrated as an example of the room nodes and the passage nodes included in this virtual roadmap.

일실시예에 따라, 현실 로드맵에 포함된 통로 노드의 굽은 정도는 가상 로드맵에 포함된 통로 노드와 다를 수 있다. 공간 재구성 장치는 허용된 범위 내에서 통로 노드의 굽은 정도를 크게하거나 작게하더라도 사용자는 가시화된 가상 공간을 따라 이동하는 것으로 인식할 수 있다. 예를 들어, VR 기기를 착용한 사용자가 현실 공간(210)에서 굽은 경로로 이동하더라도 사용자는 가상 현실에서 곧은 통로를 지나고 있는 것으로 인식할 수 있다. 즉, 이동 거리 및 경로의 굽은 정도는 허용된 범위 내에서 왜곡하더라도 사용자에 의해 인지되지 못하므로, 공간 재구성 장치는 현실 공간(210)의 물리적인 한계에 제한되지 않는 가상 현실을 구현할 수 있다.According to one embodiment, the degree of curvature of the passage node included in the real road map may be different from the passage node included in the virtual road map. The spatial reconstruction apparatus can recognize that the user moves along the visualized virtual space even if the degree of curvature of the passage node is increased or decreased within the allowable range. For example, even if a user wearing the VR device moves to a curved path in the real space 210, the user can recognize that the user is passing straight through the virtual reality. That is, even if the movement distance and the degree of bending of the path are distorted within an allowable range, they can not be recognized by the user, so that the spatial reconstruction apparatus can implement a virtual reality not limited to the physical limitations of the real space 210.

도 3 내지 도 5는 일실시예에 따라 가상 로드맵을 결정하는 과정을 설명하기 위한 도면이다.3 to 5 are diagrams for explaining a process of determining a virtual road map according to an embodiment.

도 3 내지 도 5를 참조하면, 일실시예에 따라 공간 재구성 장치의 프로세서에 의해 수행되는 가상 로드맵 결정 방법이 도시된다.Referring to Figures 3-5, a method of determining a virtual roadmap performed by a processor of a spatial reconfiguration device in accordance with one embodiment is illustrated.

앞선 설명대로 현실 로드맵이 결정되면, 하나의 방 노드로부터 시작하여 그래프를 공간 상에 트리 구조로 전개함으로써 가상 로드맵이 생성될 수 있다. 통로 노드는 하나의 종료 지점으로부터만 다음 노드(다시 말해, 방 노드 또는 통로 노드)를 연결하여 확장될 수 있는 반면, 방 노드는 해당 노드의 외곽의 여러 지점으로부터 동시에 여러 개의 다음 노드(다시 말해, 통로 노드)를 연결하여 확장될 수 있다. 또한, 현실 로드맵 구성 시 각 노드의 공간 요소를 미리 변형시켰으므로, 가상 로드맵을 구성할 때에는 각 노드의 공간 요소가 원래 형태로 복원될 수 있다.Once the real road map is determined as described above, a virtual road map can be created by starting from one room node and developing the graph into a tree structure in space. A passage node can be expanded by connecting the next node (i.e., a room node or a passage node) only from one end point, while a room node can be expanded from several points on the periphery of the node to several next nodes simultaneously, A passage node). In addition, since the spatial elements of each node are modified before the real road map is constructed, the spatial elements of each node can be restored to its original form when constructing the virtual road map.

공간 재구성 장치는 방 노드마다 일련의 통로 노드들을 연결하여 다른 방 노드에 도달할 때까지 깊이 우선 탐색을 수행할 수 있다. 이 때, 방 노드는 여러 갈래로 뻗어나가는 분기의 중심 역할을 하므로 가지(branch) 노드라고 지칭될 수 있다. 또한, 하나의 가지 노드로부터 확장 가능한 각 통로 노드마다 경로 탐색기(pathfinder)의 자료구조가 생성되어 비동기적 방식으로 깊이 우선 탐색이 수행될 수 있다. 가지 노드와 경로 탐색기는 각각 다음의 정보를 유지할 수 있다.The spatial reconfiguring device can perform a depth-first search until it reaches another node by connecting a series of passage nodes for each node. At this time, a room node can be referred to as a branch node because it serves as a center of a branch extending for several branches. Also, a data structure of a pathfinder can be generated for each path node that can be extended from one branch node, and depth-first search can be performed in an asynchronous manner. The branch node and the path searcher can respectively hold the following information.

<가지 노드 B><Node B >

- 로드맵 노드 N - Roadmap node N

- 부모 가지 노드 B parent - parent branch node B parent

- 경로 탐색기 집합 {PF 1 , PF 2 , ..., PF m } - Path searcher set {PF 1 , PF 2 , ..., PF m }

<경로 탐색기 PF><Path searcher PF >

- 깊이 우선 탐색을 위한 스택 < (N 1 , d 1 ), ..., <N k , d k )> (N k 는 현실 로드맵 노드이고, d k 는 깊이 우선 탐색 과정에서 해당 노드의 깊이에 해당됨)- a stack <(N 1, d 1) , ..., <N k, d k)> (N k is a real road map depth first node for the search, the depth of the node in the k d is the depth-first search process, Applicable)

- 가장 최근에 확장된 노드 N curr 와 그 깊이 d curr - the most recently expanded node N curr and its depth d curr

- 시작 가지 노드 B s - Start branch node B s

- 종료 가지 노드 B e (탐색이 종료된 경우에만 유효)- End Node B e (valid only if the search is terminated)

단계(310)에서, 가상 로드맵은 위의 자료구조에 기초하여 다음과 같이 생성될 수 있다. 현재 존재하는 모든 가지 노드들의 집합 B set 은 공집합(

Figure pat00014
)으로 시작한다.In step 310, a virtual road map may be generated based on the above data structure as follows. The set of all existing nodes B set is empty (
Figure pat00014
).

단계(320) 내지 단계(360)에서, 루트 노드가 생성될 수 있다. 현실 로드맵의 임의의 방 노드 N r 이 선택되고, 선택된 방 노드 N r 이 복제되어 가상 로드맵의 루트 노드 N v 가 생성될 수 있다. 이 때, 위치 (x, y)와 방향 a는 어떤 값이어도 상관 없다. 루트 노드에 대응되는 첫 번째 가지 노드 B r 가 생성되고, B set B set ={B r }로 갱신될 수 있다.In steps 320 to 360, a root node may be created. An arbitrary room node N r of the real road map is selected and the selected room node N r is replicated so that the root node N v of the virtual road map can be created. At this time, the position (x, y) and the direction a may be any value. The first node B r corresponding to the root node is created, and B set can be updated to B set = {B r } .

단계(411)에서, B set 이 공집합인지 여부가 판단될 수 있다. 만약 B set 이 공집합이 아닌 경우, 단계(413)가 수행될 수 있다. 반대로 B set 이 공집합인 경우, 가상 로드맵 결정 방법이 종료될 수 있다.In step 411, it can be determined whether B set is an empty set . If B set is not an empty set , step 413 may be performed. Conversely, if B set is an empty set , the method of determining the virtual roadmap can be terminated.

단계(413)에서, 가지 노드가 선택될 수 있다. 일실시예에 따라 공간 재구성 장치는 현재 가지 노드 집합 B set ={ B 1 , ..., B n }에서 임의의 가지 노드 B를 선택할 수 있다. At step 413, a branch node may be selected. According to one embodiment, the spatial reconfiguration device may select any of the branch nodes B in the current branch node set B set = { B 1 , ..., B n } .

단계(415)에서, 선택된 가지 노드 B의 경로탐색기 집합 B. PF set 이 공집합인지 여부가 판단될 수 있다. 선택된 가지 노드 B의 경로탐색기 집합 B. PF set 이 공집합인 경우 단계(417)가 수행되고, 선택된 가지 노드 B의 경로탐색기 집합 B. PF set 이 공집합이 아닌 경우 단계(423)가 수행될 수 있다.In step 415, the path searcher of the selected set of nodes B B. PF is set is subject to the determination whether or not the empty set. These different path searcher set of node B B. PF is set to be the empty set when the step 417 is performed and, is performed if the selected set of nodes of the path explorer B B. PF set a non-empty set stage 423 .

단계(417)에서는, 선택된 가지 노드 B가 초기화되었는지 여부가 판단될 수 있다. 만약 선택된 가지 노드 B가 초기화되지 않은 경우 단계(419)가 수행되고, 반대로 선택된 가지 노드 B가 초기화된 경우 단계(429)가 수행될 수 있다.In step 417, it may be determined whether the selected node B has been initialized. If the selected node B is not initialized, then step 419 is performed, and conversely if the selected node B is initialized, step 429 may be performed.

선택된 B가 초기화된 경우는 선택된 가지 노드 B에서 가능한 모든 탐색을 수행하였으나 결국 가지 노드 B로부터 다른 방 노드에 도달하지 못한 경우를 나타낼 수 있다. 이 경우, 단계(429)에서 가지 노드 B는 가지 노드 집합 B set 에서 제거되고, 단계(431)에서 가지 노드 B로부터 부모 가지 노드 B parent 이전까지의 모든 가상 노드가 제거되고, 단계(433)에서 부모 가지 노드 B parent 로부터 가지 노드 B에 도달한 경로 탐색기 PF parent 가 제거될 수 있다. 그 후, 단계(411)가 수행될 수 있다.When the selected B is initialized, all possible searches are performed in the selected node B , but the node B can not reach the other node. In this case, in step 429, the branch node B is removed from the branch node set B set , all virtual nodes from the branch node B to the parent branch node B parent in step 431 are removed, and in step 433 The path searcher PF parent arriving at the branch node B from the parent branch node B parent may be removed. Then, step 411 may be performed.

선택된 가지 노드 B가 초기화되지 않은 경우, 단계(419)에서 경로 탐색기가 생성될 수 있다. 예를 들어, 선택된 가지 노드 B와 연관된 가상 로드맵의 노드 N v 로부터 확장 가능한 모든 노드에 대하여 경로 탐색기 {PF 1 , ..., PF m }가 생성될 수 있다. If the selected branch node B has not been initialized, a path navigator may be created at step 419. For example, a path searcher { PF 1 , ..., PF m } may be generated for all nodes that are expandable from a node N v of a virtual roadmap associated with a selected one of the node B 's.

단계(421)에서, 각 경로 탐색기 PF i 에 대하여 최근 확장 노드 N curr 와 그 깊이 d curr 가 각각 N v 및 0으로 초기화되고, N v 에 대응되는 현실 로드맵의 노드 N r 의 i번째 아웃고잉 에지(i-th outgoing edge)에 연결된 노드 N i 가 스택에 ( N i , 1)에 삽입될 수 있다(push 연산).At step 421, for each path finder PF i , the most recently extended node N curr and its depth d curr are initialized to N v and 0, respectively, and the i th outgoing edge of the node N r of the real road map corresponding to N v a node N i connected to the i-th outgoing edge can be inserted ( N i , 1) on the stack (push operation).

단계(423)에서, 경로 탐색기가 선택될 수 있다. 선택된 가지 노드 B에 포함된 경로 탐색기 집합 {PF 1 , ..., PF m }에서 탐색이 종료되지 않은 임의의 경로 탐색기 PF i 가 선택될 수 있다.In step 423, a path navigator may be selected. An arbitrary path searcher PF i whose search has not been completed in the path searcher set { PF 1 , ..., PF m } included in the selected branch node B can be selected.

단계(425)에서, 선택된 경로 탐색기의 종료 가지 노드 PF i .B e 가 null인지 여부가 판단됨으로써, 탐색 가능 여부가 판단될 수 있다. 만약 선택된 경로 탐색기의 종료 가지 노드 PF i .B e 가 null이 아닌 경우 단계(511)가 수행되고, 반대로 선택된 경로 탐색기의 종료 가지 노드 PF i .B e 가 null인 경우 단계(427)가 수행될 수 있다.At step 425, it is determined whether the ending node PF i .B e of the selected path searcher is null, so that searchability can be determined. If the ending node PF i .B e of the selected path searcher is not null, step 511 is performed, and if the ending node PF i .B e of the selected path searcher is null, step 427 is performed .

단계(427)에서, 선택된 가지 노드에 포함된 경로 탐색기 집합 B. PF set 의 모든 경로 탐색기 PF i 가 탐색에 실패하였는지 여부가 판단될 수 있다. 만약 모든 경로 탐색기 PF i 가 탐색에 실패하지 않은 경우 단계(423)가 다시 수행되고, 모든 경로 탐색기 PF i 가 탐색에 실패한 경우 단계(413)가 수행될 수 있다. 이 경우, 경로 탐색기 집합이 공집합(즉, 탐색이 가능한 경로 탐색기가 없는 경우)이어서 선택할 수 없었다면, 가지 노드 B가 가지 노드 집합 B set 에서 제거되고, 이 때 가지 노드 B의 부모 가지 노드 B parent 가 유효할 경우에는(즉, 가지 노드 B가 루트 노드가 아닐 경우), 가지 노드 B로부터 부모 가지 노드 B parent 까지의 경로에 포함된 모든 가상 로드맵 노드들이 제거되고, 부모 가지 노드 B parent 로부터 가지 노드 B에 도달한 경로 탐색기 PF parent 도 제거될 수 있다.At step 427, it may be determined whether all path finders PF i of the path searcher set B. PF set contained in the selected node have failed the search. If all the path searchers PF i have not failed to search, step 423 is performed again, and if all the path searchers PF i fail to search, step 413 can be performed. In this case, the path searcher set empty (ie, if there is no navigation possible paths Explorer), then without choice, kind and Node B kind of removed from the set of nodes B set, two kinds of node B parent branch node B parent when the If valid (i.e., of node B is, if not the root node), different from the node B to all of the virtual road map node in the route to the parent of node B parent is removed, of the node from the parent of node B parent B The path searcher PF parent that has reached the search path PF can also be removed.

단계(511)에서, 선택된 경로 탐색기의 스택 PF i .S가 공집합인지 여부가 판단됨으로써, 해당 경로 탐색기의 스택이 비었는지 여부가 판단될 수 있다. 만약 선택된 경로 탐색기의 스택 PF i .S가 공집합이지 않은 경우 단계(513)가 수행되고, 선택된 경로 탐색기의 스택 PF i .S가 공집합인 경우 단계(535)가 수행될 수 있다.In step 511, it can be determined whether the stack of the path navigator is empty by determining whether the stack PF i .S of the selected path searcher is empty. If in the case of the case stack of the selected path searcher PF i .S a non-empty set step 513 is performed, the stack PF i .S of the selected path searcher empty, step 535 may be performed.

선택된 경로 탐색기의 스택 PF i .S가 공집합인 경우는 선택된 경로 탐색기 PF i 를 통해 탐색을 전부 수행하였으나, 다른 방에 도달하지 않은 경우를 의미할 수 있다. 이 경우, 단계(535)에서, 선택된 경로 탐색기 PF i 가 경로 탐색기 집합 PF set 에서 제거될 수 있다.If the stack PF i .S of the selected path searcher is an empty set, it means that the search has been performed through the selected path searcher PF i but the other path has not been reached. In this case, at step 535, the selected path searcher PF i may be removed from the path searcher set PF set .

단계(513) 내지 단계(527)에서, 가상 로드맵은 확장되거나 축약될 수 있다.In steps 513 to 527, the virtual road map may be expanded or contracted.

단계(513)에서, 선택된 경로 탐색기 PF i 의 스택에서 가장 위에 있는 원소 (N k , d k )가 출력될 수 있다(pop 연산). 이 때, 스택의 가장 위에 있는 노드의 깊이 d k 와 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이 d curr 에 기초하여 다른 동작이 수행될 수 있다. 스택의 가장 위에 있는 노드의 깊이 d k 와 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이 d curr 간 크기 비교는 단계(515), 단계(521), 단계(525)에서 수행될 수 있다.At step 513, the topmost element ( N k , d k ) in the stack of the selected path searcher PF i may be output (pop operation). At this time, other operations may be performed based on the depth d k of the topmost node in the stack and the depth d curr of the most recently expanded node in the depth-first search. The size comparison between the depth d k of the topmost node of the stack and the depth d curr of the most recently extended node in the depth first search may be performed in steps 515, 521, and 525.

스택의 가장 위에 있는 노드의 깊이 d k 가 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이 d curr 보다 작은 경우, 단계(517) 및 단계(519)에서, 가장 최근에 확장된 노드의 깊이 d curr 가 (d k -1)와 동일해 질 때까지, 반복적으로 가장 최근에 확장된 노드 N curr 가 가상 로드맵에서 제거되고, 그 후 노드 N curr 를 제거된 노드의 부모 노드로 대체하면서 가장 최근에 확장된 노드의 깊이 d curr

Figure pat00015
씩 감소될 수 있다. 이를 통해, 가상 로드맵은 축약될 수 있다.If the depth d k of the topmost node of the stack is less than the depth d curr of the most recently extended node in the depth first search, then in step 517 and step 519, the depth d curr of the most recently extended node a (d k -1) with the same year until, repeatedly the most recent node N curr extended to and removed from the virtual road map, and then the expansion in the last, replacing the parent node of the node to remove the node N curr The depth d curr of the node
Figure pat00015
Respectively. Through this, the virtual roadmap can be shortened.

스택의 가장 위에 있는 노드의 깊이 d k 가 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이 d curr 와 동일한 경우, 스택의 가장 위에 있는 노드 N k 가 복제되어 가상 로드맵의 노드 N v 가 생성되고, 가장 최근에 확장된 노드 N curr 의 부모 노드의 종료 지점과 노드 N k 의 시작 지점이 연결되도록 하는 강체 변환을 통하여 노드 N v 가 배치될 수 있다. 이 때, 가장 최근에 확장된 노드 N curr 는 가상 로드맵에서 제거되어, 노드 N v 로 대체될 수 있다. 이를 통해, 가상 로드맵은 축약 후 확장될 수 있다.If the depth d k of the topmost node of the stack is equal to the depth d curr of the most recently extended node in the depth-first search, the node N k at the top of the stack is replicated to create the node N v of the virtual roadmap, The node N v may be arranged through a rigid transformation to connect the end point of the parent node of the most recently extended node N curr to the start point of the node N k . At this time, the most recently expanded node N curr may be removed from the virtual roadmap and replaced with node N v . Through this, virtual road maps can be expanded after shrinking.

스택의 가장 위에 있는 노드의 깊이 d k 가 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이 d curr +1과 동일한 경우, 스택의 가장 위에 있는 노드 N k 가 복제되어 가상 로드맵의 노드 N v 가 생성되고, 가장 최근에 확장된 노드 N curr 의 종료 지점과 스택의 가장 위에 있는 노드 N k 의 시작 지점이 연결되도록 하는 강체 변환을 통하여 노드 N v 가 배치될 수 있다. 이 때, 가장 최근에 확장된 노드 N curr 는 노드 N v 로 대체될 수 있다. 이를 통해, 가상 로드맵은 확장될 수 있다.If the depth d k of the topmost node in the stack is equal to the depth d curr +1 of the most recently extended node in the depth-first search, the top node N k of the stack is cloned and the node N v of the virtual roadmap is created And the node N v may be arranged through a rigid transformation such that the end point of the most recently extended node N curr is connected to the start point of the topmost node N k of the stack. At this time, the most recently expanded node N curr may be replaced by node N v . Through this, the virtual roadmap can be extended.

단계(529)에서, 단계(523) 및 단계(527)를 통해 생성된 가상 노드맵의 노드 N v 가 방 노드인지 여부가 판단될 수 있다. 만약 생성된 가상 노드맵의 노드 N v 가 방 노드인 경우 단계(531)가 수행되고, 생성된 가상 노드맵의 노드 N v 가 통로 노드인 경우 단계(413)가 수행될 수 있다.In step 529, it can be determined whether the node N v of the virtual node map generated through steps 523 and 527 is a room node. Step 531 is performed if node N v of the generated virtual node map is a node, and step 413 may be performed if node N v of the generated virtual node map is a passage node.

단계(531)에서, 생성된 가상 노드맵의 노드 N v 에 대응되는 새로운 가지 노드 B가 생성되어 가지 노드 집합 B set 의 원소로 삽입될 수 있다. 또한, 선택된 경로 탐색기 PF i 의 종료 가지 노드 B e 는 새로운 가지 노드 B로 설정됨으로써, 해당 경로 탐색기 PF i 에서 더 이상 탐색이 진행되지 않게 할 수 있다.At step 531, a new branch node B corresponding to the node N v of the generated virtual node map is created and inserted into the element of the branch node set B set . In addition, the end node B e of the selected path searcher PF i is set as a new branch node B , so that the search can no longer proceed in the path searcher PF i .

만약 단계(517), 단계(523), 단계(527)에서 가상 로드맵이 확장되지 않았거나, 가상 로드맵의 확장으로 생성된 새로운 노드 Nv가 통로 노드인 경우, 단계(533)에서, 자식 노드의 스택 삽입이 수행될 수 있다.If the virtual roadmap is not extended at step 517, step 523 or step 527 or the new node N v created by extension of the virtual road map is a passage node, at step 533, Stack insertion can be performed.

가장 최근에 확장된 노드 N curr 에 대응되는 현실 로드맵의 노드 N r 에 대한 각각의 아웃고잉 에지를 통하여 연결된 인접 노드 N c 가 가상 로드맵에 배치 가능할 경우, (N c , d curr + 1)가 스택에 삽입될 수 있다(push 연산). 인접 노드 N c 의 배치 가능성은, 인접 노드 N c 가 복제되어 생성된 N v 가 가장 최근에 확장된 노드 N curr 의 종료 지점에 연결되도록 배치되었을 때, 가상 로드맵의 기존 노드들과 교차되는 횟수에 기초하여 결정될 수 있다. 만약 교차되는 횟수가 미리 정해진 임계 횟수를 초과하는 경우에는 배치 가능성이 없다고 판단되어 인접 노드 N c 가 제거되고, 교차되는 횟수가 임계 횟수 이하인 경우에는 배치 가능성이 있다고 판단되어 인접 노드 N c 가 스택에 삽입될 수 있다. 노드 N r 의 인접 노드들 중에서 배치 가능한 모든 인접 노드는 스택에 삽입될 수 있다. 그리고, 단계(413)가 수행될 수 있다.If the last node N curr neighbor node N c is connected through a respective outgoing edge of the node N r of the real road map corresponding to the extension in the possible arrangement in the virtual road map, (N c, d curr + 1) a stack (Push operation). To neighbor node N c the number of placement possibility, the neighboring node N c when N v replicated is generated the most is arranged such that the recently connected to the exit point of the node N curr expansion, the crossing with existing nodes of the virtual road map Can be determined. If in the case where the crossing number of times exceeds a threshold number of times the predetermined is disposed likely determines the adjacent node N c that are removed, and when the number of times the cross below the threshold count has been determined that there is disposed potential neighbor node N c the stack Can be inserted. All neighbors that can be placed among neighbor nodes of the node N r can be inserted into the stack. Then, step 413 may be performed.

앞서 설명한 가상 로드맵 결정 방법은 단계(411)에서 가지 노드 집합 B set 이 공집합인 경우에 종료되지만, 이외에도 미리 정해진 가상 로드맵 조건을 만족할 경우 그에 앞서 종료되도록 수정될 수도 있다. 또한, 위의 절차를 순차적으로 여러 번 반복 진행하거나, 또는 루트 노드 N r 을 서로 다르게 초기화한 여러 개의 절차를 병렬적으로 진행하는 것도 가능하다.The method of determining the virtual road map described above may be performed in step 411 by using the branch node set B set is an empty set , but may be modified to end before a predetermined virtual road map condition is satisfied. In addition, it is also possible to repeatedly execute the above procedure in sequence, or to execute several procedures in which the root node N r is initialized differently in parallel.

도 6 및 도 7은 일실시예에 따라 사용자의 이동을 반영하는 과정을 설명하기 위한 도면이다.6 and 7 are views for explaining a process of reflecting a movement of a user according to an embodiment.

일실시예에 따라 실행시간 이동 대응이 수행될 수 있다. 현실 로드맵과 해당 현실 로드맵으로부터 생성된 가상 로드맵이 결정되면, 사용자가 현실 공간 내에서 보행함으로써 가상 로드맵을 이동하게 할 수 있다. 가상 로드맵의 시작 노드가 미리 정해져 있다면, 공간 재구성 장치는 사용자로 하여금 가상 로드맵의 시작 노드에 대응되는 현실 로드맵의 시작 노드로 이동하도록 가이드한 후, 대응 관계를 초기화하고, 이후로는 사용자의 위치와 방향 정보가 입력될 때마다 대응 관계를 갱신할 수 있다.An execution time movement response may be performed according to one embodiment. Once the virtual road map generated from the real road map and the actual road map is determined, the user can move the virtual road map by walking within the real space. If the starting node of the virtual road map is predetermined, the spatial reconfiguration device guides the user to move to the starting node of the real road map corresponding to the starting node of the virtual road map, initializes the corresponding relationship, The correspondence relationship can be updated each time the direction information is input.

도 6을 참조하면, 일실시예에 따른 초기화 절차를 구현하는 코드가 도시된다.Referring to Figure 6, there is shown a code for implementing an initialization procedure in accordance with an embodiment.

공간 재구성 장치는 가상 로드맵의 시작 노드 N v 에 대응되는 현실 로드맵의 시작 노드 N r 을 식별할 수 있다. 공간 재구성 장치는 시작 노드 N r 의 공간 구성요소(즉, 방 또는 통로)의 경계 영역을 가상 공간에 가시화할 수 있다. 공간 재구성 장치는 사용자로 하여금 해당 영역 안에 도달한 후 시작 명령을 내리게 할 수 있다. 공간 재구성 장치는 가상 현실 시스템이 추적한 사용자의 현실 공간 위치 (x, y)로부터 시작 노드 N r 의 공간 구성요소에 대한 매개변수 (u, v)를 역으로 계산할 수 있다. The spatial reconfiguration device may identify the starting node N r of the realistic road map corresponding to the starting node N v of the virtual road map. The spatial reconstruction device may visualize the boundary area of the spatial component (i. E., A room or a path) of the starting node N r in virtual space. The spatial reconfiguration device may cause the user to issue a start command after reaching the area. The spatial reconstruction unit can inversely calculate the parameters ( u, v ) for the spatial component of the starting node N r from the real space position ( x, y ) of the user traced by the virtual reality system.

공간 재구성 장치는 가상 현실 시스템이 추적한 사용자의 현실 공간 방향 (d x , d y )를 위치 (x, y)에 더하여 (x', y') = (x+ d x , y+d y )를 얻고, 이로부터 시작 노드 N r 의 공간 구성요소에 대한 매개변수 (u', v')을 역으로 계산할 수 있다. 공간 재구성 장치는 시작 노드 N v 에 (u, v)를 적용하여, 사용자의 가상 공간 위치

Figure pat00016
을 얻을 수 있다. Space reconstitution device is the addition (x ', y') = (x + d x, y + d y) in the virtual reality system is the real spatial tracking users (d x, d y) position (x, y) ( U ', v' ) for the spatial component of the starting node N r from this. The spatial reconfiguration device applies ( u, v ) to the starting node N v to determine the user's virtual space location
Figure pat00016
Can be obtained.

공간 재구성 장치는 시작 노드 N v 에 (u', v')을 적용하여 얻은

Figure pat00017
로부터
Figure pat00018
을 뺀 후 정규화 하여, 가상 공간 방향
Figure pat00019
을 얻을 수 있다. 공간 재구성 장치는 가상 공간의 위치
Figure pat00020
와 방향
Figure pat00021
에 부합하도록 가상 현실의 시야를 설정한 후 가상 로드맵을 가시화할 수 있다.The spatial reconstruction apparatus obtains ( u ', v' ) obtained by applying ( u ', v' ) to the starting node N v
Figure pat00017
from
Figure pat00018
And then normalizes the virtual space direction
Figure pat00019
Can be obtained. The spatial reconfiguring device determines the location of the virtual space
Figure pat00020
And direction
Figure pat00021
The virtual road map can be visualized after setting the visibility of the virtual reality so as to conform to the virtual road map.

도 7을 참조하면, 일실시예에 따른 갱신 절차를 구현하는 코드가 도시된다.Referring to FIG. 7, there is shown a code for implementing an update procedure in accordance with one embodiment.

공간 재구성 장치는 현실 공간의 새로운 위치 (x, y)가 입력되면, 사용자가 현재 속한 현실 로드맵의 노드 N r 의 공간 구성요소에 대한 매개 변수 (u, v)를 역으로 계산할 수 있다. 공간 재구성 장치는 (u, v)가 0<u, v<1의 조건을 만족할 경우, 앞서 초기화 절차에서 수행했던 것과 동일한 방식으로 가상 공간의 위치와 방향을 갱신할 수 있다.The spatial reconfiguration device can inversely calculate the parameters ( u, v ) for the spatial component of the node N r of the current real road map to which the user belongs, when the new position ( x, y ) of the real space is input. The spatial reconfiguring device can update the position and direction of the virtual space in the same manner as previously performed in the initialization procedure when ( u, v ) satisfies the condition of 0 < u, v <1.

공간 재구성 장치는 (u, v)가 0<u, v<1의 조건을 만족하지 않을 경우, 시작 노드 N r 의 모든 인접 노드 집합

Figure pat00022
를 식별할 수 있다. 각각의 인접 노드
Figure pat00023
에 대응되는 가상 로드맵의 노드
Figure pat00024
가 시작 노드 N v 의 인접 노드인 경우, 공간 재구성 장치는 새로운 위치 (x, y)로부터 인접 노드
Figure pat00025
의 공간 구성요소에 대한 매개 변수 (u, v)를 역으로 계산하여 0<u, v<1의 조건이 만족되는지 확인할 수 있다. Space reconstruction apparatus (u, v) is 0 <u, v <Failure to satisfy the condition 1, every adjacent node set of the start node N r
Figure pat00022
Can be identified. Each adjacent node
Figure pat00023
Node of the virtual roadmap corresponding to &quot;
Figure pat00024
Is a neighboring node of the start node N v , the spatial reconfiguration device moves from the new location ( x, y )
Figure pat00025
The parameters ( u, v ) of the spatial component of the space u can be calculated inversely to verify that the condition 0 < u, v <1 is satisfied.

조건을 만족하는 인접 노드가 있을 경우, 공간 재구성 장치는 그 중 하나의 현실 로드맵의 노드

Figure pat00026
와 그에 대응되는 가상 로드맵 노드
Figure pat00027
를 사용자의 현재 노드로 갱신하고, 이로부터 가상 공간의 위치와 방향을 갱신할 수 있다.If there is a neighboring node that satisfies the condition,
Figure pat00026
And corresponding virtual roadmap nodes
Figure pat00027
To the current node of the user, and update the position and direction of the virtual space therefrom.

반대로 조건을 만족하는 인접 노드가 없을 경우, 공간 재구성 장치는 사용자에게 적법한 공간에서 벗어났음을 시각적으로 표시하여 알릴 수 있다.Conversely, if there are no adjacent nodes satisfying the condition, the spatial reconfiguration device can visually indicate to the user that it is out of the legitimate space.

도 8은 일실시예에 따라 공간 재구성 방법을 나타낸 도면이다.FIG. 8 is a diagram illustrating a spatial reconstruction method according to an embodiment.

도 8을 참조하면, 일실시예에 따라 공간 재구성 장치의 프로세서에 의해 수행되는 공간 재구성 방법이 도시된다.Referring to Figure 8, a method of reconstructing a space performed by a processor of a spatial reconstruction apparatus in accordance with one embodiment is illustrated.

단계(810)에서, 공간 재구성 장치는 사용자가 위치한 현실 공간에 배치 가능한 방 노드들 및 통로 노드들이 서로 연결된 현실 로드맵을 결정한다. 여기서, 방 노드들 각각은 통로 노드들 중 적어도 하나의 통로 노드로 확장 가능하고, 통로 노드들 각각은 방 노드들 중 어느 하나의 방 노드 또는 통로 노드들 중 어느 하나의 통로 노드로 확장 가능할 수 있다. 또한, 현실 공간은 사용자의 위치를 감지 가능한 공간일 수 있다.In step 810, the spatial reconfiguration device determines a realistic roadmap in which the room nodes and the passage nodes, which can be placed in the real space where the user is located, are connected to each other. Herein, each of the room nodes is extendable to at least one of the passage nodes, and each of the passage nodes may be extendable to any one of the room nodes or the passage nodes of the room nodes . In addition, the real space may be a space capable of detecting the position of the user.

단계(820)에서, 공간 재구성 장치는 깊이 우선 탐색을 이용하여 현실 로드맵으로부터 가상 로드맵을 결정한다. 공간 재구성 장치는 현실 로드맵에 포함된 복수의 방 노드들 중 어느 하나의 방 노드를 선택하고, 깊이 우선 탐색에 기초하여 선택된 방 노드로부터 다른 방 노드로 연결되는 경로를 탐색함으로써, 가상 로드맵을 생성할 수 있다.In step 820, the spatial reconfiguration device uses the depth-first search to determine a virtual roadmap from the real roadmap. The spatial reconfiguration apparatus selects a room node among a plurality of room nodes included in the real road map and searches for a route from the selected room node to the other room node based on the depth first search to generate a virtual road map .

공간 재구성 장치는 선택된 방 노드에 연결된 통로 노드마다 경로 탐색기를 생성하고, 생성된 경로 탐색기 중 어느 하나의 경로 탐색기를 선택하고, 선택된 경로 탐색기의 스택에서 가장 위에 있는 노드의 깊이와 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이에 기초하여 가상 로드맵을 확장하거나 축약함으로써, 가상 로드맵을 생성할 수 있다.The spatial reconfiguration device generates a path searcher for each of the path nodes connected to the selected node, selects one path searcher of the generated path searcher, selects the depth searcher of the topmost node in the selected path searcher, A virtual roadmap can be created by extending or shortening the virtual roadmap based on the depth of the recently extended node.

가상 로드맵을 확장하거나 축약하는 과정에서 생성된 노드가 방 노드인 경우, 공간 재구성 장치는 선택된 경로 탐색기에서 더 이상 탐색이 진행되지 않도록 설정할 수 있다. 또한, 선택된 경로 탐색기를 통해 선택된 방 노드로부터 다른 방 노드로 연결되는 경로가 탐색되지 않은 경우, 공간 재구성 장치는 선택된 경로 탐색기를 삭제하고, 삭제된 경로 탐색기를 제외한 나머지 경로 탐색기 중 어느 하나의 경로 탐색기를 선택하여 가상 로드맵을 확장하거나 축약할 수 있다.If the generated node is a room node in the process of expanding or reducing the virtual road map, the spatial reconfiguration device can be set so that no further search is performed in the selected path searcher. In addition, when the path connecting from the selected node to the other node through the selected path navigator is not found, the spatial reconfiguration unit deletes the selected path navigator, and if any of the remaining path navigators except for the deleted path navigator, To expand or contract the virtual roadmap.

여기서, 깊이 우선 탐색은 현실 로드맵에 포함된 복수의 통로 노드들 중 적어도 하나의 통로 노드를 선택된 방 노드에 연결시켜 선택된 방 노드로부터 시작된 경로가 다른 방 노드에 도달되게 하는 알고리즘일 수 있다.Here, the depth-first search may be an algorithm for connecting at least one passage node among a plurality of passage nodes included in the real road map to a selected one node so that a path started from the selected one node reaches another one node.

단계(830)에서, 공간 재구성 장치는 현실 공간 내 사용자의 위치 및 가상 로드맵에 기초하여, 사용자가 체험하는 가상 현실을 가시화한다. 가상 로드맵의 시작 노드가 미리 정해진 경우, 공간 재구성 장치는 사용자로 하여금 가상 로드맵의 시작 노드에 대응되는 현실 로드맵의 시작 노드로 이동하도록 가이드할 수 있다. 공간 재구성 장치는 제한된 현실 공간보다 큰 크기를 가지는 가상 현실을 가시화할 수 있다.In step 830, the spatial reconfiguration device visualizes the virtual reality experienced by the user based on the location of the user in the physical space and the virtual roadmap. If the starting node of the virtual road map is predetermined, the spatial reconfiguration device may guide the user to move to the starting node of the real road map corresponding to the starting node of the virtual road map. The spatial reconstruction apparatus can visualize a virtual reality having a size larger than a limited physical space.

도 8에 도시된 각 단계들에는 도 1 내지 도 7을 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.The steps described above with reference to FIGS. 1 to 7 are applied to each step shown in FIG. 8 as it is, so that a detailed description will be omitted.

도 9는 일실시예에 따라 가상 로드맵 결정 방법을 나타낸 도면이다.9 is a diagram illustrating a method of determining a virtual roadmap according to an embodiment.

도 9를 참조하면, 일실시예에 따라 공간 재구성 장치의 프로세서에 의해 수행되는 가상 로드맵 결정 방법이 도시된다.Referring to FIG. 9, a method for determining a virtual roadmap performed by a processor of a spatial reconfiguration device in accordance with an embodiment is shown.

단계(910)에서, 공간 재구성 장치는 현실 로드맵에 포함된 복수의 방 노드들 중 어느 하나의 방 노드를 선택한다.In step 910, the spatial reconfiguration device selects one of the plurality of room nodes included in the real road map.

단계(920)에서, 공간 재구성 장치는 깊이 우선 탐색에 기초하여 선택된 방 노드로부터 다른 방 노드로 연결되는 경로를 탐색한다. 공간 재구성 장치는 선택된 방 노드에 연결된 통로 노드마다 경로 탐색기를 생성하고, 생성된 경로 탐색기 중 어느 하나의 경로 탐색기를 선택하며, 선택된 경로 탐색기의 스택에서 가장 위에 있는 노드의 깊이와 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이에 기초하여 가상 로드맵을 확장하거나 축약할 수 있다.In step 920, the spatial reconfiguration device searches for a path from the selected node to another node based on the depth-first search. The spatial reconfiguration device creates a path searcher for each of the path nodes connected to the selected node, selects one path searcher of the generated path searcher, selects the depth searcher The virtual roadmap can be expanded or reduced based on the depth of the recently expanded node.

단계(930)에서, 공간 재구성 장치는 탐색된 경로에 기초하여 가상 로드맵을 결정한다.In step 930, the spatial reconfiguration device determines a virtual roadmap based on the discovered path.

도 9에 도시된 각 단계들에는 도 1 내지 도 7을 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.The steps described above with reference to FIGS. 1 through 7 are applied to each step shown in FIG. 9, so that a detailed description will be omitted.

도 10은 일실시예에 따라 공간 재구성 장치를 나타낸 도면이다.10 illustrates a spatial reconstruction apparatus in accordance with one embodiment.

도 10을 참조하면, 일실시예에 따른 공간 재구성 장치(1000)는 메모리(1010) 및 프로세서(1020)를 포함한다. 메모리(1010) 및 프로세서(1020)는 버스(bus)(1030)를 통하여 서로 통신할 수 있다.Referring to FIG. 10, a spatial reconfiguration apparatus 1000 according to one embodiment includes a memory 1010 and a processor 1020. The memory 1010 includes a processor 1020, The memory 1010 and the processor 1020 can communicate with each other via a bus 1030.

메모리(1010)는 컴퓨터에서 읽을 수 있는 명령어를 포함할 수 있다. 프로세서(1020)는 메모리(1010)에 저장된 명령어가 프로세서(1020)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(1010)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.The memory 1010 may include instructions readable by a computer. The processor 1020 can perform the aforementioned operations as the instructions stored in the memory 1010 are executed in the processor 1020. [ Memory 1010 may be volatile memory or non-volatile memory.

프로세서(1020)는 명령어들, 혹은 프로그램들을 실행하거나, 공간 재구성 장치(1000)를 제어하는 장치일 수 있다. 프로세서(1020)는 사용자가 위치한 현실 공간에 배치 가능한 방 노드들 및 통로 노드들이 서로 연결된 현실 로드맵을 결정하고, 깊이 우선 탐색을 이용하여 현실 로드맵으로부터 가상 로드맵을 결정하며, 현실 공간 내 사용자의 위치 및 가상 로드맵에 기초하여, 사용자가 체험하는 가상 현실을 가시화한다.The processor 1020 may be a device that executes instructions, or programs, or controls the spatial reconfiguration device 1000. The processor 1020 determines a real road map to which the node nodes and the passage nodes that can be placed in the real space where the user is located are connected to each other, determines a virtual road map from the real road map using the depth first search, Based on the virtual road map, the virtual reality that the user experiences is visualized.

또한, 프로세서(1020)는 현실 로드맵에 포함된 복수의 방 노드들 중 어느 하나의 방 노드를 선택하고, 깊이 우선 탐색에 기초하여 선택된 방 노드로부터 다른 방 노드로 연결되는 경로를 탐색하며, 탐색된 경로에 기초하여 가상 로드맵을 결정한다.In addition, the processor 1020 selects one of the plurality of room nodes included in the real road map, searches for a route from the selected room node to the other room node based on the depth-first search, And determines a virtual roadmap based on the route.

그 밖에, 공간 재구성 장치(1000)에 관해서는 상술된 동작을 처리할 수 있다.In addition, the above-described operation can be performed with respect to the spatial reconstruction apparatus 1000. [

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented in hardware components, software components, and / or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, such as an array, a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

실시예들에서 설명된 구성요소들은 하나 이상의 DSP (Digital Signal Processor), 프로세서 (Processor), 컨트롤러 (Controller), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array)와 같은 프로그래머블 논리 소자 (Programmable Logic Element), 다른 전자 기기들 및 이것들의 조합 중 하나 이상을 포함하는 하드웨어 구성 요소들(hardware components)에 의해 구현될 수 있다. 실시예들에서 설명된 기능들(functions) 또는 프로세스들(processes) 중 적어도 일부는 소프트웨어(software)에 의해 구현될 수 있고, 해당 소프트웨어는 기록 매체(recording medium)에 기록될 수 있다. 실시예들에서 설명된 구성요소들, 기능들 및 프로세스들은 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다.The components described in the embodiments may be implemented by a programmable logic device such as one or more DSP (Digital Signal Processor), a processor, a controller, an application specific integrated circuit (ASIC), and a field programmable gate array Logic Element, other electronic devices, and combinations thereof. &Lt; RTI ID = 0.0 &gt; At least some of the functions or processes described in the embodiments may be implemented by software, and the software may be recorded in a recording medium. The components, functions and processes described in the embodiments may be implemented by a combination of hardware and software.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the drawings, various technical modifications and variations may be applied to those skilled in the art. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI &gt; or equivalents, even if it is replaced or replaced.

Claims (20)

가상 현실을 위한 공간 재구성 방법에 있어서,
사용자가 위치한 현실 공간에 배치 가능한 방 노드들 및 통로 노드들이 서로 연결된 현실 로드맵을 결정하는 단계;
깊이 우선 탐색(depth-first search)을 이용하여 상기 현실 로드맵으로부터 가상 로드맵을 결정하는 단계; 및
상기 현실 공간 내 상기 사용자의 위치 및 상기 가상 로드맵에 기초하여, 상기 사용자가 체험하는 가상 현실을 가시화하는 단계
를 포함하는 공간 재구성 방법.
A method of reconstructing a space for a virtual reality,
Determining a real road map in which guest nodes and path nodes that can be placed in a real space where a user is located are connected to each other;
Determining a virtual roadmap from the real road map using a depth-first search; And
Visualizing a virtual reality experienced by the user based on the position of the user in the real space and the virtual road map
&Lt; / RTI &gt;
제1항에 있어서,
상기 가상 로드맵을 생성하는 단계는
상기 현실 로드맵에 포함된 방 노드들 중 어느 하나의 방 노드를 선택하고, 상기 깊이 우선 탐색에 기초하여 상기 선택된 방 노드로부터 다른 방 노드로 연결되는 경로를 탐색함으로써, 상기 가상 로드맵을 생성하는, 공간 재구성 방법.
The method according to claim 1,
The step of generating the virtual road map
Wherein the virtual road map is generated by selecting one of the node nodes included in the real road map and searching for a route from the selected node to another node based on the depth- Reconstruction method.
제2항에 있어서,
상기 가상 로드맵을 생성하는 단계는
상기 선택된 방 노드에 연결된 통로 노드마다 경로 탐색기(pathfinder)를 생성하고, 상기 생성된 경로 탐색기 중 어느 하나의 경로 탐색기를 선택하고, 상기 선택된 경로 탐색기의 스택(stack)에서 가장 위에 있는 노드의 깊이와 상기 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이에 기초하여 상기 가상 로드맵을 확장하거나 축약함으로써, 상기 가상 로드맵을 생성하는, 공간 재구성 방법.
3. The method of claim 2,
The step of generating the virtual road map
A path finder for each of the path nodes connected to the selected node is selected and a path searcher selected from among the generated path finders is selected and the depth of the uppermost node in the stack of the selected path searcher Wherein the virtual road map is generated by expanding or reducing the virtual road map based on the depth of the most recently expanded node in the depth-first search.
제3항에 있어서,
상기 가상 로드맵을 생성하는 단계는
상기 가상 로드맵을 확장하거나 축약하는 과정에서 생성된 노드가 방 노드인 경우, 상기 선택된 경로 탐색기에서 더 이상 탐색이 진행되지 않도록 설정하는, 공간 재구성 방법.
The method of claim 3,
The step of generating the virtual road map
Wherein when the node generated in the process of expanding or reducing the virtual road map is a node, setting is made so that the search is no longer performed in the selected path searcher.
제3항에 있어서,
상기 가상 로드맵을 생성하는 단계는
상기 선택된 경로 탐색기를 통해 상기 선택된 방 노드로부터 상기 다른 방 노드로 연결되는 경로가 탐색되지 않은 경우, 상기 선택된 경로 탐색기를 삭제하고, 상기 삭제된 경로 탐색기를 제외한 나머지 경로 탐색기 중 어느 하나의 경로 탐색기를 선택하여 상기 가상 로드맵을 확장하거나 축약하는, 공간 재구성 방법.
The method of claim 3,
The step of generating the virtual road map
If the route from the selected node to the other node is not searched through the selected route searcher, the selected route searcher is deleted, and any one of the route searchers other than the deleted route searcher is deleted, Selecting and expanding or reducing the virtual roadmap.
제2항에 있어서,
상기 깊이 우선 탐색은
상기 현실 로드맵에 포함된 상기 통로 노드들 중 적어도 하나의 통로 노드를 상기 선택된 방 노드에 연결시켜 상기 선택된 방 노드로부터 시작된 경로가 상기 다른 방 노드에 도달되게 하는 알고리즘인, 공간 재구성 방법.
3. The method of claim 2,
The depth-
Wherein at least one of the path nodes included in the real road map is connected to the selected one of the nodes so that a path started from the selected one of the plurality of path nodes reaches the other one of the node nodes.
제1항 있어서,
상기 방 노드들 각각은 상기 통로 노드들 중 적어도 하나의 통로 노드로 확장 가능하고,
상기 통로 노드들 각각은 상기 방 노드들 중 어느 하나의 방 노드 또는 상기 통로 노드들 중 어느 하나의 통로 노드로 확장 가능한, 공간 재구성 방법.
The method of claim 1,
Each of the room nodes being extendable to at least one of the passage nodes,
Wherein each of the passage nodes is extendable to either one of the room nodes or to one of the passage nodes.
제1항에 있어서,
상기 가상 현실을 가시화하는 단계는
상기 가상 로드맵의 시작 노드가 미리 정해진 경우, 상기 사용자로 하여금 상기 가상 로드맵의 시작 노드에 대응되는 상기 현실 로드맵의 시작 노드로 이동하도록 가이드하는, 공간 재구성 방법.
The method according to claim 1,
The step of visualizing the virtual reality
And guiding the user to move to a starting node of the real road map corresponding to a starting node of the virtual road map if the starting node of the virtual road map is determined in advance.
제1항에 있어서,
상기 가상 현실을 가시화하는 단계는
제한된 상기 현실 공간보다 큰 크기를 가지는 가상 현실을 가시화하는, 공간 재구성 방법.
The method according to claim 1,
The step of visualizing the virtual reality
And visualizing a virtual reality having a size larger than the limited physical space.
제1항에 있어서,
상기 현실 공간은 상기 사용자의 위치를 감지 가능한 공간인, 공간 재구성 방법.
The method according to claim 1,
Wherein the physical space is a space capable of sensing the position of the user.
현실 로드맵에 포함된 방 노드들 중 어느 하나의 방 노드를 선택하는 단계;
깊이 우선 탐색에 기초하여 상기 선택된 방 노드로부터 다른 방 노드로 연결되는 경로를 탐색하는 단계; 및
상기 탐색된 경로에 기초하여 가상 로드맵을 결정하는 단계
를 포함하는 가상 로드맵 결정 방법.
Selecting one of the room nodes included in the real road map;
Searching for a path from the selected node to another node based on the depth-first search; And
Determining a virtual roadmap based on the searched route
And determining a virtual roadmap.
제11항에 있어서,
상기 경로를 탐색하는 단계는
상기 선택된 방 노드에 연결된 통로 노드마다 경로 탐색기를 생성하는 단계;
상기 생성된 경로 탐색기 중 어느 하나의 경로 탐색기를 선택하는 단계; 및
상기 선택된 경로 탐색기의 스택에서 가장 위에 있는 노드의 깊이와 상기 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이에 기초하여 상기 가상 로드맵을 확장하거나 축약하는 단계
를 포함하는 가상 로드맵 결정 방법.
12. The method of claim 11,
The step of searching for the path
Generating a path searcher for each of the passage nodes connected to the selected room node;
Selecting one of the generated path searchers; And
Expanding or reducing the virtual roadmap based on the depth of the topmost node in the stack of the selected path searcher and the depth of the most recently expanded node in the depth-
And determining a virtual roadmap.
제12항에 있어서,
상기 가상 로드맵을 확장하거나 축약하는 단계는
상기 가상 로드맵을 확장하거나 축약하는 과정에서 생성된 노드가 방 노드인 경우, 상기 선택된 경로 탐색기에서 더 이상 탐색이 진행되지 않도록 설정하는 단계
를 포함하는 가상 로드맵 결정 방법.
13. The method of claim 12,
The step of expanding or reducing the virtual road map
If the node generated in the process of expanding or reducing the virtual road map is a node, setting the search path to no longer proceed in the selected route explorer
And determining a virtual roadmap.
프로세서; 및
상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
를 포함하고,
상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 사용자가 위치한 현실 공간에 배치 가능한 방 노드들 및 통로 노드들이 서로 연결된 현실 로드맵을 결정하고, 깊이 우선 탐색을 이용하여 상기 현실 로드맵으로부터 가상 로드맵을 결정하며, 상기 현실 공간 내 상기 사용자의 위치 및 상기 가상 로드맵에 기초하여, 상기 사용자가 체험하는 가상 현실을 가시화하는
공간 재구성 장치.
A processor; And
A memory including at least one instruction executable by the processor,
Lt; / RTI &gt;
When the at least one instruction is executed in the processor, the processor determines a physical road map to which the node nodes and the path nodes that can be placed in the real space where the user is located are connected to each other, And visualizing the virtual reality experienced by the user based on the location of the user and the virtual road map in the real space
Spatial reconstruction device.
제14항에 있어서,
상기 프로세서는
상기 현실 로드맵에 포함된 방 노드들 중 어느 하나의 방 노드를 선택하고, 상기 깊이 우선 탐색에 기초하여 상기 선택된 방 노드로부터 다른 방 노드로 연결되는 경로를 탐색함으로써, 상기 가상 로드맵을 생성하는, 공간 재구성 장치.
15. The method of claim 14,
The processor
Wherein the virtual road map is generated by selecting one of the node nodes included in the real road map and searching for a route from the selected node to another node based on the depth- Reconstruction device.
제15항에 있어서,
상기 깊이 우선 탐색은
상기 현실 로드맵에 포함된 상기 통로 노드들 중 적어도 하나의 통로 노드를 상기 선택된 방 노드에 연결시켜 상기 선택된 방 노드로부터 시작된 경로가 상기 다른 방 노드에 도달되게 하는 알고리즘인, 공간 재구성 장치.
16. The method of claim 15,
The depth-
Wherein at least one of the path nodes included in the real road map is connected to the selected one of the nodes so that a path started from the selected one of the plurality of path nodes reaches the other one.
제14항 있어서,
상기 방 노드들 각각은 상기 통로 노드들 중 적어도 하나의 통로 노드로 확장 가능하고,
상기 통로 노드들 각각은 상기 방 노드들 중 어느 하나의 방 노드 또는 상기 통로 노드들 중 어느 하나의 통로 노드로 확장 가능한, 공간 재구성 장치.
15. The method of claim 14,
Each of the room nodes being extendable to at least one of the passage nodes,
Wherein each of the passage nodes is extendable to either one of the room nodes or to one of the passage nodes.
제14항에 있어서,
상기 프로세서는
상기 가상 로드맵의 시작 노드가 미리 정해진 경우, 상기 사용자로 하여금 상기 가상 로드맵의 시작 노드에 대응되는 상기 현실 로드맵의 시작 노드로 이동하도록 가이드하는, 공간 재구성 장치.
15. The method of claim 14,
The processor
And guiding the user to move to a starting node of the real road map corresponding to a starting node of the virtual road map if the starting node of the virtual road map is determined in advance.
프로세서; 및
상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
를 포함하고,
상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 현실 로드맵에 포함된 방 노드들 중 어느 하나의 방 노드를 선택하고, 깊이 우선 탐색에 기초하여 상기 선택된 방 노드로부터 다른 방 노드로 연결되는 경로를 탐색하며, 상기 탐색된 경로에 기초하여 가상 로드맵을 결정하는,
공간 재구성 장치.
A processor; And
A memory including at least one instruction executable by the processor,
Lt; / RTI &gt;
If the at least one instruction is executed in the processor, the processor selects one of the room nodes included in the real road map and connects to the other room node from the selected room node based on the depth- Determining a virtual roadmap based on the searched route,
Spatial reconstruction device.
제19항에 있어서,
상기 프로세서는
상기 선택된 방 노드에 연결된 통로 노드마다 경로 탐색기를 생성하고, 상기 생성된 경로 탐색기 중 어느 하나의 경로 탐색기를 선택하며, 상기 선택된 경로 탐색기의 스택(stack)에서 가장 위에 있는 노드의 깊이와 상기 깊이 우선 탐색에서 가장 최근에 확장된 노드의 깊이에 기초하여 상기 가상 로드맵을 확장하거나 축약하는 공간 재구성 장치.
20. The method of claim 19,
The processor
The method of claim 1, further comprising: generating a path searcher for each of the path nodes connected to the selected node, selecting one of the generated path searchers, selecting a depth of the topmost node in the stack of the selected path searcher, Wherein the virtual roadmap is expanded or contracted based on the depth of the most recently expanded node in the search.
KR1020170139511A 2017-10-25 2017-10-25 Space reassembly method and virtual roadmap decision method for virtual reality and space reassembly apparatus performing the same KR102004048B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170139511A KR102004048B1 (en) 2017-10-25 2017-10-25 Space reassembly method and virtual roadmap decision method for virtual reality and space reassembly apparatus performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170139511A KR102004048B1 (en) 2017-10-25 2017-10-25 Space reassembly method and virtual roadmap decision method for virtual reality and space reassembly apparatus performing the same

Publications (2)

Publication Number Publication Date
KR20190046210A true KR20190046210A (en) 2019-05-07
KR102004048B1 KR102004048B1 (en) 2019-07-25

Family

ID=66656058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170139511A KR102004048B1 (en) 2017-10-25 2017-10-25 Space reassembly method and virtual roadmap decision method for virtual reality and space reassembly apparatus performing the same

Country Status (1)

Country Link
KR (1) KR102004048B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114612733A (en) * 2022-03-18 2022-06-10 山东财经大学 Segmented redirection mapping method based on loop virtual path diagram, terminal and readable storage medium
KR20230058811A (en) 2021-10-25 2023-05-03 한남대학교 산학협력단 Method for stitching and correcting multi-image for building virtual space site map

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3602304B2 (en) * 1997-08-28 2004-12-15 三菱電機株式会社 Virtual space data converter using tree structure
KR20170018930A (en) * 2014-06-14 2017-02-20 매직 립, 인코포레이티드 Methods and systems for creating virtual and augmented reality
KR101783390B1 (en) * 2016-09-12 2017-09-29 광운대학교 산학협력단 Apparatus ans method for reassembling space for virtual reality

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3602304B2 (en) * 1997-08-28 2004-12-15 三菱電機株式会社 Virtual space data converter using tree structure
KR20170018930A (en) * 2014-06-14 2017-02-20 매직 립, 인코포레이티드 Methods and systems for creating virtual and augmented reality
KR101783390B1 (en) * 2016-09-12 2017-09-29 광운대학교 산학협력단 Apparatus ans method for reassembling space for virtual reality

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230058811A (en) 2021-10-25 2023-05-03 한남대학교 산학협력단 Method for stitching and correcting multi-image for building virtual space site map
CN114612733A (en) * 2022-03-18 2022-06-10 山东财经大学 Segmented redirection mapping method based on loop virtual path diagram, terminal and readable storage medium
CN114612733B (en) * 2022-03-18 2023-04-28 山东财经大学 Segmentation redirection mapping method based on loop virtual path diagram, terminal and readable storage medium

Also Published As

Publication number Publication date
KR102004048B1 (en) 2019-07-25

Similar Documents

Publication Publication Date Title
US11157662B2 (en) Techniques for automatically generating designs having characteristic topologies for urban design projects
Buchin et al. Exact algorithms for partial curve matching via the Fréchet distance
CN107744663B (en) Path finding method and device for artificial intelligence AI unit
US5999881A (en) Automated path planning
KR102004048B1 (en) Space reassembly method and virtual roadmap decision method for virtual reality and space reassembly apparatus performing the same
US20090013090A1 (en) Techniques for Path Finding and Terrain Analysis
CN109668561A (en) A kind of interior paths planning method, terminal and readable storage medium storing program for executing
KR102265622B1 (en) Method, computer readable storage medium and system for calculating shortest path
Grippo et al. A class of derivative-free nonmonotone optimization algorithms employing coordinate rotations and gradient approximations
KR101688302B1 (en) Motion planning apparatus and method
KR20210101640A (en) Method and apparatus to provide guide data for device to insert medical tool into vascular
JPWO2014087590A1 (en) Optimization device, optimization method, and optimization program
CN107567641B (en) System and method for identifying replicas
JP4376670B2 (en) Steiner tree processing apparatus, Steiner tree processing method, and Steiner tree processing program
Korpitsch et al. Simulated annealing to unfold 3d meshes and assign glue tabs
US9922453B1 (en) Shrink wrap generation systems and methods
JP6757280B2 (en) Parameter output device, parameter output method and program
Koefoed-Hansen et al. Representations for path finding in planar environments
KR102568058B1 (en) Method and apparatus of partial simulation
KR101783390B1 (en) Apparatus ans method for reassembling space for virtual reality
KR102190100B1 (en) Method for training of an artificial neural network
KR20220090732A (en) Method and system for determining action of device for given state using model trained based on risk measure parameter
KR20220145203A (en) Method and apparatus of simulation
JP2014142849A (en) Solution search device, solution search method and solution search program
Majumder et al. Pathfinding and navigation

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