本技術(shù)涉及視頻編碼,尤其涉及一種錄像數(shù)據(jù)的處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、低功耗模式下的全時(shí)錄像是一種先進(jìn)的監(jiān)控技術(shù),它能夠在顯著降低能耗的同時(shí),實(shí)現(xiàn)全天候的錄像功能。低功耗技術(shù)使得監(jiān)控設(shè)備在大部分時(shí)間處于休眠或低功耗狀態(tài),僅在檢測(cè)到特定事件時(shí)才喚醒并啟動(dòng)錄像功能。
2、在錄像設(shè)備喚醒時(shí),錄像設(shè)備采集數(shù)據(jù),進(jìn)而將采集的數(shù)據(jù)進(jìn)行幀內(nèi)編碼并將最后的視頻碼流數(shù)據(jù)保存。
3、然而上述方法得到的視頻碼流數(shù)據(jù)碼率較大,不僅增加了存儲(chǔ)和傳輸負(fù)擔(dān),還增加了功耗。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供一種錄像數(shù)據(jù)的處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),用以解決現(xiàn)有技術(shù)對(duì)錄像數(shù)據(jù)編碼得到的視頻碼流數(shù)據(jù)碼率較大,不僅增加了存儲(chǔ)和傳輸負(fù)擔(dān),還增加了功耗的問(wèn)題。
2、第一方面,本技術(shù)提供一種錄像數(shù)據(jù)的處理方法,應(yīng)用于錄像設(shè)備,所述方法包括:
3、在所述錄像設(shè)備喚醒時(shí),獲取上一次喚醒存儲(chǔ)的編碼器狀態(tài)信息和參考幀;
4、根據(jù)所述編碼器狀態(tài)信息,對(duì)編碼器進(jìn)行重載;
5、基于所述編碼器狀態(tài)信息,若確定本次喚醒的編碼類型為幀間預(yù)測(cè)編碼,則根據(jù)所述參考幀,對(duì)本次喚醒采集的錄像數(shù)據(jù)進(jìn)行幀間編碼,生成預(yù)測(cè)幀;
6、將所述預(yù)測(cè)幀對(duì)應(yīng)的yuv數(shù)據(jù)設(shè)置為新的參考幀,將本次編碼后編碼器的編碼器狀態(tài)信息設(shè)置為新的編碼器狀態(tài)信息;
7、將所述新的參考幀和所述新的編碼器狀態(tài)信息存儲(chǔ)至非易失存儲(chǔ)器中,并下電休眠。
8、結(jié)合第一方面,在一些實(shí)施例中,所述方法還包括:
9、基于所述編碼器狀態(tài)信息,若確定本次喚醒的編碼類型為幀內(nèi)預(yù)測(cè)編碼,則對(duì)所述錄像數(shù)據(jù)進(jìn)行幀內(nèi)編碼,生成關(guān)鍵幀;
10、將所述關(guān)鍵幀對(duì)應(yīng)的yuv數(shù)據(jù)設(shè)置為所述新的參考幀。
11、結(jié)合第一方面,在一些實(shí)施例中,所述方法還包括:
12、在編碼器完成重載后,獲取上一次幀內(nèi)預(yù)測(cè)編碼至本次喚醒之間幀間預(yù)測(cè)編碼的次數(shù);
13、若所述次數(shù)小于預(yù)設(shè)的畫面組大小,則確定本次喚醒的編碼類型為幀間預(yù)測(cè)編碼。
14、結(jié)合第一方面,在一些實(shí)施例中,所述方法還包括:
15、若所述次數(shù)等于預(yù)設(shè)的畫面組大小,則確定本次喚醒的編碼類型為幀內(nèi)預(yù)測(cè)編碼。
16、結(jié)合第一方面,在一些實(shí)施例中,所述基于所述編碼器狀態(tài)信息,若確定本次喚醒的編碼類型為幀間預(yù)測(cè)編碼,則根據(jù)所述參考幀,對(duì)本次喚醒采集的錄像數(shù)據(jù)進(jìn)行幀間編碼,生成預(yù)測(cè)幀,包括:
17、將所述錄像數(shù)據(jù)劃分為多個(gè)像素塊;
18、針對(duì)于每個(gè)像素塊,基于預(yù)設(shè)的搜索范圍,在所述參考幀中尋找,得到所述像素塊對(duì)應(yīng)的匹配塊;
19、基于所述像素塊,確定所述像素塊對(duì)應(yīng)的匹配塊相對(duì)于所述像素塊的位置偏移;
20、根據(jù)所述位置偏移,在所述參考幀中重構(gòu)所述像素塊的預(yù)測(cè)塊,并確定所述預(yù)測(cè)塊和所述像素塊的殘差塊;
21、對(duì)每個(gè)像素塊對(duì)應(yīng)的位置偏移和殘差塊進(jìn)行編碼并組裝,得到所述預(yù)測(cè)幀。
22、結(jié)合第一方面,在一些實(shí)施例中,所述基于所述編碼器狀態(tài)信息,若確定本次喚醒的編碼類型為幀內(nèi)預(yù)測(cè)編碼,則對(duì)所述錄像數(shù)據(jù)進(jìn)行幀內(nèi)編碼,生成關(guān)鍵幀,包括:
23、將所述錄像數(shù)據(jù)劃分為多個(gè)像素塊;
24、針對(duì)于每個(gè)像素塊,根據(jù)所述像素塊相鄰像素塊的像素值,確定所述像素塊的預(yù)測(cè)值;
25、根據(jù)所述像素塊的像素值和所述預(yù)測(cè)值,確定殘差塊;
26、將每個(gè)像素塊的殘差塊進(jìn)行變換量化并編碼,將編碼后的信息組裝,得到所述關(guān)鍵幀。
27、結(jié)合第一方面,在一些實(shí)施例中,所述方法還包括:
28、在達(dá)到預(yù)先設(shè)定的喚醒周期時(shí),所述錄像設(shè)備喚醒;
29、或者;
30、在檢測(cè)到預(yù)先設(shè)定的目標(biāo)移動(dòng)物體和/或目標(biāo)聲音時(shí),所述錄像設(shè)備喚醒。
31、第二方面,本技術(shù)提供一種錄像數(shù)據(jù)的處理裝置,包括:
32、第一獲取模塊,用于在所述錄像設(shè)備喚醒時(shí),獲取上一次喚醒存儲(chǔ)的編碼器狀態(tài)信息和參考幀;
33、重載模塊,用于根據(jù)所述編碼器狀態(tài)信息,對(duì)編碼器進(jìn)行重載;
34、第一生成模塊,用于基于所述編碼器狀態(tài)信息,若確定本次喚醒的編碼類型為幀間預(yù)測(cè)編碼,則根據(jù)上所述參考幀,對(duì)本次喚醒采集的錄像數(shù)據(jù)進(jìn)行幀間編碼,生成預(yù)測(cè)幀;
35、第一更新模塊,用于將所述預(yù)測(cè)幀對(duì)應(yīng)的yuv數(shù)據(jù)設(shè)置為新的參考幀,將本次編碼后編碼器的編碼器狀態(tài)信息設(shè)置為新的編碼器狀態(tài)信息;
36、存儲(chǔ)模塊,用于將所述新的參考幀和所述新的編碼器狀態(tài)信息存儲(chǔ)至非易失存儲(chǔ)器中,并下電休眠。
37、結(jié)合第二方面,在一些實(shí)施例中,所述裝置還包括:
38、第二生成模塊,用于基于所述編碼器狀態(tài)信息,若確定本次喚醒的編碼類型為幀內(nèi)預(yù)測(cè)編碼,則對(duì)所述錄像數(shù)據(jù)進(jìn)行幀內(nèi)編碼,生成關(guān)鍵幀;
39、第二更新模塊,用于將所述關(guān)鍵幀對(duì)應(yīng)的yuv數(shù)據(jù)設(shè)置為所述新的參考幀。
40、結(jié)合第二方面,在一些實(shí)施例中,所述裝置還包括:
41、第二獲取模塊,用于在編碼器完成重載后,獲取上一次幀內(nèi)預(yù)測(cè)編碼至本次喚醒之間幀間預(yù)測(cè)編碼的次數(shù);
42、第一確定模塊,用于若所述次數(shù)小于預(yù)設(shè)的畫面組大小,則確定本次喚醒的編碼類型為幀間預(yù)測(cè)編碼。
43、結(jié)合第二方面,在一些實(shí)施例中,所述裝置還包括:
44、第二確定模塊,用于若所述次數(shù)等于預(yù)設(shè)的畫面組大小,則確定本次喚醒的編碼類型為幀內(nèi)預(yù)測(cè)編碼。
45、結(jié)合第二方面,在一些實(shí)施例中,所述第一生成模塊,包括:
46、劃分單元,用于將所述錄像數(shù)據(jù)劃分為多個(gè)像素塊;
47、尋找單元,用于針對(duì)于每個(gè)像素塊,基于預(yù)設(shè)的搜索范圍,在所述參考幀中尋找,得到所述像素塊對(duì)應(yīng)的匹配塊;
48、確定單元,用于基于所述像素塊,確定所述像素塊對(duì)應(yīng)的匹配塊相對(duì)于所述像素塊的位置偏移;
49、重構(gòu)單元,用于根據(jù)所述位置偏移,在所述參考幀中重構(gòu)所述像素塊的預(yù)測(cè)塊,并確定所述預(yù)測(cè)塊和所述像素塊的殘差塊;
50、組裝單元,用于對(duì)每個(gè)像素塊對(duì)應(yīng)的位置偏移和殘差塊進(jìn)行編碼并組裝,得到所述預(yù)測(cè)幀。
51、結(jié)合第二方面,在一些實(shí)施例中,所述第二生成模塊,包括:
52、劃分單元,用于將所述錄像數(shù)據(jù)劃分為多個(gè)像素塊;
53、第一確定單元,用于針對(duì)于每個(gè)像素塊,根據(jù)所述像素塊相鄰像素塊的像素值,確定所述像素塊的預(yù)測(cè)值;
54、第二確定單元,用于根據(jù)所述像素塊的像素值和所述預(yù)測(cè)值,確定殘差塊;
55、組裝單元,用于將每個(gè)像素塊的殘差塊進(jìn)行變換量化并編碼,將編碼后的信息組裝,得到所述關(guān)鍵幀。
56、結(jié)合第二方面,在一些實(shí)施例中,所述裝置還包括:
57、第一喚醒模塊,用于在達(dá)到預(yù)先設(shè)定的喚醒周期時(shí),所述錄像設(shè)備喚醒;
58、或者;
59、第二喚醒模塊,用于在檢測(cè)到預(yù)先設(shè)定的目標(biāo)移動(dòng)物體和/或目標(biāo)聲音時(shí),所述錄像設(shè)備喚醒。
60、第三方面,本技術(shù)提供一種錄像設(shè)備,包括:處理器,以及與所述處理器通信連接的存儲(chǔ)器,通信接口,攝像頭;
61、所述存儲(chǔ)器存儲(chǔ)計(jì)算機(jī)執(zhí)行指令;
62、所述處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)執(zhí)行指令,以實(shí)現(xiàn)第一方面中任一項(xiàng)所述的錄像數(shù)據(jù)的處理方法。
63、第四方面,本技術(shù)提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令被處理器執(zhí)行時(shí)用于實(shí)現(xiàn)前述任一方面所述的錄像數(shù)據(jù)的處理方法。
64、第五方面,本技術(shù)提供一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述任一方面所述的錄像數(shù)據(jù)的處理方法。
65、本技術(shù)提供的錄像數(shù)據(jù)的處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),在錄像設(shè)備喚醒時(shí),獲取上一次喚醒存儲(chǔ)的編碼器狀態(tài)信息和參考幀,并根據(jù)編碼器狀態(tài)信息,對(duì)編碼器進(jìn)行重載,基于編碼器狀態(tài)信息,若確定編碼類型為幀間預(yù)測(cè)編碼,則根據(jù)參考幀,對(duì)本次喚醒采集的錄像數(shù)據(jù)進(jìn)行幀間編碼,生成預(yù)測(cè)幀,將預(yù)測(cè)幀對(duì)應(yīng)的yuv數(shù)據(jù)設(shè)置為新的參考幀,將本次編碼后編碼器的編碼器狀態(tài)信息設(shè)置為新的編碼器狀態(tài)信息,將新的參考幀和新的編碼器狀態(tài)信息存儲(chǔ)至非易失存儲(chǔ)器中,并下電休眠。通過(guò)上述方法,在低功耗全時(shí)錄像場(chǎng)景中提高了壓縮率、降低了能耗、還提高了編碼效率,并且靈活的參考幀管理提升了視頻質(zhì)量。