KR20230006857A - 가상 및 증강 현실의 개인화되고 커스터마이즈된 피트니스 훈련 활동 또는 게임, 방법들, 디바이스들, 및 시스템들 - Google Patents

가상 및 증강 현실의 개인화되고 커스터마이즈된 피트니스 훈련 활동 또는 게임, 방법들, 디바이스들, 및 시스템들 Download PDF

Info

Publication number
KR20230006857A
KR20230006857A KR1020227040745A KR20227040745A KR20230006857A KR 20230006857 A KR20230006857 A KR 20230006857A KR 1020227040745 A KR1020227040745 A KR 1020227040745A KR 20227040745 A KR20227040745 A KR 20227040745A KR 20230006857 A KR20230006857 A KR 20230006857A
Authority
KR
South Korea
Prior art keywords
person
virtual
user
headset
virtual world
Prior art date
Application number
KR1020227040745A
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 위딘 언리미티드, 인크.
Publication of KR20230006857A publication Critical patent/KR20230006857A/ko

Links

Images

Classifications

    • 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/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0062Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0075Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
    • 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/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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0062Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
    • A63B2024/0068Comparison to target or threshold, previous performance or not real time comparison to other individuals
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • A63B2071/0638Displaying moving images of recorded environment, e.g. virtual environment
    • A63B2071/0641Displaying moving images of recorded environment, e.g. virtual environment with a marker advancing in function of the exercise
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B2071/0658Position or arrangement of display
    • A63B2071/0661Position or arrangement of display arranged on the user
    • A63B2071/0666Position or arrangement of display arranged on the user worn on the head or face, e.g. combined with goggles or glasses
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2225/00Miscellaneous features of sport apparatus, devices or equipment
    • A63B2225/02Testing, calibrating or measuring of equipment
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0141Head-up displays characterised by optical features characterised by the informative content of the display
    • 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/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0181Adaptation to the pilot/driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

방법은 가상 세계에서 사람이 수행할 커스터마이즈된 액션 루틴을 결정하는 단계를 포함하며, 여기서, 사람은 가상 현실(VR) 헤드셋을 착용하고 있다. 루틴으로부터의 이벤트들과 연관된 객체들은 VR 헤드셋을 통해 가상 세계의 사람에게 제시되며, 가상 세계의 객체와 사람의 가상 상호작용의 양태들은 VR 헤드셋 상에 렌더링된다. 가상 객체들과 사람의 가상 상호작용들은 분석되어, 상기 루틴에 대한 하나 이상의 다음 이벤트를 실시간으로 결정하는 데 사용된다.

Description

