KR102222084B1 - 가상 현실 환경에서의 정보 입력을 위한 사용자 인터페이스 - Google Patents

가상 현실 환경에서의 정보 입력을 위한 사용자 인터페이스 Download PDF

Info

Publication number
KR102222084B1
KR102222084B1 KR1020197014877A KR20197014877A KR102222084B1 KR 102222084 B1 KR102222084 B1 KR 102222084B1 KR 1020197014877 A KR1020197014877 A KR 1020197014877A KR 20197014877 A KR20197014877 A KR 20197014877A KR 102222084 B1 KR102222084 B1 KR 102222084B1
Authority
KR
South Korea
Prior art keywords
input
virtual
focus
interest
virtual key
Prior art date
Application number
KR1020197014877A
Other languages
English (en)
Other versions
KR20190068615A (ko
Inventor
레이 지아오
후안미 인
Original Assignee
어드밴스드 뉴 테크놀로지스 씨오., 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. filed Critical 어드밴스드 뉴 테크놀로지스 씨오., 엘티디.
Publication of KR20190068615A publication Critical patent/KR20190068615A/ko
Application granted granted Critical
Publication of KR102222084B1 publication Critical patent/KR102222084B1/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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • 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
    • 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
    • G06F3/012Head tracking input arrangements
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Position Input By Displaying (AREA)
  • Prostheses (AREA)
  • Machine Translation (AREA)
  • Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)

Abstract

입력 개시의 표시를 수신하는 것에 응답하여, 입력 시작 지점 및 다수의 가상 키들이 가상 현실 시나리오에 제시된다. 다수의 가상 키들 각각은 입력 시작 지점으로부터 각각의 가상 키로의 적어도 하나의 비간섭 경로를 갖는다. 비간섭 경로는 어떠한 다른 가상 키들에 의해서도 간섭받지 않는다. 관심의 포커스(focus of attention)의 변위 데이터가 감지 하드웨어로부터 수신된다. 관심의 포커스가 변위 데이터에 기초하여 입력 시작 지점에 도달한다는 결정에 대한 응답으로, 가상 키 입력의 검출이 활성화된다. 관심의 포커스가 입력 시작 지점으로부터 제 1 가상 키로 이동하는 것의 검출에 응답하여, 제 1 가상 키가 입력된 것으로 결정되고, 가상 키 입력의 검출이 종결된다.

Description

