KR20220013657A - Recording medium for recording by axis synchronization program - Google Patents
Recording medium for recording by axis synchronization program Download PDFInfo
- Publication number
- KR20220013657A KR20220013657A KR1020200092860A KR20200092860A KR20220013657A KR 20220013657 A KR20220013657 A KR 20220013657A KR 1020200092860 A KR1020200092860 A KR 1020200092860A KR 20200092860 A KR20200092860 A KR 20200092860A KR 20220013657 A KR20220013657 A KR 20220013657A
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- axis
- tracker
- rotation angle
- rotation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B7/00—Measuring arrangements characterised by the use of electric or magnetic techniques
- G01B7/30—Measuring arrangements characterised by the use of electric or magnetic techniques for measuring angles or tapers; for testing the alignment of axes
- G01B7/31—Measuring arrangements characterised by the use of electric or magnetic techniques for measuring angles or tapers; for testing the alignment of axes for testing the alignment of axes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
본 발명은 축 동기화 프로그램 기록매체에 관한 것으로, 보다 상세하게는 확장현실 시스템내의 단말기 외부의 센서의 축과 단말기 내부의 센서의 축을 동기화시키는 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체에 관한 것이다.The present invention relates to an axis synchronization program recording medium, and more particularly, to a computer readable recording medium in which a program for executing a method of synchronizing an axis of a sensor outside a terminal in an extended reality system and an axis of a sensor inside the terminal is recorded. it's about
컴퓨팅 파워가 극적으로 성장하고, 그래픽 처리 기술과 네트워크 기술이 고도화하면서 가상현실, 증강현실, 혼합현실이 우리 생활 곳곳에 구현되고 있다. With the dramatic increase in computing power and the advancement of graphic processing technology and network technology, virtual reality, augmented reality, and mixed reality are being implemented everywhere in our lives.
가상현실(VR)은 실제로 존재하지는 않지만 실제로 존재하는 것 같은 현실을 말한다. 가상현실은 현실세계의 객체 또는 배경 등을 컴퓨터를 사용해서 인공적으로 구현해 놓은 인공 세계 또는 그러한 기술을 의미한다. Virtual reality (VR) refers to a reality that does not actually exist, but appears to exist. Virtual reality refers to an artificial world or such technology in which objects or backgrounds of the real world are artificially implemented using a computer.
증강현실(AR)은 현실세계에 가상 세계를 반영하거나 확장시키는 기술이다. 증강현실은 실세계의 객체에 가상 객체로 구현된 관련 정보를 합성하여 증강된 정보 서비스를 부가하는 개념이다.Augmented reality (AR) is a technology that reflects or expands the virtual world in the real world. Augmented reality is a concept of adding an augmented information service by synthesizing related information implemented as a virtual object with an object in the real world.
혼합현실(MR)은 가상현실(VR)과 증강현실(AR)을 통합하고 사용자와의 인터랙션(상호작용)을 더욱 강화한 방식이다. 혼합현실(MR)은 현실세계에 가상 객체들을 섞고 결합시켜서 보여주는 면에서 증강현실과 유사한 점이 있다.Mixed reality (MR) is a method that integrates virtual reality (VR) and augmented reality (AR) and further strengthens interaction with users. Mixed reality (MR) has similarities to augmented reality in that it shows virtual objects by mixing and combining them in the real world.
그러나, 증강현실에서는 현실 객체와 가상 객체의 구별이 뚜렷하고 현실 객체를 보완하는 형태로 가상 객체를 사용하는 것에 비해, 혼합현실에서는 가상 객체가 현실 객체와 동등한 성격으로 등장하고, 독립적인 형태로 운영되며 마치 가상현실과 같이 몰입감있게 보여진다는 점에서 증강현실과 확연히 구별된다.However, in augmented reality, the distinction between real and virtual objects is clear and virtual objects are used in a form that complements real objects, whereas in mixed reality virtual objects appear with the same characteristics as real objects and are operated in an independent form. It is clearly distinguished from augmented reality in that it is viewed as immersive as virtual reality.
이와 같이 컴퓨팅 파워와 그래픽 처리 기술 등에 힘입어 현실의 경험을 확장하는 기술들이 등장하였는데, 이러한 기술들을 확장현실(eXtended Reality, XR)이라 한다. As described above, technologies that extend the experience of reality have emerged thanks to computing power and graphic processing technology, and these technologies are called eXtended Reality (XR).
확장현실(XR)은 가상현실(VR)과 증강현실(AR)을 아우르는 혼합현실(MR) 기술을 망라하는 초실감형 기술 및 서비스를 의미한다. 이때, X는 변수를 의미하며, VR, AR, MR뿐만 아니라 미래에 등장할 또 다른 형태의 현실도 다 포괄할 수 있는 용어이다. Extended reality (XR) refers to ultra-realistic technologies and services that encompass mixed reality (MR) technologies that encompass virtual reality (VR) and augmented reality (AR). In this case, X means a variable, and it is a term that can encompass not only VR, AR, and MR, but also other forms of reality that will appear in the future.
확장현실(XR)을 구현하기 위해서는 가상 객체(및 배경)를 컴퓨터로 생성한 후, 사용자의 시선 변화 또는 움직임을 추적해 가며 가상 객체 및 배경에 움직임을 부여하고, 사용자와 동기화시켜야 한다. In order to implement extended reality (XR), after a virtual object (and background) is created by a computer, movement is given to the virtual object and background while tracking the change or movement of the user's gaze, and synchronized with the user.
이러한 확장현실(XR) 기반의 컨텐츠를 체험하는 경우, 종래에는 절대값이 입력된 특정 단말기만을 사용하도록 하고 있는데, 이럴 경우에는 해당 특정 단말기만을 사용해야 되므로 범용성이 떨어진다. In the case of experiencing such extended reality (XR)-based content, conventionally, only a specific terminal into which an absolute value is input is used.
또한, 여러 측위시스템이 같이 동작하게 될 경우 서로의 기준점이 일치하지 않기 때문에 동일한 추적 결과를 도출할 수 없다.In addition, when several positioning systems operate together, the same tracking result cannot be derived because the reference points of each other do not match.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 확장현실 시스템에 채용되는 단말기 내부 및 외부의 센서의 축을 동기화시키는 축 동기화 기능을 포함한 확장현실 서비스 장치 및 이의 축 동기화 방법과, 그 방법을 컴퓨터에서 실행시키기 위한 프로그램과 그 기록매체를 제공함에 그 목적이 있다.The present invention has been proposed to solve the above-described problems in the prior art, and an extended reality service apparatus including an axis synchronization function for synchronizing the axes of sensors inside and outside a terminal employed in an extended reality system, an axis synchronization method thereof, and a method thereof Its purpose is to provide a program and a recording medium for executing the program on a computer.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 축 동기화 기능을 포함한 확장현실 서비스 장치의 축 동기화 방법 프로그램 기록매체는, 단말기 및 트래커를 포함하는 클라이언트에게 확장현실 기반의 컨텐츠를 제공하는 확장현실 서비스 장치가 상기 단말기내의 제 1 센서와 상기 트래커내의 제 2 센서의 축을 동기화시키는 방법으로서, 축동기화를 위하여 단말기의 회전각(A)과 트래커의 회전각(B)이 설정된 시간이 흐른뒤, 회전된 회전각을 측정하여 각각의 축의 회전각 차이를 구하여 기록하는 단계; 상기 단말기와 트래커의 각각의 축의 회전각 차이를 누적 기록함과 아울러 단말기의 축과 트래커의 축 사이의 회전각 새로운 회전각차이(Cn)를 구하는 단계; 이전 회전각 차이(C)에 상기 새로운 회전각 차이(Cn)를 반영하여 현재 적용될 오프셋값을 구하여 저장함과 아울러 오프셋값을 단말기의 축정보에 반영하여 축 동기화를 시키는 축동기화단계를 포함하는 축 동기화 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록매체를 제공한다.In order to achieve the above object, the axis synchronization method program recording medium of the extended reality service device including the axis synchronization function according to a preferred embodiment of the present invention provides extended reality-based content to a client including a terminal and a tracker A method in which the extended reality service device synchronizes the axes of the first sensor in the terminal and the second sensor in the tracker. , measuring the rotated rotation angle to obtain and record the difference between the rotation angles of each axis; Accumulating and recording the difference between the rotation angles of the respective axes of the terminal and the tracker, and obtaining a new rotation angle difference (Cn) between the axis of the terminal and the axis of the tracker; Axis synchronization comprising a shaft synchronization step of reflecting the new rotation angle difference (Cn) to the previous rotation angle difference (C) to obtain and store the offset value to be currently applied, and also reflect the offset value in the axis information of the terminal to synchronize the axis A computer-readable recording medium on which a program for executing a method is recorded is provided.
상술한 본 발명의 축 동기화 기능을 포함한 확장현실 서비스 장치의 축 동기화 방법은, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 또한 상기한 축 동기화 방법은 컴퓨터에서 실행시키기 위한 프로그램으로 구현될 수 있고, 그 프로그램이 기록된 기록매체로 구현될 수 있다.The axis synchronization method of the extended reality service device including the axis synchronization function of the present invention described above can be implemented as computer-readable codes on a computer-readable recording medium. In addition, the above-described axis synchronization method may be implemented as a program to be executed by a computer, and may be implemented as a recording medium in which the program is recorded.
이러한 구성의 본 발명에 따르면, 특정 단말기 대신에 통상적인 단말기를 사용하더라도 단말기의 내부센서와 외부센서간의 축 동기화를 손쉽게 달성하므로, 확장현실 시스템에 채용되는 단말기의 범용성을 제공할 수 있다. 즉, 개발사 또는 제조사에서 상정하지 않은 단말기들도 사용하기 편해지므로, 개발사 또는 제조사에서 상정하지 않은 단말기를 사용하여 확장현실 기반의 컨텐츠를 언제든지 체험할 수 있다.According to the present invention of this configuration, even if a normal terminal is used instead of a specific terminal, axis synchronization between the internal sensor and the external sensor of the terminal is easily achieved, so that the versatility of the terminal employed in the extended reality system can be provided. In other words, since it becomes easier to use terminals not envisaged by the developer or manufacturer, users can experience extended reality-based content at any time using a terminal not envisaged by the developer or manufacturer.
또한, 여러 사용자가 같은 공간에서 확장현실 기반의 컨텐츠를 체험할 경우에도 서로 동일한 가상좌표를 공유하는 것이 무척 수월해져서 동일한 추적 결과를 도출할 수 있다. 또한, 사용자간에 서로를 손쉽게 인식할 수 있으며, 이질적인 공간감에서 오는 부딛힘과 거북함 등을 없앨 수 있다.In addition, even when multiple users experience extended reality-based content in the same space, it is very easy to share the same virtual coordinates with each other, so that the same tracking result can be derived. In addition, it is possible to easily recognize each other between users, and it is possible to eliminate bumps and awkwardness that come from a heterogeneous sense of space.
도 1은 본 발명의 실시예에 따른 축 동기화 기능을 포함한 확장현실 서비스 장치가 적용된 확장현실 시스템의 구성도이다.
도 2는 도 1에 도시된 HMD와 단말기 및 트래커를 확대한 도면이다.
도 3은 본 발명에 의한 확장현실 서비스 장치의 축 동기화 장치 개념도이다.
도 4은 도 1에 도시된 축 동기화부의 내부 구성도이다.
도 5는 본 발명의 실시예에 따른 축 동기화 기능을 포함한 확장현실 서비스 장치에서의 축 동기화 방법을 개략적으로 설명하기 위한 플로우차트이다.
도 6는 도 5에 도시된 오프셋을 계산하는 단계를 보다 구체적으로 설명하기 위한 플로우차트이다.1 is a block diagram of an extended reality system to which an extended reality service device including an axis synchronization function is applied according to an embodiment of the present invention.
FIG. 2 is an enlarged view of the HMD, the terminal, and the tracker shown in FIG. 1 .
3 is a conceptual diagram of an axis synchronization device of an extended reality service device according to the present invention.
FIG. 4 is an internal configuration diagram of the axis synchronizer shown in FIG. 1 .
5 is a flowchart schematically illustrating an axis synchronization method in an extended reality service device including an axis synchronization function according to an embodiment of the present invention.
FIG. 6 is a flowchart for explaining the step of calculating the offset shown in FIG. 5 in more detail.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that this does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In describing the present invention, in order to facilitate the overall understanding, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.
도 1은 본 발명의 실시예에 따른 축 동기화 기능을 포함한 확장현실 서비스 장치가 적용된 확장현실 시스템의 구성도이고, 도 2는 도 1에 도시된 HMD와 단말기 및 트래커를 확대한 도면이다.1 is a block diagram of an extended reality system to which an extended reality service device including an axis synchronization function is applied according to an embodiment of the present invention, and FIG. 2 is an enlarged view of the HMD, the terminal, and the tracker shown in FIG. 1 .
도 1의 확장현실 시스템은, 서버(50), 클라이언트(100), 및 네트워크(200)를 포함할 수 있다.The extended reality system of FIG. 1 may include a
서버(50)에서 확장현실 기반의 컨텐츠(예컨대, 게임, 교육, 관광 등에 관련된 컨텐츠)를 네트워크(200)를 통해 클라이언트(100)에게로 보내면, 클라이언트(100)의 단말기의 디스플레이부를 통해 확장현실 기반의 영상이 디스플레이된다. 이에 사용자는 손에 쥐고 있는 컨트롤러를 조작하여 확장현실 기반의 컨텐츠(예컨대, 게임)를 즐기게 된다.When the
클라이언트(100)는 사용자가 사용하는 것으로서, 소정의 게임 룸에 비치될 수 있다.The
도 1에는 클라이언트(100)를 하나만 도시하였는데, 이는 도면의 이해를 돕기 위해 간소화시킨 것일 뿐, 실제로는 다수의 클라이언트가 존재할 것이다. 예를 들어, 게임 룸마다 하나 이상의 클라이언트(100)가 존재할 수 있다.1 shows only one
클라이언트(100)는 컨트롤러(10), 단말기(30)가 장착된 HMD(20), 및 트래커(40)를 포함할 수 있다.The
컨트롤러(10)는 사용자의 행동을 반영하고, 사용자의 의지를 전달할 수 있다. The
예를 들어, 컨트롤러(10)로는 동작인식 기반의 컨트롤러, 물리 컨트롤러, 부착형 동작인식 기반의 컨트롤러, 뇌파인식 기반의 컨트롤러 등이 있을 수 있다.For example, the
동작인식 기반의 컨트롤러는 사용자들의 위치가 정확히 식별되었을 경우에 사용됨이 바람직하다. 먼저, 적외선 또는 이미지 인식방법을 통해서 여러 대상들의 동작을 측정한다. 그리고, 동작이 일어난 대상들의 위치를 앞서 구해낸 위치와 비교하여 동작정보를 서버(50)에 대입하는 방식으로 사용자의 의지를 반영할 수 있다.The motion recognition-based controller is preferably used when the location of the users is accurately identified. First, motions of various objects are measured through infrared or image recognition methods. In addition, the user's will can be reflected by comparing the positions of the objects in which the motion has occurred with the previously obtained positions and substituting the motion information into the
3DOF, 6DOF 물리 컨트롤러는 물리 버튼이 있고, 손에 쥘 수 있는 컨트롤러를 가리킨다. 내장된 여러 가지 칩(자이로, 가속도, 컴퍼스, 이미지센서 등)의 정보를 사용자 또는 서버(50)에 전달함으로서 사용자의 의지를 반영할 수 있다.3DOF, 6DOF physical controller refers to a controller that has a physical button and can be held in a hand. The user's will can be reflected by transmitting information of various embedded chips (gyro, acceleration, compass, image sensor, etc.) to the user or the
부착형 동작인식 기반의 컨트롤러는 사용자의 손목, 허리, 무릎, 발 등에 부착하여 측위되는 시스템으로서 외부에 관측장비가 존재한다는 것은 동작인식 기반의 컨트롤러와 유사하지만, 그 대상이 동작이 아닌 컨트롤러에 해당한다. The attached motion recognition-based controller is a system that is attached to the user's wrist, waist, knee, and foot to position the user. do.
뇌파인식 기반의 컨트롤러는 단말기(30)에 뇌파를 감지하는 모듈이 결합되거나 추가부착되는 형태로서 사용자의 행동을 외적으로 판단하지 않고, 뇌파의 결과와 신체상태로만 판단하여 사용자의 의지를 반영할 수 있다.The brain wave recognition-based controller is a form in which a module for detecting brain waves is combined or additionally attached to the
HMD(Head Mounted Display)(20)는 사용자의 머리에 착용되며, 사용자 주위의 영상을 촬영하여 실제 영상정보를 획득할 수 있는 단말기(30)가 장착된다(도 2 참조). 도 1에서는 HMD라고 하였으나, FMD(Face Mounted Display)이어도 무방하다. A head mounted display (HMD) 20 is worn on the user's head, and a
단말기(30)는 센서(30a)를 포함하여 사용자의 움직임을 감지하고, 디스플레이되는 실제영상정보 상에 3차원 가상객체를 표시할 수 있다. The terminal 30 may include a
여기서, 센서(30a)는 해당 단말기(30)의 이동 위치 및 방향, 이동 속도 등을 감지할 수 있다. 단말기(30)가 장착된 HMD(20)는 사용자의 머리에 착용되므로, 한편으로 센서(30a)는 사용자의 움직임에 따라 해당 사용자의 이동 위치 및 방향, 이동 속도 등을 감지한다고 볼 수 있다. 즉, 사용자의 움직임과 단말기(30)의 움직임을 동일한 것으로 간주할 수 있다. 센서(30a)는 내부 센서라고 할 수 있다.Here, the
예를 들어, 센서(30a)는 6-DOF 센싱으로서, 9-AXIS(Gyroscope, Accelerometer, Compass)의 센서 퓨전(Sensor Fusion)된 값을 사용할 수 있다.For example, the
6-DOF(Degree of freedom)는 6점 자유도라는 뜻으로, XYZ로 이루어진 3차원 좌표를 3DOF 라고 한다. 일반적으로 3DOF는 단말기(30)의 회전값을 사용할 수 있다는 의미이며, 6DOF는 회전값과 위치값을 사용할 수 있다는 의미이다.6-DOF (Degree of Freedom) means 6 degrees of freedom, and 3D coordinates made up of XYZ are called 3DOF. In general, 3DOF means that the rotation value of the terminal 30 can be used, and 6DOF means that the rotation value and position value can be used.
9-AXIS는 9개의 축을 가리키며, X, Y, Z, W 등의 한 개의 축을 1AXIS로 부른다. 일반적으로 각각 Gyroscope의 xyz, Accelerometer의 xyz, Compass의 xyz를 합쳐서 9AXIS라 칭한다.9-AXIS refers to 9 axes, and one axis such as X, Y, Z, W is called 1AXIS. In general, xyz of Gyroscope, xyz of Accelerometer, and xyz of Compass are collectively called 9AXIS.
단말기(30)는 서버(50)에 접속하여 서버(50)에서 제공하는 컨텐츠, 사용자 등의 정보를 확장현실(XR)로 표현할 수 있다.The terminal 30 may connect to the
단말기(30)는 서버(50)와 쌍방향 통신이 가능하며, 현실정보의 투영 및 함께 플레이하는 사용자들의 정보가 투영가능하다.The terminal 30 is capable of two-way communication with the
예를 들어, 단말기(30)는 스마트폰 등과 같은 모바일 기기일 수 있다.For example, the terminal 30 may be a mobile device such as a smart phone.
상술한 설명에서는 단말기(30)가 HMD(20)에 장착되는 것으로 하여 HMD(20)와 단말기(30)를 각각 도시하였으나, 단말기(30)가 장착된 HMD(20)를 단말기로 통칭할 수도 있다. 만약, 단말기(30)가 장착된 HMD(20)를 단말기로 통칭하였을 경우, 단말기(30)는 모바일 기기로 지칭할 수 있다.In the above description, the
도 1에는 도시하지 않았지만, 단말기(30)는 센서(30a) 이외로, 서버(50)와 통신 기능을 수행하는 통신부, 사용자 주변을 촬영하는 카메라, 3차원으로 랜더링된 가상 객체 또는 단말기(30)의 움직임 좌표에 대응되는 3차원 가상 객체 이미지가 저장되어 있는 가상 객체 DB, 확장현실 영상을 사용자의 시야에 제공하기 위한 디스플레이부, 및 3차원 가상 객체를 실제 영상정보상에 중첩하여 디스플레이부에 표시되게 하는 프로세서 등을 포함할 수 있다.Although not shown in Figure 1, the terminal 30 is other than the
트래커(tracker)(40)는 도 2에서와 같이 HMD(20)에 설치될 수 있다. The
트래커(40)는 게임 공간 내부에 설치된 송신부(도시 생략)로부터의 소정의 전파를 수신할 수 있다. 송신부는 게임 공간 내부에 다수개 설치됨이 바람직하다.The
예를 들어, 송신부는 적외선 레이저를 방사할 수 있다. 이 경우, 송신부는 세로로 회전하는 모터와 가로로 회전하는 모터를 구비한다. 세로 회전 모터에는 가로방사형 적외선 레이저가 부착되고, 가로 회전 모터는 세로 방사형 적외선 레이저가 부착되어 있다. 적외선 레이저는 일정 주기로 가로와 세로를 방사하는데, 방사가 끝나면 전체 적외선을 방사하여 한 종류의 방사가 끝났음을 알린다.For example, the transmitter may emit an infrared laser. In this case, the transmitter includes a motor rotating vertically and a motor rotating horizontally. A horizontal radiation type infrared laser is attached to the vertical rotation motor, and a vertical radiation type infrared laser is attached to the horizontal rotation motor. Infrared laser emits horizontally and vertically at regular intervals, and when the radiation is finished, it emits all infrared rays to notify that one type of radiation is finished.
이와 같이 송신부에서 송신되는 전파(적외선 레이저)는 트래커(40)에서 수신된다. 트래커(40)에는 대략 15개 ~ 100개 정도의 센서(40a)가 방사형으로 위치할 수 있다. 이 센서(40a)들은 적외선 레이저들을 수신하는 시간의 차이를 계산하여 해당 트래커(40)의 위치를 특정할 수 있다. 적외선을 발사한 대상이 같기 때문에 트래커(40)들은 모든 정보를 적외선 송신기를 타겟으로 계산할 수 있어 같은 시간에 공간상의 위치를 도출해낼 수 있다. 여기서, 센서(40a)는 외부 센서라고 할 수 있다.In this way, the radio wave (infrared laser) transmitted from the transmitter is received by the
이와 같이 트래커(40)는 송신부로부터의 전파를 수신하여 시간에 따른 단말기(30)의 움직임(위치값, 회전값) 좌표를 측정하고, 측정된 단말기(30)의 움직임 좌표를 서버(50)에게로 전송할 수 있다.In this way, the
즉, 단말기(즉, 사용자)의 움직임 좌표를 보다 정확히 산출하기 위해, 본 발명의 실시예에서는 내부 센서(즉, 단말기(30)의 센서(30a))를 통해 단말기(30)의 움직임 좌표를 측정하고, 또한 외부 센서(즉, 트래커(40)의 센서(40a))를 통해 단말기(30)의 움직임 좌표를 측정한다.That is, in order to more accurately calculate the movement coordinates of the terminal (ie, the user), in the embodiment of the present invention, the movement coordinates of the terminal 30 are measured through an internal sensor (ie, the
서버(50)는 단말기별 식별코드를 분배하고, 확장현실 기반의 컨텐츠(프로그램)를 자동으로 업데이트할 수 있다.The
서버(50)는 클라이언트(100)에게로의 확장현실 기반의 컨텐츠의 제공 및 실행을 제어하고, 컨트롤러(10)와 단말기(30)간의 연결을 제어하고, 단말기(30)의 상태를 제어할 수 있다.The
서버(50)는 단말기 화면의 녹화/녹음, 단말기 화면의 스트리밍, 및 단말기의 카메라를 제어할 수 있다. The
서버(50)는 단말기(30)로부터의 해당 단말기(즉, 사용자)의 움직임 좌표 및 트래커(40)로부터의 단말기(즉, 사용자) 움직임 좌표를 근거로 단말기(30)의 현재 움직임 좌표를 산출하여 단말기(30)에게로 전송할 수 있다. The
물론, 서버(50)는 사용자간을 연결시켜 주는 것을 근간으로 하며, 게임 실행, 중단 및 팀 배정, 게임 종류 선택, 컨트롤러 지정 등의 전체적인 시스템 설정을 진행할 수 있다.Of course, the
특히, 서버(50)는 단말기(30) 내부의 센서(30a)와 단말기 외부의 센서(즉, 트래커의 센서(40a))의 축을 동기화시키는 축 동기화부(60)를 포함한다. In particular, the
축 동기화부(60)의 필요성에 대해 설명하면 하기와 같다.The necessity of the
단말기(30)와 트래커(40)의 회전각을 서로 비교하여 보면, 도 2에 예시한 바와 같을 수 있다. When the rotation angles of the terminal 30 and the
도 2에서, HMD(20)에 표시한 3축은 단말기(30)의 센서(30a)의 회전각으로서, 게이머가 HMD(20)를 착용하였을 경우 단말기(30)의 하면이 정면으로 되고, 단말기(30)의 측면이 윗면으로 되는 일반적인 VR 단말기의 회전각을 보여준다. In FIG. 2 , the three axes displayed on the
한편, 트래커(40)에 표시한 3축은 트래커(40)의 센서를 서버(예컨대, PC)(도시 생략)에서 관측하였을 때의 회전각을 보여준다.On the other hand, the three axes displayed on the
도 2에 예시한 바와 같이, 현실세계에서의 물리적인 각도는 눈에 보이고 판정이 되지만, 실제 데이터에서는 센서(30a)의 회전각과 센서(40a)의 회전각은 명확하지 않으며 서로 일치하지 않을 것이다. 즉, 트래커(40)를 중심으로 봤을 때 단말기(30)의 센서(30a)의 각과 트래커(40)의 센서(40a)의 각은 현실세계의 회전각의 차이와 상이하게 될 것이다. 다시 말해서, 독립된 2개의 센서(30a, 40a)는 서로의 위치축과 기준점이 상이할 것이다.As illustrated in FIG. 2 , a physical angle in the real world is visible and determined, but in actual data, the rotation angle of the
따라서, 이러한 문제를 해결하기 위해, 단말기(30) 내부의 센서(30a)와 단말기 외부의 센서(즉, 트래커의 센서(40a))의 축을 동기화시키는 축 동기화부(60)가 필요하다.Therefore, in order to solve this problem, the
축 동기화부(60)를 이용하게 되면 독립된 2개의 센서(30a, 40a)의 위치축과 기준점을 동일하게 유지시킬 수 있으므로, 사용자간에 공간을 공유하고 현실감을 증가시킬 수 있다. 특히, 여러 사용자가 같은 공간에서 확장현실 기반의 컨텐츠를 체험할 경우에도 서로 동일한 가상좌표를 공유하는 것이 무척 수월해져서 동일한 추적 결과를 도출할 수 있다. 이로 인해, 사용자간에 서로를 손쉽게 인식할 수 있으며, 이질적인 공간감에서 오는 부딛힘과 거북함 등을 없앨 수 있다.When the
축 동기화부(60)의 내부 구성에 대해서는 후술하기로 한다.The internal configuration of the
상술한 서버(50)는 본 발명의 청구범위에 기재된 확장현실 서비스 장치의 일 예가 될 수 있다.The above-described
도 1에서, 네트워크(200)는 3가지 체계를 포함할 수 있다. In FIG. 1 , the
예를 들어, 네트워크(200)는 일반 네트워크(일반적인 반응), 고속 네트워크(빠른 반응), 대용량 네트워크(빠른 속도, 느린 반응)의 3가지 체계를 포함할 수 있다. 3가지 네트워크 체계는 독립된 네트워크 TCP/IP 소켓을 가지고 있다.For example, the
여기서, 일반 네트워크는 일반적으로 구성하는 온라인 서버의 네트워크 구성을 말하며, 서버(50)와 클라이언트(100)가 이질적이지 않은 범위에서 버퍼링을 실시할 수 있는 네트워크를 의미한다. 버퍼링이란 너무 잦은 데이터를 전송하거나 소량의 데이터를 전송할 때, 네트워크(200)의 부하를 줄이기 위해 한 개의 데이터로 저장하여 보내는 방식을 말한다. Here, the general network refers to a network configuration of an online server that is generally configured, and refers to a network in which the
본 발명의 실시예는 일반 네트워크에서 최대패킷량(MTU)을 기준으로 구성될 수 있으며, 이때의 데이터는 최대 0.05초만큼 데이터 전송을 대기한 뒤 전송될 수 있다. 1초에 최소 20번의 데이터 전송이 이루어지며, 이는 게임 데이터(예컨대, "3D객체 A가 좌표(0,1,0)에 생성된다", "상대편 B로부터 당신 A가 공격당했다", "당신의 HP가 50%가 되었다" 등)를 전송하는데 무리가 없는 수준일 것이다. An embodiment of the present invention may be configured based on the maximum packet amount (MTU) in a general network, and at this time, data may be transmitted after waiting for data transmission for up to 0.05 seconds. Data transfer is made at least 20 times per second, and this includes game data (eg, "3D object A is created at coordinates (0,1,0)", "Your A was attacked by opponent B", "Your HP has reached 50%", etc.
고속 네트워크는 일반 네트워크와는 다르게 데이터 버퍼링을 실시하지 않으며, 입력된 데이터를 최대한 빨리 전달하는 것이 핵심이다. 고속 네트워크는 일반 네트워크와 동일하게 TCP/IP 프로토콜을 사용한다. 그렇기에 소규모 패킷의 다량의 전송으로 네트워크(200)에 부하가 발생할 수 있기 때문에 잘 사용되지 않는다.Unlike general networks, high-speed networks do not perform data buffering, and the key is to deliver input data as quickly as possible. A high-speed network uses the TCP/IP protocol the same as a general network. Therefore, it is not used well because a load may occur on the
고속 네트워크는 일반 네트워크처럼 필요한 시점에 언제든 전송하게 되면 네트워크 부하가 증가하게 되므로, 필요한 스케줄에 따라 주기적으로 전송하는 시스템으로 전송 로직을 구현하는 것이 바람직하다. 예를 들어, 고속 네트워크는 센서 데이터, 식별 번호 등과 같이 일정 종류만 한정하여 전송하는 것이 좋을 것이다.In a high-speed network, if it is transmitted at any time when necessary, like a general network, the network load increases. Therefore, it is desirable to implement the transmission logic in a system that transmits periodically according to a required schedule. For example, in a high-speed network, it would be good to limit transmission of only a certain type, such as sensor data and identification number.
광범위 네트워크를 이용할 시에는 큰 의미가 없지만, 고속 네트워크는 서버(50)와 클라이언트(100)가 직접 연결(공유기, WIFI 내부망)을 하고 있는 상황에서는 유의미한 속도가 발현될 수 있다.There is no significant meaning when using a wide-area network, but in a high-speed network, a meaningful speed can be expressed in a situation where the
고속 네트워크는 전송/수신 까지 유선망인 경우에는 대략 0~1ms 정도의 데이터 전송 속도를 보일 수 있고, WIFI망에서는 대략 1ms~30ms 정도까지의 데이터 전송 속도를 보일 수 있다. WIFI망에서 평균 4ms 정도의 전송속도를 유지할 것이다.A high-speed network can show a data transmission speed of about 0~1ms in the case of a wired network until transmission/reception, and may show a data transmission speed of about 1ms~30ms in a WIFI network. In the WIFI network, the average transmission speed will be maintained at about 4ms.
상술한 고속 네트워크라 명명한 개념은 원시적인 네트워크의 개념이기에 필요에 의해서는 사용이 되지 않을 수 있지만, VR이라는 특이성과 내부망이라는 특이성이 더해져 필수 요소로 적용된다고 이해하면 된다.The concept of high-speed network described above may not be used as necessary because it is a concept of a primitive network, but it can be understood that it is applied as an essential element by adding the specificity of VR and the specificity of an internal network.
대용량 네트워크는 고속 네트워크와 상반되는 개념으로서, 일반적인 웹파일 대용량 전송 프로토콜을 따르고 있다. 대용량 네트워크는 서버(50) 또는 클라이언트(100)에서 생성되거나 보유중인 데이터를 전송하는 수단으로서, 실행파일 버전 관리부터 내부 컨텐츠 데이터까지 다양하게 데이터를 송수신할 수 있게 한다.A large-capacity network is a concept opposite to a high-speed network, and follows a general web file large-capacity transmission protocol. The high-capacity network is a means for transmitting data generated or held by the
대용량 네트워크는 일반 네트워크보다 더 큰 버퍼를 가지고 전송을 시도하며, 전송버퍼가 커진 만큼 전송속도가 빠르다. A large-capacity network attempts transmission with a larger buffer than a general network, and the transmission speed is faster as the transmission buffer becomes larger.
일반적인 온라인 PC게임, 모바일 게임의 경우 하나의 네트워크로만 구성되는 경우가 많으며, 그렇지 않다면 일반 네트워크와 대용량 네트워크의 결합으로 구성됨이 바람직하다.In the case of general online PC games and mobile games, it is often composed of only one network. Otherwise, it is preferable to form a combination of a general network and a large-capacity network.
따라서, 축동기화 과정에서 네트워크의 지연 딜레이로 인해 발생하는 데이터 차이인 네트워크 오차를 고려한 가중치를 반영해야한다. Therefore, it is necessary to reflect the weight in consideration of the network error, which is the data difference caused by the delay of the network during the shaft synchronization process.
도 3은 본 발명에 의한 확장현실 서비스 장치의 축 동기화 장치 개념도이다. 도 3에 도시된 바와 같이, 단말기(30) 내부의 센서(30a)와 단말기 외부의 센서(즉, 트래커의 센서(40a))의 회전정보를 입력받아 트래커와 단말기의 회전각 차이를 이용하여 오프셋을 검출하고 오프셋값을 반영하여 축을 동기화시키는 축 동기화부(60)와; 상기 축 동기화부(60)에서 트래커의 회전축에 동기화시킨 단말기의 회전 정보와 상기 트래커의 센서(40a)의 정보를 입력받아 회전 정보를 연산하는 회전 연산부(70)와, 상기 회전 연산부(70)의 회전 연산 정보에 의거하여 최종 상태값을 생성하는 최종 상태값 생성부(80)를 포함하여 구성된다.3 is a conceptual diagram of an axis synchronization device of an extended reality service device according to the present invention. As shown in Figure 3, the terminal 30 receives the rotation information of the
이와 같이 본 발명에서는 단말기 내부센서(30a)의 회전값과, 외부 센서(트래커의 센서)(40a)의 회전값을 입력받아 축 동기화부(60)에서 축 동기화를 시킨다. 축동기화는 트래커의 센서(40a)의 회전각(B)을 기준으로 단말기 센서(30a)의 회전각(A)까지의 각도차이(C)를 구한다. 상기 트래커 센서의 회전각(B)과 상기 각도차이(C)를 연산하여 예상 단말기 회전값(D)을 구한다. 실질적으로 예상 단말기 회전값(D)과 단말기 회전값(A)을 같은 값의 각도가 된다.As described above, in the present invention, the rotation value of the terminal
축동기화를 위하여 단말기의 회전각(A)과 트래커의 회전각(B)이 시간이 흐른뒤, 회전된 회전각을 측정함으로서, 각 회전각 차이를 구하여 기록하고, 기록된 회전각 차이를 지속적으로 누적시켜 두 회전의 새로운 회전각차이(Cn)를 구한다.For shaft synchronization, the rotation angle (A) of the terminal and the rotation angle (B) of the tracker are measured after time passes, by measuring the rotation angle, the difference between each rotation angle is obtained and recorded, and the recorded rotation angle difference is continuously recorded Accumulate the new rotation angle difference (Cn) of the two rotations.
이전회전각 차이(C)에 새로운 회전각 차이(Cn)를 특정한 가중치를 이용하여 반영하여, 현재 새롭게 사용할 회전각 차이(C)를 구한다. 즉, 상기 회전각 차이(C)를 새롭게 적용할 오프셋값으로 구하고, 이를 단말기의 회전값에 반영하여 축을 동기화 사키는 것이다. 그리고, 다음 계산을 위하여 현재의 회전각(A,B)와 회전각차이(C)를 누적 기록하여 다음번 오프셋값 검출에 이용한다.The new rotation angle difference (Cn) is reflected in the previous rotation angle difference (C) using a specific weight to obtain a rotation angle difference (C) to be used newly. That is, the rotation angle difference C is obtained as an offset value to be newly applied, and this is reflected in the rotation value of the terminal to synchronize the axis. Then, for the next calculation, the current rotation angles (A, B) and the rotation angle difference (C) are accumulated and recorded and used to detect the next offset value.
이와같이 축동기화부(60)를 통하여 회전각도 차이에 따른 축동기화를 시킴으로써, 내부센서와 외부센서의 기준좌표를 일치시키고, 회전 연산부(70)가 축동기화에 따른 회전각차이를 기반으로 트래커의 회전값을 입력받아 회전 정보를 연산하게 된다. 이렇게 축을 동기화시켜 기준 좌표를 일치시킨 후, 실제 움직임에 대한 회전 정보를 연산하고, 연산된 회전 정보에 의해 최종 상태값 생성부(80)가 컨텐츠의 객체에 대한 최종 상태 정보를 생성하여 제공함으로써, 확장현실 서비스에서 정확한 추적결과를 반영 할 수 있는 것이다.As such, by performing shaft synchronization according to the rotation angle difference through the
도 4은 도 1에 도시된 축 동기화부(60)의 내부 구성도이다.FIG. 4 is an internal configuration diagram of the
축 동기화부(60)는 회전정보 수신부(61), 오프셋 계산부(62), 동기화부(63), 저장부(64), 및 제어부(65)를 포함할 수 있다.The
회전정보 수신부(61)는 단말기(30)의 회전 정보(회전값) 및 트래커(40)의 회전 정보(회전값)를 실시간 또는 주기적으로 수신할 수 있다.The rotation
오프셋 계산부(62)는 수신된 단말기(30)의 회전 정보와 트래커(40)의 회전 정보를 근거로 단말기(30)와 트래커(40)의 센서(30a, 40a)의 회전축의 각도차이를 계산하고, 계산된 각도차이를 근거로 센서(30a)와 센서(40a)의 축 동기화에 사용되는 오프셋(즉, 조정값이라고 할 수 있음)을 계산해 낼 수 있다.The offset
이와 같은 본 발명에서는 단말기 및 트래커를 포함하는 클라이언트에게 확장현실 기반의 컨텐츠를 제공하는 확장현실 서비스 장치가 상기 단말기내의 제 1 센서와 상기 트래커내의 제 2 센서의 축을 동기화시키는 방법으로서,As described above, in the present invention, an extended reality service device that provides extended reality-based content to a client including a terminal and a tracker synchronizes the axes of a first sensor in the terminal and a second sensor in the tracker,
축동기화를 위하여 단말기의 회전각(A)과 트래커의 회전각(B)이 설정된 시간이 흐른뒤, 회전된 회전각을 측정하여 각각의 축의 회전각 차이를 구하여 기록하는 단계;After the set time elapses for the rotation angle (A) of the terminal and the rotation angle (B) of the tracker for shaft synchronization, measuring the rotated rotation angle to obtain and record the difference between the rotation angles of each axis;
상기 단말기와 트래커의 각각의 축의 회전각 차이를 누적 기록함과 아울러 단말기의 축과 트래커의 축 사이의 회전각 새로운 회전각차이(Cn)를 구하는 단계;Accumulating and recording the difference between the rotation angles of the respective axes of the terminal and the tracker, and obtaining a new rotation angle difference (Cn) between the axis of the terminal and the axis of the tracker;
이전 회전각 차이(C)에 상기 새로운 회전각 차이(Cn)를 반영하여 현재 적용될 오프셋값을 구하여 저장함과 아울러 오프셋값을 단말기의 축정보에 반영하여 축 동기화를 시키는 축동기화단계를 포함할 수 있다.It may include a shaft synchronization step of reflecting the new rotation angle difference (Cn) to the previous rotation angle difference (C) to obtain an offset value to be currently applied and storing it, and also reflecting the offset value in the axis information of the terminal to synchronize the axis. .
상기 오프셋 계산부(62)의 구체적인 실시예로는, 하기의 1 ~ 10까지의 순서에 따라 오프셋을 계산해 낼 수 있다. 그리고, 오프셋 계산부(62)는 하기의 1 ~ 10까지의 순서를 반복할 것이다. 하기에서의 단말기(30)는 순수하게 단말기(30)만을 지칭할 수도 있으나, 단말기(30)가 HMD(20)에 장착되어 함께 움직이므로 단말기(30)가 장착된 HMD(20)를 단말기라고 할 수도 있다.As a specific embodiment of the offset
1. 단말기(30)의 이전 회전각과 단말기(30)의 현재 회전각을 근거로 현재 시점에서의 단말기(30)의 회전각 차이(headsetDifference)를 계산한다. 이를 프로그램적으로 표현하면 예를 들어, "Quaternion headsetDifference = beforeHeadsetRotation.Inverse() * headsetRotation"와 같이 표현할 수 있다.1. Based on the previous rotation angle of the terminal 30 and the current rotation angle of the terminal 30, a difference in the rotation angle of the terminal 30 (headsetDifference) at the current time is calculated. If this is expressed programmatically, for example, "Quaternion headsetDifference = beforeHeadsetRotation.Inverse() * headsetRotation" can be expressed.
2. 계산된 단말기(30)의 회전각 차이(headsetDifference)를 근거로 단말기(30)의 회전된 축(Aa)을 구한다. 이를 프로그램적으로 표현하면 예를 들어, "headsetDifference.ToAngleAxis(out_, out var headsetRotatedAxis)"와 같이 표현할 수 있다. 여기서, 단말기(30)의 회전된 축(Aa)은 내부 센서(30a)의 축을 의미할 수 있다.2. Based on the calculated difference in rotation angle of the terminal 30 (headsetDifference), the rotated axis Aa of the terminal 30 is obtained. If this is expressed programmatically, for example, "headsetDifference.ToAngleAxis(out_, out var headsetRotatedAxis)" can be expressed. Here, the rotated axis Aa of the terminal 30 may mean the axis of the
3. 단말기(30)의 회전된 축(Aa)을 선형벡터에서 사원수(quaternion) 회전각으로 변환한다. 이를 프로그램적으로 표현하면 예를 들어, "Quaternion headsetAxisLook = Quaternion.LookRotation(headsetRotatedAxis)"와 같이 표현할 수 있다. 사원수는 3차원 공간에서의 특정 회전축(즉, 회전된 축)에 대한 공간의 회전을 나타낸다고 할 수 있다. 이와 같이 단말기(30)의 회전된 축(Aa)을 사원수(quaternion) 체계로 표현하게 되면 단말기(30)가 지표면에 대해서 임의의 축으로 회전하는 것을 나타낼 수 있다.3. Convert the rotated axis Aa of the terminal 30 from a linear vector to a quaternion rotation angle. If this is expressed programmatically, for example, "Quaternion headsetAxisLook = Quaternion.LookRotation(headsetRotatedAxis)" can be expressed. A quaternion can be said to represent the rotation of space about a particular axis of rotation (ie, the axis of rotation) in three-dimensional space. As described above, when the rotated axis Aa of the terminal 30 is expressed in a quaternion system, it can represent that the terminal 30 rotates on an arbitrary axis with respect to the ground surface.
4. 트래커(40)의 이전 회전각과 이전의 오프셋(Offset 1)(즉, 이전에 계산된 오프셋)을 근거로 단말기(30)의 이전 예상 회전각(beforeExpectHeadsetRotation)을 계산한다. 이를 프로그램적으로 표현하면 예를 들어, "Quaternion beforeExpectHeadsetRotation = (beforeTrackerRotation * offset)"과 같이 표현할 수 있다.4. Calculate the previous expected rotation angle (beforeExpectHeadsetRotation) of the terminal 30 based on the previous rotation angle of the
그리고, 트래커(40)의 현재 회전각과 이전의 오프셋(Offset 1)을 근거로 단말기(30)의 현재 예상 회전각(currentExpectHeadsetRotation)을 계산한다. 이를 프로그램적으로 표현하면 예를 들어, "Quaternion currentExpectHeadsetRotation = (TrackerRotation * offset)"과 같이 표현할 수 있다.Then, the current expected rotation angle (currentExpectHeadsetRotation) of the terminal 30 is calculated based on the current rotation angle of the
이어, 단말기(30)의 이전 예상 회전각과 단말기의 현재 예상 회전각을 근거로 현재 시점에서의 트래커(40)의 회전각 차이(trackerDifference)를 계산한다. 이를 프로그램적으로 표현하면 예를 들어, "Quaternion trackerDifference = beforeExpectHeadsetRotation.Inverse() * currentExpectHeadsetRotation"과 같이 표현할 수 있다.Next, a difference in rotation angle (trackerDifference) of the
5. 계산된 트래커(40)의 회전각 차이(trackerDifference)를 근거로 트래커(40)의 회전된 축(Da)을 구한다. 이를 프로그램적으로 표현하면 예를 들어, "trackerDifference.ToAngleAxis(out_, out var trackerRotatedAxis)"와 같이 표현할 수 있다. 여기서, 트래커(40)의 회전된 축(Da)은 외부 센서(40a)의 축을 의미할 수 있다.5. Based on the calculated difference in the rotation angle of the tracker 40 (trackerDifference), the rotation axis Da of the
6. 트래커(40)의 회전된 축(Da)을 선형벡터에서 사원수(quaternion) 회전각으로 변환한다. 이를 프로그램적으로 표현하면 예를 들어, "Quaternion trackerAxisLook = Quaternion.LookRotation(trackerRotatedAxis)"와 같이 표현할 수 있다. 이와 같이 트래커(40)의 회전된 축(Da)을 사원수(quaternion) 체계로 표현하게 되면 트래커(40)가 지표면에 대해서 임의의 축으로 회전하는 것을 나타낼 수 있다.6. Convert the rotated axis Da of the
7. 두 회전축 즉, 단말기(30)의 센서(30a)의 회전축과 트래커(40)의 센서(40a)의 회전축의 각도 차이(axisDifference)를 계산한다. 이를 프로그램적으로 표현하면 예를 들어, "Quaternion axisDifference = trackerAxisLook * headsetAxisLook.Inverse()"와 같이 표현할 수 있다.7. Calculate the angular difference (axisDifference) between the two rotation axes, that is, the rotation axis of the
8. 계산된 두 회전축간의 각도 차이(axisDifference)와 이전의 오프셋(Offset 1)을 근거로 신규 오프셋(newOFFset)을 계산한다. 이를 프로그램적으로 표현하면 예를 들어, "Quaternion newOFFset = Offset * axisDifference"와 같이 표현할 수 있다. 여기서, Offset는 바로 이전에 계산된 오프셋으로서 Offset 1이 될 수 있다.8. Calculate a new offset (newOFFset) based on the calculated angle difference (axisDifference) between the two rotation axes and the previous offset (Offset 1). If this is expressed programmatically, it can be expressed as, for example, "Quaternion newOFFset = Offset * axisDifference". Here, Offset may be Offset 1 as an offset calculated immediately before.
9. 이전의 오프셋(Offset 1)과 신규 오프셋(newOFFset) 및 특정 가중치(addFactor)를 근거로 새롭게 사용할 오프셋(Offset 2)을 계산한다. 예를 들어, 이전의 오프셋(Offset 1)과 신규 오프셋(newOFFset) 및 특정 가중치(addFactor)를 사원수의 선형보간(LERP)에 적용하여 새롭게 사용할 오프셋(Offset 2)을 계산해 낼 수 있다. 이를 프로그램적으로 표현하면 예를 들어, "Offset = Quaternion.Lerp(Offset, newOFFset, addFactor)"와 같이 표현할 수 있다. 여기서, ()안의 Offset은 이전의 오프셋(Offset 1)이 될 수 있고, ()안의 newOFFset은 신규 오프셋(newOFFset)이 될 수 있고, ()안의 addFactor는 특정 가중치가 될 수 있다.9. Based on the previous offset (Offset 1), the new offset (newOFFset), and a specific weight (addFactor), an offset (Offset 2) to be used is calculated. For example, by applying the previous offset (Offset 1), the new offset (newOFFset), and a specific weight (addFactor) to quaternary linear interpolation (LERP), an offset (Offset 2) to be newly used may be calculated. If this is expressed programmatically, for example, "Offset = Quaternion.Lerp(Offset, newOFFset, addFactor)" can be expressed. Here, Offset in () may be the previous offset (Offset 1), newOFFset in () may be a new offset (newOFFset), and addFactor in () may be a specific weight.
새롭게 사용할 오프셋(Offset 2)(즉, 계산식에서 ()밖의 Offset)은 회전으로 인해 생긴 오차라고 볼 수 있으므로, 오프셋(Offset 2)은 센서(30a)와 센서(40a)의 축 동기화에 사용되는 조정값이 될 수 있다. 그리고, 오프셋(Offset 2)을 저장부(64)에 저장한다. 여기서, 오프셋(Offset 2)은 동기화부(63)에서 사용될 것이다. Since the offset (Offset 2) to be newly used (ie, Offset outside ( ) in the calculation formula) can be regarded as an error caused by rotation, the offset (Offset 2) is an adjustment used for axis synchronization of the
10. 후속 계산을 위해, 단말기(30)의 현재 회전각 및 트래커(40)의 현재 회전각을 저장부(64)에 저장한다. 10. For subsequent calculation, the current rotation angle of the terminal 30 and the current rotation angle of the
도 4에서, 동기화부(63)는 오프셋 계산부(62)에서 실시간 또는 주기적으로 계산된 새롭게 사용할 오프셋(Offset 2)을 근거로 두 센서(30a, 40a)의 축을 조정하여 두 센서(30a, 40a)의 축의 회전각을 실시간 또는 주기적으로 동기화시킬 수 있다. 예를 들어, 동기화부(63)는 트래커(40)의 현재 회전각에 오프셋(Offset 2)을 적용하여 두 센서(30a, 40a)의 축의 회전각을 동기화시킬 수 있다. 필요에 따라서, 동기화부(63)는 단말기(30)의 현재 회전각에 오프셋(Offset 2)을 적용하여 두 센서(30a, 40a)의 축의 회전각을 동기화시킬 수 있다. In FIG. 4 , the
저장부(64)는 오프셋 계산부(62)에서 계산과정에서 생성된 각종의 정보를 저장한다. 상술한 바와 같이 저장부(64)에는 새롭게 사용할 오프셋(Offset 2), 단말기(30)의 현재 회전각, 트래커(40)의 현재 회전각 등이 저장될 수 있다.The
제어부(65)는 축 동기화부(60)의 전체적인 동작을 제어한다.The control unit 65 controls the overall operation of the
도 5는 본 발명의 실시예에 따른 축 동기화 기능을 포함한 확장현실 서비스 장치에서의 축 동기화 방법을 개략적으로 설명하기 위한 플로우차트이다. 이하에서 설명되는 축 동기화 기능을 포함한 확장현실 서비스 장치에서의 축 동기화 방법은 서버(50)내의 축 동기화부(60)에서 행해지는 것으로 이해하면 된다.5 is a flowchart schematically illustrating an axis synchronization method in an extended reality service device including an axis synchronization function according to an embodiment of the present invention. It should be understood that the axis synchronization method in the extended reality service device including the axis synchronization function described below is performed by the
먼저, 축 동기화부(60)의 회전정보 수신부(61)는 단말기(30)의 회전 정보(회전값) 및 트래커(40)의 회전 정보(회전값)를 실시간 또는 주기적으로 수신한다(S10).First, the rotation
이어, 축 동기화부(60)의 오프셋 계산부(62)는 수신된 단말기(30)의 회전 정보와 트래커(40)의 회전 정보를 근거로 단말기(30)와 트래커(40)의 센서(30a, 40a)의 회전축의 각도차이를 계산하고, 계산된 각도차이를 근거로 센서(30a)와 센서(40a)의 축 동기화에 사용되는 오프셋(즉, 조정값이라고 할 수 있음)을 계산해 낸다(S20).Next, the offset
그리고 나서, 축 동기화부(60)의 동기화부(63)는 오프셋 계산부(62)에서 실시간 또는 주기적으로 계산된 오프셋(즉, Offset 2)으로 두 센서(30a, 40a)의 축을 조정하여 두 센서(30a, 40a)의 축의 회전각을 실시간 또는 주기적으로 동기화시킨다(S30). 예를 들어, 동기화부(63)는 트래커(40)의 현재 회전각에 오프셋 계산부(62)로부터의 오프셋(Offset 2)을 적용하여 두 센서(30a, 40a)의 축의 회전각을 동기화시킬 수 있다. 필요에 따라서, 동기화부(63)는 단말기(30)의 현재 회전각에 오프셋 계산부(62)로부터의 오프셋(Offset 2)을 적용하여 두 센서(30a, 40a)의 축의 회전각을 동기화시킬 수 있다. Then, the
도 6는 도 5에 도시된 오프셋을 계산하는 단계(S20)를 보다 구체적으로 설명하기 위한 플로우차트이다.FIG. 6 is a flowchart for explaining the step of calculating the offset shown in FIG. 5 ( S20 ) in more detail.
먼저, 오프셋 계산부(62)는 단말기(30)의 이전 회전각과 단말기(30)의 현재 회전각을 근거로 현재 시점에서의 단말기(30)의 회전각 차이(headsetDifference)를 계산한다(S210). First, the offset
이어, 오프셋 계산부(62)는 계산된 단말기(30)의 회전각 차이(headsetDifference)를 근거로 단말기(30)의 회전된 축(Aa)을 구한다(S220).Next, the offset
그리고, 오프셋 계산부(62)는 단말기(30)의 회전된 축(Aa)을 선형벡터에서 사원수(quaternion) 회전각으로 변환한다(S230). 이와 같이 단말기(30)의 회전된 축(Aa)을 사원수(quaternion) 체계로 표현하게 되면 단말기(30)가 지표면에 대해서 임의의 축으로 회전하는 것을 나타낼 수 있다.Then, the offset
한편, 오프셋 계산부(62)는 트래커(40)의 회전각 차이(trackerDifference)를 계산한다(S240). 즉, 오프셋 계산부(62)는 트래커(40)의 이전 회전각과 이전의 오프셋(Offset 1)을 근거로 단말기(30)의 이전 예상 회전각(beforeExpectHeadsetRotation)을 계산한다. 그리고, 오프셋 계산부(62)는 트래커(40)의 현재 회전각과 이전의 오프셋(Offset 1)을 근거로 단말기(30)의 현재 예상 회전각(currentExpectHeadsetRotation)을 계산한다. 이어, 오프셋 계산부(62)는 단말기(30)의 이전 예상 회전각과 단말기의 현재 예상 회전각을 근거로 현재 시점에서의 트래커(40)의 회전각 차이(trackerDifference)를 계산한다.On the other hand, the offset
그리고, 오프셋 계산부(62)는 계산된 트래커(40)의 회전각 차이(trackerDifference)를 근거로 트래커(40)의 회전된 축(Da)을 구한다(S250).Then, the offset
이후, 오프셋 계산부(62)는 트래커(40)의 회전된 축(Da)을 선형벡터에서 사원수(quaternion) 회전각으로 변환한다(S260). 이와 같이 트래커(40)의 회전된 축(Da)을 사원수(quaternion) 체계로 표현하게 되면 트래커(40)가 지표면에 대해서 임의의 축으로 회전하는 것을 나타낼 수 있다.Thereafter, the offset
그리고 나서, 오프셋 계산부(62)는 두 개의 회전축 즉, 단말기(30)의 센서(30a)의 회전축과 트래커(40)의 센서(40a)의 회전축의 각도 차이(axisDifference)를 계산한다(S270).Then, the offset
이후, 오프셋 계산부(62)는 계산된 두 회전축간의 각도 차이(axisDifference)와 이전의 오프셋(Offset 1)을 근거로 신규 오프셋(newOFFset)을 계산한다(S280). Thereafter, the offset
이어, 오프셋 계산부(62)는 이전의 오프셋(Offset 1)와 신규 오프셋(newOFFset) 및 특정 가중치(addFactor)를 근거로 새롭게 사용할 오프셋(Offset 2)을 계산한다(S290). 예를 들어, 오프셋 계산부(62)는 이전의 오프셋(Offset 1)과 신규 오프셋(newOFFset) 및 특정 가중치(addFactor)를 사원수의 선형보간(LERP)에 적용하여 새롭게 사용할 오프셋(Offset 2)을 계산해 낼 수 있다. 여기서, 새롭게 사용할 오프셋(Offset 2)은 회전으로 인해 생긴 오차라고 볼 수 있으며, 조정값이 될 수 있다. Next, the offset
그리고, 오프셋 계산부(62)는 오프셋(Offset 2)을 저장부(64)에 저장함과 더불어 동기화부(63)에게로 전송한다.Then, the offset
또한, 상술한 본 발명의 축 동기화 기능을 포함한 확장현실 서비스 장치의 축 동기화 방법은, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.In addition, the axis synchronization method of the extended reality service device including the axis synchronization function of the present invention described above can be implemented as a computer readable code on a computer readable recording medium. The computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. In addition, the computer-readable recording medium is distributed in a computer system connected to a network, so that the computer-readable code can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the method can be easily inferred by programmers in the art to which the present invention pertains.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, the best embodiment has been disclosed in the drawings and the specification. Although specific terms are used herein, they are used only for the purpose of describing the present invention, and are not used to limit the meaning or scope of the present invention described in the claims. Therefore, it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible therefrom. Accordingly, the true technical protection scope of the present invention should be defined by the technical spirit of the appended claims.
10 : 컨트롤러
20 : HMD
30 : 단말기
40 : 트래커
50 : 서버
60 : 축 동기화부
61 : 회전정보 수신부
62 : 오프셋 계산부
63 : 동기화부
64 : 저장부
65 : 제어부
100 : 클라이언트
200 : 네트워크
30a : 센서(내부 센서)
40a : 센서(외부 센서)10: controller 20: HMD
30: terminal 40: tracker
50: server 60: axis synchronization unit
61: rotation information receiving unit 62: offset calculating unit
63: synchronization unit 64: storage unit
65: control unit 100: client
200:
40a: sensor (external sensor)
Claims (4)
축동기화를 위하여 단말기의 회전각(A)과 트래커의 회전각(B)이 설정된 시간이 흐른뒤, 회전된 회전각을 측정하여 각각의 축의 회전각 차이를 구하여 기록하는 단계;
상기 단말기와 트래커의 각각의 축의 회전각 차이를 누적 기록함과 아울러 단말기의 축과 트래커의 축 사이의 회전각 새로운 회전각차이(Cn)를 구하는 단계;
이전 회전각 차이(C)에 상기 새로운 회전각 차이(Cn)를 반영하여 현재 적용될 오프셋값을 구하여 저장함과 아울러 오프셋값을 단말기의 축정보에 반영하여 축 동기화를 시키는 축동기화단계를 포함하는
확장현실 서비스 장치의 축 동기화 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.A computer readable program is recorded for executing a method in which an extended reality service device that provides extended reality-based content to a client including a terminal and a tracker synchronizes the axes of the first sensor in the terminal and the second sensor in the tracker As a recording medium,
After a set time elapses for the rotation angle (A) of the terminal and the rotation angle (B) of the tracker for shaft synchronization, measuring the rotated rotation angle to obtain and record the difference between the rotation angles of each axis;
Accumulating and recording the difference between the rotation angles of the respective axes of the terminal and the tracker, and obtaining a new rotation angle difference (Cn) between the axis of the terminal and the axis of the tracker;
A shaft synchronization step of reflecting the new rotation angle difference (Cn) to the previous rotation angle difference (C) to obtain an offset value to be currently applied and storing it, and also reflecting the offset value in the axis information of the terminal to synchronize the axis
A computer-readable recording medium in which a program for executing the axis synchronization method of the extended reality service device is recorded.
상기 축의 회전각 차이를 구하여 기록하는 단계는,
단말기의 회전값을 입력받아 단말기의 이전 회전각으로부터 현재 회전각을 계산하고, 이를 기반으로 단말기의 회전된 축을 구하는 단계;
상기 단말기의 회전된 축 정보를 선형벡터에서 축의 회전각 정보로 변환하는 단계;
트래커의 회전값을 입력받아 이전 트래커의 회전각과 현재 트래커의 회전각에 따른 회전차를 계산하고, 이를 기반으로 트래커의 회전된 축을 구하는 단계;
상기 트래커의 회전 축 정보를 선형벡터에서 축의 회전각 정보로 변환하는 단계;
상기 단말기 회전된 축의 회전각과 상기 트래커 회전된 축의 회전각 저장함과 아울러 두 회전 축의 각도 차이를 계산하는 단계;를 포함하는
확장현실 서비스 장치의 축 동기화 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.The method of claim 1,
The step of obtaining and recording the difference in the rotation angle of the shaft comprises:
receiving the rotation value of the terminal, calculating the current rotation angle from the previous rotation angle of the terminal, and obtaining the rotated axis of the terminal based on this;
converting the rotated axis information of the terminal into rotation angle information of the axis from a linear vector;
receiving the rotation value of the tracker, calculating the rotation difference according to the rotation angle of the previous tracker and the rotation angle of the current tracker, and obtaining the rotated axis of the tracker based on this;
converting the rotation axis information of the tracker into rotation angle information of the axis in a linear vector;
Storing the rotation angle of the axis of rotation of the terminal and the rotation angle of the axis of rotation of the tracker as well as calculating the difference in angle between the two rotation axes; including
A computer-readable recording medium in which a program for executing the axis synchronization method of the extended reality service device is recorded.
상기 축동기화 단계는,
상기 두 회전축의 새로운 회전각 차이(Cn)에 특정 가중치를 연산한후, 이전 오프셋값에 반영하여 현재 적용될 새로운 오프셋값을 구하여 저장함과 아울러 새로운 오프셋값을 상기 단말기의 회전각 정보에 적용하여 축 동기화를 시키는
확장현실 서비스 장치의 축 동기화 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.According to claim 1,
The shaft synchronization step is
After calculating a specific weight on the new rotation angle difference (Cn) of the two rotation axes, a new offset value to be applied is calculated and stored by reflecting the previous offset value, and the new offset value is applied to the rotation angle information of the terminal to synchronize the axes. letting
A computer-readable recording medium in which a program for executing the axis synchronization method of the extended reality service device is recorded.
상기 특정 가중치는,
네트워크의 지연 딜레이로 인해 발생하는 데이터 차이를 반영하여 설정되는 가중치인 것을 특징으로 하는
확장현실 서비스 장치의 축 동기화 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.4. The method of claim 3,
The specific weight is
Characterized in that the weight is set by reflecting the data difference generated due to the delay of the network.
A computer-readable recording medium in which a program for executing the axis synchronization method of the extended reality service device is recorded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200092860A KR20220013657A (en) | 2020-07-27 | 2020-07-27 | Recording medium for recording by axis synchronization program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200092860A KR20220013657A (en) | 2020-07-27 | 2020-07-27 | Recording medium for recording by axis synchronization program |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220013657A true KR20220013657A (en) | 2022-02-04 |
Family
ID=80268018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200092860A KR20220013657A (en) | 2020-07-27 | 2020-07-27 | Recording medium for recording by axis synchronization program |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220013657A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100900806B1 (en) | 2007-11-01 | 2009-06-04 | 광주과학기술원 | System and method for providing context-aware augmented reality |
KR100953931B1 (en) | 2008-05-09 | 2010-04-22 | 고려대학교 산학협력단 | System for constructing mixed reality and Method thereof |
KR20190118373A (en) | 2018-04-10 | 2019-10-18 | 주식회사 엠에스게임 | Virtual reality experience system and method |
-
2020
- 2020-07-27 KR KR1020200092860A patent/KR20220013657A/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100900806B1 (en) | 2007-11-01 | 2009-06-04 | 광주과학기술원 | System and method for providing context-aware augmented reality |
KR100953931B1 (en) | 2008-05-09 | 2010-04-22 | 고려대학교 산학협력단 | System for constructing mixed reality and Method thereof |
KR20190118373A (en) | 2018-04-10 | 2019-10-18 | 주식회사 엠에스게임 | Virtual reality experience system and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10905950B2 (en) | Head-mounted display tracking | |
CN110140099B (en) | System and method for tracking controller | |
CN111627116B (en) | Image rendering control method and device and server | |
WO2019221980A1 (en) | Dynamic graphics rendering based on predicted saccade landing point | |
EP3794581A1 (en) | Eye tracking with prediction and late update to gpu for fast foveated rendering in an hmd environment | |
JP2021530814A (en) | Methods and systems for resolving hemispherical ambiguities using position vectors | |
US10937220B2 (en) | Animation streaming for media interaction | |
WO2018225187A1 (en) | Information processing system, information processing device, server device, image presentation method, and image generation method | |
US20180357817A1 (en) | Information processing method, program, and computer | |
RU2751130C1 (en) | Method for coordinate alignment of coordinate systems used by computer-generated reality apparatus and tactile sensation transmission apparatus | |
US10888771B2 (en) | Method and device for object pointing in virtual reality (VR) scene, and VR apparatus | |
KR102503337B1 (en) | Image display method, apparatus and system | |
CN107229055B (en) | Mobile equipment positioning method and mobile equipment positioning device | |
KR20220013657A (en) | Recording medium for recording by axis synchronization program | |
KR20220013655A (en) | Program for axis synchronization of extended reality service device | |
KR20220013652A (en) | Method for axis synchronization of the internal sensor and external sensor of the terminal of the extended reality service device | |
KR20220013649A (en) | Recording media in which the axis synchronization program of the terminal's internal sensor and external sensor is recorded | |
KR20220013647A (en) | Program for axis synchronization of the internal sensor and external sensor of the terminal of the extended reality service device | |
KR20220013645A (en) | Extended reality service apparatus including axis synchronization function | |
KR20220013646A (en) | Method for axis synchronization of the internal sensor and external sensor of the terminal of the extended reality service device | |
KR20220013631A (en) | Extended reality service apparatus including axis synchronization function | |
KR20220013687A (en) | Apparatus for extended reality service including axis alignment verification function and method for verification of axis alignment | |
KR20220013702A (en) | Recording medium for axis alignment verification program of extended reality service device | |
KR20220013695A (en) | Program for verifying the axis alignment of the extended reality service apparatus | |
KR20220013709A (en) | Recording medium for axis alignment verification program of extended reality service device |