KR20210078852A - Xr 디바이스 및 그 제어 방법 - Google Patents

Xr 디바이스 및 그 제어 방법 Download PDF

Info

Publication number
KR20210078852A
KR20210078852A KR1020190170741A KR20190170741A KR20210078852A KR 20210078852 A KR20210078852 A KR 20210078852A KR 1020190170741 A KR1020190170741 A KR 1020190170741A KR 20190170741 A KR20190170741 A KR 20190170741A KR 20210078852 A KR20210078852 A KR 20210078852A
Authority
KR
South Korea
Prior art keywords
virtual object
real
real object
virtual
image
Prior art date
Application number
KR1020190170741A
Other languages
English (en)
Inventor
이선혁
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020190170741A priority Critical patent/KR20210078852A/ko
Priority to US16/820,031 priority patent/US20210192856A1/en
Publication of KR20210078852A publication Critical patent/KR20210078852A/ko

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/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/361Reproducing mixed stereoscopic images; Reproducing mixed monoscopic and stereoscopic images, e.g. a stereoscopic image overlay window on a monoscopic image background
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 가상 객체를 현실 세계를 나타내는 카메라의 프리뷰 영상 내에 배치 시, 상기 가상 객체의 일부가 상기 프리뷰 영상 내의 현실 객체의 일부와 겹칠 경우에, 상기 현실 객체와 상기 가상 객체의 깊이를 기초로 상기 가상 객체를 배치할 수 있는 XR 디바이스 및 그 제어 방법에 관한 것이다.

Description

