[go: up one dir, main page]

KR100909516B1 - 햅틱 이펙트를 오더링하기 위한 시스템 및 방법 - Google Patents

햅틱 이펙트를 오더링하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR100909516B1
KR100909516B1 KR1020077003569A KR20077003569A KR100909516B1 KR 100909516 B1 KR100909516 B1 KR 100909516B1 KR 1020077003569 A KR1020077003569 A KR 1020077003569A KR 20077003569 A KR20077003569 A KR 20077003569A KR 100909516 B1 KR100909516 B1 KR 100909516B1
Authority
KR
South Korea
Prior art keywords
haptic
effect
elementary
haptic effect
output
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020077003569A
Other languages
English (en)
Other versions
KR20070035077A (ko
Inventor
주안 마뉴엘 크루즈헤르난더즈
헨리큐 디. 다 코스타
데니 에이. 그랜트
로버트 에이. 라크와르
Original Assignee
임머숀 코퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 임머숀 코퍼레이션 filed Critical 임머숀 코퍼레이션
Publication of KR20070035077A publication Critical patent/KR20070035077A/ko
Application granted granted Critical
Publication of KR100909516B1 publication Critical patent/KR100909516B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B6/00Tactile signalling systems, e.g. personal calling systems

Landscapes

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

Abstract

다수의 햅틱 이펙트와 결합된 신호가 수신되고, 다수의 햅틱 이펙트로부터의 각 햅틱 이펙트는 다수의 타임 슬롯으로부터의 일 타임 슬롯과 결합된다. 다수의 햅틱 이펙트로부터의 각 햅틱 이펙트는, 그 햅틱 이펙트와 결합된 타임 슬롯에 적어도 부분적으로 기초해서, 다수의 이펙트 슬롯으로부터의 일 이펙트 슬롯과 결합된다. 결합된 햅틱 이펙트가 자신의 타임 슬롯에 대해 예정되어 있을 때, 출력 신호가 다수의 이펙트 슬롯으로부터의 각 이펙트 슬롯에 대해 송신된다.
햅틱 피드백, 햅틱 이펙트, 이펙트 슬롯, 타임 슬롯, 클라이언트 인터페이스 소자

Description

햅틱 이펙트를 오더링하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR ORDERING HAPTIC EFFECTS}
본 발명은 일반적으로 햅틱(haptic) 피드백 장치에 관한 것이다. 보다 구체적으로, 본 발명은 햅틱 이펙트(haptic effect)를 오더링하기 위한 시스템 및 방법에 관한 것이다.
햅틱 피드백과 같은 촉각 피드백을 제공하는 장치가 최근에 인기를 얻고 있다. 이러한 장치는 여러가지 상이한 애플리케이션에서 사용된다. 예를 들어, 햅틱 피드백을 제공하는 장치는 다양한 컴퓨터 게임 애플리케이션에서 대중화되어 있고, 여기에서 햅틱 피드백은 사용자의 전체적인 게임 경험을 질을 향상시킨다. 게임 애플리케이션에 외에도, 햅틱 피드백 장치는 여러가지 다른 컴퓨터-애플리케이션 환경에서 사용되어 왔다. 예를 들어, 마우스 장치와 같은 햅틱-인에이블 제어기는, 사용자가 운영 체계(OS) 또는 다른 애플리케이션과 상호작용하는 동안에, 사용자에게 햅틱 피드백을 제공하도록 구성될 수 있다.
유사하게, 촉각 피드백은 다양한 가상 현실 애플리케이션과 결합되어, 사용자의 전체적 경험의 질을 향상시켜왔다. 예를 들어, 햅틱 피드백은 가상 환경에서 결합되어, 보다 현실적인 상호작용 시뮬레이션 경험을 제공할 수 있다. 예를 들 어, 수술 시뮬레이션은, 햅틱 피드백이 사용자에게 보다 실제적인 경험, 따라서, 보다 교육적인 경험을 제공하기 위해 사용되는 가상 현실 환경이다.
또한, 촉각 피드백은, 휴대 전화, 개인 휴대 정보 단말기(PDA;personal digital assistant), 휴대용 게임 장치와 같은 휴대용 전자 장치, 및 다양한 다른 휴대용 전자 장치들에서 점점 더 결합되고 있다. 예를 들어, 일부 휴대용 게임 기기는, 햅틱 피드백을 제공하도록 구성된 더 큰 규모의 게임 시스템에서 사용되는 장치(예를 들어, 조이스틱 등)를 제어하는 것과 유사하게 진동을 낼 수 있다. 또한, 휴대 전화 및 PDA와 같은 장치는 사용자에게 진동으로 다양한 경보를 제공할 수 있다. 예를 들어, 휴대 전화는 진동에 의해 전화 호출이 들어온 것을 사용자에게 알릴 수 있다. 유사하게, PDA는 계획된 달력 아이템을 사용자에게 알리거나, 사용자에게 "할 일" 리스트 아이템 또는 약속 달력에 대한 리마인더를 제공할 수 있다.
일반적으로, PDA 및 휴대 전화와 같이 표준 휴대 전자 장치에 의해 출력되는 진동은, 온 또는 오프 중 하나인 2원 진동자(binary vibrator)로서 동작하는 단순한 진동이다. 즉, 이러한 장치의 진동 능력은 일반적으로 풀-파워 진동("완전 온(fully on)" 상태) 또는 휴지 상태("완전 오프(fully off)")로 제한된다. 따라서, 일반적으로 말해서, 이러한 장치에 제공될 수 있는 진동의 크기에는 변화가 거의 없다.
그러나, 기존 장치는 다소 초보적이고, 정교화된 촉각 피드백을 제공하지 않는다. 따라서, (예를 들어, 정교화된 일련의 이펙트로서) 추가 정보를 전달할 수 있고, 사용자에게 현재 이용가능한 장치를 사용하여 가능한 것 이상의 향상된 촉각 경험을 제공할 수 있는 보다 정교화된 진동을 제공하는 것이 바람직하다.
본 발명의 일 실시예는 오더링 소자 및 출력 소자를 포함하는 장치를 제공한다. 오더링 소자는, 다수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트를 다수의 타임 슬롯으로부터의 일 타임 슬롯과 결합하도록 구성된다. 출력 소자는, 다수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트를 다수의 이펙트 슬롯으로부터의 일 이펙트 슬롯과 결합하도록 구성된다. 출력 소자는 또한, 다수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트가, 그 햅틱 이펙트와 결합된 타임 슬롯 동안 출력되게 하도록 구성된다.
본 발명의 또 다른 실시예는 다수의 햅틱 이펙트와 결합된 신호를 수신하는 방법을 제공한다. 다수의 햅틱 이펙트로부터의 각 햅틱 이펙트는 다수의 타임 슬롯으로부터의 일 타임 슬롯과 결합된다. 또한, 이 방법은, 다수의 햅틱 이펙트로부터의 각 햅틱 이펙트를, 그 햅틱 이펙트와 결합된 타임 슬롯에 적어도 부분적으로 기초해서, 다수의 이펙트 슬롯으로부터의 일 이펙트 슬롯과 결합한다. 또한, 이 방법은, 결합된 햅틱 이펙트가 자신의 타임 슬롯에 대해 예정되어 있을 때, 다수의 이펙트 슬롯으로부터의 각 이펙트 슬롯에 대해 출력 신호를 송신한다. 이 방법은, 프로세서가 상기 방법을 구현하게 하도록 구성된 명령을 나타내는 컴퓨터 코드를 포함하는 프로세서-판독가능 매체를 사용해서, 컴퓨터와 같은 프로세서 장치에 의해 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른 프로세서 시스템의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 햅틱 이펙트를 오더링하도록 구성된 시스템의 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 햅틱 이펙트를 오더링하도록 구성된 시스템의 블록도이다.
도 4는 본 발명의 또 다른 실시예에 따른 햅틱 이펙트를 오더링하도록 구성된 시스템의 블록도이다.
도 5는 본 발명의 일 실시예에 따른 출력 소자의 블록도이다.
도 6은 본 발명의 일 실시예에 따른 파일 구조의 블록도이다.
도 7은 본 발명의 일 실시예에 따른 타임라인 이펙트(timeline-effect) 파일 구조의 블록도이다.
도 8은 본 발명의 일 실시예에 따른 이펙트-저장-블록(effect-storage-block) 파일 구조의 블록도이다.
도 9는 본 발명의 일 실시예에 따른 이펙트-명칭 블록(effect-name block) 파일 구조의 블록도이다.
도 10은 본 발명의 일 실시예에 따른 타임라인 이펙트 정의의 블록도이다.
도 11은 본 발명의 일 실시예에 따른 다수의 기초 햅틱 이펙트의 실행을 도시하는 타임라인도이다.
도 12는 본 발명의 일 실시예에 따른 다수의 기초 햅틱 이펙트에 대한 메모 리 어드레스의 블록도이다.
도 13은 본 발명의 일 실시예에 따라서, 주기적 햅틱 이펙트를 변경하기 위한 애플리케이션의 컴퓨터 윈도를 도시하는 도면이다.
도 14는 본 발명의 일 실시예에 따라서, 다수의 기초 햅틱 이펙트를 오더링하여, 타임라인 햅틱 이펙트를 형성하기 위한 애플리케이션의 컴퓨터 윈도를 도시하는 도면이다.
도 15는 본 발명의 일 실시예에 따라서, 사운드 파일로부터 햅틱 이펙트를 생성하기 위한 애플리케이션의 컴퓨터 윈도를 도시하는 도면이다.
도 16은 본 발명의 일 실시예에 따라서, 사운드 파일로부터 햅틱 이펙트의 주파수 매핑(mapping)을 편집하기 위한 애플리케이션의 컴퓨터 윈도를 도시하는 도면이다.
햅틱 이펙트를 오더링하기 위한 시스템 및 방법이 기술된다. 보다 구체적으로, 본 발명의 일 실시예는, 각각의 기초 햅틱 이펙트와 결합된 타임 슬롯에 기초해서 일련의 "기초(basis)" 또는 기본적 햅틱 이펙트를 출력하도록 구성된 시스템 및 방법의 맥락으로 기술된다. 기초 햅틱 이펙트는 기초 햅틱 이펙트 신호에 응답해서 출력된다. 기초 햅틱 이펙트 신호는 각각, 그 기초 햅틱 이펙트와 결합된 타임 슬롯에 기초해서 다수의 이펙트 슬롯 중 하나와 결합된다. 본 발명의 하나 이상의 실시예에 따른 일련의 기초 햅틱 이펙트 출력은, 기존의 장치를 사용해서 가능하지 않았던 추가적 정보를 사용자에게 전달할 수 있다. 또한, 본 발명의 하나 이상의 실시예에 따른 일련의 기초 햅틱 이펙트 출력은, 사용자가 휴대용 전자 장치와 같은 장치를 사용하는 동안 사용자에게 향상된 질의 경험을 제공할 수 있다.
본 명세서에서 사용되는 바와 같이, 용어 "기초 햅틱 이펙트"는, 보다 복잡한 햅틱 이펙트의 "구축 블록(building block)" 또는 소자로서 사용될 수 있는 기본적 햅틱 이펙트를 지칭한다. "기초 햅틱 이펙트 신호"는, 기초 햅틱 이펙트가 (예를 들어, 햅틱 장치를 통해서) 출력되도록 하는 신호이다. 본 명세서에서 기초 햅틱 이펙트는 명료성을 위해서 종종 "햅틱 이펙트"로도 지칭된다.
본 발명의 하나 이상의 실시예에 따라서, 기초 햅틱 이펙트는, 주기적 햅틱 이펙트 및 크기-스위프(magnitude-sweep) 햅틱 이펙트와 같은 다수 형태의 이펙트를 포함할 수 있다. 이러한 기초 햅틱 이펙트는, 예를 들어, 타임라인 햅틱 이펙트를 형성하기 위한 소자 또는 "구축 블록"으로서 사용될 수 있다. 타임라인 이펙트의 각 소자는, 특정의 원하는 촉각 출력을 사용자에게 제공하는 방식으로 오더링될 수 있다. 이들 소자(예를 들어, 기초 햅틱 이펙트)의 오더링은 예를 들어, 이들 소자와 결합된 타임 슬롯에 기초해서 일어날 수 있다.
MIDI 파일 등에 사용되는 방식과 유사한 이벤트-구동(event-driven) 방식은 타임라인 햅틱 이펙트를 출력하기 위해 사용될 수 있다. 타임라인 햅틱 이펙트는 상호적 소프트웨어-저작 도구를 사용해서 생성될 수 있고, 이 도구는 개발자가, 타임라인 햅틱 이펙트를 생성하는데 사용되는 기초 햅틱 이펙트의 성질, 순서, 및 타이밍을 특정할 수 있도록 한다. 추가적으로, 또는 선택적으로, 타임라인 햅틱 이펙트는, 이벤트-구동 방식(예를 들어, MIDI 파일, 등)의 파일로부터 정보를 자동적 으로 변환함으로써 생성될 수 있다.
본 발명의 하나 이상의 실시예에 따라서, (소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합을 포함할 수 있는) 구조가 제공된다. 이 구조는, 다수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트를 그 기초 햅틱 이펙트가 출력될 동안의 타임 슬롯과 결합시키도록 구성된 오더링 소자를 포함할 수 있다. 이는, 예를 들어, (예를 들어, 인터페이스 소자로부터) 오더링 소자에 의해 수신된 하나 이상의 제어 신호에 기초해서 수행될 수 있다. 오더링 소자는, 예를 들어, 오더링된 햅틱 이펙트 신호(예를 들어, 타임라인 햅틱 이펙트 신호)를 드라이버에 제공할 수 있고, 드라이버는, 타임라인 햅틱 이펙트 신호와 결합된 모든 기초 햅틱 이펙트가 햅틱 장치를 통해서 출력되게 하도록 구성된다. 출력 소자는, 각 기초 햅틱 이펙트와, 다수의 이펙트 슬롯으로부터의 일 이펙트 슬롯을 결합시키도록 구성된다. 또한, 출력 소자는, 각 기초 햅틱 이펙트가 자신의 결합된 타임 슬롯 동안 출력되게 하도록 구성된다.
유익하게, 본 발명의 하나 이상의 실시예는, 햅틱 이펙트가, (예를 들어, MIDI 파일 등에 의해 정의된 바와 같이) 대응하는 출력으로부터 획득되거나, 변환되거나, 또는 그와 결합된 정보에 기초해서 출력될 수 있도록 한다. 예를 들어, MIDI 파일과 같은 이벤트-구동 파일의 경우에, 햅틱 이펙트는 MIDI 파일에서 정의된, 노트(notes), 채널 또는 이들의 임의의 조합에 기초해서 출력될 수 있다. 이는, 햅틱 이펙트가 이러한 (예를 들어, MIDI 파일에 의해 생성된 뮤직 비트와 동기된) 이벤트-구동 파일과 동기하여 출력될 수 있도록 한다. 이 예에 따라서, 상이 한 햅틱 이펙트는 각 MIDI 악기 및/또는 채널, 또는 이들의 조합에 대해 정의될 수 있어, 매우 다양한 햅틱 이펙트가 이용가능하게 된다(예를 들어, 각 햅틱 이펙트는 200 이상의 MIDI 악기 중 하나와 대응할 수 있다). 또한, 햅틱 이펙트는 (예를 들어, 길이, 속도, 강도, 기간, 등의 노트에 대응해서) MIDI 파일의 파라미터에 대응하도록 지시되거나, 또는, 본 발명의 하나 이상의 다른 실시예에 따라서, 이러한 파라미터에 기초하면서도 원하는 대로 맞추어질 수 있다. 이러한 파라미터의 편집은 MIDI 파일의 대응하는 특징의 선택 전에, 선택 동안에, 또는 선택 후에 수행될 수 있다.
도 1은 본 발명의 일 실시예에 따른 프로세서 시스템의 블록도이다. 도 1에 도시된 프로세서 시스템(110)은 예를 들어, 상업적으로 이용가능한 개인용 컴퓨터, 휴대용 전자 장치, 또는 덜 복잡한 컴퓨팅 또는 프로세싱 장치(예를 들어, 하나 이상의 특정 업무를 수행하도록 지정된 장치)일 수 있다. 예를 들어, 프로세서 시스템은 휴대 전화, PDA, 휴대용 게임 시스템 등일 수 있다. 선택적으로, 프로세서 시스템(110)은 게임 시스템 등과 같은 상호적 가상 현실 환경을 제공하도록 지정된 단자일 수 있다. 프로세서 시스템(110)의 각 소자가 도 1에서 단일 소자로서 도시되었지만, 프로세서 시스템(110)은 도 1에 도시된 임의의 소자를 다수개 포함할 수 있다. 또한, 프로세서 시스템(110)의 다수의 소자는 단일 소자로서 결합될 수 있다.
프로세서 시스템(110)은, 본 발명의 하나 이상의 실시예에 따른 프로세서(112)를 포함하고, 이는 일반적 프로세싱 동작을 수행할 수 있는 상업적으로 이 용가능한 마이크로프로세서일 수 있다. 선택적으로, 프로세서(112)는 주문형 반도체(ASIC;application-specific integrated circuit) 또는 ASIC들의 조합일 수 있고, 이는 하나 이상의 특정 기능을 수행하거나, 하나 이상의 특정 장치 또는 애플리케이션을 인에이블하도록 설계된다. 또 다른 대체예에서, 프로세서(112)는 아날로그 또는 디지털 회로, 또는 다수의 회로들의 조합일 수 있다.
또는, 프로세서(112)는 하나 이상의 개별 서브-프로세서 또는 보조 프로세서(coprocessor)를 선택적으로 포함할 수 있다. 예를 들어, 프로세서는, 그래픽을 렌더링(rendering)할 수 있는 그래픽 보조 프로세서, 복잡한 계산을 효과적으로 수행할 수 있는 수학 보조 프로세서, 하나 이상의 장치를 제어할 수 있는 제어기, 하나 이상의 감지 장치로부터의 감각 입력을 수신할 수 있는 센서 인터페이스 등을 포함할 수 있다.
프로세서 시스템(110)은 또한 메모리 소자(114)를 포함할 수 있다. 도 1에 도시된 바와 같이, 메모리 소자(114)는 하나 이상의 유형의 메모리를 포함할 수 있다. 예를 들어, 메모리 소자(114)는 읽기용 기억 장치(ROM;read only memory) 및 막기억 장치(RAM;random access memory) 소자(114b)를 포함할 수 있다. 메모리 소자(114)는 또한, 프로세서(112)에 의해 검색될 수 있는 형태로 데이터를 저장하기에 적합한, 도 1에 도시되지 않은 다른 유형의 메모리를 포함할 수 있다. 다른 적절한 형태의 메모리 뿐만 아니라, 예를 들어, 전자적 프로그램 가능 읽기용 기억 장치(EPROM;electronically programmable ROM), 전기적 소거 및 프로그램 가능 읽기용 기억 장치(EEPROM;erasable electrically programmable ROM), 플래시 메모리 가 메모리 소자(114)내에 포함될 수 있다. 프로세서 시스템(110)은 또한, 프로세서 시스템(110)의 희망하는 기능성에 따라서 다양한 다른 소자를 포함할 수 있다. 프로세서(112)는 메모리 소자(114)와 통신할 수 있고, 데이터를 메모리 소자(114)에 저장할 수 있거나, 또는 이전에 메모리 소자(114)에 저장된 데이터를 검색할 수 있다.
프로세서 시스템(110)은, 다양한 촉각 피드백을 제공할 수 있는 햅틱 장치(116)를 포함할 수 있다. 예를 들어, 햅틱 장치(116)는, 주기적 햅틱 이펙트, 크기-스위프 햅틱 이펙트, 또는 타임라인 햅틱 이펙트와 같은 기초 햅틱 이펙트를 출력하도록 구성될 수 있고, 이들 햅틱 이펙트는 각각 아래에서 더욱 상세하게 설명된다. 본 발명의 하나 이상의 실시예에 따라서, 햅틱 장치(116)는 하나 이상의 포스-인가(force-applying) 메카니즘을 포함할 수 있고, 이 메카니즘은 (예를 들어, 프로세서 시스템(110)의 하우징(housing)을 통해서) 촉각 포스를 프로세서 시스템(110)의 사용자에게 제공할 수 있다. 이 포스는 예를 들어, 햅틱 장치(116)에 의해 (예를 들어, 대규모의 압전(piezo-electric) 장치 또는 다른 진동 작동 장치에 의해) 야기된 진동 움직임의 형태, 또는 햅틱 장치(116)에 의해 야기된 저항력의 형태로 전송될 수 있다.
프로세서 시스템(110)은 또한, 본 발명의 하나 이상의 실시예에 따라서, 사용자, 햅틱 장치(116)로부터 입력을 수신하거나, 그렇지 않으면 하나 이상의 물리적 파라미터를 감지할 수 있는 센서(118)를 포함할 수 있다. 예를 들어, 본 발명의 하나 이상의 실시예에 따라서, 센서(118)는 속도, 강도, 가속, 또는 햅틱 장 치(116)에 의해 출력된 햅틱 이펙트와 관련된 다른 파라미터를 측정하도록 구성될 수 있다. 유사하게, 센서(118)는 프로세서 시스템 주위의 환경적 또는 주변적 조건을 감지하도록 구성될 수 있다. 센서(118)는 프로세서(112)내의 센서 인터페이스(도시 생략)를 통해서 프로세서(112)와 상호작용 또는 통신할 수 있다.
프로세서 시스템(110)은 또한 제어기(120)를 포함할 수 있으며, 이 제어기는 도 1에 도시된 바와 같이, 선택적으로 프로세서(112)의 내부, 또는 그 외부에 있을 수 있다. 제어기(120)는, 프로세서(112)가 햅틱 장치(116)를 직접 제어하지 않을 때, 햅틱 장치(116)를 제어하도록 구성될 수 있다. 유사하게, 제어기(120)는 입/출력(I/O) 소자(124)(후술됨)를 통해 프로세서 시스템(110)의 외부에 있는 장치 뿐만 아니라 메모리(114) 및/또는 센서(118)를 제어할 수 있다.
프로세서 시스템(110)의 다양한 소자는 버스(122)를 통해 서로 통신할 수 있고, 이 버스는 프로세서(112) 및/또는 제어기(120)로부터의 명령을 다른 소자로 전달할 수 있고, 프로세서 시스템(110)의 다양한 소자들 간의 데이터를 전달할 수 있다. 또한, 센서(118)를 통해 수신된 신호는 버스(122)를 통해서 프로세서(112) 또는 제어기(120)에 전달될 수 있다. 메모리(114)로부터 검색되거나 메모리(114)에 기입된 데이터는 버스(122)에 의해 명령에 따라서 햅틱 장치(116)에 전달된다. 햅틱 장치(116)로의 명령은, 예를 들어, 프로세서(112), 제어기(120), 또는 프로세서 시스템(110)의 외부 장치에 의해 제공될 수 있는 햅틱 이펙트 신호(예를 들어, 기초 햅틱 이펙트 신호)의 형태로 제공될 수 있다.
프로세서 시스템(110)의 소자는 (버스(122)를 통해 액세싱되는) 입/출 력(I/O) 소자(124)를 통해서 프로세서 시스템(110)의 외부 장치와 통신할 수 있다. 본 발명의 하나 이상의 실시예에 따라서, I/O 소자(124)는 다양한 적합한 통신 인터페이스를 포함할 수 있다. 예를 들어, I/O 소자(124)는, 적외선 포트, 광 포트, 블루투스(Bluetooth) 무선 포트, 무선 LAN 포트 등과 같은 무선 접속을 포함할 수 있다. 또한, I/O 소자(124)는 표준 직렬 포트, 병렬 포트, 유니버설 시리얼 버스(USB;universal serial bus) 포트, S-비디오 포트, 근거리 통신망(LAN;local area network) 포트, 소형 컴퓨터 시스템 인터페이스(SCSI;small computer system interface) 포트 등과 같은 유선 접속을 포함할 수 있다.
도 2는, 본 발명의 일 실시예에 따라서 햅틱 이펙트를 오더링하도록 구성된 시스템의 블록도이다. 도 2에 도시된 시스템(200)의 다양한 소자는 햅틱 장치(116)가 (예를 들어, 타임라인 햅틱 이펙트로서 정렬된) 일련의 기초 햅틱 이펙트를 출력하게 하도록 구성된다. 본 발명의 하나 이상의 실시예에 따라서, 도 2에 도시된 시스템의 소프트웨어 소자는 실선으로 도시되고, 하드웨어 소자는 점선으로 도시된다. 그러나, 소프트웨어를 이용해서 구현된 시스템(200)의 적어도 일부 소자는 펌웨어의 하드웨어를 이용해서 구현될 수 있다는 것이 이해될 것이다. 또한, 시스템(200)의 희망하는 기능성에 따라서, 소프트웨어, 하드웨어, 및 펌웨어의 임의의 조합이 도 2에 도시된 임의의 소자에 대해 사용될 수 있다.
도 2의 시스템(200)은 인터페이스 소자(202)를 포함하고, 이 소자는 시스템(200) 외부의 클라이언트 애플리케이션과 통신하도록 구성될 수 있다. 인터페이스 소자(202)는, 시스템(200) 외부의 클라이언트 애플리케이션을 위한 시스템(200) 의 접속점으로서 작용할 수 있다. 예를 들어, 본 발명의 하나 이상의 실시예에 따라서, 인터페이스 소자(202)는 애플리케이션-프로그래밍 인터페이스(API)를 포함할 수 있고, 이 API는 시스템(200) 외부의 애플리케이션 프로그램에 대한 시스템(200)의 자격(capability)에 대해 액세싱하도록 구성된다. 본 발명의 하나 이상의 실시예에 따라서, 인터페이스 소자(202)는, 인터페이스 소자(202)를 통해 시스템(200)에 액세싱하는 애플리케이션과 동일한 프로세서에서 동작하도록 구성될 수 있다. 예를 들어, 인터페이스 소자(202)와 액세싱 애플리케이션 프로그램은 모두 상술한 (도 1에 도시된) 프로세서 시스템(110)의 프로세서(112)와 유사한 프로세서에서 동작할 수 있다. 선택적으로, 인터페이스 소자(202)와, 인터페이스 소자를 통해 시스템(200)에 액세싱하는 애플리케이션 프로그램은 상호접속된 개별 프로세서에서 동작할 수 있다.
본 발명의 하나 이상의 실시예에 따라서, 시스템(200) 외부의 애플리케이션(예를 들어, 클라이언트 애플리케이션)은, 인터페이스 소자(202)를 사용해서 햅틱 장치에 의해 출력될 햅틱 이펙트와 관련된 다양한 기능을 수행하여, 도 2에 도시된 시스템(200)의 기능에 액세싱할 수 있다. 예를 들어, 애플리케이션은 이펙트 신호를 생성, 수정, 또는 삭제할 수 있고, 이 이펙트 신호는 인터페이스 소자(202)를 사용하여 대응하는 이펙트를 발생시키도록 구성된다. 또한, 애플리케이션은 인터페이스 소자(202)를 통해서 햅틱 장치(116)의 이펙트를 개시 또는 중단시킬 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 인터페이스 소자(202)는, 이펙트가 구현되는 동안, 클라이언트 애플리케이션이 햅틱 이펙트를 실시간 또는 "온더 플라 이(on the fly)"식으로 수정할 수 있도록 한다. 이러한 능력은, 예를 들어, 센서(118)(도 1에 도시)와 같은 센서를 이용하는 피드백을 이용해서, 또는 시스템내의 다양한 소자들에 대한 (예를 들어, 도 2에서 점선으로 도시된) 선택적 피드백을 이용해서 용이하게 될 수 있다.
인터페이스 소자(202)는 통신 브리지(204)와 통신하고, 이 브리지는 인터페이스 소자(202)와 시스템(200)의 나머지 소자들 간의 액세싱을 제공하도록 구성된다. 예를 들어, 인터페이스 소자(202)가 제1 프로세서에 존재하고, 도 2에 도시된 시스템(200)의 나머지 소자들이 제2 프로세서에 존재하는 본 발명의 하나 이상의 실시예에 따라서, 통신 브리지(204)는 제1 및 제2 프로세서 간의 접속을 제공한다. 예를 들어, 통신 브리지(204)는, 유니버설 시리얼 버스(USB;universal serial bus) 인터페이스와 같은 다수의 프로세서들 간의 통신을 위한 공지된 프로토콜, 또는 다른 적절한 프로토콜을 사용할 수 있다.
본 발명의 하나 이상의 실시예에 따라서, 통신 브리지(204)는 선택적이고, 원한다면 생략될 수 있다. 예를 들어, 인터페이스 소자(202)와, (통상적으로 통신 브리지(204)를 제외한) 도 2에 도시된 시스템(200)의 나머지 소자는 단일 프로세서에서 동작할 수 있다. 이러한 구현에서는, 통신 브리지(204)가 필수적이지 않을 것이다. 예를 들어, 인터페이스 소자(202)는 통신 브리지(204)와 직접 통신하도록 구성될 수 있다. 하드웨어 통신 브리지(204)가 단일 프로세서 상의 2개의 소프트웨어 소자 간에 필요하지 않더라도, 소프트웨어 통신 브리지(204)는, 원한다면 이와 같은 상황에서 사용될 수 있다. 따라서, 통신 브리지(204)는 완전히 선택적인 것이며, 시스템(200)의 바람직한 구현에 따라서, 소프트웨어 통신 브리지(204)를 포함하도록 변경될 수 있다.
드라이버(206)는, 출력 소자(208), 자원 관리자(210), 오더링 소자(212), 및 출력 레지스터(214)를 포함하는 시스템(200)의 다양한 소자들 간의 통신을 조정한다. 드라이버(206)는 액션 아이템에 대해 이들 소자에 질의하고, 기존의 액션 아이템에 따른 소자들 간의 통신 및 데이터 전달을 조정한다. 드라이버(206)는 또한 (예를 들어, 통신 브리지(204)를 통해서) 인터페이스 소자(202)와 통신하고, 이에 따라, 드라이버(206)는 시스템(200) 외부의 클라이언트 애플리케이션으로부터 요청을 수신하여 처리하거나, 또는 이 클라이언트 애플리케이션에 데이터를 전달할 수 있다.
본 발명의 하나 이상의 실시예에 따라서, 드라이버(206)는, 드라이버(206)가 통신하는 시스템(200)의 다양한 소자(예를 들어, 출력 소자(208), 자원 관리자(210), 및 오더링 소자(212))의 다양한 타임-센시티브(time-sensitive) 동작을 조정한다. 이 때문에, 드라이버(206)는 1 밀리초(ms) 또는 0.5 ms 간격과 같이 상대적으로 짧은 시간 간격으로 시스템(200)의 다양한 소자들에 질의할 수 있다. 물론, 드라이버(206)가 소자에 질의하기 위해 사용하는 시간 간격의 길이는 사용될 시스템(200)의 다양한 애플리케이션 요건에 따라 변경될 수 있다.
드라이버(206)는 출력 소자(208)와 통신하고, 이 소자는 다양한 제어 알고리즘을 사용하여, 햅틱 장치(116)가 지정된 햅틱 이펙트를 그 햅틱 이펙트와 결합된 타임 슬롯 동안에 출력하도록 한다. 출력 소자(208)는 기초 햅틱 이펙트 신호를 출력하고, 이는 햅틱 이펙트(예를 들어, 주기적 이펙트, 크기-스위프 이펙트, 등)가 햅틱 장치(116)에 의해 출력되게 하도록 구성된다. 출력 소자(208)는, 예를 들어, 햅틱 장치(116)에 의해 출력될 햅틱 이펙트의 특정 파라미터를 변경함으로써 기초 햅틱 이펙트 신호를 수정할 수 있다. 예를 들어, 출력 소자(208)는 제어 알고리즘을 사용하여, 강도, 주기성, 램프-업(ramp-up) 시간, 램프-다운(ramp-down) 시간, 및 햅틱 장치(116)에 의해 출력될 햅틱 이펙트의 다른 파라미터를 지정 또는 변경할 수 있다.
출력 소자(208)는 다수의 햅틱 이펙트 신호를 동시에 출력하도록 구성될 수 있다. 예를 들어, 본 발명의 하나 이상의 실시예에 따라서, 출력 소자(208)는 동시에 기초 햅틱 이펙트 신호를 4개까지 출력할 수 있고, 이 신호는 각각 햅틱 장치(116)에 의해 상이한 햅틱 이펙트가 출력되게 하도록 구성된다. 다수의 기초 햅틱 이펙트 신호는 출력 소자(208)내에 다수의 대응하는 "이펙트 슬롯"을 점유할 수 있고, 이 슬롯은 출력 소자(208)에 의해 동시에 출력될 수 있는 다양한 신호를 구별하기 위해 사용된다. 따라서, 출력 소자(208)는 (예를 들어, 대응하는 기초 햅틱 이펙트 신호와 이펙트 슬롯을 결합시킴으로써) 각 햅틱 이펙트와 이펙트 슬롯을, 그 햅틱 이펙트와 결합된 타임 슬롯 동안에 결합시킨다. 출력 소자(208)가 4개의 기초 햅틱 이펙트 신호를 동시에 출력할 수 있는 본 발명의 하나 이상의 실시예에 따라서, 출력 소자(208)는 4개의 이펙트 슬롯을 포함할 수 있다. 그러나, 출력 소자(208)내의 이펙트 슬롯의 수는 팩터의 수에 따라 변할 수 있다.
자원 관리자(210)는 출력 소자(208)와 통신하고, 출력 소자(208)에 대한 지 원 소자로서 작용한다. 구체적으로, 자원 관리자(210)는 특정 햅틱 이펙트가 출력될 타이밍을 제어함으로써, 출력 소자(208), 및 출력 소자(208)에 의해 출력될 햅틱 이펙트 신호를 관리한다. 자원 관리자(210)로부터의 제어 신호에 응답해서, 출력 소자(208)는, 자원 관리자(210)에 의해 지시된 바와 같이 햅틱 이펙트가 출력되게 하도록 구성된 (예를 들어, 펄스-폭 변조 신호의 형태로 드라이버(206)와 통신할 수 있는) 기초 햅틱 이펙트 신호를 생성한다. 그 다음, 드라이버(206)는 이 기초 햅틱 이펙트 신호를, 아래에서 설명되는 바와 같이, 시스템(200)의 다른 소자에 전달하여, 햅틱 장치(116)가 원하는 햅틱 이펙트를 출력하게 하도록 한다.
출력 소자(208)가 다수의 이펙트 슬롯을 갖는 실시예에 따라서, 자원 관리자(210)는 어떤 슬롯이 어떤 이펙트 신호로 채워져야 하는지를 결정할 수 있다. 예를 들어, 이는 햅틱 이펙트와 결합된 타임 슬롯에 기초해서 이루어질 수 있다. 일반적으로, 자원 관리자(210)는, 새로운 이펙트에 대한 이펙트 신호가 출력 소자(208)내의 다음의 이용가능한 슬롯에 배치되게 할 것이다. 출력 소자(208)내의 모든 이펙트 슬롯이 액티브이고(즉, 햅틱 이펙트 신호를 출력하고), 모두 사용가능하지 않으면, 자원 관리자(210)는 현재 출력되는 이펙트 신호 중 어느 것이 남아야만 하는 지를 결정하고, 만일 있다면, 출력 소자(208)내의 어느 이펙트 신호가 새로운 햅틱 이펙트 신호에 의해 대체되어야 하는 지를 결정한다.
새로운 햅틱 이펙트 신호가 요구되고, 출력 소자(208)의 모든 이펙트 슬롯이 이미 액티브이면, 자원 관리자(210)는 출력 소자(208)의 각 이펙트 슬롯의 이펙트를 실행시켜, 출력될 각 이펙트 신호에 대한 잔여 시간량을 결정할 수 있다. 부가 적으로, 또는 선택적으로, 자원 관리자(210)는 다수의 이펙트들 간의 우선순위를 결정할 수 있다. 하나 이상의 이러한 결정에 적어도 부분적으로 기초하여, 자원 관리자(210)는, 새로운 햅틱 이펙트 신호가 이펙트 슬롯에 삽입될(즉, 출력 소자(208)에 의해 출력될) 수 있도록 현재 출력될 햅틱 이펙트 신호(즉, 액티브 햅틱 이펙트 신호)가 삭제되어야 하는 지, 또는 액티브 햅틱 이펙트 신호가 남아 있고 새로운 햅틱 이펙트 신호에 대한 우선순위를 가져야 하는 지 여부를 결정할 수 있다. 우선순위는, 예를 들어, 액티브 이펙트 신호에 대해 남아 있는 시간에 기초하거나, 또는 이펙트 신호에 사전에 할당된 우선순위 레벨, 또는 다른 파라미터와 같은 선정된 파라미터에 기초해서, 결정될 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 자원 관리자(210)는, 최소의 잔여 시간을 갖는 출력 소자(208)에 의해 실행될 이펙트를 간단히 제거할 수 있어, 출력 소자(208)에 의한 새로운 이펙트의 실행이 용이하게 된다.
오더링 소자(212)는, 드라이버(206)가, 출력 소자(208)에 의해 생성된 기초 햅틱 이펙트 신호를 출력하는데 사용하는 타임라인을 제공하는 순서기(sequencer)로서 기능한다. 구체적으로, 오더링 소자(212)는, 출력 소자(208)에 의해 실행될 기초 햅틱 이펙트 신호 각각에 대한 순서 및 타이밍을 제공한다. 예를 들어, 오더링 소자(212)는, 타임라인 이펙트 파일 또는 타임라인 햅틱 이펙트 신호의 형태로 제공될 수 있는 일련의 명령을 해석할 수 있고, 어느 기초 햅틱 이펙트 신호가 소정 시간에 출력될 지, 및 이들 신호가 어느 순서로 출력될 지에 관한 명령을 발송한다. 이는, 예를 들어, 기초 햅틱 이펙트 신호를 사용해서 출력될 각 햅틱 이펙 트와 결합된 타임 슬롯에 기초해서 이루어질 수 있고, 이 기초 햅틱 이펙트 신호는 (예를 들어, 시스템(200) 외부로부터 수신된) 파일 또는 다른 신호에서 정의될 수 있다. 오더링 소자(212)로부터의 이러한 명령을 사용해서, 자원 관리자(210)는, 어느 기초 이펙트 신호가 출력 소자(208)에 의해 특정 시간에 출력될 지를 결정하여, 기초 햅틱 이펙트가 원하는 시간에 햅틱 장치(116)에 의해 출력되게 할 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 오더링 소자(212)는 인터페이스 소자를 통해 시스템(200) 외부의 클라이언트 애플리케이션으로부터 수신된 타임라인 이펙트 파일에 대해 적어도 부분적으로 기초해서 명령을 발송한다.
본 발명의 하나 이상의 실시예에 따라서, 드라이버(206), 출력 소자(208), 자원 관리자(210), 및 오더링 소자(212)는 단일 프로세서에서 동작할 수 있고, 이 프로세서는 인터페이스 소자(202)가 동작하는 프로세서와는 상이하다. 상술한 바와 같이, 이들 2개의 프로세서는 물리적으로 하드웨어 통신 브리지(204)에 의해 상호접속될 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 이들 각 프로세서는 (도 1에 도시된) 프로세서(112)와 유사할 수 있고, (도 1에 도시된) 단일 프로세서 시스템(110)내에, 또는 다수의 프로세서 시스템(110) 중에 존재할 수 있다. 그러나, 선택적으로, 인터페이스 소자(202)는 드라이버(206), 출력 소자(208), 자원 관리자(210), 및 오더링 소자(212)와 동일한 프로세서에서 동작할 수 있다. 특정 구현에 따라서, 통신 브리지(204)는 하드웨어 소자보다 소프트웨어 소자의 형태로 구현되어, 인터페이스 소자(202)와 드라이버(206) 사이에서 통신할 수 있다.
출력 레지스터(214)는 시스템(200)에 의해 오더링된 기초 햅틱 이펙트 신호 를 수신하기 위해 사용될 수 있고, 이 신호는, 예를 들어, 타임라인 햅틱 이펙트 신호의 형태로 표시될 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 출력 레지스터(214)는 PWM 신호를 수신 및/또는 출력하도록 구성된 펄스 폭 변조(PWM) 출력 레지스터와 같은 하드웨어 장치, 또는 다른 적절한 출력 레지스터 장치일 수 있다.
오더링된 기초 햅틱 이펙트 신호는 출력 레지스터(214)로부터 장치 드라이버(216)로 전달된다. 장치 드라이버(216)는 본 발명의 하나 이상의 실시예에 따른 하드웨어 장치일 수 있다. 예를 들어, 장치 드라이버(216)는, 햅틱 장치(116)에 필요한 전류를 공급하는데 사용되는 전자 소자 및 회로를 포함하여, 출력 레지스터(214)에서 특정된 오더링된 햅틱 이펙트 신호가 햅틱 장치(116)에서 대응하는 햅틱 이펙트를 출력하도록 할 수 있다. 예를 들어, 장치 드라이버(216)에 의해 햅틱 장치(116)에 공급되는 전류는 크기가 변하는 포지티브 및 네거티브 전류를 포함할 수 있다. 부가적으로, 또는 선택적으로, 전류는 주기 및/또는 위상이 변하는 주기적 신호의 형태가 될 수 있고, 이 주기 및/또는 위상은 출력 레지스터(214)에 저장된 일련의 오더링된 햅틱 이펙트의 특성에 대응한다.
도 2에 도시된 시스템(200)의 구성은 시스템(200)의 바람직한 성능에 따라서 다양한 방식으로 변경될 수 있다. 예를 들어, 도 2에 도시된 다양한 소자는 생략 또는 결합될 수 있다. 또한, 추가 소자가 도 2에 도시된 시스템(200)에 부가될 수 있다. 도 2에 도시된 시스템(200)의 대체 구성의 2개 예가 도 3 및 도 4에 도시된다. 그러나, 이들 대체 구성은 가능한 구성의 예일 뿐이고, 모든 가능한 구성을 전부 나타내려는 것은 아니다.
도 3은 본 발명의 다른 실시예에 따라서, 햅틱 이펙트를 오더링하도록 구성된 시스템의 블록도이다. 도 3에 도시된 시스템(300)은 도 2의 시스템(200)와 유사하지만, (도 2에 도시된) 오더링 소자(212) 또는 드라이버(206)를 포함하지 않는다. 오히려, 햅틱 이펙트 신호의 소정의 오더링, 또는 이펙트 슬롯에 대한 햅틱 이펙트 신호의 할당이 자원 관리자(210)를 이용해서 수행될 수 있고, 상술한 바와 같이, 자원 관리자(210)는 또한 출력 소자(208)의 자원을 관리한다. 따라서, 자원 관리자(210)는 본 발명의 하나 이상의 실시예에 따라서, 출력될 햅틱 이펙트와 결합된 타임 슬롯 및 이펙트 슬롯을 모두 관리할 수 있다.
도 4는 본 발명의 또 다른 실시예에 따라서, 햅틱 이펙트를 오더링하도록 구성된 시스템의 블록도이다. 도 4에 도시된 시스템(400)은 도 2의 시스템(200)과 일부 차이점을 갖지만 유사하다. 예를 들어, 도 4의 시스템(400)은 "다중-모드" 구성으로 동작하도록 구성된다. 보다 구체적으로, 도 4의 시스템(400)을 사용해서 다중 출력 모드가 동시에 처리 및 출력될 수 있다.
예를 들어, (이후, 프로세싱 소자(들)(402)로서 통합적으로 또는 개별적으로 지칭될 수 있는) 다중 프로세싱 소자(402a, 402b)는 (예를 들어, 통신 브리지(204) 등을 통해 인터페이스 소자(202)로부터) 신호를 수신할 수 있고, 햅틱 이펙트가 출력되게 하도록 구성된 햅틱 이펙트 신호를 오더링할 수 있다. 오더링된 햅틱 이펙트 신호는 출력 레지스터(214), 장치 드라이버(216), 및/또는 햅틱 장치(116)에 출력될 수 있다. 2개의 프로세싱 소자(402)만이 도시되었지만, 원한다면 추가 모드 를 제공하기 위해 프로세싱 소자가 더 포함될 수 있다. 부가적으로, 프로세싱 소자(402)는 각각 선택적이고, 대신, 다른 소자들의 집합체로서 구현될 수 있다. 프로세싱 소자(402)는 각각 자신의 개별 소자들의 기능에 액세싱할 수 있고, 이들 소자는 예를 들어, 다른 소자들 중에 자원 관리자(210), 오더링 소자(212), 및/또는 출력 소자(208)를 포함할 수 있다.
도 4에 도시된 다중-모드 시스템(400)은, 제1 모드와 관련된 정보를 처리 및 출력하기 위해, 제1 프로세싱 소자(402a)에 포함된 제1 모드 출력 소자(208a), 및 제2 프로세싱 소자(402b)에 포함된 제2 모드 출력 소자(208b)를 사용한다. 본 발명의 하나 이상의 실시예에 따라서, 제1 모드 출력 소자(208a)는 햅틱 이펙트가 상술한 방식으로 출력되게 하도록 구성된다. 제1 모드 출력 소자(208a)에 의해 나온 출력은 제2 모드 출력 소자(208a)에 의해 나온 출력과 동기될 수 있다. 예를 들어, 본 발명의 하나 이상의 실시예에 따라서, 제2 모드 출력 소자(208b)는, (MIDI 파일, WAV 파일, 등으로부터의) 오디오 출력, 비디오 출력, 또는 다른 적절한 출력과 같은 비-햅틱(non-haptic) 출력을 발생시키도록 구성될 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 제2 모드 출력 소자(208b)에 의해 나온 출력은 이벤트-구동 명령 세트(예를 들어, MIDI 파일)에 따라서 생성될 수 있고, 제1 모드 출력 소자(208a)에 의해 나온 햅틱 이펙트는 수동으로, 또는 자동 변환으로 이벤트-구동 명령 세트에 기초해서 생성될 수 있고, 이는 아래에서 보다 상세하게 설명될 것이다. 이러한 다중-모드 시스템(400)을 사용해서, 시스템(400)에 의해 생성된 다중 모드들 간의 동기성이 달성된다.
도 5는 본 발명의 일 실시예에 따른 출력 소자의 블록도이다. 출력 소자(208) 및 이 출력 소자(208)의 소자들은 도 5에서 상세하게 도시되고, 여기에서 출력 소자(208)는, 도 2에 도시된 구성과 동일하게 드라이버(206) 및 자원 관리자(210)와 통신하는 것으로 도시된다. 출력 소자(208)는 햅틱 출력 소자(502)를 포함하고, 이를 통해 드라이버(206) 및 자원 관리자(210)와 통신한다. 햅틱 출력 소자(502)는 출력 소자(208)내의 다양한 알고리즘을 사용하여, 출력 소자(208)내의 다른 소자들로부터 드라이버(206) 또는 자원 관리자(210)에 전달될 다양한 데이터 패킷을 모은다.
출력 소자(208)는 (통합적으로, 개별적으로, 또는 본 명세서에서 제어기(들)(504)로서 지칭되는 서브셋으로서) 하나 이상의 제어기(504a, 504b, 504c)를 포함할 수 있다. 출력 소자(208)내의 각각의 제어기(504)는 이펙트 발생기(506)와 통신하고, 이 이펙트 발생기(506)는 햅틱 출력 소자(502)와 통신한다. 제어기(504)는 출력 소자(208)내의 알고리즘을 사용해서, 기초 햅틱 이펙트 신호가 출력되도록 할 수 있다. 이펙트 발생기(506)는 제어기(504)를 모니터링하고, 다양한 제어기들(504) 간의 타이밍을 추적할 수 있다. 이펙트 발생기(506)는 또한 햅틱 출력 소자(502)에 이펙트 타이밍(예를 들어, 이펙트에 대한 잔여 시간, 등)을 전달할 수 있고, 햅틱 출력 소자(502)는 이 정보를 자원 관리자(210)에 전달하여, 자원 관리자(210)가 출력 소자(208)에 의해 출력된 기초 햅틱 이펙트 신호를 관리할 수 있도록 한다. 부가적으로, 제어기(504)에 의해 이펙트 발생기(506)에 제공된 기초 햅틱 이펙트 신호는, 이펙트 발생기(506)가 선택된 값을 출력하도록 하여, 햅틱 장 치(116)(도 1 및 도 2에 도시)가 기초 햅틱 이펙트를 출력할 수 있도록 한다. 예를 들어, 본 발명의 하나 이상의 실시예에 따라서, 이펙트 발생기(506)는 PWM 값을 출력할 수 있고, 이 값은 드라이버(206)로부터 수신된 후에, 출력 레지스터(214)(도 2에 도시)에 의해 해석될 수 있다. 출력 레지스터(214)는 이 값을 사용해서, 장치 드라이버(216)가 햅틱 장치(116)를 구동하도록 할 수 있다.
출력 소자(208)는 또한 햅틱 출력 소자(502)에 의해 사용될 수 있는 이펙트 관리자(508)를 포함하여, 드라이버(206)로부터 수신된 통신을 처리한다. 예를 들어, 하나 이상의 실시예에 따라서, (예를 들어, 기초 햅틱 이펙트 신호의 부분으로서) 인코딩된 이펙트 파라미터를 포함하는 드라이버(206)로부터의 패킷은 이펙트 관리자(508)에 의해 처리될 수 있다. 이는, 예를 들어, 수신된 통신의 수신 및 분석, 및 이들 통신에서의 인코딩된 값의 추출을 포함할 수 있고, 그 후 이 값은, 필요한 경우, 유용한 포맷으로 변환될 수 있다. 추출된 및/또는 변환된 값은, 명령된 대응 햅틱 이펙트가 출력되도록 하는 적절한 신호를 발생하는 데 있어서, 이펙트 발생기(506)에 의해 사용될 하나 이상의 내부 메모리 위치에 저장될 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 이펙트 관리자(508)는, 드라이버로부터 인코딩된 포맷으로 수신된 시간-관련(time-related) 값을 디코딩한다. 부가적으로, 이펙트 관리자(508)는, 정보가 사용되는 (도 2에 도시된) 시스템(200) 및 출력 소자(208)의 다양한 소자들의 동작에 영향을 주는 정보를 조정 및 수정한다. 예를 들어, 이펙트 관리자(508)는 (도 2에 도시된) 햅틱 장치(116)에 의해 출력될 포스 값(force value)을 결정하는데 사용되는 다양한 파라미터를 수정할 수 있다. 이 는, 예를 들어, 햅틱 이펙트 신호 파라미터를 포스 값으로 변환하는데 사용되는 선형화 표를 사용해서 수행될 수 있다. 이러한 선형화 표를 사용해서, 이펙트 관리자(508)는, 대응하는 햅틱 신호 값에 대해 출력될 이펙트 발생기(506)에 의해 계산된 포스의 양을 변경할 수 있다.
출력 소자(208)는 또한 INIT/종료 엔진(510)을 포함하고, 이는 제어기(504), 이펙트 발생기(506), 및 이펙트 관리자(508)에 의해 사용되는 모든 구조 또는 변수를 초기화한다. INIT/종료 엔진(510)은 또한, 드라이버(206)가 (예를 들어, 이펙트 발생기(506)에 의해 계산되는) 햅틱 이펙트 신호와 결합된 포스 값을 기입하기 위한 유효 메모리 위치를 제공하는 것을 보장한다. 부가적으로, INIT/종료 엔진(510)은 종료 시에(예를 들어, 모든 햅틱 이펙트 신호가 출력된 후에) 모든 메모리가 적절히 리셋되는 것을 보장한다.
도 6은 본 발명의 일 실시예에 따른 파일 구조의 블록도이다. 보다 구체적으로, 도 6에서, 다수의 기초 햅틱 이펙트를 오더링하여, 타임라인 햅틱 이펙트 신호를 생성하는데 사용되는 파일 구조의 계층(600)이 도시된다. 도 6에 도시된 계층(600)에 따른 구조의 파일은, 예를 들어, 오더링 소자(212)에 의해 사용되어, 햅틱 장치(116)에 의해 실행될 기초 햅틱 이펙트의 순서 및 타이밍을 결정할 수 있다. 그러나, 도 6에 도시된 계층(600)은 단지 하나의 가능한 구현이라는 것이 이해될 것이다. 본 발명의 하나 이상의 실시예에 따라서, 도 6에 도시된 계층(600)은 변경될 수 있고, 또는 이 계층(600)이 사용되는 구현의 바람직한 기능에 적합한 또 다른 계층으로 대체될 수 있다. 도 6에 도시된 계층(600)을 갖는 파일은 클라 이언트 애플리케이션에 의해 생성 또는 수정될 수 있고, 이 클라이언트 애플리케이션은, 도 2의 인터페이스 소자(202)를 통해서 도 2에 도시된 시스템(200)의 기능에 액세싱할 수 있다.
도 6에 도시된 계층(600)에 도시된 바와 같이, 타임라인 이펙트 파일은 확장성 생성 언어(XML;extensible markup language)로 생성 및/또는 저장될 수 있다. 그러나, 본 발명의 하나 이상의 다른 실시예에 따라서, 타임라인 이펙트 파일은, 희망하는 구현 또는 설계 제한에 따라서, 다른 마크업(markup) 언어, 2진 또는 다른 적절한 포맷과 같은 또 다른 포맷으로 생성 및/또는 저장될 수 있다. 타임라인 이펙트 파일은 2개의 개별 클래스, "이펙트" 및 "멀티미디어"를 정의한다.
이펙트 클래스는 타임라인 이펙트 서브클래스 및 기초 이펙트 서브클래스를 포함한다. 2개 형태의 기초 이펙트, 즉, 주기적 이펙트 및 크기 스위프 이펙트("mag 스위프" 이펙트로도 지칭됨)가 정의된다. 주기적 이펙트는, 주기적 진동과 같은 주기적 감각을 제공하는 이펙트, 또는 유사 이펙트이다. 주기적 이펙트는 주기적 드라이브 신호(예를 들어, 사인파 신호, 구형파 신호, 등)를 사용해서 구동될 수 있다. 주기적 이펙트는 또한, 주기적 동작(예를 들어, 모터가 회전하게 하는 직류 구동 신호, 등)을 발생시키는 고정 신호를 사용해서 구동될 수 있다. 크기 스위프 이펙트는, 소정의 감각 크기 또는 크기 그룹(예를 들어, 일정 포스, 일정 제한 등)을 제공하는 이펙트이다.
타임라인 이펙트의 2개의 이벤트, 즉 개시(launch) 이벤트 및 반복 이벤트가 정의된다: 개시 이벤트는 기초 햅틱 이펙트 신호, 및 그 기초 햅틱 이펙트 신호에 대응하는 햅틱 이펙트가 시작 또는 개시될 시간을 지정한다. 반복 이벤트는, 개시 시간, 및 이벤트가 지정된 횟수로 반복될 동안의 기간을 지정한다.
"멀티미디어"로 불리는 또 다른 이펙트 클래스는 선택적으로 기초 이펙트 서브클래스를 포함할 수 있다. 이 이펙트 클래스는 예를 들어, 멀티미디어 파일(예를 들어, MIDI 파일, WAV 파일, MP3 파일, 등)로 기초 햅틱 이펙트와 같은 이펙트를 동기시키는데 사용된다. "멀티미디어" 클래스는, 기초 햅틱 이펙트가 대응하는 멀티미디어 파일과 동시에 동기하여 출력되도록 한다. 따라서, 본 발명의 하나 이상의 실시예에 따른 저작 도구를 사용해서, "멀티미디어" 클래스는, 매체 파일로부터의 음악이 장치에 의해 출력될 때, 하나 이상의 기초 햅틱 이펙트가 멀티미디어 파일과 동기하여 (예를 들어, 음악을 출력하는 장치에 통합된) 햅틱 장치에 의해 출력되도록 설계될 수 있다. 이는, 예를 들어, (도 4에 도시된) 다중-모드 시스템(400)을 사용해서 수행될 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 도 6에 도시된 계층(600)에 따른 구조의 타임라인 이펙트 파일이 도 7, 8, 및 9에서 보다 상세하게 도시된다.
도 7은, 본 발명의 일 실시예에 따른 타임라인 이펙트 파일 구조의 블록도이다. 타임라인 이펙트 파일(500)은, 타임라인 이펙트 신호, 또는 일련의 오더링된 기초 햅틱 이펙트 신호를 생성하기 위해 클라이언트 애플리케이션(예를 들어, 도 2의 시스템(200)에 액세싱하는 애플리케이션, 및 내장된 시스템의 애플리케이션, 등)에 의해 사용되도록 구성될 수 있다. 도 7에 도시된 타임라인 이펙트 파일(500)은 헤더 블록(702)을 포함할 수 있고, 이 헤더 블록(702)은 타임라인 이펙 트 신호의 정의를 포함하여, 희망하는 일련의 오더링된 햅틱 이펙트, 또는 기초 햅틱 이펙트가 햅틱 장치(116)에 의해 출력되도록 한다. 헤더 블록(702)은 또한, 타임라인 이펙트 파일(500)의 포맷 버전 및 크기, 타임라인 이펙트 신호에 의해 생성될 기초 햅틱 이펙트의 넘버 (및 순서), 및 이펙트-저장 블록(704) 및 선택적 이펙트-명칭 블록(706)과 같은 타임라인 이펙트 파일(500)내의 다른 블록의 위치에 관한 정보를 포함할 수 있다.
헤더 블록(702)에 추가로, 타임라인 이펙트 파일(500)은 또한 이펙트-저장 블록(704) 및 선택적 이펙트-명칭 블록(706)을 포함할 수 있다. 이펙트-저장 블록(704)은, 타임라인 이펙트 파일(500)에 정의된 각 이펙트(예를 들어, 기초 햅틱 이펙트 또는 타임라인 햅틱 이펙트, 등)에 관한 정보를 포함한다. 예를 들어, 본 발명의 하나 이상의 실시예에 따라서, 이펙트-저장 블록(704)은 타임라인 이펙트 파일(500)내의 각 이펙트의 정의를 포함할 수 있다. 선택적 이펙트-명칭 블록(706)은 타임라인 이펙트 파일(500)내의 각 이펙트의 명칭을 저장하는데 사용될 수 있다. 아래 표 1은, 본 발명의 일 실시예에 따라서, 타임라인 이펙트 파일(500)의 헤더 블록(702)으로서 사용될 수 있는 헤더를 나타낸다.
헤더 블록(702)
바이트 내용 의미
0 0x01 주 버전 넘버(예를 들어, 파일 포맷 1.x에 대해 1)
1 0x00 부 버전 넘버(예를 들어, IVT 파일 포맷 x.0에 대해 0)
2 EFFECTCOUNT_15_8 이펙트의 넘버, 15 내지 8 비트
3 EFFECTCOUNT_7_0 이펙트의 넘버, 7 내지 0 비트
4 ESBSIZE_15_8 바이트의 이펙트-저장 블록 크기의 15 내지 8 비트
5 ESBSIZE_7_0 바이트의 이펙트-저장 블록 크기의 7 내지 0 비트
6 ENBSIZE_15_8 바이트의 이펙트-명칭 블록 크기의 15 내지 8 비트
7 ENBSIZE_7_0 바이트의 이펙트-명칭 블록 크기의 7 내지 0 비트
도 8은, 본 발명의 일 실시예에 따른 이펙트-저장 블록 파일 구조의 블록도이다. 도 8에 도시된 바와 같이, 이펙트-저장 블록(704)은 이펙트-저장-오프셋 서브블록(802) 및 이펙트-저장-데이터 서브블록(804)을 포함한다. 이펙트-저장-오프셋 서브블록(802)은, 각 이펙트가 타임라인 이펙트 파일(500)의 어디에서 시작하는 지를 정의한다. 구체적으로, 본 발명의 하나 이상의 실시예에 따라서, 이펙트-저장-오프셋 서브블록(802)은 오프셋 어레이이고, 이 오프셋 어레이는 각각 타임라인 이펙트 파일(500)내에 정의된 개별 이펙트에 대응한다. 이 어레이내의 각 오프셋은, 각 오프셋에 대한 정의가 이펙트-저장-데이터 서브블록(804)의 어디에서 개시되는 지를 지정하는 2 바이트의 정보를 포함할 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 이펙트-저장-오프셋 서브블록(802)의 크기는, 타임라인 이펙트 파일(500)에 정의된 전체 이펙트 넘버의 2배인 다수의 바이트를 포함한다.
이펙트-저장-데이터 서브블록(804)은, 예를 들어, 기초 햅틱 이펙트 및 타임라인 이펙트를 포함하는, 타임라인 이펙트 파일(500)에 정의된 각 이펙트의 정의를 저장한다. 이펙트-저장-데이터 서브블록(804)에 저장된 각 이펙트의 형태는, 그 형태가 쉽게 식별될 수 있게 하는 방식으로 저장될 수 있다. 예를 들어, 본 발명의 하나 이상의 실시예에 따라서, 각 이펙트 데이터의 최하위 "니블(nibble)" 또는4 비트는 이펙트의 형태에 따라서 지정된 값을 포함할 수 있다. 예를 들어, 기초 햅틱 이펙트의 최하위 니블은 0x0의 값을 포함하지만, 타임라인 이펙트의 최하위 니블은 0xF를 포함한다.
도 9는 본 발명의 일 실시예에 따른 이펙트-명칭-블록 파일 구조의 블록도이다. 도 9에 도시된 바와 같이, 선택적 이펙트-명칭 블록(706)은 이펙트-명칭-오프셋 서브블록(902) 및 이펙트-명칭-데이터 서브블록(904)를 포함한다. 이펙트-명칭-오프셋 서브블록(902)은 오프셋 어레이를 포함하고, 이 오프셋 어레이는 각각 타임라인 이펙트 파일(500)내에 정의된 이펙트에 대응한다. 이펙트-저장-오프셋 서브블록(802)과 같이, 이펙트-명칭-오프셋 서브블록(902)내의 각 오프셋의 크기는 2 바이트가 될 수 있어, 이펙트-명칭-오프셋 서브블록(902)의 전체 크기는, 타임 라인 이펙트 파일(500)에 정의된 전체 이펙트 넘버의 2배인 다수의 바이트를 포함한다. 이펙트-명칭-오프셋 서브블록(902)내의 각 오프셋은, 이펙트에 대응하는 명칭이 이펙트-명칭-데이터 서브블록(904)의 어디에 위치하는 지를 지정한다. 이펙트-명칭-데이터 서브블록(904)은, 타임라인 이펙트 파일(500)에 의해 정의된 각 이펙트의 이펙트 명칭을 저장한다.
도 10은 본 발명의 일 실시예에 따른 타임라인 이펙트 정의의 블록도이다. 구체적으로, 제1 타임라인 햅틱 이펙트("타임라인 1")의 타임라인 이펙트 정의(1000)가 도 10에 도시된다. 타임라인 이펙트 정의(1000)의 좌측에는, 각각 특정 기초 햅틱 이펙트에 대응하는 다수의 서클이 존재하고, 이는 (예를 들어, 제1 및 제2 주기적 이펙트, 고정 이펙트, 및 스프링 이펙트, 등을 포함하는) 제1 타임라인 햅틱 이펙트에 포함될 것이다. 타임라인 이펙트 정의(1000)의 우측에는, 기초 햅틱 이펙트가 이벤트로서 순서화된 방식으로 도시된다. 각 이벤트는, 기초 햅틱 이펙트 및, 그 이펙트가 타임라인 이펙트내에서 언제 시작되는 지에 관한 개시 시간을 나타낸다. 즉, 타임라인 이펙트 정의(1000)는 일련의 오더링된 기초 햅틱 이펙트 신호를 출력하도록 구성되고, 이들 신호는 각각 타임라인 이펙트 정의(1000)에서 정의된 기초 햅틱 이펙트에 대응하고, 타임라인 이펙트 정의(1000)에서 지시된 개시 시간에 시작한다.
도 10에 도시된 바와 같이, 이벤트로서 타임라인 이펙트 정의(1000)의 우측에 도시된 다양한 순서화된 일련의 기초 햅틱 이펙트 신호는 추가 정보를 특정할 수 있다. 예를 들어, 임의의 오버라이드(override)(예를 들어, 기간 오버라이드, 크기 오버라이드, 주기 오버라이드, 등) 값이 다양한 기초 햅틱 이펙트 신호에 대해 특정될 수 있고, 이 신호는, 기초 햅틱 이펙트 신호의 하나 이상의 파라미터에 대해 디폴트 값과 다른 값을 설정한다. 부가적으로, 자원 관리자(210)(도 2에 도시)가, 어느 이펙트 신호가 다른 신호에 대해 우선순위를 가져서, 출력 소자(208)내의 이펙트 슬롯을 점유하는 지를 결정하는 것을 돕기 위해, 각 기초 햅틱 이펙트 신호에 대한 우선순위가 설정될 수 있다.
도 11은 본 발명의 일 실시예에 따라서, 다수의 기초 햅틱 이펙트의 실행을 도시하는 타임라인도이다. 도 11에 도시된 타임라인(1100)의 예는, 시스템(200)(도 2에 도시)이, 출력 소자(208)(도 2에 도시)가 타임라인 이펙트 정의(1000)(도 10에 도시)에 특정된 타임라인 이펙트(예를 들어, 오더링된 기초 햅틱 이펙트)를 구현하게 하는 방법을 도시한다. 먼저, 애플리케이션(예를 들어, 도 2의 시스템(200)에 액세싱하는 클라이언트 애플리케이션)은 제1 타임라인 이펙트 Timeline1가 개시되도록 호출한다. 이에 응답해서, 오더링 소자(212)(도 2에 도시)는 타임라인 이펙트 정의(예를 들어, 제1 및 제2 주기적 이펙트, 고정 이펙트, 및 스프링 이펙트, 등)에 정의된 각 기초 햅틱 이펙트 신호를 생성 또는 확인한다. 각 기초 햅틱 이펙트 신호가 생성 또는 확인되면, 오더링 소자는, 각 기초 햅틱 이펙트 신호에 대해 소정의 오버라이드 값을 적용하면서, 각 기초 햅틱 이펙트 신호를 타임라인 이펙트 정의(1000)(도 10에 도시)에 특정된 시간에서 순서대로 호출한다.
도 12는 본 발명의 일 실시예에 따라서, 다수의 기초 햅틱 이펙트에 대한 메모리 어드레스의 블록도이다. 도 12에 도시된 콤팩트 기초-이펙트-저장 블록(1200)은, 공간이 (예를 들어, 내장된 애플리케이션, 등에서) 프리미엄인 경우 다수의 기초 햅틱 이펙트를 저장하기 위한 콤팩트 저장 기법을 구현하는데 사용될 수 있다. 콤팩트 기초-이펙트-저장 블록(1200)에서, 2개 유형의 메시지, 또는 명령, 즉, SetPeriodic 메시지 및 SetPeriodicModifier 메시지만이 저장된다. 타임라인 이펙트 신호의 부분으로서 저장될 때, 이들 메시지는 각각 길이가 8 바이트로 채워질 수 있다. SetPeriodic 메시지는, 대응하는 특정 기초 햅틱 이펙트 신호를 통해서 기초 햅틱 이펙트의 실행을 호출할 수 있다. SetPeriodicModifier 메시지는 (예를 들어, 기초 햅틱 이펙트 신호에 대한 엔벨롭(envelop)을 제공하여) SetPeriodic 메시지를 수정하도록 동작한다.
콤팩트 기초-이펙트-저장 블록(1200)은 다수의 기초 햅틱 이펙트 신호를 포함하고, 이들은 각각 8 바이트(예를 들어, 수정되지 않은 SetPeriodic 메시지) 또는 16 바이트(예를 들어, SetPeriodicModifier 메시지에 의해 수정된 SetPeriodic 메시지)의 길이를 가질 수 있다. 따라서, 콤팩트 기초-이펙트-저장 블록(1200)에서, 다수의 기초 햅틱 이펙트 신호는 선정된 순서로 오더링되어, 인덱스(예를 들어, 이펙트 신호 "Effect0", "Effect1", 및 "Effect2" 각각에 대해 0, 1, 및 2이고, 이들 이펙트 신호는 각각 도 12의 좌측에 도시됨) 및 상대적 메모리 어드레스 위치(예를 들어, 0x0000, 0x0008, 0x0010, 등)를 사용해서 저장될 수 있다. 이 인덱스 및 상대적 메모리 어드레스 위치는 출력 소자(208)(도 2에 도시)에 의해 사용되어, 기초 햅틱 이펙트 신호를 순서대로 호출하고, 대응하는 기초 햅틱 이펙트 신호가 그 순서대로 실행되게 할 수 있다.
도 13은 본 발명의 일 실시예에 따라서, 주기적 햅틱 이펙트를 수정하기 위한 애플리케이션의 컴퓨터 윈도를 도시한 도면이다. 다른 유형의 기초 햅틱 이펙트를 수정하기 위해서 유사한 윈도가 제공될 수 있다. 도 13에 도시된 수정 컴퓨터 윈도(1300)는, 예를 들어, 햅틱 이펙트를 생성 또는 수정하도록 구성된 클라이언트 애플리케이션의 일부를 형성할 수 있는 인터페이스이다. 이러한 클라이언트 애플리케이션은 예를 들어, 인터페이스 소자(202)를 통해 시스템(200)(도 2에 도시)에 액세싱할 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 수정 컴퓨터 윈도(1300)(또는 아래에서 기술될 다른 컴퓨터 윈도)는 자립형 컴퓨터 애플리케이션 프로그램의 일부를 형성할 수 있다. 선택적으로, 본 발명의 하나 이상의 다른 실시예에 따라서, 수정 컴퓨터 윈도(1300)(또는 아래에서 기술될 다른 컴퓨터 윈도)는 (예를 들어, 플러그-인 등이 될 수 있는) 기존의 컴퓨터 애플리케이션 프로그램의 일부를 형성하거나, 이 프로그램과 인터페이스할 수 있다. 예를 들어, 수정 컴퓨터 윈도(1300)(또는 아래에서 기술될 다른 컴퓨터 윈도)는 Rosenberg 등에 의한 "포스 피드백 장치를 위한 포스 신호 형성을 위한 방법 및 기기" 제목의 미국 특허 번호 5,959,613 및 6,278,439에서 기술된 시스템의 일부를 형성할 수 있고, 이 특허는 각각 본 명세서에서 전체적으로 참조되어 통합된다.
도 13에 도시된 수정 컴퓨터 윈도(1300)에 생성된 이펙트는 주기적 이펙트이고, 이는 윈도(1300)의 좌측에 있는 주기적 이펙트 아이콘으로 표시된다. 시간이 지남에 따라 최대 크기의 값으로부터 크기가 감소되는 주기적 이펙트는 시간 주기 동안 일정하고, 이어서 크기가 0으로 감소하게 된다. 햅틱 이펙트의 크기, 형식, 어택(attack) 시간, 어택 레벨, 페이드 시간, 페이드 레벨, 기간, 속도, 및 주기와 같은 다양한 파라미터는 도 13에 도시된 수정 컴퓨터 윈도(1300)에 의해 변경될 수 있다. 이러한 수정 컴퓨터 윈도(1300)를 통해서, 개별의 희망 기초 햅틱 이펙트가 조정될(tailored) 수 있어, 조정된 대응 기초 햅틱 이펙트 신호가 생성된다. 일단 대응 기초 햅틱 이펙트 신호가 생성되면, 이 신호는 타임라인 햅틱 이펙트 신호내에 배치되어, 타임라인 햅틱 이펙트 신호내의 다른 기초 햅틱 이펙트 신호에 대해 희망하는 순서로, 희망하는 시간에 구현될 수 있다.
도 14는 본 발명의 일 실시예에 따라서, 다수의 기초 햅틱 이펙트를 오더링하여 타임라인 햅틱 이펙트를 형성하기 위한 애플리케이션의 컴퓨터 윈도를 도시하는 도면이다. 도 14에서, 타임라인 이펙트 컴퓨터 윈도(1400)는, 다수의 기초 햅틱 이펙트가 타임라인 햅틱 이펙트로 구성되게 하는 것을 도시한다. 예를 들어, 좌측에서, 주기적 햅틱 이펙트, 크기-스위프 햅틱 이펙트, 및 타임라인 햅틱 이펙트를 포함하는 상이한 유형의 이펙트에 대응하는 다수의 아이콘이 도시된다. 이들 이펙트는 상술한 수정 컴퓨터 윈도(1300)(도 13에 도시)와 유사한 윈도에서 수정될 수 있다. "fbn" 제목의 MIDI 파일은 또한 타임라인 이펙트 컴퓨터 윈도(1400)의 좌측에 도시된다. MIDI 파일은 또한, MIDI의 오디오 출력과 동기하여 출력될 다양한 이펙트와 함께 타임라인 이펙트 컴퓨터 윈도(1400)의 주요 부분에서 도식적으로 표시된다. 보다 구체적으로, 타임라인 이펙트 컴퓨터 윈도(1400)의 주요 부분에서, 노트 및 채널의 도식적 표현은 타임라인에 따라 다양한 시간에서 도시된다.
타임라인 이펙트 컴퓨터 윈도(1400)의 좌측에 도시된 각 아이콘은, 타임라인 이펙트 컴퓨터 윈도가 제공되는 그래픽 사용자 인터페이스(GUI;graphical user interface)를 통해 상호작용할 수 있다. 예를 들어, 사용자는 아이콘을 윈도의 주요 부분에서 구성될 타임라인 햅틱 이펙트로 "끌어 놓기(drag-and-drop)"하거나, 또는 이러한 이펙트와 동기하여 출력될 MIDI 파일을 교환할 수 있다. 타임라인 햅틱 이펙트의 일부를 형성하는 각 이펙트가 강조될 수 있고, 그 이펙트의 파라미터는 조정될 수 있다. 예를 들어, 강조된 주기적 이펙트는, (끌어 놓기 방식으로 특정 또는 변경될 수 있는) 시작 시간, 크기, 및 기간을 지정하기 위해서 우측의 오버라이드 필드를 갖는다. 강조된 주기적 이펙트에 대해 설정되지 않은 다른 오버라이드 값은 다른 이펙트(예를 들어, 속도, 주기, 등)에 사용될 수 있다. 각 이펙트의 추가적 상세(예를 들어, 도 13에 도시된 상세와 유사한 상세)는 이펙트 또는 그 아이콘을 "더블 클릭(double click)"함으로써 보여질 수 있다.
도 15는 본 발명의 일 실시예에 따라서, 사운드 파일로부터 햅틱 이펙트를 생성하기 위한 애플리케이션의 컴퓨터 윈도를 도시하는 도면이다. 본 발명의 하나 이상의 실시예에 따라서, 사운드 파일(예를 들어, MIDI 파일)은, 선정된 변환 파라미터를 사용해서, 타임라인 이펙트 파일(500)(도 7에 도시)과 같은 하나 이상의 타임라인 이펙트 파일로 자동적으로 변환될 수 있다. 우선, 기초 햅틱 이펙트 신호는, 변환될 MIDI 악기의 각 유형에 대해 생성될 수 있다. 이러한 모든 신호를 저장하는 라이브러리(library)는, 원한다면 모든 공지된 MIDI 악기를 포함하도록 생성 및 갱신될 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 기초 햅틱 이펙트 신호는 대응하는 MIDI 악기(예를 들어, 그랜드 피아노(acoustic grand piano), 밝은 음색의 피아노(bright acoustic piano), 전자 피아노(electric grand piano), 홍키통크 피아노(honky-tonk piano) 등)와 동일한 명칭으로 지칭될 수 있고, 이는 MIDI 상세에서 제공된다.
사운드 파일(예를 들어, MIDI 파일)로부터 타임라인 햅틱 이펙트 파일로의 자동 변환은 다양한 방법으로 수행될 수 있다. 본 발명의 하나 이상의 실시예에 따라서, 사운드 파일은 자동 변환의 적합성에 대해 검토될 수 있다. 파일이 자동 변환에 대해 적합하지 않다고 판정되면, 경보가 발생되고, 파일이 거절될 수 있다. 사운드 파일이 자동적으로 변환되기에 적합하면, MIDI 변환 컴퓨터 윈도(1500)가 사용자에게 제공되고, 식별된 악기는 각각 대응하는 채널 및 제시된 주파수 맵에 따라 디스플레이된다.
도 15에 도시된 MIDI 변환 컴퓨터 윈도(1500)는, MIDI 파일로부터 타임라인 햅틱 이펙트 파일로의 변환을 용이하게 하기 위해 선택될 수 있는 일부 옵션을 도시한다. 예를 들어, MIDI 채널명 및 대응하는 MIDI 악기가 식별될 수 있다. MIDI 파일을 타임라인 햅틱 이펙트로 자동적으로 변환하기를 원하면, "들여오기(import)" 옵션이 선택될 수 있다. 또한, MIDI 기간을 햅틱 이펙트 기간으로, MIDI 노트 속도를 햅틱 이펙트 크기로, MIDI 노트 넘버를 (아래에서 기술될 주파수 맵을 사용해서 조정될 수 있는) 햅틱 이펙트 주파수로 자동적으로 변환하는 등의 옵션이 선택될 수 있다. 본 발명의 하나 이상의 실시예에 의해 수행될 희망하는 변환에 따라 추가 변환이 구현될 수 있다는 것을 인식해야 한다.
MIDI 파일은 다양한 방법으로 변환될 수 있다. 예를 들어, 각각의 악기는 (예를 들어, 햅틱 이펙트 파일의) 햅틱 이펙트로 변환될 수 있다. 유사하게, MIDI 파일의 각 채널은 햅틱 이펙트로 변환될 수 있다. 부가적으로, MIDI 파일에 정의된 소정의 악기-채널 조합은 (예를 들어, 자동 변환 기술을 사용해서) 햅틱 이펙트로 변환될 수 있다. 다수의 예에서, MIDI 파일의 특정 채널에 대해 정의된 모든 노트의 변환은, 햅틱 이펙트 신호로의 자동 변환에 대해 선택될 수 있다. 일부 예에서, 각 악기에 대한 노트의 변환, 또는 채널내의 각 노트의 변환도 필요로 될 수 있다. 예를 들어, MIDI 채널(10)에서, 각 타악기는 그 채널내의 개별 노트에 대응한다. 따라서, 소정의 타악기를 햅틱 이펙트로 정확하게 변환하기 위해서, 채널(10)내의 개별 노트는 매핑되거나, 또는 (예를 들어, 적합한 햅틱 이펙트 신호를 생성함으로써) 햅틱 이펙트로 변환되어야만 한다.
MIDI 파일로부터 햅틱 이펙트를 정의하는 파일로의 변환은 다양한 MIDI 파일의 이벤트를 사용할 수 있다. 예를 들어, MIDI 파일은 일반적으로, MIDI 노트의 개시 또는 종료를 각각 지시하는 "노트-온-이벤트(note-on-event)" 및 "노트-오프-이벤트(note-off-event)"를 포함할 수 있다. 노트-온-이벤트 및 노트-오프-이벤트는 모두 MIDI 채널 넘버, 노트 넘버, 및 노트 속도를 특정한다. MIDI 파일은 또한, 제공하는 MIDI 채널에 대한 악기법(instrumentation)의 변화를 나타내는 "프로그램-변경 이벤트"와 같은 다른 이벤트를 포함할 수 있다. 예를 들어, 프로그램-변경 이벤트는, 30초를 노래로 지정할 수 있고, 채널(1)에 사용된 악기는 제1 악기(예를 들어, 어쿠스틱 기타)로부터 제2 악기(예를 들어, 전자 기타)로 변경된다.
MIDI 정보의 햅틱 이펙트 정보로의 변환은 다수의 기법을 사용해서 이루어질 수 있다. 예를 들어, 기간-오버라이드 명령은, 노트 기간을 결정하기 위해 노트-온-이벤트를 그와 대응하는 노트-오프-이벤트(즉, 노트-온-이벤트와 동일한 노트에 대해 노트-오프-이벤트)에 매칭시키기 위해 사용될 수 있다. 그 다음, 햅틱 이펙트는, (예를 들어, 기초 햅틱 이펙트 신호 또는 타임라인 햅틱 이펙트 신호를 사용해서) 희망하는 기간을 설정하도록 수동으로 자동 기간을 오버라이딩함으로써 변경될 수 있는 기간, 또는 결정된 노트 기간을 갖도록 명령될 수 있다. 부가적으로, 속도-대-크기 명령은, (예를 들어, 햅틱 이펙트가 결합 또는 동기될 노트를 생성한 노트-온-이벤트에 특정되는 바와 같은) MIDI 노트의 속도에 기초해서 (예를 들어, 기초 햅틱 이펙트 신호 또는 타임라인 햅틱 이펙트 신호를 사용해서) 명령될 이펙트의 크기를 설정하는데 사용될 수 있다. 또한, 노트-대-속도 명령은, MIDI 노트 넘버(예를 들어, 햅틱 이펙트가 결합 또는 동기될 노트에 대해 노트-온-이벤트에서 특정된 MIDI 노트에 대한 노트 넘버)에 기초해서 명령된 햅틱 이펙트의 주파수를 설정할 수 있다.
부가적으로, 타임라인 햅틱 이펙트의 소자는 디폴트 파라미터를 사용하거나, 또는 변환 참조 파일에 특정된 커스텀(custom) 파라미터를 사용해서 생성될 수 있고, 이 파라미터는 MIDI 변환 컴퓨터 윈도(1500)를 사용해서 선택될 수 있다. 하나 이상의 채널의 주파수 맵은, MIDI 변환 컴퓨터 윈도(1500)의 우측에 도시된 하나 이상의 "edit freq. map" 버튼을 선택함으로써 편집될 수 있다. 위에서 나열된 옵션들은 각각 채널마다, 악기마다, 또는 이들의 조합에 기초하여 선택될 수 있다.
아래 표 2는, 다양한 MIDI 메시지를 타임라인 이벤트(예를 들어, 도 10의 타임라인 이펙트 정의(1000)의 이벤트)로 자동적으로 변환하기 위한 일부 옵션을 도시한다.
MIDI로부터 타임라인 이벤트로의 자동 변환을 위한 일부 옵션
MIDI 메시지 타임라인 이벤트
노트 온 LaunchPlayback
노트 오프 "노트 온"과 "노트 오프" 사이의 기간은 LaunchPlayback 이벤트의 기간 오버라이드 값을 결정한다.
프로그램 변경 LaunchPlayback 이벤트의 Effect ID 오버라이드
뱅크 선택 LaunchPlayback 이벤트의 Effect ID 오버라이드 Effect ID는 "뱅크 선택" 및 "프로그램 변경"의 조합이다.
모든 사운드 오프 "모든 사운드 오프"는 모든 보류 "노트 온"에 대해 "노트 오프"로서 처리된다.
모든 노트 오프 "모든 노트 오프"는 모든 보류 "노트 온"에 대해 "노트 오프"로서 처리된다.
템포 설정 "템포 설정" MIDI 이벤트는 주어진 LaunchPlayback 이벤트의 TimeOffset 특성을 결정한다.
도 16은 본 발명의 일 실시예에 따라서, 사운드 파일로부터 햅틱 이펙트의 주파수 매핑을 편집하기 위한 애플리케이션의 컴퓨터 윈도를 도시하는 도면이다. 본 발명의 하나 이상의 실시예에 따라서, MIDI 변환 컴퓨터 윈도(1500)의 우측에 도시된 하나 이상의 "edit freq. map" 버튼을 선택함으로써, 도 16에 도시된 주파수 맵 컴퓨터 윈도(1600)를 액세싱할 수 있다. 도 16에 도시된 주파수 맵 컴퓨터 윈도(1600)에 도시된 주파수 맵은, 타임라인 이펙트 주파수로 변환될 MIDI 파일에 존재하는 모든 MIDI 채널을 도식화한다. (수평축에 도시된) 각 채널은, 변환 곡선(1602)를 사용해서 (수직축에 도시된) 주기적 햅틱 이펙트의 진동 주파수에 매핑될 수 있고, 사용자는, 윈도우(1600)가 (예를 들어, "클릭-앤-드래그(click-and-drag)" 기술 등을 사용해서) 제공되는 GUI를 사용해서 이 변환 곡선(1602)과 상호작용할 수 있다. 변환 곡선(1602)은, 분석될 MIDI 파일의 MIDI 채널에 대응하는 햅틱 장치의 주파수를 정의한다. 이 변환 곡선(1602)은, 주어진 MIDI 채널의 사운드에 대해 어느 이펙트 주파수가 출력될 지를 변경하도록 조정될 수 있다. 물론, (예를 들어, 모양이 상이하게 형성된 변환 곡선 등을 사용해서 정의되는) 다른 매핑이 본 발명의 하나 이상의 실시예에 따라서, 다른 형태의 햅틱 이펙트에 대해 사용될 수 있다.
상술한 내용으로부터, 햅틱 이펙트를 오더링하기 위한 시스템 및 방법이 논의된 것을 알 수 있다. 특정 실시예가, 다수의 기초 햅틱 이펙트를 오더링하여, 타임라인 햅틱 이펙트를 생성하도록 구성된 시스템과 관련하여 상술되었다. 파일 포맷은 타임라인 햅틱 이펙트에 대해 제공된다. 부가적으로, 다양한 양상의 운영 체계가, 햅틱 이펙트를 생성, 편집, 수정, 및/또는 오더링하여, 타임라인 햅틱 이펙트를 생성하도록 제공된다.
그러나, 본 발명의 실시예는, 본 발명의 사상 또는 본질적 특성에서 벗어나지 않는 다른 특정 형태가 될 수 있다. 예를 들어, 일부 실시예가 다수의 오더링된 기초 햅틱 이펙트를 사용해서 생성된 타임라인 햅틱 이펙트의 맥락에서 설명되었지만, 일 실시예는, 상술한 원리에 따라서 다른 타임라인 이펙트를 생성하기 위한 소자로서, 타임라인 햅틱 이펙트 뿐만 아니라 다른 유형의 이펙트도 사용할 수 있다. 부가적으로, 본 명세서에 기술된 GUI 컴퓨터 윈도 및 파일 포맷은 단지 예로서 제시된 것이고, 모두 본 발명의 범위내에 있는 것으로 고려되는, 동일하거나 또는 실질적으로 유사한 기능성을 제공하기 위해 다양한 방식으로 변경될 수 있다.

