本申請涉及視頻編碼領域,更具體地說,涉及一種靜態(tài)背景幀內(nèi)編碼方法和裝置。
背景技術:
近些年,由于公共安全管理需要,高清監(jiān)控攝像頭的數(shù)量與日俱增,隨之產(chǎn)生的海量監(jiān)控視頻數(shù)據(jù)使得現(xiàn)有的編碼方法已經(jīng)不能滿足監(jiān)控應用需求,這些海量數(shù)據(jù)給視頻編碼方法提出了更高的要求,即進一步降低視頻數(shù)據(jù)的存儲、傳輸開銷。不同于其他應用,監(jiān)控應用場景要求編碼方法在提供高壓縮率的同時滿足低延時、低復雜度的要求,且盡可能減少碼率波動。
在實際的監(jiān)控應用中,需要支持隨機訪問的功能。所謂隨機訪問,就是用戶可以在視頻碼流的任何位置切入并在較短時間內(nèi)獲得解碼圖像。在視頻編碼中,一般有b、p、i三種編碼幀,b、p幀需要參考其他幀的重建才能正常解碼,而i幀不參考其他幀。因而如果碼流切入點為b、p幀,則只有將該幀的所有參考幀均解碼出,才能正常解碼該幀。如果該幀的某一參考幀仍為b、p幀,則這些參考幀的解碼也需要其所有參考幀正常解碼出,如此遞歸,直到參考幀為i幀時才可不需要解碼其參考幀而正常解碼。由此可見,我們需要在視頻碼流中周期性地插入i幀來保證用戶能進行隨機訪問。但是,由于不能使用參考幀,i幀相比b、p幀的壓縮效率較差,在相同的質(zhì)量下,i幀所需的碼率遠大于b、p幀,因而在實際傳輸中往往會帶來較大延時,甚至發(fā)生丟包,嚴重影響解碼視頻質(zhì)量。
技術實現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N靜態(tài)背景幀內(nèi)編碼方法和裝置,以利用靜態(tài)背景的特性,提高幀內(nèi)編碼的壓縮效率,從而提高解碼視頻質(zhì)量。
為了實現(xiàn)上述目的,現(xiàn)提出的方案如下:
一種靜態(tài)背景幀內(nèi)編碼方法,包括:
確定視頻數(shù)據(jù)中靜態(tài)背景的反射系數(shù);
基于所述反射系數(shù)確定i幀各個像素點對應的光照分量;
利用所述光照分量對所述i幀各個像素點的像素值進行替換;
利用預設的多個編碼模式分別對未進行光照分量替換處理的i幀進行分塊編碼,以確定每個編碼塊的第一最優(yōu)編碼模式以及所述第一最優(yōu)編碼模式對應的第一率失真代價;
利用所述預設的多個編碼模式分別對經(jīng)過光照分量替換處理的i幀進行分塊編碼,以確定每個編碼塊的第二最優(yōu)編碼模式以及第二最優(yōu)編碼模式對應的第二率失真代價;
比較所述第一率失真代價和所述第二率失真代價,從所述第一最優(yōu)編碼模式和所述第二最優(yōu)編碼模式中選取每個編碼塊的最佳編碼模式。
優(yōu)選的,所述確定視頻數(shù)據(jù)中靜態(tài)背景的反射系數(shù),包括:
從固定攝像頭已有的視頻數(shù)據(jù)中提取不同時間的多個靜態(tài)背景幀;
基于所述多個靜態(tài)背景幀確定靜態(tài)背景的反射系數(shù)。
優(yōu)選的,所述基于所述反射系數(shù)確定i幀各個像素點對應的光照分量,之后還包括:
將所述光照分量縮放到正常視頻像素范圍內(nèi)。
優(yōu)選的,所述利用所述預設的多個編碼模式分別對經(jīng)過光照分量替換處理的i幀進行分塊編碼,之前還包括:
對所述多個編碼模式中的編碼參數(shù)進行調(diào)整。
優(yōu)選的,所述基于所述反射系數(shù)確定i幀各個像素點對應的光照分量,包括:
基于公式
其中,lorg為光照分量,ρ為反射系數(shù),i為各個像素點的原始像素值。
一種靜態(tài)背景幀內(nèi)編碼裝置,包括:
反射系數(shù)確定單元,用于確定視頻數(shù)據(jù)中靜態(tài)背景的反射系數(shù);
第一計算單元,用于基于所述反射系數(shù)確定i幀各個像素點對應的光照分量;
幀處理單元,用于利用所述光照分量對所述i幀各個像素點的像素值進行替換;
第一編碼單元,用于利用預設的多個編碼模式分別對未進行光照分量替換處理的i幀進行分塊編碼,以確定每個編碼塊的第一最優(yōu)編碼模式以及所述第一最優(yōu)編碼模式對應的第一率失真代價;
第二編碼單元,用于利用所述預設的多個編碼模式分別對經(jīng)過光照分量替換處理的i幀進行分塊編碼,以確定每個編碼塊的第二最優(yōu)編碼模式以及第二最優(yōu)編碼模式對應第二率失真代價;
比較單元,用于比較所述第一率失真代價和所述第二率失真代價,從所述第一最優(yōu)編碼模式和所述第二最優(yōu)編碼模式中選取每個編碼塊的最佳編碼模式。
優(yōu)選的,反射系數(shù)確定單元包括:
靜態(tài)背景幀提取模塊,用于從固定攝像頭已有的視頻數(shù)據(jù)中提取不同時間的多個靜態(tài)背景幀;
反射系數(shù)計算模塊,用于基于所述多個靜態(tài)背景幀確定靜態(tài)背景的反射系數(shù)。
優(yōu)選的,還包括:數(shù)據(jù)處理單元,用于將所述光照分量縮放到正常視頻像素范圍內(nèi)。
優(yōu)選的,還包括:參數(shù)調(diào)整單元,用于對所述多個編碼模式中的編碼參數(shù)進行調(diào)整。
優(yōu)選的,所述第一計算單元具體用于:
基于公式
其中,lorg為光照分量,ρ為反射系數(shù),i為各個像素點的原始像素值。
經(jīng)由上述技術方案可知,本申請公開了一種靜態(tài)背景幀內(nèi)編碼方法和裝置。該方法首先計算視頻數(shù)據(jù)中靜態(tài)背景的反射系數(shù),從而確定i幀各個像素點對應的光照分量,并利用光照分量對i幀各個像素點的像素值進行替換。進一步,利用預設的多個編碼模式分別對未經(jīng)過光照分量替換處理的i幀和經(jīng)過光照分量替換處理的i幀進行分塊編碼,并基于編碼結(jié)果確定每個編碼塊的最佳編碼模式。與現(xiàn)有技術相比,本發(fā)明充分利用靜態(tài)背景反射系數(shù)長期相對不變的性質(zhì),利用光照分量比當前像素值具有更強的空間相關性,對其進行幀內(nèi)編碼,提高了幀內(nèi)編碼的壓縮效率。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1示出了本發(fā)明一個實施例公開的一種靜態(tài)背景幀內(nèi)編碼方法的流程示意圖;
圖2示出了本發(fā)明另一個實施例公開的一種靜態(tài)背景幀內(nèi)編碼方法的流程示意圖;
圖3示出了本發(fā)明另一個實施例公開的一種靜態(tài)背景幀內(nèi)編碼裝置的結(jié)構示意圖;
圖4示出了本發(fā)明另一個實施例公開的一種靜態(tài)背景幀內(nèi)編碼裝置的結(jié)構示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
參見圖1示出了本發(fā)明一個實施例公開的一種靜態(tài)背景幀內(nèi)編碼方法的流程示意圖。
在本實施例中,該方法包括:
由圖1可知,該方法包括:
s101:確定視頻數(shù)據(jù)中靜態(tài)背景的反射系數(shù)。
從固定攝像頭已有的視頻數(shù)據(jù)提取不同時間的多個背景幀。所述背景幀指的是從一段時間的視頻構造出的一種圖像。理想情況下,這種圖像只包含靜態(tài)背景內(nèi)容而不包含前景內(nèi)容。
進一步,基于上述多個背景幀確定靜態(tài)背景的反射系數(shù)。
s102:基于所述反射系數(shù)確定i幀各個像素點對應的光照分量。
對某個i幀進行編碼前,基于上述反射系數(shù),分離出當前i幀的光照分量。
具體的,基于公式
其中,lorg為光照分量,ρ為反射系數(shù),i為各個像素點的原始像素值。
s103:利用所述光照分量對所述i幀各個像素點的像素值進行替換。
對于任意像素點,利用該像素點的光照分量替換該像素點的像素值。
s104:利用預設的多個編碼模式分別對未進行光照分量替換處理的i幀進行分塊編碼,以確定每個編碼塊的第一最優(yōu)編碼模式以及所述第一最優(yōu)編碼模式對應的第一率失真代價。
在實施例中,對未經(jīng)過光照分量替換處理的i幀進行分塊編碼。對于每個編碼塊是通過嘗試hevc已有的幀內(nèi)預測編碼模式,獲得最優(yōu)的幀內(nèi)編碼模式(即第一最優(yōu)編碼模式),以及對應的碼率和失真(即第一率失真代價)。
s105:利用所述預設的多個編碼模式分別對經(jīng)過光照分量替換處理的i幀進行分塊編碼,以確定每個編碼塊的第二最優(yōu)編碼模式以及第二最優(yōu)編碼模式對應第二率失真代價。
在實施例中,對經(jīng)過光照分量替換處理的i幀進行分塊編碼。對于每個編碼塊,是通過嘗試hevc已有的幀內(nèi)預測編碼模式,獲得最優(yōu)的幀內(nèi)編碼模式(即第二最優(yōu)編碼模式),以及對應的碼率和失真(即第二率失真代價)。
需要說明的是,在本實施例中,步驟s104和步驟s105是對i幀的每個塊分別進行編碼的。如,可將i幀分為大小為64x64的塊,其他大小的分塊方式也可以。
s106:比較所述第一率失真代價和所述第二率失真代價,從所述第一最優(yōu)編碼模式和所述第二最優(yōu)編碼模式中選取每個編碼塊的最佳編碼模式。
對于任意編碼塊,分別采用步驟s104和步驟s105的方式進行編碼,從而確定第一最優(yōu)編碼模式和所述第二最優(yōu)編碼模式。
進一步,比較第一最優(yōu)編碼模式的第一率失真代價和第二最優(yōu)編碼模式的第二率失真代價,將率失真代價最小的編碼模式作為該編碼塊的最佳編碼模式。
由以上實施例可知,本申請公開了一種靜態(tài)背景幀內(nèi)編碼方法。該方法首先計算視頻數(shù)據(jù)中靜態(tài)背景的反射系數(shù),從而確定i幀各個像素點對應的光照分量,并利用光照分量對i幀各個像素點的像素值進行替換。進一步,利用預設的多個編碼模式分別對未經(jīng)過光照分量替換處理的i幀和經(jīng)過光照分量替換處理的i幀進行編碼,并基于編碼結(jié)果確定該i幀的最佳編碼模式。與現(xiàn)有技術相比,本發(fā)明充分利用靜態(tài)背景反射系數(shù)長期相對不變的性質(zhì),利用光照分量比當前像素值具有更強的空間相關性對其進行幀內(nèi)編碼,提高了幀內(nèi)編碼的壓縮效率。
參見圖2示出了本發(fā)明另一個實施例公開的一種靜態(tài)背景幀內(nèi)編碼方法的流程示意圖。
在本實施例中,該方法包括:
s201:提取不同時間的多個背景幀,基于多個背景幀確定靜態(tài)背景的反射系數(shù)。
從某一個攝像頭已有的一天的視頻數(shù)據(jù),采用簡單有效的背景幀提取方法提取多個背景幀。要求從早到晚,每隔1小時提取n(n為大于10的整數(shù))幀背景幀。
下面具體介紹反射系數(shù)的計算方法:
設點x為朗伯平面上的一點,c為攝像頭,其形成的圖像值為i(x)。x的光照包括一個遠距離的移動太陽光照ld和一個均勻的環(huán)境光la。局部的能見度用一個角度為α的圓錐表示。當移動光源與平面的法線角度θ大于α時,移動光源無法照到點x。首先,我們引入一個變量κ,κ定義為:
其中ε[·]表示期望。我們將每個圖像i分解為太陽光和環(huán)境光反射疊加后的結(jié)果,即:i=ia+id,設la=fld,易得
基于上面分析,所設計光照分離算法如下:
a.基于公式(1)計算κ。
b.設f0=0,基于a獲得的κ和公式(2),獲得α的初始值α0。
c.通過公式(3)的最優(yōu)化方法,獲得α和f的最優(yōu)估計α1和f1。
其中κobs為觀察到的κ值。公式(3)的最小化方法是個非線性最小均方問題,可通過matlab的lsqnonlin函數(shù)求解。
d.基于獲得的α和f的最優(yōu)估計α1和f1,通過公式(4)可以得到反射系數(shù)圖ρ(ld=1)。
理論上,反射系數(shù)為0到1之間的浮點數(shù),分離出的光照分量為非零實數(shù)。在我們的方案中,反射系數(shù)只需要編碼一次,其可以占用較多的資源,而需要大量編碼的光照分離圖像則希望其易于編碼。為此,本實施例使用16比特來編碼反射系數(shù)圖,這實際上是保證了反射系數(shù)的精度為1/65536。
s202:基于所述反射系數(shù)確定i幀各個像素點對應的光照分量。
s203:將所述光照分量變換到正常視頻像素范圍內(nèi)。
對獲得的光照分量進行縮放。對于某一光照分離圖像,設其整數(shù)分量的分布范圍為[vmin,vmax],記99%以上的光照值分布在[v0,v1]區(qū)間內(nèi),則以v0和v1作為最小值和最大值,將該圖像縮放到[0,255]的范圍。具體的,設該光照圖像的某一光照值為lorg,則實際用于編碼的像素值lenc可通過公式(5)獲得。為了正確還原光照值,我們還需要為每個圖像編碼光照分量最小值v0和最大值v1,本實施例采用16比特定長編碼來分別編碼這兩個值。
其中,lorg為各個像素點的原始光照分量,lenc為各個像素點經(jīng)過縮放后的光照分量。
s204:利用縮放后的所述光照分量對所述i幀各個像素點的像素值進行替換。
s205:利用預設的多個編碼模式分別對未進行光照分量替換處理的i幀進行分塊編碼,以確定每個編碼塊的第一最優(yōu)編碼模式以及所述第一最優(yōu)編碼模式對應的第一率失真代價。
對未經(jīng)過光照分量替換處理的i幀進行分塊編碼。對于每個編碼塊,先嘗試hevc已有的幀內(nèi)預測編碼模式對編碼塊進行編碼,以確定每個編碼塊的第一最優(yōu)編碼模式,以及對應的碼率ropt和失真dopt。基于幀內(nèi)預測的拉格朗日參數(shù)λintra,我們可以獲得如公式所示的最優(yōu)的率失真(ratedistortion,rd)代價jopt。
jopt=dopt+λintraropt
s206:對多個編碼模式中的編碼參數(shù)進行調(diào)整。
在將光照分量l作為原始值進行編碼來選擇最優(yōu)編碼模式時,我們需要調(diào)整下其拉格朗日參數(shù),將調(diào)整后的拉格朗日參數(shù)記為λref。對于光照分量l的某一編碼模式i,其編碼碼率為ri,重建值為li,其失真為
其中,
ρj為第j個光照分量像素值對應的反射系數(shù)值。簡單地,我們設該塊內(nèi)的反射系數(shù)都一樣,均為ρavg,則di可表示為:
則某一編碼模式i的rd代價ji應為:
因此,若還采用原有rd代價計算方法,在將光照值l作為原始值進行編碼來選擇最優(yōu)編碼模式時,拉格朗日參數(shù)應該調(diào)整為原來的
s207:利用預設的多個編碼模式分別對經(jīng)過光照分量替換處理的i幀進行分塊編碼,以確定每個編碼塊的第二最優(yōu)編碼模式以及第二最優(yōu)編碼模式對應第二率失真代價。
對經(jīng)過光照分量替換處理的i幀進行分塊編碼。對于每個編碼塊,基于步驟s206計算得到的拉格朗日參數(shù)λref,通過率失真優(yōu)化的方法獲得光照分量lenc的最優(yōu)編碼模式(即第二最優(yōu)編碼模式),以及對應的碼率rref和重建值lrec。
對所述重建值lrec進行變換獲得實際光照分量的重建值l′rec
具體的,基于公式:
基于獲得的實際光照變量的重建值l′rec和原有的反射系數(shù)ρ,獲得實際像素的重建值ρl′rec,計算失真dref?;陬愃乒降姆椒ㄓ嬎阍撃J较碌木幋ard代價jref=dref+λintrarref,并與jopt比較大小。選擇代價較小的模式作為最終的編碼模式。
參見圖3示出了本發(fā)明另一個實施例公開的一種靜態(tài)背景幀內(nèi)編碼裝置的結(jié)構示意圖。
由圖4可知,該裝置包括:反射系數(shù)確定單元1、第一計算單元2、幀處理單元3、第一編碼單元4、第二編碼單元5以及比較單元6。
其中,反射系數(shù)確定單元1用于確定視頻數(shù)據(jù)中靜態(tài)背景的反射系數(shù)。
第一計算單元,用于基于所述反射系數(shù)確定i幀各個像素點對應的光照分量。
具體的,基于公式
其中,lorg為光照分量,ρ為反射系數(shù),i為各個像素點的原始像素值。
幀處理單元3用于利用所述光照分量對所述i幀各個像素點的像素值進行替換。
第一編碼單元4用于利用預設的多個編碼模式分別對未進行光照分量替換處理的i幀進行分塊編碼,以確定每個編碼塊的第一最優(yōu)編碼模式以及所述第一最優(yōu)編碼模式對應的第一率失真代價。
對未經(jīng)過光照分量替換處理的i幀進行分塊編碼。對于每個編碼塊,先嘗試hevc已有的幀內(nèi)預測編碼模式進行編碼,以獲得每個編碼塊的最優(yōu)的幀內(nèi)編碼模式(即第一最優(yōu)編碼模式),以及對應的碼率和失真(即第一率失真代價)。
第二編碼單元5用于利用所述預設的多個編碼模式分別對經(jīng)過光照分量替換處理的i幀進行分塊編碼,以確定每個編碼塊的第二最優(yōu)編碼模式以及第二最優(yōu)編碼模式對應第二率失真代價。
對經(jīng)過光照分量替換處理的i幀進行分塊編碼。對于每個編碼塊,利用hevc已有的幀內(nèi)預測編碼模式進行編碼,以獲得每個編碼塊的最優(yōu)的幀內(nèi)編碼模式(即第二最優(yōu)編碼模式),以及對應的碼率和失真(即第二率失真代價)。
比較單元6用于比較所述第一率失真代價和所述第二率失真代價,選擇率失真代較小的編碼模式作為編碼塊的最佳編碼模式。
參加圖4示出了本發(fā)明另一個實施例公開的一種靜態(tài)背景幀內(nèi)編碼裝置的結(jié)構示意圖。
在本實施例中,反射系數(shù)確定單元具體包括:
靜態(tài)背景幀提取模塊11用于從固定攝像頭已有的視頻數(shù)據(jù)中提取不同時間的多個靜態(tài)背景幀。
具體的,從某一個攝像頭已有的一天的視頻數(shù)據(jù),采用簡單有效的背景幀提取方法提取多個背景幀。要求從早到晚,每隔1小時提取n(n為大于10的整數(shù))幀背景幀。
反射系數(shù)計算模塊12用于基于所述多個靜態(tài)背景幀確定靜態(tài)背景的反射系數(shù)。
另外,該裝置還包括:
數(shù)據(jù)處理單元7用于對第一計算單元得到的光照分量進行縮放處理,以將第一計算單元得到的光照分量縮放到正常視頻像素范圍內(nèi)。
參數(shù)調(diào)整單元8,用于對所述多個編碼模式中的編碼參數(shù)進行調(diào)整。
在將光照分量l作為原始值進行編碼來選擇最優(yōu)編碼模式時,我們需要調(diào)整下其拉格朗日參數(shù),將調(diào)整后的拉格朗日參數(shù)記為λref。具體的過程可參照步驟s206。
需要說明的是該裝置實施例與方法實施例相對應,其執(zhí)行過程和執(zhí)行原理相同,在此不作贅述。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
對所公開的實施例的上述說明,使本領域?qū)I(yè)技術人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。