KR102511620B1 - Apparatus and method for displaying augmented reality - Google Patents

Apparatus and method for displaying augmented reality Download PDF

Info

Publication number
KR102511620B1
KR102511620B1 KR1020180115310A KR20180115310A KR102511620B1 KR 102511620 B1 KR102511620 B1 KR 102511620B1 KR 1020180115310 A KR1020180115310 A KR 1020180115310A KR 20180115310 A KR20180115310 A KR 20180115310A KR 102511620 B1 KR102511620 B1 KR 102511620B1
Authority
KR
South Korea
Prior art keywords
virtual object
depth image
unit
image
posture
Prior art date
Application number
KR1020180115310A
Other languages
Korean (ko)
Other versions
KR20190034129A (en
Inventor
조익환
정준영
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Publication of KR20190034129A publication Critical patent/KR20190034129A/en
Application granted granted Critical
Publication of KR102511620B1 publication Critical patent/KR102511620B1/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/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

일 실시예에 따른 가상 객체 표시 장치는 객체를 촬영하여서 RGB 영상 및 깊이(depth) 영상을 획득하는 촬영부와, 상기 획득된 RGB 영상을 기초로 상기 촬영부의 자세(pose)를 추정하는 자세 추정부와, 가상 객체에 관한 깊이 정보를 저장하는 가상 객체 정보 저장부와, 상기 획득한 깊이 영상 및 상기 가상 객체 정보를 기초로, 상기 추정된 자세에서 바라본 상기 가상 객체가 상기 객체에 의해 가려지는 부분을 판단하고, 상기 가상 객체에서 상기 가려지는 부분을 제외한 나머지 부분을 렌더링하는 렌더링부를 포함한다.An apparatus for displaying a virtual object according to an exemplary embodiment includes a photographing unit that captures an object and obtains an RGB image and a depth image, and a posture estimation unit that estimates a pose of the photographing unit based on the obtained RGB image. a virtual object information storage unit configured to store depth information about the virtual object; and a portion of the virtual object viewed from the estimated posture that is covered by the object based on the obtained depth image and the virtual object information. and a rendering unit that determines and renders the rest of the virtual object except for the obscured portion.

Description

증강 현실 표시 장치 및 방법 {APPARATUS AND METHOD FOR DISPLAYING AUGMENTED REALITY}Augmented reality display device and method {APPARATUS AND METHOD FOR DISPLAYING AUGMENTED REALITY}

본 발명은 증강 현실 표시 장치 및 방법에 관한 것이다.The present invention relates to an augmented reality display device and method.

증강 현실(augmented reality, AR)은 현실 공간에 가상 객체를 시스루(see-through) 방식으로 표시하는 기술이다. 이러한 증강 현실은 다양한 방면에 사용되고 있다. 예컨대, 게임, 네비게이션 또는 정보를 제공하는 박물관 등에서 증강 현실이 사용되고 있다.Augmented reality (AR) is a technology that displays virtual objects in a real space in a see-through manner. Such augmented reality is used in various fields. For example, augmented reality is used in games, navigation, or museums that provide information.

한편, 증강 현실에서는 가상 객체를 렌더링하여서 현실 공간에 표시한다. 이러한 렌더링에는 주로 GPU와 같은 프로세서가 사용된다. 그런데 렌더링에는 상당한 양의 자원이 소모되는바, 렌더링에 따른 부하를 경감시키기 위한 많은 연구가 이루어지고 있다. 특히, 증강 현실이 스마트폰과 같은 이동 단말 장치에 구현되는 경우에는 렌더링에 따른 부하 경감을 위한 기술이 더욱 요구된다고 할 수 있다.Meanwhile, in augmented reality, a virtual object is rendered and displayed in a real space. A processor such as a GPU is often used for such rendering. However, since rendering consumes a considerable amount of resources, many studies have been conducted to reduce the load associated with rendering. In particular, when augmented reality is implemented in a mobile terminal device such as a smart phone, it can be said that a technique for reducing load according to rendering is further required.

한국 공개특허공부 제2013-0023433호 (2013.04.05)Korea Patent Publication No. 2013-0023433 (2013.04.05)

본 발명의 해결하고자 하는 과제는 가상 객체를 렌더링하는 과정에서 소모되는 자원의 양을 경감시키는 기술을 제공하는 것이다.An object to be solved by the present invention is to provide a technique for reducing the amount of resources consumed in rendering a virtual object.

다만, 본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the problem to be solved by the present invention is not limited to those mentioned above, and another problem to be solved that is not mentioned can be clearly understood by those skilled in the art from the description below. will be.

일 실시예에 따른 가상 객체 표시 장치는 객체를 촬영하여서 RGB 영상 및 깊이(depth) 영상을 획득하는 촬영부와, 상기 획득된 RGB 영상을 기초로 상기 촬영부의 자세(pose)를 추정하는 자세 추정부와, 가상 객체에 관한 깊이 정보를 저장하는 가상 객체 정보 저장부와, 상기 획득한 깊이 영상 및 상기 가상 객체 정보를 기초로, 상기 추정된 자세에서 바라본 상기 가상 객체가 상기 객체에 의해 가려지는 부분을 판단하고, 상기 가상 객체에서 상기 가려지는 부분을 제외한 나머지 부분을 렌더링하는 렌더링부를 포함한다.An apparatus for displaying a virtual object according to an exemplary embodiment includes a photographing unit that captures an object and obtains an RGB image and a depth image, and a posture estimation unit that estimates a pose of the photographing unit based on the obtained RGB image. a virtual object information storage unit configured to store depth information about the virtual object; and a portion of the virtual object viewed from the estimated posture that is covered by the object based on the obtained depth image and the virtual object information. and a rendering unit that determines and renders the rest of the virtual object except for the obscured portion.

일 실시예에 따른 가상 객체 표시 장치에 의해 수행되는 가상 객체 표시 방법은 객체를 촬영하여서 RGB 영상 및 깊이(depth) 영상을 획득하는 단계와, 상기 획득된 RGB 영상을 기초로 상기 촬영부의 자세(pose)를 추정하는 단계와, 상기 획득된 깊이 영상 및 기 저장된 가상 객체에 관한 깊이 정보를 기초로, 상기 추정된 자세에서 바라본 상기 가상 객체가 상기 객체에 의해 가려지는 부분을 판단하는 단계와, 상기 가상 객체에서 상기 가려지는 부분을 제외한 나머지 부분을 렌더링하는 단계를 포함하여 수행된다.A method of displaying a virtual object performed by a virtual object display device according to an embodiment includes the steps of acquiring an RGB image and a depth image by photographing an object, and the pose of the photographing unit based on the obtained RGB image. ), determining a portion of the virtual object viewed from the estimated posture based on the obtained depth image and pre-stored depth information about the virtual object, which is covered by the object; and rendering remaining parts of the object except for the occluded part.

