KR20200081211A - 햅틱 효과 신호 처리 - Google Patents

햅틱 효과 신호 처리 Download PDF

Info

Publication number
KR20200081211A
KR20200081211A KR1020190132191A KR20190132191A KR20200081211A KR 20200081211 A KR20200081211 A KR 20200081211A KR 1020190132191 A KR1020190132191 A KR 1020190132191A KR 20190132191 A KR20190132191 A KR 20190132191A KR 20200081211 A KR20200081211 A KR 20200081211A
Authority
KR
South Korea
Prior art keywords
haptic
modifier
real
haptic effect
time
Prior art date
Application number
KR1020190132191A
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 KR20200081211A publication Critical patent/KR20200081211A/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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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

Landscapes

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

Abstract

본 발명은 통신 인터페이스, 입력 디바이스, 햅틱 출력 디바이스 및 프로세서를 포함하는 햅틱 디바이스를 제공한다. 통신 인터페이스는 실시간 햅틱 효과 수정자의 목록, 연관된 파라미터 및 햅틱 제어 신호를 포함하는 햅틱 트랙 파일을 수신한다. 입력 디바이스는 실시간 햅틱 효과 수정자의 선택 및 연관된 파라미터에 대한 값을 포함하는 사용자로부터의 입력을 수신한다. 햅틱 출력 디바이스는 햅틱 제어 신호를 기초로, 하나 이상의 햅틱 효과를 사용자에게 렌더링한다. 프로세서는 햅틱 트랙 파일을 디코딩하고, 수정된 햅틱 제어 신호를 생성하기 위해 선택된 실시간 햅틱 효과 수정자를 햅틱 제어 신호에 적용하며, 수정된 햅틱 제어 신호를 햅틱 출력 디바이스에 제공한다. 햅틱 출력 디바이스는 수정된 햅틱 제어 신호를 기초로, 하나 이상의 수정된 햅틱 효과를 사용자에게 렌더링한다.

Description

