版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
ICS35.020
CCSL70YD
中華人民共和國通信行業(yè)標準
YD/TXXXXX—XXXX
移動智能終端振動觸感反饋技術(shù)要求
Technicalrequirementsforhapticfeedbackofmobileintelligentterminal
(報批稿)
XXXX-XX-XX發(fā)布XXXX-XX-XX實施
中華人民共和國工業(yè)和信息化部發(fā)布
YD/TXXXX—XXXX
前??言
本文件按照GB/T1.1—2020《標準化工作導(dǎo)則第1部分:標準化文件的結(jié)構(gòu)和起草規(guī)則》的規(guī)定
起草。
請注意本文件的某些內(nèi)容可能涉及專利。本文件的發(fā)布機構(gòu)不承擔(dān)識別這些專利的責(zé)任。
本文件由中國通信標準化協(xié)會提出并歸口。
本文件起草單位:深圳市騰訊計算機系統(tǒng)有限公司、北京小米移動軟件有限公司、騰訊音樂娛樂科
技(深圳)有限公司、北京三星通信技術(shù)研究有限公司、OPPO廣東移動通信有限公司、維沃移動通信有
限公司、摩托羅拉移動通信技術(shù)有限公司。
本文件主要起草人:張亞軍、徐士立、洪楷、王昊、代威、梅述家、于磊、陳燦峰、李茹、吳越、
王小璞、劉臻、高立發(fā)、林輝。
II
YD/TXXXX—XXXX
移動智能終端振動觸感反饋技術(shù)要求
1范圍
本文件規(guī)定了移動智能終端振動觸感反饋技術(shù)要求,包括振動反饋系統(tǒng)架構(gòu)、接口、振動波形描述
文件以及數(shù)據(jù)格式、振動效果播放接口、振動馬達硬件性能技術(shù)要求、不同游戲場景振動頻率和強度技
術(shù)要求。
本文件適用于游戲振動觸感反饋體驗設(shè)計、開發(fā)以及評估測試。
其他多媒體娛樂振動反饋應(yīng)用也可參照(參考)使用本文件內(nèi)容。
2規(guī)范性引用文件
下列文件中的內(nèi)容通過文中的規(guī)范性引用而構(gòu)成本文件必不可少的條款。其中,注日期的引用文件,
僅該日期對應(yīng)的版本適用于本文件;不注日期的引用文件,其最新版本(包括所有的修改單)適用于本
文件。
GB/T32626-2016信息技術(shù)網(wǎng)絡(luò)游戲術(shù)語
3術(shù)語和定義
下列術(shù)語和定義適用于本文件。
3.1
移動智能終端smartintelligentdevice
移動智能終端,又叫移動終端、智能終端,是指一類具備豐富人機交互方式、擁有接入互聯(lián)網(wǎng)能力、
通常搭載各種操作系統(tǒng)、具有較強處理能力的設(shè)備。移動智能終端包括智能手機、平板電腦、車載終端、
掌上游戲主機等。
3.2
移動游戲mobilegame
移動游戲是指運行在移動智能終端,用戶與移動智能終端交互以達成目標的游戲應(yīng)用。
3.3
振動效果hapticeffect
振動觸感引擎根據(jù)游戲場景生成振動效果。
3.4
振動中間件hapticmiddleware
獨立于應(yīng)用軟件,位于操作系統(tǒng)之上,管理振動描述文件和振動效果的服務(wù)程序。
3.5
振動設(shè)備hapticequipment
具有振動馬達的設(shè)備。
3.6
振動描述信息hapticdescriptioninformation
1
YD/TXXXX—XXXX
振動描述信息用于描述不同游戲場景中的振動效果。
3.7
振動能力hapticcapability
硬件設(shè)備具有提供振動功能的振動模塊。
3.8
拖尾tailingoff
振動特效緩慢衰減。
4縮略語
下列縮略語適用于本文件:
HE:振動效果(HapticEffect)
HEI:振動效果接口(HapticEffectInterface)
HRI:振動運行時接口(HapticRuntimeInterface)
SDK:軟件開發(fā)工具包(SoftwareDevelopmentKit)
APP:應(yīng)用程序(Application)
OS:操作系統(tǒng)(OperationSystem)
5振動觸感反饋技術(shù)要求概述
當(dāng)前大多數(shù)移動智能終端均已支持振動反饋,而振動對于游戲來說,可以帶來更豐富的振感效果,
極大的拓展了游戲交互體驗。
由于移動智能終端的系統(tǒng)、硬件種類繁多,對于一個游戲振動場景來說,要針對各硬件設(shè)備、各平
臺去適配開發(fā)對應(yīng)的振動效果以及與設(shè)備的通信,造成了極大的重復(fù)工作量。并且,由于平臺以及硬件
的差異,游戲很難實現(xiàn)出統(tǒng)一標準的振動效果。
基于以上問題,本文件定義了獨立于平臺和硬件的抽象游戲振動效果描述,游戲運行時將游戲振動
效果描述轉(zhuǎn)換成設(shè)備振動描述的轉(zhuǎn)換協(xié)議,與底層平臺和設(shè)備的振動反饋的交互協(xié)議。
6振動觸感反饋系統(tǒng)架構(gòu)
振動觸感反饋系統(tǒng)架構(gòu)見圖1。
2
YD/TXXXX—XXXX
圖1振動觸感反饋系統(tǒng)架構(gòu)圖
APP應(yīng)用包含可供用戶設(shè)置的振動參數(shù),這些振動參數(shù)包括應(yīng)用自定義的振動波形效果和定制的振
動效果庫。振動SDK主要功能振動效果的播放控制和不同振動效果文件的協(xié)議轉(zhuǎn)換。
振動內(nèi)核包括振動效果描述文件(HE)解碼模塊、振動馬達控制算法模塊、振動效果算法模塊以及
振動事件處理模塊。
振動設(shè)備主要包括不同振動特性的馬達模組。
7振動觸感反饋邏輯架構(gòu)
振動觸感反饋邏輯架構(gòu)見圖2。
圖2振動觸感反饋邏輯架構(gòu)圖
3
YD/TXXXX—XXXX
如圖2所示,振動觸感反饋邏輯架構(gòu)包含4個對象和2個控制接口:
游戲振感特效:游戲側(cè)實現(xiàn)的與設(shè)備和平臺無關(guān)的振感效果抽象描述。一個振感特效包含至少1個
振感單元。
振感單元:定義了振動持續(xù)時間、振動強度、振動頻率、振動加速度、振動衰減的連續(xù)不間斷振動
描述。
中間轉(zhuǎn)換層:負責(zé)接收用戶設(shè)置的振動效果參數(shù),解析游戲的振動描述,將振動效果參數(shù)轉(zhuǎn)換成設(shè)
備振動運行時調(diào)用參數(shù)。轉(zhuǎn)換過程包括對振動強度、頻率進行縮放。
振動運行時:各種設(shè)備和平臺對于振動效果的具體實現(xiàn)。
HEI(HapticEffectsInterface):游戲振動特效接口。游戲和轉(zhuǎn)換單元通過該接口實現(xiàn)振動特
效信息的傳遞。請參考附錄A。
HRI(HapticRuntimeInterface):終端驅(qū)動硬件振動接口。轉(zhuǎn)換單元將游戲?qū)τ谡駝犹匦У拿?/p>
述信息轉(zhuǎn)換成設(shè)備可用的振動參數(shù)后,通過該接口與設(shè)備進行交互。
8振動效果描述文件格式
HE是以Json格式表示的振動效果描述文件。
Metadata數(shù)據(jù)結(jié)構(gòu),見表1:
表1Metadata數(shù)據(jù)結(jié)構(gòu)
Key說明
Version整形,振動效果描述文件版本號。
CreatedString字符串,振動效果描述文件創(chuàng)建時間。
DescriptionString字符串,振動效果描述文件說明。
Pattern數(shù)據(jù)結(jié)構(gòu),見表2:
表2Pattern數(shù)據(jù)結(jié)構(gòu)
Key說明
Event描述一個振動效果片段,不重疊。Event數(shù)據(jù)格式見表3。
Event數(shù)據(jù)結(jié)構(gòu),見表3:
表3Event數(shù)據(jù)機構(gòu)
Key說明
Type振動效果類型:連續(xù)振動,短暫振動。
RelativeTime整形,相對開始時間,單位微秒。
Duration整形,振動持續(xù)時間,單位微秒。
Parameters包括振動強度“Intensity”,振動頻率“Frequency”。
Parameters數(shù)據(jù)結(jié)構(gòu)見表4。
Parameters數(shù)據(jù)結(jié)構(gòu),見表4:
4
YD/TXXXX—XXXX
表4Parameters數(shù)據(jù)結(jié)構(gòu)
Key說明
Intensity整形,振動強度[0,100]。
Frequency整形,振動頻率[0,100]。
Curve振動效果曲線,Curve數(shù)據(jù)結(jié)構(gòu)見表5。
Curve數(shù)據(jù)結(jié)構(gòu),見表5:
表5Curve數(shù)據(jù)結(jié)構(gòu)
Key說明
Time整形,Event的相對時間,單位微秒。
Intensity浮點,對Parameters中的Intensity進行修飾,取值范圍為[0,1],與Parameters中的
Intensity相乘。
Frequency整形,對Parameters中的Frequency進行修飾,取值范圍為[-100,100],與Parameters
中的Frequency進行相加。
HE文件包含以下幾個部分:
1)Metadata字段部分包括振動效果的版本,創(chuàng)建時間,描述等基本信息;
2)具體的振動效果由Pattern字段描述,Pattern字段內(nèi)容是一個或者多個Event數(shù)組。每個Event
描述一個振動效果單元,不重疊;
3)Event振動效果單元:
4)Type描述振動效果類型:包含兩種類型:持續(xù)的振動類型”continuous”。簡短振動類型”
transient”。
5)RelativeTime,相對開始時間,整形數(shù),單位為微秒。
6)Duration,持續(xù)時間,整形數(shù),單位為微秒。
7)Parameters字段包括振動強度(Intensity),振動頻率(Frequency),整形數(shù),達到全部振
動所需時間,衰減時間等。
8)Curve用來描述持續(xù)動態(tài)振動效果曲線,實現(xiàn)動態(tài)變化效果的平滑過渡。
9)Curve中Time為相對Event的相對時間,Intensity對Parameters中的Intensity進行修飾,取
值范圍為[0,1],與Parameters中的Intensity相乘。Frequency對Parameters中的Frequency
進行修飾,取值范圍為[-100,100],與Parameters中的Frequency進行相加。
振動描述文件示例,見表6:
表6振動描述文件
{
"Metadata":{
"Version":1,
"Created":"2020-07-08",
"Description":"gamehaptic"
},
"Pattern":
[
{
"Event":{
"Type":"continuous",
5
YD/TXXXX—XXXX
"RelativeTime":0,
"Duration":300,
"Parameters":{
"Intensity":80,
"Frequency":50,
"Curve":[
{"Time":0,"Intensity":0,"Frequency":25},
{"Time":100,"Intensity":0.7,"Frequency":-30},
{"Time":200,"Intensity":0.75,"Frequency":40},
{"Time":300,"Intensity":0,"Frequency":50}
]
}
}
},
{
"Event":{
"Type":"transient",
"RelativeTime":400,
"Parameters":{
"Intensity":80,
"Frequency":40
}
}
},
]
}
9振動效果執(zhí)行流程
9.1初始化流程
初始化流程見圖3。
圖3振動觸感反饋初始化流程
1)游戲應(yīng)用和振動中間件進行初始化通信;
2)振動中間件獲取當(dāng)前設(shè)備是否支持振動以及獲取振動支持參數(shù)信息;
3)振動設(shè)備返回振動支持參數(shù)信息;
4)振動中間件將獲取到的振動支持信息發(fā)送給游戲應(yīng)用,
注:其中振動支持信息包括:
高品質(zhì)振動:支持HE格式文件,支持自定義振動頻率、強度,并且振動的時延、頻率和強度的誤差在一
定范圍之內(nèi);
6
YD/TXXXX—XXXX
普通振動:不支持HE格式文件,不支持自定義復(fù)雜振動效果;
不支持振動;
9.2振動效果播放流程
振動效果播放流程見圖4。
圖4振動效果播放流程
1)游戲發(fā)起獲取設(shè)備振動能力請求;
2)振動中間件獲取設(shè)備振動能力信息;
3)設(shè)備返回所支持的振動能力信息;
4)游戲應(yīng)用將振動描述信息發(fā)送給振動中間件;振動描述信息用于描述不同游戲場景中的振動效
果以及對應(yīng)各個游戲場景的振動縮放參數(shù);
5)振動中間件響應(yīng)游戲發(fā)送的振動描述信息根據(jù)設(shè)備的振動能力信息和不同游戲場景下的振動
描述信息,獲取振動執(zhí)行信息;
6)振動中間件調(diào)用設(shè)備游戲振動特效接口根據(jù)振動執(zhí)行信息播放游戲振動特效。
10振動效果評估方法
10.1振
動
執(zhí)
行
流
程
7
YD/TXXXX—XXXX
圖5振動執(zhí)行流程
振動執(zhí)行流程如圖5所示。
當(dāng)振動啟動時,游戲設(shè)備向游戲服務(wù)器發(fā)送與當(dāng)前游戲場景相關(guān)的振動指令,游戲服務(wù)器根據(jù)該振
動指令確定待傳輸?shù)睦碚撜駝用枋鑫募?,調(diào)用接口進行統(tǒng)一文件封裝,調(diào)用游戲設(shè)備解析封裝后的理論
振動描述文件并產(chǎn)生振動。
游戲驅(qū)動振動馬達產(chǎn)生振動(如循環(huán)振動或單個振動過程中不同振幅和不同頻率的振動),振動結(jié)
束觸發(fā)振動事件的結(jié)束。然后,游戲設(shè)備向游戲服務(wù)器報告實際的振動數(shù)據(jù),最后振動停止。
從游戲調(diào)用下發(fā)振動指令到終端設(shè)備接受到指令到解析指令產(chǎn)生振動,整個鏈路受多個因素的影響。
振動指令下發(fā)到設(shè)備根據(jù)振動指令產(chǎn)生振動效果主要分一下幾個階段:
——調(diào)用振動接口;
——振動接口統(tǒng)一轉(zhuǎn)換協(xié)議格式;
——調(diào)用設(shè)備驅(qū)動;
——下發(fā)底層解析格式根據(jù)定義產(chǎn)生振動。
10.2振動延時場景
振動延時場景包括:
——硬件啟動延時;
——應(yīng)用和系統(tǒng)通信延時;
——振動效果處理延時。
10.3振動效果評估指標
圖6振動效果評估流程
使用游戲?qū)嶋H振動產(chǎn)生的曲線和基準振動曲線的擬合度作為實際振動效果的衡量標準,振動效果評
估流程見圖6。
如圖7游戲內(nèi)自定義振動文件實時產(chǎn)生的曲線圖和終端設(shè)備期望產(chǎn)生的基準振動曲線圖,根據(jù)兩個
曲線的擬合度來計算整個交互過程中的振動效果和理論值之間的吻合性。用Hausdorff算法計算兩者之
間的相似度。
8
YD/TXXXX—XXXX
圖7振動效果擬合示意圖
對采集到的振動數(shù)據(jù)進行擬合,計算出強度(或頻率)的變換點,然后再和基準曲線進行對比得出
強度(頻率)響應(yīng)的延遲或拖尾時長。
獲取到各個點的延遲或拖尾后,對基準曲線(原始數(shù)據(jù)非擬合曲線)進行X軸偏移和縮放,得到實
際振動強度(頻率)曲線。同時,根據(jù)基準曲線的轉(zhuǎn)折點把實際曲線拆分為多段。
相對強度(頻率):
強度
最大強度
?=
2
公式(1)中:2