일 실시예에 따르면 가상 객체가 현실 공간에 존재하는 객체에 의해 가려지는 부분을 판단한 뒤, 이렇게 가려지는 부분을 제외한 나머지 부분만이 렌더링된다. 따라서, 렌더링에 소모되는 자원이 경감될 수 있다.According to an embodiment, after determining the portion of the virtual object that is obscured by an object existing in the real space, only the portion other than the obscured portion is rendered. Accordingly, resources consumed in rendering can be reduced.

아울러, 렌더링에 소모되는 자원이 경감될 수 있으므로 가상 객체와 현실 공간에 존재하는 객체 간의 오클루젼(겹침 현상)이 실시간으로 연산되기에 용이하다. 따라서, 현실 공간에 존재하는 객체가 동적으로 움직이는 경우에도 전술한 오클루젼을 반영한 가상 객체의 표시가 실시간으로 구현될 수 있다.In addition, since resources consumed for rendering can be reduced, it is easy to calculate occlusion (overlapping phenomenon) between virtual objects and objects existing in real space in real time. Accordingly, even when an object existing in the real space dynamically moves, the display of the virtual object reflecting the aforementioned occlusion can be implemented in real time.

도 1은 일 실시예에 따른 증강 현실 표시 방법에 따라 가상 객체가 증강되어서 표시된 것을 예시적으로 도시하고 있다
도 2는 일 실시예에 따른 증강 현실 표시 장치의 구성을 예시적으로 도시하고 있다.
도 3은 일 실시예에 따른 증강 현실 표시 방법의 절차에 대해 도시하고 있다.
FIG. 1 exemplarily illustrates that a virtual object is augmented and displayed according to an augmented reality display method according to an exemplary embodiment.
2 exemplarily illustrates a configuration of an augmented reality display device according to an exemplary embodiment.
3 illustrates a procedure of an augmented reality display method according to an embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs. It is provided to completely inform the person who has the scope of the invention, and the present invention is only defined by the scope of the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the embodiment of the present invention, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification.

도 1은 일 실시예에 따른 증강 현실 표시 방법에 따라 가상 객체가 증강되어서 표시된 것을 예시적으로 도시하고 있다. 다만, 도 1은 예시적인 것에 불과하므로, 본 발명의 사상이 도 1에 도시된 것으로 한정 해석되는 것은 아니다.FIG. 1 exemplarily illustrates that a virtual object is augmented and displayed according to an augmented reality display method according to an exemplary embodiment. However, since FIG. 1 is merely illustrative, the spirit of the present invention is not limited to that shown in FIG. 1 .

도 1을 참조하면, 좌측에 있는 그림에서 가상 객체는 현실 공간에 존재하는 어떠한 객체에 의해서도 가려지지 않고 표시된다. 반면, 가운데에 있는 그림에서 가상 객체는 현실 공간에 존재하는 객체(이하에서는 '주변 객체'라고 지칭하기로 함)에 의해 일부가 가려져서 표시된다. 이 때 일 실시예에 따르면 가상 객체 중 주변 객체에 의해 가려지는 부분은 렌더링되지 않고 가려지지 않는 부분만 렌더링되어서 표시된다. 우측에 있는 그림에서 가상 객체는 주변 객체에 의해 가려지지 않고 표시된다.Referring to Figure 1, in the picture on the left, the virtual object is displayed without being covered by any object existing in the real space. On the other hand, in the picture in the middle, the virtual object is partially covered by an object existing in the real space (hereinafter referred to as a 'surrounding object') and displayed. At this time, according to an embodiment, a portion of the virtual object covered by a surrounding object is not rendered, and only a portion not covered is rendered and displayed. In the figure on the right, virtual objects are displayed without being obscured by surrounding objects.

