本發(fā)明涉及視頻領(lǐng)域,特別涉及一種視頻編碼方法和設(shè)備。
背景技術(shù):
通常,在視頻編碼過程中,包括MPEG系列和H.26X系列在內(nèi)的現(xiàn)有的技術(shù)都是以像素為處理單位,實(shí)現(xiàn)對(duì)視頻進(jìn)行編碼。
由于像素是視頻幀的基本組成單位,視頻幀中包含了大量的像素,從而使得在采用現(xiàn)有技術(shù)的方法進(jìn)行視頻的編碼時(shí),需要對(duì)視頻幀中包含的大量的像素?cái)?shù)據(jù)進(jìn)行處理,數(shù)據(jù)處理量較大,從而降低了視頻編碼效率,另外,由于數(shù)據(jù)處理量較大,使得在傳輸編碼后的視頻時(shí),碼流數(shù)據(jù)較大,從而占用的大量的帶寬資源。
技術(shù)實(shí)現(xiàn)要素:
為了減少視頻傳輸時(shí)所占用的帶寬,節(jié)省帶寬資源,本發(fā)明實(shí)施例提供了一種視頻編碼方法和設(shè)備。所述技術(shù)方案如下:
第一方面,提供了一種視頻編碼方法,所述方法包括:
獲取當(dāng)前視頻幀內(nèi)的對(duì)象;
根據(jù)先前視頻幀和所述先前視頻幀之前的場(chǎng)景進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景;
對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象以及所述重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀;以及
根據(jù)所述當(dāng)前視頻幀與所述匹配視頻幀之間的殘差數(shù)據(jù),對(duì)所述當(dāng)前視頻 幀進(jìn)行編碼,生成編碼數(shù)據(jù)。
結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述獲取當(dāng)前視頻幀內(nèi)的對(duì)象包括:
利用顯著性,對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象進(jìn)行檢測(cè);以及
在檢測(cè)到所述對(duì)象后,對(duì)所述對(duì)象進(jìn)行分割,從所述當(dāng)前視頻幀中獲取所述對(duì)象。
結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)先前視頻幀和所述先前視頻幀之前的場(chǎng)景進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景包括:
根據(jù)所述先前視頻幀和所述先前視頻幀之前的場(chǎng)景,對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù),以及對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù);
根據(jù)所述第一參數(shù),對(duì)所述先前視頻幀和所述先前視頻幀之前的場(chǎng)景進(jìn)行圖像拼接,生成拼接后的圖像;以及
根據(jù)所述拼接后的圖像和所述第二參數(shù)進(jìn)行場(chǎng)景重建,生成所述重建后的場(chǎng)景。
結(jié)合第一方面至第一方面的第二種任意一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象以及所述重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀之前,所述方法還包括:
根據(jù)所述先前視頻幀之前的場(chǎng)景的姿態(tài)參數(shù),調(diào)整所述重建后的場(chǎng)景的姿態(tài)參數(shù)。
結(jié)合第一方面至第一方面的第三種任意一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象以及所述重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀包括:
利用最鄰近搜索,對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象以及所述重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀。
結(jié)合第一方面至第一方面的第四種任意一種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象以及所述重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀之后,所述方法還包括:
根據(jù)所述先前視頻幀,對(duì)所述匹配視頻幀進(jìn)行運(yùn)動(dòng)補(bǔ)償。
結(jié)合第一方面至第一方面的第五種任意一種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象以及所述重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀之后,所述方法還包括:
根據(jù)所述先前視頻幀,對(duì)所述匹配視頻幀進(jìn)行光照估計(jì)。
結(jié)合第一方面至第一方面的第六種任意一種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述當(dāng)前視頻幀與所述匹配視頻幀之間的殘差數(shù)據(jù),對(duì)所述當(dāng)前視頻幀進(jìn)行編碼之前,所述方法包括:
對(duì)所述殘差數(shù)據(jù)進(jìn)行變換和量化。
結(jié)合第一方面的第七種可能的實(shí)現(xiàn)方式,在第八種可能的實(shí)現(xiàn)方式中,在所述變換和量化步驟之后,所述方法還包括:
對(duì)所述殘差數(shù)據(jù)進(jìn)行反量化和逆變換;以及
根據(jù)所述殘差數(shù)據(jù)與所述匹配視頻幀,生成當(dāng)前視頻幀的重建幀,用作下一次場(chǎng)景重建時(shí)的初始數(shù)據(jù)。
結(jié)合第一方面至第一方面的第八種任意一種可能的實(shí)現(xiàn)方式,在第九種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述當(dāng)前視頻幀與所述匹配視頻幀之間的殘差數(shù)據(jù),對(duì)所述當(dāng)前視頻幀進(jìn)行編碼之后,所述方法還包括:
向視頻解碼方發(fā)送所述重建后的場(chǎng)景和所述編碼數(shù)據(jù)。
第二方面,提供了一種視頻編碼設(shè)備,所述視頻編碼設(shè)備包括:
獲取模塊,用于獲取當(dāng)前視頻幀內(nèi)的對(duì)象;
場(chǎng)景重建模塊,用于根據(jù)先前視頻幀和所述先前視頻幀之前的場(chǎng)景進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景;
匹配模塊,用于對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象以及所述重建后的場(chǎng)景進(jìn)行匹 配,生成匹配視頻幀;以及
編碼模塊,用于根據(jù)所述當(dāng)前視頻幀與所述匹配視頻幀之間的殘差數(shù)據(jù),對(duì)所述當(dāng)前視頻幀進(jìn)行編碼,生成編碼數(shù)據(jù)。
結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述獲取模塊用于:
利用顯著性,對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象進(jìn)行檢測(cè);以及
在檢測(cè)到所述對(duì)象后,對(duì)所述對(duì)象進(jìn)行分割,從所述當(dāng)前視頻幀中獲取所述對(duì)象。
結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述場(chǎng)景重建模塊用于:
根據(jù)所述先前視頻幀和所述先前視頻幀之前的場(chǎng)景,對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù),以及對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù);
根據(jù)所述第一參數(shù),對(duì)所述先前視頻幀和所述先前視頻幀之前的場(chǎng)景進(jìn)行圖像拼接,生成拼接后的圖像;以及
根據(jù)所述拼接后的圖像和所述第二參數(shù)進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景。
結(jié)合第二方面至第二方面的第二種任意一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述設(shè)備還包括處理模塊,用于:
根據(jù)所述先前視頻幀之前的場(chǎng)景的姿態(tài)參數(shù),調(diào)整所述重建后的場(chǎng)景的姿態(tài)參數(shù)。
結(jié)合第二方面至第二方面的第三種任意一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述匹配模塊用于:
利用最鄰近搜索,對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象以及所述重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀。
結(jié)合第二方面至第二方面的第四種任意一種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述處理模塊還用于:
根據(jù)所述先前視頻幀,對(duì)所述匹配視頻幀進(jìn)行運(yùn)動(dòng)補(bǔ)償。
結(jié)合第二方面至第二方面的第五種任意一種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述處理模塊還用于:
根據(jù)所述先前視頻幀,對(duì)所述匹配視頻幀進(jìn)行光照估計(jì)。
結(jié)合第二方面至第二方面的六種任意一種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述處理模塊還用于:
對(duì)所述殘差數(shù)據(jù)進(jìn)行變換和量化。
結(jié)合第二方面的第七種可能的實(shí)現(xiàn)方式,在第八種可能的實(shí)現(xiàn)方式中,所述處理模塊還用于:
對(duì)所述殘差數(shù)據(jù)進(jìn)行反量化和逆變換;以及
根據(jù)所述殘差數(shù)據(jù)與所述匹配視頻幀,生成當(dāng)前視頻幀的重建幀,用作下一次場(chǎng)景重建時(shí)的初始數(shù)據(jù)。
結(jié)合第二方面至第二方面的第八種任意一種可能的實(shí)現(xiàn)方式,在第九種可能的實(shí)現(xiàn)方式中,所述視頻編碼設(shè)備還包括發(fā)送模塊,用于:
向視頻解碼方發(fā)送所述重建后的場(chǎng)景和所述編碼數(shù)據(jù)。
第三方面,提供了一種視頻編碼設(shè)備,所述視頻編碼設(shè)備包括存儲(chǔ)器以及與所述存儲(chǔ)器連接的處理器,其中,所述存儲(chǔ)器用于存儲(chǔ)一組程序代碼,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
獲取當(dāng)前視頻幀內(nèi)的對(duì)象;
根據(jù)先前視頻幀和所述先前視頻幀之前的場(chǎng)景進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景;
對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象以及所述重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀;以及
根據(jù)所述當(dāng)前視頻幀與所述匹配視頻幀之間的殘差數(shù)據(jù),對(duì)所述當(dāng)前視頻幀進(jìn)行編碼,生成編碼數(shù)據(jù)。
結(jié)合第三方面,在第一種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
利用顯著性,對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象進(jìn)行檢測(cè);以及
在檢測(cè)到所述對(duì)象后,對(duì)所述對(duì)象進(jìn)行分割,從所述當(dāng)前視頻幀中獲取所述對(duì)象。
結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)所述先前視頻幀和所述先前視頻幀之前的場(chǎng)景,對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù),以及對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù);
根據(jù)所述第一參數(shù),對(duì)所述先前視頻幀和所述先前視頻幀之前的場(chǎng)景進(jìn)行圖像拼接,生成拼接后的圖像;以及
根據(jù)所述拼接后的圖像和所述第二參數(shù)進(jìn)行場(chǎng)景重建,生成所述重建后的場(chǎng)景。
結(jié)合第三方面至第三方面的第二種任意一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)所述先前視頻幀之前的場(chǎng)景的姿態(tài)參數(shù),調(diào)整所述重建后的場(chǎng)景的姿態(tài)參數(shù)。
結(jié)合第三方面至第三方面的第三種任意一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
利用最鄰近搜索,對(duì)所述當(dāng)前視頻幀內(nèi)的對(duì)象以及所述重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀。
結(jié)合第三方面至第三方面的第四種任意一種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)所述先前視頻幀,對(duì)所述匹配視頻幀進(jìn)行運(yùn)動(dòng)補(bǔ)償。
結(jié)合第三方面至第三方面的第五種任意一種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)所述先前視頻幀,對(duì)所述匹配視頻幀進(jìn)行光照估計(jì)。
結(jié)合第三方面至第三方面的第六種任意一種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
對(duì)所述殘差數(shù)據(jù)進(jìn)行變換和量化。
結(jié)合第三方面的第七種可能的實(shí)現(xiàn)方式,在第八種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
對(duì)所述殘差數(shù)據(jù)進(jìn)行反量化和逆變換;以及
根據(jù)所述殘差數(shù)據(jù)與所述匹配視頻幀,生成當(dāng)前視頻幀的重建幀,用作下一次場(chǎng)景重建時(shí)的初始數(shù)據(jù)。
結(jié)合第三方面至第三方面的第八種任意一種可能的實(shí)現(xiàn)方式,在第九種可能的實(shí)現(xiàn)方式中,所述處理器調(diào)用所述存儲(chǔ)器所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
向視頻解碼方發(fā)送所述重建后的場(chǎng)景和所述編碼數(shù)據(jù)。
本發(fā)明實(shí)施例提供了一種視頻編碼方法和設(shè)備,包括:獲取當(dāng)前視頻幀內(nèi)的對(duì)象;根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行重建,生成重建后的場(chǎng)景;對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀;根據(jù)當(dāng)前視頻幀與匹配視頻幀之間的殘差數(shù)據(jù),對(duì)當(dāng)前視頻幀進(jìn)行編碼,生成編碼數(shù)據(jù)。通過將對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀,實(shí)現(xiàn)了基于對(duì)象的視頻編碼,減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源,同時(shí)使得可以在帶寬資源較低的情況下實(shí)現(xiàn)視頻的傳輸,以便在網(wǎng)絡(luò)環(huán)境較差的情況下仍然可以實(shí)現(xiàn)即時(shí)視頻,提高了用戶體驗(yàn)。另外,由于減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源,從而保證了在視頻傳輸過 程中通過較小的帶寬即可保證視頻的流暢性和視頻的清晰度,提高了用戶體驗(yàn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種視頻編碼方法流程圖;
圖2是本發(fā)明實(shí)施例提供的一種視頻編碼方法流程圖;
圖3是本發(fā)明實(shí)施例提供的一種視頻編碼設(shè)備結(jié)構(gòu)示意圖;
圖4是本發(fā)明實(shí)施例提供的一種視頻編碼設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供了一種視頻編碼方法,該方法應(yīng)用于視頻文件和/或流媒體視頻傳輸過程中的編碼,該流媒體包括即時(shí)視頻交互過程中的即時(shí)視頻和其他流媒體,除了視頻文件和/或流媒體之外,本發(fā)明實(shí)施例所述的方法還可以應(yīng)用其他視頻的編碼,本發(fā)明實(shí)施例對(duì)具體的視頻不加以限定。
其中,本發(fā)明所述的對(duì)象可以為視頻幀畫面內(nèi)系統(tǒng)指定或者用戶自定義的人或物,該對(duì)象可以用多個(gè)特征點(diǎn)進(jìn)行描述,本發(fā)明所述的場(chǎng)景為視頻幀畫面內(nèi)除對(duì)象之外的其余部分,在即時(shí)視頻過程中,由于視頻雙方對(duì)視頻中的人體部分,尤其是人臉的關(guān)注度高于其他區(qū)域,所以通常該對(duì)象可以為即時(shí)視頻中 的人臉,除此之外,該對(duì)象還可以為即時(shí)視頻過程中視頻雙方所定義的其他物體或者雙方身體的其他部位,本發(fā)明實(shí)施例對(duì)具體的對(duì)象不加以限定。
需要說明的是,在執(zhí)行本發(fā)明實(shí)施例所述的方法之前,視頻數(shù)據(jù)已經(jīng)傳輸一幀完整的視頻幀,該完整的視頻幀包括對(duì)象數(shù)據(jù)以及場(chǎng)景數(shù)據(jù),該完整的視頻幀可以為視頻的初始幀,也可以為視頻的初始幀之后的視頻幀,本發(fā)明實(shí)施例對(duì)具體的視頻幀不加以限定。
實(shí)施例一為本發(fā)明實(shí)施例提供的一種視頻編碼方法,參照?qǐng)D1所示,該方法包括:
101、獲取當(dāng)前視頻幀內(nèi)的對(duì)象。
具體的,利用顯著性,對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象進(jìn)行檢測(cè);
在檢測(cè)到對(duì)象后,對(duì)對(duì)象進(jìn)行分割,從當(dāng)前視頻幀中獲取對(duì)象。
102、根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景。
具體的,根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景,對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù),以及對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù);
其中,假設(shè)當(dāng)前視頻幀為第n幀視頻幀,根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù)的過程可以是根據(jù)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù);同理,對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù)的過程可以是根據(jù)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù);
根據(jù)第一參數(shù),對(duì)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行圖像拼接,生成拼接后的圖像;以及
根據(jù)拼接后的圖像和第二參數(shù)進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景。
其中,假設(shè)當(dāng)前視頻幀為第n幀視頻幀,對(duì)先前視頻幀和先前視頻幀之前 的場(chǎng)景進(jìn)行圖像拼接,生成拼接后的圖像的過程可以是對(duì)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀進(jìn)行圖像拼接,生成拼接后的圖像。
值得注意的是,步驟101至步驟102除了所述過程所述的執(zhí)行步驟之外,還可以同時(shí)執(zhí)行,還可以先執(zhí)行步驟102,再執(zhí)行步驟101,本發(fā)明實(shí)施例對(duì)步驟101與步驟102的執(zhí)行順序不加以限定。
可選的,在步驟102之后,還可以包括以下步驟:
根據(jù)先前視頻幀之前的場(chǎng)景的姿態(tài)參數(shù),調(diào)整重建后的場(chǎng)景的姿態(tài)參數(shù)。
103、對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀。
具體的,利用最鄰近搜索,對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀。
可選的,在步驟103之后,還可以包括以下步驟:
根據(jù)先前視頻幀,對(duì)匹配視頻幀進(jìn)行運(yùn)動(dòng)補(bǔ)償。
可選的,在步驟103之后,還可以包括以下步驟:
根據(jù)先前視頻幀,對(duì)匹配視頻幀進(jìn)行光照估計(jì)。
104、根據(jù)當(dāng)前視頻幀與匹配視頻幀之間的殘差數(shù)據(jù),對(duì)當(dāng)前視頻幀進(jìn)行編碼,生成編碼數(shù)據(jù)。
可選的,在步驟104之前,步驟103之后,還可以包括以下步驟:
對(duì)殘差數(shù)據(jù)進(jìn)行變換和量化。
可選的,在變換和量化之后,還可以包括以下步驟:
對(duì)殘差數(shù)據(jù)進(jìn)行反量化和逆變換;以及
根據(jù)殘差數(shù)據(jù)與匹配視頻幀,生成當(dāng)前視頻幀的重建幀,用作下一次場(chǎng)景重建時(shí)的初始數(shù)據(jù)。
可選的,在步驟104之后,還可以包括以下步驟:
向視頻解碼方發(fā)送重建后的場(chǎng)景和編碼數(shù)據(jù)。
本發(fā)明實(shí)施例提供了一種視頻編碼方法,通過將對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀,實(shí)現(xiàn)了基于對(duì)象的視頻編碼,相 比于直接傳輸當(dāng)前視頻幀,減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源,同時(shí)使得可以在帶寬資源較低的情況下實(shí)現(xiàn)視頻的傳輸,以便在網(wǎng)絡(luò)環(huán)境較差的情況下仍然可以實(shí)現(xiàn)即時(shí)視頻,提高了用戶體驗(yàn)。另外,由于減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源,從而保證了在視頻傳輸過程中通過較小的帶寬即可保證視頻的流暢性和視頻的清晰度,提高了用戶體驗(yàn)。
實(shí)施例二為本發(fā)明實(shí)施例提供的一種視頻編碼方法,參照?qǐng)D2所示,該方法包括:
201、獲取當(dāng)前視頻幀內(nèi)的對(duì)象。
具體的,根據(jù)顯著性,對(duì)當(dāng)前頻幀內(nèi)的對(duì)象進(jìn)行檢測(cè),該過程可以為:
對(duì)當(dāng)前視頻幀進(jìn)行邊界檢測(cè);
在對(duì)當(dāng)前視頻幀進(jìn)行邊界檢測(cè)之后,提取對(duì)象的特征數(shù)據(jù);
對(duì)對(duì)象的特征數(shù)據(jù)進(jìn)行分類,該過程可以是通過支持向量機(jī)(SVM,Support Vector Machine)實(shí)現(xiàn)的;
按照分類后的特征數(shù)據(jù),對(duì)當(dāng)前視頻幀進(jìn)行分割,獲取至少一個(gè)分割結(jié)果;
對(duì)至少一個(gè)分割結(jié)果進(jìn)行排序,并根據(jù)排序結(jié)果確定檢測(cè)結(jié)果;
根據(jù)該檢測(cè)結(jié)果,獲取當(dāng)前視頻幀內(nèi)的對(duì)象;
在獲取當(dāng)前視頻幀的對(duì)象之后,還可以對(duì)對(duì)象進(jìn)行跟蹤和姿態(tài)估計(jì),本發(fā)明實(shí)施例對(duì)具體的跟蹤方法和姿態(tài)估計(jì)方法不加以限定。
由于在即時(shí)視頻過程中,用于對(duì)人臉?biāo)诘膮^(qū)域的興趣度大于其他區(qū)域,所以對(duì)應(yīng)的,該其他區(qū)域的興趣度較小,通過以人臉作為對(duì)象,以不包括人臉的區(qū)域作為場(chǎng)景進(jìn)行編碼,使得在視頻傳輸過程中,無需傳輸全部的場(chǎng)景數(shù)據(jù),相比于直接傳輸當(dāng)前視頻幀,減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。另外,通過用戶自定義對(duì)象,實(shí)現(xiàn)了視頻過程中,尤其是在即時(shí)視頻過程中,可以基于對(duì)方或者視頻的雙方都感興趣的對(duì)象進(jìn)行編碼,滿足了用戶的個(gè)性化需求,提高了用戶體驗(yàn)。
202、根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景,對(duì)攝像頭姿態(tài)進(jìn)行估計(jì), 生成用于描述攝像頭姿態(tài)的第一參數(shù),以及對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù)。
具體的,該過程可以為:
根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景,對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述當(dāng)前視頻幀的攝像頭姿態(tài)的第一參數(shù);
根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景,對(duì)景深進(jìn)行估計(jì),生成用于描述當(dāng)前視頻幀的景深的第二參數(shù)。
其中,假設(shè)當(dāng)前視頻幀為第n幀視頻幀,根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù)的過程可以是根據(jù)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù);根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù)的過程可以是根據(jù)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù);
對(duì)攝像頭姿態(tài)進(jìn)行估計(jì)和對(duì)景深進(jìn)行估計(jì)的過程可以是利用預(yù)設(shè)算法實(shí)現(xiàn)的,示例性的,該算法可以為:Large-Scale Direct Monocular SLAM大規(guī)模直接單目視覺SLAM算法,其中SLAM為:simultaneous localization and mapping即時(shí)定位與地圖構(gòu)建。
所述實(shí)現(xiàn)過程僅僅是示例性的,還可以通過其他方式實(shí)現(xiàn)該過程,本發(fā)明實(shí)施例對(duì)具體的實(shí)現(xiàn)方式不加以限定。
由于攝像頭姿態(tài)和景深能夠真實(shí)地描述視頻幀的場(chǎng)景,所以通過對(duì)攝像頭姿態(tài)和景深進(jìn)行估計(jì),使得重建后的場(chǎng)景與視頻幀的真實(shí)場(chǎng)景相近或者相同,從而增加了場(chǎng)景的真實(shí)感,更進(jìn)一步的提高了用戶體驗(yàn)。
203、根據(jù)第一參數(shù),對(duì)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行圖像拼接,生成拼接后的圖像。
具體的,根據(jù)第一參數(shù),對(duì)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行圖像拼接,該拼接過程可以為:
根據(jù)單應(yīng)性矩陣,用content-preserving warping方法對(duì)圖像進(jìn)行局部對(duì)齊,得到拼接后的圖像,該圖像為先前視頻幀和先前視頻幀之前的場(chǎng)景的圖像拼接而成的圖像;
其中,單應(yīng)性矩陣即為第一參數(shù)。
上述拼接方式僅僅是示例性的,還可以通過其他方式實(shí)現(xiàn)該過程,本發(fā)明實(shí)施例對(duì)具體的方式不加以限定。
本發(fā)明實(shí)施例對(duì)具體的調(diào)整方式不加以限定。
其中,假設(shè)當(dāng)前視頻幀為第n幀視頻幀,對(duì)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行圖像拼接,生成拼接后的圖像的過程可以是對(duì)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀進(jìn)行圖像拼接,生成拼接后的圖像。
由于第一參數(shù)用于描述攝像頭姿態(tài),所以通過對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),使得重建后的場(chǎng)景與視頻幀的真實(shí)場(chǎng)景相近或者相同,從而增加了場(chǎng)景的真實(shí)感,更進(jìn)一步的提高了用戶體驗(yàn)。
204、根據(jù)拼接后的圖像和第二參數(shù),對(duì)包含先前視頻幀的場(chǎng)景進(jìn)行重建,生成重建后的場(chǎng)景。
具體的,根據(jù)第二參數(shù),對(duì)拼接后的圖像進(jìn)行轉(zhuǎn)換,并根據(jù)轉(zhuǎn)換后的圖像,對(duì)包含先前視頻幀的場(chǎng)景進(jìn)行重建,生成重建后的場(chǎng)景。
上述過程可以是通過預(yù)設(shè)的場(chǎng)景重建模型實(shí)現(xiàn)的,也可以通過預(yù)設(shè)的場(chǎng)景重建算法實(shí)現(xiàn)的,本發(fā)明實(shí)施例對(duì)具體的實(shí)現(xiàn)方式不加以限定。
通過對(duì)先前視頻幀的場(chǎng)景進(jìn)行重建,使得在視頻傳輸過程中,無需傳輸全部的場(chǎng)景數(shù)據(jù),減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。
值得注意的是,步驟202至步驟204是實(shí)現(xiàn)根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景的過程,除了所述步驟所述的方式之外,還可以通過其他方式實(shí)現(xiàn)該過程,本發(fā)明實(shí)施例對(duì)具體的方式不加以限定。
205、根據(jù)先前視頻幀之前的場(chǎng)景的姿態(tài)參數(shù),調(diào)整重建后的場(chǎng)景的姿態(tài)參 數(shù)。
具體的,獲取先前視頻幀之前的場(chǎng)景的姿態(tài)參數(shù);
根據(jù)該先前視頻幀之前的場(chǎng)景的姿態(tài)參數(shù),使用仿射變換算法對(duì)重建后的場(chǎng)景的姿態(tài)參數(shù)進(jìn)行調(diào)整。
所述仿射變換算法僅僅是示例性的,還可以通過其他方式實(shí)現(xiàn)該過程,本發(fā)明實(shí)施例對(duì)具體的調(diào)整方式不加以限定。
由于視頻在連續(xù)的幾幀內(nèi)場(chǎng)景數(shù)據(jù)是相對(duì)穩(wěn)定的,所以通過根據(jù)先前視頻幀之前的場(chǎng)景的姿態(tài)參數(shù),調(diào)整重建后的場(chǎng)景數(shù)據(jù)的姿態(tài)參數(shù),從而進(jìn)一步增加了場(chǎng)景的真實(shí)感,更進(jìn)一步的提高了用戶體驗(yàn)。
其中,步驟205是可選步驟,在實(shí)際應(yīng)用中,在步驟204之后,可以不執(zhí)行步驟205,直接執(zhí)行步驟206。
206、對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀。
具體的,利用最鄰近搜索,對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀。
所述最鄰近搜索的過程可以通過計(jì)算描述對(duì)象的特征點(diǎn)以及描述場(chǎng)景的特征點(diǎn)之間的歐式距離,并選擇歐式距離最短為搜索條件。
由于重建后的場(chǎng)景數(shù)據(jù)相比于真實(shí)的場(chǎng)景數(shù)據(jù)而言,數(shù)據(jù)量較小,所以通過對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀,并在編碼和傳輸過程中,對(duì)匹配視頻幀進(jìn)行編碼和傳輸,使得在視頻傳輸過程中,無需傳輸全部的場(chǎng)景數(shù)據(jù),減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。
207、根據(jù)先前視頻幀,對(duì)匹配視頻幀進(jìn)行運(yùn)動(dòng)補(bǔ)償。
具體的,根據(jù)先前視頻幀的初始數(shù)據(jù),對(duì)匹配視頻幀內(nèi)像素點(diǎn)或者像素塊的分布進(jìn)行線性補(bǔ)償,以實(shí)現(xiàn)對(duì)匹配視頻幀進(jìn)行運(yùn)動(dòng)補(bǔ)償,本發(fā)明實(shí)施例對(duì)具體的運(yùn)動(dòng)補(bǔ)償過程不加以限定。
由于視頻在連續(xù)的幾幀內(nèi)是相關(guān)的,所以通過對(duì)匹配視頻幀進(jìn)行運(yùn)動(dòng)補(bǔ)償,消除了在數(shù)據(jù)編碼和傳輸過程中的空域冗余,減少了數(shù)據(jù)處理量,進(jìn)一步減少 了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。
其中,步驟207是可選步驟,在實(shí)際應(yīng)用中,在步驟206之后,可以不執(zhí)行步驟207,直接執(zhí)行步驟209。
208、根據(jù)先前視頻幀,對(duì)匹配視頻幀進(jìn)行光照估計(jì)。
具體的,根據(jù)先前視頻幀,對(duì)匹配視頻幀內(nèi)的光照數(shù)據(jù)進(jìn)行估計(jì),以實(shí)現(xiàn)進(jìn)行光照估計(jì),其中,該估計(jì)過程可以是通過計(jì)算YUV空間Y的均值來實(shí)現(xiàn)的,本發(fā)明實(shí)施例對(duì)具體的光照估計(jì)過程不加以限定。
其中,光照數(shù)據(jù)包括光照強(qiáng)度和光照方向等。
由于視頻在連續(xù)的幾幀內(nèi)是相關(guān)的,所以通過對(duì)匹配視頻幀進(jìn)行光照估計(jì),減少了光照數(shù)據(jù)處理時(shí)的數(shù)據(jù)處理量,進(jìn)一步減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。
其中,步驟208是可選步驟,在實(shí)際應(yīng)用中,在步驟206之后,可以不執(zhí)行步驟208,直接執(zhí)行步驟209。
209、獲取當(dāng)前視頻幀與匹配視頻幀之間的殘差數(shù)據(jù)。
具體的,所述前視頻幀與匹配視頻幀之間的殘差數(shù)據(jù)是當(dāng)前視頻幀與匹配視頻幀之間的差值,該獲取過程可以是通過預(yù)設(shè)的殘差計(jì)算算法實(shí)現(xiàn)的,本發(fā)明實(shí)施例對(duì)具體的算法不加以限定,除了預(yù)設(shè)算法之外,還可以通過其他方式實(shí)現(xiàn)該過程,本發(fā)明實(shí)施例對(duì)具體的獲取方式不加以限定。
210、對(duì)殘差數(shù)據(jù)進(jìn)行變換和量化。
具體的,可以根據(jù)編碼過程中的數(shù)據(jù)的相關(guān)性,對(duì)殘差數(shù)據(jù)進(jìn)行變換,在實(shí)際應(yīng)用中,可以采用傅里葉變換、小波變換以及離散余弦變換等變換方式實(shí)現(xiàn)對(duì)殘差數(shù)據(jù)的變換,本發(fā)明實(shí)施例對(duì)具體的變換方式不加以限定。
對(duì)殘差數(shù)據(jù)進(jìn)行量化,并對(duì)量化后的殘差數(shù)據(jù)進(jìn)行重排序,該量化過程可以通過預(yù)設(shè)的窗口函數(shù)實(shí)現(xiàn),也可以通過其他方式實(shí)現(xiàn),本發(fā)明實(shí)施例對(duì)具體的實(shí)現(xiàn)方式不加以限定。
通過對(duì)殘差數(shù)據(jù)進(jìn)行變換,并對(duì)量化后的殘差數(shù)據(jù)進(jìn)行重排序,使得可以 利用數(shù)據(jù)的相關(guān)性進(jìn)行編碼,從而降低了數(shù)據(jù)編碼過程中的數(shù)據(jù)處理量,從而進(jìn)一步減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。
其中,步驟210是可選步驟,在步驟209之后,可以不執(zhí)行步驟210,直接執(zhí)行步驟212。
需要說明的是,在步驟210之后,可并行執(zhí)行步驟211和213。
211、對(duì)殘差數(shù)據(jù)進(jìn)行反量化和逆變換。
具體的,該反量化和逆變換過程是步驟210所述的變換和量化過程的逆過程,本發(fā)明實(shí)施例對(duì)具體的實(shí)現(xiàn)方式不加以限定。
212、根據(jù)殘差數(shù)據(jù)與匹配視頻幀,生成當(dāng)前視頻幀的重建幀,用作下一次場(chǎng)景重建時(shí)的初始數(shù)據(jù)。
根據(jù)殘差數(shù)據(jù)與匹配視頻幀,生成當(dāng)前視頻幀的重建幀的過程可以通過預(yù)設(shè)算法實(shí)現(xiàn),本發(fā)明實(shí)施例對(duì)具體的預(yù)設(shè)算法不加以限定。
其中,步驟211是可選步驟,在實(shí)際應(yīng)用中,在步驟209之后,可以不執(zhí)行步驟211,直接執(zhí)行步驟212。
213、根據(jù)殘差數(shù)據(jù),對(duì)當(dāng)前視頻幀進(jìn)行編碼,生成編碼數(shù)據(jù)。
具體的,對(duì)殘差數(shù)據(jù)以及描述數(shù)據(jù)進(jìn)行編碼,在實(shí)際應(yīng)用中,可以采用哈夫曼編碼以及算術(shù)編碼等編碼方式實(shí)現(xiàn)該對(duì)殘差數(shù)據(jù)以及描述數(shù)據(jù)的編碼,本發(fā)明實(shí)施例對(duì)具體的編碼過程不加以限定。
214、向視頻解碼方發(fā)送重建后的場(chǎng)景和編碼數(shù)據(jù)。
具體的,向視頻解碼方發(fā)送用于描述該重建后的場(chǎng)景的數(shù)據(jù)和編碼數(shù)據(jù),該用于描述該重建后的場(chǎng)景的數(shù)據(jù)包括第一參數(shù)、第二參數(shù)以及對(duì)象分割信息,以及用于描述匹配視頻幀的場(chǎng)景數(shù)據(jù)的姿態(tài)參數(shù)的描述數(shù)據(jù)等。
該發(fā)送過程可以是通過視頻方與視頻解碼方之間連接的通信鏈路實(shí)現(xiàn)的,本發(fā)明實(shí)施例對(duì)具體的發(fā)送方式不加以限定。
由于先前視頻幀的場(chǎng)景已經(jīng)發(fā)送至解碼方,所以通過將用于描述重建后的場(chǎng)景的數(shù)據(jù)發(fā)送至視頻解碼方,使得解碼方可以根據(jù)該用于描述重建后的場(chǎng)景 的數(shù)據(jù),生成重建后的場(chǎng)景,相比于直接將重建后的場(chǎng)景發(fā)送至解碼方,進(jìn)一步減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。
其中,步驟214是可選步驟,在實(shí)際應(yīng)用中,如果編碼后的視頻是以視頻文件形式存儲(chǔ)的,則無需向視頻解碼方發(fā)送重建后的場(chǎng)景和編碼數(shù)據(jù),而是將重建后的場(chǎng)景和編碼數(shù)據(jù)存儲(chǔ)在視頻文件中。
本發(fā)明實(shí)施例提供了一種視頻編碼方法,通過將對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀,實(shí)現(xiàn)了基于對(duì)象的視頻編碼,相比于直接傳輸當(dāng)前視頻幀,減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源,同時(shí)使得可以在帶寬資源較低的情況下實(shí)現(xiàn)視頻的傳輸,以便在網(wǎng)絡(luò)環(huán)境較差的情況下仍然可以實(shí)現(xiàn)即時(shí)視頻,提高了用戶體驗(yàn)。另外,由于減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源,從而保證了在視頻傳輸過程中通過較小的帶寬即可保證視頻的流暢性和視頻的清晰度,提高了用戶體驗(yàn)。另外,由于在即時(shí)視頻過程中,用于對(duì)人臉?biāo)诘膮^(qū)域的興趣度大于其他區(qū)域,所以對(duì)應(yīng)的,該其他區(qū)域的興趣度較小,通過以人臉作為對(duì)象,以不包括人臉的區(qū)域作為場(chǎng)景進(jìn)行編碼,使得在視頻傳輸過程中,無需傳輸全部的場(chǎng)景數(shù)據(jù),減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。另外,由于攝像頭姿態(tài)和景深能夠真實(shí)地描述視頻幀的場(chǎng)景,所以通過對(duì)攝像頭姿態(tài)和景深進(jìn)行估計(jì),使得重建后的場(chǎng)景與視頻幀的真實(shí)場(chǎng)景相近或者相同,從而增加了場(chǎng)景的真實(shí)感,更進(jìn)一步的提高了用戶體驗(yàn)。另外,通過對(duì)當(dāng)前視頻幀的場(chǎng)景進(jìn)行重建,使得在視頻傳輸過程中,無需傳輸全部的場(chǎng)景數(shù)據(jù),減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。另外,由于重建后的場(chǎng)景數(shù)據(jù)相比于真實(shí)的場(chǎng)景數(shù)據(jù)而言,數(shù)據(jù)量較小,所以通過對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀,并在編碼和傳輸過程中,對(duì)匹配視頻幀進(jìn)行編碼和傳輸,使得在視頻傳輸過程中,無需傳輸全部的場(chǎng)景數(shù)據(jù),減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。另外,由于視頻在連續(xù)的幾幀內(nèi)場(chǎng)景數(shù)據(jù)是相對(duì)穩(wěn)定的,所以通過根據(jù)先前視頻幀的姿態(tài)參數(shù),調(diào)整匹配視頻幀的場(chǎng)景數(shù)據(jù)的姿態(tài)參數(shù), 從而進(jìn)一步增加了場(chǎng)景的真實(shí)感,更進(jìn)一步的提高了用戶體驗(yàn)。另外,由于視頻在連續(xù)的幾幀內(nèi)場(chǎng)景數(shù)據(jù)是相對(duì)穩(wěn)定的,通過獲取用于描述匹配視頻幀的場(chǎng)景數(shù)據(jù)的姿態(tài)參數(shù)的描述數(shù)據(jù),使得在視頻解碼方發(fā)送該描述數(shù)據(jù)后,根據(jù)該描述數(shù)據(jù)和之前已經(jīng)接收到的場(chǎng)景數(shù)據(jù),即可生成當(dāng)前視頻幀的場(chǎng)景,從而在視頻傳輸過程中,只需傳輸該描述數(shù)據(jù),無需傳輸場(chǎng)景數(shù)據(jù),進(jìn)一步減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。另外,由于視頻在連續(xù)的幾幀內(nèi)是相關(guān)的,所以通過對(duì)匹配視頻幀進(jìn)行運(yùn)動(dòng)補(bǔ)償,消除了在數(shù)據(jù)編碼和傳輸過程中的空域冗余,減少了數(shù)據(jù)處理量,進(jìn)一步減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。另外,通過對(duì)殘差數(shù)據(jù)進(jìn)行變換,并對(duì)量化后的殘差數(shù)據(jù)進(jìn)行重排序,使得可以利用數(shù)據(jù)的相關(guān)性進(jìn)行編碼,從而降低了數(shù)據(jù)編碼過程中的數(shù)據(jù)處理量,從而進(jìn)一步減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源。
實(shí)施例三為本發(fā)明實(shí)施例提供的一種視頻編碼設(shè)備,參照?qǐng)D3所示,該視頻編碼設(shè)備包括:
獲取模塊31,用于獲取當(dāng)前視頻幀內(nèi)的對(duì)象;
場(chǎng)景重建模塊32,用于根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景;
匹配模塊33,用于對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀;以及
編碼模塊34,用于根據(jù)當(dāng)前視頻幀與匹配視頻幀之間的殘差數(shù)據(jù),對(duì)當(dāng)前視頻幀進(jìn)行編碼,生成編碼數(shù)據(jù)。
可選的,獲取模塊31用于:
利用顯著性,對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象進(jìn)行檢測(cè);以及
在檢測(cè)到對(duì)象后,對(duì)對(duì)象進(jìn)行分割,從當(dāng)前視頻幀中獲取對(duì)象。
可選的,場(chǎng)景重建模塊32用于:
根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景,對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù),以及對(duì)景深進(jìn)行估計(jì),生成用于描述景深的 第二參數(shù);
其中,假設(shè)當(dāng)前視頻幀為第n幀視頻幀,對(duì)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù)的過程可以是根據(jù)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù);同理,對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù)的過程可以是對(duì)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀對(duì)應(yīng)的場(chǎng)景對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù);
根據(jù)第一參數(shù),對(duì)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行圖像拼接,生成拼接后的圖像;以及
根據(jù)拼接后的圖像和第二參數(shù)進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景。
其中,假設(shè)當(dāng)前視頻幀為第n幀視頻幀,對(duì)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行圖像拼接,生成拼接后的圖像的過程可以是對(duì)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀進(jìn)行圖像拼接,生成拼接后的圖像。
可選的,視頻編碼設(shè)備3還包括處理模塊35,用于:
根據(jù)先前視頻幀之前的場(chǎng)景的姿態(tài)參數(shù),調(diào)整重建后的場(chǎng)景的姿態(tài)參數(shù)。
可選的,匹配模塊33用于:
利用最鄰近搜索,對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀。
可選的,處理模塊35還用于:
根據(jù)先前視頻幀,對(duì)匹配視頻幀進(jìn)行運(yùn)動(dòng)補(bǔ)償。
可選的,處理模塊35還用于:
根據(jù)先前視頻幀,對(duì)匹配視頻幀進(jìn)行光照估計(jì)。
可選的,處理模塊35還用于:
對(duì)殘差數(shù)據(jù)進(jìn)行變換和量化。
可選的,處理模塊35還用于:
對(duì)殘差數(shù)據(jù)進(jìn)行反量化和逆變換;以及
根據(jù)殘差數(shù)據(jù)與匹配視頻幀,生成當(dāng)前視頻幀的重建幀,用作下一次場(chǎng)景重建時(shí)的初始數(shù)據(jù)。
可選的,視頻編碼設(shè)備3還包括發(fā)送模塊36,用于:
向視頻解碼方發(fā)送重建后的場(chǎng)景和編碼數(shù)據(jù)。
本發(fā)明實(shí)施例提供了一種視頻編碼設(shè)備,該視頻編碼設(shè)備通過將對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀,實(shí)現(xiàn)了基于對(duì)象的視頻編碼,相比于直接傳輸當(dāng)前視頻幀,減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源,同時(shí)使得可以在帶寬資源較低的情況下實(shí)現(xiàn)視頻的傳輸,以便在網(wǎng)絡(luò)環(huán)境較差的情況下仍然可以實(shí)現(xiàn)即時(shí)視頻,提高了用戶體驗(yàn)。另外,由于減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源,從而保證了在視頻傳輸過程中通過較小的帶寬即可保證視頻的流暢性和視頻的清晰度,提高了用戶體驗(yàn)。
實(shí)施例四為本發(fā)明實(shí)施例提供的一種視頻編碼設(shè)備,參照?qǐng)D4所示,該視頻編碼設(shè)備包括存儲(chǔ)器41以及與存儲(chǔ)器連接的處理器42,其中,存儲(chǔ)器41用于存儲(chǔ)一組程序代碼,處理器42調(diào)用存儲(chǔ)器41所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
獲取當(dāng)前視頻幀內(nèi)的對(duì)象;
根據(jù)先前視頻幀和所述先前視頻幀之前的場(chǎng)景進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景;
對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀;以及
根據(jù)當(dāng)前視頻幀與匹配視頻幀之間的殘差數(shù)據(jù),對(duì)當(dāng)前視頻幀進(jìn)行編碼,生成編碼數(shù)據(jù)。
可選的,處理器42調(diào)用存儲(chǔ)器41所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
利用顯著性,對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象進(jìn)行檢測(cè);以及
在檢測(cè)到對(duì)象后,對(duì)對(duì)象進(jìn)行分割,從當(dāng)前視頻幀中獲取對(duì)象。
可選的,處理器42調(diào)用存儲(chǔ)器41所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景,對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù),以及對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù);
其中,假設(shè)當(dāng)前視頻幀為第n幀視頻幀,根據(jù)先前視頻幀和先前視頻幀之前的場(chǎng)景對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù)的過程可以是根據(jù)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀對(duì)攝像頭姿態(tài)進(jìn)行估計(jì),生成用于描述攝像頭姿態(tài)的第一參數(shù);同理,對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù)的過程可以是根據(jù)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀對(duì)景深進(jìn)行估計(jì),生成用于描述景深的第二參數(shù);
根據(jù)第一參數(shù),對(duì)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行圖像拼接,生成拼接后的圖像;以及
根據(jù)拼接后的圖像和第二參數(shù)進(jìn)行場(chǎng)景重建,生成重建后的場(chǎng)景。
其中,假設(shè)當(dāng)前視頻幀為第n幀視頻幀,對(duì)先前視頻幀和先前視頻幀之前的場(chǎng)景進(jìn)行圖像拼接,生成拼接后的圖像的過程可以是對(duì)n-2幀對(duì)應(yīng)的場(chǎng)景和n-1幀進(jìn)行圖像拼接,生成拼接后的圖像。
可選的,處理器42調(diào)用存儲(chǔ)器41所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)先前視頻幀之前的場(chǎng)景的姿態(tài)參數(shù),調(diào)整重建后的場(chǎng)景的姿態(tài)參數(shù)。
可選的,處理器42調(diào)用存儲(chǔ)器41所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
利用最鄰近搜索,對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀。
可選的,處理器42調(diào)用存儲(chǔ)器41所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)先前視頻幀,對(duì)匹配視頻幀進(jìn)行運(yùn)動(dòng)補(bǔ)償。
可選的,處理器42調(diào)用存儲(chǔ)器41所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
根據(jù)先前視頻幀,對(duì)匹配視頻幀進(jìn)行光照估計(jì)。
可選的,處理器42調(diào)用存儲(chǔ)器41所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
對(duì)殘差數(shù)據(jù)進(jìn)行變換和量化。
可選的,處理器42調(diào)用存儲(chǔ)器41所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
對(duì)殘差數(shù)據(jù)進(jìn)行反量化和逆變換;以及
根據(jù)殘差數(shù)據(jù)與匹配視頻幀,生成當(dāng)前視頻幀的重建幀,用作下一次場(chǎng)景重建時(shí)的初始數(shù)據(jù)。
可選的,處理器42調(diào)用存儲(chǔ)器41所存儲(chǔ)的程序代碼用于執(zhí)行以下操作:
向視頻解碼方發(fā)送重建后的場(chǎng)景和編碼數(shù)據(jù)。
本發(fā)明實(shí)施例提供了一種視頻編碼設(shè)備,該視頻編碼設(shè)備通過將對(duì)當(dāng)前視頻幀內(nèi)的對(duì)象以及重建后的場(chǎng)景進(jìn)行匹配,生成匹配視頻幀,實(shí)現(xiàn)了基于對(duì)象的視頻編碼,相比于直接傳輸當(dāng)前視頻幀,減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源,同時(shí)使得可以在帶寬資源較低的情況下實(shí)現(xiàn)視頻的傳輸,以便在網(wǎng)絡(luò)環(huán)境較差的情況下仍然可以實(shí)現(xiàn)即時(shí)視頻,提高了用戶體驗(yàn)。另外,由于減少了視頻傳輸時(shí)所占用的帶寬,節(jié)省了帶寬資源,從而保證了在視頻傳輸過程中通過較小的帶寬即可保證視頻的流暢性和視頻的清晰度,提高了用戶體驗(yàn)。
上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本發(fā)明的可選實(shí)施例,在此不再一一贅述。
需要說明的是:上述實(shí)施例提供的視頻編碼設(shè)備在執(zhí)行視頻編碼方法,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的視頻編碼設(shè)備與視頻編碼方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或 光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。