XR 디바이스 및 그 제어 방법{XR DEVICE AND METHOD FOR CONTROLLING THE SAME}
본 발명은 XR 디바이스 및 그 제어 방법에 관한 것으로서, 보다 구체적으로는 5G 통신 기술 분야, 로봇 기술 분야, 자율 주행 기술 분야 및 AI (Artificial Intelligence) 기술 분야에도 모두 적용 가능하다.
VR (Virtual Reality) 기술은 현실 세계의 객체나 배경 등을 CG (Computer Graphic) 영상으로만 제공하고, AR (Augmented Reality) 기술은 실제 사물 영상 위에 가상으로 만들어진 CG 영상을 함께 제공하며, MR (Mixed) 기술은 현실 세계에 가상 객체들을 섞고 결합시켜서 제공하는 컴퓨터 그래픽 기술이다. 전술한 VR, AR, MR 등을 모두 간단히 XR (extended reality) 기술로 지칭하기도 한다.
XR 기술은 HMD(Head-Mount Display), HUD(Head-Up Display), 안경 타입의 AR 글래스, 스마트폰, 태블릿 PC, 랩탑, 데스크탑, TV, 디지털 사이니지 및 AR 프로젝터 등에 적용될 수 있고, XR 기술이 적용된 장치를 XR 디바이스(XR Device)라 칭할 수 있다.
현실과 가상이 공존하게 되면서 가상 현실(Augmented Reality)이 현실화 되고 있다.
일 예로, 조립 제품을 키오스크에 대면 완성된 제품을 보여주기도 하고, 스마트 거울을 통해 실제 옷을 입은 것처럼 다양한 옷과 악세서리를 입고 착용한 것처럼 보여주고 있다.
가전이나 가구를 가상의 객체로 만들어 카메라의 프리뷰 영상 내에 현실 세계의 현실 객체와 배치하기도 한다.
현실 세계를 나타내는 카메라의 프리뷰 영상 내에 가상 객체를 현실 객체와 함께 보여주는 기술이 높아짐에 따라 사람들의 관심도는 더 올라가고 있다. 하지만 가상 객체는 상기 프리뷰 영상 내의 일정 부분에 배치될 뿐, 현실 객체의 뒤에 가려지거나 또는 숨는 동작이 되지 않기 때문에, XR 디바이스와의 거리에 대한 기술이 중요해 지고 있다.
그러나, 현재는 카메라의 프리뷰 영상 내의 현실 객체에 대한 깊이를 알 수 없어서, 상기 프리뷰 영상 내에 가상 객체를 배치할 경우, 상기 가상 객체가 상기 현실 객체보다 뒤에 위치하더라도, 상기 가상 객체가 상기 현실 객체의 안쪽까지 들어온 것처럼 보이거나 또는 상기 가상 객체가 상기 현실 객체보다 앞에 보이게 되는 문제점이 있다.
본 발명의 일 실시예의 목적은, 가상 객체를 현실 세계를 나타내는 카메라의 프리뷰 영상 내에 배치 시, 상기 가상 객체의 일부가 상기 프리뷰 영상 내의 현실 객체의 일부와 겹칠 경우에, 상기 현실 객체와 상기 가상 객체의 깊이를 기초로 상기 가상 객체를 배치할 수 있는 XR 디바이스 및 그 제어 방법을 제공하는데 있다.
다만, 전술한 목적만으로 제한되는 것은 아니며, 본 명세서 전체 내용에 기초하여 당업자가 유추할 수 있는 다른 목적으로 본 발명의 권리범위가 확장될 수 있다.
전술한 목적 등을 달성하기 위한 본 발명의 일 실시예에 의한 XR 디바이스는, 현실 세계의 적어도 하나의 현실 객체를 포함한 영상을 수신하는 카메라와; 상기 영상을 표시하는 디스플레이와; 상기 현실 객체의 깊이 정보를 획득하는 센서와; 상기 영상 내에 적어도 하나의 가상 객체를 배치 시에, 상기 가상 객체의 일부가 상기 현실 객체의 일부에 겹쳐질 경우, 상기 가상 객체의 깊이 정보 및 상기 현실 객체의 깊이 정보를 기초로, 상기 가상 객체 및 상기 현실 객체 중 적어도 하나의 배치를 변경하는 프로세서;를 포함하여 이루어진다.
또한, 본 발명의 일 실시예에 의한 XR 디바이스의 제어 방법은, 카메라를 통해 현실 세계의 적어도 하나의 현실 객체를 포함한 영상을 수신하는 단계와; 상기 영상을 표시하는 단계와; 센서를 통해 상기 현실 객체의 깊이 정보를 획득하는 단계와; 상기 영상 내에 적어도 하나의 가상 객체를 배치 시에, 상기 가상 객체의 일부가 상기 현실 객체의 일부에 겹쳐질 경우, 상기 가상 객체의 깊이 정보 및 상기 현실 객체의 깊이 정보를 기초로, 상기 가상 객체 및 상기 현실 객체 중 적어도 하나의 배치를 변경하는 단계;를 포함하여 이루어진다.
본 발명의 다양한 실시예들 중 일 실시예에 따르면, 현실 세계를 나타내는 카메라의 프리뷰 영상 내에서 현실 객체와 가상 객체의 깊이를 기초로 상기 가상 객체를 배치함에 따라, 사용자는 상기 가상 객체가 상기 현실 객체보다 실질적으로 앞에 위치하는지 또는 뒤에 위치하는지를 직관적으로 알 수 있는 효과를 제공한다.
도 1은 본 발명의 일 실시 예에 따른 AI 장치(1000)를 나타낸다.
도 2는 본 발명의 일 실시 예에 따른 AI 서버(1120)를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 AI 시스템을 나타낸다.
도 4는 본 발명의 실시예들에 의한 XR 디바이스의 블록도를 도시한 도면이다.
도 5는 도 4에 도시된 메모리를 보다 구체적으로 도시한 블록도이다.
도 6은 포인트 클라우트 데이터 처리 시스템을 나타낸다.
도 7은 러닝 프로세서를 포함하는 XR 디바이스(1600)를 나타낸다.
도 8은 도 7에 도시된 본 발명의 XR 디바이스(1600)가 XR 서비스를 제공하는 과정을 나타낸다.
도 9는 XR 디바이스와 로봇의 외관을 도시하고 있다.
도 10은 XR 기술이 탑재된 디바이스를 이용하여, 로봇을 제어하는 과정을 도시한 플로우 차트이다.
도 11은 자율 주행 서비스를 제공하는 차량을 나타낸다.
도 12는 자율 주행 서비스 중 AR/VR 서비스를 제공하는 과정을 나타낸다.
도 13은 본 발명의 일실시예에 의한 XR 디바이스를 HMD 타입으로 구현한 경우를 도시하고 있다.
도 14는 본 발명의 일실시예에 의한 XR 디바이스를 AR 글래스 타입으로 구현한 경우를 도시하고 있다.
도 15는 본 발명의 일실시예에 따른 XR 디바이스의 블록도를 도시한 도면이다.
도 16은 본 발명의 일실시예에 따른 XR 디바이스의 가상 객체 배치 과정을 도시한 플로우 차트이다.
도 17은 본 발명의 일실시예에 따른 현실 객체의 깊이 정보를 설명하기 위한 도면이다.
도 18은 본 발명의 일실시예에 따른 프리뷰 영상 내에서 현실 객체를 인식하여 추출하는 과정을 설명하기 위한 도면이다.
도 19는 본 발명의 일실시예에 따른 가상 객체가 2D 가상 객체 또는 3D 가상 객체일 때의 깊이 정보를 설명하기 위한 도면이다.
도 20은 본 발명의 일실시예 따른 2D 가상 객체가 현실 객체보다 앞에 배치되는 과정을 설명하기 위한 도면이다.
도 21은 본 발명의 일실시예 따른 2D 가상 객체가 현실 객체보다 뒤에 배치되는 과정을 설명하기 위한 도면이다.
도 22는 본 발명의 일실시예 따른 2D 가상 객체가 현실 객체 내부로 관통되어 배치가 불가능한 상황을 설명하기 위한 도면이다.
도 23은 본 발명의 일실시예 따른 2D 가상 객체가 현실 객체 내부로의 관통을 피하기 위해 이동되는 과정을 설명하기 위한 도면이다.
도 24는 본 발명의 일실시예 따른 2D 가상 객체 및 현실 객체가 서로 맞닿는 방향으로 이동을 제한하는 과정을 설명하기 위한 도면이다.
도 25는 본 발명의 일실시예 따른 3D 가상 객체가 현실 객체보다 앞에 배치되는 과정을 설명하기 위한 도면이다.
도 26은 본 발명의 일실시예 따른 3D 가상 객체가 현실 객체보다 뒤에 배치되는 과정을 설명하기 위한 도면이다.
도 27은 본 발명의 일실시예 따른 3D 가상 객체가 현실 객체 내부로 관통되어 배치가 불가능한 상황을 설명하기 위한 도면이다.
도 28은 본 발명의 일실시예 따른 3D 가상 객체가 현실 객체 내부로의 관통을 피하기 위해 이동되는 과정을 설명하기 위한 도면이다.
도 29는 본 발명의 일실시예 따른 3D 가상 객체 및 현실 객체가 서로 맞닿는 방향으로 이동을 제한하는 과정을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명의 하기의 실시예들은 본 발명을 구체화하기 위한 것일 뿐 본 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 본 발명의 상세한 설명 및 실시예들로부터 본 발명이 속하는 기술 분야의 전문가가 용이하게 유추할 수 있는 것은 본 발명의 권리 범위에 속하는 것으로 해석된다.
상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 안되며, 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
<인공 지능(AI: Artificial Intelligence)>
인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
<로봇(Robot)>
로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다.
로봇은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다.
로봇은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 구동부에 휠, 브레이크, 프로펠러 등이 포함되어, 구동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.
<자율 주행(Self-Driving)>
자율 주행은 스스로 주행하는 기술을 의미하며, 자율 주행 차량은 사용자의 조작 없이 또는 사용자의 최소한의 조작으로 주행하는 차량(Vehicle)을 의미한다.
예컨대, 자율 주행에는 주행중인 차선을 유지하는 기술, 어댑티브 크루즈 컨트롤과 같이 속도를 자동으로 조절하는 기술, 정해진 경로를 따라 자동으로 주행하는 기술, 목적지가 설정되면 자동으로 경로를 설정하여 주행하는 기술 등이 모두 포함될 수 있다.
차량은 내연 기관만을 구비하는 차량, 내연 기관과 전기 모터를 함께 구비하는 하이브리드 차량, 그리고 전기 모터만을 구비하는 전기 차량을 모두 포괄하며, 자동차뿐만 아니라 기차, 오토바이 등을 포함할 수 있다.
이때, 자율 주행 차량은 자율 주행 기능을 가진 로봇으로 볼 수 있다.
<확장 현실( XR : eXtended Reality)>
확장 현실은 가상 현실(VR: Virtual Reality), 증강 현실(AR: Augmented Reality), 혼합 현실(MR: Mixed Reality)을 총칭한다. VR 기술은 현실 세계의 객체나 배경 등을 CG 영상으로만 제공하고, AR 기술은 실제 사물 영상 위에 가상으로 만들어진 CG 영상을 함께 제공하며, MR 기술은 현실 세계에 가상 객체들을 섞고 결합시켜서 제공하는 컴퓨터 그래픽 기술이다.
MR 기술은 현실 객체와 가상 객체를 함께 보여준다는 점에서 AR 기술과 유사하다. 그러나, AR 기술에서는 가상 객체가 현실 객체를 보완하는 형태로 사용되는 반면, MR 기술에서는 가상 객체와 현실 객체가 동등한 성격으로 사용된다는 점에서 차이점이 있다.
XR 기술은 HMD(Head-Mount Display), HUD(Head-Up Display), 휴대폰, 태블릿 PC, 랩탑, 데스크탑, TV, 디지털 사이니지 등에 적용될 수 있고, XR 기술이 적용된 장치를 XR 장치(XR Device)라 칭할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 AI 장치(1000)를 나타낸다.
도 1에 도시된 AI 장치(1000)는 TV, 프로젝터, 휴대폰, 스마트폰, 데스크탑 컴퓨터, 노트북, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC, 웨어러블 장치, 셋톱박스(STB), DMB 수신기, 라디오, 세탁기, 냉장고, 데스크탑 컴퓨터, 디지털 사이니지, 로봇, 차량 등과 같은, 고정형 기기 또는 이동 가능한 기기 등으로 구현될 수 있다.
도 1을 참조하면, AI 장치(1000)는 통신부(1010), 입력부(1020), 러닝 프로세서(1030), 센싱부(1040), 출력부(1050), 메모리(1070) 및 프로세서(1080) 등을 포함할 수 있다.
통신부(1010)는 유무선 통신 기술을 이용하여 다른 AI 장치나 AI 서버 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(1010)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(1010)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
입력부(1020)는 다양한 종류의 데이터를 획득할 수 있다. 이때, 입력부(1020)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 카메라나 마이크로폰을 센서로 취급하여, 카메라나 마이크로폰으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부(1020)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(1020)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(1080) 또는 러닝 프로세서(1030)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
러닝 프로세서(1030)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
이때, 러닝 프로세서(1030)는 AI 서버의 러닝 프로세서와 함께 AI 프로세싱을 수행할 수 있다.
이때, 러닝 프로세서(1030)는 AI 장치(1000)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(1030)는 메모리(1070), AI 장치(1000)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센싱부(1040)는 다양한 센서들을 이용하여 AI 장치(1000) 내부 정보, AI 장치(1000)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
이때, 센싱부(1040)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등이 있다.
출력부(1050)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
이때, 출력부(1050)에는 시각 정보를 출력하는 디스플레이부, 청각 정보를 출력하는 스피커, 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.
메모리(1070)는 AI 장치(1000)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(1070)는 입력부(1020)에서 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
프로세서(1080)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, AI 장치(1000)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 프로세서(1080)는 AI 장치(1000)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 프로세서(1080)는 러닝 프로세서(1030) 또는 메모리(1070)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 AI 장치(1000)의 구성 요소들을 제어할 수 있다.
이때, 프로세서(1080)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(1080)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
이때, 프로세서(1080)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(1030)에 의해 학습된 것이나, AI 서버의 러닝 프로세서에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다. 참고로, AI 서버의 구체적인 구성요소들은 이하 도 2에 상세히 도시되어 있다.
프로세서(1080)는 AI 장치(1000)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(1070) 또는 러닝 프로세서(1030)에 저장하거나, AI 서버 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(1080)는 메모리(1070)에 저장된 응용 프로그램을 구동하기 위하여, AI 장치(1000)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(1080)는 상기 응용 프로그램의 구동을 위하여, AI 장치(1000)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
도 2는 본 발명의 일 실시 예에 따른 AI 서버(1120)를 나타낸다.
도 2를 참조하면, AI 서버(1120)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, AI 서버(1120)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, AI 서버(1120)는 AI 장치(1100)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
AI 서버(1120)는 통신부(1121), 메모리(1123), 러닝 프로세서(1124) 및 프로세서(1126) 등을 포함할 수 있다.
통신부(1121)는 AI 장치(1100) 등의 외부 장치와 데이터를 송수신할 수 있다.
메모리(1123)는 모델 저장부(1124)를 포함할 수 있다. 모델 저장부(1124)는 러닝 프로세서(1124)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 1125)을 저장할 수 있다.
러닝 프로세서(1124)는 학습 데이터를 이용하여 인공 신경망(1125)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 AI 서버(1120)에 탑재된 상태에서 이용되거나, AI 장치(1100) 등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(1123)에 저장될 수 있다.
프로세서(1126)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
도 3는 본 발명의 일 실시 예에 따른 AI 시스템을 나타낸다.
도 3를 참조하면, AI 시스템은 AI 서버(1260), 로봇(1210), 자율 주행 차량(1220), XR 장치(1230), 스마트폰(1240) 또는 가전(1250) 중에서 적어도 하나 이상이 클라우드 네트워크(1210)와 연결된다. 여기서, AI 기술이 적용된 로봇(1210), 자율 주행 차량(1220), XR 장치(1230), 스마트폰(1240) 또는 가전(1250) 등을 AI 장치라 칭할 수 있다.
클라우드 네트워크(1210)는 클라우드 컴퓨팅 인프라의 일부를 구성하거나 클라우드 컴퓨팅 인프라 안에 존재하는 네트워크를 의미할 수 있다. 여기서, 클라우드 네트워크(1210)는 3G 네트워크, 4G 또는 LTE(Long Term Evolution) 네트워크 또는 5G 네트워크 등을 이용하여 구성될 수 있다.
즉, AI 시스템을 구성하는 각 장치들(1210 내지 1260)은 클라우드 네트워크(1210)를 통해 서로 연결될 수 있다. 특히, 각 장치들(1210 내지 1260)은 기지국을 통해서 서로 통신할 수도 있지만, 기지국을 통하지 않고 직접 서로 통신할 수도 있다.
AI 서버(1260)는 AI 프로세싱을 수행하는 서버와 빅 데이터에 대한 연산을 수행하는 서버를 포함할 수 있다.
AI 서버(1260)는 AI 시스템을 구성하는 AI 장치들인 로봇(1210), 자율 주행 차량(1220), XR 장치(1230), 스마트폰(1240) 또는 가전(1250) 중에서 적어도 하나 이상과 클라우드 네트워크(1210)을 통하여 연결되고, 연결된 AI 장치들(1210 내지 1250)의 AI 프로세싱을 적어도 일부를 도울 수 있다.
이때, AI 서버(1260)는 AI 장치(1210 내지 1250)를 대신하여 머신 러닝 알고리즘에 따라 인공 신경망을 학습시킬 수 있고, 학습 모델을 직접 저장하거나 AI 장치(1210 내지 1250)에 전송할 수 있다.
이때, AI 서버(1260)는 AI 장치(1210 내지 1250)로부터 입력 데이터를 수신하고, 학습 모델을 이용하여 수신한 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성하여 AI 장치(1210 내지 1250)로 전송할 수 있다.
또는, AI 장치(1210 내지 1250)는 직접 학습 모델을 이용하여 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수도 있다.
이하에서는, 상술한 기술이 적용되는 AI 장치(1210 내지 1250)의 다양한 실시 예들을 설명한다. 여기서, 도 3에 도시된 AI 장치(1210 내지 1250)는 도 1에 도시된 AI 장치(1000)의 구체적인 실시 예로 볼 수 있다.
<AI+ XR >
XR 장치(1230)는 AI 기술이 적용되어, HMD(Head-Mount Display), 차량에 구비된 HUD(Head-Up Display), 텔레비전, 휴대폰, 스마트 폰, 컴퓨터, 웨어러블 디바이스, 가전 기기, 디지털 사이니지, 차량, 고정형 로봇이나 이동형 로봇 등으로 구현될 수도 있다.
XR 장치(1230)는 다양한 센서들을 통해 또는 외부 장치로부터 획득한 3차원 포인트 클라우드 데이터 또는 이미지 데이터를 분석하여 3차원 포인트들에 대한 위치 데이터 및 속성 데이터를 생성함으로써 주변 공간 또는 현실 객체에 대한 정보를 획득하고, 출력할 XR 객체를 렌더링하여 출력할 수 있다. 예컨대, XR 장치(1230)는 인식된 물체에 대한 추가 정보를 포함하는 XR 객체를 해당 인식된 물체에 대응시켜 출력할 수 있다.
XR 장치(1230)는 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, XR 장치(1230)는 학습 모델을 이용하여 3차원 포인트 클라우드 데이터 또는 이미지 데이터에서 현실 객체를 인식할 수 있고, 인식한 현실 객체에 상응하는 정보를 제공할 수 있다. 여기서, 학습 모델은 XR 장치(1230)에서 직접 학습되거나, AI 서버(1260) 등의 외부 장치에서 학습된 것일 수 있다.
이때, XR 장치(1230)는 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(1260) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
<AI+로봇+ XR >
로봇(1210)은 AI 기술 및 XR 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇, 드론 등으로 구현될 수 있다.
XR 기술이 적용된 로봇(1210)은 XR 영상 내에서의 제어/상호작용의 대상이 되는 로봇을 의미할 수 있다. 이 경우, 로봇(1210)은 XR 장치(1230)와 구분되며 서로 연동될 수 있다.
XR 영상 내에서의 제어/상호작용의 대상이 되는 로봇(1210)은 카메라를 포함하는 센서들로부터 센서 정보를 획득하면, 로봇(1210) 또는 XR 장치(1230)는 센서 정보에 기초한 XR 영상을 생성하고, XR 장치(1230)는 생성된 XR 영상을 출력할 수 있다. 그리고, 이러한 로봇(1210)은 XR 장치(1230)를 통해 입력되는 제어 신호 또는 사용자의 상호작용에 기초하여 동작할 수 있다.
예컨대, 사용자는 XR 장치(1230) 등의 외부 장치를 통해 원격으로 연동된 로봇(1210)의 시점에 상응하는 XR 영상을 확인할 수 있고, 상호작용을 통하여 로봇(1210)의 자율 주행 경로를 조정하거나, 동작 또는 주행을 제어하거나, 주변 객체의 정보를 확인할 수 있다.
<AI+자율주행+ XR >
자율 주행 차량(1220)은 AI 기술 및 XR 기술이 적용되어, 이동형 로봇, 차량, 무인 비행체 등으로 구현될 수 있다.
XR 기술이 적용된 자율 주행 차량(1220)은 XR 영상을 제공하는 수단을 구비한 자율 주행 차량이나, XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량 등을 의미할 수 있다. 특히, XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량(1220)은 XR 장치(1230)와 구분되며 서로 연동될 수 있다.
XR 영상을 제공하는 수단을 구비한 자율 주행 차량(1220)은 카메라를 포함하는 센서들로부터 센서 정보를 획득하고, 획득한 센서 정보에 기초하여 생성된 XR 영상을 출력할 수 있다. 예컨대, 자율 주행 차량(1220)은 HUD를 구비하여 XR 영상을 출력함으로써, 탑승자에게 현실 객체 또는 화면 속의 객체에 대응되는 XR 객체를 제공할 수 있다.
이때, XR 객체가 HUD에 출력되는 경우에는 XR 객체의 적어도 일부가 탑승자의 시선이 향하는 실제 객체에 오버랩되도록 출력될 수 있다. 반면, XR 객체가 자율 주행 차량(100b)의 내부에 구비되는 디스플레이에 출력되는 경우에는 XR 객체의 적어도 일부가 화면 속의 객체에 오버랩되도록 출력될 수 있다. 예컨대, 자율 주행 차량(1220)은 차로, 타 차량, 신호등, 교통 표지판, 이륜차, 보행자, 건물 등과 같은 객체와 대응되는 XR 객체들을 출력할 수 있다.
XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량(1220)은 카메라를 포함하는 센서들로부터 센서 정보를 획득하면, 자율 주행 차량(1220) 또는 XR 장치(1230)는 센서 정보에 기초한 XR 영상을 생성하고, XR 장치(1230)는 생성된 XR 영상을 출력할 수 있다. 그리고, 이러한 자율 주행 차량(1220)은 XR 장치(1230) 등의 외부 장치를 통해 입력되는 제어 신호 또는 사용자의 상호작용에 기초하여 동작할 수 있다.
본 발명에 의한 VR (Virtual Reality) 기술, AR (Augmented Reality) 기술, MR (Mixed Reality) 기술은, 다양한 디바이스에 적용 가능하며, 보다 구체적으로 예를 들면 HMD (Head-Mount Display), 차량(vehicle)에 부착된 HUD (Head-Up Display), 휴대폰, 태블릿 PC, 랩탑, 데스크탑, TV, 사이니지 등에 적용된다. 또한, 플렉서블, 롤러블 디스플레이를 장착한 디바이스에도 적용 가능하다.
나아가 전술한 VR 기술, AR 기술, MR 기술은 컴퓨터 그래픽을 기반으로 구현되며 사용자의 시야에 펼쳐지는 영상에서 CG(Computer Graphic) 영상이 차지하는 비율에 따라 구분될 수도 있다.
즉, VR 기술은, 현실 세계의 객체나 배경 등을 CG 영상으로만 제공하는 디스플레이 기술이다. 반면, AR 기술은, 실제 사물 영상 위에 가상으로 만들어진 CG 영상을 함께 보여 주는 기술을 의미한다.
나아가, MR 기술은, 현실세계에 가상 객체들을 섞고 결합시켜서 보여준다는 점에서 전술한 AR 기술과 유사하다. 그러나, AR 기술에서는 현실 객체와 CG 영상으로 만들어진 가상 객체의 구별이 뚜렷하고, 현실 객체를 보완하는 형태로 가상 객체를 사용하는 반면, MR 기술에서는 가상 객체가 현실 객체와 동등한 성격으로 간주된다는 점에서 AR 기술과는 구별이 된다. 보다 구체적으로 예를 들면, 전술한 MR 기술이 적용된 것이 홀로그램 서비스 이다.
다만, 최근에는 VR, AR, MR 기술을 명확히 구별하기 보다는 XR (extended Reality) 기술로 부르기도 한다. 따라서, 본 발명의 실시예들은 VR, AR, MR, XR 기술 모두에 적용 가능하다.
한편, VR, AR, MR, XR 기술에 적용되는 하드웨어(HW) 관련 요소 기술로서, 예를 들어 유/무선 통신 기술, 입력 인터페이스 기술, 출력 인터페이스 기술 및 컴퓨팅 장치 기술 등이 존재한다. 또한, 소프트웨어(SW) 관련 요소 기술로서, 예를 들어 추적 및 정합 기술, 음성 인식 기술, 상호 작용 및 사용자 인터페이스 기술, 위치기반 서비스 기술, 검색 기술, AI (Artificial Intelligence) 기술 등이 존재한다.
특히, 본 발명의 실시예들은, 전술한 HW/SW 관련 요소 기술 등을 이용하여, 다른 디바이스와의 통신 문제, 효율적인 메모리 사용 문제, 불편한 UX/UI로 인한 데이터 처리 속도가 낮아지는 문제, 영상 문제, 음향 문제, 멀미 현상 또는 기타 문제 중 적어도 하나를 해결하고자 한다.
도 4은 본 발명의 실시예들에 의한 XR 디바이스의 블록도를 도시한 도면이다. XR 디바이스는 카메라(1310), 디스플레이(1320), 센서(1330), 프로세서(1340), 메모리(1350) 및 통신 모듈(1360) 등을 포함한다. 물론, 당업자의 필요에 따라 일부 모듈을 삭제, 변경, 추가하는 것도 본 발명의 권리범위에 속한다.
통신 모듈(1360)은 외부 장치 또는 서버와 유선/무선으로 통신을 수행하며, 근거리 무선 통신으로 예를 들어 Wi-Fi, 블루투스 등이 사용될 수 있고, 원거리 무선 통신으로 예를 들어 3GPP 통신 규격이 사용될 수 있다. LTE는 3GPP TS 36.xxx Release 8 이후의 기술을 의미한다. 세부적으로, 3GPP TS 36.xxx Release 10 이후의 LTE 기술은 LTE-A로 지칭되고, 3GPP TS 36.xxx Release 13 이후의 LTE 기술은 LTE-A pro로 지칭된다. 3GPP 5G (5th generation) 기술은 TS 36.xxx Release 15 이후의 기술 및 TS 38.XXX Release 15 이후의 기술을 의미하며, 이 중 TS 38.xxx Release 15 이후의 기술은 3GPP NR로 지칭되고, TS 36.xxx Release 15 이후의 기술은 enhanced LTE로 지칭될 수 있다. "xxx"는 표준 문서 세부 번호를 의미한다. LTE/NR은 3GPP 시스템으로 통칭될 수 있다.
카메라(1310)는 XR 디바이스(1300) 주변 환경을 촬영하여 전기적 신호로 변환할 수 있다. 카메라(1310)에서 촬영되어 전기적 신호로 변환된 이미지는 메모리(1350)에 저장된 후 프로세서(1340)를 통해 디스플레이(1320)에서 디스플레이 될 수 있다. 또한, 상기 이미지는 상기 메모리(1350)에 저장 없이, 바로 프로세서(1340)를 이용하여 디스플레이(1320)를 통해 디스플레이 될 수 있다. 또한, 카메라(110)는 화각을 가질 수 있다. 이 때, 화각은 예를 들어 카메라(1310) 주변에 위치하는 리얼 오브젝트를 디텍트할 수 있는 영역을 의미한다. 카메라(1310)는 화각내에 위치하는 리얼 오브젝트만을 디텍트할 수 있다. 리얼 오브젝트가 카메라(1310)의 화각 내에 위치하는 경우, XR 디바이스(1300)는 리얼 오브젝트에 대응하는 증강 현실 오브젝트를 디스플레이 할 수 있다. 또한, 카메라(1310)는 카메라(1310)와 리얼 오브젝트의 각도를 디텍트할 수 있다.
센서(1330)는 적어도 하나의 센서를 포함할 수 있으며, 예를 들어, 중력(gravity) 센서, 지자기 센서, 모션 센서, 자이로 센서, 가속도 센서, 기울임(inclination) 센서, 밝기 센서, 고도 센서, 후각 센서, 온도 센서, 뎁스 센서, 압력 센서, 벤딩 센서, 오디오 센서, 비디오 센서, GPS(Global Positioning System) 센서, 터치 센서 등의 센싱 수단을 포함한다. 나아가, 디스플레이(1320)는 고정형일 수도 있으나, 높은 플렉시빌러티(flexibility)를 갖도록 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diode), ELD(Electro Luminescent Display), M-LED(Micro LED)로 구현 가능하다. 이 때, 상기 센서(1330)는 전술한 LCD, OLED, ELD, M-LED (마이크로 LED) 등으로 구현된 디스플레이(1320)의 휘어짐, 벤딩(Bending) 정도를 디텍트 하도록 설계한다.
그리고, 메모리(1350)는 카메라(1310)에 의해 촬영된 이미지를 저장하는 기능을 가지고 있을 뿐만 아니라, 외부 장치 또는 서버와 유선/무선으로 통신을 수행한 결과값의 전부 또는 일부를 저장하는 기능을 가지고 있다. 특히, 통신 데이터 트래픽이 증가하는 추세(예를 들어, 5G 통신 환경에서)를 고려할 때, 효율적인 메모리 관리가 요구된다. 이와 관련하여, 이하 도 5에서 상세히 후술하도록 하겠다.
도 5는 도 4에 도시된 메모리(1350)를 보다 구체적으로 도시한 블록도이다. 이하, 도 5를 참조하여, 본 발명의 일실시예에 따라 램 및 플래쉬 메모리 간의 스왑 아웃(swap out) 과정을 설명하도록 하겠다.
제어부(1430)는 램(1410) 내의 AR/VR 관련 페이지 데이터들을 플래시 메모리(1420)로 스왑 아웃할 때에, 스왑 아웃할 AR/VR 관련 페이지 데이터들 중에서 서로 내용이 동일한 둘 이상의 AR/VR 관련 페이지 데이터들에 대해서는 오직 하나만을 플래시 메모리(1420)로 스왑 아웃할 수 있다.
즉, 제어부(1430)는 상기 스왑 아웃할 AR/VR 관련 페이지 데이터들의 내용을 각각 구별하는 구별값(예를 들어, 해쉬 함수)들을 계산하고, 상기 계산된 구별값들 중 서로 동일한 구별값을 가지는 둘 이상의 AR/VR 페이지 데이터들의 내용이 서로 동일한 것으로 판단할 수 있다. 따라서, 불필요한 AR/VR 관련 페이지 데이터들이 플래쉬 메모리(1420)에 저장되어, 상기 플래쉬 메모리(1420) 뿐만 아니라 이를 포함하는 AR/VR 디바이스의 수명이 단축되는 문제점을 해결할 수가 있다.
상기 제어부(1430)의 동작은 소프트웨어 형태로 구현할 수도 있고, 또는 하드웨어 형태로 구현하는 것도 본 발명의 권리범위에 속한다. 나아가, 보다 구체적으로 도 5에 도시된 메모리 등은, HMD (Head-Mount Display), 차량(vehicle), 휴대폰, 태블릿 PC, 랩탑, 데스크탑, TV, 사이니지 등에 포함되어, 스왑 기능을 수행한다.
한편, 본 발명의 실시예들에 따른 디바이스는 3차원 포인트 클라우드 데이터를 처리하여VR, AR, MR, XR 및 자율 주행 서비스 등 다양한 서비스를 사용자에게 제공할 수 있다.
3차원 포인트 클라우드 데이터를 수집하는 센서는 예를 들어, LiDAR (light detection and ranging), RGB-D(Red Green Blue Depth), 3D 레이저 스캐너(Laser Scanner) 등이 될 수 있으며, 상기 센서는 HMD (Head-Mount Display), 차량(vehicle), 휴대폰, 태블릿 PC, 랩탑, 데스크탑, TV, 사이니지 등의 내부 또는 외부에 장착 가능하다.
도 6은 포인트 클라우트 데이터 처리 시스템을 나타낸다.
도 6에 도시된 포인트 클라우드 처리 시스템(1500)은 포인트 클라우드 데이터를 획득하여 인코딩 처리하여 전송하는 전송 디바이스 및 비디오 데이터를 수신하여 디코딩 처리하여 포인트 클라우드 데이터를 획득하는 수신 디바이스를 포함한다. 도 6에 도시된 바와 같이 본 발명의 실시예들에 따른 포인트 클라우드 데이터는 포인트 클라우드 데이터의 캡처, 합성 또는 생성 과정 등을 통하여 획득될 수 있다(S1510). 획득 과정에서 포인트들에 대한 3D 위치(x, y, z)/속성 (color, reflectance, transparency 등) 데이터 (예를 들어, PLY(Polygon File format or the Stanford Triangle format) 파일 등)이 생성될 수 있다. 여러 개의 프레임을 갖는 비디오의 경우 하나 이상의 파일들이 획득될 수 있다. 캡처 과정에서 포인트 클라우드 데이터 관련 메타데이터 (예를 들어 캡처와 관련된 메타데이터 등)가 생성될 수 있다. 본 발명의 실시예들에 따른 전송 디바이스 또는 인코더는Video-based Point Cloud Compression (V-PCC) 또는 Geometry-based Point Cloud Compression (G-PCC) 방식을 이용하여 포인트 클라우드 데이터를 인코딩하여 하나 또는 그 이상의 비디오 스트림들을 출력할 수 있다(S1520). V-PCC는 HEVC, VVC 등의 2D 비디오 코덱 (video codec)을 기반으로 포인트 클라우드 데이터를 압축하는 방법이고, G-PCC는 포인트 클라우드 데이터를 지오메트리 (geometry) 및 어트리뷰트(attribute) 두 가지 스트림으로 나누어 인코딩하는 방법이다. 지오메트리 스트림은 포인트들의 위치 정보를 재구성하고 인코딩하여 생성될 수 있으머, 어트리뷰트 스트림은 각 포인트와 연관된 속성 정보 (예를 들면 색상 등)를 재구성하고 인코딩하여 생성될 수 있다. V-PCC의 경우, 2D 비디오와 호환 가능하나, V-PCC 처리된 데이터를 복구하는데 G-PCC 대비 더 많은 데이터(예를 들면, 지오메트리 비디오, 어트리뷰트(attribute) 비디오, 어큐판시(occupancy) 맵 비디오 및 부가 정보(auxiliary information))가 필요하여 서비스 제공 시 더 긴 지연시간이 발생할 수 있다. 출력된 하나 또는 그 이상의 비트 스트림들은 관련 메타데이터와 함께 파일 등의 형태 (예를 들면 ISOBMFF 등의 파일 포맷 등)로 인캡슐레이션되어 네트워크 또는 디지털 저장매체를 통해 전송될 수 있다(S1530).
본 발명의 실시예들에 따른 디바이스 또는 프로세서는 수신한 비디오 데이터를 디캡슐레이션 처리하여 하나 또는 그 이상의 비트 스트림들을 및 관련 메타 데이터를 획득하고, 획득한 비트 스트림들을 V-PCC 또는 G-PCC 방식으로 디코딩하여 3차원의 포인트 클라우드 데이터를 복원할 수 있다(S1540). 렌더러는 디코딩된 포인트 클라우드 데이터를 렌더링하고 디스플레이부를 통해 사용자에게 VR/AR/MR/ 서비스에 맞는 콘텐트를 제공할 수 있다(S1550).
도 6에 도시된 바와 같이, 본 발명의 실시예들에 따른 디바이스 또는 프로세서는 렌더링/디스플레이 과정에서 획득한 다양한 피드백 정보들을 송신 디바이스로 전달하거나, 디코딩 과정에 전달하는 피드백 프로세스를 수행할 수 있다(S1560). 본 발명의 실시예들에 따른 피드백 정보는 헤드 오리엔테이션(Head Orientation) 정보, 사용자가 현재 보고 있는 영역을 나타내는 뷰포트(Viewport) 정보 등을 포함할 수 있다. 피드백 프로세스를 통해 사용자와 서비스 (또는 콘텐트) 프로바이더 간의 상호작용이 이루어지므로, 본 발명의 실시예들에 따른 디바이스는 보다 높은 사용자 편의가 고려된 다양한 서비스들을 제공할 수 있을 뿐만 아니라, 전술한 V-PCC 또는 G-PCC 방식을 이용하여 보다 빠른 데이터 처리 속도를 제공하거나 선명한 비디오 구성이 가능한 기술적 효과가 있다.
도 7은 러닝 프로세서를 포함하는 XR 디바이스(1600)를 나타낸다. 이전 도 4와 대비하여, 러닝 프로세서(1670)만 추가되었으므로, 다른 구성요소들은 도 4를 참조하여 해석 가능하므로 중복되는 설명은 생략한다.
도 7에 도시된 XR 디바이스(160)는 학습모델을 탑재할 수 있다. 학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(1650)에 저장될 수 있다.
본 발명의 실시예들에 따른 러닝 프로세서(1670)는 프로세서(1640)와 통신 가능하도록 연결될 수 있으며, 훈련 데이터를 이용하여 인공 신경망으로 구성된 모델을 반복적으로 학습시킬 수 있다. 인공신경망은 생물학적 뉴런의 동작원리와 뉴런간의 연결 관계를 모델링한 것으로 노드(node) 또는 처리 요소(processing element)라고 하는 다수의 뉴런들이 레이어(layer) 구조의 형태로 연결된 정보처리 시스템이다. 인공 신경망은 기계 학습에서 사용되는 모델로써, 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘이다. 기계 학습은 머신 러닝(Machine Learning)과 혼용되어 사용될 수 있다. 머신 러닝은 인공지능(Artificial Intelligence, AI)의 한 분야로, 컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 기술이다. 머신 러닝은 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이다. 따라서 본 발명의 실시예들에 따른 러닝 프로세서(1670)는 인공 신경망을 반복 학습시킴으로서, 인공 신경망의 최적화된 모델 파라미터들을 결정하여 새로운 입력 데이터에 대하여 결과 값을 추론할 수 있다. 따라서 러닝 프로세서(1670)는 사용자의 디바이스 사용 히스토리 정보를 기반으로 사용자의 디바이스 사용 패턴을 분석할 수 있다. 또한, 러닝 프로세서(1670)는 데이터 마이닝, 데이터 분석, 지능형 의사 결정, 및 기계 학습 알고리즘 및 기술을 위해 이용될 정보를 수신, 분류, 저장 및 출력하도록 구성될 수 있다.
본 발명의 실시예들에 따른 프로세서(1640)는 러닝 프로세서(1670)에서 분석되거나 생성된 데이터를 기반으로 디바이스의 적어도 하나의 실행 가능한 동작을 결정 또는 예측할 수 있다. 또한 프로세서(1640)는 러닝 프로세서(1670)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 XR 디바이스(1600)를 제어할 수 있다. 본 발명의 실시예들에 따른 프로세서(1640)는 지능적 에뮬레이션(즉, 지식 기반 시스템, 추론 시스템 및 지식 획득 시스템)을 구현하는 다양한 기능을 수행 할 수 있다. 이는 적응 시스템, 기계 학습 시스템, 인공 신경망 등을 포함하는, 다양한 유형의 시스템(예컨대, 퍼지 논리 시스템)에 적용될 수 있다. 즉, 프로세서(1640)는 러닝 프로세서(1670)에서 사용자의 디바이스 사용 패턴을 분석한 데이터를 기반으로 추후 사용자 디바이스 사용 패턴을 예측하여 XR 디바이스(1600)는 사용자에게 보다 적합한 XR 서비스를 제공할 수 있도록 제어할 수 있다. 여기서의, XR 서비스는 AR 서비스, VR 서비스, MR 서비스 중 적어도 하나 이상을 포함한다.
도 8은 도 7에 도시된 본 발명의 XR 디바이스(1600)가 XR 서비스를 제공하는 과정을 나타낸다.
본 발명의 실시예들에 따른 프로세서(1670)는 사용자의 디바이스 사용 히스토리 정보를 메모리(1650)에 저장할 수 있다(S1710). 디바이스 사용 히스토리 정보는 사용자에게 제공된 콘텐트 이름, 카테고리, 내용 등의 정보, 디바이스가 사용된 시간 정보, 사용자가 디바이스를 사용한 장소 정보, 시간 정보, 디바이스에 설치된 어플리케이션 사용 정보 등을 포함할 수 있다.
본 발명의 실시예들에 따른 러닝 프로세서(1670)는 디바이스 사용 히스토리 정보를 분석하여 사용자의 디바이스 사용 패턴 정보를 획득할 수 있다(S1720). 예를 들어 XR 디바이스(1600)가 사용자에게 특정 콘텐트 A를 제공한 경우, 러닝 프로세서(1670)는 콘텐트 A에 대한 구체적인 정보 (예를 들면, 콘텐트 A를 주로 사용하는 사용자들의 관한 나이 정보, 콘텐트 A의 내용 정보, 콘텐트 A와 유사한 콘텐트 정보 등), 해당 단말기를 사용하는 사용자가 특정 콘텐트 A를 소비한 시간, 장소, 횟수 등의 정보를 총 종합하여, 사용자가 콘텐트 A를 해당 디바이스에서 사용하는 패턴 정보를 학습할 수 있다.
본 발명의 실시예들에 따른 프로세서(1640)는 러닝 프로세서(16470)에서 학습한 정보를 기반으로 생성된 사용자 디바이스 패턴 정보를 획득하고, 디바이스 사용 패턴 예측 정보를 생성할 수 있다(S1730). 또한 프로세서(1640)는 예를 들어, 사용자가 디바이스(1640)를 사용하지 않는 경우 사용자가 디바이스(1640)를 자주 사용했던 장소에 있다고 판단되거나, 사용자가 디바이스(1640)를 주로 사용하는 시간에 가까운 경우, 프로세서(1640)는 디바이스(1600)가 동작하도록 지시할 수 있다. 이 경우, 본 발명의 실시예들에 따른 디바이스는 사용자 패턴 예측 정보에 기반하여 AR 콘텐트를 제공할 수 있다(S1740).
또한 사용자가 디바이스(1600)를 사용하는 경우, 프로세서(1640)는 현재 사용자에게 제공되고 있는 콘텐트의 정보를 파악하고, 해당 콘텐트와 관련된 사용자의 디바이스 사용 패턴 예측 정보(예를 들면 사용자가 다른 관련 콘텐트를 요청하거나 현재 콘텐트와 관련된 추가 데이터를 요청하는 경우 등)를 생성할 수 있다. 또한 프로세서(1640)는 디바이스(1600)의 동작을 지시하여 사용자 패턴 예측 정보에 기반하여 AR 콘텐트를 제공할 수 있다(S1740). 본 발명의 실시예들에 따른 AR 콘텐트는 광고, 네비게이션 정보, 위험 정보 등을 포함할 수 있다.
도 9는 XR 디바이스와 로봇의 외관을 도시하고 있다.
본 발명의 일실시예에 의한 XR 기술이 탑재된 디바이스(18000)의 구성 모듈에 대해서는 이전 도면들에서 상세히 설명한 바 중복되는 설명은 생략한다.
도 9에 도시된 로봇(1810)의 외관은 예시에 불과하며, 다양한 외관으로 본 발명의 로봇을 구현할 수 있다. 예를 들어, 도 9에 도시된 로봇(1810)은, 드론, 청소기, 요리 로봇, 웨어러블 로봇 등이 될 수 있으며, 특히, 각각의 구성요소는 로봇의 형상에 따라 상하좌우 전후 등에서 다른 위치에 배치될 수 있다.
로봇은 외부의 물체를 식별하기 위한 다양한 센서들을 로봇(1810)의 외부에 다수 배치할 수 있다. 또한 로봇은 사용자에게 소정의 정보를 제공하기 위해 인터페이스부(1811)를 로봇(1810)의 상부 또는 후면(1812)에 배치하였다.
로봇의 이동과 주변의 사물을 감지하여 로봇을 제어하기 위해 로봇제어모듈(1850)이 로봇(1810) 내부에 탑재된다. 로봇제어모듈(1850)은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩 등으로 구현 가능하다. 로봇제어모듈(1850)은 세부적으로 딥러닝부(1851), 센싱정보처리부(1852), 이동경로생성부(1853), 통신 모듈(1854) 등을 더 포함할 수 있다.
센싱정보처리부(1852)는 로봇(1810)에 배치된 다양한 종류의 센서들(라이다 센서, 적외선 센서, 초음파 센서, 뎁스 센서, 이미지 센서, 마이크 등)이 센싱한 정보를 취합 및 처리한다.
딥러닝부(1851)는 센싱정보처리부(1852)가 처리한 정보 또는 로봇(1810)이 이동 과정에서 누적 저장한 정보 등을 입력하여 로봇(1810)이 외부 상황을 판단하거나, 정보를 처리하거나, 이동 경로를 생성하는데 필요한 결과물을 출력할 수 있다.
이동경로생성부(1853)는 딥러닝부(1851)가 산출한 데이터 또는 센싱정보처리부(1852)에서 처리한 데이터를 이용하여 로봇의 이동 경로를 산출할 수 있다.
다만, XR 기술이 탑재된 디바이스(1800) 및 로봇(1810)은 모두 통신 모듈을 가지고 있으므로, Wi-Fi, 블루투스 등의 근거리 무선 통신이나 5G 원거리 무선 통신 등을 통하여, 데이터를 송수신 하는 것이 가능하다. XR 기술이 탑재된 디바이스(1800)를 이용하여, 로봇(1810)을 제어하는 기술에 대해서는, 이하 도 10에서 후술하도록 한다.
도 10은 XR 기술이 탑재된 디바이스를 이용하여, 로봇을 제어하는 과정을 도시한 플로우 차트이다.
우선, XR 기술이 탑재된 디바이스 및 로봇은 5G 네트워크로 통신 연결된다(S1901). 물론, 다른 근거리, 원거리 통신 기술을 통해 서로 데이터를 송수신하는 것도 본 발명의 권리범위에 속한다.
로봇은 내외부에 설치된 적어도 하나의 카메라를 이용하여 로봇 주변의 이미지 또는 영상을 캡쳐하고(S1902), 캡쳐된 이미지/영상을 XR 디바이스로 전송한다(S1903). XR 디바이스는 캡쳐된 이미지/영상을 디스플레이 하고(S1904), 로봇을 제어하기 위한 커맨드를 로봇에 전송한다(S1905). 상기 커맨드는 XR 디바이스의 유저에 의해 수동으로 입력될 수도 있고, 또는 AI (Artificial Intelligent) 기술을 통해 자동으로 생성되는 것도 본 발명의 권리범위에 속한다.
로봇은 상기 S405 단계에서 수신한 커맨드에 따라 해당 기능을 실행하고(S1906), 결과값을 XR 디바이스에 전송한다(S1907). 상기 결과값은, 통상의 데이터 처리 성공/실패 여부에 대한 인디케이터, 현재 촬영된 이미지/영상 또는 XR 디바이스를 고려한 특정 데이터가 될 수도 있다. 상기 특정 데이터라 함은, 예를 들어 XR 디바이스의 상태에 따라 변경되도록 설계한다. 만약, XR 디바이스의 디스플레이가 off 상태인 경우, XR 디바이스의 디스플레이를 ON 시키는 커맨드를 S1907 단계에 포함시킨다. 따라서, 로봇 주변에 위급한 상황 발생시, 원격에 있는 XR 디바이스의 디스플레이가 꺼져 있어도, 알림 메시지가 전달될 수 있는 기술적 효과가 있다.
그리고, 상기 S1907 단계에서 수신한 결과값에 따라, AR/VR 관련 컨텐츠가 디스플레이 된다(S1908).
추가적으로 본 발명의 다른 일실시예에 의하면, 로봇에 부착된 GPS 모듈을 이용하여, XR 디바이스에서 로봇의 위치 정보를 디스플레이 하는 것도 가능하다.
도 14에서 설명한 XR 디바이스(1300)는 자율 주행 서비스를 제공하는 차량과 유/무선 통신이 가능하도록 연결되거나, 자율 주행 서비스를 제공하는 차량에 탑재될 수 있다. 따라서 자율 주행 서비스를 제공하는 차량에서도 AR/VR를 포함한 다양한 서비스를 제공할 수 있다.
도 11은 자율 주행 서비스를 제공하는 차량을 나타낸다.
본 발명의 실시예들에 따른 차량(2010)은 도로나 선로 위를 주행하는 수송 수단으로 자동차, 기차, 오토바이를 포함할 수 있다. 본 발명의 실시예들에 따른 차량(2010)은 동력원으로서 엔진을 구비하는 내연기관 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량등을 모두 포함할 수 있다.
본 발명의 실시예들에 따른 차량(2010)은 차량의 동작을 제어하기 위해 다음의 구성요소들을 포함할 수 있다: 사용자 인터페이스 장치, 오브젝트 검출 장치, 통신 장치, 운전 조작 장치, 메인 ECU, 구동 제어 장치, 자율 주행 장치(260), 센싱부 및 위치 데이터 생성 장치;
오브젝트 검출 장치, 통신 장치, 운전 조작 장치, 메인 ECU, 구동 제어 장치, 자율 주행 장치, 센싱부 및 위치 데이터 생성 장치는 각각 전기적 신호를 생성하고, 상호간에 전기적 신호를 교환하는 전자 장치로 구현될 수 있다.
사용자 인터페이스 장치는 사용자 입력을 수신하고, 사용자에게 차량(2010)에서 생성된 정보를 UI(User Interface) 또는 UX(User Experience)의 형식으로 제공할 수 있다. 사용자 인터페이스 장치는 입/출력 장치 및 사용자 모니터링 장치를 포함할 수 있다. 오브젝트 검출 장치는 차량(2010) 외부의 오브젝트의 존재유무를 검출하고, 오브젝트에 대한 정보를 생성할 수 있다. 상기 오브젝트 검출 장치는, 예를 들어 카메라, 라이다, 적외선 센서 및 초음파 센서 중 적어도 하나를 포함할 수 있다. 카메라는 영상을 기반으로 차량(2010) 외부의 오브젝트 정보를 생성할 수 있다. 카메라는 하나 또는 그 이상의 렌즈들, 하나 또는 그 이상의 이미지 센서들 및 오브젝트 정보를 생성하기 위한 하나 또는 그 이상의 프로세서들을 포함할 수 있다. 카메라는 다양한 영상 처리 알고리즘을 이용하여, 오브젝트의 위치 정보, 오브젝트와의 거리 정보 또는 오브젝트와의 상대 속도 정보를 획득할 수 있다. 또한 카메라는 차량 외부를 촬영하기 위해 차량에서 FOV(field of view) 확보가 가능한 위치에 장착될 수 있으며, AR/VR을 기반으로 한 서비스를 제공하기 위해 사용될 수 있다. 라이다는 레이저 광을 이용하여, 차량(K600) 외부의 오브젝트에 대한 정보를 생성할 수 있다. 라이다는 광 송신부, 광 수신부 및 광 송신부 및 광 수신부와 전기적으로 연결되어 수신되는 신호를 처리하고, 처리된 신호에 기초하여 오브젝트에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다.
통신 장치는 차량(2010) 외부에 위치하는 디바이스(예를 들면, 인프라(예를 들면, 서버, 방송국), 타 차량, 단말기등) 와 신호를 교환할 수 있다. 운전 조작 장치는 운전을 위한 사용자 입력을 수신하는 장치이다. 메뉴얼 모드인 경우, 차량(2010)은 운전 조작 장치에 의해 제공되는 신호에 기초하여 운행될 수 있다. 운전 조작 장치는, 조향 입력 장치(예를 들면, 스티어링 휠), 가속 입력 장치(예를 들면, 가속 페달) 및 브레이크 입력 장치(예를 들면, 브레이크 페달)를 포함할 수 있다.
센싱부는 차량(2010)의 상태를 센싱할 수 있으며 상태 정보를 생성할 수 있다. 위치 데이터 생성 장치는 차량(2010)의 위치 데이터를 생성할 수 있다. 위치 데이터 생성 장치는, GPS(Global Positioning System) 및 DGPS(Differential Global Positioning System) 중 적어도 어느 하나를 포함할 수 있다. 위치 데이터 생성 장치는, GPS 및 DGPS 중 적어도 어느 하나에서 생성되는 신호에 기초하여차량(K600)의 위치 데이터를 생성할 수 있다. 메인 ECU는 차량(2010)내에 구비되는 적어도 하나의 전자 장치의 전반적인 동작을 제어할 수 있으며, 구동 제어 장치는 차량(2010)내 차량 구동 장치를 전기적으로 제어할 수 있다.
자율 주행 장치는 오브젝트 검출 장치, 센싱부, 위치 데이터 생성장치 등으로부터 획득된 데이터에 기초하여, 자율 주행 서비스를 위한 경로를 생성할 수 있다. 자율 주행 장치는, 생성된 경로를 따라 주행하기 위한 드라이빙 플랜을 생성하고 드라이빙 플랜에 따른 차량의 움직임을 제어하기 위한 신호를 생성할 수 있다. 자율 주행 장치에서 생성된 신호는 구동 제어 장치에 전송되므로 구동 제어 장치는 차량(2010)의 내 차량 구동 장치를 제어할 수 있다.
도 11에 도시된 바와 같이 자율 주행 서비스를 제공하는 차량(2010)은 XR 디바이스(2000)와 유/무선 통신이 가능하도록 연결된다. 도 11에 도시된 XR 디바이스(2000)는 프로세서(2001) 및 메모리(2002)를 포함할 수 있다. 또한 도면에 도시되지 않았으나, 도 11의 XR 디바이스(2000)는 도 14에서 설명한 XR 디바이스(1300)의 구성요소를 더 포함할 수 있다.
도 11의 XR 디바이스(2000)가 차량(2010)과 유/무선 통신이 가능하도록 연결된 경우, 도 11의 XR 디바이스(2000)는 자율 주행 서비스와 함께 제공할 수 있는 AR/VR 서비스 관련 콘텐트 데이터를 수신/처리하여 차량(2010)에 전송할 수 있다. 또한 도 11의 XR 디바이스(2000)가 차량(2010)에 탑재된 경우, 도 11의 XR 디바이스(2000)는 사용자 인터페이스 장치를 통해 입력된 사용자 입력 신호에 따라 AR/VR 서비스 관련 콘텐트 데이터를 수신/처리하여 사용자에게 제공할 수 있다. 이 경우, 프로세서(2001)는 오브젝트 검출 장치, 센싱부, 위치 데이터 생성장치, 자율 주행 장치 등으로부터 획득된 데이터에 기초하여, AR/VR 서비스 관련 콘텐트 데이터를 수신/처리할 수 있다. 본 발명의 실시예들에 따른 AR/VR 서비스 관련 콘텐트 데이터는 운전 정보, 자율 주행 서비스를 위한 경로 정보, 운전 조작 정보, 차량 상태 정보, 오브젝트 정보 등 자율 주행 서비스와 관련된 정보뿐만 아니라 자율 주행 서비스와 관련 없는 엔터테인먼트 콘텐트, 날씨 정보 등을 포함할 수 있다.
도 12는 자율 주행 서비스 중 AR/VR 서비스를 제공하는 과정을 나타낸다.
본 발명의 실시예들에 따른 차량 또는 사용자 인터페이스 장치는 사용자 입력 신호를 수신할 수 있다(S2110). 본 발명의 실시예들에 따른 사용자 입력 신호는 자율 주행 서비스를 지시하는 신호를 포함할 수 있다. 본 발명의 실시에들에 따른 자율 주행 서비스는 완전 자율 주행 서비스 및 일반 자율 주행 서비스를 포함할 수 있다. 완전 자율 주행 서비스는 도착지까지 사용자의 수동 주행 없이 완전히 자율 주행으로만 차량이 구동되는 서비스를 의미하며, 일반 자율 주행 서비스는 도착지까지 사용자의 수동 주행과 자율 주행이 복합되어 차량이 구동되는 서비스를 의미한다.
본 발명의 실시예들에 따른 사용자 입력 신호가 완전 자율 주행 서비스에 대응하는지 여부를 판단할 수 있다(S2120). 판단 결과 사용자 입력 신호가 완전 자율 주행 서비스에 대응하는 경우, 본 발명의 실시예들에 따른 차량은 완전 자율 주행 서비스를 제공할 수 있다(S2130). 완전 자율 주행 서비스의 경우 사용자 조작이 필요없으므로, 본 발명의 실시예들에 따른 차량은 차량의 창문, 사이드 미러, HMD, 스마트 폰 등을 통해 사용자에게 VR 서비스와 관련된 콘텐트를 제공할 수 있다(S2130). 본 발명의 실시예들에 따른 VR 서비스와 관련된 콘텐트는 완전 자율 주행과 연관된 콘텐트(예를 들면 네비게이션 정보, 운행 정보, 외부 오브젝트 정보 등)이 될 수도 있고, 사용자의 선택에 따라 완전 자율 주행과 관련이 없는 콘텐트 (예를 들면 날씨 정보, 거리 이미지, 자연 이미지, 화상 전화 이미지 등)이 될 수 있다.
판단 결과 사용자 입력 신호가 완전 자율 주행 서비스에 대응하지 않는 경우, 본 발명의 실시예들에 따른 차량은 일반 자율 주행 서비스를 제공할 수 있다(S2140). 일반 자율 주행 서비스의 경우, 사용자의 수동 주행을 위하여 사용자의 시야가 확보되어야 하므로, 본 발명의 실시예들에 따른 차량은 차량의 창문, 사이드 미러, HMD, 스마트 폰 등을 통해 사용자에게 AR 서비스와 관련된 콘텐트를 제공할 수 있다(S2140).
본 발명의 실시예들에 따른 AR 서비스와 관련된 콘텐트는 완전 자율 주행과 연관된 콘텐트(예를 들면 네비게이션 정보, 운행 정보, 외부 오브젝트 정보 등)이 될 수도 있고, 사용자의 선택에 따라 완전 자율 주행과 관련이 없는 콘텐트 (예를 들면 날씨 정보, 거리 이미지, 자연 이미지, 화상 전화 이미지 등)이 될 수 있다.
도 13은 본 발명의 일실시예에 의한 XR 디바이스를 HMD 타입으로 구현한 경우를 도시하고 있다. 전술한 다양한 실시예들은 도 13에 도시된 HMD 타입으로 구현할 수도 있다.
도 13에 도시된 HMD 타입의 XR 디바이스(100a)는, 커뮤니케이션 유닛(110), 컨트롤 유닛(120), 메모리 유닛(130), I/O 유닛(140a), 센서 유닛(140b), 그리고 파워 공급 유닛(140c) 등을 포함한다. 특히, XR 디바이스(10a)내 커뮤니케이션 유닛(110)은 모바일 터미날(100b)과 유무선 통신이 이루어 진다.
그리고, 도 14는 본 발명의 일실시예에 의한 XR 디바이스를 AR 글래스 타입으로 구현한 경우를 도시하고 있다.
도 14에 도시된 바와 같이, AR 글래스는 프레임, 제어부(200) 및 광학 디스플레이부(300)를 포함할 수 있다.
프레임은 도 14에 도시된 바와 같이, 사용자(10)의 신체 중 안면에 착용되는 안경 형태를 가질 수 있으나, 이에 반드시 한정되는 것은 아니고, 사용자(10)의 안면에 밀착되어 착용되는 고글 등의 형태를 가질 수도 있다.
이와 같은 프레임은 전면 프레임(110)과 제1, 2 측면 프레임을 포함할 수 있다.
전면 프레임(110)은 적어도 하나의 개구부를 구비하고, 제1 수평 방향(x)으로 연장될 수 있으며, 제1, 2 측면 프레임은 전면 프레임(110)과 교차하는 제2 수평 방향(y)으로 연장되어 서로 나란하게 연장될 수 있다.
제어부(200)는 사용자(10)에게 보여질 이미지 또는 이미지가 연속되는 영상을 생성할 수 있다. 이와 같은 제어부(200)에는 이미지를 발생시키는 이미지 소스와 이미지 소스에서 발생된 빛을 확산 및 수렴하는 복수의 렌즈 등을 포함할 수 있다. 이와 같이 제어부(200)에서 생성되는 이미지는 제어부(200)와 광학 디스플레이부(300) 사이에 위치하는 가이드 렌즈(P200)을 통해 광학 디스플레이부(300)로 출사될 수 있다.
이와 같은 제어부(200)는 제1, 2 측면 프레임 중 어느 하나의 측면 프레임에 고정될 수 있다. 일례로, 제어부(200)는 어느 하나의 측면 프레임 내측 또는 외측에 고정되거나, 어느 하나의 측면 프레임의 내부에 내장되어 일체로 형성될 수 있다.
광학 디스플레이부(300)는 제어부(200)에서 생성된 이미지가 사용자(10)에게 보여지도록 하는 역할을 수행할 수 있으며, 이미지가 사용자(10)에게 보여지도록 하면서, 개구부를 통하여 외부 환경을 볼 수 있도록 하기 위하여, 반투명 재질로 형성될 수 있다.
이와 같은 광학 디스플레이부(300)는 전면 프레임(110)에 포함된 개구부에 삽입되어 고정되거나, 개부구의 배면[즉 개구부와 사용자(10) 사이]에 위치하여, 전면 프레임(110)에 고정되어 구비될 수 있다. 본 발명에서는 일례로, 광학 디스플레이부(300)가 개구부의 배면에 위치하여, 전면 프레임(110)에 고정된 경우를 일예로 도시하였다.
이와 같은 XR 디바이스는 도 14에 도시된 바와 같이, 제어부(200)에서 이미지에 대한 이미지를 광학 디스플레이부(300)의 입사 영역(S1)으로 입사시키면, 이미지광이 광학 디스플레이부(300)를 통하여, 광학 디스플레이부(300)의 출사 영역(S2)으로 출사되어, 제어부(200)에서 생성된 이미지를 사용자(10)에게 보여지도록 할 수 있다.
이에 따라, 사용자(10)는 프레임(100)의 개구부를 통하여 외부 환경을 보면서 동시에 제어부(200)에서 생성된 이미지를 함께 볼 수 있다.
전술한 바와 같이, 본원발명은 5G 통신 기술 분야, 로봇 기술 분야, 자율 주행 기술 분야 및 AI 기술 분야 모두에 적용 가능하지만, 이하 도면들에서는 XR 디바이스, 디지털 사이니지 및 TV 등의 멀티미디어 디바이스에 적용 가능한 본원 발명을 중점적으로 설명하도록 하겠다. 다만, 이전 도 1 내지 도 14를 참조하여, 후술할 도면들을 당업자가 결합하여 다른 실시예를 구현하는 것도 본 발명의 권리범위에 속한다.
특히, 후술할 도면들에서 설명할 멀티미디어 디바이스는 영상을 투사체에 투사하여 표시 가능한 프로젝터 기능이 있는 디바이스면 충분하므로, XR 디바이스에 한정되지 않는다.
이하에서는, 도 15 내지 도 29를 참조하여, 본 발명의 일실시예에 따라, 가상 객체를 현실 세계를 나타내는 카메라의 프리뷰 영상 내에 배치 시, 상기 가상 객체의 일부가 상기 프리뷰 영상 내의 현실 객체의 일부와 겹칠 경우에, 상기 현실 객체와 상기 가상 객체의 깊이를 기초로 상기 가상 객체를 배치하는 과정에 대해 상세히 설명한다.
한편, 본 발명에 따른 XR 디바이스(2500)는, HMD(Head-Mount Display), HUD(Head-Up Display), 안경 타입의 AR 글래스, 스마트폰, 태블릿 PC, 랩탑, 데스크탑, TV, 디지털 사이니지 등의 카메라가 구비되어 상기 카메라를 통해 수신되는 프리뷰 영상 내에 가상 객체를 표시할 수 있는 모든 디바이스를 포함할 수 있다.
먼저, 도 15는 본 발명의 일실시예에 따른 XR 디바이스의 블록도를 도시한 도면이다.
도 15를 참조하면, 본 발명에서의 XR 디바이스(1500)는 디스플레이 모듈(150), 통신 모듈(1520), 카메라 모듈(1530), 센서 모듈(1540), 메모리(1550), 음향 출력 모듈(1560), 햅틱 모듈(1570) 및 프로세서(1580)를 포함하여 이루어진다.
디스플레이 모듈(1510)은 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, XR 디바이스(1500)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부로써 기능함과 동시에, 사용자에게 XR 디바이스(1500)를 조작하기 위한 유저 인터페이스를 제공할 수 있다. 또한, 디스플레이 모듈(1510)은 XR 디바이스(1500)에서 처리되는 모든 정보들을 시각적으로 표시할 수 있다.
통신 모듈(1520)은 XR 디바이스(1500)와 무선 통신 시스템 사이, XR 디바이스(1500)와 다른 외부 디바이스 사이, 또는 XR 디바이스(1500) 다른 외부 디바이스가 위치한 네트워크 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다.
이러한 통신 모듈(1520)은 방송 수신 모듈, 이동통신 모듈, 무선 인터넷 모듈, 근거리 통신 모듈, 및 위치정보 모듈 중 적어도 하나를 포함할 수 있다.
상기 방송 수신 모듈은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 상기 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 적어도 두 개의 방송 채널들에 대한 동시 방송 수신 또는 방송 채널 스위칭을 위해 둘 이상의 상기 방송 수신 모듈이 상기 이동단말기(100)에 제공될 수 있다.
상기 이동통신 모듈은, 이동통신을 위한 기술 표준들 또는 통신 방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), LTE(Long Term Evolution) 등)에 따라 구축된 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 상기 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
상기 무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, XR 디바이스(1500)에 내장되거나 외장될 수 있다. 상기 무선 인터넷 모듈은 무선 인터넷 기술들에 따른 통신망에서 무선 신호를 송수신하도록 이루어진다.
무선 인터넷 기술로는, 예를 들어 WLAN(Wireless LAN), WiFi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), LTE(Long Term Evolution) 등이 있으며, 상기 무선 인터넷 모듈은 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다.
Wibro, HSDPA, GSM, CDMA, WCDMA, LTE 등에 의한 무선인터넷 접속은 이동통신망을 통해 이루어진다는 관점에서 본다면, 상기 이동통신망을 통해 무선인터넷 접속을 수행하는 상기 무선 인터넷 모듈은 상기 이동통신 모듈의 일종으로 이해될 수도 있다.
상기 근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다. 상기 근거리 통신 모듈은 근거리 무선 개인 통신망(Wireless Personal Area Networks)을 통해 XR 디바이스(1500)와 무선 통신 시스템 사이, XR 디바이스(1500)와 다른 외부 디바이스 사이, 또는 XR 디바이스(1500)와 다른 외부 디바이스가 위치한 네트워크 사이의 무선 통신을 지원할 수 있다.
여기에서, 상기 다른 외부 디바이스는 본 발명에 따른 XR 디바이스(1500)와 데이터를 상호 교환하는 것이 가능한(또는 연동 가능한) 웨어러블 디바이스(wearable device, 예를 들어, 스마트워치(smartwatch), 스마트 글래스(smart glass), HMD(head mounted display))가 될 수 있다.
상기 근거리 통신 모듈은 XR 디바이스(1500) 주변에, XR 디바이스(1500)와 통신 가능한 웨어러블 디바이스를 감지(또는 인식)할 수 있다. 나아가, 프로세서(1580)는 상기 감지된 웨어러블 디바이스가 XR 디바이스(1500)와 통신하도록 인증된 디바이스인 경우, XR 디바이스(1500)에서 처리되는 데이터의 적어도 일부를, 상기 근거리 통신 모듈을 통해 웨어러블 디바이스로 전송할 수 있다.
따라서, 웨어러블 디바이스의 사용자는, XR 디바이스(1500)에서 처리되는 데이터를, 웨어러블 디바이스를 통해 이용할 수 있다. 예를 들어, 이에 따르면 사용자는, XR 디바이스(1500)에 전화가 수신된 경우, 웨어러블 디바이스를 통해 전화 통화를 수행하거나, XR 디바이스(1500)에 메시지가 수신된 경우, 웨어러블 디바이스를 통해 상기 수신된 메시지를 확인하는 것이 가능하다.
상기 위치정보 모듈은 XR 디바이스(1500)의 위치(또는 현재 위치)를 획득하기 위한 모듈로서, 그의 대표적인 예로는 GPS(Global Positioning System) 모듈 또는 WiFi(Wireless Fidelity) 모듈이 있다. 예를 들어, XR 디바이스(1500)는 GPS모듈을 활용하면, GPS 위성에서 보내는 신호를 이용하여 이동 단말기의 위치를 획득할 수 있다. 다른 예로서, XR 디바이스(1500)는 Wi-Fi모듈을 활용하면, Wi-Fi모듈과 무선신호를 송신 또는 수신하는 무선 AP(Wireless Access Point)의 정보에 기반하여, XR 디바이스(1500)의 위치를 획득할 수 있다.
한편, 본 발명에 따라, 통신 모듈(1520)은 외부 AR 서버로부터 이하에서 설명되는 카메라 모듈(1530)을 통해 수신되는 프리뷰 영상 내에 배치하고자 하는 가상 객체에 대한 정보를 수신하여 메모리(1550)에 저장할 수 있다. 상기 가상 객체 정보는 현실 세계를 나타내는 프리뷰 영상 내에 표시되는 AR 객체의 이미지 및 상기 AR 객체가 상기 프리뷰 영상 내의 위치에 해당하는 깊이(depth) 정보를 포함할 수 있다. 이때, 상기 가상 객체는 하나의 면에 대한 깊이 정보를 가지는 2차원(2D) 가상 객체 또는 둘 이상의 면에 대한 깊이 정보를 가지는 3차원(3D) 가상 객체가 될 수 있다.
카메라 모듈(1530)은 사진 또는 동영상 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이 모듈(1510)에 표시될 수 있다. 또한, 카메라 모듈(1530)은 XR 디바이스(1500)의 전면 또는 후면에 장착되어, 현실 세계의 적어도 하나의 현실 객체를 포함한 프리뷰 영상을 수신한다.
센서 모듈(1540)은 XR 디바이스(1500) 내 정보, XR 디바이스(1500)를 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱하기 위한 하나 이상의 센서를 포함할 수 있다. 예를 들어, 센서 모듈(1540)는 근접센서(proximity sensor), 조도 센서(illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor), 마이크로폰(microphone, 122 참조), 배터리 게이지(battery gage), 환경 센서(예를 들어, 기압계, 습도계, 온도계, 방사능 감지 센서, 열 감지 센서, 가스 감지 센서 등), 화학 센서(예를 들어, 전자 코, 헬스케어 센서, 생체 인식 센서 등) 중 적어도 하나를 포함할 수 있다. 한편, 본 명세서에 개시된 이동 단말기는, 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.
또한, 본 발명에 따라 센서 모듈(1540)은 카메라 모듈(1530)을 통해 수신되는 프리뷰 영상 내의 적어도 하나의 현실 객체의 깊이 정보를 획득하는 TOF (Time of flight) 센서 또는 3D 센서를 포함한다. 상기 현실 객체의 깊이 정보에 대한 설명은 이하의 도 17에서 상세히 후술한다.
메모리(1550)는 XR 디바이스(1500)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), XR 디바이스(1500)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한 이러한 응용 프로그램 중 다른 적어도 일부는, XR 디바이스(1500)의 기본적인 기능(예를 들어, 전화 착신, 발신 기능, 메시지 수신, 발신 기능)을 위하여 출고 당시부터 XR 디바이스(1500)상에 존재할 수 있다. 한편, 응용 프로그램은, 메모리(1550)에 저장되고, XR 디바이스(1500) 상에 설치되어, 프로세서(1580)에 의하여 XR 디바이스(1500)의 동작(또는 기능)을 수행하도록 구동될 수 있다.
또한, 본 발명에 따라, 메모리(1550)는 앞서 설명한 바와 같이, 카메라 모듈(1530)을 통해 수신되는 프리뷰 영상 내에 배치하고자 하는 가상 객체에 대한 정보를 저장할 수 있다.
음향 출력 모듈(1560)은 호신호수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 통신 모듈(1520)로부터 수신되거나 메모리(1550)에 저장된 오디오 데이터를 출력할 수 있다. 음향 출력 모듈(1560)은 XR 디바이스(1500)에서 수행되는 기능(예를 들어, 호신호수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력하기도 한다. 이러한 음향 출력 모듈(1560)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.
햅틱 모듈(1570)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(1570)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 될 수 있다. 햅틱 모듈(1570)에서 발생하는 진동의 세기와 패턴 등은 사용자의 선택 또는 제어부의 설정에 의해 제어될 수 있다. 예를 들어, 햅틱 모듈(1570)은 서로 다른 진동을 합성하여 출력하거나 순차적으로 출력할 수도 있다.
햅틱 모듈(1570)은 진동 외에도, 접촉 피부면에 대해 수직 운동하는 핀 배열, 분사구나 흡입구를 통한 공기의 분사력이나 흡입력, 피부 표면에 대한 스침, 전극(eletrode)의 접촉, 정전기력 등의 자극에 의한 효과와, 흡열이나 발열 가능한 소자를 이용한 냉온감 재현에 의한 효과 등 다양한 촉각 효과를 발생시킬 수 있다.
햅틱 모듈(1570)은 직접적인 접촉을 통해 촉각 효과를 전달할 수 있을 뿐만 아니라, 사용자가 손가락이나 팔 등의 근 감각을 통해 촉각 효과를 느낄 수 있도록 구현할 수도 있다. 햅틱 모듈(1570)은 XR 디바이스(1500)의 구성 태양에 따라 2개 이상이 구비될 수 있다.
프로세서(1580)는 본 발명에 따른 XR 디바이스(1500)의 전반적인 동작을 제어하고, 나아가 프로세서(1580)는 이하에서 설명되는 다양한 실시 예들을 본 발명에 따른 XR 디바이스(1500) 상에서 구현하기 위하여, 위에서 살펴본 구성요소들을 중 어느 하나 또는 복수를 조합하여 제어할 수 있다.
이하, 도 16 내지 도 29를 참조하여, 프로세서(1580)의 제어 과정에 대해 상세히 설명한다.
도 16은 본 발명의 일실시예에 따른 XR 디바이스의 가상 객체 배치 과정을 도시한 플로우 차트이고, 도 17은 본 발명의 일실시예에 따른 현실 객체의 깊이 정보를 설명하기 위한 도면이고, 도 18은 본 발명의 일실시예에 따른 프리뷰 영상 내에서 현실 객체를 인식하여 추출하는 과정을 설명하기 위한 도면이고, 도 19는 본 발명의 일실시예에 따른 가상 객체가 2D 가상 객체 또는 3D 가상 객체일 때의 깊이 정보를 설명하기 위한 도면이다.
도 16 내지 도 19를 참조하면, 프로세서(1580)는 AR 모드가 활성화되면, 카메라 모듈(1530)을 활성화시키고, 상기 활성화된 카메라 모듈(1530)을 통해 XR 디바이스(1500)의 전방에 보이는 현실 세계의 적어도 하나의 현실 객체를 포함한 프리뷰 영상을 수신하고, 상기 수신된 프리뷰 영상을 디스플레이 모듈(1510) 상에 표시한다[S1610].
그리고, 프로세서(1580)는 상기 프리뷰 영상 내에 적어도 하나의 가상 객체를 배치하여 표시하기 위한 AR 가상 객체 배치 모드가 사용자에 의해 선택되어 활성화되면, 센서 모듈(1540)을 활성화시키고, 상기 활성화된 센서 모듈(1540)을 통해 상기 프리뷰 영상 내에 포함된 적어도 하나의 현실 객체의 깊이 정보를 획득한다[S1620].
일 예로, 도 17의 (a)는 상기 프리뷰 영상 내에 포함된 현실 객체 및 가상 객체가 서로 일부 겹쳐진 것을 나타내고 있고, 도 17의 (b)는 상기 현실 객체에 해당하는 이미지 영역 내의 각 픽셀들에 대한 깊이값들을 포함한 깊이 정보를 나타내고 있다.
그리고, 도 18의 (a)는 상기 프리뷰 영상 내의 상기 현실 객체의 형상을 인식한 후, 도 18의 (b)는 상기 프리뷰 영상으로부터 상기 인식된 현실 객체의 형상에 해당하는 현실 객체 이미지를 추출한 것을 나타내고 있다.
즉, 프로세서(1580)는 센서 모듈(1540) 내의 TOF 센서 또는 3D 센서를 통해 상기 현실 객체에 해당하는 이미지 영역 내의 각 픽셀들에 대한 깊이값들을 포함한 깊이 정보를 생성하고, 인공지능 기술, 형상 인식 알고리즘, 에지(edge) 디텍션, 라인(line) 디텍션 및 컬러 디텍션 중 적어도 하나의 방식을 이용하여 상기 프리뷰 영상으로부터 상기 현실 객체를 인식하고, 상기 프리뷰 영상으로부터 상기 현실 객체에 해당하는 부분 이미지를 추출하는 것이다.
그 다음으로, 도 19의 (a)는 프리뷰 영상(1900) 내에 현실 객체(1910)의 일부와 가상 객체(1920)의 일부가 서로 겹쳐지게 배치된 것을 나타내고 있고, 도 19의 (b)는 상기 가상 객체(1920)의 하나의 면을 구비한 2D 타입의 가상 객체인 것을 나타내고 있고, 도 19의 (c)는 상기 가상 객체(1920)가 둘 이상의 면들을 구비한 3D 타입의 가상 객체인 것을 나타내고 있다.
이때, 2D 가상 객체의 경우, 단순 이미지 또는 텍스트만을 제공하는 가상 객체로써, 상대적 깊이는 없어도 된다. 즉, 2D 가상 객체는 깊이가 없어서 정면에서의 깊이 정보만을 가지면 된다.
그러나, 3D 가상 객체의 경우[일 예로, 도 19의 (c)에서는 앞면 및 뒷면만 나타냄], 정면(앞면, 사용자에게 보이는 면)의 깊이 정보를 알면, 상기 정면의 깊이 정보를 이용하여 다른 나머지 5면(뒷면, 좌면, 우면, 상면, 하면)에 대해 상대적 깊이 정보를 계산할 수 있다. 일 예로, 도 19의 (c)에서는 앞면과 뒷면이 서로 "70" 깊이값의 차이가 있음을 나타내고 있다.
상기와 같이, 2D 가상 객체의 깊이 정보 또는 3D 가상 객체의 깊이 정보는 XR 디바이스(1500)의 사용자가 XR 디바이스(1500)에서 제공되는 가상 객체 깊이 조절 UI(User Interface) 또는 환경 설정 메뉴를 통해 설정/설정 변경이 가능하거나, 또는 상기 2D 가상 객체 또는 3D 가상 객체를 제공하는 AR 서버에 의해 설정/설정 변경이 가능하다.
그 다음으로, 프로세서(1580)는 적어도 하나의 가상 객체가 상기 프리뷰 영상 내의 특정 위치에 배치될 경우, 상기 특정 위치에 배치될 가상 객체의 일부가 상기 프리뷰 영상 내의 적어도 하나의 현실 객체의 일부와 겹쳐지는지를 판단한다[S1630].
프로세서(1580)는 상기 가상 객체의 일부가 상기 프리뷰 영상 내의 적어도 하나의 현실 객체의 일부와 겹쳐지지 않을 경우에는, 상기 가상 객체를 상기 프리뷰 영상 내의 상기 특정 위치에 배치하여 표시한다[S1660].
그러나, 프로세서(1580)는 상기 가상 객체의 일부가 상기 프리뷰 영상 내의 적어도 하나의 현실 객체의 일부와 겹쳐질 경우[S1640], 상기 가상 객체의 깊이 정보 및 상기 현실 객체의 깊이 정보를 기초로, 상기 가상 객체 및 상기 현실 객체 중 적어도 하나의 배치를 변경한다[S1650].
일 예로, 프로세서(1580)는 상기 가상 객체의 깊이 정보 및 상기 현실 객체의 깊이 정보를 기초로, 상기 가상 객체 및 상기 현실 객체 중 깊이가 깊은(멀리 보이는) 객체를 먼저 배치하고, 상기 먼저 배치된 객체 위에 나머지 객체를 오버레이하여 배치할 수 있다.
즉, 프로세서(1580)는 상기 가상 객체의 일부가 상기 현실 객체의 일부와 겹쳐진 상태에서 상기 가상 객체가 상기 현실 객체보다 깊이가 깊은 것으로 판단된 경우, 상기 가상 객체의 깊이 정보를 기초로 상기 가상 객체를 상기 프리뷰 영상 내에서 상기 현실 객체의 뒷쪽에 배치하되, 상기 가상 객체의 일부 상에 상기 현실 객체의 일부를 오버레이하여 표시함으로써, 상기 가상 객체의 일부가 상기 현실 객체의 일부에 가려지도록 배치한다.
반대로, 프로세서(1580)는 상기 가상 객체의 일부가 상기 현실 객체의 일부와 겹쳐진 상태에서 상기 현실 객체가 상기 가상 객체보다 깊이가 깊은 것으로 판단된 경우, 상기 가상 객체의 깊이 정보를 기초로 상기 가상 객체를 상기 프리뷰 영상 내에서 상기 현실 객체의 앞쪽에 배치하되, 상기 현실 객체의 일부 상에 상기 가상 객체의 일부를 오버레이하여 표시함으로써, 상기 현실 객체의 일부가 상기 가상 객체의 일부에 가려지도록 배치한다.
한편, 프로세서(1580)는 상기 가상 객체 및 상기 현실 객체의 깊이가 동일한 상태이거나 또는 상기 가상 객체의 깊이 범위가 상기 현실 객체의 깊이 범위에 속한 상태에서, 상기 가상 객체의 일부가 상기 현실 객체의 일부에 겹쳐질 경우, 상기 가상 객체가 상기 현실 객체 내부를 관통하는 위치에 배치되는 것으로 판단하고, 상기 가상 객체를 상기 프리뷰 영상 내의 상기 특정 위치에 배치하는 것을 제한할 수 있다.
프로세서(1580)는 상기 가상 객체의 일부가 상기 현실 객체의 일부를 관통하여, 상기 가상 객체가 상기 프리뷰 영상 내의 상기 특정 위치에 배치되는 것을 제한할 경우, 상기 가상 객체의 배치가 제함됨을 사용자에게 알리는 피드백을 출력할 수도 있다.
이때, 상기 피드백은, 디스플레이 모듈(1510) 상에 표시되는 시각적 피드백, 음향 출력 모듈(1560)을 통해 출력되는 청각적 피드백 및 햅틱 모듈(1570)을 통해 출력되는 촉각적 피드백 중 어느 하나 또는 둘 이상이 조합된 형태를 가질 수 있다.
또한, 프로세서(1580)는 상기 가상 객체의 일부가 상기 현실 객체의 일부를 관통할 경우, 상기 가상 객체의 일부가 상기 현실 객체의 일부에 관통되지 않는 범위 내에서 상기 관통되는 방향의 반대 방향으로 상기 가상 객체를 이동시켜 배치할 수 있다.
또한, 프로세서(1580)는 상기 가상 객체 및 상기 현실 객체의 깊이가 동일한 상태이거나 또는 상기 가상 객체의 깊이 범위가 상기 현실 객체의 깊이 범위에 속한 상태에서, 상기 가상 객체의 일부 모서리 및 상기 현실 객체의 일부 모서리가 서로 맞닿을 경우, 상기 현실 객체와 맞닿은 방향으로 상기 가상 객체의 이동을 제한할 수 있다.
또한, 프로세서(1580)는 상기 가상 객체 및 상기 현실 객체의 깊이가 동일한 상태이거나 또는 상기 가상 객체의 깊이 범위가 상기 현실 객체의 깊이 범위에 속한 상태에서, 상기 가상 객체의 일부 및 상기 현실 객체의 일부가 서로 겹쳐질 경우, 상기 현실 객체와 겹쳐진 방향으로 상기 가상 객체의 이동을 제한할 수도 있다.
그 다음으로, 도 20은 본 발명의 일실시예 따른 2D 가상 객체가 현실 객체보다 앞에 배치되는 과정을 설명하기 위한 도면이다.
도 20에 도시된 바와 같이, 프리뷰 영상(2000) 내에 제1 현실 객체(2010)의 일부와 2D 가상 객체(2030)의 일부가 겹쳐진 상태에서, 상기 2D 가상 객체(2030) 및 상기 제1 현실 객체(2010)의 깊이 정보를 기초로, 상기 2D 가상 객체(2030)가 상기 제1 현실 객체(2010)보다 앞쪽에 위치할 경우, 프로세서(1580)는 상기 2D 가상 객체(2030)를 상기 제1 현실 객체(2010)보다 앞쪽에 표시하되, 상기 제1 현실 객체의 일부 상에 상기 2D 가상 객체의 일부를 오버레이하여 표시함으로써, 상기 2D 가상 객체(2030)가 상기 제1 현실 객체(2010)보다 앞쪽에 위치하는 것으로 나타낼 수 있다.
그리고, 프로세서(1580)는 상기 2D 가상 객체(2030)가 상기 제1 현실 객체(2010)보다 앞쪽에 위치함을 나타내는 제1 인디케이터(2030F)를 표시하고, 상기 제1 현실 객체(2010)가 상기 2D 가상 객체(2030)보다 뒷쪽에 위치함을 나타내는 제2 인디케이터(2010R)를 표시할 수 있다.
이때, 프로세서(1580)는 상기 2D 가상 객체(2030)가 사용자로부터 터치되어 선택될 때 상기 제1 인디케이터(2030F)를 표시할 수 있고, 상기 제1 현실 객체(2010)가 사용자로부터 터치되어 선택될 때 상기 제2 인디케이터(2010R)를 표시할 수도 있다.
그 다음으로, 도 21은 본 발명의 일실시예 따른 2D 가상 객체가 현실 객체보다 뒤에 배치되는 과정을 설명하기 위한 도면이다.
도 21에 도시된 바와 같이, 프리뷰 영상(2000) 내에 제2 현실 객체(2020)의 일부와 2D 가상 객체(2030)의 일부가 겹쳐진 상태에서, 상기 2D 가상 객체(2030) 및 상기 제2 현실 객체(2020)의 깊이 정보를 기초로, 상기 2D 가상 객체(2030)가 상기 제2 현실 객체(2020)보다 뒷쪽에 위치할 경우, 프로세서(1580)는 상기 2D 가상 객체(2030)를 상기 제2 현실 객체(2020)보다 뒷쪽에 표시하되, 상기 2D 가상 객체(2030)의 일부 상에 상기 제2 현실 객체(2020)의 일부를 오버레이하여 표시함으로써, 상기 2D 가상 객체(2030)가 상기 제2 현실 객체(2020)보다 뒷쪽에 위치하는 것으로 나타낼 수 있다.
그리고, 프로세서(1580)는 상기 2D 가상 객체(2030)가 상기 제2 현실 객체(2020)보다 뒷쪽에 위치함을 나타내는 제3 인디케이터(2030R)를 표시하고, 상기 제2 현실 객체(2020)가 상기 2D 가상 객체(2030)보다 앞쪽에 위치함을 나타내는 제4 인디케이터(2020F)를 표시할 수 있다.
이때, 프로세서(1580)는 상기 2D 가상 객체(2030)가 사용자로부터 터치되어 선택될 때 상기 제3 인디케이터(2030R)를 표시할 수 있고, 상기 제2 현실 객체(2020)가 사용자로부터 터치되어 선택될 때 상기 제4 인디케이터(2020F)를 표시할 수도 있다.
그 다음으로, 도 22는 본 발명의 일실시예 따른 2D 가상 객체가 현실 객체 내부로 관통되어 배치가 불가능한 상황을 설명하기 위한 도면이다.
도 22를 참조하면, 프로세서(1580)는 2D 가상 객체(2030) 및 상기 제1 현실 객체(2010)의 깊이가 동일한 상태이거나 또는 상기 2D 가상 객체(2030)의 깊이 범위가 상기 제1 현실 객체(2010)의 깊이 범위에 속한 상태에서, 상기 2D 가상 객체(2030)의 일부가 상기 제1 현실 객체(2010)의 일부에 겹쳐질 경우, 상기 2D 가상 객체(2030)가 상기 제1 현실 객체(2010)의 내부를 관통하는 위치에 배치되는 것으로 판단하고, 상기 2D 가상 객체(2030)를 프리뷰 영상(2000) 내의 해당 배치 위치에 배치하는 것을 제한할 수 있다.
이때, 프로세서(1580)는 상기 2D 가상 객체(2030)의 배치가 제함됨을 알리는 피드백으로써, 제5 인디케이터(2200)를 표시할 수 있다.
그 다음으로, 도 23은 본 발명의 일실시예 따른 2D 가상 객체가 현실 객체 내부로의 관통을 피하기 위해 이동되는 과정을 설명하기 위한 도면이다.
도 23에 도시된 바와 같이, 프로세서(1580)는 도 22에서와 같이 상기 2D 가상 객체(2030)의 일부가 상기 제1 현실 객체(2010)의 일부를 관통할 경우, 상기 2D 가상 객체(2030)의 일부가 상기 제1 현실 객체(2010)의 일부에 관통되지 않는 범위 내에서 상기 관통되는 방향의 반대 방향으로 상기 2D 가상 객체(2030)를 이동시켜 배치할 수 있다.
이때, 프로세서(1580)는 상기 2D 가상 객체(2030)가 관통을 피하기 위해 이동됨을 알리는 제6 인디케이터(2300)를 표시할 수 있다.
그 다음으로, 도 24는 본 발명의 일실시예 따른 2D 가상 객체 및 현실 객체가 서로 맞닿는 방향으로 이동을 제한하는 과정을 설명하기 위한 도면이다.
도 24에 도시된 바와 같이, 프로세서(1580)는 상기 2D 가상 객체(2030) 및 상기 제1 현실 객체(2010)의 깊이가 동일한 상태이거나 또는 상기 2D 가상 객체(2030)의 깊이 범위가 상기 제1 현실 객체(2010)의 깊이 범위에 속한 상태에서, 상기 2D 가상 객체(2030)의 일부 모서리 및 상기 제1 현실 객체(2010)의 일부 모서리가 서로 맞닿을 경우, 상기 제1 현실 객체(2010)와 맞닿은 방향으로 상기 2D 가상 객체(2030)의 이동을 제한할 수 있다.
이때, 프로세서(1580)는 상기 2D 가상 객체(2030)가 상기 제1 현실 객체(2010)와 맞닿은 방향으로 이동이 불가함을 알리는 제7 인디케이터(2400)를 표시할 수 있다.
그 다음으로, 도 25는 본 발명의 일실시예 따른 3D 가상 객체가 현실 객체보다 앞에 배치되는 과정을 설명하기 위한 도면이다.
도 25에 도시된 바와 같이, 프리뷰 영상(2000) 내에 제1 현실 객체(2010)의 일부와 3D 가상 객체(2040)의 일부가 겹쳐진 상태에서, 상기 3D 가상 객체(2040) 및 상기 제1 현실 객체(2010)의 깊이 정보를 기초로, 상기 3D 가상 객체(2040)가 상기 제1 현실 객체(2010)보다 앞쪽에 위치할 경우, 프로세서(1580)는 상기 3D 가상 객체(2040)를 상기 제1 현실 객체(2010)보다 앞쪽에 표시하되, 상기 제1 현실 객체(2010)의 일부 상에 상기 3D 가상 객체(2040)의 일부를 오버레이하여 표시함으로써, 상기 3D 가상 객체(2040)가 상기 제1 현실 객체(2010)보다 앞쪽에 위치하는 것으로 나타낼 수 있다.
그리고, 프로세서(1580)는 상기 3D 가상 객체(2040)가 상기 제1 현실 객체(2010)보다 앞쪽에 위치함을 나타내는 제8 인디케이터(2040F)를 표시하고, 상기 제1 현실 객체(2010)가 상기 3D 가상 객체(2040)보다 뒷쪽에 위치함을 나타내는 제9 인디케이터(2010R)를 표시할 수 있다.
이때, 프로세서(1580)는 상기 3D 가상 객체(2040)가 사용자로부터 터치되어 선택될 때 상기 제8 인디케이터(2040F)를 표시할 수 있고, 상기 제1 현실 객체(2010)가 사용자로부터 터치되어 선택될 때 상기 제9 인디케이터(2010R)를 표시할 수도 있다.
그 다음으로, 도 26은 본 발명의 일실시예 따른 3D 가상 객체가 현실 객체보다 뒤에 배치되는 과정을 설명하기 위한 도면이다.
도 26에 도시된 바와 같이, 프리뷰 영상(2000) 내에 제2 현실 객체(2020)의 일부와 3D 가상 객체(2040)의 일부가 겹쳐진 상태에서, 상기 3D 가상 객체(2040) 및 상기 제2 현실 객체(2020)의 깊이 정보를 기초로, 상기 3D 가상 객체(2040)가 상기 제2 현실 객체(2020)보다 뒷쪽에 위치할 경우, 프로세서(1580)는 상기 3D 가상 객체(2040)를 상기 제2 현실 객체(2020)보다 뒷쪽에 표시하되, 상기 3D 가상 객체(2040)의 일부 상에 상기 제2 현실 객체(2020)의 일부를 오버레이하여 표시함으로써, 상기 3D 가상 객체(2040)가 상기 제2 현실 객체(2020)보다 뒷쪽에 위치하는 것으로 나타낼 수 있다.
그리고, 프로세서(1580)는 상기 3D 가상 객체(2040)가 상기 제2 현실 객체(2020)보다 뒷쪽에 위치함을 나타내는 제10 인디케이터(2040R)를 표시하고, 상기 제2 현실 객체(2020)가 상기 3D 가상 객체(2040)보다 앞쪽에 위치함을 나타내는 제11 인디케이터(2020F)를 표시할 수 있다.
이때, 프로세서(1580)는 상기 3D 가상 객체(2040)가 사용자로부터 터치되어 선택될 때 상기 제10 인디케이터(2040R)를 표시할 수 있고, 상기 제2 현실 객체(2020)가 사용자로부터 터치되어 선택될 때 상기 제11 인디케이터(2020F)를 표시할 수도 있다.
그 다음으로, 도 27은 본 발명의 일실시예 따른 3D 가상 객체가 현실 객체 내부로 관통되어 배치가 불가능한 상황을 설명하기 위한 도면이다.
도 27을 참조하면, 프로세서(1580)는 3D 가상 객체(2040) 및 상기 제1 현실 객체(2010)의 깊이가 동일한 상태이거나 또는 상기 3D 가상 객체(2040)의 깊이 범위가 상기 제1 현실 객체(2010)의 깊이 범위에 속한 상태에서, 상기 3D 가상 객체(2040)의 일부가 상기 제1 현실 객체(2010)의 일부에 겹쳐질 경우, 상기 3D 가상 객체(2040)가 상기 제1 현실 객체(2010)의 내부를 관통하는 위치에 배치되는 것으로 판단하고, 상기 3D 가상 객체(2040)를 프리뷰 영상(2000) 내의 해당 배치 위치에 배치하는 것을 제한할 수 있다.
이때, 프로세서(1580)는 상기 3D 가상 객체(2040)의 배치가 제함됨을 알리는 피드백으로써, 제12 인디케이터(2700)를 표시할 수 있다.
그 다음으로, 도 28은 본 발명의 일실시예 따른 3D 가상 객체가 현실 객체 내부로의 관통을 피하기 위해 이동되는 과정을 설명하기 위한 도면이다.
도 28에 도시된 바와 같이, 프로세서(1580)는 도 27에서와 같이 상기 3D 가상 객체(2040)의 일부가 상기 제1 현실 객체(2010)의 일부를 관통할 경우, 상기 3D 가상 객체(2040)의 일부가 상기 제1 현실 객체(2010)의 일부에 관통되지 않는 범위 내에서 상기 관통되는 방향의 반대 방향으로 상기 3D 가상 객체(2040)를 이동시켜 배치할 수 있다.
이때, 프로세서(1580)는 상기 3D 가상 객체(2040)가 관통을 피하기 위해 이동됨을 알리는 제13 인디케이터(2800)를 표시할 수 있다.
그 다음으로, 도 29는 본 발명의 일실시예 따른 3D 가상 객체 및 현실 객체가 서로 맞닿는 방향으로 이동을 제한하는 과정을 설명하기 위한 도면이다.
도 29에 도시된 바와 같이, 프로세서(1580)는 상기 3D 가상 객체(2040) 및 상기 제1 현실 객체(2010)의 깊이가 동일한 상태이거나 또는 상기 3D 가상 객체(2040)의 깊이 범위가 상기 제1 현실 객체(2010)의 깊이 범위에 속한 상태에서, 상기 3D 가상 객체(2040)의 일부 모서리 및 상기 제1 현실 객체(2010)의 일부 모서리가 서로 맞닿을 경우, 상기 제1 현실 객체(2010)와 맞닿은 방향으로 상기 3D 가상 객체(2040)의 이동을 제한할 수 있다.
이때, 프로세서(1580)는 상기 3D 가상 객체(2040)가 상기 제1 현실 객체(2010)와 맞닿은 방향으로 이동이 불가함을 알리는 제14 인디케이터(2900)를 표시할 수 있다.
한편, 본 명세서에서는 첨부된 도면을 참조하여 설명하였으나, 이는 실시예일뿐 특정 실시예에 한정되지 아니하며, 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 변형실시가 가능한 다양한 내용도 청구범위에 따른 권리범위에 속한다. 또한, 그러한 변형 실시들이 본 발명의 기술 사상으로부터 개별적으로 이해되어서는 안 된다.
1510: 디스플레이 모듈 1520: 통신 모듈
1530: 카메라 모듈 1540: 센서 모듈
1550: 메모리 1560: 음향 출력 모듈
1570: 햅틱 모듈 1580: 프로세서

Claims (20)

  1. 현실 세계의 적어도 하나의 현실 객체를 포함한 영상을 수신하는 카메라;
    상기 영상을 표시하는 디스플레이;
    상기 현실 객체의 깊이 정보를 획득하는 센서; 및
    상기 영상 내에 적어도 하나의 가상 객체를 배치 시에, 상기 가상 객체의 일부가 상기 현실 객체의 일부에 겹쳐질 경우, 상기 가상 객체의 깊이 정보 및 상기 현실 객체의 깊이 정보를 기초로, 상기 가상 객체 및 상기 현실 객체 중 적어도 하나의 배치를 변경하는 프로세서;를 포함하는, XR 디바이스.
  2. 제1 항에 있어서, 상기 프로세서는,
    상기 가상 객체의 깊이 정보 및 상기 현실 객체의 깊이 정보를 기초로, 상기 가상 객체 및 상기 현실 객체 중 깊이가 깊은 객체를 먼저 배치하고, 상기 먼저 배치된 객체 위에 나머지 객체를 오버레이하여 배치하는, XR 디바이스.
  3. 제2 항에 있어서, 상기 프로세서는,
    상기 가상 객체가 상기 현실 객체보다 깊이가 깊은 것으로 판단된 경우, 상기 가상 객체의 일부가 상기 현실 객체의 일부에 가려지도록 배치하는, XR 디바이스.
  4. 제2 항에 있어서, 상기 프로세서는,
    상기 현실 객체가 상기 가상 객체보다 깊이가 깊은 것으로 판단된 경우, 상기 현실 객체의 일부가 상기 가상 객체의 일부에 가려지도록 배치하는, XR 디바이스.
  5. 제1 항에 있어서, 상기 프로세서는,
    상기 가상 객체의 일부가 상기 현실 객체의 일부를 관통할 경우, 상기 가상 객체를 상기 영상 내에 배치하지 않도록 하는, XR 디바이스.
  6. 제5 항에 있어서, 상기 프로세서는,
    상기 가상 객체 및 상기 현실 객체의 깊이가 동일한 상태에서 상기 가상 객체의 일부가 상기 현실 객체의 일부에 겹쳐질 경우, 상기 가상 객체가 상기 현실 객체를 관통한 것으로 판단하는, XR 디바이스.
  7. 제5 항에 있어서, 상기 프로세서는,
    상기 가상 객체의 일부가 상기 현실 객체의 일부를 관통하여, 상기 가상 객체가 상기 영상 내에 배치될 수 없음을 알리는 피드백을 출력하는, XR 디바이스.
  8. 제1 항에 있어서, 상기 프로세서는,
    상기 가상 객체의 일부가 상기 현실 객체의 일부를 관통할 경우, 상기 가상 객체의 일부가 상기 현실 객체의 일부를 관통하지 않도록 상기 가상 객체를 이동시키는, XR 디바이스.
  9. 제1 항에 있어서, 상기 프로세서는,
    상기 가상 객체의 일부 및 상기 현실 객체의 일부가 서로 맞닿을 경우, 상기 현실 객체와 맞닿은 방향으로 상기 가상 객체의 이동을 제한하는, XR 디바이스.
  10. 제1 항에 있어서, 상기 프로세서는,
    상기 가상 객체의 일부 및 상기 현실 객체의 일부가 서로 겹쳐질 경우, 상기 현실 객체와 겹쳐진 방향으로 상기 가상 객체의 이동을 제한하는, XR 디바이스.
  11. 카메라를 통해 현실 세계의 적어도 하나의 현실 객체를 포함한 영상을 수신하는 단계;
    상기 영상을 표시하는 단계;
    센서를 통해 상기 현실 객체의 깊이 정보를 획득하는 단계; 및
    상기 영상 내에 적어도 하나의 가상 객체를 배치 시에, 상기 가상 객체의 일부가 상기 현실 객체의 일부에 겹쳐질 경우, 상기 가상 객체의 깊이 정보 및 상기 현실 객체의 깊이 정보를 기초로, 상기 가상 객체 및 상기 현실 객체 중 적어도 하나의 배치를 변경하는 단계;를 포함하는, XR 디바이스의 제어 방법.
  12. 제11 항에 있어서, 상기 변경 단계는,
    상기 가상 객체의 깊이 정보 및 상기 현실 객체의 깊이 정보를 기초로, 상기 가상 객체 및 상기 현실 객체 중 깊이가 깊은 객체를 먼저 배치하고, 상기 먼저 배치된 객체 위에 나머지 객체를 오버레이하여 배치하는, XR 디바이스의 제어 방법.
  13. 제12 항에 있어서, 상기 변경 단계는,
    상기 가상 객체가 상기 현실 객체보다 깊이가 깊은 것으로 판단된 경우, 상기 가상 객체의 일부가 상기 현실 객체의 일부에 가려지도록 배치하는, XR 디바이스의 제어 방법.
  14. 제12 항에 있어서, 상기 변경 단계는,
    상기 현실 객체가 상기 가상 객체보다 깊이가 깊은 것으로 판단된 경우, 상기 현실 객체의 일부가 상기 가상 객체의 일부에 가려지도록 배치하는, XR 디바이스의 제어 방법.
  15. 제11 항에 있어서,
    상기 가상 객체의 일부가 상기 현실 객체의 일부를 관통할 경우, 상기 가상 객체를 상기 영상 내에 배치하지 않는 단계;를 더 포함하는, XR 디바이스의 제어 방법.
  16. 제15 항에 있어서,
    상기 가상 객체 및 상기 현실 객체의 깊이가 동일한 상태에서 상기 가상 객체의 일부가 상기 현실 객체의 일부에 겹쳐질 경우, 상기 가상 객체가 상기 현실 객체를 관통한 것으로 판단하는, XR 디바이스의 제어 방법.
  17. 제11 항에 있어서,
    상기 가상 객체의 일부가 상기 현실 객체의 일부를 관통하여, 상기 가상 객체가 상기 영상 내에 배치될 수 없음을 알리는 피드백을 출력하는 단계;를 더 포함하는, XR 디바이스의 제어 방법.
  18. 제15 항에 있어서,
    상기 가상 객체의 일부가 상기 현실 객체의 일부를 관통할 경우, 상기 가상 객체의 일부가 상기 현실 객체의 일부를 관통하지 않도록 상기 가상 객체를 이동시키는 단계;를 더 포함하는, XR 디바이스의 제어 방법.
  19. 제11 항에 있어서,
    상기 가상 객체의 일부 및 상기 현실 객체의 일부가 서로 맞닿을 경우, 상기 현실 객체와 맞닿은 방향으로 상기 가상 객체의 이동을 제한하는 단계;를 더 포함하는, XR 디바이스의 제어 방법.
  20. 제11 항에 있어서,
    상기 가상 객체의 일부 및 상기 현실 객체의 일부가 서로 겹쳐질 경우, 상기 현실 객체와 겹쳐진 방향으로 상기 가상 객체의 이동을 제한하는 단계를 더 포함하는, XR 디바이스의 제어 방법.
KR1020190170741A 2019-12-19 2019-12-19 Xr 디바이스 및 그 제어 방법 KR20210078852A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190170741A KR20210078852A (ko) 2019-12-19 2019-12-19 Xr 디바이스 및 그 제어 방법
US16/820,031 US20210192856A1 (en) 2019-12-19 2020-03-16 Xr device and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190170741A KR20210078852A (ko) 2019-12-19 2019-12-19 Xr 디바이스 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20210078852A true KR20210078852A (ko) 2021-06-29

Family

ID=76439317

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190170741A KR20210078852A (ko) 2019-12-19 2019-12-19 Xr 디바이스 및 그 제어 방법

Country Status (2)

Country Link
US (1) US20210192856A1 (ko)
KR (1) KR20210078852A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023234460A1 (ko) * 2022-06-02 2023-12-07 한국전자기술연구원 대상 객체 적응적 심도 가변형 증강현실 장치 및 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11176755B1 (en) 2020-08-31 2021-11-16 Facebook Technologies, Llc Artificial reality augments and surfaces
US11227445B1 (en) 2020-08-31 2022-01-18 Facebook Technologies, Llc Artificial reality augments and surfaces
US11113893B1 (en) * 2020-11-17 2021-09-07 Facebook Technologies, Llc Artificial reality environment with glints displayed by an extra reality device
US11409405B1 (en) 2020-12-22 2022-08-09 Facebook Technologies, Llc Augment orchestration in an artificial reality environment
US11762952B2 (en) 2021-06-28 2023-09-19 Meta Platforms Technologies, Llc Artificial reality application lifecycle
US12008717B2 (en) 2021-07-07 2024-06-11 Meta Platforms Technologies, Llc Artificial reality environment control through an artificial reality environment schema
US11644895B1 (en) * 2021-10-08 2023-05-09 Synaptics Incorporated Attention cues for head-mounted display (HMD)
US11798247B2 (en) 2021-10-27 2023-10-24 Meta Platforms Technologies, Llc Virtual object structures and interrelationships
US11748944B2 (en) 2021-10-27 2023-09-05 Meta Platforms Technologies, Llc Virtual object structures and interrelationships
US11836874B2 (en) * 2022-03-24 2023-12-05 Gm Cruise Holdings Llc Augmented in-vehicle experiences
US11947862B1 (en) 2022-12-30 2024-04-02 Meta Platforms Technologies, Llc Streaming native application content to artificial reality devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023234460A1 (ko) * 2022-06-02 2023-12-07 한국전자기술연구원 대상 객체 적응적 심도 가변형 증강현실 장치 및 방법

Also Published As

Publication number Publication date
US20210192856A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
KR20210078852A (ko) Xr 디바이스 및 그 제어 방법
US20200042775A1 (en) Artificial intelligence server and method for de-identifying face area of unspecific person from image file
US11138453B2 (en) Driving guide method and apparatus for vehicle
US11276226B2 (en) Artificial intelligence apparatus and method for synthesizing images
KR102647028B1 (ko) Xr 디바이스 및 그 제어 방법
KR20210077482A (ko) 복수의 갱신 정보를 융합하여 인공 지능 모델을 갱신하는 인공 지능 서버 및 그 방법
KR102245911B1 (ko) 인공 지능을 이용하여, 아이템의 정보를 제공하는 냉장고 및 그의 동작 방법
KR20190107627A (ko) 차량의 위치 정보를 제공하는 인공 지능 장치 및 그 방법
KR102297655B1 (ko) 외부 기기를 제어하기 위한 인공 지능 장치
KR102331672B1 (ko) 사용자의 위치를 결정하는 인공 지능 장치 및 그 방법
KR102353103B1 (ko) 인공 지능 장치 및 그의 동작 방법
US11164383B2 (en) AR device and method for controlling the same
KR20190106862A (ko) 인공지능 장치 및 그를 이용한 IoT 기기의 도난 감지 및 탐색 방법
KR20190107626A (ko) 인공지능 서버
US20210239338A1 (en) Artificial intelligence device for freezing product and method therefor
KR102421488B1 (ko) 복수개의 출력 레이어를 이용한 인공 지능 장치 및 방법
KR20230002021A (ko) 스마트 홈 장치 및 방법
KR20210078829A (ko) 다중 언어를 포함하는 음성을 인식하는 인공 지능 장치 및 그 방법
KR102537381B1 (ko) 보행경로예측장치
KR20190104104A (ko) 영상 재생 방법 및 장치
KR20190095186A (ko) 지능형 게이트웨이 장치 및 그를 포함하는 제어 시스템
KR20210057598A (ko) 알림을 제공하는 인공 지능 장치 및 그 방법
KR20210070595A (ko) 검색 서비스를 제공하는 인공 지능 장치 및 그 방법
KR20190098934A (ko) 인공 지능을 이용하여, 안내 서비스를 제공하는 로봇 및 그의 동작 방법
US11550328B2 (en) Artificial intelligence apparatus for sharing information of stuck area and method for the same