즉, 일 실시예에 따르면 가상 객체는 현실 공간에 존재하는 주변 객체가 자신을 가리는지 가리지 않는지를 반영하여서, 동적으로 내지 실시간으로 렌더링되어 표시될 수 있다.That is, according to an embodiment, the virtual object may be dynamically rendered or displayed in real time by reflecting whether or not surrounding objects existing in the real space cover the virtual object.

도 2는 일 실시예에 따른 증강 현실 표시 장치(100)의 구성을 예시적으로 도시하고 있다. 여기서, 증강 현실 표시 장치(100)는 AR 글래스, HMD(head mounted display) 또는 스마트폰 등으로 구현 가능하며, 다만 이에 한정되는 것은 아니다.2 illustrates a configuration of an augmented reality display device 100 according to an exemplary embodiment. Here, the augmented reality display device 100 can be implemented with AR glasses, a head mounted display (HMD), a smart phone, or the like, but is not limited thereto.

도 2를 참조하면, 증강 현실 표시 장치(100)는 촬영부(110), 자세 추정부(120), 깊이 영상 보간부(130), 가상 객체 정보 저장부(140), 렌더링부(150) 및 표시부(160)를 포함하며, 다만, 증강 현실 표시 장치(100)의 구성이 도 2에 도시된 것으로 한정 해석되는 것은 아니다. 이 중, 자세 추정부(120), 깊이 영상 보간부(130) 및 렌더링부(150)는 마이크로프로세서에 의해 구현 가능하다.Referring to FIG. 2 , the augmented reality display device 100 includes a photographing unit 110, a posture estimation unit 120, a depth image interpolating unit 130, a virtual object information storage unit 140, a rendering unit 150, and It includes the display unit 160, however, the configuration of the augmented reality display device 100 is not limited to that shown in FIG. 2. Among them, the posture estimator 120, the depth image interpolator 130, and the rendering unit 150 can be implemented by a microprocessor.

먼저, 촬영부(110)는 주변 객체를 촬영하는 수단이며, RGB-D 카메라로 구현 가능하다. 촬영된 결과물은 RGB 영상 또는 깊이(depth) 영상을 포함한다. First, the photographing unit 110 is a means for photographing surrounding objects and can be implemented as an RGB-D camera. The photographed result includes an RGB image or a depth image.

자세 추정부(120)는 촬영부(110)의 자세(pose)를 추정한다. 여기서 자세란 현실 공간에서 촬영부(110)가 갖는 이동량(translation) 및 시선 방향(rotation)을 나타낸다.The pose estimation unit 120 estimates the pose of the photographing unit 110 . Here, the posture represents the amount of movement (translation) and gaze direction (rotation) of the photographing unit 110 in real space.

이하에서는 자세 추정부(120)가 촬영부(110)의 자세를 추정하는 과정에 대해 보다 구체적으로 살펴보도록 한다. 자세 추정부(120)는 RGB 영상(촬영부(110)에 의해 획득된 것)을 구성하는 복수 개의 프레임 각각으로부터, 적어도 하나의 특징점(feature point)을 추출한다. 아울러, 자세 추정부(120)는 전술한 복수 개의 프레임을 시간순으로 정렬한다. 그 뒤, 자세 추정부(120)는 어느 하나의 프레임에 포함된 특징점이 인접 정렬된 프레임들에도 포함되어 있는지를 분석한 뒤, 인접해있는 프레임에 걸쳐서 포함되어 있는 특징점에 대해 트래킹(tracking)을 수행한다. 아울러, 트래킹 과정에서, 자세 추정부(120)는 각 프레임에 포함되어 있는 특징점의 크기 또는 형태의 변화 양상까지도 분석한다. 분석 결과, 촬영부(110)의 자세가 추정된다.Hereinafter, a process of estimating the posture of the photographing unit 110 by the posture estimating unit 120 will be described in more detail. The posture estimator 120 extracts at least one feature point from each of a plurality of frames constituting the RGB image (obtained by the photographing unit 110). In addition, the attitude estimation unit 120 arranges the above-described plurality of frames in chronological order. After that, the posture estimator 120 analyzes whether the feature points included in any one frame are also included in adjacently aligned frames, and then tracks the feature points included in adjacent frames. carry out In addition, during the tracking process, the posture estimator 120 even analyzes changes in size or shape of feature points included in each frame. As a result of the analysis, the posture of the photographing unit 110 is estimated.

