KR20240028897A - HMD(head mounted display) 장치에서 가상키보드를 표시하는 방법 및 장치 - Google Patents

HMD(head mounted display) 장치에서 가상키보드를 표시하는 방법 및 장치 Download PDF

Info

Publication number
KR20240028897A
KR20240028897A KR1020220132436A KR20220132436A KR20240028897A KR 20240028897 A KR20240028897 A KR 20240028897A KR 1020220132436 A KR1020220132436 A KR 1020220132436A KR 20220132436 A KR20220132436 A KR 20220132436A KR 20240028897 A KR20240028897 A KR 20240028897A
Authority
KR
South Korea
Prior art keywords
display
hand
virtual keyboard
virtual
user
Prior art date
Application number
KR1020220132436A
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 PCT/KR2023/012684 priority Critical patent/WO2024043765A1/ko
Publication of KR20240028897A publication Critical patent/KR20240028897A/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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시의 일 실시예에 따른 HMD(head mounted display) 장치가 가상키보드를 표시하는 방법은, 키보드 입력 영역 선택을 식별하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따른 HMD(head mounted display) 장치가 가상키보드를 표시하는 방법은, 적어도 하나의 센서에 기초하여, 디스플레이의 FOV(field of view)에서 손을 식별하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따른 HMD(head mounted display) 장치가 가상키보드를 표시하는 방법은, 식별에 기초하여 디스플레이에 가상키보드를 표시하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따른 HMD(head mounted display) 장치가 가상키보드를 표시하는 방법은, 디스플레이의 FOV에서 손이 식별된 경우, 식별된 손의 위치에 기초하여 가상키보드를 표시할 수 있다. 본 개시의 일 실시예에 따른 HMD(head mounted display) 장치가 가상키보드를 표시하는 방법은, 디스플레이의 FOV에 손이 식별되지 않은 경우, 선택된 키보드 입력 영역의 위치에 기초하여 가상키보드를 표시할 수 있다.

Description

