KR20230050625A - 전자 장치 및 가상 객체 선택 방법 - Google Patents

전자 장치 및 가상 객체 선택 방법 Download PDF

Info

Publication number
KR20230050625A
KR20230050625A KR1020210133730A KR20210133730A KR20230050625A KR 20230050625 A KR20230050625 A KR 20230050625A KR 1020210133730 A KR1020210133730 A KR 1020210133730A KR 20210133730 A KR20210133730 A KR 20210133730A KR 20230050625 A KR20230050625 A KR 20230050625A
Authority
KR
South Korea
Prior art keywords
virtual object
electronic device
processor
coordinate
type
Prior art date
Application number
KR1020210133730A
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 KR1020210133730A priority Critical patent/KR20230050625A/ko
Publication of KR20230050625A publication Critical patent/KR20230050625A/ko

Links

Images

Classifications

    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • 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/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

다양한 실시예에 따른 전자 장치는, 본체부, 상기 본체부에 의하여 지지되는 글래스 모듈, 상기 글래스 모듈에 배치되는 적어도 하나의 디스플레이 모듈, 상기 본체부에 회전 가능하게 연결되는 지지부 모듈, 전방 카메라 및 시선 추적 카메라(eye tracking camera)를 포함하는 카메라 모듈, 외부 장치와 통신 연결을 수립하는 통신 모듈, 및 상기 디스플레이 모듈, 상기 카메라 모듈 및 상기 통신 모듈과 작동적으로(operatively) 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 디스플레이 모듈의 정해진 위치에 출력되는 제1타입 가상 객체 및 공간의 정해진 위치에 출력되는 제2타입 가상 객체를 적어도 하나 출력하고, 상기 외부 장치로부터 전자 펜의 좌표를 획득하고, 상기 디스플레이 모듈에서 상기 좌표에 대응하는 위치를 결정하여 상기 위치에 포인터(pointer)를 출력하고, 상기 좌표에 기초하여 상기 제1타입 가상 객체 또는 상기 제2타입 가상 객체 중 선택할 객체 타입을 결정하고, 상기 포인터의 위치 및 결정한 객체 타입에 기초하여 적어도 하나의 가상 객체를 선택할 수 있다.
그 외에 다양한 실시예가 가능하다.

Description