가상 및 증강 현실의 개인화되고 커스터마이즈된 피트니스 훈련 활동 또는 게임, 방법들, 디바이스들, 및 시스템들
<저작권 고지>
이 특허 문서의 개시내용의 부분은 저작권 보호 대상인 자료를 포함한다. 저작권 소유자는, 특허상표청(Patent and Trademark Office) 특허 파일 또는 기록들에 나타난 바와 같이, 누군가에 의한 특허 문서 또는 특허 개시내용의 팩시밀리 복제에 반대하지 않지만, 그렇지 않은 경우 모든 저작권들을 보유한다.
<관련 출원들>
본 출원은 2020년 4월 22일에 출원된 미국 가특허 출원 번호 제63/014,046호의 이익을 주장하며, 그 전체 내용은 이로써 모든 목적들을 위해 참조로 본 명세서에 완전히 포함된다.
<발명의 분야>
이 발명은 일반적으로 가상 현실(virtual reality)(VR)에 관한 것으로, 더 구체적으로는, VR 환경에서 운동 및 훈련을 지원하는 방법들, 시스템들 및 디바이스들에 관한 것이다.
가상 및 증강 현실 디바이스들은 사용자가 가상 환경들을 보고 이와 상호작용하도록 허용한다. 사용자는 효과적으로 비-현실 환경에 스스로를 몰입시키고, 해당 환경과 상호작용할 수 있다. 예를 들어, 사용자는 가상 환경에서 상호작용을 할 수 있으며(예를 들어, 게임 플레이), 여기서, 사용자의 현실-세계 움직임들은 가상 세계의 액트(act)들로 변환된다. 따라서, 예를 들어, 사용자는 그들의 현실-세계 움직임들에 의해 가상 환경에서 테니스 플레이 또는 펜싱 등을 시뮬레이션할 수 있다.
사용자는 가상 현실(VR) 헤드셋 또는 증강 현실(augmented reality)(AR) 안경 등(일반적으로 헤드-마운트형 디스플레이(head-mounted display)(HMD)로 지칭됨)과 같은 웨어러블 VR/AR 디바이스로 그들의 가상 환경의 뷰를 볼 수 있다.
사람들은 규칙적인 운동을 해야 하며, 많은 사람들이 체육관들, 학교들 등에서 그룹 또는 개인 운동 프로그램들에 참여하고 있다. 이들 프로그램들에서, 사용자들은 대개 참가자들을 모니터링, 지시, 및 격려할 수 있는 사람(예를 들어, 코치)에 의해 운동 루틴들을 통해 지시받고 안내받는다. 좋은 코치나 인스트럭터는 사용자에 대한 루틴을 커스터마이즈할 수 있고, 해당 사용자의 수행에 기초하여 루틴을 수정할 수 있다. 그러나, 일부 상황들에서(예를 들어, 전염병에 대한 격리 동안), 사용자들은 이러한 프로그램들에 참여가능하지 않을 수 있거나 또는 참여할 의사가 없을 수 있다.
지시되고 안내되는 개인화된 운동 루틴들을 제공하는 것이 바람직하며, 이것이 이 발명의 목적이다.
이러한 루틴들을 사용하는 사용자들을 모니터링하고, 필요하다면 루틴들을 수정하는 것이 또한 바람직하며, 이것이 이 발명의 추가적인 목적이다.
본 발명은 특허청구범위뿐만 아니라 아래의 설명에 명시되어 있다. 바람직한 실시예들은 종속항들 및 다양한 실시예들의 설명에 구체적으로 명시되어 있다.
하나 이상의 컴퓨터의 시스템은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합이 시스템에 설치되어, 동작 중에, 시스템이 액션들을 수행하게 함으로써 특정 동작들 또는 액션들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은, 데이터 프로세싱 장치에 의해 실행될 때, 장치로 하여금, 액션들을 수행하게 하는 명령어들을 포함하는 것에 의해 특정 동작들 또는 액션들을 수행하도록 구성될 수 있다.
하나의 일반적인 양태는 컴퓨터로 구현된 방법을 포함하며, 이 컴퓨터로 구현된 방법은 (a) 현실-세계 환경에서 사용자 디바이스를 착용하는 사람에 대한 캘리브레이션 정보를 결정하는 단계를 포함하며, 여기서, 사용자 디바이스는 사람에 의해 착용되는 가상 현실(VR) 헤드셋을 포함할 수 있다. 방법은 또한 (b) 상기 캘리브레이션 정보에 기초하여, 사람에 대한 루틴을 결정하는 단계를 포함하며, 여기서, 루틴은 일련의 이벤트들 등을 포함할 수 있다. 방법은 또한 (c) VR 헤드셋을 통해 가상 세계의 사람에게 루틴으로부터의 이벤트와 연관된 객체(object)를 제시하는 단계를 포함한다. 방법은 또한 (d) VR 헤드셋 상에 가상 세계의 객체와 사람의 가상 상호작용의 양태들을 렌더링하는 단계를 포함한다. 방법은 또한 (e) 객체와의 가상 상호작용을 분석하는 단계를 포함한다. 방법은 또한 (f) 상기 분석하는 것에 기초하여, 실시간으로, 상기 루틴에 대한 하나 이상의 다음 이벤트를 결정하는 단계를 포함한다.
구현들 및/또는 실시예들은 다음 피처들 중 하나 이상을 단독으로 또는 조합(들)으로 포함할 수 있다:
·방법은 루틴이 완료되거나 또는 사람이 멈출 때까지 액트들 (c), (d), (e) 및 (f)를 반복하는 단계를 포함할 수 있다.
·적어도 하나의 VR 핸드헬드 컨트롤러가 사람에 의해 착용되거나 또는 유지되는(held) 방법.
·사람의 손들 중 적어도 하나를 직접 추적하는 단계를 포함하는 방법.
·캘리브레이션 정보가 키(height), 버티컬 리치(vertical reach), 좌측 런지(left lunge) 정보, 우측 런지(right lunge) 정보, 및 스쿼트(squat) 정보 중 하나 이상을 포함하는 방법.
·루틴이 시간-정렬된 일련의 이벤트들을 포함할 수 있는 방법.
·사용자 디바이스가 사람에 의해 착용되거나 또는 유지되는 2개의 VR 핸드헬드 컨트롤러를 포함할 수 있는 방법.
·객체와의 가상 상호작용을 분석하는 단계가 움직임 데이터를 결정하기 위해 사람의 움직임들을 인식 및 분석하는 단계; 및 움직임 데이터를 가상 세계에 매핑하는 단계를 포함할 수 있는 방법.
·방법이, 상기 분석하는 것에 기초하여, 사람에게 피드백을 제공하는 단계를 포함할 수 있는 방법.
·방법이 사람의 수행 레벨을 결정할 수 있는 단계를 포함할 수 있는 방법.
·수행 레벨이 객체와의 예상되거나 또는 원하는 상호작용에 대한 객체와 사람의 가상 상호작용에 기초하는 방법.
·상기 루틴에 대한 하나 이상의 다음 이벤트가 사람의 수행 레벨에 기초하여 결정되는 방법.
·수행 레벨이 또한 사람과 연관된 생리학적 데이터에 기초하는 방법.
·이벤트가 그와 연관된 대응하는 객체를 갖는 방법.
·객체가 타격(hit) 객체, 스쿼트 객체, 또는 런지 객체 중 하나를 포함할 수 있는 방법.
·타격 객체가 타격 방향을 포함할 수 있는 방법.
·타격 객체가 테일(tail)을 포함할 수 있는 방법.
·객체가 타격 객체를 포함할 수 있을 때, 객체와의 가상 상호작용을 분석하는 단계가 사람이 적어도 하나의 VR 핸드헬드 컨트롤러에 의해 제어되는 가상 배턴으로 타격 방향으로 객체를 가상으로 타격하였는지 및 사람이 가상 타격을 폴로 스루(follow through)하였는지를 결정하는 단계를 포함할 수 있는 방법.
·객체가 타격 객체를 포함할 수 있을 때, 객체와의 가상 상호작용을 분석하는 단계는 사람이 적어도 하나의 VR 핸드헬드 컨트롤러에 의해 제어되는 가상 배턴으로 타격 방향으로 객체를 가상으로 타격하였는지를 결정하는 단계를 포함할 수 있는 방법.
·스쿼트 객체가 대칭 삼각형을 포함할 수 있는 방법.
·런지 객체가 비대칭 삼각형을 포함할 수 있는 방법.
·객체가 타격 객체를 포함할 수 있을 때, 객체와의 가상 상호작용을 분석하는 단계가 사람이 적어도 하나의 VR 핸드헬드 컨트롤러에 의해 제어되는 가상 배턴으로 객체를 가상으로 타격하였는지를 결정하는 단계를 포함할 수 있는 방법.
·객체가 스쿼트 객체를 포함할 수 있을 때, 객체와의 가상 상호작용을 분석하는 단계가 가상 세계에서 스쿼트 객체가 사람을 지나가는 동안 사람에 의한 스쿼트의 양을 결정하는 단계를 포함할 수 있는 방법.
·객체가 런지 객체를 포함할 수 있을 때, 객체와의 가상 상호작용을 분석하는 단계가 가상 세계에서 런지 객체가 사람을 지나가는 동안 사람에 의한 런지의 양 및 방향을 결정하는 단계를 포함할 수 있는 방법.
·스쿼트 객체 또는 런지 객체가 홀드 형상(hold shape)을 포함할 수 있고, 객체와의 가상 상호작용을 분석하는 단계가 가상 세계에서 객체가 사람을 지나가는 동안 사람에 의한 스쿼트 또는 런지의 양 및 지속기간을 결정하는 단계를 포함할 수 있는 방법.
·객체가 그와 연관된 소스 위치를 갖고, 객체가 가상 세계의 소스 위치로부터 사람을 향해 나타나서 다가오도록 VR 헤드셋에 제시되는 방법.
·객체가 그와 연관된 속도를 갖고, 객체가 그 속도로 가상 세계의 사람을 향해 나타나서 다가오도록 VR 헤드셋에 제시되는 방법.
·루틴이 피트니스 또는 운동 루틴을 포함할 수 있는 방법.
다른 일반적인 양태는 (a) 현실-세계 환경에서 사용자 디바이스를 제공하는 단계를 포함하는 컴퓨터로 구현된 방법을 포함하며, 여기서, 사용자 디바이스는 사람에 의해 착용되는 가상 현실(VR) 헤드셋을 포함할 수 있고, VR 헤드셋은 VR 헤드셋을 통해 사람에게 장면들 및 객체들의 이미지들을 제공하여 가상 세계의 시각적 표현을 발생시킬 수 있다. 방법은 또한 (b) 사람이 VR 헤드셋을 사용하여 가상 세계에서 볼 시각적 루틴을 결정하는 단계를 포함하며, 시각적 루틴은 사람이 규정된 액션을 사용하여 상호작용할 수 있는 복수의 객체들을 포함할 수 있다. 방법은 또한 (c) 가상 세계의 사람에게 복수의 객체들 중 제1 객체를 제시하는 단계를 포함한다. 방법은 또한 (d) 사람이 가상 세계에서 제1 객체와 가상으로 상호작용하도록 허용하는 단계를 포함한다. 방법은 또한 (e) 사람과 제시된 제1 객체 사이의 가상 상호작용의 양태들을 측정하는 단계를 포함한다. 방법은 또한 (f) 가상 상호작용의 측정된 양태들을 분석하는 단계를 포함한다. 방법은 또한 (g) 분석하는 것에 기초하여, 실시간으로, 가상 세계의 사람에게 복수의 객체들 중 제2 객체를 제시하는 단계를 포함한다.
구현들 및/또는 실시예들은 다음 피처들 중 하나 이상을 단독으로 및/또는 조합(들)으로 포함할 수 있다:
컴퓨터로 구현된 방법은 시각적 루틴의 복수의 객체들 내의 다수의 객체들에 대해 액트들 (c)-(g)를 반복하는 단계를 포함할 수 있다. 복수의 객체들은 일련의 객체들을 포함할 수 있다. 사용자에 의한 규정된 액션은 제1 객체를 타격하기 위한 스윙 모션을 포함할 수 있으며, 여기서, 측정된 양태들은 제1 객체에 대한 스윙 모션의 방향을 포함한다. 사용자에 의한 규정된 액션은 제1 객체를 타격하기 위한 스윙 모션을 포함할 수 있으며, 여기서, 측정된 양태들은 제1 객체에 대한 스윙 모션의 속도를 포함한다. 사용자에 의한 규정된 액션은 제1 객체를 타격하기 위한 스윙 모션을 포함할 수 있으며, 여기서, 측정된 양태들은 제1 객체에 대한 스윙 모션의 길이를 포함한다. 제1 객체는 삼각형 형상을 포함할 수 있고, 사용자에 의한 규정된 액션은 스쿼트 모션을 포함할 수 있고, 측정된 양태들은 삼각형 형상의 정점에 대한 스쿼트 모션의 수직 변위를 포함한다. 제1 객체는 삼각형 형상을 포함할 수 있으며, 여기서, 사용자에 의한 규정된 액션은 런지 모션을 포함할 수 있고, 여기서, 측정된 양태들은 삼각형 형상의 정점의 위치에 대한 사용자의 머리의 상대적 포지션을 포함한다. 제1 객체는 제1 객체에 대한 스윙 액션의 방향을 사용자에게 표시하는 시각적 마커를 포함한다. 제1 객체는 가상 세계 내의 제1 포털(portal)에서 발생되며, 여기서, 제1 객체는 제1 객체에 대한 스윙 액션의 방향을 사용자에게 표시하는 시각적 마커를 포함한다.
다른 일반적인 양태는 (a) 현실-세계 환경에서 사용자 디바이스를 제공하는 단계를 포함하는 컴퓨터로 구현된을 포함하며, 여기서, 사용자 디바이스는 사람에 의해 착용되는 가상 현실(VR) 헤드셋을 포함할 수 있고, VR 헤드셋은 VR 헤드셋을 통해 사람에게 장면들 및 객체들의 이미지들을 제공하여 가상 세계의 시각적 표현을 발생시킬 수 있다. 방법은 또한 (b) 사람이 VR 헤드셋을 사용하여 가상 세계에서 볼 시각적 루틴을 결정하는 단계를 포함하고, 시각적 루틴은 복수의 삼각형들을 포함할 수 있고, 삼각형들 각각은 정의된 형상 및 정점을 갖는다. 방법은 또한 (c) 시각적 루틴 동안, 가상 세계에서 VR 헤드셋의 포지션을 결정하는 단계를 포함한다. 방법은 또한 (d) (c)에서 결정하는 것에 기초하여, 복수의 삼각형들 중 제1 삼각형을 가상 세계의 사람에게 제시하는 단계를 포함한다. 방법은 또한 (e) 사람이 가상 세계에서 제시된 제1 삼각형과 가상으로 상호작용하도록 허용하는 단계를 포함한다. 방법은 또한 (f) 제1 삼각형의 정점의 위치에 대해 VR 헤드셋의 포지션을 비교하는 단계를 포함한다. 방법은 또한 (g) (f)에서 비교한 결과들을 기록하는 단계를 포함한다.
구현들 및/또는 실시예들은 다음 피처들 중 하나 이상을 단독으로 및/또는 조합들로 포함할 수 있다.
(e)에서 허용하는 단계가 사람이, VR 헤드셋이 제시된 제1 삼각형의 정점의 위치 아래로 그리고 그에 인접하게 포지셔닝될 때까지 현실 세계에서 그들의 신체를 포지셔닝시킴으로써, 가상 세계에서 제시된 제1 삼각형과 가상으로 상호작용하도록 허용하는 단계를 포함할 수 있는 방법.
다른 일반적인 양태는 (a) 현실-세계 환경에서 사용자 디바이스를 제공하는 단계를 포함하는 컴퓨터로 구현된 방법을 포함하며, 여기서, 사용자 디바이스는 사람에 의해 착용되는 가상 현실(VR) 헤드셋을 포함할 수 있고, VR 헤드셋은 VR 헤드셋을 통해 사람에게 장면들 및 객체들의 이미지들을 제공하여 가상 세계의 시각적 표현을 발생시킬 수 있다. 방법은 또한 (b) 사람이 VR 헤드셋을 사용하여 가상 세계에서 볼 시각적 루틴을 결정하는 단계를 포함하고, 시각적 루틴은 일련의 객체들을 포함할 수 있고, 객체들은 제1 포털 및 제2 포털 중 하나로부터 발생되고, 객체들 각각은 가상 세계에서 사람을 향해 전진한다. 방법은 또한 (c) 가상 세계의 사람에게, 제1 포털로부터 제1 객체를 제시하는 단계를 포함한다. 방법은 또한 (d) 제1 객체에 대한 표시에 제2 포털의 위치를 제공하는 단계를 포함한다. 방법은 또한 (e) 가상 세계의 사람에게, 제2 포털로부터 제2 객체를 제시하는 단계를 포함한다.
구현들 및/또는 실시예들은 다음 피처들 중 하나 이상을 단독으로 및/또는 조합들로 포함할 수 있다: 컴퓨터로 구현된 방법은 시각적 루틴의 다수의 객체들에 대해 액트들 (c)-(e)를 반복하는 단계를 포함할 수 있다. (d)에서, 제1 객체에 대한 표시는 화살표 형태를 포함할 수 있다. (d)에서, 제1 객체에 대한 표시는 삼각형 형태를 포함할 수 있다.
설명된 기술들의 구현들은 하드웨어, 방법 또는 프로세스, 또는 컴퓨터 액세스-가능한 매체 상의 컴퓨터 소프트웨어를 포함할 수 있다.
위에서 설명된 이들 양태들의 다른 실시예들은 대응하는 컴퓨터 시스템들, 장치들, 및 하나 이상의 컴퓨터 저장 디바이스에 기록되는 컴퓨터 프로그램들을 포함하고, 이들 각각은 방법들의 액션들을 수행하도록 구성된다.
숙련된 독자는 위에서 또는 아래에서 설명되고/되거나 단계들 또는 액트들의 시퀀스로서 청구되고 설명되는 임의의 방법이 단계들 또는 액트들의 순서라는 의미에서 제한되지 않는다는 것을 이해할 것이다.
아래는 방법 또는 프로세스 실시예들의 리스트이다. 이들은 문자 "P"로 표시될 것이다. 이러한 실시예들이 참조될 때마다, 이것은 "P" 실시예들을 참조함으로써 행해질 것이다.
P1. 컴퓨터로 구현된 방법으로서,
(A) 현실-세계 환경에서 사용자 디바이스를 착용하는 사람에 대한 루틴을 결정하는 단계 - 사용자 디바이스는 사람에 의해 착용되는 가상 현실(virtual reality)(VR) 헤드셋을 포함함 -;
(B) VR 헤드셋을 통해 가상 세계의 사람에게 루틴으로부터의 이벤트와 연관된 객체(object)를 제시하는 단계; 및
(C) VR 헤드셋 상에 가상 세계의 객체와 사람의 가상 상호작용의 양태들을 렌더링하는 단계;
(D) 객체와의 가상 상호작용을 분석하는 단계; 및
(E) 분석하는 것에 기초하여, 실시간으로, 루틴에 대한 하나 이상의 다음 이벤트를 결정하는 단계를 포함하는, 방법.
P2. 이전 실시예(들) 중 임의의 실시예에 있어서, 루틴이 완료되거나 또는 사람이 멈출 때까지 액트(act)들 (B), (C), (D), 및 (E)를 반복하는 단계를 추가로 포함하는, 방법.
P3. 이전 실시예(들) 중 임의의 실시예에 있어서, (X) 현실-세계 환경에서 사용자 디바이스를 착용하는 사람에 대한 캘리브레이션 정보를 결정하는 단계를 추가로 포함하고, (A)에서 결정하는 단계는 캘리브레이션 정보에 기초하는, 방법.
P4. 실시예(들) P3에 있어서, 캘리브레이션 정보는 키(height), 버티컬 리치(vertical reach), 좌측 런지(left lunge) 정보, 우측 런지(right lunge) 정보, 및 스쿼트(squat) 정보 중 하나 이상을 포함하는, 방법.
P5. 이전 실시예(들) 중 임의의 실시예에 있어서, 루틴은 시간-정렬된 일련의 이벤트들을 포함하는, 방법.
P6. 이전 실시예(들) 중 임의의 실시예에 있어서, 사용자 디바이스는 사람에 의해 착용되거나 또는 유지되는(held) 적어도 하나의 VR 핸드헬드 컨트롤러를 포함하는, 방법.
P7. 실시예(들) P6에 있어서, 적어도 하나의 VR 핸드헬드 컨트롤러는 객체와 사람의 예상되는 가상 상호작용에 기초하여 가상 세계에서 렌더링되는, 방법.
P8. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체와의 가상 상호작용을 분석하는 단계는,
움직임 데이터를 결정하기 위해 사람의 움직임들을 인식 및 분석하는 단계; 및
움직임 데이터를 가상 세계에 매핑하는 단계를 포함하는, 방법.
P9. 이전 실시예(들) 중 임의의 실시예에 있어서, 분석하는 것에 기초하여, 사람에게 피드백을 제공하는 단계를 추가로 포함하는, 방법.
P10. 이전 실시예(들) 중 임의의 실시예에 있어서, 사람의 수행 레벨(performance level)을 결정하는 단계를 추가로 포함하는, 방법.
P11. 이전 실시예(들) 중 임의의 실시예에 있어서, 수행 레벨은 루틴에 대한 하나 이상의 다음 이벤트를 결정하기 위해 사용되는, 방법.
P12. 이전 실시예(들) 중 임의의 실시예에 있어서, 수행 레벨은 객체와의 예상되거나 또는 원하는 상호작용에 대한 객체와 사람의 가상 상호작용에 기초하는, 방법.
P13. 이전 실시예(들) 중 임의의 실시예에 있어서, 루틴에 대한 하나 이상의 다음 이벤트는 사람의 수행 레벨에 기초하여 결정되는, 방법.
P14. 이전 실시예(들) 중 임의의 실시예에 있어서, 이벤트가 그와 연관된 대응하는 객체를 갖는, 방법.
P15. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체는 타격(hit) 객체, 스쿼트 객체, 또는 런지 객체 중 하나를 포함하는, 방법.
P16. 이전 실시예(들) 중 임의의 실시예에 있어서, 타격 객체는 타격 방향을 포함하는, 방법.
P17. 이전 실시예(들) 중 임의의 실시예에 있어서, 타격 객체는 테일(tail)을 포함하는, 방법.
P18. 이전 실시예(들) 중 임의의 실시예에 있어서, 스쿼트 객체는 대칭 삼각형을 포함하는, 방법.
P19. 이전 실시예(들) 중 임의의 실시예에 있어서, 런지 객체는 비대칭 삼각형을 포함하는, 방법.
P20. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체는 그와 연관된 소스 위치를 갖고, 객체는 가상 세계의 소스 위치로부터 사람을 향해 나타나서 다가오도록 VR 헤드셋에 제시되는, 방법.
P21. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체는 그와 연관된 속도를 갖고, 객체는 그 속도로 가상 세계의 사람을 향해 나타나서 다가오도록 VR 헤드셋에 제시되는, 방법.
P22. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체가 타격 객체를 포함할 때, 객체와의 가상 상호작용을 분석하는 단계는, 객체가 사람에 의해 가상으로(virtually) 타격되었는지를 결정하는 단계를 포함하는, 방법.
P23. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체와의 가상 상호작용을 분석하는 단계는, 객체가 사람에 의해 착용되거나 또는 유지되는 적어도 하나의 VR 핸드헬드 컨트롤러에 의해 제어되는 가상 배턴으로 가상으로 타격되었는지를 결정하는 단계를 포함하는, 방법.
P24. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체가 타격 객체를 포함할 때, 객체와의 가상 상호작용을 분석하는 단계는, 객체가 사람에 의해 타격 방향으로 가상으로 타격되었는지를 결정하는 단계를 포함하는, 방법.
P25. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체가 타격 객체를 포함할 때, 객체와의 가상 상호작용을 분석하는 단계는, 객체가 사람에 의해 착용되거나 또는 유지되는 적어도 하나의 VR 핸드헬드 컨트롤러에 의해 제어되는 가상 배턴으로 타격 방향으로 가상으로 타격되었는지를 결정하는 단계를 포함하는, 방법.
P26. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체가 타격 객체를 포함할 때, 객체와의 가상 상호작용을 분석하는 단계는, 객체가 적어도 하나의 VR 핸드헬드 컨트롤러에 의해 제어되는 가상 배턴으로 타격 방향으로 가상으로 타격되었는지 및 사람이 가상 타격을 폴로 스루(follow through)하였는지를 결정하는 단계를 포함하는, 방법.
P27. 이전 실시예(들) 중 임의의 실시예에 있어서, 수행 레벨은 또한 사람과 연관된 생리학적 데이터에 기초하는, 방법.
P28. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체가 스쿼트 객체를 포함할 때, 객체와의 가상 상호작용을 분석하는 단계는 가상 세계에서 스쿼트 객체가 사람을 지나가는 동안 사람에 의한 스쿼트의 양을 결정하는 단계를 포함하는, 방법.
P29. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체가 런지 객체를 포함할 때, 객체와의 가상 상호작용을 분석하는 단계는 가상 세계에서 런지 객체가 사람을 지나가는 동안 사람에 의한 런지 양 및 방향을 결정하는 단계를 포함하는, 방법.
P30. 이전 실시예(들) 중 임의의 실시예에 있어서, 런지 객체는 삼각형을 포함하고, 런지의 양 및/또는 방향을 결정하는 단계는 삼각형의 정점에 대한 가상 세계에서의 사람의 머리의 포지션에 기초하는, 방법.
P31. 이전 실시예(들) 중 임의의 실시예에 있어서, 스쿼트 객체 또는 런지 객체는 홀드 형상(hold shape)을 포함하고, 객체와의 가상 상호작용을 분석하는 단계는 가상 세계에서 객체가 사람을 지나가는 동안 사람에 의한 스쿼트 또는 런지의 양 및 지속기간을 결정하는 단계를 포함하는, 방법.
P32. 이전 실시예(들) 중 임의의 실시예에 있어서, 객체는 가상 세계의 제1 위치로부터 다가오는 것으로서 가상 세계에 제시되고, 객체는 후속 객체가 제시될 가상 세계의 제2 위치의 표시를 포함하는, 방법.
P33. 실시예(들) P32에 있어서, 제2 위치의 표시는 화살표를 포함하는, 방법.
P34. 이전 실시예(들) 중 임의의 실시예에 있어서, 루틴은 피트니스 또는 운동 루틴을 포함하는, 방법.
P35. 컴퓨터로 구현된 방법으로서,
(A) 현실-세계 환경에서 사용자 디바이스를 제공하는 단계 - 사용자 디바이스는 사람에 의해 착용되는 가상 현실(VR) 헤드셋을 포함하고, VR 헤드셋은 VR 헤드셋을 통해 사람에게 장면들 및 객체들의 이미지들을 제공하여 가상 세계의 시각적 표현을 발생시킬 수 있음 -;
(B) 사람이 VR 헤드셋을 사용하여 가상 세계에서 볼 시각적 루틴을 결정하는 단계 - 시각적 루틴은 사람이 규정된 액션을 사용하여 상호작용할 수 있는 복수의 객체들을 포함함 -;
(C) 가상 세계의 사람에게 복수의 객체들 중 제1 객체를 제시하는 단계;
(D) 사람이 가상 세계에서 제1 객체와 가상으로 상호작용하도록 허용하는 단계;
(E) 사람과 제시된 제1 객체 사이의 가상 상호작용의 양태들을 측정하는 단계;
(F) 가상 상호작용의 측정된 양태들을 분석하는 단계; 및
(G) 분석하는 것에 기초하여, 실시간으로, 가상 세계의 사람에게 복수의 객체들 중 제2 객체를 제시하는 단계를 포함하는, 컴퓨터로 구현된 방법.
P36. 실시예 P35에 있어서, 시각적 루틴의 복수의 객체들 내의 다수의 객체들에 대해 액트들 (C)-(G)를 반복하는 단계를 추가로 포함하는, 컴퓨터로 구현된 방법.
P37. 실시예(들) P35-P36 중 임의의 실시예에 있어서, 복수의 객체들은 일련의 객체들을 포함하는, 컴퓨터로 구현된 방법.
P38. 실시예(들) P35-P37 중 임의의 실시예에 있어서, 사용자에 의한 규정된 액션은 제1 객체를 타격하기 위한 스윙 모션을 포함하고, 측정된 양태들은 제1 객체에 대한 스윙 모션의 방향을 포함하는, 컴퓨터로 구현된 방법.
P39. 실시예(들) P35-P38 중 임의의 실시예에 있어서, 사용자에 의한 규정된 액션은 제1 객체를 타격하기 위한 스윙 모션을 포함하고, 측정된 양태들은 제1 객체에 대한 스윙 모션의 속도를 포함하는, 컴퓨터로 구현된 방법.
P40. 실시예(들) P35-P40 중 임의의 실시예에 있어서, 사용자에 의한 규정된 액션은 제1 객체를 타격하기 위한 스윙 모션을 포함하고, 측정된 양태들은 제1 객체에 대한 스윙 모션의 길이를 포함하는, 컴퓨터로 구현된 방법.
P41. 실시예(들) P35-P40 중 임의의 실시예에 있어서, 제1 객체는 삼각형 형상을 포함하고, 사용자에 의한 규정된 액션은 스쿼트 모션을 포함하고, 측정된 양태들은 삼각형 형상의 정점에 대한 스쿼트 모션의 수직 변위를 포함하는, 컴퓨터로 구현된 방법.
P42. 실시예(들) P35-P41 중 임의의 실시예에 있어서, 제1 객체는 삼각형 형상을 포함하고, 사용자에 의한 규정된 액션은 런지 모션을 포함하고, 측정된 양태들은 삼각형 형상의 정점의 위치에 대한 사용자의 머리의 상대적 포지션을 포함하는, 컴퓨터로 구현된 방법.
P43. 실시예(들) P35-P42 중 임의의 실시예에 있어서, 제1 객체는 제1 객체에 대한 스윙 액션의 방향을 사용자에게 표시하는 시각적 마커를 포함하는, 컴퓨터로 구현된 방법.
P44. 실시예(들) P35-P43 중 임의의 실시예에 있어서, 제1 객체는 가상 세계 내의 제1 포털(portal)에서 발생되고, 제1 객체는 제1 객체에 대한 스윙 액션의 방향을 사용자에게 표시하는 시각적 마커를 포함하는, 컴퓨터로 구현된 방법.
P45. 컴퓨터로 구현된 방법으로서,
(A) 현실-세계 환경에서 사용자 디바이스를 제공하는 단계 - 사용자 디바이스는 사람에 의해 착용되는 가상 현실(VR) 헤드셋을 포함하고, VR 헤드셋은 VR 헤드셋을 통해 사람에게 장면들 및 객체들의 이미지들을 제공하여 가상 세계의 시각적 표현을 발생시킬 수 있음 -;
(B) 사람이 VR 헤드셋을 사용하여 가상 세계에서 볼 시각적 루틴을 결정하는 단계 - 시각적 루틴은 복수의 삼각형들을 포함하고, 삼각형들 각각은 정의된 형상 및 정점을 가짐 -;
(C) 시각적 루틴 동안, 가상 세계에서 VR 헤드셋의 포지션을 결정하는 단계;
(D) (C)에서 결정하는 것에 기초하여, 복수의 삼각형들 중 제1 삼각형을 가상 세계의 사람에게 제시하는 단계;
(E) 사람이 가상 세계에서 제시된 제1 삼각형과 가상으로 상호작용하도록 허용하는 단계;
(F) 제1 삼각형의 정점의 위치에 대해 VR 헤드셋의 포지션을 비교하는 단계; 및
(G) (F)에서 비교한 결과들을 기록하는 단계를 포함하는, 방법.
P46. 실시예(들) P45에 있어서, (E)에서 허용하는 단계는 사람이, VR 헤드셋이 제시된 제1 삼각형의 정점의 위치 아래로 그리고 그에 인접하게 포지셔닝될 때까지 현실 세계에서 그들의 신체를 포지셔닝시킴으로써, 가상 세계에서 제시된 제1 삼각형과 가상으로 상호작용하도록 허용하는 단계를 포함하는, 방법.
P47. 컴퓨터로 구현된 방법으로서,
(A) 현실-세계 환경에서 사용자 디바이스를 제공하는 단계 - 사용자 디바이스는 사람에 의해 착용되는 가상 현실(VR) 헤드셋을 포함하고, VR 헤드셋은 VR 헤드셋을 통해 사람에게 장면들 및 객체들의 이미지들을 제공하여 가상 세계의 시각적 표현을 발생시킬 수 있음 -;
(B) 사람이 VR 헤드셋을 사용하여 가상 세계에서 볼 시각적 루틴을 결정하는 단계 - 시각적 루틴은 일련의 객체들을 포함하고, 객체들은 제1 포털 및 제2 포털 중 하나로부터 발생되고, 객체들 각각은 가상 세계의 사람을 향해 전진함 -;
(C) 가상 세계의 사람에게, 제1 포털로부터 제1 객체를 제시하는 단계;
(D) 제1 객체에 대한 표시에 제2 포털의 위치를 제공하는 단계; 및
(E) 가상 세계의 사람에게, 제2 포털로부터 제2 객체를 제시하는 단계를 포함하는, 컴퓨터로 구현된 방법.
P48. 실시예 P47에 있어서, 시각적 루틴의 다수의 객체들에 대해 액트들 (C), (D), 및 (E)를 반복하는 단계를 추가로 포함하는, 컴퓨터로 구현된 방법.
P49. 실시예(들) P47-P48 중 임의의 실시예에 있어서, (D)에서, 제1 객체에 대한 표시는 화살표 형상을 포함하는, 컴퓨터로 구현된 방법.
P50. 실시예(들) P47-P49 중 임의의 실시예에 있어서, (D)에서, 제1 객체에 대한 표시는 삼각형 형상을 포함하는, 컴퓨터로 구현된 방법.
아래는 디바이스 실시예들이며, 문자 "D"로 표시된다.
D51. 디바이스로서,
(a) 메모리 및 적어도 하나의 프로세서를 포함하는 하드웨어, 및
(b) 하드웨어에서 실행되는(running) 서비스 - 서비스는 이전 방법 실시예들 P1-P50 중 임의의 실시예의 방법을 수행하도록 구성됨 -를 포함하는, 디바이스.
아래는 제조물 실시예이며, 문자 "M"으로 표시된다.
M52. 컴퓨터 판독가능 명령어들이 저장된 비일시적 컴퓨터 판독가능 매체들을 포함하는 제조물로서, 컴퓨터 판독가능 명령어들은 컴퓨터로 구현된 방법을 구현하기 위한 명령어들을 포함하고, 방법은 메모리 및 적어도 하나의 프로세서를 포함하는 하드웨어를 포함하고 하드웨어에서 서비스를 실행하는 디바이스에서 동작가능하고, 방법은 이전 방법 실시예들 P1-P50 중 임의의 실시예의 방법을 포함하는, 제조물.
아래는 컴퓨터 판독가능 기록 매체 실시예이며, 문자 "R"로 표시된다.
R53. 실행될 때, 하나 이상의 프로세서로 하여금, 적어도, 이전 방법 실시예들 P1-P50 중 임의의 실시예의 방법을 수행하게 하는 하나 이상의 프로그램을 저장한 비일시적 컴퓨터 판독가능 기록 매체.
상기 피처들은, 본 발명의 추가 세부사항들과 함께, 본 명세서의 예들에서 추가로 설명되며, 이들은 본 발명을 추가로 예시하기 위해 의도되지만, 임의의 방식으로 그 범위를 제한하는 것으로 의도되지 않는다.
본 발명의 목적들, 피처들, 및 특성들뿐만 아니라, 동작 방법들 및 구조의 관련된 요소들의 기능들, 및 일부들의 조합 및 제조 경제성들은 첨부된 도면들을 참조하여 다음 설명 및 첨부된 청구범위를 고려하여 더 명백해질 것이며, 이들 모두는 이 명세서의 일부를 형성한다.
도 1은 그 예시적인 실시예들에 따른 가상 현실의 개인화되고 커스터마이즈된 훈련 시스템의 양태들을 도시한다.
도 2는 그 예시적인 실시예들에 따른 훈련 시스템의 양태들을 도시한다.
도 3은 그 예시적인 실시예들에 따른 텔레메트리 데이터(telemetry data)의 매핑 및 변환의 양태들을 도시한다.
도 4a 및 도 4b는 그 예시적인 실시예들에 따른 훈련 시스템을 위한 예시적인 데이터 구조들의 양태들을 도시한다.
도 5a 내지 도 5n은 그 예시적인 실시예들에 따른 훈련 시스템에 대한 예시적인 객체들을 도시한다.
도 6a 내지 도 6h는 그 발명의 예시적인 실시예들에 따른 가상 현실의 개인화되고 커스터마이즈된 훈련 시스템의 양태들을 도시한다.
도 7a 내지 도 7f는 그 예시적인 양태들의 흐름도들이다.
도 8a 내지 도 8d, 도 9a 내지 도 9f, 도 10a 내지 도 10h, 도 11a 내지 도 11d, 도 12a 내지 도 12c, 도 13a 내지 도 13c, 도 14a 내지 도 14c, 및 도 15a 및 도 15b는 그 구현의 양태들의 스크린샷들 또는 이미지들이다.
도 16은 컴퓨터 시스템의 양태들을 도시하는 논리 블록도이다.
용어 풀이 및 약어들
본 명세서에서 사용되는 바와 같이, 달리 사용되지 않는 한, 다음 용어들 또는 약어들은 다음 의미들을 갖는다:
"AR"은 증강 현실(augmented reality)을 의미한다.
"VR"은 가상 현실(virtual reality)을 의미한다.
"메커니즘(mechanism)"은 임의의 디바이스(들), 프로세스(들), 루틴(들), 서비스(들), 또는 이들의 조합을 지칭한다. 메커니즘은 하드웨어, 소프트웨어, 펌웨어로, 특수 목적 디바이스를 사용하여, 또는 이들의 임의의 조합으로 구현될 수 있다. 메커니즘은 단일 디바이스에 통합될 수도 있고, 또는 다수의 디바이스들에 걸쳐 분산될 수도 있다. 메커니즘의 다양한 컴포넌트들은 코-로케이팅(co-locate)될 수도 있고 또는 분산될 수도 있다. 메커니즘은 다른 메커니즘들로부터 형성될 수 있다. 일반적으로, 본 명세서에서 사용되는 바와 같이, 용어 "메커니즘"은 따라서 용어 디바이스(들) 및/또는 프로세스(들) 및/또는 서비스(들)에 대한 약칭으로 간주될 수 있다.
설명
다음에서, 본 발명의 예시적인 실시예들이 도면들을 참조하여 설명될 것이다. 이들 예들은 본 발명의 추가 이해를 제공하기 위해, 그 범위를 제한하지 않고 제공된다.
다음 설명에서, 일련의 피처들 및/또는 단계들이 설명된다. 통상의 기술자는, 문맥에 의해 요구되지 않는 한, 피처들 및 단계들의 순서가 결과적인 구성 및 그 효과에 대해 중요하지 않다는 것을 이해할 것이다. 또한, 피처들 및 단계들의 순서에 관계없이, 단계들 사이의 시간 지연의 존재 또는 부재가 설명된 단계들의 일부 또는 전부 사이에 존재할 수 있음이 통상의 기술자에게 명백할 것이다.
발명의 상기 실시예들에 대한 변형들이 발명의 범위 내에 여전히 있으면서 이루어질 수 있음이 이해될 것이다. 달리 언급되지 않는 한, 동일하거나, 동등하거나, 또는 유사한 목적을 제공하는 대안적인 피처들이 명세서에 개시되는 피처들을 대체할 수 있다. 따라서, 달리 언급되지 않는 한, 개시되는 각각의 피처는 일반적인 일련의 동등하거나 또는 유사한 피처들의 일 예를 표현한다.
가상 및 증강 현실의 개인화되고 커스터마이즈된 피트니스 훈련 시스템을 위한 실시간 가상 현실(VR) 환경(100)을 지원하는 시스템이 도 1을 참조하여 이제 설명되며, 여기서, 현실-세계 환경 또는 공간(112)에 있는 사람(VR 사용자)(102)은 VR 디바이스 또는 헤드셋(104)을 사용하여 가상 환경을 보고 가상 환경과/에서 상호작용한다. VR 헤드셋(104)은, 예를 들어, 액세스 포인트(108)(예를 들어, Wi-Fi 액세스 포인트 등)를 통해 훈련 시스템(106)에 (유선 및/또는 무선으로) 연결될 수 있다. 사용자의 활동이 많은 움직임을 포함할 수 있기 때문에, VR 헤드셋(104)은 바람직하게는 액세스 포인트(108)에 무선으로 연결된다. 일부 경우들에서, VR 헤드셋(104)은 사용자 디바이스 또는 컴퓨터 시스템(도시되지 않음)을 통해 훈련 시스템(106)에 연결될 수 있다. 별도의 컴포넌트로서 도시되어 있지만, 일부 실시예들에서, 액세스 포인트(108)는 VR 헤드셋(104)에 통합될 수 있다.
VR 헤드셋(104)의 센서들(도면들에 도시되지 않음) 및/또는 사용자 환경의 다른 센서들(110)은 VR 사용자의 실제 움직임들(예를 들어, 머리 움직임들 등) 및 다른 정보를 추적할 수 있다. VR 헤드셋(104)은 바람직하게는 외부 센서들 없이 사용자 추적을 제공한다. 현재 바람직한 구현에서, VR 헤드셋(104)은 Facebook Technologies, LLC에 의해 제조된 Oculus Quest 헤드셋이다.
VR 헤드셋(104)으로부터의 추적 또는 텔레메트리 데이터는 훈련 시스템(106)에 (데이터(118)의 전부 또는 일부로서) 실시간으로 제공될 수 있다.
유사하게, 센서(들)(110)로부터의 데이터 또한 (예를 들어, 액세스 포인트(108)를 통해) 훈련 시스템(106)에 제공될 수 있다.
사용자(102)는 또한 하나 또는 2개의 핸드헬드 디바이스(114-1, 114-2)(집합적으로 핸드헬드 디바이스(들) 및/또는 컨트롤러(들)(114))(예를 들어, Oculus Touch Controller들)를 가질 수 있다. 핸드헬드 컨트롤러(들)(114)로부터의 손 움직임 정보 및/또는 제어 정보는 (예를 들어, 액세스 포인트(108)를 통해) 훈련 시스템(106)에 데이터(118)와 함께 제공될 수 있다.
일부 실시예들에서, 핸드헬드 컨트롤러(들)(114)로부터의 손 움직임 정보 및/또는 제어 정보는 VR 헤드셋(104) 또는 다른 컴퓨팅 디바이스에 제공될 수 있고, 이들은 그 다음에 훈련 시스템(106)에 해당 정보를 제공할 수 있다. 이러한 경우들에서, 핸드헬드 컨트롤러(들)(114)는 VR 헤드셋(104)과 무선으로 통신할 수 있다.
일부 실시예들에서, 사용자의 손 움직임 정보의 적어도 일부는 사용자의 손들 중 하나 또는 둘 모두를 추적함으로써 결정될 수 있다(예를 들어, 사용자가 그들의 손들 중 하나 또는 둘 모두 위에/내에 핸드헬드 컨트롤러(114)를 갖지 않는 경우, 컨트롤러가 없는(controller-free) 손(들)은, 예를 들어, 3D 추적을 사용하여 직접 추적될 수 있다).
여기에서는 하나 또는 2개의 핸드헬드 컨트롤러(114)를 사용하는 것으로서 설명되었지만, 본 기술분야의 통상의 기술자들은, 이 설명을 읽으면, 사용자가 핸드헬드 컨트롤러들을 갖지 않을 수도 있거나 또는 하나만 가질 수도 있음을 이해할 것이다. 또한, 사용자가 그들의 손 내에/위에 핸드헬드 컨트롤러를 가질 때에도, 해당 손은 또한(또는 대신에) 직접 추적될 수 있다.
VR 헤드셋(104)은 해당 VR 사용자의 가상 또는 증강 환경에 대응하는 뷰(124)를 VR 사용자(102)에게 제시한다.
바람직하게는, VR 사용자의 가상 환경의 뷰(124)는 VR 사용자(102)의 위치, 관점(perspective) 및 방위(orientation)로부터 본 것처럼 보여진다. VR 사용자의 뷰(124)는 VR 뷰로서 또는 증강 뷰(예를 들어, AR 뷰)로서 제공될 수 있다.
일부 실시예들에서, 사용자(102)는 VR 사용자의 가상 환경에서 운동 루틴 또는 게임 등과 같은 활동을 수행할 수 있다. 훈련 시스템(106)은 VR 헤드셋(104)에 운동 루틴 정보를 제공할 수 있다. 현재의 바람직한 실시예들에서, 활동 시스템(126)은 (예를 들어, 네트워크(119) 및 액세스 포인트(108)를 통해) 헤드셋에 소위 말하는 비트 맵(beat map) 및/또는 다른 정보(128)를 제공할 수 있다.
사용자가 운동 루틴과 같은 활동을 진행함에 따라, VR 헤드셋(104)은 사용자의 왼손 및 오른손에 대한 컨트롤러들(114) 및 VR 헤드셋(104)의 포지션 및 방위에 대한 정보를 저장할 수 있다.
본 구현에서, 사용자의 활동(및 비트맵)은 섹션들(예를 들어, 20초 섹션들)로 분할되고, 정보는 섹션 내에서 높은 주파수(예를 들어, 72Hz)로 수집되어 저장된다. VR 헤드셋(104)은 또한 동일하거나 또는 유사한 주파수로 타깃들, 포털들 및 시간적으로 변하는 모든 객체들의 위치, 이들이 공간에 있는 위치, 어떤 것이 타격되었는지 등에 대한 정보를 저장할 수 있다. 이 수집된 정보를 통해 피트니스 시스템은 해당 섹션의 공간에서 제시간에 언제든지 장면을 평가 및/또는 재현하도록 허용한다.
수집된 정보는, 그 후 사용자의 활동/운동이 계속됨에 따라, 데이터(118)의 전부 또는 일부로서, 바람직하게는 실시간으로, 훈련 시스템(106)에 전송될 수 있고, 이들 섹션들 중 몇몇은 활동/운동의 코스 동안 훈련 시스템(106)에 전송될 수 있다. 훈련 시스템(106)에 제공되는 데이터(118)는 바람직하게는 비트맵 정보를 포함한다.
훈련 시스템(106)은 백엔드/클라우드 프레임워크(120)의 일부일 수 있다.
훈련 시스템
아래에서 더 상세하게 설명되는 바와 같이, 일부 구현들/실시예들에서, 피트니스 훈련 시스템은 사용자에게 개별화되고 커스터마이즈된 VR 훈련 루틴을 제공하고, 이들이 (VR에서) 루틴을 수행할 때 사용자를 추적하고, 필요한 경우 루틴을 수정하고, 사용자에게 안내를 제공한다. 루틴은 사용자가 다양한 객체들과 (가상으로) 상호작용하는 것을 포함할 수 있고, 시스템은 루틴에 대한 가능한 수정들을 결정하기 위해 사용자의 상호작용들 및 움직임들을 모니터링하고 평가할 수 있다. 시스템은 또한 생리학적 데이터(예를 들어, 심박수(heartrate) 데이터)를 사용하여 루틴 동안 사용자를 평가할 수 있다.
도 2를 참조하면, 훈련 시스템(106)은 프로세서(들)(202), 메모리(204), 통신 메커니즘들(206) 등을 갖는 컴퓨터 시스템(아래에서 논의됨), 예를 들어, 하나 이상의 서버이다. 하나 이상의 비디오 생성 프로그램(210)이 훈련 시스템(106)에서 실행된다. 훈련 시스템(106)은 메모리(204)의 하나 이상의 데이터 구조(224) 및/또는 하나 이상의 데이터베이스(도시되지 않음)에 데이터를 저장하고 이로부터 데이터를 리트리브(retrieve)할 수 있다. 데이터베이스들은 시스템의 사용자들에 대한 정보를 저장하고 유지하기 위한 사용자 데이터베이스를 포함할 수 있다.
도 1에는 한 명의 사용자(102)만이 도시되어 있지만, 비디오 훈련 시스템(106)은 동시에 다수의 사용자들과 상호작용할 수 있음이 이해되어야 한다. 또한, 한 명의 사용자와 훈련 시스템(106)의 동작에 대한 다음 설명은 다수의 사용자들에게 확장됨 또한 이해되어야 한다.
훈련 시스템(106)의 훈련 프로그램들(210)은 데이터 수집 메커니즘(들)(212), 움직임/추적 메커니즘(들)(214), 매핑 및 변환 메커니즘(들)(216), 캘리브레이션 메커니즘(들)(218), 루틴 발생 메커니즘(들)(220), 및 루틴 평가 메커니즘(들)(222)을 포함할 수 있다.
데이터 구조들(224)은 루틴 데이터 구조(226) 및 사용자 데이터 구조(228)를 포함할 수 있다.
동작시, 데이터 수집 메커니즘(들)(212)은 사용자(예를 들어, 도 1의 사용자(102))로부터 데이터(118)(도 1)를 획득한다. 데이터(118)는 사용자 움직임/텔레메트리 데이터, 타깃들의 위치에 대한 정보, 시간적으로 변하는 포털들 및 객체들, 이들이 공간에 있는 위치, 어떤 것이 타격되었는지, 이들이 타격된 위치 및 강도 등 중 적어도 일부를 포함할 수 있다.
움직임/추적 메커니즘(들)(214)은, 해당 데이터로부터, 사용자의 현실-세계 공간(112)에서 사용자의 실제 움직임들을 결정하거나 또는 근사화한다. 사용자의 움직임들은 사용자의 현실-세계 공간(112)의 3-D 좌표계(116)에 대해 주어질 수 있다. 데이터(118)가 사용자의 핸드헬드 컨트롤러(들)(114)로부터의 데이터를 포함하는 경우, 움직임/추적 메커니즘(들)(214)은 또한 사용자의 현실-세계 공간(112)에서 사용자의 손들 중 하나 또는 둘 모두의 움직임을 결정할 수 있다. 일부 경우들에서, 사용자의 헤드셋(104)은 현실-세계 공간(112)에서 사용자의 실제 3-D 좌표들을 제공할 수 있다.
움직임/추적 메커니즘(들)(214)은 머신 학습(machine learning)(ML) 또는 사용자 움직임의 다른 모델들에 기초하여 사용자 움직임의 양태들을 결정하거나 또는 외삽(extrapolate)할 수 있다. 예를 들어, 머신 학습 메커니즘은 특정 움직임들 및/또는 움직임들의 유형들을 인식하도록 훈련될 수 있고, 그 후 사용자(102)에 의해 제공된 데이터(118)에 기초하여 해당 움직임들을 인식하는 데 사용될 수 있다.
도 2 및 도 3을 참조하면, 매핑 및 변환 메커니즘(들)(216)(도 2)은 (움직임/추적 메커니즘(들)(214)에 의해 결정된 바와 같이) 움직임/추적 데이터를 취하고, 해당 데이터를 사용자의 현실-세계 공간(112)의 현실-세계 좌표계(116)로부터 가상 세계(312)의 가상-세계 좌표계(314)의 대응하는 3-D 좌표들로 변환할 수 있다.
본 기술분야의 통상의 기술자들은, 이 설명을 읽으면, 매핑 및 변환 메커니즘(들)(216)이 움직임/추적 메커니즘(들)(214) 이전에 또는 이와 함께 동작할 수 있음을 이해할 것이다. 본 명세서에서 설명되는 모든 메커니즘들에서와 같이, 논리 경계들은 설명을 돕기 위해 사용되며, 그 범위를 제한하는 것으로 의도되지 않는다.
이 설명을 위해, 현실-세계 공간(112)에서 사용자의 움직임 데이터는 사용자의 현실-세계 움직임 데이터로서 지칭되고, 가상-세계 공간(312)에서 사용자의 움직임 데이터는 사용자의 가상 움직임 데이터로서 지칭된다.
일부 실시예들에서, 훈련 시스템(106)은 또한 다른 사용자 데이터(예를 들어, 생리학적 데이터 등)를 수신하거나 또는 가질 수 있고, 생리학적 데이터의 일부(예를 들어, 심박수, 온도, 땀 레벨, 호흡수(breathing rate) 등)를 사용하여 가상 공간에서 사용자의 움직임들 및 액션들을 결정하거나 또는 평가할 수 있다. 이러한 생리학적 데이터는 사용자에 의해 착용되고/되거나 사용자를 모니터링하는 하나 이상의 센서(121)에 의해 획득될 수 있다. 센서들(121)은 사용자에 의해 착용되는 시계 등과 같은 다른 디바이스에 통합될 수 있다. 예를 들어, 센서들(121)은 사용자에 의해 착용되는 Apple Watch에 포함된 심박수 모니터를 포함할 수 있다.
훈련 시스템(106)은 (예를 들어, 동일한 방에) 사용자와 함께 코-로케이팅될 수 있거나, 또는 완전히 또는 전체적으로 다른 곳에 위치될 수 있다. 예를 들어, 훈련 시스템(106)은 사용자와 구별되는 위치에 위치될 수 있고, 이 경우, 사용자의 데이터(118)는 네트워크(119)(예를 들어, 인터넷)를 통해 훈련 시스템(106)에 전송될 수 있다. 바람직한 경우들에서, 사용자의 데이터(118)는 데이터가 발생될 때(즉, 실시간으로) 훈련 시스템(106)에 제공되지만, 일부 경우들에서, 사용자의 데이터(118)는 사용자의 위치에서 수집되고 저장된 다음, 훈련 시스템(106)에 전송될 수 있다. 훈련 시스템(106)은, 사용자와 떨어져 위치되고 네트워크를 통해 액세스될 때, 클라우드-기반 시스템으로 간주될 수 있다.
루틴들
위에서 언급된 바와 같이, 피트니스 훈련 시스템은 사용자에게 개별화되고 커스터마이즈된 VR 훈련 루틴을 제공할 수 있다. 사용자의 루틴은 훈련 시스템(106)의 메모리(204)에 있는 루틴 데이터 구조(226)에 저장될 수 있다.
도 4a를 참조하면, 루틴(400)은 시간-정렬된 일련의 이벤트들(402)을 포함할 수 있다. 이벤트(402)는 소스 위치(404) 및 객체(406)를 포함할 수 있다.
객체(406)는 형상(408) 및 속성들(410)을 포함할 수 있다. 일부 속성들은, 아래에서 설명되는 바와 같이, 형상-특정적일 수 있다.
형상(408)은 타격 형상(412)(예를 들어, 구(orb) 또는 원 등) 또는 스쿼트 형상(414)(예를 들어, 대칭 삼각형) 또는 런지 형상(416)(예를 들어, 사선(oblique) 또는 비대칭 삼각형)일 수 있다.
런지 형상(416)은 런지 방향(418)(좌측 또는 우측)을 가질 수 있고, 따라서, 좌측 런지 형상 또는 우측 런지 형상일 수 있다.
스쿼트 형상(414) 또는 런지 형상(416)은 또한 홀드 지속기간(도시되지 않음)을 포함할 수 있는 "홀드" 형상(420, 422)을 포함할 수 있다.
형상의 속성들(410)은 그 속도(411)(즉, 객체 또는 형상이 VR에서 사용자에게 접근하는 속도)를 포함할 수 있다.
타격 형상(412)은 형상이 타격되어야 하는 방향을 나타내는 방향 표시자(424)를 포함할 수 있다. 타격 형상(412)은 색상(426) 또는 어떤 손이 형상을 타격하는 데 사용되어야 하는지를 나타내는 다른 표시자를 포함할 수 있다.
사용자는 바람직하게 2개의 컨트롤러(114-1 및 114-2)를 갖는다는 것을 상기하도록 한다(도 1 참조). 예를 들어, 도 6a에 도시된 바와 같이, VR에서, 컨트롤러들은 2개의 색상(예를 들어, 검은색 및 흰색)의 배턴들 또는 스틱들(614-1 및 614-2) 등으로서 사용자에게 (그들의 디스플레이(124)에) 표현된다. 사용자는 형상의 색상과 매칭되는 컨트롤러로 타격 형상을 타격하도록 시도해야 한다. 따라서, 예를 들어, 사용자는 그들의 검은색 컨트롤러로 검은색 타격 형상 객체들을, 그들의 흰색 컨트롤러로 흰색 타격 형상 객체들을 타격하도록 시도해야 한다. 컨트롤러들이 배턴들 또는 스틱들로서 사용자에게 표현될 수 있지만, 본 기술분야의 통상의 기술자들은, 이 설명을 읽으면, 임의의 현실 또는 가상의 형상 또는 객체가 컨트롤러들을 표현하는 데 사용될 수 있음을 이해할 것이다. 또한, 사용자가 하나의 컨트롤러를 갖거나 또는 컨트롤러들을 전혀 갖지 않는 경우들에서, 시스템은 사용자의 손들 중 하나 또는 둘 모두를 직접 (예를 들어, 3D로) 추적할 수 있고, 사용자들의 손들을 VR에서 손들로서 또는 스틱들, 배턴들 등과 같은 객체들로서 표현할 수 있다.
타격 형상(412)은 형상을 타격하는 데 사용되는 타격의 유형(예를 들어, 플로잉(flowing) 또는 폴로-스루 타격)을 표시하는 호(arc) 또는 테일(428)을 포함할 수 있다.
본 기술분야의 통상의 기술자들은, 이 설명을 읽으면, 상이한 및/또는 다른 형상들 및/또는 형상 특성들이 사용될 수 있음을 이해할 것이다.
예시적인 타격 형상들(412A-412H)이 도 5a 내지 도 5h에 도시되어 있으며, 각각은 대응하는 타격 방향(424A-424H)을 나타낸다. 예를 들어, 타격 형상(412A)은 삼각형 형상의 방향(424A)을 갖는 구를 포함할 수 있으며, 이는 사용자가 화살표 A의 방향으로 객체(구)를 타격해야 함을 표시한다. 일반적으로, 삼각형 방향 식별자의 정점은 객체가 타격되어야 하는 방향을 나타낸다.
도 5i는 대응하는 방향 표시자(424-I) 및 호(502)를 갖는 타격 형상(412-I)의 예를 도시한다. 호(502)는 객체의 소스(503)로부터 연장될 수 있다. 타격 형상이 호를 가질 때, 사용자는 객체 표시자(424-I)에 의해 표시된 방향으로 객체를 타격해야 하며, 사용자는, 호(502)에 의해 표시된 바와 같이, (이들이 객체와 접촉할 때 그냥 멈추는 대신에) 호를 그리는 모션으로 타격을 폴로 스루해야 한다. 유사한 상황이 도 9b의 스크린샷에 도시되어 있다.
도 5j는 예시적인 스쿼트 형상(414-J)을 도시한다. 도시된 바와 같이, 스쿼트 형상은 바람직하게는 정점(415-J)을 갖는 대칭 삼각형이다. 사용자에게 스쿼트 형상(414-K)이 제시될 때(즉, VR에서 스쿼트 형상이 사용자에게 접근할 때), 사용자는 사용자의 머리가 정점(415-J) 아래로, 스쿼트 형상 내부(예를 들어, 삼각형 내부)를 지나가도록 스쿼트하도록 시도해야 한다.
도 5k 및 도 5l은, 각각, 대응하는 정점들(415-K 및 415-L)과 함께, 각각 우측 및 좌측 런지 형상들(414-K, 414-L)을 도시한다. 도시된 바와 같이, 런지 형상은 바람직하게는 비대칭 삼각형이며, 삼각형의 더 짧은 변이 원하는 런지 방향을 표시한다. 사용자에게 런지 형상이 제시될 때(즉, VR에서 런지 형상이 사용자에게 접근할 때), 사용자는 사용자의 머리가 삼각형의 정점 아래로, 런지 형상 내부(예를 들어, 삼각형 내부)를 지나가도록 런지 형상에 의해 표시된 방향으로 런지하도록 시도해야 한다. 따라서, 예를 들어, 좌측 런지 형상(414-L)의 경우, 사용자는 좌측으로 런지를 시도하고, 그들의 머리가 정점(415-L) 아래로, 런지 형상을 통과할 만큼 충분히 깊거나 또는 낮게 런지를 시도해야 한다. 예시적인 스쿼트 및 런지 형상들이 도 12a 내지 도 12c, 도 13a 내지 도 13c, 및 도 14a 내지 도 14c의 스크린샷들에 도시되어 있다.
도 5m은 스쿼트 형상(422M) 및 홀드 부분(504)을 갖는, 예시적인 스쿼트 및 홀드 형상을 도시한다. 스쿼트 부분(422M)은 위에서 설명된 스쿼트 형상(414J)과 동일한 역할을 갖는다. 홀드 부분(504)은 (VR에서) 홀드 부분이 지나갈 때까지 사용자가 스쿼트를 홀드하도록 시도해야 함을 표시한다. 런지 형상들 또한 홀드 부분들을 포함할 수 있으며, 이 경우, 사용자는 런지 부분이 지나갈 때까지 그들의 런지를 홀드하도록 시도해야 한다.
홀드 부분(504)은 일련의 반복 삼각형들로 표현될 수 있으며, 그것의 개개의 정점 각각은 다른 인접한 삼각형들과 동일한 포지션에, 또는 상이한 포지션들에 포지셔닝될 수 있다. 후자의 경우, 사용자는 각각의 삼각형이 사람을 지나갈 때 각각의 삼각형의 정점의 위치에 기초하여 상이한 방향들로 스쿼트 및 런지하도록 지시받을 것이다. 각각의 경우에, 사람은 그들의 머리(VR 헤드셋)를, 가상 세계에서의 그들의 머리가 각각의 지나가는 삼각형의 각각의 개개의 정점 아래로, 그리고 이에 인접하게 지나가도록 포지셔닝해야 한다. 예시적인 스쿼트-및-홀드 형상들이 도 15a 및 도 15b의 스크린샷들에 도시되어 있다.
도 5n은 그 실시예들에 따른, 예시적인 포털 전환을 도시하는 예시이다. 도 5n은 운동 동안 포털-전환 기간을 도시하며, 여기서, 제1 포털(750)이 비활성화(턴오프, 폐쇄)될 수 있고, 인접한 제2 포털(752)이 활성화(턴온, 개방)될 수 있다. 제2 포털(752)은 제1 포털(750)의 폐쇄와 동시에 활성화될 수 있다. 제2 포털(752)은 가상 세계에서 제1 포털(750)의 좌측 또는 우측으로 개방될 수 있으며, 제1 포털(750)과 동일한 높이에 또는 이보다 더 높거나 또는 더 낮은 높이에 있을 수 있다. 이 전환 동안, 플레이어(756)에 의해 유지되고 있는 배턴(754)은 제1 포털(750)로부터 최종 타격 객체(758)를 타격하는 데 사용되고 있다. 다른 양태에 따르면, 폐쇄된 제1 포털(750)로부터의 최종 타격 객체(758)는 인접한 개방된 제2 포털(752)을 향해 지향되는 타격 방향 표시자(760)를 포함할 수 있다. 타격-방향 표시자(760)에 의해 표시된 방향은 이 예에서 좌측을 가리키고 있는 화살표(762)의 방향으로 타격-객체(758)를 타격하도록 플레이어(756)에게 지시하거나 또는 안내한다. 일부 구현들의 경우, 타격-방향 표시자(760)는 또한 개방된 제2 포털(752)을 가리킬 수 있다. 추가 방향 표시자들(764)은 타격 객체(758)와 새로이 개방된 제2 포털(752) 사이에서 타격 객체(758)에 바로 인접하여 포함될 수 있으며, 새로이 개방된 제2 포털(752)의 방향으로 가리킬 수 있다.
이해되어야 하는 바와 같이, 이 피처는, 마치 제2 포털이 개방되고 플레이어(756)를 향해 그것의 제1의 제2-포털 타격 객체(766)를 이미 전송했을 수 있는 것처럼(도면에서 화살표(768)에 의해 표시됨), 플레이어(756)가 인접한 제2 포털(752) 전방에 자동으로 배향될 수 있도록 허용한다. 이 시스템에 따르면, 전형적인 운동의 속도로 인해, 이 개방된-포털-표시(opening-portal-indication) 피처가 플레이어에게 플레이어가 타격 객체를 놓칠 위험은 더 적으면서 그들의 운동 동안 부드럽고 순조로운 움직임을 유지하도록 허용하는 방식으로 (좌측으로, 또는 우측으로) 개방되는 신생 포털들의 위치에 대한 "적시(just in time)" 지식을 허용한다. 임의의 수의 새로운 포털들이 개방되고 폐쇄될 수 있으며, 바람직하게는, 위에서 설명된 바와 같이, 포털 전환 동안 2개의 포털만이 동시에 개방된다. 타격 방향 표시자(760) 및 추가 방향 표시자들(764)은 사용자의 디스플레이에 나타날 수 있지만, 도 5m의 화살표들(762 및 768)은 설명의 목적들을 위한 것이며, 사용자의 디스플레이에 나타나지 않을 것이다.
타격 방향 표시자들 및 추가 방향 표시자들이, 여기서 설명된 바와 같이, 포털 개방을 표시하기 위해 사용될 수 있지만, 본 기술분야의 통상의 기술자들은, 이 설명을 읽으면, 다른 포털이 개방되고 있지 않을 때 또는 다른 포털이 이미 개방되어 있을 때에도 이들이 사용될 수 있음을 이해할 것이다.
타격 방향 표시자들 및 추가 방향 표시자들을 나타내는 스크린샷 또한 도 9e에 도시되어 있다.
사용자 정보
언급된 바와 같이, 훈련 시스템(106) 데이터베이스들은 시스템의 사용자들에 대한 정보를 저장 및 유지하기 위한 사용자 데이터베이스를 포함할 수 있다. 훈련 시스템(106)은 사용자의 루틴들을 커스터마이즈 및/또는 수정하기 위해 사용자에 대한 정보를 사용할 수 있다. 사용자 데이터는 도 4b의 사용자 데이터 구조(430)에 나타낸 데이터의 일부 또는 전부를 포함할 수 있다. 특히, 사용자 데이터는 사용자의 키(432), 버티컬 리치(433), 나이(434), 성별(436), 질량/체중(438), 레프트 리치(left reach)(440), 및 라이트 리치(right reach)(442)를 포함할 수 있다. 사용자는 정보 중 일부(예를 들어, 그들의 나이 및 성별)를 입력할 수 있다. 아래에서 설명되는 바와 같이, 사용자 정보 중 일부(예를 들어, 키(432), 버티컬 리치(433), 레프트 리치(440), 및 라이트 리치(442))는, 예를 들어, 캘리브레이션 페이즈 동안 훈련 시스템(106)에 의해 동적으로 결정될 수 있다.
사용자 데이터는 이전 및 현재 훈련 세션들로부터의 사용자 통계들(444)을 포함할 수 있다. 사용자 통계들(444)은 타격 점수들(448), 스쿼트 점수들(450), 런지 점수들(452), 및 다른 점수들(454)을 포함하는 점수들(446)을 포함할 수 있다. 통계들(444)은 또한 사용자의 생리학적 정보(456)의 일부(예를 들어, 도 1에 도시된 센서들(121)과 같은 하나 이상의 센서로부터 결정된 바와 같은, 사용자의 심박수, 온도, 땀 레벨, 호흡수 등)를 포함할 수 있다.
사용자 데이터는 또한 다른 기타 데이터(458)를 포함할 수 있다.
예들
다양한 예시적인 상호작용들이 도 6a 내지 도 6m을 참조하여 도시되어 있다. 이들 예들은, 사용자의 디스플레이(124)에 제시된 바와 같이, 사용자의 시점(point of view)에서 보여진다. 사용자는 때때로 보이는 그들의 컨트롤러들(614-1 및 614-2)에 대응하는 이미지들과 함께, 디스플레이의 하단 중앙에 있는 것으로 간주된다.
컨트롤러들(614-1 및 614-2)은 상이한 방식들(예를 들어, 스틱들, 배턴들, 패들들, 배트들, 라켓들, 장갑들 등)로 사용자의 디스플레이 상에 렌더링될 수 있고, 해당 렌더링은 활동 및/또는 사용자의 기술들에 따라 달라질 수 있다. 예를 들어, 미숙련 사용자에게는 객체를 타격할 수 있는 더 큰(또는 더 넓은) 패들들이 주어질 수 있다. 이해되어야 하는 바와 같이, 시스템은 또한, 더 많은 타격들이 달성될 수 있도록, 미숙련 사용자들을 수용하기 위해 타격-정확도 임계값을 조정할 필요가 있을 수 있다. 도 6a는, 이 경우에, 스틱들 또는 배턴들로서 그들의 컨트롤러들(614-1 및 614-2)에 대한 사용자의 뷰를 도시한다. 본 명세서에서 사용되는 바와 같이, 사용자의 컨트롤러들(614-1 및 614-2)은 디스플레이에 묘사된 그들의 표현들과 동의어로 때때로 사용된다. 따라서, 예를 들어, 컨트롤러가 스틱으로서 묘사되는 경우, 객체가 스틱에 의해 타격되었다는 진술은 또한 객체가 컨트롤러에 의해 타격되었다는 것으로서 주어질 수 있다.
도 6b의 예에서, 시스템은, 화살표 A에 의해 도시된 바와 같이, 포털(602B)로부터 사용자를 향해 타격 객체(612A)를 전송한다. 포털(602B)은 타격 객체의 소스이다. 타격 객체(612A)는 삼각형 형상(624A)에 의해 표시된 타격 방향을 갖는다. 타격 객체(612A)는 사용자의 좌측 컨트롤러(614-1)와 동일한 색상을 갖는다. 사용자는 화살표 B의 방향으로 그들의 좌측 컨트롤러(614-1)로 타격 객체(612A)를 타격하도록 시도해야 한다. 도 9b는 예시적인 타격 객체의 스크린샷을 도시한다.
(VR 공간에서) 사용자가 객체를 타격할 때, 객체는 그것이 타격된 방향으로 이동하고/하거나 또는 폭발하거나 또는 분해될 것이다(예를 들어, 도 10a 내지 도 10e, 도 11a 내지 도 11c 참조). 객체가 타격된 후에, 다양한 VR 효과들이 사용될 수 있다. 예를 들어, 사용자가 객체를 놓치는 경우, 객체는 사용자를 지나쳐서 이동/비행하거나 또는 측면으로 튕기는 것처럼 보일 수 있다.
사용자가 올바른 컨트롤러(배턴)로 올바른 방향으로 타격 객체를 성공적으로 타격할 때, 사용자의 타격 스코어(448)가 증가될 수 있다. 사용자에게는 이들이 객체를 타격한 강도에 기초하여 더 높은 점수가 부여될 수 있다.
도 6c의 예에서, 시스템은 포털(602C)로부터 사용자를 향해 타격 객체(612C)를 전송한다. 객체는 사용자의 우측 배턴(우측 컨트롤러(614-2)에 대응)과 동일한 색상을 가지므로, 사용자는 삼각형 형상(624C)에 의해 표시된 방향으로 객체(612C)를 타격하도록 시도해야 한다.
도 6c의 예에서, 포털(602C)은 도 6b의 포털(602B)과 동일한 위치에 있지 않다는 점에 유의한다. 포털은 객체의 소스에 대응하며, 특정 루틴은 다수의 구별되는 위치들에서 다수의 포털들을 사용할 수 있다.
도 6d의 예에서, 시스템은 포털(602D)로부터 사용자를 향해 타격 객체(612D)를 전송한다. 타격 객체(612D)는 테일(또는 호)(625D)을 갖는다. 이 타격 객체와 성공적으로 상호작용하기 위해, 사용자는 삼각형 형상(624D)의 방향으로 (객체와 배턴의 매칭되는 색상들에 기초하여) 그들의 좌측 배턴으로 타격 객체(612D)를 타격하도록 시도해야 한다. 테일(625D)은 사용자가 일반적으로 특정 테일의 형상을 따르는, 바람직하게는, 플로잉 모션으로 타격을 폴로 스루해야한다고 표시한다. 도 9b 및 도 9c는 테일들이 있는 예시적인 타격 객체들을 도시한다.
도 6e의 예에서, 시스템은 포털(602E)로부터 사용자를 향해 스쿼트 형상(614E)을 전송한다. 이에 응답하여, 사용자는 VR 공간에서 사용자가 객체를 통과하는 것처럼 보이도록 객체에 스쿼트하도록 시도해야 한다. 예를 들어, 사용자의 머리의 높이 및 포지션을 결정함으로써, 시스템은 이들이 얼마나 잘 스쿼트를 했는지를 결정할 수 있고, 시스템은 이에 따라 그들의 스쿼트 점수(들)(450)를 조정할 수 있다. 도 12a 내지 도 12c는 스쿼트 객체를 통과하기 위한 사용자 스쿼트의 예들을 도시한다.
도 6f의 예에서, 시스템은 포털(602F)로부터 사용자를 향해 우측 런지 형상(614F)을 전송한다. 이에 응답하여, 사용자는 VR 공간에서 사용자가 형상(614F)을 통과하는 것처럼 보이도록 우측으로 런지하도록 시도해야 한다. 예를 들어, 사용자의 머리의 높이 및 포지션을 결정함으로써, 시스템은 이들이 얼마나 잘 런지를 했는지를 결정할 수 있고, 시스템은 그에 따라 그들의 런지 점수(452)를 조정할 수 있다. 유사하게, 도 6g의 예에서, 시스템은 포털(602G)로부터 사용자를 향해 좌측 런지 형상(614G)을 전송한다. 이에 응답하여, 사용자는 VR 공간에서 사용자가 형상(614G)을 통과하는 것처럼 보이도록 좌측으로 런지하도록 시도해야 한다. 예를 들어, 사용자의 머리의 높이 및 포지션을 결정함으로써, 시스템은 이들이 얼마나 잘 런지를 했는지를 결정할 수 있고, 시스템은 그에 따라 그들의 런지 점수(들)(452)를 조정할 수 있다. 도 13a 내지 도 13c는 스쿼트 객체를 통과하기 위해 스쿼트하는 사용자의 예들을 도시한다.
도 6h의 예에서, 시스템은 포털(602H)로부터 사용자를 향해 스쿼트 및 홀드 형상(622H)을 전송한다. 이에 응답하여, 사용자는 VR 공간에서 사용자가 형상(622H)을 통과하는 것처럼 보이도록 형상(622H)으로 스쿼트하도록 시도해야 하며, 사용자는 홀드 부분(604H)이 지나갈 때까지 스쿼트를 유지해야 한다. 예를 들어, 사용자 머리의 높이 및 포지션을 결정함으로써, 시스템은 이들이 얼마나 잘 그리고 얼마나 오래 스쿼트를 했는지를 결정할 수 있고, 시스템은 그에 따라 그들의 스쿼트 점수(들)(450)를 조정할 수 있다. 도 15a 및 도 15b는 스쿼트 및 홀드 형상의 사용자의 뷰를 (그들의 디스플레이(124)에) 나타낸다.
이해되어야 하는 바와 같이, 이들 예들에서 논의되는 형상들 및/또는 객체들 각각은 루틴의 이벤트에 대응한다. 루틴은 다수의 이벤트들을 포함할 수 있고, 루틴은 다수의 동시 이벤트들을 포함할 수 있다. 예를 들어, 루틴은 동일하거나 또는 상이한 소스들로부터 동시에 사용자에게 다수의 타격 객체들을 전송할 수 있다(예를 들어, 도 9d, 도 9e, 및 도 9f 참조).
동작 중인 시스템
시스템의 동작은 도 7a 내지 도 7f의 흐름도들을 참조하여 설명된다.
사용자가 시작할 때, 시스템은 해당 사용자에 대해 캘리브레이션할 것이다(702 및 도 7b에서, 도 8a 내지 도 8d 또한 참조). 해당 캘리브레이션 및 가능하게는 사용자에 대한 다른 정보(예를 들어, 그들의 나이, 성별, 체중, 이전 시스템 사용 등)에 기초하여, 시스템은 (704에서) 초기 루틴을 결정할 수 있다.
그런 다음, 시스템이 (706 및 도 7c에서) 루틴에서 다음 이벤트(들)를 발생시킴에 따라, 사용자는 그들의 루틴을 시작한다. 이벤트들은 위에서 설명된 이벤트들 중 임의의 것(예를 들어, 타격 객체들, 스쿼트들, 런지들 등)을 포함할 수 있다. 시스템은 (708 및 도 7d에서) 객체(들)와 사용자의 상호작용들을 분석하고, (710 및 도 7e에서) 사용자에 대한 하나 이상의 수행 레벨을 결정한다. 시스템은 전반적인 수행 레벨 및/또는 상이한 종류들의 이벤트들 또는 객체들에 대한 수행 레벨들을 결정할 수 있다. 예를 들어, 사용자는 객체들을 타격하는 것은 매우 잘하지만, 스쿼트 또는 런지는 잘하지 못할 수 있다. 사용자의 수행 레벨은 그들의 점수들(446)(예를 들어, 그들의 이전 점수들)에 반영되고/되거나 이로부터 도출될 수 있다. 사용자의 수행 레벨(들)은 사용자의 생리학적 데이터(456)(예를 들어, 그들의 심박수)를 포함할 수 있다.
사용자의 수행에 따라, 루틴이 (712 및 도 7f에서) 수정되어 사용자에 대해 더 쉽게 또는 더 어렵게 만들 수 있다.
시스템은, 루틴이 완료될 때까지, 이벤트들을 계속 발생시키고 제시한다.
(702에서의) 사용자 캘리브레이션의 양태들이 도 7b에 도시되어 있으며, 여기서, 시스템은 (714에서) 사용자의 키를, (715에서) 버티컬 리치를, (716에서) 좌측 범위를, (718에서) 우측 범위를, (720에서) 스쿼트 범위를 결정한다. 시스템은 헤드셋(104) 및 컨트롤러들(114-1, 114-2)의 센서들을 사용하여 이들 값들을 결정할 수 있다. 사용자 캘리브레이션의 예들은 도 8a 내지 도 8d에 도시되어 있다.
(706에서) 다음 이벤트(들)를 발생시키는 시스템의 양태들이 도 7c에 도시되어 있으며, 여기서, 시스템은 (722에서) 루틴으로부터 다음 이벤트(들)를 획득하고, (724에서) 이벤트들을 렌더링하고, 필요한 경우, 사용자에게 피드백을 제공한다. 피드백은 구두 격려(verbal encouragement) 및/또는 훈련의 형태일 수 있다. 예를 들어, 피드백은 루틴 또는 이벤트가 수행되어야 하는(또는 수행되었어야 하는) 방법을 보여주는 사람의 비디오 또는 아바타를 포함할 수 있다.
(708에서) 객체(들)와 사용자의 상호작용들을 분석하는 시스템의 양태들이 도 7d에 도시되어 있으며, 여기서, 시스템은 (727에서) 사용자의 움직임을 인식 및 분석하고, (728에서) 사용자의 움직임들을 현실 세계로부터 가상 세계로 매핑하고, (730에서) (사용자의 디스플레이(124) 상에) VR 공간에서의 상호작용을 렌더링한다.
(710에서) 사용자에 대한 하나 이상의 수행 레벨을 결정하는 시스템의 양태들이 도 7e에 도시되어 있으며, 여기서, 시스템은 (732에서) 사용자의 수행을 원하는 수행과 비교한다. 이 비교는 사용자의 점수들(도 4b의 446)을 결정하는 데 사용될 수 있다.
(712에서) 루틴에 대한 다음 이벤트들을 결정하는 시스템의 양태들이 도 7f에 도시되어 있으며, 여기서, 시스템은 (예를 들어, 사용자들 점수들(도 4b의 446) 및/또는 생리학적 데이터(도 4b의 456)로 표현된 바와 같은) 그들의 원하는 성능과 비교된 사용자의 실제 수행에 기초하여 하나 이상의 다음 이벤트를 발생시킨다.
피드백
알 수 있는 바와 같이, 시스템은 따라서 사용자의 수행에 기초한 실시간 피드백에 기초하여 사용자의 운동/활동 루틴을 생성하고 잠재적으로 수정한다.
리캘리브레이션 ( Recalibration )
대부분의 사용자의 특질(attribute)들은 시간이 지남에 따라 변경될 가능성이 낮지만, 그들의 스쿼트 및 런지 범위들은 시간이 지남에 따라 변경될 수 있다. 이러한 이유로, 시스템은 사용될 때마다 사용자에게 리-캘리브레이션해야 한다.
실시간
본 기술분야의 통상의 기술자들은, 이 설명을 읽으면, 본 명세서에서 사용되는 바와 같이, 용어 "실시간(real time)"이 거의 실시간 또는 충분히 실시간을 의미함을 인식하고 이해할 것이다. 전자 컴포넌트들 및 네트워크-기반 통신에는 (예를 들어, 네트워크 트래픽 및 거리들에 기초하여) 고유한 지연(inherent delay)들이 있으며, 이들 지연들이 다양한 컴포넌트들에 도달하는 데이터에 지연들을 유발할 수 있음이 이해되어야 한다. 시스템의 고유한 지연들은 데이터의 실시간 본질을 변경하지 않는다. 일부 경우들에서, 용어 "실시간 데이터"는 데이터가 그것의 의도된 목적에 유용하도록 충분한 시간에 획득된 데이터를 의미할 수 있다.
용어 "실시간"이 여기에서 사용될 수 있지만, 시스템이 이 용어에 의해 또는 실제로 얼마나 많은 시간이 소요되는지에 의해 제한되지 않는다는 것이 이해되어야 한다. 일부 경우들에서, 실시간 계산은 온라인 계산, 즉, 데이터가 도달할 때 그것의 응답(들)을 생산하고 일반적으로 지속적으로 도달하는 데이터를 따라가는 계산을 의미할 수 있다. 용어 "온라인" 계산은 "오프라인" 또는 "배치(batch)" 계산과 비교된다.
예들
시스템의 구현의 양태들의 예시적인 스크린샷들이 도 8a 내지 도 8d, 도 9a 내지 도 9f, 도 10a 내지 도 10h, 도 11a 내지 도 11d, 도 12a 내지 도 12c, 도 13a 내지 도 13c, 도 14a 내지 도 14c, 및 도 15a 및 도 15b에 도시되어 있다.
이들 스크린샷들 중 일부는 VR 사용자(102)가 그들의 디스플레이(124)에서 볼 뷰를 보여주지만(도 9a 내지 도 9f, 도 14a 내지 도 14c), 샷들 중 일부는 뷰에서 트레이너를 보여주며, 캘리브레이션(도 8a 내지 도 8d) 또는 훈련 또는 튜터리얼(tutorial) 목적들을 위해 사용될 수 있다(도 10a 내지 도 10h, 도 11a 내지 도 11d, 도 12a 내지 도 12c, 도 13a 내지 도 13c).
이들 도면들에서 알 수 있는 바와 같이, VR 디스플레이(124)는 임의의 배경을 포함할 수 있어서, 사용자가 자신들이 임의의 현실 또는 상상의(imaginary) 위치에서 그들의 활동들을 수행하고 있다고 인식할 수 있다.
컴퓨팅
위에 도시되고 설명된 애플리케이션들, 서비스들, 메커니즘들, 동작들, 및 액트들은 하나 이상의 컴퓨터에서 실행되는 소프트웨어에 의해 적어도 부분적으로 구현된다.
이러한 방법들(뿐만 아니라 다른 유형들의 데이터)을 구현하는 프로그램들은 다수의 방식들로 다양한 매체들(예를 들어, 컴퓨터 판독가능 매체들)을 사용하여 저장 및 송신될 수 있다. 다양한 실시예들의 프로세스들을 구현할 수 있는 소프트웨어 명령어들의 일부 또는 전부를 대신하여, 또는 이들과 조합하여, 하드-와이어드 회로망 또는 커스텀 하드웨어가 사용될 수 있다. 따라서, 소프트웨어만이 아닌 하드웨어와 소프트웨어의 다양한 조합들이 사용될 수 있다.
본 기술분야의 통상의 기술자는, 이 설명을 읽으면, 본 명세서에서 설명되는 다양한 프로세스들이, 예를 들어, 적절하게 프로그래밍된 범용 컴퓨터들, 특수 목적 컴퓨터들 및 컴퓨팅 디바이스들에 의해 구현될 수 있음을 쉽게 인식하고 이해할 것이다. 하나 이상의 이러한 컴퓨터 또는 컴퓨팅 디바이스는 컴퓨터 시스템으로서 지칭될 수 있다.
도 16은 본 개시내용의 실시예들이 구현되고 수행될 수 있는 컴퓨터 시스템(1600)의 개략도이다.
본 예에 따르면, 컴퓨터 시스템(1600)은 버스(1602)(즉, 인터커넥트), 하나 이상의 프로세서(1604), 메인 메모리(1606), 판독 전용 메모리(1608), 착탈식 저장 매체들(1610), 대용량 스토리지(1612), 및 하나 이상의 통신 포트(1614)를 포함한다. 통신 포트(들)(1614)는 하나 이상의 네트워크(도시되지 않음)에 연결될 수 있고, 이를 통해, 컴퓨터 시스템(1600)이 데이터를 수신 및/또는 송신할 수 있다.
본 명세서에서 사용되는 바와 같이, "프로세서"는, 그들의 아키텍처에 관계없이, 하나 이상의 마이크로프로세서, 중앙 프로세싱 유닛(central processing unit)(CPU), 컴퓨팅 디바이스, 마이크로컨트롤러, 디지털 신호 프로세서, 또는 유사한 디바이스 또는 이들의 임의의 조합을 의미한다. 프로세스를 수행하는 장치는, 예를 들어, 프로세서 및 프로세스를 수행하는 데 적절한 입력 디바이스들 및 출력 디바이스들과 같은 해당 디바이스들을 포함할 수 있다.
프로세서(들)(1604)는 Intel® Itanium® 또는 Itanium 2® 프로세서(들), AMD® Opteron® 또는 Athlon MP® 프로세서(들), 또는 Motorola® 프로세서들의 라인들 등과 같되, 이에 제한되지 않는 임의의 공지된 프로세서일 수 있다. 통신 포트(들)(1614)는 이더넷 포트, 구리 또는 파이버(fiber)를 사용하는 기가비트 포트, 또는 USB 포트 등 중 임의의 것일 수 있다. 통신 포트(들)(1614)는 LAN(Local Area Network), WAN(Wide Area Network), 또는 컴퓨터 시스템(1600)이 연결되는 임의의 네트워크와 같은 네트워크에 따라 선택될 수 있다. 컴퓨터 시스템(1600)은 입/출력(I/O) 포트(1620)를 통해 주변 디바이스들(예를 들어, 디스플레이 스크린(1616), 입력 디바이스(들)(1618))과 통신할 수 있다.
메인 메모리(1606)는 랜덤 액세스 메모리(Random Access Memory)(RAM), 또는 본 기술분야에 일반적으로 공지된 임의의 다른 동적 저장 디바이스(들)일 수 있다. 판독 전용 메모리(read-only memory)(ROM)(1608)는 프로세서(들)(1604)에 대한 명령어들과 같은 정적 정보를 저장하기 위한 프로그래밍가능 판독 전용 메모리(Programmable Read-Only Memory)(PROM) 칩들과 같은 임의의 정적 저장 디바이스(들)일 수 있다. 대용량 스토리지(1612)는 정보 및 명령어들을 저장하는 데 사용될 수 있다. 예를 들어, 하드 디스크 드라이브들, 광 디스크, RAID(Redundant Array of Independent Disks)와 같은 디스크들의 어레이, 또는 임의의 다른 대용량 저장 디바이스들이 사용될 수 있다.
버스(1602)는 프로세서(들)(1604)를 다른 메모리, 스토리지, 및 통신 블록들과 통신가능하게 커플링한다. 버스(1602)는 사용되는 저장 디바이스들 등에 따라 PCI/PCI-X, SCSI, USB(Universal Serial Bus) 기반 시스템 버스(또는 기타)일 수 있다. 착탈식 저장 매체들(1610)은 하드-드라이브들, 플로피 드라이브들, USB 드라이브들, 컴팩트 디스크-판독 전용 메모리(Compact Disc - Read Only Memory)(CD-ROM), 컴팩트 디스크-리-라이터블(Compact Disc - Re-Writable)(CD-RW), 디지털 다목적 디스크-판독 전용 메모리(Digital Versatile Disk - Read Only Memory)(DVD-ROM) 등을 포함한 임의의 종류의 외부 스토리지일 수 있다.
본 명세서의 실시예들은 하나 이상의 컴퓨터 프로그램 제품으로서 제공될 수 있으며, 이는 프로세스를 수행하기 위해 컴퓨터(또는 다른 전자 디바이스들)를 프로그래밍하는 데 사용될 수 있는 저장된 명령어들을 갖는 머신 판독가능 매체를 포함할 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "머신 판독가능 매체"는 컴퓨터, 프로세서 또는 유사한 디바이스에 의해 판독될 수 있는 데이터(예를 들어, 명령어들, 데이터 구조들)를 제공하는 데 참여하는 임의의 매체, 복수의 동일한 매체들, 또는 상이한 매체들의 조합을 의미한다. 이러한 매체는 비휘발성 매체들, 휘발성 매체들, 및 전송 매체들(transmission media)을 포함하되, 이에 제한되지 않는 많은 형태들을 취할 수 있다. 비휘발성 매체들은, 예를 들어, 광 또는 자기 디스크들 및 다른 영구 메모리를 포함한다. 휘발성 매체들은 전형적으로 컴퓨터의 메인 메모리를 구성하는 동적 랜덤 액세스 메모리를 포함한다. 전송 매체들은 프로세서에 커플링된 시스템 버스를 포함하는 와이어들을 포함하여, 동축 케이블들, 구리 와이어 및 파이버 옵틱(fiber optic)들을 포함한다. 전송 매체들은 라디오 주파수(radio frequency)(RF) 및 적외선(infrared)(IR) 데이터 통신들 동안 발생되는 것들과 같은 음파들, 광파들, 및 전자기 방출들을 포함하거나 또는 이들을 전달할 수 있다.
머신 판독가능 매체는 플로피 디스켓들, 광 디스크들, CD-ROM들, 광-자기 디스크(magneto-optical disk)들, ROM들, RAM들, 소거가능한 프로그래밍가능 판독 전용 메모리(erasable programmable read-only memory)들(EPROM들), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(electrically erasable programmable read-only memory)들(EEPROM들), 자기 또는 광학 카드들, 플래시 메모리, 또는 전자 명령어들을 저장하는 데 적합한 다른 유형의 매체들/머신 판독가능 매체를 포함할 수 있지만, 이에 제한되지 않는다. 또한, 본 명세서의 실시예들은 컴퓨터 프로그램 제품으로서 다운로드될 수도 있으며, 여기서, 프로그램은 통신 링크(예를 들어, 모뎀 또는 네트워크 연결)를 통해 반송파 또는 다른 전파 매체에 구현된 데이터 신호들을 통해 원격 컴퓨터로부터 요청 컴퓨터로 전송될 수 있다.
다양한 형태들의 컴퓨터 판독가능 매체들은 프로세서에 데이터(예를 들어, 명령어들의 시퀀스들)를 운반하는 데 관련될 수 있다. 예를 들어, 데이터는 (i) RAM으로부터 프로세서로 전달되고; (ii) 무선 전송 매체를 통해 운반되고; (iii) 수많은 포맷들, 표준들 또는 프로토콜들에 따라 포맷 및/또는 송신되고; 및/또는 (iv) 본 기술분야에 널리 공지된 다양한 방식들 중 임의의 것으로 암호화될 수 있다.
컴퓨터 판독가능 매체는 방법들을 수행하기에 적절한 해당 프로그램 요소들을 (임의의 적절한 포맷으로) 저장할 수 있다.
도시된 바와 같이, 메인 메모리(1606)는 본 명세서에서 논의되는 바와 같은 기능성을 지원하는 애플리케이션(들)(1622)으로 인코딩된다(애플리케이션(들)(1622)은 본 명세서에서 설명되는 서비스들/메커니즘들의 기능성의 일부 또는 전부를 제공하는 애플리케이션(들), 예를 들어, VR 공유 애플리케이션(230, 도 2)일 수 있다). 애플리케이션(들)(1622)(및/또는 본 명세서에서 설명되는 다른 자원들)은 본 명세서에서 설명되는 상이한 실시예들에 따른 프로세싱 기능성을 지원하는 데이터 및/또는 로직 명령어들과 같은 소프트웨어 코드(예를 들어, 메모리 또는 디스크와 같은 다른 컴퓨터 판독가능 매체에 저장된 코드)로서 구현될 수 있다.
일 실시예의 동작 동안, 프로세서(들)(1604)는 애플리케이션(들)(1622)의 로직 명령어들을 런칭(launch), 실행(run), 실행(execute), 해석(interpret), 또는 다른 방식으로 수행하기 위해 버스(1602)의 사용을 통해 메인 메모리(1606)에 액세스한다. 애플리케이션(들)(1622)의 실행은 애플리케이션(들)과 관련된 서비스의 프로세싱 기능성을 생산한다. 다시 말해서, 프로세스(들)(1624)는 컴퓨터 시스템(1600)의 프로세서(들)(1604) 내에서 또는 프로세서(들)(1604) 상에서 수행하는 애플리케이션(들)(1622)의 하나 이상의 부분을 표현한다
예를 들어, 프로세스(들)(1624)는 VR 공유 애플리케이션(230)에 대응하는 AR 애플리케이션 프로세스를 포함할 수 있다.
본 명세서에서 논의되는 바와 같은 동작들을 수행하는 프로세스(들)(1624)에 더하여, 본 명세서의 다른 실시예들은 애플리케이션(들)(1622) 자체(즉, 실행되지 않거나(un-executed) 또는 수행되지 않은(non-performing) 로직 명령어들 및/또는 데이터)를 포함한다는 점에 유의해야 한다. 애플리케이션(들)(1622)은 디스크와 같은 컴퓨터 판독가능 매체(예를 들어, 리포지토리(repository))에 또는 광학 매체에 저장될 수 있다. 다른 실시예들에 따르면, 애플리케이션(들)(1622)은 또한 펌웨어, 판독 전용 메모리(ROM)와 같은 메모리 유형 시스템에, 또는 이 예에서와 같이, 메인 메모리(1606) 내의(예를 들어, 랜덤 액세스 메모리 또는 RAM 내의) 실행가능 코드(executable code)로서 저장될 수도 있다. 예를 들어, 애플리케이션(들)(1622)은 또한 착탈식 저장 매체들(1610), 판독 전용 메모리(1608), 및/또는 대용량 저장 디바이스(1612)에 저장될 수 있다.
본 기술분야의 통상의 기술자들은 컴퓨터 시스템(1600)이 하드웨어 자원들의 할당 및 사용을 제어하는 운영 체제와 같은 다른 프로세스들 및/또는 소프트웨어 및 하드웨어 컴포넌트들을 포함할 수 있다는 것을 이해할 것이다.
본 명세서에서 논의되는 바와 같이, 본 발명의 실시예들은 다양한 단계들 또는 액트들 또는 동작들을 포함한다. 다양한 이들 단계들은 하드웨어 컴포넌트들에 의해 수행될 수도 있거나 머신 실행가능 명령어들로 구현될 수도 있으며, 이는 명령어들로 프로그래밍된 범용 또는 특수 목적 프로세서로 하여금 동작들을 수행하게 하는 데 사용될 수 있다. 대안적으로, 단계들은 하드웨어, 소프트웨어 및/또는 펌웨어의 조합에 의해 수행될 수 있다. 용어 "모듈"은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함할 수 있는 자체-포함된(self-contained) 기능 컴포넌트를 지칭한다.
본 기술분야의 통상의 기술자는, 이 설명을 읽으면, 장치의 실시예들이 설명된 프로세스의 일부(그러나, 반드시 전부는 아님)를 수행하도록 동작가능한 컴퓨터/컴퓨팅 디바이스를 포함할 수 있음을 쉽게 인식하고 이해할 것이다.
프로그램 또는 데이터 구조를 저장한 컴퓨터 판독가능 매체의 실시예들은, 실행될 때, 프로세서로 하여금, 설명된 프로세스의 일부(그러나, 반드시 전부는 아님)를 수행하게 할 수 있는 프로그램을 저장한 컴퓨터 판독가능 매체를 포함한다.
프로세스가 본 명세서에서 설명되는 경우, 본 기술분야의 통상의 기술자들은 프로세스가 임의의 사용자 개입 없이 동작할 수 있음을 인식할 것이다. 다른 실시예에서, 프로세스는 일부 인간 개입을 포함한다(예를 들어, 단계는 인간에 의해 또는 인간의 도움으로 수행된다).
그 실시예들은 통합 디바이스(예를 들어, 스마트폰)를 사용하여 설명되지만, 본 기술분야의 통상의 기술자들은, 이 설명을 읽으면, 본 명세서에서 설명되는 접근 방식들이 사용자의 실시간 비디오 이미지를 캡처할 수 있는 적어도 하나의 카메라 및 디스플레이를 포함하는 임의의 컴퓨팅 디바이스에서 사용될 수 있음을 인식하고 이해할 것이다. 예를 들어, 시스템은 자동차의 헤드-업 디스플레이(heads-up display) 등에 통합될 수 있다. 이러한 경우들에서, 후방 카메라(rear camera)는 생략될 수 있다.
결론
청구범위를 포함하여 본 명세서에서 사용되는 바와 같이, 구문 "적어도 일부"는 "하나 이상"을 의미하고, 단 하나만의 경우를 포함한다. 따라서, 예를 들어, 구문 "적어도 일부 ABC들"은 "하나 이상의 ABC"를 의미하고, 단 하나의 ABC만의 경우를 포함한다.
용어 "적어도 하나"는 "하나 이상"을 의미하는 것으로 이해되어야 하고, 따라서, 하나 또는 다수의 컴포넌트들을 포함하는 실시예들을 모두 포함한다. 또한, "적어도 하나"로 피처들을 설명하는 독립 청구항을 참조하는 종속항들은, 피처가 "그(the)" 및 "적어도 하나"로 참조될 때, 둘 다 동일한 의미를 갖다.
본 명세서에서 사용되는 바와 같이, 용어 "부분(portion)"은 일부 또는 전부를 의미한다. 따라서, 예를 들어, "X의 부분"은 "X"의 일부 또는 "X"의 전부를 포함할 수 있다. 대화의 맥락에서, "부분"이라는 용어는 대화의 일부 또는 전부를 의미한다.
청구범위를 포함하여 본 명세서에서 사용되는 바와 같이, 구문 "~에 기초하여"는 "~에 부분적으로 기초하여" 또는 "~에 적어도 부분적으로 기초하여"를 의미하며, 배타적이지 않다. 따라서, 예를 들어, 구문 "팩터 X에 기초하여"는 "팩터 X에 부분적으로 기초하여" 또는 "팩터 X에 적어도 부분적으로 기초하여"를 의미한다. "만(only)"이라는 단어를 사용하여 구체적으로 언급되지 않는 한, 구문 "X에 기초하여"는 "X에만 기초하여"를 의미하지 않는다.
청구범위를 포함하여 본 명세서에서 사용되는 바와 같이, 구문 "사용하여(using)"는 "적어도 사용하여(using at least)"를 의미하고, 배타적이지 않다. 따라서, 예를 들어, 구문 "X를 사용하여"는 "적어도 X를 사용하여"를 의미한다. "만"이라는 단어를 사용하여 구체적으로 언급되지 않는 한, 구문 "X를 사용하여"는 "X만을 사용하여"를 의미하지 않는다.
청구범위를 포함하여 본 명세서에서 사용되는 바와 같이, 구문 "~에 대응한다"는 "~에 부분적으로 대응한다" 또는 "~에 적어도 부분적으로 대응한다"를 의미하며, 배타적이지 않다. 따라서, 예를 들어, 구문 "팩터 X에 대응한다"는 "팩터 X에 부분적으로 대응한다" 또는 "팩터 X에 적어도 부분적으로 대응한다"를 의미한다. "만"이라는 단어를 사용하여 구체적으로 언급되지 않는 한, 구문 "X에 대응한다"는 "X에만 대응한다"를 의미하지 않는다.
일반적으로, 청구범위를 포함하여 본 명세서에서 사용되는 바와 같이, 단어 "만"이 구문에서 구체적으로 사용되지 않는 한, 이것은 해당 구문으로 읽혀서는 안된다.
청구범위를 포함하여 본 명세서에서 사용되는 바와 같이, 구문 "구별되는(distinct)"은 "적어도 부분적으로 구별되는(at least partially distinct)"을 의미한다. 구체적으로 언급되지 않는 한, 구별되는 것은 완전히 구별되는 것을 의미하지는 않는다. 따라서, 예를 들어, 구문 "X는 Y와 구별된다(X is distinct from Y)"는 "X는 Y와 적어도 부분적으로 구별된다"는 것을 의미하고, "X는 Y와 완전히 구별된다"는 것을 의미하지는 않는다. 따라서, 청구범위를 포함하여 본 명세서에서 사용되는 바와 같이, 구문 "X는 Y와 구별된다"는 X가 적어도 일부 방식으로 Y와 상이하다는 것을 의미한다.
설명 및 청구범위에서 단어들 "제1" 및 "제2"는 일련의 또는 숫자상의 제한을 나타내는 것이 아니라 구별 또는 식별하기 위해 사용되는 것임이 이해되어야 한다. 유사하게, ("(a)", "(b)" 등과 같은) 문자 또는 숫자 레이블들의 사용은 임의의 일련의 또는 숫자상의 제한 또는 순서를 나타내는 것이 아니라 구별 및/또는 식별을 돕기 위해 사용된다.
구체적으로 도시되고 언급되지 않는 한, 흐름도들 중 임의의 것에서 레이블링된 상자들 중 임의의 것에 의해 순서가 암시되지 않는다. 연결이 끊긴 상자들이 도면에 도시될 때, 해당 상자들과 연관된 활동들은, 완전히 또는 부분적으로 병렬을 포함하여, 임의의 순서로 수행될 수 있다.
청구범위를 포함하여 본 명세서에서 사용되는 바와 같이, 문맥이 달리 나타내지 않는 한, 용어들의 단수 형태들은 복수 형태도 포함하는 것으로 해석되어야 하고, 그 반대의 경우도 마찬가지이다. 따라서, 본 명세서에서 사용되는 바와 같이, 단수 형태들("a", "an" 및 "the")는, 문맥이 명백하게 달리 표시하지 않는 한, 복수 참조들을 포함한다는 점에 유의해야 한다.
설명 및 청구범위 전반에 걸쳐, 용어들 "포함하다(comprise)", "포함하는(including)", "갖는(having)" 및 "포함하다(contain)" 및 이들의 변형들은 "포함하지만, 이에 제한되지 않는"을 의미하는 것으로 이해되어야 하며, 다른 컴포넌트들을 배제하는 것으로 의도되지 않는다.
본 발명은 또한 정확한 용어들, 피처들, 값들 및 범위들 등을 포함하며, 이경우, 이들 용어들, 피처들, 값들 및 범위들 등은 약(about), 대략(around), 일반적으로(generally), 실질적으로(substantially), 본질적으로(essentially), 적어도(at least) 등과 같은 용어들과 함께 사용된다(즉, "약 3"은 정확히 3도 포함할 것이고 또는 "실질적으로 일정한"은 정확히 일정한 것도 포함할 것이다).
"예를 들어(for instance)", "~와 같은", "예를 들어(for example)" 등과 같은 예시적인 언어의 사용은 단지 본 발명을 더 잘 예시하기 위해 의도되며, 본 발명의 범위에 대한 제한을, 그와 같이 주장되지 않는 한, 나타내지 않는다. 본 명세서에서 설명되는 임의의 단계들은, 문맥이 명백히 달리 나타내지 않는 한, 임의의 순서로 또는 동시에 수행될 수 있다.
본 명세서에서 개시되는 피처들 및/또는 단계들 전부는, 피처들 및/또는 단계들 중 적어도 일부가 상호 배타적인 경우의 조합들을 제외하고, 임의의 조합으로 조합될 수 있다. 특히, 본 발명의 바람직한 피처들은 본 발명의 모든 양태들에 적용가능하며, 임의의 조합으로 사용될 수 있다.
참조 번호들은 더 빠른 이해를 위해 참조되었을 뿐이며, 본 발명의 범위를 임의의 방식으로 제한하는 것으로 의도되지 않는다.
본 발명은 현재 가장 실용적이고 바람직한 실시예들로 간주되는 것과 관련하여 설명되었지만, 본 발명은 개시된 실시예에 제한되지 않고, 반대로, 첨부된 청구범위의 사상 및 범위 내에 포함된 다양한 수정들 및 등가의 배열들을 포함하도록 의도된다는 것이 이해되어야 한다.

