KR20150028737A - Haptic conversion system using frequency shifting - Google Patents

Haptic conversion system using frequency shifting Download PDF

Info

Publication number
KR20150028737A
KR20150028737A KR20140116790A KR20140116790A KR20150028737A KR 20150028737 A KR20150028737 A KR 20150028737A KR 20140116790 A KR20140116790 A KR 20140116790A KR 20140116790 A KR20140116790 A KR 20140116790A KR 20150028737 A KR20150028737 A KR 20150028737A
Authority
KR
South Korea
Prior art keywords
frequencies
frequency
input signal
haptic
signal
Prior art date
Application number
KR20140116790A
Other languages
Korean (ko)
Other versions
KR102310668B1 (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 KR20150028737A publication Critical patent/KR20150028737A/en
Application granted granted Critical
Publication of KR102310668B1 publication Critical patent/KR102310668B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/06Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
    • G10L21/16Transforming into a non-visible representation

Abstract

Provided is a system that converts an input into one or more haptic effects using frequency shifting. The system receives an input signal. The system further performs a fast Fourier transform of the input signal. The system further shifts one or more frequencies of the transformed input signal to one or more frequencies within a shift-to frequency range. The system further performs an inverse fast Fourier transform of the frequency-shifted signal, where the inversely transformed signal forms a haptic signal. The system further generates the one or more haptic effects based on the haptic signal.

Description

주파수 천이를 사용한 햅틱 변환 시스템{HAPTIC CONVERSION SYSTEM USING FREQUENCY SHIFTING}TECHNICAL FIELD [0001] The present invention relates to a haptic conversion system using a frequency transition,

하나의 실시예는 일반적으로 디바이스에 관한 것이며, 보다 상세하게는, 햅틱 효과들을 생성하는 디바이스에 관한 것이다.One embodiment relates generally to a device, and more particularly, to a device that generates haptic effects.

햅틱은 힘, 진동 및 움직임과 같은 햅틱 피드백 효과들(즉, "햅틱 효과들")을 사용자에게 가함으로써 사용자의 촉감(sense of touch)을 이용하는 촉각 및 힘 피드백 기술이다. 모바일 디바이스, 터치스크린 디바이스, 및 개인용 컴퓨터와 같은 디바이스들이 햅틱 효과들을 발생시키도록 구성될 수 있다. 일반적으로, 햅틱 효과들을 발생시킬 수 있는 내장된 하드웨어(액추에이터 등)에 대한 호출이 디바이스의 운영 체제(OS) 내에 프로그램되어 있을 수 있다. 이들 호출은 어느 햅틱 효과를 재생할지를 명시한다. 예를 들어, 사용자가, 예를 들어, 버튼, 터치스크린, 레버, 조이스틱, 휘일, 또는 어떤 다른 컨트롤을 사용하여 디바이스와 상호작용할 때, 디바이스의 OS는 제어 회로를 통해 내장된 하드웨어로 재생 명령을 송신할 수 있다. 내장된 하드웨어는 이어서 적절한 햅틱 효과를 생성한다.Haptic is a tactile and force feedback technique that utilizes a user's sense of touch by applying haptic feedback effects (i.e., "haptic effects") such as force, vibration and motion. Devices such as mobile devices, touch screen devices, and personal computers can be configured to generate haptic effects. Generally, a call to embedded hardware (such as an actuator) that may cause haptic effects may be programmed into the device's operating system (OS). These calls specify which haptic effect to play. For example, when a user interacts with a device using, for example, a button, a touch screen, a lever, a joystick, a wheel, or some other control, the device's OS sends a playback command Can be transmitted. Embedded hardware then generates the appropriate haptic effect.

햅틱 효과들이 다른 성분 내에 포함되도록, 디바이스들이 오디오와 같은 다른 성분의 출력과 함께 햅틱 효과들의 출력을 조정하도록 구성되어 있을 수 있다. 예를 들어, 오디오 효과 개발자는 기관총 사격, 폭발, 또는 자동차 충돌과 같은, 디바이스에 의해 출력될 수 있는 오디오 효과들을 개발할 수 있다. 게다가, 비디오 효과들과 같은 다른 유형들의 콘텐츠가 개발되고 나중에 디바이스에 의해 출력될 수 있다. 햅틱 효과 개발자는 그 후에 디바이스에 대한 햅틱 효과를 제작할 수 있고, 디바이스는 다른 성분과 함께 햅틱 효과를 출력하도록 구성되어 있을 수 있다. 그렇지만, 이러한 프로세스는 일반적으로 오디오 효과 또는 다른 유형의 콘텐츠를 정확하게 보완하는 햅틱 효과를 제작하기 위해 햅틱 효과 개발자의 개인 판단을 필요로 한다. 오디오 효과 또는 다른 유형의 콘텐츠를 보완하지 않는 형편없이 제작된 햅틱 효과는, 햅틱 효과가 오디오 효과 또는 다른 콘텐츠와 "잘 맞지" 않는 경우, 전체적으로 조화되지 않는 효과를 생성할 수 있다. 이러한 유형의 사용자 경험은 일반적으로 요망되지 않는다.The devices may be configured to adjust the output of the haptic effects with the output of other components such as audio, such that the haptic effects are contained within the other component. For example, an audio effects developer can develop audio effects that can be output by the device, such as machine gun fire, explosion, or car crashes. In addition, other types of content, such as video effects, may be developed and later output by the device. The haptic effect developer may then make a haptic effect on the device, and the device may be configured to output the haptic effect with other components. However, this process generally requires the personal judgment of a haptic effect developer to produce a haptic effect that accurately compensates for audio effects or other types of content. A poorly made haptic effect that does not complement audio effects or other types of content can produce an overall harmonic effect if the haptic effect does not "fit " well with audio effects or other content. This type of user experience is generally not desired.

하나의 실시예는 주파수 천이를 사용하여 입력을 하나 이상의 햅틱 효과들로 변환하는 시스템이다. 이 시스템은 입력 신호를 수신한다. 이 시스템은 또한 입력 신호의 고속 푸리에 변환을 수행한다. 이 시스템은 또한 변환된 입력 신호의 하나 이상의 주파수들을 천이후 주파수 범위(shift-to frequency range) 내의 하나 이상의 주파수들로 천이시킨다. 이 시스템은 또한 주파수 천이된 신호의 역 고속 푸리에 변환을 수행하고, 여기서 역 변환된 신호는 햅틱 신호를 형성한다. 이 시스템은 또한 햅틱 신호에 기초하여 하나 이상의 햅틱 효과들을 발생시킨다.One embodiment is a system that transforms an input to one or more haptic effects using a frequency transition. The system receives the input signal. The system also performs fast Fourier transform of the input signal. The system also transitions one or more frequencies of the transformed input signal to one or more frequencies within a shift-to frequency range. The system also performs an inverse fast Fourier transform of the frequency shifted signal, where the inverse transformed signal forms a haptic signal. The system also generates one or more haptic effects based on the haptic signal.

추가의 실시예, 상세, 장점 및 수정이, 첨부 도면과 관련하여 기술되어 있는 바람직한 실시예의 이하의 상세한 설명으로부터 명백하게 될 것이다.
도 1은 본 발명의 하나의 실시예에 따른 시스템의 블록도.
도 2는 본 발명의 일 실시예에 따른, 입력 신호의 복수의 주파수들의 주파수 천이를 나타낸 도면으로서, 여기서 주파수 천이는 입력 신호를 햅틱 신호로 변환하는 데 사용됨.
도 3은 본 발명의 일 실시예에 따른, 햅틱 변환 모듈의 기능의 흐름도.
도 4는 본 발명의 일 실시예에 따른, 입력 신호를 햅틱 신호로 변환하는 제1 예시적인 방법의 흐름도.
도 5는 본 발명의 일 실시예에 따른, 입력 신호를 햅틱 신호로 변환하는 제2 예시적인 방법의 흐름도.
도 6은 본 발명의 일 실시예에 따른, 입력 신호를 햅틱 신호로 변환하는 제3 예시적인 방법의 흐름도.
도 7은 본 발명의 일 실시예에 따른, 입력 신호를 햅틱 신호로 변환하는 제4 예시적인 방법의 흐름도.
도 8은 본 발명의 일 실시예에 따른, 입력 신호를 햅틱 신호로 변환하는 제5 예시적인 방법의 흐름도.
Further embodiments, details, advantages and modifications will become apparent from the following detailed description of the preferred embodiments, which is to be read in connection with the accompanying drawings.
1 is a block diagram of a system according to one embodiment of the present invention;
2 is a diagram illustrating a frequency transition of a plurality of frequencies of an input signal, according to an embodiment of the present invention, wherein the frequency transition is used to convert the input signal into a haptic signal.
Figure 3 is a flow diagram of the functionality of a haptic transformation module, in accordance with an embodiment of the present invention.
4 is a flow diagram of a first exemplary method for converting an input signal to a haptic signal, in accordance with an embodiment of the present invention.
5 is a flow diagram of a second exemplary method for converting an input signal to a haptic signal, in accordance with an embodiment of the present invention.
6 is a flow diagram of a third exemplary method for converting an input signal to a haptic signal, in accordance with an embodiment of the present invention.
7 is a flow diagram of a fourth exemplary method for converting an input signal to a haptic signal, in accordance with an embodiment of the present invention.
8 is a flow diagram of a fifth exemplary method for converting an input signal to a haptic signal, in accordance with an embodiment of the present invention.

하나의 실시예는 입력 신호에 관련된 햅틱 신호를 자동으로 도출할 수 있는 시스템이다. 입력 신호의 한 예는 오디오 신호일 수 있고, 여기서 오디오 신호는 오디오 파일 또는 비디오 파일과 같은 멀티미디어 파일의 한 성분일 수 있다. 도출된 햅틱 신호는 액추에이터와 같은 햅틱 출력 디바이스와 호환되는 범위로 천이된 주파수 컨텐츠를 포함한다. 이와 같이, 이 시스템은 도출된 햅틱 신호를 햅틱 출력 디바이스로 송신하고, 도출된 햅틱 신호에 기초하여 하나 이상의 햅틱 효과들을 발생시킬 수 있다. 다른 대안으로서, 이 시스템은 나중에 재생될 햅틱 신호를 다른 신호들과 함께 동기적 방식으로 저장할 수 있다. 이 실시예에 따르면, 이 시스템은, 관련 햅틱 신호를 도출하기 위해, 입력 신호의 고속 푸리에 변환을 이용할 수 있다. 이 시스템은 입력 신호의 주파수 컨텐츠를 분석할 수 있고, (상이한 접근 방법들을 사용하여 그리고 상이한 방식들로) 가장 높은 진폭들을 갖는 주파수들을 검출할 수 있으며, 이 주파수들을 (상이한 기법들에 의해) 햅틱 출력 디바이스의 공진 주파수 주변의 주파수 범위로 천이시킬 수 있다. 이하에서 더 상세히 기술되는 바와 같이, 입력 신호의 주파수 컨텐츠를 분류하고 천이시키기 위해 상이한 전략들이 이용될 수 있다.One embodiment is a system that can automatically derive a haptic signal associated with an input signal. An example of an input signal may be an audio signal, where the audio signal may be a component of a multimedia file, such as an audio file or a video file. The derived haptic signal includes frequency content transited to a range compatible with a haptic output device such as an actuator. Thus, the system can transmit the derived haptic signal to the haptic output device and generate one or more haptic effects based on the derived haptic signal. Alternatively, the system may store the haptic signal to be reproduced later in a synchronous manner with other signals. According to this embodiment, the system may utilize a fast Fourier transform of the input signal to derive an associated haptic signal. The system can analyze the frequency content of the input signal and can detect frequencies with the highest amplitudes (using different approaches and in different ways), and detect these frequencies (by different techniques) It can be shifted to the frequency range around the resonance frequency of the output device. Different strategies may be used to classify and transition the frequency content of the input signal, as will be described in more detail below.

도 1은 본 발명의 하나의 실시예에 따른 시스템(10)의 블록도를 나타낸 것이다. 하나의 실시예에서, 시스템(10)은 모바일 디바이스의 일부이고, 시스템(10)은 모바일 디바이스에 햅틱 변환 기능을 제공한다. 다른 실시예에서, 시스템(10)은 웨어러블 디바이스의 일부이고, 시스템(10)은 웨어러블 디바이스에 햅틱 변환 기능을 제공한다. 웨어러블 디바이스들의 예들은 손목 밴드, 헤드 밴드, 안경, 반지, 발목 밴드, 의복에 통합되어 있는 어레이, 또는 사용자가 신체에 착용할 수 있거나 소지될 수 있는 임의의 다른 유형의 디바이스를 포함한다. 어떤 웨어러블 디바이스들은 "햅틱적으로 인에이블"될 수 있고, 이는 그 디바이스들이 햅틱 효과들을 발생시키는 메커니즘을 포함한다는 것을 의미한다. 다른 실시예에서, 시스템(10)은 디바이스(예컨대, 모바일 디바이스 또는 웨어러블 디바이스)와 분리되어 있고, 디바이스에 햅틱 변환 기능을 원격적으로 제공한다. 비록 단일의 시스템으로서 도시되어 있지만, 시스템(10)의 기능이 분산 시스템으로서 구현될 수 있다. 시스템(10)은 정보를 전달하는 버스(12) 또는 다른 통신 메커니즘, 및 버스(12)에 결합되어 있는, 정보를 처리하는 프로세서(22)를 포함하고 있다. 프로세서(22)는 임의의 유형의 범용 또는 전용 프로세서일 수 있다. 시스템(10)은 정보 및 프로세서(22)에 의해 실행될 명령어들을 저장하는 메모리(14)를 추가로 포함하고 있다. 메모리(14)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 자기 또는 광 디스크와 같은 정적 저장 장치, 또는 임의의 다른 유형의 컴퓨터 판독가능 매체의 임의의 조합으로 이루어져 있을 수 있다.Figure 1 shows a block diagram of a system 10 in accordance with one embodiment of the present invention. In one embodiment, the system 10 is part of a mobile device, and the system 10 provides haptic conversion functionality to the mobile device. In another embodiment, the system 10 is part of a wearable device, and the system 10 provides a haptic translation function to the wearable device. Examples of wearable devices include wristbands, headbands, glasses, rings, ankle bands, arrays integrated into a garment, or any other type of device that a wearer can wear or carry on the body. Some wearable devices can be "haptically enabled ", which means that the devices include a mechanism for generating haptic effects. In another embodiment, the system 10 is separate from a device (e.g., a mobile device or wearable device) and remotely provides a haptic translation function to the device. Although depicted as a single system, the functionality of the system 10 may be implemented as a distributed system. The system 10 includes a bus 12 or other communication mechanism for communicating information and a processor 22 for processing information coupled to the bus 12. The processor 22 may be any type of general purpose or special purpose processor. The system 10 further includes a memory 14 for storing information and instructions to be executed by the processor 22. The memory 14 may be comprised of any combination of random access memory (RAM), read only memory (ROM), static storage such as magnetic or optical disk, or any other type of computer readable media.

컴퓨터 판독가능 매체는 프로세서(22)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있고, 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체, 통신 매체, 및 저장 매체 모두를 포함할 수 있다. 통신 매체는 반송파 또는 기타 전송 메커니즘과 같은 피변조 데이터 신호 내의 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 기타 데이터를 포함할 수 있고, 기술 분야에 공지된 임의의 다른 형태의 정보 전달 매체를 포함할 수 있다. 저장 매체는 RAM, 플래시 메모리, ROM, EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 레지스터, 하드 디스크, 이동식 디스크, CD-ROM(compact disk read-only memory), 또는 기술 분야에 공지된 임의의 다른 형태의 저장 매체를 포함할 수 있다.Computer readable media can be any available media that can be accessed by processor 22 and can include both volatile and nonvolatile media, removable and non-removable media, communication media, and storage media. Communication media may include computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any other form of information delivery medium known in the art . ≪ / RTI > The storage medium may be RAM, flash memory, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, a hard disk, a removable disk, a compact disk read- , Or any other form of storage medium known in the art.

하나의 실시예에서, 메모리(14)는 프로세서(22)에 의해 실행될 때 기능을 제공하는 소프트웨어 모듈들을 저장한다. 이 모듈들은, 하나의 실시예에서, 시스템(10)은 물론 모바일 디바이스의 나머지에 운영 체제 기능을 제공하는 운영 체제(15)를 포함하고 있다. 이 모듈들은, 이하에 더 상세히 개시되어 있는 바와 같이, 주파수 천이를 사용하여 입력을 하나 이상의 햅틱 효과들로 변환하는 햅틱 변환 모듈(16)을 추가로 포함하고 있다. 특정의 실시예들에서, 햅틱 변환 모듈(16)은 복수의 모듈을 포함할 수 있고, 여기서 각각의 모듈은 주파수 천이를 사용하여 입력을 하나 이상의 햅틱 효과들로 변환하는 특정의 개별 기능을 제공한다. 시스템(10)은 통상적으로 Immersion Corporation의 IntegratorTM 소프트웨어와 같은 부가의 기능을 포함시키기 위해 하나 이상의 부가의 응용 프로그램 모듈들(18)을 포함할 것이다.In one embodiment, memory 14 stores software modules that provide functionality when executed by processor 22. These modules, in one embodiment, include an operating system 15 that provides operating system functionality to the system 10 as well as to the remainder of the mobile device. These modules further include a haptic conversion module 16 that uses a frequency transition to convert the input to one or more haptic effects, as described in more detail below. In certain embodiments, the haptic conversion module 16 may comprise a plurality of modules, where each module provides a specific individual function of converting the input to one or more haptic effects using a frequency transition . The system 10 will typically include one or more additional application modules 18 to include additional functionality, such as Integrator TM software from Immersion Corporation.

시스템(10)은, 원격 소스들로 데이터를 전송 및/또는 그들로부터 데이터를 수신하는 실시예들에서, 적외선, 무선, Wi-Fi, 또는 셀룰러 네트워크 통신과 같은 모바일 무선 네트워크 통신을 제공하기 위해 네트워크 인터페이스 카드와 같은 통신 디바이스(20)를 추가로 포함한다. 다른 실시예들에서, 통신 디바이스(20)는 이더넷 연결 또는 모뎀과 같은 유선 네트워크 연결을 제공한다.The system 10 may be used to provide mobile wireless network communications, such as infrared, wireless, Wi-Fi, or cellular network communications, in embodiments that transmit and / or receive data to and / And further includes a communication device 20 such as an interface card. In other embodiments, the communication device 20 provides a wired network connection, such as an Ethernet connection or a modem.

프로세서(22)는 또한, 버스(12)를 통해, 그래픽 표현 또는 사용자 인터페이스를 사용자에게 디스플레이하는 LCD(Liquid Crystal Display)와 같은 디스플레이(24)에 결합되어 있다. 디스플레이(24)는 프로세서(22)로 신호들을 송신하고 그로부터 신호들을 수신하도록 구성되어 있는 터치스크린과 같은 터치 감응 입력 디바이스일 수 있고, 멀티-터치 터치스크린일 수 있다.The processor 22 is also coupled to a display 24, such as a liquid crystal display (LCD), that displays, via the bus 12, a graphical representation or user interface to the user. The display 24 may be a touch sensitive input device, such as a touch screen, configured to transmit signals to and receive signals from the processor 22, and may be a multi-touch touch screen.

하나의 실시예에서, 시스템(10)은 액추에이터(26)를 추가로 포함하고 있다. 프로세서(22)는 발생된 햅틱 효과와 연관되어 있는 햅틱 신호를 액추에이터(26)로 전송할 수 있고, 액추에이터(26)는 차례로 진동촉각 햅틱 효과들, 정전 마찰 햅틱 효과들, 또는 변형 햅틱 효과들과 같은 햅틱 효과들을 출력한다. 액추에이터(26)는 액추에이터 구동 회로를 포함하고 있다. 액추에이터(26)는, 예를 들어, 전기 모터, 전자기 액추에이터, 보이스 코일, 형상 기억 합금, 전기 활성 중합체(electro-active polymer), 솔레노이드, ERM(eccentric rotating mass motor), LRA(linear resonant actuator), 압전 액추에이터, 고대역폭 액추에이터, EAP(electro-active polymer) 액추에이터, 정전 마찰 디스플레이, 또는 초음파 진동 발생기일 수 있다. 대안의 실시예들에서, 시스템(10)은, 액추에이터(26)에 부가하여, 하나 이상의 부가의 액추에이터들(도 1에 예시되지 않음)을 포함할 수 있다. 액추에이터(26)는 햅틱 출력 디바이스의 한 예이고, 여기서 햅틱 출력 디바이스는, 구동 신호에 응답하여, 진동촉각 햅틱 효과들, 정전 마찰 햅틱 효과들, 또는 변형 햅틱 효과들과 같은 햅틱 효과들을 출력하도록 구성되어 있는 디바이스이다. 대안의 실시예들에서, 액추에이터(26)는 어떤 다른 유형의 햅틱 출력 디바이스로 대체될 수 있다. 게다가, 다른 대안의 실시예들에서, 시스템(10)은 액추에이터(26)를 포함하지 않을 수 있고, 시스템(10)과 별개의 디바이스가 햅틱 효과들을 발생시키는 액추에이터 또는 다른 햅틱 출력 디바이스를 포함하고 있으며, 시스템(10)은 발생된 햅틱 신호들을 통신 디바이스(20)를 통해 그 디바이스로 송신한다.In one embodiment, the system 10 further includes an actuator 26. The processor 22 may send a haptic signal associated with the generated haptic effect to the actuator 26 and the actuator 26 may in turn transmit the haptic signal to the actuator 26 such as vibrotactile haptic effects, electrostatic friction haptic effects, And outputs haptic effects. The actuator 26 includes an actuator driving circuit. Actuator 26 may be, for example, an electric motor, an electromagnetic actuator, a voice coil, a shape memory alloy, an electro-active polymer, a solenoid, an eccentric rotating mass motor (ERM), a linear resonant actuator (LRA) A piezoelectric actuator, a high-bandwidth actuator, an electro-active polymer (EAP) actuator, an electrostatic friction display, or an ultrasonic vibration generator. In alternate embodiments, the system 10 may include one or more additional actuators (not illustrated in FIG. 1) in addition to the actuator 26. The actuator 26 is an example of a haptic output device wherein the haptic output device is configured to output haptic effects such as vibrotactile haptic effects, electrostatic friction haptic effects, or deformed haptic effects in response to a drive signal . In alternate embodiments, the actuator 26 may be replaced with any other type of haptic output device. In addition, in other alternative embodiments, the system 10 may not include an actuator 26, and a device separate from the system 10 may include an actuator or other haptic output device that generates haptic effects , The system 10 transmits the generated haptic signals to the device via the communication device 20.

하나의 실시예에서, 시스템(10)은 스피커(28)를 추가로 포함하고 있다. 프로세서(22)는 오디오 신호를 스피커(28)로 전송할 수 있고, 스피커(28)는 차례로 오디오 효과들을 출력한다. 스피커(28)는, 예를 들어, 다이나믹 스피커, 일렉트로다이나믹 스피커, 압전 스피커, 자기 변형 스피커, 정전기 스피커, 리본 및 평면 자기 스피커, 굽힘파 스피커, 평판 스피커, 헤일 에어 모션 트랜스듀서(heil air motion transducer), 플라즈마 아크 스피커, 및 디지털 스피커일 수 있다. 대안의 실시예들에서, 시스템(10)은, 스피커(28)에 부가하여, 하나 이상의 부가의 스피커들(도 1에 예시되지 않음)을 포함할 수 있다. 게다가, 다른 대안의 실시예들에서, 시스템(10)은 스피커(28)를 포함하지 않을 수 있고, 시스템(10)과 별개의 디바이스가 오디오 효과들을 출력하는 스피커를 포함하고 있으며, 시스템(10)은 오디오 신호들을 통신 디바이스(20)를 통해 그 디바이스로 송신한다.In one embodiment, the system 10 further includes a speaker 28. The processor 22 may transmit the audio signal to the speaker 28, which in turn outputs the audio effects. The speaker 28 may be any type of speaker such as, for example, a dynamic speaker, an electrodynamic speaker, a piezoelectric speaker, a magnetostrictive speaker, an electrostatic speaker, a ribbon and a flat magnetic speaker, a bending wave speaker, a flat speaker, a heil air motion transducer ), A plasma arc speaker, and a digital speaker. In alternative embodiments, the system 10, in addition to the speaker 28, may include one or more additional speakers (not illustrated in FIG. 1). In addition, in other alternative embodiments, the system 10 may not include a speaker 28, and a separate device from the system 10 may include a speaker for outputting audio effects, Transmits audio signals to the device via the communication device (20).

