本申請涉及視頻處理領(lǐng)域,特別是涉及一種視頻處理及編碼方法、處理器與編碼器。
背景技術(shù):
目前,隨著科技的發(fā)展,視頻會議、視頻通話以及直播等在生活中的應(yīng)用越來越普遍。在進行視頻或者直播的過程中,為了保證畫面的流暢性,需要在內(nèi)存中緩沖接下來需要播放的一系列圖像,將該一系列圖像按照順序播放所形成的視頻稱為實時通信視頻。為了提升實時通信視頻給人的視覺感受,在播放前需要對實時通信視頻進行圖像處理,例如對實時通信視頻中出現(xiàn)的人物的美白處理、膚色調(diào)整或者對亮度的調(diào)整、對實時通信視頻中各幀圖像進行銳化等圖像處理,為了減少實時通信視頻中各幀圖像間的冗余信息,需要對處理后的實時通信視頻中的各幀圖像進行編碼。
在現(xiàn)有技術(shù)中,對實時通信視頻進行圖像處理的方法大都是,對實時通信視頻中的每幀圖像都進行圖像處理,圖像處理完成后,對實時通信視頻中的各幀圖像進行編碼。但現(xiàn)有技術(shù)對實時通信視頻進行圖像處理是對每幀圖像都進行圖像處理后再編碼,導(dǎo)致對實時通信視頻從圖像處理到進行編碼所用的時間較長,無法滿足在進行視頻或者直播過程中,對實時通信視頻進行圖像處理實時性的要求。因此需要在滿足實時性要求的時間內(nèi)對實時通信視頻進行圖像處理且編碼。所以,快速的實時通信視頻的圖像處理方法是非常有必要的。
技術(shù)實現(xiàn)要素:
有鑒于此,本申請的主要目的是提供實時通信視頻的圖像處理及編碼方法、處理器與編碼器,采用實時通信視頻的圖像處理及編碼方法、處理器與編碼器可以實現(xiàn)快速對實時通信視頻進行圖像處理,以滿足實時性的要求。
為此,本申請解決上述問題的技術(shù)方案是:
本申請公開了一種視頻處理方法,所述方法應(yīng)用于處理器上,所述方法包括:
所述處理器根據(jù)預(yù)設(shè)參數(shù)確定視頻中的關(guān)鍵幀;所述視頻由多幀有播放時序的原始圖像組成;
所述處理器對所述關(guān)鍵幀進行圖像處理,得到目標圖像;
所述處理器將所述目標圖像發(fā)送給編碼器,以使所述編碼器對所述目標圖像和所述視頻中各原始圖像進行編碼;
所述處理器將編碼后視頻中的關(guān)鍵幀,替換為與關(guān)鍵幀對應(yīng)的編碼后的目標圖像。
其中,所述處理器根據(jù)預(yù)設(shè)參數(shù)確定視頻中的關(guān)鍵幀,包括:
所述處理器按照錄入視頻中的原始圖像的順序,將每隔所述預(yù)設(shè)參數(shù)的一幀原始圖像確定為一幀關(guān)鍵幀。
其中所述方法還包括:
將替換后的視頻發(fā)送至接收端,以使所述接收端解碼所述替換后的視頻并播放。
本申請還公開了一種視頻的編碼方法,所述方法應(yīng)用于編碼器上,包括:
接收處理器發(fā)送的目標圖像和視頻中的各幀原始圖像;所述目標圖像通過以下方式得到:所述處理器按照錄入視頻中的原始圖像的順序,將每隔預(yù)設(shè)參數(shù)一幀原始圖像確定為一幀關(guān)鍵幀;所述處理器對所述關(guān)鍵幀進行圖像處理,得到目標圖像;
分別對所述目標圖像和所述視頻中的各幀原始圖像進行編碼;
將所述編碼后的目標圖像和編碼后的視頻發(fā)送至所述處理器,以使所述處理器將編碼后的視頻中的關(guān)鍵幀,替換為與關(guān)鍵幀對應(yīng)的編碼后的目標圖像。
其中,所述編碼器分別對所述目標圖像和所述視頻中的各幀原始圖像進行編碼,包括:
所述編碼器在對所述目標圖像和所述視頻中的關(guān)鍵幀編碼時,采用相同的序列參數(shù)集和圖像參數(shù)集。
本申請還公開了一種處理器,所述處理器包括:
確定單元,用于根據(jù)預(yù)設(shè)參數(shù)確定視頻中的關(guān)鍵幀;所述視頻由多幀有播放時序的原始圖像組成;
圖像處理單元,用于對所述關(guān)鍵幀進行圖像處理,得到目標圖像;
第一發(fā)送單元,用于將所述目標圖像發(fā)送給編碼器,以使所述編碼器對所述目標圖像和所述視頻中各原始圖像進行編碼;
替換單元,用于將編碼后視頻中的關(guān)鍵幀,替換為與關(guān)鍵幀對應(yīng)的編碼后的目標圖像。
其中,所述確定單元具體包括:
確定子單元,用于按照錄入視頻中的原始圖像的順序,將每隔所述預(yù)設(shè)參數(shù)的一幀原始圖像確定為一幀關(guān)鍵幀。
其中,所述處理器還包括:
第二發(fā)送單元,用于將替換后的視頻發(fā)送至接收端,以使所述接收端解碼所述替換后的視頻并播放。
本申請還公開了一種編碼器,所述編碼器包括:
接收單元,用于接收處理器發(fā)送的目標圖像和視頻中的各幀原始圖像;所述目標圖像通過以下方式得到:所述處理器按照錄入視頻中的原始圖像的順序,將每隔預(yù)設(shè)參數(shù)的一幀原始圖像確定為一幀關(guān)鍵幀;所述處理器對所述關(guān)鍵幀進行圖像處理,得到目標圖像;
編碼單元,用于分別對所述目標圖像和所述視頻中的各幀原始圖像進行編碼;
第三發(fā)送單元,用于將所述編碼后的目標圖像和編碼后的視頻發(fā)送至所述處理器,以使所述處理器將編碼后的視頻中的關(guān)鍵幀,替換為與關(guān)鍵幀對應(yīng)的編碼后的目標圖像。
其中,所述編碼單元采用相同的序列參數(shù)集和圖像參數(shù)集對所述目標圖像和所述視頻中的關(guān)鍵幀進行編碼。
與現(xiàn)有技術(shù)相比,本申請具有以下有益效果:
本申請?zhí)峁崟r通信視頻的圖像處理及編碼方法、處理器與編碼器,所述方法、處理器與編碼器只對實時通信視頻中,根據(jù)預(yù)設(shè)參數(shù)確定出的關(guān)鍵幀(幀內(nèi)圖像intraframe,即i幀)進行圖像處理,節(jié)省了大量時間。并將編碼后的目標圖像對應(yīng)替換編碼后的實時通信視頻中的關(guān)鍵幀i幀,完成了對實時通信視頻進行圖像處理的過程。雖然本申請是將編碼后的目標圖像對應(yīng)替換編碼后的實時通信視頻中編碼后的關(guān)鍵幀i幀,但是,對圖像處理且編碼后的實時通信視頻解碼后,對于視頻中的非關(guān)鍵幀圖像同樣具有處理效果。因此,本申請的方法、處理器與編碼器,在達到與現(xiàn)有技術(shù)相同的圖像處理效果的同時,提高了對實時通信視頻進行圖像處理的速度,并且,利用節(jié)省的時間可以對關(guān)鍵幀做更多的圖像處理,使得包括目標圖像的實時通信視頻具有更好的效果。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1是本申請中提供的一種對實時通信視頻進行圖像處理的框架圖;
圖2是本申請中提供的一種對實時通信視頻進行圖像處理的方法流程圖;
圖3是本申請中提供的一種集成于處理器上對實時通信視頻進行圖像處理的裝置示意圖;
圖4是本申請中提供的一種集成于編碼器上對實時通信視頻進行編碼的裝置示意圖。
具體實施方式
下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
本申請?zhí)峁┑膶崟r通信視頻的圖像處理及編碼方法、處理器與編碼器。隨著實時通信視頻中各原始圖像的錄入,處理器根據(jù)預(yù)設(shè)的參數(shù)實時確定實時通信視頻中的關(guān)鍵幀,處理器只對此關(guān)鍵幀進行圖像處理,得到目標圖像。并將編碼后的目標圖像對應(yīng)替換編碼后的實時通信視頻中的關(guān)鍵幀i幀,此時完成了對實時通信視頻的圖像處理的過程。采用本申請的方法對實時通信視頻圖像處理后,對處理后的實時通信視頻進行解碼,所得到的解碼后的實時通信視頻中的各幀圖像都具有圖像處理后的效果。
為了使本領(lǐng)域的人員更好地理解本申請方案,下面結(jié)合附圖和具體實施方式對本申請作進一步的詳細說明。
實施例1
圖1,是本申請實施例1提供的一種對實時通信視頻進行圖像處理的框架圖。本申請實施例所要實現(xiàn)的對實時通信視頻進行圖像處理的過程,是指對實時通信視頻進行圖像處理與編碼的過程。從框架圖中可以看出,本申請實施例實現(xiàn)對實時通信視頻進行圖像處理的過程可以包括:
首先,處理器確定實時通信視頻中的關(guān)鍵幀,此時實時通信視頻中的圖像分為兩類,一類是關(guān)鍵幀,另一類是非關(guān)鍵幀。
然后,處理器對關(guān)鍵幀進行圖像處理,得到目標圖像,并將編碼后的目標圖像稱為i-better幀。處理器將實時通信視頻中的各幀原始圖像發(fā)送給編碼器。編碼器對實時通信視頻中的關(guān)鍵幀和非關(guān)鍵幀進行編碼,將關(guān)鍵幀編碼為關(guān)鍵幀i幀,將非關(guān)鍵幀編碼為p幀。編碼器對實時通信視頻中的各幀原始圖像編碼得到的關(guān)鍵幀i幀與p幀形成一個編碼流(es流)并發(fā)送給處理器。
最后,處理器將i-better幀替換編碼流(es流)中相對應(yīng)的關(guān)鍵幀i幀,此時得到新的編碼流(新的es流)。此時,完成了對實時通信視頻進行圖像處理的過程。
本實施例主要介紹處理器根據(jù)預(yù)設(shè)參數(shù)確定實時通信視頻中的關(guān)鍵幀,并進行圖像處理,得到目標圖像。將對目標圖像進行編碼后得到的i-better幀,對應(yīng)替換編碼后的實時通信視頻中的關(guān)鍵幀i幀,最終得到新的編碼流(新的es流)。本實施例主要介紹了對實時通信視頻進行圖像處理的整體思路。對于對實時通信視頻進行圖像處理的詳細過程由實施例2進行介紹。
實施例2
圖2,是本申請?zhí)峁┑囊环N對實時通信視頻進行圖像處理的方法流程圖,該方法可以包括:
步驟201:所述處理器根據(jù)預(yù)設(shè)參數(shù)確定實時通信視頻中的關(guān)鍵幀;所述實時通信視頻由多幀有播放時序的原始圖像組成。
在電話會議、電話視頻或者直播的過程中,為了保證進行視頻或者直播過程中畫面的流暢性,需要在內(nèi)存中緩沖接下來需要播放的一系列圖像,將播放一系列圖像所形成的視頻稱為實時通信視頻。此實時通信視頻可以通過攝像頭采集得到,并將此實時通信視頻中的各幀原始圖像保存在內(nèi)存中,以便該處理器從內(nèi)存中獲取此實時通信視頻中的各幀原始圖像,對此實時通信視頻中的原始圖像人物進行美白處理、膚色調(diào)整、亮度調(diào)整等或者對實時通信視頻中的圖像進行圖像銳化等圖像處理,以提升實時通信視頻給人的視覺感受。
在本步驟中,處理器隨著對實時通信視頻中原始圖像的錄入,根據(jù)預(yù)設(shè)的參數(shù),實時地確定原始圖像中的關(guān)鍵幀。
具體的,處理器確定關(guān)鍵幀的過程為:在本申請的所提供的方法中,已提前設(shè)定了用于確定攝像頭錄入的原始圖像中的關(guān)鍵幀的參數(shù),在本申請中將此參數(shù)稱為預(yù)設(shè)參數(shù)。當處理器從內(nèi)存中錄入原始圖像時,根據(jù)對原始圖像的錄入順序,從第一幀原始圖像開始,將每隔已設(shè)定的預(yù)設(shè)參數(shù)的一幀圖像確定為一幀關(guān)鍵幀,當處理器錄入完視頻后,一般會得到多幀關(guān)鍵幀。其中,第一幀原始圖像可以被確定為關(guān)鍵幀,也可以不被確定為關(guān)鍵幀,具體情況根據(jù)需要來確定。
例如,假設(shè)本申請的預(yù)設(shè)參數(shù)為30,在處理器從內(nèi)存中錄入實時通信視頻中的原始圖像時,處理器根據(jù)原始圖像的錄入順序,從第一幀圖像開始計數(shù),當計數(shù)到第30幀圖像時,此時的第30幀原始圖像被確定為一幀關(guān)鍵幀,隨著原始圖像的錄入,當計數(shù)到第60幀圖像、第90幀圖像等等,以此類推,隨著處理器從內(nèi)存中錄入原始圖像,當錄入到預(yù)設(shè)參數(shù)的整數(shù)倍圖像時,將所有整數(shù)倍圖像所對應(yīng)的圖像都作為實時通信視頻中關(guān)鍵幀。
需要說明的是,本步驟中的預(yù)設(shè)參數(shù)是根據(jù)具體情況來設(shè)定的,沒有固定的標準,一般預(yù)設(shè)參數(shù)的取值范圍在30~60,只要圖像處理后的實時通信視頻能達到圖像處理的要求即可。
步驟202:所述處理器對所述關(guān)鍵幀進行圖像處理,得到目標圖像。
在本實施例中,處理器每次從內(nèi)存中錄入的實時通信視頻中原始圖像一般在3~5幀,如果處理器在錄入當前3~5幀圖像時確定了其中的某一幀為關(guān)鍵幀后。處理器對確定的關(guān)鍵幀按照需要進行圖像處理,例如,對此關(guān)鍵幀中的人物進行美顏處理、膚色調(diào)整等,對關(guān)鍵幀中的畫面進行亮度調(diào)整、圖像銳化等圖像處理。本實施例中,將對關(guān)鍵幀進行上述圖像處理后得到的圖像稱為目標圖像。
步驟203:所述處理器將所述目標圖像發(fā)送給編碼器,以使所述編碼器對所述目標圖像和所述實時通信視頻中各原始圖像進行編碼。
在進行視頻或者直播過程中,為了使用最少的信息來表示實時通信視頻中的各幀圖像,需要在信道中傳輸之前,對實時通信視頻中的各幀圖像進行編碼,以去除各幀圖像的冗余信息。因此,該處理器將目標圖像發(fā)送給編碼器。
編碼器接收處理器發(fā)送的目標圖像后,對此目標圖像編碼,以便提高傳輸效率。編碼器對其所接收的目標圖像進行編碼,本實施例將編碼后的目標圖像稱為i-better幀。在本實施例中,編碼器將目標圖像編碼為i-better幀時,可以采用h264、mpeg2、mpeg4、vc1、h265、h263等任意一種編碼方式。
在本實施例中,編碼器需要對目標圖像進行編碼之外,還需要對實時通信視頻中的各原始圖像進行編碼。具體的,編碼器對該實時通信視頻中各原始圖像進行編碼的過程為:按照此實時通信視頻中各原始圖像的前后順序進行編碼。其中,對關(guān)鍵幀進行編碼時,編碼器無需參考其他圖像,本實施例將編碼后的關(guān)鍵幀稱為關(guān)鍵幀i幀。對非關(guān)鍵幀進行編碼時,編碼器參考此非關(guān)鍵幀的前一幀圖像對其進行編碼,本實施例將編碼后的非關(guān)鍵幀稱為p幀,p幀描述的是與其前一幀圖像在宏塊的運動矢量和殘差數(shù)據(jù)。按照上述的編碼方法,直到編碼器對實時通信視頻中的每一幀圖像都進行編碼,此時得到包括關(guān)鍵幀i幀和p幀的編碼后的實時通信視頻,將此編碼后的包括關(guān)鍵幀i幀和p幀的實時通信視頻稱為編碼流(es流)。
例如,當前處理器錄入的實時通信視頻包含5幀原始圖像,并且,處理器確定出實時通信視頻中的第1幀圖像為關(guān)鍵幀。此時,編碼器對實時通信視頻進行編碼的具體過程為:編碼器對實時通信視頻視頻中的第1幀原始圖像不參考任何一幀圖像進行編碼,得到關(guān)鍵幀i幀,接著對實時通信視頻中的第2幀原始圖像參考第1幀原始圖像進行編碼,得到p幀,第3幀原始圖像參考第2幀原始圖像進行編碼,得到p幀,以此類推,直到第5幀原始圖像參考第4幀原始圖像進行編碼,得到p幀,此時得到編碼流(es流)。
需要說明的是,在編碼器對視頻中各原始圖像,以及,目標圖像進行編碼時,對于目標圖像與原始圖像中的關(guān)鍵幀采用相同的序列參數(shù)集與圖像參數(shù)集來編碼,其中,序列參數(shù)集包括了一個圖像序列的所有信息,圖像參數(shù)集包括一個圖像所有片的信息。其中,一幅圖像由一個或者多個片組組成,而每一個片組由一個或者若干個片組成,在圖像的解碼過程中,按照片進行解碼。
步驟204:所述處理器將編碼后的實時通信視頻中的關(guān)鍵幀,替換為與關(guān)鍵幀對應(yīng)的編碼后的目標圖像。
在本步驟中,處理器將編碼后的目標圖像對應(yīng)替換編碼后的實時通信視頻中的編碼后的關(guān)鍵幀,即將得到的i-better幀替換編碼流(es流)中相應(yīng)的關(guān)鍵幀i幀,形成新的編碼流(新的es流)。此時,完成了對實時通信視頻的編碼。
需要說明的是,編碼器對實時通信視頻中的各幀原始圖像進行編碼,與編碼器對目標圖像進行編碼沒有先后順序。只需要在執(zhí)行本步驟將編碼后的實時通信視頻中編碼后的關(guān)鍵幀,替換為與編碼后的關(guān)鍵幀對應(yīng)的編碼后的目標圖像之前完成即可。
在執(zhí)行本步驟之后,該處理器還可以將替換后的包括編碼后的目標圖像的實時通信視頻發(fā)送至接收端,方便接收端對此包括編碼后的目標圖像的實時通信視頻解碼,并播放解碼后的實時通信視頻。
本實施例主要介紹了,對實時通信視頻進行圖像處理過程。雖然多出了對目標圖像編碼,和,將編碼后的目標圖像對應(yīng)替換編碼后的視頻中的關(guān)鍵幀i幀兩個過程。但是,本申請多出的這兩個過程所有的時間,遠小于本申請只對視頻中的關(guān)鍵幀進行圖像處理所節(jié)省的時間。本實施例在對圖像處理且編碼后的視頻解碼后,對于視頻中的非關(guān)鍵幀圖像同樣具有圖像處理效果。因此,在達到與現(xiàn)有技術(shù)相同的圖像處理效果的同時,提高了對視頻進行圖像處理的速度,并且,利用節(jié)省的時間可以對關(guān)鍵幀做更多的圖像處理,使包括目標圖像的視頻具有更好的效果
實施例3
本申請實施例公開一種處理器,請參見圖3,該處理器可以包括:
確定單元301,用于根據(jù)預(yù)設(shè)參數(shù)確定視頻中的關(guān)鍵幀;所述視頻由多幀有播放時序的原始圖像組成。
其中,確定單元301可以包括:
確定子單元,用于按照錄入視頻中的原始圖像的順序,將每隔所述預(yù)設(shè)參數(shù)的一幀原始圖像確定為一幀關(guān)鍵幀。
圖像處理單元302,用于對所述關(guān)鍵幀進行圖像處理,得到目標圖像。
第一發(fā)送單元303,用于將所述目標圖像發(fā)送給編碼器,以使所述編碼器對所述目標圖像和所述視頻中各原始圖像進行編碼。
替換單元304,用于將編碼后視頻中的關(guān)鍵幀,替換為與關(guān)鍵幀對應(yīng)的編碼后的目標圖像。
在本實施例中,該處理器還可以包括第二發(fā)送單元,用于將替換后的視頻發(fā)送至接收端,以使所述接收端解碼所述替換后的視頻并播放。
本實施例主要介紹了,通過處理器中的確定單元來確定實時通信視頻中的各幀原始圖像中的關(guān)鍵幀;通過圖像處理單元對關(guān)鍵幀進行圖像處理,得到目標圖像;通過第一發(fā)送單元將目標圖像發(fā)送給編碼器,以便編碼器對目標圖像進行編碼;最后,通過替換單元,將編碼后的視頻中編碼后的關(guān)鍵幀,替換為與編碼后的關(guān)鍵幀對應(yīng)的編碼后的目標圖像,得到了包括編碼后的目標圖像的實時通信視頻,完成了對實時通信視頻的進行圖像處理并編碼的過程。
實施例4
本申請實施例公開一種編碼器,請參見圖4,該編碼器可以包括:
接收單元401,用于接收處理器發(fā)送的目標圖像和視頻中的各幀原始圖像;所述目標圖像通過以下方式得到:所述處理器按照錄入視頻中的原始圖像的順序,將每隔預(yù)設(shè)參數(shù)的一幀原始圖像確定為一幀關(guān)鍵幀;所述處理器對所述關(guān)鍵幀進行圖像處理,得到目標圖像。
編碼單元402,用于分別對所述目標圖像和所述視頻中的各幀原始圖像進行編碼。
其中,編碼單元402在對目標圖像和實時通信視頻視頻中的關(guān)鍵幀編碼時,采用相同的序列參數(shù)集和圖像參數(shù)集。
第三發(fā)送單元403,用于將所述編碼后的目標圖像和編碼后的視頻發(fā)送至所述處理器,以使所述處理器將編碼后的視頻中的關(guān)鍵幀,替換為與關(guān)鍵幀對應(yīng)的編碼后的目標圖像。
本實施例主要介紹了,編碼器包括了接收單元、編碼單元和第三發(fā)送單元。其中,通過接收單元來接收處理器發(fā)送的目標圖像和實時通信視頻的各幀原始圖像;通過編碼單元,實現(xiàn)對目標圖像和實時通信視頻中的各幀原始圖像的編碼;并通過第三發(fā)送單元,將編碼后的目標圖像和編碼后的實時通信視頻發(fā)送至處理器,以便處理器對其進行操作。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本申請將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋未排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。