專利名稱:視頻編碼中一種提高運(yùn)動(dòng)估計(jì)速度和精度的技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于視頻編碼技術(shù)領(lǐng)域, 涉及一種提高視頻壓縮中運(yùn)動(dòng)估計(jì)速度和精度的技術(shù)。
背景技術(shù):
在當(dāng)今信息化時(shí)代,圖像的存儲(chǔ)和傳輸變得越來越重要。由于圖像原始數(shù)據(jù)信息量十分巨大,要在有限容量的存儲(chǔ)介質(zhì)進(jìn)行存儲(chǔ)和有限帶寬的信息通道傳輸圖像,圖像數(shù)據(jù)的編碼壓縮是必不可少的。運(yùn)動(dòng)圖像編碼是通過綜合利用圖像信號(hào)在時(shí)間、空間、統(tǒng)計(jì)三方面的冗余度,以及場(chǎng)景的知識(shí)、人的視覺特征實(shí)現(xiàn)的。目前較為成熟的編碼方法是綜合了預(yù)測(cè)編碼、變換編碼、墑編碼幾種編碼方法以及運(yùn)動(dòng)補(bǔ)償技術(shù)的混合編碼方法,混合編碼方法在現(xiàn)有的標(biāo)準(zhǔn)中表現(xiàn)為幀內(nèi)壓縮和幀間壓縮,其中幀間壓縮是其壓縮比的主要來源,因此現(xiàn)有的視頻壓縮標(biāo)準(zhǔn)MPEG1/2/4、H.261/3/4大都采用基于運(yùn)動(dòng)估計(jì)的幀間壓縮方案。其原理就是先將當(dāng)前幀分成若干大小相同的塊,對(duì)每個(gè)塊(當(dāng)前待編碼塊)在參考幀某個(gè)的窗口內(nèi)搜索與之最相似的匹配塊。當(dāng)前待編碼塊和匹配塊的位置差稱為運(yùn)動(dòng)矢量,象素差稱為殘差塊。由于殘差塊中接近0的象素很多,通過變換、量化、墑編碼,可以大幅度提高壓縮比。
現(xiàn)有的實(shí)現(xiàn)上述混合編碼方法的編碼器如附圖1。該編碼器(這里只敘述幀間編碼)的工作過程是首先對(duì)一幀(一幅)圖像以宏塊(16×16象素)或塊(8×8或4×4)為單位進(jìn)行編碼。整個(gè)編碼過程分為兩部分運(yùn)動(dòng)估計(jì)和編碼核心。當(dāng)前幀的每個(gè)宏塊首先進(jìn)入運(yùn)動(dòng)估計(jì)模塊作運(yùn)動(dòng)估計(jì)(搜索最佳匹配塊),方法是直接在參考幀中對(duì)應(yīng)塊(下稱同一位置塊)的相應(yīng)位置(0,0)或根據(jù)其他信息得到的初始點(diǎn)作為搜索起點(diǎn),在一定范圍內(nèi),向上、下、左、右方向搜索,獲得一個(gè)運(yùn)動(dòng)向量,使得的SAD(絕對(duì)差和Σi=0T1|Ii(m,n)-Ii′(m,n)|,]]>其中i為當(dāng)前待編碼塊內(nèi)的所有點(diǎn);Ii為當(dāng)前幀中i位置的灰度值,I′i為重建參考幀中i位置的灰度值)最小。運(yùn)動(dòng)估計(jì)后,編碼核心對(duì)當(dāng)前幀宏塊進(jìn)行編碼,根據(jù)運(yùn)動(dòng)估計(jì)的得到的宏塊的運(yùn)動(dòng)向量,對(duì)參考幀預(yù)測(cè)得到當(dāng)前預(yù)測(cè)幀宏塊,然后用當(dāng)前幀宏塊減去當(dāng)前預(yù)測(cè)幀宏塊計(jì)算預(yù)測(cè)誤差,接著做余弦變換、量化、墑編碼和圖像重建。
在上述步驟中,運(yùn)動(dòng)估計(jì)、預(yù)測(cè)及預(yù)測(cè)誤差的計(jì)算構(gòu)成預(yù)測(cè)編碼,是為了消除圖像在時(shí)間上的相關(guān)性。圖像時(shí)間上的相關(guān)性表現(xiàn)在當(dāng)前幀圖像的一部分是由上一幀圖像上的一部分經(jīng)過運(yùn)動(dòng)而得到的。這個(gè)運(yùn)動(dòng)是通過運(yùn)動(dòng)向量來描述的。運(yùn)動(dòng)估計(jì)的目的是獲得這個(gè)運(yùn)動(dòng)向量,而預(yù)測(cè)是根據(jù)運(yùn)動(dòng)向量來補(bǔ)償,抵消當(dāng)前幀圖像與上一幀圖像部分間因運(yùn)動(dòng)而產(chǎn)生的信號(hào)的變化。
正交變換構(gòu)成變換編碼,目的是為了消除圖像信號(hào)在空間上的相關(guān)性。量化既是后面墑編碼的需要,又是利用了人的視覺特性來提高編碼的壓縮比。
變長編碼構(gòu)成墑編碼,進(jìn)一步消除了圖像信號(hào)的統(tǒng)計(jì)相關(guān)性。逆量化、逆余弦變換;加法器實(shí)現(xiàn)重建,為后續(xù)的預(yù)測(cè)提供參考。
實(shí)踐證明,這種編碼器的實(shí)現(xiàn)方法存在很多不足之處,尤其在實(shí)用時(shí),攝像頭拍攝的視頻序列中存在大量的噪聲情況下,存在壓縮比低、壓縮時(shí)間慢,視覺質(zhì)量差等問題。
實(shí)踐證明,在上述編碼器的實(shí)現(xiàn)過程中,運(yùn)動(dòng)估計(jì)不僅最費(fèi)時(shí), 而且直接影響壓縮效率,是視頻壓縮的關(guān)鍵,因而產(chǎn)生了許多運(yùn)動(dòng)估計(jì)算法,包括最費(fèi)時(shí)間的全搜索法和一系列快速算法。但總的說來,這些算法在速度和精度上不能令人滿意。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服已有技術(shù)的不足之處,在原有編碼方法的基礎(chǔ)上對(duì)運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)補(bǔ)償以及編碼框架做了改進(jìn),改進(jìn)后的編碼器流程見附圖2。技術(shù)方法的流程圖見說明書附圖3、附圖4。
下面是對(duì)這些改進(jìn)部分的詳細(xì)說明在對(duì)當(dāng)前幀每塊運(yùn)動(dòng)估計(jì)前在原始參考幀上做運(yùn)動(dòng)分析現(xiàn)有運(yùn)動(dòng)估計(jì)方法都沒有這一步。本發(fā)明里提出的分析方法是對(duì)當(dāng)前幀的塊里的所有點(diǎn),計(jì)算該點(diǎn)周圍一定“區(qū)域AREA見注1”內(nèi)的點(diǎn)(數(shù)目為T1個(gè)見注2)與(0,0)點(diǎn)(即原始參考幀同一位置點(diǎn))周圍的點(diǎn)的差累加和SD;如果差累加和SD的絕對(duì)值小于某個(gè)域值T2,則該點(diǎn)是靜止點(diǎn),否則是運(yùn)動(dòng)點(diǎn);統(tǒng)計(jì)每一個(gè)塊中的運(yùn)動(dòng)點(diǎn)和靜止點(diǎn)的個(gè)數(shù),如果運(yùn)動(dòng)點(diǎn)個(gè)數(shù)少于某個(gè)域值T見注3,則認(rèn)為該塊是靜止塊,則運(yùn)動(dòng)估計(jì)以及后續(xù)的變換量化編碼等處理都可以省略。否則該塊是運(yùn)動(dòng)塊。
對(duì)于運(yùn)動(dòng)塊的處理有兩種1.用已有技術(shù)做運(yùn)動(dòng)估計(jì)。運(yùn)動(dòng)估計(jì)后,對(duì)當(dāng)前待編碼塊中的每一點(diǎn)與運(yùn)動(dòng)矢量指向的原始參考?jí)K對(duì)應(yīng)的點(diǎn)按上述方法分別求差累加和SD,判斷是否是靜止點(diǎn);統(tǒng)計(jì)該塊的中運(yùn)動(dòng)點(diǎn)的個(gè)數(shù),如果運(yùn)動(dòng)點(diǎn)個(gè)數(shù)少于某個(gè)域值T3,則認(rèn)為該塊運(yùn)動(dòng)估計(jì)的結(jié)果是找到了正確的運(yùn)動(dòng)向量,可繼續(xù)后續(xù)的運(yùn)動(dòng)補(bǔ)償變換等處理。否則該運(yùn)動(dòng)向量不是正確的運(yùn)動(dòng)向量,這種判斷為高質(zhì)量編碼提供了客觀的依據(jù)。
2.對(duì)于存在運(yùn)動(dòng)點(diǎn)個(gè)數(shù)小于T注4的運(yùn)動(dòng)塊,可不作運(yùn)動(dòng)估計(jì),直接在參考幀中的對(duì)應(yīng)塊和當(dāng)前待編碼塊間做運(yùn)動(dòng)補(bǔ)償并置所有靜止點(diǎn)間的差為0,保留所有運(yùn)動(dòng)點(diǎn)所引起的差,這樣做的目的是只編碼動(dòng)點(diǎn)的差值,不編碼靜止點(diǎn)間的差值。
在本發(fā)明中,采取上述方案是基于下述考慮1.用參考幀的原始數(shù)據(jù)作為運(yùn)動(dòng)分析的參考幀。到目前為止,在現(xiàn)有的視頻編碼技術(shù)中大都沒有充分利用原始數(shù)據(jù)的有用信息,是用重建幀(或者濾波圖象)數(shù)據(jù)來做運(yùn)動(dòng)估計(jì)等分析。實(shí)際上重建數(shù)據(jù)的一些信息特性經(jīng)過量化等處理與原始數(shù)據(jù)有了較大的改變,將其作為運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)分析的唯一依據(jù),必然引起一定的誤差。本方法采用原始數(shù)據(jù)做參考,是合乎自然規(guī)律的。
2.原來的運(yùn)動(dòng)估計(jì)使用的是SAD,在本技術(shù)里面用的是差累加和SD作為判斷規(guī)則。在有噪聲的情況下,靜止塊的SAD也很大,根據(jù)無規(guī)律熱噪聲的特性,靜止塊的差累加和SD非常小;如果采取傳統(tǒng)的編碼器技術(shù)在運(yùn)動(dòng)補(bǔ)償后會(huì)將這部分噪聲編碼,而采取本發(fā)明中的方法將不會(huì)對(duì)因?yàn)樵肼曇鸬牟罹幋a,從而將大大提高編碼速度,提高壓縮比,增強(qiáng)視覺效果。
3.對(duì)于本技術(shù)檢測(cè)到的靜止點(diǎn)、靜止塊,可認(rèn)為就是靜止點(diǎn)、靜止塊。因此運(yùn)動(dòng)估計(jì)、變換、量化、墑編碼、反量化、反變換都可以省略。
4.對(duì)于需要做運(yùn)動(dòng)估計(jì)的塊在用現(xiàn)有的運(yùn)動(dòng)估計(jì)做完后,得到的運(yùn)動(dòng)向量?jī)H僅是使得SAD最小的運(yùn)動(dòng)向量,該運(yùn)動(dòng)向量是并不能保證是編碼效果最好的運(yùn)動(dòng)向量。用得到的運(yùn)動(dòng)向量指向的在原始幀中的塊與當(dāng)前待編碼塊求差的累加和SD。如果差累加和SD比較小(小于某個(gè)域值),說明得到的運(yùn)動(dòng)既是使得SAD最小的運(yùn)動(dòng)向量又是真正的運(yùn)動(dòng)向量,否則就是僅僅使得SAD最小的運(yùn)動(dòng)向量。該技術(shù)能正確地評(píng)價(jià)運(yùn)動(dòng)估計(jì)的效果,為高質(zhì)量的編碼提供了合理的客觀參考信息。
實(shí)驗(yàn)證明,本發(fā)明提出的技術(shù)充分利用了原始視頻圖象相鄰幀間的關(guān)聯(lián)性以及噪聲特性, 實(shí)現(xiàn)的技術(shù)靈活、高效,可以大大提高視頻壓縮的速度和質(zhì)量。
注1“區(qū)域AREA”可是任意形狀的,一般情況下是圍繞待處理點(diǎn)為中心的圓形或者方形區(qū)域。
注2T1根據(jù)原始圖象上噪聲的數(shù)學(xué)模型定。通常情況下,可設(shè)置在9~100個(gè)象素內(nèi),數(shù)目過少對(duì)噪聲壓制能力有限,數(shù)目過大則計(jì)算量過大。
注3T2為T1乘以某個(gè)系數(shù)一般情況下可設(shè)為1×T1~3×T1。
注4T3與塊的大小有關(guān);一般情況下可設(shè)為1~0.25×T1。
注5T4描述的方法中T4與塊的大小有關(guān);一般情況下可設(shè)為1~0.5×T1。
注6差累加和SDΣi=0T1(Ii(m,n)-Ii′(m,n)).]]>其中i為區(qū)域T1內(nèi)的所有點(diǎn);Ii為但前幀中i位置的灰度值,I′i為原始數(shù)據(jù)參考幀中i位置的灰度值。
附圖1現(xiàn)有編碼器框圖附圖2改進(jìn)的編碼器流程圖附圖3改進(jìn)的運(yùn)動(dòng)分析及編碼流程圖附圖4運(yùn)動(dòng)分析流程圖
權(quán)利要求
1.本發(fā)明是一種提高視頻壓縮中運(yùn)動(dòng)估計(jì)速度和精度的技術(shù),其特征包括整幀象素點(diǎn)運(yùn)動(dòng)分析,即分析當(dāng)前幀的每個(gè)點(diǎn)的運(yùn)動(dòng)情況計(jì)算該點(diǎn)周圍一定“區(qū)域AREA”內(nèi)的點(diǎn)(數(shù)目為T1個(gè))與(0,0)點(diǎn)(即參考幀原始數(shù)據(jù)同一位置點(diǎn))周圍點(diǎn)的差累加和(簡(jiǎn)稱SD);如果差累加和的絕對(duì)值小于某個(gè)域值T2,則該點(diǎn)是靜止點(diǎn),否則是運(yùn)動(dòng)點(diǎn)。
2.在權(quán)利(1)中所述方法對(duì)整幀圖像運(yùn)動(dòng)分析后,整幀被分割成運(yùn)動(dòng)區(qū)域和靜止區(qū)域運(yùn)動(dòng)區(qū)域只包含運(yùn)動(dòng)點(diǎn),靜止區(qū)域只包含靜止點(diǎn);這種分割方法可以為形狀編碼提供參考信息。
3.在權(quán)利(1)中所述方法對(duì)整幀圖像運(yùn)動(dòng)分析后,統(tǒng)計(jì)每一個(gè)塊中運(yùn)動(dòng)點(diǎn)和靜止點(diǎn)的個(gè)數(shù);如果運(yùn)動(dòng)點(diǎn)個(gè)數(shù)少于某個(gè)域值T3,則判斷該塊是靜止塊,且運(yùn)動(dòng)估計(jì)以及后續(xù)的變換、量化、編碼、反量化、反變換處理都可省略;否則該塊是運(yùn)動(dòng)塊。
4.對(duì)于運(yùn)動(dòng)塊的處理有兩種方案a)用現(xiàn)有方法對(duì)該塊做運(yùn)動(dòng)估計(jì)做完運(yùn)動(dòng)估計(jì)后,對(duì)待編碼塊中的每一點(diǎn)與運(yùn)動(dòng)矢量指向的塊對(duì)應(yīng)的點(diǎn)按權(quán)利(1)中所述的方法分別求差累加和SD,判斷是否是靜止點(diǎn);統(tǒng)計(jì)該塊的中運(yùn)動(dòng)點(diǎn)的個(gè)數(shù),如果運(yùn)動(dòng)點(diǎn)個(gè)數(shù)少于某個(gè)域值T3,則判定該塊運(yùn)動(dòng)估計(jì)的結(jié)果是找到了真正的運(yùn)動(dòng)向量,否則該運(yùn)動(dòng)向量并不是該塊真正的運(yùn)動(dòng)向量;b)對(duì)于存在動(dòng)點(diǎn)個(gè)數(shù)小于T4的運(yùn)動(dòng)塊,不作運(yùn)動(dòng)估計(jì),直接在參考幀中的對(duì)應(yīng)塊和當(dāng)前待編碼塊間做運(yùn)動(dòng)補(bǔ)償,并置所有靜止點(diǎn)間的差為0,保留所有運(yùn)動(dòng)點(diǎn)所引起的差;這樣做是只編碼運(yùn)動(dòng)點(diǎn)的差值,不編碼靜止點(diǎn)間的差值。
5.在權(quán)利(1)中所述方法對(duì)整幀圖像運(yùn)動(dòng)分析后,統(tǒng)計(jì)整個(gè)圖像中運(yùn)動(dòng)點(diǎn)和靜止點(diǎn)的個(gè)數(shù),如果靜止點(diǎn)個(gè)數(shù)大于某個(gè)域值T5(或這些點(diǎn)主要分布在圖像的邊框部分),則認(rèn)為此刻獲得該幀時(shí)的鏡頭是靜止的,這種方法可作為判斷鏡頭是否運(yùn)動(dòng)或全局運(yùn)動(dòng)估計(jì)的一種方法。
6.編碼過程中,如果對(duì)于每個(gè)塊不是按上述權(quán)利代表的流程對(duì)當(dāng)前幀原始數(shù)據(jù)中的所有的點(diǎn)做處理,而只統(tǒng)計(jì)該塊與原始參考幀數(shù)據(jù)相應(yīng)塊的差累加和,進(jìn)而根據(jù)差累加和大小判斷該塊是否是靜止塊的方法,也是本發(fā)明的一種實(shí)現(xiàn)方式。
7.該技術(shù)可在整幀編碼前做,保存相應(yīng)結(jié)果,進(jìn)而在編碼每塊的過程中使用這些結(jié)果,或者在編碼每個(gè)塊前做,利用其結(jié)果指導(dǎo)每個(gè)塊的編碼。
8.該方法可以適用于各種壓縮標(biāo)準(zhǔn),適用于多參考幀情況多幀情況與單幀情況處理一樣。
9.權(quán)利(1)中所述“區(qū)域AREA”可是任意形狀的,一般情況下是圍繞待處理點(diǎn)為中心的圓形或者方形區(qū)域。
10.權(quán)利(1)描述的方法中T1根據(jù)原始圖像上噪聲的數(shù)學(xué)模型定;通常情況下可設(shè)置在9~100個(gè)象素內(nèi),數(shù)目過少對(duì)噪聲壓制能力有限,數(shù)目過大則計(jì)算量過大;差累加和SD:Σi=0T1(Ii(m,n)-Ii′(m,n)).]]>其中i為區(qū)域T1內(nèi)的所有點(diǎn);Ii為當(dāng)前幀中i位置的灰度值,I′i為原始數(shù)據(jù)參考幀中i位置的灰度值;T2為T1乘以某個(gè)系數(shù),一般情況下可設(shè)為1×T1~3×T1;權(quán)利(3)所述塊它的大小可以是32×32~2×2之間的任意大小組合。權(quán)利(3)描述的方法中T3與塊的大小有關(guān);一般情況下可設(shè)為1~0.25×T1;權(quán)利(4)描述的方法中T4與塊的大小有關(guān);一般情況下可設(shè)為1~0.5×T1;權(quán)利(5)描述的方法中T5與幀的大小有關(guān);一般情況下可設(shè)為1~0.5×整幀含有的象素點(diǎn)。
全文摘要
本發(fā)明屬于運(yùn)動(dòng)圖像編碼技術(shù)領(lǐng)域。本發(fā)明提供一種提高視頻運(yùn)動(dòng)估計(jì)速度、精度及正確性的技術(shù),尤其是在編碼有噪聲的視頻序列時(shí),編碼效率可以較大的提高。它包括兩部分一、在當(dāng)前待編碼塊做運(yùn)動(dòng)估計(jì)前判斷該塊是否需要做運(yùn)動(dòng)估計(jì),并根據(jù)判斷結(jié)果選擇后續(xù)處理方式。二、在當(dāng)前待編碼塊運(yùn)動(dòng)估計(jì)后判斷當(dāng)前運(yùn)動(dòng)估計(jì)的結(jié)果是否是正確的運(yùn)動(dòng)估計(jì)。該發(fā)明的主要特征在于在兩部分處理過程中,不是根據(jù)重建的參考幀數(shù)據(jù),而是根據(jù)參考幀的原始圖像數(shù)據(jù)中相應(yīng)位置塊和當(dāng)前幀中相應(yīng)塊的相互關(guān)系做出判斷。與現(xiàn)有的技術(shù)相比,該技術(shù)不僅具有很強(qiáng)的抗干噪聲擾性能,而且節(jié)省了大量的搜索時(shí)間,提高了壓縮比,在壓縮質(zhì)量上也有了相當(dāng)?shù)奶岣摺?br>
文檔編號(hào)H04N7/36GK1589016SQ200410056870
公開日2005年3月2日 申請(qǐng)日期2004年8月27日 優(yōu)先權(quán)日2004年8月27日
發(fā)明者楊振華, 陳越, 李長業(yè), 谷湘煜 申請(qǐng)人:北京長信嘉信息技術(shù)有限公司