실시예에 따라 자세 추정부(120)는 촬영부(110)에 의해 촬영된 주변 객체에 대한 깊이 영상을 이용하여서 촬영부(110)의 자세를 추정할 수 있다. 이 경우 자세 추정부(120)는 깊이 영상을 구성하는 복수 개의 프레임 각각에 대해 특징점을 추출한 뒤, 특징점에 대한 트래킹을 인접한 프레임에 걸쳐서 수행함으로써 촬영부(110)의 자세를 추정할 수 있다.According to an embodiment, the posture estimator 120 may estimate the posture of the photographing unit 110 by using a depth image of a surrounding object captured by the photographing unit 110 . In this case, the posture estimator 120 may estimate the posture of the photographing unit 110 by extracting feature points from each of a plurality of frames constituting the depth image and then performing tracking of the feature points over adjacent frames.

깊이 영상 보간부(130)는 촬영부(110)에 의해 획득된 깊이 영상을 보간한다. 일반적으로 깊이 영상을 살펴보면, 홀(hole)이 존재한다. 홀은 현실 공간에서 원거리에 위치해있는 객체의 부분 또는 빛이 반사되는 부분에 깊이값이 없는 것을 지칭한다. 깊이 영상 보간부(130)는 다양한 알고리즘을 이용하여서 이러한 홀을 보간한다. 예컨대, 깊이 영상 보간부(130)는 push-pull 알고리즘을 이용하여서 홀을 보간할 수 있다.The depth image interpolator 130 interpolates the depth image acquired by the photographing unit 110 . In general, looking at a depth image, a hole exists. A hole refers to a part of an object located far away in real space or a part where light is reflected without a depth value. The depth image interpolator 130 interpolates these holes using various algorithms. For example, the depth image interpolator 130 may interpolate a hole using a push-pull algorithm.

가상 객체 정보 저장부(140)는 현실 공간에 증강되어서 표시될 가상 객체에 대한 정보를 저장하며, 메모리 등으로 구현 가능하다. 저장되는 정보의 종류에는 예컨대 가상 객체가 현실 공간에서 표시될 3차원 위치에 대한 정보(깊이 정보 포함)가 포함될 수 있다.The virtual object information storage unit 140 stores information about a virtual object to be augmented and displayed in real space, and can be implemented as a memory or the like. The type of information to be stored may include, for example, information (including depth information) about a 3D location of a virtual object to be displayed in real space.

렌더링부(150)는 현실 공간에 표시될 가상 객체를 렌더링한다. 이 때 렌더링부(150)는 다음과 같은 사항을 고려해서 렌더링할 수 있다.The rendering unit 150 renders virtual objects to be displayed in real space. At this time, the rendering unit 150 may perform rendering in consideration of the following.

첫째, 렌더링부(150)는 촬영부(110)에서 바라본 가상 객체의 형상을 추정하여서 렌더링한다. 이를 위해, 자세 추정부(120)에 의해 추정된 촬영부(110)의 자세가 이용된다. 예컨대, 촬영부(110)가 가상 객체를 정면에서 바라본 경우와 측면에서 바라본 경우 각각에서 가상 객체의 형상은 다르게 보인다. 이에, 렌더링부(150)는 촬영부(110)의 자세를 이용해서, 촬영부(110)에서 바라본 가상 객체의 형상을 추정한 뒤, 이러한 형상에 맞게 렌더링을 수행한다.First, the rendering unit 150 estimates and renders the shape of the virtual object viewed from the photographing unit 110 . To this end, the posture of the photographing unit 110 estimated by the posture estimating unit 120 is used. For example, when the photographing unit 110 views the virtual object from the front and from the side, the shape of the virtual object looks different. Accordingly, the rendering unit 150 estimates the shape of the virtual object viewed from the photographing unit 110 using the posture of the photographing unit 110, and then performs rendering according to this shape.

둘째, 렌더링부(150)는 오클루션(겹침, occlusion)을 고려하여서 가상 객체를 렌더링한다. 보다 구체적으로 살펴보면, 먼저 렌더링부(150)는 촬영부(110)에서 바라본 가상 객체가 현실 공간의 주변 객체에 의해 가려지는지 여부를 판단한다. 일부분이라도 가려지는 부분이 있다면 렌더링부(150)는 이렇게 가려지는 부분은 제외하고 나머지 부분만을 렌더링한다. Second, the rendering unit 150 renders the virtual object in consideration of occlusion (occlusion). Looking more specifically, the rendering unit 150 first determines whether the virtual object viewed from the photographing unit 110 is covered by a surrounding object in a real space. If there is a portion that is partially obscured, the rendering unit 150 excludes the obscured portion and renders only the remaining portion.

즉, 일 실시예에 따르면 가상 객체가 주변 객체에 의해 가려지는 부분을 판단한 뒤, 가려지는 부분을 제외한 나머지 부분만이 렌더링된다. 따라서, 렌더링에 소모되는 자원이 경감될 수 있다.That is, according to an embodiment, after determining the portion of the virtual object that is obscured by the surrounding object, only the portion other than the obscured portion is rendered. Accordingly, resources consumed in rendering can be reduced.

한편, 가상 객체가 주변 객체에 의해 가려지는지 여부는 가상 객체와 주변 객체 간의 깊이 정보를 비교함으로써 판단 가능하다. 예컨대, 가상 객체 정보 저장부(140)로부터 획득된 가상 객체의 깊이 정보를 촬영부(110)에 의해 획득된 주변 개체의 깊이 영상에 나타난 깊이 정보와 비교함으로써 판단 가능하다.Meanwhile, whether the virtual object is occluded by the surrounding object may be determined by comparing depth information between the virtual object and the surrounding object. For example, it may be determined by comparing the depth information of the virtual object obtained from the virtual object information storage unit 140 with the depth information displayed in the depth image of the surrounding object obtained by the photographing unit 110 .

