一種硬盤錄像機(jī)中視頻預(yù)覽的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種硬盤錄像機(jī)中視頻預(yù)覽的方法及裝置。
【背景技術(shù)】
[0002]硬盤錄像機(jī)(Digital Video Recorder,DVR),即數(shù)字視頻錄像機(jī),相對(duì)于傳統(tǒng)的模擬視頻錄像機(jī),采用硬盤錄像,集錄像機(jī)、畫面分割器、云臺(tái)鏡頭控制、報(bào)警控制、網(wǎng)絡(luò)傳輸?shù)任宸N功能于一身,由于DVR的諸多優(yōu)點(diǎn),其應(yīng)用越來越廣泛。
[0003]現(xiàn)有技術(shù)中,硬盤錄像機(jī)中視頻預(yù)覽的方法的具體操作過程如下:
[0004]首先,從片CPU負(fù)責(zé)編碼采集工作,前端模擬攝像機(jī)和從片CPU上的A/D轉(zhuǎn)換器相連將X路模擬視頻數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的YUV格式的數(shù)字視頻數(shù)據(jù)。
[0005]然后,從片CPU在接收到Y(jié)UV格式的數(shù)字視頻數(shù)據(jù)后分別對(duì)其進(jìn)行壓縮編碼生成相應(yīng)的X路H.264編碼格式的主碼流和輔碼流視頻數(shù)據(jù)。
[0006]進(jìn)而,從片CPU和主片CPU通過PC1-E總線通信、數(shù)據(jù)交換:從片CPU將η路的YUV格式視頻數(shù)據(jù)和X路H.264編碼格式的主碼流和輔碼流視頻數(shù)據(jù)傳送到主片CPU。
[0007]最后,主片CPU將η路YUV格式的數(shù)字視頻數(shù)據(jù)轉(zhuǎn)化后在顯示終端上輸出預(yù)覽視頻圖像,并將X路H.264編碼格式的主碼流和輔碼流視頻數(shù)據(jù)寫硬盤錄像進(jìn)行存儲(chǔ)備份。
[0008]由此可見,現(xiàn)有技術(shù)中的硬盤錄像機(jī)中視頻預(yù)覽的方法,當(dāng)預(yù)覽顯示在多畫面分割狀態(tài)下,即當(dāng)前顯示的畫面窗口有多個(gè),每一路通道的前端模擬攝像頭對(duì)應(yīng)一個(gè)畫面窗口,從片CPU要將所有YUV格式的視頻數(shù)據(jù)和H.264編碼格式視頻數(shù)據(jù)通過PC1-E總線傳輸?shù)街髌珻PU。但是,例如,根據(jù)實(shí)測(cè)一個(gè)200W高清模擬攝像頭,其中,YUV視頻數(shù)據(jù)碼流達(dá)到500Mb/s,H.264編碼數(shù)據(jù)主碼流為8Mb/s,輔碼流為2Mb/s,即每一路通道對(duì)應(yīng)的PC1-E總線就要消耗510Mb/s的傳輸性能。而且,對(duì)于嵌入式的CPU PC1-E性能一般較低,按照PC1-E xl標(biāo)準(zhǔn)速度為2000Mb/s,最多也只能接3路200W高清模擬攝像頭,這樣,極大的影響了多路通道下高清嵌入式硬盤錄像機(jī)的發(fā)展,增加了 PC1-E總線的數(shù)據(jù)傳輸壓力。
[0009]由此可見,現(xiàn)有技術(shù)下,存在數(shù)據(jù)傳輸壓力大,且可擴(kuò)展的通道路數(shù)較少的問題。
【發(fā)明內(nèi)容】
[0010]本發(fā)明實(shí)施例提供一種硬盤錄像機(jī)中視頻預(yù)覽的方法及裝置,以解決現(xiàn)有技術(shù)中數(shù)據(jù)傳輸壓力大,且可擴(kuò)展的通道路數(shù)少的問題。
[0011 ]本發(fā)明實(shí)施例提供的具體技術(shù)方案如下:
[0012]一種硬盤錄像機(jī)中視頻預(yù)覽的方法,包括:
[0013]依次獲取每一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)、主碼流和輔碼流;其中,同一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)、主碼流和輔碼流表征相同的畫面;
[0014]計(jì)算第一設(shè)定數(shù)目的畫面窗口對(duì)應(yīng)的原始傳輸數(shù)據(jù)帶寬量之和;
[0015]判斷上述原始傳輸數(shù)據(jù)帶寬量之和是否大于預(yù)設(shè)的原始傳輸數(shù)據(jù)帶寬閾值,若否,則在符合上述第一設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口內(nèi)顯示對(duì)應(yīng)的原始數(shù)據(jù);若是,則計(jì)算第二設(shè)定數(shù)目的畫面窗口對(duì)應(yīng)的主碼流解碼性能消耗之和,并進(jìn)一步判斷上述主碼流解碼性能消耗之和是否大于預(yù)設(shè)的主碼流解碼性能閾值,若否,則在符合上述第二設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口內(nèi)解碼對(duì)應(yīng)的主碼流并進(jìn)行顯示;若是,則在符合第三設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口解碼對(duì)應(yīng)的輔碼流并進(jìn)行顯示;其中,上述第三設(shè)定數(shù)目、上述第一設(shè)定數(shù)目及上述第二設(shè)定數(shù)目之和等于當(dāng)前顯示的畫面窗口總數(shù)目。
[0016]本發(fā)明實(shí)施例中,依次獲取每一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)、主碼流和輔碼流;計(jì)算第一設(shè)定數(shù)目的畫面窗口對(duì)應(yīng)的原始傳輸數(shù)據(jù)帶寬量之和;判斷是否在預(yù)設(shè)的原始傳輸數(shù)據(jù)帶寬閾值內(nèi),如果是,則在符合上述第一設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口內(nèi)顯示對(duì)應(yīng)的原始數(shù)據(jù);如果否,則計(jì)算第二設(shè)定數(shù)目的畫面窗口對(duì)應(yīng)的主碼流解碼性能消耗之和,并進(jìn)一步判斷是否在預(yù)設(shè)的主碼流解碼性能閾值內(nèi),如果是,則在符合上述第二設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口內(nèi)解碼對(duì)應(yīng)的主碼流并進(jìn)行顯示;如果否,則在符合第三設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口解碼對(duì)應(yīng)的輔碼流并進(jìn)行顯示,這樣,畫面窗口不是都采用原始數(shù)據(jù)進(jìn)行預(yù)覽顯示,而是采用原始數(shù)據(jù)、解碼主碼流、解碼輔碼流的這種組合方式的進(jìn)行預(yù)覽顯示,大大降低PC1-E總線的數(shù)據(jù)傳輸壓力,進(jìn)而使得可擴(kuò)展的通道路數(shù)更多。
[0017]較佳的,在依次獲取每一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)、主碼流和輔碼流之前,進(jìn)一步包括:
[0018]確定每一個(gè)畫面窗口的面積,且基于每一個(gè)畫面窗口的面積,將每一個(gè)畫面窗口按照面積從大到小進(jìn)行排序,按照上述從大到小的順序,確定依次獲取每一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)、主碼流和輔碼流。
[0019]對(duì)畫面窗口按照面積的大小從大到小進(jìn)行了排序,這樣可以最大限度地保證,在預(yù)覽時(shí)的視頻畫面質(zhì)量。
[0020]較佳的,計(jì)算第一設(shè)定數(shù)目的畫面窗口對(duì)應(yīng)的原始傳輸數(shù)據(jù)帶寬量之和,具體包括:
[0021]依次讀取符合第一設(shè)定數(shù)目中的每一個(gè)畫面窗口對(duì)應(yīng)的原始傳輸數(shù)據(jù)帶寬量;
[0022]累計(jì)相加讀取的每一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)帶寬量,獲得符合第一設(shè)定數(shù)目中每一個(gè)畫面窗口對(duì)應(yīng)的原始傳輸數(shù)據(jù)帶寬量之和;
[0023]其中,上述第一設(shè)定數(shù)目,為累計(jì)相加的原始數(shù)據(jù)帶寬量之和小于上述預(yù)設(shè)的原始傳輸數(shù)據(jù)帶寬閾值時(shí)的最大畫面窗口數(shù)目。
[0024]較佳的,計(jì)算第二設(shè)定數(shù)目的畫面窗口對(duì)應(yīng)的主碼流解碼性能消耗之和,具體包括:
[0025]依次讀取符合第二設(shè)定數(shù)目中的每一個(gè)畫面窗口對(duì)應(yīng)的主碼流解碼性能消耗;
[0026]累計(jì)相加讀取的每一個(gè)畫面窗口對(duì)應(yīng)的主碼流解碼性能消耗,獲得符合第二設(shè)定數(shù)目的畫面窗口對(duì)應(yīng)的主碼流解碼性能消耗之和;
[0027]其中,上述第二設(shè)定數(shù)目,為累計(jì)相加的主碼流解碼性能消耗之和小于上述預(yù)設(shè)的主碼流解碼性能閾值時(shí)的最大畫面窗口數(shù)目。
[0028]較佳的,在依次獲取每一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)、主碼流和輔碼流之前,進(jìn)一步包括:
[0029]確定設(shè)備的傳輸配置參數(shù)和畫面窗口的分割數(shù);
[0030]根據(jù)上述傳輸配置參數(shù)和上述分割數(shù),計(jì)算原始傳輸數(shù)據(jù)帶寬閾值和主碼流解碼性能閾值;其中,上述分割數(shù)表征當(dāng)前顯示的畫面窗口總數(shù)目。
[0031 ]較佳的,上述原始數(shù)據(jù)為YUV數(shù)據(jù)。
[0032]一種硬盤錄像機(jī)中視頻預(yù)覽的裝置,具體包括:
[0033]獲取單元,用于依次獲取每一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)、主碼流和輔碼流;其中,同一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)、主碼流和輔碼流表征相同的畫面;
[0034]第一計(jì)算單元,用于計(jì)算第一設(shè)定數(shù)目的畫面窗口對(duì)應(yīng)的原始傳輸數(shù)據(jù)帶寬量之和;
[0035]處理單元,用于判斷上述原始傳輸數(shù)據(jù)帶寬量之和是否大于預(yù)設(shè)的原始傳輸數(shù)據(jù)帶寬閾值,若否,則在符合上述第一設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口內(nèi)顯示對(duì)應(yīng)的原始數(shù)據(jù);若是,則計(jì)算第二設(shè)定數(shù)目的畫面窗口對(duì)應(yīng)的主碼流解碼性能消耗之和,并進(jìn)一步判斷上述主碼流解碼性能消耗之和是否大于預(yù)設(shè)的主碼流解碼性能閾值,若否,則在符合上述第二設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口內(nèi)解碼對(duì)應(yīng)的主碼流并進(jìn)行顯示;若是,則在符合第三設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口解碼對(duì)應(yīng)的輔碼流并進(jìn)行顯示;其中,上述第三設(shè)定數(shù)目、上述第一設(shè)定數(shù)目及上述第二設(shè)定數(shù)目之和等于當(dāng)前顯示的畫面窗口總數(shù)目。
[0036]本發(fā)明實(shí)施例中,依次獲取每一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)、主碼流和輔碼流;計(jì)算第一設(shè)定數(shù)目的畫面窗口對(duì)應(yīng)的原始傳輸數(shù)據(jù)帶寬量之和;判斷是否在預(yù)設(shè)的原始傳輸數(shù)據(jù)帶寬閾值內(nèi),如果是,則在符合上述第一設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口內(nèi)顯示對(duì)應(yīng)的原始數(shù)據(jù);如果否,則計(jì)算第二設(shè)定數(shù)目的畫面窗口對(duì)應(yīng)的主碼流解碼性能消耗之和,并進(jìn)一步判斷是否在預(yù)設(shè)的主碼流解碼性能閾值內(nèi),如果是,則在符合上述第二設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口內(nèi)解碼對(duì)應(yīng)的主碼流并進(jìn)行顯示;如果否,則在符合第三設(shè)定數(shù)目的畫面窗口中的每一個(gè)畫面窗口解碼對(duì)應(yīng)的輔碼流并進(jìn)行顯示,這樣,畫面窗口不是都采用原始數(shù)據(jù)進(jìn)行預(yù)覽顯示,而是采用原始數(shù)據(jù)、解碼主碼流、解碼輔碼流的這種組合方式的進(jìn)行預(yù)覽顯示,大大降低PC1-E總線的數(shù)據(jù)傳輸壓力,進(jìn)而使得可擴(kuò)展的通道路數(shù)更多。
[0037]較佳的,在依次獲取每一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)、主碼流和輔碼流之前,進(jìn)一步包括:
[0038]排序單元,用于確定每一個(gè)畫面窗口的面積,且基于每一個(gè)畫面窗口的面積,將每一個(gè)畫面窗口按照面積從大到小進(jìn)行排序,按照上述從大到小的順序,確定依次獲取每一個(gè)畫面窗口對(duì)應(yīng)的原始數(shù)據(jù)、主碼流和輔碼流。
[0039]對(duì)畫面窗口按照面積的大小從大到小進(jìn)行了排序,這樣可以最大限度地保證,在預(yù)覽時(shí)的視頻畫面質(zhì)量。