亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于觸覺輸出設(shè)備的體系架構(gòu)和通信協(xié)議的制作方法

文檔序號:11630140閱讀:296來源:國知局
用于觸覺輸出設(shè)備的體系架構(gòu)和通信協(xié)議的制造方法與工藝

優(yōu)先權(quán)申請

本申請要求于2014年12月23日提交的美國臨時專利申請no.62/096,251的權(quán)益,該美國臨時申請通過引用被整體結(jié)合于此。

實施例一般而言涉及電子設(shè)備,并且更具體而言涉及產(chǎn)生觸覺效果的電子設(shè)備。



背景技術(shù):

視頻游戲和視頻游戲系統(tǒng)已經(jīng)變得非常受歡迎。視頻游戲設(shè)備或控制器通常使用視覺提示和聽覺提示向用戶提供反饋。在一些接口設(shè)備中,可以向用戶提供動覺反饋(例如,主動力反饋和阻力反饋)和/或觸感反饋(例如,振動、紋理、溫度變化等)。通常,這種反饋被統(tǒng)稱為“觸覺反饋”或“觸覺效果”。觸覺反饋提供了增強和簡化用戶與視頻游戲控制器或其它電子設(shè)備的交互的提示。例如,觸覺效果可以向視頻游戲控制器或其它電子設(shè)備的用戶提供提示,以就特定事件提醒用戶,或者在模擬或虛擬環(huán)境中提供逼真的反饋,以產(chǎn)生更強的感官沉浸。

其中用戶與用戶輸入元件交互以引起動作的其它設(shè)備也可以受益于觸覺反饋或觸覺效果。例如,這樣的設(shè)備可以包括醫(yī)療設(shè)備、汽車控件、遙控器和其它類似的設(shè)備。



技術(shù)實現(xiàn)要素:

本發(fā)明的實施例針對被配置成產(chǎn)生基本上改進相關(guān)技術(shù)的觸覺效果的電子設(shè)備。

實施例的特征和優(yōu)點在下面的描述中闡述,或者將從描述中顯而易見,或者可以通過實踐本發(fā)明來了解。

在一種示例實施例中,提供了用于根據(jù)體系架構(gòu)和通信協(xié)議來控制觸覺輸出設(shè)備的功能。生成復(fù)合驅(qū)動信號,該復(fù)合驅(qū)動信號包括將由第一觸覺輸出設(shè)備渲染的第一驅(qū)動信號、將由第二觸覺輸出設(shè)備渲染的第二驅(qū)動信號以及分組標識符??刂破靼ㄅc第一用戶輸入元件相關(guān)聯(lián)的第一觸覺輸出設(shè)備和與第二用戶輸入元件相關(guān)聯(lián)的第二觸覺輸出設(shè)備。復(fù)合驅(qū)動信號被傳輸?shù)娇刂破?,并且基于分組標識符來確定第一驅(qū)動信號和第二驅(qū)動信號的執(zhí)行順序。

要理解的是,前面的一般描述和以下的詳細描述都是示例性和說明性的,并不旨在將本發(fā)明限制到所描述的示例。

附圖說明

根據(jù)以下結(jié)合附圖對優(yōu)選實施例的詳細描述,其他實施例、細節(jié)、優(yōu)點和修改將變得顯而易見。

圖1圖示根據(jù)本發(fā)明的示例實施例的系統(tǒng)的框圖。

圖2是圖示根據(jù)本發(fā)明的示例實施例的用于提供觸覺效果的系統(tǒng)的簡化框圖。

圖3圖示根據(jù)本發(fā)明的示例實施例的觸覺效果軟件棧的框圖。

圖4是圖示根據(jù)本發(fā)明的示例實施例的用于控制觸覺通信的系統(tǒng)的簡化框圖。

圖5圖示根據(jù)本發(fā)明的示例實施例的用于驅(qū)動多個觸覺輸出設(shè)備的功能的流程圖。

圖6圖示根據(jù)本發(fā)明的示例實施例的用于用預(yù)期的輸入信號映射用戶輸入元件的位置的功能的流程圖。

圖7圖示根據(jù)本發(fā)明的示例實施例的從主機設(shè)備發(fā)送到控制器的示例觸覺流報告。

圖8圖示根據(jù)本發(fā)明的示例實施例的從控制器發(fā)送到主機設(shè)備的示例觸覺流報告。

圖9圖示根據(jù)本發(fā)明的示例實施例的從控制器發(fā)送到主機設(shè)備的示例能力報告。

圖10圖示根據(jù)本發(fā)明的示例實施例的從主機設(shè)備發(fā)送到控制器的示例狀態(tài)請求報告。

圖11圖示根據(jù)本發(fā)明的示例實施例的從主機設(shè)備發(fā)送到控制器的示例配置改變報告。

圖12圖示適于與本發(fā)明的實施例一起使用的控制器的功能框圖。

圖13a和13b圖示適于與本發(fā)明的實施例一起使用的控制器的不同視圖。

具體實施方式

示例實施例涉及用于根據(jù)體系架構(gòu)和通信協(xié)議來控制觸覺輸出設(shè)備的功能。生成復(fù)合驅(qū)動信號,該復(fù)合驅(qū)動信號包括將由第一觸覺輸出設(shè)備渲染的第一驅(qū)動信號、將由第二觸覺輸出設(shè)備渲染的第二驅(qū)動信號以及分組標識符??刂破靼ㄅc第一用戶輸入元件相關(guān)聯(lián)的第一觸覺輸出設(shè)備和與第二用戶輸入元件相關(guān)聯(lián)的第二觸覺輸出設(shè)備。復(fù)合驅(qū)動信號被傳輸?shù)娇刂破?,并且基于分組標識符來確定第一驅(qū)動信號和第二驅(qū)動信號的執(zhí)行順序。

在各種實施例中,描述了用于使用設(shè)備的各種用戶接口和方法。在一些實施例中,設(shè)備是便攜式電子設(shè)備(例如,游戲控制器、控制臺、移動電話、智能電話、平板電腦等)。但是,應(yīng)當理解的是,用戶接口和相關(guān)聯(lián)的方法可以應(yīng)用到許多其它設(shè)備(諸如,個人計算機、醫(yī)療設(shè)備、膝上型電腦等),這些設(shè)備可以包括一個或多個其它物理用戶接口設(shè)備,諸如鍵盤、鼠標、軌跡球等。

圖1圖示根據(jù)本發(fā)明的示例實施例的系統(tǒng)100的框圖。

系統(tǒng)100可以包括被配置成從遠程源傳輸和/或接收數(shù)據(jù)的通信設(shè)備110。通信設(shè)備110可以用以下方式在處理器120和其它設(shè)備之間啟用連接:通過編碼要經(jīng)網(wǎng)絡(luò)(未示出)從處理器120發(fā)送到另一個設(shè)備的數(shù)據(jù)和解碼經(jīng)網(wǎng)絡(luò)從另一個系統(tǒng)接收到的用于處理器120的數(shù)據(jù)。

例如,通信設(shè)備110可以包括被配置成提供無線網(wǎng)絡(luò)通信的網(wǎng)絡(luò)接口卡??梢允褂酶鞣N無線通信技術(shù),包括紅外線、無線電、藍牙、wi-fi和/或蜂窩通信??商娲?,通信設(shè)備110可以被配置成提供(一個或多個)有線網(wǎng)絡(luò)連接,諸如以太網(wǎng)連接。

處理器120可以包括執(zhí)行系統(tǒng)100的計算和控制功能的一個或多個通用或?qū)S锰幚砥?。處理?20可以包括單個集成電路(諸如,微處理設(shè)備),或者可以包括協(xié)同工作以完成處理器120的功能的若干集成電路設(shè)備和/或電路板。此外,處理器120可以執(zhí)行存儲在存儲器140內(nèi)的計算機程序,諸如操作系統(tǒng)141、通信模塊142和其它應(yīng)用143。

系統(tǒng)100可以包括用于存儲信息和由處理器120執(zhí)行的指令的存儲器140。存儲器140可以包含用于檢索、呈現(xiàn)、修改和存儲數(shù)據(jù)的各種部件。例如,存儲器140可以存儲當由處理器120執(zhí)行時提供功能的軟件模塊。模塊可以包括為系統(tǒng)100提供操作系統(tǒng)功能的操作系統(tǒng)141。模塊還可以包括通信模塊142,該通信模塊142被配置成控制系統(tǒng)100和控制器150之間基于分組的通信。在一些情況下,基于分組的通信通過一個或多個usb(“通用串行總線”)信道在系統(tǒng)100和控制器150之間中繼。通信模塊142還與各種其它應(yīng)用143接口,并且使用一個或多個標準和/或?qū)S型ㄐ艆f(xié)議中繼源自其它應(yīng)用143的觸覺指令。雖然本文描述了usb信道作為示例,但是本發(fā)明的實施例可以容易地應(yīng)用到其它通信協(xié)議,諸如藍牙。系統(tǒng)100中的其它應(yīng)用143可以包括附加的功能,諸如被配置成為外圍設(shè)備(諸如,控制器150(例如,游戲手柄,可穿戴設(shè)備等))提供控制功能的外圍固件。

非瞬態(tài)存儲器140可以包括可由處理器120訪問的各種計算機可讀介質(zhì)。在各種實施例中,存儲器140可以包括易失性介質(zhì)和非易失性介質(zhì)、可移動介質(zhì)和不可移動介質(zhì)。例如,存儲器140可以包括以下中的任意組合:隨機存取存儲器(“ram”)、動態(tài)ram(“dram”)、靜態(tài)ram(“sram”)、只讀存儲器(“rom”)、閃存、高速緩存存儲器和/或任何其它類型的非瞬態(tài)計算機可讀介質(zhì)??商娲鼗蚋郊拥?,存儲器140可以包括一個或多個網(wǎng)絡(luò)或云訪問存儲介質(zhì)。

雖然被示為單個系統(tǒng),但是系統(tǒng)100的功能可以被實現(xiàn)為分布式系統(tǒng)。例如,存儲器140和處理器120可以跨共同包括系統(tǒng)100的若干不同計算機分布。在一種實施例中,系統(tǒng)100可以是設(shè)備(例如,個人計算機、控制臺、視頻游戲控制臺等)的一部分,并且系統(tǒng)100為設(shè)備提供觸覺效果功能。在另一種實施例中,系統(tǒng)100可以與設(shè)備分離,并且可以為設(shè)備遠程地提供上述功能。

系統(tǒng)100可以可操作地連接到控制器150。控制器150可以是被配置成向系統(tǒng)100提供輸入的外圍設(shè)備。控制器150可以使用或者無線連接或者有線連接可操作地連接到系統(tǒng)100。控制器150還可以包括被配置成使用或者無線連接或者有線連接與系統(tǒng)100通信的本地處理器??商娲?,控制器150可以被配置成不包括本地處理器,并且與控制器150相關(guān)聯(lián)的所有輸入信號和/或輸出信號可以由系統(tǒng)100的部件來處理。在其中控制器150具有本地處理器的實施例中,附加功能(諸如,被配置成提供控制功能的通信模塊和外圍固件)可以駐留在控制器150內(nèi)。這里,可以同步主機設(shè)備的時鐘和外圍設(shè)備的時鐘。

控制器150還可以包括一個或多個數(shù)字按鈕、一個或多個模擬按鈕、一個或多個緩沖器、一個或多個方向盤、一個或多個模擬或數(shù)字桿、一個或多個驅(qū)動輪、和/或一個或多個用戶輸入元件,該一個或多個用戶輸入元件可以由用戶與其交互并且可以向系統(tǒng)100提供輸入。控制器150還可以包括一個或多個模擬或數(shù)字觸發(fā)按鈕(或“觸發(fā)器”),該一個或多個模擬或數(shù)字觸發(fā)按鈕(或“觸發(fā)器”)可進一步由用戶與其交互并且可以進一步向系統(tǒng)100提供輸入。如下面更詳細描述的,控制器150還可以包括被配置成在控制器150的至少一個觸發(fā)器上施加雙向推力/拉力的馬達或另一種類型的致動器或觸覺輸出設(shè)備。

控制器150還可以包括一個或多個致動器或其它類型的觸覺輸出設(shè)備??刂破?50的本地處理器,或者其中控制器150不包括本地處理器的實施例中的處理器120可以將與觸覺效果相關(guān)聯(lián)的觸覺信號傳輸?shù)娇刂破?50的至少一個致動器。致動器又響應(yīng)于觸覺信號輸出觸覺效果,諸如振動觸感觸覺效果、動覺觸覺效果或變形觸覺效果??梢栽诳刂破?50的用戶輸入元件(例如,數(shù)字按鈕、模擬按鈕、緩沖器、方向盤、模擬或數(shù)字桿、驅(qū)動輪或觸發(fā)器)處體驗到觸覺效果??商娲?,可以在控制器150的外表面處體驗到觸覺效果。

致動器是觸覺輸出設(shè)備的示例,其中觸覺輸出設(shè)備是被配置成響應(yīng)于驅(qū)動信號而輸出觸覺效果的設(shè)備,觸覺效果諸如是振動觸感觸覺效果、靜電摩擦觸覺效果、溫度變化和/或變形觸覺效果。在替代的實施例中,控制器150內(nèi)的一個或多個致動器可以由一些其它類型的觸覺輸出設(shè)備代替。觸覺輸出設(shè)備可以是例如電馬達、電磁致動器、音圈、形狀記憶合金、電活性聚合物、螺線管、偏心旋轉(zhuǎn)質(zhì)量馬達(“erm”)、諧波erm馬達(“herm”)、線性諧振致動器(“l(fā)ra”)、壓電致動器、高帶寬致動器、電活性聚合物(“eap”)致動器、靜電摩擦顯示器或超聲波振動發(fā)生器。在一些情況下,觸覺輸出設(shè)備可以包括觸覺輸出驅(qū)動電路。在一些實施例中,觸覺輸出設(shè)備可以是單向的或雙向的。

控制器150還可以包括一個或多個揚聲器??刂破?50的本地處理器,或者其中控制器150不包括本地處理器的實施例中的處理器120可以將音頻信號傳輸?shù)娇刂破?50的至少一個揚聲器,該揚聲器又輸出音頻效果。揚聲器可以是例如動態(tài)擴音器、電動擴音器、壓電擴音器、磁致伸縮擴音器、靜電擴音器、帶及平面磁性擴音器、彎曲波擴音器、平板擴音器、帶狀空氣運動換能器、等離子弧揚聲器和數(shù)字擴音器。

控制器150還可以包括一個或多個傳感器。傳感器可以被配置成檢測能量的形式或其它物理性質(zhì),諸如但不限于,聲音、移動、加速度、生物信號、距離、流量、力/壓力/應(yīng)變力/、彎曲、濕度、線性位置、朝向/傾斜、射頻、旋轉(zhuǎn)位置、旋轉(zhuǎn)速度、開關(guān)的操作、溫度、振動或可見光強度。傳感器還可以被配置成將檢測到的能量或其它物理性質(zhì)轉(zhuǎn)換為電信號或表示虛擬傳感器信息的任何信號,并且控制器150可以將轉(zhuǎn)換后的信號發(fā)送到控制器150的本地處理器,或者在其中控制器150不包括本地處理器的實施例中發(fā)送到處理器120。

圖2是圖示根據(jù)本發(fā)明的示例實施例的用于提供觸覺效果的系統(tǒng)200的簡化框圖。

如圖2所示,系統(tǒng)200包括一個或多個應(yīng)用210。應(yīng)用210中的每一個可以生成各種指令215。指令215被提供給通信驅(qū)動器220。在接收到指令215時,通信驅(qū)動器220可以基于指令215生成一個或多個觸覺驅(qū)動信號225。在一些配置中,可以根據(jù)一種或多種報告格式配置觸覺驅(qū)動信號225。觸覺驅(qū)動信號225然后被傳輸?shù)娇刂破?30。

在控制器230處,觸覺驅(qū)動信號225可以由一個或多個觸覺輸出設(shè)備232執(zhí)行。通過執(zhí)行觸覺驅(qū)動信號225,觸覺輸出設(shè)備232將觸覺效果渲染給終端用戶。

圖3圖示根據(jù)本發(fā)明的示例實施例的觸覺效果軟件棧300的框圖。如圖3所示,軟件棧300包括設(shè)備模塊310、外圍固件模塊320、控制器模塊330、驅(qū)動模塊340和震動(rumble)驅(qū)動模塊350。觸覺效果軟件棧300在系統(tǒng)(諸如,圖1的系統(tǒng)100)上實現(xiàn)。

設(shè)備模塊310可以包括各種模塊,諸如輸入管理代碼311、外圍輸入應(yīng)用編程接口(“api”)312、震動api313、觸覺效果api314、直接回放/交叉器315、觸發(fā)器引擎316、空間化引擎317和編碼器318。

輸入管理代碼311可以包括一組計算機可讀指令,在設(shè)備內(nèi)執(zhí)行的游戲應(yīng)用或其它類型的應(yīng)用的上下文中該計算機可讀指令管理由控制器330提供的輸入。

外圍輸入api312可以包括一組計算機可讀函數(shù)或例程,該計算機可讀函數(shù)或例程使得游戲輸入管理代碼311能夠與外圍固件320交互,以便接收和管理由控制器330提供的輸入。

震動api313可以包括一組計算機可讀函數(shù)或例程,該計算機可讀函數(shù)或例程使得輸入管理代碼311能夠與外圍固件320交互,以便將震動指令傳輸?shù)娇刂破?30的一個或多個震動馬達或震動致動器(例如,圖3的震動馬達l和r)。此外,震動指令可以使得控制器330的震動馬達或震動致動器產(chǎn)生通用觸覺效果或震動觸覺效果。

觸覺效果api314(在圖3中被標識為“api”)可以包括一組計算機可讀函數(shù)或例程,該計算機可讀函數(shù)或例程可由輸入管理代碼311訪問并且使得輸入管理代碼311能夠與外圍固件320交互,以便將觸覺指令傳輸?shù)娇刂破?30。此外,觸覺指令可以使得控制器330的一個或多個目標馬達或目標致動器在控制器330的一個或多個用戶輸入元件處產(chǎn)生觸覺效果。

觸覺效果api314還可以存儲一個或多個觸覺效果定義。觸覺效果定義是包括觸覺數(shù)據(jù)(諸如,觸覺信號)的數(shù)據(jù)結(jié)構(gòu),該觸覺數(shù)據(jù)被預(yù)定義并且可以存儲在存儲設(shè)備(諸如,觸覺文件或觸覺流)內(nèi),并且可以被發(fā)送到一個或多個震動馬達、震動致動器、目標馬達或目標致動器,以在控制器330的部件或用戶輸入元件處產(chǎn)生觸覺效果。觸覺數(shù)據(jù)可以包括對應(yīng)的觸覺效果的一個或多個屬性,其中屬性可以被存儲為參數(shù)。觸覺效果定義的示例參數(shù)可以包括振幅參數(shù)、頻率參數(shù)、波形參數(shù)、包絡(luò)參數(shù)、幅度(或強度)參數(shù)和持續(xù)時間參數(shù)。

觸覺效果api314可以使得游戲輸入管理代碼311能夠與直接回放/交叉器315、觸發(fā)器引擎316和空間化引擎317交互,并且還可以根據(jù)由游戲輸入管理代碼311調(diào)用的請求來管理直接回放/交叉器315、觸發(fā)器引擎316和空間化引擎317。此外,觸覺效果api314可以存儲用于與外圍固件320通信和用于生成一個或多個觸覺效果的數(shù)據(jù)。

直接回放/交叉器315可以接收觸覺數(shù)據(jù)作為輸入、產(chǎn)生觸覺數(shù)據(jù)作為輸出、以及將觸覺數(shù)據(jù)發(fā)送到控制器330的一個或多個目標馬達或目標致動器(例如,圖3的馬達l和r)。在一些實施例中,直接回放/交叉器315可以將輸入觸覺數(shù)據(jù)直接輸出,而不修改輸入觸覺數(shù)據(jù)的格式。這導致輸入觸覺數(shù)據(jù)的“原樣”回放。在其它實施例中,直接回放/交叉器315可以將以第一格式輸入的觸覺數(shù)據(jù)轉(zhuǎn)換為第二格式,并且可以進一步輸出轉(zhuǎn)換后的觸覺數(shù)據(jù)。取決于回放的類型,直接回放/交叉器315可以可選地使用可編程交叉器來轉(zhuǎn)換觸覺數(shù)據(jù)。通過轉(zhuǎn)換觸覺數(shù)據(jù),設(shè)備模塊可以解構(gòu)觸覺效果并在若干致動器處回放觸覺效果。

觸覺數(shù)據(jù)的格式可以是觸覺基本流(“hes”)格式。hes格式是用于表示可以被流式傳輸?shù)皆O(shè)備的觸覺數(shù)據(jù)的文件或數(shù)據(jù)格式。雖然可以在hes格式內(nèi)加密觸覺數(shù)據(jù),但是可以用與如何表示未壓縮的聲音相同或相似的方式來表示觸覺數(shù)據(jù)。

觸發(fā)器引擎316可以接收觸覺數(shù)據(jù)(諸如,觸覺效果定義),并且可以基于用戶輸入數(shù)據(jù)(諸如,觸發(fā)器數(shù)據(jù)323)修改觸覺數(shù)據(jù)。觸發(fā)器數(shù)據(jù)是包括指示控制器330的一個或多個觸發(fā)器(例如,圖3的觸發(fā)器l和r)的位置和/或范圍的一個或多個參數(shù)的數(shù)據(jù)。觸發(fā)器引擎316還可以向控制器330傳輸觸覺指令。例如,觸發(fā)器引擎316可以將觸覺指令傳輸?shù)娇刂破?30的各種用戶輸入元件。如前所述,觸覺指令可以使得控制器330的一個或多個目標馬達或目標致動器在控制器330的一個或多個用戶輸入元件處產(chǎn)生觸覺效果。

空間化引擎317可以接收觸覺數(shù)據(jù)并且可以基于空間化數(shù)據(jù)修改觸覺數(shù)據(jù)。空間化數(shù)據(jù)可以包括指示觸覺效果的期望方向和/或流動(諸如,觸覺效果在相應(yīng)用戶輸入元件上的排序)的數(shù)據(jù)。在某些實施例中,空間化引擎317可以從輸入管理代碼311接收包括方向和/或流動的空間化數(shù)據(jù)。

空間化引擎317可以修改觸覺數(shù)據(jù),使得觸覺效果(諸如,觸發(fā)器觸覺效果)對于控制器330的一個或多個震動馬達或震動致動器(例如,圖3的震動馬達l和r)進行縮放,并且觸覺效果也對于控制器330的一個或多個目標馬達或目標致動器(例如,如圖3所示的馬達l和r)進行縮放。換句話說,空間化引擎317可以修改發(fā)送到每一個馬達或致動器的觸覺數(shù)據(jù),并且因此,修改在每一個馬達或致動器處體驗到的觸覺效果,以便傳達整體觸覺效果的方向和流動感。例如,為了強調(diào)在馬達或致動器處體驗到的觸覺效果,空間化引擎317可以縮放觸覺效果的一個或多個部分。例如,空間化引擎317可以縮放發(fā)送到使得觸覺效果被體驗到的馬達或致動器的觸覺數(shù)據(jù),從而使得觸覺效果更顯著(例如,增大的幅度,持續(xù)時間等)。此外,空間化引擎317可以縮放發(fā)送到其它馬達或致動器的觸覺數(shù)據(jù),從而使得在那些馬達或致動器處體驗到的其它觸覺效果不太顯著(例如,減小的幅度、持續(xù)時間等)。在一些實施例中,空間化引擎317可以實時地或基本上實時地修改觸覺數(shù)據(jù)。此外,在一些實施例中,空間化引擎317可以在輸入、馬達或致動器、輸出之間具有非線性關(guān)系,以便夸大整體觸覺效果。

編碼器318將從直接回放/交叉器315、觸發(fā)器引擎316和/或空間化引擎317接收到的觸覺數(shù)據(jù)編碼成格式。在一種實施例中,格式可以是hes格式。編碼器318可以將編碼的觸覺數(shù)據(jù)傳輸?shù)酵鈬碳?20。

外圍固件320是用于一個或多個外圍設(shè)備(例如,控制器)的固件。外圍固件320可以包括各種模塊,諸如解碼器和交叉器321、觸發(fā)器控件322、觸發(fā)器數(shù)據(jù)323、其它功能324和震動控件325。

解碼器和交叉器321可以從編碼器318接收編碼的觸覺數(shù)據(jù),并對編碼的觸覺數(shù)據(jù)進行解碼。在一些實施例中,解碼器和交叉器321計算可編程交叉器,以便對編碼的觸覺數(shù)據(jù)進行解碼。解碼器和交叉器321可以實時計算可編程交叉器。

觸發(fā)器控件322是用于控制器330的一個或多個目標馬達或目標致動器(例如,圖3的馬達l和r)的低級控制api。觸發(fā)器控件322可以接收觸發(fā)指令并且可以將觸發(fā)指令轉(zhuǎn)換成用于控制器330的指定目標馬達或目標致動器的低級觸發(fā)指令,并且可以將低級觸發(fā)指令傳輸?shù)娇刂破?30的指定目標馬達或目標致動器。低級觸發(fā)指令可以使得指定目標馬達或目標致動器在控制器330的指定觸發(fā)器處產(chǎn)生觸發(fā)器觸覺效果。

如前所述,觸發(fā)器數(shù)據(jù)323是包括指示控制器330的一個或多個觸發(fā)器(例如,圖3的觸發(fā)器l和r)的位置和/或范圍的一個或多個參數(shù)的數(shù)據(jù)。外圍固件320可以從控制器330接收觸發(fā)器數(shù)據(jù)323。外圍固件320還可以存儲觸發(fā)器數(shù)據(jù)323,并且還可以將觸發(fā)器數(shù)據(jù)323傳輸?shù)皆O(shè)備模塊310。

其它游戲手柄功能324可以是由外圍固件320管理的控制器330的功能。這樣的功能可以包括諸如有線/無線通信、輸入報告、協(xié)議實現(xiàn)、電源管理等的功能。

震動控件325是用于控制器330的一個或多個震動馬達或震動致動器(例如,圖3的震動馬達l和r)的低級控制api。震動控件325可以接收震動指令、可以將震動指令轉(zhuǎn)換為用于控制器330的指定震動馬達或震動致動器的低級震動指令,并且可以將低級觸發(fā)指令傳輸?shù)娇刂破?30的指定震動馬達或震動致動器。

通信驅(qū)動器模塊326是被配置成控制設(shè)備模塊310和控制器330之間基于分組的通信的固件模塊。例如,可以通過一個或多個usb信道在設(shè)備模塊310和控制器330之間中繼基于分組的通信。在從設(shè)備模塊310接收到指令時,通信驅(qū)動器模塊326可以生成一個或多個觸覺驅(qū)動信號。在一些配置中,根據(jù)一種或多種報告格式生成觸覺驅(qū)動信號。

通信驅(qū)動器模塊326可以包括固件的若干部分,這些若干部分可以依賴于硬件或獨立于硬件。在一些情況下,獨立于硬件的固件的部分可以與依賴于硬件的部分分離。這里,獨立于硬件的固件可以通過使用功能指針與依賴于硬件的固件交互。

控制器330可以包括觸發(fā)器l和r。控制器330還可以包括齒輪箱l和r以及馬達l和r。馬達l和齒輪箱l在控制器330內(nèi)可操作地耦合到觸發(fā)器l。同樣,馬達r和齒輪箱r在控制器330內(nèi)可操作地耦合到觸發(fā)器r。當馬達l接收到觸發(fā)指令時,馬達l和齒輪箱l可以共同地使得在觸發(fā)器l處感受到觸發(fā)器觸覺效果。同樣,當馬達r接收到觸發(fā)指令時,馬達r和齒輪箱r可以共同地使得在觸發(fā)器r處感受到觸發(fā)器觸覺效果。外圍固件320可以使用驅(qū)動電子器件340向控制器330的馬達l和r發(fā)送觸發(fā)指令。

控制器330還可以包括電位計l和r。電位計l可以檢測觸發(fā)器l的位置和/或范圍,并且還可以將檢測到的觸發(fā)器l的位置和/或范圍作為觸發(fā)器數(shù)據(jù)發(fā)送到外圍固件320。同樣,電位計r可以檢測觸發(fā)器r的位置和/或范圍,并且還可以將檢測到的觸發(fā)器r的位置和/或范圍作為觸發(fā)器數(shù)據(jù)發(fā)送到外圍固件320。

控制器330還可以包括震動馬達l和r。當震動馬達l接收到震動指令時,震動馬達l使得觸覺效果沿著控制器330的左部件被感受到。同樣,當震動馬達r接收到震動指令時,震動馬達r使得觸覺效果沿著控制器330的右部件被感受到。外圍固件320可以使用震動驅(qū)動電子器件350向震動馬達l和r發(fā)送震動指令。

圖4是圖示根據(jù)本發(fā)明的示例實施例的用于控制觸覺通信的系統(tǒng)400的簡化框圖。

作為對系統(tǒng)400的輸入,一個或多個應(yīng)用410可以生成各種觸覺指令。在一些情況下,可以從觸覺效果庫415檢索觸覺指令。觸覺指令可以被解析、混合并轉(zhuǎn)換成適于通過系統(tǒng)400的各種部件在usb兼容信道上傳輸?shù)姆纸M化觸覺驅(qū)動信號。

觸覺引擎420是使用較低層api功能來管理源自應(yīng)用410的觸覺效果指令的較高層api(“應(yīng)用編程接口”)。例如,觸覺引擎420可以被配置成加載、啟動、停止、修改和/或渲染觸覺效果的回放。

觸覺引擎420與觸覺效果解析器430對接。顧名思義,觸覺效果解析器430被配置成將觸覺效果指令解析成定義其操作特性的段。在一些情況下,觸覺效果解析器430還可以從存儲器(例如,觸覺效果庫415)檢索附加操作特性??商娲鼗蚋郊拥?,觸覺效果解析器430包括api,該api將觸覺效果加載到存儲器中、驗證觸覺效果格式以及檢索與觸覺效果相關(guān)的各種信息,諸如分組大小、效果持續(xù)時間和其它觸覺效果數(shù)據(jù)。

觸覺引擎420還與觸覺混合器440對接。在觸覺混合器440處,旨在用于不同觸覺輸出設(shè)備的觸覺指令可以被組合成單個觸覺指令集合。通過實現(xiàn)觸覺混合器440,系統(tǒng)400可以在不同的觸覺輸出設(shè)備處同時回放若干觸覺效果。這里,可以調(diào)整和/或確定各種觸覺效果的開始和/或停止時間。此外,觸覺混合器440可以管理混合器緩沖器(未示出)的內(nèi)容。

觸覺引擎420還與觸覺設(shè)備處理機450對接。觸覺設(shè)備處理機450發(fā)起并管理與觸覺輸出設(shè)備的通信。例如,觸覺設(shè)備處理機450被配置成檢索各個觸覺輸出設(shè)備處理機(例如,標識符)。因此,觸覺設(shè)備處理機450可以在系統(tǒng)400的各種觸覺輸出設(shè)備處渲染觸覺效果。在一些情況下,觸覺設(shè)備處理機450還初始化用于渲染觸覺效果的數(shù)個狀態(tài)機結(jié)構(gòu)。

此外,觸覺設(shè)備處理機450與usb通信層(包括觸覺報告處理機460和usbhid(“人機接口設(shè)備”)庫470)對接。觸覺報告處理機460將源自應(yīng)用410的觸覺指令打包成適于在usb信道上傳輸?shù)姆纸M化數(shù)據(jù)。而且,usbhid庫470存儲用于促進usb通信的各種功能。例如,usbhid庫470存儲對觸覺指令進行編碼和解碼的功能。在另一個示例中,usbhid庫470存儲usb描述符和處理usb通信的功能。

通過利用包括部件420-470的系統(tǒng)400的各種部件,可以實現(xiàn)控制器(諸如圖2的控制器230)與應(yīng)用410之間usb兼容的通信。在控制器和應(yīng)用410之間,可以使用附加層,諸如游戲手柄固件480和控制器輸入讀取器490。例如,控制器輸入讀取器490將控制器的用戶輸入元件的狀態(tài)報告給應(yīng)用410。

圖5圖示根據(jù)本發(fā)明的示例實施例的用于驅(qū)動多個觸覺輸出設(shè)備的功能的流程圖。在一些配置中,可以由存儲在存儲器或其它計算機可讀或有形介質(zhì)中并由處理器執(zhí)行的軟件來實現(xiàn)圖5(和下面的圖6)的流程圖的功能。在其它實施例中,可以由硬件(例如,通過使用專用集成電路(“asic”)、可編程門陣列(“pga”)、現(xiàn)場可編程門陣列(“fpga”)等)、或硬件和軟件的任何組合來執(zhí)行功能。

首先,在510處,功能500生成復(fù)合驅(qū)動信號,該復(fù)合驅(qū)動信號包括將由第一觸覺輸出設(shè)備渲染的第一驅(qū)動信號、將由第二觸覺輸出設(shè)備渲染的第二驅(qū)動信號以及分組標識符。這里,第一觸覺輸出設(shè)備可以與第一用戶輸入元件相關(guān)聯(lián)并且第二觸覺輸出設(shè)備可以與第二用戶輸入元件相關(guān)聯(lián)。接下來,在520處,復(fù)合驅(qū)動信號被傳輸?shù)骄哂械谝挥|覺輸出設(shè)備和第二觸覺輸出設(shè)備的控制器。最后,在530處,基于分組標識符來確定第一驅(qū)動信號和第二驅(qū)動信號的執(zhí)行順序。

圖6圖示根據(jù)本發(fā)明的示例實施例的用于用預(yù)期的輸入信號映射用戶輸入元件的位置的功能600的流程圖。

首先,在610處,控制器的用戶輸入元件可以被初始化。這里,功能600可以初始地為用戶輸入元件設(shè)置位置和范圍信息。在一些情況下,可以基于用戶輸入設(shè)備從最大出去位置到地面位置的移動來計算這些值。

接下來,在620處,功能600確定并存儲用戶輸入元件的簡檔。所確定的簡檔可以將用戶輸入設(shè)備的每一個位置映射到模數(shù)轉(zhuǎn)換(“adc”)值。例如,在620確定的簡檔可以將用戶輸入設(shè)備的每一個位置映射到0和255之間的adc值。

所確定的簡檔可以或者利用遞增的簡檔或者利用遞減的簡檔。例如,當從8位adc數(shù)據(jù)讀取用戶輸入的位置的值時,遞增的簡檔將產(chǎn)生值[0,255]。類似地,當從8位adc數(shù)據(jù)讀取時,遞減的簡檔將產(chǎn)生值[255,0]。

隨后,在630處,功能600確定并存儲用戶輸入設(shè)備的每一個位置的預(yù)期輸入信號。在一些情況下,用戶輸入值的范圍可以與期望的輸入信號相關(guān)聯(lián)。

在一些情況下,用戶輸入元件的擱置位置在不同時間可以變化。例如,在使用各種用戶輸入設(shè)備之后,一些用戶輸入設(shè)備可以不返回到當用戶交互被去除時的相同擱置位置。在這種情況下,功能600可以在640處調(diào)整這些用戶輸入元件的確定的簡檔和期望的用戶輸入值。相應(yīng)地,在監(jiān)視用戶輸入元件的位置的同時,可以考慮(一個或多個)改變的擱置位置。

圖7圖示根據(jù)本發(fā)明的示例實施例的從主機設(shè)備發(fā)送到控制器的示例觸覺流報告700。在觸覺流報告700內(nèi),報告標識符710可以與定時器標識符720和觸覺驅(qū)動分組730相關(guān)聯(lián)。觸覺驅(qū)動分組可以包括分配給觸覺輸出設(shè)備中的每一個(例如,左震動、右震動、左觸發(fā)器,右觸發(fā)器等)的預(yù)定數(shù)量的字節(jié)(例如,25個字節(jié))。觸覺流報告700的總長度可以由字節(jié)數(shù)量標識符740指示。

在觸覺驅(qū)動分組730內(nèi),當(例如,每5ms周期性地)更新觸覺流報告時,可以修改力值和/或?qū)⒘χ祽?yīng)用到每一個觸覺輸出設(shè)備。例如,如果主機設(shè)備接收到播放新的觸覺效果的請求,那么該主機設(shè)備可以從存儲器中檢索觸覺效果數(shù)據(jù),并且用在即將到來的70ms期間要應(yīng)用到若干觸覺輸出設(shè)備的力值(例如,每致動器14力值,產(chǎn)生14*5ms)填充觸覺流報告700。這里,在2字節(jié)偏移處的定時器標識符720(諸如,開始計時值)可以用于通過確保在觸覺輸出設(shè)備的驅(qū)動緩沖器內(nèi)的正確位置處的存儲觸覺指令來同步觸覺指令。

在各種配置中,力值的語義和范圍可以取決于觸覺輸出設(shè)備及其方向性。例如,兩種類型的觸覺輸出設(shè)備包括觸發(fā)器和震動致動器。觸發(fā)器致動器通常是雙向的并且被配置成響應(yīng)推動動作和拉動動作。相比之下,震動致動器可以是雙向的或單向的。震動致動器和觸發(fā)致動器兩者的力值范圍可以是相同的(例如,0x00和0xff)。但是,觸覺輸出設(shè)備可以基于其各自的特性不同地利用力值的范圍。

對于觸發(fā)器致動器示例,范圍[0,127]中的力值可以在拉動的方向上移動觸發(fā)器致動器。這里,拉動的強度可以隨著力值的增加而減小。128的力值可以不推動或不拉動觸發(fā)器致動器。而且,范圍[129,255]中的力值可以在推動的方向上移動觸發(fā)器致動器。這里,推動的強度隨著力值的增加而增加。

在另一個示例中,對于單向震動致動器,可以忽略范圍[0,127]中的力值。128的力值可以不移動單向震動致動器,并且在范圍[129,255]中的力值可以沿順時針方向移動單向震動致動器,其中速度隨著力值的增加而增加。

在還有的另一個示例中,對于雙向震動致動器,范圍[0,127]中的力值可以沿逆時針方向移動致動器。128的力值可以不移動致動器。范圍[129,255]中的力值可以沿順時針方向移動致動器,其中速度隨著力值的增加而增加。

因此,觸覺流報告700提供示例復(fù)合驅(qū)動信號。在這個示例配置中,可以在一個報告結(jié)構(gòu)(例如,700)內(nèi)將用于多個觸覺輸出設(shè)備的驅(qū)動信號同時提供給控制器。進而,控制器可以基于觸覺流報告700內(nèi)的各種字段(諸如,報告標識符710、定時器標識符720和觸覺驅(qū)動分組730)來確定多個觸覺輸出設(shè)備的執(zhí)行(或執(zhí)行順序)。

圖8圖示根據(jù)本發(fā)明的示例實施例的從控制器發(fā)送到主機設(shè)備的示例觸覺流報告800。觸覺流報告800可以傳送關(guān)于與觸覺輸出設(shè)備相關(guān)聯(lián)的用戶輸入元件的位置的信息。例如,觸覺流報告800可以存儲用于六個電位計值的數(shù)據(jù)(每一個電位計值1個字節(jié)),以傳達觸發(fā)器和操縱桿的位置。示例觸覺流報告800可以存儲和報告多達十六個按鈕,為每一個按鈕狀態(tài)分配1位。

圖9圖示根據(jù)本發(fā)明的示例實施例的從控制器發(fā)送到主機設(shè)備的示例能力報告900。能力報告900可以傳送控制器能力,諸如觸覺輸出設(shè)備的數(shù)量、觸覺設(shè)備更新速率以及分配給每一個觸覺輸出設(shè)備的緩沖器標識符。此外,能力報告900還可以識別由控制器支持的通信協(xié)議和/或固件。

圖10圖示根據(jù)本發(fā)明的示例實施例的從主機設(shè)備發(fā)送到控制器的示例狀態(tài)請求報告1000。例如,主機設(shè)備可以檢查最近的usb分組或命令的狀態(tài)。響應(yīng)于狀態(tài)請求報告1000,控制器可以報告命令是有效的、無效的、不支持的,等等。

圖11圖示根據(jù)本發(fā)明的示例實施例的從主機設(shè)備發(fā)送到控制器的示例配置改變報告1100。使用配置改變報告,控制器可以請求對主機設(shè)備的固件設(shè)置的改變。例如,可以使用配置改變報告1100來改變觸覺輸出設(shè)備更新速率。

圖8-11的報告800-1100中的每一個圖示附加的示例復(fù)合信號。在這些示例的每一個中,可以在主機設(shè)備和控制器之間同時傳送若干用戶輸入元件和觸覺輸出設(shè)備的位置、能力、狀態(tài)和配置。在報告800-1100的每一個中,可以使用各種標識符,諸如報告、命令、模塊、參數(shù)和其它標識符。

圖12圖示適于與本發(fā)明的實施例一起使用的控制器1200的功能框圖。

如圖12所圖示,控制器1200可以包括各種用戶輸入元件中的一個或多個。用戶輸入元件可以指的是由用戶操縱以與主機計算機1204交互的任何接口設(shè)備。示例用戶輸入元件包括模擬或數(shù)字操縱桿1210、按鈕1214、觸發(fā)器1218等。如本領(lǐng)域普通技術(shù)人員所理解的,每一個用戶輸入元件中的一個或多個可以被包括在控制器1200上。例如,觸發(fā)器1218的當前描述不將控制器1200限制到單個觸發(fā)器。類似地,本領(lǐng)域技術(shù)人員可以理解的是,可以使用若干模擬或數(shù)字桿、按鈕和其它用戶輸入元件。

控制器1200可以包括本地處理器1208。本地處理器1208可以經(jīng)由連接1205與主機計算機1204交換命令和數(shù)據(jù)。連接1205可以是使用本領(lǐng)域技術(shù)人員已知的一個或多個通信協(xié)議的有線或無線連接。在一些情況下,控制器1200可以替代地被配置成不包括本地處理器1208。這里,來自控制器1200的輸入/輸出信號可以由主機計算機1204直接處置和處理。主機計算機1204可以是游戲設(shè)備控制臺并且顯示設(shè)備1206可以是可操作地耦合到游戲設(shè)備控制臺的屏幕。在一些情況下,主機計算機1204和顯示設(shè)備1206可以組合成單個設(shè)備。

控制器1200可以包括目標致動器1212、1216、1220(例如,馬達),以直接驅(qū)動其用戶輸入元件中的每一個以及在用戶的手通常位于的位置可操作地耦合到殼體1202的一個或多個通用致動器或震動致動器1222、1224。更具體地,模擬或數(shù)字桿1210包括可操作地耦合到其的目標致動器或馬達1212,按鈕1214包括可操作地耦合到其的目標致動器或馬達1216,并且觸發(fā)器1218包括可操作地耦合到其的目標致動器或馬達1220。除了多個目標致動器之外,控制器1200還包括可操作地耦合到其用戶輸入元件中的每一個的位置傳感器。更具體地,模擬或數(shù)字桿1210包括可操作地耦合到其的位置傳感器1211,按鈕1214包括可操作地耦合到其的位置傳感器1215,并且觸發(fā)器1218包括可操作地耦合到其的位置傳感器1219。本地處理器1208可操作地耦合到目標致動器1212、1216、1220以及分別耦合到模擬或數(shù)字桿1210、按鈕1214和觸發(fā)器1218的位置傳感器1211、1215、1219。響應(yīng)于從位置傳感器1211、1215、1219接收到的信號,本地處理器1208命令目標致動器1212、1216、1220分別向模擬或數(shù)字桿1210、按鈕1214和觸發(fā)器1218直接提供定向的或有針對性的動覺效果。這種有針對性的動覺效果與由通用致動器1222、1224沿著控制器的整個主體產(chǎn)生的通用觸覺效果或震動觸覺效果可辨別或可區(qū)分。共同的觸覺效果向用戶提供了對游戲更強的沉浸感,因為若干形態(tài)(例如,視頻、音頻和觸覺)同時參與。

圖13a和13b圖示適于與本發(fā)明的實施例一起使用的控制器1300的不同視圖。如圖13a和圖13b所示,控制器1300可以包括各種部件,諸如殼體1302、模擬或數(shù)字操縱桿1310、(一個或多個)按鈕1314、觸發(fā)器1318以及震動致動器1322和1324。

殼體1302被形成為使用戶容易地適應(yīng)抓握控制器1300??刂破?300是控制器的示例實施例,并且本發(fā)明的實施例可以容易地應(yīng)用于其它控制器形狀。

因此,本發(fā)明的實施例提供了用于觸覺輸出設(shè)備的改進的體系架構(gòu)和通信協(xié)議。通過實現(xiàn)各種實施例,可以同時傳送和執(zhí)行用于若干觸覺輸出設(shè)備的驅(qū)動信號。

本領(lǐng)域普通技術(shù)人員將容易理解的是,可以用不同順序的步驟和/或用以與所公開的配置不同配置的元件來實施如上所述的本發(fā)明。因此,雖然已經(jīng)基于這些優(yōu)選實施例描述了本發(fā)明,但是對于本領(lǐng)域技術(shù)人員將顯而易見的是,某些修改、變化和替代構(gòu)造將是顯而易見的,同時保持在本發(fā)明的精神和范圍之內(nèi)。因此,為了確定本發(fā)明的邊界和界限,應(yīng)當參考所附權(quán)利要求。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1