표시부(160)는 렌더링부(150)에 의해 렌더링된 가상 객체를 현실 공간에 시스루 형태로 표시한다. 이러한 표시부(160)는 다양한 디스플레이 장치에 의해 구현 가능하다.The display unit 160 displays the virtual object rendered by the rendering unit 150 in a real space in a see-through form. Such a display unit 160 can be implemented by various display devices.

도 3은 일 실시예에 따른 증강 현실 표시 방법의 절차를 예시적으로 도시하고 있다. 도 3에 도시된 증강 현실 표시 방법은 도 2에 도시된 증강 현실 표시 장치(100)에 의해 수행 가능하다. 아울러, 도 3에 도시된 방법은 예시적인 것에 불과하므로, 증강 현실 표시 방법의 절차가 도 3에 도시된 것으로 한정 해석되지는 않는다.3 illustrates a procedure of an augmented reality display method according to an exemplary embodiment. The augmented reality display method shown in FIG. 3 can be performed by the augmented reality display device 100 shown in FIG. 2 . In addition, since the method shown in FIG. 3 is only exemplary, the procedures of the augmented reality display method are not limited to those shown in FIG. 3 .

도 3을 도 2와 함께 참조하면, 촬영부(110)는 주변 객체를 촬영하여서 RGB 영상 및 깊이 영상을 획득한다(S100).Referring to FIG. 3 together with FIG. 2 , the photographing unit 110 acquires an RGB image and a depth image by photographing a surrounding object (S100).

다음으로, 자세 추정부(120)는 촬영부(110)의 자세를 추정한다(S110). 여기서 자세란 현실 공간에서의 촬영부(110)의 이동량(translation) 및 시선 방향(rotation)을 나타낸다.Next, the posture estimating unit 120 estimates the posture of the photographing unit 110 (S110). Here, the posture indicates a translation amount and a gaze direction (rotation) of the photographing unit 110 in real space.

이하에서는 단계 S110에서 자세 추정부(120)가 촬영부(110)의 자세를 추정하는 과정에 대해 보다 구체적으로 살펴보도록 한다. 자세 추정부(120)는 촬영부(110)에 의해 획득된 RGB 영상을 구성하는 복수 개의 프레임 각각으로부터, 적어도 하나의 특징점(feature point)을 추출한다. 아울러, 자세 추정부(120)는 전술한 복수 개의 프레임을 시간순으로 정렬한다. 그 뒤, 자세 추정부(120)는 어느 하나의 프레임에 포함된 특징점이 인접 정렬된 프레임들에도 포함되어 있는지를 분석한 뒤, 인접해있는 프레임에 걸쳐서 포함되어 있는 특징점에 대해 트래킹(tracking)을 수행한다. 아울러, 트래킹 과정에서, 자세 추정부(120)는 각 프레임에 포함되어 있는 특징점의 크기 또는 형태의 변화 양상까지도 분석한다. 분석 결과, 촬영부(110)의 자세가 추정된다.Hereinafter, a process of estimating the posture of the photographing unit 110 by the posture estimating unit 120 in step S110 will be described in more detail. The posture estimator 120 extracts at least one feature point from each of a plurality of frames constituting the RGB image acquired by the photographing unit 110 . In addition, the attitude estimation unit 120 arranges the above-described plurality of frames in chronological order. After that, the posture estimator 120 analyzes whether the feature points included in any one frame are also included in adjacently aligned frames, and then tracks the feature points included in adjacent frames. carry out In addition, during the tracking process, the posture estimator 120 even analyzes changes in size or shape of feature points included in each frame. As a result of the analysis, the posture of the photographing unit 110 is estimated.

실시예에 따라 자세 추정부(120)는 촬영부(110)에 의해 촬영된 주변 객체에 대한 깊이 영상을 이용하여서 촬영부(110)의 자세를 추정할 수 있다. 이 경우 자세 추정부(120)는 깊이 영상을 구성하는 복수 개의 프레임 각각에 대해 특징점을 추출한 뒤, 특징점에 대한 트래킹을 인접한 프레임에 걸쳐서 수행함으로써 촬영부(110)의 자세를 추정할 수 있다.According to an embodiment, the posture estimator 120 may estimate the posture of the photographing unit 110 by using a depth image of a surrounding object captured by the photographing unit 110 . In this case, the posture estimator 120 may estimate the posture of the photographing unit 110 by extracting feature points from each of a plurality of frames constituting the depth image and then performing tracking of the feature points over adjacent frames.

다음으로, 렌더링부(150)는 촬영부(110)에서 바라본 가상 객체가 현실 공간의 주변 객체에 의해 가려지는지 여부를, 또는 가려지는 부분을 판단한다(S120). 단계 S120에 대해 이하에서 보다 자세하게 살펴보기로 한다.Next, the rendering unit 150 determines whether or not the virtual object viewed from the photographing unit 110 is obscured by a surrounding object in the real space, or an obscured portion (S120). Step S120 will be described in more detail below.