하나의 실시예에서, 시스템(10)은 센서(30)를 추가로 포함하고 있다. 센서(30)는 사운드, 움직임, 가속도, 바이오 신호, 거리, 흐름, 힘/압력/변형/굴곡, 습도, 선형 위치, 배향/기울기, 무선 주파수, 회전 위치, 회전 속도, 스위치의 조작, 온도, 진동, 또는 가시광 세기(이들로 제한되지 않음)와 같은 한 형태의 에너지 또는 다른 물리적 특성을 검출하도록 구성되어 있을 수 있다. 센서(30)는 또한 검출된 에너지 또는 다른 물리적 특성을 가상 센서 정보를 표현하는 전기 신호 또는 임의의 신호로 변환하도록 구성되어 있을 수 있다. 센서(30)는 가속도계, 심전도계, 뇌파도계, 근전계, 전기안구도계, 전기구개도계, 전기 피부 반응 센서, 용량성 센서, 홀 효과 센서, 적외선 센서, 초음파 센서, 압력 센서, 광섬유 센서, 굴곡 센서(또는 굽힘 센서), 힘 감응 저항기, 로드 셀, LuSense CPS2 155, 소형 압력 변환기, 압전 센서, 변형 게이지, 습도계, 선형 위치 터치 센서, 선형 전위차계(또는 슬라이더), 선형 가변 차동 변압기, 나침반, 경사계, 자기 태그(또는 RFID(radio frequency identification tag)), 회전식 인코더, 회전식 전위차계, 자이로스코프, 온-오프 스위치, 온도 센서(온도계, 열전쌍, 저항 온도 검출기, 써미스터, 또는 온도 변환 집적 회로 등), 마이크, 광도계, 고도계, 바이오 모니터, 카메라, 또는 광 의존 저항기(이들로 제한되지 않음)와 같은 임의의 디바이스일 수 있다. 대안의 실시예들에서, 시스템(10)은, 센서(30)에 부가하여, 하나 이상의 부가의 센서들(도 1에 예시되지 않음)을 포함할 수 있다. 이 실시예들 중 일부 실시예들에서, 센서(30) 및 하나 이상의 부가의 센서들은 센서 어레이, 또는 어떤 다른 유형의 센서들의 집합체의 일부일 수 있다. 게다가, 다른 대안의 실시예들에서, 시스템(10)은 센서(30)를 포함하지 않을 수 있고, 시스템(10)과 별개의 디바이스가 한 형태의 에너지, 또는 다른 물리적 특성을 검출하고 검출된 에너지 또는 다른 물리적 특성을 가상 센서 정보를 표현하는 전기 신호 또는 다른 유형의 신호로 변환하는는 센서를 포함한다. 그 디바이스는 이어서 변환된 신호를 통신 디바이스(20)를 통해 시스템(10)으로 송신할 수 있다.In one embodiment, the system 10 further comprises a sensor 30. The sensor 30 may be any type of sensor capable of sensing and controlling a sound, a movement, an acceleration, a bio signal, a distance, a flow, a force / pressure / strain / bend, a humidity, a linear position, an orientation / tilt, Such as, but not limited to, light, vibration, or visible light intensity. The sensor 30 may also be configured to convert the detected energy or other physical characteristics into an electrical signal or any signal representing the virtual sensor information. The sensor 30 may be an accelerometer, an electrocardiograph, an electroencephalograph, a near field, an electric ophthalmometer, an electric palate, an electric skin reaction sensor, a capacitive sensor, a Hall effect sensor, an infrared sensor, an ultrasonic sensor, (Or bend sensor), force sensitive resistor, load cell, LuSense CPS 2 155, miniature pressure transducer, piezoelectric sensor, strain gage, hygrometer, linear position touch sensor, linear potentiometer (or slider), linear variable differential transformer, compass, A temperature sensor (such as a thermometer, a thermocouple, a resistance temperature detector, a thermistor, or a temperature conversion integrated circuit), a temperature sensor, A microphone, a photometer, an altimeter, a bio-monitor, a camera, or a light-dependent resistor. In alternative embodiments, the system 10, in addition to the sensor 30, may include one or more additional sensors (not illustrated in FIG. 1). In some of these embodiments, the sensor 30 and one or more additional sensors may be part of an array of sensors, or a collection of some other type of sensors. In addition, in other alternative embodiments, the system 10 may not include the sensor 30, and a device separate from the system 10 may detect one type of energy, or other physical characteristic, Or other physical characteristics into electrical or other types of signals representing virtual sensor information. The device can then transmit the converted signal to the system 10 via the communication device 20. [

도 2는 본 발명의 일 실시예에 따른, 입력 신호의 복수의 주파수들의 주파수 천이를 나타낸 것으로서, 여기서 주파수 천이는 입력 신호를 햅틱 신호로 변환하는 데 사용된다. 도 2는 한 유형의 입력 신호인 오디오 신호의 표현인 그래프(210)를 나타내고 있다. 대안의 실시예들에서, 오디오 신호는 센서로 포착되는 데이터를 포함할 수 있는 비디오 신호, 가속도 신호, 배향 신호, 주변광 신호, 또는 다른 유형의 신호와 같은 다른 유형의 입력 신호로 대체될 수 있다.FIG. 2 illustrates a frequency transition of a plurality of frequencies of an input signal, according to an embodiment of the present invention, wherein the frequency transition is used to convert the input signal into a haptic signal. FIG. 2 shows a graph 210 that is a representation of an audio signal, which is an input signal of one type. In alternative embodiments, the audio signal may be replaced by another type of input signal, such as a video signal, an acceleration signal, an orientation signal, an ambient light signal, or other type of signal that may include data captured by the sensor .

이 실시예에 따르면, 오디오 신호에 대해 고속 푸리에 변환이 수행될 수 있고, 여기서 변환된 오디오 신호는 그래프(220)로 표현되어 있다. 고속 푸리에 변환은 공간 또는 시간과 같은 한 영역에서 정의된 신호 또는 다른 함수의 파장 또는 주파수와 같은 다른 영역으로의 매핑이다.According to this embodiment, a fast Fourier transform may be performed on an audio signal, where the transformed audio signal is represented by a graph 220. A fast Fourier transform is a mapping of signals or other functions defined in one area such as space or time to other areas such as wavelength or frequency.

이어서, 변환된 오디오 신호의 하나 이상의 주파수들이 다수의 주파수 천이 방법들 중 하나에 따라 분류되고 천이될 수 있고, 여기서 주파수 천이된 오디오 신호는 그래프(230)로 표현되어 있다. 보다 구체적으로는, 변환된 신호의 주파수들은 (진폭과 같은) 특성에 의해 분류되고, 변환된 신호의 분류된 주파수들 중 하나, 일부, 또는 전부가 선택되며, 변환된 신호의 선택된 주파수들이 기존의 주파수로부터 "천이후" 주파수 범위 내의 주파수로 천이된다.The one or more frequencies of the transformed audio signal may then be classified and transited according to one of the plurality of frequency transition methods, wherein the frequency shifted audio signal is represented by graph 230. More specifically, the frequencies of the transformed signal are classified by a characteristic (such as amplitude), and one, some, or all of the classified frequencies of the transformed signal are selected, Frequency to a frequency within the "after" frequency range.

주파수들을 분류하고 천이시키는 예시적인 기법들이, 도 4, 도 5, 도 6, 도 7 및 도 8과 관련하여, 입력 신호를 햅틱 신호로 변환하는 예시적인 방법들의 일부로서 이하에서 더 기술된다. 그렇지만, 당업자라면, 이하에서 기술되는 예시적인 주파수 천이 기법들이 예시적인 실시예들에 따른 예시적인 주파수 천이 기법들에 불과하다는 것과, 대안의 실시예들에서, 변환된 오디오 신호의 주파수들이 다른 대안의 주파수 천이 기법들에 따라 분류되고 천이될 수 있다는 것을 잘 알 것이다. 게다가, 이하에서 기술되는 예시적인 기법들이 한 세트의 독자적인 햅틱 효과들을 생성하는 데 사용될 수 있고, 여기서 한 세트의 햅틱 효과들은 선택되는 주파수 천이 기법에 기초하여 상이한 "느낌"을 낼 것이다. 그에 부가하여, 사용되는 주파수 천이 기법이 시스템에 의해 사전 정의될 수 있거나, 시스템 관리자, 햅틱 효과 개발자, 사용자, 또는 어떤 다른 개인에 의해 커스터마이즈될 수 있다.Exemplary techniques for classifying and transiting frequencies are further described below as part of exemplary methods for converting an input signal to a haptic signal, with reference to Figures 4, 5, 6, 7, and 8. However, those skilled in the art will appreciate that the exemplary frequency shifting techniques described below are exemplary frequency shifting techniques in accordance with the illustrative embodiments, and that, in alternative embodiments, It will be appreciated that frequency shift techniques can be categorized and transited according to the techniques. In addition, the exemplary techniques described below may be used to generate a set of proprietary haptic effects, where one set of haptic effects will produce a different "feel" based on the selected frequency transition technique. In addition, the frequency transition technique used can be predefined by the system, or customized by the system administrator, the haptic effect developer, the user, or some other individual.

이 실시예에 따르면, 주파수 천이된 오디오 신호에 대해 역 고속 푸리에 변환이 수행될 수 있고, 여기서 역 변환된 오디오 신호는 그래프(240)로 표현되어 있다. 햅틱 신호가 이어서 역 변환된 오디오 신호에 기초하여 형성될 수 있다. 햅틱 신호가 이어서 액추에이터와 같은 햅틱 출력 디바이스로 송신될 수 있고, 여기서 햅틱 신호는 하나 이상의 햅틱 효과들을 출력하기 위해 햅틱 출력 디바이스에 의해 사용된다. 다른 대안으로서, 햅틱 신호는 RAM, 플래시 메모리, ROM, EPROM, EEPROM, 레지스터, 하드 디스크, 이동식 디스크, CD-ROM, 또는 임의의 다른 형태의 저장 매체와 같은 저장 매체에 저장될 수 있다. 햅틱 신호가 이어서 저장 매체로부터 검색되고 햅틱 출력 디바이스로 송신될 수 있으며, 따라서 햅틱 출력 디바이스는 햅틱 신호에 기초하여 하나 이상의 햅틱 효과들을 출력할 수 있다.According to this embodiment, an inverse fast Fourier transform may be performed on the frequency shifted audio signal, where the inverse transformed audio signal is represented by graph 240. The haptic signal can then be formed based on the inversely transformed audio signal. The haptic signal can then be transmitted to a haptic output device, such as an actuator, where the haptic signal is used by the haptic output device to output one or more haptic effects. Alternatively, the haptic signal may be stored in a storage medium such as RAM, flash memory, ROM, EPROM, EEPROM, register, hard disk, removable disk, CD-ROM, or any other form of storage medium. The haptic signal can then be retrieved from the storage medium and transmitted to the haptic output device, so that the haptic output device can output one or more haptic effects based on the haptic signal.

도 3은 본 발명의 하나의 실시예에 따른, (도 1의 햅틱 변환 모듈(16)과 같은) 햅틱 변환 모듈의 기능의 흐름도를 나타낸 것이다. 하나의 실시예에서, 도 3의 기능은 물론 도 4, 도 5, 도 6, 도 7 및 도 8의 기능 각각이, 메모리 또는 다른 컴퓨터 판독가능 또는 유형의 매체에 저장되어 있고 프로세서에 의해 실행되는 소프트웨어에 의해, 구현된다. 다른 실시예들에서, 각각의 기능이 하드웨어에 의해(예컨대, ASIC(application specific integrated circuit), PGA(programmable gate array), FPGA(field programmable gate array) 등의 사용을 통해) 또는 하드웨어와 소프트웨어의 임의의 조합에 의해 수행될 수 있다.FIG. 3 illustrates a flow diagram of the functionality of a haptic transformation module (such as the haptic transformation module 16 of FIG. 1), in accordance with one embodiment of the present invention. In one embodiment, the functionality of FIG. 3 as well as FIG. 4, FIG. 5, FIG. 6, FIG. 7, and FIG. 8 may each be stored in memory or other computer readable or type media and executed by a processor It is implemented by software. In other embodiments, each function may be implemented in hardware (e.g., through the use of an application specific integrated circuit (ASIC), programmable gate array (PGA), field programmable gate array (FPGA) And the like.

흐름이 시작되고 300으로 진행한다. 300에서, 입력 신호가 수신된다. 특정의 실시예들에서, 입력 신호는 오디오 신호일 수 있다. 다른 실시예들에서, 입력 신호는 비디오 신호일 수 있다. 다른 실시예들에서, 입력 신호는 가속도 신호일 수 있다. 흐름이 이어서 310으로 진행한다.Flow begins and proceeds to 300. At 300, an input signal is received. In certain embodiments, the input signal may be an audio signal. In other embodiments, the input signal may be a video signal. In other embodiments, the input signal may be an acceleration signal. The flow then continues to 310.

310에서, 입력 신호에 대해 고속 푸리에 변환이 수행된다. 흐름이 이어서 320으로 진행한다.At 310, a fast Fourier transform is performed on the input signal. The flow then continues to 320.

320에서, 변환된 입력 신호의 복수의 주파수들의 진폭이 정규화된다. 특정의 실시예들에서, 입력 신호의 고속 푸리에 변환의 결과, 다음과 같은 2개의 벡터가 얻어진다: 주파수들을 포함하는 하나의 벡터, 및 그 주파수들에 대응하는 크기들을 포함하는 다른 벡터. 모든 크기들 중의 최대값이 발견될 수 있고, 최대값이 모든 크기들을 정규화하는 데 사용될 수 있고, 따라서 그 결과 1 미만의 값을 갖는 크기 벡터가 얻어진다. 환언하면, 크기들을 포함하는 벡터가 1에 대해 정규화될 수 있다. 특정의 실시예들에서, 320이 생략될 수 있다. 흐름이 이어서 330으로 진행한다.At 320, the amplitudes of the plurality of frequencies of the transformed input signal are normalized. In certain embodiments, as a result of the fast Fourier transform of the input signal, two vectors are obtained: one vector containing frequencies, and another vector containing sizes corresponding to those frequencies. A maximum value of all sizes may be found and a maximum value may be used to normalize all sizes so that a magnitude vector having a value less than 1 is obtained. In other words, a vector containing magnitudes can be normalized to one. In certain embodiments, 320 may be omitted. The flow then continues to 330.

330에서, 변환된 입력 신호의 주파수들이 분류된다. 주파수들이 주파수들의 특성에 기초하여 분류될 수 있다. 특정의 실시예들에서, 변환된 입력 신호의 주파수들이, 도 4, 도 5, 도 6, 도 7 및 도 8과 관련하여 이하에서 더 상세히 기술되는, 입력 신호를 햅틱 신호로 변환하는 예시적인 방법들 중 하나의 방법의 일부인 분류 기법에 따라 분류될 수 있다. 특정의 실시예들에서, 330이 생략될 수 있다. 흐름이 이어서 340으로 진행한다.At 330, the frequencies of the transformed input signal are categorized. The frequencies may be classified based on the characteristics of the frequencies. In certain embodiments, the frequency of the transformed input signal is determined by an exemplary method of converting an input signal to a haptic signal, as described in more detail below with respect to Figures 4, 5, 6, 7, Lt; RTI ID = 0.0 > a < / RTI > In certain embodiments, 330 may be omitted. The flow then continues to 340.

340에서, 변환된 입력 신호의 주파수들로부터 하나 이상의 주파수들이 선택된다. 변환된 입력 신호의 주파수들 중 하나, 일부 또는 전부가 선택될 수 있다. 특정의 실시예들에서, 변환된 입력 신호의 주파수들이, 도 4, 도 5, 도 6, 도 7 및 도 8과 관련하여 이하에서 더 상세히 기술되는, 입력 신호를 햅틱 신호로 변환하는 예시적인 방법들 중 하나의 방법의 일부인 선택 기법에 따라 선택될 수 있다. 특정의 실시예들에서, 340이 생략될 수 있다. 흐름이 이어서 350으로 진행한다.At 340, one or more frequencies are selected from the frequencies of the transformed input signal. One, some or all of the frequencies of the transformed input signal may be selected. In certain embodiments, the frequency of the transformed input signal is determined by an exemplary method of converting an input signal to a haptic signal, as described in more detail below with respect to Figures 4, 5, 6, 7, May be selected according to a selection technique that is part of one of the methods. In certain embodiments, 340 may be omitted. The flow then continues to 350.

350에서, 변환된 입력 신호의 선택된 주파수들이 클러스터링된다. 클러스터링에 의해, 선택된 주파수들이 더 적은 수의 주파수들로 감소될 수 있다. 특정의 실시예들에서, 변환된 입력 신호의 선택된 주파수들이, 도 4, 도 5, 도 6, 도 7 및 도 8과 관련하여 이하에서 더 상세히 기술되는, 입력 신호를 햅틱 신호로 변환하는 예시적인 방법들 중 하나의 방법의 일부인 클러스터링 기법에 따라 클러스터링될 수 있다. 그에 부가하여, 특정의 실시예들에서, 350이 생략될 수 있다. 흐름이 이어서 360으로 진행한다.At 350, selected frequencies of the transformed input signal are clustered. By clustering, the selected frequencies can be reduced to a lesser number of frequencies. In certain embodiments, the selected frequencies of the transformed input signal are converted to a haptic signal by converting an input signal to a haptic signal, as described in more detail below with respect to Figures 4, 5, 6, 7, Clustering techniques that are part of one of the methods can be clustered. In addition, in certain embodiments, 350 may be omitted. The flow then continues to 360.

360에서, 변환된 입력 신호의 클러스터링된 주파수들이 "천이후" 주파수 범위 내로 천이된다. 천이에 의해, 각각의 클러스터링된 주파수가 그의 원래의 주파수(즉, "천이전(shift-from)" 주파수)로부터 새로운 주파수(즉, "천이후" 주파수)로 이동된다. 특정의 실시예들에서, 변환된 입력 신호의 클러스터링된 주파수들이, 도 4, 도 5, 도 6, 도 7 및 도 8과 관련하여 이하에서 더 상세히 기술되는, 입력 신호를 햅틱 신호로 변환하는 예시적인 방법들 중 하나의 방법의 일부인 주파수 천이 기법에 따라 천이될 수 있다. 또한, 특정의 실시예에서, 햅틱 신호가 얻어진 주파수 천이된 신호에 기초하여 형성된다. 흐름이 이어서 370으로 진행한다.At 360, the clustered frequencies of the transformed input signal transitions to within the "after" frequency range. By transition, each clustered frequency is shifted from its original frequency (i.e., the "shift-from" frequency) to the new frequency (ie, the "after" frequency). In certain embodiments, the clustered frequencies of the transformed input signal may be transformed into an example of converting an input signal to a haptic signal, as described in more detail below with respect to Figures 4, 5, 6, 7, And can be transited according to a frequency transition technique which is part of one of the methods. Further, in a specific embodiment, a haptic signal is formed based on the obtained frequency shifted signal. The flow then proceeds to 370.

370에서, 주파수 천이된 신호에 대해 역 고속 푸리에 변환이 수행된다. 특정의 실시예들에서, 햅틱 신호가 얻어진 역 변환된 신호에 기초하여 형성된다. 흐름이 이어서 380으로 진행한다.At 370, an inverse fast Fourier transform is performed on the frequency shifted signal. In certain embodiments, a haptic signal is formed based on the obtained inverse transformed signal. The flow then proceeds to 380.

380에서, 역 변환된 신호가 원래의 입력 신호로 포락선 처리된다. 이것은 원래의 입력 신호와 역 변환된 신호 사이의 일대일 점(샘플) 곱셈(one-to-one point (sample) multiplication)일 수 있다. 포락선 처리를 하는 다른 방식은 원래의 입력 신호의 포락선을 추출하고 역 변환된 신호를 이 포락선과 곱하는 것이다. 다른 대안으로서, 역 변환된 신호가 포락선 처리되지 않고 그대로 사용되거나, 환언하면, 1의 일정한 크기를 갖는 포락선과 곱해질 수 있다. 특정의 실시예들에서, 햅틱 신호가 얻어진 포락선 처리된 신호에 기초하여 형성된다. 대안의 실시예들에서, 380이 생략될 수 있다. 흐름이 이어서 390으로 진행한다.At 380, the inversely transformed signal is enveloped by the original input signal. This may be a one-to-one point (sample) multiplication between the original input signal and the inverse transformed signal. Another way to do envelope processing is to extract the envelope of the original input signal and multiply the inversely transformed signal by this envelope. Alternatively, the inversely transformed signal may be used as it is without being enveloped, or in other words, multiplied by an envelope having a constant magnitude of one. In certain embodiments, a haptic signal is formed based on the obtained enveloped signal. In alternate embodiments, 380 may be omitted. The flow then continues to 390.

390에서, 하나 이상의 햅틱 효과들이 햅틱 신호에 기초하여 발생된다. 어떤 실시예들에서, 하나 이상의 햅틱 효과들을 발생시키기 위해, 햅틱 신호가 도 1의 액추에이터(26)와 같은 햅틱 출력 디바이스로 송신될 수 있다. 이어서, 흐름이 종료한다.At 390, one or more haptic effects are generated based on the haptic signal. In some embodiments, a haptic signal may be transmitted to a haptic output device, such as actuator 26 of FIG. 1, to generate one or more haptic effects. Then, the flow ends.

도 4는 본 발명의 일 실시예에 따른, 입력 신호를 햅틱 신호로 변환하는 제1 예시적인 방법의 흐름도를 나타낸 것이다. 흐름이 시작되고 410으로 진행한다. 410에서, 센서에 의해 포착된 데이터를 포함할 수 있는 오디오 신호, 비디오 신호, 가속도 신호, 또는 임의의 다른 신호와 같은 입력 신호에 대해 고속 푸리에 변환이 수행된다. 흐름이 이어서 420으로 진행한다.4 is a flow diagram of a first exemplary method for converting an input signal to a haptic signal, in accordance with an embodiment of the present invention. Flow begins and proceeds to 410. At 410, a fast Fourier transform is performed on an input signal such as an audio signal, a video signal, an acceleration signal, or any other signal that may contain data captured by the sensor. The flow then continues to 420.

420에서, 변환된 입력 신호의 주파수들이 그들의 진폭별로 분류된다. 흐름이 이어서 430으로 진행한다.At 420, the frequencies of the transformed input signal are sorted by their amplitude. The flow then proceeds to 430.

430에서, 가장 큰 진폭들을 갖는 사전 결정된 수의 주파수들이 변환된 입력 신호의 주파수들로부터 선택된다. 사전 결정된 수의 주파수들은 사전 결정된 주파수 범위의 폭과 같을 수 있다. 사전 결정된 주파수 범위는 "천이후" 주파수 범위일 수 있다. 흐름이 이어서 440으로 진행한다.At 430, a predetermined number of frequencies having the largest amplitudes are selected from the frequencies of the transformed input signal. The predetermined number of frequencies may be equal to the width of the predetermined frequency range. The predetermined frequency range may be in the "after" frequency range. The flow then proceeds to 440.

440에서, 선택된 주파수들이 천이후 주파수 범위로 이동된다. 특정의 실시예들에서, 천이후 주파수 범위는 햅틱 출력 디바이스의 공진 주파수를 포함할 수 있다. 그 실시예들 중 일부 실시예들에서, 햅틱 출력 디바이스는 액추에이터일 수 있다. 게다가, 특정의 실시예들에서, 선택된 주파수들이 각각의 선택된 주파수의 (고속 푸리에 변환 값으로부터 도출되는) 진폭을 천이후 주파수 범위 내의 주파수에 할당하는 것에 의해 이동될 수 있다. 흐름이 이어서 450으로 진행한다.At 440, the selected frequencies are shifted to the frequency range after the threshold. In certain embodiments, the frequency range after the cloth may include the resonant frequency of the haptic output device. In some of the embodiments, the haptic output device may be an actuator. In addition, in certain embodiments, selected frequencies may be moved by assigning an amplitude (derived from a fast Fourier transform value) of each selected frequency to a frequency within the frequency range after the frequency. The flow then proceeds to 450.

450에서, 천이후 주파수 범위 내에 있지 않은 주파수들의 모든 고속 푸리에 변환 값들이 0으로 된다(nullified). 흐름이 이어서 460으로 진행한다.At 450, all fast Fourier transform values of frequencies not within the frequency range after the thousandth are nullified. The flow then proceeds to 460.

460에서, 주파수 천이된 신호의 역 고속 푸리에 변환이 수행된다. 흐름이 이어서 470으로 진행한다.At 460, an inverse fast Fourier transform of the frequency shifted signal is performed. The flow then proceeds to 470.

470에서, 햅틱 신호를 형성하기 위해, 역 변환된 신호가 원래의 입력 신호로 포락선 처리된다. 이것은 원래의 입력 신호와 역 변환된 신호 사이의 일대일 점(샘플) 곱셈일 수 있다. 포락선 처리를 하는 다른 방식은 원래의 입력 신호의 포락선을 추출하고 역 변환된 신호를 이 포락선과 곱하는 것이다. 다른 대안으로서, 역 변환된 신호가 포락선 처리되지 않고 그대로 사용되거나, 환언하면, 1의 일정한 크기를 갖는 포락선과 곱해질 수 있다. 이어서, 흐름이 종료한다.At 470, the inverse transformed signal is enveloped by the original input signal to form a haptic signal. This may be a one-to-one point (sample) multiplication between the original input signal and the inverse transformed signal. Another way to do envelope processing is to extract the envelope of the original input signal and multiply the inversely transformed signal by this envelope. Alternatively, the inversely transformed signal may be used as it is without being enveloped, or in other words, multiplied by an envelope having a constant magnitude of one. Then, the flow ends.

도 5는 본 발명의 일 실시예에 따른, 입력 신호를 햅틱 신호로 변환하는 제2 예시적인 방법의 흐름도를 나타낸 것이다. 흐름이 시작되고 510으로 진행한다. 510에서, 센서에 의해 포착된 데이터를 포함할 수 있는 오디오 신호, 비디오 신호, 가속도 신호, 또는 임의의 다른 신호와 같은 입력 신호에 대해 고속 푸리에 변환이 수행된다. 흐름이 이어서 520으로 진행한다.5 illustrates a flow diagram of a second exemplary method for converting an input signal to a haptic signal, in accordance with an embodiment of the present invention. Flow begins and proceeds to 510. At 510, a fast Fourier transform is performed on an input signal such as an audio signal, a video signal, an acceleration signal, or any other signal that may contain data captured by the sensor. The flow then continues to 520.

520에서, 변환된 입력 신호의 주파수들의 진폭이 정규화된다. 특정의 실시예들에서, 입력 신호의 고속 푸리에 변환의 결과, 다음과 같은 2개의 벡터가 얻어진다: 주파수들을 포함하는 하나의 벡터, 및 그 주파수들에 대응하는 크기들을 포함하는 다른 벡터. 모든 크기들 중의 최대값이 발견될 수 있고, 최대값이 모든 크기들을 정규화하는 데 사용될 수 있고, 따라서 그 결과 1 미만의 값을 갖는 크기 벡터가 얻어진다. 환언하면, 크기들을 포함하는 벡터가 1에 대해 정규화될 수 있다. 흐름이 이어서 530으로 진행한다.At 520, the amplitudes of the frequencies of the transformed input signal are normalized. In certain embodiments, as a result of the fast Fourier transform of the input signal, two vectors are obtained: one vector containing frequencies, and another vector containing sizes corresponding to those frequencies. A maximum value of all sizes may be found and a maximum value may be used to normalize all sizes so that a magnitude vector having a value less than 1 is obtained. In other words, a vector containing magnitudes can be normalized to one. The flow then continues to 530.

530에서, 변환된 입력 신호의 주파수들이 그들의 정규화된 진폭별로 분류된다. 흐름이 이어서 540으로 진행한다.At 530, the frequencies of the transformed input signal are sorted by their normalized amplitude. The flow then continues to 540.

540에서, 사전 결정된 임계치(예컨대, 0.1)보다 더 큰 진폭들을 갖는 하나 이상의 주파수들이 변환된 입력 신호의 주파수들로부터 선택된다. 선택된 주파수들은 주파수들 "fs"로서 식별될 수 있고, 다른 주파수들은 무시될 수 있다. 흐름이 이어서 550으로 진행한다.At 540, one or more frequencies having amplitudes greater than a predetermined threshold (e.g., 0.1) are selected from the frequencies of the converted input signal. The selected frequencies may be identified as frequencies "fs ", and other frequencies may be ignored. The flow then proceeds to 550.

550에서, 잔존하는 주파수들 fs가 다음과 같이 클러스터링된다. fs에서의 각각의 주파수 "fs[i]"에 대해, 가장 큰 진폭을 가지는 주파수 fs[i]로부터 시작하여, 두번째로 가장 큰 진폭을 가지는 주파수 fs[i+1], 기타 등등, 범위 [fs[i]-x Hz 내지 fs[i]+x Hz](예컨대, x=1) 내의 모든 주파수들이 고려된다. 주파수 fs[i]보다 더 큰 진폭을 가지는 주파수가 이 범위 내에 있는 경우, 주파수 fs[i]가 제거된다. 이 클러스터링 기법을 적용함으로써, x Hz 초과만큼 떨어져 있는 주파수들만이 존재한다. 이 잔존하는 주파수들이 주파수들 "fc"로서 식별될 수 있다. 흐름이 이어서 560으로 진행한다.At 550, the remaining frequencies fs are clustered as follows. the frequency fs [i + 1] having the second largest amplitude, starting from the frequency fs [i] having the largest amplitude, for each frequency fs [i] all frequencies within [i] -x Hz to fs [i] + x Hz] (e.g., x = 1) are considered. When a frequency having an amplitude larger than the frequency fs [i] is within this range, the frequency fs [i] is removed. By applying this clustering technique, only frequencies apart by more than x Hz are present. These remaining frequencies may be identified as frequencies "fc ". The flow then continues to 560.

560에서, 잔존하는 주파수들 fc는 하나 이상의 블록들 B(fc)로 그룹화되고, 여기서 fc 내의 각각의 주파수 "fc[i]"에 대해, B(fc[i]) = [fc[i]-y Hz 내지 fc[i]+y Hz]이고, 여기서 y는 사전 결정된 주파수 범위의 폭보다 더 작은 수이다. 사전 결정된 주파수 범위는 "천이후" 주파수 범위일 수 있다. 각각의 블록 B(fc[i])의 주파수 컨텐츠가 이어서 천이후 주파수 범위(예컨대, 250 Hz 공진 주파수를 갖는 액추에이터에 대해 200 내지 300 Hz)에서의 주파수로 천이되어 그에 중심을 둔다. 블록들 B(fc)은, 상이한 주파수들로부터 천이된 내용이 상이하게 느껴지게 하기 위해, 천이후 주파수 범위 내에서 사전 결정된 거리 d(예컨대, d=1 Hz)만큼 분리되어 있을 수 있다. 예를 들어, 가장 큰 진폭을 갖는 주파수에 대응하는 제1 블록은 250 Hz로 천이되어 그에 중심을 둘 수 있고, 두번째로 가장 큰 진폭을 갖는 주파수에 대응하는 제2 블록은 248 Hz로 천이되어 그에 중심을 둘 수 있으며, 세번째로 가장 큰 진폭을 갖는 주파수에 대응하는 제3 블록은 252 Hz로 천이되어 그에 중심을 둘 수 있고, 천이후 주파수 범위(예컨대, 200 Hz 내지 300 Hz)의 하한 및 상한에 도달될 때까지, 이하 마찬가지이다. 특정의 실시예들에서, 각각의 블록의 주파수 컨텐츠의 하나 이상의 주파수들이 각각의 주파수의 (고속 푸리에 변환 값으로부터 도출되는) 진폭을 천이후 주파수 범위 내의 주파수에 할당하는 것에 의해 천이될 수 있다. 흐름이 이어서 570으로 진행한다.At 560, the remaining frequencies fc are grouped into one or more blocks B (fc), where B (fc [i]) = [fc [i] y Hz to fc [i] + y Hz], where y is a smaller number than the width of the predetermined frequency range. The predetermined frequency range may be in the "after" frequency range. The frequency content of each block B (fc [i]) then transitions to a frequency in the frequency range (e. G., 200 to 300 Hz for an actuator having a resonant frequency of 250 Hz) The blocks B (fc) may be separated by a predetermined distance d (e. G., D = 1 Hz) within the frequency range after the fringe, so that the content shifted from the different frequencies will feel different. For example, a first block corresponding to a frequency having the largest amplitude may be shifted to center at 250 Hz, and a second block corresponding to a frequency having the second largest amplitude may be shifted to 248 Hz, The third block corresponding to a frequency having the third largest amplitude may be shifted to center at 252 Hz and the lower and upper limits of the frequency range (e.g., 200 Hz to 300 Hz) , The same is true. In certain embodiments, one or more frequencies of the frequency content of each block may be transitioned by assigning an amplitude (derived from a fast Fourier transform value) of each frequency to a frequency within the frequency range after the frequency. The flow then continues to 570.

570에서, 천이후 주파수 범위 내에 있지 않은 주파수들의 모든 고속 푸리에 변환 값들이 0으로 된다. 흐름이 이어서 580으로 진행한다.At 570, all Fast Fourier Transform values of frequencies not within the frequency range after the threshold are zero. The flow then continues to 580.

580에서, 주파수 천이된 신호의 역 고속 푸리에 변환이 수행된다. 흐름이 이어서 590으로 진행한다.At 580, an inverse fast Fourier transform of the frequency shifted signal is performed. The flow then continues to 590.

590에서, 햅틱 신호를 형성하기 위해, 역 변환된 신호가 원래의 입력 신호로 포락선 처리된다. 이것은 원래의 입력 신호와 역 변환된 신호 사이의 일대일 점(샘플) 곱셈일 수 있다. 포락선 처리를 하는 다른 방식은 원래의 입력 신호의 포락선을 추출하고 역 변환된 신호를 이 포락선과 곱하는 것이다. 다른 대안으로서, 역 변환된 신호가 포락선 처리되지 않고 그대로 사용되거나, 환언하면, 1의 일정한 크기를 갖는 포락선과 곱해질 수 있다. 포락선 처리된 신호는 원래의 입력 신호의 포락선에 가까운 포락선을 가질 수 있고, 햅틱 신호로서 사용될 수 있다. 이어서, 흐름이 종료한다.At 590, to form a haptic signal, the inversely transformed signal is enveloped by the original input signal. This may be a one-to-one point (sample) multiplication between the original input signal and the inverse transformed signal. Another way to do envelope processing is to extract the envelope of the original input signal and multiply the inversely transformed signal by this envelope. Alternatively, the inversely transformed signal may be used as it is without being enveloped, or in other words, multiplied by an envelope having a constant magnitude of one. The enveloped signal can have an envelope close to the envelope of the original input signal and can be used as a haptic signal. Then, the flow ends.

도 6은 본 발명의 일 실시예에 따른, 입력 신호를 햅틱 신호로 변환하는 제3 예시적인 방법의 흐름도를 나타낸 것이다. 흐름이 시작되고 610으로 진행한다. 610에서, 센서에 의해 포착된 데이터를 포함할 수 있는 오디오 신호, 비디오 신호, 가속도 신호, 또는 임의의 다른 신호와 같은 입력 신호에 대해 고속 푸리에 변환이 수행된다. 흐름이 이어서 620으로 진행한다.Figure 6 illustrates a flow diagram of a third exemplary method for converting an input signal to a haptic signal, in accordance with an embodiment of the present invention. Flow begins and proceeds to 610. At 610, a fast Fourier transform is performed on an input signal such as an audio signal, a video signal, an acceleration signal, or any other signal that may contain data captured by the sensor. The flow then continues to 620.

620에서, 변환된 입력 신호의 주파수들의 진폭이 정규화된다. 특정의 실시예들에서, 입력 신호의 고속 푸리에 변환의 결과, 다음과 같은 2개의 벡터가 얻어진다: 주파수들을 포함하는 하나의 벡터, 및 그 주파수들에 대응하는 크기들을 포함하는 다른 벡터. 모든 크기들 중의 최대값이 발견될 수 있고, 최대값이 모든 크기들을 정규화하는 데 사용될 수 있고, 따라서 그 결과 1 미만의 값을 갖는 크기 벡터가 얻어진다. 환언하면, 크기들을 포함하는 벡터가 1에 대해 정규화될 수 있다. 흐름이 이어서 630으로 진행한다.At 620, the amplitudes of the frequencies of the transformed input signal are normalized. In certain embodiments, as a result of the fast Fourier transform of the input signal, two vectors are obtained: one vector containing frequencies, and another vector containing sizes corresponding to those frequencies. A maximum value of all sizes may be found and a maximum value may be used to normalize all sizes so that a magnitude vector having a value less than 1 is obtained. In other words, a vector containing magnitudes can be normalized to one. The flow then continues at 630.

630에서, 변환된 입력 신호의 주파수들이 그들의 정규화된 진폭별로 분류된다. 흐름이 이어서 640으로 진행한다.At 630, the frequencies of the transformed input signal are sorted by their normalized amplitude. The flow then continues to 640.

640에서, 사전 결정된 임계치(예컨대, 0.1)보다 더 큰 진폭들을 갖는 하나 이상의 주파수들이 변환된 입력 신호의 주파수들로부터 선택된다. 선택된 주파수들은 주파수들 "fs"로서 식별될 수 있고, 다른 주파수들은 무시될 수 있다. 흐름이 이어서 650으로 진행한다.At 640, one or more frequencies having amplitudes greater than a predetermined threshold (e.g., 0.1) are selected from the frequencies of the transformed input signal. The selected frequencies may be identified as frequencies "fs ", and other frequencies may be ignored. The flow then proceeds to 650.

650에서, 잔존하는 주파수들 fs가 다음과 같이 클러스터링된다. fs에서의 각각의 주파수 "fs[i]"에 대해, 가장 큰 진폭을 가지는 주파수 fs[i]로부터 시작하여, 두번째로 가장 큰 진폭을 가지는 주파수 fs[i+1], 기타 등등, 범위 [fs[i]-x Hz 내지 fs[i]+x Hz](예컨대, x=1)에서의 모든 주파수들이 고려된다. 주파수 fs[i]보다 더 큰 진폭을 가지는 주파수가 이 범위 내에 있는 경우, 주파수 fs[i]가 제거된다. 이 클러스터링을 적용함으로써, x Hz 초과만큼 떨어져 있는 주파수들만이 존재한다. 이 잔존하는 주파수들이 주파수들 "fc"로서 식별될 수 있다. 흐름이 이어서 660으로 진행한다.At 650, the remaining frequencies fs are clustered as follows. the frequency fs [i + 1] having the second largest amplitude, starting from the frequency fs [i] having the largest amplitude, for each frequency fs [i] all frequencies at [i] -x Hz to fs [i] + x Hz] (e.g., x = 1) are considered. When a frequency having an amplitude larger than the frequency fs [i] is within this range, the frequency fs [i] is removed. By applying this clustering, there are only frequencies apart by more than x Hz. These remaining frequencies may be identified as frequencies "fc ". The flow then continues to 660.

660에서, 잔존하는 주파수들 fc는 하나 이상의 블록들 B(fc)로 그룹화되고, 여기서 fc에서의 각각의 주파수 "fc[i]"에 대해, B(fc[i]) = [fc[i]-y Hz 내지 fc[i]+y Hz]이고, 여기서 y는 사전 결정된 주파수 범위의 폭보다 더 작은 수이다. 사전 결정된 주파수 범위는 "천이후" 주파수 범위일 수 있다. 각각의 블록 B(fc[i])의 주파수 컨텐츠가 이어서 천이후 주파수 범위(예컨대, 250 Hz 공진 주파수를 갖는 액추에이터에 대해 200 내지 300 Hz)에서의 주파수로 천이되어 그에 중심을 둔다. 천이후 주파수 범위에서의 주파수들의 위치들의 선택은 랜덤할 수 있다. 특정의 실시예들에서, 각각의 블록의 주파수 컨텐츠의 하나 이상의 주파수들이 각각의 주파수의 (고속 푸리에 변환 값으로부터 도출되는) 진폭을 천이후 주파수 범위 내의 주파수에 할당하는 것에 의해 천이될 수 있다. 흐름이 이어서 670으로 진행한다.At 660, the remaining frequencies fc are grouped into one or more blocks B (fc), where B (fc [i]) = [fc [i] -y Hz to fc [i] + y Hz], where y is a smaller number than the width of the predetermined frequency range. The predetermined frequency range may be in the "after" frequency range. The frequency content of each block B (fc [i]) then transitions to a frequency in the frequency range (e. G., 200 to 300 Hz for an actuator having a resonant frequency of 250 Hz) The selection of the locations of the frequencies in the frequency range after the cloth can be random. In certain embodiments, one or more frequencies of the frequency content of each block may be transitioned by assigning an amplitude (derived from a fast Fourier transform value) of each frequency to a frequency within the frequency range after the frequency. The flow then proceeds to 670.

670에서, 천이후 주파수 범위 내에 있지 않은 주파수들의 모든 고속 푸리에 변환 값들이 0으로 된다. 흐름이 이어서 680으로 진행한다.At 670, all fast Fourier transform values of frequencies not within the frequency range after the thousandth are zero. The flow then proceeds to 680.

680에서, 주파수 천이된 신호의 역 고속 푸리에 변환이 수행된다. 흐름이 이어서 690으로 진행한다.At 680, an inverse fast Fourier transform of the frequency shifted signal is performed. The flow then proceeds to 690.

690에서, 햅틱 신호를 형성하기 위해, 역 변환된 신호가 원래의 입력 신호로 포락선 처리된다. 이것은 원래의 입력 신호와 역 변환된 신호 사이의 일대일 점(샘플) 곱셈일 수 있다. 포락선 처리를 하는 다른 방식은 원래의 입력 신호의 포락선을 추출하고 역 변환된 신호를 이 포락선과 곱하는 것이다. 다른 대안으로서, 역 변환된 신호가 포락선 처리되지 않고 그대로 사용되거나, 환언하면, 1의 일정한 크기를 갖는 포락선과 곱해질 수 있다. 포락선 처리된 신호는 원래의 입력 신호의 포락선에 가까운 포락선을 가질 수 있고, 햅틱 신호로서 사용될 수 있다. 이어서, 흐름이 종료한다.At 690, to form a haptic signal, the inverse transformed signal is enveloped by the original input signal. This may be a one-to-one point (sample) multiplication between the original input signal and the inverse transformed signal. Another way to do envelope processing is to extract the envelope of the original input signal and multiply the inversely transformed signal by this envelope. Alternatively, the inversely transformed signal may be used as it is without being enveloped, or in other words, multiplied by an envelope having a constant magnitude of one. The enveloped signal can have an envelope close to the envelope of the original input signal and can be used as a haptic signal. Then, the flow ends.

도 7은 본 발명의 일 실시예에 따른, 입력 신호를 햅틱 신호로 변환하는 제4 예시적인 방법의 흐름도를 나타낸 것이다. 흐름이 시작되고 700으로 진행한다. 700에서, 센서에 의해 포착된 데이터를 포함할 수 있는 오디오 신호, 비디오 신호, 가속도 신호, 또는 임의의 다른 신호와 같은 입력 신호에 대해 고속 푸리에 변환이 수행된다. 흐름이 이어서 710으로 진행한다.Figure 7 illustrates a flow diagram of a fourth exemplary method for converting an input signal to a haptic signal, in accordance with an embodiment of the present invention. Flow begins and proceeds to 700. At 700, a fast Fourier transform is performed on an input signal, such as an audio signal, a video signal, an acceleration signal, or any other signal that may contain data captured by the sensor. The flow then proceeds to 710.

710에서, 변환된 입력 신호의 주파수들의 진폭이 정규화된다. 특정의 실시예들에서, 입력 신호의 고속 푸리에 변환의 결과, 다음과 같은 2개의 벡터가 얻어진다: 주파수들을 포함하는 하나의 벡터, 및 그 주파수들에 대응하는 크기들을 포함하는 다른 벡터. 모든 크기들 중의 최대값이 발견될 수 있고, 최대값이 모든 크기들을 정규화하는 데 사용될 수 있고, 따라서 그 결과 1 미만의 값을 갖는 크기 벡터가 얻어진다. 환언하면, 크기들을 포함하는 벡터가 1에 대해 정규화될 수 있다. 흐름이 이어서 720으로 진행한다.At 710, the amplitudes of the frequencies of the transformed input signal are normalized. In certain embodiments, as a result of the fast Fourier transform of the input signal, two vectors are obtained: one vector containing frequencies, and another vector containing sizes corresponding to those frequencies. A maximum value of all sizes may be found and a maximum value may be used to normalize all sizes so that a magnitude vector having a value less than 1 is obtained. In other words, a vector containing magnitudes can be normalized to one. The flow then proceeds to 720.

720에서, 변환된 입력 신호의 주파수들이 그들의 정규화된 진폭별로 분류된다. 흐름이 이어서 730으로 진행한다.At 720, the frequencies of the transformed input signal are sorted by their normalized amplitude. The flow then proceeds to 730.

730에서, 사전 결정된 임계치(예컨대, 0.1)보다 더 큰 진폭들을 갖는 하나 이상의 주파수들이 변환된 입력 신호의 주파수들로부터 선택된다. 선택된 주파수들은 주파수들 "fs"로서 식별될 수 있고, 다른 주파수들은 무시될 수 있다. 흐름이 이어서 740으로 진행한다.At 730, one or more frequencies having amplitudes that are greater than a predetermined threshold (e.g., 0.1) are selected from the frequencies of the transformed input signal. The selected frequencies may be identified as frequencies "fs ", and other frequencies may be ignored. The flow then proceeds to 740.

740에서, 잔존하는 주파수들 fs가 다음과 같이 클러스터링된다. fs에서의 각각의 주파수 "fs[i]"에 대해, 가장 큰 진폭을 가지는 주파수 fs[i]로부터 시작하여, 두번째로 가장 큰 진폭을 가지는 주파수 fs[i+1], 기타 등등, 범위 [fs[i]-x Hz 내지 fs[i]+x Hz](예컨대, x=1)에서의 모든 주파수들이 고려된다. 주파수 fs[i]보다 더 큰 진폭을 가지는 주파수가 이 범위 내에 있는 경우, 주파수 fs[i]가 제거된다. 이 클러스터링을 적용함으로써, x Hz 초과만큼 떨어져 있는 주파수들만이 존재한다. 이 잔존하는 주파수들이 주파수들 "fc"로서 식별될 수 있다. 흐름이 이어서 750으로 진행한다.At 740, the remaining frequencies fs are clustered as follows. the frequency fs [i + 1] having the second largest amplitude, starting from the frequency fs [i] having the largest amplitude, for each frequency fs [i] all frequencies at [i] -x Hz to fs [i] + x Hz] (e.g., x = 1) are considered. When a frequency having an amplitude larger than the frequency fs [i] is within this range, the frequency fs [i] is removed. By applying this clustering, there are only frequencies apart by more than x Hz. These remaining frequencies may be identified as frequencies "fc ". The flow then proceeds to 750.

750에서, 잔존하는 주파수들 fc가 다음과 같이 클러스터링된다. fc에서의 각각의 주파수 "fc[i]"에 대해, 범위 [fc[i]-y Hz 내지 fc[i]+y Hz]에 대한 진폭 스펙트럼 곡선 아래의 표면이 계산된다. 표면이 사전 결정된 임계치보다 더 큰 경우, 주파수 fc[i]가 유지된다. 그렇지 않은 경우, 주파수 fc[i]가 제거된다. 잔존하는 주파수들이 주파수들 "fd"로서 식별될 수 있다. 흐름이 이어서 760으로 진행한다.At 750, the remaining frequencies fc are clustered as follows. the surface under the amplitude spectrum curve for the range [fc [i] -y Hz to fc [i] + y Hz] is calculated for each frequency "fc [i]" at fc. If the surface is larger than the predetermined threshold, the frequency fc [i] is maintained. Otherwise, the frequency fc [i] is removed. The remaining frequencies may be identified as frequencies "fd ". The flow then proceeds to 760.

760에서, 잔존하는 주파수들 fd는 하나 이상의 블록들 B(fd)로 그룹화되고, 여기서 fd에서의 각각의 주파수 "fd[i]"에 대해, B(fd[i]) = [fd[i]-z Hz 내지 fd[i]+z Hz]이고, 여기서 z는 사전 결정된 주파수 범위의 폭보다 더 작은 수이다. 사전 결정된 주파수 범위는 "천이후" 주파수 범위일 수 있다. 각각의 블록 B(fd[i])의 주파수 컨텐츠가 이어서 천이후 주파수 범위(예컨대, 250 Hz 공진 주파수를 갖는 액추에이터에 대해 200 내지 300 Hz) 내의 주파수로 천이되어 그에 중심을 둔다. 천이후 주파수 범위에서의 주파수들의 위치들의 선택은 랜덤할 수 있다. 특정의 실시예들에서, 각각의 블록의 주파수 컨텐츠의 하나 이상의 주파수들이 각각의 주파수의 (고속 푸리에 변환 값으로부터 도출되는) 진폭을 천이후 주파수 범위 내의 주파수에 할당하는 것에 의해 천이될 수 있다. 흐름이 이어서 770으로 진행한다.At 760, the remaining frequencies fd are grouped into one or more blocks B (fd), where B (fd [i]) = [fd [i] -z Hz to fd [i] + z Hz], where z is a smaller number than the width of the predetermined frequency range. The predetermined frequency range may be in the "after" frequency range. The frequency content of each block B (fd [i]) then transitions to a frequency within the frequency range (e. G., 200 to 300 Hz for an actuator with a 250 Hz resonant frequency) The selection of the locations of the frequencies in the frequency range after the cloth can be random. In certain embodiments, one or more frequencies of the frequency content of each block may be transitioned by assigning an amplitude (derived from a fast Fourier transform value) of each frequency to a frequency within the frequency range after the frequency. The flow then proceeds to 770.

770에서, 천이후 주파수 범위 내에 있지 않은 주파수들의 모든 고속 푸리에 변환 값들이 0으로 된다. 흐름이 이어서 780으로 진행한다.At 770, all Fast Fourier Transform values of frequencies not within the frequency range after the threshold are zero. The flow then proceeds to 780.

780에서, 주파수 천이된 신호의 역 고속 푸리에 변환이 수행된다. 흐름이 이어서 790으로 진행한다.At 780, an inverse fast Fourier transform of the frequency shifted signal is performed. The flow then proceeds to 790.

790에서, 햅틱 신호를 형성하기 위해, 역 변환된 신호가 원래의 입력 신호로 포락선 처리된다. 이것은 원래의 입력 신호와 역 변환된 신호 사이의 일대일 점(샘플) 곱셈일 수 있다. 포락선 처리를 하는 다른 방식은 원래의 입력 신호의 포락선을 추출하고 역 변환된 신호를 이 포락선과 곱하는 것이다. 다른 대안으로서, 역 변환된 신호가 포락선 처리되지 않고 그대로 사용되거나, 환언하면, 1의 일정한 크기를 갖는 포락선과 곱해질 수 있다. 포락선 처리된 신호는 원래의 입력 신호의 포락선에 가까운 포락선을 가질 수 있고, 햅틱 신호로서 사용될 수 있다. 이어서, 흐름이 종료한다.At 790, to form a haptic signal, the inverse transformed signal is enveloped by the original input signal. This may be a one-to-one point (sample) multiplication between the original input signal and the inverse transformed signal. Another way to do envelope processing is to extract the envelope of the original input signal and multiply the inversely transformed signal by this envelope. Alternatively, the inversely transformed signal may be used as it is without being enveloped, or in other words, multiplied by an envelope having a constant magnitude of one. The enveloped signal can have an envelope close to the envelope of the original input signal and can be used as a haptic signal. Then, the flow ends.

도 8은 본 발명의 일 실시예에 따른, 입력 신호를 햅틱 신호로 변환하는 제5 예시적인 방법의 흐름도를 나타낸 것이다. 810에서, 센서에 의해 포착된 데이터를 포함할 수 있는 오디오 신호, 비디오 신호, 가속도 신호, 또는 임의의 다른 신호와 같은 입력 신호에 대해 고속 푸리에 변환이 수행된다. 흐름이 이어서 820으로 진행한다.Figure 8 shows a flow diagram of a fifth exemplary method for converting an input signal to a haptic signal, in accordance with an embodiment of the present invention. At 810, a fast Fourier transform is performed on an input signal, such as an audio signal, a video signal, an acceleration signal, or any other signal that may contain data captured by the sensor. The flow then continues to 820.

820에서, 변환된 입력 신호의 진폭 스펙트럼이 추정된다. 흐름이 이어서 830으로 진행한다.At 820, the amplitude spectrum of the transformed input signal is estimated. The flow then continues to 830.

830에서, 변환된 입력 신호의 주파수들이 인접한 블록들 b로 그룹화되고, 여기서 각각의 블록은 x개의 연속적인 주파수들을 포함한다. 흐름이 이어서 840으로 진행한다.At 830, the frequencies of the transformed input signal are grouped into adjacent blocks b, where each block contains x consecutive frequencies. The flow then proceeds to 840.

840에서, 각각의 블록 b에 대해 진폭 스펙트럼 아래의 표면(표면 S(b)로 식별됨)이 추정되고, 각각의 표면 S(b)는 모든 표면들 S의 최대값을 사용하여 1에 대해 정규화된다. 흐름이 이어서 850으로 진행한다.At 840, the surface under the amplitude spectrum (identified as surface S (b)) is estimated for each block b, and each surface S (b) is normalized to 1 using the maximum of all surfaces S do. The flow then proceeds to 850.

850에서, 사전 결정된 임계치 미만의 표면 S(b)를 가지는 각각의 블록 b가 제거된다. 흐름이 이어서 860으로 진행한다.At 850, each block b with a surface S (b) below a predetermined threshold is removed. The flow then proceeds to 860.

860에서, 가장 큰 표면들을 갖는 하나 이상의 블록들의 주파수 컨텐츠가 "천이후" 주파수 범위 내의 랜덤한 위치로 천이되어 그에 중심을 둔다. 흐름이 이어서 870으로 진행한다.At 860, the frequency content of one or more blocks with the largest surfaces is shifted to a random location within the "after the thousand" frequency range and centered thereon. The flow then proceeds to 870.

870에서, 천이후 주파수 범위 내에 있지 않은 주파수들의 모든 고속 푸리에 변환 값들이 0으로 된다. 흐름이 이어서 880으로 진행한다.At 870, all Fast Fourier Transform values of frequencies not within the frequency range after the threshold are zero. The flow then proceeds to 880.

880에서, 주파수 천이된 신호의 역 고속 푸리에 변환이 수행된다. 흐름이 이어서 890으로 진행한다.At 880, an inverse fast Fourier transform of the frequency shifted signal is performed. The flow then continues to 890.

890에서, 햅틱 신호를 형성하기 위해, 역 변환된 신호가 원래의 입력 신호로 포락선 처리된다. 이것은 원래의 입력 신호와 역 변환된 신호 사이의 일대일 점(샘플) 곱셈일 수 있다. 포락선 처리를 하는 다른 방식은 원래의 입력 신호의 포락선을 추출하고 역 변환된 신호를 이 포락선과 곱하는 것이다. 다른 대안으로서, 역 변환된 신호가 포락선 처리되지 않고 그대로 사용되거나, 환언하면, 1의 일정한 크기를 갖는 포락선과 곱해질 수 있다. 포락선 처리된 신호는 원래의 입력 신호의 포락선에 가까운 포락선을 가질 수 있고, 햅틱 신호로서 사용될 수 있다. 이어서, 흐름이 종료한다.At 890, to form a haptic signal, the inversely transformed signal is enveloped by the original input signal. This may be a one-to-one point (sample) multiplication between the original input signal and the inverse transformed signal. Another way to do envelope processing is to extract the envelope of the original input signal and multiply the inversely transformed signal by this envelope. Alternatively, the inversely transformed signal may be used as it is without being enveloped, or in other words, multiplied by an envelope having a constant magnitude of one. The enveloped signal can have an envelope close to the envelope of the original input signal and can be used as a haptic signal. Then, the flow ends.

이와 같이, 하나의 실시예에서, 시스템은 주파수 천이를 사용하여 오디오 신호, 비디오 신호, 또는 가속도 신호와 같은 입력 신호로부터 햅틱 신호를 생성할 수 있다. 이 시스템은 따라서, 입력 신호의 어떤 필터링도 필요로 함이 없이, 오디오 데이터, 비디오 데이터, 또는 가속도 데이터와 같은 입력 데이터를 햅틱 효과들로 변환할 수 있다. 따라서, 입력 신호의 모든 내용이 햅틱 신호를 발생시키는 데 사용될 수 있다.As such, in one embodiment, the system may use a frequency transition to generate a haptic signal from an input signal, such as an audio signal, a video signal, or an acceleration signal. The system can thus convert input data, such as audio data, video data, or acceleration data, into haptic effects, without requiring any filtering of the input signal. Thus, all the contents of the input signal can be used to generate the haptic signal.

본 명세서 전체에 걸쳐 기술된 본 발명의 특징들, 구조들 또는 특성들이 하나 이상의 실시예들에서 임의의 적당한 방식으로 결합될 수 있다. 예를 들어, 본 명세서 전체에 걸쳐 "하나의 실시예", "어떤 실시예들", "특정의 실시예", "특정의 실시예들" 또는 다른 유사한 표현의 사용은 그 실시예와 관련하여 기술된 특정의 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함될 수 있다는 사실을 말한다. 이와 같이, 본 명세서 전체에 걸쳐 나오는 "하나의 실시예", "어떤 실시예들", "특정의 실시예", "특정의 실시예들" 또는 다른 유사한 표현은 모두가 꼭 동일한 그룹의 실시예들을 말할 필요는 없으며, 기술된 특징들, 구조들 또는 특성들이 하나 이상의 실시예들에서 임의의 적당한 방식으로 결합될 수 있다.The features, structures, or characteristics of the invention described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, the use of "one embodiment", "certain embodiments", "a specific embodiment", "specific embodiments", or other similar expressions throughout this specification is to be interpreted relative to the embodiment Structure or characteristic described may be included in at least one embodiment of the present invention. Thus, the appearances of the phrase " one embodiment, "" certain embodiments," " And the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

당업자라면 이상에서 논의된 본 발명이, 단계들을 상이한 순서로 하여 그리고/또는 요소들을 개시되어 있는 것과 상이한 구성들로 하여, 실시될 수 있다는 것을 잘 알 것이다. 따라서, 본 발명이 이들 바람직한 실시예에 기초하여 기술되어 있지만, 본 발명의 사상 및 범위 내에 있으면서 특정의 수정들, 변형들 및 대안의 구성들이 자명할 것임이 당업자에게는 명백할 것이다. 따라서, 본 발명의 범위를 결정하기 위해서는, 첨부된 청구항들을 참조해야만 한다.
It will be appreciated by those skilled in the art that the present invention as discussed above may be practiced with the steps in a different order and / or with the elements differing from what is disclosed. Thus, while the present invention has been described on the basis of these preferred embodiments, it will be apparent to those skilled in the art that various modifications, changes and alternative constructions will become apparent to those skilled in the art without departing from the spirit and scope of the invention. Therefore, in order to determine the scope of the invention, reference should be made to the appended claims.

Claims (15)

주파수 천이를 사용하여 입력을 하나 이상의 햅틱 효과들로 변환하는 컴퓨터 구현 방법으로서,
입력 신호를 수신하는 단계;
상기 입력 신호의 고속 푸리에 변환(fast Fourier transform)을 수행하는 단계;
상기 변환된 입력 신호의 하나 이상의 주파수들을 천이후 주파수 범위(shift-to frequency range) 내의 하나 이상의 주파수들로 천이시키는 단계;
상기 주파수 천이된 신호의 역 고속 푸리에 변환(inverse fast Fourier transform)을 수행하는 단계 - 상기 역 변환된 신호는 햅틱 신호를 형성함 -; 및
상기 햅틱 신호에 기초하여 상기 하나 이상의 햅틱 효과들을 발생시키는 단계를 포함하는 컴퓨터 구현 방법.
A computer implemented method of transforming an input into one or more haptic effects using a frequency transition,
Receiving an input signal;
Performing a fast Fourier transform of the input signal;
Transitioning one or more frequencies of the transformed input signal to one or more frequencies within a shift-to frequency range;
Performing an inverse fast Fourier transform of the frequency shifted signal, wherein the inversely transformed signal forms a haptic signal; And
And generating the one or more haptic effects based on the haptic signal.
제1항에 있어서, 상기 변환된 입력 신호의 상기 주파수들을 분류하는 단계; 및
상기 변환된 입력 신호의 상기 주파수들로부터 하나 이상의 주파수들을 선택하는 단계를 더 포함하는 컴퓨터 구현 방법.
2. The method of claim 1, further comprising: classifying the frequencies of the transformed input signal; And
And selecting one or more frequencies from the frequencies of the transformed input signal.
제2항에 있어서, 상기 변환된 입력 신호의 상기 하나 이상의 선택된 주파수들을 클러스터링하는 단계를 더 포함하는 컴퓨터 구현 방법.3. The method of claim 2, further comprising clustering the one or more selected frequencies of the transformed input signal. 제3항에 있어서, 상기 변환된 입력 신호의 상기 주파수들의 진폭을 정규화하는 단계를 더 포함하는 컴퓨터 구현 방법.4. The method of claim 3, further comprising normalizing the amplitude of the frequencies of the transformed input signal. 제2항에 있어서, 상기 변환된 입력 신호의 상기 주파수들을 분류하는 단계는 상기 주파수들을 진폭별로 분류하는 단계를 더 포함하고;
상기 변환된 입력 신호의 상기 하나 이상의 주파수들을 선택하는 단계는 가장 큰 진폭들을 갖는 하나 이상의 주파수들을 선택하는 단계를 더 포함하며;
상기 변환된 입력 신호의 상기 하나 이상의 선택된 주파수들을 천이시키는 단계는 상기 하나 이상의 선택된 주파수들을 상기 천이후 주파수 범위로 이동시키는 단계를 더 포함하고, 상기 천이후 주파수 범위는 햅틱 출력 디바이스의 공진 주파수를 포함하는 컴퓨터 구현 방법.
3. The method of claim 2, wherein classifying the frequencies of the transformed input signal further comprises classifying the frequencies by amplitude;
Wherein selecting the one or more frequencies of the transformed input signal further comprises selecting one or more frequencies having the largest amplitudes;
Wherein transitioning the one or more selected frequencies of the transformed input signal further comprises moving the one or more selected frequencies to a frequency range after the cloth, wherein the frequency range after the cloth includes the resonant frequency of the haptic output device Gt;
제5항에 있어서, 상기 추정된 입력 신호의 상기 하나 이상의 선택된 주파수들을 이동시키는 단계는
각각의 선택된 주파수의 고속 푸리에 변환 값으로부터 도출되는 진폭을 상기 천이후 주파수 범위 내의 주파수에 할당하는 단계; 및
상기 천이후 주파수 범위 내에 있지 않은 주파수들의 모든 고속 푸리에 변환 값들을 0으로 만드는(nullify) 단계를 더 포함하는 컴퓨터 구현 방법.
6. The method of claim 5, wherein moving the one or more selected frequencies of the estimated input signal comprises:
Assigning an amplitude derived from a fast Fourier transform value of each selected frequency to a frequency in the frequency range after the frequency; And
And nulling all Fast Fourier Transform values of frequencies not within the frequency range after the threshold.
제4항에 있어서, 상기 변환된 입력 신호의 상기 주파수들을 분류하는 단계는 상기 주파수들을 그들의 정규화된 진폭별로 분류하는 단계를 더 포함하고;
상기 변환된 입력 신호의 상기 하나 이상의 주파수들을 선택하는 단계는 사전 결정된 임계치보다 더 큰 진폭들을 갖는 하나 이상의 주파수들을 선택하는 단계를 더 포함하며;
상기 변환된 입력 신호의 상기 하나 이상의 선택된 주파수들을 클러스터링하는 단계는 각각의 선택된 주파수에 대해, 상기 선택된 주파수의 상기 진폭보다 더 큰 진폭을 가지는 제1 사전 결정된 범위 내에 주파수가 있는 경우 상기 선택된 주파수를 제거하는 단계를 더 포함하며;
상기 변환된 입력 신호의 상기 하나 이상의 선택된 주파수들을 천이시키는 단계는 상기 하나 이상의 클러스터링된 주파수들을 하나 이상의 블록들 내에 그룹화하는 단계 - 각각의 블록의 폭은 상기 천이후 주파수 범위의 폭보다 더 작은 제2 사전 결정된 범위의 폭임 -, 각각의 블록의 상기 주파수 컨텐츠를 상기 천이후 주파수 범위 내로 천이시키는 단계, 및 각각의 블록의 상기 천이된 주파수 컨텐츠를 상기 천이후 주파수 범위 내의 한 주파수에 집중되게 하는 단계를 더 포함하는 컴퓨터 구현 방법.
5. The method of claim 4, wherein classifying the frequencies of the transformed input signal further comprises classifying the frequencies by their normalized amplitudes;
Wherein selecting the one or more frequencies of the transformed input signal further comprises selecting one or more frequencies having amplitudes greater than a predetermined threshold;
Clustering the one or more selected frequencies of the transformed input signal may include, for each selected frequency, removing the selected frequency if there is a frequency within a first predetermined range having an amplitude greater than the amplitude of the selected frequency Further comprising:
Wherein transitioning the one or more selected frequencies of the transformed input signal comprises grouping the one or more clustered frequencies in one or more blocks, the width of each block being greater than a width of the second Shifting the frequency content of each block into the frequency range after the threshold, and allowing the shifted frequency content of each block to be focused on a frequency within the frequency range after the threshold ≪ / RTI >
제7항에 있어서, 각각의 블록의 상기 주파수 컨텐츠를 상기 천이후 주파수 범위 내의 한 주파수로 천이시키는 단계는
각각의 그룹의 주파수들의 상기 고속 푸리에 변환 값들을 상기 천이후 주파수 범위 내의 주파수들에 할당하는 단계; 및
상기 천이후 주파수 범위 내에 있지 않은 주파수들의 모든 고속 푸리에 변환 값들을 0으로 만드는 단계를 더 포함하는 컴퓨터 구현 방법.
8. The method of claim 7, wherein transiting the frequency content of each block to a frequency within the frequency range
Assigning the fast Fourier transform values of frequencies of each group to frequencies within the frequency range after the frequency; And
Further comprising zeroing all fast Fourier transform values of frequencies not within the frequency range after the threshold.
제7항에 있어서, 각각의 블록이 상기 천이후 주파수 범위 내에서 랜덤한 위치에 배치되고;
상기 변환된 입력 신호의 상기 하나 이상의 선택된 주파수들을 클러스터링하는 단계는 각각의 클러스터링된 주파수에 대해, 제3 사전 결정된 범위에 대해 진폭 스펙트럼 곡선 아래의 표면을 계산하는 단계, 및 상기 표면이 사전 결정된 임계치 미만인 상기 클러스터링된 주파수들을 제거하는 단계를 더 포함하는 컴퓨터 구현 방법.
8. The method of claim 7, wherein each block is disposed at a random location within the frequency range after the cloth;
Wherein clustering the one or more selected frequencies of the transformed input signal comprises calculating for each clustered frequency a surface under the amplitude spectrum curve for a third predetermined range, And removing the clustered frequencies.
제2항에 있어서, 상기 변환된 입력 신호의 진폭 스펙트럼을 추정하는 단계를 더 포함하고;
상기 변환된 입력 신호의 상기 주파수들을 분류하는 단계는 상기 주파수들을 복수의 인접한 블록들로 그룹화하는 단계 - 각각의 블록은 하나 이상의 인접한 주파수들을 포함함 - 를 더 포함하며;
상기 변환된 입력 신호의 상기 하나 이상의 주파수들을 선택하는 단계는 각각의 블록에 대한 진폭 스펙트럼 아래의 표면을 추정하는 단계, 각각의 블록의 상기 표면을 최대값에 대해 정규화하는 단계, 및 사전 결정된 임계치 미만인 표면을 갖는 각각의 블록을 제거하는 단계를 더 포함하고;
상기 변환된 입력 신호의 상기 하나 이상의 선택된 주파수들을 천이시키는 단계는 상기 천이후 주파수 범위 내에서 가장 큰 표면들을 갖는 하나 이상의 블록들의 상기 주파수 컨텐츠를 천이시키는 단계, 및 상기 하나 이상의 블록들의 상기 천이된 주파수 컨텐츠를 상기 천이후 주파수 범위 내의 한 주파수에 집중되게 하는 단계를 더 포함하는 컴퓨터 구현 방법.
3. The method of claim 2, further comprising: estimating an amplitude spectrum of the transformed input signal;
Wherein classifying the frequencies of the transformed input signal further comprises grouping the frequencies into a plurality of adjacent blocks, each block comprising one or more adjacent frequencies;
Wherein selecting the one or more frequencies of the transformed input signal comprises estimating a surface under an amplitude spectrum for each block, normalizing the surface of each block to a maximum value, Further comprising removing each block having a surface;
Wherein transitioning the one or more selected frequencies of the transformed input signal comprises: transitioning the frequency content of one or more blocks having the largest surfaces within the frequency range after the transition, Further comprising causing content to be focused on a frequency within the frequency range after the threshold.
주파수 천이를 사용하여 입력을 하나 이상의 햅틱 효과들로 변환하는 시스템으로서,
햅틱 변환 모듈을 저장하도록 구성되어 있는 메모리; 및
상기 메모리 상에 저장되어 있는 상기 햅틱 변환 모듈을 실행하도록 구성되어 있는 프로세서를 포함하고;
상기 햅틱 변환 모듈은 입력 신호를 수신하도록 구성되어 있고;
상기 햅틱 변환 모듈은 또한 상기 입력 신호의 고속 푸리에 변환을 수행하도록 구성되어 있으며;
상기 햅틱 변환 모듈은 또한 상기 변환된 입력 신호의 하나 이상의 주파수들을 천이후 주파수 범위 내의 하나 이상의 주파수들로 천이시키도록 구성되어 있고;
상기 햅틱 변환 모듈은 또한 상기 주파수 천이된 신호의 역 고속 푸리에 변환을 수행하도록 구성되어 있으며 - 상기 역 변환된 신호는 햅틱 신호를 형성함 -;
상기 햅틱 변환 모듈은 또한 상기 햅틱 신호에 기초하여 상기 하나 이상의 햅틱 효과들을 발생시키도록 구성되어 있는 시스템.
A system for converting an input to one or more haptic effects using a frequency transition,
A memory configured to store a haptic conversion module; And
And a processor configured to execute the haptic transformation module stored on the memory;
The haptic transformation module is configured to receive an input signal;
Wherein the haptic transformation module is further configured to perform a fast Fourier transform of the input signal;
The haptic transformation module is further configured to transition one or more frequencies of the transformed input signal to one or more frequencies within a frequency range subsequent to the transition;
Wherein the haptic conversion module is further configured to perform an inverse fast Fourier transform of the frequency shifted signal, the inverse transformed signal forming a haptic signal;
Wherein the haptic conversion module is further configured to generate the one or more haptic effects based on the haptic signal.
제11항에 있어서, 상기 햅틱 변환 모듈은 또한 상기 변환된 입력 신호의 상기 주파수들을 분류하도록 구성되어 있고;
상기 햅틱 변환 모듈은 또한 상기 변환된 입력 신호의 상기 주파수들로부터 하나 이상의 주파수들을 선택하도록 구성되어 있는 시스템.
12. The haptic transducer of claim 11, wherein the haptic conversion module is further configured to classify the frequencies of the transformed input signal;
Wherein the haptic conversion module is further configured to select one or more frequencies from the frequencies of the transformed input signal.
제12항에 있어서, 상기 햅틱 변환 모듈은 또한 상기 변환된 입력 신호의 상기 하나 이상의 선택된 주파수들을 클러스터링하도록 구성되어 있는 시스템.13. The system of claim 12, wherein the haptic conversion module is further configured to cluster the one or more selected frequencies of the transformed input signal. 제12항에 있어서, 상기 햅틱 변환 모듈은 또한 상기 주파수들을 진폭별로 분류하도록 구성되어 있고;
상기 햅틱 변환 모듈은 또한 가장 큰 진폭들을 갖는 하나 이상의 주파수들을 선택하도록 구성되어 있으며;
상기 햅틱 변환 모듈은 또한 상기 하나 이상의 선택된 주파수들을 상기 천이후 주파수 범위로 이동시키도록 구성되어 있고, 상기 천이후 주파수 범위는 햅틱 출력 디바이스의 공진 주파수를 포함하는 시스템.
13. The haptic transducer of claim 12, wherein the haptic conversion module is further configured to classify the frequencies by amplitude;
The haptic transformation module is also configured to select one or more frequencies having the largest amplitudes;
Wherein the haptic transformation module is further configured to move the one or more selected frequencies to a frequency range after the cloth, wherein the frequency range includes a resonant frequency of the haptic output device.
프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1항 내지 제10항 중 어느 한 항에 따른 방법을 구현하게 하는 명령어들을 저장하고 있는 컴퓨터 판독가능 매체.11. A computer-readable medium having stored thereon instructions which, when executed by a processor, cause the processor to implement the method of any one of claims 1 to 10.
KR1020140116790A 2013-09-06 2014-09-03 Haptic conversion system using frequency shifting KR102310668B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/020,502 US10599218B2 (en) 2013-09-06 2013-09-06 Haptic conversion system using frequency shifting
US14/020,502 2013-09-06

