專利名稱:基于時(shí)空域相關(guān)性快速運(yùn)動(dòng)估計(jì)的視頻編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)數(shù)字視頻編碼技術(shù)領(lǐng)域,針對的是視頻編碼系統(tǒng),如高清電視(HDTV)、高清激光視盤(HD-DVD)和流媒體服務(wù)器等應(yīng)用。
背景技術(shù):
對于目前的基于運(yùn)動(dòng)補(bǔ)償?shù)囊曨l編碼標(biāo)準(zhǔn)而言,塊匹配運(yùn)動(dòng)估計(jì)(BMME,Block-matching motion estimation)是其的最重要組成部分之一。運(yùn)動(dòng)估計(jì)與補(bǔ)償技術(shù)可以有效地去除視頻序列相鄰幀間存在的時(shí)間冗余,極大地提高視頻編碼的編碼效率。
對視頻編碼而言,通常圖像幀首先被分為大小相等的矩形塊,例如對H.264而言,矩形塊的大小是從16×16到4×4的七種模式,運(yùn)動(dòng)估計(jì)就是在前一個(gè)或幾個(gè)重建參考幀中尋找與當(dāng)前編碼塊最相似的矩形塊的過程。全搜索(FS,F(xiàn)ull search)算法是最直接的運(yùn)動(dòng)估計(jì)實(shí)現(xiàn)方法。FS算法通過對搜索窗內(nèi)的所有點(diǎn)進(jìn)行搜索,因而可以得到最優(yōu)匹配,但是FS算法的計(jì)算量巨大,難以實(shí)時(shí)實(shí)現(xiàn)。一般而言,運(yùn)動(dòng)估計(jì)通??梢哉嫉秸麄€(gè)視頻編碼60%左右的計(jì)算量。
為了減少BMME的計(jì)算量,許多學(xué)者都研究了BMME的快速搜索算法。這些方法可以分為三類1)通過減少搜索點(diǎn)的快速算法。如二維對數(shù)法、三步法,新三步法、四步法、十字法、鉆石法以及改進(jìn)的鉆石法等。2)快速塊匹配誤差計(jì)算方法。如子集匹配法和基于投影的方法。3)運(yùn)動(dòng)場下采樣法。與后兩種方法相比,第一類方法最為高效,是最常用的快速搜索算法,其中菱形算法(DS,Diamond search)是目前最為高效的運(yùn)動(dòng)估計(jì)方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服目前編碼系統(tǒng)中運(yùn)動(dòng)估計(jì)部分計(jì)算量大、難以實(shí)時(shí)實(shí)現(xiàn)的不足,在保證不降低編碼質(zhì)量的前提下,有效地提高編碼的實(shí)時(shí)性,設(shè)計(jì)了一種結(jié)合宏塊在時(shí)間域和空間域上相關(guān)性的快速運(yùn)動(dòng)估計(jì)方法。其技術(shù)思路特征在于1.綜合利用了在時(shí)間域和空間域上相鄰宏塊間運(yùn)動(dòng)的相關(guān)性,并根據(jù)其相關(guān)性的不同而采用了不同的模板策略,提高了運(yùn)動(dòng)估計(jì)的速度和精度;2.提出了一種適應(yīng)不同運(yùn)動(dòng)相關(guān)性的搜索策略,即根據(jù)相鄰宏塊間運(yùn)動(dòng)相關(guān)性的不同而將相鄰宏塊的運(yùn)動(dòng)分為兩種不同的狀態(tài),對于每種運(yùn)動(dòng)狀態(tài)分別采用了不同的搜索起始點(diǎn)和搜索模板。
本發(fā)明的技術(shù)方案參見圖3-圖8。這種基于時(shí)空域相關(guān)性快速運(yùn)動(dòng)估計(jì)的視頻編碼方法,是由攝像機(jī)(1),將目標(biāo)物狀態(tài)轉(zhuǎn)換成視頻信號(hào)輸入到采集卡(2)中;采集卡將視頻信號(hào)轉(zhuǎn)換成數(shù)字視頻序列,并存放在視頻緩存中,這些數(shù)字視頻序列或是以視頻序列文件形式存放在計(jì)算機(jī)硬盤中的視頻數(shù)據(jù),都被稱為原始視頻序列,作為該系統(tǒng)的輸入用于壓縮;計(jì)算機(jī)(3)存放原始視頻序列和執(zhí)行視頻編碼子程序,并生成壓縮后的碼流文件,本發(fā)明的特征在于計(jì)算機(jī)首先從采集卡的視頻存儲(chǔ)器或存放在計(jì)算機(jī)硬盤上的視頻序列文件中讀一幀視頻數(shù)據(jù)到計(jì)算機(jī)的緩沖區(qū)中,通過執(zhí)行視頻編碼子程序?qū)υ搸M(jìn)行編碼。
視頻編碼子程序采用了基于運(yùn)動(dòng)補(bǔ)償/離散余弦變換(DCt,Discrete cosinetransform)的混合編碼方法,除運(yùn)動(dòng)估計(jì)子程序這一部分外,采用了國際視頻編碼標(biāo)準(zhǔn)H.264 JM6.0的編碼框架。
視頻編碼子程序在視頻編碼時(shí),將一個(gè)輸入的視頻序列幀被分為16×16的宏塊,編碼過程是以宏塊為單位進(jìn)行的;計(jì)算機(jī)開始執(zhí)行視頻編碼子程序后,首先對編碼進(jìn)行初始化,這些初始化工作主要包括對編碼參數(shù)和緩沖區(qū)的設(shè)置。
然后計(jì)算機(jī)按照從上到下、從左到右的次序先對第一個(gè)宏塊執(zhí)行運(yùn)動(dòng)估計(jì)子程序;運(yùn)動(dòng)估計(jì)結(jié)束后對得到的運(yùn)動(dòng)矢量做差值編碼,并對宏塊像素進(jìn)行預(yù)測得到該宏塊殘差圖像;而對殘差圖像則首先進(jìn)行DCT變換,然后對DCT系數(shù)進(jìn)行量化和變長編碼(VLC,Variable length coding)編碼,最后進(jìn)行解碼、生成相應(yīng)參考宏塊;該宏塊編碼結(jié)束后,對當(dāng)前編碼幀的所有宏塊循環(huán)執(zhí)行上述編碼過程,完成對一個(gè)視頻序列幀的編碼;一幀編碼結(jié)束后循環(huán)編碼下一幀,至到視頻序列的最后一幀編碼結(jié)束,并生成壓縮后的碼流文件,系統(tǒng)執(zhí)行程序結(jié)束。
在上述的視頻編碼子程序中,運(yùn)動(dòng)估計(jì)子程序中所采用的快速搜索算法,綜合利用了在時(shí)間域和空間域上相鄰宏塊間的運(yùn)動(dòng)相關(guān)性,并根據(jù)宏塊間運(yùn)動(dòng)相關(guān)性的不同而采用了不同的搜索策略,有效地提高了運(yùn)動(dòng)估計(jì)的精度和速度,最終提高了系統(tǒng)編碼的實(shí)時(shí)性。
其所述的運(yùn)動(dòng)估計(jì)子程序中的搜索算法如下(1)首先進(jìn)行相鄰宏塊間運(yùn)動(dòng)相關(guān)性的判斷;對于圖1所示的宏塊在時(shí)間域和空間域上的相鄰關(guān)系,設(shè)Ei是當(dāng)前幀i的編碼宏塊,Ai、Bi、Ci、Di、Gi、Hi分別為其左側(cè)、上側(cè)、右上側(cè)、左上側(cè)、右側(cè)和下側(cè)的相鄰宏塊,在前一幀(i-1)對應(yīng)位置上的宏塊分別表示為Ei-1、Ai-1、Bi-1、Ci-1、Di-1、Gi-1和Hi-l。
這里設(shè)B={C1C2C3C4C5}為Ei相鄰宏塊Ai、Bi、Ei-1、Gi-1和Hi-1的運(yùn)動(dòng)矢量組成的集合,如圖2所示。
(a)如果對于任意i,i∈[1,5],都滿足|Ci-C3|≤TH則Ei相鄰宏塊間的運(yùn)動(dòng)相關(guān)性為高。
(b)如果對于任意i,i∈[1,3)U(3,5],都滿足|Ci-C3|>TH則Ei相鄰宏塊間的運(yùn)動(dòng)相關(guān)性為低。
其中TH為閾值。
(2)根據(jù)(1)的判斷結(jié)果,當(dāng)前編碼宏塊的運(yùn)動(dòng)估計(jì)算法如下根據(jù)時(shí)空域相鄰宏塊間的運(yùn)動(dòng)相關(guān)性的不同,分別采用了不同的搜索策略。其采用的兩種搜索模板如圖7和圖8所示,其中圖7為小菱形搜索模板(LDSP,Little diamond search pattern),圖8為方菱形搜索模板(SDSP,Square diamondsearch pattern)。其搜索步驟如下步驟1根據(jù)(1)所描述的宏塊運(yùn)動(dòng)相關(guān)性描述方法,如果宏塊運(yùn)動(dòng)相關(guān)性為高,則以Ai、Bi、Ei-1運(yùn)動(dòng)矢量的中值作為搜索的起始點(diǎn),跳轉(zhuǎn)到步驟2,否則跳轉(zhuǎn)到步驟3。
步驟2采用LDSP模板進(jìn)行搜索,如果最小塊差值點(diǎn)(BDM,Blockdifference minimum)位于LDSP模板的中心點(diǎn)a,則搜索結(jié)束,以該點(diǎn)的位移作為運(yùn)動(dòng)矢量;如果BDM位于LDSP的四個(gè)頂點(diǎn)b,則以該點(diǎn)為新的搜索起始點(diǎn),循環(huán)執(zhí)行步驟2進(jìn)行搜索。
步驟3以當(dāng)前塊在前一幀對應(yīng)位置的(0,0)、Ai、Bi、Ei-1、Gi-1和Hi-1為搜索起始點(diǎn),如果BDM位于(0,0)點(diǎn),且絕對差值和(SAD,Sum of absolutedifference)大于1024時(shí),則跳轉(zhuǎn)到步驟4進(jìn)行搜索,否則,以該點(diǎn)為新的搜索起始點(diǎn)跳轉(zhuǎn)到步驟2進(jìn)行搜索。
步驟4采用SDSP模板進(jìn)行搜索,如果BDM位于中心點(diǎn)c,則搜索結(jié)束,并以該點(diǎn)的位移作為運(yùn)動(dòng)矢量;如果BDM位于四個(gè)菱形頂點(diǎn)d,則以該點(diǎn)為新的搜索起始點(diǎn),跳轉(zhuǎn)到步驟2進(jìn)行搜索;如果BDM位于四個(gè)方形頂點(diǎn)e,則以該頂點(diǎn)作為新的搜索起始點(diǎn),循環(huán)執(zhí)行步驟4進(jìn)行搜索。
搜索結(jié)束后得到該宏塊的運(yùn)動(dòng)矢量。
下面將結(jié)合附圖對具體實(shí)施方式
進(jìn)行詳細(xì)說明。
圖1是宏塊在時(shí)間域和空間域上的相鄰關(guān)系;圖2是用于判斷運(yùn)動(dòng)相關(guān)性的五個(gè)宏塊的相鄰關(guān)系;圖3是視頻編碼系統(tǒng)框圖;圖4是視頻編碼系統(tǒng)主程序框圖;圖5是視頻編碼子程序框圖;圖6是運(yùn)動(dòng)估計(jì)子程序框圖;圖7是小菱形搜索模板(LDSP);其中標(biāo)a的點(diǎn)為LDSP模板的中心點(diǎn),標(biāo)b的點(diǎn)為LDSP模板的菱形頂點(diǎn);圖8是方菱形搜索模板(SDSP);其中標(biāo)c的點(diǎn)為SDSP模板的中心點(diǎn),標(biāo)d的點(diǎn)為SDSP模板的菱形頂點(diǎn),標(biāo)e的點(diǎn)SDSP模板的為方形頂點(diǎn);
具體實(shí)施例方式本發(fā)明的視頻編碼方法的目的在于采用高效的運(yùn)動(dòng)估計(jì)算法,減少其計(jì)算量,在保持編碼質(zhì)量的前提下,利于編碼系統(tǒng)的實(shí)時(shí)實(shí)現(xiàn)。在圖3所示的視頻編碼系統(tǒng)框圖中,攝像機(jī)和采集卡是市售的,用于將目標(biāo)對象轉(zhuǎn)換成計(jì)算機(jī)可以處理的數(shù)字視頻序列。圖中的視頻序列文件表示該系統(tǒng)輸入的也可以是通過其他設(shè)備獲得的、并事先存放在計(jì)算機(jī)硬盤上的數(shù)字視頻序列。這些數(shù)字視頻序列就是原始視頻序列,作為該系統(tǒng)的輸入用于壓縮。在計(jì)算機(jī)上執(zhí)行視頻編碼子程序,對原始視頻序進(jìn)行壓縮,壓縮的結(jié)果是以生成碼流文件的形式存放在計(jì)算機(jī)硬盤上。與輸入的原始視頻序列相比,生成的碼流文件的數(shù)據(jù)量非常小,因而該系統(tǒng)達(dá)到了對視頻數(shù)據(jù)壓縮的目的。
圖4所示是該系統(tǒng)執(zhí)行程序的總體框圖。在圖4中,視頻編碼子程序采用了基于運(yùn)動(dòng)補(bǔ)償/DCT的混合編碼方法。除運(yùn)動(dòng)估計(jì)子程序這一部分外,本發(fā)明采用了國際視頻編碼標(biāo)準(zhǔn)H.264 JM6.0的基本編碼框架,其程序流程如圖4所示。應(yīng)該指出,在視頻編碼時(shí),一個(gè)輸入的視頻序列幀被分為16×16的宏塊,編碼過程是以宏塊為單位進(jìn)行的。計(jì)算機(jī)開始執(zhí)行視頻編碼子程序后,首先對編碼進(jìn)行初始化,這些初始化工作包括對視頻序列格式、幀率、量化參數(shù)、運(yùn)動(dòng)估計(jì)的搜索范圍、參考幀的數(shù)目、各緩沖區(qū)以及輸出碼流文件名等的設(shè)置。然后計(jì)算機(jī)按照從上到下、從左到右的次序先將第一個(gè)宏塊的數(shù)據(jù)讀入緩沖區(qū),對該宏塊執(zhí)行如圖5所示的運(yùn)動(dòng)估計(jì)子程序,運(yùn)動(dòng)估計(jì)結(jié)束后對得到的運(yùn)動(dòng)矢量做差值編碼,并對宏塊像素進(jìn)行預(yù)測得到該宏塊殘差圖像;而對殘差圖像則首先進(jìn)行DCT變換,然后對DCT系數(shù)進(jìn)行量化和VLC編碼,之后輸出該宏塊的壓縮碼流并存放在緩沖區(qū)中。為了下一幀編碼的需要,最后進(jìn)行解碼、生成相應(yīng)參考宏塊,存放在計(jì)算機(jī)內(nèi)存中。該宏塊編碼結(jié)束后,對當(dāng)前編碼幀的所有宏塊循環(huán)執(zhí)行上述編碼過程,完成對一個(gè)視頻序列幀的編碼。
對于圖5所示的視頻編碼子程序,其中的運(yùn)動(dòng)估計(jì)子程序部分其程序框圖如圖6所示,該估計(jì)估計(jì)方法是本發(fā)明的核心,與目前其他的快速運(yùn)動(dòng)估計(jì)方法不同。該運(yùn)動(dòng)估計(jì)方法綜合利用了時(shí)間和空間域上的相關(guān)性,并根據(jù)相鄰宏塊間運(yùn)動(dòng)相關(guān)程度的不同而采用了不同的搜索策略。其具體執(zhí)行過程如下所述。在圖5所示的初始過程中,設(shè)置兩個(gè)長度都為L=W×H8]]>的緩沖區(qū),其中W為圖像幀的寬度,H圖像幀的高度,用于存放前一幀和當(dāng)前幀所有4×4子塊的運(yùn)動(dòng)矢量。
在計(jì)算機(jī)進(jìn)入圖6的運(yùn)動(dòng)估計(jì)子程序后,首先對當(dāng)前編碼宏塊Ei進(jìn)行相鄰宏塊間運(yùn)動(dòng)相關(guān)性的判斷,執(zhí)行的算法程序如前所述。在執(zhí)行完Ei相鄰宏塊間運(yùn)動(dòng)相關(guān)性的判斷之后,根據(jù)這一判斷結(jié)果,開始執(zhí)行相應(yīng)的搜索算法程序,搜索過程也如前所述,最后得到該宏塊的運(yùn)動(dòng)矢量。
為了驗(yàn)證本發(fā)明的實(shí)際效率,進(jìn)行了如下的對比實(shí)驗(yàn)。對相同的視頻序列,這里以foreman(176×144,100幀,15fps)序列為例,在本發(fā)明的編碼系統(tǒng)上執(zhí)行(1)采用本發(fā)明運(yùn)動(dòng)估計(jì)算法的編碼程序;(2)采用FS算法的編碼程序;(3)采用DS算法的編碼程序。其中FS的搜索精度最優(yōu),但計(jì)算量最大;DS算法是目前最優(yōu)的快速運(yùn)動(dòng)估計(jì)方法。表2是本發(fā)明與這兩種運(yùn)動(dòng)估計(jì)算法編碼結(jié)果的比較。編碼參數(shù)都按如表1所示的編碼配置文件設(shè)置,量化參數(shù)QP都分別取20,28,34和40四個(gè)值進(jìn)行實(shí)驗(yàn)。依據(jù)大量實(shí)驗(yàn)測試結(jié)果,在相鄰宏塊間運(yùn)動(dòng)相關(guān)性的判斷時(shí),閾值TH選取8為最優(yōu)。
表1是編碼系統(tǒng)的配置文件。配置文件用于設(shè)置系統(tǒng)的編碼參數(shù),其中主要包括運(yùn)動(dòng)估計(jì)的精度為1/4像素,搜索范圍為±32像素;參考幀的數(shù)目為2幀;熵編碼采用上下文自適應(yīng)的變長編碼(CAVLC);禁止塊大小自適應(yīng)變換(ABT);必須執(zhí)行哈達(dá)瑪(Hadamard)變換和率失真(R-D)優(yōu)化;圖像組的結(jié)構(gòu)是第一幀為I幀,以后都為P幀;表2中峰值信噪比(PSNR,Peak signal noise ratio)表示重建視頻圖像的峰值信噪比。其中搜索點(diǎn)數(shù)是指每個(gè)宏塊的平均搜索點(diǎn)數(shù)。第一列為全搜索算法的實(shí)驗(yàn)結(jié)果,第二列為菱形搜索算法的實(shí)驗(yàn)結(jié)果,第三列為本發(fā)明運(yùn)動(dòng)估計(jì)算法的實(shí)驗(yàn)結(jié)果??梢钥闯觯cDS算法相比,本文方法明顯地減少計(jì)算量,同時(shí)又在不同程度上提高編碼質(zhì)量。對于測試序列,本發(fā)明方法的搜索速度,比FS算法平均提高了74.17%,比DS算法平均提高了24.91%;PSNR平均比DS算法提高了0.04db,更接近FS算法的編碼質(zhì)量。
表1是編碼系統(tǒng)的配置文件
表2是編碼結(jié)果示例
權(quán)利要求
1.基于時(shí)空域相關(guān)性運(yùn)動(dòng)估計(jì)的視頻編碼方法,是由攝像機(jī)(1),將目標(biāo)物狀態(tài)轉(zhuǎn)換成視頻信號(hào)置于采集卡(2)中;采集卡將視頻信號(hào)轉(zhuǎn)換成數(shù)字視頻序列,并存放在視頻緩存中,這些數(shù)字視頻序列或是以視頻序列文件形式存放在計(jì)算機(jī)硬盤中的視頻數(shù)據(jù),作為該系統(tǒng)的輸入用于壓縮;計(jì)算機(jī)(3)存放原始視頻序列和執(zhí)行視頻編碼程序,并生成壓縮后的碼流文件,本發(fā)明的特征在于計(jì)算機(jī)首先從采集卡的視頻存儲(chǔ)器或存放在計(jì)算機(jī)硬盤上的視頻序列文件中讀一幀視頻數(shù)據(jù)到計(jì)算機(jī)的緩沖區(qū)中,通過執(zhí)行視頻編碼子程序?qū)υ搸M(jìn)行編碼;視頻編碼子程序在視頻編碼時(shí),一個(gè)輸入的視頻序列幀被分為16×16的宏塊,編碼過程是以宏塊為單位進(jìn)行的;計(jì)算機(jī)開始執(zhí)行視頻編碼子程序后,首先對編碼進(jìn)行初始化;然后計(jì)算機(jī)按照從上到下、從左到右的次序先對第一個(gè)宏塊執(zhí)行運(yùn)動(dòng)估計(jì)子程序;運(yùn)動(dòng)估計(jì)結(jié)束后對得到的運(yùn)動(dòng)矢量做差值編碼,并對宏塊像素進(jìn)行預(yù)測得到該宏塊殘差圖像;而對殘差圖像則首先進(jìn)行離散余弦變換(DCT),然后對變換系數(shù)進(jìn)行量化和變長編碼(VLC)編碼,之后輸出該宏塊的壓縮碼流放入計(jì)算機(jī)的緩沖區(qū)中;最后進(jìn)行解碼、生成相應(yīng)參考宏塊;該宏塊編碼結(jié)束后,對當(dāng)前編碼幀的所有宏塊循環(huán)執(zhí)行上述編碼過程,完成對一個(gè)視頻序列幀的編碼;一幀編碼結(jié)束后循環(huán)編碼下一幀,至到視頻序列的最后一幀編碼結(jié)束,并生成壓縮后的碼流文件,系統(tǒng)執(zhí)行程序結(jié)束。
2.根據(jù)權(quán)利要求1所述的基于時(shí)空域相關(guān)性運(yùn)動(dòng)估計(jì)的視頻編碼方法,其特征在于所述的運(yùn)動(dòng)估計(jì)子程序中所采用的綜合利用在時(shí)間域和空間域上相鄰宏塊的相關(guān)性,并根據(jù)其相關(guān)性的不同采用不同搜索策略的運(yùn)動(dòng)估計(jì)方法步驟如下(1)首先進(jìn)行相鄰宏塊間運(yùn)動(dòng)相關(guān)性的判斷;對當(dāng)前任一編碼宏塊,其相鄰宏塊間運(yùn)動(dòng)相關(guān)性的描述方法為設(shè)Ei是當(dāng)前幀i的編碼宏塊,Ai、Bi、Ci、Di、Gi、Hi分別為其左側(cè)、上側(cè)、右上側(cè)、左上側(cè)、右側(cè)和下側(cè)的相鄰宏塊,在前一幀(i-1)對應(yīng)位置上的宏塊分別表示為Ei-l、Ai-1、Bi-1、Ci-1、Di-1、Gi-1和Hi-1;這里設(shè)B={C1C2C3C4C5}為Ei相鄰宏塊Ai、Bi、Ei-1、Gi-1和Hi-1的運(yùn)動(dòng)矢量組成的集合;(a)如果對于任意i,i∈[1,5],都滿足|Ci-C3|≤TH則Ei相鄰宏塊間的運(yùn)動(dòng)相關(guān)性為高;(b)如果對于任意i,i∈[1,3)U(3,5],都滿足|Ci-C3|>TH則Ei相鄰宏塊間的運(yùn)動(dòng)相關(guān)性為低;這里設(shè)B={C1C2C3C4C5}為Ei相鄰宏塊Ai、Bi、Ei-1、Gi-1和Hi-1的運(yùn)動(dòng)矢量組成的集合;(2)根據(jù)(1)的判斷結(jié)果,當(dāng)前編碼宏塊的運(yùn)動(dòng)估計(jì)算法如下根據(jù)時(shí)空域相鄰宏塊間的運(yùn)動(dòng)相關(guān)性的不同,分別采用了不同的搜索策略,其搜索步驟如下步驟1根據(jù)(1)所描述的宏塊運(yùn)動(dòng)相關(guān)性描述方法,如果宏塊運(yùn)動(dòng)相關(guān)性為高,則以Ai、Bi、Ei-1運(yùn)動(dòng)矢量的中值作為搜索的起始點(diǎn),跳轉(zhuǎn)到步驟2,否則跳轉(zhuǎn)到步驟3;步驟2采用小菱形搜索模板(LDSP)進(jìn)行搜索,如果最小塊差值點(diǎn)(BDM)位于LDSP模板的中心點(diǎn)a,則搜索結(jié)束,則搜索結(jié)束,以該點(diǎn)的位移作為運(yùn)動(dòng)矢量;如果BDM位于LDSP的四個(gè)頂點(diǎn)b,則以該點(diǎn)為新的搜索起始點(diǎn),循環(huán)執(zhí)行步驟2進(jìn)行搜索;步驟3以當(dāng)前塊在前一幀對應(yīng)位置的(0,0)、Ai、Bi、Ei-1、Gi-1和Hi-1為搜索起始點(diǎn),如果BDM位于(0,0)點(diǎn),且絕對差值和(SAD)大于1024時(shí),則跳轉(zhuǎn)到步驟4進(jìn)行搜索,否則,以該點(diǎn)為新的搜索起始點(diǎn)跳轉(zhuǎn)到步驟2進(jìn)行搜索;步驟4采用方菱形搜索模板(SDSP)進(jìn)行搜索,如果BDM位于中心點(diǎn)c,則搜索結(jié)束,并以該點(diǎn)的位移作為運(yùn)動(dòng)矢量;如果BDM位于四個(gè)菱形頂點(diǎn)d,則以該點(diǎn)為新的搜索起始點(diǎn),跳轉(zhuǎn)到步驟2進(jìn)行搜索;如果BDM位于四個(gè)方形頂點(diǎn)e,則以該頂點(diǎn)作為新的搜索起始點(diǎn),循環(huán)執(zhí)行步驟4進(jìn)行搜索;整個(gè)搜索過程結(jié)束后得到該宏塊的運(yùn)動(dòng)矢量。
3.根據(jù)權(quán)利要求1所述的基于時(shí)空域相關(guān)性運(yùn)動(dòng)估計(jì)的視頻編碼方法,其特征在于所述的視頻編碼子程序,采用了基于運(yùn)動(dòng)補(bǔ)償/離散余弦變換(DCT)的混合編碼方法;除運(yùn)動(dòng)估計(jì)子程序這一部分外,本發(fā)明采用了國際視頻編碼標(biāo)準(zhǔn)H.264 JM6.0的基本編碼框架。
全文摘要
基于時(shí)空域相關(guān)性運(yùn)動(dòng)估計(jì)的視頻編碼方法,屬于計(jì)算機(jī)數(shù)字視頻編碼技術(shù)領(lǐng)域。本發(fā)明特征為提出一種利用在時(shí)間域和空間域上相鄰宏塊間運(yùn)動(dòng)相關(guān)性的運(yùn)動(dòng)估計(jì)方法。方法步驟依次為攝像機(jī)將目標(biāo)物狀態(tài)轉(zhuǎn)換成視頻信號(hào),視頻信號(hào)通過采集卡轉(zhuǎn)換成數(shù)字視頻序列,并存放在視頻緩存中,作為系統(tǒng)輸入用于壓縮;計(jì)算機(jī)進(jìn)入完成對原始視頻幀進(jìn)行基于運(yùn)動(dòng)補(bǔ)償/DCT的混合編碼子程序,進(jìn)行視頻壓縮并生成碼流文件。本發(fā)明重點(diǎn)在于運(yùn)動(dòng)估計(jì)子程序,其方法主要為首先進(jìn)行相鄰宏塊間運(yùn)動(dòng)相關(guān)性的判斷,根據(jù)相關(guān)性不同而采用了不同的搜索策略,提高了運(yùn)動(dòng)估計(jì)的精度和速度。該系統(tǒng)有效地降低了運(yùn)動(dòng)估計(jì)的計(jì)算量,提高了視頻的實(shí)時(shí)性,同時(shí)也保證了視頻的編碼質(zhì)量。
文檔編號(hào)H04N5/917GK1482802SQ0315357
公開日2004年3月17日 申請日期2003年8月18日 優(yōu)先權(quán)日2003年8月18日
發(fā)明者薛金柱, 沈蘭蓀 申請人:北京工業(yè)大學(xué)