먼저, 촬영부(110)에서 바라본 가상 객체의 형상이 추정된다. 촬영부(110)가 가상 객체를 정면에서 바라본 경우와 측면에서 바라본 경우 각각에서 가상 객체의 형상은 다르게 보이기 때문에, 촬영부(110)에서 바라본 가상 객체의 형상이 추정되어야 한다. 이를 위해, 자세 추정부(120)에 의해 추정된 촬영부(110)의 자세가 이용될 수 있다.First, the shape of the virtual object viewed from the photographing unit 110 is estimated. Since the shape of the virtual object looks different when the photographing unit 110 views the virtual object from the front and from the side, the shape of the virtual object seen from the photographing unit 110 must be estimated. To this end, the posture of the photographing unit 110 estimated by the posture estimating unit 120 may be used.

또한, 깊이 영상 보간부(130)는 촬영부(110)에 의해 획득된 깊이 영상을 보간한다. 일반적으로 깊이 영상을 살펴보면, 홀(hole)이 존재한다. 홀은 현실 공간에서 원거리에 위치해있는 객체의 부분 또는 빛이 반사되는 부분에 깊이값이 없는 것을 지칭한다. 깊이 영상 보간부(130)는 다양한 알고리즘을 이용하여서 이러한 홀을 보간한다. 예컨대, 깊이 영상 보간부(130)는 push-pull 알고리즘을 이용하여서 홀을 보간할 수 있다. 다만, 깊이 영상에 보간되는 과정은 실시예에 따라 수행되지 않을 수도 있다.Also, the depth image interpolator 130 interpolates the depth image acquired by the photographing unit 110 . In general, looking at a depth image, a hole exists. A hole refers to a part of an object located far away in real space or a part where light is reflected without a depth value. The depth image interpolator 130 interpolates these holes using various algorithms. For example, the depth image interpolator 130 may interpolate a hole using a push-pull algorithm. However, a process of interpolating the depth image may not be performed according to embodiments.

다음으로, 렌더링부(150)는 촬영부(110)에서 바라본 가상 객체가 현실 공간의 주변 객체에 의해 가려지는지 여부를, 또는 가려지는 부분을 판단한다. 가상 객체가 주변 객체에 의해 가려지는지 여부 또는 가상 객체 중 어떤 부분이 주변 객체에 의해 가려지는지는, 가상 객체 정보 저장부(140)로부터 획득된 가상 객체의 깊이 정보를 촬영부(110)에 의해 획득된 주변 개체의 깊이 영상에 나타난 깊이 정보와 비교함으로써 판단 가능하다.Next, the rendering unit 150 determines whether or not the virtual object viewed from the photographing unit 110 is obscured by a surrounding object in the real space, or the portion that is obscured. Depth information of the virtual object obtained from the virtual object information storage unit 140 is obtained by the photographing unit 110 to determine whether the virtual object is covered by the surrounding object or which part of the virtual object is covered by the surrounding object. It can be determined by comparing the depth information displayed in the depth image of the surrounding object.

다음으로, 강상 객체 중 일부분이라도 주변 객체에 의해 가려지는 부분이 있다면, 렌더링부(150)는 이렇게 가려지는 부분은 제외하고 나머지 부분만 렌더링한다(S130). Next, if even a portion of the river object is covered by a surrounding object, the rendering unit 150 excludes the portion covered and renders only the remaining portion (S130).

아울러, 표시부(160)는 렌더링부(150)에 의해 렌더링된 가상 객체를 현실 공간에 시스루 형태로 표시한다(S160). 이러한 표시부(160)는 다양한 디스플레이 장치에 의해 구현 가능하다.In addition, the display unit 160 displays the virtual object rendered by the rendering unit 150 in a see-through form in real space (S160). Such a display unit 160 can be implemented by various display devices.

이상에서 살펴본 바와 같이, 일 실시예에 따르면 가상 객체가 주변 객체에 의해 가려지는 부분을 판단한 뒤, 가려지는 부분을 제외한 나머지 부분만이 렌더링된다. 따라서, 렌더링에 소모되는 자원이 경감될 수 있다.As described above, according to an embodiment, after determining a portion of a virtual object that is obscured by a surrounding object, only the portion other than the obscured portion is rendered. Accordingly, resources consumed in rendering can be reduced.

아울러, 렌더링에 소모되는 자원의 경감될 수 있으므로 가상 객체와 주변 객체 간의 오클루젼(겹침 현상)이 실시간으로 연산되기에 용이하다. 따라서, 주변 객체가 동적으로 움직이는 경우에도 전술한 오클루젼을 반영한 가상 객체의 표시가 가능하다.In addition, since resources consumed in rendering can be reduced, it is easy to calculate occlusion (overlapping phenomenon) between virtual objects and surrounding objects in real time. Accordingly, even when a surrounding object dynamically moves, it is possible to display a virtual object reflecting the aforementioned occlusion.