Publications (2)

Publication Number Publication Date
KR20150028737A true KR20150028737A (en) 2015-03-16
KR102310668B1 KR102310668B1 (en) 2021-10-12

Family

ID=51357694

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140116790A KR102310668B1 (en) 2013-09-06 2014-09-03 Haptic conversion system using frequency shifting

Country Status (5)

Country Link
US (1) US10599218B2 (en)
EP (2) EP2846219B1 (en)
JP (2) JP6508893B2 (en)
KR (1) KR102310668B1 (en)
CN (2) CN110413118A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020101256A1 (en) * 2018-11-16 2020-05-22 주식회사 씨케이머티리얼즈랩 Device and method for generating haptic data, and device and method for providing haptic effect
KR102516138B1 (en) * 2022-10-12 2023-03-30 주식회사 비츠나인 Method And Computer Program for Generating Vibration

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8717152B2 (en) 2011-02-11 2014-05-06 Immersion Corporation Sound to haptic effect conversion system using waveform
US9715276B2 (en) 2012-04-04 2017-07-25 Immersion Corporation Sound to haptic effect conversion system using multiple actuators
US9368005B2 (en) 2012-08-31 2016-06-14 Immersion Corporation Sound to haptic effect conversion system using mapping
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
US9514620B2 (en) 2013-09-06 2016-12-06 Immersion Corporation Spatialized haptic feedback based on dynamically scaled values
US9245429B2 (en) 2013-09-06 2016-01-26 Immersion Corporation Haptic warping system
US9443401B2 (en) 2013-09-06 2016-09-13 Immersion Corporation Automatic remote sensing and haptic conversion system
US9164587B2 (en) 2013-11-14 2015-10-20 Immersion Corporation Haptic spatialization system
US9619029B2 (en) 2013-11-14 2017-04-11 Immersion Corporation Haptic trigger control system
WO2015099792A1 (en) * 2013-12-27 2015-07-02 Intel Corporation Method and apparatus to change resonance frequency of an electronic device
US10185396B2 (en) 2014-11-12 2019-01-22 Immersion Corporation Haptic trigger modification system
WO2017119107A1 (en) 2016-01-07 2017-07-13 富士通株式会社 Electronic device and drive control method for electronic device
JP6626992B2 (en) 2016-12-15 2019-12-25 株式会社ソニー・インタラクティブエンタテインメント Information processing system, vibration control method, and program
JP6799077B2 (en) 2016-12-15 2020-12-09 株式会社ソニー・インタラクティブエンタテインメント Information processing system, controller device, controller device control method, and program
JP6634528B2 (en) * 2016-12-15 2020-01-22 株式会社ソニー・インタラクティブエンタテインメント Vibration device and control system
WO2018193514A1 (en) 2017-04-18 2018-10-25 株式会社ソニー・インタラクティブエンタテインメント Vibration control device
US11145172B2 (en) 2017-04-18 2021-10-12 Sony Interactive Entertainment Inc. Vibration control apparatus
US11013990B2 (en) 2017-04-19 2021-05-25 Sony Interactive Entertainment Inc. Vibration control apparatus
US11458389B2 (en) 2017-04-26 2022-10-04 Sony Interactive Entertainment Inc. Vibration control apparatus
JP6771435B2 (en) 2017-07-20 2020-10-21 株式会社ソニー・インタラクティブエンタテインメント Information processing device and location information acquisition method
US11738261B2 (en) 2017-08-24 2023-08-29 Sony Interactive Entertainment Inc. Vibration control apparatus
US11779836B2 (en) 2017-08-24 2023-10-10 Sony Interactive Entertainment Inc. Vibration control apparatus
KR102098325B1 (en) * 2017-08-25 2020-04-07 주식회사 엠플러스 Implementation of button click using input signal control
US11198059B2 (en) 2017-08-29 2021-12-14 Sony Interactive Entertainment Inc. Vibration control apparatus, vibration control method, and program
WO2019229698A1 (en) 2018-05-31 2019-12-05 Purple Tambourine Limited Interacting with a virtual environment using a pointing controller
DE112019003209T5 (en) 2018-06-28 2021-04-08 Sony Corporation Coding device, coding method, decoding device, decoding method and program
US20210266010A1 (en) * 2018-06-28 2021-08-26 Sony Corporation Decoding apparatus, decoding method, and program
JP7351299B2 (en) 2018-07-03 2023-09-27 ソニーグループ株式会社 Encoding device, encoding method, decoding device, decoding method, program
US11496152B2 (en) 2018-08-08 2022-11-08 Sony Corporation Decoding device, decoding method, and program
US11482086B2 (en) 2018-08-10 2022-10-25 Sony Corporation Drive control device, drive control method, and program
WO2020031527A1 (en) 2018-08-10 2020-02-13 ソニー株式会社 Signal generation device, signal generation method, program, and playback device
WO2020111558A1 (en) * 2018-11-30 2020-06-04 주식회사 씨케이머티리얼즈랩 Apparatus and method for generating pattern data, and apparatus and method for reproducing pattern data
CN110010151A (en) * 2018-12-31 2019-07-12 瑞声科技(新加坡)有限公司 A kind of acoustic signal processing method and equipment, storage medium
WO2020157978A1 (en) * 2019-02-01 2020-08-06 株式会社ソニー・インタラクティブエンタテインメント Information processing device
KR102141889B1 (en) * 2019-02-19 2020-08-06 주식회사 동운아나텍 Method and apparatus for adaptive haptic signal generation
US10754428B1 (en) * 2019-02-25 2020-08-25 Facebook Technologies, Llc Systems, methods, and devices for audio-tactile mapping
US11755111B2 (en) 2020-03-16 2023-09-12 Arkh, Inc. Spatially aware computing hub and environment
USD1009861S1 (en) 2020-09-25 2024-01-02 Arkh, Inc. Smart ring
JP7340556B2 (en) * 2021-02-26 2023-09-07 任天堂株式会社 vibration control system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003099177A (en) * 2001-09-21 2003-04-04 Fuji Xerox Co Ltd Method for preparing haptic information and method for presenting haptic information and its device
KR20040062559A (en) * 2001-10-09 2004-07-07 임머숀 코퍼레이션 Haptic feedback sensations based on audio output from computer devices
JP2008515088A (en) * 2004-10-01 2008-05-08 スリーエム イノベイティブ プロパティズ カンパニー Distinguishing from vibration signal interference in vibration sensing touch input devices

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684722A (en) 1994-09-21 1997-11-04 Thorner; Craig Apparatus and method for generating a control signal for a tactile sensation generator
US6577739B1 (en) 1997-09-19 2003-06-10 University Of Iowa Research Foundation Apparatus and methods for proportional audio compression and frequency shifting
DE20080209U1 (en) * 1999-09-28 2001-08-09 Immersion Corp Control of haptic sensations for interface devices with vibrotactile feedback
US7138989B2 (en) 2000-09-15 2006-11-21 Silicon Graphics, Inc. Display capable of displaying images in response to signals of a plurality of signal formats
US6703550B2 (en) 2001-10-10 2004-03-09 Immersion Corporation Sound data output and manipulation using haptic feedback
JP2004214843A (en) 2002-12-27 2004-07-29 Alpine Electronics Inc Digital amplifier and gain adjustment method thereof
WO2006006528A1 (en) 2004-07-09 2006-01-19 Nippon Telegraph And Telephone Corporation Acoustic signal detection system, acoustic signal detection server, video signal search device, video signal search method, video signal search program and recording medium, signal search device, signal search method, signal search program, and recording medium
US7979146B2 (en) 2006-04-13 2011-07-12 Immersion Corporation System and method for automatically producing haptic events from a digital audio signal
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
WO2008127316A1 (en) 2006-11-22 2008-10-23 Chornenky T E Security and monitoring apparatus
US8502679B2 (en) * 2008-10-08 2013-08-06 The Board Of Regents Of The University Of Texas System Noninvasive motion and respiration monitoring system
MX2011009186A (en) * 2009-03-10 2011-09-26 Bayer Materialscience Ag Electroactive polymer transducers for tactile feedback devices.
DE102009035386B4 (en) 2009-07-30 2011-12-15 Cochlear Ltd. Hörhilfeimplantat
US20110115709A1 (en) 2009-11-17 2011-05-19 Immersion Corporation Systems And Methods For Increasing Haptic Bandwidth In An Electronic Device
EP2372705A1 (en) * 2010-03-24 2011-10-05 Thomson Licensing Method and apparatus for encoding and decoding excitation patterns from which the masking levels for an audio signal encoding and decoding are determined
US8717152B2 (en) * 2011-02-11 2014-05-06 Immersion Corporation Sound to haptic effect conversion system using waveform
US9448626B2 (en) 2011-02-11 2016-09-20 Immersion Corporation Sound to haptic effect conversion system using amplitude value
US9083821B2 (en) * 2011-06-03 2015-07-14 Apple Inc. Converting audio to haptic feedback in an electronic device
EP3321780A1 (en) 2012-02-15 2018-05-16 Immersion Corporation High definition haptic effects generation using primitives
US9196134B2 (en) * 2012-10-31 2015-11-24 Immersion Corporation Method and apparatus for simulating surface features on a user interface with haptic effects
US9128523B2 (en) * 2012-12-20 2015-09-08 Amazon Technologies, Inc. Dynamically generating haptic effects from audio data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003099177A (en) * 2001-09-21 2003-04-04 Fuji Xerox Co Ltd Method for preparing haptic information and method for presenting haptic information and its device
KR20040062559A (en) * 2001-10-09 2004-07-07 임머숀 코퍼레이션 Haptic feedback sensations based on audio output from computer devices
JP2008515088A (en) * 2004-10-01 2008-05-08 スリーエム イノベイティブ プロパティズ カンパニー Distinguishing from vibration signal interference in vibration sensing touch input devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020101256A1 (en) * 2018-11-16 2020-05-22 주식회사 씨케이머티리얼즈랩 Device and method for generating haptic data, and device and method for providing haptic effect
KR102516138B1 (en) * 2022-10-12 2023-03-30 주식회사 비츠나인 Method And Computer Program for Generating Vibration

Also Published As

Publication number Publication date
CN110413118A (en) 2019-11-05
US20150070261A1 (en) 2015-03-12
CN104423848A (en) 2015-03-18
KR102310668B1 (en) 2021-10-12
US10599218B2 (en) 2020-03-24
EP3575931A1 (en) 2019-12-04
EP2846219B1 (en) 2019-10-09
JP2019109943A (en) 2019-07-04
JP6739571B2 (en) 2020-08-12
JP2015053038A (en) 2015-03-19
JP6508893B2 (en) 2019-05-08
EP2846219A1 (en) 2015-03-11

Similar Documents

Publication Publication Date Title
JP6739571B2 (en) Haptic transformation system using frequency shift
JP6615307B2 (en) Dynamic haptic conversion system
US9454881B2 (en) Haptic warping system
US9910495B2 (en) Automatic remote sensing and haptic conversion system
US20180210552A1 (en) Haptic conversion system using segmenting and combining
US10748391B2 (en) Haptic signal conversion system
CN104932681B (en) The adjust automatically of haptic effect
US20200192480A1 (en) Systems and methods for providing haptic effects based on a user's motion or environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right