전자 장치 및 가상 객체 선택 방법{ELECTRONIC DEVICE AND THE METHOD TO SELECT VIRTUAL OBJECT}
본 문서는 전자 장치에 관한 것이며, 예를 들어 전자 장치를 이용한 가상 객체 선택 방법에 관한 기술이다.
이동통신 기술 및 하드웨어/소프트웨어 기술)의 발달에 따라 휴대용 전자 장치(이하, 전자 장치)는 종래의 통화 기능에서 나아가 다양한 기능들을 구현할 수 있게 되었다. 전자 장치는 다양한 컨텐츠 정보를 디스플레이(예: head mounted display, HMD) 상에 표시할 수 있다. 예를 들어, 전자 장치는 글래스 모듈에 배치된 디스플레이 모듈을 이용하여 사용자의 시야(field of view, FOV) 상에 컨텐츠를 표시할 수 있다. 전자 장치는 본체부 및 지지부 모듈을 더 포함할 수 있으며, 이를 이용해 사용자에게 탈착 및 장착하는 기능을 제공하는 웨어러블 디바이스(wearable device) 일 수 있다. 예를 들어, 전자 장치는 디스플레이에 가상 정보를 제공할 수 있는 AR 글래스(augmented reality glass)일 수 있다.
적어도 하나의 카메라를 전면부 및 후면부에 탑재할 수 있고, 카메라를 이용하여 전방 또는 후방에 위치한 오브젝트를 인식할 수 있다. 전자 장치에는 사용자의 시선을 추적할 수 있는 시선 추적 카메라(eye tracking camera)가 포함될 수 있다.
종래의 전자 장치는 가상 객체를 선택하기 위하여 다양한 방법을 사용할 수 있다. 예를 들어, 카메라를 이용하여 사용자의 시선 또는 제스처를 감지하거나, 전용 컨트롤러를 이용하여 가상 객체를 선택하는 방법을 이용할 수 있다. 사용자의 시선 또는 제스처를 이용하는 방법은 사용자가 원하는 객체를 정확하게 선택하기 어렵다는 문제점이 있었다. 또한, 전용 컨트롤러를 이용하는 방법은 전자 장치와 별개로 전용 컨트롤러를 소지해야 했기에 사용자에게 불편을 초래하는 문제가 있었다.
본 문서의 다양한 실시예들은 상기와 같이 전자 장치를 이용하여 별도의 외부 장치가 없이도 가상 객체를 정확하게 선택할 수 있는 방법을 제공함에 그 목적이 있다.
다양한 실시예에 따른 전자 장치는, 본체부, 상기 본체부에 의하여 지지되는 글래스 모듈, 상기 글래스 모듈에 배치되는 적어도 하나의 디스플레이 모듈, 상기 본체부에 회전 가능하게 연결되는 지지부 모듈, 전방 카메라 및 시선 추적 카메라(eye tracking camera)를 포함하는 카메라 모듈, 외부 장치와 통신 연결을 수립하는 통신 모듈, 및 상기 디스플레이 모듈, 상기 카메라 모듈 및 상기 통신 모듈과 작동적으로(operatively) 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 디스플레이 모듈의 정해진 위치에 출력되는 제1타입 가상 객체 및 공간의 정해진 위치에 출력되는 제2타입 가상 객체를 적어도 하나 출력하고, 상기 외부 장치로부터 전자 펜의 좌표를 획득하고, 상기 디스플레이 모듈에서 상기 좌표에 대응하는 위치를 결정하여 상기 위치에 포인터(pointer)를 출력하고, 상기 좌표에 기초하여 상기 제1타입 가상 객체 또는 상기 제2타입 가상 객체 중 선택할 객체 타입을 결정하고, 상기 포인터의 위치 및 결정한 객체 타입에 기초하여 적어도 하나의 가상 객체를 선택할 수 있다.
다양한 실시예에 따른 전자 장치의 가상 객체 선택 방법은, 디스플레이 모듈의 정해진 위치에 출력되는 제1타입 가상 객체 및 공간의 정해진 위치에 출력되는 제2타입 가상 객체를 적어도 하나 출력하는 동작, 외부 장치와 통신 연결을 수립하여 전자 펜의 좌표를 획득하는 동작, 상기 디스플레이 모듈에서 상기 좌표에 대응하는 위치를 결정하여 상기 위치에 포인터(pointer)를 출력하는 동작, 상기 좌표에 기초하여 상기 제1타입 가상 객체 또는 상기 제2타입 가상 객체 중 선택할 객체 타입을 결정하는 동작, 및 상기 포인터의 위치 및 결정한 객체 타입에 기초하여 적어도 하나의 가상 객체를 선택하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 본 발명은 전자 장치에 부착되어 있는 입력 장치를 활용하여 사용자가 원하는 가상 객체를 정확하게 선택할 수 있다. 다양한 실시예에 따르면, 전자 장치는 가상 객체를 사용자의 시야에 고정적인 제1타입 가상 객체와 현실 공간에 고정되어 있는 제2타입 가상 객체로 구분하고, 입력 장치 및 사용자 장치를 이용하여 두 타입의 가상 객체를 정확하게 선택할 수 있다.
다양한 실시예에 따르면, 전자 장치는 가상 객체를 선택하고 원하는 추가 동작을 실행할 수도 있다. 예를 들어, 전자 장치는 입력 장치로부터의 제어 신호를 수신하여 가상 객체의 객체 타입을 변경하거나 위치를 이동하거나 회전시킬 수 있다. 전자 장치는 디스플레이 상에 표시되는 가상 객체를 사용자가 원하는 대로 제어할 수 있는 다양한 기능을 제공할 수 있다.
그 외에 본 전자 장치의 다양한 실시예들로 인하여 얻을 수 있거나 예측되는 효과에 대해서는 전자 장치의 실시예에 대한 상세한 설명에서 직접적으로 또는 암시적으로 개시하도록 한다. 예컨대, 전자 장치의 다양한 실시예들에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.
도 1은 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2a는 본 발명의 다양한 실시예에 따른 복수의 카메라가 포함된 전자 장치의 전체 구성도이다.
도 2b는 본 발명의 다양한 실시예에 따른 전자 장치의 전면 예시도이다.
도 3은 다양한 실시예에 따른 전자 장치의 블록도이다.
도 4는 다양한 실시예에 따른 전자 장치 및 외부 전자 장치의 구성을 도시하는 도면이다.
도 5는 다양한 실시예에 따른 전자 장치의 블록도이다.
도 6a는 다양한 실시예에 따른 제1타입 가상 객체 및 제2타입 가상 객체를 도시하는 도면이다.
도 6b 및 도 6c는 다양한 실시예에 따른 입력 장치의 z좌표에 따라 서로 다른 타입의 가상 객체를 선택하는 것을 도시하는 도면이다.
도 7a 및 도 7b는 다양한 실시예에 따른 입력 장치가 사용자 장치에서 분리되는 것을 감지하여 포인터를 출력하는 것을 도시하는 도면이다.
도 8은 다양한 실시예에 따른 전자 장치가 선택된 영역 내 복수의 가상 객체들을 선택하는 것을 도시하는 도면이다.
도 9a 및 도 9b는 다양한 실시예에 따른 입력 장치의 z좌표에 기초하여 중첩된 객체 중 하나를 선택하는 것을 도시하는 도면이다.
도 10은 다양한 실시예에 따른 가상 객체의 위치를 이동하는 실시예를 도시하는 도면이다.
도 11은 다양한 실시예에 따른 가상 객체를 회전하는 실시예를 도시하는 도면이다.
도 12는 다양한 실시예에 따른 가상 객체의 객체 타입을 변경하는 실시예를 도시하는 도면이다.
도 13은 다양한 실시예에 따른 포인터의 위치에 가까운 제2타입 가상 객체를 선택하는 실시예를 도시하는 도면이다.
도 14는 다양한 실시예에 따른 전자 장치가 가상 객체를 선택하는 방법의 순서도이다.
이하, 본 발명의 실시 예를 첨부된 도면에 의거하여 상세히 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 또한, 실질적으로 동일한 구성과 기능을 가진 구성 요소들에 대해서는 상세한 설명을 생략하도록 한다.
마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 따라서 본 발명은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되어지지 않는다.
도 1은 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2a는 본 발명의 다양한 실시예에 따른 복수의 카메라가 포함된 전자 장치(예: 도 1의 전자 장치(101))의 전체 구성도이다. 도 2b는 본 발명의 다양한 실시예에 따른 전자 장치의 전면 예시도이다. 도 2b는 전자 장치(101)의 전면부를 도시한 제 1 예시도이고, 내부 구성은 도 2a에 도시된 구성과 동일할 수 있다.
다양한 실시예에서, 전자 장치(101)는 사용자의 머리 부분에 착용되어, 사용자에게 증강현실 서비스와 관련된 영상을 제공할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 사용자의 시야(FoV, field of view)로 판단되는 영역에 적어도 하나의 가상 객체가 겹쳐 보이도록 출력하는 증강 현실 서비스를 제공할 수 있다. 예를 들어, 사용자의 시야로 판단되는 영역은 전자 장치(101)를 착용한 사용자가 전자 장치(101)를 통해 인지할 수 있다고 판단되는 영역으로, 전자 장치(101)의 디스플레이 모듈(예: 도 1의 디스플레이 모듈(160))의 전체 또는 적어도 일부를 포함하는 영역일 수 있다. 일 실시예에 따르면, 전자 장치(101)는 사용자의 양안(예: 좌안 및/또는 우안), 각각에 대응하는 복수 개의 글래스(예: 제 1 글래스(220) 및/또는 제 2 글래스(230))를 포함할 수 있다. 복수 개의 글래스는 디스플레이 모듈(예: 도 3의 제 1 디스플레이 모듈(351) 및/또는 제 2 디스플레이 모듈(353))의 적어도 일부를 포함할 수 있다. 예를 들어, 사용자의 좌안에 대응되는 제 1 글래스(220)에는 제 1 디스플레이 모듈(351)이 포함되고, 사용자의 우안에 대응되는 제 2 글래스(230)에는 제 2 디스플레이 모듈(353)이 포함될 수 있다. 예를 들어, 전자 장치(101)는 안경(glass), 고글(goggles), 헬멧 또는 모자 중 적어도 하나의 형태로 구성될 수 있으나, 이에 한정되지 않는다.
도 2a를 참조하면, 일 실시예에 따른 전자 장치(101)는 디스플레이 모듈(214)(예: 도 1의 디스플레이 모듈(160)), 카메라 모듈(예: 도 1의 카메라 모듈(180)), 오디오 모듈(예: 도 1의 오디오 모듈(170)), 제 1 지지부(221), 및/또는 제 2 지지부(222)를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 제 1 디스플레이(예: 제 1 글래스(220))(예: 도 3의 제 1 디스플레이 모듈(351)) 및/또는 제 2 디스플레이(예: 제 2 글래스(230))(예: 도 3의 제 2 디스플레이 모듈(353))를 포함할 수 있다. 일 실시예에 따르면, 적어도 하나의 카메라는 사용자의 시야(FoV, field of view)에 대응되는 영상을 촬영하거나 및/또는 객체와의 거리를 측정하기 위한 전방 카메라(213), 사용자가 바라보는 시선의 방향을 확인하기 위한 시선 추적 카메라(eye tracking camera)(212), 및/또는 일정 공간을 인식하기 위한 인식용 카메라(gesture camera)(211-1, 211-2)를 포함할 수 있다. 예를 들어, 전방 카메라(213)는 전자 장치(101)의 전면 방향을 촬영할 수 있고, 시선 추적 카메라(212)는 상기 전방 카메라(213)의 촬영 방향과 반대되는 방향을 촬영할 수 있다. 예를 들어, 시선 추적 카메라(212)는 사용자의 양안을 적어도 부분적으로 촬영할 수 있다. 일 실시예에 따르면, 제 1 지지부(221) 및/또는 제 2 지지부(222)는 인쇄 회로 기판(PCB, printed circuit board)(231-1, 231-2), 스피커(speaker)(232-1, 232-2), 및/또는 배터리(233-1, 233-2)를 포함할 수 있다.
일 실시예에 따르면, 디스플레이 모듈(160)(예: 도 2a의 디스플레이 모듈(214))은 전자 장치(101)의 본체부(예: 도 2b의 본체부(223))에 배치될 수 있고, 글래스(예: 제 1 글래스(220) 및 제 2 글래스(230))에 집광 렌즈(미도시) 및/또는 투명 도파관(미도시)을 포함할 수 있다. 예를 들어, 투명 도파관은 글래스의 일부에 적어도 부분적으로 위치할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)에서 방출된 광은 상기 제 1 글래스(220) 및 상기 제 2 글래스(230)를 통해, 글래스의 일단으로 입광될 수 있고, 상기 입광된 광이 글래스 내에 형성된 도파관 및/또는 도파로(예: waveguide)를 통해 사용자에게 전달될 수 있다. 도파관은 글래스, 플라스틱, 또는 폴리머로 제작될 수 있으며, 내부 또는 외부의 일표면에 형성된 나노 패턴, 예를 들어, 다각형 또는 곡면 형상의 격자 구조(grating structure)를 포함할 수 있다. 일 실시예에 따르면, 상기 입광된 광은 나노 패턴에 의해 도파관 내부에서 전파 또는 반사되어 사용자에게 제공될 수 있다. 일 실시예에 따르면, 도파로(waveguide)는 적어도 하나의 회절 요소(예: DOE(diffractive optical element), HOE(holographic optical element)) 또는 반사 요소(예: 반사 거울) 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면, 도파로는 적어도 하나의 회절 요소 또는 반사 요소를 이용하여 광원부로부터 방출된 디스플레이 광을 사용자의 눈으로 유도할 수 있다.
도 2a를 참조하면, 제 1 지지부(221) 및/또는 제 2 지지부(222)는 전자 장치(101)의 각 구성요소에 전기적 신호를 전달하기 위한 인쇄 회로 기판(231-1, 231-2), 오디오 신호를 출력하기 위한 스피커(232-1, 232-2), 배터리(233-1, 233-2) 및/또는 전자 장치(101)의 본체부(223)에 적어도 부분적으로 결합하기 위한 힌지부(240-1, 240-2)를 포함할 수 있다. 일 실시예에 따르면, 스피커(232-1, 232-2)는 사용자의 좌측 귀에 오디오 신호를 전달하기 위한 제 1 스피커(232-1) 및 사용자의 우측 귀에 오디오 신호를 전달하기 위한 제 2 스피커(232-2)를 포함할 수 있다. 스피커(232-1, 232-2)는 도 1의 오디오 모듈(170)에 포함될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 복수 개의 배터리(233-1, 233-2)가 구비될 수 있고, 전력 관리 모듈(예: 도 1의 전력 관리 모듈(188))을 통해, 인쇄 회로 기판(231-1, 231-2)에 전력을 공급할 수 있다.
도 2a를 참조하면, 전자 장치(101)는 사용자의 음성 및 주변 소리를 수신하기 위한 마이크(241)를 포함할 수 있다. 예를 들어, 마이크(241)는 도 1의 오디오 모듈(170)에 포함될 수 있다. 전자 장치(101)는 적어도 하나의 카메라(예: 전방 카메라(213), 시선 추적 카메라(212) 및/또는 인식용 카메라(211-1, 211-2))의 정확도를 높이기 위한 적어도 하나의 발광 장치(illumination LED)(242)를 포함할 수 있다. 예를 들어, 발광 장치(242)는 시선 추적 카메라(212)로 사용자의 동공을 촬영할 때 정확도를 높이기 위한 보조 수단으로 사용될 수 있으며, 발광 장치(242)는 가시광 파장보다 적외선 파장의 IR LED를 사용할 수 있다. 다른 예를 들어, 발광 장치(242)는 인식용 카메라(211-1, 211-2)로 사용자의 제스처를 촬영할 때 어두운 환경이나 여러 광원의 혼입 및 반사 빛 때문에 촬영하고자 하는 피사체 검출이 용이하지 않을 때 보조 수단으로 사용될 수 있다.
도 2b를 참조하면, 일 실시예에 따른 전자 장치(101)는 본체부(223)와 지지부(예: 제 1 지지부(221), 및/또는 제 2 지지부(222))로 구성될 수 있고, 본체부(223)와 지지부(221, 222)는 작동적으로 연결된 상태일 수 있다. 예를 들어, 본체부(223)와 지지부(221, 222)는 힌지부(240-1, 240-2)를 통해 작동적으로 연결될 수 있다. 본체부(223)는 사용자의 코에 적어도 부분적으로 거치될 수 있고, 디스플레이 모듈(160) 및 카메라 모듈(예: 도 1의 카메라 모듈(180))을 포함할 수 있다. 지지부(221, 222)는 사용자의 귀에 거치되는 지지 부재를 포함하고, 왼쪽 귀에 거치되는 제 1 지지부(221) 및/또는 오른쪽 귀에 거치되는 제 2 지지부(222)를 포함할 수 있다. 일 실시예에 따르면, 제 1 지지부(221) 또는 제 2 지지부(222)는 적어도 부분적으로 인쇄 회로 기판(231-1, 231-2), 스피커(232-1, 232-2), 및/또는 배터리(233-1, 233-2)(예: 도 1의 배터리(189), 도 3의 제1 배터리(333) 및/또는 제2 배터리(343))를 포함할 수 있다. 배터리는 전력 관리 모듈(예: 도 1의 전력 관리 모듈(188))과 전기적으로 연결될 수 있다.
일 실시예에 따르면, 디스플레이 모듈(160)은 제 1 글래스(220) 및/또는 제 2 글래스(230)를 포함할 수 있고, 상기 제 1 글래스(220) 및 상기 제 2 글래스(230)를 통해 사용자에게 시각적인 정보를 제공할 수 있다. 전자 장치(101)는 좌안에 대응하는 제 1 글래스(220) 및/또는 우안에 대응하는 제 2 글래스(230)를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 디스플레이 패널 및/또는 렌즈(예: 글래스)를 포함할 수 있다. 예를 들어, 디스플레이 패널은 유리 또는 플라스틱과 같은 투명한 재질을 포함할 수 있다.
일 실시예에 따르면, 디스플레이 모듈(160)은 투명 소자로 구성될 수 있고, 사용자가 디스플레이 모듈(160)을 투과하여, 상기 디스플레이 모듈(160)의 후면의 실제 공간을 인지할 수 있다. 디스플레이 모듈(160)은 사용자에게 실제 공간의 적어도 일부에 가상 객체가 덧붙여진 것으로 보여지도록 투명 소자의 적어도 일부 영역에 가상 객체를 표시할 수 있다. 디스플레이 모듈(160)에 포함된 제 1 글래스(220) 및/또는 제 2 글래스(230)는 사용자의 양안(예: 좌안(left eye) 및/또는 우안(right eye)), 각각에 대응되는 복수의 디스플레이 패널을 포함할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 VR(virtual reality) 장치(예: 가상 현실 장치)를 포함할 수 있다. 전자 장치(101)가 VR 장치인 경우 제 1 글래스(220)는 제 1 디스플레이 모듈(351)일 수 있고, 제 2 글래스(230)는 제 2 디스플레이 모듈(353)일 수 있다.
일 실시예에 따르면, 디스플레이 모듈(160)을 통해 출력되는 가상 객체는 전자 장치(101)에서 실행되는 어플리케이션 프로그램과 관련된 정보 및/또는 사용자의 시야(FoV, field of view)로 판단되는 영역에 대응하는 실제 공간에 위치한 외부 객체와 관련된 정보를 포함할 수 있다. 예를 들어, 전자 장치(101)는 전자 장치(101)의 카메라(예: 전방 카메라(213))를 통해 획득한 실제 공간과 관련된 영상 정보 중 사용자의 시야(FoV)로 판단되는 영역에 대응하는 적어도 일부에 포함되는 외부 객체를 확인할 수 있다. 전자 장치(101)는 적어도 일부에서 확인한 외부 객체와 관련된 가상 객체를 전자 장치(101)의 표시 영역 중 사용자의 시야로 판단되는 영역을 통해 출력(또는 표시)할 수 있다. 상기 외부 객체는 실제 공간에 존재하는 사물을 포함할 수 있다. 다양한 실시예에 따르면, 전자 장치(101)가 가상 객체를 표시하는 표시 영역은 디스플레이 모듈(예: 제 1 디스플레이 모듈(351) 또는 제 2 디스플레이 모듈(353))의 일부(예: 디스플레이 패널의 적어도 일부)를 포함할 수 있다. 일 실시예에 따르면, 표시 영역은 제 1 글래스(220) 및/또는 제 2 글래스(230)의 적어도 일부분에 대응되는 영역일 수 있다.
일 실시예에 따르면, 전자 장치(101)는 사용자의 시야(FoV)에 대응되는 영상을 촬영하거나 및/또는 객체와의 거리를 측정하기 위한 전방 카메라(213)(예: RGB 카메라), 사용자가 바라보는 시선 방향을 확인하기 위한 시선 추적 카메라(212)(eye tracking camera), 및/또는 일정 공간을 인식하기 위한 인식용 카메라(211-1, 211-2)(예: 제스처 카메라(gesture camera))를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 전방 카메라(213)를 사용하여, 상기 전자 장치(101)의 전면 방향에 위치한 객체와의 거리를 측정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 사용자의 양안에 대응하여 복수 개의 시선 추적 카메라(212)가 배치될 수 있다. 예를 들어, 시선 추적 카메라(212)는 상기 전방 카메라(213)의 촬영 방향과 반대되는 방향을 촬영할 수 있다. 시선 추적 카메라(212)는 사용자의 시선 방향(예: 눈동자 움직임)을 감지할 수 있다. 예를 들어, 시선 추적 카메라(212)는 사용자의 왼쪽 눈의 시선 방향을 추적하기 위한 제 1 시선 추적 카메라(212-1), 및 사용자의 오른쪽 눈의 시선 방향을 추적하기 위한 제 2 시선 추적 카메라(212-2)를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 인식용 카메라(211-1, 211-2)를 사용하여, 기 설정된 거리 이내(예: 일정 공간)에서의 사용자 제스처를 감지할 수 있다. 예를 들어, 인식용 카메라(211-1, 211-2)는 복수 개로 구성될 수 있고, 전자 장치(101)의 양 측면에 배치될 수 있다.
일 실시예에 따르면, 전방 카메라(213)는 HR(high resolution) 카메라 및/또는 PV(photo video) 카메라와 같은 고해상도의 카메라를 포함할 수 있다. 일 실시예에 따르면, 시선 추적 카메라(212)는 사용자의 눈동자를 검출하여, 시선 방향을 추적할 수 있고, 가상 영상의 중심이 상기 시선 방향에 대응하여 이동하도록 활용될 수 있다. 예를 들어, 시선 추적 카메라(212)는 좌안에 대응되는 제 1 시선 추적 카메라(212-1) 및 우안에 대응되는 제 2 시선 추적 카메라(212-2)로 구분될 수 있고, 카메라의 성능 및/또는 규격이 실질적으로 동일할 수 있다. 일 실시예에 따르면, 인식용 카메라(211-1, 211-2)는 사용자의 손(제스처) 검출 및/또는 공간 인식을 위해 사용될 수 있고, GS(global shutter) 카메라를 포함할 수 있다. 예를 들어, 인식용 카메라(211-1, 211-2)는 빠른 손동작 및/또는 손가락 등의 미세한 움직임을 검출 및 추적하기 위해, RS(rolling shutter) 카메라와 같이, 화면 끌림이 적은 GS 카메라를 포함할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 전자 장치(101)의 카메라(예: 도 1의 카메라 모듈(180))를 통해 획득한 실제 공간과 관련된 영상 정보에 기반하여 증강 현실 서비스와 관련된 가상 객체를 함께 표시할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 사용자의 양안에 대응하여 배치된 디스플레이 모듈(예: 좌안에 대응되는 제 1 디스플레이 모듈(351), 및/또는 우안에 대응되는 제 2 디스플레이 모듈(353))을 기반으로 상기 가상 객체를 표시할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 기 설정된 설정 정보(예: 해상도(resolution), 프레임 레이트(frame rate), 밝기, 및/또는 표시 영역)를 기반으로 상기 가상 객체를 표시할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 제 1 글래스(220)에 포함된 제 1 디스플레이 패널과 제 2 글래스(230)에 포함된 제 2 디스플레이 패널을 각각 독립된 구성부로 동작할 수 있다. 예를 들어, 전자 장치(101)는 제 1 설정 정보를 기반으로 제 1 디스플레이 패널의 표시 성능을 결정할 수 있고, 제 2 설정 정보를 기반으로 제 2 디스플레이 패널의 표시 성능을 결정할 수 있다.
도 2a 및 도 2b에 도시된 전자 장치(101)에 포함되는 적어도 하나의 카메라(예: 전방 카메라(213), 시선 추적 카메라(212) 및/또는 인식용 카메라(211-1, 211-2))의 개수 및 위치는 한정되지 않을 수 있다. 예를 들어, 전자 장치(101)의 형태(예: 모양 또는 크기)에 기반하여 적어도 하나의 카메라(예: 전방 카메라(213), 시선 추적 카메라(212) 및/또는 인식용 카메라(211-1, 211-2))의 개수 및 위치는 다양할 수 있다.
도 3은 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3을 참조하면, 전자 장치(101)는 프로세서(120)(예: 도 1의 프로세서(120)), 메모리(130)(예: 도 1의 메모리(130)), 디스플레이 모듈(160)(예: 도 1의 디스플레이 모듈(160)), 오디오 모듈(170)(예: 도 1의 오디오 모듈(170)), 센서 모듈(176)(예: 도 1의 센서 모듈(176)), 카메라 모듈(180)(예: 도 1의 카메라 모듈(180)), 전력 관리 모듈(188)(예: 도 1의 전력 관리 모듈(188)), 배터리(189)(예: 도 1의 배터리(189)), 및/또는 통신 모듈(예: 도 1의 통신 모듈(190))을 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 연결 단자(330)(예: USB TYPE-C)를 통해, 외부 전자 장치(미도시)와 연결될 수 있다. 예를 들어, 전자 장치(101)의 전력 관리 모듈(188)은 연결 단자(330)를 통해 외부 전자 장치로부터 전력을 수신하여 배터리(189)를 충전할 수 있다. 다른 예를 들어, 전자 장치(101)의 프로세서(120)는 연결 단자(330)를 통해 외부 전자 장치와 전력선 통신을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 본체부(예: 도 2b의 본체부(223))와 지지부(예: 도 2b의 제 1 지지부(221), 및/또는 제 2 지지부(222))로 구성될 수 있다. 일 실시예에 따르면, 전자 장치(101)의 구성 요소들은 본체부(223) 또는 지지부(221, 222)에 배치될 수 있다.
일 실시예에 따르면, 프로세서(120)는 메모리(130)에 저장된 프로그램(예: 도 1의 프로그램(140))을 실행하여, 적어도 하나의 다른 구성 요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자에게 증강 현실 서비스를 제공할 수 있다. 프로세서(120)는 디스플레이 모듈(160)을 통해, 전자 장치(101)를 착용한 사용자의 시야에 대응하는 실제 공간에, 적어도 하나의 가상 객체가 덧붙여 보여지도록 적어도 하나의 가상 객체를 출력할 수 있다.
일 실시예에 따르면, 전자 장치(101)의 디스플레이 모듈(160)은 적어도 하나의 글래스(예: 제 1 글래스(예: 도 2a의 제 1 글래스(220)) 및/또는 제 2 글래스(예: 도 2a의 제 2 글래스(230)))를 포함할 수 있다. 일 실시예에 따르면, 제 1 글래스(220)는 제 1 디스플레이 모듈(351)의 적어도 일부를 포함하고, 제 2 글래스(230)는 제 2 디스플레이 모듈(353)의 적어도 일부를 포함할 수 있다. 예를 들어, 제 1 디스플레이 모듈(351) 및/또는 제 2 디스플레이 모듈(353)은 각각 디스플레이 패널을 포함할 수 있다. 디스플레이 패널은 사용자가 디스플레이 모듈(160)을 통해 실제 공간을 인지할 수 있도록 투명 소자로 구성될 수 있다. 디스플레이 모듈(160)은 전자 장치(101)를 착용한 사용자가 실제 공간에 가상 객체가 덧붙여진 것으로 보여지도록 디스플레이 패널의 적어도 일부에 적어도 하나의 가상 객체를 표시할 수 있다. 예를 들어, 사용자의 시야각은 사용자가 사물을 인식할 수 있는 각도 및/또는 범위를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 사용자의 양안 중 좌안에 대응되는 제 1 디스플레이 모듈(351) 및/또는 우안에 대응되는 제 2 디스플레이 모듈(353)을 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)는 디스플레이 모듈(160)의 성능과 관련된 설정 정보(예: 해상도(resolution), 프레임 레이트(frame rate), 표시 영역의 크기, 및/또는 선명도(sharpness))를 메모리(130)로부터 로딩할 수 있고, 상기 설정 정보를 기반으로 디스플레이 모듈(160)의 성능을 조정할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)에 포함된 각각의 디스플레이 패널은 개별적으로 설정 정보가 결정될 수 있다. 예를 들어, 좌안에 대응되는 제 1 디스플레이 패널은 제 1 설정 정보를 기반으로 설정될 수 있고, 우안에 대응되는 제 2 디스플레이 패널은 제 2 설정 정보를 기반으로 설정될 수 있다. 다른 일 실시예에 따르면, 상기 설정 정보는 디스플레이 모듈(160)에 포함된 하나의 디스플레이 패널의 적어도 일부를 다르게 설정할 수 있다. 예를 들어, 전자 장치(101)는 디스플레이 모듈(160)에 대한 해상도(resolution), 프레임 레이트(frame rate), 및/또는 선명도(sharpness) 중 적어도 하나를 다르게 설정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 디스플레이 모듈(160)의 설정을 적어도 부분적으로 변경함으로써, 소모 전력을 줄일 수 있다.
일 실시예에 따르면, 오디오 모듈(170)은 프로세서(120)의 제어에 기반하여, 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 예를 들어, 오디오 모듈(170)은 도 2a의 스피커(232-1, 232-2) 및/또는 도 2a의 마이크(241)를 포함할 수 있다.
일 실시예에 따르면, 전자 장치(101)의 센서 모듈(176)은 근접 센서(321), 조도 센서(322), 및/또는 자이로 센서(323)를 포함할 수 있다. 일 실시예에 따르면, 근접 센서(321)는 전자 장치(101)에 인접하는 객체를 감지할 수 있다. 조도 센서(322)는 전자 장치(101) 주변의 밝기 정도를 측정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 조도 센서(322)를 사용하여 전자 장치(101) 주변의 밝기 정도를 확인하고, 상기 밝기 정도를 기반으로 디스플레이 모듈(160)의 밝기 관련 설정 정보를 변경할 수 있다. 예를 들어, 주변의 밝기가 기 설정된 밝기보다 더 밝으면, 프로세서(120)는 사용자의 시인성이 높아지도록 디스플레이 모듈(160)의 밝기 정도를 보다 높게 설정할 수 있다. 일 실시예에 따르면, 자이로 센서(323)는 전자 장치(101)의 자세 및 위치를 감지할 수 있다. 예를 들어, 자이로 센서(323)는 전자 장치(101)가 사용자의 머리에 올바르게 착용되었는지 여부를 감지할 수 있다. 다른 예를 들어, 자이로 센서(323)는 전자 장치(101) 또는 전자 장치(101)를 착용한 사용자의 움직임을 감지할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 통신 모듈(190)(예: 무선 통신 회로)을 통해, 다른 전자 장치(예: 도 1의 전자 장치(102, 104))와 무선 통신을 수행할 수 있다. 예를 들어, 전자 장치(101)는 휴대 전자 장치(예: 스마트폰)와 무선 통신을 수행할 수 있고, 서로 명령어 및/또는 데이터를 교환할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 외부의 다른 전자 장치(예: 휴대 전자 장치)에 의해, 적어도 부분적으로 제어될 수 있다. 예를 들어, 전자 장치(101)는 외부의 다른 전자 장치의 제어 하에, 적어도 하나의 기능이 수행될 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)는 무선 및/또는 유선으로 연결된 다른 전자 장치(예: 도 1의 전자 장치(102, 104))의 제어에 기반하여, 디스플레이 패널의 설정의 적어도 일부를 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 전자 장치(101)의 카메라(예: 도 1의 카메라 모듈(180))를 통해 획득한 주시안/보조시안 관련 정보(예: 실제 공간에 위치한 객체와의 거리 정보, 사용자의 시선 추적 정보, 사용자의 제스처 정보)를 다른 전자 장치로 전송할 수 있다. 다른 전자 장치는 전자 장치(101)로부터 수신한 주시안/보조시안 관련 정보에 기반하여, 검출한 주시안 또는 보조시안에 대응되는 글래스(예: 제 1 글래스(220), 및/또는 제 2 글래스(230))에 포함된 디스플레이 패널의 설정 정보를 전자 장치(101)로 전송할 수 있다. 전자 장치(101)는 다른 전자 장치로부터 수신한 디스플레이 패널의 설정 정보를 기반으로, 디스플레이 패널의 설정의 적어도 일부를 변경할 수 있다. 예를 들어, 디스플레이 패널의 설정은 디스플레이 패널의 품질을 낮추도록 변경될 수 있고, 사용자가 체감하지 못할 정도로 설정의 적어도 일부가 변경될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 디스플레이 패널의 해상도를 줄이거나, 프레임 레이트를 줄이거나, 또는 디스플레이 패널의 표시 영역의 크기 및 위치를 조정할 수 있다.
일 실시예에 따르면, 전자 장치(101)의 카메라 모듈(180)은 제스처 카메라(gesture camera)(311), 시선 추적 카메라(eye tracking camera)(313), 거리 측정 카메라(depth camera)(315), 및/또는 RGB 카메라(317)를 포함할 수 있다. 일 실시예에 따르면, 제스처 카메라(311)는 사용자의 움직임을 감지할 수 있다. 도 2a의 인식용 카메라(211-1, 211-2)는 제스처 카메라(311)를 포함할 수 있다. 예를 들어, 제스처 카메라(311)는 전자 장치(101)에 적어도 하나 이상 배치될 수 있고, 기 설정된 거리 내에서 사용자의 손 움직임을 감지할 수 있다. 제스처 카메라(311)는 전자 장치(101)의 주변 공간과 관련된 정보(예: 위치 및/또는 방향)를 인식하기 위한 SLAM 카메라(simultaneous localization and mapping camera)를 포함할 수 있다. 제스처 카메라(311)의 제스처 인식 영역은 제스처 카메라(311)의 촬영 가능 범위에 기반하여 설정될 수 있다. 일 실시예에 따르면, 시선 추적 카메라(313)(예: 도 2a의 시선 추적 카메라(212))는 사용자의 좌안 및 우안의 움직임을 추적할 수 있다. 일 실시예에 따르면, 프로세서(120)는 시선 추적 카메라(313)를 사용하여, 좌안의 시선 방향 및 우안의 시선 방향을 확인할 수 있다. 예를 들어, 시선 추적 카메라(313)는 좌안의 시선 방향을 확인하기 위한 제 1 시선 추적 카메라(212-1) 및 우안의 시선 방향을 확인하기 위한 제 2 시선 추적 카메라(212-2)를 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)는 좌안의 시선 방향 및 우안의 시선 방향을 기반으로 주시안 및 보조시안을 결정할 수 있다. 일 실시예에 따르면, 거리 측정 카메라(315)는 전자 장치(101)의 전면에 위치한 객체와의 거리를 측정할 수 있다. 도 2a의 촬영용 카메라(213)는 거리 측정 카메라(315)를 포함할 수 있다. 거리 측정 카메라(315)는 TOF(time of flight) 카메라 및/또는 depth 카메라를 포함할 수 있다. 일 실시예에 따르면, 거리 측정 카메라(315)는 전자 장치(101)의 전면 방향을 촬영할 수 있고, 시선 추적 카메라(313)는 거리 측정 카메라(315)의 촬영 방향과 반대되는 방향을 촬영할 수 있다. 다른 실시예에 따르면, 전자 장치(101)는 거리 측정 카메라(315)를 사용하여 객체와의 거리를 측정할 수 있고, 상기 거리가 임계값 이상인 경우에 디스플레이 패널의 설정을 변경할 수 있다. 예를 들어, 전자 장치(101)는 객체와의 거리가 임계값 이하로 가까운 경우 디스플레이 패널의 표시 성능을 유지할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 시선 추적 카메라(313)로 사용자가 바라보고 있는 시선 방향(예: FOV)에 위치하는 객체 중 하나를 인지하고, 해당 객체와의 거리를 depth 카메라를 통해 depth를 계산하거나 또는 해당 객체와의 거리를 TOF 카메라를 통해 거리를 측정할 수 있다. 일 실시예에 따르면, RGB(red green blue) 카메라(317)는 객체의 색상 관련 정보 및 객체와의 거리 정보를 감지할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 거리 측정 카메라(315)와 RGB 카메라(317)를 통합하여, 한 종류의 카메라를 포함할 수 있다. 예를 들어, 도 2a의 촬영용 카메라(213)는 거리 측정 카메라(315) 및/또는 RGB 카메라(317)를 포함할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)에 포함된 제스처 카메라(311), 시선 추적 카메라(313), 거리 측정 카메라(315), 및/또는 RGB 카메라(317)는 각각 전자 장치(101)에 포함되거나 또는 일부는 통합된 형태의 카메라로 구현될 수도 있다. 예를 들어, 거리 측정 카메라(315)와 RGB 카메라(317)는 하나의 통합된 카메라로 구현될 수 있다.
일 실시예에 따르면, 전력 관리 모듈(188) 은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 전력 관리 모듈(188)은 복수 개의 전력 관리 모듈(예: 제 1 전력 관리 모듈(331), 제 2 전력 관리 모듈(332))을 포함할 수 있다. 제 1 전력 관리 모듈(331) 또는 제 2 전력 관리 모듈(332) 중 적어도 일부는 프로세서(120)에 직접적으로(directly) 연결되어 전력을 공급할 수 있다. 제 1 전력 관리 모듈(331) 또는 제2 전력 관리 모듈(332) 중 적어도 일부는 연결 단자(330)(예: TYPE-C)를 통해 외부 전자 장치로부터 전력을 수신하여 배터리(189)를 충전하거나 전자 장치(101)의 다른 구성 요소들로 전력을 공급할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 무선 충전 방식을 통하여 외부 전자 장치로부터 전력을 수신하여 배터리(188)를 충전할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은 전자 장치(101)의 구성 요소들(예: 메모리(130), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 카메라 모듈(180), 및/또는 통신 모듈(190))과 전기적으로 연결될 수 있다. 예를 들어, 전력 관리 모듈(188)은 프로세서(120)의 제어에 기반하여 배터리(189)의 전력을 전자 장치(101)의 구성 요소들로 제공할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제 1 전력 관리 모듈(331)을 통해, 제 1 배터리(333)로부터 전력을 공급받을 수 있고, 제 2 전력 관리 모듈(332)을 통해, 제 2 배터리(334)로부터 전력을 공급받을 수 있다. 일 실시예에 따르면, 프로세서(120)는 카메라 모듈(180)에 포함된 상기 적어도 하나의 카메라(311, 313, 315, 317)를 사용하여 획득한 정보를 기반으로 디스플레이 모듈(160)의 설정을 적어도 부분적으로 변경함으로써, 소모되는 전력을 관리할 수 있다.
일 실시예에 따르면, 배터리(189)는 전력 관리 모듈(188)의 제어 하에, 전력을 공급 받아 충전되거나 전력을 제공하여 방전될 수 있다. 일 실시예에 따르면, 배터리(189)는 복수 개의 배터리(예: 제1 배터리(333), 제2 배터리(343))를 포함할 수 있다. 예를 들어, 복수 개의 배터리(예: 제1 배터리(333), 제2 배터리(343))는 본체부(223)와 지지부(예: 제 1 지지부(221), 및/또는 제 2 지지부(222))에 배치될 수 있다. 일 실시예에 따르면 제1 배터리(333)는 제1 지지부(221)에 배치될 수 있고, 제2 배터리(343)는 제2 지지부(222)에 배치될 수 있다.
도 4는 다양한 실시예에 따른 전자 장치 및 외부 전자 장치의 구성을 도시하는 도면이다.
도 4를 참조하면, 일 실시예에 따르면, 전자 장치(400)(예: 도 1의 전자 장치(101))는, 입력 장치(402)와 통신할 수 있다. 전자 장치(400)와 입력 장치(402)는 통신 회로와 다양한 방식의 근거리 무선 통신 방식 중 적어도 하나를 이용해서 통신할 수 있다. 예컨대, 근거리 무선 통신 방식은 저전력 블루투스(bluetooth low energy, BLE) 통신일 수 있으나, 이에 한정하는 것은 아니다.
전자 장치(400)는 펜 컨트롤러(410)(예: 도 1의 프로세서(120) 또는 도 3의 프로세서(310))를 포함할 수 있다.
펜 컨트롤러(410)는, 예를 들어 적어도 하나의 코일(411, 412)에 연결되는 적어도 하나의 증폭기(미도시)를 포함할 수 있다. 펜 컨트롤러(410)는, 적어도 하나의 코일(411, 412)을 포함할 수 있으며, 적어도 하나의 코일(411, 412)을 통하여 입력 장치(402)에 충전용 전력을 제공할 수 있다.
일 실시예에 따르면, 적어도 하나의 코일(411, 412)은 입력 장치(402)가 전자 장치(400)의 내부 공간으로 삽입된 경우, 입력 장치(402)의 코일(421)과 물리적으로 인접하는 위치에 배치될 수 있으나, 배치 위치에는 제한이 없다. 한편, 내부 공간으로의 삽입은 예시적인 것으로, 전자 장치(400)는 내부 공간 이외에도, 입력 장치(402)가 장착(또는, 부착)될 수 있는 영역(또는, 공간)을 포함할 수도 있으며, 이 경우 입력 장치(402)는 해당 영역(또는, 공간)에 탈부착될 수 있다. 펜 컨트롤러(410)의 적어도 일부의 기능은 프로세서(120)에 의하여 수행될 수 있거나, 또는 펜 컨트롤러(410) 및 프로세서(120)가 통합되어 적어도 일부의 기능을 수행하도록 구현될 수도 있다.
일 예를 들어, 펜 컨트롤러(410)는, 적어도 하나의 코일(411, 412) 이외에도 제어 회로(예를 들어, 프로세서(120)로부터 독립적인 제어 회로), 인버터, 및/또는 증폭기를 포함할 수 있다.
입력 장치(402)의 공진회로(420)는 코일(421), 적어도 하나의 커패시터(422, 423), 및/또는 스위치(424)를 포함할 수 있다. 스위치(424)가 오프 상태인 경우에는, 코일(421) 및 커패시터(422)가 공진 회로를 구성할 수 있으며, 스위치(424)가 온 상태인 경우에는 코일(421)과 커패시터들(422, 423)이 공진 회로를 구성할 수 있다. 이에 따라, 스위치(424)의 온/오프 상태에 따라 공진 회로(420)의 공진 주파수가 변경될 수 있다. 예를 들어, 전자 장치(400)는, 입력 장치(402)로부터의 신호의 주파수에 기반하여, 스위치(424)의 온/오프 상태를 확인할 수 있다. 예를 들어, 입력 장치(402)의 버튼이 눌림/릴리즈되는 경우, 스위치(424)가 온/오프될 수 있으며, 전자 장치(400)는 입력 장치(402)의 버튼의 눌림 여부를, 디지타이저를 통하여 확인되는 수신 신호의 주파수에 기반하여 확인할 수 있다.
적어도 하나의 정류기(431, 435)는, 공진 회로(420)로부터 출력되는 교류 파형의 신호(VPEN)를 정류하여 출력할 수 있다. 충전 스위치 컨트롤러(SWchg ctrl)(432)는, 정류기(431)로부터 출력되는 정류된 신호(VM)를 수신할 수 있다. 정류된 신호(VM)에 기반하여, 충전 스위치 컨트롤러(432)는, 공진 회로(420)에서 발생되는 신호가 충전용 신호인지 또는 위치 검출을 위한 신호인지 여부를 확인할 수 있다. 예를 들어, 충전 스위치 컨트롤러(432)는, 예를 들어 정류된 신호(VM)의 전압의 크기에 기반하여 공진 회로(420)에서 발생되는 신호가 충전용 신호인지 또는 위치 검출을 위한 신호인지 여부를 확인할 수 있다. 또는, 충전 스위치 컨트롤러(432)는, 정류된 신호(VM)의 파형에 기반하여 충전 개시용 패턴을 가지는 신호가 입력되는지 여부를 확인할 수도 있다.
충전 스위치 컨트롤러(432)는 충전 스위치(436)를 켜거나 끌 수 있다. 충전 스위치 컨트롤러(432)는 배터리(437)의 충전을 제어할 수 있다.
일 실시 예에서, 충전 스위치(436)는 충전 스위치 컨트롤러(432)의 제어에 따라 정류기(435)로부터 수신된 충전 전력을 배터리(437)로 전달할 수 있다.
배터리(437)는, 충전 스위치(436)가 온 상태인 경우, 수신한 정류된 신호(VIN)를 이용하여 충전될 수 있다. 과전압 보호 회로(over-voltage protection circuit: OVP)(433)는 배터리 전압(VBAT)을 확인할 수 있으며, 배터리 전압(VBAT)이 과전압 임계치를 초과하면 충전 스위치(436)를 오프 상태로 제어할 수 있다.
일 실시 예에서, 로드 스위치 컨트롤러(SWL ctrl)(434)는 배터리(437)가 출력하는 전압 값을 측정할 수 있다.
로드 스위치 컨트롤러(SWL ctrl)(434)는, 배터리 전압(VBAT)이 동작 전압 임계치를 초과하는 것으로 확인되면, 로드 스위치(SWL)(438)를 온 상태로 제어할 수 있다. 로드 스위치(438)가 온 상태가 되면, 배터리(437)로부터의 전력이 BLE 통신 회로 및 컨트롤러(BLE + controller)(439)로 전달될 수 있다. 로드 스위치 컨트롤러(434)는 저 전압 록 아웃(UVLO, under voltage lock out) 회로를 포함할 수 있다.
일 실시 예에서, 로드 스위치(438)는 로드 스위치 컨트롤러(434)의 제어에 따라 BLE 통신 회로 및 컨트롤러(439)가 동작하는 데 필요한 전원을 공급할 수 있다. 로드 스위치(438)는 BLE 통신 회로 및 컨트롤러(439) 및 배터리(437) 사이의 연결을 제어할 수 있다.
BLE 통신 회로 및 컨트롤러(439)는 수신한 전력을 이용하여 동작할 수 있다. 버튼 제어 회로(button control)(440)는, 입력 장치(402)와 전자 장치(400)와의 거리가 임계 거리보다 큰 경우, 버튼의 입력에 대한 정보를 BLE 통신 회로 및 컨트롤러(439)로 전달할 수 있다. BLE 통신 회로 및 컨트롤러(439)는 수신한 버튼 입력에 대한 정보를, 안테나(441)를 통하여 전자 장치(400)로 송신할 수 있다.
센서(450)는, 자이로 센서(451) 및/또는 가속도 센서(452)를 포함할 수 있다. 자이로 센서(451) 및/또는 가속도 센서(452)에 의하여 획득된 센싱 데이터는 BLE 통신 회로 및 컨트롤러(439)로 전달될 수 있다.
BLE 통신 회로 및 컨트롤러(439)는, 수신한 센싱 데이터를 포함하는 통신 신호를 안테나(441)를 통하여 전자 장치(400)로 송신할 수 있다. 또는, BLE 통신 회로 및 컨트롤러(439)는, 수신한 센싱 데이터에 기반하여 확인된 입력 장치(402)의 위치와 연관된 정보(예: 입력 장치의 좌표 및/또는 변위)를 확인할 수 있다. BLE 통신 회로 및 컨트롤러(439)는, 확인된 입력 장치(402)의 위치와 연관된 정보를, 안테나(441)를 통하여, 전자 장치(400)로 송신할 수 있다.
BLE 통신 회로 및 컨트롤러(439)는, 입력 장치(402)가 전자 장치(400)로부터 인출 또는 탈착된 경우, 가속도 센서(452)를 활성화할 수 있다. BLE 통신 회로 및 컨트롤러(439)는, 버튼이 눌러지는 경우, 자이로 센서(451)를 활성화시킬 수 있다. 한편, 활성화 시점은 단순히 예시적인 것으로, 센서별 활성화 시점에는 제한이 없다. 아울러, 센서(450)는 지자계 센서를 더 포함할 수도 있다. 가속도 센서(452)만이 활성화된 경우, 입력 장치(402)는 전자 장치(400)로 가속도 센서(452)에 의하여 측정된 가속도 정보를 제공할 수 있으며, 전자 장치(400)는 입력 장치 신호에 기반하여 확인된 입력 장치(402)의 위치와 가속도 정보에 기반하여 동작할 수도 있다.
도 5는 다양한 실시예에 따른 전자 장치의 블록도이다.
도 5를 참조하면, 전자 장치(500)는 디스플레이(520), 카메라 모듈(530), 통신 모듈(540), 프로세서(510) 및 메모리(550)를 포함할 수 있으며, 다양한 실시예에서, 도시된 구성 중 일부가 생략 또는 치환 될 수도 있다. 전자 장치(500)는 도 1의 전자 장치(101)의 구성 및/또는 기능 중 적어도 일부를 더 포함할 수 있다. 도시된(또는 도시되지 않은) 전자 장치(500)의 각 구성 중 적어도 일부는 상호 작동적으로(operatively), 기능적으로(functionally) 및/또는 전기적으로 (electrically) 연결될 수 있다.
다양한 실시예에 따르면, 디스플레이(520)는 프로세서(510)의 제어에 따라 다양한 영상을 표시할 수 있다. 디스플레이(520)는 액정 디스플레이(liquid crystal display(LCD)), 발광 다이오드(light-emitting diode(LED)) 디스플레이, 마이크로 LED(micro LED) 디스플레이, QD(quantum dot) 디스플레이 또는 유기 발광 다이오드(organic light-emitting diode(OLED)) 디스플레이 중 어느 하나로 구현될 수 있으며, 이에 한정되지는 않는다. 디스플레이(520)는 사용자의 신체 일부(예: 손가락) 또는 입력 장치(예: 스타일러스 펜)를 이용한 터치 및/또는 근접 터치(또는 호버링) 입력을 감지하는 터치 스크린으로 형성될 수 있다. 디스플레이(520)는 도 1의 디스플레이 모듈(160)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다.
다양한 실시예에 따르면, 디스플레이(520)는 적어도 일부가 플렉서블(flexible) 할 수 있으며, 폴더블(foldable) 디스플레이, 또는 롤러블(rollable) 디스플레이로 구현될 수도 있다.
다양한 실시예에 따르면, 카메라는 외부의 이미지 데이터를 획득할 수 있다. 카메라는 CCD(charge coupled device), 또는 CMOS(complementary metal oxide semiconductor)와 같은 다양한 방식의 이미지 센서를 이용해 이미지 데이터를 획득할 수 있다. 카메라는 도 1의 카메라 모듈(180)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다. 전자 장치(500)는 하나 이상의 카메라를 하우징의 전면 및/또는 후면에 배치할 수 있으며, 이하에서는 다른 설명이 없는 한 외부 장치를 포함하는 이미지 데이터는 후면의 카메라를 이용해 획득된 것일 수 있다.
다양한 실시예에 따르면, 카메라 모듈(530)은 프로세서(510)의 제어에 따라 외부의 이미지 데이터를 획득할 수 있다. 카메라는 CCD(charge coupled device), 또는 CMOS(complementary metal oxide semiconductor)와 같은 다양한 방식의 이미지 센서를 이용해 이미지 데이터를 획득할 수 있다. 카메라 모듈(530)은 도 1의 카메라 모듈(180)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다. 전자 장치(500)는 하나 이상의 카메라를 하우징의 전면 및/또는 후면에 배치할 수 있으며, 전방 카메라(532) 및 시선 추적 카메라(534)를 포함할 수 있다. 전방 카메라(532)는 전자 장치의 전방에 위치한 오브젝트의 이미지 데이터를 획득할 수 있으며, 시선 추적 카메라(534)는 전자 장치를 착용한 사용자의 동공의 움직임에 기초하여 시선 방향 벡터를 생성할 수 있다.
다양한 실시예에 따르면, 통신 모듈(540)은 프로세서(510)의 제어에 따라 무선 네트워크를 통해 외부 장치와 통신할 수 있다. 통신 모듈(540)은 셀룰러 네트워크(예: LTE(long term evolution) 네트워크, 5G 네트워크, NR(new radio) 네트워크) 및 근거리 네트워크(예: Wi-Fi, bluetooth)로부터 데이터를 송수신 하기 위한 하드웨어 및 소프트웨어 모듈들을 포함할 수 있다. 통신 모듈(540)은 도 1의 통신 모듈(190)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다.
다양한 실시예에 따르면, 메모리(550)는 휘발성 메모리(예: 도 1의 휘발성 메모리(132)) 및 비휘발성 메모리(예: 도 1의 비휘발성 메모리(134))를 포함하여, 다양한 데이터들을 일시적 또는 영구적으로 저장할 수 있다. 메모리(550)는 도 1의 메모리(130)의 구성 및/또는 기능 중 적어도 일부를 포함하고, 도 1의 프로그램(140)을 저장할 수 있다.
다양한 실시예에 따르면, 메모리(550)는 프로세서(510)에서 수행될 수 있는 다양한 인스트럭션(instruction)들을 저장할 수 있다. 이와 같은 인스트럭션들은 프로세서(510)에 의해 인식될 수 있는 산술 및 논리 연산, 데이터 이동, 입출력 등과 같은 제어 명령을 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 전자 장치(500) 각 구성요소들(예: 디스플레이(520), 카메라 모듈(530), 통신 모듈(540) 및 메모리(550))과 작동적으로(operatively), 기능적으로(functionally), 및/또는 전기적으로(electrically) 연결되어, 각 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있는 구성일 수 있다. 프로세서(510)는 도 1의 프로세서(120)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(510)가 전자 장치(500) 상에서 구현할 수 있는 연산 및 데이터 처리 기능에는 한정됨이 없을 것이나, 이하에서는 전자 장치(500)에서 가상 객체를 선택하기 위한 다양한 실시예에 대해 설명하기로 한다. 후술할 프로세서(510)의 동작들은 메모리(550)에 저장된 인스트럭션들을 로딩(loading)함으로써 수행될 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 적어도 하나의 가상 객체를 디스플레이(520)에 출력할 수 있다. 가상 객체는 디스플레이(520) 상에서 고정된 위치에 출력되는 제1타입 가상 객체 및 공간의 고정된 위치에 출력되는 제2타입 가상 객체를 포함할 수 있다. 프로세서(510)는 사용자 입력에 기초하여 제1타입 가상 객체의 디스플레이(520) 상 위치 및 제2타입 가상 객체의 공간 상 위치를 자유롭게 설정할 수 있다. 일 실시예에 따르면, 프로세서(510)는 출력한 가상 객체의 크기, 위치, 방향, 및 각도 중 적어도 하나를 조절할 수 있다.
사용자 장치는 입력 장치(예: 스타일러스)를 감지하고, 입력 장치와 통신 연결을 수립할 수 있다. 사용자 장치는 입력 장치로부터 제어 신호를 수신할 수 있다. 예를 들어, 사용자가 입력 장치에 구비되어 있는 버튼을 누르는 버튼 이벤트가 발생한 경우 입력 장치는 그에 대응하여 사용자 장치로 제어 신호를 전송할 수 있다. 사용자 장치는 입력 장치에 버튼 이벤트가 발생한 것을 감지하여, 전자 장치(500)로 제어 신호를 전송할 수 있다. 일 실시예에 따르면, 입력 장치에서 수행하는 기능은 두 번 이상의 버튼 이벤트를 필요로 할 수도 있다. 전자 장치(500) 및 사용자 장치는 복수의 버튼 이벤트에 대응하여 정해진 기능을 수행할 수 있다.
사용자 장치는 입력 장치를 감지하고 입력 장치의 좌표를 획득할 수 있다. 사용자 장치가 획득할 수 있는 입력 장치의 좌표는 x좌표, y좌표 및 z좌표를 포함할 수 있다. x좌표 및 y좌표는 사용자 장치의 디스플레이(520) 상에서 위치를 결정하는 평면 상 좌표일 수 있고, z좌표는 사용자 장치로부터 입력 장치의 수직 거리를 의미할 수 있다. 사용자 장치는 입력 장치와 통신 연결을 수립하여 입력 장치의 x좌표, y좌표 및 z좌표를 획득하고, 획득한 입력 장치의 좌표를 전자 장치(500)로 전송할 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 통신 모듈(540)을 이용하여 사용자 장치와 통신 연결을 수립할 수 있다. 프로세서(510)는 사용자 장치로부터 다양한 데이터를 수신할 수 있다. 예를 들어, 프로세서(510)는 사용자 장치로부터 입력 장치에서 버튼 이벤트가 발생하였음을 지시하는 제어 신호 및 입력 장치의 좌표 중 적어도 하나를 수신할 수 있다. 입력 장치의 좌표는 x좌표, y좌표 및 z좌표를 포함할 수 있다. 이 중 x좌표 및 y좌표는 사용자 장치의 디스플레이(520)를 포함하는 평면 상의 위치를 나타내는 좌표일 수 있으며, z좌표는 사용자 장치의 디스플레이(520)로부터의 거리를 나타낼 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 획득한 좌표에 대응하는 디스플레이(520) 상 위치를 결정하고, 해당 위치에 포인터를 출력할 수 있다. 예를 들어, 프로세서(510)는 입력 장치의 좌표 중 x좌표 및 y좌표에 대응하는 디스플레이(520) 상 위치를 결정할 수 있다. 프로세서(510)는 결정한 디스플레이(520) 상 위치에 포인터를 출력할 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 사용자 장치와 입력 장치의 분리 이벤트에 대응하여 디스플레이(520)에 포인터를 출력할 수 있다. 일 실시예에 따르면, 입력 장치는 사용자 장치의 하우징의 일 측에 수납 또는 부착될 수 있다. 사용자가 입력 장치를 사용자 장치에서 분리하는 분리 이벤트가 발생하는 경우, 사용자 장치는 분리 이벤트를 감지하여 전자 장치(500)로 신호를 전송할 수 있다. 프로세서(510)는 분리 이벤트를 감지한 경우 포인터를 디스플레이(520)에 출력할 수 있다. 일 실시예에 따르면, 프로세서(510)는 디스플레이(520)의 적어도 일 영역을 제어 영역으로 결정하고, 제어 영역 상에 포인터를 출력할 수 있다. 일 실시예에 따르면, 프로세서(510)는 사용자 장치의 화면 비율(예: 16:9)에 기초하여 제어 영역의 화면 비율을 결정할 수 있다. 예를 들어, 프로세서(510)는 디스플레이(520)의 중심부를 제어 영역으로 결정할 수 있으며, 사용자 장치의 화면 비율과 동일한 비율을 갖도록 설정할 수 있다. 일 실시예에 따르면, 프로세서(510)는 입력 장치의 x좌표 및 y좌표에 기초하여 포인터 출력 여부를 결정할 수 있다. 예를 들어, 사용자가 입력 장치를 사용자 장치의 디스플레이(520) 범위 내에서 사용할 경우 포인터를 출력하고, 입력 장치의 x좌표 및 y좌표가 사용자 장치의 디스플레이(520) 범위를 벗어나는 경우 포인터를 출력하지 않을 수 있다.
일 실시예에 따르면, 프로세서(510)는 분리 이벤트를 감지한 경우, 사용자의 터치 입력에 기초하여 포인터 출력 여부를 결정할 수 있다. 프로세서(510)는 분리 이벤트를 감지하고, 포인터를 출력에 대한 안내 메시지를 포함하는 그래픽 UI를 출력할 수 있다. 예를 들어, 프로세서(510)는 "포인터를 출력할까요?"와 같은 메시지를 포함하는 그래픽 UI를 출력할 수 있다. 프로세서(510)는 그래픽 UI에 대한 사용자 입력에 기초하여 디스플레이(520)에 포인터를 출력할 수도 있고, 포인터가 아닌 입력 장치 메뉴를 제공할 수도 있다.
다양한 실시예에 따르면, 프로세서(510)는 포인터를 출력할 때 사용자가 포인터의 위치를 쉽게 확인할 수 있도록 하는 선을 추가로 출력할 수 있다. 예를 들어, 프로세서(510)는 디스플레이(520) 또는 제어 영역의 경계로부터 포인터까지 직선으로 잇는 선을 출력할 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 입력 장치의 z좌표에 기초하여 제1타입 가상 객체 및 제2타입 가상 객체 중 선택할 객체 타입을 결정할 수 있다. 예를 들어, 프로세서(510)는 입력 장치와 사용자 장치가 밀착되어 있는 경우, 즉 입력 장치의 z좌표가 정해진 값(예: 0)미만인 경우 제1타입 가상 객체를 선택할 수 있다. 반대로, 프로세서(510)는 입력 장치와 사용자 장치가 떨어져 있는 경우, 즉 입력 장치의 z좌표가 정해진 값 이상인 경우 제2타입 가상 객체를 선택할 수 있다. 이하, 본 문서에서는 입력 장치의 z좌표가 정해진 값 미만인 경우의 입력을 터치 입력, 입력 장치의 z좌표가 정해진 값 이상인 경우의 입력을 호버링 입력으로 설명하도록 한다. 본 발명에서 입력 장치의 동작은 이에 한정되지 않는다.
다양한 실시예에 따르면, 프로세서(510)는 출력한 포인터의 위치 및 결정한 객체 타입에 기초하여 적어도 하나의 가상 객체를 선택할 수 있다. 프로세서(510)는 터치 입력에 대응하여 제1타입 객체를 선택하는 것으로 결정하고, 호버링 입력에 대응하여 제2타입 객체를 선택하는 것으로 결정할 수 있다. 예를 들어, 입력 장치의 x좌표 및 y좌표에 대응하는 디스플레이(520) 상의 제1위치에, 제1타입 객체 및 제2타입 객체가 중첩하여 위치할 수 있다. 이 경우, 프로세서(510)는 터치 입력이 수신되면 제1타입 객체를 선택하고, 호버링 입력이 수신되면 제2타입 객체를 선택할 수 있다. 일 실시예에 따르면, 프로세서(510)는 선택한 가상 객체를 포함하는 영역의 윤곽에 그래픽 효과를 추가할 수 있다. 예를 들어, 프로세서(510)는 선택한 가상 객체를 포함하는 사각형 영역의 모서리를 굵은 선으로 표시할 수 있다. 프로세서(510)가 복수의 가상 객체를 선택하는 경우, 각 가상 객체를 포함하는 사각형 영역의 모서리를 모두 굵은 선으로 표시할 수 있다. 일 실시예에 따르면, 프로세서(510)는 선택한 가상 객체와 선택하지 않은 가상 객체를 서로 다른 색으로 표시할 수 있다. 예를 들어, 선택한 가상 객체를 포함하는 영역의 윤곽은 제1색으로, 선택하지 않은 가상 객체를 포함하는 영역의 윤곽은 제2색으로 표시할 수 있다. 일 실시예에 따르면, 프로세서(510)는 선택한 가상 객체의 객체 타입에 따라 서로 다른 그래픽 효과를 추가할 수 있다. 예를 들어, 프로세서(510)는 선택한 가상 객체가 제1타입 가상 객체인 경우 제1색으로 표시하고, 제2타입 가상 객체인 경우 제2색으로 표시할 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 디스플레이(520) 상의 일 영역에 포함되는 복수의 가상 객체를 선택할 수 있다. 일 실시예에 따르면, 프로세서(510)는 드래그(drag) 제스처를 인식하고, 드래그 한 영역 내에 포함되는 가상 객체를 한꺼번에 선택할 수 있다. 일 실시예에 따르면, 프로세서(510)는 사용자 장치로부터 수신한 제어 신호에 대응하여 드래그 할 영역을 결정할 수 있다. 프로세서(510)는 제1제어 신호에 대응하여 포인터의 제1위치를 저장하고, 제2제어 신호에 대응하여 포인터의 제2위치를 저장하고, 제1위치 및 제2위치를 포함하는 영역을 드래그한 것으로 결정할 수 있다. 일 실시예에 따르면, 프로세서(510)는 제1위치 및 제2위치를 마주보는 꼭지점으로 하는 사각형을 드래그한 영역으로 결정할 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 포인터를 출력한 위치에 복수의 가상 객체가 위치하는 경우, 입력 장치의 z좌표에 기초하여 하나의 가상 객체를 선택할 수 있다. 일 실시예에 따르면, 프로세서(510)는 입력 장치의 z좌표가 클수록 전자 장치(500)로부터 더 멀리 떨어져 있는 가상 객체를 선택할 수 있다. 예를 들어, 제1가상 객체 및 전자 장치(500)로부터 제1가상 객체보다 멀리 위치한 제2가상 객체가 포인터의 위치와 동일한 곳에 위치할 수 있다. 프로세서(510)는 사용자 장치로부터 입력 장치의 z좌표를 획득하고, z좌표가 제1 z좌표이면 제1가상 객체를 선택하고, 제1 z좌표보다 큰 제2 z좌표이면 제2가상 객체를 선택할 수 있다. 일 실시예에 따르면, 프로세서(510)는 입력 장치의 z좌표가 제1 z좌표에서 제2 z좌표로 증가하면 제1가상 객체를 반투명하게 출력할 수 있다. 프로세서(510)는 제1가상 객체를 반투명하게 출력하여 사용자가 제2가상 객체를 인식할 수 있는 환경을 제공할 수 있다.
다양한 실시예에 따르면, 입력 장치로부터의 입력이 터치 입력에서 호버링 입력으로 바뀌는 경우, 프로세서(510)는 가까운 제2타입 가상 객체로 포인터의 위치를 이동할 수 있다. 프로세서(510)는 터치 입력에서 제1타입 가상 객체를 선택하고, 호버링 입력에서 제2타입 가상 객체를 선택할 수 있다. 예를 들어, 프로세서(510)가 터치 입력에 대응하여 제1위치에 포인터를 출력하다가 호버링 입력을 수신할 수 있다. 제1위치에 제2타입 가상 객체가 없다면, 프로세서(510)는 제1위치에서 가장 가까운 위치에 있는 제2타입 가상 객체의 위치로 포인터를 이동할 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 선택한 가상 객체를 포함하는 영역의 윤곽으로 포인터를 이동한 경우 포인터의 출력 형태를 변경할 수 있다. 예를 들어, 프로세서(510)는 제1형태(예: 점, 원)로 포인터를 출력하다가, 선택한 가상 객체를 포함하는 영역의 윤곽으로 포인터를 이동할 경우 포인터를 제2형태(예: 십자가, 화살표)로 변경할 수 있다. 예를 들어, 가상 객체를 포함하는 영역의 윤곽이 사각형인 경우, 프로세서(510)는 포인터가 사각형의 모서리로 이동하면 십자가 형태로 변경할 수 있고, 사각형의 꼭지점으로 이동하면 화살표 형태로 변경할 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 출력한 가상 객체의 위치를 이동할 수 있다. 가상 객체를 포함하는 영역(예: 사각형)의 모서리에 포인터가 위치하고 사용자 장치로부터 제어 신호가 수신된 경우, 프로세서(510)는 가상 객체의 위치를 이동할 수 있다. 사용자는 입력 장치에서 버튼을 누른 채로 포인터의 위치를 이동하여 가상 객체의 위치를 이동하고, 버튼을 누르던 손가락을 떼서 해당 위치를 가상 객체의 위치로 결정할 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 출력한 가상 객체를 회전시킬 수 있다. 가상 객체를 포함하는 영역의 꼭지점에 포인터가 위치하고 사용자 장치로부터 제어 신호가 수신된 경우, 프로세서(510)는 가상 객체를 회전시킬 수 있다. 사용자는 입력 장치에서 버튼을 누른 채로 포인터의 위치를 이동하여 가상 객체를 회전시키고, 버튼을 누르던 손가락을 떼서 해당 각도로 가상 객체를 회전시킬 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 출력한 가상 객체의 객체 타입을 변경할 수 있다. 프로세서(510)는 버튼 이벤트에 대응한 제어 신호 및 입력 장치의 z좌표에 기초하여 가상 객체의 객체 타입을 변경할 수 있다. 예를 들어, 프로세서(510)는 입력 장치의 사용자 장치에 대한 터치 입력에 대응하여 제1타입 가상 객체를 선택할 수 있다. 이후 사용자가 입력 장치에서 버튼을 누른 채로 입력 형태를 호버링 입력으로 변경하면, 프로세서(510)는 선택한 가상 객체의 객체 타입을 제2타입 가상 객체로 변경할 수 있다. 반대로, 사용자가 호버링 입력으로 제2타입 가상 객체를 선택하고, 버튼을 누른 채 터치 입력하면 선택한 가상 객체의 객체 타입이 제1타입으로 변경될 수 있다. 프로세서(510)는 버튼 이벤트에 대응한 제어 신호 및 입력 장치의 좌표를 획득하여 가상 객체의 객체 타입을 변경할 수 있다.
다양한 실시예에 따르면, 프로세서(510)는 포인터의 위치에 가상 객체가 없는 경우, 가상 객체의 평균 z좌표를 계산하여 포인터의 z좌표를 결정할 수 있다. 일 실시예에 따르면, 프로세서(510)는 포인터의 디스플레이(520) 상 위치와 함께, 전자 장치(500)로부터의 거리를 지시하는 z좌표를 결정할 수 있다. 입력 장치의 좌표에 기초하여 설정한 포인터의 디스플레이(520) 상 위치에 가상 객체가 위치하는 경우, 프로세서(510)는 가상 객체까지의 거리를 z좌표로 결정할 수 있다. 포인터의 디스플레이(520) 상 위치에 가상 객체가 없는 경우, 프로세서(510)는 출력한 가상 객체들의 평균 z좌표를 계산하여 포인터의 z좌표를 결정할 수 있다.
도 6a는 다양한 실시예에 따른 제1타입 가상 객체 및 제2타입 가상 객체를 도시하는 도면이다.
도 6b 및 도 6c는 다양한 실시예에 따른 입력 장치의 z좌표에 따라 서로 다른 타입의 가상 객체를 선택하는 것을 도시하는 도면이다.
다양한 실시예에 따르면, 프로세서(예: 도 5의 프로세서(510))는 제1타입 가상 객체(620) 및 제2타입 가상 객체(630) 중 적어도 하나를 디스플레이에 출력할 수 있다. 프로세서는 제1타입 가상 객체(620)(body locked object)를 디스플레이 상의 고정된 위치에 출력할 수 있다. 사용자(602)가 전자 장치를 머리에 착용(head mounted display, HMD)하기 때문에, 사용자(602)의 헤드 제스처(head gesture)가 있어도 사용자(602)의 시야(610)에는 고정된 위치에 출력될 수 있다. 프로세서는 제2타입 가상 객체(630)(world locked object)를 공간 상의 고정된 위치에 출력할 수 있다. 일 실시예에 따르면, 프로세서는 사용자(602)가 지정한 위치에 제2타입 가상 객체(630)를 출력할 수 있다. 예를 들어, 프로세서는 사용자(602)가 선택한 공간상 좌표와 제2타입 가상 객체(630)를 맵핑하여 메모리(예: 도 5의 메모리(550))에 저장할 수 있다. 제1타입 가상 객체(620)는 사용자(602)의 시야(610)(field of view, FOV) 방향과 무관하게 항상 출력될 수 있고, 제2타입 가상 객체(630)는 지정된 위치가 사용자(602)의 시야(610) 내에 포함될 때만 출력될 수 있다. 도 6a를 참조하면, 프로세서는 사용자(602)의 시야(610)가 제1방향일 때 제1타입 가상 객체(620)인 제1객체 및 제2타입 가상 객체(630)인 제2객체를 출력할 수 있다. 프로세서는 사용자(602)의 시야(610)가 제2방향일 때, 제1객체는 사용자(602)의 시야(610) 상 같은 위치에 출력하고 제2객체는 사용자(602)의 시야(610)에 포함되지 않으므로 출력하지 않을 수 있다.
도 6b를 참조하면, 프로세서는 입력 장치의 좌표에 기초하여 입력 장치의 동작을 터치 입력(640) 및 호버링 입력(642) 중 하나로 결정할 수 있다. 프로세서는 입력 장치의 z좌표에 기초하여 입력 장치의 동작을 결정할 수 있다. 예를 들어, 프로세서는 입력 장치의 동작을, 입력 장치의 z좌표가 0이면 터치 입력(640)으로 결정하고, 입력 장치의 z좌표가 0보다 크면 호버링 입력(642)으로 결정할 수 있다. 다른 실시예에 따르면, 프로세서는 z좌표가 정해진 값 미만인 경우 터치 입력(640)으로, z좌표가 정해진 값 이상인 경우 호버링 입력(642)으로 결정할 수도 있다.
다양한 실시예에 따르면, 프로세서는 디스플레이의 일 영역을 제어 영역(612)으로 결정할 수 있다. 제어 영역(612)은 프로세서가 출력한 가상 객체들을 제어하기 위한 커맨드를 일 실시예에 따르면, 프로세서는 사용자 장치의 화면 비율을 획득하여, 동일한 비율을 갖는 제어 영역(612)을 생성할 수 있다. 프로세서는 제어 영역(612) 상에 포인터(614)를 출력할 수 있다. 일 실시예에 따르면, 프로세서는 사용자 장치의 바깥으로 입력 장치가 벗어난 경우에는 포인터(614)를 출력하지 않을 수 있다.
다양한 실시예에 따르면, 프로세서는 입력 장치의 좌표에 기초하여 포인터(614)를 출력할 디스플레이 위치를 결정할 수 있다. 프로세서는 입력 장치의 x좌표 및 y좌표에 기초하여 포인터(614)를 출력할 위치를 결정할 수 있다. 예를 들어, 프로세서는 사용자 장치에서 x좌표 및 y좌표를 획득하고, 제어 영역(612) 상에서 대응하는 위치에 포인터(614)를 출력할 수 있다.
다양한 실시예에 따르면, 프로세서는 디스플레이의 일 영역을 제어 영역으로 결정하고, 제어 영역 내에 포인터를 출력할 수 있다. 프로세서는 포인터를 출력한 위치에 포함되는 가상 객체를 선택할 수 있다. 일 실시예에 따르면, 프로세서는 선택한 가상 객체를 포함하는 영역의 윤곽에 그래픽 효과를 추가할 수 있다. 도 6c를 참조하면, 프로세서는 터치 입력(640)을 수신한 경우 제(630)를 선택하지 않으므로, 제2타입 가상 객체(630)를 포함하는 영역의 윤곽에 그래픽 효과를 추가하지 않을 수 있다(630a). 이후 프로세서가 호버링 입력(642)을 수신한 경우, 프로세서는 제2타입 가상 객체(630)를 선택하고, 해당 객체의 윤곽에 그래픽 효과를 추가할 수 있다(630b). 예를 들어, 해당 객체의 윤곽을 굵은 선으로 표시할 수 있다.
도 7a 및 도 7b는 다양한 실시예에 따른 입력 장치가 사용자 장치에서 분리되는 것을 감지하여 포인터를 출력하는 것을 도시하는 도면이다.
다양한 실시예에 따르면, 프로세서(예: 도 5의 프로세서(510))는 입력 장치가 사용자 장치에서 분리되는 분리 이벤트에 대응하여 포인터를 출력할 수 있다. 분리 이벤트가 발생한 경우 프로세서는 사용자 장치로부터 분리 이벤트에 대응한 신호를 수신할 수 있다. 프로세서는 분리 이벤트가 발생한 것을 감지하여 포인터를 디스플레이에 출력할 수 있다. 일 실시예에 따르면, 프로세서는 디스플레이 상의 제어 영역(712)에 포인터를 출력할 수 있다.
도 7a를 참조하면, 프로세서는 디스플레이에 제어 영역(712)을 설정하고, 적어도 하나의 제1타입 가상 객체(예: 도 6의 제1타입 가상 객체(620)) 및/또는 제2타입 가상 객체(예: 도 6의 제2타입 가상 객체(630))를 출력할 수 있다. 제1타입 가상 객체는 사용자(702)의 헤드 제스처에 따라 같이 움직일 수 있으며, 제2타입 가상 객체는 사용자(702)의 주변 환경 및 공간의 고정적 위치에 출력될 수 있다. 일 실시예에 따르면, 프로세서는 전자 장치로부터 획득한 입력 장치의 x좌표 및 y좌표에 기초하여 디스플레이 상의 포인터 위치를 결정할 수 있다. 일 실시예에 따르면, 프로세서는 분리 이벤트가 발생한 경우 포인터를 출력할 수 있다. 일 실시예에 따르면, 프로세서는 분리 이벤트가 발생한 경우, 포인터 출력 여부에 대한 선택 메시지를 포함하는 그래픽 UI를 출력할 수 있다. 프로세서는 그래픽 UI에 대한 사용자 입력에 기초하여 포인터를 출력하거나 또는 입력 장치의 다양한 기능을 제공할 수 있다.
도 7b는 프로세서가 디스플레이에 적어도 하나의 가상 객체 및 포인터(714)를 출력하는 실시예이다. 가상 객체를 출력한 위치에 포인터(714)가 출력되는 경우, 프로세서는 해당 가상 객체를 선택한 것으로 결정할 수 있다. 프로세서는 선택한 가상 객체를 포함하는 영역의 윤곽에 그래픽 효과를 추가할 수 있다. 예를 들어, 선택한 가상 객체를 포함하는 영역의 윤곽을 굵은 선으로 표시하거나, 다른 가상 객체들과 윤곽의 색을 다르게 표시할 수 있다.
도 8은 다양한 실시예에 따른 전자 장치가 선택된 영역 내 복수의 가상 객체들을 선택하는 것을 도시하는 도면이다.
다양한 실시예에 따르면, 프로세서(예: 도 5의 프로세서(510))는 디스플레이의 일 영역 내에 포함된 가상 객체를 선택할 수 있다. 프로세서는 드래그 제스처를 이용하여 디스플레이의 일 영역을 결정할 수 있다. 예를 들어, 프로세서는 제1버튼 이벤트에 기초하여 디스플레이의 제1위치(812a)를 결정하고, 제2버튼 이벤트에 기초하여 디스플레이의 제2위치(812b)를 결정할 수 있다. 프로세서는 제1위치(812a) 및 제2위치(812b)를 서로 마주보는 꼭지점으로 하는 사각형 영역(820)을 선택할 수 있다. 일 실시예에 따르면, 프로세서는 선택한 영역(820)에 그래픽 효과를 추가할 수 있다. 예를 들어, 프로세서는 선택한 영역(820) 내부를 주변과 다른 색으로 표시할 수 있다. 프로세서가 선택할 수 있는 영역(820)의 크기 및 형태는 이에 제한되지 않는다. 프로세서가 선택한 영역(820) 내에 두 개 이상의 가상 객체들이 위치한 경우, 프로세서는 복수의 가상 객체들을 한꺼번에 선택할 수 있다. 예를 들어, 제1객체(830) 및 제2객체(832)를 포함하는 영역을 선택하는 경우, 프로세서는 제1객체(830) 및 제2객체(832)를 모두 선택할 수 있다.
다양한 실시예에 따르면, 프로세서는 입력의 종류에 기초하여 선택하는 가상 객체를 결정할 수 있다. 프로세서는 수신되는 입력이 터치 입력(예: 도 6의 터치 입력(640))인 경우 및 호버링 입력(예: 도 6의 호버링 입력(642))인 경우에 각각 다른 타입의 가상 객체를 선택할 수 있다. 예를 들어, 프로세서는 수신되는 입력이 터치 입력인 경우, 선택한 영역에 포함된 적어도 하나의 제1타입 가상 객체(예: 도 6의 제1타입 가상 객체(620))를 선택할 수 있다. 반대로, 수신되는 입력이 호버링 입력인 경우, 프로세서는 선택한 영역에 포함된 적어도 하나의 제2타입 가상 객체(예: 도 6의 제2타입 가상 객체(630))를 선택할 수 있다. 예를 들어, 프로세서가 선택한 영역 내에 제1타입 가상 객체만 있고 제2타입 가상 객체는 존재하지 않는 경우, 프로세서가 호버링 입력을 수신하여 디스플레이 영역을 선택했다고 하더라도 가상 객체를 선택하지 않을 수 있다.
도 9a 및 도 9b는 다양한 실시예에 따른 입력 장치의 z좌표에 기초하여 중첩된 객체 중 하나를 선택하는 것을 도시하는 도면이다.
다양한 실시예에 따르면, 프로세서(예: 도 5의 프로세서(510))는 포인터가 출력되는 위치에 복수 개의 가상 객체가 있는 경우, 입력 장치의 z좌표(912)에 기초하여 하나의 가상 객체를 선택할 수 있다. 프로세서는 사용자(902)의 선택에 따라서 제1타입 가상 객체(예: 도 6의 제1타입 가상 객체(620)) 및 제2타입 가상 객체(예: 도 6의 제2타입 가상 객체(630))를 출력할 위치를 결정할 수 있다. 프로세서는 복수 개의 가상 객체를 사용자(902) 시야 상에서 같은 위치에 출력될 수 있다. 예를 들어 도 9a를 참조하면, 프로세서가 출력한 제2타입 가상 객체들이 사용자(902)의 시야에서 겹쳐 보일 수 있다. 이러한 경우 프로세서는 입력 장치의 z좌표(912)에 기초하여 하나의 가상 객체를 선택할 수 있다.
다양한 실시예에 따르면, 프로세서는 입력 장치의 z좌표(912)가 클수록 전자 장치로부터 멀리 떨어진 가상 객체를 선택할 수 있다. 프로세서는 전자 장치와 입력 장치 사이의 거리 정보를 포함하는 입력 장치의 z좌표(912)를 획득할 수 있다. 프로세서는 입력 장치의 z좌표(912)에 기초하여 중첩된 영역에 위치한 가상 객체를 선택할 수 있다. 예를 들어, 프로세서는 제1가상 객체(920) 및 제1가상 객체(920)보다 전자 장치로부터 멀리 있는 제2가상 객체(922)를 디스플레이의 동일한 영역에 출력할 수 있다. 프로세서는 입력 장치의 제1 z좌표에 대응하여 제1가상 객체(920)를 선택하고, 제1 z좌표보다 큰 제2 z좌표에 대응하여 제2가상 객체(922)를 선택할 수 있다. 일 실시예에 따르면, 프로세서는 전자 장치로부터 멀리 있는 가상 객체를 선택하는 경우, 해당 가상 객체보다 전자 장치로부터 가깝게 위치하는 가상 객체를 반투명하게 출력할 수 있다. 예를 들어, 프로세서는 입력 장치의 z좌표(912)가 제2 z좌표인 경우, 제1가상 객체(920)를 반투명하게 출력할 수 있다.
도 10은 다양한 실시예에 따른 가상 객체의 위치를 이동하는 실시예를 도시하는 도면이다.
다양한 실시예에 따르면, 프로세서(예: 도 5의 프로세서(510))는 버튼 이벤트 및 입력 장치의 좌표에 기초하여 가상 객체의 위치를 이동할 수 있다. 가상 객체를 포함하는 영역(1002)의 모서리에 포인터를 출력하고 버튼 이벤트가 발생하면, 프로세서는 포인터의 위치에 따라 가상 객체의 위치를 변경할 수 있다. 예를 들어, 프로세서가 제1위치(1000a)에 출력한 가상 객체를 포함하는 영역(1002)의 모서리에 포인터가 위치하고 버튼 이벤트가 발생할 수 있다. 이후 포인터의 위치가 이동함에 따라 프로세서는 가상 객체의 위치를 제2위치(1000b)로 이동할 수 있다. 사용자가 버튼을 누른 채로 입력 장치를 움직이는 동안 프로세서도 가상 객체 및 포인터의 출력 위치를 움직일 수 있다. 이후 버튼 이벤트가 종료되면, 프로세서는 버튼 이벤트가 종료된 때에 포인터의 제2위치에 가상 객체를 출력할 수 있다. 도 10을 참조하면, 프로세서는 선택한 가상 객체를 포함하는 영역(1002)의 모서리에 포인터를 (a)와 같이 출력하고, 버튼을 누른 채 포인터를 이동하면 (b)와 같이 가상 객체의 위치를 변경할 수 있다.
다양한 실시예에 따르면, 프로세서는 선택한 가상 객체를 포함하는 영역(1002)의 모서리에 포인터가 위치할 경우, 포인터의 형태를 다르게 출력할 수 있다. 예를 들어, 프로세서는 포인터를 점 또는 원의 형태로 출력하고, 선택한 가상 객체를 포함하는 영역(1002)의 모서리에 포인터가 위치하는 경우 십자가 모양의 포인터(1010)를 출력할 수 있다.
도 11은 다양한 실시예에 따른 가상 객체를 회전하는 실시예를 도시하는 도면이다.
다양한 실시예에 따르면, 프로세서(예: 도 5의 프로세서(510))는 버튼 이벤트 및 입력 장치의 좌표에 기초하여 가상 객체를 회전할 수 있다. 가상 객체를 포함하는 영역(1102)의 꼭지점에 포인터를 출력하고 버튼 이벤트가 발생하면, 프로세서는 포인터의 위치에 따라 가상 객체를 회전시킬 수 있다. 예를 들어, 프로세서가 가상 객체를 포함하는 영역(1102)의 꼭지점에 포인터가 위치하고 버튼 이벤트가 발생할 수 있다(1100a). 이후 포인터의 위치가 이동함에 따라 프로세서는 가상 객체를 회전시킬 수 있다. 사용자가 버튼을 누른 채로 입력 장치를 움직이는 동안 프로세서도 포인터의 위치에 기초하여 가상 객체를 회전시킬 수 있다(1100b). 이후 버튼 이벤트가 종료되면, 프로세서는 버튼 이벤트가 종료된 때에 포인터의 위치에 따라서 가상 객체의 회전 각도를 결정할 수 있다. 도 11을 참조하면, 프로세서는 선택한 가상 객체를 포함하는 영역(1102)의 꼭지점에 포인터를 (a)와 같이 출력하고, 버튼을 누른 채 포인터를 이동하면 (b)와 같이 가상 객체를 회전시킬 수 있다.
다양한 실시예에 따르면, 프로세서는 선택한 가상 객체를 포함하는 영역(1102)의 꼭지점에 포인터가 위치할 경우, 포인터의 형태를 다르게 출력할 수 있다. 예를 들어, 프로세서는 포인터를 점 또는 원의 형태로 출력하고, 선택한 가상 객체를 포함하는 영역(1102)의 꼭지점에 포인터가 위치하는 경우 화살표 모양의 포인터(1110)를 출력할 수 있다.
도 12는 다양한 실시예에 따른 가상 객체의 객체 타입을 변경하는 실시예를 도시하는 도면이다.
다양한 실시예에 따르면, 프로세서(예: 도 5의 프로세서(510))는 버튼 이벤트 및 입력 장치의 좌표에 기초하여 가상 객체의 객체 타입을 변경할 수 있다. 프로세서는 터치 입력(1210) (예: 도 6의 터치 입력(640))에 대응하여 제1타입 가상 객체(예: 도 6의 제1타입 가상 객체(620))를 선택하고, 호버링 입력(1220) (예: 도 6의 호버링 입력(642))에 대응하여 제2타입 가상 객체(예: 도 6의 제2타입 가상 객체(630))를 선택할 수 있다. 프로세서는 가상 객체를 선택하고 버튼 이벤트가 발생한 경우, 입력 장치의 z좌표에 기초하여 선택한 가상 객체의 객체 타입을 변경할 수 있다. 예를 들어, 프로세서는 터치 입력(1210)을 수신하여 제1타입 가상 객체(1200a)를 선택한 후 버튼 이벤트가 발생할 수 있다. 사용자가 입력 장치의 버튼을 누른 채 입력 장치의 z좌표를 변경하면 프로세서가 수신하는 입력이 터치 입력(1210)에서 호버링 입력(1220)으로 변경될 수 있다. 프로세서는 호버링 입력(1220)을 수신한 경우 선택한 가상 객체의 객체 타입을 제2타입(1200b)으로 변경할 수 있다. 반대로, 프로세서가 호버링 입력(1220)을 수신하여 제2타입 가상 객체(1200b)를 선택하고, 버튼 이벤트가 발생한 후 터치 입력(1210)을 수신한 경우, 프로세서는 선택한 제2타입 가상 객체(1200b)의 객체 타입을 제1타입(1200a)으로 변경할 수 있다.
도 13은 다양한 실시예에 따른 포인터의 위치에 가까운 제2타입 가상 객체를 선택하는 실시예를 도시하는 도면이다.
다양한 실시예에 따르면, 프로세서(예: 도 5의 프로세서(510))는 포인터의 현재 위치(1302)에서 가까운 가상 객체로 포인터의 위치(1312)를 이동할 수 있다. 예를 들어, 프로세서는 터치 입력(예: 도 6의 터치 입력(640))을 수신하면 제1타입 가상 객체(예: 도 6의 제1타입 가상 객체(620))를 선택하고, 호버링 입력(예: 도 6의 호버링 입력(642))을 수신하면 제2타입 가상 객체(예: 도 6의 제2타입 가상 객체(630))를 선택할 수 있다. 프로세서는 터치 입력을 수신하면 입력 장치의 좌표에 대응하는 제1위치(1302)에 포인터를 출력할 수 있다. 이후 호버링 입력을 수신하면, 제1위치에서 가장 가까운 제2타입 가상 객체(1310)의 위치(1312)에 포인터를 출력할 수 있다. 반대로, 프로세서가 호버링 입력을 수신하면 입력 장치의 좌표에 대응하는 제2위치(1312)에 포인터를 출력하고, 이후 터치 입력을 수신하면 제2위치에서 가장 가까운 제1타입 가상 객체의 위치에 포인터를 출력할 수 있다.
다양한 실시예에 따른 전자 장치는, 본체부, 상기 본체부에 의하여 지지되는 글래스 모듈, 상기 글래스 모듈에 배치되는 적어도 하나의 디스플레이 모듈, 상기 본체부에 회전 가능하게 연결되는 지지부 모듈, 전방 카메라 및 시선 추적 카메라(eye tracking camera)를 포함하는 카메라 모듈, 외부 장치와 통신 연결을 수립하는 통신 모듈, 및 상기 디스플레이 모듈, 상기 카메라 모듈 및 상기 통신 모듈과 작동적으로(operatively) 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 디스플레이 모듈의 정해진 위치에 출력되는 제1타입 가상 객체 및 공간의 정해진 위치에 출력되는 제2타입 가상 객체를 적어도 하나 출력하고, 상기 외부 장치로부터 전자 펜의 좌표를 획득하고, 상기 디스플레이 모듈에서 상기 좌표에 대응하는 위치를 결정하여 상기 위치에 포인터(pointer)를 출력하고, 상기 좌표에 기초하여 상기 제1타입 가상 객체 또는 상기 제2타입 가상 객체 중 선택할 객체 타입을 결정하고, 상기 포인터의 위치 및 결정한 객체 타입에 기초하여 적어도 하나의 가상 객체를 선택할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 객체 타입을, 상기 좌표 중 z좌표가 정해진 값 이상이면 제1타입으로 결정하고, z좌표가 정해진 값 미만이면 상기 객체 타입을 제2타입으로 결정할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 펜에 배치된 버튼이 작동하는 이벤트에 대응하는 제어 신호를 상기 외부 장치로부터 수신할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 외부 장치로부터 제1제어 신호에 대응하는 상기 전자 펜의 제1좌표를 획득하고, 상기 제1좌표에 기초하여 상기 포인터의 제1위치를 획득하고, 상기 외부 장치로부터 제2제어 신호에 대응하는 상기 전자 펜의 제2좌표를 획득하고, 상기 제2좌표에 기초하여 상기 포인터의 제2위치를 획득하고, 상기 제1위치 및 상기 제2위치를 포함하는 영역에 포함되는 적어도 하나의 가상 객체를 선택할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 포인터를 출력한 위치에 복수의 가상 객체가 위치하는 경우, 수신한 제어 신호에 대응하여 상기 전자 펜의 z좌표를 획득하고, 상기 전자 펜의 z좌표에 기초하여 하나의 가상 객체를 선택할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 펜의 제1 z좌표에 대응하여 제1가상 객체를 선택하고, 상기 제1 z좌표보다 큰 제2 z좌표에 대응하여, 상기 전자 장치로부터 상기 제1가상 객체보다 멀리 있는 제2가상 객체를 선택할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 펜의 z좌표가 상기 제1 z좌표에서 상기 제2 z좌표로 증가하면 상기 제1가상 객체를 반투명하게 출력할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 수신한 제어 신호에 대응하여, 상기 포인터가 제1위치에서 제2위치로 이동함에 대응하여 상기 가상 객체의 출력 위치를 상기 제1위치에서 상기 제2위치로 이동할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 포인터가 상기 가상 객체를 포함하는 영역의 윤곽에 위치하는 경우, 상기 포인터의 출력 형태를 변경할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 수신한 제어 신호에 대응하여, 상기 포인터가 제1위치에서 제2위치로 이동함에 대응하여 상기 가상 객체가 출력되는 각도를 제1각도에서 제2각도로 회전할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 펜의 z좌표가 정해진 값 미만인 경우, 상기 포인터의 위치에 기초하여 제1타입 가상 객체를 선택하고, 수신한 제어 신호에 대응하여 상기 전자 펜의 z좌표를 획득하고, 상기 전자 펜의 z좌표가 정해진 값 이상인 경우, 선택한 가상 객체의 객체 타입을 제2타입으로 변경할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 펜의 z좌표가 정해진 값 이상인 경우, 상기 포인터의 위치에 기초하여 제2타입 가상 객체를 선택하고, 수신한 제어 신호에 대응하여 상기 전자 펜의 z좌표를 획득하고, 상기 전자 펜의 z좌표가 정해진 값 미만인 경우, 선택한 가상 객체의 객체 타입을 제1타입으로 변경할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치로부터 상기 전자 펜가 분리되었음을 지시하는 데이터를 수신하고, 상기 데이터에 기초하여 상기 디스플레이 모듈에 상기 포인터를 출력할 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 디스플레이 모듈의 적어도 일 영역을 제어 영역으로 결정하고, 상기 제어 영역에 상기 포인터를 출력할 수 있다.
도 14는 다양한 실시예에 따른 전자 장치가 가상 객체를 선택하는 방법의 순서도이다.
도 14에 도시된 방법은 도 1 내지 도 13을 통해 설명한 전자 장치(예: 도 1의 전자 장치(101))에 의해 수행될 수 있으며, 이하에서는 앞서 설명한 바 있는 기술적 특징에 대해서는 그 설명을 생략하기로 한다.
다양한 실시예에 따르면, 동작 1402에서, 전자 장치는 제1타입 가상 객체(예: 도 6의 제1타입 가상 객체(620)) 및 제2타입 가상 객체(예: 도 6의 제2타입 가상 객체(630)) 중 적어도 하나를 출력할 수 있다. 가상 객체는 디스플레이 상에서 고정된 위치에 출력되는 제1타입 가상 객체 및 공간의 고정된 위치에 출력되는 제2타입 가상 객체를 포함할 수 있다. 전자 장치는 사용자 입력에 기초하여 제1타입 가상 객체의 디스플레이 상 위치 및 제2타입 가상 객체의 공간 상 위치를 자유롭게 설정할 수 있다. 일 실시예에 따르면, 전자 장치는 출력한 가상 객체의 크기, 위치, 방향, 및 각도 중 적어도 하나를 조절할 수 있다.
다양한 실시예에 따르면, 동작 1404에서, 전자 장치는 사용자 장치로부터 입력 장치의 좌표를 획득할 수 있다. 전자 장치는 통신 모듈(예: 도 5의 통신 모듈(540))을 이용하여 사용자 장치와 통신 연결을 수립할 수 있다. 전자 장치는 사용자 장치로부터 입력 장치에서 버튼 이벤트가 발생하였음을 지시하는 제어 신호 및 입력 장치의 좌표 중 적어도 하나를 수신할 수 있다. 입력 장치의 좌표는 x좌표, y좌표 및 z좌표를 포함할 수 있다. 이 중 x좌표 및 y좌표는 사용자 장치의 디스플레이를 포함하는 평면 상의 위치를 나타내는 좌표일 수 있으며, z좌표는 사용자 장치의 디스플레이로부터의 거리를 나타낼 수 있다.
다양한 실시예에 따르면, 동작 1406에서, 전자 장치는 디스플레이에서 좌표에 대응하는 위치에 포인터를 출력할 수 있다. 전자 장치는 입력 장치의 좌표 중 x좌표 및 y좌표에 대응하는 디스플레이 상 위치를 결정할 수 있다. 전자 장치는 결정한 디스플레이 상 위치에 포인터를 출력할 수 있다.
다양한 실시예에 따르면, 전자 장치는 사용자 장치와 입력 장치의 분리 이벤트에 대응하여 디스플레이에 포인터를 출력할 수 있다. 일 실시예에 따르면, 입력 장치는 사용자 장치의 하우징의 일 측에 수납 또는 부착될 수 있다. 사용자가 입력 장치를 사용자 장치에서 분리하는 분리 이벤트가 발생하는 경우, 사용자 장치는 분리 이벤트를 감지하여 전자 장치로 신호를 전송할 수 있다. 전자 장치는 분리 이벤트를 감지한 경우 포인터를 디스플레이에 출력할 수 있다. 전자 장치는 분리 이벤트를 감지하고, 포인터를 출력에 대한 안내 메시지를 포함하는 그래픽 UI를 출력할 수 있다. 전자 장치는 그래픽 UI에 대한 사용자 입력에 기초하여 디스플레이에 포인터를 출력할 수도 있고, 포인터가 아닌 입력 장치 메뉴를 제공할 수도 있다.
일 실시예에 따르면, 전자 장치는 디스플레이의 적어도 일 영역을 제어 영역으로 결정하고, 제어 영역 상에 포인터를 출력할 수 있다. 일 실시예에 따르면, 전자 장치는 사용자 장치의 화면 비율(예: 16:9)에 기초하여 제어 영역의 화면 비율을 결정할 수 있다. 일 실시예에 따르면, 전자 장치는 입력 장치의 x좌표 및 y좌표에 기초하여 포인터 출력 여부를 결정할 수 있다.
다양한 실시예에 따르면, 동작 1408에서, 전자 장치는 입력 장치의 z좌표에 기초하여 선택할 객체 타입을 결정할 수 있다. 전자 장치는 입력 장치와 사용자 장치가 밀착되어 있는 경우, 즉 입력 장치의 z좌표가 정해진 값 미만인 경우 제1타입 가상 객체를 선택할 수 있다. 반대로, 전자 장치는 입력 장치와 사용자 장치가 떨어져 있는 경우, 즉 입력 장치의 z좌표가 정해진 값 이상인 경우 제2타입 가상 객체를 선택할 수 있다.
다양한 실시예에 따르면, 동작 1410에서, 전자 장치는 포인터의 위치 및 객체 타입에 기초하여 가상 객체를 선택할 수 있다. 전자 장치는 터치 입력(예: 도 6의 터치 입력(640))에 대응하여 제1타입 객체를 선택하는 것으로 결정하고, 호버링 입력(예: 도 6의 호버링 입력(642))에 대응하여 제2타입 객체를 선택하는 것으로 결정할 수 있다. 일 실시예에 따르면, 전자 장치는 선택한 가상 객체를 포함하는 영역의 윤곽에 그래픽 효과를 추가할 수 있다. 전자 장치는 선택한 가상 객체를 포함하는 사각형 영역의 모서리를 굵은 선으로 표시할 수 있다. 일 실시예에 따르면, 전자 장치는 선택한 가상 객체와 선택하지 않은 가상 객체를 서로 다른 색으로 표시할 수 있다. 일 실시예에 따르면, 전자 장치는 선택한 가상 객체의 객체 타입에 따라 서로 다른 그래픽 효과를 추가할 수 있다.
다양한 실시예에 따르면, 전자 장치는 디스플레이 상의 일 영역에 포함되는 복수의 가상 객체를 선택할 수 있다. 일 실시예에 따르면, 전자 장치는 드래그(drag) 제스처를 인식하고, 드래그 한 영역 내에 포함되는 가상 객체를 한꺼번에 선택할 수 있다. 일 실시예에 따르면, 전자 장치는 사용자 장치로부터 수신한 제어 신호에 대응하여 드래그 할 영역을 결정할 수 있다. 전자 장치는 제1제어 신호에 대응하여 포인터의 제1위치를 저장하고, 제2제어 신호에 대응하여 포인터의 제2위치를 저장하고, 제1위치 및 제2위치를 포함하는 영역을 드래그한 것으로 결정할 수 있다. 일 실시예에 따르면, 전자 장치는 제1위치 및 제2위치를 마주보는 꼭지점으로 하는 사각형을 드래그한 영역으로 결정할 수 있다.
다양한 실시예에 따르면, 전자 장치는 포인터를 출력한 위치에 복수의 가상 객체가 위치하는 경우, 입력 장치의 z좌표에 기초하여 하나의 가상 객체를 선택할 수 있다. 일 실시예에 따르면, 전자 장치는 입력 장치의 z좌표가 클수록 전자 장치로부터 더 멀리 떨어져 있는 가상 객체를 선택할 수 있다. 전자 장치는 가까이 위치하는 가상 객체를 반투명하게 출력하여 사용자가 멀리 위치하는 가상 객체를 인식할 수 있는 환경을 제공할 수 있다.
다양한 실시예에 따르면, 입력 장치로부터의 입력이 터치 입력에서 호버링 입력으로 바뀌는 경우, 전자 장치는 가까운 제2타입 가상 객체로 포인터의 위치를 이동할 수 있다. 전자 장치는 터치 입력에 대응하여 제1위치에 포인터를 출력하다가 호버링 입력을 수신할 수 있다. 제1위치에 제2타입 가상 객체가 없다면, 전자 장치는 제1위치에서 가장 가까운 위치에 있는 제2타입 가상 객체의 위치로 포인터를 이동할 수 있다.
다양한 실시예에 따르면, 전자 장치는 선택한 가상 객체를 포함하는 영역의 윤곽으로 포인터를 이동한 경우 포인터의 출력 형태를 변경할 수 있다. 예를 들어, 전자 장치는 제1형태(예: 점, 원)로 포인터를 출력하다가, 선택한 가상 객체를 포함하는 영역의 윤곽으로 포인터를 이동할 경우 포인터를 제2형태(예: 십자가, 화살표)로 변경할 수 있다.
다양한 실시예에 따르면, 전자 장치는 출력한 가상 객체의 위치를 이동할 수 있다. 가상 객체를 포함하는 영역(예: 사각형)의 모서리에 포인터가 위치하고 사용자 장치로부터 제어 신호가 수신된 경우, 전자 장치는 가상 객체의 위치를 이동할 수 있다. 사용자는 입력 장치에서 버튼을 누른 채로 포인터의 위치를 이동하여 가상 객체의 위치를 이동하고, 버튼을 누르던 손가락을 떼서 해당 위치를 가상 객체의 위치로 결정할 수 있다.
다양한 실시예에 따르면, 전자 장치는 출력한 가상 객체를 회전시킬 수 있다. 가상 객체를 포함하는 영역의 꼭지점에 포인터가 위치하고 사용자 장치로부터 제어 신호가 수신된 경우, 전자 장치는 가상 객체를 회전시킬 수 있다. 사용자는 입력 장치에서 버튼을 누른 채로 포인터의 위치를 이동하여 가상 객체를 회전시키고, 버튼을 누르던 손가락을 떼서 해당 각도로 가상 객체를 회전시킬 수 있다.
다양한 실시예에 따르면, 전자 장치는 출력한 가상 객체의 객체 타입을 변경할 수 있다. 전자 장치는 버튼 이벤트에 대응한 제어 신호 및 입력 장치의 z좌표에 기초하여 가상 객체의 객체 타입을 변경할 수 있다. 전자 장치는 버튼 이벤트에 대응한 제어 신호 및 입력 장치의 좌표를 획득하여 가상 객체의 객체 타입을 변경할 수 있다.
다양한 실시예에 따르면, 전자 장치는 포인터의 위치에 가상 객체가 없는 경우, 가상 객체의 평균 z좌표를 계산하여 포인터의 z좌표를 결정할 수 있다. 일 실시예에 따르면, 전자 장치는 포인터의 디스플레이 상 위치와 함께, 전자 장치로부터의 거리를 지시하는 z좌표를 결정할 수 있다. 입력 장치의 좌표에 기초하여 설정한 포인터의 디스플레이 상 위치에 가상 객체가 위치하는 경우, 전자 장치는 가상 객체까지의 거리를 z좌표로 결정할 수 있다. 포인터의 디스플레이 상 위치에 가상 객체가 없는 경우, 전자 장치는 출력한 가상 객체들의 평균 z좌표를 계산하여 포인터의 z좌표를 결정할 수 있다.
다양한 실시예에 따른 전자 장치의 가상 객체 선택 방법은, 디스플레이 모듈의 정해진 위치에 출력되는 제1타입 가상 객체 및 공간의 정해진 위치에 출력되는 제2타입 가상 객체를 적어도 하나 출력하는 동작, 외부 장치와 통신 연결을 수립하여 전자 펜의 좌표를 획득하는 동작, 상기 디스플레이 모듈에서 상기 좌표에 대응하는 위치를 결정하여 상기 위치에 포인터(pointer)를 출력하는 동작, 상기 좌표에 기초하여 상기 제1타입 가상 객체 또는 상기 제2타입 가상 객체 중 선택할 객체 타입을 결정하는 동작, 및 상기 포인터의 위치 및 결정한 객체 타입에 기초하여 적어도 하나의 가상 객체를 선택하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 가상 객체를 선택하는 동작은, 상기 객체 타입을, 상기 좌표 중 z좌표가 정해진 값 이상이면 제1타입으로 결정하고, z좌표가 정해진 값 미만이면 상기 객체 타입을 제2타입으로 결정하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 펜에 배치된 버튼이 작동하는 이벤트에 대응하는 제어 신호를 상기 외부 장치로부터 수신하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 가상 객체를 선택하는 동작은, 상기 포인터를 출력한 위치에 복수의 가상 객체가 위치하는 경우, 수신한 제어 신호에 대응하여 상기 전자 펜의 z좌표를 획득하는 동작, 및 상기 전자 펜의 z좌표에 기초하여 하나의 가상 객체를 선택하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 가상 객체를 선택하는 동작은, 상기 전자 펜의 제1 z좌표에 대응하여 제1가상 객체를 선택하는 동작, 및 상기 제1 z좌표보다 큰 제2 z좌표에 대응하여, 상기 전자 장치로부터 상기 제1가상 객체보다 멀리 있는 제2가상 객체를 선택하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 적어도 하나의 가상 객체를 선택하는 동작은, 상기 전자 펜의 z좌표가 정해진 값 미만인 경우, 상기 포인터의 위치에 기초하여 제1타입 가상 객체를 선택하는 동작, 수신한 제어 신호에 대응하여 상기 전자 펜의 z좌표를 획득하는 동작, 및 상기 전자 펜의 z좌표가 정해진 값 이상인 경우, 선택한 가상 객체의 객체 타입을 제2타입으로 변경하는 동작을 더 포함할 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    본체부;
    상기 본체부에 의하여 지지되는 글래스 모듈;
    상기 글래스 모듈에 배치되는 적어도 하나의 디스플레이 모듈;
    상기 본체부에 회전 가능하게 연결되는 지지부 모듈;
    전방 카메라 및 시선 추적 카메라(eye tracking camera)를 포함하는 카메라 모듈;
    외부 장치와 통신 연결을 수립하는 통신 모듈; 및
    상기 디스플레이 모듈, 상기 카메라 모듈 및 상기 통신 모듈과 작동적으로(operatively) 연결되는 프로세서를 포함하고,
    상기 프로세서는,
    상기 디스플레이 모듈의 정해진 위치에 출력되는 제1타입 가상 객체 및 공간의 정해진 위치에 출력되는 제2타입 가상 객체를 적어도 하나 출력하고,
    상기 외부 장치로부터 전자 펜의 좌표를 획득하고,
    상기 디스플레이 모듈에서 상기 좌표에 대응하는 위치를 결정하여 상기 위치에 포인터(pointer)를 출력하고,
    상기 좌표에 기초하여 상기 제1타입 가상 객체 또는 상기 제2타입 가상 객체 중 선택할 객체 타입을 결정하고,
    상기 포인터의 위치 및 결정한 객체 타입에 기초하여 적어도 하나의 가상 객체를 선택하도록 설정된 전자 장치.
  2. 제 1항에 있어서,
    상기 프로세서는,
    상기 객체 타입을, 상기 좌표 중 z좌표가 정해진 값 이상이면 제1타입으로 결정하고, z좌표가 정해진 값 미만이면 상기 객체 타입을 제2타입으로 결정하도록 설정된 전자 장치.
  3. 제 2항에 있어서,
    상기 프로세서는,
    상기 전자 펜에 배치된 버튼이 작동하는 이벤트에 대응하는 제어 신호를 상기 외부 장치로부터 수신하도록 설정된 전자 장치.
  4. 제 3항에 있어서,
    상기 프로세서는,
    상기 외부 장치로부터 제1제어 신호에 대응하는 상기 전자 펜의 제1좌표를 획득하고,
    상기 제1좌표에 기초하여 상기 포인터의 제1위치를 획득하고,
    상기 외부 장치로부터 제2제어 신호에 대응하는 상기 전자 펜의 제2좌표를 획득하고,
    상기 제2좌표에 기초하여 상기 포인터의 제2위치를 획득하고,
    상기 제1위치 및 상기 제2위치를 포함하는 영역에 포함되는 적어도 하나의 가상 객체를 선택하도록 설정된 전자 장치.
  5. 제 3항에 있어서,
    상기 프로세서는,
    상기 포인터를 출력한 위치에 복수의 가상 객체가 위치하는 경우,
    수신한 제어 신호에 대응하여 상기 전자 펜의 z좌표를 획득하고,
    상기 전자 펜의 z좌표에 기초하여 하나의 가상 객체를 선택하도록 설정된 전자 장치.
  6. 제 5항에 있어서,
    상기 프로세서는,
    상기 전자 펜의 제1 z좌표에 대응하여 제1가상 객체를 선택하고,
    상기 제1 z좌표보다 큰 제2 z좌표에 대응하여, 상기 전자 장치로부터 상기 제1가상 객체보다 멀리 있는 제2가상 객체를 선택하도록 설정된 전자 장치.
  7. 제 6항에 있어서,
    상기 프로세서는,
    상기 전자 펜의 z좌표가 상기 제1 z좌표에서 상기 제2 z좌표로 증가하면 상기 제1가상 객체를 반투명하게 출력하도록 설정된 전자 장치.
  8. 제 3항에 있어서,
    상기 프로세서는,
    수신한 제어 신호에 대응하여, 상기 포인터가 제1위치에서 제2위치로 이동함에 대응하여 상기 가상 객체의 출력 위치를 상기 제1위치에서 상기 제2위치로 이동하도록 설정된 전자 장치.
  9. 제 8항에 있어서,
    상기 프로세서는,
    상기 포인터가 상기 가상 객체를 포함하는 영역의 윤곽에 위치하는 경우, 상기 포인터의 출력 형태를 변경하도록 설정된 전자 장치.
  10. 제 3항에 있어서,
    상기 프로세서는,
    수신한 제어 신호에 대응하여, 상기 포인터가 제1위치에서 제2위치로 이동함에 대응하여 상기 가상 객체가 출력되는 각도를 제1각도에서 제2각도로 회전하도록 설정된 전자 장치.
  11. 제 3항에 있어서,
    상기 프로세서는,
    상기 전자 펜의 z좌표가 정해진 값 미만인 경우, 상기 포인터의 위치에 기초하여 제1타입 가상 객체를 선택하고,
    수신한 제어 신호에 대응하여 상기 전자 펜의 z좌표를 획득하고,
    상기 전자 펜의 z좌표가 정해진 값 이상인 경우, 선택한 가상 객체의 객체 타입을 제2타입으로 변경하도록 설정된 전자 장치.
  12. 제 3항에 있어서,
    상기 프로세서는
    상기 전자 펜의 z좌표가 정해진 값 이상인 경우, 상기 포인터의 위치에 기초하여 제2타입 가상 객체를 선택하고,
    수신한 제어 신호에 대응하여 상기 전자 펜의 z좌표를 획득하고,
    상기 전자 펜의 z좌표가 정해진 값 미만인 경우, 선택한 가상 객체의 객체 타입을 제1타입으로 변경하도록 설정된 전자 장치.
  13. 제 1항에 있어서,
    상기 프로세서는,
    상기 전자 장치로부터 상기 전자 펜가 분리되었음을 지시하는 데이터를 수신하고,
    상기 데이터에 기초하여 상기 디스플레이 모듈에 상기 포인터를 출력하도록 설정된 전자 장치.
  14. 제 1항에 있어서,
    상기 프로세서는,
    상기 디스플레이 모듈의 적어도 일 영역을 제어 영역으로 결정하고,
    상기 제어 영역에 상기 포인터를 출력하도록 설정된 전자 장치.
  15. 전자 장치의 가상 객체 선택 방법에 있어서,
    디스플레이 모듈의 정해진 위치에 출력되는 제1타입 가상 객체 및 공간의 정해진 위치에 출력되는 제2타입 가상 객체를 적어도 하나 출력하는 동작,
    외부 장치와 통신 연결을 수립하여 전자 펜의 좌표를 획득하는 동작,
    상기 디스플레이 모듈에서 상기 좌표에 대응하는 위치를 결정하여 상기 위치에 포인터(pointer)를 출력하는 동작,
    상기 좌표에 기초하여 상기 제1타입 가상 객체 또는 상기 제2타입 가상 객체 중 선택할 객체 타입을 결정하는 동작, 및
    상기 포인터의 위치 및 결정한 객체 타입에 기초하여 적어도 하나의 가상 객체를 선택하는 동작을 포함하는 방법.
  16. 제 15항에 있어서,
    상기 적어도 하나의 가상 객체를 선택하는 동작은,
    상기 객체 타입을, 상기 좌표 중 z좌표가 정해진 값 이상이면 제1타입으로 결정하고, z좌표가 정해진 값 미만이면 상기 객체 타입을 제2타입으로 결정하는 동작을 더 포함하는 방법.
  17. 제 16항에 있어서,
    상기 전자 펜에 배치된 버튼이 작동하는 이벤트에 대응하는 제어 신호를 상기 외부 장치로부터 수신하는 동작을 더 포함하는 방법.
  18. 제 17항에 있어서,
    상기 적어도 하나의 가상 객체를 선택하는 동작은,
    상기 포인터를 출력한 위치에 복수의 가상 객체가 위치하는 경우,
    수신한 제어 신호에 대응하여 상기 전자 펜의 z좌표를 획득하는 동작, 및
    상기 전자 펜의 z좌표에 기초하여 하나의 가상 객체를 선택하는 동작을 더 포함하는 방법.
  19. 제 18항에 있어서,
    상기 적어도 하나의 가상 객체를 선택하는 동작은,
    상기 전자 펜의 제1 z좌표에 대응하여 제1가상 객체를 선택하는 동작, 및
    상기 제1 z좌표보다 큰 제2 z좌표에 대응하여, 상기 전자 장치로부터 상기 제1가상 객체보다 멀리 있는 제2가상 객체를 선택하는 동작을 더 포함하는 방법.
  20. 제 17항에 있어서,
    상기 적어도 하나의 가상 객체를 선택하는 동작은,
    상기 전자 펜의 z좌표가 정해진 값 미만인 경우, 상기 포인터의 위치에 기초하여 제1타입 가상 객체를 선택하는 동작,
    수신한 제어 신호에 대응하여 상기 전자 펜의 z좌표를 획득하는 동작, 및
    상기 전자 펜의 z좌표가 정해진 값 이상인 경우, 선택한 가상 객체의 객체 타입을 제2타입으로 변경하는 동작을 더 포함하는 방법.