Claims (37)

  1. 복수의 기초 햅틱 이펙트(haptic effect)로부터의 각 기초 햅틱 이펙트와 복수의 타임 슬롯으로부터의 일 타임 슬롯을 결합하도록 구성된 제1 소자; 및
    복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트와 복수의 이펙트 슬롯으로부터의 일 이펙트 슬롯을 결합하도록 구성되고, 또한, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트가 그 햅틱 이펙트와 결합된 타임 슬롯 동안에 출력되게 하도록 구성된 제2 소자
    를 포함하는 장치.
  2. 제1항에 있어서,
    신호를 수신하도록 구성된 클라이언트 인터페이스 소자; 및
    상기 클라이언트 인터페이스 소자, 상기 제1 소자, 및 상기 제2 소자와 통신하는 드라이버
    를 더 포함하고,
    상기 드라이버는, 상기 클라이언트 인터페이스 소자에 의해 수신된 신호에 적어도 부분적으로 기초해서, 상기 클라이언트 인터페이스 소자, 상기 제1 소자, 및 상기 제2 소자 간의 통신을 조정하도록 구성되는 장치.
  3. 제1항에 있어서,
    신호를 수신하도록 구성된 클라이언트 인터페이스 소자; 및
    상기 클라이언트 인터페이스 소자, 상기 제1 소자, 및 상기 제2 소자와 통신하는 드라이버
    를 더 포함하고,
    상기 드라이버는, 상기 클라이언트 인터페이스 소자에 의해 수신된 신호에 적어도 부분적으로 기초해서, 상기 클라이언트 인터페이스 소자, 상기 제1 소자, 및 상기 제2 소자 간의 통신을 조정하도록 구성되고, 상기 제2 소자는, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트가, 상기 클라이언트 인터페이스 소자에 의해 수신된 신호에 적어도 부분적으로 기초해서 출력되게 하도록 구성되는 장치.
  4. 제1항에 있어서,
    상기 제2 소자와 통신하고, 상기 복수의 기초 햅틱 이펙트를 출력하도록 구성된 햅틱 장치를 더 포함하는 장치.
  5. 제1항에 있어서,
    상기 제2 소자와 통신하는 자원 관리자를 더 포함하고,
    상기 자원 관리자는 상기 제2 소자에서 사용가능한 자원을 관리하도록 구성되고, 상기 자원은, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트가 출력되도록 하는 것과 결합되어 있고, 상기 자원은 상기 복수의 이펙트 슬롯을 포함하는 장치.
  6. 제1항에 있어서,
    상기 제2 소자는, 상기 복수의 기초 햅틱 이펙트로부터의 제2 기초 햅틱 이펙트가 출력되기 전에, 램프-업(ramp-up) 이펙트가 출력되게 하도록 구성된 장치.
  7. 제1항에 있어서,
    상기 제2 소자는, 상기 복수의 기초 햅틱 이펙트로부터의 끝에서 2번째(penultimate) 기초 햅틱 이펙트가 출력된 후에, 제동(braking) 이펙트가 발생되게 하도록 구성된 장치.
  8. 제1항에 있어서,
    신호를 수신하도록 구성된 클라이언트 인터페이스 소자를 더 포함하고,
    상기 클라이언트 인터페이스 소자는 또한, 수신된 상기 신호에 적어도 부분적으로 기초해서, 기초 햅틱 이펙트의 생성, 기초 햅틱 이펙트의 삭제, 기초 햅틱 이펙트의 개시, 기초 햅틱 이펙트의 중단, 및 기초 햅틱 이펙트의 수정 중 적어도 하나를 제어하도록 구성된 장치.
  9. 제1항에 있어서,
    신호를 수신하도록 구성된 클라이언트 인터페이스 소자 - 상기 클라이언트 인터페이스 소자는 또한, 수신된 상기 신호에 적어도 부분적으로 기초해서, 기초 햅틱 이펙트의 생성, 기초 햅틱 이펙트의 삭제, 기초 햅틱 이펙트의 개시, 기초 햅틱 이펙트의 중단, 및 기초 햅틱 이펙트의 수정 중 적어도 하나를 제어하도록 구성됨 -;
    상기 제2 소자와 통신하는 자원 관리자 - 상기 자원 관리자는 상기 제2 소자에서 사용가능한 자원을 관리하도록 구성되고, 상기 자원은, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트가 출력되도록 하는 것과 결합되어 있고, 상기 자원은 상기 복수의 이펙트 슬롯을 포함함 -; 및
    상기 클라이언트 인터페이스 소자, 상기 제1 소자, 및 상기 제2 소자와 통신하는 드라이버
    를 더 포함하고,
    상기 드라이버는, 상기 클라이언트 인터페이스 소자에 의해 수신된 신호에 적어도 부분적으로 기초해서, 상기 클라이언트 인터페이스 소자, 상기 제1 소자, 및 상기 제2 소자 간의 통신을 조정하도록 구성되고, 상기 제2 소자는, 상기 클라이언트 인터페이스 소자에 의해 수신된 신호에 적어도 부분적으로 기초해서, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트가 출력되게 하도록 구성되는 장치.
  10. 제1항에 있어서,
    신호를 수신하도록 구성된 클라이언트 인터페이스 소자를 더 포함하고,
    상기 클라이언트 인터페이스 소자는 또한, 수신된 상기 신호에 적어도 부분적으로 기초해서, 기초 햅틱 이펙트의 생성, 기초 햅틱 이펙트의 삭제, 기초 햅틱 이펙트의 개시, 기초 햅틱 이펙트의 중단, 및 기초 햅틱 이펙트의 수정 중 적어도 하나를 제어하도록 구성되고, 상기 클라이언트 인터페이스 소자는 제1 프로세서에 위치하고, 상기 제1 소자 및 상기 제2 소자는 상기 제1 프로세서와 다른 제2 프로세서에 위치하고, 상기 제2 프로세서는 상기 제1 프로세서와 통신하는 장치.
  11. 제1항에 있어서,
    신호를 수신하도록 구성된 클라이언트 인터페이스 소자를 더 포함하고,
    상기 클라이언트 인터페이스 소자는 또한, 수신된 상기 신호에 적어도 부분적으로 기초해서, 기초 햅틱 이펙트의 생성, 기초 햅틱 이펙트의 삭제, 기초 햅틱 이펙트의 개시, 기초 햅틱 이펙트의 중단, 및 기초 햅틱 이펙트의 수정 중 적어도 하나를 제어하도록 구성되고, 상기 클라이언트 인터페이스 소자 및 상기 제1 소자는 제1 프로세서에 위치하고, 상기 제2 소자는 상기 제1 프로세서와 다른 제2 프로세서에 위치하고, 상기 제2 프로세서는 상기 제1 프로세서와 통신하는 장치.
  12. 제1항에 있어서,
    상기 제2 소자는 복수의 제2 소자로부터의 소자이고, 상기 복수의 제2 소자로부터의 각 제2 소자는, 상기 장치의 복수의 동작 모드로부터의 일 동작 모드에 특정하게 관련된 신호를 출력하도록 구성되고, 상기 복수의 동작 모드로부터의 제1 동작 모드는 햅틱 모드인 장치.
  13. 제1항에 있어서, 제1 소자는, 이벤트-구동(event-driven) 파일의 이벤트에 적어도 부분적으로 기초해서, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트를 결합하도록 구성된 장치.
  14. 제1항에 있어서, 상기 제1 소자는, MIDI 파일의 이벤트에 적어도 부분적으로 기초해서, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트를 결합하도록 구성된 장치.
  15. 제1항에 있어서, 상기 제1 소자는, 휴대 전화 호출음(ring-tone)에 적어도 부분적으로 기초해서, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트를 결합하도록 구성된 장치.
  16. 제1항에 있어서, 상기 제1 소자는, 이벤트-구동 파일의 이벤트에 적어도 부분적으로 기초해서, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트를 결합하도록 구성되고, 상기 제2 소자는, 복수의 동작 모드로부터의 제1 동작 모드에 관련된 신호를 출력하도록 구성되고, 상기 제1 동작 모드는 햅틱 모드이고, 상기 장치는,
    상기 이벤트-구동 파일에 기초하여 비-햅틱(non-haptic) 출력을 제공하도록 구성된 제3 소자를 더 포함하는 장치.
  17. 제1항에 있어서, 상기 제1 소자 및 상기 제2 소자는 휴대 전화에 포함된 장치.
  18. 명령을 나타내는 코드를 포함하는 프로세서-판독가능 매체로서,
    상기 명령은, 프로세서로 하여금,
    복수의 햅틱 이펙트와 결합된 신호를 수신하고 - 상기 복수의 햅틱 이펙트로부터의 각 햅틱 이펙트는 복수의 타임 슬롯으로부터의 일 타임 슬롯과 결합됨 -,
    제1 소자에 의해, 상기 복수의 햅틱 이펙트로부터의 각 햅틱 이펙트와 복수의 이펙트 슬롯으로부터의 일 이펙트 슬롯을, 그 햅틱 이펙트와 결합된 타임 슬롯에 적어도 부분적으로 기초하여 결합시키고,
    제2 소자에 의해, 결합된 햅틱 이펙트가 자신의 타임 슬롯에 대해 예정되어 있을 때, 상기 복수의 이펙트 슬롯으로부터의 각 이펙트 슬롯에 대한 출력 신호를 송신하도록 하는 것인 프로세서-판독가능 매체.
  19. 제18항에 있어서,
    상기 복수의 타임 슬롯으로부터의 각 타임 슬롯은, 결합된 각 햅틱 이펙트가 출력되는 동안의 시간을 정의하는 프로세서-판독가능 매체.
  20. 제18항에 있어서,
    상기 명령은 또한, 프로세서로 하여금, 상기 복수의 타임 슬롯에 대한 타임라인을 정의하도록 하는 것이고,
    상기 복수의 햅틱 이펙트는 상기 정의된 타임라인에 적어도 부분적으로 기초해서 출력되는 프로세서-판독가능 매체.
  21. 제18항에 있어서,
    상기 명령은 또한, 프로세서로 하여금,
    복수의 클라이언트 신호를 수신하고,
    상기 복수의 클라이언트 신호로부터의 일 클라이언트 신호에 적어도 부분적으로 기초해서, 상기 복수의 이펙트 슬롯으로부터의 각 이펙트 슬롯에 대한 출력 신호를 송신하도록 하는 것인 프로세서-판독가능 매체.
  22. 제18항에 있어서,
    상기 명령은 또한, 프로세서로 하여금, 상기 복수의 햅틱 이펙트를 출력하도록 하는 것인 프로세서-판독가능 매체.
  23. 제18항에 있어서,
    상기 명령은 또한, 프로세서로 하여금, 상기 복수의 햅틱 이펙트로부터의 각 햅틱 이펙트에 대한 강도, 주기성, 램프-업(ramp-up) 시간, 및 램프-다운(ramp-down) 시간 중 적어도 하나를 제어하도록 하는 것인 프로세서-판독가능 매체.
  24. 제18항에 있어서,
    상기 명령은 또한, 프로세서로 하여금, 상기 복수의 햅틱 이펙트로부터의 각 햅틱 이펙트에 대해, 햅틱 이펙트의 생성, 햅틱 이펙트의 삭제, 햅틱 이펙트의 개시, 햅틱 이펙트의 중단, 및 햅틱 이펙트의 수정 중 적어도 하나를 제어하도록 하는 것인 프로세서-판독가능 매체.
  25. 인터페이스 소자;
    상기 인터페이스 소자를 통해 복수의 신호를 수신하도록 구성된 드라이버 - 상기 드라이버는, 상기 복수의 신호로부터의 일 신호에 적어도 부분적으로 기초해서 제어 신호를 송신하도록 구성되고, 복수의 소자들 간의 통신을 조정하도록 구성됨 -; 및
    복수의 기초 햅틱 이펙트가 상기 제어 신호에 적어도 부분적으로 기초해서 출력되게 하도록 구성된 출력 소자 - 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트는 복수의 타임 슬롯으로부터의 일 타임 슬롯과 결합되고, 상기 복수의 소자는 상기 출력 소자를 포함함 -
    를 포함하는 하는 장치.
  26. 제25항에 있어서,
    상기 복수의 소자는,
    상기 출력 소자 및 상기 드라이버와 통신하는 자원 관리자를 포함하고,
    상기 자원 관리자는, 상기 제어 신호에 기초해서 상기 출력 소자에서 사용가능한 자원을 관리하도록 구성되고, 상기 출력 소자는 또한, 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트와 복수의 이펙트 슬롯으로부터의 일 이펙트 슬롯을, 그 햅틱 이펙트와 결합된 타임 슬롯에 적어도 부분적으로 기초해서 결합하도록 구성되고, 상기 복수의 소자는 상기 자원 관리자를 포함하는 장치.
  27. 제25항에 있어서,
    상기 복수의 소자는,
    상기 출력 소자 및 상기 드라이버와 통신하는 자원 관리자 - 상기 자원 관리자는, 상기 제어 신호에 기초해서 상기 출력 소자에서 사용가능한 자원을 관리하도록 구성되고, 상기 출력 소자는 또한, 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트와 복수의 이펙트 슬롯으로부터의 일 이펙트 슬롯을, 그 햅틱 이펙트와 결합된 타임 슬롯에 적어도 부분적으로 기초해서 결합하도록 구성되고, 상기 복수의 소자는 상기 자원 관리자를 포함함 -; 및
    상기 드라이버와 통신하는 오더링 소자 - 상기 오더링 소자는, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트와 상기 복수의 타임 슬롯으로부터의 일 타임 슬롯을 결합하도록 구성되고, 상기 복수의 소자는 상기 오더링 소자를 포함함 -
    를 포함하는 장치.
  28. 제25항에 있어서,
    상기 복수의 소자는,
    상기 출력 소자 및 상기 드라이버와 통신하는 자원 관리자 - 상기 자원 관리자는, 상기 제어 신호에 기초해서 상기 출력 소자에서 사용가능한 자원을 관리하도록 구성되고, 상기 출력 소자는 또한, 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트와 복수의 이펙트 슬롯으로부터의 일 이펙트 슬롯을, 그 햅틱 이펙트와 결합된 타임 슬롯에 적어도 부분적으로 기초해서 결합하도록 구성되고, 상기 복수의 소자는 상기 자원 관리자를 포함함 -; 및
    상기 드라이버와 통신하는 오더링 소자 - 상기 오더링 소자는, 상기 제어 신호에 적어도 부분적으로 기초해서, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트와 상기 복수의 타임 슬롯으로부터의 일 타임 슬롯을 결합하도록 구성되고, 상기 복수의 소자는 상기 오더링 소자를 포함함 -
    를 포함하는 장치.
  29. 제25항에 있어서,
    상기 복수의 소자는, 상기 드라이버와 통신하는 오더링 소자를 포함하고,
    상기 오더링 소자는, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트와 상기 복수의 타임 슬롯으로부터의 일 타임 슬롯을 결합하도록 구성되는 장치.
  30. 명령을 나타내는 코드를 포함하는 프로세서-판독가능 매체로서,
    상기 명령은, 프로세서로 하여금,
    인터페이스 소자로부터 신호를 수신하고;
    드라이버에 의해, 상기 인터페이스 소자로부터 수신된 상기 신호에 적어도 부분적으로 기초해서 제어 신호를 송신하고;
    출력 소자에 의해, 복수의 신호를 출력하도록 하는 것이고,
    상기 복수의 신호로부터의 각 신호는 상기 제어 신호에 적어도 부분적으로 기초하고, 상기 복수의 신호로부터의 각 신호는 결합된 타임 슬롯 동안 기초 햅틱 이펙트가 발생되게 하도록 구성되는 프로세서-판독가능 매체.
  31. 제30항에 있어서,
    상기 명령은 또한, 프로세서로 하여금,
    복수의 타임 슬롯에 적어도 부분적으로 기초해서 상기 복수의 신호를 오더링함으로써 적어도 하나의 오더링된 햅틱 이펙트 신호를 생성하도록 하는 것이고,
    상기 복수의 타임 슬롯은 상기 기초 햅틱 이펙트와 결합된 타임 슬롯을 포함하고, 상기 복수의 타임 슬롯으로부터의 각 타임 슬롯은 복수의 기초 햅틱 이펙트로부터의 일 기초 햅틱 이펙트와 결합되고, 상기 복수의 기초 햅틱 이펙트는 상기 기초 햅틱 이펙트를 포함하는 프로세서-판독가능 매체.
  32. 제30항에 있어서,
    상기 명령은 또한, 프로세서로 하여금,
    복수의 타임 슬롯에 적어도 부분적으로 기초해서 상기 복수의 신호를 오더링함으로써 적어도 하나의 오더링된 햅틱 이펙트 신호를 생성하고 - 상기 복수의 타임 슬롯은 상기 기초 햅틱 이펙트와 결합된 타임 슬롯을 포함하고, 상기 복수의 타임 슬롯으로부터의 각 타임 슬롯은 복수의 기초 햅틱 이펙트로부터의 일 기초 햅틱 이펙트와 결합되고, 상기 복수의 기초 햅틱 이펙트는 상기 기초 햅틱 이펙트를 포함함 -;
    상기 적어도 하나의 오더링된 햅틱 이펙트 신호를 송신하도록 하는 것인 프로세서-판독가능 매체.
  33. 제30항에 있어서,
    상기 명령은 또한, 프로세서로 하여금,
    복수의 타임 슬롯에 적어도 부분적으로 기초해서 상기 복수의 신호를 오더링함으로써 적어도 하나의 오더링된 햅틱 이펙트 신호를 생성하고 - 상기 복수의 타임 슬롯은 상기 기초 햅틱 이펙트와 결합된 타임 슬롯을 포함하고, 상기 복수의 타임 슬롯으로부터의 각 타임 슬롯은 복수의 기초 햅틱 이펙트로부터의 일 기초 햅틱 이펙트와 결합되고, 상기 복수의 기초 햅틱 이펙트는 상기 기초 햅틱 이펙트를 포함함 -;
    상기 적어도 하나의 오더링된 햅틱 이펙트 신호를 송신하고;
    복수의 기초 햅틱 이펙트를 출력하도록 하는 것이고,
    상기 복수의 햅틱 이펙트로부터의 각 기초 햅틱 이펙트는, 상기 적어도 하나의 오더링된 햅틱 이펙트 신호에 의해 특정된 순서로 출력되는 프로세서-판독가능 매체.
  34. 제30항에 있어서,
    상기 명령은 또한, 프로세서로 하여금,
    복수의 이펙트 슬롯으로부터의 일 이펙트 슬롯과 결합된 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트를 결합하도록 하는 것이고,
    상기 복수의 기초 햅틱 이펙트는 상기 기초 햅틱 이펙트를 포함하고, 상기 복수의 기초 햅틱 이펙트로부터의 각 햅틱 이펙트는 복수의 타임 슬롯으로부터의 일 타임 슬롯과 결합되고, 각 햅틱 이펙트는, 그 기초 햅틱 이펙트와 결합된 타임 슬롯에 적어도 부분적으로 기초해서, 상기 복수의 이펙트 슬롯으로부터의 일 이펙트 슬롯과 결합되는 프로세서-판독가능 매체.
  35. 복수의 기초 햅틱 이펙트가 출력되게 하도록 구성된 제1 출력 소자 - 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트는 일 타임 슬롯과 결합되고, 상기 제1 출력 소자는, 결합된 상기 타임 슬롯 동안 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트를 출력하도록 구성됨 - ; 및
    상기 복수의 기초 햅틱 이펙트의 출력과 동기하여 비-햅틱 출력을 발생시키도록 구성된 제2 출력 소자
    를 포함하는 장치.
  36. 복수의 기초 햅틱 이펙트가 선정된 순서로 출력되게 하도록 구성된 제1 신호를 출력하는 단계 - 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트는 일 타임 슬롯과 결합되고, 상기 선정된 순서는, 상기 복수의 기초 햅틱 이펙트로부터의 각 기초 햅틱 이펙트와 결합된 타임 슬롯에 적어도 부분적으로 기초함 - ; 및
    상기 복수의 기초 햅틱 이펙트의 출력과 동기하여 비-햅틱 출력을 발생시키도록 구성된 제2 신호를 출력하는 단계
    를 포함하는 방법.
  37. 삭제