한편, 가상 객체 표시 방법은 해당 방법에 포함된 각 단계를 포함하여 수행하도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 기록매체의 형태 또는 컴퓨터 판독가능한 기록매체에 저장된, 해당 방법에 포함된 각 단계를 포함하여 수행하도록 프로그램된 컴퓨터 프로그램의 형태로 실시될 수도 있다.On the other hand, the virtual object display method includes each step included in the method stored in the form of a computer-readable recording medium storing a computer program programmed to perform including each step included in the method or stored in a computer-readable recording medium. It may be implemented in the form of a computer program programmed to include and perform.

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

일 실시예에 따르면 가상 객체가 주변 객체에 의해 가려지는 부분을 판단한 뒤, 가려지는 부분을 제외한 나머지 부분만이 렌더링된다. 따라서, 렌더링에 소모되는 자원이 경감될 수 있다.According to an embodiment, after determining a portion of the virtual object that is obscured by a surrounding object, only the portion other than the obscured portion is rendered. Accordingly, resources consumed in rendering can be reduced.

100: 가상 객체 표시 장치100: virtual object display device

Claims (7)

객체를 촬영하여서 영상 및 깊이(depth) 영상을 획득하는 촬영부와,
상기 획득된 영상을 기초로 상기 촬영부의 자세(pose)를 추정하는 자세 추정부와,
상기 획득된 깊이 영상에 존재하는 홀(hole)을 보간하는 깊이 영상 보간부와,
가상 객체에 관한 깊이 정보를 저장하는 가상 객체 정보 저장부와,
상기 홀이 보간된 깊이 영상 및 상기 가상 객체의 정보를 기초로, 상기 추정된 자세에서 바라본 상기 가상 객체가 상기 객체에 의해 가려지는 부분을 판단하고, 상기 가상 객체에서 상기 가려지는 부분을 제외한 나머지 부분을 렌더링하는 렌더링부를 포함하되,
상기 렌더링부는,
상기 깊이 영상 보간부에 의해 홀이 보간된 깊이 영상 및 상기 저장된 깊이 정보를 기초로 상기 가상 객체가 상기 주변 객체에 의해 가려지는지 여부를 판단하는
가상 객체 표시 장치.
A photographing unit that acquires an image and a depth image by photographing an object;
a posture estimator for estimating a pose of the photographing unit based on the acquired image;
a depth image interpolator interpolating a hole existing in the acquired depth image;
a virtual object information storage unit that stores depth information about the virtual object;
Based on the depth image from which the hole is interpolated and the information of the virtual object, a portion of the virtual object viewed from the estimated posture is determined to be obscured by the object, and a portion of the virtual object excluding the obscured portion is determined. Including a rendering unit that renders,
The rendering unit,
Determining whether the virtual object is occluded by the surrounding object based on the depth image interpolated by the depth image interpolator and the stored depth information
Virtual object display device.
제 1 항에 있어서,
상기 자세 추정부는,
상기 획득된 영상을 구성하는 복수 개의 프레임 각각으로부터 적어도 하나의 특징점을 추출하고, 상기 복수 개의 프레임을 시간순으로 정렬하며, 상기 복수 개의 프레임 중 어느 하나의 프레임에 포함된 특징점이 상기 어느 하나의 프레임에 인접하는 복수의 프레임들에 포함되어 있는지를 분석하고, 상기 인접하는 복수의 프레임들에 포함되어 있는 특징점에 대해 트래킹을 수행하며, 상기 트래킹을 수행하는 도중에 각각의 프레임에 포함된 특징점의 크기 또는 형태 변화를 분석하여 상기 촬영부의 자세를 추정하는
가상 객체 표시 장치.
According to claim 1,
The posture estimation unit,
At least one feature point is extracted from each of a plurality of frames constituting the obtained image, the plurality of frames are arranged in chronological order, and a feature point included in any one of the plurality of frames is assigned to the one frame. It analyzes whether it is included in a plurality of adjacent frames, performs tracking on the feature points included in the plurality of adjacent frames, and during the tracking, the size or shape of the feature points included in each frame. Analyzing changes to estimate the posture of the photographing unit
Virtual object display device.
제 1 항에 있어서,
상기 렌더링부는,
상기 가상 객체의 상기 깊이 정보를 상기 객체의 깊이 영상에 나타난 깊이 정보와 비교하여 상기 가상 객체가 상기 객체에 의해 가려지는 부분을 판단하는
가상 객체 표시 장치.
According to claim 1,
The rendering unit,
Determining a portion of the virtual object covered by the object by comparing the depth information of the virtual object with depth information displayed in a depth image of the object
Virtual object display device.
제 3 항에 있어서,
상기 깊이 영상 보간부는,
상기 홀을 푸쉬-풀(push-pull) 알고리즘을 기초로 보간하는
가상 객체 표시 장치.
According to claim 3,
The depth image interpolator,
Interpolating the hole based on a push-pull algorithm
Virtual object display device.
가상 객체 표시 장치에 의해 수행되는 가상 객체 표시 방법에 있어서,
객체를 촬영하여서 영상 및 깊이(depth) 영상을 획득하는 단계와,
상기 획득된 영상을 기초로 상기 객체를 촬영하는 촬영부의 자세(pose)를 추정하는 단계와,
상기 획득된 깊이 영상에 존재하는 홀을 보간하는 단계와,
상기 홀이 보간된 깊이 영상 및 기 저장된 가상 객체에 관한 깊이 정보를 기초로, 상기 추정된 자세에서 바라본 상기 가상 객체가 상기 객체에 의해 가려지는 부분을 판단하는 단계와,
상기 가상 객체에서 상기 가려지는 부분을 제외한 나머지 부분을 렌더링하는 단계를 포함하는
가상 객체 표시 방법.
A virtual object display method performed by a virtual object display device,
Acquiring an image and a depth image by photographing the object;
Estimating a pose of a photographing unit that photographs the object based on the obtained image;
Interpolating a hole existing in the obtained depth image;
determining a portion of the virtual object viewed from the estimated posture based on a depth image from which the hole is interpolated and depth information about the previously stored virtual object, which is covered by the object;
Comprising the step of rendering the rest of the virtual object except for the occluded part
How virtual objects are displayed.
제 5 항에 따른 방법에 포함된 각 단계를 포함하여 수행하도록 프로그램된 컴퓨터 판독가능한 기록매체에 포함된 컴퓨터 프로그램.A computer program included in a computer readable recording medium programmed to perform each step included in the method according to claim 5. 제 5 항에 따른 방법에 포함된 각 단계를 포함하여 수행하도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 기록매체.A computer readable recording medium storing a computer program programmed to perform each step included in the method according to claim 5.
KR1020180115310A 2017-09-22 2018-09-27 Apparatus and method for displaying augmented reality KR102511620B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170122734 2017-09-22
KR1020170122734 2017-09-22