햅틱 효과 신호 처리{HAPTIC EFFECT SIGNAL PROCESSING}
본 발명은 햅틱 디바이스에 관한 것이다. 더 구체적으로, 본 발명은 햅틱 디바이스에 대한 햅틱 효과 신호 처리에 관한 것이다.
모바일 디바이스, 개인용 컴퓨터, 가정용 비디오 게임 콘솔, 휴대형 비디오 게임 콘솔, 마이크로 콘솔(microconsoles) 등과 같은 전자 디바이스는 통상적으로, 사용자에게 피드백을 제공하기 위해 시각 및 청각적인 큐(cues)를 사용한다. 일부 전자 디바이스에서, 운동감각 피드백(kinesthetic feedback)(예를 들어, 활동력 및 저항력 피드백) 및/또는 촉감 피드백(예를 들어, 진동, 질감(texture), 온도 변화 등)이 사용자에게 제공될 수 있다. 일반적으로, 이러한 피드백은 집합적으로, "햅틱 피드백" 또는 햅틱 효과"로 알려진다. 햅틱 효과는 모의된 또는 가상 환경 내에서 사용자에게 더욱 감각적인 몰입을 창출하기 위해, 단순한 알림 강화로부터 특정한 이벤트까지 전자 디바이스와 사용자의 상호작용을 개선시키는 큐를 제공한다.
스마트폰과 같이, 사용자에게 햅틱 효과를 렌더링하는 모바일 디바이스는 맞춤화(customization)에 대해 매우 제한된다. 예를 들어, 진동촉감(vibrotactile) 햅틱 효과의 렌더링은 일반적인 "진동" 설정을 켬으로써 가능해질 수 있다. 진동촉감 햅틱 효과는 그 후에, 목록으로부터 미리 정의된 진동 패턴을 선택함으로써, 예를 들어, "신호음(ringtone)", "텍스트 톤(text tone)", "새로운 음성 메일 ", "새로운 메일", "전송된 메일", "달력 알림", "리마인더 알림" 등과 같은 일부(certain) 기능에 할당될 수 있다. 일부 스마트폰은 사용자가 스크린 상에서 "탭(tapping)"함으로써 새로운 진동 패턴을 정의하고, 그 후에 사용자 정의된 진동 패턴을 스마트폰의 일부 기능에 할당하는 것을 허용한다. 하지만, 미리 정의된 진동 패턴과 사용자 정의된 진동 패턴 모두는 재생(playback) 동안에 수정될 수 없다.
본 발명의 실시예는 통신 인터페이스, 입력 디바이스, 햅틱 출력 디바이스 및 프로세서를 포함하는 햅틱 디바이스를 이롭게 제공한다.
통신 인터페이스는 실시간 햅틱 효과 수정자의 목록, 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 햅틱 제어 신호를 포함하는 햅틱 트랙 파일(haptic track file)을 수신하도록 구성된다. 입력 디바이스는 사용자로부터 입력을 수신하도록 구성되며, 입력은 실시간 햅틱 효과 수정자의 목록으로부터 적어도 하나의 실시간 햅틱 효과 수정자의 선택, 및 선택된 실시간 햅틱 효과 수정자와 연관된 적어도 하나의 파라미터에 대한 값을 포함한다. 햅틱 출력 디바이스는 햅틱 제어 신호를 기초로 사용자에게 하나 이상의 햅틱 효과를 렌더링하도록 구성된다.
프로세서는 실시간 햅틱 효과 수정자의 목록, 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 햅틱 제어 신호를 추출하기 위해 햅틱 트랙 파일을 디코딩하고, 수정된 햅틱 제어 신호를 생성하기 위해, 선택된 실시간 햅틱 효과 수정자와 연관된 파라미터에 대한 값을 기초로, 선택된 실시간 햅틱 효과 수정자를 햅틱 제어 신호에 적용하며, 수정된 햅틱 제어 신호를 햅틱 출력 디바이스에 제공하도록 구성된다.
도 1은 본 발명의 일 실시예에 따른 햅틱 시스템의 블록도를 도시한다.
도 2는 본 발명의 일 실시예에 따른 햅틱 디바이스의 블록도를 도시한다.
도 3은 본 발명의 일 실시예에 따른 햅틱 콘텐츠를 생성하는 기능을 도시하는 흐름도를 도시한다.
도 4는 본 발명의 일 실시예에 따른, 햅틱 콘텐츠를 생성하는 대안적인 기능을 도시하는 흐름도를 도시한다.
도 5는 본 발명의 일 실시예에 따른 햅틱 트랙 파일의 블록도를 도시한다.
도 6은 본 발명의 다른 실시예에 따른 햅틱 트랙 파일의 블록도를 도시한다.
도 7은 본 발명의 일 실시예에 따른 햅틱 콘텐츠를 렌더링하는 기능을 도시하는 흐름도를 도시한다.
도 8은 본 발명의 일 실시예에 따른 햅틱 콘텐츠를 렌더링하는 대안적인 기능을 도시하는 흐름도를 도시한다.
도 9는 본 발명의 일 실시예에 따른 햅틱 디바이스에 대한 그래픽 사용자 인터페이스(GUI)를 도시한다.
이제, 본 발명의 실시예는 전체에 걸쳐 유사한 참조 부호가 유사한 부분을 지칭하는 도면을 참조로 서술될 것이다.
본 발명의 실시예는 햅틱 서버 및 햅틱 디바이스를 포함하는 햅틱 시스템을 제공한다. 햅틱 시스템은 이롭게, 사용자가 햅틱 디바이스 상에서의 재생 동안 햅틱 제어 신호를 수정하는 것을 허용한다. 햅틱 제어 신호는 스마트폰, 태블릿, 웨어러블 디바이스 등일 수 있는 햅틱 디바이스에 의해 렌더링되는 하나 이상의 햅틱 효과를 인코딩한다. 햅틱 제어 신호는 하나 이상의 실시간 햅틱 효과 수정자를 햅틱 제어 신호에 적용함으로써, 재생 동안 수정된다. 사용자는 이들 실시간 햅틱 효과 수정자에 대한 파라미터를 이롭게 맞춤화 시킬 수 있다. 햅틱 효과는 햅틱 트랙 파일 내에 인코딩된 사용자-맞춤화 가능한 파라미터의 세트를 기초로 재생 동안 렌더링 될 수 있다.
도 1은 본 발명의 일 실시예에 따른 햅틱 시스템의 블록도를 도시한다. 햅틱 시스템(10)은 네트워크(50)에 결합된 햅틱 서버(20), 햅틱 클라이언트(30) 및 햅틱 디바이스(40)를 포함한다. 네트워크(50)는 하나 이상의 근거리 통신망, 광역 통신망(wide area network), 인터넷 등을 포함할 수 있다. 또한, 네트워크(50)는 예를 들어, 유선 및 무선 이더넷, 블루투스 등과 같은 다양한 네트워크 프로토콜을 실행하는 예를 들어, 구리선 또는 동축 케이블 네트워크, 광섬유 네트워크 블루투스 무선 네트워크, WiFi 무선 네트워크, CDMA, FDMA 및 TDMA 셀룰러 무선 네트워크 등과 같은 유선 및/또는 무선 네트워크의 다양한 조합을 포함할 수 있다.
햅틱 서버(20)는 설계자가 햅틱 디바이스(40)에 대한 햅틱 콘텐츠를 생성하는 컴퓨터이다. 더 구체적으로, 햅틱 서버(20)는 햅틱 제어 신호에 대한 실시간 햅틱 효과 수정자를 설계하기 위해, 햅틱 저작 애플리케이션(haptic authoring application)을 실행하는 특수하게 프로그래밍된 범용 컴퓨터이다. 햅틱 제어 신호는 설계자에 의해 햅틱 저작 애플리케이션을 사용하여 생성될 수 있거나, 또는 햅틱 제어 신호는 설계자에 의해 상이한 애플리케이션을 사용하여 생성될 수 있다. 대안적으로, 햅틱 제어 신호는 다른 설계자, 애플리케이션 또는 시스템에 의해 생성될 수 있다. 또한, 햅틱 제어 신호는 오디오 또는 비디오 콘텐츠로부터 및/또는 센서 정보로부터 자동으로 생성될 수 있다.
하나의 실시예에서, 햅틱 저작 애플리케이션은 랩톱 컴퓨터, 데스크톱 컴퓨터 등과 같이 햅틱 클라이언트(30) 상에서 실행되는 웹 브라우저 애플리케이션과 통신하는, 햅틱 서버(20)에 의해 호스팅되는(hosted) 웹 서버 애플리케이션이다. 다른 실시예에서, 햅틱 저작 애플리케이션은 랩톱 컴퓨터, 데스크톱 컴퓨터 등일 수 있는, 햅틱 서버(20) 상에서 실행되는 자립형 애플리케이션(standalone application)이다. 이 실시예에서, 햅틱 서버(20) 및 햅틱 클라이언트(30)는 동일한 컴퓨터이다.
웹 기반의 실시예에서, 햅틱 저작 애플리케이션은 햅틱 서버(20) 상에서 실행되며, 햅틱 클라이언트(30)에 대한 그래픽 사용자 인터페이스(GUI)를 생성하고, 이는 햅틱 클라이언트(30) 상에서 실행되는 브라우저(또는 다른) 애플리케이션을 통해 설계자에게 제시된다. GUI는 설계자가 특정한 햅틱 디바이스(40)에 대한 재생 동안 햅틱 제어 신호에 적용되는 실시간 햅틱 효과 수정자를 설계하는 것을 허용한다. 예를 들어, 설계자는 실시간 햅틱 효과 수정자의 라이브러리로부터 하나 이상의 실시간 햅틱 효과 수정자를 선택할 수 있다. 대안적으로, 설계자는 소프트웨어 개발 도구, 소프트웨어 개발 키트(software development kit, SDK), 통합된 개발 환경(integrated development environment, IDE) 등을 사용하여, 실시간 햅틱 효과 수정자를 생성할 수 있다.
각 실시간 햅틱 효과 수정자는 설계자에 의해 정의된 하나 이상의 파라미터를 포함한다. 각 파라미터는 값, 및 최소 값 및 최대 값을 포함하는 범위를 가질 수 있다. 범위는 사용자에 대해 이용 가능한, 허용 가능한 값의 경계를 정의하며, 사용자는 재생 동안 햅틱 제어 신호를 맞춤화시키기 위해 각 파라미터의 값을 이롭게 수정할 수 있다. 설계자는 또한, 실시간 햅틱 효과 수정자에 대한 이산 값의 세트를 정의할 수 있다. 각 이산 값은 실시간 햅틱 효과 수정자에 기초가 되는 각 파라미터에 대한 고정된 값과 연관되며, 사용자는 재생 동안 햅틱 제어 신호를 맞춤화시키기 위해 기초가 되는 파라미터보다는, 이산 값을 이롭게 변경할 수 있다. 아래에 논의되는 바와 같이, 이산 값의 세트는 실시간 햅틱 효과 수정자에 대한 단일 수정자 또는 "플레이버(flavor)"를 나타낸다.
일반적으로, 햅틱 트랙 파일은 햅틱 출력 디바이스에 제공되는 햅틱 제어 신호를 포함한다. 햅틱 제어 신호는 햅틱 출력 디바이스에 의해 렌더링되는 하나 이상의 햅틱 효과를 인코딩한다. 예를 들어, 단일 햅틱 효과가 햅틱 제어 신호 내에 인코딩될 수 있다. 다른 예시에서, 다수의 햅틱 효과가 햅틱 제어 신호 내에 인코딩될 수 있다. 추가적인 예시에서, 햅틱 제어 신호는 오디오 데이터, 비디오 데이터, 센서 데이터, 멀티미디어 데이터 등과 연관된 다수의 햅틱 효과를 인코딩할 수 있다. 하나의 실시예에서, 햅틱 제어 신호는 고정된 시간 간격만큼 분리되는 크기 값의 시퀀스이다. 다른 햅틱 제어 신호 포맷이 또한, 고려된다.
햅틱 저작 애플리케이션은 햅틱 클라이언트(30) 상에서 실행되는 브라우저 (또는 다른) 애플리케이션으로부터 수신된 설계자의 입력에 응답하여, 실시간 햅틱 효과 수정자의 목록, 실시간 햅틱 효과 수정자에 대한 파라미터 및 햅틱 제어 신호를 햅틱 트랙 파일로 인코딩한다. 일부 실시예에서, 햅틱 트랙 파일은 네트워크(50)를 통해 햅틱 서버(20)로부터 햅틱 디바이스(40)로 송신된다. 다른 실시예에서, 햅틱 트랙 파일은 햅틱 서버(20) 외의 컴퓨터의 하드 디스크 상에 저장되고, 범용 직렬 버스(Universal Serial Bus, USB) 케이블, 블루투스 무선 연결 등을 사용하여 햅틱 디바이스(40)에 다운로드 될 수 있다. 이들 실시예에서, 햅틱 디바이스(40)는 햅틱 트랙 파일을 수신하기 위해 네트워크에 연결할 필요는 없다. 예를 들어, 햅틱 디바이스(40)는 사용자가 게임 콘솔을 통해 스트리밍되거나 또는 제어되는 상이한 햅틱 효과를 플레이(play)할 수 있는 게임패드(gamepad)일 수 있다.
예를 들어, 도 2에 도시된 햅틱 효과 모듈(134)과 같은 햅틱 디바이스(40) 상에서 실행되는 소프트웨어는 햅틱 트랙 파일을 디코딩하고, 실시간 햅틱 효과 수정자의 목록, 실시간 햅틱 효과 수정자에 대한 파라미터 및 햅틱 제어 신호를 추출한다. 설계자가 선택한 실시간 햅틱 효과 수정자의 라이브러리는 햅틱 디바이스(40) 상에 제공될 수 있다. 대안적으로, 설계자에 의해 프로그래밍된 실시간 햅틱 효과 수정자는 네트워크(50)를 통해 햅틱 서버(20)로부터 햅틱 디바이스(40)로, 독립적으로 또는 햅틱 트랙 파일과 함께 송신될 수 있다.
사용자는 햅틱 디바이스(40)에 의해 제공된 GUI를 사용하여 설계자의 실시간 햅틱 효과 수정자를 맞춤화 시킬 수 있다. 예를 들어, 사용자는 설계자에 의해 선택된 실시간 햅틱 효과 수정자 중 어느 것도 적용하지 않는 것으로 선택할 수 있다. 이 예시에서, 햅틱 제어 신호 내의 햅틱 효과는 수정 없이 렌더링된다. 다른 예시에서, 사용자는 햅틱 제어 신호에 적용할 단일 실시간 햅틱 효과 수정자를 선택할 수 있다. 이 예시에서, 사용자는 각 파라미터의 값을 변경하거나, 또는 실시간 햅틱 효과 수정자의 각 파라미터에 대한 이산 값을 선택할 수 있다. 추가적인 예시에서, 사용자는 햅틱 제어 신호에 적용할 하나보다 많은 실시간 햅틱 효과 수정자를 선택할 수 있다. 이 예시에서, 사용자는 각 실시간 햅틱 효과 수정자의 각 파라미터의 값을 수정하거나, 또는 이의 각 파라미터에 대한 이산 값을 선택할 수 있다.
햅틱 디바이스(40) 상에서 햅틱 제어 신호의 재생 동안, 사용자-선택된 및 맞춤화된 실시간 햅틱 효과 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 햅틱 제어 신호에 적용된다. 수정된 햅틱 제어 신호는 예를 들어, 도 2에 도시된 햅틱 출력 디바이스(190) 및 햅틱 출력 디바이스 인터페이스(160)와 같이, 햅틱 출력 디바이스 인터페이스를 통해 햅틱 출력 디바이스에 제공된다. 햅틱 출력 디바이스는 수정된 햅틱 제어 신호를 기초로, 수정된 햅틱 효과를 사용자에게 렌더링한다.
실시간 햅틱 효과 수정자의 수 개의 예시가 아래에 제시된다.
햅틱 볼륨 수정자(haptic volume modifier)는 수정된 햅틱 제어 신호를 생성하기 위해, 햅틱 제어 신호의 크기를 증가시키거나 감소시킴으로써, 재생 동안 햅틱 출력 디바이스에 의해 렌더링되는 햅틱 효과의 볼륨을 증가시키거나 감소시킨다. 예를 들어, 원래의 햅틱 제어 신호의 크기 값은 볼륨을 증가시키기 위해 증가되고, 볼륨을 감소시키기 위해 감소될 수 있다.
햅틱 주파수 수정자는 수정된 햅틱 제어 신호를 생성하기 위해 햅틱 제어 신호의 주파수(또는 주파수들)을 증가시키거나, 감소시키거나 또는 다르게 수정함으로써 햅틱 제어 신호를 변경한다. 햅틱 주파수 수정자는 재생 동안 햅틱 출력 디바이스에 의해 렌더링된 햅틱 효과의 주파수(또는 주파수들)를 증가시키거나, 감소시키거나 또는 다른 방식으로 수정한다.
햅틱 주파수 수정자의 하나의 예시는 주파수 시프트 수정자(frequency shift modifier)이다. 일부 사용자는 더욱 낮은 주파수에서 햅틱 효과를 겪는 것을 선호하는 한편, 다른 사용자는 더욱 높은 주파수에서 햅틱 효과를 겪는 것을 사용한다. 주파수 시프트 수정자는 햅틱 제어 신호의 주파수 범위를 예상하며, 그 후에 햅틱 제어 신호의 주파수 범위를 사용자의 선호하는 주파수 범위로 시프트한다(shifts). 주파수 시프트 수정자는 햅틱 제어 신호 내의 각 햅틱 효과에 대한 엔벨로프(envelope)를 추출하고, 그 후에 바람직한 주파수(또는 주파수들)로 이 엔벨로프를 채운다. 엔벨로프는 평균 제곱근(root mean square, RMS) 윈도우, 최대 또는 평균 값 윈도우 등일 수 있다.
주파수 시프트 수정자는 선형 방식에 따를 수 있다. 예를 들어, 햅틱 제어 신호 주파수 범위가 150 Hz와 200 Hz 사이에 있고, 선호하는 햅틱 제어 신호 주파수 범위가 50 Hz와 100 Hz 사이에 있는 경우, 170 Hz의 원래의 주파수를 갖는 햅틱 효과는 70 Hz의 시프트 된 주파수를 갖는 햅틱 효과로 변환될 것이다. 대안적으로, 주파수 시프트 수정자는 비-선형 방식에 따를 수 있다.
추가적으로, 주파수 시프트 수정자는 수정된 햅틱 제어 신호의 크기를 조절함으로써, 햅틱 출력 디바이스의 공진 주파수를 보상할 수 있다. 예를 들어, 시프트 된 주파수가 햅틱 출력 디바이스의 공진 주파수에 더 가까운 경우, 수정된 햅틱 제어 신호의 크기는 감소될 수 있다. 또한, 주파수 시프트 수정자는 사용자가 햅틱 제어 신호의 주파수를 "랜덤화하고(randomize)", 각 랜덤 간격에 대한 기간을 지정하는 것을 허용할 수 있다.
햅틱 주파수 수정자의 다른 예시는 페이저 수정자(phaser modifier), 플랜저 수정자(flanger modifier), 코러스 수정자(chorus modifier), 필터 스윕 수정자(filter sweep modifier), 엔벨로프 수정자(envelope modifier), 와우-와우 수정자(wah-wah modifier), 공진기 수정자, 아르페지에이터 수정자(arpeggiator modifier) 등을 포함한다.
페이저 수정자는 일련의 모든 통과 필터(pass filters)를 사용하여 햅틱 제어 신호의 상이한 주파수 성분의 위상을 변동시키고(altering), 그 후에 원래의 햅틱 제어 신호와 변동된 햅틱 제어 신호를 재결합함으로써 햅틱 제어 신호를 수정한다. 수정된 햅틱 제어 신호는 변동된 및 원래의 햅틱 제어 신호가 유해하게(destructively) 결합하는 주파수 스펙트럼에서의 노치(notches)를 포함한다.
플랜저 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 지연 라인(delay line)을 사용하여 햅틱 제어 신호의 상이한 주파수 성분의 위상을 변동시키고, 그 후에 원래의 햅틱 제어 신호와 변동된 햅틱 제어 신호를 재결합함으로써 햅틱 제어 신호를 변경한다. 플랜저 수정자는 페이저 수정자와 유사하다.
코러스 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 저주파 공진기를 사용하여 햅틱 제어 신호를 지연시키고 변조하며, 그 후에 햅틱 제어 신호와 지연되고 변조된 햅틱 제어 신호를 혼합함으로써 햅틱 제어 신호를 변경한다. 코러스 수정자는 플랜저 수정자와 유사하다.
필터 스윕 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 이동 컷오프 주파수(moving cutoff frequency)를 통한 저역 통과 필터를 사용하여 햅틱 제어 신호를 필터링함으로써 햅틱 제어 신호를 변경한다. 저역 통과 필터의 컷오프 주파수는 미리 결정된 주파수 범위에 걸쳐 이동되거나 "스윕될(swept)" 수 있다.
엔벨로프 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 엔벨로프 필터를 사용하여 햅틱 제어 신호를 필터링함으로써 햅틱 제어 신호를 변경한다. 엔벨로프 필터는 수정된 햅틱 제어 신호로 사용되는, 햅틱 제어 신호의 크기 엔벨로프를 검출한다. 더욱 높은 크기 엔벨로프 또는 더욱 낮은 크기 엔벨로프가 사용될 수 있다.
와우-와우 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 사용자-선택 가능 주파수 대역을 갖는 대역 통과 필터를 사용하여 햅틱 제어 신호를 필터링함으로써 햅틱 제어 신호를 변경한다. 대역 통과 필터의 사용자-선택 가능 주파수 대역은 사용자-선택 가능 주파수 범위에 걸쳐 이동되거나 또는 "스윕"된다.
공진기 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 다수의 지연 라인을 사용하여 햅틱 제어 신호를 지연시키고, 그 후에 지연된 신호를 다시 햅틱 제어 신호에 공급함으로써, 수정된 햅틱 제어 신호를 생성한다.
아르페지에이터 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 햅틱 제어 신호를 사용자-선택 가능한 개수의 상이한 주파수로 복제하고(replicating), 그 후에 햅틱 제어 신호와 복제된 햅틱 제어 신호를 결합함으로써 햅틱 제어 신호를 변경한다. 복제된 햅틱 제어 신호의 주파수는 사용자-선택 가능한 양만큼 증가할 수 있거나 또는, 복제된 햅틱 제어 신호의 주파수는 사용자-선택 가능한 양만큼 감소할 수 있다. 복제된 햅틱 제어 신호의 크기는 원래 햅틱 제어 신호의 크기에 대해 점진적으로 감소될 수 있다.
햅틱 대비 수정자(haptic contrast modifier)는 수정된 햅틱 제어 신호를 생성하기 위해, 동적 범위 압축 또는 확장을 햅틱 제어 신호에 적용함으로써 햅틱 제어 신호를 변경한다. 햅틱 대비 수정자는 사용자가 더욱 넓거나 또는 더욱 좁은 동적 범위를 통해, 햅틱 효과를 뚜렷하게 경험하는 것을 허용한다. 동적 범위 압축 또는 확장은 임계치(예를 들어, 소프트-니 압축(soft-knee compression))를 통해 점차, 또는 임계치(예를 들어, 하드-니 압축(hard-knee compression))에서 갑작스럽게 적용될 수 있다.
햅틱 베이스 부스트 수정자(haptic bass boost modifier)는 수정된 햅틱 제어 신호를 생성하기 위해, 사용자-선택 가능한 파라미터를 통한 저역 통과 필터를 사용하여 햅틱 제어 신호를 필터링함으로써 햅틱 제어 신호를 변경한다. 햅틱 베이스 부스트 수정자는 저주파 햅틱 효과의 크기를 증가시키며, 고주파 햅틱 효과의 크기를 감소시킨다. 저역 통과 필터는 체비쇼프 필터(Chebyshev filter) 또는 싱크 필터(sinc filter) 등을 사용하여 구현될 수 있다. 사용자는 필터 파라미터를 변경함으로써 부스트 또는 감쇠의 양을 제어한다.
햅틱 지연 수정자는 햅틱 제어 신호를 사용자-선택 가능한 시간 지연만큼 지연시킴으로써 햅틱 제어 신호를 변경한다. 지연된 햅틱 제어 신호는 또한, 반복되고, 결합되며, 사일런스 갭(silence gaps)만큼 분리 등이 될 수 있다.
햅틱 반향 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 햅틱 제어 신호의 다수의 사본을 생성함으로써 햅틱 제어 신호를 변경한다. 햅틱 제어 신호의 사본은 반복되고 감쇠하는(decaying) 에코를 생성하기 위해 순차적으로 결합될 수 있다. 사용자는 예를 들어, 선형, 지수적(exponential) 등과 같은, 반향 시간 및 감쇠 인자(decay factor)를 선택할 수 있다. 선형 감쇠 인자에 대해, 햅틱 제어 신호의 제1 사본은 80%로 스케일링되고, 햅틱 제어 신호의 제2 사본은 60%로 스케일링되며, 햅틱 제어 신호의 제3 사본은 40%로 스케일링되는 등일 수 있다. 지수적인 감쇠 인자에 대해, 햅틱 제어 신호의 제1 사본은 50%로 스케일링되고, 햅틱 제어 신호의 제2 사본은 20%로 스케일링되며, 햅틱 제어 신호의 제3 사본은 10%로 스케일링되는 등일 수 있다.
햅틱 트레몰로 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 햅틱 제어 신호의 크기를 반복적으로 증가시키고 감소시킴으로써 햅틱 제어 신호를 변경한다. 햅틱 트레몰로 수정자는 "떨리는(shuddering)" 효과를 생성한다. 햅틱 트레몰로 수정자의 속도는 사용자에 의해 선택될 수 있다.
일반적으로, 두 개 이상의 실시간 햅틱 효과 수정자는 실시간 햅틱 효과 수정자를 햅틱 제어 신호에 순차적으로 적용함으로써, 임의의 순서대로(in any order) 함께 결합될 수 있다.
이롭게, 설계자는 실시간 햅틱 효과 수정자의 다른 파라미터와 연관된 단일 수정자 또는 "플레이버"를 정의할 수 있다. 플레이버는 이산 값의 세트로부터 선택된 이산 값을 가질 수 있거나, 또는 플레이버는 범위에 걸쳐 변하는 연속 값을 가질 수 있다. 더 구체적으로, 각 이산 값은 실시간 햅틱 효과 수정자의 각 파라미터에 대해, 설계자에 의해 결정된 미리 정의된 값과 연관된다. 플레이버는 햅틱 트랙 파일 내의 파라미터로 인코딩될 수 있다. 재생 동안, 사용자는 플레이버의 값을 맞춤화시킬 수 있으며, 이는 실시간 햅틱 효과 수정자의 기초가 되는 파라미터 값을 설계자에 의해 결정된 미리 정의된 값으로 설정한다.
다른 실시예에서, 햅틱 효과는 재생 동안 실시간 햅틱 효과 수정자를 햅틱 제어 신호에 적용하는 것이 아닌, 햅틱 트랙 파일 내에서 인코딩된 하나 이상의 파라미터를 기초로, 재생 동안 생성되고 렌더링될 수 있다. 예를 들어, 설계자는 햅틱 질감 효과를 선택하고, 펄스 폭, 사일런스 갭 기간 등과 같은 관련된 파라미터에 대한 값 및 범위를 정의할 수 있다. 사용자는 상술한 바와 같이, 이들 파라미터 값을 맞춤화시키며, 그 후에 햅틱 질감 효과는 재생 동안 렌더링될 수 있다.
일 실시예에서, 설계자는 햅틱 질감 효과와 연관된 파라미터를 갖는 "도로 질감"으로 지칭되는 플레이버를 햅틱 트랙 파일로 인코딩할 수 있다. 재생 동안, 사용자는 GUI에서 바람직한 플레이버 값을 간단히 선택함으로써, "도로 질감" 플레이버를 맞춤화시킬 수 있다.
예를 들어, 설계자는 "거친", "부드러운", "스크래치(scratchy)" 등과 같은 햅틱 질감 효과의 "도로 질감" 플레이버에 대한 이산 값뿐만 아니라, 각 플레이버에 대해 기초가 되는 파라미터 값을 정의할 수 있다. "거친" 질감은 20 ms의 펄스와 30 ms의 사일런스 갭을 정의하는 파라미터 값을 포함할 수 있는 한편, "부드러운" 질감은 50 ms의 펄스와 80 ms의 사일런스 갭을 정의하는 파라미터 값을 포함할 수 있다. 재생 동안, 사용자는 GUI에서 "도로 질감"의 플레이버 위젯(widget)을 선택하고, 그 후에 예를 들어, 풀-다운 메뉴(pull-down menu), 팝-업 메뉴(pop-up menu) 등으로부터, 바람직한 플레이버 값 예를 들어, "거친", "부드러운", "스크래치" 등을 선택할 수 있다. 대안적으로, 사용자는 GUI에 제시된 라디오 버튼의 세트로부터 직접적으로 바람직한 플레이버 값을 선택할 수 있다. 다른 GUI 설계가 또한, 고려된다. 선택된 플레이버 값과 연관된 파라미터 값은 그 후에 재생 동안 햅틱 질감 효과를 생성하는데 사용된다.
다른 예시에서, 설계자는 햅틱 질감 효과의 "도로 질감" 플레이버에 대해 허용 가능한 파라미터 값의 연속 값 및 범위를 정의할 수 있다. 재생 동안, 사용자는 GUI에서 "도로 질감" 플레이버 위젯을 선택하고, 그 후에 위젯을 특정한 값 또는 설정으로 관련시킴으로써(articulating) 바람직한 플레이버 값을 선택한다. 위젯은 "도로 질감" 플레이버 값이 "매우 부드러운" 질감에 대응하는 최소 값으로부터 "매우 거친" 질감에 대응하는 최대 값까지 선택되게 하는 것을 허용하는 슬라이더(slider), 노브(knob) 등일 수 있다. 이 예시에서, 최소 값은 0이고, 최대 값은 100일 수 있다. 최소 및 최대 값에 대한 다른 값이 또한 사용된다.
이 예시에서, 설계자는 최소 플레이버 값 및 최대 플레이버 값에 대해, 펄스 폭 및 사일런스 갭 기간과 같이 수개의 기초가 되는 파라미터를 정의한다. "더욱 부드러운" 질감은 더욱 긴 펄스 폭 및 더욱 큰 사일런스 갭을 가질 수 있는 한편, "더욱 거친" 질감은 더욱 짧은 펄스 폭 및 더욱 작은 사일런스 갭을 가질 수 있다. 이 예시에서, 최대 또는 "매우 거친" 플레이버 값은 10 ms의 펄스 및 20 ms의 사일런스 갭을 가질 수 있는 한편, 최소 또는 "매우 부드러운" 플레이버 값은 100 ms의 펄스 및 150 ms의 사일런스 갭을 가질 수 있다. 펄스 폭 파라미터는 최소 및 최대 플레이버 값에 대한 설계자-선택된 파라미터 값을 기초로, 10 ms의 최소 값 및 100 ms의 최대 값을 갖는다. 유사하게, 사일런스 갭 기간은 20 ms의 최소 값 및 150 ms의 최대 값을 갖는다.
GUI로부터 사용자의 선택된 플레이버 값은 선형 보간, 다항식 보간, 스플라인 보간(spline interpolation), 대수 보간(logarithmic interpolation) 등과 같은 설계-선택된 파라미터 값을 기초로 하는 보간에 의해 기초가 되는 파라미터 값을 결정하는데 사용된다. 선형 보간 예시에서, 사용자가 "도로 질감" 위젯을 그의 중앙 값 예를 들어, 50으로 조정하는 경우, 펄스 폭 파라미터 값 및 사일런스 갭 기간 값은 그 각각의 범위의 중앙에 있도록 보간된다. 펄스 폭 파라미터에 대해, 보간된 값은 55 ms(즉, 10 + (50/100)*(100-10))이다. 펄스 폭 파라미터에 대해, 보간된 값은 85 ms(즉, 20 + (50/100)*(150-20))이다. 설계자는 또한, 펄스 폭 파라미터에 대해 선형 보간, 및 사일런스 갭 기간 파라미터에 대해 대수와 같이, 상이한 보간 방법을 상이한 파라미터로 정의할 수 있다. 보간된 파라미터 값은 그 후에, 재생 동안 햅틱 질감 효과를 생성하는데 사용된다.
추가적으로, 설계자는 실시간 햅틱 효과 수정자에 대한 다수의 플레이버를 정의할 수 있다. 하나의 예시에서, 설계자는 햅틱 질감 효과에 대한 "도로 질감" 플레이버 및 "도로 잡음" 플레이버를 정의할 수 있다. "도로 질감" 플레이버는 상술한 바와 같이 "부드러운"으로부터 "거친"으로 변할 수 있고, "도로 잡음" 플레이버는 유사한 방식으로 "조용한"으로부터 "시끄러운"으로 변할 수 있다. 각 플레이버는 독립적인 파라미터를 사용하여 정의될 수 있거나, 또는 대안적으로 플레이버는 하나 이상의 파라미터를 공유할 수 있다.
설계자는 또한, 게이밍 환경, 모바일 환경 등과 같은, 이벤트가 트리거된 환경에서 플레이버와 이벤트를 연관시킬 수 있다. 이 예시에서, 실시간 햅틱 효과 수정자는 사용자에 의한 임의의 맞춤화 없이, 동적으로 수정될 수 있다. 하나의 예시에서, 설계자는 휠과 같은 일반적인 GUI 위젯으로부터 결정된 값이 특정한 값으로부터 더욱 멀리 있을 때, 실시간 햅틱 효과 수정자의 거칠기를 증가시키는 플레이버를 정의한다.
플레이버는 또한, 햅틱 저작 애플리케이션에 대한 플러그인 소프트웨어 모듈에 통합될 수 있다. 이 예시에서, 설계자는 일부 햅틱 질감 효과를 선택하고, 플러그인으로부터 선택된 "질감 부드러움" 플레이버를 적용하여, 펄스 폭, 사일런스 갭 등과 같이, 변동될 기초가 되는 파라미터를 수정하거나 심지어 이를 알 필요 없이, 햅틱 질감 효과를 더욱 부드러운으로부터 더욱 거친으로 수정할 수 있다.
이롭게, 플레이버는 사용자의 재생 경험을 개선하거나, 또는 경험이 적은 설계자의 작업을 개선하기 위해 햅틱 효과를 생성할 때 설계자의 지식을 레버리지(leverages)한다. 실시간 햅틱 효과 수정자의 설계자는 플레이버 및 그의 미리 정의된 파라미터 값, 그리고 실시간 햅틱 효과 수정자가 트리거되거나 동적으로 적용되는 방식을 제어한다. 실시간 햅틱 효과 수정자에 대한 플레이버는 햅틱 트랙 파일 내에 인코딩되거나, 또는 대안적으로 플레이버 및 파라미터는 클라우드로부터 스트리밍 될 수 있다.
도 2는 본 발명의 일 실시예에 따른 햅틱 디바이스의 블록도를 도시한다. 햅틱 디바이스(40)는 컴퓨터(100), 디스플레이(170), 하나 이상의 I/O 디바이스(180) 및 하나 이상의 햅틱 출력 디바이스(190)를 포함한다.
컴퓨터(100)는 예를 들어, 스마트폰, 태블릿, 스마트워치와 같은 웨어러블 디바이스, 휴대형 게이밍 디바이스 등과 같은 휴대형 전자 디바이스에 통합될 수 있다. 컴퓨터(100)는 버스(110), 프로세서(120), 메모리(130), 디스플레이 인터페이스(140), 하나 이상의 I/O 인터페이스(150) 및 하나 이상의 햅틱 출력 디바이스 인터페이스(160)를 포함한다. 디스플레이 인터페이스(140)는 디스플레이(170)에 결합되고, I/O 인터페이스(150)는 I/O 디바이스(180)에 결합되며, 햅틱 출력 디바이스 인터페이스(160)는 햅틱 출력 디바이스(190)에 결합된다.
버스(110)는 프로세서(120), 메모리(130), 디스플레이 인터페이스(140), I/O 인터페이스(150) 및 햅틱 출력 디바이스 인터페이스(160)뿐만 아니라, 도 1에 도시되지 않은 다른 구성요소 사이에 데이터를 송신하는 통신 시스템이다. 전력 커넥터(112)는 버스(110) 및 배터리 등과 같은 전력 공급 장치(미도시)에 결합된다.
프로세서(120)는 컴퓨터(100)에 대한 계산 및 제어 기능을 수행하기 위해 하나 이상의 범용 또는 애플리케이션-특정 마이크로프로세서를 포함한다. 프로세서(120)는 마이크로-프로세싱 디바이스와 같은 단일 집적 회로, 또는 프로세서(120)의 기능을 달성하기 위해 협력하여 작업하는 다수의 집적 회로 디바이스 및/또는 회로 기판을 포함할 수 있다. 덧붙여, 프로세서(120)는 메모리(130) 내에 저장된 운영체제(132), 햅틱 효과 모듈(134), 다른 애플리케이션(136) 등과 같은 컴퓨터 프로그램을 실행할 수 있다.
메모리(130)는 프로세서(120)에 의해 실행하기 위한 정보 및 명령어를 저장한다. 메모리(130)는 데이터를 검색하고, 제시하고, 수정하며 저장하기 위한 다양한 구성요소를 포함할 수 있다. 예를 들어, 메모리(130)는 프로세서(120)에 의해 실행될 때 기능을 제공하는 소프트웨어 모듈을 저장할 수 있다. 모듈은 컴퓨터(100)에 대한 운영체제 기능을 제공하는 운영체제(132)를 포함할 수 있다. 모듈은 또한, 햅틱 콘텐츠를 수정하고, 이를 사용자에게 보내는(serves) 햅틱 효과 모듈(134)을 포함할 수 있다. 일부 실시예에서, 햅틱 효과 모듈(134)은 복수의 모듈을 포함할 수 있으며, 각 모듈은 햅틱 콘텐츠를 수정하고, 이를 사용자에게 보내는 특정한 각각의 기능을 제공한다. 애플리케이션(136)은 햅틱 콘텐츠를 사용자에게 보내기 위해, 햅틱 효과 모듈(134)과 협력하는 다른 애플리케이션을 포함할 수 있다. 데이터(138)는 햅틱 효과 모듈(134)에 대한 햅틱 트랙 파일, 설정 및 데이터 등을 포함할 수 있다.
일반적으로, 메모리(130)는 프로세서(120)에 의해 액세스될 수 있는 다양한 비-일시적 컴퓨터-판독가능 매체를 포함할 수 있다. 다양한 실시예에서, 메모리(130)는 휘발성 및 비휘발성 매체, 비-이동식 매체(non-removable medium) 및/또는 이동식 매체를 포함할 수 있다. 예를 들어, 메모리(130)는 랜덤 액세스 메모리(random access memory, RAM"), 동적 RAM (DRAM), 정적 RAM (SRAM), 읽기 전용 메모리(read only memory, "ROM"), 플래시 메모리, 캐시 메모리 및/또는 임의의 다른 타입의 비-일시적 컴퓨터-판독가능 매체의 임의의 조합을 포함할 수 있다.
디스플레이 인터페이스(140)는 디스플레이(170)에 결합된다.
I/O 인터페이스(150)는 I/O 디바이스(180)로부터 데이터를 송신하거나 및/또는 수신하도록 구성된다. I/O 인터페이스(150)는 프로세서(120)로부터 I/O 디바이스(180)로 전송될 데이터를 인코딩하고, 프로세서(120)에 대한 I/O 디바이스(180)로부터 수신된 데이터를 디코딩함으로써, 프로세서(120)와 I/O 디바이스(180) 사이의 연결을 가능케 한다. 일반적으로, 데이터는 유선 및/또는 무선 연결을 통해 전송될 수 있다. 예를 들어, I/O 인터페이스(150)는 USB, 이더넷 등과 같은 하나 이상의 유선 통신 인터페이스, 및/또는 WiFi, 셀룰러, 블루투스 등과 같은 하나 이상의 안테나(152)에 결합된 하나 이상의 무선 통신 인터페이스를 포함할 수 있다.
햅틱 출력 디바이스 인터페이스(160)는 햅틱 출력 디바이스(190)에 결합되고, 햅틱 출력 디바이스(190)에 대한 하나 이상의 구동기 회로를 포함할 수 있다. 일반적으로, 각 구동기 회로는 예를 들어, 전기 모터, 전자기 액추에이터, 보이스 코일(voice coil), 솔레노이드(solenoid), 편심 회전 질량체(eccentric rotating mass, "ERM") 진동 모터, 고조파 ERM(harmonic ERM, "HERM") 모터, 선형 공진 액추에이터(linear resonant actuator, "LRA"), 압전 액추에이터, 전기 활성 폴리머(electroactive polymer, "EAP") 액추에이터, 형상 기억 합금, 정전 마찰 디스플레이, 초음파 진동 발생기, 고대역폭 액추에이터 등과 같은 특정한 타입의 햅틱 출력 디바이스(190)를 지원한다. 일부 실시예에서, 단일 햅틱 드라이버 회로는 상이한 종류의 햅틱 출력 디바이스(190)를 지원할 수 있다. 햅틱 출력 디바이스 인터페이스(160)는 프로세서(120)로부터 햅틱 제어 신호를 수신하고, 햅틱 제어 신호를 햅틱 출력 디바이스 구동 신호로 변환하며, 햅틱 출력 디바이스 구동 신호를 햅틱 출력 디바이스(190)에 송신한다.
디스플레이(170)는 스마트폰, 스마트워치 등의 액정 디스플레이(LCD)일 수 있다.
일반적으로, I/O 디바이스(180)는 컴퓨터(100)에 입력을 및/또는 컴퓨터(100)로부터 출력을 제공하도록 구성된 디바이스이다. I/O 디바이스(180)는 무선 연결 또는 유선 연결을 사용하여 컴퓨터(100)에 동작 가능하게 연결된다. I/O 디바이스(180)는 유선 또는 무선 연결을 사용하여 컴퓨터(100)와 통신하도록 구성된 통신 인터페이스에 결합된 로컬 프로세서를 포함할 수 있다.
예를 들어, I/O 디바이스(180)는 디스플레이(170)에 대한 터치스크린, 터치패드, 게임 컨트롤러, 키패드 또는 키보드 등과 같은 입력 디바이스일 수 있다.
I/O 디바이스(180)는 하나 이상의 오디오 스피커와 같은 출력 디바이스일 수 있다. 프로세서(120)는 오디오 인터페이스(I/O 인터페이스(150))를 통해, 차례대로 오디오 효과를 출력하는 스피커(I/O 디바이스(180))에 오디오 신호를 송신할 수 있다. 스피커(I/O 디바이스(180))는 예를 들어, 동적 라우드스피커(dynamic loudspeaker), 전기 역학적 라우드스피커(electrodynamic loudspeaker), 압전 라우드스피커, 자기변형 라우드스피커(magnetostrictive loudspeaker), 정전식 라우드스피커, 리본 및 평판형 라우드스피커(ribbon and planar magnetic loudspeaker), 굴곡 진동 라우드스피커(bending wave loudspeaker), 평면판 라우드스피커, 하일 에어 모션 트랜스듀서(heil air motion transducer), 플라즈마 아크 스피커, 디지털 라우드스피커 등일 수 있다.
I/O 디바이스(180)는 하나 이상의 센서와 같은 입력 디바이스일 수 있다. 센서는 에너지 또는 다른 물리적인 특성의 형태를 검출하고, 검출된 에너지 또는 다른 물리적인 특성을 전기 신호로 변환하도록 구성된다. 센서(I/O 디바이스(180))는 그 후에, 변환된 신호를 I/O 인터페이스(150)에 전송한다.
일반적으로, 센서(I/O 디바이스(180))는 음향 또는 소리 센서, 전기 센서, 자기 센서, 압력 센서, 가속도계 등과 같은 움직임 센서, 위성 항법 시스템(Global Positioning System, GPS) 수신기, 가속도계 등과 같은 내비게이션 센서, 위치 센서, 근접 센서, 이동 관련 센서, 카메라, 힘 센서(force sensor), 온도 또는 열 센서 등과 같은 이미징 또는 광학 센서일 수 있다. 센서는 일부 실시예에서, 센서 및 액추에이터 양자로서 기능을 하는, 압전 폴리머(piezo-electric polymers)와 같은 스마트 재료를 포함할 수 있다.
햅틱 출력 디바이스(190)는 햅틱 신호를 수신하는 것에 응답하여, 진동촉감 햅틱 효과, 운동감각 햅틱 효과, 변형 햅틱 효과 등과 같은 햅틱 효과를 출력한다. 햅틱 출력 디바이스(190)는 전기 모터, 전자기 액추에이터, 음성 코일, 솔레노이드, 편심 회전 질량체(ERM) 진동 모터, 고조파 ERM 모터("HERM"), 선형 공진 액추에이터(LRA), 압전 액추에이터, 전기 활성 폴리머("EAP") 액추에이터, 형상 기억 합금, 정전 마찰 디스플레이, 초음파 진동 발생기, 고대역폭 액추에이터 등과 같은 햅틱 액추에이터를 포함할 수 있다. 일부 예시에서, 햅틱 출력 디바이스(190)는 햅틱 액추에이터 및 햅틱 액추에이터 구동 회로를 포함할 수 있다. 다른 예시에서, 햅틱 출력 디바이스(190)는 게임 컨트롤러와 같은 I/O 디바이스(180)에 통합될 수 있다.
도 3은 본 발명의 일 실시예에 따른, 햅틱 콘텐츠를 생성하는 기능(300)을 도시하는 흐름도를 도시한다.
310에서, 햅틱 제어 신호는 햅틱 서버(20)에 의해 검색된다. 햅틱 제어 신호는 햅틱 서버(20) 상의 메모리 내에 저장되거나, 또는 대안적으로, 햅틱 제어 신호는 네트워크(50)에 결합된 상이한 서버 또는 컴퓨터 상에 저장될 수 있다. 햅틱 제어 신호는 햅틱 디바이스(40)에 의해 렌더링될 하나 이상의 햅틱 효과를 인코딩한다.
햅틱 제어 신호는 네트워크(50)에 결합된 다른 설계자, 애플리케이션 또는 시스템에 의해 생성될 수 있다. 선택적으로, 햅틱 제어 신호는 앞서 논의된 햅틱 저작 애플리케이션, 또는 햅틱 콘텐츠를 생성하는 다른 애플리케이션을 사용하는 설계자에 의해 (302에서) 생성되고, 그 후에 햅틱 서버(20) 상의 메모리 내에 (304에서) 저장될 수 있다.
320에서, 햅틱 제어 신호에 대한 실시간 햅틱 효과 수정자가 설계된다. 예를 들어, 설계자는 실시간 햅틱 효과 수정자의 라이브러리로부터 하나 이상의 실시간 햅틱 효과 수정자를 선택할 수 있다. 대안적으로, 설계자는 소프트웨어 개발 툴, 통합된 개발 환경, 소프트웨어 개발 키트 등을 사용하여 실시간 햅틱 효과 수정자를 프로그래밍할 수 있다. 일반적으로, 설계자는 햅틱 디바이스(40) 상에서의 재생 동안 햅틱 제어 신호에 적용될 수 있는 실시간 햅틱 효과 수정자의 목록을 생성한다.
330에서, 실시간 햅틱 효과 수정자에 대한 파라미터가 정의된다. 예를 들어, 설계자는 각 파라미터에 대한 값 및 범위를 정의할 수 있다. 범위는 사용자에 대해 이용 가능한, 허용 가능한 값의 경계를 정의하고, 사용자는 재생 동안 햅틱 제어 신호를 맞춤화시키기 위해 각 파라미터의 값을 이롭게 수정할 수 있다. 다른 예시에서, 설계자는 이산 값의 세트를 포함하는, 각 파라미터 및 플레이버에 대한 값을 정의할 수 있다. 각 이산 값은 실시간 햅틱 효과 수정자의 각 파라미터에 대한 미리 정의된 값과 연관된다. 사용자는 재생 동안 햅틱 제어 신호를 맞춤화시키기 위해, 각 파라미터에 대한 값보다는, 플레이버로부터 이산 값을 선택한다. 이 예시에서, 플레이버는 오직 사용자-선택 가능한 파라미터이다.
하나의 실시예에서, 실시간 햅틱 효과 수정자에 대한 파라미터가 330에서 정의된 후에, 흐름은 340으로 진행된다. 다른 실시예에서, 실시간 햅틱 효과 수정자에 대한 파라미터가 330에서 정의된 후에, 흐름은 아래에서 논의된 바와 같이, 도 4에서의 331로 진행된다.
340에서, 햅틱 트랙 파일이 인코딩된다. 하나의 실시예에서, 설계자의 실시간 햅틱 효과 수정자의 목록, 각 실시간 햅틱 효과 수정자에 대한 설계자의 파라미터 및 햅틱 제어 신호는 도 5에 도시된 햅틱 트랙 파일(400)과 같은 햅틱 트랙 파일 내로 인코딩된다. 설계자의 실시간 햅틱 효과 수정자가 햅틱 제어 신호 상에서 동작하는 소프트웨어 루틴 또는 모듈이기 때문에, 이 실시예에서, 각 실시간 햅틱 효과 수정자는 햅틱 디바이스(40)의 메모리(130) 내에 저장된다. 하나의 예시에서, 햅틱 디바이스(40)는 설계자에 의해 사용된 실시간 햅틱 효과 수정자의 동일한 라이브러리를 저장한다. 다른 예시에서, 실시간 햅틱 효과 수정자 루틴 또는 모듈은 햅틱 트랙 파일로부터 분리되어, 햅틱 서버(20)로부터 햅틱 디바이스(40)로 송신된다. 추가적인 예시에서, 실시간 햅틱 효과 수정자 루틴 또는 모듈은 햅틱 트랙 파일 내에 인코딩된다.
350에서, 햅틱 트랙 파일은 네트워크(50)를 통해 햅틱 서버(20)로부터 햅틱 디바이스(40)로 송신된다.
도 4는 본 발명의 일 실시예에 따른 햅틱 콘텐츠를 생성하는 대안적인 기능을 도시하는 흐름도를 도시한다.
햅틱 디바이스(40)에 의한 재생 동안, 처리를 위해 햅틱 트랙 파일에서 단일 햅틱 제어 신호를 포함하는 것보다는, 이 대안적인 실시예에서, 각 실시간 햅틱 효과 수정자에 대해 가능한 파라미터 값의 개수가 결정되고, 분리된 햅틱 제어 신호가 각 실시간 햅틱 효과 수정자의 각 가능한 파라미터 값에 대해 생성되며, 분리된 햅틱 제어 신호가 햅틱 트랙 파일 내에 인코딩된다. 적합한 햅틱 신호는 실시간 햅틱 효과 수정자 및 파라미터 값의 사용자의 선택을 기초로, 햅틱 디바이스(40) 상에서의 재생 동안 결정된다.
331에서, 실시간 햅틱 효과 수정자의 개수가 결정된다.
332에서, 제1 실시간 햅틱 효과 수정자가 결정된다.
333에서, 실시간 햅틱 효과 수정자의 파라미터에 대해 가능한 값이 결정된다. 334에서, 제1 파라미터 값이 결정된다. 335에서, 실시간 햅틱 효과 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 파라미터 값을 기초로 햅틱 제어 신호에 적용된다. 336에서, 수정된 햅틱 제어 신호가 저장된다. 337에서, 다음 파라미터 값이 결정되며, 흐름은 다시, 335로 루프된다. 가능한 파라미터 값의 모두가 결정될 때, 흐름은 338로 진행된다. 338에서, 다음 실시간 햅틱 효과 수정자가 결정되며, 흐름은 다시 333으로 루프된다.
실시간 햅틱 효과 수정자의 모두가 결정될 때, 흐름은 340으로 진행된다(도 3).
이 대안적인 실시예에서, 햅틱 트랙 파일은 다수의 수정된 햅틱 제어 신호로 인코딩된다. 340에서, 설계자의 실시간 햅틱 효과 수정자의 목록, 각 실시간 햅틱 효과 수정자에 대한 파라미터, 각 실시간 햅틱 효과 수정자 파라미터에 대한 값 및 각 수정된 햅틱 제어 신호는 도 6에 도시된 바와 같이, 햅틱 트랙 파일로 인코딩된다. 이 실시예에서, 실시간 햅틱 효과 수정자 모듈은 햅틱 디바이스(40)의 메모리(130) 내에 저장되어야 하는 것은 아니다.
다수의 파라미터를 갖는 실시간 햅틱 효과 수정자뿐만 아니라, 실시간 햅틱 효과 수정자 및 그의 가능한 파라미터 값 모두의 조합에 대한 본 개념의 확장이 또한, 고려된다.
예를 들어, 실시간 햅틱 효과 수정자에 대한 파라미터의 제1 조합은 제1 파라미터에 대한 제1 값 및 제2 파라미터에 대한 제1 값을 포함하고, 파라미터의 제2 조합은 제1 파라미터에 대한 제1 값 및 제2 파라미터에 대한 제2 값을 포함하는 등일 수 있다. 다른 예시에서, 실시간 햅틱 효과 수정자 및 파라미터에 대한 제1 조합은 제1 파라미터 값과 제1 실시간 햅틱 효과 수정자 및 제1 파라미터 값과 제2 실시간 햅틱 효과 수정자를 포함하고, 실시간 햅틱 효과 수정자 및 파라미터의 제2 조합은 제1 파라미터 값과 제1 실시간 햅틱 효과 수정자 및 제2 파라미터 값과 제2 실시간 햅틱 효과 수정자를 포함하는 등일 수 있다.
도 5는 본 발명의 일 실시예에 따른, 햅틱 트랙 파일(400)의 블록도를 도시한다. 햅틱 트랙 파일(400)은 N개의 실시간 햅틱 효과 수정자의 목록(410), 실시간 햅틱 효과 수정자 파라미터(420) 및 햅틱 제어 신호(430)를 포함한다.
도 6은 본 발명의 다른 실시예에 따른 햅틱 트랙 파일(402)의 블록도를 도시한다. 햅틱 트랙 파일(402)은 N개의 실시간 햅틱 효과 수정자의 목록(410), 실시간 햅틱 효과 수정자 파라미터(420), 실시간 햅틱 효과 파라미터에 대한 값(422) 및 수정된 햅틱 제어 신호(432)를 포함한다.
도 7은 본 발명의 일 실시예에 따른, 햅틱 디바이스에 대한 햅틱 콘텐츠를 렌더링하는 기능(500)을 도시하는 흐름도를 도시한다.
510에서, 햅틱 트랙 파일은 햅틱 디바이스(40)에 의해 수신된다. 예를 들어, 무선 통신 인터페이스(I/O 인터페이스(150))는 WiFi 네트워크, 셀룰러 네트워크 등과 같은 무선 네트워크를 통해, 햅틱 트랙 파일(400, 402)을 수신할 수 있다. 무선 네트워크는 네트워크(50)를 통해 햅틱 서버(20)에 결합되거나, 또는 대안적으로, 무선 네트워크는 네트워크(50)의 구성요소일 수 있다. 다른 예시에서, 무선 통신 인터페이스(I/O 인터페이스(150))는 햅틱 트랙 파일(400, 402)이 저장되는 컴퓨터로부터, 블루투스 등과 같은 무선 연결을 통해, 햅틱 트랙 파일(400, 402)을 수신할 수 있다. 다른 실시예에서, 유선 통신 인터페이스(I/O 인터페이스(150))는 햅틱 트랙 파일(400, 402)이 저장되는 컴퓨터로부터, USB 등과 같은 유선 연결을 통해, 햅틱 트랙 파일(400, 402)을 수신할 수 있다.
520에서, 햅틱 트랙 파일이 디코딩된다. 예를 들어, 햅틱 효과 모듈(134)은 N개의 실시간 햅틱 효과 수정자의 목록(410), 실시간 햅틱 효과 수정자 파라미터(420) 및 햅틱 제어 신호(430)를 추출함으로써, 햅틱 트랙 파일(400)을 디코딩할 수 있다. 유사하게, 햅틱 효과 모듈(134)은 N개의 실시간 햅틱 효과 수정자의 목록(410), 실시간 햅틱 효과 수정자 파라미터(420), 실시간 햅틱 효과 수정자 파라미터에 대한 값(422) 및 수정된 햅틱 제어 신호(432)를 추출함으로써, 햅틱 트랙 파일(402)을 디코딩할 수 있다. 햅틱 제어 신호(430)뿐만 아니라 수정된 햅틱 제어 신호(432)는 햅틱 디바이스(40)에 의해 렌더링될 하나 이상의 햅틱 효과를 인코딩한다.
530에서, 실시간 햅틱 효과 수정자의 선택이 수신된다. 예를 들어, 햅틱 효과 모듈(134)은 햅틱 트랙 파일(400, 402)로부터 추출된 정보를 기초로, 디스플레이(170) 상에 제시된 GUI(600)와 같은, GUI의 관련된 필드, 위젯 등에 있을(populate) 수 있다. 터치스크린(I/O 디바이스(180))은 디스플레이(170)에 대해 제공될 수 있으며, 사용자는 GUI에 디스플레이된 N개의 실시간 햅틱 효과 수정자의 목록으로부터 실시간 햅틱 효과 수정자를 선택한다.
하나의 실시예에서, 각 실시간 햅틱 효과 수정자 파라미터(420)는 값 및, 최소 값 및 최대 값을 포함하는 범위를 포함한다. 값은 사용자에 의해 맞춤화되지만, GUI에 의해 설계자에 의해 정의된 범위 내로 제한된다. 예를 들어, 햅틱 볼륨 수정자는 단일 사용자-맞춤화 가능한 파라미터 즉, 진폭을 포함할 수 있다. 실시간 햅틱 효과 수정자 파라미터(420)는 진폭 값, 진폭 최소 값 및 진폭 최대 값을 정의하는 단일 파라미터를 포함할 것이다. 다른 예시에서, 햅틱 주파수 시프트 수정자는 두 개의 사용자-맞춤화 가능한 파라미터, 즉, 선호되는 저주파 및 선호되는 고주파를 포함할 수 있다. 실시간 햅틱 효과 수정자 파라미터(420)는 두 개의 파라미터 - 선호되는 저주파 값, 선호되는 저주파 최소 값 및 선호되는 저주파 최대 값을 정의하는 제1 파라미터, 및 선호되는 고주파 값, 선호되는 고주파 최소 값 및 선호되는 고주파 최대 값을 정의하는 제2 파라미터 -를 포함할 것이다. 햅틱 주파수 시프트 수정자는 햅틱 제어 신호의 주파수 범위를 추정하고, 그 후에 햅틱 제어 신호의 주파수 범위를 사용자의 선호되는 주파수 범위로 시프트한다.
호환 가능한 실시예에서, 실시간 햅틱 효과 수정자 파라미터(420) 중 하나는 이산 값의 세트를 갖는 플레이버이다. 각 이산 값은 실시간 햅틱 효과 수정자의 다른 파라미터 값 각각에 대해 미리 정의된 값과 연관된다. 이 예시에서, 사용자가 설계자에 의해 정의된 미리 정의된 파라미터 값을 직접적으로 수정하도록 허용되지 않기 때문에, 범위는 요구되지 않는다. 예를 들어, 햅틱 볼륨 수정자는 단일 사용자-맞춤화 가능한 파라미터, 즉, "볼륨(volume)" 플레이버를 포함할 수 있다. 실시간 햅틱 효과 수정자 파라미터(420)는 "높음", "중간" 및 "낮음"과 같은 "볼륨" 플레이버에 대한 이산 값의 세트를 포함할 것이고, 각 이산 값은 "높음"에 대해서는 100, "중간"에 대해서는 50, 및 "낮음"에 대해서는 10과 같이, 미리 정의된 진폭 값과 연관될 것이다. 다른 예시에서, 햅틱 주파수 시프트 수정자는 단일 사용자-맞춤화 가능한 파라미터, 즉, "주파수 범위" 플레이버를 포함할 수 있다. 실시간 햅틱 효과 수정자 파라미터(420)는 "높음" 및 "낮음"과 같은 플레이버에 대한 이산 값의 세트를 포함할 것이고, 각 이산 값은 "높음"에 대해 200 및 100 및 "낮음"에 대해 50 및 10과 같이, 미리 정의된 저주파 값 및 미리 정의된 고주파 값과 연관될 것이다.
540에서, 선택된 실시간 햅틱 효과 수정자와 연관된 적어도 하나의 파라미터에 대한 값이 수신된다. 예를 들어, 햅틱 볼륨 수정자가 530에서 선택된 경우, 진폭 값은 GUI를 통해 수신될 것이고 이는 또한 사용자가 진폭 최소 값 및 진폭 최대 값에 의해 정의된 범위를 벗어난 진폭 입력 값을 입력하는 것을 방지한다. 도 9는 진폭 입력(값 텍스트 박스(625))을 포함하는 예시적인 GUI(600)를 도시한다. 다른 예시에서, 햅틱 주파수 시프트 수정자가 530에서 선택된 경우, 선호되는 저주파 및 선호되는 고주파 값은 GUI를 통해 수신될 것이고 이는 또한 사용자가 그 각각의 최소 및 최대 값에 의해 정의된 범위를 벗어나는 선호되는 저주파 값 또는 선호되는 고주파 값을 입력하는 것을 방지한다. 대안적으로, "주파수 범위" 플레이버 값은 GUI를 통해 수신될 것이며, 이의 이산 값은 미리 정의된 저주파 및 미리 정의된 고주파 값을 결정할 것이다. 도 9는 "주파수 범위" 플레이버 입력(플레이버 드롭-다운(drop-down) 목록(635))을 포함하는 예시적인 GUI(600)를 도시한다.
550에서, 선택된 실시간 햅틱 효과 수정자는 수정된 햅틱 제어 신호를 생성하기 위해, 햅틱 제어 신호에 적용된다. 이 실시예에서, 설계자의 실시간 햅틱 효과 수정자는 메모리(130)에 저장된 소프트웨어 루틴 또는 모듈이다. 하나의 예시에서, 설계자의 실시간 햅틱 효과 수정자의 라이브러리는 메모리(130)에 저장된다. 다른 예시에서, 설계자의 실시간 햅틱 효과 수정자 루틴 또는 모듈만이 메모리(130)에 저장되며, 이는 햅틱 트랙 파일(400)과 함께(또는 이와 분리되어) 햅틱 서버(20)로부터 수신된다. 햅틱 효과 모듈(134)은 수정된 햅틱 제어 신호를 생성하기 위해, 메모리(130)로부터 선택된 실시간 햅틱 효과 수정자 모듈을 검색하고, 그 후에 GUI를 통해 수신된 파라미터 값을 사용하여 선택된 실시간 햅틱 효과 수정자를 햅틱 제어 신호에 적용한다. 사용자가 다수의 파라미터 값을 갖는 다수의 실시간 햅틱 효과 수정자를 선택한 경우, 햅틱 효과 모듈(134)은 선택된 실시간 햅틱 효과 수정자를 햅틱 제어 신호에 순차적으로 적용하며, 마지막 실시간 햅틱 효과 수정자의 애플리케이션은 수정된 햅틱 제어 신호를 생성한다.
560에서, 수정된 햅틱 제어 신호는 햅틱 출력 디바이스에 제공된다. 예를 들어, 수정된 햅틱 제어 신호는 햅틱 출력 디바이스 인터페이스(160)에 제공되며, 이는 햅틱 제어 신호를 햅틱 출력 디바이스 구동 신호로 변환하고, 햅틱 출력 디바이스 구동 신호를 햅틱 출력 디바이스(190)에 제공한다.
570에서, 수정된 햅틱 효과는 햅틱 출력 디바이스(190)에 의해 렌더링된다.
도 8은 본 발명의 일 실시예에 따른 햅틱 콘텐츠를 렌더링하는 대안적인 기능을 도시하는 흐름도를 도시한다.
542에서, 선택된 실시간 햅틱 효과 수정자 및 선택된 파라미터 값에 대응하는 수정된 햅틱 제어 신호가 결정된다.
이 실시예에서, 햅틱 트랙 파일(402)은 햅틱 서버(20)에 의해 제공되고, 520에서 논의된 바와 같이, 햅틱 효과 모듈(134)은 N개의 실시간 햅틱 효과 수정자의 목록(410), 실시간 햅틱 효과 수정자 파라미터(420), 실시간 햅틱 효과 수정자 파라미터에 대한 값(422) 및 수정된 햅틱 제어 신호(432)를 추출함으로써 햅틱 트랙 파일(402)을 디코딩한다. 선택된 실시간 햅틱 효과 수정자 및 연관된 파라미터 값에 대응하는 수정된 햅틱 제어 신호(432)는 선택된 실시간 햅틱 효과 수정자 및 연관된 파라미터 값을 실시간 햅틱 효과 수정자 파라미터(422)에 비교하고, 매칭하는 값을 찾으며, 연관된 수정된 햅틱 제어 신호(432)를 선택함으로써 결정된다.
도 9는 본 발명의 일 실시예에 따른 햅틱 디바이스(40)에 대한 그래픽 사용자 인터페이스(GUI, 600)를 도시한다.
일부 실시예에서, GUI(600)는 터치스크린(I/O 디바이스(180))을 갖는 디스플레이(170) 상에 제시되고, N개의 실시간 햅틱 효과 수정자의 목록(410)에서 실시간 햅틱 효과 수정자의 각각에 대한 입력을 포함한다. GUI(600)는 실시간 햅틱 효과 수정자 파라미터(420)를 기초로, 입력의 개수 및 타입을 결정한다. 스크린 아래로(또는 위로) 확장되는 GUI(600)의 부분은 스크롤 바(610)를 사용하여 액세스 가능하다. 이 예시에서, 두 개의 실시간 햅틱 효과 수정자 즉, 햅틱 볼륨 수정자(620) 및 햅틱 주파수 시프트 수정자(630)는 GUI(600) 내에 함께 보인다. 다른 실시예에서, 디스플레이(170)는 터치스크린(I/O 디바이스(180))을 갖지 않는다. 대신에, 상이한 타입의 I/O 디바이스(180)가 실시간 햅틱 효과 수정자 및 파라미터를 제어하는데 사용될 수 있다. 예를 들어, I/O 디바이스(180)는 조이스틱, 손 제스처-추적 카메라, 버튼의 세트, 터치패드 등일 수 있다.
햅틱 볼륨 수정자(620)는 단일 파라미터, 즉, 값, 최소 값 및 최대 값의 진폭을 갖는다. 햅틱 볼륨 수정자(620)는 두 개의 입력 즉, 활성화 체크 박스(enable check box, 622) 및 값 텍스트 박스(625), 및 두 개의 라벨 즉, 최소 값 라벨(624) 및 최대 값 라벨(626)을 갖는다. 최소 값 라벨(624)은 파라미터의 최소 값을 디스플레이 하는 한편, 최대 값 라벨(626)은 파라미터의 최대 값을 디스플레이 한다. 활성화 라디오 버튼(enable radio button), 진폭 슬라이더, 진폭 노브 등과 같은 다른 타입의 위젯이 또한, 사용될 수 있다. 활성화 체크 박스(622)가 체크되면, 햅틱 효과 모듈(134)은 햅틱 볼륨 수정자를 값 텍스트 박스(625) 내에 입력되는 10의 진폭 값을 사용하여 햅틱 제어 신호에 적용할 것이다.
햅틱 주파수 시프트 수정자(630)는 세 개의 파라미터, 즉, 플레이버 값, 저주파 값 및 고주파 값을 갖는다. 햅틱 주파수 시프트 수정자(630) 두 개의 입력 즉, 활성화 체크 박스(632) 및 플레이버 드롭-다운 목록(635)을 갖는다. 플레이버 값은 플레이버 드롭-다운 목록(635)에 제시되는 두 개의 이산 값 즉, "높음" 및 "낮음"을 갖는다. 활성화 라디오 버튼, 플레이버 값 스피너 등과 같은 다른 타입의 위젯이 또한 사용될 수 있다. 활성화 체크 박스(632)가 체크되지 않으면, 햅틱 효과 모듈(134)은 햅틱 주파수 시프트 수정자를 햅틱 제어 신호에 적용하지 않을 것이다.
본 발명의 하나의 실시예는 햅틱 디바이스를 제공한다. 햅틱 디바이스는 통신 인터페이스, 입력 디바이스, 햅틱 출력 디바이스 및 프로세서를 포함한다.
통신 인터페이스는 실시간 햅틱 효과 수정자의 목록, 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 햅틱 제어 신호를 포함하는 햅틱 트랙 파일을 수신하도록 구성된다.
입력 디바이스는 사용자로부터 입력을 수신하도록 구성되며, 입력은 실시간 햅틱 효과 수정자의 목록으로부터 적어도 하나의 실시간 햅틱 효과 수정자의 선택, 및 선택된 실시간 햅틱 효과 수정자와 연관된 적어도 하나의 파라미터에 대한 값을 포함한다.
햅틱 출력 디바이스는 햅틱 제어 신호를 기초로 하나 이상의 햅틱 효과를 사용자에게 렌더링하도록 구성된다. 햅틱 출력 디바이스는 또한, 수정된 햅틱 제어 신호를 기초로, 하나 이상의 수정된 햅틱 효과를 사용자에게 렌더링하도록 구성된다.
프로세서는 실시간 햅틱 효과 수정자의 목록, 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 햅틱 제어 신호를 추출하기 위해 햅틱 트랙 파일을 디코딩하고; 수정된 햅틱 제어 신호를 생성하기 위해, 선택된 실시간 햅틱 효과 수정자와 연관된 파라미터에 대한 값을 기초로, 선택된 실시간 햅틱 효과 수정자를 햅틱 제어 신호에 적용하며; 수정된 햅틱 제어 신호를 햅틱 출력 디바이스에 제공하도록 구성된다.
본 발명의 하나의 실시예는 햅틱 디바이스에 대한 햅틱 콘텐츠를 렌더링하는 방법을 제공한다. 방법은 실시간 햅틱 효과 수정자의 목록, 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 햅틱 제어 신호를 포함하는 햅틱 트랙 파일을 수신하는 것; 실시간 햅틱 효과 수정자의 목록, 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 햅틱 제어 신호를 추출하기 위해, 햅틱 트랙 파일을 디코딩하는 것; 입력 디바이스를 통해, 실시간 햅틱 효과 수정자의 목록으로부터 적어도 하나의 실시간 햅틱 효과 수정자의 선택 및 선택된 실시간 햅틱 효과 수정자와 연관된 적어도 하나의 파라미터에 대한 값을 포함하는 사용자로부터의 입력을 수신하는 것; 수정된 햅틱 제어 신호를 생성하기 위해, 선택된 실시간 햅틱 효과 수정자와 연관된 파라미터에 대한 값을 기초로, 선택된 실시간 햅틱 효과 수정자를 햅틱 제어 신호에 적용하는 것; 수정된 햅틱 제어 신호를 햅틱 출력 디바이스에 제공하는 것; 및 햅틱 출력 디바이스에 의해, 수정된 햅틱 제어 신호를 기초로, 수정된 햅틱 효과를 사용자에게 렌더링하는 것을 포함한다.
본 발명의 다른 실시예는 햅틱 디바이스에 대한 햅틱 콘텐츠를 렌더링하는 방법을 제공한다. 방법은 실시간 햅틱 효과 수정자의 목록, 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 복수의 수정된 햅틱 제어 신호를 포함하는 햅틱 트랙 파일을 수신하는 것; 실시간 햅틱 효과 수정자의 목록, 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 복수의 수정된 햅틱 제어 신호를 추출하기 위해 햅틱 트랙 파일을 디코딩하는 것; 입력 디바이스를 통해, 실시간 햅틱 효과 수정자의 목록으로부터 적어도 하나의 실시간 햅틱 효과 수정자의 선택, 및 선택된 실시간 햅틱 효과 수정자와 연관된 적어도 하나의 파라미터에 대한 값을 포함하는 사용자로부터의 입력을 수신하는 것; 수정된 햅틱 제어 신호가 선택된 실시간 햅틱 효과 수정자 및 선택된 실시간 햅틱 효과 수정자와 연관된 파라미터에 대한 값에 대응하는지를 결정하는 것; 대응하는 수정된 햅틱 제어 신호를 햅틱 출력 디바이스에 제공하는 것; 및 햅틱 출력 디바이스에 의해, 대응하는 수정된 햅틱 제어 신호를 기초로, 수정된 햅틱 효과를 사용자에게 렌더링하는 것을 포함한다.
본원에 서술된 다양한 실시예 및 예시는 달리 지정되지 않는 한 결합 가능하다.
본 발명의 다수의 피처 및 장점은 상세한 설명으로부터 명백하므로, 첨부된 청구 범위는 본 발명의 진정한 사상 및 범주 내에 속하는 본 발명의 모든 이러한 피처 및 장점을 커버하는 것으로 의도된다. 또한, 다수의 수정 및 변형이 통상의 기술자에게 쉽게 발생할 것이기 때문에, 본 발명을 도시되고 서술된 정확한 구성 및 동작으로 제한하는 것은 바람직하지 않으며, 따라서 모든 적합한 수정 및 등가물은 본 발명의 범주 내에 속하는 것으로 사용될 수 있다.

Claims (20)

  1. 실시간 햅틱 효과 수정자의 목록, 상기 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 햅틱 제어 신호를 포함하는 햅틱 트랙 파일(haptic track file)을 수신하도록 구성된 통신 인터페이스;
    사용자로부터 입력을 수신하도록 구성된 입력 디바이스 - 상기 입력은 상기 실시간 햅틱 효과 수정자의 목록으로부터 적어도 하나의 실시간 햅틱 효과 수정자의 선택, 및 상기 선택된 실시간 햅틱 효과 수정자와 연관된 적어도 하나의 파라미터에 대한 값을 포함함 -;
    상기 햅틱 제어 신호를 기초로 하나 이상의 햅틱 효과를 상기 사용자에게 렌더링(render)하도록 구성된 햅틱 출력 디바이스; 및
    상기 통신 인터페이스, 상기 입력 디바이스 및 상기 햅틱 출력 디바이스에 결합되고,
    상기 실시간 햅틱 효과 수정자의 목록, 상기 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 상기 햅틱 제어 신호를 추출하기 위해 상기 햅틱 트랙 파일을 디코딩하고,
    수정된 햅틱 제어 신호를 생성하기 위해, 상기 선택된 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 값을 기초로, 상기 선택된 햅틱 효과 수정자를 상기 햅틱 제어 신호에 적용하며,
    상기 수정된 햅틱 제어 신호를 상기 햅틱 출력 디바이스에 제공하도록
    구성된 프로세서를 포함하고,
    상기 햅틱 출력 디바이스는 상기 수정된 햅틱 제어 신호를 기초로 하나 이상의 수정된 햅틱 효과를 상기 사용자에게 렌더링하도록 더 구성되는, 햅틱 디바이스.
  2. 제1항에 있어서,
    상기 프로세서에 결합되고, 그래픽 사용자 인터페이스(GUI)를 상기 사용자에게 제시하도록 구성되는 디스플레이를 더 포함하고, 상기 GUI는 상기 실시간 햅틱 효과 수정자의 목록 및 상기 실시간 햅틱 효과 수정자와 연관된 상기 복수의 파라미터를 디스플레이하며,
    상기 입력 디바이스는 터치스크린인, 햅틱 디바이스.
  3. 제1항에 있어서, 각 실시간 햅틱 효과 수정자와 연관된 각 파라미터는 값, 및 최소 값 및 최대 값을 갖는 범위를 포함하고, 상기 선택된 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 값은 상기 범위 내에 속하는, 햅틱 디바이스.
  4. 제1항에 있어서, 상기 선택된 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 값은 이산 값의 세트로부터 선택된 이산 값이고, 각 이산 값은 상기 선택된 실시간 햅틱 효과 수정자와 연관된 추가적인 파라미터에 대해 미리 정의된 값과 연관되는, 햅틱 디바이스.
  5. 제1항에 있어서, 상기 수정된 햅틱 효과는 진동촉감(vibrotactile) 햅틱 효과인, 햅틱 디바이스.
  6. 제5항에 있어서, 상기 실시간 햅틱 효과 수정자의 목록은 햅틱 볼륨 수정자(haptic volume modifier), 햅틱 주파수 수정자, 햅틱 대비 수정자(haptic contrast modifier), 햅틱 베이스 부스트 수정자(haptic bass boost modifier), 햅틱 지연 수정자, 햅틱 반향 수정자(haptic reverberation modifier) 또는 햅틱 트레몰로 수정자(haptic tremolo modifier) 중 적어도 하나를 포함하는, 햅틱 디바이스.
  7. 제6항에 있어서, 상기 햅틱 주파수 수정자는 주파수 시프트 수정자, 페이저 수정자(phaser modifier), 플랜저 수정자(flanger modifier), 코러스 수정자, 필터 스윕 수정자(filter sweep modifier), 엔벨로프 수정자(envelope modifier), 와우-와우 수정자(wah-wah modifier), 공진기 수정자 또는 아르페지에이터 수정자(arpeggiator modifier)를 포함하는, 햅틱 디바이스.
  8. 제1항에 있어서,
    상기 입력은 상기 실시간 햅틱 효과 수정자의 목록으로부터 제1 실시간 햅틱 효과 수정자의 선택, 상기 실시간 햅틱 효과 수정자의 목록으로부터 제2 실시간 햅틱 효과 수정자의 선택, 상기 제1 실시간 햅틱 효과 수정자와 연관된 파라미터에 대한 제1 값 및 상기 제2 실시간 햅틱 효과 수정자와 연관된 파라미터에 대한 제2 값을 포함하고,
    상기 제1 실시간 햅틱 효과 수정자는 중간 햅틱 제어 신호를 생성하기 위해, 상기 제1 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 제1 값을 기초로, 상기 햅틱 제어 신호에 적용되며,
    상기 제2 실시간 햅틱 효과 수정자는 상기 수정된 햅틱 제어 신호를 생성하기 위해, 상기 제2 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 제2 값을 기초로, 상기 중간 햅틱 제어 신호에 적용되는, 햅틱 디바이스.
  9. 햅틱 디바이스 상에 햅틱 효과를 렌더링하기 위한 방법으로서,
    실시간 햅틱 효과 수정자의 목록, 상기 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 햅틱 제어 신호를 포함하는 햅틱 트랙 파일을 수신하는 것;
    상기 실시간 햅틱 효과 수정자의 목록, 상기 실시간 햅틱 효과 수정자와 연관된 상기 복수의 파라미터 및 상기 햅틱 제어 신호를 추출하기 위해 상기 햅틱 트랙 파일을 디코딩하는 것;
    입력 디바이스를 통해, 상기 실시간 햅틱 효과 수정자의 목록으로부터 적어도 하나의 실시간 햅틱 효과 수정자의 선택, 및 상기 선택된 실시간 햅틱 효과 수정자와 연관된 적어도 하나의 파라미터에 대한 값을 포함하는 사용자로부터의 입력을 수신하는 것;
    수정된 햅틱 제어 신호를 생성하기 위해, 상기 선택된 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 값을 기초로, 상기 선택된 실시간 햅틱 효과 수정자를 상기 햅틱 제어 신호에 적용하는 것;
    상기 수정된 햅틱 제어 신호를 햅틱 출력 디바이스에 제공하는 것; 및
    상기 햅틱 출력 디바이스에 의해, 상기 수정된 햅틱 제어 신호를 기초로, 수정된 햅틱 효과를 상기 사용자에게 렌더링하는 것을 포함하는, 햅틱 디바이스 상에 햅틱 효과를 렌더링하기 위한 방법.
  10. 제9항에 있어서,
    그래픽 사용자 인터페이스(GUI)를 상기 사용자에게 제시하는 것(presenting) - 상기 GUI는 상기 실시간 햅틱 효과 수정자의 목록 및 상기 실시간 햅틱 효과 수정자와 연관된 상기 복수의 파라미터를 디스플레이함 -을 더 포함하며,
    상기 입력 디바이스는 터치스크린인, 햅틱 디바이스 상에 햅틱 효과를 렌더링하기 위한 방법.
  11. 제9항에 있어서, 각 실시간 햅틱 효과 수정자와 연관된 각 파라미터는 값, 및 최소 값 및 최대 값을 갖는 범위를 포함하고, 상기 선택된 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 값은 상기 범위 내에 속하는, 햅틱 디바이스 상에 햅틱 효과를 렌더링하기 위한 방법.
  12. 제9항에 있어서, 상기 선택된 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 값은 이산 값의 세트로부터 선택된 이산 값이며, 각 이산 값은 상기 선택된 실시간 햅틱 효과 수정자와 연관된 추가적인 파라미터에 대해 미리 정의된 값과 연관되는, 햅틱 디바이스 상에 햅틱 효과를 렌더링하기 위한 방법.
  13. 제9항에 있어서, 상기 수정된 햅틱 효과는 진동촉감 햅틱 효과인, 햅틱 디바이스 상에 햅틱 효과를 렌더링하기 위한 방법.
  14. 제13항에 있어서, 상기 실시간 햅틱 효과 수정자의 목록은 햅틱 볼륨 수정자, 햅틱 주파수 수정자, 햅틱 대비 수정자, 햅틱 베이스 부스트 수정자, 햅틱 지연 수정자, 햅틱 반향 수정자 또는 햅틱 트레몰로 수정자 중 적어도 하나를 포함하는, 햅틱 디바이스 상에 햅틱 효과를 렌더링하기 위한 방법.
  15. 제14항에 있어서, 상기 햅틱 주파수 수정자는 주파수 시프트 수정자, 페이저 수정자, 플랜저 수정자, 코러스 수정자, 필터 스윕 수정자, 엔벨로프 수정자, 와우-와우 수정자, 공진기 수정자 또는 아르페지에이터 수정자를 포함하는, 햅틱 디바이스 상에 햅틱 효과를 렌더링하기 위한 방법.
  16. 제9항에 있어서,
    상기 입력은 상기 실시간 햅틱 효과 수정자의 목록으로부터 제1 실시간 햅틱 효과 수정자의 선택, 상기 실시간 햅틱 효과 수정자의 목록으로부터 제2 실시간 햅틱 효과 수정자의 선택, 상기 제1 실시간 햅틱 효과 수정자와 연관된 파라미터에 대한 제1 값 및 상기 제2 실시간 햅틱 효과 수정자와 연관된 파라미터에 대한 제2 값을 포함하고,
    상기 제1 실시간 햅틱 효과 수정자는 중간 햅틱 제어 신호를 생성하기 위해, 상기 제1 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 제1 값을 기초로, 상기 햅틱 제어 신호에 적용되며,
    상기 제2 실시간 햅틱 효과 수정자는 상기 수정된 햅틱 제어 신호를 생성하기 위해, 상기 제2 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 제2 값을 기초로, 상기 중간 햅틱 제어 신호에 적용되는, 햅틱 디바이스 상에 햅틱 효과를 렌더링하기 위한 방법.
  17. 햅틱 디바이스 상에 햅틱 효과를 렌더링하는 방법으로서,
    실시간 햅틱 효과 수정자의 목록, 상기 실시간 햅틱 효과 수정자와 연관된 복수의 파라미터 및 복수의 수정된 햅틱 제어 신호를 포함하는 햅틱 트랙 파일을 수신하는 것;
    상기 실시간 햅틱 효과 수정자의 목록, 상기 실시간 햅틱 효과 수정자와 연관된 상기 복수의 파라미터 및 상기 복수의 수정된 햅틱 제어 신호를 추출하기 위해 상기 햅틱 트랙 파일을 디코딩하는 것;
    입력 디바이스를 통해, 상기 실시간 햅틱 효과 수정자의 목록으로부터 적어도 하나의 실시간 햅틱 효과 수정자의 선택, 및 상기 선택된 실시간 햅틱 효과 수정자와 연관된 적어도 하나의 파라미터에 대한 값을 포함하는 사용자로부터의 입력을 수신하는 것;
    수정된 햅틱 제어 신호가 상기 선택된 실시간 햅틱 효과 수정자 및 상기 선택된 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 값에 대응하는지를 결정하는 것;
    상기 대응하는 수정된 햅틱 제어 신호를 햅틱 출력 디바이스에 제공하는 것; 및
    상기 햅틱 출력 디바이스에 의해, 상기 대응하는 수정된 햅틱 제어 신호를 기초로, 상기 수정된 햅틱 효과를 상기 사용자에게 렌더링하는 것을 포함하는, 햅틱 디바이스 상에 햅틱 효과를 렌더링하는 방법.
  18. 제17항에 있어서,
    그래픽 사용자 인터페이스(GUI)를 상기 사용자에게 제시하는 것 - 상기 GUI는 상기 실시간 햅틱 효과 수정자의 목록 및 상기 실시간 햅틱 효과 수정자와 연관된 상기 복수의 파라미터를 디스플레이함 -을 더 포함하며,
    상기 입력 디바이스는 터치스크린인, 햅틱 디바이스 상에 햅틱 효과를 렌더링하는 방법.
  19. 제17항에 있어서, 각 실시간 햅틱 효과 수정자와 연관된 각 파라미터는 값, 및 최소 값 및 최대 값을 갖는 범위를 포함하고, 상기 선택된 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 값은 상기 범위 내에 속하는, 햅틱 디바이스 상에 햅틱 효과를 렌더링하는 방법.
  20. 제17항에 있어서, 상기 선택된 실시간 햅틱 효과 수정자와 연관된 상기 파라미터에 대한 상기 값은 이산 값의 세트로부터 선택된 이산 값이고, 각 이산 값은 상기 선택된 실시간 햅틱 효과 수정자와 연관된 추가적인 파라미터에 대해 미리 정의된 값과 연관되는, 햅틱 디바이스 상에 햅틱 효과를 렌더링하는 방법.
KR1020190132191A 2018-12-27 2019-10-23 햅틱 효과 신호 처리 KR20200081211A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/233,530 2018-12-27
US16/233,530 US20200209967A1 (en) 2018-12-27 2018-12-27 Haptic Effect Signal Processing

Publications (1)

Publication Number Publication Date
KR20200081211A true KR20200081211A (ko) 2020-07-07

Family

ID=68281221

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190132191A KR20200081211A (ko) 2018-12-27 2019-10-23 햅틱 효과 신호 처리

Country Status (5)

Country Link
US (1) US20200209967A1 (ko)
EP (1) EP3674849A1 (ko)
JP (1) JP2020107318A (ko)
KR (1) KR20200081211A (ko)
CN (1) CN111381764A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11726568B2 (en) * 2019-05-31 2023-08-15 Apple Inc. Haptics application programming interface

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621348B2 (en) * 2007-05-25 2013-12-31 Immersion Corporation Customizing haptic effects on an end user device
US9063570B2 (en) * 2012-06-27 2015-06-23 Immersion Corporation Haptic feedback control system
US20140267076A1 (en) * 2013-03-15 2014-09-18 Immersion Corporation Systems and Methods for Parameter Modification of Haptic Effects
US11044248B2 (en) * 2013-09-13 2021-06-22 Symbol Technologies, Llc Method and device for facilitating mutual authentication between a server and a user using haptic feedback
US9990815B2 (en) * 2016-02-18 2018-06-05 Immersion Corporation Wearable haptic effects with permissions settings

Also Published As

Publication number Publication date
US20200209967A1 (en) 2020-07-02
EP3674849A1 (en) 2020-07-01
JP2020107318A (ja) 2020-07-09
CN111381764A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN108874144B (zh) 使用映射的声音-触觉效应转换系统
JP6794483B2 (ja) 音声信号のエンベロープに関係付けられる触覚効果を生成するためのシステム及び方法
US10429933B2 (en) Audio enhanced simulation of high bandwidth haptic effects
KR101999565B1 (ko) 파형을 이용한 사운드 대 햅틱 효과 변환 시스템
US10296092B2 (en) Generating haptic effects while minimizing cascading
US11069206B2 (en) Methods and apparatus for outputting a haptic signal to a haptic transducer
JP2020173821A (ja) ストリームに依存しない音をハプティック効果に変換するシステム
KR101468250B1 (ko) 최종 사용자 장치 상의 햅틱 효과 커스터마이징
EP2624099B1 (en) Method and system for sound to haptic effect conversion using waveform
EP2648071B1 (en) Sound to haptic effect conversion system using multiple actuators
JP6562695B2 (ja) 触覚効果の動的変更
US10423385B2 (en) Audio feedback for continuous scrolled content
KR20130140578A (ko) 햅틱 효과 변환 시스템 및 컴퓨터-판독가능 저장 매체
CN109388234B (zh) 触觉效果编码和呈现系统
KR20200081211A (ko) 햅틱 효과 신호 처리