KR20200050869A - 맞춤형 햅틱 재생을 제공하기 위한 시스템들 및 방법들 - Google Patents

맞춤형 햅틱 재생을 제공하기 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20200050869A
KR20200050869A KR1020190133734A KR20190133734A KR20200050869A KR 20200050869 A KR20200050869 A KR 20200050869A KR 1020190133734 A KR1020190133734 A KR 1020190133734A KR 20190133734 A KR20190133734 A KR 20190133734A KR 20200050869 A KR20200050869 A KR 20200050869A
Authority
KR
South Korea
Prior art keywords
haptic
user
content
processor
track
Prior art date
Application number
KR1020190133734A
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 KR20200050869A publication Critical patent/KR20200050869A/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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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/013Eye 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0414Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
    • 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/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 명세서에 개시된 하나의 예시적인 시스템은 메모리 및 메모리와 통신하는 프로세서를 포함하는 컴퓨팅 디바이스를 포함한다. 프로세서는 사용자에게 제공될 수 있는 콘텐츠를 생성할 수 있다. 프로세서는 콘텐츠에서 다양한 콘텐츠 요소들과 연관된 다양한 햅틱 트랙들을 나타내는 데이터를 획득할 수 있다. 프로세서는 다양한 콘텐츠 요소들의 특정 콘텐츠 요소와 연관된 다양한 햅틱 트랙들 중 햅틱 트랙의 선택을 결정할 수 있다. 프로세서는 햅틱 트랙의 특성을 결정할 수 있고, 그런 다음 햅틱 트랙과 연관된 햅틱 신호를 햅틱 출력 디바이스에 송신하고, 이는 햅틱 신호를 수신하고 햅틱 트랙을 출력할 수 있다.

Description

