KR20200081213A - 햅틱 신호 변환 시스템 - Google Patents

햅틱 신호 변환 시스템 Download PDF

Info

Publication number
KR20200081213A
KR20200081213A KR1020190135902A KR20190135902A KR20200081213A KR 20200081213 A KR20200081213 A KR 20200081213A KR 1020190135902 A KR1020190135902 A KR 1020190135902A KR 20190135902 A KR20190135902 A KR 20190135902A KR 20200081213 A KR20200081213 A KR 20200081213A
Authority
KR
South Korea
Prior art keywords
signal
haptic
frequency
actuator
envelope
Prior art date
Application number
KR1020190135902A
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 KR20200081213A publication Critical patent/KR20200081213A/ko

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B6/00Tactile signalling systems, e.g. personal calling systems
    • 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/0416Control or interface arrangements specially adapted for digitisers
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7817Specially adapted for signal processing, e.g. Harvard architectures
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/01Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium
    • G08B25/10Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium using wireless transmission systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones

Abstract

소스 신호를 처리하고 소스 신호에 기초하여 다양한 햅틱 디바이스들에 대한 하나 이상의 햅틱 효과를 생성하기 위한 시스템이 제공된다. 이 시스템은 소스 신호를 변환하여 각각의 햅틱 디바이스의 상이한 아키텍처들을 충족시키고 햅틱 효과 설계자로 하여금 상이한 햅틱 디바이스들의 저 수준의 세부 사항들에 관해 우려하지 않고 햅틱 데이터를 생성할 수 있게 해준다.

Description

햅틱 신호 변환 시스템{HAPTIC SIGNAL CONVERSION SYSTEM}
본 발명의 실시예들은 일반적으로 햅틱 신호 변환을 위한 기법들에 관한 것이다.
햅틱들은 진동, 움직임 및 기타 힘 및 자극과 같은 햅틱 효과들에 의해 사용자의 감각을 이용하는 촉각 및 힘 피드백 기술이다. 모바일 디바이스, 게임 디바이스, 터치스크린 디바이스 및 개인용 컴퓨터와 같은 디바이스들은 햅틱 효과들을 생성하도록 구성될 수 있다. 햅틱 피드백은 사용자에게 운동 감각 피드백(예를 들어, 활동력 및 저항력 피드백) 및/또는 촉각 피드백(예를 들어, 진동, 진동촉각(vibrotactile) 피드백, 질감, 열 등)을 제공할 수 있다. 햅틱 효과들은 사용자에게 특정 이벤트들을 알리거나 모의 또는 가상 환경 내에서 더 큰 감각적 몰입을 생성하도록 현실적인 피드백을 제공하는 데에 유용할 수 있다.
햅틱 효과 개발자는 상이한 디바이스들에 대한 햅틱 효과를 작성할 수 있다. 그러한 디바이스들이 상이한 아키텍처들을 갖는 경우, 단일 햅틱 신호는 전형적으로 모든 디바이스들에 대해 호환되지 않고, 상이한 햅틱 신호들은 각각의 디바이스에 특정되도록 설계될 필요가 있을 수 있다. 따라서, 햅틱 효과 설계자가 상이한 디바이스들의 특정 아키텍처들에 관계없이 광범위한 햅틱 효과들을 생성할 수 있게 하는 것이 바람직하다.
예시적인 실시예들에서, 햅틱 출력 디바이스를 사용하여 햅틱 효과를 생성하기 위한 방법들, 장치들 및 명령어들이 제공된다. 신호는 외부 소스로부터 수신되고, 이 신호는 일반적이거나 햅틱 출력 디바이스에 대해 구성되어 있지 않다. 해당 신호는 처리되어 신호 버퍼를 생성한다. 신호 버퍼에 기초하여 햅틱 출력 디바이스와 호환되는 햅틱 신호가 생성된다. 햅틱 신호가 햅틱 출력 디바이스에 인가되고, 이로써 햅틱 효과를 제공한다. 일부 구성들에서, 그리고 비 제한적인 예로서, 햅틱 신호 변환은 상이한 햅틱 아키텍처들을 갖는 디바이스들에 대한 하나 이상의 햅틱 효과를 생성하기 위해 신호를 트랜스코딩(transcoding)하는 단계를 포함한다.
본 발명의 추가 특징들 및 장점들은 다음의 설명에서 제시될 것이고, 부분적으로 해당 설명으로부터 명백하거나 본 발명의 실시로 학습될 수 있다. 본 발명의 목적들 및 다른 장점들은 첨부된 도면들 뿐만 아니라 본 명세서의 청구항들 및 기입된 설명에서 특히 지시된 구조에 의해 실현되고 달성될 것이다.
전술한 일반적인 설명 및 하기의 상세한 설명은 모두 예시적이고 설명적인 것이며 청구된 본 발명의 추가 설명을 제공하기 위한 것임을 이해해야 한다.
도 1은 본 개시의 예시적인 실시예에 따른 햅틱 신호 변환 시스템을 도시한다.
도 2는 본 개시의 예시적인 실시예에 따른 프로세서 시스템 및 인터페이스 디바이스를 갖는 시스템의 블록도이다.
도 3은 본 개시의 예시적인 실시예에 따른 햅틱 가능 장치의 블록도를 도시한다.
도 4는 본 개시의 예시적인 실시예에 따른 햅틱 신호 변환 시스템의 아키텍처도를 도시한다.
도 5는 본 개시의 예시적인 실시예에 따른 햅틱 효과를 생성하기 위한 방법의 흐름도이다.
도 6은 본 개시의 예시적인 실시예에 따른 햅틱 효과를 생성하기 위한 다른 방법의 흐름도이다.
도 7은 본 개시의 예시적인 실시예에 따른 햅틱 신호 변환 시스템을 동작시키기 위한 방법의 흐름도이다.
도 8은 본 개시의 예시적인 실시예에 따라 소스 신호를 햅틱 디바이스의 특정 아키텍처로 변환하기 위한 방법의 흐름도이다.
도 9는 본 개시의 예시적인 실시예에 따라 소스 신호를 햅틱 디바이스의 특정 아키텍처로 변환하기 위한 다른 방법의 흐름도이다.
도 10은 본 개시의 예시적인 실시예에 따라 도 9의 반송파 주파수를 선택하는 방법의 흐름도이다.
도 11은 본 개시의 예시적인 실시예에 따라 소스 신호를 파싱하는 방법을 도시한다.
도 12는 본 개시의 예시적인 실시예에 따른 디지털 신호에 기초하여 생성된 햅틱 효과의 크기의 계산을 도시한다.
도 13은 본 개시의 예시적인 실시예에 따른 소스 신호의 엔벨로프(envelope) 계산을 도시한다.
도 14는 본 개시의 예시적인 실시예에 따른 주파수 성분에 기초한 소스 신호의 엔벨로프의 계산을 도시한다.
다양한 실시예들이 도면들을 참조하여 상세하게 설명되고, 여기서 유사한 참조 부호들은 수개의 도면에 걸쳐 유사한 부분들 및 조립체들을 나타낸다. 다양한 실시예들에 대한 언급은 본 명세서에 첨부된 청구항들의 범위를 한정하는 것은 아니다. 추가적으로, 본 명세서에 제시된 임의의 예들은 한정적인 것으로 의도되지 않으며, 첨부된 청구항들에 대한 많은 가능한 실시예들 중 일부를 제시할 뿐이다.
일반적으로, 소스 신호에 기초하여 하나 이상의 햅틱 효과를 자동으로 생성하는 시스템이 제공된다. 다양한 실시예들에서, 신호는 신호와 관련되거나 신호에 의해 전달되는 데이터를 나타내는 데에 사용된다. 일부 실시예에서, 소스 신호는 햅틱 효과를 생성하는 디바이스에 직접 사용되지 않는다. 다른 실시예들에서, 소스 신호는 일반적이거나 상이한 아키텍처들을 갖는 상이한 햅틱 디바이스들에 대해 구성되어 있지 않다. 소스 신호는 오디오 신호, 비디오 신호 또는 다른 비-햅틱 신호들과 같은 다양한 유형의 신호들일 수 있다. 다른 실시예들에서, 소스 신호는 임의의 신호이다. 또 다른 실시예들에서, 소스 신호는 햅틱 효과 설계자에 의해 생성된 햅틱 신호(또는 햅틱 데이터)일 수 있다. 본 명세서에 설명된 바와 같이, 본 개시의 실시예들은 이러한 햅틱 신호를 각각의 햅틱 디바이스의 상이한 아키텍처들을 충족시키도록 변환하는 솔루션들을 제공한다. 추가적으로, 본 명세서에 설명된 실시예들은 햅틱 효과 설계자들이 상이한 햅틱 디바이스들의 하위 레벨의 세부 사항에 대해 우려하지 않고 햅틱 데이터를 생성할 수 있게 한다.
도 1은 본 개시의 예시적인 실시예에 따른 햅틱 신호 변환 시스템(100)을 도시한다.
햅틱 신호 변환 시스템(100)은, 소스 데이터를 나타내는 소스 신호(102)를 수신하도록 동작하고, 수신된 소스 데이터를 햅틱 정보로 자동으로 변환한다. 햅틱 신호 변환 시스템(100)으로부터의 햅틱 정보는 상이한 햅틱 디바이스들에 특정한 햅틱 신호들(104)(104A, 104B 및 104C를 포함함)을 포함할 수 있다. 디바이스-특정된 햅틱 신호들(104)은 상이한 햅틱 액추에이터 구동 회로들(106)(106A, 106B 및 106C를 포함함)에 의해 사용 가능하도록 구성된다.
액추에이터 구동 회로(106)는 햅틱 신호 변환 시스템(100)으로부터 햅틱 신호(104)(본 명세서에서 제어 신호로도 지칭됨)를 수신하는 회로이다. 햅틱 신호(104)는 하나 이상의 햅틱 효과와 관련된 햅틱 데이터를 포함하고, 햅틱 데이터는 액추에이터 구동 회로(106)가 액추에이터 구동 신호를 생성하기 위해 사용하는 하나 이상의 파라미터를 정의한다. 예시적인 실시예들에서, 이러한 파라미터는 전기적 특성과 관련되거나 전기적 특성과 연관된다. 햅틱 데이터에 의해 정의될 수 있는 전기적 특성의 예들은, 주파수, 진폭, 위상, 반전, 지속 시간, 파형, 동작개시 시간, 상승 시간, 페이드(fade) 시간 및 이벤트에 대한 래그(lag) 또는 리드(lead) 시간을 포함한다. 액추에이터 구동 신호(106)는 햅틱 액추에이터(108)(108A, 108B 및 108C를 포함함)에 인가되어 하나 이상의 햅틱 효과를 유발한다.
본 명세서에서 액추에이터 또는 햅틱 출력 디바이스로도 지칭되는 햅틱 액추에이터(108)는 햅틱 효과를 생성하도록 동작한다. 수신된 햅틱 신호(105)에 기초하여, 액추에이터 구동 회로(106)는 액추에이터 구동 신호를 생성하고 액추에이터(108)에 인가하여 액추에이터(108)를 구동시킨다. 액추에이터 구동 신호는, 액추에이터(108)에 적용될 때, 액추에이터(108)로 하여금, 액추에이터(108)를 작동시키고 제동함으로써, 햅틱 효과들을 생성하게 한다.
액추에이터(108)는 다양한 유형일 수 있다. 도시된 실시예들에서, 액추에이터는 스프링에 부착된 질량이 앞뒤로 구동되는 선형 공진 액추에이터(LRA)와 같은 공진 액추에이터이다. 공진 액추에이터가 예시적인 액추에이터로서 설명되었지만, 실시예들은 그렇게 한정되지 않고, 본 실시예들은 본 명세서에 설명된 것들과 같은 다양한 햅틱 출력 디바이스에 쉽사리 적용될 수 있다.
편심 질량이 압전, 전기-활성 폴리머 또는 형상 기억 합금과 같은 "스마트 재료" 또는 모터에 의해 이동되는 ECM(Eccentric Rotating Mass)과 같은 다른 유형의 전자기 액추에이터도 사용된다. 액추에이터들(108)은 또한, 정전기 마찰(electrostatic friction, ESF), 초음파 표면 마찰(ultrasonic surface friction, USF)을 사용하는 디바이스들, 또는 초음파 햅틱 변환기로 음향 방사압(acoustic radiation pressure)을 유도하는 디바이스들, 또는 햅틱 기판 및 가요성 또는 변형 가능한 표면을 사용하는 디바이스들, 또는 공기 분사를 사용하는 공기 퍼프와 같이 발사되는 햅틱 출력을 제공하는 디바이스들 등의 비기계식 또는 비진동식 디바이스들을 광범위하게 포함한다.
일부 실시예에서, 소스 신호(102)는 특정 햅틱 디바이스에 사용 가능하도록 포맷되지 않는다. 다른 실시예들에서, 소스 신호(102)는 일반적이거나 상이한 아키텍처들을 갖는 상이한 햅틱 디바이스들에 대해 구성되어 있지 않다. 추가적으로, 또는 대안적으로, 소스 신호(102)는 외부 소스로부터 제공될 수 있다. 소스 신호는 오디오 신호, 비디오 신호, 감지 신호들 또는 다른 비-햅틱 신호들과 같은 다양한 유형의 신호일 수 있다. 다른 실시예들에서, 소스 신호는 임의의 신호일 수 있다. 또 다른 실시예들에서, 소스 신호는 햅틱 효과 설계자에 의해 생성된 햅틱 신호(또는 햅틱 데이터)일 수 있다. 본 명세서에 설명된 바와 같이, 햅틱 신호 변환 시스템(100)은 설계자-생성된 햅틱 신호를 각각의 햅틱 디바이스의 상이한 아키텍처들을 충족시키도록 변환하는 솔루션들을 제공할 수 있다. 따라서, 시스템(100)은 햅틱 효과 설계자로 하여금 각각의 햅틱 디바이스의 상이한 능력들 및/또는 요건들에 대해 우려하지 않고 햅틱 데이터를 생성하는 것을 가능하게 할 수 있다.
일부 실시예에서, 소스 데이터(102)는 오디오 데이터, 비디오 데이터, 가속도 데이터 또는 센서로 포착될 수 있는 다른 유형의 데이터와 같은 데이터를 포함할 수 있다. 햅틱 신호 변환 시스템(100)은 소스 데이터(102)를 분석하고 소스 데이터(102)와 관련된 하나 이상의 햅틱 효과를 식별하도록 동작할 수 있다. 시스템(100)은 식별된 햅틱 효과들에 대한 햅틱 신호들(104)을 출력할 수 있다. 일부 실시예에서, 소스 데이터(102)는 메모리에 저장되고, 소스 데이터(102)는, 소스 데이터(102)가 햅틱 정보로 자동으로 변환되기 전에, 검색된다. 대안적으로, 소스 데이터(102)는, 소스 데이터(102)가 햅틱 정보로 자동으로 변환되기 전에, 스트리밍될 수 있다.
예로서, 본 명세서의 실시예들은, 예를 들어, 햅틱 효과 신호를 생성하도록, 임의의 신호(즉, 소스 신호(102))를 특정 상업용 아키텍처로 변환하는 것에 관한 것이다. 예를 들어, 햅틱 효과들은, 일반적으로, Oculus® Touch 게임 컨트롤러 및 HTC Vive® 게임 컨트롤러, 또는, Immersion® TouchSense Force(TSF) 게임 패드 등의 상이한 유형의 게임 컨트롤러들을 지원하는 게임(게임 프로그램 또는 게임 애플리케이션으로도 지칭됨)에서 런타임 동안에 수행된다. 이들 플레이어는, 예를 들어, 320Hz 또는 160Hz의 햅틱 신호를 생성할 수 있다. 상이한 주파수의 신호가 필요할 때, 플레이어들은 해당 주파수를 출력할 수 없다.
본 명세서의 실시예들은 또한, 현재 게임에 입력을 제공하는 게임 컨트롤러의 유형을 식별하고 식별된 유형의 게임 컨트롤러와 연관된 햅틱 트랙들을 검색함으로써, 및 햅틱 효과를 위한 게임 컨트롤러 특정 값들을 검색함으로써, 상이한 유형들의 게임 컨트롤러(또는 더 일반적으로, 상이한 유형들의 사용자 입력 디바이스)를 지원한다. 예를 들어, 플레이어는 상업적으로 구현된 플레이어 아키텍처/상업적으로 이용 가능한 게임 컨트롤러의 능력에 따라 햅틱 신호를 생성할 수 있다.
일부 실시예에서, 햅틱 신호들의 값들은, 단지 햅틱 액추에이터 특정(haptic-actuator-specific) 또는 햅틱 액추에이터 유형 특정(haptic-actuator-type-specific)이 아니라, 게임 컨트롤러 특정(game-controller-specific) 또는 게임 컨트롤러 유형 특정(game-controller-type-specific)인데, 왜냐하면, 두 유형의 게임 컨트롤러들이 동일한 유형의 햅틱 액추에이터들을 갖는 경우에도, 게임 컨트롤러들 자체의 유형은 여전히 상이한 질량, 기하구조, 액추에이터 배치 및 햅틱 효과의 생성에 영향을 미치는 다른 인자(factor)들을 가질 수 있기 때문이다. 따라서, 변환된 신호를 생성하는 것은 햅틱 효과를 생성하기 위해 사용되는 햅틱 액추에이터의 유형 대신에, 혹은 이와 조합하여, 게임 컨트롤러의 유형에 의존할 수 있다. 일부 경우에, 변환된 신호를 생성하는 것은 이 햅틱 변환 시스템의 제어를 벗어난 소프트웨어/펌웨어에 의존할 수 있다. 예를 들어, 입력 신호는 제3자 API(application programming interface)의 함수 호출들로 변환될 수 있어, 제3자 API가 햅틱 신호를 생성할 수 있다. 이 기능성은, 햅틱 변환 시스템의 일부로서 또는 별도의 컴포넌트로서 제공되어, 햅틱 변환 시스템이 입력 신호로부터 제3자 API에게 데이터를 공급하는 일련의 API 호출들로 구성되는 명령어 또는 신호로 변환될 수 있다.
도 2는 본 개시의 예시적인 실시예에 따른 프로세서 시스템(110) 및 인터페이스 디바이스(180)를 갖는 시스템의 블록도이다.
도 2에 도시된 시스템은 인터페이스 디바이스(180)와 통신하는 프로세서 시스템(110)을 포함한다. 프로세서 시스템(110)은, 예를 들어, 상업적으로 이용 가능한 개인용 컴퓨터 또는 하나 이상의 특정 작업을 수행하는 데에 전용되는 덜 복잡한 컴퓨팅 또는 처리 디바이스일 수 있다. 예를 들어, 프로세서 시스템(110)은 게임 시스템 등과 같은 대화식 가상 현실 환경(interactive virtual reality environment)을 제공하는 데에 전용되는 단말기일 수 있다.
프로세서 시스템(110)은 프로세서(120)를 포함하고, 본 개시의 하나 이상의 실시예에 따라, 상업적으로 이용 가능한 마이크로 프로세서일 수 있다. 대안적으로, 프로세서(120)는 하나 이상의 특정 기능을 달성하거나 하나 이상의 특정 디바이스 또는 애플리케이션을 이용 가능하게 하도록 설계된 ASIC(application-specific integrated circuit) 또는 ASIC의 조합일 수 있다. 또 다른 대안에서, 프로세서(120)는 아날로그 또는 디지털 회로, 또는 다수의 회로의 조합체일 수 있다.
대안적으로, 또는 추가적으로, 프로세서(120)는 하나 이상의 개별 서브-프로세서(sub-processor) 또는 코프로세서(coprocessor)를 선택적으로 포함할 수 있다. 예를 들어, 프로세서는 그래픽을 렌더링할 수 있는 그래픽 코프로세서, 하나 이상의 디바이스를 제어할 수 있는 컨트롤러, 하나 이상의 감지 디바이스(sensing device)로부터 감각적 입력을 수신할 수 있는 센서 등을 포함할 수 있다.
프로세서 시스템(110)은 또한, 메모리 컴포넌트(140)를 포함한다. 도 2에 도시된 바와 같이, 메모리 컴포넌트(140)는 하나 이상의 유형(type)의 메모리를 포함할 수 있다. 예를 들어, 메모리 컴포넌트(140)는 읽기 전용 메모리(read only memory)(ROM) 컴포넌트(142) 및 임의 접근 메모리(random access memory)(RAM) 컴포넌트(144)를 포함할 수 있다. 메모리 컴포넌트(140)는 또한, 프로세서(120)에 의해 검색 가능한 형태로 데이터를 저장하기에 적합한, 도 2에 도시되지 않은 다른 유형의 메모리를 포함할 수 있다. 예를 들어, 전자적으로 프로그램 가능한 읽기 전용 메모리(EPROM), 소거 가능한 전자적으로 프로그램 가능한 읽기 전용 메모리(EEPROM), 플래시 메모리뿐만 아니라, 다른 적절한 형태의 메모리가 메모리 컴포넌트(140) 내에 포함될 수 있다. 프로세서 시스템(110)은 또한, 프로세서 시스템(110)의 기능성에 따라 다양한 기타 컴포넌트들을 포함할 수 있다.
프로세서(120)는 메모리 컴포넌트(140)와 통신하고, 데이터를 메모리 컴포넌트(140)에 저장하거나 메모리 컴포넌트(140)에 미리 저장된 데이터를 검색할 수 있다. 프로세서 시스템(110)의 컴포넌트들은, 입력/출력(I/O) 컴포넌트(160)를 통해 프로세서 시스템(110) 외부의 디바이스들과 통신할 수 있다. 본 개시의 하나 이상의 실시예에 따르면, I/O 컴포넌트(160)는 다양한 적절한 통신 인터페이스들을 포함할 수 있다. 예를 들어, I/O 컴포넌트(160)는, 예를 들어, 직렬 포트, 병렬 포트, USB(universal serial bus) 포트, S-비디오 포트, LAN(Local Area Network) 포트, 소형 컴퓨터 시스템 인터페이스(small computer system interface)(SCSI) 포트, 오디오 포트 등과 같은 유선 연결들을 포함할 수 있다. 추가적으로, I/O 컴포넌트(160)는, 예를 들어, 적외선 포트, 광학 포트, 블루투스 무선 포트, 무선 LAN 포트 등과 같은 무선 연결들을 포함할 수 있다.
I/O 컴포넌트(160)를 통해, 프로세서 시스템(110)은 인터페이스 디바이스들(180)과 같은 다른 디바이스들과 통신할 수 있다. 이들 인터페이스 디바이스(180)는 햅틱 피드백을 제공하도록 구성될 수 있다. 각각의 인터페이스 디바이스(180)는, I/O 컴포넌트(160)를 통해 프로세서 시스템(110)과 통신할 수 있고, 이는 프로세서 시스템(110)의 I/O 컴포넌트(160)와 유사하며 해당 I/O 컴포넌트(160)와 관련하여 전술한 유선 또는 무선 통신 포트들 중 임의의 것을 포함할 수 있다. 따라서, 프로세서 시스템(110)의 I/O 컴포넌트(160)와인터페이스 디바이스(180)의 I/O 컴포넌트(160) 사이의 통신 링크는, 예를 들어, 유선 통신 링크, 무선 통신 링크(예를 들어, RF 링크), 광통신 링크 또는 다른 적절한 링크를 포함하여 다양한 형태들을 취할 수 있다.
인터페이스 디바이스(180)는, 프로세서(182), 햅틱 디바이스(184) 및 센서(186)와 같은 다수의 컴포넌트를 포함한다. 프로세서 시스템(110)의 컴포넌트들과 마찬가지로, 인터페이스 디바이스(180)는 추가 컴포넌트들을 포함할 수 있다. 예를 들어, 인터페이스 디바이스는 도 2에 도시된 컴포넌트들의 추가 복제물들을 포함할 수 있다(예를 들어, 인터페이스 디바이스(180)는 다수의 프로세서(182), 햅틱 디바이스(184), 센서(186) 및/또는 컨트롤러(136) 등을 포함할 수 있다). 추가적으로, 인터페이스 디바이스(180)는 도면에 도시되지 않은 다른 컴포넌트들을 포함할 수 있다. 예를 들어, I/O 컴포넌트(160)를 통해 인터페이스 디바이스(180)에 의해 수신된 데이터를 저장하는 것이 바람직한 경우, 적절한 메모리 컴포넌트 또는 버퍼 메모리 컴포넌트가 사용될 수 있다.
인터페이스 디바이스(180)의 프로세서(182)는 전술한 프로세서 시스템(110)의 프로세서(120)와 유사할 수 있거나, 인터페이스 디바이스(180)의 기능성을 위해 특별히 설계(예를 들어, ASIC)되고/되거나 프로그래밍될 수 있다. 프로세서 시스템(110)의 프로세서(120)와 같이, 인터페이스 디바이스(180)의 프로세서(182)는, 예를 들어, 병렬로 사용될 수 있는 다양한 서브-프로세서를 포함할 수 있다.
위에서 논의된 바와 같이, 인터페이스 디바이스(180)는 인터페이스 디바이스(180)의 사용자에게 촉각 또는 햅틱 피드백을 제공하기 위해 사용되는 햅틱 디바이스(184)를 포함한다. 일부 실시예에서, 햅틱 디바이스(184)는 도 1에 도시된 바와 같은 액추에이터(108)와 같은 하나 이상의 액추에이터를 포함한다. 본 개시의 일 실시예에 따르면, 햅틱 피드백은 하우징, 조작자(manipulandum) 등과 같은 물리적 객체를 통해 제공될 수 있다. 햅틱 디바이스(184)는 각각 다수의 대응 주파수 범위와 연관된 다수의 동작 모드를 포함하는 하나 이상의 햅틱 디바이스를 포함하여 다양한 형태들을 취할 수 있다. 본 개시의 하나 이상의 실시예에 따라 사용될 수 있는 햅틱 디바이스(184) 구성들의 일부 예가 하기에 더 상세히 설명된다. 그러나, 하기에 주어진 햅틱 디바이스들(184)의 예는, 인터페이스 디바이스들(180)에 포함될 수 있지만 대신 단지 예로서 의도된 모든 유형의 햅틱 디바이스들(184)의 전체 목록(exhaustive list)을 형성하도록 의도된 것은 아니다.
인터페이스 디바이스(180)의 센서(186)는 인터페이스 디바이스(180)의 사용자로부터의 입력을 감지하도록 구성된다. 예를 들어, 센서(186)는 인터페이스 디바이스(180)의 조작자와 같은 물리적 객체의 조작 또는 이동을 감지하기 위해 사용될 수 있다. 센서(186)는 또한, 압력, 속도, 가속도, 토크, 광 또는 다른 측정 가능한 수량과 같은 다른 형태의 사용자 입력을 감지하기 위해 사용될 수 있다. 예를 들어, 센서(186)는 압력을 감지하기 위한 압전 센서, 다양한 형태의 움직임을 감지하기 위한 가속도계와 같은 관성 측정 장비(inertial measurement unit)(IMU), 광 레벨의 변화를 감지하기 위한 광기전력형 센서(photovoltaic sensor), 및/또는 기타 센서들을 포함할 수 있다. 센서(186)는 또한, 예를 들어, 햅틱 디바이스(184)로부터의 피드백(예를 들어, 위치 및/또는 속도를 포함하는 상태 정보)과 같은 다른 입력을 감지할 수 있다.
도 2에 도시된 바와 같이, 인터페이스 디바이스(180)의 다양한 컴포넌트들은 서로 통신하고, (I/O 컴포넌트(160)를 통해) 프로세서 시스템(110)의 컴포넌트들과 통신한다. 인터페이스 디바이스(180)의 프로세서(182)는, 예를 들어, 센서(186)로부터 수신된 정보에 기초하여 햅틱 디바이스(184)를 제어하기 위해 사용될 수 있다. 마찬가지로, 프로세서 시스템(110)의 프로세서(120)는 인터페이스 디바이스(180)의 센서(186)로부터 수신된 정보에 기초하여 인터페이스 디바이스(180)의 햅틱 디바이스(184)를 제어하기 위해 사용될 수 있고; 이러한 실시예에서, 프로세서(182)는 선택적이며 존재할 필요가 없다. 대안적으로, 프로세서 시스템(110)의 프로세서(120)("호스트 프로세서"로도 지칭됨)는 센서(186)로부터 수신된 데이터를 해석하기 위해, 및/또는 햅틱 디바이스(184)를 제어하기 위해, 인터페이스 디바이스(180)의 프로세서(182)("로컬 프로세서"로도 지칭됨)와 협력하여 사용될 수 있다.
프로세서 시스템(110) 및 인터페이스 디바이스(180)는 선택적으로 하나 이상의 컨트롤러(130, 132, 134, 136)(이하, 컨트롤러(130)로서, 집합적으로, 개별적으로 또는 서브셋으로 지칭됨)를 사용할 수 있다. 도 2에 도시된 바와 같이, 컨트롤러(130)는 프로세서 시스템(110)의 프로세서(120) 및/또는 인터페이스 디바이스(180)의 프로세서(182)의 일부(예를 들어, 제어 알고리즘의 형태임)로서 구성될 수 있다. 추가적으로, 컨트롤러(130)는 버스 또는 다른 적절한 연결을 통해 프로세서 시스템(110)의 다른 컴포넌트들 및/또는 인터페이스 디바이스(180)에 연결된 별도의 컴포넌트일 수 있다. 다양한 실시예들에 따르면, 인터페이스 디바이스(180)는 그 자체 프로세서 및/또는 컨트롤러(134, 136)를 갖기 때문에 프로세서 시스템(110)과 독립적으로 기능할 수 있고, 프로세서 시스템(110)을 전혀 활용하지 않을 수 있음을 인식해야 한다. 예를 들어, 인터페이스 디바이스(180)는 프로세서 시스템(110)에 연결되도록 구성되거나 구성되지 않을 수 있는 개인 휴대 정보 단말기(PDA) 또는 셀룰러 전화기와 같은 독립형 디바이스일 수 있다.
게임 컨트롤러(136)는 Oculus® 터치 컨트롤러, HTC Vive® 컨트롤러, Immersion® TSF 게임 패드 또는 기타 유사한 컨트롤러일 수 있다. 각각의 유형의 게임 컨트롤러는 상이한 개수 및/또는 유형의 햅틱 액추에이터를 가질 수 있다. 일 예에서, 게임 컨트롤러(136)는 햅틱 액추에이터들을 가질 수 있고, 햅틱 액추에이터들 중 하나는 게임 컨트롤러(136)의 트리거를 밀고 당기는 운동 감각 액추에이터(예를 들어, 모터)일 수 있고, 반면에 다른 하나는, 예를 들어, 요란한 소리(rumble) 또는 다른 형태의 진동을 생성하는 데에 사용되는 편심 회전 질량(ERM) 액추에이터와 같은 럼블(rumble) 액추에이터일 수 있다. 이 예에서, 게임 컨트롤러들은 각각, 예를 들어, 선형 공진 액추에이터(LRA)인 햅틱 액추에이터를 가질 수 있다. 또한, 게임 컨트롤러는 다수의(예를 들어, 4개의) 액추에이터를 가질 수 있고, 다수의 액추에이터의 각각은 운동 감각 액추에이터, ERM 액추에이터, LRA, 정전기 액추에이터 또는 임의의 다른 유형의 햅틱 액추에이터일 수 있다.
일 실시예에서, 게임 또는 햅틱 설계자는 특정 햅틱 효과를 위해 다양한 상이한 햅틱 트랙들을 설계할 수 있다. 추가적으로, 또는 대안적으로, 게임 또는 햅틱 설계자는 특정 게임 컨트롤러 또는 게임 컨트롤러의 유형과 같은 사용될 디바이스의 능력에 따라 햅틱 트랙들을 생성할 수 있다. 여기서, 게임 또는 햅틱 설계자는 그 기능적 능력에 따라 각자의 각각의 디바이스마다 소스 신호를 생성할 수 있다. 그 후, 소스 신호는, 햅틱 신호를 생성하도록, 트랜스 코딩, 데이터 변환, 펄스-트레인 삽입(pulse-train insertion), 제3자 API 호출 등을 포함하여 타겟 디바이스에 적절한 형태로 변환될 수 있다. 각각의 게임 컨트롤러, 또는 각각의 유형의 게임 컨트롤러는 게임 프로그램에서 종료점으로 지칭되거나 표현될 수 있다. 예를 들어, 햅틱 효과는, 사용자가 무기를 발사할 때 또는 사용자가 손상을 자초할 때, 발생할 수 있다. 게임 또는 햅틱 설계자는, 각각의 햅틱 효과마다, 게임에 의해 지원되는 게임 컨트롤러의 각각의 유형마다 각각의 햅틱 트랙을 설계하고 저장할 수 있다.
비일시적 메모리는 프로세서에 의해 액세스될 수 있는 다양한 컴퓨터 판독가능 매체를 포함할 수 있다. 다양한 실시예들에서, 본 명세서에 설명된 메모리 및 다른 메모리 디바이스들은 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함할 수 있다. 예를 들어, 메모리는 임의의 조합 또는 임의 접근 메모리("RAM"), 동적 RAM("DRAM"), 정적 RAM("SRAM"), 읽기 전용 메모리("ROM"), 플래시 메모리, 캐시 메모리, 및/또는 임의의 다른 유형의 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 메모리는 프로세서에 의해 실행되는 명령어들을 저장한다. 명령어들 중에서, 메모리는 햅틱 효과 설계 모듈을 위한 명령어들을 포함한다. 햅틱 효과 설계 모듈은, 프로세서에 의해 실행될 때, 햅틱 편집 애플리케이션을 가능하게 하고, 하기에 더 상세히 개시된 바와 같이, 또한 액추에이터를 사용하여 햅틱 효과들을 렌더링하는 명령어들을 포함한다. 메모리는 프로세서 내부에 위치되거나, 내부 및 외부 메모리의 조합일 수 있다.
액추에이터는 햅틱 효과를 생성할 수 있는 임의의 유형의 액추에이터 또는 햅틱 출력 디바이스일 수 있다. 일반적으로, 액추에이터는 햅틱 출력 디바이스의 예이고, 여기서 햅틱 출력 디바이스는 구동 신호에 대한 응답하여 진동촉각 햅틱 효과, 정전기 마찰 햅틱 효과, 온도 변화, 및/또는 변형 햅틱 효과와 같은 햅틱 효과를 출력하도록 구성되는 디바이스이다. 상세한 설명 전체에 걸쳐 액추에이터라는 용어가 사용될 수 있지만, 본 개시의 실시예들은 다양한 햅틱 출력 디바이스들에 쉽사리 적용될 수 있다. 액추에이터는, 예를 들어, 전기 모터, 전자기 액추에이터, 보이스 코일, 형상 기억 합금, 전기-활성 폴리머, 솔레노이드, 편심 회전 질량 모터(eccentric rotating mass motor)("ERM"), 고조파 ERM 모터(harmonic ERM motor)("HERM"), 선형 공진 액추에이터(linear resonance actuator)("LRA"), 솔레노이드 공진 액추에이터(solenoid resonance actuator)("SRA"), 압전 액추에이터(piezoelectric actuator), 매크로 섬유 복합재(macro fiber composite)("MFC") 액추에이터, 고대역폭 액추에이터(high bandwidth actuator), 전기활성 폴리머(electroactive polymer)("EAP") 액추에이터, 정전기 마찰 디스플레이, 초음파 진동 발생기 등일 수 있다. 일부 경우에, 액추에이터 자체는 햅틱 구동 회로를 포함할 수 있다.
일반적으로, 액추에이터는 단일 주파수에서 진동 햅틱 효과를 생성하는 표준 정의(standard definition)("SD") 액추에이터로서 특징지워질 수 있다. SD 액추에이터의 예들은 ERM 및 LRA를 포함한다. SD 액추에이터와는 달리, 압전 액추에이터 또는 EAP 액추에이터와 같은 고해상도(HD) 액추에이터 또는 고 충실도 액추에이터는 여러 주파수에서 고 대역폭/해상도 햅틱 효과들을 생성할 수 있다. HD 액추에이터들은 가변 진폭과 일시적인 구동 신호(transient drive signal)에 대한 신속한 응답으로 광대역 촉각 효과를 생성할 수 있는 기능을 특징으로 한다. 본 발명의 실시예들은, (예를 들어, ActiveFORCE 게임 컨트롤러 트리거 요소에 대한) 푸시/풀(push/pull) 효과를 제공하는 양방향 액추에이터들 또는 주파수 수정 가능한 액추에이터들과 같은 고품질 액추에이터들에 의해 촉발되었지만, 실시예들은 그렇게 한정되지 않고 임의의 햅틱 출력 디바이스에 쉽사리 적용될 수 있다.
원격 소스들로부터 데이터를 송신 및/또는 수신하는 실시예들에서, 시스템은 네트워크 인터페이스 카드와 같은 통신 디바이스를 더 포함하여 적외선, 래디오, Wi-Fi, 셀룰러 네트워크 통신 등과 같은 모바일 무선 네트워크 통신을 제공한다. 다른 실시예들에서, 통신 디바이스는 이더넷 연결, 모뎀 등과 같은 유선 네트워크 연결을 제공한다.
도 3은 본 개시의 예시적인 실시예에 따른 햅틱 가능 장치(200)의 블록도를 도시한다.
다양한 구성들에서, 햅틱 가능 장치(200)는 도 2에 도시된 바와 같이 인터페이스 디바이스(180)의 적어도 일부를 구현할 수 있다. 햅틱 가능 장치(200)는, 셀룰러 폰, 스마트 폰, 개인 휴대 정보 단말기(personal digital assistant)(PDA), 휴대용 음악 플레이어, 휴대용 비디오 플레이어, 게임 시스템, 가상 현실(VR) 시스템, 가상 현실 헤드셋, 360도 비디오 헤드셋, 자동차 시스템, 내비게이션 시스템, 데스크탑, 랩톱 컴퓨터, 전자 기기(예를 들어, 텔레비전, 오븐, 세탁기, 건조기, 냉장고 또는 조명 시스템), 좌석, 헤드셋 또는 햅틱 액추에이터들을 갖는 기타 디바이스를 구비한 IMAXTM 극장과 같은 영화관, 및 햅틱 피드백을 제공할 뿐만 아니라 정보를 처리하는 임의의 다른 전자 또는 컴퓨팅 디바이스들 등의, 햅틱 효과들을 전달하기 위해 사용될 수 있는 임의의 유형의 디바이스일 수 있다.
일부 실시예에서, 햅틱 가능 장치(200)는 단일 디바이스일 수 있다. 다른 실시예들에서, 햅틱 가능 장치(200)는 집합적으로 함께 연결된 디바이스들의 세트일 수 있다.
이 예시적인 실시예에서, 햅틱 가능 장치(200)는 버스(240), 프로세서(242), 입력/출력(I/O) 컨트롤러(244), 메모리(246), 네트워크 인터페이스 컨트롤러(NIC)(248), 사용자 인터페이스(250), 모니터링 디바이스(252), 액추에이터 구동 회로(254), 햅틱 액추에이터(256) 및 데이터베이스(258)를 포함한다.
일부 실시예에서, 도 3에 도시된 바와 같은 장치(200)의 요소, 디바이스 및 컴포넌트들은, 사용자가 착용하거나 지닐 수 있는 단일 디바이스 내에 통합된다. 다른 실시예들에서, 도시된 요소들, 디바이스들 및 컴포넌트들 중 적어도 하나는 다른 것들로부터 별도로 배치되어 무선 또는 유선으로 서로 연결된다.
버스(240)는 프로세서(242), I/O 컨트롤러(244), 메모리(246), NIC(248), 모니터링 디바이스(252) 및 액추에이터 구동 회로(254)를 포함하는 장치(200)의 컴포넌트들 사이에서 데이터를 전송하기 위한 경로를 제공하기 위한 도체 또는 전송 라인을 포함한다. 버스(240)는 일반적으로 제어 버스, 어드레스 버스 및 데이터 버스를 포함한다. 그러나, 버스(240)는 장치(200)의 컴포넌트들 사이에서 데이터를 전송하기에 적절한 임의의 버스 또는 버스들의 조합일 수 있다.
프로세서(242)는 정보를 처리하도록 구성되는 임의의 회로일 수 있고 임의의 적절한 아날로그 또는 디지털 회로를 포함할 수 있다. 프로세서(242)는 또한, 명령어들을 실행하는 프로그램 가능한 회로를 포함할 수 있다. 프로그램 가능한 회로의 예들은 마이크로 프로세서, 마이크로 컨트롤러, ASIC(application specific integrated circuit), PLA(programmable gate arrays), FPGA(field programmable gate array) 또는 명령어들을 실행하는 데에 적절한 임의의 기타 프로세서 또는 하드웨어를 포함한다. 다양한 실시예들에서, 프로세서(242)는 단일 유닛 또는 2개 이상의 유닛들의 조합일 수 있다. 프로세서(242)가 2개 이상의 유닛을 포함하는 경우, 유닛은 물리적으로 단일 컨트롤러 또는 별도의 디바이스들에 위치될 수 있다.
프로세서(242)는 장치(200) 전체를 동작시키는 동일한 프로세서일 수도 있고, 별도의 프로세서일 수도 있다. 프로세서(242)는 하나 이상의 파라미터에 기초하여 어떤 햅틱 효과들이 재생될 것인지와, 햅틱 효과들이 재생되는 순서를 결정할 수 있다. 예를 들어, 특정 햅틱 효과를 정의하는 파라미터들은 크기, 빈도 및 지속 시간을 포함한다. 스트리밍 모터 커맨드들과 같은 다른 파라미터들도 특정 햅틱 효과를 결정하기 위해 사용될 수 있다.
프로세서(242)는 입력 디바이스(262)로부터 신호 또는 데이터를 수신하고 제어 신호를 출력하여 액추에이터 구동 회로(254)를 구동한다. 프로세서(242)에 의해 수신된 데이터는 본 명세서에 개시된 프로세서들, 프로그램 모듈들 및 다른 하드웨어들에 의해 처리되는 임의의 유형의 파라미터들, 명령어들, 플래그들 또는 다른 정보일 수 있다.
I/O 컨트롤러(244)는, 사용자 인터페이스(250)와 같이 장치(200), 및 외부 또는 주변 디바이스들의 동작을 모니터링하는 회로이다. I/O 컨트롤러(244)는 또한, 장치(200)와 주변 디바이스들 사이의 데이터 흐름을 관리하고, 주변 디바이스들을 모니터링하고 제어하는 것과 연관된 계산들로부터 프로세서(242)를 해방시킨다. I/O 컨트롤러(244)가 인터페이싱할 수 있는 다른 외부 또는 주변 디바이스의 예들은, 외부 저장 디바이스, 모니터, 컨트롤러, 키보드 및 포인팅 디바이스와 같은 입력 디바이스, 외부 컴퓨팅 디바이스, 안테나, 사람에 의해 착용되는 다른 물품, 및 임의의 기타 원격 디바이스를 포함한다.
메모리(246)는 임의 접근 메모리(RAM), 읽기 전용 메모리(ROM), 전기적으로 소거 가능한 프로그램 가능한 읽기 전용 메모리(EEPROM), 플래시 메모리, 자기 메모리, 광학 메모리 또는 임의의 다른 적절한 메모리 기술과 같은 임의의 유형의 저장 디바이스 또는 비일시적 컴퓨터 판독가능 매체일 수 있다. 메모리(246)는 또한, 휘발성 및 비휘발성 메모리의 조합을 포함할 수 있다. 메모리(246)는 프로세서(242)에 의해 실행되는 명령어들을 저장한다. 메모리(246)는 또한, 프로세서(242)의 내부에 위치되거나 내부 및 외부 메모리의 임의의 조합일 수 있다.
네트워크 인터페이스 컨트롤러(NIC)(248)는 장치(200)와 원격 디바이스들 사이에 (무선 또는 유선 중 어느 하나의) 통신을 제공하기 위해 네트워크와 전기적 통신을 행한다. 통신은 블루투스, 셀룰러 표준(예를 들어, CDMA, GPRS, GSM, 2.5G, 3G, 3.5G, 4G), WiGig, IEEE 802.11a/b/g/n/ac, IEEE 802.16(예를 들어, WiMax)과 같은 표준들을 포함하는 임의의 무선 전송 기법들에 따를 수 있다. NIC(248)는 또한, RS 232, USB, FireWire, 이더넷, MIDI, eSATA 또는 선더볼트(thunderbolt)와 같은 임의의 적절한 통신 표준에 따라 데이터를 전송하기 위해 임의의 적절한 포트 및 커넥터를 사용하는 유선 연결을 통해 장치(200)와 원격 디바이스들 사이의 유선 통신을 제공할 수 있다.
사용자 인터페이스(250)는 입력 디바이스(262) 및 출력 디바이스(264)를 포함할 수 있다. 입력 디바이스(262)는 사용자가 파라미터, 커맨드 및 기타 정보를 장치(200)에 입력할 수 있는 임의의 디바이스 또는 메커니즘을 포함한다. 적어도 일부 실시예에서, 입력 디바이스(262)는 햅틱 가능 장치(200) 또는 햅틱 가능 장치(200)의 사용자와 연관된 하나 이상의 이벤트, 또는 사용자에 의해 수행될 수 있는 하나 이상의 이벤트를 모니터링하거나 검출하도록 구성되고, 햅틱 피드백을 이용하여 사용자에게 이벤트에 대해 알릴 수 있다. 입력 디바이스(262)는 프로세서(242)에 신호를 입력하는 임의의 디바이스이다.
입력 디바이스(262)의 예들은, 터치스크린, 터치 감지 표면, 카메라, 버튼 및 스위치와 같은 기계적 입력, 및 다른 유형의 입력 컴포넌트들인, 예를 들어, 마우스, 터치 패드, 미니 조이스틱, 스크롤 휠, 트랙볼, 게임 패드 또는 게임 컨트롤러를 포함한다. 입력 디바이스(262)의 다른 예들은, 키, 버튼, 스위치 또는 다른 유형의 사용자 인터페이스와 같은 제어 디바이스를 포함한다. 입력 디바이스(262)의 또 다른 예는, 프로세서(242)에 신호를 입력하는 변환기를 포함한다. 입력 디바이스(262)로서 사용될 수 있는 변환기들의 예는 하나 이상의 안테나 및 센서를 포함한다. 예를 들어, 입력 디바이스(262)는 본 명세서에 설명된 바와 같은 모니터링 디바이스(252)를 포함한다. 다른 예들에서, 모니터링 디바이스(252)는 입력 디바이스(262)를 포함한다. 입력 디바이스(262)의 또 다른 예들은, 플래시 메모리, 자기 메모리, 광학 메모리, 또는 임의의 다른 적절한 메모리 기술과 같은 휴대용 메모리를 위한 이동식 메모리 판독기들을 포함한다.
출력 디바이스(264)는 시각적 및 청각적 포맷과 같은 다양한 포맷으로 사용자에게 정보를 제시하는 임의의 디바이스 또는 메커니즘을 포함한다. 출력 디바이스(264)의 예들은, 디스플레이 스크린, 스피커, 조명 및 다른 유형의 출력 컴포넌트들을 포함한다. 출력 디바이스(264)는 또한, 이동식 메모리 판독기들을 포함할 수 있다. 일 실시예에서, 입력 디바이스(262) 및 출력 디바이스(264)는, 터치-감지 디스플레이 스크린과 같이, 일체로 형성된다.
여전히 도 3을 참조하여, 모니터링 디바이스(252)는 장치(200) 및/또는 장치(200)를 포함하는 동적 시스템의 파라미터들을 모니터링하도록 동작한다.
모니터링 디바이스(252)는 장치(200)에 통합되거나 장치(200)에 연결될 수 있는 다양한 유형의 하나 이상의 센서를 포함한다. 일부 실시예에서, 모니터링 디바이스(252)는 장치(200)의 입력 디바이스(262)를 포함할 수 있다. 모니터링 디바이스(252)는 입력 디바이스로도 지칭될 수 있다. 센서들은 자극을 수신하는 것에 응답하여 신호들을 출력하는 임의의 기구 또는 다른 디바이스들일 수 있다. 센서들은 프로세서에 하드웨어적으로 연결되거나, 프로세서에 무선으로 연결될 수 있다. 센서들은 다양한 상이한 조건, 이벤트, 환경 조건, 장치(200)의 동작 또는 상태, 다른 사람 또는 객체들의 존재, 또는 센서들을 자극할 수 있는 어떤 것 또는 임의의 다른 상태를 검출하거나 감지하기 위해 사용될 수 있다.
센서의 예들은, 마이크로폰과 같은 음향 또는 사운드 센서; 진동 센서; 음주 측정기, 일산화탄소 및 이산화탄소 센서, 및 가이거 계수기와 같은 화학 및 입자 센서; 전압 검출기 또는 홀-효과(hall-effect) 센서와 같은 전기 및 자기 센서; 유량 센서; GPS 수신기, 고도계, 자이로스코프, 자력계 또는 가속도계와 같은 내비게이션 센서 또는 기구; 압전 재료, 거리계, 주행 기록계, 속도계, 충격 검출기와 같은 위치, 근접 및 이동 관련 센서; CCD(charge-coupled device), CMOS 센서, 적외선 센서 및 광 검출기와 같은 이미징 및 기타 광학 센서; 기압계, 압전계 및 촉각 센서와 같은 압력 센서; 압전 센서 및 변형계(strain gauge)와 같은 힘 센서; 온도계, 열량계, 서미스터, 열전대 및 고온계와 같은 온도 및 열 센서; 동작 검출기, 삼각 측량 센서, 레이더, 광전지, 수중 음파 탐지기(sonar) 및 홀-효과 센서와 같은 근접 및 존재 센서; 바이오칩; 혈압 센서, 펄스/옥스(pulse/ox) 센서, 혈당 센서 및 심장 모니터와 같은 생체 측정 센서를 포함한다. 추가적으로, 센서들은 압전 폴리머와 같은 스마트 재료로 형성될 수 있고, 일부 실시예에서 센서 및 액추에이터 둘 다로서 기능한다.
다양한 실시예들은 단일 센서를 포함할 수 있거나 동일하거나 상이한 유형의 2개 이상의 센서를 포함할 수 있다. 추가적으로, 다양한 실시예들은 상이한 유형의 센서들을 포함할 수 있다.
액추에이터 구동 회로(254)는 액추에이터 구동 모듈(278)로부터 햅틱 신호(본 명세서에서는 제어 신호로도 지칭됨)를 수신하는 회로이다. 일부 실시예에서, 액추에이터 구동 회로(254)는 도 1에 도시된 바와 같이 햅틱 구동 회로(106)를 적어도 부분적으로 구현한다. 햅틱 신호는 햅틱 효과들과 연관된 햅틱 데이터를 구현하고, 햅틱 데이터는 액추에이터 구동 회로(254)가 액추에이터 구동 신호를 생성하기 위해 사용하는 파라미터들을 정의한다. 예시적인 실시예들에서, 이러한 파라미터는 전기적 특성과 관련되거나 전기적 특성과 연관된다. 햅틱 데이터에 의해 정의될 수 있는 전기적 특성의 예들은, 주파수, 진폭, 위상, 반전, 지속 시간, 파형, 동작개시(attack) 시간, 상승 시간, 페이드 시간 및 이벤트에 대한 래그(lag) 또는 리드(lead) 시간을 포함한다. 액추에이터 구동 신호는 액추에이터(256)에 인가되어 하나 이상의 햅틱 효과를 유발한다.
본 명세서에서 햅틱 액추에이터 또는 햅틱 출력 디바이스로도 지칭되는 액추에이터(256)는 햅틱 효과들을 생성하도록 동작한다. 일부 실시예에서, 액추에이터(256)는, 도 1에 도시된 바와 같은 햅틱 액추에이터(108)를 적어도 부분적으로 구현한다. 액추에이터(256)는, 햅틱 신호를 액추에이터 구동 회로(254)로 전송하는 액추에이터 구동 모듈(278)을 실행하는 프로세서(242)에 의해 제어된다. 액추에이터 구동 회로(254)는 액추에이터 구동 신호를 생성하고 액추에이터(256)에 인가하여 액추에이터(256)를 구동시킨다. 액추에이터 구동 신호는, 액추에이터(256)에 적용될 때, 액추에이터(256)로 하여금, 액추에이터(256)를 작동시키고 제동함으로써, 햅틱 효과들을 생성하게 한다.
액추에이터(256)는 다양한 유형일 수 있다. 도시된 실시예들에서, 액추에이터는 스프링에 부착된 질량이 앞뒤로 구동되는 선형 공진 액추에이터(LRA)와 같은 공진 액추에이터이다. 다른 실시예들에서, 액추에이터는 솔레노이드 공진 액추에이터(SRA)이다.
편심 질량이 압전, 전기-활성 폴리머 또는 형상 기억 합금과 같은 "스마트 재료" 또는 모터에 의해 이동되는 ECM(Eccentric Rotating Mass)과 같은 다른 유형의 전자기 액추에이터도 사용된다. 액추에이터들(256)은 또한, 정전기 마찰(ESF), 초음파 표면 마찰(USF)을 사용하는 디바이스들, 또는 초음파 햅틱 변환기로 음향 방사압을 유도하는 디바이스들, 또는 햅틱 기판 및 가요성 또는 변형 가능한 표면을 사용하는 디바이스들, 또는 공기 분사를 사용하는 공기 퍼프와 같이 발사되는 햅틱 출력을 제공하는 디바이스들 등의 비기계식 또는 비진동식 디바이스들을 광범위하게 포함한다.
장치(200)는 하나 이상의 액추에이터(256)를 포함할 수 있고, 각각의 액추에이터는 프로세서(242)에 모두 연결된 별도의 액추에이터 구동 회로(254)를 포함할 수 있다. 하나보다 많은 액추에이터를 갖는 실시예들에서, 각각의 액추에이터는, 디바이스에 광범위한 햅틱 효과들을 생성하기 위해, 상이한 출력 능력을 가질 수 있다.
데이터베이스(258)는 햅틱 신호 변환 모듈(274) 및/또는 햅틱 효과 렌더링 모듈(276)로부터 다양한 데이터를 저장하도록 동작한다.
일부 실시예에서, 데이터베이스(258)는 디지털 데이터를 저장하기 위한 보조 저장 디바이스(예를 들어, 하드 디스크 드라이브, 플래시 메모리 카드, 디지털 비디오 디스크, 컴팩트 디스크 읽기 전용 메모리, 디지털 다용도 디스크 읽기 전용 메모리, 임의 접근 메모리 또는 읽기 전용 메모리)로 구성된다. 보조 저장 디바이스는 버스(240)에 연결된다. 보조 저장 디바이스들 및 그들의 관련 컴퓨터 판독가능 매체는 컴퓨터 판독가능 명령어들(애플리케이션 프로그램들 및 프로그램 모듈들을 포함함), 데이터 구조들, 및 장치(200)를 위한 기타 데이터의 비휘발성 저장을 제공한다. 데이터베이스(258)를 위한 보조 저장 디바이스가 장치(200)에 포함되는 것으로 도시되어 있지만, 보조 저장 디바이스는 다른 실시예들에서 장치(200)와 별도의 디바이스일 수 있다는 것으로 이해된다. 또 다른 실시예들에서, 데이터베이스(258)는 메모리(246)에 포함된다.
여전히 도 3을 참조하여, 메모리(246)는 사용자 입력 취득 모듈(272), 햅틱 신호 변환 모듈(274), 햅틱 효과 렌더링 모듈(276), 액추에이터 구동 모듈(278) 및 통신 모듈(280)을 포함하는 프로세서(242)에 의해 실행되는 다수의 프로그램 모듈을 저장하도록 구성된다. 각각의 모듈은 하나 이상의 특정 작업을 수행하는 데이터, 루틴, 객체, 호출 및 기타 명령어들의 집합체이다. 특정 모듈들이 본 명세서에 개시되어 있지만, 본 명세서에 설명된 다양한 명령어들 및 작업들은, 단일 모듈, 모듈들의 상이한 조합, 본 명세서에 개시된 것과 다른 모듈들, 또는 장치(200)와 무선 또는 유선으로 통신하는 원격 디바이스들에 의해 실행되는 모듈들에 의해 수행될 수 있다.
사용자 입력 취득 모듈(272)은, 프로세서(242)에 의해 실행될 때, 프로세서(242)로 하여금, 햅틱 효과들 또는 햅틱 효과 수정자들과 연관된 하나 이상의 파라미터의 사용자 입력들을 수신하게 하는 명령어들이다. 사용자 입력 취득 모듈(272)은 사용자 인터페이스(250)의 입력 디바이스(262)와 통신할 수 있고, 사용자로 하여금 입력 디바이스(262)를 통해 이러한 파라미터들을 입력할 수 있게 한다. 예로서, 사용자 입력 취득 모듈(272)은, 사용자로 하여금 햅틱 효과들을 위한 하나 이상의 파라미터를 입력하거나 선택할 수 있게 하는 디스플레이 스크린(즉, 입력 디바이스(262)) 상에 그래픽 사용자 인터페이스를 제공한다.
햅틱 신호 변환 모듈(274)은, 프로세서(242)에 의해 실행될 때, 프로세서(242)로 하여금, 본 명세서의 햅틱 신호 변환 시스템(100)의 다양한 기능들을 수행하게 하는 명령어들을 포함한다.
햅틱 효과 렌더링 모듈(276)은, 프로세서(242)에 의해 실행될 때, 프로세서(242)로 하여금 햅틱 가능 장치(200) 상에 햅틱 효과들을 렌더링하게 하는 명령어들을 포함한다. 적어도 일부 실시예에서, 햅틱 효과 렌더링 모듈(276)은, 햅틱 데이터 또는 햅틱 효과 렌더링 모델을 생성하고, 이는 액추에이터 구동 회로(254)가 액추에이터 구동 신호를 생성하기 위해 사용하는 햅틱 데이터 파라미터들을 정의한다. 예시적인 실시예들에서, 이러한 햅틱 데이터 파라미터들은 주파수, 진폭, 위상, 반전, 지속 시간, 파형, 동작개시 시간, 상승 시간, 페이드 시간 및 이벤트에 대한 래그 또는 리드 시간과 같은 햅틱 구동 신호의 특성과 관련되거나 이와 연관된다. 액추에이터 구동 신호는 액추에이터(256)에 인가되어 하나 이상의 햅틱 효과를 유발한다.
액추에이터 드라이브 모듈(278)은, 프로세서(242)에 의해 실행될 때, 프로세서(242)로 하여금 액추에이터 드라이브 회로(254)에 대한 제어 신호들을 생성하게 하는 명령어들을 포함한다. 액추에이터 드라이브 모듈(278)은 또한, 액추에이터(256)로부터 피드백을 결정하고 그에 따라 제어 신호들을 조정할 수 있다. 예를 들어, 액추에이터 구동 모듈(278)은 액추에이터(예를 들어, LRA)의 이동 질량으로부터 위치 또는 속도 정보를 수신할 수 있고 그에 따라 피드백이 조정될 수 있다. 이 예에서, 이동 질량의 속도는 원하는 속도 또는 원하는 햅틱 효과를 달성하기 위해 증가되거나 감소될 수 있다.
통신 모듈(280)은 장치(200)와 원격 디바이스들 사이의 통신을 용이하게 한다. 원격 디바이스의 예들은 컴퓨팅 디바이스, 센서, 액추에이터, 라우터 및 핫 스팟과 같은 네트워킹 장비, 차량, 운동 장비 및 스마트 기기를 포함한다. 컴퓨팅 디바이스의 예들은 서버, 데스크탑 컴퓨터, 랩톱 컴퓨터, 태블릿, 스마트 폰, 홈 오토메이션 컴퓨터 및 컨트롤러, 및 프로그래밍 가능한 임의의 기타 디바이스를 포함한다. 통신은 무선 또는 유선 신호, 또는 데이터 경로들을 통한 통신을 포함하여 데이터 통신에 적절한 임의의 형태를 취할 수 있다. 다양한 실시예들에서, 통신 모듈은, 시스템 또는 다른 원격 디바이스들의 중앙 집중식 컨트롤러로서, 다른 컴퓨팅 디바이스들 또는 다른 원격 디바이스들과 통신하는 피어(peer)로서, 또는 컨트롤러가 일부 상황에서는 중앙 집중식 컨트롤러로서 동작하고 다른 상황에서는 피어로서 동작하도록 하는 하이브리드 중앙 집중식 컨트롤러 및 피어로서, 장치(200)를 구성할 수 있다.
프로그램 모듈들의 대안적인 실시예들이 가능하다. 예를 들어, 일부 대안적인 실시예들은 도 3에 도시된 모듈들보다 더 많거나 더 적은 프로그램 모듈들을 가질 수 있다. 일부 가능한 실시예들에서, 하나 이상의 프로그램 모듈은 원격 컴퓨팅 디바이스 또는 다른 착용 가능한 물품들과 같은 원격 디바이스에 존재한다.
일부 실시예에서, 도 1에 도시된 바와 같은 햅틱 신호 변환 시스템(100)은 도 3을 참조하여 설명된 바와 같은 햅틱 가능 장치(200)의 요소들, 디바이스들 및 컴포넌트들 중 하나 이상을 포함할 수 있다. 예를 들어, 햅틱 신호 변환 시스템(100)은 프로세서(242), 모듈들(272, 274, 276, 278 및 280) 중 적어도 하나를 포함하는 메모리(246), 모니터링 디바이스(252), 액추에이터 구동 회로(254) 및 액추에이터(256)를 포함할 수 있다. 다른 예들에서, 햅틱 신호 변환 시스템(100)은 도 3에 도시된 것보다 더 많거나 더 적은 요소들, 디바이스들 및 컴포넌트들을 포함할 수 있다.
다른 실시예들에서, 햅틱 신호 변환 시스템(100)은 햅틱 가능 장치(200)와는 별도로 구성될 수 있다. 예를 들어, 햅틱 신호 변환 시스템(100)은 네트워크를 통해 햅틱 가능 장치(200)와 통신하는 서버 컴퓨팅 디바이스의 일부로서 구성된다.
도 4는 본 개시의 예시적인 실시예에 따른 햅틱 신호 변환 시스템(100)의 아키텍처도를 도시한다.
햅틱 신호 변환 시스템(100)은 햅틱 변환 모듈(330)을 포함한다. 일부 실시예에서, 햅틱 변환 모듈(330)은 도 3에 도시된 바와 같은 햅틱 신호 변환 모듈(274)을 적어도 부분적으로 구현하거나, 이에 의해 구현된다. 도시된 예시적인 실시예에서, 햅틱 변환 모듈(330)은 다운 샘플링 모듈(331), 엔벨로프 생성 모듈(332) 및 파싱 모듈(333)을 포함한다. 대안적인 실시예들에서, 햅틱 변환 모듈(330)은 다른 서브 모듈들을 포함할 수 있거나, 햅틱 변환 모듈(330)은 단일 모듈일 수 있다.
일부 실시예에서, 햅틱 신호 변환 시스템(100)은 또한, 햅틱 효과 플레이어 모듈(340) 및 액추에이터(350)를 포함한다. 햅틱 효과 플레이어 모듈(340)은, 도 3에 도시된 바와 같은 햅틱 효과 렌더링 모듈(276), 액추에이터 구동 모듈(278), 및/또는 액추에이터 구동 회로(254)를 적어도 부분적으로 구현하거나, 이에 의해 구현될 수 있다. 일부 실시예에서, 햅틱 효과 플레이어 모듈(340)은 디바이스(예를 들어, 모바일 디바이스) 내에 내장되고 하나 이상의 햅틱 신호를 액추에이터로 전송함으로써 액추에이터에서 하나 이상의 햅틱 효과를 재생하도록 구성되는 모듈이다. 햅틱 효과 플레이어 모듈(340)의 예들은 임머숀 사(Immersion Corporation)에 의한 TouchSense® 플레이어 모듈, Oculus® Touch 및 HTC Vive® 컨트롤러를 포함한다.
액추에이터(350)는 하나 이상의 햅틱 신호를 수신하도록 구성되고 하나 이상의 햅틱 효과를 출력하도록 구성되는 액추에이터이다. 일부 실시예에서, 액추에이터(350)는 도 3에 도시된 바와 같은 액추에이터(256) 및/또는 액추에이터 구동 회로(254)를 적어도 부분적으로 구현하거나, 이에 의해 구현된다. 특정 실시예들에서, 액추에이터(350)는 파형을 수신하도록 구성되는 액추에이터이고, 여기서 파형은 액추에이터를 통해 재생될 때 파형 효과의 크기 및 정밀도를 제어하기 위해 사용된다. 액추에이터(350)는, 예를 들어, 압전 액추에이터, 고 대역폭 액추에이터 또는 EAP 액추에이터일 수 있다.
실시예에 따르면, 다운 샘플링 모듈(331)은 신호를 다운 샘플링하도록(즉, 신호의 샘플 속도(sample rate)를 낮추는 결과로) 구성된다. 다운 샘플링이라는 용어는, 적어도 하나의 정보-보유(information-bearing) 반송파 신호를 기저 대역 신호와 같은 적어도 하나의 저주파 신호로 변환하는 임의의 유형의 디바이스, 시스템 및/또는 알고리즘을 지칭할 수 있다. 다운 샘플링은 임의의 유형의 복조 방법을 지칭할 수 있다. 다운 컨버터는 엔벨로프 검출기, 샘플러, 언더 샘플러(under sampler), 필터(예를 들어, 정합 필터, 저역 통과 필터 및/또는 위신호 제거 필터(anti-aliasing filter)), 믹서, 또는 적어도 하나의 반송파 신호로부터 정보 신호를 추출하는 임의의 다른 유형의 디바이스, 시스템 또는 알고리즘을 포함할 수 있다. 다운 샘플러는 적분기, 결정 시스템, 피드백 시스템, 디코더, 상관기, 지연기, 시스템, 이퀄라이저, 필터, 마이크로프로세서, 타이머, 국부 발진기, 펄스 형성기 및 정류기를 포함하는 하나 이상의 신호-처리 디바이스 및/또는 알고리즘을 포함할 수 있다.
대안적인 실시예들에서, 신호는 업 샘플링될 수 있다. 업 샘플링은 임의의 유형의 복조 방법을 지칭할 수 있다. 업 컨버터는 엔벨로프 검출기, 샘플러, 언더 샘플러, 필터(예를 들어, 정합 필터, 저역 통과 필터 및/또는 위신호 제거 필터), 믹서 또는 적어도 하나의 반송파 신호로부터 정보 신호를 추출하는 임의의 다른 유형의 디바이스, 시스템 또는 알고리즘을 포함할 수 있다. 업 샘플러는 적분기, 결정 시스템, 피드백 시스템, 디코더, 상관기, 지연기, 시스템, 이퀄라이저, 필터, 마이크로프로세서, 타이머, 국부 발진기, 펄스 형성기 및 정류기를 포함하는 하나 이상의 신호 처리 디바이스 및/또는 알고리즘을 포함할 수 있다.
특정 대안적인 실시예들에서, 이어지는 프레임들이 동일한 주파수 성분을 갖는 경우: 비처리된 프레임의 크기가 재생될 수 있거나; 처리된 프레임의 크기가 재생될 수 있거나; 프레임이 동일한 주파수 성분을 갖는 한, 일정한 진동, 아마도 작은 진동이 재생될 수 있거나; 크기는 주파수 대역에서의 전력 성분에 기초하여 가변될 수 있다. 특정 대안적인 실시예들에서, 상이한 주파수 성분을 갖는 프레임이 발견될 때 상이한 햅틱 효과가 재생될 수 있다.
또한, 진동 및/또는 운동 감각 힘 피드백의 촉각 인식뿐만 아니라, 인간의 사운드 인식은 선형적이지 않으며 주파수에 의존할 수 있다. 오디오 및 햅틱 효과들의 인식은 상이한 규모의 크기로 발생하고, 인식 차가 있다. 예를 들어, 방향성 힘의 변화는, 일정한 불변하는 힘보다 더 인식가능하다. 또한, 인간은 고주파보다 저주파에 더 민감하다. 성별과 나이도 인식에 영향을 미친다. 따라서, 특정 실시예들에서, 예를 들어, 햅틱 신호의 변환 동안 특정 주파수들을 부스팅시키는 보상 인자(compensation factor)가 있을 수 있다. 부스팅 인자는 일부 주파수 대역들이 수동으로 강화되는 인간의 인식 또는 사용자들의 균등한 선호도에 기초할 수 있다. 일부 구성들에서, 햅틱 신호는 가청 범위를 회피하기 위해(또는 덜 들리게 하기 위해) 주파수-편이될 수 있다. 여기서, 가청 노이즈를 줄이면서 햅틱 성분을 보존하기 위해 주파수들이 부스팅되기 보다는 필터링될 수 있다. 소프트웨어는 일반적으로 사용자들이 사운드에 대해 저감도를 갖는 것으로 알려진 고주파 성분을 강화시킬 수 있다. 이를 통해, 특정 대역에 대한 햅틱 효과가 더 큰 강도가 될 수 있으므로, 사용자의 청각계에 의해 인지되고 인식되는 동안, 충분한 전력을 갖지 않을 수 있는 사운드가 강화된다. 다른 예에서, 알고리즘적으로 검출될 수 있지만 인간이 인지하기에 매우 어려운 사운드를 사용하여 오디오 자체를 변경하지 않고 이벤트를 더 인식가능하게 렌더링하기 위해 해당 사운드를 강조하도록 햅틱 효과가 생성된다.
특정 실시예들에 따르면, 오디오 신호의 엔벨로프는 엔벨로프 생성 모듈(332)에 의해 생성된다. 엔벨로프는 원래 오디오 신호의 모든 주파수, 또는 원래 오디오 신호의 필터링된 버전을 사용하여 추출될 수 있다. 그러나, 엔벨로프 자체는 원래 오디오 신호와 동일한 주파수 성분을 갖지 않는다.
데이터 파싱 모듈(333)은 인터페이스로부터 전송된 데이터를 복수의 데이터 세그먼트로 파싱하는 기능을 한다. 일 실시예에서, 햅틱 변환 모듈(330)은 액추에이터(350)로 전달되기에는 너무 긴 신호를 수신한다. 그런 다음, 신호는 파싱 모듈(333)에 의해 파싱되거나 더 작은 신호 세그먼트로 분할된다. 신호의 파싱 방법에 관한 세부사항들이 하기에 더 상세히 설명된다.
도 5는 본 개시의 예시적인 실시예에 따라 햅틱 효과를 생성하기 위한 방법(400)을 도시하는 흐름도이다. 일부 실시예에서, 방법(400)은 햅틱 신호 변환 시스템(100)에 의해 적어도 부분적으로 수행된다. 방법(400)은 본 명세서에 설명된 다양한 실시예들 또는 실시예들의 조합 중 임의의 것과 함께 활용될 수 있다.
방법(400)은 햅틱 신호 변환 시스템(100)이 임의의 신호와 같은 소스 신호(102)를 수신하는 동작 402에서 시작한다. 예를 들어, 임의의 신호는 설계자에 의해 생성된 원하는 햅틱 파형을 포함할 수 있다. 동작 404에서, 햅틱 신호 변환 시스템(100)은 소스 신호(102)에 대응하는 햅틱 효과를 결정하도록 동작하고 햅틱 효과를 전달하기 위한 명령어를 발행한다. 일부 실시예에서, 햅틱 효과는 메모리에 저장되고 결정을 위해 검색될 수 있다. 동작 406에서, 햅틱 신호 변환 시스템(100)은 (햅틱 효과를 갖는) 소스 신호(102)를 햅틱 디바이스의 아키텍처로 변환하도록 동작한다. 동작 408에서, 햅틱 신호 변환 시스템(100)은 햅틱 디바이스를 작동시킴으로써 햅틱 효과를 전달하도록 동작한다.
도 6은 본 개시의 예시적인 실시예에 따라 소스 신호(102)로부터 햅틱 효과를 생성하기 위한 다른 방법(450)을 도시하는 흐름도이다. 일부 실시예에서, 방법(450)은 햅틱 신호 변환 시스템(100)(도 1)에 의해 적어도 부분적으로 수행된다. 다른 실시예들에서, 방법(450)은 프로세서 시스템(110)(도 2), 인터페이스 디바이스(180)(도 2), 및/또는 햅틱 가능 장치(200)(도 3)에 의해 적어도 부분적으로 수행되고, 이는 햅틱 신호 변환 시스템(100)을 적어도 부분적으로 구현할 수 있다. 방법(450)은 본 명세서에 설명된 다양한 실시예들 중 임의의 것 또는 실시예들의 조합과 함께 활용될 수 있다.
동작 452에서, 방법(450)이 소스 신호(102)(예를 들어, 임의의 신호)를 수신하도록 수행된다. 일부 실시예에서, 햅틱 신호 변환 시스템(100)이 소스 신호(102)를 수신한다. 동작 454에서, 방법(450)은 햅틱 신호 변환 시스템(100)을 사용하여 디바이스-특정 햅틱 신호(104)(도 1에 도시된 바와 같음)를 생성한다. 햅틱 신호 변환 시스템(100)을 사용하여 동작 454을 수행하기 위한 예시적인 방법들이, 예를 들어, 도 7 내지 도 14를 참조하여 본 명세서에서 더 상세히 설명된다.
일부 실시예에서, 디바이스-특정 햅틱 신호(104)는 사전 결정된 기간마다 다수의 이산 값(discrete values)을 포함한다. 예를 들어, 소스 신호(102)에 기초하여 햅틱 효과를 생성하는 햅틱 디바이스의 애플리케이션 프로그램 인터페이스(API)가 255 바이트 길이의 최대 버퍼로 3.125 밀리초 이격을 갖는 0에서 255 사이의 크기의 배열을 가지는 경우, 디바이스-특정 햅틱 신호(104)는 18.75 밀리초마다 6개의 값을 전송하도록 구성된다. 디바이스-특정 햅틱 신호(104)의 다른 구성들도 가능하다. 다른 실시예들에서, 디바이스-특정 햅틱 신호(104)는 아날로그 신호를 포함한다.
동작 456에서, 방법(450)은, 햅틱 디바이스의 API를 호출하여 햅틱 디바이스에 액세스하여 디바이스-특정 햅틱 신호(104)에 기초하는 햅틱 효과를 생성하도록, 수행된다. 일부 실시예에서, 디바이스-특정 햅틱 신호(104)의 값들은 버퍼링될 수 있다. 동작 458에서, 방법(450)은 디바이스-특정 햅틱 신호(104)를 햅틱 디바이스에 송신하도록 수행된다. 위의 예에서, 디바이스-특정 햅틱 신호(104)는 버퍼 값과 동일한 펄스 높이를 갖는 1 밀리초 단방향 펄스 트레인과 같은 펄스 트레인으로 3.125 밀리초에 햅틱 디바이스로 송신된다. 예를 들어, 신호는 비선형 0 내지 2.7 볼트일 수 있다.
동작 460에서, 디바이스-특정 햅틱 신호(104)는 다양한 구성으로 수정될 수 있다. 일부 실시예에서, 디바이스-특정 햅틱 신호(104)가 증폭될 수 있다. 예를 들어, 디바이스-특정 햅틱 신호(104)는 저역 통과 필터를 이용하여 수정될 수 있다. 동작 462에서, 방법(450)은 햅틱 디바이스(예를 들어, 그 내부의 액추에이터)를 작동시켜 디바이스-특정 햅틱 신호(104)에 기초하는 햅틱 효과를 생성하도록 수행된다. 액추에이터를 작동시키기 위한 예시적인 방법들이 예를 들어, 도 1 내지 4를 참조하여 본 명세서에 설명된다. 예로서, 액추에이터가 선형 공진 액추에이터(LRA)와 같은 공진 액추에이터를 포함하는 경우, 햅틱 디바이스의 액추에이터는 160Hz 및 320Hz와 같은 2가지 모드로부터의 가속을 이용하여 작동될 수 있다.
도 7은 본 개시의 예시적인 실시예에 따라 햅틱 신호 변환 시스템(100)을 동작시키기 위한 방법(500)을 도시하는 흐름도이다. 일부 실시예에서, 방법(500)은 도 6의 동작 454을 적어도 부분적으로 구현하기 위해 사용된다. 이 예에서, 햅틱 신호 변환 시스템(100)은 디바이스-특정 햅틱 신호(104)를 나타낼 수 있는 신호 값들의 버퍼를 생성한다.
동작 502에서, 햅틱 신호 변환 시스템(100)은 햅틱 디바이스(예를 들어, 인터페이스 디바이스(180) 또는 햅틱 가능 장치(200))에 렌더링될 소스 신호(102)(예를 들어, 임의의 신호)를 수신하도록 동작한다. 동작 504에서, 햅틱 신호 변환 시스템(100)은 하나 이상의 사전 결정된 기능을 수신하거나 검색하도록 동작한다. 일부 실시예에서, 사전 결정된 기능들은 햅틱 신호 변환 시스템(100) 및/또는 하나 이상의 다른 컴퓨팅 디바이스의 메모리에 저장될 수 있다. 이러한 기능들은 타임라인, 애니메이션 또는 기타 유사한 위치들에 배치될 수 있는 전기적 특성을 포함한다. 기능들의 일례는, 예를 들어, 크기, 빈도, 동작개시 시간, 감쇠 시간 및/또는 제어점들을 갖는 임의의 엔벨로프에 관한 주기적 기능을 포함한다. 기능들의 다른 예는 상이한 주파수들의 조합과 같은 혼합된 주기적 기능을 포함한다.
동작 506에서, 햅틱 신호 변환 시스템(100)은 소스 신호(102)에 기초하여 신호 값들의 버퍼를 생성하도록 동작한다. 신호 값들의 버퍼는 도 1에 도시된 바와 같은 디바이스-특정 햅틱 신호(104)를 포함하거나 이에 의해 표현될 수 있다. 신호 값들의 버퍼는 소스 신호(102)를 분석하고 매핑함으로써 결정될 수 있다. 일부 실시예에서, 신호 값들의 버퍼는 사전 결정된 후속 기간 동안 사전 결정된 수의 값들을 포함한다. 위의 예에서, 신호 값들의 버퍼는 다음에 사전 결정된 시간 분량 동안 햅틱 효과를 생성하도록 후속적으로 사용될 6개의 값을 포함한다. 2개 내지 12개의 샘플 범위와 같이, 다른 수의 값들도 가능하다. 각각의 버퍼의 값들의 수는 햅틱 디바이스(예를 들어, 그 내부의 액추에이터)의 능력에 의존할 수 있다. 소스 신호(102)로부터 신호 값들의 버퍼를 생성하기 위한 예시적인 방법들이, 예를 들어, 도 8 및 도 9을 참조하여 본 명세서에 더 상세히 설명된다. 다른 실시예들에서, 기본 기능들은 또한, 신호 값들의 버퍼를 생성하기 위해 사용될 수 있다.
동작 508에서, 햅틱 신호 변환 시스템(100)은 값들의 버퍼(예를 들어, 디바이스-특정 햅틱 신호(104))를 대응하는 햅틱 디바이스에 송신하도록 동작하여, 햅틱 디바이스가 값들의 버퍼에 기초하여 햅틱 효과를 렌더링한다. 예를 들어, 값들의 버퍼는, 햅틱 디바이스의 액추에이터에 인가되어 설계된 햅틱 효과를 유발하는 액추에이터 구동 신호를 생성하기 위해 사용된다.
도 8은 본 개시의 예시적인 실시예에 따라 소스 신호(102)를 햅틱 디바이스의 특정 아키텍처로 변환하기 위한 방법(510)의 흐름도이다. 일부 실시예에서, 방법(510)은 도 7에 설명된 바와 같이 신호 값들의 버퍼를 생성한다. 방법(510)은 소스 신호(102)의 주파수를 햅틱 액추에이터(108)(도 1)의 주파수와 일치시킴으로써 소스 신호(102)로부터 적어도 부분적으로 신호 값들의 버퍼(예를 들어, 디바이스-특정 햅틱 신호(104))를 생성하도록 구성된다.
동작 512에서, 햅틱 신호 변환 시스템(100)은 소스 신호(102)(예를 들어, 임의의 신호)를 수신한다. 동작 514에서, 햅틱 신호 변환 시스템(100)은 소스 신호(102)를 다운 샘플링하도록 동작한다. 다양한 방법들이 소스 신호(102)를 다운 샘플링하는 데에 이용될 수 있다. 예를 들어, 최대 값들이 다운 샘플링하는 데에 사용될 수 있다. 다른 예들에서, 평균값들이 다운 샘플링하는 데에 사용될 수 있다.
동작 516에서, 햅틱 신호 변환 시스템(100)은 다운 샘플링된 소스 신호(102)를 파싱된 세그먼트로 처리하도록 동작한다. 일부 실시예에서, 신호의 세그먼트들은 크기가 사전 결정될 수 있다. 예를 들어, 세그먼트들의 크기는 동일하게 사전 설정되어, 신호가 사전 결정된 크기의 세그먼트로 파싱된다. 다른 실시예들에서, 세그먼트들의 크기는 자동으로 결정된다. 신호를 파싱하는 예는, 예를 들어, 도 11을 참조하여 본 명세서에 더 상세히 도시되고 설명된다.
동작 518에서, 햅틱 신호 변환 시스템(100)은 소스 신호(102)의 주요 주파수(principal frequency)(예를 들어, 최고 또는 다른 피크 크기를 갖는 주파수)를 결정하도록 동작한다. 동작 520에서, 햅틱 신호 변환 시스템(100)은 소스 신호(102)로부터 엔벨로프 신호를 결정하도록 동작한다.
동작 522에서, 햅틱 신호 변환 시스템(100)은 값들의 버퍼를 생성하도록 동작한다. 일부 실시예에서, 값들의 버퍼는 선택된 세그먼트의 엔벨로프에 따른 크기로 주요 주파수에서 생성될 수 있다. 세그먼트가 긴 경우, 세그먼트는 서브-세그먼트로 분할될 수 있고, 서브-세그먼트들의 각각은 유사하게 분석될 수 있다. 값들의 버퍼는 다른 실시예들에서 상이하게 생성될 수 있다.
도 9는 본 개시의 예시적인 실시예에 따라 소스 신호(102)를 햅틱 디바이스의 특정 아키텍처로 변환하기 위한 다른 방법(600)의 흐름도이다. 일부 실시예에서, 방법(600)은 도 7에 설명된 바와 같은 신호 값들의 버퍼를 생성하기 위해 사용될 수 있다. 방법(600)은 소스 신호(102)로부터 적어도 부분적으로 신호 값들의 버퍼(예를 들어, 디바이스-특정 햅틱 신호(104))를 생성하고 고정된 주파수를 갖는 반송파 신호로 버퍼를 전송하도록 구성된다. 일부 실시예에서, 방법(600)은 햅틱 액추에이터의 능력에 의존하는 반송파 주파수를 선택하는 것을 포함한다.
동작 602에서, 햅틱 신호 변환 시스템(100)은 소스 신호(102)(예를 들어, 임의의 신호)를 수신한다. 동작 604에서, 햅틱 신호 변환 시스템(100)은 소스 신호(102)를 다운 샘플링하도록 동작한다. 다양한 방법들이 소스 신호(102)를 다운 샘플링하는 데에 이용될 수 있다. 예를 들어, 최대 값들이 다운 샘플링하는 데에 사용될 수 있다. 다른 예들에서, 평균값들이 다운 샘플링하는 데에 사용될 수 있다.
동작 606에서, 햅틱 신호 변환 시스템(100)은 다운 샘플링된 소스 신호(102)로 변조될 반송파 신호에 대한 반송파 주파수(예를 들어, 펄스 트레인 주파수)를 선택하도록 동작한다. 다양한 주파수들이 반송파 주파수용으로 사용될 수 있다. 일부 실시예에서, 160Hz 및 320Hz와 같은 2개의 상이한 주파수가 사용되고, 이들 중 하나는 하나 이상의 기준에 기초하여 반송파 주파수용으로 선택된다. 예를 들어, 반송파 주파수는 소스 신호(102)에 기초하여 햅틱 효과를 생성하는 햅틱 액추에이터의 주파수 한계(frequency limit)에 기초하여 선택된다. 반송파 주파수를 선택하는 예는, 예를 들어, 도 10을 참조하여 본 명세서에 더 상세히 설명된다.
동작 608에서, 햅틱 신호 변환 시스템(100)은 소스 신호(102)로부터 엔벨로프 신호를 결정하도록 동작한다. 동작 610에서, 햅틱 신호 변환 시스템(100)은 값들의 버퍼를 생성하도록 동작한다. 일부 실시예에서, 값들의 버퍼는 엔벨로프 신호에 따라 크기를 갖도록 생성된다. 예를 들어, 크기는 각각의 시간 단계에 대한 펄스 폭에 매핑된다. 일부 실시예에서, 크기는 반송파 주파수의 절반을 초과하지 않도록 구성된다. 값들의 버퍼는 반송파 주파수로 전송된다. 일부 실시예에서, 값들의 버퍼는 항상 반송파 주파수를 유지한다.
도 10은 본 개시의 예시적인 실시예에 따라 도 9의 반송파 주파수를 선택하는 방법(630)의 흐름도이다. 이 예에서, 방법(630)은 햅틱 액추에이터의 능력에 기초하여 반송파 주파수를 선택하기 위해 사용된다. 다양한 유형의 신호들이 반송파 신호용으로 사용될 수 있다. 일부 실시예에서, 펄스 트레인이 반송파 신호용으로 사용된다. 다른 실시예들에서, 다른 파형들이 반송파 신호용으로 사용될 수 있다.
동작 632에서, 햅틱 신호 변환 시스템(100)은 햅틱 효과를 생성하도록 구성되는 햅틱 액추에이터(108)의 주파수 한계를 식별하도록 동작한다. 동작 634에서, 햅틱 신호 변환 시스템(100)은 소스 신호(102)의 주파수(또는 그 다운 샘플링된 신호)가 햅틱 액추에이터(108)의 주파수 한계보다 큰지를 결정하도록 동작한다. 소스 신호(102)의 주파수(또는 그 다운 샘플링된 신호)가 햅틱 액추에이터(108)의 주파수 한계보다 크면(이 동작에서 "예"), 방법(630)은 반송파 주파수(예를 들어, 펄스 트레인)가 제1 주파수로 설정되는 동작 636으로 이동한다. 그렇지 않으면(이 동작에서 "아니오"), 방법(630)은 반송파 주파수(예를 들어, 펄스 트레인)가 제2 주파수로 설정되는 동작 638으로 계속된다. 예로서, 제1 주파수 및 제2 주파수는 160Hz 및 320Hz로부터 선택된다. 햅틱 액추에이터의 주파수 한계에 따라 펄스 트레인이 160Hz 또는 320Hz로 설정된다. 햅틱 액추에이터의 능력에 따라 다른 반송파 주파수들도 구상된다.
일부 응용에서, 하나의 햅틱 출력 디바이스(예를 들어, 액추에이터)는 설계자 또는 프로그래머에 의해 지정된 정확한 주파수(예를 들어, 변조되는 반송파 주파수)에서 공진할 수 있고, 이는 HD 액추에이터로 지칭될 수 있다. 다른 디바이스(예를 들어, 비-HD 또는 SD 액추에이터)는 일련의 펄스들(즉, 펄스 트레인)을 실행하도록 구성될 수 있다. 펄싱 속도는 사용자에게 주파수 인식을 제공한다.
설계 도구는 해당 효과의 인지된 주파수와는 별도의 주기적 펄싱을 노출시킬 수 있다. 이를 해결하는 방법은 펄스들을 고주파 피치 데이터 또는 고주파 펄스 트레인으로 채워서 피치를 모의(simulate)하는 것이다. 디바이스 특성 데이터와 결합된 알고리즘은 고주파 채우기 사용 여부를 결정하거나 펄스 트레인으로 피치를 모의하도록 구성된다.
대부분의 디바이스들은 특정 이산 주파수들을 달성하도록 구성된다. 이는 하드웨어 기능, 펌웨어 및/또는 소프트웨어에 의존할 수 있다. 본 개시의 예시적인 실시예들에 따른 설계 도구는 달성 가능한 주파수들을 설계자에게 노출시킨다.
도 11은 본 개시의 예시적인 실시예에 따라 소스 신호(102)를 파싱하거나 분할하는 방법(700)을 도시한다. 일부 실시예에서, 햅틱 신호 변환 시스템(100)은 소스 신호(102)를 복수의 세그먼트(712)(712A, 712B 및 712C를 포함함)로 분할하도록 동작한다. 일부 실시예에서, 블랭크(blank) 신호들(714)(714A, 714B 및 714C를 포함함)(더미 데이터로도 지칭됨)이 세그먼트들(712) 사이에 삽입되어 원하는 주파수를 갖는 신호를 생성한다. 햅틱 신호 변환 시스템(100)은, 고정된 버퍼 크기가 생성될 때까지, 블랭크 신호가 삽입되거나 삽입되지 않고 신호 세그먼트들을 계속해서 수집할 수 있다.
도 12는 본 개시의 예시적인 실시예에 따라 디지털 신호에 기초하여 생성되는 햅틱 효과의 크기의 계산(800)을 도시한다. 도 12에서, 소스 신호(810)는 44.1kHz로 샘플링되고, 최대 값(820)은 20ms 프레임 길이에 대해 계산되고, 펄스들(830)은 크기 필터링에 의해 획득된다. 실시예에 따르면, 펄스들(830)은 소스 신호(102)의 엔벨로프를 포착하므로, 펄스들(830)은 이 정보를 하나 이상의 햅틱 효과를 통해 사용자에게 전달하도록 구성된다.
도 13은 본 개시의 예시적인 실시예에 따른 소스 신호의 엔벨로프의 계산(900)을 도시한다. 도 13에서, 소스 신호(102)는 오디오 신호이다. 소스 신호(102)의 엔벨로프(920)는 소스 신호(102)의 절대 값을 저역 통과 필터링함으로써 획득될 수 있다. 다른 엔벨로프(930)는, 이 경우, 20ms의 특정 프레임에 걸쳐 절대 값의 최대 값을 계산함으로써 획득될 수 있다.
특정 지속 기간(예를 들어, 밀리초 지속 기간)의 각각의 프레임은 주파수 영역에서 처리된다. 따라서, 특정 실시예들에서, 프레임의 고속 푸리에 변환(fast Fourier transformation)(FFT)은 주파수 성분을 추출하기 위해 사용될 수 있다. 다른 실시예들에서, 대역 통과 필터들이 주파수 성분을 추출하는 데에 사용될 수 있다.
도 14는 본 개시의 예시적인 실시예에 따라 주파수 성분에 기초한 소스 신호의 엔벨로프의 계산(1000)을 도시한다. 실시예에 따라, 일단 신호 데이터 프레임(예를 들어, 오디오 데이터 프레임)이 앞서 설명한 바와 같이 처리되면, 최대 값이 획득된다. 사실상, 3개의 최대 값, 저주파 대역들 중 하나, 중간 주파수 대역들 중 하나, 고주파 대역들 중 하나가 획득된다.
도 14에 도시된 바와 같이, 그래프(1040)는 전체 소스 신호(102)에 기초할 수 있는 처리되지 않은 최대 값을 나타낸다. 그래프(1050)는 소스 신호(102)의 저주파 범위에 대응하는 최대 값을 나타낸다. 그래프(1060)는 소스 신호(102)의 중간 주파수 범위에 대응하는 최대 값을 나타낸다. 그래프(1070)는 소스 신호(102)의 고주파 범위에 대응하는 최대 값을 나타낸다.
실시예에 따르면, 신호가 처리되기 시작할 때, 저주파 대역(예를 들어, 그래프(1050)) 및 고주파 대역(예를 들어, 그래프 1070)의 주파수 값보다 큰 최대 값이 획득되어 주어지면, 제1 프레임은 더 많은 중간 주파수 성분(예를 들어, 그래프(1060))을 포함한다.
실시예에 따르면, 햅틱 효과는 프레임의 주파수 성분이 이전 프레임의 주파수 성분과 상이할 때 재생될 수 있다. 도 14에 도시된 바와 같이, 햅틱 효과는 화살표들(1020, 1022, 1024, 1026, 1028, 1030, 및 1032)에 의해 시그널링된 위치들에서 재생된다. 예를 들어, 프레임과 후속 프레임이 동일한 주파수 성분을 갖는 경우: 비처리된 프레임의 크기가 재생될 수 있거나; 처리된 프레임의 크기가 재생될 수 있거나; 프레임이 동일한 주파수 성분을 갖는 한, 일정한, 아마도 작은 진동이 재생될 수 있거나; 크기는 주파수 대역에서의 전력 성분에 기초하여 가변될 수 있다. 대안적으로, 프레임과 후속 프레임이 상이한 주파수 성분을 갖는 경우, 상이한 햅틱 효과가 재생될 수 있다.
위에서 설명된 다양한 예들 및 교시들은 예시만으로 제공되고, 본 개시의 범위를 한정하는 것으로 해석되어서는 안 된다. 본 기술분야의 통상의 기술자는 본 명세서에 도시되고 설명된 예들 및 애플리케이션들에 따르지 않고 본 개시의 진정한 정신 및 범위를 벗어나지 않고 이루어질 수 있는 다양한 수정들 및 변경들을 쉽사리 인식할 것이다.

Claims (20)

  1. 햅틱 출력 디바이스를 사용하여 햅틱 효과를 생성하기 위한 방법으로서,
    외부 소스로부터 신호를 수신하는 단계 - 상기 신호는 상기 햅틱 출력 디바이스에 대해 구성되어 있지 않음 -;
    신호 버퍼를 생성하도록 상기 신호를 처리하는 단계;
    상기 신호 버퍼에 기초하여 상기 햅틱 출력 디바이스와 호환되는 햅틱 신호를 생성하는 단계; 및
    상기 햅틱 신호를 햅틱 출력 디바이스에 인가하고, 이로써 햅틱 효과를 제공하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 신호를 파싱된(parsed) 세그먼트들로 처리하는 단계; 및
    상기 파싱된 세그먼트들 중 적어도 하나에 대한 상기 신호 버퍼를 생성하는 단계를 더 포함하는, 방법.
  3. 제2항에 있어서,
    상기 신호의 주요 주파수(principal frequency)를 결정하는 단계를 더 포함하는, 방법.
  4. 제2항에 있어서,
    상기 신호의 엔벨로프(envelope)를 결정하는 단계를 더 포함하는, 방법.
  5. 제2항에 있어서,
    상기 신호의 주요 주파수를 결정하는 단계; 및
    상기 신호의 엔벨로프를 결정하는 단계를 더 포함하고,
    상기 신호 버퍼는 상기 신호의 파싱된 세그먼트들 중 적어도 하나의 엔벨로프에 따른 크기로 상기 주요 주파수에서 생성되는, 방법.
  6. 제1항에 있어서,
    반송파 주파수(carrier frequency)를 선택하는 단계; 및
    상기 신호의 엔벨로프를 결정하는 단계를 더 포함하고,
    상기 신호 버퍼는 상기 신호의 엔벨로프에 따른 크기를 갖도록 생성되고 상기 반송파 주파수로 전송되는, 방법.
  7. 제6항에 있어서,
    반송파 주파수를 선택하는 단계는:
    상기 햅틱 출력 디바이스의 주파수 한계(frequency limit)를 식별하는 단계;
    상기 신호의 주파수가 상기 주파수 한계보다 큰지를 결정하는 단계; 및
    상기 결정에 기초하여 반송파 주파수를 선택하는 단계를 포함하는, 방법.
  8. 제6항에 있어서,
    상기 반송파 주파수는 160Hz 및 320Hz로부터 선택되는, 방법.
  9. 제1항에 있어서,
    신호를 다운 샘플링하는 단계를 더 포함하는, 방법.
  10. 제1항에 있어서,
    상기 신호는 오디오 신호, 비디오 신호, 가속 신호 또는 하나 이상의 센서에 의해 포착된 다른 신호들 중 적어도 하나를 포함하는, 방법.
  11. 햅틱 효과를 생성하기 위한 장치로서,
    액추에이터;
    상기 액추에이터를 작동시키도록 구성되는 액추에이터 구동 회로; 및
    상기 액추에이터 구동 회로에 연결된 처리 디바이스 - 상기 처리 디바이스는:
    외부 소스로부터 신호를 수신하고, 상기 신호는 상기 액추에이터에 대해 구성되어 있지 않고;
    상기 신호를 처리하여 신호 버퍼를 생성하고;
    상기 신호 버퍼에 기초하여 상기 액추에이터와 호환되는 햅틱 신호를 생성하고;
    상기 햅틱 신호를 상기 액추에이터 구동 회로에 전송하고, 상기 햅틱 신호는 상기 액추에이터 구동 회로로 하여금 상기 액추에이터를 제어할 수 있게 하여 햅틱 효과를 제공하도록 구성됨 -
    를 포함하는, 장치.
  12. 제11항에 있어서,
    상기 처리 디바이스는:
    상기 신호를 다운 샘플링하도록 더 구성되는, 장치.
  13. 제11항에 있어서,
    상기 처리 디바이스는:
    상기 신호를 파싱된 세그먼트들로 처리하고;
    상기 파싱된 세그먼트들 중 적어도 하나에 대한 상기 신호 버퍼를 생성하고;
    상기 신호의 주요 주파수를 결정하고;
    상기 신호의 엔벨로프를 결정하도록 더 구성되고,
    상기 신호 버퍼는 상기 신호의 파싱된 세그먼트들 중 적어도 하나의 엔벨로프에 따른 크기로 상기 주요 주파수에서 생성되는, 장치.
  14. 제11항에 있어서,
    상기 처리 디바이스는:
    반송파 주파수를 선택하고;
    상기 신호의 엔벨로프를 결정하도록 더 구성되고
    상기 신호 버퍼는 상기 신호의 엔벨로프에 따른 크기를 갖도록 생성되어 상기 반송파 주파수로 전송되는, 장치.
  15. 제14항에 있어서,
    반송파 주파수를 선택하는 것은:
    상기 액추에이터의 주파수 한계를 식별하고;
    상기 신호의 주파수가 상기 주파수 한계보다 큰지를 결정하고;
    상기 결정에 기초하여 반송파 주파수를 선택하는 것을 포함하는, 장치.
  16. 가상 현실 시스템(virtual reality system)으로서,
    고정된 신호 주파수를 갖는 것을 포함하는 햅틱 출력 디바이스, 및
    상기 햅틱 출력 디바이스에 결합된 프로세서 - 상기 프로세서는,
    신호 주파수를 갖는 외부 소스로부터 신호를 수신하고;
    상기 신호를 파싱된 세그먼트들로 처리하고, 상기 파싱된 세그먼트들은 상기 신호의 주기에 대응하여 출력 신호를 생성하고;
    상기 햅틱 출력 디바이스의 고정 주파수와 실질적으로 일치하도록 상기 신호 주파수를 압축하고,
    상기 파싱된 세그먼트들의 엔벨로프의 크기를 결정하고,
    상기 파싱된 세그먼트들의 크기를 상기 엔벨로프의 크기와 일치하도록 조정하여 조정된 파싱된 세그먼트를 생성하고,
    상기 조정된 파싱된 세그먼트들을 버퍼링하고,
    상기 조정된 파싱된 세그먼트에 기초하여 햅틱 신호를 생성하여 상기 햅틱 신호를 상기 햅틱 출력 디바이스로 전송하도록 구성됨 -
    를 포함하는, 가상 현실 시스템.
  17. 제16항에 있어서,
    상기 파싱된 세그먼트들은 상기 햅틱 출력 디바이스의 속도에 대응하는, 가상 현실 시스템.
  18. 제16항에 있어서,
    상기 신호 주파수는 주요 주파수인, 가상 현실 시스템.
  19. 제16항에 있어서,
    상기 주파수는 주요 주파수이고 상기 버퍼는 상기 신호의 파싱된 세그먼트의 엔벨로프 신호에 따른 크기로 상기 주요 주파수에서 생성되는, 가상 현실 시스템.
  20. 제16항에 있어서,
    상기 버퍼는 엔벨로프 신호에 설정된 크기를 포함하고 반송파 주파수를 유지하는, 가상 현실 시스템.
KR1020190135902A 2018-12-27 2019-10-29 햅틱 신호 변환 시스템 KR20200081213A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/233,881 2018-12-27
US16/233,881 US10748391B2 (en) 2018-12-27 2018-12-27 Haptic signal conversion system

Publications (1)

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

Family

ID=68281224

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190135902A KR20200081213A (ko) 2018-12-27 2019-10-29 햅틱 신호 변환 시스템

Country Status (5)

Country Link
US (1) US10748391B2 (ko)
EP (1) EP3674850A1 (ko)
JP (1) JP2020107320A (ko)
KR (1) KR20200081213A (ko)
CN (1) CN111381707A (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016124275A1 (de) * 2016-12-13 2018-06-14 Brose Fahrzeugteile Gmbh & Co. Kommanditgesellschaft, Bamberg Verfahren zur Ansteuerung einer motorischen Verschlusselementanordnung eines Kraftfahrzeugs
US10951992B2 (en) 2018-12-31 2021-03-16 Lg Display Co., Ltd. Vibration generating device and display apparatus including the same
CN109901066A (zh) * 2018-12-31 2019-06-18 瑞声科技(新加坡)有限公司 马达系统辨识方法
JP7340983B2 (ja) * 2019-07-29 2023-09-08 フォルシアクラリオン・エレクトロニクス株式会社 振動信号生成装置および振動信号生成用プログラム
CN112416477B (zh) * 2020-11-27 2022-04-26 瑞声新能源发展(常州)有限公司科教城分公司 信号转换方法、装置、计算机设备和存储介质
JP7340556B2 (ja) * 2021-02-26 2023-09-07 任天堂株式会社 振動制御システム
CN117715735A (zh) * 2021-07-27 2024-03-15 株式会社村田制作所 手柄、剃须刀、电吹风、烫发器、发刷和睫毛夹
US20230147561A1 (en) * 2021-11-08 2023-05-11 Niantic, Inc. Metaverse Content Modality Mapping

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH615999A5 (ko) * 1977-04-29 1980-02-29 Jucker Jules & Co
US4238778A (en) * 1977-09-12 1980-12-09 Kinya Ohsumi System for warning the approach of an emergency vehicle
US4558403A (en) * 1983-10-25 1985-12-10 Ulises Llerandi Ornamental harness with lighting effects
JPS61114623A (ja) * 1984-11-09 1986-06-02 Iwata Electric:Kk 無線通話方式
US4856066A (en) * 1986-11-06 1989-08-08 Lemelson Jerome H Speech communication system and method
US5774039A (en) * 1987-07-15 1998-06-30 Housley; Todd B. Programmable doorbell control
US5657418A (en) * 1991-09-05 1997-08-12 Motorola, Inc. Provision of speech coder gain information using multiple coding modes
US5428388A (en) * 1992-06-15 1995-06-27 Richard von Bauer Video doorbell system
US5488351A (en) * 1993-08-02 1996-01-30 Motorola, Inc. Rocking vibrator alert apparatus driven by opposite phases of a frequency generator
US5550893A (en) * 1995-01-31 1996-08-27 Nokia Mobile Phones Limited Speech compensation in dual-mode telephone
US5790957A (en) * 1995-09-12 1998-08-04 Nokia Mobile Phones Ltd. Speech recall in cellular telephone
US5790019A (en) * 1996-03-15 1998-08-04 Edwin; Luke Emergency alarm system
US6108584A (en) * 1997-07-09 2000-08-22 Sony Corporation Multichannel digital audio decoding method and apparatus
US6236303B1 (en) * 1999-06-14 2001-05-22 Joerg Cornelius Wagner System for indicating the status of a hotel or similar room
US7061393B2 (en) * 2000-12-20 2006-06-13 Inncom International Inc. System and method for managing services and facilities in a multi-unit building
US6901159B2 (en) * 2001-01-31 2005-05-31 General Electric Company Communication of image data from image detector to host computer
US8144183B2 (en) * 2002-10-15 2012-03-27 Revolutionary Concepts, Inc. Two-way audio-video communication method for receiving person at entrance
US8139098B2 (en) * 2002-10-15 2012-03-20 Revolutionary Concepts, Inc. Video communication method for receiving person at entrance
US7216034B2 (en) * 2003-02-27 2007-05-08 Nokia Corporation System and method for an intelligent multi-modal user interface for route drawing
US7738917B2 (en) * 2003-03-31 2010-06-15 Vtech Telecommunications Limited Intercom/wireless door bell for multi-handset telephone system
US7791588B2 (en) 2003-12-22 2010-09-07 Immersion Corporation System and method for mapping instructions associated with haptic feedback
US20080036862A1 (en) * 2006-08-11 2008-02-14 Steve Lang Digital video surveillance system
US7583191B2 (en) * 2006-11-14 2009-09-01 Zinser Duke W Security system and method for use of same
US7746223B2 (en) * 2006-12-01 2010-06-29 Embarq Holdings Company, Llc System and method for receiving security content from wireless cameras
US8193919B2 (en) * 2007-05-05 2012-06-05 Peter Langer Apparatuses and methods for driving a doorbell system peripheral load at a higher current
US8077880B2 (en) * 2007-05-11 2011-12-13 Audyssey Laboratories, Inc. Combined multirate-based and fir-based filtering technique for room acoustic equalization
US7916020B2 (en) * 2007-06-11 2011-03-29 Seidel Stuart T Audible anti-theft tag
US8023532B2 (en) * 2008-04-17 2011-09-20 At&T Intellectual Property I, L.P. Variable bit rate communication system
US8983841B2 (en) * 2008-07-15 2015-03-17 At&T Intellectual Property, I, L.P. Method for enhancing the playback of information in interactive voice response systems
US8897433B2 (en) * 2009-02-02 2014-11-25 Alarmforce Industries Inc. Security system with two-way communication and video
US20120044050A1 (en) * 2010-08-23 2012-02-23 Samir Vig Smart Doorbell Security System and Method to Identify Visitors
JP5887830B2 (ja) * 2010-12-10 2016-03-16 株式会社ニコン 電子機器及び振動方法
US9154747B2 (en) * 2010-12-22 2015-10-06 Pelco, Inc. Stopped object detection
US20130045763A1 (en) * 2011-04-28 2013-02-21 Cellnock Corporation System and method for providing notice of visitor
EP2710562A1 (en) * 2011-05-02 2014-03-26 Apigy Inc. Systems and methods for controlling a locking mechanism using a portable electronic device
US20130057695A1 (en) * 2011-09-07 2013-03-07 Timothy J. Huisking Method and apparatus for unlocking/locking a door and enabling two-way communications with a door security system via a smart phone
US8860563B2 (en) 2012-06-14 2014-10-14 Immersion Corporation Haptic effect conversion system using granular synthesis
US9116546B2 (en) * 2012-08-29 2015-08-25 Immersion Corporation System for haptically representing sensor input
US9208676B2 (en) * 2013-03-14 2015-12-08 Google Inc. Devices, methods, and associated information processing for security in a smart-sensored home
US9519346B2 (en) * 2013-05-17 2016-12-13 Immersion Corporation Low-frequency effects haptic conversion system
US10044519B2 (en) * 2015-01-05 2018-08-07 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9230424B1 (en) * 2013-12-06 2016-01-05 SkyBell Technologies, Inc. Doorbell communities
US10986454B2 (en) * 2014-01-06 2021-04-20 Alpine Electronics of Silicon Valley, Inc. Sound normalization and frequency remapping using haptic feedback
US9983011B2 (en) * 2014-10-30 2018-05-29 Echostar Technologies International Corporation Mapping and facilitating evacuation routes in emergency situations
CA2976319C (en) * 2015-02-20 2023-06-27 Ultrahaptics Ip Limited Algorithm improvements in a haptic system
JP6511355B2 (ja) * 2015-07-08 2019-05-15 クラリオン株式会社 報知装置および報知方法
CN105536249B (zh) * 2016-02-18 2023-09-01 高创(苏州)电子有限公司 游戏系统
US9990815B2 (en) 2016-02-18 2018-06-05 Immersion Corporation Wearable haptic effects with permissions settings
US10268272B2 (en) * 2016-03-31 2019-04-23 Apple Inc. Dampening mechanical modes of a haptic actuator using a delay
DK201670728A1 (en) * 2016-09-06 2018-03-19 Apple Inc Devices, Methods, and Graphical User Interfaces for Providing Feedback During Interaction with an Intensity-Sensitive Button
AU2016231584A1 (en) * 2016-09-22 2018-04-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
US10388186B2 (en) 2017-04-17 2019-08-20 Facebook, Inc. Cutaneous actuators with dampening layers and end effectors to increase perceptibility of haptic signals
US10198920B1 (en) * 2017-09-28 2019-02-05 Apple Inc. Wearable electronic device including audio output transducer and haptic actuator driving and related methods
US20190103004A1 (en) * 2017-10-02 2019-04-04 Immersion Corporation Haptic pitch control
US20190265792A1 (en) * 2018-02-23 2019-08-29 Immersion Corporation Systems and methods for haptifying virtual objects using smart stickers
US20200076866A1 (en) * 2018-08-30 2020-03-05 Immersion Corporation Systems, devices, and methods for streaming haptic effects

Also Published As

Publication number Publication date
JP2020107320A (ja) 2020-07-09
CN111381707A (zh) 2020-07-07
US10748391B2 (en) 2020-08-18
EP3674850A1 (en) 2020-07-01
US20200211337A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
US10748391B2 (en) Haptic signal conversion system
JP6739571B2 (ja) 周波数シフトを用いたハプティック変換システム
JP6615307B2 (ja) 動的ハプティック変換システム
CN104049733B (zh) 自动触觉效果调节系统
EP3040810B1 (en) Audio enhanced simulation of high bandwidth haptic effects
JP6320691B2 (ja) グラニュラーシンセシスを用いたハプティック変換システム
US8711118B2 (en) Interactivity model for shared feedback on mobile devices
JP2019215935A (ja) ハプティック効果の自動適合
EP2937863A2 (en) Automatic tuning of haptic effects
JP6494222B2 (ja) 自動遠隔検出およびハプティック変換システム
CN104423707A (zh) 使用分段和组合的触觉转换系统
EP3462285A1 (en) Haptic pitch control
EP3557385A1 (en) Cross-platform dynamic haptic effect design tool for augmented or virtual reality environments
CN114201051B (zh) 触觉异步反馈系统及其模型训练方法、计算机设备和介质
JP2009047504A (ja) 触覚の解析方法および触覚の解析装置

Legal Events

Date Code Title Description
A201 Request for examination