KR1020077003569A 2004-07-15 2004-12-03 햅틱 이펙트를 오더링하기 위한 시스템 및 방법 Expired - Fee Related KR100909516B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US58790404P 2004-07-15 2004-07-15
US60/587,904 2004-07-15
US10/983,229 2004-11-08
US10/983,229 US7765333B2 (en) 2004-07-15 2004-11-08 System and method for ordering haptic effects
PCT/US2004/040505 WO2006019389A2 (en) 2004-07-15 2004-12-03 System and method for ordering haptic effects

Publications (2)

Publication Number Publication Date
KR20070035077A KR20070035077A (ko) 2007-03-29
KR100909516B1 true KR100909516B1 (ko) 2009-07-27

Family

ID=35907819

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077003569A Expired - Fee Related KR100909516B1 (ko) 2004-07-15 2004-12-03 햅틱 이펙트를 오더링하기 위한 시스템 및 방법

Country Status (4)

Country Link
US (8) US7765333B2 (ko)
EP (2) EP1779220B1 (ko)
KR (1) KR100909516B1 (ko)
WO (1) WO2006019389A2 (ko)

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765333B2 (en) 2004-07-15 2010-07-27 Immersion Corporation System and method for ordering haptic effects
US20100312129A1 (en) 2005-01-26 2010-12-09 Schecter Stuart O Cardiovascular haptic handle system
WO2007030603A2 (en) * 2005-09-08 2007-03-15 Wms Gaming Inc. Gaming machine having display with sensory feedback
WO2007117418A2 (en) 2006-03-31 2007-10-18 Wms Gaming Inc. Portable wagering game with vibrational cues and feedback mechanism
US8786613B2 (en) 2006-04-08 2014-07-22 Alan Millman Method and system for interactive simulation of materials and models
US8395626B2 (en) * 2006-04-08 2013-03-12 Alan Millman Method and system for interactive simulation of materials
US8378964B2 (en) * 2006-04-13 2013-02-19 Immersion Corporation System and method for automatically producing haptic events from a digital audio signal
US8000825B2 (en) * 2006-04-13 2011-08-16 Immersion Corporation System and method for automatically producing haptic events from a digital audio file
US7979146B2 (en) * 2006-04-13 2011-07-12 Immersion Corporation System and method for automatically producing haptic events from a digital audio signal
EP1936929A1 (en) * 2006-12-21 2008-06-25 Samsung Electronics Co., Ltd Haptic generation method and system for mobile phone
US8098234B2 (en) 2007-02-20 2012-01-17 Immersion Corporation Haptic feedback system with stored effects
KR100860547B1 (ko) * 2007-03-02 2008-09-26 광주과학기술원 촉감 정보 저작 방법과 장치, 및 컴퓨터로 판독가능한 기록매체
KR100835297B1 (ko) * 2007-03-02 2008-06-05 광주과학기술원 촉감 정보 표현을 위한 노드 구조 및 이를 이용한 촉감정보 전송 방법과 시스템
US8761846B2 (en) 2007-04-04 2014-06-24 Motorola Mobility Llc Method and apparatus for controlling a skin texture surface on a device
US8315652B2 (en) * 2007-05-18 2012-11-20 Immersion Corporation Haptically enabled messaging
US8621348B2 (en) * 2007-05-25 2013-12-31 Immersion Corporation Customizing haptic effects on an end user device
US8508486B2 (en) * 2007-10-01 2013-08-13 Immersion Corporation Directional haptic effects for a handheld device
US9019087B2 (en) * 2007-10-16 2015-04-28 Immersion Corporation Synchronization of haptic effect data in a media stream
US8325144B1 (en) * 2007-10-17 2012-12-04 Immersion Corporation Digital envelope modulator for haptic feedback devices
US8138896B2 (en) 2007-12-31 2012-03-20 Apple Inc. Tactile feedback in an electronic device
FR2934066B1 (fr) * 2008-07-21 2013-01-25 Dav Dispositif de commande a retour haptique
US20100274817A1 (en) * 2009-04-16 2010-10-28 Bum-Suk Choi Method and apparatus for representing sensory effects using user's sensory effect preference metadata
KR20100114858A (ko) * 2009-04-16 2010-10-26 한국전자통신연구원 실감 기기 성능 메타데이터를 이용한 실감 효과 표현 방법 및 장치
KR101615872B1 (ko) * 2009-05-08 2016-04-27 삼성전자주식회사 휴대단말기의 햅틱 기능 전송 방법 및 시스템
KR101686913B1 (ko) * 2009-08-13 2016-12-16 삼성전자주식회사 전자기기에서 이벤트 서비스 제공 방법 및 장치
KR101644303B1 (ko) * 2009-12-01 2016-08-01 삼성전자주식회사 휴대용 단말기에서 햅틱 기능을 제공하기 위한 장치 및 방법
KR20110063297A (ko) * 2009-12-02 2011-06-10 삼성전자주식회사 휴대용단말기 및 그 제어방법
US20110276659A1 (en) * 2010-04-05 2011-11-10 Electronics And Telecommunications Research Institute System and method for providing multimedia service in a communication system
US8710965B2 (en) * 2010-09-22 2014-04-29 At&T Intellectual Property I, L.P. Devices, systems, and methods for tactile feedback and input
US8624857B2 (en) * 2011-02-09 2014-01-07 Texas Instruments Incorporated Haptics effect controller architecture and instruction set
US9448626B2 (en) 2011-02-11 2016-09-20 Immersion Corporation Sound to haptic effect conversion system using amplitude value
US8717152B2 (en) 2011-02-11 2014-05-06 Immersion Corporation Sound to haptic effect conversion system using waveform
US8942828B1 (en) 2011-04-13 2015-01-27 Stuart Schecter, LLC Minimally invasive cardiovascular support system with true haptic coupling
US20120302323A1 (en) 2011-05-23 2012-11-29 Wms Gaming Inc. Haptic gaming chairs and wagering game systems and machines with a haptic gaming chair
US9142083B2 (en) 2011-06-13 2015-09-22 Bally Gaming, Inc. Convertible gaming chairs and wagering game systems and machines with a convertible gaming chair
US10191546B2 (en) * 2011-06-20 2019-01-29 Immersion Corporation Haptic theme framework
KR101189633B1 (ko) * 2011-08-22 2012-10-10 성균관대학교산학협력단 손가락 움직임에 따른 포인터 제어명령어 인식 방법 및 손가락 움직임에 따라 포인터를 제어하는 모바일 단말
JP5950275B2 (ja) * 2011-12-21 2016-07-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 表示装置上に表示可能な1又は複数の電子データ中に振動部分を設定する方法、並びに、その装置及びコンピュータ・プログラム
US8493354B1 (en) 2012-08-23 2013-07-23 Immersion Corporation Interactivity model for shared feedback on mobile devices
US9715276B2 (en) 2012-04-04 2017-07-25 Immersion Corporation Sound to haptic effect conversion system using multiple actuators
US8570296B2 (en) * 2012-05-16 2013-10-29 Immersion Corporation System and method for display of multiple data channels on a single haptic display
US10013082B2 (en) 2012-06-05 2018-07-03 Stuart Schecter, LLC Operating system with haptic interface for minimally invasive, hand-held surgical instrument
US9030428B2 (en) 2012-07-11 2015-05-12 Immersion Corporation Generating haptic effects for dynamic events
US10081109B2 (en) * 2012-09-06 2018-09-25 Fanuc America Corporation Haptic teach pendant
US9092059B2 (en) * 2012-10-26 2015-07-28 Immersion Corporation Stream-independent sound to haptic effect conversion system
US8947216B2 (en) 2012-11-02 2015-02-03 Immersion Corporation Encoding dynamic haptic effects
US9898084B2 (en) * 2012-12-10 2018-02-20 Immersion Corporation Enhanced dynamic haptic effects
US9997032B2 (en) * 2013-04-09 2018-06-12 Immersion Corporation Offline haptic conversion system
US9519346B2 (en) * 2013-05-17 2016-12-13 Immersion Corporation Low-frequency effects haptic conversion system
US9274603B2 (en) 2013-05-24 2016-03-01 Immersion Corporation Method and apparatus to provide haptic feedback based on media content and one or more external parameters
US10248206B2 (en) 2013-08-20 2019-04-02 Xsync Technologies Llc Systems and methods for multimedia tactile augmentation
US9703379B2 (en) 2013-08-20 2017-07-11 Xsync Technologies Llc Systems and methods for multimedia tactile augmentation
US9213408B2 (en) 2013-10-08 2015-12-15 Immersion Corporation Generating haptic effects while minimizing cascading
US20150205352A1 (en) * 2013-12-29 2015-07-23 Immersion Corporation Distributed control architecture for haptic devices
US9715279B2 (en) * 2014-06-09 2017-07-25 Immersion Corporation Haptic devices and methods for providing haptic effects via audio tracks
US9811436B2 (en) * 2014-11-19 2017-11-07 Sandisk Technologies Llc Visual indicator for portable device
US10613629B2 (en) 2015-03-27 2020-04-07 Chad Laurendeau System and method for force feedback interface devices
WO2017024001A1 (en) * 2015-08-05 2017-02-09 Dolby Laboratories Licensing Corporation Low bit rate parametric encoding and transport of haptic-tactile signals
JP2018528534A (ja) * 2015-09-25 2018-09-27 イマージョン コーポレーションImmersion Corporation ハプティック効果設計システム
KR101790892B1 (ko) 2016-05-17 2017-10-26 주식회사 씨케이머티리얼즈랩 음향 신호를 촉각 신호로 변환하기 방법 및 이를 이용하는 햅틱 장치
US10606357B2 (en) * 2017-03-28 2020-03-31 Tanvas, Inc. Multi rate processing device for rendering haptic feedback
US10732714B2 (en) 2017-05-08 2020-08-04 Cirrus Logic, Inc. Integrated haptic system
US11259121B2 (en) 2017-07-21 2022-02-22 Cirrus Logic, Inc. Surface speaker
US20190041987A1 (en) 2017-08-03 2019-02-07 Immersion Corporation Haptic effect encoding and rendering system
US10455339B2 (en) 2018-01-19 2019-10-22 Cirrus Logic, Inc. Always-on detection systems
US10620704B2 (en) 2018-01-19 2020-04-14 Cirrus Logic, Inc. Haptic output systems
US11139767B2 (en) 2018-03-22 2021-10-05 Cirrus Logic, Inc. Methods and apparatus for driving a transducer
US10795443B2 (en) 2018-03-23 2020-10-06 Cirrus Logic, Inc. Methods and apparatus for driving a transducer
US10667051B2 (en) 2018-03-26 2020-05-26 Cirrus Logic, Inc. Methods and apparatus for limiting the excursion of a transducer
US10832537B2 (en) 2018-04-04 2020-11-10 Cirrus Logic, Inc. Methods and apparatus for outputting a haptic signal to a haptic transducer
US11069206B2 (en) 2018-05-04 2021-07-20 Cirrus Logic, Inc. Methods and apparatus for outputting a haptic signal to a haptic transducer
US11269415B2 (en) 2018-08-14 2022-03-08 Cirrus Logic, Inc. Haptic output systems
US10800433B2 (en) 2018-09-14 2020-10-13 Honda Motor Co., Ltd. Seat haptic system and method of equalizing haptic output
GB201817495D0 (en) 2018-10-26 2018-12-12 Cirrus Logic Int Semiconductor Ltd A force sensing system and method
US10726683B1 (en) 2019-03-29 2020-07-28 Cirrus Logic, Inc. Identifying mechanical impedance of an electromagnetic load using a two-tone stimulus
US12176781B2 (en) 2019-03-29 2024-12-24 Cirrus Logic Inc. Methods and systems for estimating transducer parameters
US12035445B2 (en) 2019-03-29 2024-07-09 Cirrus Logic Inc. Resonant tracking of an electromagnetic load
US11509292B2 (en) 2019-03-29 2022-11-22 Cirrus Logic, Inc. Identifying mechanical impedance of an electromagnetic load using least-mean-squares filter
US10955955B2 (en) 2019-03-29 2021-03-23 Cirrus Logic, Inc. Controller for use in a device comprising force sensors
US10828672B2 (en) 2019-03-29 2020-11-10 Cirrus Logic, Inc. Driver circuitry
US10992297B2 (en) 2019-03-29 2021-04-27 Cirrus Logic, Inc. Device comprising force sensors
US11644370B2 (en) 2019-03-29 2023-05-09 Cirrus Logic, Inc. Force sensing with an electromagnetic load
US11150733B2 (en) 2019-06-07 2021-10-19 Cirrus Logic, Inc. Methods and apparatuses for providing a haptic output signal to a haptic actuator
US10976825B2 (en) 2019-06-07 2021-04-13 Cirrus Logic, Inc. Methods and apparatuses for controlling operation of a vibrational output system and/or operation of an input sensor system
WO2020254788A1 (en) 2019-06-21 2020-12-24 Cirrus Logic International Semiconductor Limited A method and apparatus for configuring a plurality of virtual buttons on a device
US11408787B2 (en) 2019-10-15 2022-08-09 Cirrus Logic, Inc. Control methods for a force sensor system
US11380175B2 (en) 2019-10-24 2022-07-05 Cirrus Logic, Inc. Reproducibility of haptic waveform
US12276687B2 (en) 2019-12-05 2025-04-15 Cirrus Logic Inc. Methods and systems for estimating coil impedance of an electromagnetic transducer
US11545951B2 (en) 2019-12-06 2023-01-03 Cirrus Logic, Inc. Methods and systems for detecting and managing amplifier instability
DE112021002333T5 (de) * 2020-04-14 2023-02-09 Sony Group Corporation Datenverarbeitungsvorrichtung und Datenverarbeitungsverfahren
US12244253B2 (en) 2020-04-16 2025-03-04 Cirrus Logic Inc. Restricting undesired movement of a haptic actuator
US11662821B2 (en) 2020-04-16 2023-05-30 Cirrus Logic, Inc. In-situ monitoring, calibration, and testing of a haptic actuator
US11933822B2 (en) 2021-06-16 2024-03-19 Cirrus Logic Inc. Methods and systems for in-system estimation of actuator parameters
US11765499B2 (en) 2021-06-22 2023-09-19 Cirrus Logic Inc. Methods and systems for managing mixed mode electromechanical actuator drive
US11908310B2 (en) 2021-06-22 2024-02-20 Cirrus Logic Inc. Methods and systems for detecting and managing unexpected spectral content in an amplifier system
US11552649B1 (en) 2021-12-03 2023-01-10 Cirrus Logic, Inc. Analog-to-digital converter-embedded fixed-phase variable gain amplifier stages for dual monitoring paths
US20230400277A1 (en) * 2022-05-25 2023-12-14 Haptech, Inc. Haptic system for a firearm simulator

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003032538A2 (en) * 2001-10-10 2003-04-17 Immersion Corporation Sound data output and manipulation using haptic feedback
WO2003032289A1 (en) * 2001-10-09 2003-04-17 Immersion Corporation Haptic feedback sensations based on audio output from computer devices

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4334280A (en) 1980-06-09 1982-06-08 Texas Instruments Incorporated System and method for providing an audible sound and a tactile feedback in an electronic data processing system
US4355348A (en) 1980-07-30 1982-10-19 Williams Theodore R Audio signal responsive optical display
US5388992A (en) 1991-06-19 1995-02-14 Audiological Engineering Corporation Method and apparatus for tactile transduction of acoustic signals from television receivers
US5629594A (en) 1992-12-02 1997-05-13 Cybernet Systems Corporation Force feedback system
US5526480A (en) 1992-12-28 1996-06-11 International Business Machines Corporation Time domain scroll bar for multimedia presentations in a data processing system
US5461711A (en) 1993-12-22 1995-10-24 Interval Research Corporation Method and system for spatial accessing of time-based information
WO1995020787A1 (en) * 1994-01-27 1995-08-03 Exos, Inc. Multimode feedback display technology
US5586257A (en) 1994-05-05 1996-12-17 Perlman; Stephen G. Network architecture to support multiple site real-time video games
US6004134A (en) 1994-05-19 1999-12-21 Exos, Inc. Interactive simulation including force feedback
US6160489A (en) * 1994-06-23 2000-12-12 Motorola, Inc. Wireless communication device adapted to generate a plurality of distinctive tactile alert patterns
EP0776499B1 (en) 1994-08-18 2000-02-02 Interval Research Corporation Content-based haptic input device for video
US5669818A (en) 1995-03-23 1997-09-23 Thorner; Craig Seat-based tactile sensation generator
US5684722A (en) 1994-09-21 1997-11-04 Thorner; Craig Apparatus and method for generating a control signal for a tactile sensation generator
US5959613A (en) 1995-12-01 1999-09-28 Immersion Corporation Method and apparatus for shaping force signals for a force feedback device
US6147674A (en) 1995-12-01 2000-11-14 Immersion Corporation Method and apparatus for designing force sensations in force feedback computer applications
US5956484A (en) 1995-12-13 1999-09-21 Immersion Corporation Method and apparatus for providing force feedback over a computer network
US6161126A (en) 1995-12-13 2000-12-12 Immersion Corporation Implementing force feedback over the World Wide Web and other computer networks
US6859819B1 (en) 1995-12-13 2005-02-22 Immersion Corporation Force feedback enabled over a computer network
DE69725172T2 (de) 1996-03-08 2004-04-08 Motorola, Inc., Schaumburg Verfahren und gerät zum erkennen von geräuschsignalproben aus einem geräusch
US5884029A (en) 1996-11-14 1999-03-16 International Business Machines Corporation User interaction with intelligent virtual objects, avatars, which interact with other avatars controlled by different users
US6111562A (en) 1997-01-06 2000-08-29 Intel Corporation System for generating an audible cue indicating the status of a display object
US6285351B1 (en) 1997-04-25 2001-09-04 Immersion Corporation Designing force sensations for computer applications including sounds
US7091948B2 (en) 1997-04-25 2006-08-15 Immersion Corporation Design of force sensations for haptic feedback computer interfaces
US6005551A (en) 1997-04-25 1999-12-21 Microsoft Corporation Offline force effect rendering
US6252583B1 (en) 1997-11-14 2001-06-26 Immersion Corporation Memory and force output management for a force feedback system
US6448977B1 (en) * 1997-11-14 2002-09-10 Immersion Corporation Textures and other spatial sensations for a relative haptic interface device
US6292776B1 (en) 1999-03-12 2001-09-18 Lucent Technologies Inc. Hierarchial subband linear predictive cepstral features for HMM-based speech recognition
US6424356B2 (en) 1999-05-05 2002-07-23 Immersion Corporation Command of force sensations in a forceback system using force effect suites
DE20022244U1 (de) * 1999-07-01 2001-11-08 Immersion Corp Steuerung vibrotaktiler Empfindungen für Haptische Rückkopplungsvorrichtungen
US6337678B1 (en) * 1999-07-21 2002-01-08 Tactiva Incorporated Force feedback computer input and output device with coordinated haptic elements
DE20080209U1 (de) 1999-09-28 2001-08-09 Immersion Corp Steuerung von haptischen Empfindungen für Schnittstellenvorrichtungen mit Vibrotaktiler Rückkopplung
US6710764B1 (en) 2000-05-09 2004-03-23 Logitech Europe S.A. Method and system for processing force feedback effects generated at a host for playback at a physical interaction device
US6639582B1 (en) 2000-08-10 2003-10-28 International Business Machines Corporation System for combining haptic sensory-motor effects from two separate input devices into resultant sensory-motor effects and for feedback of such resultant effects between the input devices
FI113519B (fi) * 2001-03-02 2004-04-30 Nokia Corp Menetelmä ja laitteisto ominaisuuksien yhdistämiseksi matkaviestimessä
US7567232B2 (en) 2001-03-09 2009-07-28 Immersion Corporation Method of using tactile feedback to deliver silent status information to a user of an electronic device
US6885876B2 (en) 2001-03-12 2005-04-26 Nokia Mobile Phones Ltd. Mobile phone featuring audio-modulated vibrotactile module
US6963762B2 (en) * 2001-05-23 2005-11-08 Nokia Corporation Mobile phone using tactile icons
GB0114458D0 (en) 2001-06-14 2001-08-08 Lucas Industries Ltd An in-vehicle display system
EP1445922A1 (en) 2003-02-06 2004-08-11 Dialog Semiconductor GmbH Monolithic optical read-out circuit
US7791588B2 (en) * 2003-12-22 2010-09-07 Immersion Corporation System and method for mapping instructions associated with haptic feedback
US7283120B2 (en) 2004-01-16 2007-10-16 Immersion Corporation Method and apparatus for providing haptic feedback having a position-based component and a predetermined time-based component
US7765333B2 (en) 2004-07-15 2010-07-27 Immersion Corporation System and method for ordering haptic effects
US9495009B2 (en) 2004-08-20 2016-11-15 Immersion Corporation Systems and methods for providing haptic effects
KR101298781B1 (ko) 2004-11-30 2013-08-22 임머숀 코퍼레이션 진동촉각 햅틱 효과를 발생시키는 공진 디바이스를 제어하기 위한 시스템 및 방법
US7920694B2 (en) 2006-02-03 2011-04-05 Immersion Corporation Generation of consistent haptic effects
US7890863B2 (en) 2006-10-04 2011-02-15 Immersion Corporation Haptic effects with proximity sensing
KR101618590B1 (ko) 2008-12-09 2016-05-09 코닌클리케 필립스 엔.브이. 몰입 효과들을 제공하기 위한 방법 및 시스템
KR20170026642A (ko) 2009-07-22 2017-03-08 임머숀 코퍼레이션 제어 제스처의 입력 동안에 가상 장비의 제어에 관한 복합 햅틱 자극을 제공하기 위한 시스템 및 방법
US9317116B2 (en) 2009-09-09 2016-04-19 Immersion Corporation Systems and methods for haptically-enhanced text interfaces
EP2624100B1 (en) 2012-02-01 2017-06-14 Immersion Corporation Eccentric rotating mass actuator optimization for haptic effects
US8711118B2 (en) 2012-02-15 2014-04-29 Immersion Corporation Interactivity model for shared feedback on mobile devices
US8493354B1 (en) 2012-08-23 2013-07-23 Immersion Corporation Interactivity model for shared feedback on mobile devices
US9030428B2 (en) 2012-07-11 2015-05-12 Immersion Corporation Generating haptic effects for dynamic events
US9092059B2 (en) 2012-10-26 2015-07-28 Immersion Corporation Stream-independent sound to haptic effect conversion system
US8947216B2 (en) 2012-11-02 2015-02-03 Immersion Corporation Encoding dynamic haptic effects
US9330544B2 (en) 2012-11-20 2016-05-03 Immersion Corporation System and method for simulated physical interactions with haptic effects
US8754757B1 (en) 2013-03-05 2014-06-17 Immersion Corporation Automatic fitting of haptic effects
US9202352B2 (en) 2013-03-11 2015-12-01 Immersion Corporation Automatic haptic effect adjustment system
US9098984B2 (en) 2013-03-14 2015-08-04 Immersion Corporation Haptic effects broadcasting during a group event
US9245429B2 (en) 2013-09-06 2016-01-26 Immersion Corporation Haptic warping system
US9158379B2 (en) 2013-09-06 2015-10-13 Immersion Corporation Haptic warping system that transforms a haptic signal into a collection of vibrotactile haptic effect patterns
US9213408B2 (en) 2013-10-08 2015-12-15 Immersion Corporation Generating haptic effects while minimizing cascading
US9164587B2 (en) 2013-11-14 2015-10-20 Immersion Corporation Haptic spatialization system
US9330547B2 (en) 2014-05-20 2016-05-03 Immersion Corporation Haptic effect authoring tool based on a haptification model
US9174134B1 (en) 2014-11-12 2015-11-03 Immersion Corporation Peripheral device with haptic diminishment prevention component

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003032289A1 (en) * 2001-10-09 2003-04-17 Immersion Corporation Haptic feedback sensations based on audio output from computer devices
WO2003032538A2 (en) * 2001-10-10 2003-04-17 Immersion Corporation Sound data output and manipulation using haptic feedback
WO2003032538A3 (en) * 2001-10-10 2003-08-21 Immersion Corp Sound data output and manipulation using haptic feedback