가상 현실 환경에서의 정보 입력을 위한 사용자 인터페이스
본 출원은 2016년 10월 27일에 출원된 중국 특허 출원 번호 제201610958077.9호 및 2017년 10월 26일에 출원된 미국 특허 출원 번호 제15/794,814호를 우선권으로 주장하며, 이들은 그 전체가 인용에 의해 포함된다.
가상 현실(VR) 기술은, 상호작용 기능이 있는 몰입형의 사용자-지각식(immersive, user-perceived) 3-차원(3D) 환경("가상 세계")을 생성하기 위해 컴퓨터 프로세싱, 그래픽 및 다양한 유형들의 사용자 인터페이스들(예를 들어, 시각적 디스플레이 고글 및 한 손이나 양손으로 잡는 상호작용식 제어기들)을 사용한다. VR 시나리오에서, 다양한 동작 가능한 가상 키들이 사용자에게 제공될 수 있다. 사용자는 VR 시나리오와 상호작용하기 위해 이러한 동작 가능한 키들을 선택함으로써 대응하는 입력들을 트리거할 수 있다.
본 개시내용은 가상 현실(VR) 환경에서의 정보 입력을 설명한다.
일 구현에서, 입력 개시의 표시를 수신하는 것에 응답하여, 입력 시작 지점 및 다수의 가상 키들이 가상 현실 시나리오에 제시된다. 다수의 가상 키들 각각은 입력 시작 지점으로부터 각각의 가상 키로의 적어도 하나의 비간섭 경로를 갖는다. 비간섭 경로는 어떠한 다른 가상 키들에 의해서도 간섭받지 않는다. 관심의 포커스(focus of attention)의 변위 데이터가 감지 하드웨어로부터 수신된다. 관심의 포커스가 변위 데이터에 기초하여 입력 시작 지점에 도달한다는 결정에 대한 응답으로, 가상 키 입력의 검출이 활성화된다. 관심의 포커스가 입력 시작 지점으로부터 제 1 가상 키로 이동하는 것의 검출에 응답하여, 제 1 가상 키가 입력된 것으로 결정되고, 가상 키 입력의 검출이 종결된다.
이전에 설명된 구현을 포함하는 설명된 청구 대상의 구현들은, 컴퓨터-구현 방법; 컴퓨터-구현 방법을 수행하기 위한 컴퓨터-판독 가능 명령어를 저장한 비-일시적인 컴퓨터-판독 가능 매체; 및 하나 이상의 컴퓨터들과 상호 동작 가능하게 커플링된 하나 이상의 컴퓨터 메모리 디바이스들을 포함하고, 하나 이상의 컴퓨터들에 의해 실행될 때, 컴퓨터-구현 방법/비-일시적인 컴퓨터-판독 가능 매체 상에 저장된 컴퓨터-판독 가능 명령어를 수행하는 명령어를 저장한 유형의(tangible) 비-일시적인 머신-판독 가능 매체를 갖는 컴퓨터-구현 시스템을 사용하여 구현될 수 있다.
본 명세서에 설명된 청구 대상은 다음의 이점들 중 하나 이상을 실현하기 위해 특정 구현들로서 구현될 수 있다. 첫째로, 설명된 정보 입력 기술들은 VR 환경에서 정보 입력의 용이성 및 속도를 높인다. 둘째로, 설명된 정보 입력 기술은 오검출 기회를 감소시키고 VR 환경에서 정보 입력의 검출 정확도를 높인다. 셋째로, 설명된 정보 입력 기술은 VR 기술로 사용자 경험을 개선한다. 넷째로, VR 기술 정보 입력 기술에 의한 사용자 경험의 개선은 VR 기술의 애플리케이션을 부가적인 사용 시나리오들로 확장하는 데 도움을 줄 수 있다. 다른 이점들이 당업자에게 명백해질 것이다.
본 명세서의 청구 대상의 하나 이상의 구현들의 세부사항들은 상세한 설명, 청구항 및 첨부 도면들에서 기술된다. 청구 대상의 다른 특징들, 양상들 및 이점들은 상세한 설명, 청구항들 및 첨부 도면들로부터 명백해질 것이다.
도 1은 가상 현실(VR) 환경에서 종래 기술의 가상 키보드를 도시하는 도면이다.
도 2는 본 개시내용의 일 실시예에 따른, VR 환경에서의 정보 입력을 위한 방법의 예를 도시하는 흐름도이다.
도 3은 본 개시내용의 구현에 따른, VR 환경에서의 정보 입력을 위한 예시적인 가상 키보드 레이아웃을 도시하는 도면이다.
도 4는 본 개시내용의 구현에 따른, VR 환경에서의 정보 입력을 위한 다른 예시적인 가상 키보드 레이아웃을 도시하는 도면이다.
도 5는 본 개시내용의 구현에 따른, VR 환경에서의 정보 입력을 위한 다른 예시적인 가상 키보드 레이아웃을 도시하는 도면이다.
도 6은 본 개시내용의 구현에 따른, 관심의 포커스의 예시적인 경로를 도시하는 블록도이다.
도 7은 본 개시내용의 구현에 따른, VR 시나리오에서의 하드웨어 입력 장치의 예시적인 아키텍처를 도시하는 블록도이다.
도 8은 본 개시내용의 구현에 따른, VR 시나리오에서의 예시적인 하드웨어 입력 장치를 도시하는 블록도이다.
도 9는 본 개시내용의 구현에 따라, 설명된 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들 및 절차들과 연관된 연산적 기능성들을 제공하기 위해 사용되는 컴퓨터-구현 시스템의 예를 도시하는 블록도이다.
다양한 도면들 내의 유사한 참조 번호들 및 지정들은 유사한 엘리먼트들을 표시한다.
다음의 상세한 설명은 가상 현실(VR) 환경에서의 정보 입력(informational input)을 설명하고, 임의의 당업자가 하나 이상의 특정 구현들의 맥락에서 개시된 청구 대상을 제조 및 이용하는 것을 가능하게 하도록 제시된다. 개시된 구현들의 다양한 수정들, 변경들 및 치환들이 이루어질 수 있고 당업자들에게 용이하게 명백해질 것이며, 정의된 일반적인 원리들은 본 개시내용의 범위를 벗어나지 않으면서 다른 구현들 및 애플리케이션들에 적용될 수 있다. 일부 경우들에서, 설명된 청구 대상의 이해를 획득하는 데 불필요한 세부사항들은 불필요한 세부사항들로 하나 이상의 설명된 구현들을 모호하게 하지 않도록 그리고 그러한 세부사항들이 당업자의 기술범위 내에 있는 한 생략될 수 있다. 본 개시내용은 설명되거나 예시된 구현들로 제한되도록 의도되는 것이 아니라, 설명된 원리들 및 특징들에 부합하는 가장 넓은 범위를 부여하려는 것이다.
VR 기술은, 상호작용 기능이 있는 몰입형의 사용자-지각식 3-차원(3D) 환경("가상 세계")을 생성하기 위해 컴퓨터 프로세싱, 그래픽 및 다양한 유형들의 사용자 인터페이스들(예를 들어, 시각적 디스플레이 고글 및 한 손 또는 양손으로 잡는 상호작용식 제어기들)을 사용한다. VR 기술의 애플리케이션들(예를 들어, 교육, 비디오 게임들, 비즈니스, 과학 및 의학)은, VR 기술에 사용되는 컴퓨팅 하드웨어 및 소프트웨어의 지속적인 개선들과 함께 증가하고 있다. VR 기술은 사용자에게 가상 세계의 설득력 있는 실감나는 시각적 경험을 제공할 수 있지만, 3D 환경 내에서 시나리오와의 종래의 사용자 상호작용은 특히, 정보 입력(예를 들어, 영숫자 텍스트 데이터)과 관련하여 어렵거나 어색한 것으로 판명되었다. VR 기술로 전반적인 사용자 경험을 개선하기 위해 정보 입력의 용이성 및 속도를 높이는 것이 필요하다.
VR 시나리오에서 정보 입력의 용이성, 속도 및 정확도를 높일 수 있는 정보 입력 기술이 설명된다. 일부 구현들에서, VR 단말은 사용자가 VR 기술과 인터페이싱하기 위한 사용자 인터페이스를 제공할 수 있다. 예를 들어, VR 단말은, 그래픽 및 다른 데이터를 디스플레이하기 위한 시각적 디스플레이들을 제공하여, (예를 들어, VR-기반 애플리케이션을 사용하여) 사용자에게 3D 몰입형 경험을 제공하는, 사용자 머리에 착용되는 VR 헤드셋을 포함할 수 있다.
그래픽들 및 다른 데이터는 VR 단말에 통신 가능하게 커플링된 VR 클라이언트 단말(예를 들어, 소프트웨어 애플리케이션)에 의해 제공된다. VR 클라이언트 단말은 VR 환경에서 개발자에 의해 VR 시나리오로서 개발된 VR 모델을 출력한다. 예로서, VR 단말은, 시각적-유형 디스플레이 및 다른 컴퓨팅 기능성(예를 들어, 사용자 입력, 시각적 입력, 공간적 배향, 움직임 검출, 오디오 생성, 네트워크 접속성, 다른 사용자 네트워크 디바이스에 대한 부착(attachment))을 제공하기 위해 모바일 컴퓨팅 디바이스(이를테면, 스마트 폰 또는 태블릿)가 삽입될 수 있는 슬라이딩-유형 VR 헤드셋일 수 있다. 이 예에서, 모바일 컴퓨팅 디바이스는 전체적으로 또는 부분적으로, VR 클라이언트 단말로서, 또는 별개의 VR 클라이언트 단말에 대한 인터페이스(예를 들어, 모바일 컴퓨팅 디바이스에 연결된 PC-유형 컴퓨터)로서 기능할 수 있다.
정보 입력을 돕기 위해, VR 시나리오에서 다수의 가상 키들을 포함하는 가상 키보드가 사용자에게 제시될 수 있다. 단말(예를 들어, VR 안경)은 사용자의 머리 움직임 또는 시각적 포커스를 모니터링함으로써 사용자의 관심의 포커스(focus of attention)를 결정할 수 있어서, 사용자는 가상 키를 선택하도록 머리 움직임 또는 시각적 움직임을 통해 관심의 포커스의 변위를 제어할 수 있게 된다.
관련된 기술에서, 사용자는 물리적인 입력 디바이스(예를 들어, 마우스)를 사용함으로써 컴퓨터 상에서 커서의 움직임을 제어하거나 가상 키보드의 키들을 클릭할 수 있으며, 마우스 커서는 디스플레이 페이지에서 사용자의 관심의 포커스와 등가이다. 사용자가 포커싱하는 가상 키는 관심의 포커스를 이동시킴으로써 선택될 수 있고 제어를 완료하기 위해 클릭된다. 다른 예로서, 사용자는 터치 폰 상에서 가상 키보드의 하나 이상의 키들을 탭(tap)할 수 있다. 터치 입력 메커니즘에서, 입력할 가상 키를 결정한 후에, 사용자는 손가락으로 가상 키를 터치하여 제어를 완료할 수 있다.
그러나, VR 시나리오에서, 일부 경우들에서, 사용자가 공간에서 이동할 필요가 있을 수 있기 때문에, 안정적인 마우스 동작 플랫폼이 제공될 수 없다. 따라서, 마우스가 VR 환경에 적용되지 않을 수 있다. 한편, VR 안경을 착용하는 사용자는 자신의 손들을 볼 수 없을 수 있고, 이에 따라 손가락으로 가상 키보드의 가상 키들을 직접 탭하거나 선택할 수 없을 수 있다.
현재, VR 시나리오에서, 입력 제어는 2개의 스테이지들, 즉 "이동" 및 "탭"을 통해 구현될 수 있다. 주요 원리는 다음과 같은데: 머리 또는 시각적 포커스가 모션 상태에 있을 때, 동작이 "이동" 스테이지에 있다고 결정될 수 있다. 비-모션 지속기간이 미리 결정된 지속기간에 도달하거나 초과할 때, 동작이 "탭" 스테이지에 있다고 결정될 수 있다. 이러한 구현은 사용자의 조작 능숙도(operation proficiency)에 관한 비교적 높은 요건들을 갖는다. 2개의 스테이지들 간의 차이는 쉽게 알 수 없고, 이에 따라, "이동" 및 "탭"에 대한 오판 또는 오검출로 쉽게 귀결될 수 있다.
가상 키를 입력하기 위해 입력 시작 지점으로부터, 입력될 가상 키가 위치하는 구역으로 이동시키도록 사용자가 관심의 포커스를 제어할 수 있게 하는 정보 입력 기술들이 설명된다. 이러한 방식으로, 사용자가 긴 시간 동안 가상 키 상에 관심의 포커스를 두는 것을 요구하지 않고 사용자의 의도된 입력이 올바르게 결정될 수 있다. 일부 구현들에서, 동작은 쉽고, 입력 속도는 빠르며, 인식 정확도는 높고, 이에 따라, VR 시나리오에서의 사용자 경험을 개선한다.
일부 구현들에서, 설명된 정보 입력 기술들은 3개의 스테이지들 즉, VR 시나리오 모델의 생성, 관심의 포커스의 변위 추적 및 가상 키의 입력을 포함한다.
1. VR 시나리오 모델의 생성
일부 구현들에서, VR 개발자는 모델링 툴(예를 들어, UNITY, 3DSMAX 또는 PHOTOSHOP)를 사용함으로써 VR 시나리오 모델의 생성을 완료할 수 있다. 모델링 툴은 예를 들어, 독점용, 상업용, 오픈 소스 또는 이러한 유형들의 모델링 툴들의 조합일 수 있다.
일부 경우들에서, VR 시나리오 모델 및 VR 시나리오와 연관된 텍스처 맵(들)은 실세계 시나리오들로부터 획득될 수 있다. 예를 들어, 재료의 텍스처 맵 및 실제 시나리오의 평면 모델은 고급 사진(advanced photography)을 통해 획득될 수 있다. 모델링 툴을 사용하여, 텍스처가 프로세싱되고 실제 시나리오의 3D 모델이 설정될 수 있다. 일부 구현들에서, 프로세싱된 텍스처 및 3D 모델은 UNITY3D 플랫폼으로 임포팅(importing)될 수 있고, 이미지 렌더링은 다수의 양상들(이를테면, 사운드 효과, 그래픽 사용자 인터페이스(GUI) 또는 다른 사용자 인터페이스(UI), 플러그-인 및 UNITY3D 플랫폼에서의 라이트닝(lighting))에서 수행될 수 있다. 상호작용 소프트웨어 코드가 VR 시나리오 모델을 위해 작성될 수 있다.
일부 구현들에서, 개발자는 VR 시나리오 모델 외에도, 모델링 툴을 사용함으로써 입력 시작 지점 및 다수의 가상 키들을 추가로 생성할 수 있어서, 사용자가 VR 시나리오와 더 잘 상호작용할 수 있게 한다. 가상 키들은 예를 들어, 숫자들을 입력하기 위한 숫자 키들, 문자들을 입력하기 위한 알파벳 키들, 기호들을 입력하기 위한 구두점 키들 등을 포함할 수 있다. 가상 키들의 형상들 또는 형태들은 제한되지 않으며, 사용자 선호도에 기초하여 커스터마이징될 수 있다. 일부 구현들에서, 입력 가상 키들의 오검출을 회피하기 위해 가상 키들 사이에 적절한 간격이 존재할 수 있다. 예를 들어, 사용자에게 제시되는 다수의 가상 키들 중 2개의 가장 근접한 가상 키들 간에 적절한 갭이 존재할 수 있다.
일부 구현들에서, 개발자가 VR 시나리오 모델, 및 가상 키들과 입력 시작 지점들의 모델링을 완료한 후, VR 클라이언트 단말은 VR 클라이언트 단말에 연결된 VR 단말(예를 들면, VR 헤드셋)을 이용함으로써 VR 시나리오 모델을 사용자에게 출력할 수 있다. 사용자로부터의 입력 개시의 표시의 수신 시에, 입력 시작 지점 및 가상 키들이 VR 시나리오에 제시될 수 있다.
2. 관심의 포커스의 변위 추적
일부 구현들에서, 디폴트로, 관심의 포커스(시각적 또는 동작 포커스로서 또한 지칭됨)가 VR 클라이언트 단말에 의해 출력된 VR 시나리오에서 사용자 뷰(user view)에 디스플레이될 수 있다. 사용자가 (예를 들어, VR 단말을 착용함으로써) VR 시나리오와 연관된 몰입형 경험 동안 정보를 입력할 필요가 있을 때, 사용자는 예를 들어, VR 시나리오와 상호작용하기 위해 머리 자세 또는 손 제스처를 통해 VR 시나리오에서 관심의 포커스의 변위를 제어할 수 있다.
VR 클라이언트 단말은 VR 단말이 소지한 감지 하드웨어를 사용함으로써 사용자의 머리 또는 손의 변위를 추적할 수 있고, 감지 하드웨어는 사용자가 VR 단말을 착용할 때, 예를 들어, 실시간으로 머리 또는 손의 변위 데이터를 검출 및 수집할 수 있다. 감지 하드웨어는 예를 들어, 각속도 센서, 가속도 센서, 중력 센서 등을 포함할 수 있다.
사용자의 머리 또는 손의 변위 데이터를 수신하면, 감지 하드웨어는 예를 들어, 실시간으로 수집된 변위 데이터를 VR 클라이언트 단말로 리턴할 수 있다. 감지 하드웨어에 의해 리턴된 변위 데이터를 수신하면, VR 클라이언트 단말은 동기식 변위를 갖도록 변위 데이터에 따라 VR 시나리오에서 출력된 관심의 포커스를 제어할 수 있다.
예를 들어, 일부 구현들에서, VR 단말은 수신된 변위 데이터에 기초하여, VR 시나리오에서 X 축 및 Y 축에 대한 사용자의 머리 또는 손의 오프셋들을 계산하고, 그 후 계산된 오프셋들에 기초하여 실시간으로 관심의 포커스의 변위를 제어할 수 있다.
일부 구현들에서, VR 단말이 소지한 감지 하드웨어를 사용함으로써 사용자의 머리 또는 손의 변위가 추적될 수 있고, 사용자의 머리 또는 손과 동기식 변위를 갖도록 VR 클라이언트 단말을 사용하여 관심의 포커스가 제어될 수 있다. 일부 구현들에서, VR 클라이언트 단말은 추가로, 동기식 변위를 갖도록 관심의 포커스를 제어하는 프로세스에서, 실시간으로 관심의 포커스의 변위를 추적하고, 실시간으로 VR 시나리오에서 관심의 포커스의 좌표 포지션을 레코딩하고, 그 후 실시간으로 레코딩된 관심의 포커스의 좌표 포지션에 따라, VR 시나리오에서 관심의 포커스의 변위 추적 레코드 또는 경로를 생성할 수 있다.
3. 가상 키의 입력
일부 구현들에서, 사용자는 가상 키의 입력을 트리거하기 위해, VR 시나리오의 입력 시작 지점으로부터, 비간섭 경로를 통해, 비간섭 경로에 대응하는, 가상 키가 위치한 구역으로 이동하도록 관심의 포커스의 경로를 제어할 수 있다.
일부 구현들에서, 입력 시작 지점 및 다수의 가상 키들을 제시한 후에, VR 클라이언트 단말은 관심의 포커스의 변위를 실시간으로 추적하고, 관심의 포커스가 입력 시작 지점에 도달한다는 결정에 대한 응답으로 가상 키 입력 검출을 활성화하고, 관심의 포커스가 입력 시작 지점으로부터 제 1 가상 키가 위치한 구역으로 이동하는 것을 검출할 때, 가상 키가 사용자에 의해 선택된 것으로 결정하고, 그 후 현재 가상 키 입력 검출을 종결할 수 있다.
일부 구현들에서, 가상 키 입력 검출이 활성화되지 않는 경우, 사용자가 관심의 포커스를 가상 키로 이동하도록 제어하더라도, 이 가상 키의 입력은 트리거될 수 없다. 즉, 이 경우에, 관심의 포커스의 변위가 실시간으로 추적되고, 가상 키 입력 검출은 실시간으로 수행되기보다는, 트리거 메커니즘을 갖는다. 예를 들어, 사용자가 입력 시작 지점으로부터 가상 키 0으로 이동하도록 관심의 포커스를 제어한다고 가정하면, 0이 입력된 것으로 결정된다. 사용자가 0으로부터 1로 이동하도록 관심의 포커스를 계속 제어하는 경우, 0이 선택된 후에 가상 키 입력 감지가 종료되기 때문에, 1의 입력이 트리거되지 않는다. 가상 키 입력 검출은 사용자가 입력 시작 지점으로 다시 이동하도록 관심의 포커스를 제어할 때만 활성화된다. 관심의 포커스가 재차, 입력 시작 지점으로부터 1의 가상 키로 계속 이동하는 경우, 사용자에 의해 1이 입력된 것으로 결정될 수 있다.
일부 구현들에서, 사용자는 가상 키를 입력하기 위해 직선, 곡선 또는 다른 경로를 통해 입력 시작 지점으로부터 가상 키로 이동하도록 관심의 포커스를 제어할 수 있다. 즉, 비간섭 경로는 직선, 곡선 또는 다른 형상일 수 있다.
일부 구현들에서, 예를 들어, 입력 개시의 표시가 수신되었다는 결정에 대한 응답으로, 가상 키를 어떻게 입력하는지를 사용자에게 안내하거나 프롬프팅(prompt)하도록 애니메이션 또는 보조 라인이 VR 시나리오에 제시될 수 있다. 일부 구현들에서, 선분은 2개의 지점들 사이에서 가장 짧기 때문에, 애니메이션 또는 보조 라인은 사용자가 입력 시작 지점으로부터 직선을 따라 가상 키로 이동하게 관심의 포커스를 제어하도록 사용자에 프롬프팅할 수 있다. 일부 구현들에 있어서, VR 시나리오에서, 입력 시작 지점으로부터 다수의 가상 키들 각각까지의 거리는 일반적으로 너무 멀진 않다. 사용자는 가상 키를 입력하기 위해 약간의 신체 움직임에 의해, 입력 시작 지점으로부터 가상 키가 위치한 구역으로 직선 또는 실질적으로 직선을 따라 이동하도록 관심의 포커스를 제어할 수 있다. 애니메이션 및 보조 라인은 또한 전술한 VR 시나리오 모델의 생성을 참조하여 생성될 수 있으며, 세부사항들은 본 개시내용에서 열거되지 않는다.
일부 구현들에서, 관심의 포커스가 입력 시작 지점에 도달할 때, 관심의 포커스의 프리젠테이션 효과(예를 들어, 컬러, 형상 또는 크기)는, 관심의 포커스가 이미 입력 시작 지점에 도달했는지를 사용자가 인식하는 것을 가능하게 하도록 변경될 수 있다. 예를 들어, 관심의 포커스는 디폴트로 흑색이며, 그것이 입력 시작 지점에 도달할 때, 그 컬러는 가상 키를 입력하도록 사용자에 프롬프팅하기 위해 녹색으로 조정될 수 있다. 더욱이, 가상 키가 성공적으로 입력된 후에, 관심의 포커스의 컬러는 다시 흑색으로 조정될 수 있다. 관심의 포커스의 형상과 같은 부가적인 또는 상이한 프리젠테이션 효과들이 변경될 수 있다.
도 1은 VR 환경에서 종래 기술의 가상 키보드(100)를 예시하는 도면이다. 가상 키보드(100)는 10개의 숫자 가상 키들("1"(102a), "2"(102b), "3"(102c), "4"(102d), "5"(102e), "6"(102f), "7"(102g), "8"(102h), "9"(102i) 및 "0"(102j))을 포함한다. 예로서, 사용자가 "1938"을 입력하고자 하는 경우, 관심의 포커스의 이동 경로는 경로 ①(110) → 경로 ②(120) → 경로 ③(130)이다. 그러나, 가상 키보드(100)에서, 경로 ①(110)는 가상 키들("1"(102a), "5"(102e) 및 "9"(102i))를 횡단하거나 통과한다. 사용자의 움직임이 느리거나 매끄럽지 않은 경우, 예를 들어, 사용자가 가상 키 "5"(102e)를 통과할 때 짧은 시구간 동안 멈추는 경우, VR 디바이스는 사용자가 5의 입력을 "확인"하는 것으로 인식할 수 있어 오판을 초래한다. 유사하게, 경로 ②(120)는 가상 키 "6"(102f)을 횡단하고, 경로 ③(130)은 가상 키들("5"(102e) 및 "6"(102f))을 횡단한다. 경로들(110, 120, 130)은 서로 간섭하거나 다른 가상 키들을 횡단한다. 가상 키보드(100)의 이러한 레이아웃은 정보 입력의 오검출로 이어질 수 있다.
본 개시내용은 오검출의 가능성을 회피하거나 감소시키기 위해 VR 시나리오에서의 입력 솔루션을 제공한다. 일부 구현들에서, 가상 키보드의 가상 키들 외에도, 입력 시작 지점이 VR 시나리오에 제시될 수 있다. 입력 시작 지점과 가상 키들 사이에는 소정의 바람직한 위치 관계가 존재한다. 사용자는 입력 시작 지점에서 출발하도록 관심의 포커스를 제어하게 안내될 수 있다. 관심의 포커스가 입력 시작 지점으로부터 제 1 가상 키로 이동하는 것이 검출될 때, 가상 키는 사용자에 의해 입력된 것으로 결정될 수 있다. 일부 구현들에서, 개시된 입력 기술들은 용이한 사용자 동작을 허용하고, 중간부를 방지 또는 회피하며, 정확한 입력 인식 또는 검출을 제공하고, 이에 따라 VR 시나리오에서의 사용자 경험을 개선한다.
도 2는 본 개시내용의 일 구현에 따라, VR 환경에서 정보 입력을 위한 방법(200)의 예를 도시하는 흐름도이다. 프리젠테이션을 명료하게 하기 위해, 이어지는 설명은 이 설명의 다른 도면들의 맥락에서 방법(200)을 일반적으로 설명한다. 그러나, 방법(200)은 예를 들어, 임의의 시스템, 환경, 소프트웨어 및 하드웨어, 또는 시스템들, 환경들, 소프트웨어 및 하드웨어의 조합에 의해 적절히 수행될 수 있다는 것이 이해될 것이다. 일부 구현들에서, 방법(200)의 다양한 단계들은 병렬로, 조합하여, 루프로, 또는 임의의 순서로 실행될 수 있다.
일부 구현들에서, 방법(200)은 VR 시나리오에서 VR 클라이언트 단말의 입력 방법일 수 있다. 일부 구현들에서, VR 클라이언트 단말은, VR 기술에 기초하여 개발되고 3-차원 몰입형 사용자 경험을 제공하는 클라이언트 단말 소프트웨어, 예를 들어, VR-기반 APP을 지칭할 수 있다. VR 클라이언트 단말은 VR 클라이언트 단말에 연결된 VR 단말(예를 들면, VR 헤드셋 또는 VR 고글)을 이용함으로써 개발자에 의해 개발된 VR 시나리오 모델을 사용자에게 출력할 수 있어서, VR 단말을 착용한 사용자는 VR 시나리오에서 3-차원 몰임형 경험을 할 수 있다.
202에서, 입력 개시의 표시를 수신하는 것에 대한 응답으로, 입력 시작 지점 및 다수의 가상 키들이 VR 시나리오에 제시된다. 입력 개시의 표시는 VR 단말에 대한 입력이 곧 시작되고, 인에이블되고, 활성화 또는 다른 방식으로 개시될 것임을 나타낸다. 일부 구현들에서, 입력 개시는 VR 단말의 사용자에 의해 트리거된다. 예를 들어, 사용자는 미리 결정된 물리적인 키를 터치하거나, 신체 움직임을 수행하거나, 음성 제어를 사용하거나, 입력이 곧 개시될 것임을 VR 단말에 지시하기 위한 임의의 다른 활동들에 관여함으로써 입력 개시를 트리거할 수 있다.
입력 개시의 표시를 수신하면, 입력 시작 지점 및 다수의 가상 키들이 현재 VR 시나리오에서 예를 들어, 가상 키보드로서 제시될 수 있다. 가상 키보드는 부가적인 또는 상이한 버튼들, 아이콘들 또는 제어 모듈들을 포함할 수 있다.
입력 시작 지점 및 다수의 가상 키들은 오검출의 가능성을 감소시키기 위해 특정 레이아웃 또는 위치 관계를 갖도록 제시될 수 있다. 일부 구현들에서, 다수의 가상 키들 각각은 입력 시작 지점으로부터 다수의 가상 키들 각각으로의 적어도 하나의 비간섭 경로(noninterfering path)를 갖고, 입력 시작 지점으로부터 다수의 가상 키들 각각으로의 비간섭 경로는 다수의 가상 키들 중 임의의 다른 하나에 의해 간섭받지 않는다. 예로서, 입력 시작 지점으로부터 다수의 가상 키들 각각으로의 비간섭 경로는 다수의 가상 키들 중 임의의 다른 가상 키를 통과하지 않는다. 즉, 입력 시작 지점과 예정된 가상 키를 연결하는 비간섭 경로 상에 존재하는 개재 가상 키가 존재하지 않는다.
일부 구현들에서, 다수의 가상 키들 각각은 입력 시작 지점으로부터 다수의 가상 키들 각각으로의 적어도 하나의 비간섭 경로를 갖고, 입력 시작 지점으로부터 다수의 가상 키들 각각으로의 비간섭 경로는 입력 시작 지점으로부터 다수의 가상 키들 중 다른 하나로의 다른 비간섭 경로와 간섭하지 않는다.
입력 시작 지점 및 가상 키의 형상, 크기 또는 다른 제시 속성들은 예를 들어, 개발자 또는 사용자에 의해 세팅될 수 있다. 예를 들어, 입력 시작 지점은 직선, 점 또는 원 구역일 수 있고; 가상 키들은 원, 정사각형, 또는 다이아몬드형일 수 있다. 일부 구현들에서, 입력 시작 지점이 원 또는 다른 형상의 구역 또는 영역인 경우에, 오검출을 감소시키거나 회피하기 위해 구역의 임의의 지점은 가상 키들과의 위치 관계를 만족시킬 필요가 있다. 도 3 내지 도 5는 입력 시작 지점과 가상 키들 사이의 위치 관계들을 만족시키는 예시적인 가상 키보드 레이아웃들을 도시한다. 일부 구현들에서, 예를 들어, 도 3에 도시된 바와 같이, 다수의 가상 키들은 직선을 따라 정렬되고, 입력 시작 지점은 다수의 가상 키들에 의해 형성되는 연장된 영역(elongated area)의 어느 한 측에 위치한다. 일부 구현들에서, 예를 들어, 도 4에 도시된 바와 같이, 다수의 가상 키들은 원호와 같은 곡선을 따라 배열되고, 입력 시작 지점은 원호의 내부측 상에 위치한다. 일부 구현들에서, 예를 들어, 도 5에 도시된 바와 같이, 다수의 가상 키들은 원을 따라 배열되고, 입력 시작 지점은 원 내부에 위치한다.
도 3은 본 개시내용의 구현에 따른, VR 환경에서의 정보 입력을 위한 예시적인 가상 키보드 레이아웃(300)을 예시하는 도면이다. 가상 키보드 레이아웃(300)은 입력 시작 지점(310)과 가상 키들("1"(302a), "2"(302b), "3"(302c), "4"(302d), "5"(302e), "6"(302f), "7"(302g), "8"(302h), "9"(302i) 및 "0"(302j)) 사이의 제 1 예시적인 위치 관계를 보여준다. 가상 키들(302a-j)은 직선을 따라 일렬로 배열된다. 입력 시작 지점(310)은 가상 키들(302a-j) 각각이 다른 가상 키들에 의해 간섭받지 않는 하나 이상의 비간섭 경로들을 갖도록 보장하기 위해 가상 키들(302a-j)에 의해 형성된 위치 영역의 어느 한 측(305 또는 315)에 위치한다. 예를 들어, 도 3에 도시된 바와 같이, 경로 ①(320)은 입력 시작 지점(310)으로부터 가상 키 "1"(302a)로의 비간섭 경로이고; 경로 ②(330)는 입력 시작 지점(310)으로부터 가상 키 "9"(302i)로의 비간섭 경로이고; 경로 ③(340)은 입력 시작 지점(310)으로부터 가상 키 "3"(302c)으로의 비간섭 경로이고; 경로 ④(350)는 입력 시작 지점(310)으로부터 가상 키 "8"(302h)로의 비간섭 경로이다. 사용자가 1을 입력하고자 할 때, 사용자는 경로 ①(320)을 따라 입력 시작 지점(310)으로부터 가상 키 "1"(302a)로 이동하도록 관심의 포커스를 제어할 수 있다.
도 4는 본 개시내용의 구현에 따른, VR 환경에서의 정보 입력을 위한 다른 예시적인 가상 키보드 레이아웃(400)을 예시하는 도면이다. 가상 키보드 레이아웃(400)은 입력 시작 지점(410)과 가상 키들("1"(402a), "2"(402b), "3"(402c), "4"(402d), "5"(402e), "6"(402f), "7"(402g), "8"(402h), "9"(402i) 및 "0"(402j)) 사이의 제 1 예시적인 위치 관계를 보여준다. 가상 키들(402a-j)은 원호(예를 들어, 원 또는 타원의 세그먼트)를 따라 배열된다. 입력 시작 지점(410)은 가상 키들(402a-j)에 의해 형성된 원호 영역의 내부측(405) 상에 위치할 수 있다. 내부측(405)은 대응하는 원 또는 타원의 중심이 상주하는 측일 수 있다. 일부 구현들에서, 입력 시작 지점(410)은, 입력 시작 지점(410)으로부터 예정된 가상 키로의 하나 이상의 비간섭 경로들이 가상 키들(402a-j) 중의 다른 가상 키들에 의해 간섭받지 않는 한, 가상 키들(402a-j)에 의해 형성된 원호 영역의 외부측(415) 상에 위치할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 경로 ①(420)은 입력 시작 지점(410)으로부터 가상 키 "1"(402a)로의 비간섭 경로이고; 경로 ②(430)는 입력 시작 지점(410)으로부터 가상 키 "9"(402i)로의 비간섭 경로이고; 경로 ③(440)은 입력 시작 지점(410)으로부터 가상 키 "4"(402c)로의 비간섭 경로이고; 경로 ④(450)는 입력 시작 지점(410)으로부터 가상 키 "8"(402h)로의 비간섭 경로이다. 사용자가 1을 입력하고자 할 때, 사용자는 경로 ①(420)를 따라 입력 시작 지점(410)으로부터 가상 키 "1"(402a)로 이동하도록 관심의 포커스를 제어할 수 있다.
도 5는 본 개시내용의 구현에 따른, VR 환경에서의 정보 입력을 위한 다른 예시적인 가상 키보드 레이아웃(500)을 예시하는 도면이다. 가상 키보드 레이아웃(500)은 입력 시작 지점(510)과 가상 키들("1"(502a), "2"(502b), "3"(502c), "4"(502d), "5"(502e), "6"(502f), "7"(502g), "8"(502h), "9"(502i) 및 "0"(502j)) 사이의 제 1 예시적인 위치 관계를 보여준다. 가상 키들(502a-j)은 링 또는 원을 따라 배열된다. 입력 시작 지점(510)은, 입력 시작 지점(510)으로부터 예정된 가상 키로의 하나 이상의 비간섭 경로들이 가상 키들(502a-j) 중의 다른 가상 키들에 의해 간섭받지 않도록 보장하기 위해, 가상 키들(502a-j)에 의해 형성된 원 내부에 위치한다. 예를 들어, 도 5에 도시된 바와 같이, 경로 ①(520)은 입력 시작 지점(510)으로부터 가상 키 "1"(502a)로의 비간섭 경로이고; 경로 ②(530)는 입력 시작 지점(510)으로부터 가상 키 "9"(502i)로의 비간섭 경로이고; 경로 ③(540)은 입력 시작 지점(510)으로부터 가상 키 "3"(502c)로의 비간섭 경로이고; 경로 ④(550)는 입력 시작 지점(510)으로부터 가상 키 "8"(502h)로의 비간섭 경로이다. 사용자가 1을 입력하고자 할 때, 사용자는 경로 ①(520)를 따라 입력 시작 지점(510)으로부터 가상 키 "1"(502a)로 이동하도록 관심의 포커스를 제어할 수 있다.
도 2를 다시 참조하면, 단계(202)로부터, 방법(200)은 단계(204)로 진행된다. 204에서, 관심의 포커스의 변위 데이터는 감지 하드웨어로부터 수신된다. 204로부터, 방법(200)은 206으로 진행된다. 206에서, 변위 데이터에 기초하여 관심의 포커스가 입력 시작 지점에 도달한다는 결정에 대한 응답으로, 가상 키 입력의 검출이 활성화된다. 206으로부터, 방법(200)은 208로 진행된다. 208에서, 관심의 포커스가 입력 시작 지점으로부터 다수의 가상 키들 중 제 1 가상 키로 이동하는 것의 검출에 대한 응답으로, 제 1 가상 키가 입력된 것으로 결정되고 가상 키 입력의 검출이 종결된다. 208 후에, 방법(200)이 중지된다.
일부 구현들에 있어서, VR 시나리오에서 사용자의 상호작용 동안, 소정의 동작 에러가 발생할 수 있다. 개시된 기술은 사용자의 소정의 동작 에러들에 내성이 있거나(tolerate) 정정할 수 있다. 일 예로서, 개시된 기술들은, 타겟 가상 키의 입력이 이미 완료된 반면, 사용자의 관심의 포커스가, (예를 들어, 일시정지(pause)로 인해) 타겟 가상 키가 위치하는 구역으로 이동하지 않는다는, 달리 잘못된 결정에 내성이 있거나 정정할 수 있다.
일부 구현들에서, 관심의 포커스가 입력 시작 지점으로부터 시작하여, 다수의 가상 키들 중 임의의 것에 도달하기 전에, 정지하거나 방향을 변경하는 것의 검출에 대한 응답으로, 가상 키 입력의 검출 동안 관심의 포커스의 경로가 예를 들어, VR 클라이언트 단말에 의해, 수집될 수 있다. 일부 구현들에서, 관심의 포커스의 경로가 하나 이상의 미리 결정된 조건들을 만족하는 경우, 타겟 가상 키가 사용자에 의해 입력되고 현재 가상 키 입력 검출이 종결된 것으로 결정될 수 있다.
일부 구현들에서, 각각의 가상 키에 대해, 가상 키가 위치하는 구역으로부터 기준 지점이 미리 선택될 수 있다. 설명의 용이함을 위해 기준 지점은 지점 A로서 표시될 수 있다. 지점 A는 가상 키가 위치하는 구역의 중심 또는 다른 지점일 수 있다. 또한, 입력 시작 지점은 지점 O으로서 지칭될 수 있다. 관심의 포커스의 경로 상의 임의의 지점은 지점 P로서 지칭되고, 역방향으로 이동할 때 관심의 포커스가 머무른 지점은 지점 B로서 지칭된다.
예를 들어, 관심의 포커스의 경로가 다음 조건들: 즉 관심의 포커스의 경로 상의 임의의 지점(P)으로부터 선분(OA)이 상주하는 직선까지의 거리는 제 1 미리 결정된 문턱 범위 내에 있을 것;
Figure 112019052979725-pct00001
에 대한
Figure 112019052979725-pct00002
의 프로젝션의 길이는 제 2 미리 결정된 문턱 범위 내에 있을 것;
Figure 112019052979725-pct00003
에 대한
Figure 112019052979725-pct00004
의 프로젝션의 길이는 제 3 미리 결정된 문턱 범위 내에 있을 것을 만족하는 것으로 결정하는 것에 대한 응답으로, 타겟 가상 키가 입력된 것으로 결정되고, 가상 키 입력의 검출이 종결될 수 있고, 여기서 O는 입력 시작 지점이고, A는 타겟 가상 키가 위치하는 구역으로부터의 미리 선택된 지점이고, B는 관심의 포커스가 정지하거나 방향을 변경하는 지점이다.
도 6은 본 개시내용의 구현에 따라 관심의 포커스의 예시적인 경로(600)를 예시하는 블록도이다. 지점 O(610)은 입력 시작 지점이다. 정사각형 구역은 가상 키(650)를 나타낸다. 지점 A(655)는 가상 키(650)로부터 미리 선택된 기준 지점이다. 선분 OB(625)는 관심의 포커스의 실제 경로를 나타낸다. 지점 B(630)는 입력 시작 지점 O(610)에서 출발한 후에 관심의 포커스가 정지하는 지점이다. 지점 P(620)는 관심의 포커스의 경로(625) 상의 임의의 지점이다.
예로서, 미리 결정된 조건들은 다음을 포함할 수 있다 :
(1) 지점 P(620)로부터, 미리 결정된 선분(OA)이 위치하는 직선(615)까지의 거리가 제 1 미리 결정된 문턱 범위(또는 간격) 내에 있다. 제 1 문턱 간격은 지점 P(620)가 선분 OA가 위치하는 직선(615)으로부터 너무 멀리 떨어져 있지 않도록 보장하기 위해 개발자에 의해 세팅될 수 있다.
일부 구현들에서, 지점 P(620)로부터 미리 결정된 선분(OA)이 위치하는 직선(615)까지의 거리의 계산 시에, 선분 OA가 위치하는 직선(615)에 대한 수직선(도시되지 않음)이 지점 P(620)을 통과하게 형성될 수 있다. 지점 M(도시되지 않음)에서 선분 OA가 위치하는 직선(615)과 수직선이 교차한다고 가정하면, 선분 PM의 길이는 지점 P로부터, 미리 결정된 선분 OA가 위치하는 직선(615)까지의 거리와 동일하다.
(2)
Figure 112019052979725-pct00005
에 대한
Figure 112019052979725-pct00006
의 프로젝션의 길이는 제 2 미리 결정된 문턱 간격 내에 있다.
일부 구현들에서, 프로젝션의 길이는 선분 OM의 길이와 동일하다. 제 2 문턱 간격은 또한, 개발자에 의해, 예를 들어,
Figure 112019052979725-pct00007
가 되도록 세팅될 수 있으며, 여기서
Figure 112019052979725-pct00008
는 선분 OA의 길이를 나타내고 d의 값은 0.1 또는 다른 값일 수 있다.
(3)
Figure 112019052979725-pct00009
에 대한
Figure 112019052979725-pct00010
의 프로젝션의 길이는 제 3 미리 결정된 문턱 간격 내에 있다.
일부 구현들에서, 도 6을 참조하면,
Figure 112019052979725-pct00011
에 대한
Figure 112019052979725-pct00012
의 프로젝션의 길이는 선분 ON의 길이와 동일하다. 제 3 문턱 간격은 또한, 개발자에 의해, 예를 들어,
Figure 112019052979725-pct00013
가 되도록 세팅될 수 있으며, 여기서 k의 값은 0.8일 수 있고, d의 값은 0.1 또는 다른 값일 수 있다.
일부 구현들에서, 관심의 포커스의 경로가 위의 3개의 조건들을 만족할 때, 가상 키(650)가 사용자에 의해 입력된 것으로 결정될 수 있고 현재 가상 키 입력 검출이 종결된다. 일부 구현들에서, 계산을 통해, 관심의 포커스의 경로 및 각각의 가상 키 상의 기준 지점이 위의 조건들을 만족하는지가 결정될 수 있고, 조건들을 만족하는 가상 키는 사용자에 의해 입력된 타겟 가상 키로서 간주될 수 있다. 일부 구현들에서, 이러한 결정은 원형으로 배열된 가상 키보드에 대해 중요할 수 있으며, 오검출의 가능성을 효과적으로 회피하거나 감소시킬 수 있다.
일부 구현들에서, 위의 미리 결정된 조건들은 또한 사용자의 관심의 포커스가 입력 시작 지점으로부터 가상 키로 이동하는지를 검출하는데 사용될 수 있다. 즉, 가상 키 입력 검출이 활성화된 후에, 관심의 포커스의 경로가 수집될 수 있고, 추가로, 경로 및 각각의 가상 키가 위의 미리 결정된 조건들을 만족하는지가 실시간으로 결정될 수 있다. 경로 및 가상 키가 위의 미리 결정된 조건들을 만족할 때, 이 가상 키가 사용자에 의해 입력된 것으로 결정될 수 있다.
일부 구현들에서, 설명된 정보 입력 기술들은 VR 시나리오에서 컴퓨팅 장치로 구현될 수 있다. 이 컴퓨팅 장치는 VR 클라이언트 단말이 설치된 단말 디바이스에 적용될 수 있다. 컴퓨팅 장치는 소프트웨어 또는 하드웨어에 의해 구현될 수 있거나; 또는 소프트웨어-하드웨어-결합 방식으로 또한 구현될 수 있다. 예로서, 논리적 장치로서 소프트웨어 구현을 사용하여, 장치는, 단말 디바이스의 프로세서가 비휘발성 저장 디바이스로부터 메모리로 대응하는 컴퓨터 프로그램 명령어를 판독하고 명령어를 실행한 후에 형성될 수 있다.
도 7은 본 개시내용의 구현에 따라, VR 시나리오에서 하드웨어 컴퓨팅 장치(755)의 예시적인 아키텍처를 예시하는 블록도이다. 일부 구현들에서, 하드웨어 컴퓨팅 장치(755)는 본 개시내용의 구현에 따라, VR 시나리오에서 입력 장치(700)가 위치하는 단말 디바이스일 수 있다. 하드웨어 컴퓨팅 장치(755)는 프로세서(710), 내부 버스(715), 메모리(720), 네트워크 인터페이스(730) 및 비-휘발성 저장 디바이스(740)를 포함할 수 있다. 일부 구현들에서, 하드웨어 컴퓨팅 장치(755)는 또한 단말 디바이스의 기능들에 따라 다른 하드웨어를 포함할 수 있으며, 세부사항들이 여기에서 설명되진 않는다.
도 8은 본 개시내용의 구현에 따라, VR 시나리오에서 예시하는 하드웨어 입력 장치(700)를 예시하는 블록도이다. 입력 장치(700)는 도 7에 도시된 바와 같은 단말 디바이스(755) 상에 설치된 VR 클라이언트 단말에 적용될 수 있다. 입력 장치(700)는 키 프리젠테이션 유닛(701), 검출 활성화 유닛(702), 키 입력 유닛(703), 트랙 수집 유닛(704), 보조 프리젠테이션 유닛(705) 및 효과 변경 유닛(706)을 포함할 수 있다.
키 프리젠테이션 유닛(701)은 입력 개시의 표시를 수신하는 것에 대한 응답으로, VR 시나리오에서 입력 시작 지점 및 다수의 가상 키들을 제시하도록 구성된다. 다수의 가상 키들 각각은 입력 시작 지점으로부터 다수의 가상 키들 각각으로의 적어도 하나의 비간섭 경로를 갖고, 입력 시작 지점으로부터 다수의 가상 키들 각각으로의 비간섭 경로는 다수의 가상 키들 중 임의의 다른 하나에 의해 간섭받지 않는다.
트랙 수집 유닛(704)은 감지 하드웨어로부터 관심의 포커스의 변위 데이터를 수신하도록 구성된다.
검출 활성화 유닛(702)은, 변위 데이터에 기초하여 관심의 포커스가 입력 시작 지점에 도달한다고 결정하는 것에 대한 응답으로, 가상 키 입력 검출을 활성화하도록 구성된다.
키 입력 유닛(703)은, 관심의 포커스가 입력 시작 지점으로부터 다수의 가상 키들 중 제 1 가상 키로 이동하는 것의 검출에 대한 응답으로, 제 1 가상 키가 입력된 것으로 결정하고; 그리고 가상 키 입력의 검출을 종결하도록 구성된다.
트랙 수집 유닛(704)은 또한, 관심의 포커스가 입력 시작 지점으로부터 시작하여, 다수의 가상 키들 중 임의의 것에 도달하기 전에, 정지하거나 방향을 변경하는 것의 검출에 대한 응답으로, 가상 키 입력의 검출 동안 관심의 포커스의 경로를 수집하도록 구성된다.
또한, 키 입력 유닛(703)은 또한, 관심의 포커스의 경로가 다음 조건들 즉, 관심의 포커스의 경로 상의 임의의 지점(P)으로부터 선분(OA)이 상주하는 직선까지의 거리는 제 1 미리 결정된 문턱 범위 내에 있을 것;
Figure 112019052979725-pct00014
에 대한
Figure 112019052979725-pct00015
의 프로젝션의 길이는 제 2 미리 결정된 문턱 범위 내에 있을 것; 그리고
Figure 112019052979725-pct00016
에 대한
Figure 112019052979725-pct00017
의 프로젝션의 길이는 제 3 미리 결정된 문턱 범위 내에 있을 것을 만족하는 것으로 결정하는 것에 대한 응답으로, 타겟 가상 키가 입력된 것으로 결정하고 가상 키 입력의 검출을 종결하도록 구성되고, 여기서 O는 입력 시작 지점이고, A는 타겟 가상 키가 위치하는 구역으로부터의 미리 선택된 지점이고, B는 관심의 포커스가 정지하거나 방향을 변경하는 지점이다.
일부 구현들에서, 다수의 가상 키들은 직선을 따라 정렬되고, 입력 시작 지점은 다수의 가상 키들에 의해 형성되는 연장된 영역의 어느 한 측 상에 위치한다.
일부 구현들에서, 다수의 가상 키들은 원호(arc)를 따라 배열되고, 입력 시작 지점은 원호의 내부측 상에 위치한다.
일부 구현들에서, 다수의 가상 키들은 원을 따라 배열되고, 입력 시작 지점은 원 내부에 위치한다.
보조 프리젠테이션 유닛(705)은 입력 개시의 표시를 수신하는 것에 대한 응답으로, 가상 키를 입력하도록 사용자에 프롬프팅하기 위해 VR 시나리오에서 애니메이션 또는 보조 라인을 제시하도록 구성된다.
효과 변경 유닛(706)은 가상 키 입력 검출이 활성화될 때, 관심의 포커스의 프리젠테이션 효과(presentation effect)를 변경하도록 구성된다.
일부 구현들에서, 다수의 가상 키들 중 각각의 2개의 가장 근접한 가상 키들 사이에 갭이 존재한다.
당업자들은 본 명세서를 고려하고 개시된 청구 대상을 실시한 것에 이어, 본 개시내용의 다른 구현들을 고안할 수 있을 것이다. 본 개시내용은, 일반적인 지식 또는 개시되지 않은 종래 기술 수단을 포함하고 본 개시내용의 일반 원리들에 부합하는 변동들, 사용들 또는 적응들을 포함해서, 설명된 청구 대상의 임의의 변동들, 사용들 또는 적응들을 포괄하도록 의도된다. 제공된 예들은 설명된 개념들의 이해를 향상시키려는 것이며 어떤 방식으로도 본 개시내용의 적용 가능성을 제한하려는 것이 아니다.
또한, 본 개시내용은 첨부 도면들에 예시되거나 설명된 구현들로만 제한되지 않는다는 것이 이해되어야 한다. 본 출원의 범위로부터 벗어남 없이 다양한 수정들 및 변경들이 이루어질 수 있다. 본 출원의 범위는 포함된 청구항들에 의해서만 제한된다. 본 개시내용의 사상 및 원리들 내에서 이루어진 모든 수정들, 등가의 교체들 또는 개선들은 본 개시내용의 범위 및 보호 범위 내에 있는 것으로 간주된다.
도 9는 본 개시내용의 구현에 따라, 설명된 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들 및 절차들과 연관된 컴퓨테이셔널 기능성들을 제공하기 위해 사용되는 컴퓨터-구현 시스템(900)의 예를 도시하는 블록도이다. 예시된 구현에서, 시스템(900)은 컴퓨터(902) 및 네트워크(930)를 포함한다.
예시된 컴퓨터(902)는, 임의의 컴퓨팅 디바이스, 이를테면, 서버, 데스크톱 컴퓨터, 랩톱/노트북 컴퓨터, 무선 데이터 포트, 스마트 폰, PDA(personal data assistant), 태블릿 컴퓨팅 디바이스, 이들 디바이스 내의 하나 이상의 프로세서들, 다른 컴퓨팅 디바이스, 또는 컴퓨팅 디바이스의 물리적 또는 가상 인스턴스들을 포함하는 컴퓨팅 디바이스들의 조합, 또는 컴퓨팅 디바이스의 물리적 또는 가상 인스턴스들의 조합을 포괄하도록 의도된다. 부가적으로, 컴퓨터(902)는, 키패드, 키보드, 터치스크린, 다른 입력 디바이스 또는 사용자 정보를 수신할 수 있는 입력 디바이스들의 조합과 같은 입력 디바이스, 및 GUI 또는 다른 사용자 인터페이스(UI) 상에서, 디지털 데이터, 시각적, 오디오, 다른 유형의 정보, 또는 정보의 유형들의 조합을 포함하는, 컴퓨터(902)의 동작과 연관된 정보를 전달하는 출력 디바이스를 포함하는 컴퓨터를 포함할 수 있다.
컴퓨터(902)는 분산된 컴퓨팅 시스템에서, 클라이언트, 네트워크 컴포넌트, 서버, 데이터베이스 또는 다른 지속성(persistency), 다른 역할, 또는 본 개시내용에서 설명된 청구 대상을 수행하기 위한 역할들의 조합으로서 역할을 수행할 수 있다. 예시된 컴퓨터(902)는 네트워크(930)와 통신 가능하게 커플링된다. 일부 구현들에서, 컴퓨터(902)의 하나 이상의 컴포넌트들은 클라우드-컴퓨팅-기반, 로컬, 글로벌, 다른 환경, 또는 환경들의 조합을 포함하는 환경 내에서 동작하도록 구성될 수 있다.
하이 레벨에서, 컴퓨터(902)는 설명된 청구 대상과 연관된 데이터 및 정보를 수신, 송신, 프로세싱, 저장 또는 관리하도록 동작 가능한 전자 컴퓨팅 디바이스이다. 일부 구현들에 따라, 컴퓨터(902)는 또한, 애플리케이션 서버, 이메일 서버, 웹 서버, 캐싱 서버, 스트리밍 데이터 서버, 다른 서버 또는 서버들의 조합을 포함하는 서버를 포함하거나 이와 통신 가능하게 커플링될 수 있다.
컴퓨터(902)는 (예를 들어, 다른 컴퓨터(902) 상에서 실행중인 클라이언트 소프트웨어 애플리케이션으로부터) 네트워크(930)를 통해 요청들을 수신하고, 소프트웨어 애플리케이션 또는 소프트웨어 애플리케이션의 조합을 사용하여 수신된 요청들을 프로세싱함으로써 수신된 요청들에 응답할 수 있다. 게다가, 요청들은 또한 내부 사용자들(예를 들어, 커맨드 콘솔로부터 또는 다른 내부 액세스 방법에 의해), 외부 또는 제 3 자들, 또는 다른 엔티티들, 개인들, 시스템들 또는 컴퓨터들로부터 컴퓨터(902)로 전송될 수 있다.
컴퓨터(902)의 컴포넌트들 각각은 시스템 버스(903)를 사용하여 통신할 수 있다. 일부 구현들에서, 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합을 포함하는 컴퓨터(902)의 컴포넌트들 중 일부 또는 전부는 애플리케이션 프로그래밍 인터페이스(API)(912), 서비스 층(913) 또는 API(912) 및 서비스 층(913)의 조합을 사용하여 시스템 버스(903)를 통해 인터페이싱할 수 있다. API(912)는 루틴들, 데이터 구조들 및 객체 클래스들에 대한 규격들을 포함할 수 있다. API(912)는 컴퓨터-언어 독립형 또는 의존형일 수 있고 완전한 인터페이스, 단일 기능 또는 심지어 API들의 세트를 지칭할 수 있다. 서비스 층(913)은 컴퓨터(902) 또는 컴퓨터(902)에 통신 가능하게 커플링된 다른 컴포넌트들(예시되든 예시되지 않든 간에)에 소프트웨어 서비스들을 제공한다. 컴퓨터(902)의 기능성은 이 서비스 층을 사용하는 모든 서비스 소비자들이 액세스 가능할 수 있다. 서비스 층들(913)에 의해 제공되는 것들과 같은 소프트웨어 서비스들은 정의된 인터페이스를 통해 재사용 가능한 정의된 기능성들을 제공한다. 예를 들어, 인터페이스는 JAVA, C++, 다른 컴퓨팅 언어, 또는 XML(extensible markup language) 포맷, 다른 포맷 또는 포맷들의 조합의 데이터를 제공하는 컴퓨팅 언어들의 조합으로 작성된 소프트웨어일 수 있다. 컴퓨터(902)의 통합된 컴포넌트로서 예시되지만, 대안적인 구현들은 컴퓨터(902)의 다른 컴포넌트들 또는 컴퓨터(902)에 통신 가능하게 커플링된 다른 컴포넌트들(예시되든 예시되지 않든 간에)과 관련하여 자립형 컴포넌트들로서 API(912) 또는 서비스 층(913)을 예시한다. 또한, API(912) 또는 서비스 층(913)의 임의의 또는 모든 부분들은 본 개시내용의 범위를 벗어나지 않고 다른 소프트웨어 모듈, 엔터프라이즈 애플리케이션 또는 하드웨어 모듈의 차일드(child) 또는 서브-모듈로서 구현될 수 있다.
컴퓨터(902)는 인터페이스(904)를 포함한다. 도 9에서 단일 인터페이스(904)로 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(902)의 특정 구현들에 따라 둘 이상의 인터페이스들(904)이 사용될 수 있다. 인터페이스(904)는 컴퓨터(902)에 의해, 분산된 환경에서 네트워크(930)에 통신 가능하게 링크된 다른 컴퓨팅 시스템(예시되든 예시되지 않든 간에)과 통신하기 위해 사용된다. 일반적으로, 인터페이스(904)는 네트워크(930)와 통신하도록 동작 가능하고, 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어의 조합으로 인코딩된 로직들을 포함한다. 보다 구체적으로, 인터페이스(904)는 네트워크(930) 또는 인터페이스의 하드웨어가 예시된 컴퓨터(902) 내에 그리고 그 외부에서 물리적 신호들을 통신하게 동작 가능하도록 통신들과 연관된 하나 이상의 통신 프로토콜들을 지원하는 소프트웨어를 포함할 수 있다.
컴퓨터(902)는 프로세서(905)를 포함한다. 도 9에서 단일 프로세서(905)로서 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(902)의 특정 구현들에 따라 둘 이상의 프로세서들이 사용될 수 있다. 일반적으로, 프로세서(905)는 본 개시내용에서 설명된 바와 같은 컴퓨터(902)의 동작들 및 임의의 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들 및 절차들을 수행하도록 명령어를 실행하고 데이터를 조작한다.
컴퓨터(902)는 또한 컴퓨터(902), 네트워크(930)에 통신 가능하게 링크된 다른 컴포넌트(예시되든 예시되지 않든 간에), 또는 컴퓨터(902) 및 다른 컴포넌트의 조합에 대한 데이터를 유지할 수 있는 데이터베이스(906)를 포함한다. 예를 들어, 데이터베이스(906)는 본 개시내용과 부합하는 데이터를 저장하는 인-메모리, 종래의 또는 다른 유형의 데이터베이스일 수 있다. 일부 구현들에서, 데이터베이스(906)는 특정 요구들, 바램들 또는 컴퓨터(902)의 특정 구현들 및 설명된 기능성에 따라, 둘 이상의 상이한 데이터베이스 유형들(예를 들어, 하이브리드 인-메모리 및 종래의 데이터베이스)의 조합일 수 있다. 도 9에서 단일 데이터베이스(906)로서 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(902)의 특정 구현들 및 설명된 기능성에 따라, 유사하거나 상이한 유형들의 둘 이상의 데이터베이스들이 사용될 수 있다. 데이터베이스(906)가 컴퓨터(902)의 통합 컴포넌트로서 예시되지만, 대안적인 구현들에서, 데이터베이스(906)는 컴퓨터(902) 외부에 있을 수 있다.
컴퓨터(902)는 또한 컴퓨터(902), 네트워크(930)에 통신 가능하게 링크된 다른 컴포넌트 또는 컴퓨팅들(예시되든 예시되지 않든 간에), 또는 컴퓨터(902) 및 다른 컴포넌트의 조합에 대한 데이터를 보유할 수 있는 메모리(909)를 포함한다. 메모리(909)는 본 개시내용과 일치하는 임의의 데이터를 저장할 수 있다. 일부 구현들에서, 메모리(909)는 특정 요구들, 바램들 또는 컴퓨터(902)의 특정 구현들 및 설명된 기능성에 따라, 둘 이상의 상이한 유형의 메모리의 조합(예를 들어, 반도체 및 자기 스토리지의 조합)일 수 있다. 도 9에서 단일 메모리(909)로서 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(902)의 특정 구현들 및 설명된 기능성에 따라, 둘 이상의 메모리들(909) 또는 유사하거나 상이한 유형들이 사용될 수 있다. 메모리(909)가 컴퓨터(902)의 통합 컴포넌트로서 예시되지만, 대안적인 구현들에서, 메모리(909)는 컴퓨터(902) 외부에 있을 수 있다.
애플리케이션(908)은 특히, 본 개시내용에 설명된 기능성과 관련하여 특정 요구들, 바램들 또는 컴퓨터(902)의 특정 구현들에 따른 기능성을 제공하는 알고리즘 소프트웨어 엔진이다. 예를 들어, 애플리케이션(908)은 하나 이상의 컴포넌트들, 모듈들 또는 애플리케이션들로서 역할을 할 수 있다. 또한, 단일 애플리케이션(908)으로서 예시되지만, 애플리케이션(908)은 컴퓨터(902) 상에서 다수의 애플리케이션들(908)로서 구현될 수 있다. 게다가, 컴퓨터(902)와 일체형인 것으로서 예시되지만, 대안적인 구현들에서, 애플리케이션(908)은 컴퓨터(902) 외부에 있을 수 있다.
컴퓨터(902)는 또한 전력 공급기(914)를 포함할 수 있다. 전력 공급기(914)는 사용자-교체 가능 또는 사용자-교체 불가능하도록 구성될 수 있는 재충전 가능 또는 재충전 불가능 배터리를 포함할 수 있다. 일부 구현들에서, 전력 공급기(914)는 (재충전, 대기 또는 다른 전력 관리 기능성을 포함하는) 전력-변환 또는 관리 회로들을 포함할 수 있다. 일부 구현들에서, 전력 공급기(914)는 예를 들어, 컴퓨터(902)에 전력을 공급하거나 재충전 가능 배터리를 재충전하기 위해 컴퓨터(902)가 벽 소켓 또는 다른 전원에 플러깅될 수 있게 하기 위한 전력 플러그를 포함할 수 있다.
컴퓨터(902)를 포함하는 컴퓨터 시스템과 연관되거나 그의 외부에 있는 임의의 수의 컴퓨터들(902)(각각의 컴퓨터(902)는 네트워크(930)를 통해 통신함)이 존재할 수 있다. 또한, 용어 "클라이언트", "사용자", 또는 다른 적절한 용어는 본 개시내용의 범위를 벗어나지 않고 적절히 상호 교환 가능하게 사용될 수 있다. 또한, 본 개시내용은 다수의 사용자들이 하나의 컴퓨터(902)를 사용할 수 있거나 한 사용자가 다수의 컴퓨터들(902)를 사용할 수 있다는 것을 고려한다.
청구 대상의 설명된 구현들은 하나 이상의 특징들을 단독으로 또는 조합하여 포함할 수 있다.
예를 들어, 제 1 구현에서, 컴퓨터 구현 방법은 입력 개시의 표시를 수신하는 것에 대한 응답으로, 가상 현실 시나리오에 입력 시작 지점 및 복수의 가상 키를 제공하는 단계를 포함하며, 복수의 가상 키는 입력 시작 지점으로부터 복수의 가상 키들 각각으로의 적어도 하나의 비간섭 경로를 가지며, 입력 시작 지점으로부터 복수의 가상 키들 각각까지의 비간섭 경로는 복수의 가상 키들; 감지 하드웨어로부터 관심의 포커스의 변위 데이터를 수신하는 단계; 관심의 포커스가 변위 데이터에 기초하여 입력 시작 지점에 도달하였다는 결정의 응답으로, 가상 키 입력의 검출을 활성화하는 단계; 관심의 포커스가 입력 시작 지점으로부터 다수의 가상 키 중 제 1 가상 키로 이동하는 것의 감지에 대한 응답으로, 제 1 가상 키가 입력되었다고 결정하는 단계; 및 가상 키 입력의 검출을 종료하는 단계를 더 포함하는 방법.
제 2 구현에서, 동작들을 수행하기 위해 컴퓨터 시스템에 의해 실행 가능한 하나 이상의 명령어를 저장한 비-일시적인 컴퓨터-판독 가능 매체가 제공되며, 이 동작들은, 입력 개시의 표시를 수신하는 것에 대한 응답으로, 가상 현실 시나리오에 입력 시작 지점 및 복수의 가상 키들을 제시하는 단계 ― 복수의 가상 키들 각각은 입력 시작 지점으로부터 복수의 가상 키들 각각으로의 적어도 하나의 비간섭 경로를 갖고, 입력 시작 지점으로부터 복수의 가상 키들 각각으로의 비간섭 경로는 복수의 가상 키들 중 임의의 다른 하나에 의해 간섭받지 않음 ― ; 감지 하드웨어로부터 관심의 포커스의 변위 데이터를 수신하는 단계; 관심의 포커스가 변위 데이터에 기초하여 입력 시작 지점에 도달한다는 결정에 대한 응답으로, 가상 키 입력의 검출을 활성화하는 단계; 및 관심의 포커스가 입력 시작 지점으로부터 복수의 가상 키들 중 제 1 가상 키로 이동하는 것의 검출에 대한 응답으로, 제 1 가상 키가 입력된 것으로 결정하고 가상 키 입력의 검출이 종결하는 단계를 포함한다.
제 3 구현에서, 컴퓨터-구현 시스템은, 하나 이상의 컴퓨터들; 및 하나 이상의 컴퓨터들과 상호 동작 가능하게 커플링되고 하나 이상의 명령어를 저장한 유형의(tangible) 비-일시적인 머신-판독 가능 매체를 갖는 하나 이상의 컴퓨터 메모리 디바이스들을 포함하며, 명령어는, 하나 이상의 컴퓨터들에 의해 실행될 때, 입력 개시의 표시를 수신하는 것에 대한 응답으로, 가상 현실 시나리오에 입력 시작 지점 및 복수의 가상 키들을 제시하는 단계 ― 복수의 가상 키들 각각은 입력 시작 지점으로부터 복수의 가상 키들 각각으로의 적어도 하나의 비간섭 경로를 갖고, 입력 시작 지점으로부터 복수의 가상 키들 각각으로의 비간섭 경로는 복수의 가상 키들 중 임의의 다른 하나에 의해 간섭받지 않음 ― ; 감지 하드웨어로부터 관심의 포커스의 변위 데이터를 수신하는 단계; 관심의 포커스가 변위 데이터에 기초하여 입력 시작 지점에 도달한다는 결정에 대한 응답으로, 가상 키 입력의 검출을 활성화하는 단계; 및 관심의 포커스가 입력 시작 지점으로부터 복수의 가상 키들 중 제 1 가상 키로 이동하는 것의 검출에 대한 응답으로, 제 1 가상 키가 입력된 것으로 결정하고 가상 키 입력의 검출이 종결하는 단계를 포함하는 동작들을 수행한다.
상기 및 다른 설명된 구현들은 각각, 다음의 특징들 중 하나 이상을 선택적으로 포함할 수 있다:
다음의 특징들 중 임의의 것과 결합 가능한 제 1 특징에 있어서, 방법 또는 동작들은, 관심의 포커스가 입력 시작 지점으로부터 시작하여, 복수의 가상 키들 중 임의의 것에 도달하기 전에, 정지하거나 방향을 변경하는 것의 검출에 대한 응답으로, 가상 키 입력의 검출 동안 관심의 포커스의 경로를 수집하는 단계; 및 관심의 포커스의 경로가 다음 조건들, 즉 관심의 포커스의 경로 상의 임의의 지점(P)으로부터 선분(OA)이 상주하는 직선까지의 거리는 제 1 미리 결정된 문턱 범위 내에 있을 것;
Figure 112019052979725-pct00018
에 대한
Figure 112019052979725-pct00019
의 프로젝션의 길이는 제 2 미리 결정된 문턱 범위 내에 있을 것; 그리고
Figure 112019052979725-pct00020
에 대한
Figure 112019052979725-pct00021
의 프로젝션의 길이는 제 3 미리 결정된 문턱 범위 내에 있을 것을 만족하는 것으로 결정하는 것에 대한 응답으로, 타겟 가상 키가 입력된 것으로 결정하고 가상 키 입력의 검출을 종결하는 단계를 더 포함하며, 여기서 O는 입력 시작 지점이고, A는 타겟 가상 키가 위치하는 구역으로부터의 미리 선택된 지점이고, B는 관심의 포커스가 정지하거나 방향을 변경하는 지점이다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 2 특징에 있어서, 복수의 가상 키들은 직선을 따라 정렬되고, 입력 시작 지점은 복수의 가상 키들에 의해 형성되는 연장된 영역의 어느 한 측 상에 위치한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 3 특징에 있어서, 복수의 가상 키들은 원호(arc)를 따라 배열되고, 입력 시작 지점은 원호의 내부측 상에 위치한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 4 특징에 있어서, 복수의 가상 키들은 원을 따라 배열되고, 입력 시작 지점은 원 내부에 위치한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 5 특징에 있어서, 방법 또는 동작들은, 입력 개시의 표시를 수신하는 것에 대한 응답으로, 사용자에게 어떻게 가상 키를 입력할지를 프롬프팅(prompt)하도록 VR 시나리오에 애니메이션 또는 보조 라인을 제시하는 단계를 더 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 6 특징에 있어서, 방법 또는 동작들은, 가상 키 입력의 검출의 활성화에 대한 응답으로, 가상 키 입력 검출이 활성화될 때, 관심의 포커스 프리젠테이션 효과(presentation effect)를 변경하는 단계를 더 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 7 특징에 있어서, 복수의 가상 키들 중 각각의 2개의 가장 근접한 가상 키들 사이에 갭이 존재한다.
본 명세서에서 설명된 청구대상 및 기능적 동작들의 구현들은, 본 명세서에서 개시된 구조들 및 그들의 구조적 등가물들을 포함하는 디지털 전자 회로로, 유형으로 구체화되는 컴퓨터 소프트웨어로 또는 펌웨어로, 컴퓨터 하드웨어로, 또는 그들 중 하나 이상의 조합들로 구현될 수 있다. 설명된 청구 대상의 소프트웨어 구현들은, 데이터 프로세싱 장치에 의한 실행을 위해, 또는 데이터 프로세싱 장치의 동작을 제어하기 위해, 유형의 비-일시적인 컴퓨터-판독 가능 컴퓨터-저장 매체 상에 인코딩된 하나 이상의 컴퓨터 프로그램들, 즉 컴퓨터 프로그램 명령어의 하나 이상의 모듈들로서 구현될 수 있다. 대안적으로 또는 부가적으로, 프로그램 명령어는, 데이터 프로세싱 장치에 의한 실행을 위해 수신기 장치로의 송신을 위한 정보를 인코딩하기 위해 생성되는, 인위적으로 생성된 전파된 신호, 예를 들어, 머신-생성 전기, 광학 또는 전자기 신호 상에/그 내에 인코딩될 수 있다. 컴퓨터-저장 매체는 머신-판독 가능 저장 디바이스, 머신-판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 컴퓨터-저장 매체들의 조합일 수 있다. 하나 이상의 컴퓨터들을 구성하는 것은, 소프트웨어가 하나 이상의 컴퓨터들에 의해 실행될 때 특정 컴퓨팅 동작들이 수행되도록 하나 이상의 컴퓨터들에 하드웨어, 펌웨어 또는 소프트웨어(또는 하드웨어, 펌웨어 및 소프트웨어의 조합들)가 설치되었음을 의미한다.
"실-시간", "실 시간", "실시간", "RFT(real fast time)", "NRT(near(ly) real-time)", "준 실-시간" 또는 (당업자에 의해 이해되는 바와 같은) 유사한 용어들은, 액션 및 반응이 시간적으로 근접하여서 개인이 액션 및 반응을 실질적으로 동시에 발생하는 것으로 지각한다는 것을 의미한다. 예를 들어, 데이터에 액세스하기 위한 개인의 액션에 이은 데이터의 디스플레이까지의 응답에 대한(또는 디스플레이의 초기화에 대한) 시간 차이는 1 밀리초(ms) 미만, 1 초(s) 미만, 또는 5 s 미만일 수 있다 요청된 데이터는 즉시 디스플레이(또는 디스플레이를 위해 초기화)될 필요는 없지만, 그것은 설명된 컴퓨팅 시스템의 프로세싱 제한들 및 예를 들어, 데이터를 수집하고, 정확하게 측정하고, 분석하고, 프로세싱하고, 저장하거나 또는 송신하는데 요구되는 시간을 고려하여 어떠한 의도적인 지연도 없이 디스플레이(또는 디스플레이를 위해 초기화)된다.
"데이터 프로세싱 장치", "컴퓨터" 또는 "전자 컴퓨터 디바이스"(또는 당업자에 의해 이해되는 바와 같은 등가물)이라는 용어는 데이터 프로세싱 하드웨어를 지칭하고, 예로서, 프로그래밍 가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함하는, 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스 및 머신들을 포괄한다. 장치는 또한, 예를 들어, 중앙 처리 장치(CPU), FPGA(field programmable gate array), 또는 ASIC(application-specific integrated circuit)와 같은 특수 목적 논리 회로일 수 있거나 이를 더 포함할 수 있다. 일부 구현들에서, 데이터 프로세싱 장치 또는 특수 목적 로직 회로(또는 데이터 프로세싱 장치 또는 특수 목적 로직 회로의 조합)는 하드웨어-기반 또는 소프트웨어-기반(또는 하드웨어-기반 및 소프트웨어-기반의 조합)일 수 있다. 장치는 컴퓨터 프로그램들에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 실행 환경들의 조합을 구성하는 코드를 선택적으로 포함할 수 있다. 본 개시내용은 일부 유형의 운영 체제, 예를 들어, LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS, 다른 운영 체제 또는 운영 체제들의 조합을 갖는 데이터 프로세싱 장치들의 사용을 고려한다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 유닛, 모듈, 소프트웨어 모듈, 스크립트, 코드 또는 다른 컴포넌트로서 또한 지칭되거나 설명될 수 있는 컴퓨터 프로그램은, 컴파일되거나 인터프리팅된 언어들, 선언형 또는 절차형 언어들을 포함한 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 컴퓨터 프로그램은 예를 들어, 컴퓨팅 환경에서 사용하기 위한 자립형 프로그램, 모듈, 컴포넌트, 또는 서브루틴으로서 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만 반드시 대응할 필요는 없을 수 있다. 프로그램은, 다른 프로그램들 또는 데이터 예를 들어, 마크업 언어 문서에 저장되는 하나 이상의 스크립트들을 유지하는 파일의 부분에, 해당 프로그램에 전용된 단일 파일에, 또는 다수의 통합형 파일들 예를 들어, 하나 이상의 모듈들, 서브-프로그램들 또는 코드의 부분들을 저장한 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 다수의 사이트들에 걸쳐 분산되어 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 실행되거나 또는 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
다양한 도면들에 예시된 프로그램들의 부분들은 다양한 객체들, 방법들 또는 다른 프로세스들을 사용하여 설명된 특징들 및 기능성을 구현하는, 유닛들 또는 모듈들과 같은 개별 컴포넌트들로서 예시될 수 있지만, 프로그램들은 다수의 서브-유닛들, 서브-모듈들, 제 3 자 서비스들, 컴포넌트들, 라이브러리들 및 다른 컴포넌트들을 적절히 대신 포함할 수 있다. 반대로, 다양한 컴포넌트들의 특징들 및 기능성은 단일 컴포넌트로 적절히 결합될 수 있다. 컴퓨테이셔널 결정들을 내리는 데 사용되는 문턱치들은 정적으로, 동적으로 또는 정적 및 동적 둘 모두로 결정될 수 있다.
설명된 방법들, 프로세스들 또는 로직 흐름들은 본 개시내용과 부합하는 기능성의 하나 이상의 예들을 나타내고, 설명된 또는 예시된 구현들로 본 개시내용을 제한하려는 것이 아니라, 설명된 원리들 및 특징들에 부합하는 가장 넓은 범위를 부여하려는 것이다. 설명된 방법들, 프로세스들 또는 로직 흐름들은 입력 데이터를 조작하고 출력 데이터를 생성함으로써 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래밍 가능 컴퓨터들에 의해 수행될 수 있다. 방법들, 프로세스들 또는 로직 흐름들은 또한 특수 목적 로직 회로, 예를 들어 CPU, FPGA 또는 ASIC에 의해 수행될 수 있고, 장치는 또한 특수 목적 로직 회로, 예를 들어 CPU, FPGA 또는 ASIC로서 구현될 수 있다.
컴퓨터 프로그램의 실행을 위한 컴퓨터들은 범용 또는 특수 목적 마이크로프로세서들, 둘 모두 또는 다른 유형의 CPU에 기초할 수 있다. 일반적으로, CPU는 명령어 및 데이터를 메모리로부터 수신하고 메모리에 기록할 것이다. 컴퓨터의 필수 엘리먼트들은 명령들을 수행하거나 실행하기 위한 CPU 및 명령어 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예를 들어, 자기, 광자기 디스크들 또는 광학 디스크들로부터 데이터를 수신하거나 또는 이들에 데이터를 전달하거나, 또는 둘 모두를 수행하도록 동작 가능하게 커플링되거나, 또는 이들을 포함할 것이다. 그러나 컴퓨터는 이러한 디바이스들을 가질 필요가 없다. 또한, 컴퓨터는 다른 디바이스, 예를 들어, 모바일 전화, 개인용 디지털 보조기기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템(GPS) 수신기 또는 휴대용 메모리 저장 디바이스에 임베딩될 수 있다.
컴퓨터 프로그램 명령어 및 데이터를 저장하기 위한 비-일시적인 컴퓨터-판독 가능 매체는, 예로서 반도체 메모리 디바이스, 예를 들어, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 상변화 메모리(PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 소거 가능한 프로그래밍 가능 판독 전용 메모리(EPROM), 전기적 소거 가능 프로그래밍 가능 판독 전용 메모리(EEPROM) 및 플래시 메모리 디바이스들; 자기 디바이스들, 예를 들어, 테이프, 카트리지들, 카세트들, 내부/이동식 디스크들; 광자기 디스크들; 광학 메모리 디바이스들, 예를 들어, 다지털 비디오 디스크(DVD), CD-ROM, DVD +/- R, DVD-RAM, DVD-ROM, HD-DVD 및 BLURAY 및 다른 광학 메모리 기술들을 포함한, 모든 형태의 영구적/비-영구적 또는 휘발성/비-휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 메모리는 캐시들, 클래스들, 프레임워크들, 애플리케이션들, 모듈들, 백업 데이터, 잡(job)들, 웹 페이지들, 웹 페이지 템플릿들, 데이터 구조들, 데이터베이스 테이블들, 동적 정보를 저장하는 저장소들, 또는 임의의 파라미터들, 변수들, 알고리즘들, 명령어들, 규칙들, 제약들 또는 기준들을 포함하는 임의의 다른 적절한 정보를 포함하는 다양한 객체들 또는 데이터를 저장할 수 있다. 부가적으로, 메모리는 로그들, 정책들, 보안 또는 액세스 데이터 또는 보고 파일들과 같은 다른 적절한 데이터를 포함할 수 있다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 또는 거기에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에 설명된 발명의 대상의 구현들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, 음극선관(CRT), 액정 디스플레이(LCD), 발광 다이오드(LED) 또는 플라스마 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스, 예를 들어 마우스, 트랙볼, 또는 트랙패드를 갖는 컴퓨터 상에서 구현될 수 있다. 입력은 또한, 압력 민감도를 갖는 태블릿 컴퓨터 표면, 용량성 또는 전기적 감지를 사용하는 멀티-터치 스크린 또는 다른 유형의 터치스크린과 같은 터치 스크린을 사용하여 컴퓨터에 제공될 수 있다. 다른 유형들의 디바이스들은 사용자와 상호작용하는 데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백(이를테면, 시각적, 청각적, 촉각적, 또는 피드백 유형들의 조합)일 수 있다. 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다. 게다가, 컴퓨터는 사용자에 의해 사용되는 클라이언트 컴퓨팅 디바이스에 문서들을 전송하고 이 디바이스로부터 문서들을 수신함으로써(예를 들어, 웹 브라우저로부터 수신된 요청들에 대한 응답으로 사용자의 모바일 컴퓨팅 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써) 사용자와 상호작용할 수 있다.
"그래픽 사용자 인터페이스" 또는 "GUI"라는 용어는 하나 이상의 그래픽 사용자 인터페이스 및 특정 그래픽 사용자 인터페이스의 디스플레이들 각각을 설명하기 위해 단수 또는 복수로 사용될 수 있다. 따라서, GUI는, 정보를 프로세싱하고 정보 결과들을 사용자에게 효율적으로 제시하는 웹 브라우저, 터치 스크린 또는 커맨드 라인 인터페이스(CLI)를 포함(그러나 이에 제한되지 않음)하는 임의의 그래픽 사용자 인터페이스를 나타낼 수 있다. 일반적으로, GUI는 상호작용 필드들, 풀-다운 리스트들 및 버튼들과 같은 다수의 사용자 인터페이스(UI) 엘리먼트들을 포함할 수 있으며, 이들 중 일부 또는 전부는 웹 브라우저들과 연관된다. 이들 및 다른 UI 엘리먼트들은 웹 브라우저의 기능들과 관련되거나 웹 브라우저의 기능들을 나타낼 수 있다.
본 명세서에 설명된 발명의 대상의 구현들은 컴퓨팅 시스템에서 구현될 수 있는데, 컴퓨팅 시스템은, 예를 들어, 데이터 서버로서 백-엔드(back-end) 컴포넌트를 포함하거나, 미들웨어(middleware) 클라이언트 디바이스, 예를 들어, 애플리케이션 서버를 포함하거나, 또는 프론트 엔드 컴포넌트, 예를 들어, 본 명세서에 설명된 발명의 대상의 구현과 사용자가 상호작용할 수 있게 하는 웹 브라우저 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터를 포함하거나, 또는 이러한 백 엔드, 미들웨어 또는 프론트 엔드 컴포넌트들의 임의의 결합을 포함한다. 시스템의 컴포넌트들은, 유선 또는 무선 디지털 데이터 통신의 임의의 형태 또는 매체(또는 데이터 통신의 조합), 예컨대, 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예들은, 예를 들어, 802.11 a/b/g/n 또는 802.20(또는 802.11x 및 802.20의 조합 또는 본 개시내용과 부합하는 다른 프로토콜들)을 사용하는 LAN(Local Area Network), RAN(Radio Access Network), MAN(Metropolitan Area Network), WAN(Wide Area Network), WIMAX(Worldwide Interoperability for Microwave Access), WLAN(wireless local area), 인터넷의 전부 또는 일부, 다른 통신 네트워크, 또는 통신 네트워크들의 조합을 포함한다. 통신 네트워크는 네트워크 노드들 사이에서, 예를 들어, 인터넷 프로토콜(IP) 패킷들, 프레임 릴레이(Frame Relay) 프레임, 비동기 전송 모드(ATM) 셀들, 음성, 비디오, 데이터 또는 다른 정보를 통신할 수 있다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 떨어져 있으며, 통상적으로 통신 네트워크를 통해 상호작용할 수 있다. 클라이언트와 서버의 관계는, 각각의 컴퓨터들 상에서 실행되고 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.
본 명세서가 많은 특정한 구현 세부사항들을 포함하지만, 이들은 임의의 발명 또는 청구될 수 있는 범위에 대한 제한들로서 해석되는 것이 아니라 오히려, 특정 발명들의 특정 구현들에 특유할 수 있는 특징들의 설명들로서 해석되어야 한다. 별개의 구현들의 맥락에서 본 명세서에 설명된 소정의 특징들은 또한, 단일 구현으로 조합하여 구현될 수 있다. 대조적으로, 단일 구현의 맥락에서 설명된 다양한 특징들은 또한, 다수의 구현들에서 개별적으로 또는 임의의 서브-조합으로 구현될 수 있다. 또한, 이전에 설명된 특징들이 소정의 조합들에서 동작하는 것으로 설명되고 심지어 초기에는 그와 같이 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서, 그 조합으로부터 삭제될 수 있으며, 청구된 조합은 서브-조합 또는 서브-조합의 변동으로 지시될 수 있다.
청구대상의 특정 구현들이 설명되었다. 설명된 구현들의 다른 구현들, 변경들 및 치환들은 당업자에게 명백할 바와 같이 다음의 청구범위 내에 있다. 동작들이 특정한 순서로 도면들 및 청구항들에 도시되지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행된다는 것을 요구하는 것으로서 이해되지는 않아야 한다(일부 동작들은 선택적이라고 고려될 수 있음). 소정의 상황들에서, 멀티태스킹 또는 병렬 프로세싱(또는 멀티태스킹 및 병렬 프로세싱의 조합)이 유리하며 적절하다고 간주되면 수행될 수 있다.
또한, 이전에 설명된 구현들에서의 다양한 시스템 모듈들 및 컴포넌트들의 분리 및 통합은 모든 구현들에서 그러한 분리 및 통합을 요구하는 것으로서 이해되지는 않아야 하고, 그리고 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로, 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다.
따라서, 이전에 설명된 예시적인 구현들은 본 개시내용을 정의하거나 제한하지 않는다. 본 개시내용의 사상 및 범위를 벗어나지 않으면서 다른 변화들, 교체들 및 변경들이 또한 가능하다.
또한, 임의의 청구된 구현들은 적어도, 컴퓨터-구현 방법; 컴퓨터-구현 방법을 수행하기 위한 컴퓨터-판독 가능 명령어를 저장하는 비-일시적인 컴퓨터-판독 가능 매체; 및 비-일시적인 컴퓨터-판독 가능 매체 상에 저장된 명령어 또는 컴퓨터-구현 방법을 수행하도록 구성된 하드웨어 프로세서와 상호 동작 가능하게 커플링된 컴퓨터 메모리를 포함할 시스템에 적용 가능한 것으로 고려된다.

Claims (20)

  1. 가상 현실 시나리오에 기초한 입력을 위한 입력 방법에 있어서,
    입력 인에이블 명령(input enable instruction)을 수신하는 단계;
    상기 가상 현실 시나리오에 입력 시작 지점 및 여러 가상 키를 제시하는 단계 ― 위치 관계가 상기 입력 시작 지점과 상기 여러 가상 키 사이의 연관성을 정의하고, 상기 위치 관계는 상기 입력 시작 지점과 각각의 가상 키 사이에서, 다른 가상 키와 간섭하지 않는 하나 이상의 이용 가능한 이동 트랙(moving track)을 표시함 ― ;
    관심의 포커스(focus of attention)가 상기 입력 시작 지점에 도달하는지를 결정하는 단계;
    상기 관심의 포커스가 상기 입력 시작 지점에 도달한다는 결정에 대한 응답으로, 가상 키 입력 검출을 활성화하는 단계;
    상기 관심의 포커스가 상기 입력 시작 지점으로부터 제 1 가상 키로 이동하는 것이 검출될 때, 상기 가상 키가 사용자에 의해 입력된 것으로 결정하고, 상기 가상 키 입력 검출을 종결하는 단계;
    상기 관심의 포커스가 상기 입력 시작 지점에서 출발하고 나서, 임의의 가상 키가 위치하는 구역에 도달하기 전에 이동을 정지하거나 이동 방향을 변경하는 것이 검출될 때, 상기 가상 키 입력 검출 동안 상기 관심의 포커스의 이동 트랙을 수집하는 단계; 및
    상기 관심의 포커스의 이동 트랙이 복수의 조건을 만족할 때, 타겟 가상 키가 상기 사용자에 의해 입력된 것으로 결정하고 상기 가상 키 입력 검출을 종결하는 단계를 포함하고,
    상기 복수의 조건은,
    상기 관심의 포커스의 이동 트랙 상의 임의의 지점(P)으로부터 미리 설정된 선분(OA)이 위치하는 직선까지의 거리가 제 1 미리 설정된 문턱 간격 내에 있을 것;
    Figure 112020090052079-pct00043
    에 대한
    Figure 112020090052079-pct00044
    의 프로젝션(projection)의 제 1 길이가 제 2 미리 설정된 문턱 간격 내에 있을 것; 그리고
    Figure 112020090052079-pct00045
    에 대한
    Figure 112020090052079-pct00046
    의 프로젝션의 제 2 길이가 제 3 미리 설정된 문턱 간격 내에 있을 것을 포함하고,
    여기서 O는 상기 입력 시작 지점이고, A는 상기 타겟 가상 키가 위치하는 구역으로부터의 미리 선택된 지점이고, B는 상기 관심의 포커스가 이동을 정지하거나 역방향으로 이동한다고 결정될 때, 상기 관심의 포커스가 머무른 지점인, 입력 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 여러 가상 키가 직선으로 배열될 때, 상기 입력 시작 지점은 상기 여러 가상 키에 의해 형성되는 연장된 영역(elongated area)의 어느 한 측에 위치하는, 입력 방법.
  5. 제1항에 있어서,
    상기 여러 가상 키가 원호(arc)로 배열될 때, 상기 입력 시작 지점은 상기 여러 가상 키에 의해 형성되는 원호 영역의 내부측에 위치하는, 입력 방법.
  6. 제1항에 있어서,
    상기 여러 가상 키가 링(ring)으로 배열되고, 상기 입력 시작 지점은 상기 여러 가상 키에 의해 형성되는 상기 링의 내부 원의 내부측에 위치하는, 입력 방법.
  7. 제1항에 있어서,
    가상 키를 어떻게 입력할지를 상기 사용자에게 프롬프팅(prompt)하기 위해, 상기 입력 인에이블 명령이 수신될 때 상기 가상 현실 시나리오에 애니메이션 또는 보조 라인을 제시하는 단계를 더 포함하는, 입력 방법.
  8. 제1항에 있어서,
    상기 가상 키 입력 검출이 활성화될 때, 상기 관심의 포커스의 프리젠테이션 효과(presentation effect)를 변경하는 단계를 더 포함하는, 입력 방법.
  9. 제1항에 있어서,
    상기 여러 가상 키 중 각각의 2개의 가장 근접한 가상 키 사이에 갭이 존재하는, 입력 방법.
  10. 제1항 및 제4항 내지 제9항 중 어느 한 항의 방법을 수행하도록 구성된 복수의 모듈을 포함하는, 가상 현실 시나리오에 기초한 입력을 위한 장치.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020197014877A 2016-10-27 2017-10-27 가상 현실 환경에서의 정보 입력을 위한 사용자 인터페이스 KR102222084B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201610958077.9A CN107015637B (zh) 2016-10-27 2016-10-27 虚拟现实场景下的输入方法和装置
CN201610958077.9 2016-10-27
US15/794,814 2017-10-26
US15/794,814 US20180121083A1 (en) 2016-10-27 2017-10-26 User interface for informational input in virtual reality environment
PCT/US2017/058836 WO2018081615A1 (en) 2016-10-27 2017-10-27 User interface for informational input in virtual reality environment

Publications (2)

Publication Number Publication Date
KR20190068615A KR20190068615A (ko) 2019-06-18
KR102222084B1 true KR102222084B1 (ko) 2021-03-05

Family

ID=59439484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197014877A KR102222084B1 (ko) 2016-10-27 2017-10-27 가상 현실 환경에서의 정보 입력을 위한 사용자 인터페이스

Country Status (10)

Country Link
US (1) US20180121083A1 (ko)
EP (1) EP3533047A4 (ko)
JP (1) JP6896853B2 (ko)
KR (1) KR102222084B1 (ko)
CN (1) CN107015637B (ko)
MY (1) MY195449A (ko)
PH (1) PH12019500939A1 (ko)
SG (1) SG11201903548QA (ko)
TW (1) TWI705356B (ko)
WO (1) WO2018081615A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107728918A (zh) * 2017-09-27 2018-02-23 北京三快在线科技有限公司 浏览连续页面的方法、装置及电子设备
TWI721429B (zh) * 2018-05-21 2021-03-11 仁寶電腦工業股份有限公司 互動式投影系統和互動式投影方法
CN110597509B (zh) * 2018-10-10 2023-10-03 苏州沁游网络科技有限公司 Unity环境下的跨平台GUI触摸事件解析方法
CN111782098A (zh) * 2020-07-02 2020-10-16 三星电子(中国)研发中心 一种页面导航方法、装置和智能设备
US11467403B2 (en) * 2020-08-20 2022-10-11 Htc Corporation Operating method and electronic system
US11119570B1 (en) 2020-10-29 2021-09-14 XRSpace CO., LTD. Method and system of modifying position of cursor
WO2022220459A1 (en) * 2021-04-14 2022-10-20 Samsung Electronics Co., Ltd. Method and electronic device for selective magnification in three dimensional rendering systems
CN113093978A (zh) * 2021-04-21 2021-07-09 山东大学 一种基于环形虚拟键盘输入方法及电子设备
WO2024100935A1 (ja) * 2022-11-11 2024-05-16 パナソニックIpマネジメント株式会社 入力装置および入力方法

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6903723B1 (en) * 1995-03-27 2005-06-07 Donald K. Forest Data entry method and apparatus
US6005549A (en) * 1995-07-24 1999-12-21 Forest; Donald K. User interface method and apparatus
JP3511462B2 (ja) * 1998-01-29 2004-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 操作画像表示装置およびその方法
US7750891B2 (en) * 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US7103565B1 (en) * 1999-08-27 2006-09-05 Techventure Associates, Inc. Initial product offering system
US6901430B1 (en) * 1999-11-05 2005-05-31 Ford Motor Company Online system and method of locating consumer product having specific configurations in the enterprise production pipeline and inventory
US6826541B1 (en) * 2000-11-01 2004-11-30 Decision Innovations, Inc. Methods, systems, and computer program products for facilitating user choices among complex alternatives using conjoint analysis
JP2003108286A (ja) * 2001-09-27 2003-04-11 Honda Motor Co Ltd 表示方法、表示用プログラム及び記録媒体
US7389294B2 (en) * 2001-10-31 2008-06-17 Amazon.Com, Inc. Services for generation of electronic marketplace listings using personal purchase histories or other indicia of product ownership
US7199786B2 (en) * 2002-11-29 2007-04-03 Daniel Suraqui Reduced keyboards system using unistroke input and having automatic disambiguating and a recognition method using said system
US7382358B2 (en) * 2003-01-16 2008-06-03 Forword Input, Inc. System and method for continuous stroke word-based text input
SG135918A1 (en) * 2003-03-03 2007-10-29 Xrgomics Pte Ltd Unambiguous text input method for touch screens and reduced keyboard systems
WO2007052285A2 (en) * 2005-07-22 2007-05-10 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
US7556377B2 (en) * 2007-09-28 2009-07-07 International Business Machines Corporation System and method of detecting eye fixations using adaptive thresholds
US8456425B2 (en) * 2008-01-30 2013-06-04 International Business Machines Corporation Self-adapting keypad
WO2009105821A1 (en) * 2008-02-29 2009-09-03 Hamish Mclennan A method and system responsive to intentional movement of a device
CN101667092A (zh) * 2008-05-15 2010-03-10 杭州惠道科技有限公司 实时预测用户输入的人机界面
US20090309768A1 (en) * 2008-06-12 2009-12-17 Nokia Corporation Module, user interface, device and method for handling accidental key presses
US20100100849A1 (en) * 2008-10-22 2010-04-22 Dr Systems, Inc. User interface systems and methods
US8525784B2 (en) * 2009-02-20 2013-09-03 Seiko Epson Corporation Input device for use with a display system
WO2010110550A1 (en) * 2009-03-23 2010-09-30 Core Logic Inc. Apparatus and method for providing virtual keyboard
US8627233B2 (en) * 2009-03-27 2014-01-07 International Business Machines Corporation Radial menu with overshoot, fade away, and undo capabilities
WO2011025200A2 (ko) * 2009-08-23 2011-03-03 (주)티피다시아이 확장키를 이용한 정보입력시스템 및 정보입력방법
US20110063231A1 (en) * 2009-09-14 2011-03-17 Invotek, Inc. Method and Device for Data Input
JP2011081469A (ja) * 2009-10-05 2011-04-21 Hitachi Consumer Electronics Co Ltd 入力装置
US8884872B2 (en) * 2009-11-20 2014-11-11 Nuance Communications, Inc. Gesture-based repetition of key activations on a virtual keyboard
US8621380B2 (en) * 2010-01-06 2013-12-31 Apple Inc. Apparatus and method for conditionally enabling or disabling soft buttons
US20110289455A1 (en) * 2010-05-18 2011-11-24 Microsoft Corporation Gestures And Gesture Recognition For Manipulating A User-Interface
EP2573650A1 (en) * 2010-05-20 2013-03-27 Nec Corporation Portable information processing terminal
US9977496B2 (en) * 2010-07-23 2018-05-22 Telepatheye Inc. Eye-wearable device user interface and augmented reality method
WO2012037200A2 (en) * 2010-09-15 2012-03-22 Spetalnick Jeffrey R Methods of and systems for reducing keyboard data entry errors
EP2641146A4 (en) * 2010-11-20 2017-05-03 Nuance Communications, Inc. Performing actions on a computing device using a contextual keyboard
US20120162086A1 (en) * 2010-12-27 2012-06-28 Samsung Electronics Co., Ltd. Character input method and apparatus of terminal
US9519357B2 (en) * 2011-01-30 2016-12-13 Lg Electronics Inc. Image display apparatus and method for operating the same in 2D and 3D modes
US8704789B2 (en) * 2011-02-11 2014-04-22 Sony Corporation Information input apparatus
JP5799628B2 (ja) * 2011-07-15 2015-10-28 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US9122311B2 (en) * 2011-08-24 2015-09-01 Apple Inc. Visual feedback for tactile and non-tactile user interfaces
US8803825B2 (en) * 2011-09-27 2014-08-12 Carefusion 303, Inc. System and method for filtering touch screen inputs
WO2013049864A1 (en) * 2011-09-30 2013-04-04 Willem Morkel Van Der Westhuizen Method for human-computer interaction on a graphical user interface (gui)
US8866852B2 (en) * 2011-11-28 2014-10-21 Google Inc. Method and system for input detection
US9372593B2 (en) * 2011-11-29 2016-06-21 Apple Inc. Using a three-dimensional model to render a cursor
US10025381B2 (en) * 2012-01-04 2018-07-17 Tobii Ab System for gaze interaction
US9035878B1 (en) * 2012-02-29 2015-05-19 Google Inc. Input system
JP5610644B2 (ja) * 2012-04-27 2014-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 入力装置、入力支援方法及びプログラム
US8713464B2 (en) * 2012-04-30 2014-04-29 Dov Nir Aides System and method for text input with a multi-touch screen
JP2013250882A (ja) * 2012-06-01 2013-12-12 Sharp Corp 注目位置検出装置、注目位置検出方法、及び注目位置検出プログラム
US9098196B2 (en) * 2012-06-11 2015-08-04 Lenovo (Singapore) Pte. Ltd. Touch system inadvertent input elimination
JP2013065328A (ja) * 2012-11-13 2013-04-11 Konami Digital Entertainment Co Ltd 選択装置、選択方法、ならびに、プログラム
US20140152558A1 (en) * 2012-11-30 2014-06-05 Tom Salter Direct hologram manipulation using imu
CN102968215B (zh) * 2012-11-30 2016-03-30 广东威创视讯科技股份有限公司 一种触摸屏操作方法和装置
KR102047865B1 (ko) * 2013-01-04 2020-01-22 삼성전자주식회사 터치 키 입력 유효성을 판별하는 단말 장치와 이에 이용되는 터치 키 입력 유효성 판별 방법 및 장치
US9619020B2 (en) * 2013-03-01 2017-04-11 Tobii Ab Delay warp gaze interaction
US8959620B2 (en) * 2013-03-14 2015-02-17 Mitac International Corp. System and method for composing an authentication password associated with an electronic device
US8887103B1 (en) * 2013-04-22 2014-11-11 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US9239460B2 (en) * 2013-05-10 2016-01-19 Microsoft Technology Licensing, Llc Calibration of eye location
GB2514603B (en) * 2013-05-30 2020-09-23 Tobii Ab Gaze-controlled user interface with multimodal input
US9710130B2 (en) * 2013-06-12 2017-07-18 Microsoft Technology Licensing, Llc User focus controlled directional user input
US10025378B2 (en) * 2013-06-25 2018-07-17 Microsoft Technology Licensing, Llc Selecting user interface elements via position signal
US8988344B2 (en) * 2013-06-25 2015-03-24 Microsoft Technology Licensing, Llc User interface navigation
JP6253284B2 (ja) * 2013-07-09 2017-12-27 キヤノン株式会社 情報処理装置およびその制御方法、プログラム、記録媒体
US20150089431A1 (en) * 2013-09-24 2015-03-26 Xiaomi Inc. Method and terminal for displaying virtual keyboard and storage medium
US10203812B2 (en) * 2013-10-10 2019-02-12 Eyesight Mobile Technologies, LTD. Systems, devices, and methods for touch-free typing
KR102104136B1 (ko) * 2013-12-18 2020-05-29 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 제어 장치를 위한 증강 현실 오버레이
US9557825B2 (en) * 2014-06-10 2017-01-31 Maxwell Minoru Nakura-Fan Finger position sensing and display
KR20160001180A (ko) * 2014-06-26 2016-01-06 삼성전자주식회사 가상 키보드의 디스플레이를 위한 방법 및 그 전자 장치
US20170206004A1 (en) * 2014-07-15 2017-07-20 Amar Y Servir Input of characters of a symbol-based written language
CN104199606B (zh) * 2014-07-29 2018-10-09 北京搜狗科技发展有限公司 一种滑行输入的方法和装置
US10534532B2 (en) * 2014-08-08 2020-01-14 Samsung Electronics Co., Ltd. Electronic device and method for processing letter input in electronic device
WO2016085212A1 (ko) * 2014-11-24 2016-06-02 삼성전자 주식회사 디스플레이를 제어하는 전자 장치 및 방법
CN104506951B (zh) * 2014-12-08 2018-09-04 青岛海信电器股份有限公司 一种文字输入方法、装置及智能终端
US20160202903A1 (en) * 2015-01-12 2016-07-14 Howard Gutowitz Human-Computer Interface for Graph Navigation
US20170031461A1 (en) * 2015-06-03 2017-02-02 Infosys Limited Dynamic input device for providing an input and method thereof
US10409443B2 (en) * 2015-06-24 2019-09-10 Microsoft Technology Licensing, Llc Contextual cursor display based on hand tracking
US20170052701A1 (en) * 2015-08-19 2017-02-23 Vrideo Dynamic virtual keyboard graphical user interface
JP6684559B2 (ja) * 2015-09-16 2020-04-22 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置
TWI670625B (zh) * 2015-10-19 2019-09-01 日商鷗利硏究所股份有限公司 視線輸入裝置、視線輸入方法、及程式
US10223233B2 (en) * 2015-10-21 2019-03-05 International Business Machines Corporation Application specific interaction based replays
US9898192B1 (en) * 2015-11-30 2018-02-20 Ryan James Eveson Method for entering text using circular touch screen dials
CN105824409A (zh) * 2016-02-16 2016-08-03 乐视致新电子科技(天津)有限公司 虚拟现实的交互控制方法及装置
US20170293402A1 (en) * 2016-04-12 2017-10-12 Microsoft Technology Licensing, Llc Variable dwell time keyboard
JP6078684B1 (ja) * 2016-09-30 2017-02-08 グリー株式会社 プログラム、制御方法、および情報処理装置
US10627900B2 (en) * 2017-03-23 2020-04-21 Google Llc Eye-signal augmented control

Also Published As

Publication number Publication date
PH12019500939A1 (en) 2019-12-02
EP3533047A1 (en) 2019-09-04
SG11201903548QA (en) 2019-05-30
CN107015637B (zh) 2020-05-05
JP2020502628A (ja) 2020-01-23
EP3533047A4 (en) 2019-10-02
US20180121083A1 (en) 2018-05-03
TW201816549A (zh) 2018-05-01
KR20190068615A (ko) 2019-06-18
MY195449A (en) 2023-01-23
CN107015637A (zh) 2017-08-04
TWI705356B (zh) 2020-09-21
JP6896853B2 (ja) 2021-06-30
WO2018081615A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
KR102222084B1 (ko) 가상 현실 환경에서의 정보 입력을 위한 사용자 인터페이스
US11054912B2 (en) Three-dimensional graphical user interface for informational input in virtual reality environment
EP3533046B1 (en) Performing virtual reality input
US10698991B2 (en) Service control and user identity authentication based on virtual reality
KR102220084B1 (ko) 가상 현실을 사용한 사용자 신원 인증
US9110561B2 (en) Context sensitive actions
EP4332725A2 (en) Context sensitive actions in response to touch input
US20200133432A1 (en) Virtual touch screen
KR102318920B1 (ko) 전자 장치 및 전자 장치의 제어 방법
JP2007531113A (ja) 携帯装置の傾斜及び並進運動成分の識別
KR20230050857A (ko) 가상 현실 환경에서의 정보 입력을 위한 3차원 그래피컬 사용자 인터페이스

Legal Events

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