Publications (2)

Publication Number Publication Date
KR20190034129A KR20190034129A (en) 2019-04-01
KR102511620B1 true KR102511620B1 (en) 2023-03-21

Family

ID=66104587

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180115310A KR102511620B1 (en) 2017-09-22 2018-09-27 Apparatus and method for displaying augmented reality

Country Status (1)

Country Link
KR (1) KR102511620B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11645756B2 (en) 2019-11-14 2023-05-09 Samsung Electronics Co., Ltd. Image processing apparatus and method
WO2021157804A1 (en) * 2020-02-09 2021-08-12 모션퀸㈜ Augmented reality implementation method and device for performing same
KR102454608B1 (en) * 2022-01-21 2022-10-17 주식회사 삼우이머션 Rendering method of virtual reality environment
KR20240029944A (en) * 2022-08-29 2024-03-07 삼성전자주식회사 An electronic device for calibrating a virtual object using depth information on a real object, and a method for controlling the same

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100656342B1 (en) * 2004-12-16 2006-12-11 한국전자통신연구원 Apparatus for visual interface for presenting multiple mixed stereo image
KR101280392B1 (en) 2011-08-29 2013-07-01 연세대학교 산학협력단 Apparatus for managing map of mobile robot based on slam and method thereof
KR101566198B1 (en) * 2013-06-28 2015-11-05 삼성전자주식회사 Method for moving display of ultrasound diagnostic device, and ultrasound diagnostic apparatus

Also Published As

Publication number Publication date
KR20190034129A (en) 2019-04-01

Similar Documents

Publication Publication Date Title
KR102511620B1 (en) Apparatus and method for displaying augmented reality
US10701332B2 (en) Image processing apparatus, image processing method, image processing system, and storage medium
CN109074681B (en) Information processing apparatus, information processing method, and program
CN105814611B (en) Information processing apparatus and method, and non-volatile computer-readable storage medium
AU2017288933B2 (en) Systems and methods for dynamic occlusion handling
US10082879B2 (en) Head mounted display device and control method
JP6228320B2 (en) Sensor-based camera motion detection for unconstrained SLAM
US9679415B2 (en) Image synthesis method and image synthesis apparatus
EP2175663B1 (en) Image processing apparatus
US20160307374A1 (en) Method and system for providing information associated with a view of a real environment superimposed with a virtual object
KR101227255B1 (en) Marker size based interaction method and augmented reality system for realizing the same
US9361731B2 (en) Method and apparatus for displaying video on 3D map
KR20170031733A (en) Technologies for adjusting a perspective of a captured image for display
WO2015142446A1 (en) Augmented reality lighting with dynamic geometry
JP2015522198A (en) Depth map generation for images
JP6294054B2 (en) Video display device, video presentation method, and program
US10957063B2 (en) Dynamically modifying virtual and augmented reality content to reduce depth conflict between user interface elements and video content
CN111833403B (en) Method and apparatus for spatial localization
US20160180514A1 (en) Image processing method and electronic device thereof
US20120105444A1 (en) Display processing apparatus, display processing method, and display processing program
US20140098246A1 (en) Method, Apparatus and Computer-Readable Recording Medium for Refocusing Photographed Image
US10593054B2 (en) Estimation of 3D point candidates from a location in a single image
US20140321767A1 (en) Image processing device, image processing method, recording medium, and stereoscopic image display device
KR20120082319A (en) Augmented reality apparatus and method of windows form
JP7371623B2 (en) Display control device, program and display control method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant