優(yōu)先權(quán)申請(qǐng)
本申請(qǐng)要求于2015年2月25日提交的美國(guó)臨時(shí)專利申請(qǐng)no.62/120,702的權(quán)益,該美國(guó)臨時(shí)專利申請(qǐng)通過引用被整體結(jié)合于此。
本發(fā)明的實(shí)施例一般而言針對(duì)電子設(shè)備,并且更具體而言針對(duì)產(chǎn)生觸覺效果的電子設(shè)備。
背景技術(shù):
視頻游戲和視頻游戲系統(tǒng)已經(jīng)變得非常受歡迎。視頻游戲設(shè)備或控制器通常使用視覺提示和聽覺提示向用戶提供反饋。在一些接口設(shè)備中,可以向用戶提供動(dòng)覺反饋(例如,主動(dòng)力反饋和阻力反饋)和/或觸感反饋(例如,振動(dòng)、紋理、溫度變化等)。通常,這種反饋被統(tǒng)稱為“觸覺反饋”或“觸覺效果”。觸覺反饋提供了增強(qiáng)和簡(jiǎn)化用戶與視頻游戲控制器或其它電子設(shè)備的交互的提示。例如,觸覺效果可以向視頻游戲控制器或其它電子設(shè)備的用戶提供提示,以就特定事件提醒用戶,或者在模擬環(huán)境或虛擬環(huán)境中提供逼真的反饋,以產(chǎn)生更強(qiáng)的感官沉浸。
其中用戶與用戶輸入元件交互以引起動(dòng)作的其它設(shè)備也可以受益于觸覺反饋或觸覺效果。例如,這樣的設(shè)備可以包括醫(yī)療設(shè)備、汽車控件、遙控器和其它類似的設(shè)備。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例針對(duì)被配置成產(chǎn)生基本上改進(jìn)相關(guān)技術(shù)的觸覺效果的電子設(shè)備。
實(shí)施例的特征和優(yōu)點(diǎn)在下面的描述中闡述,或者將從描述中顯而易見,或者可以通過實(shí)踐本發(fā)明來(lái)了解。
在一個(gè)示例中,提供了用于在慢動(dòng)作中渲染觸覺效果的系統(tǒng)和方法。接收媒體流(例如,音頻或視頻)和與媒體流對(duì)應(yīng)的觸覺效果序列。觸覺效果序列包括多個(gè)觸覺效果??梢詫?shí)時(shí)地渲染媒體流和觸覺效果序列。也可以在慢動(dòng)作中渲染媒體流和修改后的觸覺效果序列。修改后的觸覺效果序列包括對(duì)觸覺效果序列中的至少一個(gè)觸覺效果的參數(shù)的改變。
要理解的是,前面的一般描述和以下的詳細(xì)描述都是示例性和說(shuō)明性的,并不旨在將本發(fā)明限制到所描述的示例。
附圖說(shuō)明
根據(jù)以下結(jié)合附圖對(duì)優(yōu)選實(shí)施例的詳細(xì)描述,其他實(shí)施例、細(xì)節(jié)、優(yōu)點(diǎn)和修改將變得顯而易見。
圖1圖示根據(jù)本發(fā)明的示例實(shí)施例的系統(tǒng)的框圖。
圖2是圖示根據(jù)本發(fā)明的示例實(shí)施例的用于修改觸覺效果的系統(tǒng)的簡(jiǎn)化框圖。
圖3圖示根據(jù)本發(fā)明的示例實(shí)施例的觸覺效果軟件棧的框圖。
圖4圖示根據(jù)本發(fā)明的示例實(shí)施例的用于觸覺修改的體系架構(gòu)。
圖5圖示根據(jù)本發(fā)明的示例實(shí)施例的用于修改觸覺效果的流程圖。
圖6圖示根據(jù)本發(fā)明的另一種示例實(shí)施例的用于修改觸覺效果的流程圖。
圖7圖示適于與本發(fā)明的實(shí)施例一起使用的控制器的功能框圖。
圖8a和8b圖示適于與本發(fā)明的實(shí)施例一起使用的控制器的不同視圖。
具體實(shí)施方式
現(xiàn)在將詳細(xì)參考實(shí)施例,該實(shí)施例的示例在附圖中圖示。在以下具體實(shí)施方式中闡述許多具體細(xì)節(jié),以便提供對(duì)本發(fā)明的透徹理解。但是,對(duì)于本領(lǐng)域普通技術(shù)人員顯而易見的是,可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐本發(fā)明。在其它情況下,沒有詳細(xì)描述眾所周知的方法、過程、部件和電路,以免不必要地模糊實(shí)施例的各方面。只要有可能,相同的元素將使用相同的標(biāo)號(hào)。
示例實(shí)施例針對(duì)用于在慢動(dòng)作中渲染修改后的觸覺效果的系統(tǒng)和方法。雖然可以在慢動(dòng)作中將視頻準(zhǔn)確地傳達(dá)給用戶,但是對(duì)應(yīng)的觸覺效果通常沒有在慢動(dòng)作中被準(zhǔn)確地渲染。因此,本文描述的各種實(shí)施例通過調(diào)制/修改與觸覺效果序列中的每一個(gè)觸覺效果相關(guān)聯(lián)的各種參數(shù)在慢動(dòng)作中渲染觸覺效果。例如,可以更改每一個(gè)觸覺效果的幅度、頻率和/或持續(xù)時(shí)間以在慢動(dòng)作中準(zhǔn)確地傳達(dá)觸覺效果序列。
在各種實(shí)施例中,描述了用于使用設(shè)備的各種用戶接口和方法。在一些實(shí)施例中,設(shè)備是便攜式電子設(shè)備(例如,游戲控制器、控制臺(tái)、移動(dòng)電話、智能電話、平板電腦等)。但是,應(yīng)當(dāng)理解的是,用戶接口和相關(guān)聯(lián)的方法可以應(yīng)用到許多其它設(shè)備(諸如,個(gè)人計(jì)算機(jī)、醫(yī)療設(shè)備、膝上型電腦等),這些設(shè)備可以包括一個(gè)或多個(gè)其它物理用戶接口設(shè)備,諸如鍵盤、鼠標(biāo)、軌跡球等。
圖1圖示根據(jù)本發(fā)明的示例實(shí)施例的系統(tǒng)100的框圖。
系統(tǒng)100可以包括被配置成發(fā)送和/或從遠(yuǎn)程源接收數(shù)據(jù)的通信設(shè)備110。通信設(shè)備110可以通過以下方式在處理器120和其它設(shè)備之間啟用連接:編碼要經(jīng)網(wǎng)絡(luò)(未示出)從處理器120發(fā)送到另一個(gè)設(shè)備的數(shù)據(jù)和解碼經(jīng)網(wǎng)絡(luò)從另一個(gè)系統(tǒng)接收到的用于處理器120的數(shù)據(jù)。
例如,通信設(shè)備110可以包括被配置成提供無(wú)線網(wǎng)絡(luò)通信的網(wǎng)絡(luò)接口卡??梢允褂酶鞣N無(wú)線通信技術(shù),包括紅外線、無(wú)線電、藍(lán)牙、wi-fi和/或蜂窩通信。可替代地,通信設(shè)備110可以被配置成提供(一個(gè)或多個(gè))有線網(wǎng)絡(luò)連接,諸如以太網(wǎng)連接。
處理器120可以包括執(zhí)行系統(tǒng)100的計(jì)算和控制功能的一個(gè)或多個(gè)通用處理器或?qū)S锰幚砥鳌L幚砥?20可以包括單個(gè)集成電路(諸如,微處理設(shè)備),或者可以包括協(xié)同工作以完成處理器120的功能的多個(gè)集成電路設(shè)備和/或電路板。此外,處理器120可以執(zhí)行存儲(chǔ)在存儲(chǔ)器140內(nèi)的計(jì)算機(jī)程序,諸如操作系統(tǒng)141、觸覺調(diào)制器142和其它應(yīng)用143。
系統(tǒng)100可以包括用于存儲(chǔ)信息和由處理器120執(zhí)行的指令的存儲(chǔ)器140。存儲(chǔ)器140可以包含用于檢索、呈現(xiàn)、修改和存儲(chǔ)數(shù)據(jù)的各種部件。例如,存儲(chǔ)器140可以存儲(chǔ)當(dāng)由處理器120執(zhí)行時(shí)提供功能的軟件模塊。模塊可以包括為系統(tǒng)100提供操作系統(tǒng)功能的操作系統(tǒng)141。模塊還可以包括觸覺調(diào)制器142,該觸覺調(diào)制器142可以控制各種觸覺參數(shù)(例如,幅度、頻率和/或持續(xù)時(shí)間),以在以不同的回放速率重放(諸如,慢動(dòng)作重放)期間修改觸覺效果。在某些實(shí)施例中,觸覺調(diào)制器142可以包括用于基于媒體流(諸如,音頻和/或視頻流)的分析來(lái)動(dòng)態(tài)計(jì)算觸覺參數(shù)的指令。系統(tǒng)100還可以包括一個(gè)或多個(gè)附加的應(yīng)用模塊143,該一個(gè)或多個(gè)附加的應(yīng)用模塊143包括附加的功能,諸如被配置成向外圍設(shè)備(諸如,控制器150(例如,游戲手柄,可穿戴設(shè)備等))提供控制功能的外圍固件。
非瞬態(tài)存儲(chǔ)器140可以包括可由處理器120訪問的各種計(jì)算機(jī)可讀介質(zhì)。在各種實(shí)施例中,存儲(chǔ)器140可以包括易失性介質(zhì)和非易失性介質(zhì)、可移除介質(zhì)和不可移除介質(zhì)。例如,存儲(chǔ)器140可以包括以下的任意組合:隨機(jī)存取存儲(chǔ)器(“ram”)、動(dòng)態(tài)ram(“dram”)、靜態(tài)ram(“sram”)、只讀存儲(chǔ)器(“rom”)、閃存、高速緩存存儲(chǔ)器和/或任何其它類型的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)。
雖然被示為單個(gè)系統(tǒng),但是系統(tǒng)100的功能可以被實(shí)現(xiàn)為分布式系統(tǒng)。例如,存儲(chǔ)器140和處理器120可以跨共同包括系統(tǒng)100的多個(gè)不同計(jì)算機(jī)分布。在一種實(shí)施例中,系統(tǒng)100可以是設(shè)備(例如,個(gè)人計(jì)算機(jī)、控制臺(tái)、視頻游戲控制臺(tái)等)的一部分,并且系統(tǒng)100為設(shè)備提供觸覺效果功能。在另一種實(shí)施例中,系統(tǒng)100可以與設(shè)備分離,并且可以為設(shè)備遠(yuǎn)程地提供上述功能。
系統(tǒng)100可以可操作地連接到控制器150??刂破?50可以是被配置成向系統(tǒng)100提供輸入的外圍設(shè)備??刂破?50可以使用或者無(wú)線連接或者有線連接可操作地連接到系統(tǒng)100??刂破?50還可以包括被配置成使用或者無(wú)線連接或者有線連接與系統(tǒng)100通信的本地處理器??商娲?,控制器150可以被配置成不包括本地處理器,并且與控制器150相關(guān)聯(lián)的所有輸入信號(hào)和/或輸出信號(hào)可以由系統(tǒng)100的部件來(lái)處理。在其中控制器150具有本地處理器的實(shí)施例中,附加功能(諸如,被配置成提供控制功能的觸覺修改模塊和外圍固件)可以駐留在控制器150內(nèi)。
控制器150還可以包括可以由用戶與其交互并且可以向系統(tǒng)100提供輸入的一個(gè)或多個(gè)數(shù)字按鈕、一個(gè)或多個(gè)模擬按鈕、一個(gè)或多個(gè)緩沖器、一個(gè)或多個(gè)方向盤、一個(gè)或多個(gè)模擬桿或數(shù)字桿、一個(gè)或多個(gè)驅(qū)動(dòng)輪、和/或一個(gè)或多個(gè)用戶輸入元件??刂破?50還可以包括一個(gè)或多個(gè)模擬或數(shù)字觸發(fā)按鈕(或“觸發(fā)器”),該一個(gè)或多個(gè)模擬或數(shù)字觸發(fā)按鈕(或“觸發(fā)器”)可進(jìn)一步由用戶與其交互并且可以進(jìn)一步向系統(tǒng)100提供輸入。如下面更詳細(xì)描述的,控制器150還可以包括被配置成在控制器150的至少一個(gè)觸發(fā)器上施加雙向推力/拉力的馬達(dá)或另一種類型的致動(dòng)器或觸覺輸出設(shè)備。
控制器150還可以包括一個(gè)或多個(gè)致動(dòng)器或其它類型的觸覺輸出設(shè)備??刂破?50的本地處理器,或者其中控制器150不包括本地處理器的實(shí)施例中的處理器120可以將與觸覺效果相關(guān)聯(lián)的觸覺信號(hào)發(fā)送給控制器150的至少一個(gè)致動(dòng)器。致動(dòng)器又響應(yīng)于觸覺信號(hào)輸出觸覺效果,諸如振動(dòng)觸感觸覺效果、動(dòng)覺觸覺效果或變形觸覺效果??梢栽诳刂破?50的用戶輸入元件(例如,觸發(fā)器、數(shù)字按鈕、模擬按鈕、緩沖器、方向盤、模擬或數(shù)字桿、驅(qū)動(dòng)輪或觸發(fā)器)處體驗(yàn)到觸覺效果??商娲?,可以在控制器150的外表面處體驗(yàn)到觸覺效果。
致動(dòng)器是觸覺輸出設(shè)備的示例,其中觸覺輸出設(shè)備是被配置成響應(yīng)于驅(qū)動(dòng)信號(hào)而輸出觸覺效果的設(shè)備,觸覺效果諸如振動(dòng)觸感觸覺效果、靜電摩擦觸覺效果、溫度變化和/或變形觸覺效果。在替代的實(shí)施例中,控制器150內(nèi)的一個(gè)或多個(gè)致動(dòng)器可以由一些其它類型的觸覺輸出設(shè)備代替。觸覺輸出設(shè)備可以是例如電馬達(dá)、電磁致動(dòng)器、音圈、形狀記憶合金、電活性聚合物、螺線管、偏心旋轉(zhuǎn)質(zhì)量馬達(dá)(“erm”)、諧波erm馬達(dá)(“herm”)、線性諧振致動(dòng)器(“l(fā)ra”)、壓電致動(dòng)器、高帶寬致動(dòng)器、電活性聚合物(“eap”)致動(dòng)器、靜電摩擦顯示器或超聲波振動(dòng)發(fā)生器。在一些情況下,觸覺輸出設(shè)備可以包括觸覺輸出驅(qū)動(dòng)電路。在一些實(shí)施例中,觸覺輸出設(shè)備可以是單向的或雙向的。
控制器150還可以包括一個(gè)或多個(gè)揚(yáng)聲器??刂破?50的本地處理器,或者其中控制器150不包括本地處理器的實(shí)施例中的處理器120可以將音頻信號(hào)發(fā)送給控制器150的至少一個(gè)揚(yáng)聲器,該揚(yáng)聲器又輸出音頻效果。揚(yáng)聲器可以是例如動(dòng)態(tài)擴(kuò)音器、電動(dòng)擴(kuò)音器、壓電擴(kuò)音器、磁致伸縮擴(kuò)音器、靜電擴(kuò)音器、帶及平面磁性擴(kuò)音器、彎曲波擴(kuò)音器、平板擴(kuò)音器、帶狀空氣運(yùn)動(dòng)換能器、等離子弧揚(yáng)聲器和數(shù)字?jǐn)U音器。
控制器150還可以包括一個(gè)或多個(gè)傳感器。傳感器可以被配置成檢測(cè)能量的形式或其它物理性質(zhì),諸如但不限于,聲音、移動(dòng)、加速度、生物信號(hào)、距離、流量、力/壓力/應(yīng)變力/、彎曲、濕度、線性位置、朝向/傾斜、射頻、旋轉(zhuǎn)位置、旋轉(zhuǎn)速度、開關(guān)的操作、溫度、振動(dòng)或可見光強(qiáng)度。傳感器還可以被配置成將檢測(cè)到的能量或其它物理性質(zhì)轉(zhuǎn)換為電信號(hào)或表示虛擬傳感器信息的任何信號(hào),并且控制器150可以將轉(zhuǎn)換后的信號(hào)發(fā)送到控制器150的本地處理器,或者在其中控制器150不包括本地處理器的實(shí)施例中發(fā)送到處理器120。
圖2是圖示根據(jù)本發(fā)明的示例實(shí)施例的用于修改觸覺效果的系統(tǒng)200的簡(jiǎn)化框圖。
如圖2所示,中央處理單元(“cpu”)230可以執(zhí)行各種程序,諸如應(yīng)用210。應(yīng)用210生成包括音頻流和/或視頻流(諸如,媒體流211)的媒體流。此外,應(yīng)用210生成觸覺指令,諸如觸覺指令215。cpu230可以基于通過分析媒體流211確定的各種參數(shù)來(lái)修改觸覺指令215。例如,cpu230可以基于相機(jī)角度的改變或者重放速度的改變來(lái)更改觸覺指令215。cpu230還可以確定和/或調(diào)整觸覺指令的執(zhí)行時(shí)間。
媒體流211和觸覺指令215可以存儲(chǔ)在存儲(chǔ)器220中。存儲(chǔ)器220還存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)225.1-225.n,數(shù)據(jù)結(jié)構(gòu)中的每一個(gè)定義與相應(yīng)觸覺輸出設(shè)備相關(guān)聯(lián)的特性。cpu230可以根據(jù)數(shù)據(jù)結(jié)構(gòu)225.1-225.n執(zhí)行觸覺指令或確定對(duì)觸覺指令的改變。例如,數(shù)據(jù)結(jié)構(gòu)225.1-225.n可以存儲(chǔ)與最小驅(qū)動(dòng)頻率、最大驅(qū)動(dòng)頻率、最小強(qiáng)度、最大強(qiáng)度、啟動(dòng)電流、穩(wěn)態(tài)電流等有關(guān)的一個(gè)或多個(gè)值,這些值可以由cpu230在修改每一個(gè)觸覺輸出設(shè)備的觸覺效果時(shí)使用。
可以以各種方式生成修改后的觸覺效果。例如,慢動(dòng)作觸覺效果可以增加觸覺效果的持續(xù)時(shí)間以匹配視覺成分的減慢。在另一個(gè)示例中,恒定的觸覺效果可以變成周期性效果,或者可替代地,周期性觸覺效果可以變成恒定的觸覺效果。在再另一個(gè)示例中,慢動(dòng)作觸覺效果的幅度可以在強(qiáng)度上增加或減小,或者可以逐漸淡出或提升。在頻移的示例中,如果實(shí)時(shí)觸覺效果為10ms開啟和10ms關(guān)閉,那么對(duì)應(yīng)的慢動(dòng)作觸覺效果可以被修改為16ms開啟和16ms關(guān)閉,或者替代地,從20ms開啟/關(guān)閉改變并且逐漸降低到5ms開啟/關(guān)閉。在各種頻移實(shí)施例中,一個(gè)或多個(gè)濾波器可以被配置成在特定頻率范圍內(nèi)修改觸覺效果。
雖然本文描述的實(shí)施例可以在許多應(yīng)用中使用,但是現(xiàn)在將描述一些非限制性示例以更好地圖示實(shí)施例。在游戲應(yīng)用中,游戲玩家是第一人稱射擊者并在爆炸中死亡。在這個(gè)爆炸中,在控制器150的觸發(fā)器和/或震動(dòng)(rumble)致動(dòng)器中的一個(gè)或兩者上播放觸覺效果。在游戲玩家死亡之后,可以播放該動(dòng)作的慢動(dòng)作視頻(例如,從第三人稱的視角)。這里,觸覺效果可以從先前感覺到的觸覺效果改變?yōu)楦鹾透L(zhǎng)的版本。在慢動(dòng)作重放時(shí),可以更改觸覺效果以考慮到相機(jī)角度和/或重放速度,這可以可選地包括動(dòng)態(tài)觸覺效果。此外,各種實(shí)施例可以應(yīng)用于各種觸覺效果,諸如“效果內(nèi)的效果”,其提供由于較慢的回放速率而播放兩個(gè)或更多個(gè)同時(shí)進(jìn)行的效果(諸如,以復(fù)雜紋理在拉長(zhǎng)的間隙之間播放效果)的能力,而在實(shí)時(shí)情況中,優(yōu)先系統(tǒng)可以禁止播放多個(gè)效果。
因此,實(shí)施例可以被配置成基于初始觸覺效果渲染慢動(dòng)作觸覺效果。在各種配置中,可以動(dòng)態(tài)改變觸覺效果參數(shù),或者可以從一組預(yù)定的慢動(dòng)作觸覺效果中選擇觸覺效果參數(shù)。
圖3圖示根據(jù)本發(fā)明的示例實(shí)施例的觸覺效果軟件棧300的框圖。如圖3所示,軟件棧300包括設(shè)備模塊310、外圍固件模塊320、控制器模塊330、驅(qū)動(dòng)模塊340和震動(dòng)驅(qū)動(dòng)模塊350。觸覺效果軟件棧300在系統(tǒng)(諸如,圖1的系統(tǒng)100)上實(shí)現(xiàn)。
設(shè)備模塊310可以包括各種模塊,諸如輸入管理代碼311、外圍輸入應(yīng)用編程接口(“api”)312、震動(dòng)api313、觸覺效果api314、直接回放/交叉器315、觸發(fā)器引擎316、空間化引擎317和編碼器318。
輸入管理代碼311可以包括一組計(jì)算機(jī)可讀指令,在設(shè)備內(nèi)執(zhí)行的游戲應(yīng)用或其它類型的應(yīng)用的情境中,該計(jì)算機(jī)可讀指令管理由控制器330提供的輸入。
外圍輸入api312可以包括一組計(jì)算機(jī)可讀函數(shù)或例程,該計(jì)算機(jī)可讀函數(shù)或例程使得游戲輸入管理代碼311能夠與外圍固件320交互,以便接收和管理由控制器330提供的輸入。
震動(dòng)api313可以包括一組計(jì)算機(jī)可讀函數(shù)或例程,該計(jì)算機(jī)可讀函數(shù)或例程使得輸入管理代碼311能夠與外圍固件320交互,以便將震動(dòng)指令發(fā)送給控制器330的一個(gè)或多個(gè)震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器(例如,圖3的震動(dòng)馬達(dá)l和r)。此外,震動(dòng)指令可以使得控制器330的震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器產(chǎn)生通用觸覺效果或震動(dòng)觸覺效果。
觸覺效果api314(在圖3中被標(biāo)識(shí)為“api”)可以包括一組計(jì)算機(jī)可讀函數(shù)或例程,該計(jì)算機(jī)可讀函數(shù)或例程可由輸入管理代碼311訪問并且使得輸入管理代碼311能夠與外圍固件320交互,以便將觸覺指令發(fā)送給控制器330。此外,觸覺指令可以使得控制器330的一個(gè)或多個(gè)目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器在控制器330的一個(gè)或多個(gè)用戶輸入元件處產(chǎn)生觸覺效果。
觸覺效果api314還可以存儲(chǔ)一個(gè)或多個(gè)觸覺效果定義。觸覺效果定義是包括觸覺數(shù)據(jù)(諸如,觸覺信號(hào))的數(shù)據(jù)結(jié)構(gòu),該觸覺數(shù)據(jù)被預(yù)定義并且可以存儲(chǔ)在存儲(chǔ)設(shè)備(諸如,觸覺文件或觸覺流)中,并且可以被發(fā)送到一個(gè)或多個(gè)震動(dòng)馬達(dá)、震動(dòng)執(zhí)行器、目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器,以在控制器330的部件或用戶輸入元件處產(chǎn)生觸覺效果。觸覺數(shù)據(jù)可以包括對(duì)應(yīng)的觸覺效果的一個(gè)或多個(gè)屬性,其中屬性可以存儲(chǔ)為參數(shù)。觸覺效果定義的示例參數(shù)可以包括振幅參數(shù)、頻率參數(shù)、波形參數(shù)、包絡(luò)參數(shù)、幅度(或強(qiáng)度)參數(shù)和持續(xù)時(shí)間參數(shù)。
觸覺效果api314可以使得游戲輸入管理代碼311能夠與直接回放/交叉器315、觸發(fā)器引擎316和空間化引擎317交互,并且還可以根據(jù)由游戲輸入管理代碼311調(diào)用的請(qǐng)求來(lái)管理直接回放/交叉器315、觸發(fā)器引擎316和空間化引擎317。此外,觸覺效果api314可以存儲(chǔ)用于與外圍固件320通信和用于生成一個(gè)或多個(gè)觸覺效果的數(shù)據(jù)。
直接回放/交叉器315可以接收觸覺數(shù)據(jù)作為輸入、產(chǎn)生觸覺數(shù)據(jù)作為輸出、以及將觸覺數(shù)據(jù)發(fā)送給控制器330的一個(gè)或多個(gè)目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器(例如,圖3的馬達(dá)l和r)。在一些實(shí)施例中,直接回放/交叉器315可以將輸入觸覺數(shù)據(jù)直接輸出,而不修改輸入觸覺數(shù)據(jù)的格式。這導(dǎo)致輸入觸覺數(shù)據(jù)的“原樣”回放。在其它實(shí)施例中,直接回放/交叉器315可以將以第一格式輸入的觸覺數(shù)據(jù)轉(zhuǎn)換為第二格式,并且可以進(jìn)一步輸出轉(zhuǎn)換后的觸覺數(shù)據(jù)。取決于回放的類型,直接回放/交叉器315可以可選地使用可編程交叉器來(lái)轉(zhuǎn)換觸覺數(shù)據(jù)。通過轉(zhuǎn)換觸覺數(shù)據(jù),設(shè)備模塊可以解構(gòu)觸覺效果并在多個(gè)致動(dòng)器處回放觸覺效果。
觸覺數(shù)據(jù)的格式可以是觸覺基本流(“hes”)格式。hes格式是用于表示可以被流傳輸?shù)皆O(shè)備的觸覺數(shù)據(jù)的文件或數(shù)據(jù)格式。雖然可以在hes格式內(nèi)加密觸覺數(shù)據(jù),但是可以用與如何表示未壓縮的聲音相同或相似的方式來(lái)表示觸覺數(shù)據(jù)。
觸發(fā)器引擎316可以接收觸覺數(shù)據(jù)(諸如,觸覺效果定義),并且可以基于用戶輸入數(shù)據(jù)(諸如,觸發(fā)器數(shù)據(jù)323)修改觸覺數(shù)據(jù)。觸發(fā)器數(shù)據(jù)是包括指示控制器330的一個(gè)或多個(gè)觸發(fā)器(例如,圖3的觸發(fā)器l和r)的位置和/或范圍的一個(gè)或多個(gè)參數(shù)的數(shù)據(jù)。觸發(fā)器引擎316還可以向控制器330發(fā)送觸覺指令。例如,觸發(fā)器引擎316可以將觸覺指令發(fā)送給控制器330的各種用戶輸入元件。如前所述,觸覺指令可以使得控制器330的一個(gè)或多個(gè)目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器在控制器330的一個(gè)或多個(gè)用戶輸入元件處產(chǎn)生觸覺效果。
空間化引擎317可以接收觸覺數(shù)據(jù)并且可以基于空間化數(shù)據(jù)修改觸覺數(shù)據(jù)。空間化數(shù)據(jù)可以包括指示觸覺效果的期望方向和/或流動(dòng)(諸如,相應(yīng)用戶輸入元件上觸覺效果的順序)的數(shù)據(jù)。在某些實(shí)施例中,空間化引擎317可以從輸入管理代碼311接收包括方向和/或流動(dòng)的空間化數(shù)據(jù)。
空間化引擎317可以修改觸覺數(shù)據(jù),使得觸覺效果(諸如,觸發(fā)器觸覺效果)對(duì)于控制器330的一個(gè)或多個(gè)震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器(例如,圖3的震動(dòng)馬達(dá)l和r)進(jìn)行縮放,并且觸覺效果也對(duì)于控制器330的一個(gè)或多個(gè)目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器(例如,如圖3所示的馬達(dá)l和r)進(jìn)行縮放。換句話說(shuō),空間化引擎317可以修改發(fā)送到每一個(gè)馬達(dá)或致動(dòng)器的觸覺數(shù)據(jù),并且因此,修改在每一個(gè)馬達(dá)或致動(dòng)器處體驗(yàn)到的觸覺效果,以便傳達(dá)整體觸覺效果的方向和流動(dòng)感。例如,為了強(qiáng)調(diào)在馬達(dá)或致動(dòng)器處體驗(yàn)到的觸覺效果,空間化引擎317可以縮放觸覺效果的一個(gè)或多個(gè)部分。例如,空間化引擎317可以縮放發(fā)送到使得觸覺效果被體驗(yàn)到的馬達(dá)或致動(dòng)器的觸覺數(shù)據(jù),從而使得觸覺效果更顯著(例如,增大的幅度,持續(xù)時(shí)間等)。此外,空間化引擎317可以縮放發(fā)送到其它馬達(dá)或致動(dòng)器的觸覺數(shù)據(jù),從而使得在那些馬達(dá)或致動(dòng)器處體驗(yàn)到的其它觸覺效果不太顯著(例如,減小的幅度、持續(xù)時(shí)間等)。在一些實(shí)施例中,空間化引擎317可以實(shí)時(shí)地或基本上實(shí)時(shí)地修改觸覺數(shù)據(jù)。此外,在一些實(shí)施例中,空間化引擎317可以在輸入與馬達(dá)或致動(dòng)器與輸出之間具有非線性關(guān)系,以便夸大整體觸覺效果。
編碼器318將從直接回放/交叉器315、觸發(fā)器引擎316和/或空間化引擎317接收到的觸覺數(shù)據(jù)編碼成格式。在一種實(shí)施例中,格式可以是hes格式。編碼器318可以將編碼的觸覺數(shù)據(jù)傳輸?shù)酵鈬碳?20。
外圍固件320是用于一個(gè)或多個(gè)外圍設(shè)備(例如,控制器)的固件。外圍固件320可以包括各種模塊,諸如解碼器和交叉器321、觸發(fā)器控件322、觸發(fā)器數(shù)據(jù)323、其它功能324和震動(dòng)控件325。
解碼器和交叉器321可以從編碼器318接收編碼的觸覺數(shù)據(jù),并對(duì)編碼的觸覺數(shù)據(jù)進(jìn)行解碼。在一些實(shí)施例中,解碼器和交叉器321計(jì)算可編程交叉器,以便對(duì)編碼的觸覺數(shù)據(jù)進(jìn)行解碼。解碼器和交叉器321可以實(shí)時(shí)計(jì)算可編程交叉器。
觸發(fā)器控件322是用于控制器330的一個(gè)或多個(gè)目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器(例如,圖3的馬達(dá)l和r)的低級(jí)控制api。觸發(fā)器控件322可以接收觸發(fā)指令并且可以將觸發(fā)指令轉(zhuǎn)換成用于控制器330的指定目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器的低級(jí)觸發(fā)指令,并且可以將低級(jí)觸發(fā)指令發(fā)送給控制器330的指定目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器。低級(jí)觸發(fā)指令可以使得指定目標(biāo)馬達(dá)或目標(biāo)致動(dòng)器在控制器330的指定觸發(fā)器處產(chǎn)生觸發(fā)器觸覺效果。
如前所述,觸發(fā)器數(shù)據(jù)323是包括指示控制器330的一個(gè)或多個(gè)觸發(fā)器(例如,圖3的觸發(fā)器l和r)的位置和/或范圍的一個(gè)或多個(gè)參數(shù)的數(shù)據(jù)。外圍固件320可以從控制器330接收觸發(fā)器數(shù)據(jù)323。外圍固件320還可以存儲(chǔ)觸發(fā)器數(shù)據(jù)323,并且還可以將觸發(fā)器數(shù)據(jù)323發(fā)送給設(shè)備模塊310。
其它游戲手柄功能324可以是由外圍固件320管理的控制器330的功能。這樣的功能可以包括諸如有線/無(wú)線通信、輸入報(bào)告、協(xié)議實(shí)現(xiàn)、電源管理等的功能。
震動(dòng)控件325是用于控制器330的一個(gè)或多個(gè)震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器(例如,圖3的震動(dòng)馬達(dá)l和r)的低級(jí)控制api。震動(dòng)控件325可以接收震動(dòng)指令、可以將震動(dòng)指令轉(zhuǎn)換為用于控制器330的指定震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器的低級(jí)震動(dòng)指令,并且可以將低級(jí)觸發(fā)指令發(fā)送給控制器330的指定震動(dòng)馬達(dá)或震動(dòng)致動(dòng)器。
觸覺修改模塊326可以是可以修改控制器330的觸覺輸出設(shè)備的觸覺效果的固件模塊或獨(dú)立硬件芯片(例如,專用集成電路,也稱為“asic”)。觸覺修改模塊326可以被配置成控制各種觸覺參數(shù)(例如,幅度、頻率、持續(xù)時(shí)間),以在以不同的回放速率重放(諸如,慢動(dòng)作重放)期間修改觸覺效果。在某些實(shí)施例中,修改模塊326可以包括用于基于媒體信號(hào)(諸如,音頻和/或視頻)的分析來(lái)動(dòng)態(tài)計(jì)算觸覺參數(shù)的指令。觸覺修改模塊326和圖1的觸覺調(diào)制器142可以是相同的模塊。
控制器330可以包括觸發(fā)器l和r??刂破?30還可以包括齒輪箱l和r以及馬達(dá)l和r。馬達(dá)l和齒輪箱l在控制器330內(nèi)可操作地耦合到觸發(fā)器l。同樣,馬達(dá)r和齒輪箱r在控制器330內(nèi)可操作地耦合到觸發(fā)器r。當(dāng)馬達(dá)l接收到觸發(fā)指令時(shí),馬達(dá)l和齒輪箱l可以共同地使得在觸發(fā)器l處體驗(yàn)到觸發(fā)器觸覺效果。同樣,當(dāng)馬達(dá)r接收到觸發(fā)指令時(shí),馬達(dá)r和齒輪箱r可以共同地使得在觸發(fā)器r處體驗(yàn)到觸發(fā)器觸覺效果。外圍固件320可以使用驅(qū)動(dòng)電子器件340向控制器330的馬達(dá)l和r發(fā)送觸發(fā)指令。
控制器330還可以包括電位計(jì)l和r。電位計(jì)l可以檢測(cè)觸發(fā)器l的位置和/或范圍,并且還可以將檢測(cè)到的觸發(fā)器l的位置和/或范圍作為觸發(fā)器數(shù)據(jù)發(fā)送到外圍固件320。同樣,電位計(jì)r可以檢測(cè)觸發(fā)器r的位置和/或范圍,并且還可以將檢測(cè)到的觸發(fā)器r的位置和/或范圍作為觸發(fā)器數(shù)據(jù)發(fā)送到外圍固件320。
控制器330還可以包括震動(dòng)馬達(dá)l和r。當(dāng)震動(dòng)馬達(dá)l接收到震動(dòng)指令時(shí),震動(dòng)馬達(dá)l使得觸覺效果沿著控制器330的左部件被體驗(yàn)到。同樣,當(dāng)震動(dòng)馬達(dá)r接收到震動(dòng)指令時(shí),震動(dòng)馬達(dá)r使得觸覺效果沿著控制器330的右部件被體驗(yàn)到。外圍固件320可以使用震動(dòng)驅(qū)動(dòng)電子器件350向震動(dòng)馬達(dá)l和r發(fā)送震動(dòng)指令。
圖4圖示根據(jù)本發(fā)明的示例實(shí)施例的觸覺修改體系架構(gòu)。
觸覺驅(qū)動(dòng)處理機(jī)410可以配置有定時(shí)器處理機(jī)430,以跟蹤每一個(gè)觸覺輸出設(shè)備的定時(shí)和狀態(tài)。放置在觸覺驅(qū)動(dòng)處理機(jī)410和定時(shí)器處理機(jī)430之間,觸覺調(diào)制器420可以被配置成修改在觸覺輸出設(shè)備之間分布的觸覺效果。此外,觸覺調(diào)制器420可以被配置成控制各種觸覺參數(shù)(例如,幅度、頻率、持續(xù)時(shí)間),以在以不同的回放速率重放(諸如,慢動(dòng)作重放)期間修改觸覺效果。在某些實(shí)施例中,觸覺調(diào)制器420可以包括用于基于媒體信號(hào)(諸如,音頻和/或視頻)的分析來(lái)動(dòng)態(tài)計(jì)算觸覺參數(shù)的指令。
圖5圖示根據(jù)本發(fā)明的示例實(shí)施例的用于修改觸覺效果的功能500的流程圖。在一些情況下,由存儲(chǔ)在存儲(chǔ)器或其它計(jì)算機(jī)可讀或有形介質(zhì)中并由處理器執(zhí)行的軟件來(lái)實(shí)現(xiàn)圖5的流程圖的功能。在其它情況下,可以由硬件(例如,通過使用專用集成電路(“asic”)、可編程門陣列(“pga”)、現(xiàn)場(chǎng)可編程門陣列(“fpga”)等)、或硬件和軟件的任何組合來(lái)執(zhí)行功能。
首先,功能500確定包括在修改后的回放序列(諸如,慢動(dòng)作序列)中的一個(gè)或多個(gè)觸覺效果。例如,觸覺效果可以包括觸覺效果的子集或整個(gè)集合。接下來(lái),在520處,功能500確定在實(shí)時(shí)序列期間未被渲染的附加觸覺效果是否應(yīng)該在慢動(dòng)作回放序列中被渲染。
在530處,功能500確定媒體流(尤其視頻流)是否包括視角變化。例如,檢測(cè)到的慢動(dòng)作回放序列中的視角變化會(huì)導(dǎo)致觸覺效果的顯示位置的平移。接下來(lái),在540處,功能500可以修改一個(gè)或多個(gè)觸覺參數(shù),諸如持續(xù)時(shí)間、幅度、頻率和其它觸覺參數(shù),使得用戶對(duì)事件的觸覺感知等同于原始觸發(fā)的觸覺感知(正常速度)。
最后,在550處,可以在觸覺輸出設(shè)備之間生成和分發(fā)觸覺驅(qū)動(dòng)信號(hào)。觸覺驅(qū)動(dòng)信號(hào)可以由軟件應(yīng)用(諸如,游戲應(yīng)用)生成。在一些情況下,功能500還可以分發(fā)與觸覺輸出設(shè)備中的每一個(gè)相關(guān)聯(lián)的操作特性。這里,一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)可以存儲(chǔ)相應(yīng)觸覺輸出設(shè)備的操作特性。
圖6圖示根據(jù)本發(fā)明的示例實(shí)施例的用于修改觸覺效果的功能600的流程圖。
首先,功能600在610處接收媒體數(shù)據(jù),諸如音頻或視頻流。從在主機(jī)設(shè)備上運(yùn)行的應(yīng)用程序或其它軟件層或程序接收媒體流。接下來(lái),在620處,存儲(chǔ)預(yù)定量的接收到的媒體數(shù)據(jù)。例如,可以存儲(chǔ)預(yù)定數(shù)量的媒體片段以使得能夠快速處理和確定觸覺效果。
隨后,在630處,評(píng)估所存儲(chǔ)的媒體數(shù)據(jù)以識(shí)別在確定要輸出哪些觸覺效果時(shí)相關(guān)的特定媒體特性或特征。例如,實(shí)施例可以使用智能啟發(fā)式方法來(lái)提取可能在應(yīng)用程序中具有意義的媒體特征(例如,視頻亮度或?qū)Ρ榷鹊淖兓?,或音量的變化?,并且將這些媒體特征與觸覺效果的變化相關(guān)聯(lián),這些觸覺效果與所提取的媒體特征和這些特征所代表的可能事件適當(dāng)?shù)貙?duì)應(yīng)。在另一個(gè)示例中,實(shí)施例可以使用智能啟發(fā)式方法來(lái)區(qū)分在慢動(dòng)作中修改的漸進(jìn)觸覺效果(例如,汽車滑動(dòng)或滾下山)和未被修改的離散觸覺效果(例如,槍擊)。在一些情況下,可以使用持續(xù)時(shí)間閾值(例如,250ms)來(lái)區(qū)分逐漸觸覺效果和離散觸覺效果。觸覺可以應(yīng)用于各種事件,并且在許多當(dāng)前視頻游戲應(yīng)用中的類似事件可以是來(lái)自炸彈、手榴彈、導(dǎo)彈等的爆炸、武器(諸如,槍或火箭)的射擊、車輛的碰撞、腳步的圖案、物體濺入水中的聲音、向玩家提醒一些游戲事件的報(bào)警聲等。這些事件可以具有可以在適當(dāng)?shù)姆治鲋髲慕邮盏降拿襟w數(shù)據(jù)中識(shí)別的特定音頻和視頻特征。
最后,在640處,可以在觸覺輸出設(shè)備之間生成和分發(fā)觸覺驅(qū)動(dòng)信號(hào)。
圖7圖示適于與本發(fā)明的實(shí)施例一起使用的控制器700的功能框圖。
如圖7所圖示,控制器700可以包括各種用戶輸入元件中的一個(gè)或多個(gè)。用戶輸入元件可以指的是由用戶操縱以與主機(jī)計(jì)算機(jī)704交互的任何接口設(shè)備。示例用戶輸入元件包括模擬或數(shù)字操縱桿710、按鈕714、觸發(fā)器718等。如本領(lǐng)域普通技術(shù)人員所理解的,每一個(gè)用戶輸入元件中的一個(gè)或多個(gè)可以被包括在控制器700上。例如,觸發(fā)器718的當(dāng)前描述不將控制器700限制到單個(gè)觸發(fā)器。類似地,本領(lǐng)域技術(shù)人員可以理解的是,可以使用多個(gè)模擬或數(shù)字桿、按鈕和其它用戶輸入元件。
控制器700可以包括本地處理器708。本地處理器708可以經(jīng)由連接705與主機(jī)計(jì)算機(jī)704交換命令和數(shù)據(jù)。連接705可以是使用本領(lǐng)域技術(shù)人員已知的一個(gè)或多個(gè)通信協(xié)議的有線連接或無(wú)線連接。在一些情況下,控制器700可以替代地被配置成不包括本地處理器708。這里,來(lái)自控制器700的輸入/輸出信號(hào)可以由主機(jī)計(jì)算機(jī)704直接處置和處理。主機(jī)計(jì)算機(jī)704可以是游戲設(shè)備控制臺(tái)并且顯示設(shè)備706可以是可操作地耦合到游戲設(shè)備控制臺(tái)的屏幕。在一些情況下,主機(jī)計(jì)算機(jī)704和顯示設(shè)備706可以組合成單個(gè)設(shè)備。
控制器700可以包括目標(biāo)致動(dòng)器712、716、720(例如,馬達(dá)),以直接驅(qū)動(dòng)其用戶輸入元件中的每一個(gè)以及在用戶的手通常位于的位置可操作地耦合到殼體902的一個(gè)或多個(gè)通用或震動(dòng)致動(dòng)器722、724。更具體地,模擬或數(shù)字桿710包括可操作地耦合到其的目標(biāo)致動(dòng)器或馬達(dá)712,按鈕714包括可操作地耦合到其的目標(biāo)致動(dòng)器或馬達(dá)716,并且觸發(fā)器718包括可操作地耦合到其的目標(biāo)致動(dòng)器或馬達(dá)720。除了多個(gè)目標(biāo)致動(dòng)器之外,控制器700還包括可操作地耦合到其用戶輸入元件中的每一個(gè)的位置傳感器。更具體地,模擬或數(shù)字桿710包括可操作地耦合到其的位置傳感器711,按鈕714包括可操作地耦合到其的位置傳感器715,并且觸發(fā)器718包括可操作地耦合到其的位置傳感器719。本地處理器708可操作地耦合到目標(biāo)致動(dòng)器712、716、720以及分別耦合到模擬或數(shù)字桿710、按鈕714和觸發(fā)器718的位置傳感器711、715、719。響應(yīng)于從位置傳感器711、715、719接收到的信號(hào),本地處理器708指示目標(biāo)致動(dòng)器712、716、720分別向模擬或數(shù)字桿710、按鈕714和觸發(fā)器718直接提供定向的或有針對(duì)性的動(dòng)覺效果。這種有針對(duì)性的動(dòng)覺效果與由通用致動(dòng)器722、724沿著控制器的整個(gè)主體產(chǎn)生的通用觸覺效果或震動(dòng)觸覺效果可辨別或可區(qū)分。由于多個(gè)形態(tài)(例如,視頻、音頻和觸覺)同時(shí)參與,共同的觸覺效果向用戶提供了對(duì)游戲更強(qiáng)的沉浸感。
圖8a和8b圖示適于與本發(fā)明的實(shí)施例一起使用的控制器800的不同視圖。如圖8a和圖8b所示,控制器800可以包括各種部件,諸如殼體802、模擬或數(shù)字操縱桿810、(一個(gè)或多個(gè))按鈕814、觸發(fā)器818以及震動(dòng)致動(dòng)器822和824。
殼體802被形成為使用戶容易地適應(yīng)控制器1000的抓握??刂破?00是控制器的示例實(shí)施例,并且本發(fā)明的實(shí)施例可以容易地應(yīng)用于其它控制器形狀。
因此,本文描述的實(shí)施例提供了用于生成和修改觸覺效果的系統(tǒng)和方法。通過修改與觸覺效果序列中的每一個(gè)觸覺效果相關(guān)聯(lián)的各種參數(shù)在慢動(dòng)作中渲染觸覺效果。例如,可以更改每一個(gè)觸覺效果的幅度、頻率和/或持續(xù)時(shí)間以在慢動(dòng)作中準(zhǔn)確地傳達(dá)觸覺效果序列。
本領(lǐng)域普通技術(shù)人員將容易理解的是,可以用不同順序的步驟和/或用以與所公開的配置不同配置的元件來(lái)實(shí)施如上所述的本發(fā)明。因此,雖然已經(jīng)基于這些優(yōu)選實(shí)施例描述了本發(fā)明,但是對(duì)于本領(lǐng)域技術(shù)人員將顯而易見的是,某些修改、變化和替代構(gòu)造將是顯而易見的,同時(shí)保持在本發(fā)明的精神和范圍之內(nèi)。因此,為了確定本發(fā)明的邊界和界限,應(yīng)當(dāng)參考所附權(quán)利要求。