KR1020210133730A 2021-10-08 2021-10-08 전자 장치 및 가상 객체 선택 방법 KR20230050625A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210133730A KR20230050625A (ko) 2021-10-08 2021-10-08 전자 장치 및 가상 객체 선택 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210133730A KR20230050625A (ko) 2021-10-08 2021-10-08 전자 장치 및 가상 객체 선택 방법

Publications (1)

Publication Number Publication Date
KR20230050625A true KR20230050625A (ko) 2023-04-17

Family

ID=86128236

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210133730A KR20230050625A (ko) 2021-10-08 2021-10-08 전자 장치 및 가상 객체 선택 방법

Country Status (1)

Country Link
KR (1) KR20230050625A (ko)

Similar Documents

Publication Publication Date Title
EP4167019A1 (en) Method of changing settings of display and electronic device
US11928257B2 (en) Method and electronic device for tracking eye
KR20220086939A (ko) 전자 장치 및 전자 장치의 동작 방법
EP4357838A1 (en) Electronic device and method for displaying content
KR20220036679A (ko) 증강 현실 콘텐츠를 제공하는 전자 장치 및 그의 동작 방법
US20230152900A1 (en) Wearable electronic device for displaying virtual object and method of controlling the same
US20230154060A1 (en) Electronic device and method for anchoring of augmented reality object
EP4262200A1 (en) Electronic device for displaying contents and operation method therefor
KR20230088100A (ko) 가상 입력 장치를 이용하기 위한 전자 장치 및 그 전자 장치에서의 동작 방법
KR20230050625A (ko) 전자 장치 및 가상 객체 선택 방법
KR20220008118A (ko) 가상 객체들의 밝기를 다르게 표시하는 방법 및 장치
US20240104695A1 (en) Electronic device for controlling resolution of each of plurality of areas included in image acquired from camera and method thereof
KR20230044833A (ko) 전자 장치 및 컨텐츠 표시 방법
US20240103289A1 (en) Wearable electronic device and method for controlling power path thereof
US11762486B2 (en) Electronic device for performing plurality of functions using stylus pen and method for operating same
EP4202531A1 (en) Augmented reality wearable electronic device comprising camera
US20230252738A1 (en) Method and electronic device for displaying augmented reality content based on ambient illuminance
US20240169935A1 (en) Head-mounted electronic device and method for operating the same
US20240078069A1 (en) Electronic device and method for controlling display of at least one external object among one or more external objects
US20240046530A1 (en) Method of controlling display module, and electronic device performing the method
US20240048668A1 (en) Electronic device for supporting various communications during video call, and operating method therefor
US20240054740A1 (en) Augmented reality device and electronic device interacting with augmented reality device
KR20220030806A (ko) 디스플레이의 설정 변경 방법 및 전자 장치
KR20230118010A (ko) 입력 모드를 전환하는 증강 현실 장치 및 그 방법
KR20230151859A (ko) 웨어러블 디바이스의 착용 상태에 따라 상이한 피드백을 제공하는 웨어러블 디바이스 및 그 제어 방법