換,并判斷轉(zhuǎn)換后 的時間與控制進程要求的定位時間之差是否小于定位閥值;若大于定位閥值則繼續(xù)進行緩 沖、轉(zhuǎn)換和判斷;若小于定位閥值,則完成定位。定位完成后各類數(shù)據(jù)重放進程繼續(xù)下載當 前定位時間點及之后的數(shù)據(jù),對運些的數(shù)據(jù)包或數(shù)據(jù)帖進行數(shù)據(jù)解碼,放入緩沖區(qū)直至重 放緩沖區(qū)填滿為止,隨即數(shù)據(jù)重放進程進入"有數(shù)據(jù)"狀態(tài)即準備完成狀態(tài)。此時數(shù)據(jù)重放 進程主動向控制進程回復準備完成狀態(tài)。
[0044] 步驟3,當控制進程收到所有數(shù)據(jù)重放進程"有數(shù)據(jù)"狀態(tài)即準備完成狀態(tài)的應答 后,則同時向所有重放進程發(fā)送"播放"控制命令,數(shù)據(jù)重放進程收到"播放"命令后才真正 開始重放,實現(xiàn)同步重放。
[0045] 此多進程協(xié)同同步機制的同步誤差,由步驟3的各個進程收到播放命令并立即執(zhí) 行命令的時間差異導致,主要包括進程間通信的發(fā)送時延和執(zhí)行播放命令的響應時間組 成,同步誤差符合系統(tǒng)要求(<ls)。
[0046] 3、數(shù)據(jù)重放進程設(shè)計
[0047] 視頻重放進程、音頻重放進程、雷達回波視頻重放進程和系統(tǒng)處理數(shù)據(jù)重放進程, 雖然處理的數(shù)據(jù)類型不同,重放數(shù)據(jù)的方法也不同,但是各重放進程的重放邏輯是一致的。 各重放進程接收重放控制進程的控制命令,并調(diào)用相應的控制函數(shù),統(tǒng)一聽從重放控制進 程的控制。
[0048] 重放控制進程發(fā)送的控制命令類型W及各重放進程調(diào)用的相應函數(shù)說明如下表 所示。
[0049] 表1重放控制命令與對應的重放進程調(diào)用的函數(shù) 陽化0]
[0052] 重放進程狀態(tài)機如圖3所示,狀態(tài)說明如下:
[0053] (1)狀態(tài)由播放狀態(tài)和數(shù)據(jù)狀態(tài)組成,只有在播放狀態(tài)為"暫停"、數(shù)據(jù)狀態(tài)為"有 數(shù)據(jù)"(數(shù)據(jù)緩沖完成)時,才能調(diào)用Play函數(shù),調(diào)用Play函數(shù)則立即進入播放狀態(tài)。
[0054] (2) Seek函數(shù)完成重放時間點的定位、數(shù)據(jù)緩沖和解碼并主動向控制進程反饋準 備完成狀態(tài),從而為各進程的同步提供控制基礎(chǔ)。在"播放"、"暫停"和"停止個播放狀 態(tài)下調(diào)用Seek函數(shù)時,首先播放狀態(tài)變?yōu)?暫停",數(shù)據(jù)狀態(tài)變?yōu)?無數(shù)據(jù)";然后數(shù)據(jù)重放進 程從后臺服務(wù)端緩沖對應播放數(shù)據(jù),對收到數(shù)據(jù)包或者數(shù)據(jù)帖中的時間戳進行必要的時間 轉(zhuǎn)換,并判斷轉(zhuǎn)換后的時間與控制進程要求的定位時間之差是否小于定位閥值;若大于閥 值則繼續(xù)進行緩沖、轉(zhuǎn)換和判斷;若小于定位閥值,則完成定位。定位完成后數(shù)據(jù)重放進程 繼續(xù)下載當前定位時間點及之后的數(shù)據(jù),對運些的數(shù)據(jù)包或數(shù)據(jù)帖進行數(shù)據(jù)解碼,放入緩 沖區(qū)直至重放緩沖區(qū)填滿為止;之后數(shù)據(jù)重放進程自動轉(zhuǎn)換狀態(tài)變?yōu)?暫停"和"有數(shù)據(jù)", 并向控制進程主動上報當前數(shù)據(jù)狀態(tài),說明已進入可W調(diào)用Play函數(shù)的狀態(tài)即準備完成 狀態(tài)。 陽化5] (3)Preplay函數(shù)在進行重放前設(shè)置重放參數(shù),主要是需要播放的數(shù)據(jù)類型、數(shù)據(jù) 的時間段等,如果是電臺/電話音頻和屏幕視頻,則還包括對應哪個語音或者視頻設(shè)備信 息。函數(shù)的執(zhí)行將使進程播放狀態(tài)進入"暫停",使數(shù)據(jù)狀態(tài)變?yōu)?無數(shù)據(jù)"狀態(tài)。
[0056] (4)Pause函數(shù)使重放進程暫停對后臺下載數(shù)據(jù)的解碼、緩沖和播放。
[0057] (5) Stop函數(shù)使重放進程停止重放,停止對后臺下載數(shù)據(jù)的解碼、緩沖和播放,清 空重放緩沖區(qū)內(nèi)解碼后的數(shù)據(jù),使數(shù)據(jù)重放進程回到起點。
[0058] 化)DestroyPlayer函數(shù)徹底銷毀數(shù)據(jù)重放進程申請的重放緩沖區(qū)W及相關(guān)重放 資源,為數(shù)據(jù)重放進程退出做準備。
[0059]4、多源異類數(shù)據(jù)重放控制 W60] 各數(shù)據(jù)重放進程已進行??谠O(shè)計,便于重放控制進程進行重放控制,最終實現(xiàn)多 源異類數(shù)據(jù)按需組合和同步重放。
[0061] (1)在進行重放參數(shù)設(shè)置時,重放控制進程提供選擇界面,用戶按需選擇異類數(shù)據(jù) 中的一個或多個并進行組合,重放控制進程根據(jù)用戶的選擇啟動相應的重放進程,實現(xiàn)按 需組合重放。
[0062] (2)用戶通過控制進程界面點擊播放按鈕或在重放過程中進行拖動進度條等操作 時,控制進程首先發(fā)送"定位"命令(定位命令包含時間參數(shù))給各數(shù)據(jù)重放進程,同時等 待所有重放進行應答。當所有的數(shù)據(jù)重放進程都進入準備完成狀態(tài)后,則同時向所有重放 進程發(fā)送"播放"控制命令,實現(xiàn)同步控制。
[0063] (3)同步機制有手動觸發(fā)和自動觸發(fā)兩種觸發(fā)方式。當用戶點擊播放按鈕或者拖 動播放進度條時,即進行播放或者定位播放兩種重放控制操作時,都將觸發(fā)上述的多進程 協(xié)同同步過程,保證同步重放。當數(shù)據(jù)正常重放時,重放控制進程根據(jù)策略(距離上一次 手動或者自動同步控制操作的固定時間間隔)定時判斷當前控制進程的重放時間和各個 重放控制進程的重放時間,若重放時間的誤差小于預定閥值(<700ms),則不進行同步干預; 否則將進行同步干預。
[0064] 本發(fā)明提供了一種多源異類數(shù)據(jù)同步重放方法,具體實現(xiàn)該技術(shù)方案的方法和途 徑很多,W上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明原理的前提下,還可W做出若干改進和潤飾,運些改進和潤飾也應視 為本發(fā)明的保護范圍。本實施例中未明確的各組成部分均可用現(xiàn)有技術(shù)加W實現(xiàn)。
【主權(quán)項】
1. 一種多源異類數(shù)據(jù)同步重放方法,其特征在于:包括如下步驟: 步驟1,采集多源異類數(shù)據(jù),VTS系統(tǒng)在多源異類數(shù)據(jù)中的每個數(shù)據(jù)包或者數(shù)據(jù)幀中增 加時間戳標記; 步驟2,設(shè)計多源異類數(shù)據(jù)重放進程; 步驟3,進行多進程協(xié)同同步,控制進程進行總體控制,數(shù)據(jù)重放進程從后臺服務(wù)端下 載步驟1采集的多源異類數(shù)據(jù),進行時間戳轉(zhuǎn)換和定位,對數(shù)據(jù)進行解碼和重放,實現(xiàn)多源 異類數(shù)據(jù)同步重放。2. 根據(jù)權(quán)利要求1所述的一種多源異類數(shù)據(jù)同步重放方法,其特征在于:步驟1中,根 據(jù)多源異類數(shù)據(jù)的類型分別進行如下操作: 若所述多源異類數(shù)據(jù)為雷達回波視頻和系統(tǒng)處理數(shù)據(jù),不對其時間戳轉(zhuǎn)換,直接使 用; 若所述多源異類數(shù)據(jù)為視頻數(shù)據(jù),視頻數(shù)據(jù)幀時間戳的單位是采樣周期的倒數(shù)即 1/90000S,對于視頻數(shù)據(jù)記錄文件內(nèi)任意一個數(shù)據(jù)幀對應的標準時間的計算公式為:若所述多源異類數(shù)據(jù)為音頻數(shù)據(jù),音頻數(shù)據(jù)幀時間戳的單位為l/SOOOs,對于音頻數(shù)據(jù) 記錄文件內(nèi)任意一個數(shù)據(jù)幀對應的標準時間的計算公式為:3. 根據(jù)權(quán)利要求2所述的一種多源異類數(shù)據(jù)同步重放方法,其特征在于:步驟2中,所 述多源異類數(shù)據(jù)重放進程設(shè)計如下: 每個數(shù)據(jù)重放進程狀態(tài)由播放狀態(tài)和數(shù)據(jù)狀態(tài)組成,只有在播放狀態(tài)為暫停、數(shù)據(jù)狀 態(tài)為有數(shù)據(jù)時,才允許調(diào)用Play函數(shù),調(diào)用Play函數(shù)則立即進入播放狀態(tài); Seek函數(shù)用于完成重放時間點的定位、數(shù)據(jù)緩沖和解碼并主動向控制進程反饋準備完 成狀態(tài):在播放、暫停和停止三個播放狀態(tài)下調(diào)用Seek函數(shù)時,首先播放狀態(tài)變?yōu)闀和?,?shù) 據(jù)狀態(tài)變?yōu)闊o數(shù)據(jù);然后數(shù)據(jù)重放進程從后臺服務(wù)端緩沖對應播放數(shù)據(jù),對收到數(shù)據(jù)包或 者數(shù)據(jù)幀中的時間戳進行時間轉(zhuǎn)換,并判斷轉(zhuǎn)換后的時間與控制進程要求的定位時間之差 是否小于定位閥值;若大于定位閥值則繼續(xù)進行緩沖、轉(zhuǎn)換和判斷;若小于定位閥值,則完 成定位,定位完成后數(shù)據(jù)重放進程繼續(xù)下載當前定位時間點及之后的數(shù)據(jù),對這些數(shù)據(jù)中 的數(shù)據(jù)包或數(shù)據(jù)幀進行數(shù)據(jù)解碼,放入緩沖區(qū)直至重放緩沖區(qū)填滿為止;之后數(shù)據(jù)重放進 程自動轉(zhuǎn)換狀態(tài)變?yōu)闀和:陀袛?shù)據(jù),并向控制進程主動上報當前數(shù)據(jù)狀態(tài),說明已進入可 以調(diào)用Play函數(shù)的狀態(tài)即準備完成狀態(tài)。4. 根據(jù)權(quán)利要求3所述的一種多源異類數(shù)據(jù)同步重放方法,其特征在于:步驟3包括 如下步驟: 步驟1-1,用戶通過控制進程界面點擊播放按鈕或在重放過程中進行拖動進度條的操 作時,控制進程首先發(fā)送定位命令給各個數(shù)據(jù)重放進程,定位命令包含時間參數(shù),同時等待 所有數(shù)據(jù)重放進程進行應答; 步驟1-2,各個數(shù)據(jù)重放進程收到定位命令后,立即進入暫停狀態(tài),然后從后臺服務(wù)端 緩沖對應播放數(shù)據(jù),對收到數(shù)據(jù)包或者數(shù)據(jù)幀中的時間戳進行時間轉(zhuǎn)換,并判斷轉(zhuǎn)換后的 時間與控制進程要求的定位時間之差是否小于定位閥值;若大于定位閥值則繼續(xù)進行緩 沖、轉(zhuǎn)換和判斷;若小于定位閥值,則完成定位,定位完成后各類數(shù)據(jù)重放進程繼續(xù)下載當 前定位時間點及之后的數(shù)據(jù),對這些數(shù)據(jù)中的數(shù)據(jù)包或數(shù)據(jù)幀進行數(shù)據(jù)解碼,放入緩沖區(qū) 直至重放緩沖區(qū)填滿為止,隨即數(shù)據(jù)重放進程進入有數(shù)據(jù)狀態(tài)即準備完成狀態(tài),此時數(shù)據(jù) 重放進程主動向控制進程回復準備完成狀態(tài); 步驟1-3,當控制進程收到所有數(shù)據(jù)重放進程有數(shù)據(jù)狀態(tài)即準備完成狀態(tài)的應答后,則 同時向所有重放進程發(fā)送播放控制命令,數(shù)據(jù)重放進程收到播放命令后開始重放,實現(xiàn)同 步重放。5.根據(jù)權(quán)利要求4所述的一種多源異類數(shù)據(jù)同步重放方法,其特征在于:步驟3中,多 進程協(xié)同同步包括手動觸發(fā)和自動觸發(fā)兩種觸發(fā)方式:當用戶點擊播放按鈕或者拖動播放 進度條時,即進行播放或者定位播放兩種重放控制操作時,都將觸發(fā)多進程協(xié)同同步過程, 保證同步重放;當數(shù)據(jù)正常重放時,重放控制進程根據(jù)策略,即距離上一次手動或者自動同 步控制操作的固定時間間隔定時判斷當前控制進程的重放時間和各個重放控制進程的重 放時間,若重放時間的誤差小于預定閥值700ms,則不進行同步干預,否則將進行同步干預。
【專利摘要】本發(fā)明提供一種多源異類數(shù)據(jù)同步重放技術(shù),使得在多種數(shù)據(jù)能夠按需組合同步重放。包括:采集多源異類數(shù)據(jù),系統(tǒng)在多源異類數(shù)據(jù)中的每個數(shù)據(jù)包或者數(shù)據(jù)幀中增加時間戳標記,進行時間戳轉(zhuǎn)換;進行多進程協(xié)同同步,實現(xiàn)多源異類數(shù)據(jù)同步重放;設(shè)計多源異類數(shù)據(jù)重放進程;進行多源異類數(shù)據(jù)重放控制。本發(fā)明可實現(xiàn)對屏幕視頻、雷達回波視頻、電臺/電話音頻以及系統(tǒng)處理數(shù)據(jù)等多源異類數(shù)據(jù)的同步重放技術(shù),使各類數(shù)據(jù)相互印證進而提高用戶事件查證分析的完整性、準確性和工作效率。
【IPC分類】H04N21/8547, H04N21/236
【公開號】CN105392024
【申請?zhí)枴緾N201510713379
【發(fā)明人】陳智勇, 白正, 柴其鈺, 孫文俊, 王偉, 吳俊峰
【申請人】中國電子科技集團公司第二十八研究所
【公開日】2016年3月9日
【申請日】2015年10月28日