Claims (53)

  1. 컴퓨터로 구현된 방법으로서,
    (A) 현실-세계 환경에서 사용자 디바이스를 착용하는 사람에 대한 루틴을 결정하는 단계 - 상기 사용자 디바이스는 사람에 의해 착용되는 가상 현실(virtual reality)(VR) 헤드셋을 포함함 -;
    (B) 상기 VR 헤드셋을 통해 가상 세계의 상기 사람에게 상기 루틴으로부터의 이벤트와 연관된 객체(object)를 제시하는 단계; 및
    (C) 상기 VR 헤드셋 상에 상기 가상 세계의 상기 객체와 상기 사람의 가상 상호작용의 양태들을 렌더링하는 단계;
    (D) 상기 객체와의 가상 상호작용을 분석하는 단계; 및
    (E) 상기 분석하는 것에 기초하여, 실시간으로, 상기 루틴에 대한 하나 이상의 다음 이벤트를 결정하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 루틴이 완료되거나 또는 상기 사람이 멈출 때까지 액트(act)들 (B), (C), (D), 및 (E)를 반복하는 단계를 추가로 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 현실-세계 환경에서 상기 사용자 디바이스를 착용하는 사람에 대한 캘리브레이션 정보를 결정하는 단계
    를 추가로 포함하고, (A)에서 결정하는 단계는 상기 캘리브레이션 정보에 기초하는, 방법.
  4. 제2항에 있어서, 캘리브레이션 정보는 키(height), 버티컬 리치(vertical reach), 좌측 런지(left lunge) 정보, 우측 런지(right lunge) 정보, 및 스쿼트(squat) 정보 중 하나 이상을 포함하는, 방법.
  5. 제1항에 있어서, 상기 루틴은 시간-정렬된 일련의 이벤트들을 포함하는, 방법.
  6. 제1항에 있어서, 상기 사용자 디바이스는 상기 사람에 의해 착용되거나 또는 유지되는(held) 적어도 하나의 VR 핸드헬드 컨트롤러를 포함하는, 방법.
  7. 제6항에 있어서, 적어도 하나의 VR 핸드헬드 컨트롤러는 상기 객체와 상기 사람의 예상되는 가상 상호작용에 기초하여 상기 가상 세계에서 렌더링되는, 방법.
  8. 제1항에 있어서, 상기 객체와의 가상 상호작용을 분석하는 단계는,
    움직임 데이터를 결정하기 위해 상기 사람의 움직임들을 인식 및 분석하는 단계; 및
    상기 움직임 데이터를 상기 가상 세계에 매핑하는 단계
    를 포함하는, 방법.
  9. 제1항에 있어서, 상기 분석하는 것에 기초하여, 상기 사람에게 피드백을 제공하는 단계를 추가로 포함하는, 방법.
  10. 제1항에 있어서, 상기 사람의 수행 레벨(performance level)을 결정하는 단계를 추가로 포함하는, 방법.
  11. 제10항에 있어서, 상기 수행 레벨은 상기 루틴에 대한 상기 하나 이상의 다음 이벤트를 결정하기 위해 (E)에서 사용되는, 방법.
  12. 제10항에 있어서, 상기 수행 레벨은 상기 객체와의 예상되거나 또는 원하는 상호작용에 대한 상기 객체와 상기 사람의 가상 상호작용에 기초하는, 방법.
  13. 제10항에 있어서, 상기 루틴에 대한 상기 하나 이상의 다음 이벤트는 상기 사람의 수행 레벨에 기초하여 결정되는, 방법.
  14. 제1항에 있어서, 이벤트가 그와 연관된 대응하는 객체를 갖는, 방법.
  15. 제1항에 있어서, 상기 객체는 타격(hit) 객체, 스쿼트 객체, 또는 런지 객체 중 하나를 포함하는, 방법.
  16. 제15항에 있어서, 상기 타격 객체는 타격 방향을 포함하는, 방법.
  17. 제15항에 있어서, 상기 타격 객체는 테일(tail)을 포함하는, 방법.
  18. 제15항에 있어서, 상기 스쿼트 객체는 대칭 삼각형을 포함하는, 방법.
  19. 제15항에 있어서, 런지 객체는 비대칭 삼각형을 포함하는, 방법.
  20. 제1항에 있어서, 상기 객체는 그와 연관된 소스 위치를 갖고, 상기 객체는 상기 가상 세계의 상기 소스 위치로부터 사람을 향해 나타나서 다가오도록 상기 VR 헤드셋에 제시되는, 방법.
  21. 제1항에 있어서, 상기 객체는 그와 연관된 속도를 갖고, 상기 객체는 상기 속도로 상기 가상 세계의 상기 사람을 향해 나타나서 다가오도록 상기 VR 헤드셋에 제시되는, 방법.
  22. 제15항에 있어서, 상기 객체가 타격 객체를 포함할 때, 상기 객체와의 가상 상호작용을 분석하는 단계는,
    상기 객체가 상기 사람에 의해 가상으로(virtually) 타격되었는지를 결정하는 단계
    를 포함하는, 방법.
  23. 제22항에 있어서, 상기 객체와의 가상 상호작용을 분석하는 단계는,
    상기 객체가 상기 사람에 의해 착용되거나 또는 유지되는 적어도 하나의 VR 핸드헬드 컨트롤러에 의해 제어되는 가상 배턴으로 가상으로 타격되었는지를 결정하는 단계
    를 포함하는, 방법.
  24. 제16항에 있어서, 상기 객체가 타격 객체를 포함할 때, 상기 객체와의 가상 상호작용을 분석하는 단계는,
    상기 객체가 상기 사람에 의해 상기 타격 방향으로 가상으로 타격되었는지를 결정하는 단계
    를 포함하는, 방법.
  25. 제24항에 있어서, 상기 객체가 타격 객체를 포함할 때, 상기 객체와의 가상 상호작용을 분석하는 단계는,
    상기 객체가 상기 사람에 의해 착용되거나 또는 유지되는 적어도 하나의 VR 핸드헬드 컨트롤러에 의해 제어되는 가상 배턴으로 상기 타격 방향으로 가상으로 타격되었는지를 결정하는 단계
    를 포함하는, 방법.
  26. 제25항에 있어서, 상기 객체가 타격 객체를 포함할 때, 상기 객체와의 가상 상호작용을 분석하는 단계는,
    상기 객체가 상기 적어도 하나의 VR 핸드헬드 컨트롤러에 의해 제어되는 가상 배턴으로 상기 타격 방향으로 가상으로 타격되었는지 및 상기 사람이 가상 타격을 폴로 스루(follow through)하였는지를 결정하는 단계
    를 포함하는, 방법.
  27. 제12항에 있어서, 상기 수행 레벨은 또한 상기 사람과 연관된 생리학적 데이터에 기초하는, 방법.
  28. 제15항에 있어서, 상기 객체가 스쿼트 객체를 포함할 때, 상기 객체와의 상기 가상 상호작용을 분석하는 단계는 상기 가상 세계에서 상기 스쿼트 객체가 상기 사람을 지나가는 동안 상기 사람에 의한 스쿼트의 양을 결정하는 단계를 포함하는, 방법.
  29. 제15항에 있어서, 상기 객체가 런지 객체를 포함할 때, 상기 객체와의 가상 상호작용을 분석하는 단계는 상기 가상 세계에서 상기 런지 객체가 상기 사람을 지나가는 동안 상기 사람에 의한 런지 양 및 방향을 결정하는 단계를 포함하는, 방법.
  30. 제29항에 있어서, 상기 런지 객체는 삼각형을 포함하고, 상기 런지의 양 및/또는 방향을 결정하는 단계는 상기 삼각형의 정점에 대한 상기 가상 세계에서의 상기 사람의 머리의 포지션에 기초하는, 방법.
  31. 제15항에 있어서, 상기 스쿼트 객체 또는 상기 런지 객체는 홀드 형상(hold shape)을 포함하고, 상기 객체와의 가상 상호작용을 분석하는 단계는 상기 가상 세계에서 상기 객체가 상기 사람을 지나가는 동안 상기 사람에 의한 스쿼트 또는 런지의 양 및 지속기간을 결정하는 단계를 포함하는, 방법.
  32. 제1항에 있어서, 상기 객체는 상기 가상 세계의 제1 위치로부터 다가오는 것으로서 상기 가상 세계에 제시되고, 상기 객체는 후속 객체가 제시될 상기 가상 세계의 제2 위치의 표시를 포함하는, 방법.
  33. 제32항에 있어서, 상기 제2 위치의 표시는 화살표를 포함하는, 방법.
  34. 제1항에 있어서, 상기 루틴은 피트니스 또는 운동 루틴을 포함하는, 방법.
  35. 컴퓨터로 구현된 방법으로서,
    (A) 현실-세계 환경에서 사용자 디바이스를 제공하는 단계 - 상기 사용자 디바이스는 사람에 의해 착용되는 가상 현실(VR) 헤드셋을 포함하고, 상기 VR 헤드셋은 상기 VR 헤드셋을 통해 상기 사람에게 장면들 및 객체들의 이미지들을 제공하여 가상 세계의 시각적 표현을 발생시킬 수 있음 -;
    (B) 상기 사람이 상기 VR 헤드셋을 사용하여 상기 가상 세계에서 볼 시각적 루틴을 결정하는 단계 - 상기 시각적 루틴은 상기 사람이 규정된 액션을 사용하여 상호작용할 수 있는 복수의 객체들을 포함함 -;
    (C) 상기 가상 세계의 상기 사람에게 상기 복수의 객체들 중 제1 객체를 제시하는 단계;
    (D) 상기 사람이 상기 가상 세계에서 상기 제1 객체와 가상으로 상호작용하도록 허용하는 단계;
    (E) 상기 사람과 제시된 제1 객체 사이의 가상 상호작용의 양태들을 측정하는 단계;
    (F) 상기 가상 상호작용의 측정된 양태들을 분석하는 단계; 및
    (G) 상기 분석하는 것에 기초하여, 실시간으로, 상기 가상 세계의 상기 사람에게 상기 복수의 객체들 중 제2 객체를 제시하는 단계
    를 포함하는, 컴퓨터로 구현된 방법.
  36. 제35항에 있어서, 상기 시각적 루틴의 상기 복수의 객체들 내의 다수의 객체들에 대해 액트들 (C), (D), (E), (F), 및 (G)를 반복하는 단계를 추가로 포함하는, 컴퓨터로 구현된 방법.
  37. 제35항에 있어서, 상기 복수의 객체들은 일련의 객체들을 포함하는, 컴퓨터로 구현된 방법.
  38. 제35항에 있어서, 상기 사용자에 의한 규정된 액션은 상기 제1 객체를 타격하기 위한 스윙 모션을 포함하고, 상기 측정된 양태들은 상기 제1 객체에 대한 상기 스윙 모션의 방향을 포함하는, 컴퓨터로 구현된 방법.
  39. 제35항에 있어서, 상기 사용자에 의한 규정된 액션은 상기 제1 객체를 타격하기 위한 스윙 모션을 포함하고, 상기 측정된 양태들은 상기 제1 객체에 대한 상기 스윙 모션의 속도를 포함하는, 컴퓨터로 구현된 방법.
  40. 제35항에 있어서, 상기 사용자에 의한 규정된 액션은 상기 제1 객체를 타격하기 위한 스윙 모션을 포함하고, 상기 측정된 양태들은 상기 제1 객체에 대한 상기 스윙 모션의 길이를 포함하는, 컴퓨터로 구현된 방법.
  41. 제35항에 있어서, 상기 제1 객체는 삼각형 형상을 포함하고, 상기 사용자에 의한 규정된 액션은 스쿼트 모션을 포함하고, 상기 측정된 양태들은 상기 삼각형 형상의 정점에 대한 상기 스쿼트 모션의 수직 변위를 포함하는, 컴퓨터로 구현된 방법.
  42. 제35항에 있어서, 상기 제1 객체는 삼각형 형상을 포함하고, 상기 사용자에 의한 규정된 액션은 런지 모션을 포함하고, 상기 측정된 양태들은 상기 삼각형 형상의 정점의 위치에 대한 상기 사용자의 머리의 상대적 포지션을 포함하는, 컴퓨터로 구현된 방법.
  43. 제35항에 있어서, 상기 제1 객체는 상기 제1 객체에 대한 스윙 액션의 방향을 상기 사용자에게 표시하는 시각적 마커를 포함하는, 컴퓨터로 구현된 방법.
  44. 제35항에 있어서, 상기 제1 객체는 상기 가상 세계 내의 제1 포털(portal)에서 발생되고, 상기 제1 객체는 상기 제1 객체에 대한 스윙 액션의 방향을 상기 사용자에게 표시하는 시각적 마커를 포함하는, 컴퓨터로 구현된 방법.
  45. 컴퓨터로 구현된 방법으로서,
    (A) 현실-세계 환경에서 사용자 디바이스를 제공하는 단계 - 상기 사용자 디바이스는 사람에 의해 착용되는 가상 현실(VR) 헤드셋을 포함하고, 상기 VR 헤드셋은 상기 VR 헤드셋을 통해 상기 사람에게 장면들 및 객체들의 이미지들을 제공하여 가상 세계의 시각적 표현을 발생시킬 수 있음 -;
    (B) 상기 사람이 상기 VR 헤드셋을 사용하여 상기 가상 세계에서 볼 시각적 루틴을 결정하는 단계 - 상기 시각적 루틴은 복수의 삼각형들을 포함하고, 상기 삼각형들 각각은 정의된 형상 및 정점을 가짐 -;
    (C) 상기 시각적 루틴 동안, 상기 가상 세계에서 상기 VR 헤드셋의 포지션을 결정하는 단계;
    (D) (C)에서 결정하는 것에 기초하여, 상기 복수의 삼각형들 중 제1 삼각형을 상기 가상 세계의 상기 사람에게 제시하는 단계;
    (E) 상기 사람이 상기 가상 세계에서 제시된 제1 삼각형과 가상으로 상호작용하도록 허용하는 단계;
    (F) 상기 제1 삼각형의 정점의 위치에 대해 상기 VR 헤드셋의 포지션을 비교하는 단계; 및
    (G) (F)에서 비교한 결과들을 기록하는 단계
    를 포함하는, 방법.
  46. 제45항에 있어서, 상기 (E)에서 허용하는 단계는 상기 사람이, 상기 VR 헤드셋이 상기 제시된 제1 삼각형의 정점의 위치 아래로 그리고 그에 인접하게 포지셔닝될 때까지 상기 현실 세계에서 그들의 신체를 포지셔닝시킴으로써, 상기 가상 세계에서 상기 제시된 제1 삼각형과 가상으로 상호작용하도록 허용하는 단계를 포함하는, 방법.
  47. 컴퓨터로 구현된 방법으로서,
    (A) 현실-세계 환경에서 사용자 디바이스를 제공하는 단계 - 상기 사용자 디바이스는 사람에 의해 착용되는 가상 현실(VR) 헤드셋을 포함하고, 상기 VR 헤드셋은 상기 VR 헤드셋을 통해 상기 사람에게 장면들 및 객체들의 이미지들을 제공하여 가상 세계의 시각적 표현을 발생시킬 수 있음 -;
    (B) 상기 사람이 상기 VR 헤드셋을 사용하여 상기 가상 세계에서 볼 시각적 루틴을 결정하는 단계 - 상기 시각적 루틴은 일련의 객체들을 포함하고, 상기 객체들은 제1 포털 및 제2 포털 중 하나로부터 발생되고, 상기 객체들 각각은 상기 가상 세계의 상기 사람을 향해 전진함 -;
    (C) 상기 가상 세계의 상기 사람에게, 상기 제1 포털로부터 제1 객체를 제시하는 단계;
    (D) 상기 제1 객체에 대한 표시에 상기 제2 포털의 위치를 제공하는 단계; 및
    (E) 상기 가상 세계의 상기 사람에게, 상기 제2 포털로부터 제2 객체를 제시하는 단계
    를 포함하는, 컴퓨터로 구현된 방법.
  48. 제47항에 있어서, 상기 시각적 루틴의 다수의 객체들에 대해 액트들 (C)-(E)를 반복하는 단계를 추가로 포함하는, 컴퓨터로 구현된 방법.
  49. 제47항에 있어서, (D)에서, 상기 제1 객체에 대한 표시는 화살표 형상을 포함하는, 컴퓨터로 구현된 방법.
  50. 제47항에 있어서, (D)에서, 상기 제1 객체에 대한 표시는 삼각형 형상을 포함하는, 컴퓨터로 구현된 방법.
  51. 디바이스로서,
    (a) 메모리 및 적어도 하나의 프로세서를 포함하는 하드웨어, 및
    (b) 상기 하드웨어에서 실행되는(running) 서비스 - 상기 서비스는 제1항 내지 제50항 중 어느 한 항의 방법을 수행하도록 구성됨 -
    를 포함하는, 디바이스.
  52. 컴퓨터 판독가능 명령어들이 저장된 비일시적 컴퓨터 판독가능 매체들을 포함하는 제조물로서,
    상기 컴퓨터 판독가능 명령어들은 컴퓨터로 구현된 방법을 구현하기 위한 명령어들을 포함하고, 상기 방법은 메모리 및 적어도 하나의 프로세서를 포함하는 하드웨어를 포함하고 상기 하드웨어에서 서비스를 실행하는 디바이스에서 동작가능하고, 상기 방법은 제1항 내지 제50항 중 어느 한 항의 방법을 포함하는, 제조물.
  53. 하나 이상의 프로그램을 저장한 비일시적 컴퓨터 판독가능 기록 매체로서,
    상기 하나 이상의 프로그램은 실행될 때, 하나 이상의 프로세서로 하여금, 적어도, 제1항 내지 제50항 중 어느 한 항의 방법을 수행하게 하는, 비일시적 컴퓨터 판독가능 기록 매체.
