一種錄像文件的剪輯備份方法及裝置制造方法
【專利摘要】本發(fā)明實施例提供一種錄像文件的剪輯備份方法及裝置,所述方法包括:錄像時為錄像文件創(chuàng)建索引文件;根據(jù)所述索引文件確定欲定位時間對應(yīng)的幀索引信息;根據(jù)所述欲定位時間對應(yīng)的幀索引信息,對所述錄像文件進行剪輯備份。本發(fā)明實施例的有益技術(shù)效果在于:為每個錄像文件關(guān)聯(lián)一個幀索引信息,可以降低分析原始幀索引的工作量,避免了每次查詢都要分析定位的工作,提高了查詢速度。采用本發(fā)明實施例的技術(shù)方案可以實現(xiàn)快速高效的音視頻錄像數(shù)據(jù)剪輯備份功能。
【專利說明】一種錄像文件的剪輯備份方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及嵌入式視頻監(jiān)控存儲設(shè)備的視頻剪輯備份領(lǐng)域,具體地涉及一種錄像文件的剪輯備份方法及裝置。
【背景技術(shù)】
[0002]視頻剪輯備份是指從視頻數(shù)據(jù)文件中指定一段時間的視頻剪輯出來備份到其它存儲設(shè)備的文件中。視頻剪輯首先要處理的事情是按時間定位幀數(shù)據(jù)位置,即,定位剪輯段開始時間的幀位置和剪輯段結(jié)束時間的幀位置;然后逐幀讀出幀數(shù)據(jù),再寫入備份的目標文件中。目前按時間定位的方法是逐幀讀取幀頭數(shù)據(jù),分析幀時間戳和下一幀的位置,直到找出欲剪輯時間段對應(yīng)的幀數(shù)據(jù)的偏移位置。
[0003]定位過程中需要從幀數(shù)據(jù)文件中逐幀讀取幀頭數(shù)據(jù)進行分析,而且視頻幀數(shù)據(jù)文件的體積一般都非常大,會造成磁盤的磁頭移動位置大,定位所消耗的時間就非常長。表現(xiàn)形式就是用戶剪輯備份操作時,定位的等待時間較長。一般情況下,剪輯備份時用戶需要多次定位回放以確定剪輯的開始與結(jié)束時間,因此,尋找一種快速高效的定位方法以實現(xiàn)錄像文件的剪輯備份非常有必要。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種錄像文件的剪輯備份方法及裝置,以實現(xiàn)音視頻錄像數(shù)據(jù)的快速定位,并實現(xiàn)快速高效的音視頻錄像數(shù)據(jù)剪輯備份功能。
[0005]為達上述目的,一方面,本發(fā)明實施例提供了一種錄像文件的剪輯備份方法,所述方法包括:
[0006]錄像時為錄像文件創(chuàng)建索引文件;
[0007]根據(jù)所述索引文件確定欲定位時間對應(yīng)的幀索引信息;
[0008]根據(jù)所述欲定位時間對應(yīng)的幀索引信息,對所述錄像文件進行剪輯備份。
[0009]為達上述目的,另一方面,本發(fā)明實施例提供了一種錄像文件的剪輯備份裝置,所述裝置包括:
[0010]索引文件創(chuàng)建單元,用于錄像時為錄像文件創(chuàng)建索引文件;
[0011]幀索引信息定位單元,用于根據(jù)所述索引文件確定欲定位時間對應(yīng)的幀索引信息;
[0012]剪輯備份單元,用于根據(jù)所述欲定位時間對應(yīng)的幀索引信息,對所述錄像文件進行剪輯備份。
[0013]本發(fā)明實施例的有益技術(shù)效果在于:為每個錄像文件關(guān)聯(lián)一個幀索引信息,可以降低分析原始幀索引的工作量,避免了每次查詢都要分析定位的工作,提高了查詢速度。采用本發(fā)明實施例的技術(shù)方案可以實現(xiàn)快速高效的音視頻錄像數(shù)據(jù)剪輯備份功能。
【專利附圖】
【附圖說明】[0014]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1為本發(fā)明實施例的一種錄像文件的剪輯備份方法的整體流程圖;
[0016]圖1A為本發(fā)明實施例中索引文件、錄像文件結(jié)構(gòu)示意圖;
[0017]圖2為本發(fā)明實施例的動態(tài)加載查找流程圖;
[0018]圖3為本發(fā)明實施例的一種錄像文件的剪輯備份裝置的整體功能框圖;
[0019]圖4為本發(fā)明實施例的另一種剪輯備份裝置的具體功能框圖。
【具體實施方式】
[0020]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0021]圖1為本發(fā)明實施例的一種錄像文件的剪輯備份方法的整體流程圖。如圖1所示,該方法包括如下步驟:
[0022]110、錄像時為錄像文件創(chuàng)建索引文件;
[0023]具體地,本步驟具體實現(xiàn)時,錄像時為錄像文件創(chuàng)建幀索引文件(指包含索引信息的文件),所述幀索引文件記錄錄像文件中I幀的索引信息。其中,所述I幀的索引信息包括:1幀的時間戳、I幀的幀數(shù)據(jù)在錄像文件中的偏移量和I幀的數(shù)據(jù)長度。
[0024]所述錄像時為錄像文件創(chuàng)建索引文件包括:在寫入一幀數(shù)據(jù)時,分析幀類型;當幀類型為I幀時,將I幀的索引信息寫入索引文件。
[0025]120、根據(jù)所述索引文件確定欲定位時間對應(yīng)的幀索引信息;
[0026]其中,幀索引信息包含I幀時間戳、I幀數(shù)據(jù)在錄像文件中的偏移量和I幀的數(shù)據(jù)長度。
[0027]具體地,本步驟具體實現(xiàn)時可以采用如下步驟:根據(jù)錄像文件第一幀的時間戳、第一幀的時間點和欲定位的時間點,計算出欲定位的幀的時間戳;估算欲定位的時間戳所在的索引塊號;在所述索引塊號對應(yīng)的索引塊中查找欲定位的時間戳所對應(yīng)的幀索引信息。
[0028]較佳地,欲定位的幀的時間戳=第一幀時間戳+(欲定位的時間點一第一幀的時間點)。
[0029]較佳地,所述的估算欲定位的時間戳所在的索引塊號,是基于以下關(guān)系式:預(yù)估的索引塊號=(欲定位的時間戳一第一幀的時間戳)/每索引塊所含的幀時間長度。
[0030]可選地,如果在當前索引塊號對應(yīng)的索引塊中沒有查找到欲定位的時間戳所對應(yīng)的幀索引信息,則根據(jù)時間戳大小判斷待查找目標在當前索引塊號之前還是之后并重新估算索引塊號;在重新估算后的索引塊號對應(yīng)的索引塊中查找欲定位的時間戳所對應(yīng)的幀索引信息。
[0031]具體地,所述根據(jù)時間戳大小判斷待查找目標在當前塊號之前還是之后并重新估算索引塊號包括:[0032]如果待查找目標在當前塊號之前,則依據(jù)下列估算方法重新估算索引塊號:
[0033]重新估算的索引塊號=當前索引塊號一(當前索引塊的最小時間戳一欲定位的時間戳)/每索引塊所含幀時間長度;
[0034]如果待查找目標在當前塊號之后,則依據(jù)下列估算方法重新估算索引塊號:
[0035]重新估算的索引塊號=當前索引塊號+ (欲定位的時間戳一當前索引塊的最小時間戳)/每索引塊所含幀時間長度。
[0036]130、根據(jù)所述欲定位時間對應(yīng)的幀索引信息,對所述錄像文件進行剪輯備份。
[0037]以下對本發(fā)明實施例的上述方法,進行更為詳細的描述:
[0038](I)錄像過程中建立幀索引文件
[0039]圖1A為本發(fā)明實施例中索引文件、錄像文件結(jié)構(gòu)示意圖。如圖1A所示,錄像時創(chuàng)建兩個文件,音視頻數(shù)據(jù)寫入硬盤的數(shù)據(jù)文件中。同時,為每個音視頻數(shù)據(jù)文件(即錄像文件)創(chuàng)建一個對應(yīng)的索引文件,索引文件記錄視頻I幀在錄像文件中的位置。具體方法為:在寫入一幀數(shù)據(jù)時,分析幀類型(幀類型有I幀、P幀、B幀(索引文件中不記錄P幀和B幀的索引信息),其中I幀為關(guān)鍵幀,可以解出完整圖像),寫入I幀(I幀是音視頻編碼壓縮的專有名詞)的同時,將I幀的索引信息寫入索引文件,包含I幀的時間戳(其用于表明音視頻采集時的時間信息)、1幀數(shù)據(jù)在錄像文件中的偏移量、I幀數(shù)據(jù)長度等信息。索引文件只記錄I幀索引信息,可以減小文件體積,提高查詢速度。
[0040](2)快速定位方法
[0041]快速定位就是從索引文件中找出欲定位時間對應(yīng)的幀索引信息??紤]到索引文件較大,不采用一次加載所有幀索引信息的方法,而是用動態(tài)加載方法,即每次只加載對定位有用的幀索引信息。
[0042]圖2為本發(fā)明實施例的動態(tài)加載查找流程圖,圖2對應(yīng)于圖1中的步驟120,如圖2所示,快速定位步驟如下:
[0043]210、根據(jù)錄像文件第一幀的時間戳、第一幀的時間點(UTC時間,協(xié)調(diào)世界時:coordinated universal time)和給定的欲定位的時間點,計算出欲定位的幀的時間戳。計算方法為:
[0044]pts = pts0+(t_t0)
[0045]其中:Pts表示欲定位的幀的時間戳;ptS(l表示第一幀時間戳;t表示欲定位的時間點Atl表示第一幀的時間點。
[0046]220、估算欲定位的時間戳所在的索引塊號。索引塊是指索引文件中的一段連續(xù)的區(qū)塊,包含多條索引信息。
[0047]再請參閱圖1A,圖1A中示例性繪示了索引塊1、索引塊2,每一索引塊分別包括多條索引信息。
[0048]步驟220的估算方法如下:
[0049]Mock,=^^
' TPB
[0050]其中=Wocki表示預(yù)估的索引塊號,下標i表示經(jīng)過第i次迭代計算出的索引塊號;pts表示欲定位的時間戳;ptS(l表示第一幀的時間戳;TPB表示每索引塊所含幀時間長度的經(jīng)驗值,是一個常量,可以事先取多個錄像文件,計算每個文件的TPB值,取統(tǒng)計平均值。
[0051]此算法的一個特點是可以根據(jù)估算值經(jīng)過幾次迭代之后,得到準確的運算結(jié)果。原因在于,計算到步驟280時,當計算出的blocki值大于(或小于)實際block值時,重新估算的blocki+1大于(或小于)前一次的Wocki,多次迭代之后逐漸趨向于真實block。
[0052]230、查詢索引塊是否已加載到內(nèi)存,如果沒有加載,執(zhí)行步驟240從索引文件中加載。已經(jīng)加載的就不用再加載。
[0053]240、從索引文件中加載索引塊。
[0054]250、從當前塊號中查找欲定位的時間戳所對應(yīng)的幀索引信息,采用二分查找法查找(因為索引文件是有序的,二分查找法速度最快)。
[0055]260、判斷是否查找到幀索引信息,如是執(zhí)行步驟270,如否,返回步驟280、220。
[0056]270、找到幀索引信息后,返回幀索引信息,結(jié)束定位算法。
[0057]280、如果找不到幀索引信息,根據(jù)時間戳大小判斷查找目標在當前塊號之前還是之后,重新估算索引塊號,并轉(zhuǎn)步驟220。
[0058]具體地,當前過索引塊包括最小時間戳Ptsniin和最大時間戳pts_,比較查找目標也即欲定位的時間戳Pts與ptsmin、Ptsmax之間的大小關(guān)系,如果Pts小于Ptsmin,則判斷查找目標在當前塊號之前,如果PtS大于Ptsmax,則判斷查找目標在當前塊號之后。
[0059]在當前索引塊號之前的估算方法:
[0060]
【權(quán)利要求】
1.一種錄像文件的剪輯備份方法,其特征在于,所述方法包括: 錄像時為錄像文件創(chuàng)建索引文件; 根據(jù)所述索引文件確定欲定位時間對應(yīng)的幀索引信息; 根據(jù)所述欲定位時間對應(yīng)的幀索引信息,對所述錄像文件進行剪輯備份。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述索引文件為幀索引文件,所述幀索引文件記錄錄像文件中I幀的索引信息,所述I幀的索引信息包括:1幀的時間戳、I幀的幀數(shù)據(jù)在錄像文件中的偏移量和I幀的數(shù)據(jù)長度。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述錄像時為錄像文件創(chuàng)建索引文件包括: 在寫入一幀數(shù)據(jù)時,分析幀類型; 當幀類型為I幀時,將I幀的索引信息寫入索引文件。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述索引文件確定欲定位時間對應(yīng)的幀索引信息包括: 根據(jù)錄像文件第一幀的時間戳、第一幀的時間點和欲定位的時間點,計算出欲定位的幀的時間戳; 估算欲定位的時間戳所在的索引塊號; 在所述索引塊號對應(yīng)的索引塊中`查找欲定位的時間戳所對應(yīng)的幀索引信息。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述估算欲定位的時間戳所在的索引塊號,是基于以下關(guān)系式: 預(yù)估的索引塊號=(欲定位的時間戳一第一幀的時間戳)/每索引塊所含的幀時間長度。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:如果在當前索引塊號對應(yīng)的索引塊中沒有查找到欲定位的時間戳所對應(yīng)的幀索引信息,則根據(jù)時間戳大小判斷待查找目標在當前索引塊號之前還是之后并重新估算索引塊號;在重新估算后的索引塊號對應(yīng)的索引塊中查找欲定位的時間戳所對應(yīng)的幀索引信息。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述根據(jù)時間戳大小判斷待查找目標在當前塊號之前還是之后并重新估算索引塊號包括: 如果待查找目標在當前塊號之前,則依據(jù)下列估算方法重新估算索引塊號: 重新估算的索引塊號=當前索引塊號一(當前索引塊的最小時間戳一欲定位的時間戳)/每索引塊所含幀時間長度; 如果待查找目標在當前塊號之后,則依據(jù)下列估算方法重新估算索引塊號: 重新估算的索引塊號=當前索引塊號+(欲定位的時間戳一當前索引塊的最小時間戳)/每索引塊所含幀時間長度。
8.一種錄像文件的剪輯備份裝置,其特征在于,所述裝置包括: 索引文件創(chuàng)建單元,用于錄像時為錄像文件創(chuàng)建索引文件; 幀索引信息定位單元,用于根據(jù)所述索引文件確定欲定位時間對應(yīng)的幀索引信息;剪輯備份單元,用于根據(jù)所述欲定位時間對應(yīng)的幀索引信息,對所述錄像文件進行剪輯備份。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述索引文件為幀索引文件,所述幀索引文件記錄錄像文件中I幀的索引信息,所述I幀的索引信息包括:1幀的時間戳、I幀的幀數(shù)據(jù)在錄像文件中的偏移量和I幀的數(shù)據(jù)長度。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述索引文件創(chuàng)建單元,具體用于在寫入一幀數(shù)據(jù)時,分析幀類型;當幀類型為I幀時,將I幀的索引信息寫入索引文件。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述幀索引信息定位單元包括: 時間戳計算模塊,用于根據(jù)錄像文件第一幀的時間戳、第一幀的時間點和欲定位的時間點,計算出欲定位的幀的時間戳; 索引塊號估算模塊,用于估算欲定位的時間戳所在的索引塊號; 幀索引信息查找模塊,用于在所述索引塊號對應(yīng)的索引塊中查找欲定位的時間戳所對應(yīng)的幀索引信息。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述索引塊號估算模塊,具體用于是基于以下關(guān)系式來估算欲定位的時間戳所在的索引塊號: 預(yù)估的索引塊號=(欲定位的時間戳一第一幀的時間戳)/每索引塊所含的幀時間長度。
13.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述索引塊號估算模塊,還用于如果在當前塊號對應(yīng)的索引塊中沒有查找到欲定位的時間戳所對應(yīng)的幀索引信息,則根據(jù)時間戳大小判斷待查找目標在當前塊號之前還是之后并重新估算索引塊號;所述幀索引信息查找模塊,還用于在重新估算后的索引塊號對應(yīng)的索引塊中查找欲定位的時間戳所對應(yīng)的幀索引信息。`
14.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述索引塊號估算模塊,具體用于如果待查找目標在當前塊號之前,則依據(jù)下列估算方法重新估算索引塊號:重新估算的索引塊號=當前索引塊號一(當前索引塊的最小時間戳一欲定位的時間戳)/每索引塊所含幀時間長度;如果待查找目標在當前塊號之后,則依據(jù)下列估算方法重新估算索引塊號:重新估算的索引塊號=當前索引塊號+ (欲定位的時間戳一當前索引塊的最小時間戳)/每索引塊所含幀時間長度。
【文檔編號】G06F11/14GK103514184SQ201210209962
【公開日】2014年1月15日 申請日期:2012年6月25日 優(yōu)先權(quán)日:2012年6月25日
【發(fā)明者】秦豐林, 楊斌, 張興明, 傅利泉, 朱江明, 吳軍, 吳堅 申請人:浙江大華技術(shù)股份有限公司