Also Published As

Publication number Publication date
US9507421B2 (en) 2016-11-29
US20150058722A1 (en) 2015-02-26
US8572293B2 (en) 2013-10-29
US8260972B2 (en) 2012-09-04
EP1779220B1 (en) 2019-03-13
US7765333B2 (en) 2010-07-27
US8909817B2 (en) 2014-12-09
WO2006019389A2 (en) 2006-02-23
US20100287311A1 (en) 2010-11-11
US20120249464A1 (en) 2012-10-04
US10359852B2 (en) 2019-07-23
US20060129719A1 (en) 2006-06-15
EP1779220A2 (en) 2007-05-02
US20140068110A1 (en) 2014-03-06
US20190339781A1 (en) 2019-11-07
US20170147069A1 (en) 2017-05-25
US10656718B2 (en) 2020-05-19
US20180136731A1 (en) 2018-05-17
EP3435242A1 (en) 2019-01-30
EP1779220A4 (en) 2015-11-04
US10152128B2 (en) 2018-12-11
WO2006019389A3 (en) 2009-09-24
KR20070035077A (ko) 2007-03-29

Similar Documents

Publication Publication Date Title
KR100909516B1 (ko) 햅틱 이펙트를 오더링하기 위한 시스템 및 방법
US10955984B2 (en) Step sequencer for a virtual instrument
US8717287B2 (en) Force sensations for haptic feedback computer interfaces
CN101657786B (zh) 具有存储的效应的触觉反馈系统
CN103513766B (zh) 使用颗粒合成的触觉效果转换系统
Martínez et al. Vitaki: a vibrotactile prototyping toolkit for virtual reality and video games
WO2000055839A1 (en) Designing compound force sensations for computer applications
US10497347B2 (en) Singing voice edit assistant method and singing voice edit assistant device
CN100416498C (zh) 显示处理装置和显示处理方法
KR20200081211A (ko) 햅틱 효과 신호 처리
US11024340B2 (en) Audio sample playback unit
Sheridan et al. Soundstudio 4D: A VR Interface for Gestural Composition of Spatial Soundscapes.
Müller Computer-aided musical performance with the Distributed RUBATO environment
Yamauchi et al. Mobile user interface for music
US20080170477A1 (en) Remote controlled media systems and methods
JP2004109745A (ja) 表情付けパラメータ編集装置および表情付けパラメータ編集方法を実現するためのプログラム
Schlei TC-Data: Extending Multi-Touch Interfaces for Generalized Relational Control

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

FPAY Annual fee payment

Payment date: 20130705

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

FPAY Annual fee payment

Payment date: 20140708

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20150706

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20160711

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

FPAY Annual fee payment

Payment date: 20170711

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

FPAY Annual fee payment

Payment date: 20180711

Year of fee payment: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

FPAY Annual fee payment

Payment date: 20190710

Year of fee payment: 11

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 13

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20220721

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20220721