KR1020227040745A 2020-04-22 2021-04-21 가상 및 증강 현실의 개인화되고 커스터마이즈된 피트니스 훈련 활동 또는 게임, 방법들, 디바이스들, 및 시스템들 KR20230006857A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063014046P 2020-04-22 2020-04-22
US63/014,046 2020-04-22
PCT/IB2021/053307 WO2021214695A1 (en) 2020-04-22 2021-04-21 Virtual and augmented reality personalized and customized fitness training activity or game, methods, devices, and systems

Publications (1)

Publication Number Publication Date
KR20230006857A true KR20230006857A (ko) 2023-01-11

Family

ID=78270339

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227040745A KR20230006857A (ko) 2020-04-22 2021-04-21 가상 및 증강 현실의 개인화되고 커스터마이즈된 피트니스 훈련 활동 또는 게임, 방법들, 디바이스들, 및 시스템들

Country Status (7)

Country Link
US (2) US11872465B2 (ko)
EP (1) EP4139013A4 (ko)
JP (1) JP2023530560A (ko)
KR (1) KR20230006857A (ko)
CN (1) CN115702030A (ko)
CA (1) CA3180827A1 (ko)
WO (1) WO2021214695A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11360733B2 (en) 2020-09-10 2022-06-14 Snap Inc. Colocated shared augmented reality without shared backend
US20230285805A1 (en) * 2022-03-10 2023-09-14 Google Llc Tracking repetitions by head-mounted device based on distance
WO2024044184A1 (en) * 2022-08-25 2024-02-29 Snap Inc. External computer vision for an eyewear device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202017104928U1 (de) * 2016-08-23 2017-11-24 Google Inc. Manipulation virtueller Objekte anhand von Controllern mit sechs Freiheitsgraden in erweiterten bzw. virtuellen Realitätsumgebungen
US10971030B2 (en) * 2017-01-26 2021-04-06 International Business Machines Corporation Remote physical training
US20190160339A1 (en) * 2017-11-29 2019-05-30 Board Of Trustees Of Michigan State University System and apparatus for immersive and interactive machine-based strength training using virtual reality
US11590402B2 (en) 2018-05-31 2023-02-28 The Quick Board, Llc Automated physical training system
US11870972B2 (en) * 2018-10-02 2024-01-09 Within Unlimited, Inc. Methods, systems and devices supporting real-time shared virtual reality environment