맞춤형 햅틱 재생을 제공하기 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR PROVIDING CUSTOMIZABLE HAPTIC PLAYBACK}
본 개시는 일반적으로 사용자 인터페이스 디바이스들에 관한 것이다. 보다 구체적으로, 하지만 비한정적으로, 본 개시는 맞춤형 햅틱 재생을 제공하기 위한 시스템들 및 방법들에 관한 것이다.
디스플레이 디바이스들은 모의 환경(예를 들어, 가상 또는 증강 현실 환경) 또는 비디오와 같은 콘텐츠를 제공하기 위해 사용될 수 있다. 콘텐츠가 사용자에게 제공될 때, 또는 사용자가 콘텐츠와 상호 작용할 때, 현대의 많은 사용자 인터페이스 디바이스들이 사용자에게 햅틱 피드백을 제공하기 위해 사용될 수 있다.
그러나, 많은 사용자 인터페이스 디바이스들 또는 피드백 시스템들은 사용자와 관련된 콘텐츠에 대응하는 햅틱 피드백을 제공하는 능력이 부족할 수 있다.
본 개시의 다양한 실시예들은 맞춤형 햅틱 재생을 제공하기 위한 시스템들 및 방법들을 제공한다. 하나의 예시적인 시스템은, 비일시적 컴퓨터 판독가능 매체; 및 비일시적 컴퓨터 판독가능 매체에 통신 가능하게 결합된 프로세서를 포함하고, 프로세서는, 비일시적 컴퓨터 판독가능 매체에 저장된 프로세서 실행가능 명령어들을 실행하여, 사용자에게 제공될 콘텐츠를 획득하고; 콘텐츠의 복수의 콘텐츠 요소와 연관된 복수의 햅틱 트랙을 식별하는 데이터를 획득하고; 복수의 콘텐츠 요소 중 콘텐츠 요소의 선택을 결정하고; 복수의 햅틱 트랙 중 햅틱 트랙을 식별하고, 햅틱 트랙은 선택된 콘텐츠 요소와 연관되고; 햅틱 트랙에 기초하여 햅틱 효과를 결정하고; 콘텐츠에 기초하여 콘텐츠 신호를 출력 디바이스에 송신하고, 출력 디바이스는 콘텐츠의 적어도 일부를 출력하도록 구성되고; 햅틱 신호를 햅틱 출력 디바이스에 송신하고, 햅틱 신호는 햅틱 출력 디바이스로 하여금 콘텐츠의 적어도 일부에 대응하는 햅틱 효과를 출력하게 하도록 구성된다.
하나의 예시적인 방법은 사용자에게 제공될 콘텐츠를 획득하는 단계; 콘텐츠의 복수의 콘텐츠 요소와 연관된 복수의 햅틱 트랙을 식별하는 데이터를 획득하는 단계; 복수의 콘텐츠 요소 중 콘텐츠 요소의 선택을 결정하는 단계; 복수의 햅틱 트랙 중 햅틱 트랙을 식별하는 단계 - 햅틱 트랙은 선택된 콘텐츠 요소와 연관됨 -; 햅틱 트랙에 기초하여 햅틱 효과를 결정하는 단계; 햅틱 효과의 특성을 결정하는 단계; 콘텐츠에 기초하여 콘텐츠 신호를 출력 디바이스에 송신하는 단계 - 출력 디바이스는 콘텐츠의 적어도 일부를 출력하도록 구성됨 -; 및 햅틱 신호를 햅틱 출력 디바이스에 송신하는 단계 - 햅틱 신호는 햅틱 출력 디바이스로 하여금 특성에 기초하며 콘텐츠의 적어도 일부에 대응하는 햅틱 효과를 출력하게 하도록 구성됨 - 를 포함한다.
이러한 예시적인 실시예들은 본 주제(subject matter)의 제약사항을 한정하거나 정의하는 것이 아니라 그 이해를 돕기 위한 예들을 제공하기 위해 언급된다. 예시적인 실시예들이 상세한 설명에서 논의되고, 추가 설명이 거기에 제공된다. 다양한 실시예들에 의해 제공되는 이점들은, 본 명세서를 검토하는 것에 의해, 및/또는 청구된 대상의 하나 이상의 실시예들을 실시하는 것에 의해, 더 이해될 수 있다.
본 명세서에 포함되어 본 명세서의 일부를 구성하는 첨부 도면들은 하나 이상의 특정 예를 예시하고, 예에 대한 설명과 함께, 특정 예들의 원리 및 구현예를 설명하는 역할을 한다.
도 1 내지 2는 맞춤형 햅틱 재생을 제공하기 위한 예시적인 시스템들을 도시하고;
도 3은 맞춤형 햅틱 재생을 제공하기 위한 예시적인 컴퓨팅 디바이스를 도시하고;
도 4는 예시적인 모의 현실 환경 및 헤드셋을 도시하고;
도 5는 맞춤형 햅틱 재생을 제공하기 위한 예시적인 방법을 도시한다.
본 명세서에서는, 예들이 맞춤형 햅틱 재생을 제공하기 위한 시스템들 및 방법들의 맥락에서 설명된다. 본 기술분야의 통상의 기술자는 이하의 설명이 단지 예시적이고 어떠한 방식으로도 한정하는 것으로 의도되지 않음을 이해할 것이다. 이제 첨부 도면들에 도시된 바와 같이, 예들의 구현예를 상세히 참조할 것이다. 동일한 참조 부호들은 도면들과 이하의 설명 전반에 걸쳐 동일하거나 유사한 항목들을 지칭하기 위해 사용될 것이다.
명확성을 위해, 본 명세서에 설명된 예들의 모든 일상적인 특징들이 도시되고 설명되는 것은 아니다. 물론, 임의의 이러한 실제 구현예의 개발에 있어서, 애플리케이션 및 비즈니스 관련 제약사항들의 준수와 같은 개발자의 특정 목표들을 달성하기 위해 수많은 구현예 특정의 결정들이 이루어져야 한다는 것을 이해할 것이고, 이러한 특정 목표들은 구현예마다 개발자마다 달라질 것이다.
가상 현실(virtual reality)("VR") 또는 증강 현실(augmented reality)("AR") 환경(이들 모두는 "모의 현실(simulated reality)" 또는 "SR"의 유형임)의 맥락에서, 사용자는 모의 현실 영화와 유사하게 사전 녹화된 이벤트들을 시청하거나, 비디오 게임들을 재생하거나, 여행할 필요없이 실세계 환경들을 탐험하거나, 무수한 용도 중 임의의 것을 탐험할 수 있다. 몰입 SR 환경은 SR 환경 내의 물체들 또는 이벤트들에 관련된 촉각 느낌(tactile sensation)들을 제공하기 위한 햅틱 효과들을 포함할 수 있다. 그러나, 이러한 햅틱 효과들은 많은 상이한 발생들로부터 생겨날 수 있지만, 사용자는 환경 내의 특정 캐릭터와 같은 특정한 어떤 것에 집중하기를 원할 수 있다. 따라서, 예시적인 SR 환경은 사용자로 하여금 관심있는 항목들 또는 이벤트들을 선택할 수 있게 하고 그러한 항목들에 관련된 햅틱들에 SR-제공된(SR-provided) 햅틱 효과들을 집중시킬 수 있게 한다. 그 후, SR 시스템은 그러한 항목들과 연관된 햅틱 효과들을 우선 순위 지정하거나 강조할 수 있거나, 그러한 항목들과 관련이 없는 햅틱 효과들을 걸러낼 수 있다(filter out).
따라서, "햅틱 트랙들(haptic tracks)"로도 지칭될 수 있는 햅틱 효과들의 이러한 세트들은 사용자에게 선택적으로 이용 가능하게 되거나, 이용 불가능하게 되거나, 강조되거나, 강조되지 않거나, 달리 우선 순위 지정될 수 있다. 우선 순위 지정될 햅틱 트랙들은, 물체, 캐릭터 등에 대한 사용자의 명시적인 선택, 또는 심지어 관심있는 햅틱 트랙들(또는 트랙들) 그 자체에 기초할 수 있다. 대안적으로, 햅틱 트랙들은, SR 환경 내에 사용자 입력으로부터 추론되는 응시 추적(gaze tracking)을 통해, SR 환경 내의 장면에서 웃거나 영화의 특정 캐릭터 부류를 표현하는 사용자와 같은, 콘텐츠에 관한 가청 신호(audible cue)를 검출하는 것에 의해, 또는 무기를 조준하는 것 등에 의해, 특정 물체에 대한 사용자의 명백한 집중에 기초하여 선택될 수 있다.
이러한 기능성(functionality)을 제공하기 위해, 하나의 예시적인 실시예는 콘텐츠(예를 들어, 가상 또는 증강 현실 환경, 비디오, 사용자 인터페이스 등)를 생성하고 출력할 수 있는 컴퓨팅 디바이스를 포함한다. 컴퓨팅 디바이스의 메모리는 캐릭터, 물체, 이벤트 등과 연관된 다양한 햅틱 트랙들에 대응하는 데이터를 포함하는 데이터베이스를 포함할 수 있다. 햅틱 트랙은 제공되고 있는 콘텐츠에서 발생하는 이벤트들에 대응하는 일련의 햅틱 효과 또는 햅틱 효과(예를 들어, 진동)를 포함할 수 있다.
예를 들어, 비디오가 일련의 폭발을 포함하는 경우, 햅틱 트랙(들)은 각각의 폭발에 대응하는 일련의 진동일 수 있다. 이 예에서, 사용자는, 관심있는 특정 캐릭터, 물체, 이벤트 등, 또는 사용자가 인식하길 원하는 관심있는 햅틱 트랙을 나타내기 위해 사용자 입력을 제공할 수 있다. 예를 들어, 비디오가 제1 캐릭터 및 제2 캐릭터를 포함하는 경우, 제1 캐릭터는 제1 햅틱 트랙과 연관될 수 있고 제2 캐릭터는 제2 햅틱 트랙과 연관될 수 있고, 사용자는 (예를 들어, 그래픽 사용자 인터페이스를 통해 특정 햅틱 효과 또는 캐릭터를 선택하는 것, 햅틱 트랙에 관한 데이터 또는 특정 캐릭터를 바라보는 것, 캐릭터, 물체 등의 근처에서 이동하는 것에 의해) 제1 햅틱 트랙의 선택을 나타내는 사용자 입력을 제공할 수 있다. 이 예에서, 사용자는 또한, 제2 햅틱 트랙을 음소거(mute)하기 위해 사용자 입력을 제공할 수 있다.
이 예시적인 예에서, 컴퓨팅 디바이스의 프로세서는 또한, 사용자를 위해 관심있는 특정 캐릭터, 물체, 이벤트 등, 또는 관심있는 햅틱 트랙을 자동으로 선택할 수 있다. 예로서, 콘텐츠가 제1 햅틱 트랙과 연관된 제1 캐릭터 및 제2 햅틱 트랙과 연관된 제2 캐릭터를 포함하는 SR 환경을 포함하는 경우, 프로세서는, 사용자와 제1 캐릭터 또는 제2 캐릭터 사이의 가상 거리, 또는 사용자의 시야(field of view) 또는 눈 응시(eye gaze) 방향에 기초하여 햅틱 트랙을 선택할 수 있다. 예를 들어, 사용자가 SR 환경과 상호 작용할 때, 사용자가 제1 캐릭터에 비하여 제2 캐릭터에 더 근접한(SR 환경 내에서 또는 "가상적으로 더 근접한") 경우, 프로세서는 제2 캐릭터와 연관된 제2 햅틱 트랙을 자동으로 선택할 수 있다. 다른 예로서, 컴퓨팅 디바이스는 사용자에게 제공된 콘텐츠에 대하여 사용자의 시야를 검출하기 위한 센서를 갖는 디스플레이 디바이스를 포함할 수 있다. 센서는 신호를 프로세서에 송신할 수 있고, 이는 사용자의 눈 응시가 제2 캐릭터에 비하여 제1 캐릭터에 더 집중되는 것으로 결정한다. 이 예에서, 프로세서는, 사용자가 제1 캐릭터에 더 집중되어 있다는 결정에 응답하여 제1 캐릭터와 연관된 제1 햅틱 트랙을 자동으로 선택할 수 있다.
예시적인 실시예를 계속하여, 사용자는 관심있는 선택된 햅틱 트랙을 수정하기 위해 사용자 입력을 제공할 수 있다. 예로서, 사용자는, 선택된 햅틱 트랙의 특성(예를 들어, 강도, 주파수, 햅틱 트랙을 출력하기 위해 사용할 햅틱 출력 디바이스의 유형 등) 또는 햅틱 트랙의 햅틱 효과를 수정하기 위해 사용자 입력을 제공할 수 있다. 예로서, 컴퓨팅 디바이스는, 사용자가 (예를 들어, 터치 감지 표면을 터치하는 것에 의해) 사용자 입력을 제공할 수 있는, 터치 감지 표면을 포함할 수 있다. 터치 감지 표면은, 사용자의 터치 감지 표면과의 접촉의 압력량을 검출하는 압력 센서를 포함할 수 있다. 예를 들어, 프로세서는, 햅틱 트랙을 수정하여, 사용자의 접촉의 압력량이 임계값을 상회한다는 결정에 응답하여 진동 강도를 증가시켜 진동의 크기를 증가시키려는 사용자의 의도를 나타낼 수 있거나, 반대로 동일하거나 다른 임계값 미만으로 인가된 압력에 기초하여 진동의 강도를 감소시켜 진동 강도를 감소시키려는 소망을 나타낼 수 있다.
다른 예에서, 프로세서는 검출된 사용자 움직임에 기초하여 선택된 햅틱 트랙의 특성을 결정하거나 수정할 수 있다. 예를 들어, 사용자는 사용자에 의한 움직임(예를 들어, 제스처)을 검출하거나 감지하기 위한 센서를 포함하는 사용자 디바이스를 소지하거나 착용하고 있을 수 있고, 사용자의 움직임은 햅틱 효과의 특성을 수정하기 위해 사용될 수 있다. 예를 들어, 사용자는 손(예를 들어, 사용자가 사용자 디바이스를 착용하고 있거나 사용자 디바이스를 소지하고 있는 손)을 올릴 수 있고, 사용자 디바이스의 센서는 사용자의 움직임을 검출할 수 있다. 이 예에서, 센서는 검출된 움직임을 나타내는 하나 이상의 신호를 프로세서에 송신할 수 있고, 이는 예를 들어, 사용자가 손을 들어 올리고 있다는 결정에 응답하여 햅틱 트랙의 크기를 증가시킴으로써, 또는 사용자가 손을 내린 경우, 이를 강조하지 않음으로써, 검출된 움직임에 기초하여 선택된 햅틱 트랙의 특성을 결정하거나 수정할 수 있다.
다른 예로서, 프로세서는 사용자의 시야 또는 눈 응시의 방향에 기초하여 선택된 햅틱 트랙의 특성을 결정하거나 수정할 수 있다. 예를 들어, 컴퓨팅 디바이스는 사용자에게 제공된 콘텐츠에 대하여 사용자의 응시 방향을 검출하기 위한 센서를 갖는 디스플레이 디바이스를 포함할 수 있다. 센서는 프로세서에 신호를 송신할 수 있고, 이는 사용자의 눈 응시가 선택된 제1 햅틱 트랙과 연관된 제1 캐릭터에 집중된 것으로 결정한다. 이 예에서, 프로세서는, 사용자가 제1 캐릭터에 집중되어 있다는 결정에 응답하여, 햅틱 트랙이 하나 이상의 강한 진동을 포함하는 것으로 결정할 수 있다.
또 다른 예로서, 콘텐츠가 모의 현실 환경을 포함하는 경우, 프로세서는, 선택된 제1 햅틱 트랙과 연관된 제1 캐릭터와 사용자 사이의 가상 거리에 기초하여, 선택된 햅틱 트랙의 특성을 결정하거나 수정할 수 있다. 예를 들어, 사용자가 모의 현실 환경과 상호 작용할 때, 사용자가 제1 캐릭터에 근접한 경우, 프로세서는, 사용자가 제1 캐릭터에 근접해 있다는 결정에 응답하여 제1 캐릭터에 대한 햅틱 트랙이 진동 크기를 증가시키는 것을 결정할 수 있다.
일부 예에서, 프로세서는, 하나 이상의 햅틱 트랙에 대한 사용자의 선택에 관한 이력 또는 실시간 데이터 또는 햅틱 트랙의 특성에 기초하여, 사용자에 의해 선택될 수 있는 햅틱 트랙 또는 선택 가능한 햅틱 트랙의 특성을 예측하도록, 기계 학습 기술(machine learning technique)을 훈련시킬 수 있다. 예를 들어, 프로세서는, 사용자에 의해 선택된 햅틱 트랙과 유사한 하나 이상의 햅틱 트랙을 선택하는 것을 예측하거나 추천하도록, 기계-학습 알고리즘을 훈련시킬 수 있다.
예시적인 실시예에서, 프로세서는 선택된 햅틱 트랙과 연관된 햅틱 신호를 햅틱 출력 디바이스(예를 들어, 컴퓨팅 디바이스의 햅틱 출력 디바이스 또는 사용자와 연관된 사용자 디바이스의 햅틱 출력 디바이스)에 송신할 수 있다. 햅틱 출력 디바이스는 프로세서로부터 햅틱 신호를 수신하고 햅틱 신호에 기초하여 선택된 햅틱 트랙을 출력하도록 구성된다. 예시적인 실시예에서, 햅틱 트랙은 사용자에게 흥미로운 콘텐츠와 관련된 하나 이상의 이벤트에 대응하는 햅틱 효과들을 포함할 수 있다. 예를 들어, 사용자가 제1 캐릭터와 연관된 제1 햅틱 트랙을 선택하는 경우, 햅틱 출력 디바이스는 제1 햅틱 트랙을 출력할 수 있고, 이는 사용자로 하여금 제1 캐릭터와 연관된 햅틱 효과들을 인식할 수 있게 한다. 따라서, 예를 들어, 사용자는 관심있는 특정 캐릭터, 물체, 이벤트 등에 관련될 햅틱 재생, 또는 사용자가 인식하길 원하는 관심있는 햅틱 트랙을 맞춤화할 수 있다.
이 예시적인 예는 본 명세서에 논의된 일반적인 주제를 독자에게 소개하기 위해 제공되고, 본 개시는 이 예에 한정되지 않는다. 이하의 섹션들은 맞춤형 햅틱 재생을 제공하기 위한 시스템들 및 방법들의 예들 및 다양한 추가적인 비한정적 예들에 대해 설명한다.
이제 도 1을 참조하여, 도 1은 일 실시예에 따른 맞춤형 햅틱 재생을 제공하기 위한 시스템을 도시한 블록도이다. 예시적인 시스템은 서버(120)와 무선 통신하는 2개의 사용자 디바이스(110a 내지 110b)를 포함한다. 이 예에서, 사용자 디바이스들(110a 내지 110b)은 서버(120)로부터 콘텐츠를 수신하여 그들 각각의 사용자(102, 104)에게 콘텐츠를 제공하는 컴퓨팅 디바이스들이다. 콘텐츠는 오디오, 비디오(파노라마식, 전개 가능한(pannable) 또는 360도 비디오 콘텐츠를 포함함), 게임 콘텐츠, 영화, 텍스트, SR 환경 등을 비롯하여, 출력 디바이스에 의해 사용자에게 출력될 수 있는 임의의 적합한 형태의 콘텐츠일 수 있다. "전개 가능한" 비디오 콘텐츠는, 사용자가 상이한 배향 및 위치를 통해 그들의 시청 디바이스(viewing device)(예를 들어, 스마트 폰)를 이동시키는 것 등에 의해, 사용자가 상이한 유리한 점들(vantage points)로부터 시청할 수 있는 비디오 콘텐츠를 지칭한다. 배향 또는 위치에서의 그러한 변화는 비디오 내의 시점에서의 변화를 초래하고 비디오 콘텐츠 내의 장면들의 상이한 양상들을 시청할 수 있게 한다. 또한, 콘텐츠는 하나 이상의 관련 햅틱 트랙을 가질 수 있다. 각각의 햅틱 트랙은 콘텐츠 자체 또는 콘텐츠 내의 하나 이상의 콘텐츠 요소와 연관될 수 있고, 이하 더 상세히 논의되는 바와 같이, 출력에 대해 식별될 수 있다.
햅틱 트랙들은, 영화, 텔레비전("TV") 쇼, 비디오 게임 등의 콘텐츠 특징들 자체를 포함할 수 있는, 콘텐츠 항목 또는 콘텐츠 특징의 하나 이상의 양상과 연관된 햅틱 정보와 일반적으로 관련된다. 콘텐츠 특징에 대한 햅틱 트랙은 콘텐츠 특징과 연관된 메타데이터 또는 파일에 의해 참조되거나 이에 설명된 하나 이상의 햅틱 효과를 포함할 수 있다. 예를 들어, 360도 영화는 비디오 정보의 하나 이상의 트랙, 오디오 정보의 하나 이상의 트랙, 및 햅틱 정보의 하나 이상의 트랙을 가질 수 있다. 따라서, 햅틱 트랙은 콘텐츠 특정 트랙들로부터 분리될 수 있지만, 햅틱 트랙 내의 햅틱 정보를 오디오 또는 비디오 트랙들의 일부와 연관시키는 정보를 포함할 수 있다. 예를 들어, 햅틱 트랙은 햅틱 효과들이 위치된 타임 라인을 포함할 수 있다. 오디오 및 비디오 트랙들이 출력될 때, 햅틱 트랙이 마찬가지로 "재생"되고, 햅틱 효과에 도달하면, 잠재적으로 오디오 또는 비디오 이벤트와 동기화된 햅틱 효과가 출력된다.
그러나, 일부 예에서, 햅틱 트랙은 햅틱 정보 및 관련 라벨들을 포함할 수 있다. 그 후, 오디오 또는 비디오 트랙들은 햅틱 트랙 내의 라벨들을 식별하는 메타데이터를 포함할 수 있다. 따라서, 오디오 및 비디오 트랙들이 출력될 때, 햅틱 트랙에서 라벨을 참조하는 메타데이터를 만나면, 대응하는 햅틱 효과가 햅틱 정보에 기초하여 출력될 수 있다.
대안적으로, 햅틱 트랙(들)은 오디오 또는 비디오 트랙들 내의 라벨들을 식별하는 메타데이터 태그들을 포함할 수 있다. 예를 들어, 오디오 또는 비디오 트랙들은 장면들 또는 이벤트들을 식별하는 라벨들을 포함할 수 있고, 오디오 및 비디오 트랙들이 출력될 때, 라벨들을 만날 수 있다. 그 후, 콘텐츠 재생기는 오디오 또는 비디오 트랙들의 라벨들과 연관된 햅틱 효과들을 식별하고 햅틱 효과들을 출력할 수 있다. 이러한 기술은 햅틱 트랙들이 생성될 수 있게 하고 초기에 햅틱화되지(haptified) 않았지만 콘텐츠에 대한 컨텍스트 정보(contextual information)를 식별하는 정보를 포함하는 기존 콘텐츠와 연관될 수 있게 한다. 예를 들어, 스트리밍 콘텐츠는, 온-스크린(on-screen) 행위자, 장면, 뮤지컬 작품명, 온-스크린 이벤트 등을 식별하는 것을 비롯하여, 하나 이상의 햅틱 트랙을 통해 콘텐츠 상에 추가된 햅틱 효과들과 동기화하는 데에 사용될 수 있는 광범위한 메타데이터를 포함할 수 있다.
위의 햅틱 트랙들은 다수의 햅틱 효과에 관한 햅틱 정보를 포함하는 것으로 설명되었지만, 햅틱 트랙은 단일 햅틱 효과만을 포함할 수 있거나, 햅틱 라이브러리 내 또는 서버에 원격으로 저장된 것과 같이 다른 위치에 저장된 햅틱 효과들을 단지 참조할 수 있음을 이해해야 한다.
도 1을 다시 참조하여, 이 예에서, 사용자 디바이스들(110a 내지 110b)은 각각 디스플레이, 스피커들을 갖는 헤드폰, SR 헤드셋의 위치뿐만 아니라 SR 헤드셋의 움직임도 검출하기 위해 사용될 수 있는 센서, 및 햅틱 출력 디바이스를 포함하는 SR 헤드셋이다. 센서들은 가속도계, 자이로스코프, 무선 라디오 주파수("RF") 수신기, 하나 이상의 광 검출기(예를 들어, 포토 다이오드), 카메라 및 초음파 변환기 등 중 하나 이상을 포함할 수 있다. 일부 예에서, 사용자 디바이스들(110a 내지 110b)은 사용자 디바이스 외부에 있는 센서들에 의해 검출될 수 있는 하나 이상의 송신기를 포함할 수 있다. 적합한 송신기들은 RF 송신기들, 발광기들(예를 들어, 발광 다이오드들) 등을 포함한다.
사용자들이 서버(120)에 의해 제공된 SR 환경과 상호 작용할 때, 사용자들은 환경 내의 물체들을 만나거나 이벤트들을 인식할 수 있다. 예를 들어, 사용자(102, 104)는 적, 벤더 등과 같은 가상의 비-경기자(non-player) 캐릭터들을 만나거나, 번개, 비, 폭발 등과 같은 이벤트들을 시청할 수 있다. 이런 콘텐츠 요소들 중 하나 이상은 각각의 SR 헤드셋에서 햅틱 출력 디바이스에 의해 출력될 수 있는 관련 햅틱 트랙을 가질 수 있다. 햅틱 트랙들은, 강우 또는 충격을 모의할 수 있거나 중요한 캐릭터로의 접근 등과 같은 정보를 제공할 수 있는, 하나 이상의 햅틱 효과를 지정할 수 있다. 일부 경우에, 사용자는 벤더와 같은 환경 내의 어떤 것에 자신의 주의를 집중하길 원할 수 있고, 이는 서버로 하여금 사용자에게 제공되는 햅틱 효과들을 맞춤화할 수 있게 한다.
예를 들어, 사용자(102, 104)는 SR 헤드셋이 SR 환경 내에서 벤더의 명백한 방향으로 배향되도록 자신의 머리 또는 신체(body)를 돌릴 수 있다. 그런 다음 사용자(102, 104)는 벤더를 바라볼 수 있다. 서버(120)는, 예를 들어, SR 헤드셋의 배향을 결정하는 것과 함께 또는 단독으로 응시 추적 기술들을 사용하는 것에 의해, 사용자가 벤더를 바라보고 있다는 것을 검출할 수 있다. 사용자의 응시가 벤더에게 있다고 결정되면, 서버(120)는 사용자(102, 104)가 벤더를 향해 이동하기 시작하는 것으로 검출할 수 있고, 서버(120)는 이를 이용하여 사용자(102, 104)가 벤더에게 집중되어 있다고 추론한다. 서버는 그 후, 사용자가 집중하고 있는 콘텐츠 요소로서 벤더를 선택하고, 벤더와 연관된 햅틱 트랙을 식별할 수 있다. 그런 다음, 서버(120)는 햅틱 효과의 특성, 예를 들어, 크기, 주파수, 지속 시간 등을 조정할 수 있다.
예를 들어, 서버(120)는, 게임-내 이벤트(in-game event) 또는 음식이나 물에 대한 긴급한 필요 등과 같은 조건에 기초하여, 벤더가 우호적인지 또는 적대적인지를, 사용자 또는 벤더에 기초하여, 예를 들어, SR 환경에서의 그들 사이의 거리에 기초하여, 특성을 조정할 수 있다. 그 후, 서버(120)는 SR 헤드셋으로 하여금 콘텐츠 및 대응하는 햅틱 트랙 둘 다를 출력할 수 있게 해주기 위해, 콘텐츠 신호들의 스트림뿐만 아니라 조정된 햅틱 트랙을 SR 헤드셋에 송신할 수 있다. 그런 다음, 이는 사용자가 집중을 변경하거나 벤더를 선택 해제할 때까지 연속적으로 계속될 수 있다.
콘텐츠 요소를 선택하고 대응하는 햅틱 트랙을 식별하는 것 외에, 서버(120)는 또한, 서버(120)가 사용자가 집중되어 있는 것으로 검출한 벤더 또는 다른 콘텐츠 요소와 연관된 햅틱 효과들을 사용자로 하여금 수신할 수 있게 해주기 위해, 달리(otherwise) 출력될 수 있는 다른 햅틱 효과들을 강조하지 않거나 이용 불가능하게 할 수 있다. 대안적으로, 사용자는, 예를 들어, 활성 탐색(active quest)을 선택하거나 스텔스(stealth) 또는 전투와 같은 특정 재생 모드로 들어가는 것에 의해, 관심있는 콘텐츠 요소들을 암시적으로 선택할 수 있거나, 예를 들어, 모의 현실 환경에서 물체를 명시적으로 선택하는 것에 의해 관심있는 특정 콘텐츠 요소들을 선택할 수 있다. 그러한 선택들을 이용하여, 서버(120)는 그 후, 다른 콘텐츠 요소들에 대한 햅틱 트랙들을 강조하지 않거나 이용 불가능하게 하면서, 관심있는 콘텐츠 요소들과 연관된 것들을 강조하기 위해 햅틱 트랙들을 맞춤화할 수 있다.
햅틱 트랙을 강조하는 것은, 예를 들어, 그 강도(즉, 그 크기)를 증가시키거나, 그 지속 시간 또는 반복 속도(repeat rate)를 증가시키는 것에 의해, 햅틱 트랙의 특성을 조정하는 것을 수반할 수 있다. 반대로, 햅틱 트랙은, 그 강도, 지속 시간 또는 반복 속도를 감소시킴으로써, 혹은 강조될 햅틱 트랙 이외의 다른 일부 또는 모든 햅틱 트랙들을 완전히 이용 불가능하게 함으로써, 강조되지 않을 수 있다. 서버(120)는 사용자 컨텍스트(user context)에 기초하여 이러한 햅틱 트랙들을 강조하지 않거나 이용 불가능하게 할 것인지를 결정할 수 있다. 예를 들어, 사용자가 전투에 참여하는 경우, 시스템은 사용자 인터페이스 구성요소들과 연관된 햅틱 트랙들을 강조하지 않지만, 그것들이 유용한 정보를 사용자에게 제공할 수 있도록 햅틱 트랙들을 여전히 출력할 수 있으나, 환경 조건들과 연관된 햅틱 트랙들을 이용 불가능하게 할 수 있다. 햅틱 트랙들의 또 다른 순열(permutation)들이 강조 또는 강조하지 않기 위해 이용될 수 있다.
도 1에 도시된 예시적인 시스템이 SR 환경과 관련하여 설명되었지만, 햅틱 트랙들에는 영화 또는 다른 비디오 콘텐츠와 같은 다른 종류의 콘텐츠가 제공될 수 있다. 그러한 경우에, 사용자는 하나 이상의 관심있는 캐릭터 또는 관심있는 장면을 선택할 수 있고, 이는 서버로 하여금 선택된 캐릭터 또는 미래에 제공될 선택된 장면들 또는 유사한 장면들과 연관된 햅틱 트랙들을 강조할 수 있게 한다. 추가 예들이 하기에 더 상세하게 설명될 것이다.
또한, 도 1에 도시된 시스템(100)은 공통 위치에서 SR 환경에 참여하는 2명의 사용자(102, 104)를 도시하지만, 본 개시에 따른 예시적인 시스템들은, 단 한명의 사용자로부터 서버(120)(또는 다수의 서버)에 의해 제공되는 컴퓨팅 자원들에 의해서만 한정되는 임의의 수의 사용자까지의, 임의의 적절한 수의 사용자를 수용할 수 있음을 이해해야 한다.
이제 도 2를 참조하여, 도 2는 맞춤형 햅틱 재생을 제공하기 위한 예시적인 시스템(200)을 도시한다. 이 예에서, 2개의 사용자 디바이스들(210a 내지 210b)은 하나 이상의 통신 네트워크(230)를 통해 원격 서버(220)와 통신한다. 이 예에서, 사용자 디바이스들(210a 내지 210b)은 컴퓨팅 디바이스를 포함하고, VR 또는 AR 헤드셋과 같은 하나 이상의 다른 관련 디바이스, 하나 이상의 사용자 인터페이스 디바이스(예를 들어, 게임 컨트롤러, 스타일러스, 구동 휠 및 페달 등), 하나 이상의 웨어러블 디바이스 등을 더 포함할 수 있다. 각각의 사용자 디바이스(210a 내지 210b)는 각각 서로 동일한 환경에 참여하거나, 각각의 사용자는 영화, 비디오, 비디오 게임, 음악 등과 같은 그 자신의 특정 콘텐츠를 서버(220)로부터 획득할 수 있다. 따라서, 도 1에 도시된 시스템(100)은 서버(120)와 본질적으로 동일한 위치에 있는 사용자 디바이스들(110a 내지 110b)을 도시하지만, 도 2의 시스템(200)은 사용자로 하여금 원격 서버(220)로부터 콘텐츠를 획득할 수 있게 해준다. 서버(220)는 여전히, 본 명세서에 논의된 선택된 콘텐츠 요소들에 기초하여 관련 햅틱 트랙들 및 맞춤형 햅틱 트랙들뿐만 아니라, 하나 이상의 사용자 디바이스(210a 내지 210b)에 콘텐츠를 제공할 수 있다.
이제 도 3을 참조하여, 도 3은 본 개시에 따른 맞춤형 햅틱 재생을 제공하기 위한 예시적인 컴퓨팅 디바이스(300)를 도시한다. 컴퓨팅 디바이스(300)는 버스(306)를 통해 다른 하드웨어와 통신하는 프로세서(302)를 포함한다. 컴퓨팅 디바이스(300)는, 예를 들어, 개인용 컴퓨터, 모바일 디바이스(예를 들어, 스마트 폰), 헤드 마운티드 디스플레이(head-mounted display), 휴대용 디바이스(예를 들어, 태블릿), 또는 임의의 다른 유형의 사용자 디바이스일 수 있다. 일부 예에서, 컴퓨팅 디바이스(300)는 사용자에게 콘텐츠(예를 들어, 텍스트, 이미지, 사운드, 비디오, 가상 또는 증강 현실 환경 등)를 제공하기 위해 사용될 수 있는 임의의 유형의 사용자 인터페이스 디바이스일 수 있다. 일부 예에서, 컴퓨팅 디바이스(300)는 콘텐츠와 상호 작용(예를 들어, 증강 또는 가상 현실 환경과 같은 모의 현실 환경과 상호 작용)하기 위해 사용될 수 있는 임의의 유형의 사용자 인터페이스 디바이스일 수 있다.
임의 접근 메모리("RAM"), 읽기 전용 메모리("ROM"), 소거 가능한 및 프로그램 가능한 읽기 전용 메모리("EEPROM")와 같은 임의의 적합한 유형의(tangible)(및 비일시적) 컴퓨터 판독가능 매체일 수 있는 메모리(304) 등은, 컴퓨팅 디바이스(300)의 동작을 구성하는 프로그램 구성요소들을 구현한다. 도시된 실시예에서, 컴퓨팅 디바이스(300)는 하나 이상의 네트워크 인터페이스 디바이스(308), 입력/출력(I/O) 인터페이스 구성요소(310) 및 스토리지(312)를 더 포함한다.
네트워크 인터페이스 디바이스(308)는 네트워크 연결을 용이하게 하는 임의의 구성요소들 중 하나 이상을 나타낼 수 있다. 예들은, 이더넷, USB, IEEE 1394와 같은 유선 인터페이스, 및/또는 IEEE 802.11, 블루투스, 또는 셀룰러 전화 네트워크들에 액세스하기 위한 라디오 인터페이스(예를 들어, CDMA, GSM, UMTS 또는 기타 모바일 통신 네트워크에 액세스하기 위한 송수신기/안테나)와 같은 무선 인터페이스를 포함하지만, 이들에 한정되지 않는다.
I/O 구성요소들(310)은 하나 이상의 디스플레이(314), 게임 컨트롤러, 키보드, 마우스, 조이스틱, 카메라, 버튼, 스피커, 마이크 및/또는 데이터를 입력하거나 출력하는 데에 사용되는 다른 하드웨어와 같은 디바이스들로의 유선 또는 무선 연결들을 용이하게 하기 위해 사용될 수 있다. 스토리지(312)는 컴퓨팅 디바이스(300)에 포함되거나 프로세서(302)에 결합된 자기, 광학 또는 다른 저장 매체와 같은 비휘발성 스토리지를 나타낸다.
일부 실시예에서, 컴퓨팅 디바이스(300)는 버스(306)에 통신 가능하게 연결될 수 있고 사용자의 촉각 입력을 감지하도록 구성될 수 있는 터치 표면(316)(예를 들어, 터치 패드 또는 터치 감지 표면)을 포함한다. 예를 들어, 터치 표면(316)은 (예를 들어, 물체가 터치 표면(316)에 접촉할 때) 터치 영역에서 터치를 검출하도록 구성되는 하나 이상의 터치 센서(도시되지 않음)를 포함할 수 있고, 터치와 연관된 신호들을 프로세서(302)에 송신한다. 일부 예에서, 터치 표면(316)은 터치 표면(316)에 내장될 수 있고, 터치의 위치와, 압력, 속도 및/또는 방향과 같은 터치에 관한 다른 정보를 결정하기 위해 사용될 수 있는 예를 들어, 저항성 및/또는 용량성 센서들과 같은 임의의 적절한 수의, 유형의 또는 배열의 터치 센서들을 포함할 수 있다. 따라서, 예를 들어, 컴퓨팅 디바이스(300)는 터치 표면(316)(예를 들어, 터치 감지 스크린)을 포함하는 스마트 폰일 수 있고, 터치 표면(316)의 터치 센서는 스마트 폰의 사용자가 터치 표면(316)을 터치할 때 사용자 입력을 검출할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(300)는 터치 표면(316)과 컴퓨팅 디바이스(300)의 디스플레이 디바이스(314)를 결합하는 터치-가능(touch-enabled) 디스플레이를 포함한다. 터치 표면(316)은 디스플레이 디바이스(314) 상에 오버레이될 수 있거나, 외부 디스플레이 디바이스(314)일 수 있거나, 디스플레이 디바이스(314)의 구성요소들 위의 하나 이상의 재료 층일 수 있다. 다른 실시예들에서, 컴퓨팅 디바이스(300)는 터치-가능 디스플레이 상에 하나 이상의 가상 사용자 인터페이스 구성요소(예를 들어, 버튼, 노브, 슬라이더 등)를 포함하는 그래픽 사용자 인터페이스("GUI")를 표시할 수 있고, 터치 표면(316)은 가상 사용자 인터페이스 구성요소들과 상호 작용을 허용할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(300)는 카메라(320)를 포함한다. 카메라(320)는 컴퓨팅 디바이스(300)의 내부에 있는 것으로 도 1에 도시되어 있지만, 일부 실시예에서, 카메라(320)는 컴퓨팅 디바이스(300)의 외부에 있을 수 있고 이와 통신할 수 있다. 예로서, 카메라(320)는, 예를 들어, 이더넷, USB, IEEE 1394와 같은 유선 인터페이스, 및/또는 IEEE 802.11, 블루투스 또는 래디오 인터페이스와 같은 무선 인터페이스를 통해 컴퓨팅 디바이스(300)의 외부에 있을 수 있고 이와 통신할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(300)는 하나 이상의 센서(318)를 포함한다. 일부 실시예에서, 센서(318)는, 예를 들어, 자이로스코프, 가속도계, 이미징 센서, 카메라, 자력계, 마이크로폰, 힘 센서, 압력 센서 및/또는 사용자에 관한 정보(예를 들어, 사용자의 움직임에 관한 정보)를 검출하거나, 모니터링하거나, 달리 포착할 수 있는 기타 센서를 포함할 수 있다. 예를 들어, 센서(318)는 웨어러블 센서, 휴대용 센서, 또는 사용자에 결합되거나(예를 들어, 부착되거나) 달리 사용자의 움직임(예를 들어, 사용자의 신체 부위의 움직임)을 포착하기 위해 사용자와 연관될 수 있는 임의의 센서일 수 있다. 일부 실시예에서, 센서(318)는 사용자의 움직임에 관한 정보를 나타내는 하나 이상의 센서 신호를 프로세서(302)에 송신할 수 있다. 예를 들어, 디바이스는 2개 이상의 차원에서 움직임의 표시들을 제공할 수 있는 2개 이상의 가속도계를 포함할 수 있다. 일부 예에서, 디바이스는 상이한 신체 부위들에 대한 사용자 움직임을 포착하기 위해 하나 이상의 센서를 사용할 수 있다. 예를 들어, 센서들은 사용자의 팔, 다리, 머리, 손, 손가락 등의 움직임을 검출할 수 있다. 다른 예로서, 센서(318)는 사용자의 물체와의 접촉의 압력량 또는 사용자의 접촉의 압력량의 변화에 관한 정보를 포착하는 압력 센서일 수 있다.
일부 실시예에서, 센서(318)는 컴퓨팅 디바이스의 사용자 또는 사용자 디바이스의 콘텐츠(예를 들어, 가상 또는 증강 현실 환경)와의 상호 작용에 관한 정보를 검출, 모니터링 또는 달리 포착할 수 있는 임의의 디바이스 또는 센서를 포함할 수 있다. 예를 들어, 센서(318)는, 사용자가 모의 현실 환경과 상호 작용할 때, 사용자의 움직임에 관한 정보를 포착할 수 있는 임의의 센서일 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(300)는 웨어러블 디바이스(예를 들어, 안경, 헤드셋 등)를 포함할 수 있고, 센서(318)는 컴퓨팅 디바이스(300)의 사용자의 시야, 시선, 또는 눈 응시를 검출하기 위한 임의의 디바이스를 포함할 수 있다. 예를 들어, 이제 도 4를 참조하여, 도 4는 하나 이상의 센서(412)를 포함하는 AR 또는 VR 헤드셋(410)을 포함하거나 이와 통신하는 컴퓨팅 디바이스(300)를 포함하는 예시적인 시스템(400)을 도시한다. 센서(들)(412)는 디스플레이 디바이스(314) 또는 다른 디스플레이 디바이스를 통해 표시되는 콘텐츠(예를 들어, 캐릭터, 물체, 가상 물체, 가상 애니메이션 등)에 대하여 사용자의 시야(420)의 방향을 검출할 수 있다. 이 예에서, 디스플레이 디바이스(314)는 다수의 가상 물체(430 내지 434)를 출력하고, 이들 물체 중 하나는 사용자의 시야(420) 내에 있다. 따라서, 이 예에서, 센서(412)는 사용자의 응시 또는 눈 방향을 검출하고 그러한 정보를 프로세서(302) 또는 다른 컴퓨팅 디바이스(예를 들어, 서버(120, 220))에 제공할 수 있고, 이는 사용자가 보고 있는 콘텐츠 요소, 예를 들어, 물체(432)를 결정할 수 있다.
일부 예에서, 센서(412)는 카메라를 포함할 수 있거나 카메라(320)에 통합될 수 있다. 이러한 센서는 컴퓨팅 디바이스(300)(이 예에서는 헤드셋(410))의 사용자의 눈의 이미지를 포착하도록 구성될 수 있고, 프로세서(302)는, 하나 이상의 눈-추적(eye-tracking) 또는 응시-추적(gaze-tracking) 방법들 및 기술들을 사용함으로써, 이미지에 적어도 부분적으로 기초하여 디스플레이 디바이스(314) 또는 다른 디스플레이 상의 콘텐츠에 대한 사용자의 시야의 방향을 결정할 수 있다. 다른 실시예에서, 센서(410)는 컴퓨팅 디바이스(300)의 사용자의 눈 또는 사용자의 눈 부근에서 근육들의 움직임들을 모니터링하도록 구성될 수 있고, 프로세서(302)는 모니터링된 움직임들에 적어도 부분적으로 기초하여 디스플레이 디바이스(314) 상의 콘텐츠에 대한 사용자의 시야의 방향을 결정하도록 구성된다. 또 다른 실시예에서, 센서(318)는 사용자의 눈을 움직이는 근육들의 전기적 활동을 모니터링하거나 측정하도록 구성될 수 있고, 프로세서(302)는 디스플레이 디바이스(314) 또는 다른 디스플레이 디바이스 상의 콘텐츠에 대한 사용자의 시야의 방향을 결정하도록 구성될 수 있다.
다시 도 3을 참조하여, 일부 실시예에서, 센서(318)는, 예를 들어, 기능적 자기 공명 영상(functional magnetic resonance imaging)("fMRI") 또는 뇌파(electroencephalogram)("EEG")와 연관된 센서들을 비롯하여, 사용자의 의도 또는 자유 의지를 결정하기 위해 사용되는 다른 센서들을 포함할 수 있다. 또 다른 실시예에서, 센서(318)는, 예를 들어, 사용자의 신체 또는 머리 자세(head posture)를 분석하는 것을 비롯하여, 다양한 방법들 및 기술들을 통해, 사용자의 눈 응시, 시선 또는 시야를 검출할 수 있다. 예로서, 센서(318)는, 헤드 마운티드 디스플레이에 포함되거나, 사용자의 머리의 움직임을 검출하거나 사용자의 머리 자세를 검출하고 사용자의 머리의 움직임에 관한 데이터 또는 사용자의 머리 자세에 관한 데이터를 프로세서(302)에 송신하기 위한 헤드 마운티드 센서일 수 있고, 이는 데이터에 기초하여 컴퓨팅 디바이스(300) 또는 사용자 디바이스(124)의 사용자의 시야 방향을 결정할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(300)는 프로세서(302)와 통신하는 햅틱 출력 디바이스(322)를 더 포함한다. 햅틱 출력 디바이스(322)는 햅틱 신호에 응답하여 햅틱 트랙 또는 햅틱 효과를 출력하도록 구성된다. 예를 들어, 햅틱 출력 디바이스(322)는 컴퓨팅 디바이스(300)의 프로세서(302)로부터의 햅틱 신호에 응답하여 햅틱 트랙을 출력할 수 있다. 일부 실시예에서, 햅틱 출력 디바이스(322)는, 예를 들어, 진동, 압착(squeeze), 꾹 찌르기(poke), 인지된 마찰 계수의 변화, 모의 텍스처, 타격 느낌(stroking sensation), 전기-촉각 효과, 표면 변형(예를 들어, 컴퓨팅 디바이스(300)와 연관된 표면의 변형), 및/또는 고체, 액체 또는 기체의 퍼프(puff)를 포함하는 햅틱 트랙을 출력하도록 구성된다. 또한, 일부 햅틱 트랙은 동일하거나 상이한 유형의 다수의 햅틱 출력 디바이스(322)를 순차적으로 및/또는 일제히 사용할 수 있다.
단일 햅틱 출력 디바이스(322)가 도 3에 도시되어 있지만, 일부 실시예는 햅틱 효과들을 생성하기 위해 동일하거나 상이한 유형의 다수의 햅틱 출력 디바이스(322)를 사용할 수 있다. 일부 실시예에서, 햅틱 출력 디바이스(322)는 컴퓨팅 디바이스(300)의 내부에 있거나 외부에 있어 (예를 들어, 이더넷, USB, IEEE 1394와 같은 유선 인터페이스, 및/또는 IEEE 802.11, 블루투스, 또는 라디오 인터페이스과 같은 무선 인터페이스를 통해) 컴퓨팅 디바이스(300)와 통신한다. 예를 들어, 햅틱 출력 디바이스(322)는 컴퓨팅 디바이스(300)와 연관되고(예를 들어, 그에 결합되거나 그 내부에 있고) 프로세서(302)로부터 햅틱 신호들을 수신하도록 구성될 수 있다.
햅틱 출력 디바이스(322)는, 예를 들어, 압전 액추에이터; 전기 모터; 전자기(electro-magnetic) 액추에이터; 보이스 코일(voice coil); 형상 기억 합금(shape memory alloy); 전기-활성 폴리머(electro-active polymer); 솔레노이드; 편심 회전 질량 모터(eccentric rotating mass motor)(ERM); 선형 공진 액추에이터(linear resonant actuator)(LRA); 회전 가능 또는 확장 가능 로터리 액추에이터(spinning or scalable rotary actuator)(SRA); 초음파 액추에이터; 압전 재료; 변형 디바이스; 정전식 액추에이터; 금속, 폴리머 또는 합성물을 포함하는 형상 기억 재료; 또는 솔레노이드 공명 액추에이터 중 하나 이상을 포함할 수 있다. 일부 실시예에서, 햅틱 출력 디바이스(322)는 (예를 들어, 컴퓨팅 디바이스(300)와 연관된 표면을 구부리거나 변형시키기 위한) 변형 햅틱 효과를 출력하도록 구성되는 유체(fluid)를 포함한다. 일부 실시예에서, 햅틱 출력 디바이스(322)는 기계적 변형 디바이스를 포함한다. 예를 들어, 일부 실시예에서, 햅틱 출력 디바이스(322)는 변형 구성요소를 회전시키는 아암(arm)에 결합된 액추에이터를 포함할 수 있다. 액추에이터는 압전 액추에이터, 회전/선형 액추에이터, 솔레노이드, 전기활성 폴리머 액추에이터(electroactive polymer actuator), 매크로 섬유 복합재(macro fiber composite)(MFC) 액추에이터, 형상 기억 합금(shape memory alloy)(SMA) 액추에이터 및/또는 다른 액추에이터를 포함할 수 있다. 본 명세서에 사용된 용어 "MFC 요소"는 액추에이터 및 센서 둘 다로 작용하는 구성요소 또는 요소를 지칭하는 데에 사용된다.
일부 실시예에서, 컴퓨팅 디바이스(300)는, 예를 들어, 모바일 디바이스(예를 들어, 스마트 폰), 스마트 워치, 헤드 마운티드 디스플레이, 웨어러블 디바이스, 휴대용 디바이스(예를 들어, 태블릿, 비디오 게임 컨트롤러) 또는 다른 유형의 사용자 인터페이스 디바이스일 수 있는 사용자 디바이스를 포함할 수 있다. 일부 예에서, 사용자 디바이스는 콘텐츠(예를 들어, 텍스트, 이미지, 사운드, 비디오, 가상 또는 증강 현실 환경 등)를 사용자에게 제공하기 위해 사용될 수 있는 임의의 유형의 사용자 인터페이스 디바이스일 수 있다. 일부 예에서, 사용자 디바이스는 콘텐츠와 상호 작용하기 위해(예를 들어, 증강 또는 가상 현실 환경과 같은 모의 현실 환경과 상호 작용하기 위해) 사용될 수 있는 임의의 유형의 사용자 인터페이스 디바이스일 수 있다.
컴퓨팅 디바이스(300)는 사용자에게 콘텐츠를 제공하고 맞춤형 햅틱 효과들을 제공하기 위해 사용될 수 있다. 예를 들어, 컴퓨팅 디바이스(300)는, 예를 들어, 디스플레이(314) 상에 이미지들을 표시함으로써, 사용자에게 콘텐츠를 제공할 수 있다. 이러한 콘텐츠는 메모리(304) 또는 스토리지(312)에 로컬로 저장될 수 있거나, 도 1 및 도 2에 대하여 전술한 바와 같은 원격 컴퓨팅 디바이스로부터 수신될 수 있다.
위에서 논의된 바와 같이, 콘텐츠는 하나 이상의 관련 햅틱 트랙을 가질 수 있다. 예를 들어, 콘텐츠 또는 콘텐츠 요소들과 하나 이상의 햅틱 트랙 사이의 대응 관계가 룩업 테이블 또는 데이터베이스에 저장될 수 있다. 각각의 햅틱 트랙은 사용자에게 제공되는 콘텐츠에서 캐릭터, 물체, 이벤트 등과 같은 하나 이상의 콘텐츠 요소와 연관될 수 있고, 각각의 콘텐츠 요소는 하나 이상의 햅틱 트랙과 연관될 수 있다. 햅틱 트랙은 제공된 콘텐츠 내의 콘텐츠 요소들에 대응하는 일련의 햅틱 효과들 또는 햅틱 효과(예를 들어, 진동, 마찰 효과, 변형 효과, 열 효과)를 포함할 수 있다. 일부 실시예에서, 상이한 햅틱 트랙들이 제공되고 콘텐츠의 특정 관점뿐만 아니라 콘텐츠 요소 둘 다와 연관될 수 있다. 예를 들어, 특정 콘텐츠 요소와 연관된 정면도는 하나의 햅틱 트랙을 가질 수 있고(예를 들어, 차량의 정면도는 엔진 햅틱 트랙을 가질 수 있고), 후면도는 다른 햅틱 트랙(예를 들어, 배기 장치(exhaust) 햅틱 트랙)을 가질 수 있다.
다른 예에서, 비디오가 캐릭터를 포함하는 경우, 햅틱 트랙은 비디오 내의 캐릭터와 연관된 각각의 액션(action) 또는 이벤트에 대응하는 일련의 진동 또는 다른 햅틱 효과들을 포함할 수 있고, 룩업 테이블 또는 데이터베이스는 캐릭터의 햅틱 트랙으로의 매핑을 나타내는 데이터를 포함할 수 있다. 이 예에서, 컴퓨팅 디바이스(300)는, 룩업 테이블 또는 데이터베이스에 액세스하고, 캐릭터와 햅틱 트랙 사이의 매핑을 나타내는 데이터를 표시하기 위한 대화식 사용자 인터페이스(interactive user interface)를 생성할 수 있다. 예로서, 대화식 사용자 인터페이스는 비디오에서, 각각의 캐릭터, 이벤트, 물체 등과 연관된 햅틱 트랙을 포함하는 메뉴, 리스트 등을 포함할 수 있다. 다른 예에서, 콘텐츠가 모의 현실 환경을 포함하는 경우, 햅틱 트랙은 모의 현실 환경의 다양한 시점들(예를 들어, 사용자 뒤에서의 시점, 사용자 앞에서의 시점 등)에 대응하는 다양한 햅틱 효과들을 포함할 수 있다. 이 예에서, 컴퓨팅 디바이스(300)는 룩업 테이블에 액세스하고 모의 현실 환경의 다양한 시점들과 다양한 햅틱 트랙들 사이의 매핑을 표시하는 대화식 사용자 인터페이스를 생성할 수 있다. 일부 실시예에서, 컴퓨팅 디바이스(300)는, 콘텐츠에서 각각의 캐릭터, 이벤트, 물체 등과 연관된 각각의 햅틱 트랙 및 각각의 캐릭터, 이벤트, 물체 등에 대한 각각의 시점을 표시하는 대화식 사용자 인터페이스를 생성할 수 있다.
예를 들어, 컴퓨팅 디바이스(300)는 캐릭터 또는 햅틱 트랙의 선택을 나타내는 대화식 사용자 인터페이스를 통해 사용자 입력을 수신할 수 있다. 예를 들어, 사용자는 제1 햅틱 트랙 또는 제1 캐릭터를 클릭하는 것, 제1 햅틱 트랙 또는 제1 캐릭터를 선택하기 위해 터치 표면(316) 또는 터치 표면(138)을 터치하는 것, (예를 들어, 사용자 디바이스(124)를 사용하여) 제1 햅틱 트랙 또는 제1 캐릭터를 가리키는 것 등에 의해, 관심있는 햅틱 트랙을 나타내는 사용자 입력을 제공할 수 있다. 이 예에서, 사용자는 또한, 제2 캐릭터와 연관된 제2 햅틱 트랙을 음소거하기 위해 사용자 입력을 제공할 수 있고, 이는 사용자로 하여금 제1 캐릭터에 더 집중할 수 있게 해준다.
일부 예에서, 컴퓨팅 디바이스(300)는, 사용자 선택을 획득하기 보다는, 사용자에게 제공되는 콘텐츠 내의 콘텐츠 요소와 연관된 햅틱 트랙을 자동으로(예를 들어, 사용자 입력 없이) 선택할 수 있다. 예를 들어, 컴퓨팅 디바이스(300)는 제1 햅틱 트랙과 연관된 제1 캐릭터 및 제2 햅틱 트랙과 연관된 제2 캐릭터를 갖는 모의 환경을 포함하는 디스플레이 디바이스(314) 또는 디스플레이 디바이스(136) 상에 출력될 콘텐츠를 제공할 수 있다. 캐릭터 또는 햅틱 트랙을 선택하기 위해, 컴퓨팅 디바이스(300)는 환경 내에서 사용자와 제1 또는 제2 캐릭터 사이의 거리를 결정할 수 있다. 거리는 모의 환경 내에서 사용자와 캐릭터들의 각각의 좌표를 사용하여, 또는 모의 환경 내에서 사용자와 다른 사용자(또는 다른 사용자의 아바타) 사이에, 결정될 수 있다.
사용자와 다른 캐릭터들 사이의 각각의 거리를 결정한 후, 컴퓨팅 디바이스(300)는 제1 가상 캐릭터가 제2 가상 캐릭터보다 사용자에 더 근접해 있는 것으로 결정할 수 있다. 이 예에서, 컴퓨팅 디바이스(300)는 그 후, 사용자와 제1 및 제2 캐릭터 사이의 결정된 거리에 기초하여 햅틱 트랙을 자동으로 선택할 수 있다. 예를 들어, 컴퓨팅 디바이스(300)는, 사용자가 제2 가상 캐릭터에 비하여 제1 가상 캐릭터에 더 근접해 있다는 결정에 응답하여, 제1 가상 캐릭터와 연관된 제1 햅틱 트랙을 자동으로 선택할 수 있다. 컴퓨팅 디바이스(300)는 또한, 제2 캐릭터와 연관된 제2 햅틱 트랙을 선택할 수 있지만, 제1 햅틱 트랙을 강조하고 제2 햅틱 트랙을 강조하지 않을 수 있다.
다른 예로서, 컴퓨팅 디바이스(300)는 웨어러블 디바이스(예를 들어, 안경, 헤드셋 등)일 수 있거나 이와 통신할 수 있고, 센서(예를 들어, 센서(412))는 사용자의 눈 응시, 시선, 또는 시야의 방향을 검출할 수 있다. 센서는 센서 신호를 프로세서(302)에 송신할 수 있고, 이는 사용자가 제1 햅틱 캐릭터를 보고 있는 것, 즉 그 방향으로 있는 것, 또는 대화식 사용자 인터페이스에서 제1 햅틱 트랙에 관한 데이터를 보고 있는 것을 결정할 수 있다. 이 예에서, 프로세서(302)는, 사용자가 제1 캐릭터를 보고 있는 것, 즉 그 방향으로 있다는 결정에 응답하여, 제1 햅틱 트랙을 선택할 수 있다.
일부 실시예에서, (예를 들어, 사용자 입력에 기초하여, 또는 전술한 바와 같이 자동으로) 사용자에게 제공되는 콘텐츠에서 관심있는 특정 캐릭터, 물체, 이벤트 등과 연관된 특정 햅틱 트랙의 선택은, 비선택된 햅틱 트랙을 음소거하는 것을 나타낼 수 있다. 예를 들어, 사용자가 제1 캐릭터와 연관된 제1 햅틱 트랙을 선택하고 제2 캐릭터와 연관된 제2 햅틱 트랙을 선택하지 않은 경우, 프로세서(302)는 제2 햅틱 트랙을 음소거할 수 있다. 이러한 방식으로, 시스템(100)은 사용자에게 흥미로운 특정 캐릭터, 물체, 이벤트 등과 연관된 특정 햅틱 트랙을 선택할 수 있다.
햅틱 트랙들은 많은 상이한 방식으로 구현될 수 있다. 예를 들어, 햅틱 트랙은, 단일 햅틱 효과, 또는 직렬로, 병렬로, 또는 둘의 조합으로 출력될 수 있는 다수의 햅틱 효과를 설명하는 정보를 가질 수 있다. 또한, 햅틱 트랙은 하나 이상의 중첩된 햅틱 트랙(nested haptic track)을 포함할 수 있다. 예를 들어, 영화에서 장면에 대한 햅틱 트랙은 장면에 존재하는 각각의 캐릭터에 대한 중첩된 햅틱 트랙, 장면의 설정 또는 컨텍스트에 대한 햅틱 트랙, 장면 내의 환경 조건들에 대한 하나 이상의 햅틱 트랙 등을 가질 수 있다. 일부 예에서, 햅틱 트랙은 관련 콘텐츠 내의 상이한 콘텐츠 요소들과 연관된 햅틱 트랙의 부분들을 나타내는 메타데이터를 포함할 수 있다. 예를 들어, 햅틱 트랙은 장면 내에서 상이한 발사(shot)들을 추적하는 햅틱 효과들의 시퀀스를 포함할 수 있다. 예를 들어, 햅틱 트랙은, 주요 캐릭터를 식별하는 대응하는 메타데이터 태그와 함께, 스크린 상에 등장하는 주요 캐릭터에 대응하는 제1 햅틱 효과를 가질 수 있다. 제2 햅틱 효과는 장면에서 다음에 등장하는 보조 캐릭터(supporting character)에 대응할 수 있고, 햅틱 트랙은 제2 햅틱 효과에 대응하는 제2 태그를 가질 수 있다. 따라서, 햅틱 트랙은 각각 하나 이상의 콘텐츠 요소로 태깅될 수 있는 햅틱 효과들의 세트를 가질 수 있다. 이러한 태깅은, 본 개시에 따른 시스템들 및 방법들로 하여금 햅틱 트랙의 특정 부분들을 선택된 콘텐츠 요소와 연관되는 것으로 식별할 수 있게 한다. 햅틱 트랙의 이런 특정 부분들은, 본 명세서에 기술된 바와 같이 수정될 수 있고, 반면에 햅틱 트랙의 다른 부분들은, 구현예 또는 특정 구성에 따라, 불변하거나, 강조되지 않거나, 이용 불가능한 채로 남겨질 수 있다.
일부 예에서, 햅틱 트랙들과 콘텐츠 요소들 사이의 연관성들이 햅틱 트랙과 연관된 하나 이상의 유형에 기초하여 추론될 수 있다. 예를 들어, 데이터베이스는 임의의 적합한 콘텐츠에 대한 햅틱 트랙들을 제공하기 위해 사용될 수 있는 다수의 햅틱 트랙을 포함할 수 있다. 햅틱 트랙들의 각각은, "폭발", "강우", "자동차 엔진" 등과 같은 콘텐츠 요소의 유형에 기초하여 식별될 수 있다. 나중에, 콘텐츠는, 상이한 문자, 이벤트, 컨텍스트 또는 환경 조건을 나타내는 메타데이터로 개발되고 태깅될 수 있다. 컴퓨팅 디바이스는, 출력될 콘텐츠를 수신할 때, 콘텐츠 내의 태그들을 조사하고, 콘텐츠 내의 태그들과 일치하는 햅틱 트랙들을 획득하기 위해 데이터베이스에 액세스할 수 있다. 또한, 이러한 태그들의 사용은, 컴퓨팅 디바이스(300)로 하여금 선택된 콘텐츠 요소에 기초하여 하나 이상의 햅틱 트랙을 강조하거나, 강조하지 않거나, 이용 불가능하게 하거나, 혹은 본 명세서에 더 상세하게 논의되는 바와 같이, 예를 들어, 2개 이상의 햅틱 트랙을 함께 결합함으로써, 햅틱 트랙을 수정할 수 있게 한다.
일부 예는 콘텐츠 요소와 연관된 다수의 상이한 햅틱 트랙을 이용할 수 있다. 예를 들어, 상이한 햅틱 트랙들은 콘텐츠 요소의 상이한 관점들과 연관될 수 있다. 경주 시뮬레이터(racing simulator)는 사용자로 하여금 경주로(race track) 상에서 경주용 자동차를 운전하는 것을 시뮬레이션할 수 있게 한다. 경주에서 다른 자동차들은, 예를 들어, 각각의 자동차의 제조사 및 모델에 기초하여, 그들과 연관된 상이한 햅틱 트랙들을 각각 가질 수 있다. 또한, 상이한 햅틱 트랙들은 각각의 자동차의 상이한 뷰들과 연관될 수 있다. 예를 들어, 하나의 햅틱 트랙은 엔진이 위치된 자동차의 전방과 연관될 수 있고, 반면에 제2 햅틱 트랙은 배기 장치가 위치된 자동차의 후방과 연관될 수 있다. 또 다른 햅틱 트랙들은 포장 도로상의 타이어들의 사운드에 관련된 자동차의 측면들과 연관될 수 있다. 다수의 상이한 햅틱 트랙이 상이한 관점들과 연관되어 있지만, 일부 예에서, 햅틱 트랙들 중 일부 또는 전부는 특정 관점에 관계없이 함께 혼합될 수 있고, 각각의 햅틱 트랙은 한 순간에 사용자의 특정 시점에 따라 가중된다.
일부 실시예에서, 컴퓨팅 디바이스(300)는 식별된 햅틱 트랙을 수정할 수 있다. 예를 들어, 컴퓨팅 디바이스(300)는 식별된 햅틱 트랙의 특성(예를 들어, 강도, 크기 등)을 수정하기 위해 사용자 입력을 수신할 수 있고, 컴퓨팅 디바이스(300)는 사용자 입력을 수신하는 것에 응답하여 햅틱 트랙을 수정할 수 있다. 예로서, 사용자는 햅틱 트랙의 강도를 수정하기 위한 사용자 입력을 터치 표면(316)상의 접촉을 통해 제공할 수 있고, 터치 표면(316)의 터치 센서는 사용자 입력을 나타내는 센서 신호를 컴퓨팅 디바이스(300)에 송신할 수 있다. 이 예에서, 컴퓨팅 디바이스(300)는 사용자의 터치 표면(316)과의 접촉의 압력량을 결정하고 압력량에 기초하여 햅틱 트랙의 강도를 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스(300)는, 사용자의 접촉의 압력량이 임계값을 상회한다는 결정에 응답하여, 식별된 햅틱 트랙이 하나 이상의 강한 진동을 포함하는 것으로 결정할 수 있다. 일부 예에서, 하나 이상의 진동의 강도는 인가된 힘의 양에 비례(또는 반비례)할 수 있다. 예를 들어, 높은 레벨의 힘은 진동의 강도를 감소시키려는 사용자의 의도를 시그널링할 수 있으므로, 더 약한 진동이 재생될 수 있고, 반면에 낮은 레벨의 힘은 더 강한 진동이 재생되어야 한다는 소망을 나타낼 수 있다.
다른 예에서, 컴퓨팅 디바이스(300)는 하나 이상의 센서 신호에 기초하여 식별된 햅틱 트랙의 특성을 결정하거나 수정할 수 있다. 예를 들어, 컴퓨팅 디바이스(300)는 사용자에 의한 움직임에 기초하여 식별된 햅틱 트랙의 특성을 결정하거나 수정할 수 있다. 예를 들어, 컴퓨팅 디바이스(300)는 사용자가 문(door) 또는 다른 캐릭터와 같은 선택된 콘텐츠 요소에 접근하고 있는 것으로 결정하고, 식별된 햅틱 트랙의 강도를 증가시킬 수 있거나, 선택한 콘텐츠 요소와 연관되지 않은 하나 이상의 다른 햅틱 트랙을 강조하지 않을 수 있다. 일부 예에서, 컴퓨팅 디바이스(300)는 캐릭터와 같은 선택된 콘텐츠 요소를 갖는 장면에 대한 컨텍스트를 결정하고, 컨텍스트에 기초하여 햅틱 트랙을 수정할 수 있다. 예를 들어, 사용자가 영화에서 캐릭터를 선택한 경우, 컴퓨팅 디바이스(300)는 캐릭터가 스크린 상에 있을 때마다 캐릭터와 연관된 햅틱 트랙들을 강조할 수 있다. 그러나, 컴퓨팅 디바이스(300)는 선택된 캐릭터가 자신이 위험에 처하는 장면에 등장하는 경우, 해당 캐릭터의 햅틱 트랙을 수정할 수 있다. 예를 들어, 컴퓨팅 디바이스(300)는, 햅틱 트랙에 하트 비트(heartbeat) 효과를 오버레이하여 캐릭터의 스트레스를 나타낼 수 있다. 그렇지 않고, 캐릭터가 편안한 장면에 있는 경우, 컴퓨팅 디바이스는 충격 효과들(jolting effects)과 같은 임의의 급격한 햅틱 효과들(sharp haptic effects)을 제거하도록 햅틱 트랙을 수정할 수 있다. 예를 들어, 컴퓨팅 디바이스는 햅틱 트랙 중에서 고주파 효과들, 예를 들어, 대략 1000Hz를 상회하는 주파수들을 갖는 효과들을 걸러낼 수 있다.
또 다른 예에서, 프로세서(302)는 사용자와 콘텐츠 요소 사이의 거리에 기초하여 선택된 햅틱 트랙의 특성을 결정하거나 수정할 수 있다. 예를 들어, 컴퓨팅 디바이스(300)는 디스플레이 디바이스(314) 상에 출력될 콘텐츠를 수신하거나 제공할 수 있고, 콘텐츠는 하나 이상의 다른 캐릭터들을 포함하는 모의 환경을 포함할 수 있다. 그 후, 사용자가 모의 환경과 상호 작용함에 따라, 컴퓨팅 디바이스(300)는 사용자와 캐릭터들 사이의 변동 거리에 기초하여 선택된 햅틱 트랙의 특성을 결정하거나 수정할 수 있다. 예를 들어, 사용자의 응시에 기초하여 제1 캐릭터가 선택되는 경우, 컴퓨팅 디바이스(300)는 사용자가 제1 캐릭터에 근접한 것으로 결정하고 식별된 햅틱 트랙을 수정하여 햅틱 효과들의 강도를 증가시킬 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(300)는 하나 이상의 햅틱 트랙을 함께 결합함으로써 햅틱 트랙의 특성을 수정할 수 있다. 예를 들어, 콘텐츠 요소가 선택되고 관련 햅틱 트랙이 식별될 수 있다. 그러나, 위험한 상황과 같이 캐릭터와 연관된 컨텍스트는 마찬가지로 관련 햅틱 트랙을 가질 수 있다. 그 후, 컴퓨팅 디바이스(300)는 사용자가 제1 캐릭터를 선택함에도 불구하고 2개의 햅틱 트랙을 결합할 수 있다. 햅틱 트랙들을 결합하기 위해, 컴퓨팅 디바이스(300)는 2개의 햅틱 트랙을 합산할 수 있고, 이는 하나 또는 양쪽 햅틱 트랙에 가중치(weight value)를 적용하고 가중된 햅틱 트랙들을 합산하는 것을 포함할 수 있다. 일부 예에서, 추가 햅틱 트랙의 특성이 추출되어 선택된 캐릭터의 햅틱 트랙에 적용될 수 있다. 예를 들어, 추가 햅틱 트랙은 그것의 하나 이상의 햅틱 효과와 연관된 크기 또는 주파수를 가질 수 있다. 컴퓨팅 디바이스(300)는 유사한 햅틱 효과들을 식별하기 위해 캐릭터의 햅틱 트랙 및 추가 햅틱 트랙을 분석할 수 있다. 그 후, 컴퓨팅 디바이스(300)는 추가 햅틱 트랙으로부터의 햅틱 효과들의 하나 이상의 파라미터를, 캐릭터의 햅틱 트랙에 적용할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(300)는 이벤트에 기초하여 햅틱 트랙을 결정할 수 있다. 본 명세서에서 사용되는 이벤트는, 컴퓨팅 디바이스(300)의 동작 동안에 발생하는 임의의 상호 작용, 액션, 충돌 또는 다른 이벤트이며, 관련 햅틱 효과를 가질 수 있다. 일부 실시예에서, 이벤트는 사용자 입력(예를 들어, 버튼 누름, 조이스틱 조작, 터치 표면(316) 또는 터치 표면(138)과의 상호 작용, 컴퓨팅 디바이스(300)를 기울이거나 배향하기), 시스템 상태(예를 들어, 배터리 부족, 메모리 부족, 또는 메시지, 착신 전화 통화, 통지 또는 업데이트를 수신하는 시스템에 기초하여 생성되는 통지와 같은 시스템 통지), 데이터 송신, 데이터 수신, 프로그램 이벤트(예를 들어, 프로그램이 게임인 경우, 프로그램 이벤트는 폭발, 총격, 충돌, 게임 캐릭터들 사이의 상호 작용, 모의 환경에서 사용자와 하나 이상의 요소 사이의 상호 작용, 모의 환경에서 캐릭터의 움직임 등을 포함할 수 있음), 또는 사용자에 의한 액션(예를 들어, 사용자의 움직임)을 포함할 수 있다.
일단 햅틱 트랙이 식별되고 햅틱 트랙의 하나 이상의 특성이 수정되면, 컴퓨팅 디바이스(300)는 햅틱 신호를 생성하여 햅틱 출력 디바이스에 송신할 수 있다. 예를 들어, 컴퓨팅 디바이스(300)는 신호를 햅틱 출력 디바이스에 송신하여 수정된 햅틱 트랙을 출력할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스는 학습된 사용자 선호도에 기초하여 콘텐츠 요소들을 자동으로 선택 또는 선택 해제하기 위해 기계 학습 기술들을 이용할 수 있고, 이로써 추가 사용자 상호 작용없이 하나 이상의 햅틱 트랙을 자동으로 강조하거나, 강조하지 않거나, 이용 불가능하게 할 수 있다. 예를 들어, 컴퓨팅 디바이스(300)는, 시간 경과에 따라, 사용자가 폭력, 예를 들어, 총격, 폭발 등과 연관된 햅틱 효과들을 싫어하지만, 특정 행위자에 의해 재생되는 캐릭터들과 연관되거나, 특정 역할, 예를 들어, 영웅과 연관된 햅틱 효과들을 좋아하는 것으로 결정할 수 있다. 이런 학습된 선호도들에 기초하여, 컴퓨팅 디바이스(300)는 콘텐츠 요소들을 자동으로 선택하고 관련 햅틱 트랙들을 식별할 수 있다. 이러한 선택들에 기초하여, 컴퓨팅 디바이스(300)는 사용자 선호도들에 기초하여 하나 이상의 이런 햅틱 트랙을 강조하거나, 강조하지 않거나, 이용 불가능하게 할 수 있다.
예를 들어, 사용자가 콘텐츠에서 캐릭터를 선택하지만 콘텐츠에서 하나 이상의 폭발을 선택 해제하는 경우, 프로세서(302)는 콘텐츠를 분석하고 제1 햅틱 트랙 또는 제2 햅틱 트랙과 유사한 하나 이상의 다른 햅틱 트랙을 결정할 수 있다. 예로서, 캐릭터가 콘텐츠에서 주요 캐릭터인 경우, 프로세서(302)는, 콘텐츠를 분석하고, 콘텐츠가 콘텐츠에서 다른 주요 캐릭터와 연관되고 제1 캐릭터와 연관된 선택된 햅틱 트랙과 유사한 햅틱 트랙을 포함하는 것으로 결정할 수 있다. 다른 예로서, 프로세서(302)는, 콘텐츠를 분석하고, 콘텐츠가 총격 또는 충돌과 연관된 햅틱 트랙을 포함하고, 총격 또는 충돌과 연관된 햅틱 트랙이 폭발과 연관된 음소거된 햅틱 트랙과 유사한 것으로 결정할 수 있다. 이 예에서, 프로세서(302)는, 사용자가 캐릭터들과 연관된 햅틱 트랙을 선호하고 총격, 폭발, 충돌 등과 연관된 햅틱 트랙들을 선호하지 않는 것을 예측하도록, 기계-학습 기술을 훈련시킬 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(300)는, 자동으로 선택된 콘텐츠 요소들에 관한 사용자로부터 피드백을 요청하고 기계 학습 기술을 더 훈련시키기 위해 응답을 이용할 수 있다. 예를 들어, 컴퓨팅 디바이스는 사용자가 주요 캐릭터를 선택하거나 추가 총격 또는 충돌을 선택 해제하길 원하는지를 묻는 질의를 사용자에게 출력할 수 있다. 일부 실시예에서, 프로세서(302)는, (예를 들어, 사용자가 하나 이상의 콘텐츠 요소를 선택 또는 선택 해제할 때) 실시간 데이터를 이용하여, 혹은 이력 데이터(예를 들어, 프로세서(302)에 의해 획득되거나 수신되는, 사용자의 콘텐츠 요소들에 대한 선택 또는 선택 해제 이력을 나타내는 데이터)를 사용하여, 사용자의 햅틱 트랙 선호도들을 예측하도록, 기계-학습 기술을 훈련시킬 수 있다. 예를 들어, 프로세서(302)는, 사용자에게 제공되는 콘텐츠에서 캐릭터, 이벤트, 물체 등과 연관된 하나 이상의 햅틱 트랙에 대한 사용자의 선택 또는 음소거를 나타내는 데이터를 획득하거나 수신한다. 이 예에서, 사용자가 하나 이상의 햅틱 트랙을 선택하거나 음소거할 때, 또는 하나 이상의 햅틱 트랙이 자동으로 선택되거나 음소거될 때, 프로세서(302)는, 전술한 바와 같이 유사한 햅틱 트랙들을 식별하도록 기계-학습 기술을 훈련시킬 수 있고, 프로세서(302)는 실질적으로 실시간으로(예를 들어, 햅틱 트랙이 선택 또는 음소거될 때) 유사한 햅틱 트랙들을 선택하거나 음소거하기 위해 추천사항을 출력할 수 있고/있거나 사용자가 추천된 햅틱 트랙들을 선택 또는 음소거하길 원하는지를 나타내는 사용자 입력을 요청할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(300)는, 선택된 햅틱 트랙의 특성(예를 들어, 사용자에 의한 햅틱 트랙의 특성에 대한 수정사항 또는 햅틱 트랙의 특성에 대한 자동 수정사항)에 관한 데이터를 사용하여 기계-학습 알고리즘을 훈련시켜, 전술한 바와 같이 실질적으로 동일한 방식으로 햅틱 트랙에 대한 특성 또는 수정사항을 예측할 수 있다.
예를 들어, 컴퓨팅 디바이스(300)는, 선택된 햅틱 트랙에 대한 사용자의 수정사항 또는 선택된 햅틱 트랙에 대한 자동 수정사항(예를 들어, 선택된 햅틱 트랙의 강도에 대한 수정사항)을 나타내는 데이터를 획득하거나 수신할 수 있다. 이 예에서, 선택된 햅틱 트랙이 수정될 때, 컴퓨팅 디바이스(300)는 기계-학습 기술을 훈련시켜 유사한 햅틱 트랙을 결정하고, 실질적으로 실시간으로, 및/또는 동일한 방식으로 유사한 햅틱 트랙의 수정사항을 출력하고/하거나 사용자가 선택된 햅틱 트랙을 수정하길 원하는지를 나타내는 사용자 입력을 요청할 수 있다. 예를 들어, 사용자가 선택된 햅틱 트랙의 강도를 증가시키기 위해 사용자 입력을 제공하는 경우, 컴퓨팅 디바이스(300)는, 이 입력을 사용하여 기계-학습 기술을 훈련시켜 콘텐츠에서 유사한 햅틱 트랙을 식별하고, 유사한 햅틱 트랙의 강도를 증가시키기 위해 수정사항을 출력하거나, 사용자가 유사한 햅틱 트랙의 강도를 증가시키길 원하는지를 나타내는 사용자 입력을 요청할 수 있다.
전술한 일부 예에서, 컴퓨팅 디바이스(300)는 콘텐츠를 출력하고, 대화식 사용자 인터페이스들을 생성하고, 선택된 콘텐츠 요소를 결정하고, 햅틱 트랙을 식별하고, 식별된 햅틱 트랙을 수정하고, 및/또는 기계-학습 기술을 훈련시키지만, 본 개시는 이러한 구성들에 한정되지 않는다.
도 3의 예시적인 컴퓨팅 디바이스(300)는 특정 수의 구성요소를 갖는 것으로 도시되어 있지만, 다른 실시예에서, 컴퓨팅 디바이스(300)는 임의의 수의 추가 또는 대안적인 구성요소를 가질 수 있다.
이제 도 5를 참조하여, 도 5는 맞춤형 햅틱 재생을 제공하기 위한 예시적인 방법(500)을 도시한다. 일부 예에서, 도 5에 도시된 블록들은 프로세서, 예를 들어, 범용 컴퓨터, 모바일 디바이스 또는 서버의 프로세서에 의해 실행가능한 프로그램 코드로 구현될 수 있다. 일부 실시예에서, 이들 단계는 프로세서 그룹에 의해 구현될 수 있다. 일부 실시예에서, 도 5에 도시된 하나 이상의 단계는 생략되거나 다른 순서로 수행될 수 있다. 마찬가지로, 일부 실시예에서, 도 5에 도시되지 않은 추가 단계들도 수행될 수 있다. 예시적인 목적을 위해, 방법(500)의 단계들은 도 1에 도시된 시스템(100)에 관하여 전술한 구성요소들을 참조하여 아래에 설명되어 있지만, 본 개시에 따른 임의의 적절한 시스템이 사용될 수도 있다.
방법(500)은, 서버(120) 또는 사용자 디바이스들(110a, 110b)이 사용자에게 제공될 콘텐츠를 획득할 때, 단계(510)에서 시작된다. 이 예에서, 사용자 디바이스들(110a, 110b)은 서버(120)로부터 콘텐츠를 수신하고; 그러나, 일부 예에서, 사용자 디바이스들(110a, 110b)은 자신의 로컬 스토리지로부터 콘텐츠를 획득하거나, 예를 들어, 게임 환경 또는 모의 현실 환경을 생성함으로써, 콘텐츠를 동적으로 생성한다. 위에서 논의된 바와 같이, 모의 현실 환경, 비디오 게임 콘텐츠, 영화, 음악 등을 포함하는 임의의 적합한 콘텐츠가 획득될 수 있다.
블록 520에서, 서버(120) 또는 사용자 디바이스들(110a, 110b)은 콘텐츠에서 하나 이상의 콘텐츠 요소와 연관된 복수의 햅틱 트랙을 식별하는 데이터를 획득한다. 예를 들어, 사용자 디바이스들(110a, 110b)은, 블록 510에서 콘텐츠를 획득하기 전에, 획득과 동시에 또는 획득한 후에, 서버(120)로부터 하나 이상의 햅틱 트랙을 수신할 수 있다. 일부 예에서, 사용자 디바이스들(110a, 110b)은 메모리에 저장된 데이터베이스에서와 같이 사용자 디바이스들(110a, 110b)에 로컬로 저장되는 하나 이상의 햅틱 트랙을 가질 수 있다.
햅틱 트랙들을 획득하는 것 외에, 사용자 디바이스들(110a, 110b)은 콘텐츠에서 하나 이상의 콘텐츠 요소와 연관된 복수의 햅틱 트랙을 식별하는 데이터를 획득한다. 이 예에서, 복수의 햅틱 트랙을 식별하는 데이터는 콘텐츠 내에 포함된 메타데이터를 포함한다. 예를 들어, 이러한 메타데이터는 하나 이상의 햅틱 트랙을 식별하는 하나 이상의 메타데이터 태그를 포함할 수 있다. 그러나, 다른 예에서, 데이터는 데이터베이스 레코드들에 대한 참조, 햅틱 트랙들의 보관소(repository)로부터 햅틱 트랙들을 선택하기 위한 하나 이상의 필터 파라미터 등을 포함할 수 있다. 일 예에서, 데이터는 콘텐츠 내의 하나 이상의 콘텐츠 요소 또는 콘텐츠 요소들의 하나 이상의 유형에 대한 연관성들을 포함하는 햅틱 트랙들 자체일 수 있다.
일부 예에서, 햅틱 트랙들은 콘텐츠와 별도로 제공될 수 있으며; 그러나, 일부 예에서, 콘텐츠는 햅틱 트랙들과 하나 이상의 콘텐츠 요소 사이의 연관성들뿐만 아니라 햅틱 트랙들을 포함할 수 있다. 일부 예에서, 햅틱 트랙들은 오디오 트랙과 유사한 콘텐츠 내의 트랙들일 수 있고, 하나 이상의 햅틱 효과는 오디오 또는 비디오 데이터와 시간적으로 동기화된다. 그러한 일 예에서, 예를 들어, 비디오 재생기와 같은 사용자 디바이스들(110a, 110b)에 의해 실행된 재생 소프트웨어는 콘텐츠로부터 오디오, 비디오 및 햅틱 데이터를 스트리밍하고 대응하는 신호들을 디스플레이, 스피커 및 하나 이상의 햅틱 출력 디바이스에 송신할 수 있다.
예로서, 콘텐츠가, 예를 들어, 테니스 공과 같은 물체를 포함하는 모의 현실 환경을 포함하는 경우, 물체와 연관된 햅틱 트랙은, 예를 들어, 테니스 공의 바운싱(bouncing), 테니스 공을 타격하기 등과 같이 물체와 연관된 각각의 액션 또는 이벤트에 대응하는 일련의 진동 또는 다른 햅틱 효과들을 포함할 수 있다. 이 예에서, 햅틱 트랙들의 데이터베이스는 물체와 햅틱 트랙 사이의 매핑을 나타내는 데이터를 포함할 수 있다. 다른 예로서, 콘텐츠가, 예를 들어, 테니스 경기의 비디오와 같은 비디오를 포함하는 경우, 테니스 경기에서 캐릭터 또는 물체의 시점 또는 관점과 연관된 햅틱 트랙은, 예를 들어, 테니스 경기에서 경기자, 관람자 등의 관점과 같은 캐릭터 또는 물체의 관점 또는 시점에 대응하는 하나 이상의 햅틱 효과를 포함할 수 있다.
블록 530에서, 서버(120) 또는 사용자 디바이스들(110a, 110b)은 복수의 콘텐츠 요소 중 콘텐츠 요소의 선택을 결정한다. 이 예에서, 사용자들(102, 104)은 그들 각각의 VR 헤드셋(110a 내지 110b)을 사용하여 모의 현실 환경과 상호 작용하고, 환경 내에 표시된 물체들을 식별하고 그들과 상호 작용할 수 있다. 서버(120)는, VR 헤드셋들로부터 수신된 센서 신호들에 기초하여, 물체, 캐릭터 등과 같은 선택된 콘텐츠 요소들을 결정할 수 있고, 사용자의 눈이 보고 있는 방향, 및 각각의 VR 헤드셋의 위치와 배향에 기초하여 사용자의 응시 방향을 결정할 수 있다. 일부 예에서, 사용자는 또한, 휴대용 컨트롤 디바이스, 조이스틱, 지팡이 등과 같은 사용자 인터페이스 디바이스들을 사용할 수 있고, 이들을 통해 사용자는 커맨드들을 서버(120)에 송신할 수 있다. 일부 예는 사용자로 하여금, 예를 들어, 터치 스크린 상에서, 혹은 야외에서 제스처(gesture)들을 취하게 하여 환경 내의 물체들과 상호 작용할 수 있게 한다. 이러한 커맨드들은 모의 현실 환경 내에서 콘텐츠 요소의 선택 또는 그와의 상호 작용을 나타낼 수 있다. 또한, 일부 예에서, 환경 내의 물체 또는 캐릭터들은 사용자와 상호 작용할 수 있고, 이에 따라, 예를 들어, 사용자가 각각의 콘텐츠 요소의 임계 거리(threshold distance) 내에 들어올 때, 탐색 또는 작업을 완료할 때, 또는 환경 내의 이벤트를 트리거할 때, 그들 자신을 선택할 수 있다.
다른 컨텍스트에서, 사용자는 영화에서 캐릭터와 같은 특정 콘텐츠 요소를 명시적으로 선택할 수 있다. 선택은 영화가 재생되는 동안 수행될 수 있거나, 일부 예에서, 영화가 재생되기 전에 그러한 옵션들이 사용자에게 제시될 수 있다. 다른 예에서, 사용자는 관련 햅틱 트랙을 갖는 음악 작품의 하나 이상의 악기 트랙을 선택할 수 있다. 예를 들어, 오케스트라 작품(orchestral piece)은 오케스트라의 상이한 악기 또는 섹션, 예를 들어, 바이올린, 첼로, 목관 악기 등에 해당하는 햅틱 트랙들을 가질 수 있다. 모의 현실 환경에 관련하여, 영화, 음악 등에 대한 이러한 선택들은, 콘텐츠의 특정 부분에서 특정 콘텐츠 요소에 관련하여 이루어질 수 있거나, 예를 들어, 모든 영화 또는 음악에 대해 더 전체적 레벨(global level)에서 이루어질 수 있거나, 예를 들어, 영화 시리즈(예를 들어, 프린세스 레아) 내의 영화 속 캐릭터, 또는 특정 음악가 그룹 또는 작곡가로부터의 모든 앨범에 대해 중간 레벨에서 이루어질 수 있다.
블록 540에서, 서버(120) 또는 사용자 디바이스들(110a, 110b)은 선택된 콘텐츠 요소와 연관된 햅틱 트랙을 식별한다. 이 예에서, 사용자 디바이스들(110a, 110b)은 블록 520에서 이전에 획득된 데이터를 사용하여 선택된 콘텐츠 요소와 연관된 햅틱 트랙을 식별하지만; 일부 예에서, 블록 520에서 설명된 기능성은 실시간으로 수행될 수 있다. 예를 들어, 블록 530에서 콘텐츠 요소가 선택될 때, 블록 520에서 설명된 기능성은 선택된 콘텐츠 요소와 연관된 하나 이상의 햅틱 트랙을 식별하는 데이터를 획득할 수 있다. 이러한 햅틱 트랙들을 수신한 후, 서버(120) 또는 사용자 디바이스들(110a, 110b)은 이러한 햅틱 트랙들 중 하나 이상을 식별할 수 있다.
일부 예에서, 식별된 햅틱 트랙은 선택된 콘텐츠 요소와 간접적으로 연관될 수 있다. 예를 들어, 주요 캐릭터가 선택될 때 보조 캐릭터와 연관된 햅틱 트랙이 식별될 수 있다. 그러한 식별은, 보조 캐릭터와 주요 캐릭터가 대결(confrontation)에 참여하거나 낭만적으로 연결되는 경우, 이루어질 수 있다. 일부 예에서, 햅틱 트랙은 선택된 콘텐츠 요소의 유형에 기초하여 식별될 수 있다. 예를 들어, 콘텐츠 요소가 폭발인 경우, 특정 햅틱 트랙이 폭발과 명시적으로 연관되지 않을 수 있지만, 폭발, 총격 및 폭탄에 관련된 것으로 표시된 햅틱 트랙이 식별될 수 있다. 이러한 식별은, 이벤트, 스크린에 등장하거나 사라지는 캐릭터 등을 나타내는, 콘텐츠 내에 저장되는 메타데이터 태그들에 의해, 이용 가능하게 될 수 있다. 따라서, 획득된 콘텐츠가 그 자체의 맞춤 햅틱 트랙들을 갖지 않는 경우에도, 콘텐츠 내의 메타데이터는 라이브러리 내의 햅틱 트랙들이 식별될 수 있게 해준다.
일부 예에서, 사용자는 햅틱 트랙을 명시적으로 식별할 수 있다. 예를 들어, 서버(120) 또는 사용자 디바이스들(110a, 110b)은 캐릭터, 물체 또는 이벤트에 관한 데이터, 및 캐릭터, 물체 또는 이벤트와 연관된 햅틱 트랙을 표시하는 대화식 사용자 인터페이스를 생성할 수 있다. 예로서, 사용자 디바이스들(110a, 110b)은 획득된 콘텐츠에서 각각의 캐릭터, 이벤트, 물체 등과 연관된 햅틱 트랙에 관한 데이터를 포함하는 메뉴, 목록 등을 포함하는 대화식 사용자 인터페이스를 생성할 수 있다. 그 후, 사용자는 하나 이상의 이러한 햅틱 트랙을 식별할 수 있다. 다른 예로서, 사용자 디바이스들(110a, 110b)은 콘텐츠의 하나 이상의 시점, 또는 콘텐츠에서 캐릭터, 이벤트, 물체 등의 시점들과 연관된 햅틱 트랙을 나타내는 데이터를 포함하는 메뉴, 목록 등을 포함하는 대화식 사용자 인터페이스를 생성할 수 있다. 예를 들어, 사용자 디바이스들(110a, 110b)은 사용자 또는 캐릭터 뒤, 사용자 또는 캐릭터 앞, 또는 사용자 또는 캐릭터 옆의 시점과 연관된 햅틱 트랙을 포함하는 메뉴를 포함하는 대화식 사용자 인터페이스를 생성할 수 있다. 일부 실시예에서, 사용자 디바이스들(110a, 110b)은 콘텐츠에서 각각의 캐릭터, 이벤트, 물체 등과 연관된 각각의 햅틱 트랙, 및 각각의 캐릭터, 이벤트, 물체 등에 대한 각각의 시점을 표시하기 위한 대화식 사용자 인터페이스를 생성할 수 있다.
일부 예에서, 획득된 콘텐츠 내에서 검출된 콘텐츠 요소들에 기초하여 콘텐츠 요소들을 선택하고, 또한 선택된 콘텐츠 요소와 연관된 햅틱 트랙들을 식별하도록, 기계-학습 기술이 훈련될 수 있다. 예를 들어, 기계-학습 기술은, 예를 들어, 얼굴 인식을 이용하여 캐릭터들, 및 물체 인식(object recognition)을 이용하여 물체들과 같은 콘텐츠 요소들을 인식하도록, 훈련될 수 있다. 또한, 폭발, 총격, 비, 화재 등과 같은 일부 이벤트가 검출 가능할 수 있고, 하나 이상의 햅틱 트랙이 기계 학습 기술에 의해 식별될 수 있다. 사용자의 선호도들에 따라 훈련된 예시적인 기계 학습 기술은 하나 이상의 콘텐츠 요소를 자동으로 선택하거나 제안할 수 있거나, 역으로, 하나 이상의 콘텐츠 요소를 자동으로 선택 해제하거나 선택 해제에 관해 제안할 수 있다.
일부 예에서, 서버(120) 또는 사용자 디바이스들(110a, 110b)은 모의 현실 환경 내에서 사용자와 하나 이상의 캐릭터 또는 가상 물체 사이의 거리에 기초하여 햅틱 트랙을 식별할 수 있다. 예로서, 사용자가 모의 환경과 상호 작용함에 따라, 프로세서(302)는, 모의 환경에서 가상 물체가 인근 캐릭터(nearby character)보다 사용자에게 더 근접해 있는 것으로 결정할 수 있다. 서버(120) 또는 사용자 디바이스들(110a, 110b)은, 사용자가 캐릭터보다 가상 물체에 더 근접해 있다는 결정에 응답하여, 가상 물체와 연관된 햅틱 트랙을 식별할 수 있다. 그러나, 일부 예에서, 서버(120) 또는 사용자 디바이스들(110a, 110b)은 다수의 콘텐츠 요소들에 대한 근접성에 기초하여 다수의 햅틱 트랙을 식별할 수 있다.
다른 예로서, 사용자 디바이스들(110a, 110b)은 웨어러블 디바이스(예를 들어, 안경, 헤드셋 등)일 수 있고, 사용자 디바이스들(110a, 110b)의 센서는 사용자의 눈 응시, 시선 또는 시야의 방향을 검출할 수 있다. 사용자 디바이스들(110a, 110b)(또는 서버(120))은 하나 이상의 센서 신호를 수신하고 사용자가 캐릭터를 보고 있거나 그 방향으로 있는 것을 결정할 수 있다. 또 다른 예에서, 사용자 디바이스들(110a, 110b)은 휴대용 디바이스(예를 들어, 게임 컨트롤러, 조이스틱 등)일 수 있고, 사용자 디바이스의 센서는 사용자의 움직임을 검출하고 센서 신호를 서버(120) 또는 사용자 디바이스들(110a, 110b)에 송신하고, 이는 사용자가 캐릭터를 가리키거나 사용자 디바이스들(110a, 110b)을 캐릭터로 배향시킨 것을 결정할 수 있다.
일부 실시예에서, (예를 들어, 사용자 입력에 기초하여 또는 전술한 바와 같이 자동으로) 사용자에게 제공되는 콘텐츠에서 관심있는 특정 캐릭터, 물체, 이벤트 등과 연관된 특정 햅틱 트랙의 식별은, 비선택된 햅틱 트랙들의 선택 해제 또는 음소거를 초래할 수 있다. 이러한 방식으로, 시스템(100)은 달리 선택된 콘텐츠 요소로부터 관심을 받지 않는 다른 햅틱 트랙들을 음소거하면서, 사용자에게 흥미로운 특정 캐릭터, 물체, 이벤트 등과 연관된 특정 햅틱 트랙을 선택할 수 있다.
블록 550에서, 시스템(100)은 식별된 햅틱 트랙에 기초하여 햅틱 효과를 결정한다. 일부 예에서, 햅틱 트랙은 햅틱 트랙 내에 내장된 하나 이상의 햅틱 효과를 포함할 수 있지만; 햅틱 트랙들은 또한, 다른 위치들에, 예를 들어, 데이터베이스에 저장된 햅틱 효과들에 대한 참조들을 포함할 수 있다. 또한, 예들은 다수의 상이한 콘텐츠 요소와 연관된 햅틱 효과들을 포함하는 햅틱 트랙을 이용할 수 있고, 이는 관련 콘텐츠 요소(들)를 식별하는 메타데이터로 태그될 수 있다.
햅틱 트랙의 일부로서의 햅틱 효과들은, 특정 시퀀스 또는 특정 타이밍으로 출력될 수 있다. 일부 예에서, 햅틱 트랙의 특정 햅틱 효과들은 선택된 콘텐츠 요소 또는 그 요소를 수반하는 이벤트들에 관련하여 취해진 액션들에 기초하여 출력될 수 있다. 따라서, 햅틱 효과는, 선택된 콘텐츠 요소의 상태, 사용자의 선택된 콘텐츠와의 상호 작용, 또는 (예를 들어, 모의 현실 환경에서) 콘텐츠 요소를 수반하거나 이에 근접한 이벤트들에 기초하여, 선택될 수 있다.
블록 560에서, 시스템(100)은 햅틱 효과의 특성을 수정한다. 예를 들어, 프로세서(302)는 햅틱 효과의 특성(예를 들어, 강도, 크기 등)을 수정하기 위해 사용자 입력을 수신할 수 있고, 시스템(100), 예를 들어, 서버(120) 또는 사용자 디바이스들(110a, 110b)은, 사용자 입력을 수신한 것에 응답하여 햅틱 효과를 수정할 수 있다. 예로서, 사용자는 터치 표면(316) 상의 접촉을 통해 햅틱 트랙의 강도를 수정하기 위해 사용자 입력을 제공할 수 있고, 터치 표면(316)의 터치 센서는 사용자 입력을 나타내는 센서 신호를 프로세서(302)에 송신할 수 있다. 이 예에서, 사용자 디바이스들(110a, 110b)은 사용자의 터치 표면(316)과의 접촉의 압력량을 결정하고 압력량에 기초하여 햅틱 트랙의 강도를 결정할 수 있다. 예를 들어, 프로세서(302)는, 사용자의 접촉의 압력량이 임계값을 상회한다는 결정에 응답하여, 햅틱 트랙의 크기 또는 햅틱 효과를 감소시키도록 햅틱 트랙의 특성을 수정할 수 있다.
다른 예에서, 컴퓨팅 디바이스(300)는, 사용자에 의한 움직임에 기초하여, 선택된 햅틱 트랙의 특성을 수정할 수 있다. 예를 들어, 사용자 디바이스들(110a, 110b)은, 콘텐츠 요소에 대한 사용자 선택에 기초하여, 햅틱 트랙의 특성을 수정할 수 있다. 이러한 커맨드는 사용자가 콘텐츠 요소에 집중하고 있음을 나타낼 수 있고, 따라서 관련 햅틱 트랙의 강도 또는 지속 시간은 이를 강조하기 위해 증가될 수 있다. 일부 예에서, 햅틱 트랙은, 관련 콘텐츠 요소 또는 햅틱 트랙 자체의 사용자의 선택 해제에 기초하여, 강조되지 않거나, 이용 불가능하게 될(예를 들어, 음소거될) 수 있다.
다른 예에서, 컴퓨팅 디바이스(300)는, 사용자의 눈 응시, 시선 또는 시야에 기초하여, 선택된 햅틱 트랙의 특성을 결정하거나 수정할 수 있다. 예를 들어, 선택된 콘텐츠 요소와 연관된 햅틱 트랙은 사용자의 응시에 따라 수정될 수 있다. 사용자가 선택된 콘텐츠 요소를 직접 보는 경우, 컴퓨팅 디바이스는, 관련 햅틱 효과(들)에 대한 최대 크기를 제공하도록, 햅틱 트랙의 특성을 수정할 수 있지만; 사용자가 자신의 응시 방향을 변경하는 경우, 컴퓨팅 디바이스(300)는, 물체로부터 멀어지는 사용자의 응시 각도에 비례하여 햅틱 트랙의 크기를 감소시킬 수 있다. 다시 말해, 제1 라인은 사용자의 눈으로부터 선택된 콘텐츠 요소를 향해 투영될 수 있고, 반면에 제2 라인은 감지된 응시 방향으로 투영될 수 있고, 두 라인 사이의 각도가 결정될 수 있다. 또한, 일부 예에서, 컴퓨팅 디바이스(300)는, 사용자를 선택된 콘텐츠 요소로 안내하는 것을 돕기 위해, 방향성 햅틱 효과들을 제공하도록 햅틱 효과들을 수정할 수 있다. 예를 들어, VR 또는 AR 헤드셋이 상이한 위치들에 배열된 다수의 햅틱 출력 디바이스를 갖는 경우, 컴퓨팅 디바이스(300)는 가변 크기의 햅틱 효과들을 생성하므로, 사용자의 응시 방향 또는 헤드셋의 배향에 관계없이, 햅틱 트랙은 선택된 콘텐츠 요소의 방향으로부터 명백하게 방사(emanating)될 수 있고, 이는 사용자로 하여금 선택된 콘텐츠 요소를 찾기 위해 머리를 움직일 수 있게 한다. 따라서, 다양한 햅틱 출력 디바이스들에 송신된 햅틱 신호들의 크기는 명백한 방향성 햅틱 효과를 제공하도록 수정될 수 있다.
이러한 기술은 콘텐츠와 상호 작용하기 위해 공간에서 조종될 수 있는 휴대용 디바이스의 맥락에서 이용될 수 있다. 예를 들어, 사용자가 콘텐츠의 상이한 부분들을 보기 위해 휴대용 디바이스의 배향을 변경할 수 있는 경우, 햅틱 트랙은 선택된 콘텐츠 요소에 관한 휴대용 디바이스의 배향에 기초하여 수정될 수 있다.
또 다른 예에서, 컴퓨팅 디바이스는, 스크린으로부터 선택된 콘텐츠 요소의 명백한 거리에 기초하여, 화상(picture) 또는 비디오에서, 또는 모의 현실 환경 내에서, 사용자와 선택된 콘텐츠 요소 사이의 거리에 기초하여 선택된 햅틱 트랙의 특성을 결정하거나 수정할 수 있다. 예를 들어, 선택된 햅틱 트랙이 제1 캐릭터와 연관된 제1 햅틱 트랙인 경우, 컴퓨팅 디바이스(300)는 사용자가 모의 환경에서 제1 캐릭터에 근접해 있는 것으로 결정하고 선택된 햅틱 트랙의 크기 또는 지속 시간을 증가시킬 수 있다.
블록 570에서, 컴퓨팅 디바이스는 디스플레이 또는 스피커와 같은 출력 디바이스에 콘텐츠 신호를 송신하고, 수정된 햅틱 트랙과 연관된 햅틱 신호를 햅틱 출력 디바이스에 송신한다. 일부 예에서, 콘텐츠 신호 및 햅틱 신호는 콘텐츠의 동기화된 출력 및 대응하는 햅틱 효과를 제공하도록 출력된다.
일부 예에서, 추가 블록 580은, 콘텐츠 요소의 선택, 햅틱 트랙에 기초하여, 또는 햅틱 트랙에 대한 사용자-제공된 수정사항들에 기초하여, 기계 학습 기술을 훈련시키기 위해 사용될 수 있다. 예를 들어, 사용자가 특정 햅틱 트랙 또는 하나 이상의 햅틱 효과를 선택 해제하는 경우, 기계 학습 기술은 이러한 햅틱 트랙들 또는 효과의 향후 선택들에 반하여 편향될(biased) 수 있다. 일부 예에서, 특정 캐릭터 또는 행위자에 대한 사용자 선택은, 미래에 그러한 콘텐츠 요소들을 선택하도록, 기계-학습 기술을 편향시킬 수 있다. 또한, 사용자는 폭발 또는 다른 시끄러운 소음과 같은 특정 유형들의 이벤트와 연관된 햅틱 트랙을 선택 해제할 수 있다. 따라서, 기계 학습 기술은 그러한 이벤트 또는 특성과 연관된 햅틱 트랙 또는 콘텐츠 요소들에 반하여 스스로 편향될 수 있다.
위에서 논의된 방법들, 시스템들 및 디바이스들은 예들이다. 다양한 구성들은 다양한 절차들 또는 구성요소들을 적절히 생략, 대체 또는 추가할 수 있다. 예를 들어, 대안적인 구성들에서, 방법들은 설명된 것과 다른 순서로 수행될 수 있고/있거나 다양한 단계들이 추가, 생략 및/또는 결합될 수 있다. 또한, 특정 구성들과 관련하여 설명된 특징들은 다양한 다른 구성들로 결합될 수 있다. 구성의 상이한 양상들 및 요소들은 유사한 방식으로 결합될 수 있다. 또한, 기술은 발전하므로, 요소들 중 다수는 예시이고, 본 개시 또는 청구항들의 범위를 한정하는 것은 아니다.
예시적인 구성들(구현예들을 포함함)의 철저한 이해를 제공하기 위해 특정 세부사항들이 제공된다. 그러나, 이러한 특정 세부사항없이 구성들이 실시될 수 있다. 예를 들어, 공지된 회로, 프로세스, 알고리즘, 구조 및 기술은, 구성들을 모호하게 하는 것을 회피하기 위해, 불필요한 상세사항없이 도시되었다. 이 설명은 예시적인 구성들만은 제공하고, 청구항들의 범위, 적용 또는 구성들을 한정하는 것은 아니다. 오히려, 전술한 구성들에 대한 설명은, 본 기술분야의 통상의 기술자에게 설명된 기술들을 구현하는 것을 가능하게 하는 설명을 제공할 것이다. 본 개시의 정신 또는 범위를 벗어남 없이, 요소들의 기능 및 배치에 있어서 다양한 변경들이 이루어질 수 있다.
또한, 구성들은 흐름도 또는 블록도로 도시된 프로세스로서 설명될 수 있다. 각각이 동작들을 순차적인 프로세스로서 설명할 수 있지만, 동작들 중 다수가 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수 있다. 프로세스는 도면에 포함되지 않은 추가 단계들을 가질 수 있다. 또한, 방법들의 예는 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로 코드, 하드웨어 기술 언어 또는 이들의 임의의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로 코드로 구현될 때, 필요한 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은, 저장 매체와 같은 비일시적 컴퓨터 판독가능 매체에 저장될 수 있다. 프로세서들은 설명된 작업들을 수행할 수 있다.
본 명세서의 방법들 및 시스템들의 일부 예는, 다양한 기계들에서 실행되는 소프트웨어의 관점에서 설명되지만, 방법들 및 시스템들은 또한, 다양한 방법들을 구체적으로 실행하기 위해 FPGA(field-programmable gate array)와 같이 구체적으로 구성되는 하드웨어로서 구현될 수 있다. 예를 들어, 예들은 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 일례에서, 디바이스는 프로세서 또는 프로세서들을 포함할 수 있다. 프로세서는 프로세서에 결합된 임의 접근 메모리(RAM)와 같은 컴퓨터 판독가능 매체를 포함한다. 프로세서는 하나 이상의 컴퓨터 프로그램을 실행하는 것과 같이 메모리에 저장된 컴퓨터 실행가능한 프로그램 명령어들을 실행한다. 이러한 프로세서들은 마이크로 프로세서, DSP(digital signal processor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 및 상태 기계(state machine)를 포함할 수 있다. 이러한 프로세서들은 PLC, PIC(programmable interrupt controller), PLD(programmable logic device), 프로그램 가능한 읽기 전용 메모리(programmable read-only memories)(PROM), 전자적으로 프로그램 가능한 읽기 전용 메모리(electronically programmable read-only memories)(EPROM) 또는 EEPROM과 같은 프로그램 가능한 전자 디바이스 또는 기타 유사한 디바이스들을 더 포함할 수 있다.
이러한 프로세서들은, 명령어들을 저장할 수 있는 매체, 예를 들어, 컴퓨터 판독가능 저장 매체를 포함하거나 이와 통신할 수 있고, 이들 명령어는, 프로세서에 의해 실행될 때, 프로세서로 하여금 본 명세서에 설명된 단계들을 수행하게 하거나, 프로세서에 의해 보조되게 한다. 컴퓨터 판독가능 매체의 예들은 웹 서버 내의 프로세서와 같은 프로세서에 컴퓨터 판독가능 명령어들을 제공할 수 있는 전자, 광학, 자기 또는 기타 저장 디바이스를 포함할 수 있지만, 이에 한정되지는 않는다. 매체의 다른 예들은, 플로피 디스크, CD-ROM, 자기 디스크, 메모리 칩, ROM, RAM, ASIC, 구성된 프로세서, 모든 광학 매체, 모든 자기 테이프 또는 다른 자기 매체, 또는 컴퓨터 프로세서가 판독할 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되지 않는다. 설명된 프로세서 및 프로세싱은, 하나 이상의 구조로 존재할 수 있고, 하나 이상의 구조를 통해 분산될 수 있다. 프로세서는 본 명세서에 설명된 방법들 중 하나 이상(또는 방법들의 일부들)을 수행하기 위한 코드를 포함할 수 있다.
일부 예에 대한 전술한 설명은 예시 및 설명의 목적으로만 제시되었고, 개시된 자세한 형태들로 본 개시를 망라하거나 한정하는 것으로 의도되지 않는다. 일부 예에 대한 수많은 수정사항 및 개조사항(adaptation)은, 본 개시의 정신 및 범위를 벗어나지 않고, 본 기술분야의 통상의 기술자에게 명백할 것이다.
본 명세서에서 "개조된" 또는 "구성된"의 사용은 추가 작업 또는 단계를 수행하도록 개조되거나 구성되는 디바이스들을 배제하지 않는 개방적이고 포괄적인 언어로 의도된다. 추가적으로, "에 기초하여"의 사용은 하나 이상의 인용된 조건 또는 값"에 기초하여" 프로세스, 단계, 계산 또는 다른 액션이 인용된 것들을 능가하는 추가 조건들 또는 값들에 실제로 기초할 수 있다는 점에서 개방적이고 포괄적인 것으로 의도된다. 본 명세서에 포함된 제목, 목록 및 번호 매김은 설명의 편의를 위한 것일 뿐, 한정적인 것으로 의도되지 않는다.
본 명세서에서 예 또는 구현예에 대한 참조는 해당 예와 관련하여 설명된 특정 특징, 구조, 동작 또는 다른 특성이 본 개시의 적어도 일 구현예에 포함될 수 있음을 의미한다. 본 개시는 그와 같이 설명된 특정 예들 또는 구현예들에 한정되지 않는다. 본 명세서의 다양한 곳에서 "일 예에서", "예에서", "일 구현예에서" 또는 "하나의 구현예에서"라는 문구의 등장 또는 그 변형들이 반드시 동일한 예 또는 구현예를 지칭하는 것은 아니다. 하나의 예 또는 구현예와 관련하여 본 명세서에 설명된 임의의 특정 특징, 구조, 동작 또는 다른 특성은 임의의 다른 예 또는 구현예와 관련하여 설명된 다른 특징, 구조, 동작 또는 다른 특성과 결합될 수 있다.
본 명세서에서 "또는"이라는 단어의 사용은 포괄적이고 배타적인 논리합(OR) 조건들을 포함하도록 의도된다. 다시 말해, A 또는 B 또는 C는 특정 용도에 적합한 것으로서 이하의 대안적인 조합들: A 단독; B 단독; C 단독; A와 B만; A와 C만; B와 C만; 및 A와 B와 C 중 임의의 것 또는 전부를 포함한다.

Claims (20)

  1. 시스템으로서,
    비일시적 컴퓨터 판독가능 매체; 및
    상기 비일시적 컴퓨터 판독가능 매체에 통신 가능하게 결합된 프로세서를 포함하고, 상기 프로세서는 상기 비일시적 컴퓨터 판독가능 매체에 저장된 프로세서 실행가능한 명령어들을 실행하여:
    사용자에게 제공될 콘텐츠를 획득하고;
    상기 콘텐츠의 복수의 콘텐츠 요소와 연관된 복수의 햅틱 트랙을 식별하는 데이터를 획득하고;
    상기 복수의 콘텐츠 요소 중 콘텐츠 요소의 선택을 결정하고;
    상기 복수의 햅틱 트랙 중 햅틱 트랙을 식별하고, 상기 햅틱 트랙은 상기 선택된 콘텐츠 요소와 연관되고;
    상기 햅틱 트랙에 기초하여 햅틱 효과를 결정하고;
    상기 콘텐츠에 기초하여 콘텐츠 신호를 출력 디바이스에 송신하고, 상기 출력 디바이스는 상기 콘텐츠의 적어도 일부를 출력하도록 구성되고;
    햅틱 신호를 햅틱 출력 디바이스에 송신하고, 상기 햅틱 신호는 상기 햅틱 출력 디바이스로 하여금 상기 콘텐츠의 적어도 일부에 대응하는 상기 햅틱 효과를 출력하게 하도록 구성되는, 시스템.
  2. 제1항에 있어서,
    상기 프로세서는 또한, 상기 비일시적 컴퓨터 판독가능 매체에 저장된 프로세서 실행가능한 명령어들을 실행하여, 상기 햅틱 효과의 특성을 수정하도록 구성되는, 시스템.
  3. 제1항에 있어서,
    상기 프로세서는 또한, 상기 비일시적 컴퓨터 판독가능 매체에 저장된 프로세서 실행가능한 명령어들을 실행하여:
    그래픽 사용자 인터페이스를 통해, 상기 콘텐츠에서 복수의 콘텐츠 요소와 연관된 상기 복수의 햅틱 트랙을 나타내는 데이터를 출력하는 것; 및
    상기 그래픽 사용자 인터페이스를 통해, 상기 햅틱 트랙의 선택을 수신하는 것에 의해, 상기 햅틱 트랙을 식별하도록 구성되는, 시스템.
  4. 제1항에 있어서,
    상기 프로세서는 또한, 상기 비일시적 컴퓨터 판독가능 매체에 저장된 프로세서 실행가능한 명령어들을 실행하여:
    모의 현실 환경에서 상기 사용자와 상기 선택된 콘텐츠 요소 사이의 거리를 결정하는 것에 의해, 상기 햅틱 트랙을 식별하도록 구성되고;
    상기 햅틱 트랙을 식별하는 것은 상기 사용자와 상기 선택된 콘텐츠 요소 사이의 거리에 기초하는, 시스템.
  5. 제1항에 있어서,
    상기 프로세서에 통신 가능하게 결합된 센서를 더 포함하고, 상기 프로세서는 또한:
    상기 센서로부터 하나 이상의 신호를 수신하는 것; 및
    하나 이상의 신호에 기초하여 상기 사용자의 응시가 상기 콘텐츠 요소를 향하고 있다는 결정에 응답하여, 상기 콘텐츠 요소를 선택하는 것에 의해, 상기 콘텐츠 요소의 선택을 결정하도록 구성되는, 시스템.
  6. 제1항에 있어서,
    상기 프로세서는 또한, 상기 비일시적 컴퓨터 판독가능 매체에 저장된 프로세서 실행가능한 명령어들을 실행하여:
    상기 사용자가 상기 복수의 콘텐츠 요소 중 상기 콘텐츠 요소를 가리키고 있다는 결정에 응답하여, 상기 콘텐츠 요소를 선택하는 것에 의해, 상기 콘텐츠 요소의 선택을 결정하도록 구성되는, 시스템.
  7. 제1항에 있어서,
    터치 표면;
    상기 프로세서 및 상기 터치 표면에 통신 가능하게 결합된 센서를 더 포함하고, 상기 센서는,
    상기 터치 표면 상에서의 접촉과 연관된 압력을 검출하고;
    상기 압력과 연관된 하나 이상의 신호를 송신하도록 구성되고,
    상기 프로세서는 또한, 상기 비일시적 컴퓨터 판독가능 매체에 저장된 프로세서 실행 가능한 명령어들을 실행하여:
    상기 센서로부터 상기 압력과 연관된 상기 신호를 수신하고;
    상기 하나 이상의 신호에 기초하여 압력량을 결정하고;
    상기 압력량에 기초하여 상기 햅틱 트랙의 특성을 결정하도록 구성되는, 시스템.
  8. 제1항에 있어서,
    상기 프로세서는 또한:
    상기 사용자와 상기 선택된 콘텐츠 요소 사이의 거리를 결정하고;
    상기 거리에 기초하여 상기 햅틱 트랙의 특성을 결정하도록 구성되는, 시스템.
  9. 제1항에 있어서,
    상기 프로세서에 통신 가능하게 연결된 센서를 더 포함하고, 상기 프로세서는 또한, 상기 비일시적 컴퓨터 판독가능 매체에 저장된 프로세서 실행 가능한 명령어들을 실행하여:
    상기 센서로부터 하나 이상의 신호를 수신하고;
    상기 하나 이상의 신호에 기초하여 상기 사용자의 움직임을 결정하고;
    상기 사용자의 움직임에 기초하여 상기 햅틱 트랙의 특성을 결정하도록 구성되는, 시스템.
  10. 제1항에 있어서,
    상기 프로세서에 통신 가능하게 연결된 센서를 더 포함하고, 상기 프로세서는 또한, 상기 비일시적 컴퓨터 판독가능 매체에 저장된 프로세서 실행 가능한 명령어들을 실행하여:
    상기 센서로부터 하나 이상의 신호를 수신하고;
    상기 하나 이상의 신호에 기초하여 상기 사용자의 응시가 상기 햅틱 트랙과 연관된 상기 선택된 콘텐츠 요소를 향하고 있다는 결정에 응답하여, 상기 햅틱 트랙의 특성을 결정하도록 구성되는, 시스템.
  11. 제1항에 있어서,
    상기 프로세서는 또한, 상기 비일시적 컴퓨터 판독가능 매체에 저장된 프로세서 실행 가능한 명령어들을 실행하여:
    기계-학습 기술을 이용하여 상기 햅틱 트랙의 식별에 기초하여 제2 햅틱 트랙을 예측하고;
    상기 제2 햅틱 트랙의 추천사항(recommendation)을 출력하도록 구성되는, 시스템.
  12. 제11항에 있어서,
    상기 프로세서는 또한, 상기 비일시적 컴퓨터 판독가능 매체에 저장된 프로세서 실행 가능한 명령어들을 실행하여:
    상기 기계-학습 기술을 이용하여, 상기 복수의 햅틱 트랙 중 상기 햅틱 트랙과, 하나 이상의 다른 햅틱 트랙을 비교하여, 상기 햅틱 트랙과 상기 제2 햅틱 트랙 사이의 유사성을 결정하는 것; 및
    상기 기계-학습 기술을 이용하여, 상기 햅틱 트랙과 상기 제2 햅틱 트랙 사이의 유사성에 기초하여, 상기 제2 햅틱 트랙을 예측하는 것에 의해, 상기 기계 학습 기술을 이용하여 상기 제2 햅틱 트랙을 예측하도록 구성되는, 시스템.
  13. 방법으로서,
    사용자에게 제공될 콘텐츠를 획득하는 단계;
    상기 콘텐츠의 복수의 콘텐츠 요소와 연관된 복수의 햅틱 트랙을 식별하는 데이터를 획득하는 단계;
    상기 복수의 콘텐츠 요소 중 콘텐츠 요소의 선택을 결정하는 단계;
    상기 복수의 햅틱 트랙 중 햅틱 트랙을 식별하는 단계 - 상기 햅틱 트랙은 상기 선택된 콘텐츠 요소와 연관됨 -;
    상기 햅틱 트랙에 기초하여 햅틱 효과를 결정하는 단계;
    상기 햅틱 효과의 특성을 결정하는 단계;
    상기 콘텐츠에 기초하여 콘텐츠 신호를 출력 디바이스에 송신하는 단계 - 상기 출력 디바이스는 상기 콘텐츠의 적어도 일부를 출력하도록 구성됨 -; 및
    햅틱 신호를 햅틱 출력 디바이스에 송신하는 단계 - 상기 햅틱 신호는 상기 햅틱 출력 디바이스로 하여금 상기 특성에 기초하며 상기 콘텐츠의 적어도 일부에 대응하는 상기 햅틱 효과를 출력하게 하도록 구성됨 - 를 포함하는, 방법.
  14. 제13항에 있어서,
    상기 햅틱 효과의 특성을 수정하는 단계를 더 포함하는, 방법.
  15. 제13항에 있어서,
    상기 햅틱 트랙을 식별하는 단계는:
    상기 콘텐츠에서 상기 복수의 콘텐츠 요소와 연관된 상기 복수의 햅틱 트랙을 나타내는 데이터를 출력하는 단계; 및
    상기 햅틱 트랙의 선택을 수신하는 단계를 포함하는, 방법.
  16. 제13항에 있어서,
    상기 햅틱 트랙을 식별하는 단계는:
    상기 사용자와 상기 선택된 콘텐츠 요소 사이의 거리를 결정하는 단계; 및
    상기 거리에 기초하여 상기 복수의 햅틱 트랙 중 상기 햅틱 트랙을 선택하는 단계를 포함하는, 방법.
  17. 제13항에 있어서,
    상기 햅틱 트랙을 식별하는 단계는:
    센서로부터 센서 신호를 수신하는 단계; 및
    상기 센서 신호에 기초하여 상기 사용자의 응시가 상기 선택된 콘텐츠 요소를 향하고 있다는 결정에 응답하여, 상기 특정 콘텐츠 요소와 연관된 상기 햅틱 트랙을 식별하는 단계를 포함하는, 방법.
  18. 제13항에 있어서,
    상기 햅틱 트랙의 특성을 결정하는 단계는:
    컴퓨팅 디바이스의 터치 표면상에서의 접촉과 연관된 압력을 나타내는 센서 신호를 센서로부터 수신하는 단계;
    상기 센서 신호에 기초하여 압력량을 결정하는 단계; 및
    상기 압력량에 기초하여 상기 햅틱 트랙의 특성을 결정하는 단계를 포함하는, 방법.
  19. 제13항에 있어서,
    상기 햅틱 트랙의 특성을 결정하는 단계는:
    상기 사용자와 상기 선택된 콘텐츠 요소 사이의 거리를 결정하는 단계; 및
    상기 거리에 기초하여 상기 햅틱 트랙의 특성을 결정하는 단계를 포함하는, 방법.
  20. 제13항에 있어서,
    상기 햅틱 트랙의 특성을 결정하는 단계는:
    상기 사용자의 움직임을 나타내는 센서 신호를 센서로부터 수신하는 단계; 및
    상기 사용자의 움직임에 기초하여 상기 햅틱 트랙의 특성을 결정하는 단계를 포함하는, 방법.
KR1020190133734A 2018-11-02 2019-10-25 맞춤형 햅틱 재생을 제공하기 위한 시스템들 및 방법들 KR20200050869A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/178,664 US10775894B2 (en) 2018-11-02 2018-11-02 Systems and methods for providing customizable haptic playback
US16/178,664 2018-11-02

Publications (1)

Publication Number Publication Date
KR20200050869A true KR20200050869A (ko) 2020-05-12

Family

ID=68426233

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190133734A KR20200050869A (ko) 2018-11-02 2019-10-25 맞춤형 햅틱 재생을 제공하기 위한 시스템들 및 방법들

Country Status (5)

Country Link
US (2) US10775894B2 (ko)
EP (1) EP3647915A1 (ko)
JP (1) JP2020080152A (ko)
KR (1) KR20200050869A (ko)
CN (1) CN111142658A (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK179978B1 (en) * 2016-09-23 2019-11-27 Apple Inc. IMAGE DATA FOR ENHANCED USER INTERACTIONS
RU2742200C1 (ru) * 2017-12-11 2021-02-03 Телефонактиеболагет Лм Эрикссон (Пабл) Способ для захвата тактильного контента в нескольких устройствах связи
JP7127562B2 (ja) * 2019-01-31 2022-08-30 株式会社島津製作所 触覚刺激呈示装置
US10924875B2 (en) * 2019-05-24 2021-02-16 Zack Settel Augmented reality platform for navigable, immersive audio experience
US11698680B2 (en) * 2020-06-23 2023-07-11 Immersion Corporation Methods and systems for decoding and rendering a haptic effect associated with a 3D environment
US11590411B2 (en) 2020-12-17 2023-02-28 Dell Products, Lp Pressure sensor with microphone and metal oxide sensor of a gaming headset microphone mouthpiece
EP4363951A1 (en) * 2021-06-28 2024-05-08 Distal Reality Llc Techniques for haptics communication
WO2023099133A1 (en) * 2021-12-02 2023-06-08 Interdigital Ce Patent Holdings, Sas Timeline based representation for haptic signal
US11755115B2 (en) 2021-12-07 2023-09-12 International Business Machines Corporation Simulated user interface in mixed reality for haptic effect management

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060284834A1 (en) 2004-06-29 2006-12-21 Sensable Technologies, Inc. Apparatus and methods for haptic rendering using a haptic camera view
US9582178B2 (en) * 2011-11-07 2017-02-28 Immersion Corporation Systems and methods for multi-pressure interaction on touch-sensitive surfaces
US9833697B2 (en) * 2013-03-11 2017-12-05 Immersion Corporation Haptic sensations as a function of eye gaze
WO2014201151A1 (en) 2013-06-11 2014-12-18 Immersion Corporation Systems and methods for pressure-based haptic effects
US9965034B2 (en) * 2013-12-30 2018-05-08 Immersion Corporation Systems and methods for a haptically-enabled projected user interface
US9588588B2 (en) * 2014-09-22 2017-03-07 Disney Enterprises, Inc. Customized haptic effects
US20160342208A1 (en) * 2015-05-20 2016-11-24 Immersion Corporation Haptic effects based on predicted contact
EP3179336A1 (en) 2015-12-07 2017-06-14 Thomson Licensing Method and device for rendering haptic effects in an immersive content
US9880627B2 (en) * 2015-12-15 2018-01-30 Immersion Corporation Automated haptic setting generation
US10324531B2 (en) * 2016-12-27 2019-06-18 Immersion Corporation Haptic feedback using a field of view

Also Published As

Publication number Publication date
EP3647915A1 (en) 2020-05-06
CN111142658A (zh) 2020-05-12
JP2020080152A (ja) 2020-05-28
US20200142484A1 (en) 2020-05-07
US10775894B2 (en) 2020-09-15
US20200341551A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
US10775894B2 (en) Systems and methods for providing customizable haptic playback
US11030788B2 (en) Virtual reality presentation of body postures of avatars
JP6516477B2 (ja) ユーザ生成コンテンツをオーサリングするためのシステム及び方法
JP6538305B2 (ja) 高度なテレビジョンインタラクションのための方法とコンピュータ可読媒体
KR101315052B1 (ko) 상호 작용식 오락 시스템과 이의 작동 방법
KR102068428B1 (ko) 햅틱 효과를 제공하는 시스템 및 방법
KR20150022694A (ko) 스포츠 이벤트를 햅틱으로 이용할 수 있는 시청
CN108121451B (zh) 走动道具系统
US20180232051A1 (en) Automatic localized haptics generation system
US10139901B2 (en) Virtual reality distraction monitor
US11904246B2 (en) Methods and systems for facilitating intra-game communications in a video game environment
JP2018014090A (ja) ケースを介して触覚フィードバックを提供するためのシステム及び方法
JP6419932B1 (ja) 仮想空間において楽器の演奏を支援するためのプログラム、楽器の選択を支援するためにコンピュータで実行される方法、および情報処理装置
KR20190122559A (ko) 증강 또는 가상 현실 환경들에 대한 동적 햅틱 재생을 제공하기 위한 시스템들 및 방법들
CN113398590B (zh) 声音处理方法、装置、计算机设备及存储介质
JP2021053181A (ja) プログラム、方法、および視聴端末
WO2023003694A1 (en) Augmented reality placement for user feedback
Yun et al. Generating real-time, selective, and multimodal haptic effects from sound for gaming experience enhancement
JP7240355B2 (ja) 情報処理プログラム及び情報処理方法
JP2020061162A (ja) ヘッドマウントディスプレイとコントローラとを連動させて画面操作するシステム、プログラム、及び方法
US20240066399A1 (en) Smooth switchover of computer game control
WO2019245726A1 (en) Gesture-based user interface for ar and vr with gaze trigger
US20230104514A1 (en) Systems and methods for haptic feedback effects
US11934627B1 (en) 3D user interface with sliding cylindrical volumes
US20240012468A1 (en) Method and apparatus for managing a virtual session