HMD(head mounted display) 장치에서 가상키보드를 표시하는 방법 및 장치{METHOD AND APPARATUS FOR DISPLAYING VIRTUAL KEYBOARD ON HMD(head mounted display) DEVICE}
증강 현실 또는 가상 현실 기술의 발달과 함께 HMD 장치는 증강 현실 경험 또는 가상 현실 경험을 제공하기 위한 도구로써 널리 사용되고 있다. HMD 장치는 제한적인 공간으로 인해 물리적 사용자 인터페이스를 대체할 수 있는 다양한 사용자 인터페이스가 적용되며, 대표적으로 가상키보드가 있다.
가상키보드는 물리적 키보드와 구별되는 개념으로, 소프트웨어를 통해 구현한 가상의 키보드를 의미한다. HMD 장치 등과 같이 물리적 키보드를 연결하여 사용하기 어려운 경우 가상키보드는 유용한 사용자 입력 수단이 될 수 있다.
본 개시의 일 실시예에 따른 HMD(head mounted display) 장치가 가상키보드를 표시하는 방법은, 키보드 입력 영역 선택을 식별하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따른 HMD(head mounted display) 장치가 가상키보드를 표시하는 방법은, 적어도 하나의 센서에 기초하여, 디스플레이의 FOV(field of view)에서 손을 식별하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따른 HMD(head mounted display) 장치가 가상키보드를 표시하는 방법은, 식별에 기초하여 디스플레이에 가상키보드를 표시하는 단계를 포함할 수 있다. 본 개시의 일 실시예에 따른 HMD(head mounted display) 장치가 가상키보드를 표시하는 방법은, 디스플레이의 FOV에서 손이 식별된 경우, 식별된 손의 위치에 기초하여 가상키보드를 표시할 수 있다. 본 개시의 일 실시예에 따른 HMD(head mounted display) 장치가 가상키보드를 표시하는 방법은, 디스플레이의 FOV에 손이 식별되지 않은 경우, 선택된 키보드 입력 영역의 위치에 기초하여 가상키보드를 표시할 수 있다.
본 개시의 일 실시예에 따른 가상키보드를 표시하는 HMD(head mounted display) 장치는, 디스플레이; 통신부; 적어도 하나의 명령어(instruction)를 포함하는 프로그램을 저장하는 저장부; 및 저장부에 저장된 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는, 적어도 하나의 명령어를 실행함으로써 키보드 입력 영역 선택을 식별할 수 있다. 적어도 하나의 프로세서는, 적어도 하나의 명령어를 실행함으로써 적어도 하나의 센서에 기초하여, 디스플레이의 FOV(field of view)에서 손을 식별할 수 있다. 적어도 하나의 프로세서는, 적어도 하나의 명령어를 실행함으로써 식별에 기초하여 디스플레이에 가상키보드를 표시할 수 있다. 적어도 하나의 프로세서는, 적어도 하나의 명령어를 실행함으로써 디스플레이의 FOV에서 손이 식별된 경우, 식별된 손의 위치에 기초하여 가상키보드를 표시할 수 있다. 적어도 하나의 프로세서는, 적어도 하나의 명령어를 실행함으로써 디스플레이의 FOV에 손이 식별되지 않은 경우, 선택된 키보드 입력 영역의 위치에 기초하여 가상키보드를 표시할 수 있다.
한편, 본 개시의 일 실시예에 따르면, 전술한 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
도 1a 및 도 1b는 본 개시의 일 실시예에 따른 전자장치의 예시를 나타내는 도면이다.
도 2는 본 개시의 일 실시예에 따른 전자장치의 블록도를 나타낸다.
도 3은 본 개시의 일 실시예에 따른 전자장치가, 평면을 식별하고 가상입력 영역을 결정하는 방법을 설명하기 위한 도면이다.
도 4a 및 도 4b는 본 개시의 일 실시예에 따른 전자장치의 디스플레이에 가상키보드를 표시하고, 사용자와 인터랙션하는 방법을 설명하기 위한 도면이다.
도 5a 및 도 5b는 본 개시의 일 실시예에 따른 전자장치의 디스플레이에 가상키보드를 표시하고, 사용자와 인터랙션하는 방법을 설명하기 위한 도면이다.
도 6a 및 도 6b는 본 개시의 일 실시예에 따른 전자장치가 가상키보드를 표시하고 사용자와 인터랙션하는 방법을 나타내는 도면이다.
도 7은 본 개시의 일 실시예에 따른 전자장치가 가상 키보드를 표시하는 방법의 순서도이다.
도 8은 본 개시의 일 실시예에 따른 전자장치가 손의 위치 및 각도에 기초하여 가상키보드를 제공하는 방법을 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따른 전자장치가 손의 위치 및 각도에 기초하여 가상키보드를 제공하는 방법을 나타내는 도면이다.
도 10은 본 개시의 일 실시예에 따른 전자장치가 가상입력 영역을 결정하는 방법을 나타내는 도면이다.
도 11은 본 개시의 일 실시예에 따른 전자장치가 주변 환경에 기초하여 가상키보드를 표시하는 방법을 나타내는 도면이다.
도 12는 본 개시의 일 실시예에 따른 전자장치가 타이핑에 대한 피드백을 표시하는 방법을 나타내는 도면이다.
도 13은 본 개시의 일 실시예에 따른 전자장치가 손의 위치에 기초하여 입력방식을 결정하는 방법을 나타내는 도면이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 실시 예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다. 마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 실시예에서 ‘~부’는 하나 이상의 프로세서를 포함할 수 있다.
본 개시에서, 증강 현실 또는 AR(Augmented Reality)은 현실 세계의 물리적 환경 공간 내에 가상 이미지를 함께 보여주거나 현실 객체와 가상 객체 이미지를 함께 보여주는 것을 의미한다. AR 글래스 등 AR 전용 전자장치에서는 시스루(see-through) 디스플레이를 통과해 보여지는 현실 객체와, 장치의 디스플레이에 표시되는 가상 객체 이미지가 함께 보여진다. 모바일 장치에서는 카메라를 통해 촬영되는 현실 객체와 가상 객체가 함께 디스플레이에 표시되어 보여진다. 이미지, 배경, 주변 환경, 사물 등이 모두 가상의 이미지인 가상 현실(VR, virtual reality)과 달리, 증강 현실에서는 배경이나 주변 환경, 사물 등은 현실 객체이며 추가되는 정보만이 가상이다. 증강 현실은 부가적인 정보를 제공하는 동시에 현실의 효과를 더욱 증가시킬 수 있으므로, 다양한 산업 분야에서 응용될 수 있다.
본 개시에서, '가상 현실(VR: Virtual Reality)'은 가상 이미지를 실제처럼 보여주는 것을 의미한다.
아울러, '가상 현실 장치(Virtual Reality Device) 또는 VR 장치'라 함은 '가상 현실'을 표현할 수 있는 장치로서, 일반적으로 사용자가 안면부(顔面部)에 착용하는 안경 형상의 가상 현실 장치뿐만 아니라, 두부(頭部)에 착용하는 헤드 마운트 디스플레이 장치 (HMD: Head Mounted Display Apparatus)나, 가상 현실 헬멧(Virtual Reality Helmet) 등을 포괄한다.
가상키보드는 물리적 키보드와 구별되는 개념으로, 소프트웨어를 통해 구현한 가상의 키보드를 의미한다. HMD 장치 등과 같이 물리적 키보드를 연결하여 사용하기 어려운 경우 가상키보드는 유용한 사용자 입력 수단이 될 수 있다.
가상키보드를 사용하는 경우 사용자가 물리적으로 인식하기 어려운 평면 상에 가상의 그래픽을 투사하기때문에, 화면을 바라보면서 사용자의 손의 위치 및 정렬을 알기 어렵다. 이로 인해 사용자는 가상키보드를 직접 보면서 입력해야 하는데 가상의 화면이 사용자의 정면에 배치되는 HMD 장치의 특성상 가상키보드를 보기 위해서 시선을 정면에서 아래로 보게 되는데, HMD 장치의 특성상 무게 중심이 사용자의 안면에 있는데, 시야 이동이 장시간 반복될 경우 피로 및 어지러움을 유발할 수 있고 HMD 장치를 착용한 상태에서 아래를 바라보는 경우 사용자의 목에 부담이 가중될 수 있다.
따라서, 정면을 바라본 상태에서 가상키보드를 사용할 수 있도록 하는 기술이 필요하다.
도 1a 및 도 1b는 본 개시의 일 실시예에 따른 전자장치의 예시를 나타내는 도면이다.
본 개시의 일 실시예에 따른 전자장치(1000)는 증강 현실 장치 또는 가상 현실 장치일 수 있으나 이에 제한되는 것은 아니며, HMD(head mounted display) 장치로서, 가상키보드를 제공하고 가상키보드를 텍스트 입력을 획득하는 기능을 수행하는 모든 장치를 포함할 수 있다.
도 1a를 참조하면, 전자장치(1000)는 안경형 디스플레이 장치로서 사용자가 착용할 수 있도록 구성된 안경형 몸체를 포함할 수 있다.
안경형 몸체는 프레임(또는 림, rim)(110) 및 지지부(190)를 포함할 수 있으며, 지지부(190)는 프레임(110)으로부터 연장되어 사용자의 머리에 증강 현실 장치를 안착시키는데 이용될 수 있다. 지지부(190)는 템플(190L 및 190R) 및 코 지지부(미도시)를 포함할 수 있다. 템플(190L 및 190R)은 프레임(110)으로부터 연장되어 안경형 몸체의 측면부에서 사용자의 머리에 전자장치(1000)를 고정하는데 이용될 수 있다. 코 지지부(미도시)는 프레임(110)으로부터 연장되어 사용자의 코 부분에 전자장치(1000)를 안착시키는데 이용될 수 있으며, 예를 들어, 코 다리 및 안경 코를 포함할 수 있으나, 이에 제한되지 않는다.
또한, 프레임(110)에는 렌즈부(1350) 및 웨이브 가이드(1320)가 위치할 수 있다. 렌즈부(1350)는 좌안용 렌즈부(1350L) 및 우안용 렌즈부(1350R)를 포함할 수 있다. 또한, 웨이브 가이드(1320)는 투사된 광을 입력 영역에서 입력받고 입력된 광의 적어도 일부를 출력 영역에서 출력하도록 구성될 수 있다. 이러한 웨이브 가이드 (1320)는 좌안용 웨이브 가이드(1320L) 및 우안용 웨이브 가이드 (1320R)를 포함할 수 있다.
좌안용 렌즈부(1350L) 및 좌안용 웨이브 가이드(1320L)가 사용자의 좌안에 대응되는 위치에 배치될 수 있으며, 우안용 렌즈부(1350R) 및 우안용 웨이브 가이드 (1320R)가 사용자의 우안에 대응되는 위치에 배치될 수 있다. 예를 들어, 좌안용 렌즈부(1350L)와 좌안용 웨이브 가이드(1320L)가 서로 부착되거나, 우안용 렌즈부 (1350R) 및 우안용 웨이브 가이드(1320R)가 서로 부착될 수 있으나, 이에 제한되지 않는다.
또한, 화상을 담은 디스플레이 광을 투사하는 프로젝터의 광학 엔진(1310)은 좌안용 광학 엔진(1310L) 및 우안용 광학 엔진(1310R)을 포함할 수 있다. 좌안용 광학 엔진(1310L) 및 우안용 광학 엔진(1310R)은 전자장치(1000)의 양 측면에 위치할 수 있다. 또는 하나의 광학 엔진(1310)이 전자장치(1000)의 코 지지부(192) 주변 중앙 부분에 포함될 수도 있다. 광학 엔진(120)으로부터 출사된 광은 웨이브 가이드(1320)를 통해 표시될 수 있다.
HMD 디스플레이 장치와 사용자와의 인터랙션을 위한 사용자 인터페이스(UI, user interface)는 사용자의 시선, 또는 사용자의 모션(제스쳐) 정보를 포함할 수 있다. 이와 같은 정보들은 전자장치(1000)에 포함되는 센서들에 의해 획득되는 센싱 결과에 기초하여 획득될 수 있다.
도 1b를 참조하면, 전자장치(1000)의 전면에는 외부 환경 또는 사용자의 움직임을 센싱할 수 있는 센서부(1100)가 배치될 수 있다. 센서부(1100)는, 거리 센서(1110), 이미지 센서(1120), 자이로 센서(1130), 및 가속도 센서(1140)를 포함할 수 있다.
거리 센서(1110)는, 초음파 센서, 적외선 센서, 라이다 센서(LIDAR, LIght Detection And Ranging), 또는 레이더(RADAR, Radio Detection And Ranging) 센서 중 적어도 하나를 포함할 수 있다.
초음파 센서는, 초음파를 발사하고 반사파를 수신할 때까지 걸린 시간 또는 수신된 반사파의 파장 등에 기초하여 거리를 측정한다. 적외선 센서는, 가시광선보다 파장이 긴 전자기파를 이용하며 적외선은 파장이 길고 에너지가 낮기 때문에 안전하다. 적외선을 이용한 단거리 측정 센서는 센서에서 적외선을 조사하여 반사된 적외선의 강도에 따라 거리를 측정할 수 있다. 적외선 센서는 빛이 피사체에 반사되어 돌아오는 시간을 측정하여 거리를 계산하므로 ToF(time of flight) 센서라고도 불린다. 센서로부터 조사된 빛은 피사체의 굴곡에 따라 반사되어 돌아오는 시간이 각각 다르며, 이 시간차를 이용하여 피사체와의 거리 측정, 3D 스캔, 또는 높이 측정 등이 가능하다.
라이다 센서는, 탐지 범위가 좁지만 직진성이 강한 레이저를 사용하여 왜곡이 발생할 확률이 낮으므로 카메라나 레이더에 비해 정밀도가 높아 오차범위가 mm단위에 불과하다. 또한 라이다는 카메라나 레이더에 비해 높은 수평 방위각을 가지고 있어 고도와 방위를 정확히 측정할 수 있으며 작은 물체를 감지하는 능력도 뛰어나고 온도 또는 물질 분포 등을 감지할 수 있다. 레이더 센서는, 조사한 전자파가 대상에 부딪힌 뒤 돌아오는 반사파를 측정하여 대상의 존재, 방향 거리 및 속도를 파악할 수 있다. 전파를 사용하므로 주변 환경에 민감도가 낮아 안정적인 측정이 가능하다.
이미지 센서(1120)는, 대표적으로 카메라가 있으며 대상을 촬영하여 존재, 위치 및 크기를 식별할 수 있다. 이미지 센서(1120)는 촬영 기능을 요구하는 애플리케이션이 실행되는 경우에 정지 영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서(1120)를 통해 캡쳐된 이미지는 프로세서(1800) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. 이미지 센서(1120)는, 예를 들어, 회전 가능한 RGB 카메라 모듈 또는 복수의 뎁스 카메라 모듈 중 적어도 하나를 구성할 수 있으나, 이에 제한되지 않는다.
전자장치(1000)는 이미지 센서(1120)를 이용해 촬영된 외부 영상을 내부 디스플레이에 실시간으로 표시(재생)하여 VST(video see-through) 기능을 구현할 수 있다. VST는, 시스루 디스플레이를 통해 사용자의 눈으로 직접 인지하는 외부환경에 디스플레이(렌즈)에 투사된 가상 이미지를 겹쳐서 표시하는 OST(optical see-through)와 달리, 카메라(또는 비전 센서)를 통해 촬영된 이미지를 가상 콘텐츠와 겹쳐서 표시하는 디스플레이 방식으로 pass through라고 지칭될 수도 있다. VST 기능은 외부 시야가 차단되는 암막형 HMD 장치에서 외부 환경을 인지할 수 있는 효과적 수단이 될 수 있다. 이미지 센서(1120)는 복수개의 이미지 센서들로 구성될 수 있다.
자이로 센서(1130)는 각속도를 측정하는 센서로, MEMS 기술을 적용하여 칩 형태로 구현된 자이로스코프를 의미한다. 자이로 센서(1130)는 전자장치(1000)의 회전 및 회전 속도를 감지할 수 있다.
가속도 센서(1140)는 속도의 변화(가속도), 또는 운동량의 변화(충격량)등의 동적 힘을 측정하는 센서로, 전자장치(1000)의 운동 상태를 상세하게 감지할 수 있다.
자이로 센서(1130) 및 가속도 센서(1140)은 전자장치(1000)의 움직임 또는 사용자의 움직임을 감지할 수 있다.
거리 센서(1110) 및 이미지 센서(1120)를 이용하여 센싱한 객체의 움직임과 자이로 센서 및 가속도 센서(1140)를 이용하여 센싱한 전자장치(1000)의 움직임에 대한 정보를 이용함으로써, 보다 정확한 센싱 결과를 획득할 수 있다.
도 2는 본 개시의 일 실시예에 따른 전자장치의 블록도를 나타낸다.
도 2를 참조하면, 본 개시의 일 실시예에 따른 전자 장치(1000)는 센서부(1100), 입력부(1200), 디스플레이부(1300), 출력부(1400), 통신 인터페이스(1600), 저장부(1700) 및 프로세서(1800)를 포함할 수 있다.
센서부(1100)는 전자 장치(1000) 주변의 환경을 감지할 수 있다. 센서부(1100)는 거리 센서(1110), 이미지 센서(1120), 자이로 센서(1130), 가속도 센서(1140), 및 시선 추적 센서(1150) 외에도 온도 센서, 자이로 센서, 거리 센서(LADAR, LIDAR), 적외선 센서, UWB 센서를 포함할 수 있다. 거리 센서(1110), 이미지 센서(1120), 자이로 센서(1130), 및 가속도 센서(1140)에 대한 설명은 도 1b에서 전술하였으므로, 자세한 설명은 생략한다.
시선 추적 센서(1150)는 전자 장치(1000)를 착용한 사용자의 시선을 검출하고, 추적할 수 있다. 시선 추적 센서(1150)는 사용자의 눈을 향하는 방향으로 설치될 수 있으며, 사용자의 좌안의 시선 방향 및 사용자의 우안의 시선 방향을 검출할 수 있다. 사용자의 시선 방향을 검출하는 것은, 사용자의 시선에 관련된 시선 정보를 획득하는 동작을 포함할 수 있다.
입력부(1200)는, 사용자가 전자 장치(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미하며, 마이크(1210) 및 버튼부(1220)를 포함할 수 있다.
마이크(1210)는, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크(1210)는 외부 디바이스 또는 화자로부터의 음향 신호를 수신할 수 있다. 마이크(1210)를 통해 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘이 이용될 수 있다. 마이크(1210)는 전자 장치(1000)를 제어하기 위한 사용자의 음성 입력을 수신할 수 있다.
버튼부(1220)는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠 또는 조그 스위치 중 적어도 하나를 포함할 수 있으나 이에 한정되는 것은 아니다.
디스플레이부(1300)는, 전자 장치(1000)에서 처리되는 정보를 표시 출력한다. 예를 들어, 디스플레이부(1300)는, 전자 장치(1000)의 주변을 촬영하기 위한 사용자 인터페이스 및 전자 장치(1000) 주변의 촬영된 이미지를 기반으로 제공되는 서비스에 관련된 정보를 디스플레이할 수 있다.
디스플레이부(1300)와 터치패드가 레이어 구조를 이루어 터치스크린으로 구성되는 경우, 디스플레이부(1300)는 입력 장치로도 사용될 수 있다. 디스플레이부(1300)는 액정 디스플레이부(liquid crystal display), 박막 트랜지스터 액정 디스플레이부(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이부(flexible display), 3차원 디스플레이부(3D display), 전기영동 디스플레이부(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다.
일 실시 예에 의하면, 디스플레이부(1300)는 AR 영상 및 VR 영상을 제공할 수 있다. 도 1a에서와 같이, 디스플레이부(1300)는 광학 엔진(1380)을 포함할 수 있다. 전자 장치(1000)가 안경 형태의 장치인 경우에, 디스플레이부(1300)는 좌측 디스플레이부 및 우측 디스플레이부를 포함할 수 있다.
출력부(1400)는 오디오 신호 또는 햅틱 신호의 출력을 위한 것이다.
스피커(1410)는 통신 인터페이스(1600)로부터 수신되거나 저장부(1700)에 저장된 오디오 데이터를 출력할 수 있다. 복수의 스피커는 입체 음향 신호를 출력할 수도 있다. 예를 들어, 복수의 스피커는 우측 채널 스피커, 좌측 채널 스피커, 모노 채널 스피커 중 적어도 하나로 구현될 수 있다. 또한, 복수의 스피커는 전자장치 (1000)에서 수행되는 기능(예를 들어, 알림음, 안내 음성, 가이드 음성)과 관련된 음향 신호를 출력할 수 있다.
햅틱 모듈(1420)은 전자장치 (1000)에서 수행되는 기능과 관련된 햅틱 신호를 출력할 수 있다. 햅틱 신호는 강도 또는 패턴에 따라 구별될 수 있다.
통신 인터페이스(1600)는 전자 장치(1000)에 관련된 서비스를 제공 받기 위한 데이터를 외부 디바이스(미도시) 및 서버(미도시)와 송수신할 수 있다. 통신 인터페이스(1600)는 전자 장치(1000)와 서버 장치(미도시), 전자 장치(1000)와 외부 장치(미도시) 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신 인터페이스(1600)는, 근거리 통신부, 및 방송 수신부를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
방송 수신부는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(1000)는 방송 수신부를 포함하지 않을 수도 있다.
통신 인터페이스(1600)는 외부 장치(미도시)로부터 컨텐츠를 획득할 수 있다. 통신 인터페이스(1600)는 유선 또는 무선 통신을 통해 외부 장치(미도시)로부터 컨텐츠를 획득할 수 있다. 여기서, 외부 장치(미도시)는 서버 장치, 모바일 단말, 웨어러블 장치(예컨대, 시계, 밴드, 안경, 마스크 등), 가전 기기(예컨대, TV, 데스크 탑 PC, 노트북, DVD 장치, 세탁기, 냉장고 등) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 컨텐츠는 멀티미디어 파일, 비디오 파일 및 오디오 파일을 포함할 수 있다.
저장부(1700)는 후술할 프로세서(1800)에 의해 실행될 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수 있다.
저장부(1700)는 내장 메모리(Internal Memory)(미도시) 및 외장 메모리(External Memory)(미도시) 중 적어도 하나를 포함할 수 있다. 내장 메모리는, 예를 들어, 휘발성 메모리(예를 들면, DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous Dynamic RAM) 등), 비휘발성 메모리(예를 들면, OTPROM(One Time Programmable ROM), PROM(Programmable ROM), EPROM(Erasable and Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), Mask ROM, Flash ROM 등), 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따르면, 프로세서(1800)는 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 프로세서(1800)는 다른 구성요소로부터 수신하거나 생성된 데이터를 비휘발성 메모리에 보존할 수 있다. 외장 메모리는, 예를 들어, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 및 Memory Stick 중 적어도 하나를 포함할 수 있다.
저장부(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, 식별 모듈 (1710), 및 영상 처리 모듈(1720) 을 포함할 수 있다.
프로세서(1800)는 전자 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1800)는, 저장부(1700)에 저장된 프로그램들을 실행함으로써, 센서부(1100), 입력부(1200), 디스플레이부(1300), 출력부(1400), 통신 인터페이스(1600) 및 저장부(1700) 등을 전반적으로 제어할 수 있다.
프로세서(1800)는 저장부(1700)에 저장된 식별 모듈 (1710), 및 영상 처리 모듈(1720)을 실행함으로써, 가상키보드를 표시하고 가상키보드 입력을 획득할 수 있다.
일 실시예에 따르면, 전자 장치(1000)는 복수의 프로세서(1800)를 포함할 수 있으며, 식별 모듈 (1710), 및 영상 처리 모듈(1720)은 복수의 프로세서(1800)에 의해 실행될 수 있다.
프로세서(1800)는 저장부(1700)에 저장된 식별 모듈(1710)을 실행함으로써, 전자장치(1000) 전면의 평면을 식별하고, 디스플레이의 FOV 내에서 손을 식별하고, 가상입력 영역을 결정할 수 있다.
프로세서(1800)는 저장부(1700)에 저장된 영상 처리 모듈(1720)을 실행함으로써, 가상입력 영역에 손 배치 가이드를 표시하고, 디스플레이의 FOV 내에서 손이 식별된 경우 식별된 손을 VST로 표시하고, 가상키보드를 표시할 수 있다. 본 개시의 일 실시예에 따르면, 가상키보드 모듈(1723)은 가상키보드의 특정 키 또는 가상키보드의 모양, 색상, 각도, 위치를 결정하고, 표시할 수 있다.
본 개시의 일 실시예에 따르면, 손 배치 가이드가 이미지가 아닌 경우 손 배치 가이드 모듈(1721)은 영상 처리 모듈(1720)과 별도의 모듈로 구성될 수 있다.
도 3는 본 개시의 일 실시예에 따른 전자장치가, 평면을 식별하고 가상입력 영역을 결정하는 방법을 설명하기 위한 도면이다.
물리적 키보드가 포함되지 않거나 물리적 키보드와 연결되지 않은 전자장치(1000)에서, 키보드를 통한 텍스트 입력이 필요한 상황이 발생할 수 있다. 본 개시의 일 실시예에 따른 전자장치(1000)는, 키보드 입력이 필요한 상황, 예를 들어, 애플리케이션 실행 중 키보드 입력 영역이 선택되면, 가상키보드를 제공하여 사용자와 인터랙션할 수 있다. 본 명세서에서 키보드 입력이 필요한 상황은 키보드 입력 모드라고 지칭될 수 있다.
도 3을 참조하면, 본 개시의 일 실시예에 따른 전자장치(1000)는 거리 센서(1110) 또는 이미지 센서(1120)를 이용하여, 전자장치(1000) 주변의 공간 정보를 획득할 수 있다. 전자장치(1000) 주변의 공간 정보는, 이미지 센서(1120) 또는 거리 센서(1110)를 이용하여 획득된 주변 객체의 존재, 모양, 거리, 위치 및 움직임 정보를 포함할 수 있다.
전자장치(1000)는 획득된 공간 정보에 기초하여, 전자장치(1000) 전면의 평면(3100)을 식별하고, 식별된 평면(3100)에 대한 정보를 획득할 수 있다. 전자장치(1000) 전면의 평면(3100)은 촬영된 전면 영상의 객체 인식에 기초하여 식별될 수 있다. 평면에 대한 정보는, 평면의 존재, 위치, 크기, 및 모양에 대한 정보를 포함할 수 있다.
전자장치(1000)는 평면(3100)에 대한 정보에 기초하여, 평면(3100) 내에 사용자의 손이 위치할 가상입력 영역(3200)을 결정할 수 있다. 가상입력 영역(3200)은 식별된 평면(3100)의 가장자리로부터 소정의 여유공간(3400, margin)을 가지도록 결정될 수 있으며, 가상입력 영역(3200) 및 여유 공간(3400)은 배치될 가상키보드의 속성(예를 들어, 모양, 크기, 타입 등)에 기초하여 결정될 수 있다. 여유공간(3400)은 사용자의 손이 편안하게 위치할 수 있는 평면 공간상의 여백을 고려하여 결정될 수 있으며, 인구통계학적 정보(예를 들어, 평균 신체 사이즈, 관절 각도 등)에 기초하여 대부분의 사용자가 편안하게 사용할 수 있는 거리로 결정될 수 있다.
가상입력 영역(3200)이 결정되면, 전자장치(1000)는 사용자가 가상입력 영역(3200)에 손을 올려놓도록 유도하는 어포던스(affordance, 행동유도자)를 출력할 수 있다. 예를 들어, 전자장치(1000)는 결정된 가상입력 영역(3200)에 손을 올려놓을 것을 지시하는 텍스트 가이드 및/또는 손 모양의 그래픽 가이드(3300)를 디스플레이(1300)에 출력할 수 있다. 또는, 전자장치(1000)는 가상입력 영역(3200)에 손을 올려놓을 것을 지시하는 오디오 가이드를 스피커(1410)로 출력할 수 있다.
도 4a 및 도 4b는 본 개시의 일 실시예에 따른 전자장치의 디스플레이에 가상키보드를 표시하고, 사용자와 인터랙션하는 방법을 설명하기 위한 도면이다.
센서의 FOV(field of view)는 센싱이 가능한 영역을 의미하며, 일반적으로 각도로 정의된다. 기계식 센서는 360도 회전이 가능하여 360도의 FOV을 가질 수 있으며, 고정형 센서는 복수개의 센서를 배치하고 각 센서의 센싱 결과를 조합함으로써 FOV을 확장할 수 있다. 본 명세서에서 센서는 외부의 객체를 식별하고 정보를 획득할 수 있는 수단으로, 센서부(1100)에 포함된 거리 센서(1110) 또는 거리 센서(1100)를 구성하는 복수개의 거리 센서, 이미지 센서(1120) 또는 이미지 센서(1120)를 구성하는 복수개의 이미지 센서, 또는 그 조합을 의미할 수 있다.
디스플레이의 FOV는 한번에 볼 수 있는 디스플레이의 시야각을 의미하며, 안경형 AR 디스플레이의 경우 약 50도의 FOV를 갖고, 암막형 VR 디스플레이의 경우 약 110도의 FOV를 갖는다. 따라서, 센서의 FOV가 디스플레이의 FOV 보다 넓은 범위를 갖는다.
도 4a를 참조하면, 사용자는 HMD 장치인 전자장치(1000)를 착용한 상태에서, 가상키보드 입력 수단인 손이 놓여있는 평면을 바라보고 있다. 따라서, 사용자의 손(1000)이 센서의 FOV 및 디스플레이(1300)의 FOV 내에 위치하는 경우를 가정한다.
본 개시의 일 실시예에 따르면, 키보드 입력 모드(예를 들어, 사용자가 애플리케이션의 키보드 입력 영역 선택)에서 센서의 FOV에서 사용자의 손이 식별되고, 사용자의 손이 디스플레이(1300)의 FOV 내에 있는 경우, 전자장치(1000)는 디스플레이를 VST 모드(또는, pass through 모드라 한다)로 전환하여, 사용자의 손을 바라보고 있는 디스플레이(1300)의 FOV에 VST로 표시된 사용자의 손(2000) 위에 가상키보드(3000)를 매칭하여 표시할 수 있다. 이 때, 전자장치(1000)는 키보드 입력 영역(3500)을 가상키보드(3000) 주변에 배치하여 표시함으로써 사용자는 키보드 입력이 제대로 수행되는지 확인할 수 있다. 본 개시의 일 실시예에 따른 키보드 입력 영역(3500)은 가상키보드(3000)에 락(lock)되어, 가상키보드(3000)의 위치가 변경되면 그에 따라 키보드 입력 영역(3500)의 위치도 변경될 수 있다.
도 4b를 참조하면, 전자장치(1000)의 디스플레이(1300)는 애플리케이션 표시 영역(3600) 및 가상키보드 표시 영역을 포함할 수 있으며, 애플리케이션 표시 영역(3600)에는 애플리케이션 및 키보드 입력 영역(3500)이 표시되고 가상키보드 표시 영역에는 가상키보드(3000) 및 손(2000)이 표시될 수 있다. 본 개시의 일 실시예에 따르면, 키보드 입력 영역(3500)은 애플리케이션 표시 영역(3600)이 아닌 별도의 영역에 표시될 수 있다.
본 개시의 일 실시예에 따른 전자장치(1000)는, 키보드 입력 영역(3500)의 활성화 또는 키보드 입력 영역(3500)의 선택이 감지되면, 텍스트 입력을 위한 가상키보드를 표시하고, 표시된 가상키보드를 통해 사용자와 인터랙션하고 텍스트 입력을 획득할 수 있다. 전자장치(1000)는, 가상키보드(3000) 주변에 키보드 입력 영역(3500)을 표시하여, 사용자가 입력되는 키에 대응하는 텍스트가 제대로 입력되는지 여부를 확인하도록 할 수 있다.
애플리케이션 실행 중 키보드 입력 영역(3500)의 활성화가 감지되면, 전자장치(1000)는 센서를 이용하여 센서의 FOV 내에 평면 공간(3100)이 존재하는지 여부를 식별하고, 식별된 평면 공간 내에서 결정된 가상입력 영역(3200)에 사용자의 손을 위치하도록 하는 가이드(3300)를 출력할 수 있다. 센서의 FOV 내에서 평면 공간(3100)에 사용자의 손(2000)이 감지되고 감지된 손이 디스플레이(1300)의 FOV 내에 위치하면, 전자장치(1000)는 디스플레이(1300)에 가상키보드 배치 영역을 결정하고 결정된 가상 키보드 배치 영역에 가상키보드(3000) 및 사용자의 손(2000)을 표시할 수 있다.
본 개시의 일 실시예에 따른 전자장치(1000)가 AR 글라스 등 투명 디스플레이로 구성된 장치인 경우, 사용자는 전자장치(1000)의 FOV 내에 위치하는 자신의 손을 투명 디스플레이를 통해 직접 볼 수 있으므로 사용자의 손(2000)을 디스플레이에 표시하는 단계는 생략될 수 있다. 본 개시의 일 실시예에 따른 전자장치(1000)가 암막형 HMD 장치인 경우, 전자장치(1000)는 외부를 촬영하는 카메라 모듈(1130)을 이용하여 사용자 손(2000)의 이미지를 획득하고, 획득된 이미지를 VST 모드로 표시할 수 있다.
전자장치(1000)는 도 4b와 같이, 디스플레이(1300)에 가상키보드(3000) 및 손(2000)을 표시하고, 그 주변으로 텍스트 입력이 필요한 애플리케이션을 표시할 애플리케이션 표시 영역(3600) 및 키보드 입력 영역(3500)을 배치하여 표시할 수 있다.
도 5a 및 도 5b는 본 개시의 일 실시예에 따른 전자장치의 디스플레이에 가상키보드를 표시하고, 사용자와 인터랙션하는 방법을 설명하기 위한 도면이다.
도 5a 및 도 5b에서 도 4a 및 도 4b와 유사하거나 중복되는 설명은 간략히 기재되거나 생략될 수 있다.
HMD 장치의 경우 자체 무게에 의한 하중이 사용자의 목에 부담이 될 수 있으며, 목을 숙여 아래를 바라볼 경우 더욱 크게 작용한다. 대부분의 사용자는 물리적인 키보드를 사용할 때 키보드를 쳐다보지 않고 정면의 디스플레이를 바라보면서 키보드를 사용하는 경우가 많다. 따라서, 가상키보드 사용시에도 정면을 응시하는 것이 사용자에게 보다 편리할 수 있으며, HMD 장치의 사용자 경험을 향상시킬 수 있다.
도 5a를 참조하면, 사용자는 HMD 장치인 전자장치(1000)를 착용한 상태에서, 가상키보드를 입력할 손이 놓여있는 평면이 아니라 정면을 바라보고 있다. 따라서, 사용자의 손(1000)이 디스플레이(1300)의 FOV 내에 위치하지 않는 경우를 가정한다.
전술한 바와 같이, 센서의 FOV가 디스플레이의 FOV 보다 넓은 범위를 가지므로, 사용자의 손(1000)이 디스플레이(1300)의 FOV 내에 위치하지 않더라도 센서는 사용자의 손을 센싱할 수 있다.
본 개시의 일 실시예에 따르면, 키보드 입력 모드(예를 들어, 사용자가 애플리케이션의 키보드 입력 영역 선택)에서 센서의 FOV에서 사용자의 손이 식별되고, 사용자의 손이 디스플레이(1300)의 FOV 내에 있지 않은 경우, 전자장치(1000)는 정면을 바라보고 있는 디스플레이(1300)의 FOV에 가상키보드(3000)를 표시할 수 있다. 이 때, 사용자의 손(2000)은 디스플레이(1300)의 FOV에 표시되지 않으므로 전자장치(1000)는 키보드 입력 영역(3500) 주변에 가상키보드(3000)를 표시할 수 있다. 본 개시의 일 실시예에 따른 가상키보드(3000)는 키보드 입력 영역(3500)에 락(lock)되어, 키보드 입력 영역(3500)의 위치가 변경되면 그에 따라 가상키보드(3000)의 위치도 변경될 수 있다.
도 5b를 참조하면, 전자장치(1000)의 디스플레이(1300)는 애플리케이션 표시 영역(3600) 및 가상키보드 표시 영역을 포함할 수 있다. 애플리케이션 표시 영역(3600)에는 애플리케이션 및 키보드 입력 영역(3500)이 표시되고 가상키보드 표시 영역에는 가상키보드(3000)가 표시될 수 있다. 본 개시의 일 실시예에 따르면, 키보드 입력 영역(3500)은 애플리케이션 표시 영역(3600)이 아닌 별도의 영역에 표시될 수 있다.
전자장치(1000)에서 동영상 재생 중 메시지가 수신되어, 메신저 애플리케이션에 메시지이 팝업으로 표시(3600)된 경우를 가정한다. 사용자는 상대방과의 대화를 위해 키보드 입력 영역(3500)을 선택할 수 있으며, 키보드 입력 영역(3500)이 선택된 것을 식별한 전자장치(1000)는, 텍스트 입력을 위하여 가상키보드(3000)를 표시할 수 있으며, 표시된 가상키보드를 통해 사용자와 인터랙션하고 텍스트 입력을 획득할 수 있다. 전자장치(1000)는, 키보드 입력 영역(3500) 주변에 가상키보드(3000)를 표시하여, 사용자가 입력되는 키에 대응하는 텍스트가 제대로 입력되는지 여부를 확인하도록 할 수 있다.
보다 구체적으로, 애플리케이션 실행 중 키보드 입력 영역(3500)의 활성화가 감지되면, 전자장치(1000)는 센서를 이용하여 센서의 FOV 내에 평면 공간(3100)이 존재하는지 여부를 식별하고, 식별된 공간에 사용자의 손을 위치하도록 하는 가이드(3300)를 출력할 수 있다. 센서의 FOV 내에서 평면 공간(3100)에 사용자의 손(2000)이 감지되고 감지된 손이 디스플레이(1300)의 FOV 외부에 위치하면, 전자장치(1000)는 디스플레이(1300)에 가상키보드 배치 영역을 결정하고 결정된 가상 키보드 배치 영역에 가상키보드(3000)를 표시할 수 있다.
이 때, 사용자는 전면의 평면(3100)을 손가락으로 타이핑함으로써 텍스트를 입력할 수 있다. 따라서, 사용자가 인터랙션하는 (평면) 공간 영역과 디스플레이(1300)에 표시된 가상키보드의 공간 영역이 서로 상이하므로, 이와 같은 경우 디스플레이(1300)에 표시된 가상키보드(3000)는 키보드 내비게이터로 지칭될 수 있다.
키보드 내비게이터는 디스플레이에 표시되지 않는 사용자의 손의 위치 또는 손가락의 움직임(탭)을 인지하도록 도와주는 그래픽 사용자 인터페이스(GUI, graphic user interface)로, 가상키보드와 마찬가지로 각 손가락의 위치에 대응되는 키에 특정 표시가 추가되어 각 손가락의 위치가 특정될 수 있다. 또는, 전자장치(1000)는 디스플레이(1300)에 가상의 손의 이미지를 키보드 내비게이터에 표시하고 표시된 손의 이미지를 실제 손의 움직임에 연동되도록 표시할 수 있다. 예를 들어, 사용자가 왼손 검지를 평면 영역(3100)에 탭 한 것으로 식별되면, 전자장치(1000)는 키보드 내비게이터(3000)에 표시된 가상의 손 역시 왼손 검지를 탭 한 것으로 표시하거나 왼손 검지에 대응하는 마커가 변경되도록 표시할 수 잇다.
도 6a 및 도 6b는 본 개시의 일 실시예에 따른 전자장치가 가상키보드를 표시하고 사용자와 인터랙션하는 방법을 나타내는 도면이다.
도 6a를 참조하면, 전자장치(1000)는 센서를 이용하여 사용자의 손(2000)을 식별할 수 있으며, 식별된 사용자의 손(2000)의 위치에 기초하여 디스플레이(1300)의 FOV에 가상키보드(3000)를 표시할 수 있다.
전자장치(1000)는 식별된 사용자의 손(2000)의 위치에 맞추어(매핑하여) 가상키보드(3000)를 배치할 수 있다. 이 때, 전자장치(1000)는 가상키보드(3000)를 타이핑할 수 있는 손가락의 끝을 식별하고, 손가락에 대응하는 키보드상의 위치를 다른 부분과 다르게 표시할 수 있다. 예를 들어, 전자장치(1000)는 사용자의 손가락 끝 부분에 마커를 삽입하거나, 또는 가상키보드에서 사용자의 손가락이 탭 할 것으로 예측되는 위치에 대응하는 키(2001 내지 2010)에 시각적 처리를 수행할 수 있다.
사용자의 손(2000)이 전자장치(1000) 디스플레이(1300)의 FOV 내에 존재하고 전자장치(1000)가 투명한 소재의 디스플레이(1300)로 구성된 HMD장치(예를 들어, 증강 현실-AR-장치)인 경우, 사용자는 투명 디스플레이를 통해 자신의 손을 직접 보고 인식할 수 있다. 따라서, 전자장치(1000)는 센서의 FOV 내에 손이 있는지 여부를 식별하고, 식별된 손의 위치에 기초하여 가상키보드(3000)를 표시할 수 있다.
사용자의 손(2000)이 전자장치(1000) 디스플레이(1300)의 FOV 내에 존재하고 전자장치(1000)가 사용자의 몰입 경험을 위하여 외부로부터의 빛이 차단되는 암막형 HMD 장치(예를 들어, 가상 현실-VR-장치)인 경우, 사용자는 자신의 손을 직접 볼 수 없다. 따라서, 전자장치(1000)는 외부를 촬영하는 카메라 모듈(1130)을 통해 획득된 손의 영상을 디스플레이에 VST(video see-through)로 표시하고, 손의 위치에 기초하여 가상키보드(3000)를 표시할 수 있다.
사용자의 손(2000)이 전자장치(1000) 디스플레이(1300)의 FOV 밖에 위치하는 경우, 전자장치(1000)는 디스플레이(1300)에 가상키보드(3000)를 표시하고, 가상의 손 이미지를 가상키보드와 겹쳐 표시할 수 있다. 또는 사용자의 손(2000)이 전자장치(1000) 디스플레이(1300)의 FOV 밖에 위치하는 경우, 전자장치(1000)는 디스플레이(1300)에 가상키보드(3000)만을 표시할 수도 있다.
도 6b를 참조하면, 사용자의 손가락이 키보드 배치 영역(3200)을 탭하는 것이 식별되면, 전자장치(1000)는 해당 손가락에 대응하는 키가 입력된 것으로 판단할 수 있다. 또한, 전자장치(1000)는 입력된 것으로 판단된 키를 더욱 강조하여 표시할 수 있다.
예를 들어, 도 6b에서 ‘QWERTY’를 입력하고자 하는 경우, 사용자가 왼쪽 새끼손가락(2001)부터 차례대로 키보드 배치 영역(3200)을 탭하면, 사용자의 탭에 대응한 손가락 2001, 2002, 2003, 2004, 2005, 및 2006이 순서대로 진하게 표시되며, 디스플레이(1300)의 텍스트 입력창(3300)에 ‘Q’, ‘W’, ‘E’, ‘R’, ‘T’, 및 ‘Y’가 순서대로 표시된다.
도 7은 본 개시의 일 실시예에 따른 전자장치가 가상 키보드를 표시하는 방법의 순서도이다.
도 7에 대한 설명에서, 도 3 내지 도 6b와 유사하거나 중복되는 부분은 간략히 기재되거나 생략될 수 있다.
단계 S701에서 전자장치(1000)는, 키보드 입력 영역(3500)이 선택된 것을 식별할 수 있다.
키보드 입력 영역(3500)이 선택되면, 본 개시의 일 실시예에 따른 전자장치(1000)는 가상키보드(3000) 입력을 위한 사용자의 손을 배치하기 위한 평면을 식별할 수 있다. 전자장치(1000)는 적어도 하나의 센서를 이용하여 센싱 영역 내, 즉 센서 FOV 내의 평면(3100)에 대한 정보를 획득할 수 있다. 평면에 대한 정보는, 평면의 존재, 위치, 크기, 및 모양에 대한 정보를 포함할 수 있다.
센서 FOV 내에 평면이 존재하면, 본 개시의 일 실시예에 따른 전자장치(1000)는 식별된 평면에 사용자의 손을 배치할, 가상입력 영역(3200)을 결정할 수 있다. 가상입력 영역(3200)은 식별된 평면(3100)의 가장자리로부터 소정의 여유공간(3400, margin)을 가지도록 결정될 수 있으며, 가상입력 영역(3200) 및 여유 공간(3400)은 배치될 가상키보드의 속성(예를 들어, 모양, 크기, 타입 등)에 기초하여 결정될 수 있다. 여유공간(3400)은 사용자의 손이 편안하게 위치할 수 있는 평면 공간상의 여백을 고려하여 결정될 수 있으며, 인구통계학적 정보(예를 들어, 평균 신체 사이즈, 관절 각도 등)에 기초하여 대부분의 사용자가 편안하게 사용할 수 있는 거리로 결정될 수 있다.
가상입력 영역(3200)이 결정되면, 전자장치(1000)는 사용자가 가상입력 영역(3200)에 손을 올려놓도록 유도하는 어포던스(affordance, 행동유도자)를 출력할 수 있다. 예를 들어, 전자장치(1000)는 결정된 가상입력 영역(3200)에 손을 올려놓을 것을 지시하는 텍스트 가이드 및/또는 손 모양의 그래픽 가이드(3300)를 디스플레이(1300)에 출력할 수 있다. 또는, 전자장치(1000)는 가상입력 영역(3200)에 손을 올려놓을 것을 지시하는 오디오 가이드를 스피커(1410)로 출력할 수 있다.
본 개시의 일 실시예에 따르면, 센싱 영역 내에서 평면이 식별되지 않거나 평면이 식별된 경우라도 식별된 평면에서 손이 식별되지 않으면 가상키보드를 입력할 수 없으므로 전자장치(1000)는 가상키보드 표시 절차를 종료할 수 있다.
단계 S702에서 전자장치(1000)는, 적어도 하나의 센서에 기초하여 디스플레이(1300)의 FOV에서 손(2000)이 식별되는지 판단할 수 있다.
일반적으로, 센서의 FOV가 디스플레이의 FOV 보다 넓은 범위를 갖는다. HMD 장치인 전자장치(1000)를 착용한 사용자가 손의 방향을 바라보고 있는 경우 디스플레이(1300)의 FOV에서 손(2000)이 식별될 수 있고, HMD 장치인 전자장치(1000)를 착용한 사용자가 정면을 바라보고 있는 경우 디스플레이(1300)의 FOV에서 손(2000)이 식별되지 않을 수 있다.
단계 S703에서 전자장치(1000)는, 단계 S702의 판단 결과 디스플레이(1300)의 FOV에서 손(2000)이 식별된 경우 식별된 손(2000)의 위치에 기초하여 가상키보드(3000)를 표시할 수 있다.
본 개시의 일 실시예에 따르면, 사용자의 손이 디스플레이(1300)의 FOV 내에 있는 경우, 전자장치(1000)는 디스플레이를 VST 모드(또는, pass through 모드라 한다)로 전환하여, 사용자의 손을 바라보고 있는 디스플레이(1300)의 FOV에 VST로 표시된 사용자의 손(2000) 위에 가상키보드(3000)를 매칭하여 표시할 수 있다. 이 때, 전자장치(1000)는 키보드 입력 영역(3500)을 가상키보드(3000) 주변에 배치하여 표시함으로써 사용자는 키보드 입력이 제대로 수행되는지 확인할 수 있다. 본 개시의 일 실시예에 따른 키보드 입력 영역(3500)은 가상키보드(3000)에 락(lock)되어, 가상키보드(3000)의 위치가 변경되면 그에 따라 키보드 입력 영역(3500)의 위치도 변경될 수 있다.
본 개시의 일 실시예에 따른 전자장치(1000)가 투명 디스플레이로 구성된 장치인 경우, 사용자는 전자장치(1000)의 FOV 내에 위치하는 자신의 손을 투명 디스플레이를 통해 직접 볼 수 있으므로 사용자의 손(2000)을 디스플레이에 표시하는 단계는 생략될 수 있다.
단계 S704에서 전자장치(1000)는, 단계 S702의 판단 결과 디스플레이(1300)의 FOV에서 손(2000)이 식별되지 않은 경우 키보드 입력 영역(3500)의 위치에 기초하여 가상키보드(3000)를 표시할 수 있다.
전술한 바와 같이, HMD 장치의 경우 자체 무게에 의한 하중이 사용자의 목에 부담이 될 수 있으며, 목을 숙여 아래를 바라볼 경우 더욱 크게 작용한다. 대부분의 사용자는 물리적인 키보드를 사용할 때 키보드를 쳐다보지 않고 정면의 디스플레이를 바라보면서 키보드를 사용하는 경우가 많다. 따라서, 가상키보드 사용시에도 정면을 응시하는 것이 사용자에게 보다 편리할 수 있으며, HMD 장치의 사용자 경험을 향상시킬 수 있다. HMD 장치인 전자장치(1000)를 착용한 사용자가 정면을 바라보고 있는 경우 디스플레이(1300)의 FOV에서 손(2000)이 식별되지 않을 수 있다.
사용자의 손(1000)이 디스플레이(1300)의 FOV 내에 위치하지 않더라도 센서의 FOV가 디스플레이의 FOV 보다 넓기 때문에, 사용자의 손(1000)이 디스플레이(1300)의 FOV 내에 위치하지 않더라도 센서는 사용자의 손을 센싱할 수 있다.
사용자의 손이 디스플레이(1300)의 FOV 내에 있지 않은 경우, 전자장치(1000)는 정면을 바라보고 있는 디스플레이(1300)의 FOV에 가상키보드(3000)를 표시할 수 있다. 이 때, 사용자의 손(2000)은 디스플레이(1300)의 FOV에 표시되지 않으므로 전자장치(1000)는 키보드 입력 영역(3500) 주변에 가상키보드(3000)를 표시할 수 있다.
본 개시의 일 실시예에 따른 가상키보드(3000)는 키보드 입력 영역(3500)에 락(lock)되어, 키보드 입력 영역(3500)의 위치가 변경되면 그에 따라 가상키보드(3000)의 위치도 변경될 수 있다.
단계 S705에서 전자장치(1000)는, 가상키보드(3000)에 대응하는 손가락의 움직임에 기초하여 가상키보드 입력을 획득할 수 있다.
전자장치(1000)에 포함되는 센서들은 주변 객체의 움직임을 센싱할 수 있다. 따라서, 센서의 FOV에서 식별된 사용자의 손가락(객체)의 움직임을 센싱함으로써, 사용자의 손가락 움직임에 대응하는 가상키보드 입력을 획득할 수 있다.
도 8은 본 개시의 일 실시예에 따른 전자장치가 손의 위치 및 각도에 기초하여 가상키보드를 제공하는 방법을 나타내는 도면이다.
도 8을 참조하면, 전자장치(1000)는 사용자의 손의 위치 및 각도에 기초하여 분리형 가상키보드를 제공할 수 있다. 본 개시의 일 실시예에 따르면, 전자장치(1000)는 사용자 설정에 기초하여 분리형 가상키보드 사용 여부를 결정할 수 있다. 사용자는, 자신이 선호하는 물리적 키보드의 형태에 따라 가상키보드를 사용하려고 할 수 있다. 따라서, 전자장치(1000)는 사용자에게 제공할 가상키보드의 형태를 사전에 설정하도록 구성될 수 있다.
본 개시의 일 실시예에 따르면, 전자장치(1000)의 센서부(1100)에 포함되는 적어도 하나의 센서는 사용자의 손(2000)을 식별할 수 있으며, 손의 위치, 모양, 및 움직임에 대한 정보를 획득할 수 있다. 전자장치(1000)는 가상입력 영역(3200)에 진입하거나, 위치한 손의 각도를 수치화하여 분석할 수 있다.
예를 들어, 전자장치(1000)는 왼손 검지손가락 방향의 제1-1 벡터, 및 오른손 검지손가락의 제1-2 벡터와 양 손(또는 가상입력 영역의 가로축)과 수평한 방향의 제2 벡터에 기초하여, 분리형 키보드 중 왼쪽 가상키보드(3000-1) 및 오른쪽 가상키보드(3000-2)를 표시할 수 있다. 이 때, 왼쪽 가상키보드(3000-1)의 기준점은 제1-1 벡터와 관련된 왼손 검지 손가락이 위치할 ‘F’키가 될 수 있으며, 오른쪽 가상키보드(3000-2)의 기준점은 제1-2 벡터와 관련된 오른손 검지 손가락이 위치할 ‘J’ 키가 될 수 있다.
본 개시의 일 실시예에 따르면, 왼쪽 가상키보드(3000-1) 및 오른쪽 가상키보드(3000-2)는 각각 사용자의 왼손 및 오른손 위에 표시될 수 있다.
도 9는 본 개시의 일 실시예에 따른 전자장치가 손의 위치 및 각도에 기초하여 가상키보드를 제공하는 방법을 나타내는 도면이다.
도 9를 참조하면, 전자장치(1000)는 사용자의 손의 위치 및 각도에 기초하여 가상키보드 표시 위치를 결정할 수 있다.
본 개시의 일 실시예에 따르면, 전자장치(1000)의 센서부(1100)에 포함되는 적어도 하나의 센서는 사용자의 손(2000)을 식별할 수 있으며, 손의 위치, 모양, 및 움직임에 대한 정보를 획득할 수 있다. 전자장치(1000)는 가상입력 영역(3200)에 진입하거나, 위치한 손의 각도를 수치화하여 분석할 수 있다.
예를 들어, 전자장치(1000)는 왼손 검지 손가락 끝과 오른손 검지 손가락 끝을 연결한 제3 벡터에 기초하여 가상키보드(3000)의 각도를 결정하고, 결정된 각도에 기초하여 가상키보드(3000)를 표시할 수 있다. 이 때, 가상키보드의 기준점은 왼손 검지 손가락이 위치할 ‘F’ 및 오른손 검지 손가락이 위치할 ‘J’ 키가 될 수 있다.
도 10은 본 개시의 일 실시예에 따른 전자장치가 가상입력 영역을 결정하는 방법을 나타내는 도면이다.
도 10을 참조하면, 전자장치(1000)는 식별된 평면(3100)내의 다른 객체들의 존재 및 위치에 기초하여 가상입력 영역(3200)을 결정할 수 있다.
예를 들어, 식별된 평면(3100)에 제1 객체(4000-1) 및 제2 객체(4000-2)가 존재하는 경우, 전자장치(1000)는 평면(3100)에 대한 정보 및 객체에 대한 정보에 기초하여 가상입력 영역(3200)을 결정할 수 있다. 가상입력 영역(3200)은 식별된 평면(3100)의 가장자리로부터 소정의 여유공간(3400, margin)을 가지고, 추가로 제1 객체(4000-1)로부터 제1 여유공간(3400-1)을, 제2 객체(4000-2)로부터 제2 여유공간(3400-2)을 가지도록 결정될 수 있다.
가상입력 영역(3200)이 결정되면, 전자장치(1000)는 사용자가 가상입력 영역(3200)에 손을 올려놓도록 유도하는 어포던스(affordance, 행동유도자)를 출력할 수 있다. 예를 들어, 전자장치(1000)는 결정된 가상입력 영역(3200)에 손을 올려놓을 것을 지시하는 텍스트 가이드 및/또는 손 모양의 그래픽 가이드(3300)를 디스플레이(1300)에 출력할 수 있다. 또는, 전자장치(1000)는 가상입력 영역(3200)에 손을 올려놓을 것을 지시하는 오디오 가이드를 스피커(1410)로 출력할 수 있다.
도 11은 본 개시의 일 실시예에 따른 전자장치가 주변 환경에 기초하여 가상키보드를 표시하는 방법을 나타내는 도면이다.
도 11을 참조하면, 전자장치(1000)는 가상키보드(3000)가 표시되는 배경에 기초하여 가상키보드(3000)를 표시할 수 있다.
예를 들어, 전자장치(1000)는 이미지 센서(1120)를 이용하여 식별된 평면(3100)의 배경 색상을 획득하거나, 디스플레이(1300)에 가상키보드(1300)의 배경으로 표시된 이미지의 배경 색상을 획득할 수 있다. 전자장치(1000)는 가상키보드(3000)를 획득된 배경 색상과 대비되도록 표시함으로써, 가상키보드(3000)가 시각적으로 보다 강조되어 보이도록 할 수 있다. 가상키보드(3000)를 대비되도록 표시하는 것은, 가상키보드(3000)의 색상을 배경 색상과 대비되는 보색으로 결정하거나, 가상키보드(3000)의 명도와 배경 색상의 명도가 가급적 차이를 갖도록 결정하는 것을 포함할 수 있으나, 이로 제한되는 것은 아니며 다양한 색상 대비 방법이 사용될 수 있다.
또는 도 11과 같이 배경 색상이 그라데이션된 경우, 가상키보드(3000)의 색상 또는 명암 그라데이션으로 표시될 수 있다.
도 12는 본 개시의 일 실시예에 따른 전자장치가 타이핑에 대한 피드백을 표시하는 방법을 나타내는 도면이다.
도 12를 참조하면, 전자장치(1000)는 가상키보드(3000)에 대응한 타이핑에 대한 시각적 피드백을 제공할 수 있다. 예를 들어, 현재 손가락 끝의 위치에서 타이핑 되는 경우의 정확도를 사용자에게 제공함으로써 가상키보드 타이핑 정확도가 향상될 수 있다.
도 12 좌측 그림에서, 현재 사용자의 오른손 검지(2007-1)가 ‘U’와 ‘I’ 두개의 가상 키 사이에 위치하는 경우, 현재 위치에서 오른손 검지(2007-1)를 탭할경우 ‘U’ 키에 대한 정확도는 40%로, ‘I’ 키에 대한 정확도는 60%로 예측되므로 거의 절반의 확률로 오타가 나게 된다.
본 개시의 일 실시예에 따른 전자장치(1000)는, 현재의 손가락 위치에 대응하는 키들을 정확도에 따라 시각적으로 다르게 표시할 수 있다. 도 12의 좌측 그림에서 사용자는 현재 위치(2000-1)에서 손가락(2007-1)을 탭 할 경우의 정확도를 알 수 있으므로, ‘U’를 입력하기 위하여 손가락을 이동(2007-2)하여 ‘U’ 키에 대한 정확도를 80%로 높일 수 있다.
본 개시의 일 실시예에 따른 전자장치(1000)는, 각 키에 대한 타이핑 정확도를 색상이나 투명도를 달리하여 표시할 수 있으며, 또는 더 높은 확률(우선권)을 가지는 키에 소정의 마커(예를 들어, 테두리)를 표시할 수 있다.
도 13은 본 개시의 일 실시예에 따른 전자장치가 손의 위치에 기초하여 입력방식을 결정하는 방법을 나타내는 도면이다.
도 13을 참조하면, 전자장치(1000)는 가상키보드 사용 중 사용자의 손이 가상입력 영역에서 이탈한 것을 식별할 수 있다. 이와 같은 경우, 이탈한 사용자의 손을 새로운 입력 인터페이스로 이용할 수 있다. 가상키보드(3000) 사용 중 사용자의 손(2000-3)이 제1 가상입력 영역(3200-3)에서 이탈한 것이 식별되면, 전자장치(1000)는 이탈한 사용자의 손(2000-4)과 제1 가상입력 영역(3200-3) 사이의 거리를 측정할 수 있다. 측정된 거리가 소정의 임계값 이하인 경우, 전자장치(1000)는 이탈한 사용자의 손(2000-4)에 대응되는 제2 가상입력 영역(3200-4)을 결정하고, 제2 가상입력 영역(3200-4) 내에서 사용자의 손의 움직임을 마우스 입력으로 이용할 수 있다. 예를 들어, 전자장치(1000)는 애플리케이션 표시 영역(3600) 내 소정의 위치에 포인터(3700)를 표시할 수 있고, 사용자는 제2 가상입력 영역(3200-4) 내에서 사용자의 손의 움직임에 대응한 가상마우스 입력을 통해 전자장치(1000)를 제어할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.

Claims (15)

  1. HMD(head mounted display) 장치가 가상키보드를 표시하는 방법에 있어서,
    키보드 입력 영역 선택을 식별하는 단계;
    적어도 하나의 센서에 기초하여, 디스플레이의 FOV(field of view)에서 손을 식별하는 단계; 및
    상기 식별에 기초하여 상기 디스플레이에 가상키보드를 표시하는 단계;를 포함하고,
    상기 가상키보드를 표시하는 단계;는,
    상기 디스플레이의 FOV에서 손이 식별된 경우, 상기 식별된 손의 위치에 기초하여 상기 가상키보드를 표시하고,
    상기 디스플레이의 FOV에 손이 식별되지 않은 경우, 상기 선택된 키보드 입력 영역의 위치에 기초하여 상기 가상키보드를 표시하는, 방법.
  2. 제1 항에 있어서, 상기 방법은,
    적어도 하나의 센서의 센싱 영역 내의 평면에 대한 정보를 획득하는 단계; 및
    상기 평면에서 손을 식별하는 단계;를 더 포함하는, 방법.
  3. 제2 항에 있어서, 상기 방법은,
    상기 평면에 대한 정보에 기초하여 상기 평면에서 가상입력 영역을 결정하는 단계;를 더 포함하는, 방법.
  4. 제3 항에 있어서, 상기 방법은,
    상기 가상입력 영역에 대응하는 손 배치 가이드를 출력하는 단계;를 더 포함하는, 방법.
  5. 제1 항에 있어서,
    상기 가상키보드를 표시하는 단계;는,
    상기 디스플레이의 FOV에서 손이 식별된 경우, 상기 손의 실시간 촬영 영상을 상기 가상키보드와 함께 표시하는 단계;를 포함하는, 방법.
  6. 제1 항에 있어서,
    상기 방법은, 사용자의 손가락에 대응하는 키 또는 상기 손가락의 움직임에 대응하여 획득된 가상키보드 입력에 대응하는 키를 이미지처리하는 단계;를 더 포함하는, 방법.
  7. 제1 항에 있어서,
    상기 방법은, 사용자의 손의 위치 정보에 기초하여 상기 가상키보드의 종류 또는 상기 가상키보드의 배치를 결정하는 단계;를 더 포함하는, 방법.
  8. 가상키보드를 표시하는 HMD(head mounted display) 장치에 있어서,
    디스플레이(1300);
    적어도 하나의 명령어(instruction)를 포함하는 프로그램을 저장하는 저장부(1700); 및
    상기 저장부에 저장된 적어도 하나의 명령어를 실행하는 적어도 하나의 프로세서(1800)를 포함하고,
    상기 적어도 하나의 프로세서는 상기 적어도 하나의 명령어를 실행함으로써,
    키보드 입력 영역 선택을 식별하고,
    적어도 하나의 센서에 기초하여, 디스플레이의 FOV(field of view)에서 손을 식별하고,
    상기 식별에 기초하여 상기 디스플레이에 가상키보드를 표시하며,
    상기 적어도 하나의 프로세서는,
    상기 디스플레이의 FOV에서 손이 식별된 경우, 상기 식별된 손의 위치에 기초하여 상기 가상키보드를 표시하고,
    상기 디스플레이의 FOV에 손이 식별되지 않은 경우, 상기 선택된 키보드 입력 영역의 위치에 기초하여 상기 가상키보드를 표시하는, HMD 장치.
  9. 제8 항에 있어서, 상기 적어도 하나의 프로세서는,
    적어도 하나의 센서의 센싱 영역 내의 평면에 대한 정보를 획득하고,
    상기 평면에서 손을 식별하는, HMD 장치.
  10. 제9 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 평면에 대한 정보에 기초하여 상기 평면에서 가상입력 영역을 결정하는, HMD 장치.
  11. 제10 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 가상입력 영역에 대응하는 손 배치 가이드를 출력하는, HMD 장치.
  12. 제8 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 디스플레이의 FOV에서 손이 식별된 경우, 상기 손의 실시간 촬영 영상을 상기 가상키보드와 함께 표시하는, HMD 장치.
  13. 제8 항에 있어서, 상기 적어도 하나의 프로세서는,
    사용자의 손가락에 대응하는 키 또는 상기 손가락의 움직임에 대응하여 획득된 가상키보드 입력에 대응하는 키를 이미지처리하는, HMD 장치.
  14. 제8 항에 있어서, 상기 적어도 하나의 프로세서는,
    사용자의 손의 위치 정보에 기초하여 상기 가상키보드의 종류 또는 상기 가상키보드의 배치를 결정하는, HMD 장치.
  15. 제1 항 내지 제7 항 중 어느 한 항의 방법을 컴퓨터에서 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020220132436A 2022-08-25 2022-10-14 HMD(head mounted display) 장치에서 가상키보드를 표시하는 방법 및 장치 KR20240028897A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/012684 WO2024043765A1 (ko) 2022-08-25 2023-08-25 Hmd(head mounted display) 장치에서 가상키보드를 표시하는 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220107182 2022-08-25
KR20220107182 2022-08-25

Publications (1)

Publication Number Publication Date
KR20240028897A true KR20240028897A (ko) 2024-03-05

Family

ID=90298139

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220132436A KR20240028897A (ko) 2022-08-25 2022-10-14 HMD(head mounted display) 장치에서 가상키보드를 표시하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20240028897A (ko)

Similar Documents

Publication Publication Date Title
US11995774B2 (en) Augmented reality experiences using speech and text captions
US11670267B2 (en) Computer vision and mapping for audio applications
CN110647237B (zh) 在人工现实环境中基于手势的内容共享
US20210405761A1 (en) Augmented reality experiences with object manipulation
US10534442B2 (en) Method and wearable device for providing a virtual input interface
US12008153B2 (en) Interactive augmented reality experiences using positional tracking
US10102676B2 (en) Information processing apparatus, display apparatus, information processing method, and program
CN110488974B (zh) 用于提供虚拟输入界面的方法和可穿戴装置
US20190227694A1 (en) Device for providing augmented reality service, and method of operating the same
US20190079590A1 (en) Head mounted display device and control method for head mounted display device
US11954268B2 (en) Augmented reality eyewear 3D painting
US11854147B2 (en) Augmented reality guidance that generates guidance markers
US11869156B2 (en) Augmented reality eyewear with speech bubbles and translation
KR102360176B1 (ko) 웨어러블 디바이스에서 가상의 입력 인터페이스를 제공하는 방법 및 이를 위한 웨어러블 디바이스
US11582409B2 (en) Visual-inertial tracking using rolling shutter cameras
US20210405363A1 (en) Augmented reality experiences using social distancing
US20230367118A1 (en) Augmented reality gaming using virtual eyewear beams
KR20240028897A (ko) HMD(head mounted display) 장치에서 가상키보드를 표시하는 방법 및 장치
US20190364256A1 (en) Method and System for Dynamically Generating Scene-Based Display Content on a Wearable Heads-Up Display
WO2024043765A1 (ko) Hmd(head mounted display) 장치에서 가상키보드를 표시하는 방법 및 장치
US20240211057A1 (en) Augmented reality eyewear 3d painting
US20220114811A1 (en) Method and device for processing image