Also Published As

Publication number Publication date
JP2023530560A (ja) 2023-07-19
WO2021214695A1 (en) 2021-10-28
US20210362029A1 (en) 2021-11-25
CN115702030A (zh) 2023-02-14
EP4139013A1 (en) 2023-03-01
US20230244304A1 (en) 2023-08-03
EP4139013A4 (en) 2024-05-29
CA3180827A1 (en) 2021-10-28
US11872465B2 (en) 2024-01-16

Similar Documents

Publication Publication Date Title
Gray Transfer of training from virtual to real baseball batting
KR20230006857A (ko) 가상 및 증강 현실의 개인화되고 커스터마이즈된 피트니스 훈련 활동 또는 게임, 방법들, 디바이스들, 및 시스템들
US9573035B2 (en) Athletic training data collection dynamic goal and personified sporting goal method apparatus system and computer program product
US20170157482A1 (en) Athletic training, data collection, dynamic, and personified sporting method, apparatus, system, and computer program product
CN102331840B (zh) 基于回环运动的用户选择和导航
Jauregui et al. Toward" pseudo-haptic avatars": Modifying the visual animation of self-avatar can simulate the perception of weight lifting
AU2017331639A1 (en) A system and method to analyze and improve sports performance using monitoring devices
CN106310660A (zh) 一种基于力学可视化的虚拟足球运动控制***
TWI631975B (zh) 團隊運動虛擬實境訓練系統
KR102242994B1 (ko) 인공 신경망을 이용하여 사용자 맞춤형 골프 클럽을 추천하는 방법 및 장치
CN110989839B (zh) 人机对战的***和方法
Petri et al. Using several types of virtual characters in sports-a literature survey
Oagaz et al. Real-time posture feedback for effective motor learning in table tennis in virtual reality
US20220401841A1 (en) Use of projectile data to create a virtual reality simulation of a live-action sequence
Petri et al. Development of an autonomous character in karate kumite
Brault et al. Virtual kicker vs. real goalkeeper in soccer: a way to explore goalkeeper’s performance
CN112621773A (zh) 陪练机器人控制方法、***、设备及存储介质
CN104258555A (zh) 采用rgbd视觉传感的双拳击球健身交互***
Bačić Towards the next generation of exergames: Flexible and personalised assessment-based identification of tennis swings
Santos Psychomotor learning in martial arts: An opportunity for user modeling, adaptation and personalization
CN111672089B (zh) 一种针对多人对抗类项目的电子计分***及实现方法
WO2020122550A1 (ko) 스크린 축구 시스템 및 스크린 축구 제공방법
Dabnichki Computers in sport
US11331551B2 (en) Augmented extended realm system
KR102666604B1 (ko) 메타버스 기반 골프 훈련 시스템

Legal Events

Date Code Title Description
A201 Request for examination