專利名稱:縮放運(yùn)動(dòng)估計(jì)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及數(shù)字視頻處理,特別涉及數(shù)字視頻編碼和解碼的運(yùn)動(dòng)估計(jì)。
背景技術(shù):
數(shù)字視頻是由幀構(gòu)成。每個(gè)幀就是一個(gè)瞬時(shí)快照。為了傳送視頻,如果視頻是一幀接一幀地進(jìn)行傳輸,將涉及大量的數(shù)據(jù),并花費(fèi)較長(zhǎng)的時(shí)間。
由于每個(gè)相鄰幀可能是一個(gè)移動(dòng)物體的畫面快照,它們有很多相似性。在解碼端,如果一個(gè)幀可以由其相鄰幀而重建,而不需要傳輸其本身,那么就只需要較少的數(shù)據(jù)。
為了能夠從其相鄰幀而重建一個(gè)幀,通常需要的是該幀及其相鄰幀之間的差異。換言之,需要的是幀內(nèi)快照的運(yùn)動(dòng)??赡艿倪\(yùn)動(dòng)包括平移、縮放、旋轉(zhuǎn)、和變換。這種差異或這種運(yùn)動(dòng)由運(yùn)動(dòng)矢量來表示。這種差異或這種運(yùn)動(dòng)的確定過程即是運(yùn)動(dòng)估計(jì)?;谶\(yùn)動(dòng)估計(jì)的重建即是運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)。
幀的基本元素是像素。運(yùn)動(dòng)是以像素級(jí)而進(jìn)行估計(jì)的。例如,畫面里的物體向左移動(dòng)一個(gè)像素。但是,也有可能運(yùn)動(dòng)是子像素級(jí)的,從而有子像素運(yùn)動(dòng)估計(jì),其將運(yùn)動(dòng)估計(jì)的精度提高到子像素級(jí)。
發(fā)明概述 本發(fā)明范例的各個(gè)方面將在權(quán)利要求里進(jìn)行闡述。
大多數(shù)現(xiàn)有的和實(shí)用的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)技術(shù)都假設(shè)在視頻內(nèi)容里是純粹的平移運(yùn)動(dòng)以便進(jìn)行有效運(yùn)算??s放運(yùn)動(dòng),即縮小和放大,總是被忽略。
即使有可能在進(jìn)行運(yùn)動(dòng)估計(jì)時(shí)考慮縮放運(yùn)動(dòng),例如,使用高階運(yùn)動(dòng)模型,其包括平移、旋轉(zhuǎn)和縮放運(yùn)動(dòng),但由于復(fù)雜程度較高而不太實(shí)用。高階運(yùn)動(dòng)模型包括諸如仿射、透視、多項(xiàng)式和彈性模型。所有這些高階運(yùn)動(dòng)模型都需要進(jìn)行仿射參數(shù)估計(jì),但在實(shí)際應(yīng)用里,其高復(fù)雜性限制了這些高階運(yùn)動(dòng)模型的使用。
除了計(jì)算的復(fù)雜程度較高,如果這些高階運(yùn)動(dòng)模型被用來產(chǎn)生多個(gè)基準(zhǔn)幀作為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)候選幀,其仿真平移運(yùn)動(dòng)和縮放運(yùn)動(dòng),將會(huì)出現(xiàn)另一個(gè)問題,即需要大型存儲(chǔ)器或緩沖器來存儲(chǔ)這些基準(zhǔn)幀。結(jié)果,這種對(duì)大型存儲(chǔ)器的要求使得使用高階運(yùn)動(dòng)模型來產(chǎn)生多個(gè)基準(zhǔn)幀的方法在實(shí)際應(yīng)用中不太可行。
至于本發(fā)明,除其它運(yùn)動(dòng)類型之外,運(yùn)動(dòng)估計(jì)考慮了縮放運(yùn)動(dòng)通過在抽樣內(nèi)插幀上進(jìn)行匹配,實(shí)施運(yùn)動(dòng)估計(jì),抽樣內(nèi)插幀是在傳統(tǒng)混合視頻編碼結(jié)構(gòu)上進(jìn)行子像素運(yùn)動(dòng)估計(jì)而產(chǎn)生的。在區(qū)塊匹配里專門設(shè)計(jì)的抽樣模式被用來實(shí)現(xiàn)平移和縮放運(yùn)動(dòng)估計(jì)和補(bǔ)償。因此,在編碼器實(shí)施里不需要縮放參數(shù)估計(jì)和額外的幀緩沖器。解碼器的復(fù)雜性類似于支持子像素運(yùn)動(dòng)補(bǔ)償?shù)膫鹘y(tǒng)混合視頻編解碼器。對(duì)存儲(chǔ)器的要求和計(jì)算復(fù)雜性較低,使得本發(fā)明能夠提供一個(gè)實(shí)用的解決方案。
通過合并平移和縮放運(yùn)動(dòng)分量,結(jié)果運(yùn)動(dòng)補(bǔ)償能夠有效地處理更多的實(shí)際運(yùn)動(dòng)。此外,基于子像素運(yùn)動(dòng)估計(jì)的內(nèi)插幀,進(jìn)行區(qū)塊匹配,更普通的運(yùn)動(dòng)模型可以被輕易且有效地應(yīng)用在現(xiàn)有的視頻編碼架構(gòu)內(nèi)。
本應(yīng)用提供一個(gè)不需要仿射參數(shù)估計(jì)和不需要存儲(chǔ)其他基準(zhǔn)幀的額外存儲(chǔ)器的發(fā)明。使用子像素運(yùn)動(dòng)估計(jì)內(nèi)插值,預(yù)設(shè)縮放參數(shù)。從而輔助信息達(dá)到最小。
利用高級(jí)視頻編碼標(biāo)準(zhǔn)如MPEG-4和H.264/AVC,采用子像素運(yùn)動(dòng)估計(jì)。因此,在許多商用視頻編碼標(biāo)準(zhǔn)里,內(nèi)插幀是容易獲得的,其提供如下的優(yōu)勢(shì)第一,不需要額外存儲(chǔ)器來存儲(chǔ)縮放基準(zhǔn)幀;第二,容易將本應(yīng)用里的發(fā)明整合到商用視頻編碼標(biāo)準(zhǔn)里。
依照本發(fā)明的典型實(shí)施例,提供一個(gè)方法和一個(gè)裝置,其以一個(gè)或多個(gè)選擇的抽樣率抽樣一個(gè)內(nèi)插幀來產(chǎn)生一個(gè)或多個(gè)縮放基準(zhǔn)幀;將一個(gè)幀與縮放基準(zhǔn)幀進(jìn)行匹配;和確定一個(gè)或多個(gè)運(yùn)動(dòng)數(shù)據(jù)。
將參照以下附圖,詳細(xì)描述本發(fā)明的其它目的、方面和實(shí)施例,其中 圖1是顯示本發(fā)明典型實(shí)施例的一個(gè)方法的流程圖; 圖2A描述一個(gè)典型實(shí)施例的一個(gè)內(nèi)插幀的一部分; 圖2B描述依照一個(gè)典型實(shí)施例如何進(jìn)行匹配; 圖3A到3C描述依照本發(fā)明的非限制性實(shí)施例以圖1的不同的所選抽樣率進(jìn)行抽樣的一個(gè)典型應(yīng)用。
圖4A到4C描述依照本發(fā)明的非限制性實(shí)施例的基準(zhǔn)幀的一個(gè)典型應(yīng)用。
圖5是適合使用本發(fā)明典型實(shí)施例的一個(gè)裝置的簡(jiǎn)化模塊圖; 圖6是描述本發(fā)明的一個(gè)典型實(shí)施例可以用于一個(gè)典型編碼器系統(tǒng)里的模塊圖。
圖7是描述本發(fā)明的一個(gè)典型實(shí)施例可以用于一個(gè)典型解碼器系統(tǒng)里的模塊圖。
發(fā)明詳述 通過參照附圖1到3,將會(huì)理解本發(fā)明的典型實(shí)施例及其潛在優(yōu)勢(shì)。
圖1是顯示本發(fā)明典型實(shí)施例的一個(gè)方法的流程圖。以下步驟/過程/運(yùn)算將被執(zhí)行(模塊110)以一個(gè)或多個(gè)選擇的抽樣率抽樣一個(gè)內(nèi)插幀以產(chǎn)生一個(gè)或多個(gè)縮放基準(zhǔn)幀;(模塊120)將一個(gè)幀與縮放基準(zhǔn)幀進(jìn)行匹配;和(模塊130)確定運(yùn)動(dòng)數(shù)據(jù)。
依照一個(gè)典型實(shí)施例,內(nèi)插幀可以由但不限于任何插補(bǔ)幀技術(shù)來生成,插補(bǔ)的幀將被至少一個(gè)其它幀引用。另外,內(nèi)插因子(interpolationfactor)不限于任何數(shù)目。內(nèi)插是基于一個(gè)幀內(nèi)相鄰像素上的數(shù)值而近似估計(jì)像素的顏色和強(qiáng)度。如果內(nèi)插因子是S,則幀的尺寸在水平和垂直方向上將被放大S倍,例如,一個(gè)2×2的幀將變成一個(gè)2S×2S的幀。通常,有兩類算法來執(zhí)行插值法,即自適應(yīng)和非自適應(yīng)。自適應(yīng)算法(adaptivealgorithm)讓插值隨著它們插補(bǔ)邊緣或平滑紋理而變化。自適應(yīng)算法包括使用概率神經(jīng)網(wǎng)絡(luò)、非線性四階方法等。非自適應(yīng)算法(non-adaptivealgorithm)平等對(duì)待所有的像素,不管是邊緣銳利或紋理平滑。非自適應(yīng)算法包括近鄰法(nearest neighbor)、雙線性法(bilinear)、雙三次法(bicubic)、樣條法(spline)、sinc法、lanczos法等。其中一些是高階插值,如spline和sinc,由此保留大部分的圖像信息,因?yàn)榭紤]了較多的相鄰像素。但是,考慮相鄰像素越多,插值的計(jì)算強(qiáng)度就越大。在一個(gè)優(yōu)選實(shí)施例里,例如在H.264的例子里,通過使用維納(Wiener)而設(shè)計(jì)了內(nèi)插濾波器(interpolation filter),使得最有效的濾波器核心是基于統(tǒng)計(jì)結(jié)果來確定的。
依照一個(gè)典型實(shí)施例,內(nèi)插幀是由子像素運(yùn)動(dòng)估計(jì)提供,子像素運(yùn)動(dòng)估計(jì)已經(jīng)用于高級(jí)視頻編碼標(biāo)準(zhǔn)如MPEG-4和H.264/AVC。對(duì)于子像素運(yùn)動(dòng)估計(jì),具有子像素精度的運(yùn)動(dòng)估計(jì)是通過插值法得以實(shí)現(xiàn)的。因此,內(nèi)插幀是通過子像素運(yùn)動(dòng)估計(jì)提供,不需要其他過程。
圖2A描述一個(gè)典型實(shí)施例的一個(gè)內(nèi)插幀的一部分。在圖2A內(nèi),圓點(diǎn),如點(diǎn)210,表示基準(zhǔn)幀的原始像素。在另一個(gè)實(shí)施例里,點(diǎn)210表示緣由基準(zhǔn)幀的像素,其已經(jīng)通過圖像處理技術(shù)如低通濾波進(jìn)行處理過,這些像素也被看作是處理過的像素。在插值之后,內(nèi)插像素就從原始像素或處理像素而產(chǎn)生了,三角點(diǎn)如點(diǎn)220表示內(nèi)插像素。在此例子里,內(nèi)插因子是4,從而原始基準(zhǔn)幀的尺寸被放大4倍,意味著每個(gè)1×1的像素被內(nèi)插像素填補(bǔ)而變成一個(gè)4×4的區(qū)塊。
在子像素運(yùn)動(dòng)估計(jì)的例子里,子像素運(yùn)動(dòng)估計(jì)的子像素精度和內(nèi)插因子之間的關(guān)系是1/S-像素的精度需要一個(gè)內(nèi)插因子S。因此,對(duì)1/S-像素精度的運(yùn)動(dòng)估計(jì),具有內(nèi)插因子S的內(nèi)插幀是容易獲得的。
圖2B描述一個(gè)典型實(shí)施例的如何進(jìn)行匹配。匹配是為當(dāng)前幀找到基準(zhǔn)幀內(nèi)最匹配區(qū)塊。當(dāng)前幀是一個(gè)將由一個(gè)或多個(gè)基準(zhǔn)幀和運(yùn)動(dòng)數(shù)據(jù)來表示的幀。當(dāng)前幀被分成任意尺寸的區(qū)塊,如4×4,8×8,16×16,32×32,64×64,4×8,8×4,16×8,或8×16。區(qū)塊尺寸在整個(gè)幀內(nèi)可以是固定的,也可以根據(jù)在幀內(nèi)的移動(dòng)區(qū)域是可變的。在此例子里,區(qū)塊尺寸是4×4,匹配的完成是通過比較當(dāng)前幀的每個(gè)區(qū)塊(圖中未顯示),如區(qū)塊230,和基準(zhǔn)幀的每個(gè)區(qū)塊(圖中未顯示),如區(qū)塊240。如果區(qū)塊尺寸是可變的,例如在具有可變區(qū)塊尺寸特征的H.264的例子里,選擇區(qū)塊尺寸(模式選擇)是通過率失真優(yōu)化(rate-distortion optimization)來確定的。本發(fā)明的一個(gè)方面是對(duì)每個(gè)模式提供一個(gè)更準(zhǔn)確的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)。
匹配是在不同區(qū)塊內(nèi)逐個(gè)像素地比較像素值,如強(qiáng)度值。區(qū)塊230內(nèi)的每個(gè)黑圓點(diǎn)將與區(qū)塊240內(nèi)的每個(gè)黑三角點(diǎn)進(jìn)行比較。通常,比較可以通過任何算法完成,不限于平方差值和(SSD)、絕對(duì)差值和(SAD)、或變換絕對(duì)差值和(SATD)。在此例子里,計(jì)算區(qū)塊230內(nèi)的每個(gè)像素的強(qiáng)度值和區(qū)塊240內(nèi)的每個(gè)像素的強(qiáng)度值之間的絕對(duì)差,然后加總而獲得一個(gè)絕對(duì)差的和。最佳匹配是通過在基準(zhǔn)幀內(nèi)進(jìn)行搜索而確定,當(dāng)與當(dāng)前幀內(nèi)的區(qū)塊230進(jìn)行比較時(shí),沿著水平和垂直軸移位子像素位置來找出一個(gè)具有最小絕對(duì)差值和的區(qū)塊。
設(shè)定
是時(shí)間和空間上初始連續(xù)的動(dòng)態(tài)畫面,視頻序列fn(s)是在時(shí)間和空間上依照Nyquist準(zhǔn)則進(jìn)行抽樣之后的畫面。則意味著對(duì)整數(shù)格點(diǎn)位置,F(xiàn)n(s)=fn(s),s∈Z2。在進(jìn)行子像素匹配時(shí),運(yùn)動(dòng)數(shù)據(jù)的一個(gè)例子,運(yùn)動(dòng)矢量被確定如下 其中
不限于是整數(shù)矢量分量。實(shí)際上,在子像素精度位置
上的像素值可以由
的插值獲得以達(dá)到更高的預(yù)測(cè)性能。
假設(shè)區(qū)塊240是最佳匹配的區(qū)塊,那么運(yùn)動(dòng)矢量是(13/4,21/4),其是指最佳匹配區(qū)塊240和當(dāng)前區(qū)塊230之間的水平軸位移等于13/4,而最佳匹配區(qū)塊240和當(dāng)前區(qū)塊230之間的垂直軸位移等于21/4。
圖3A到3C描述本發(fā)明非限制性實(shí)施例的以圖1的選擇的不同抽樣率進(jìn)行內(nèi)插幀抽樣的典型應(yīng)用。為了產(chǎn)生縮放基準(zhǔn)幀用于仿真縮小和放大運(yùn)動(dòng),匹配是以選擇的抽樣率進(jìn)行內(nèi)插幀抽樣的方式來實(shí)施。縮放因子是指內(nèi)插因子S除以抽樣率,并且縮放因子確定縮放基準(zhǔn)幀是表示一個(gè)縮小運(yùn)動(dòng)還是表示一個(gè)放大運(yùn)動(dòng)。如果縮放因子小于1,縮放基準(zhǔn)幀是一個(gè)有放大運(yùn)動(dòng)的基準(zhǔn)幀。如果縮放因子大于1,縮放基準(zhǔn)幀是一個(gè)有縮小運(yùn)動(dòng)的基準(zhǔn)幀。如果縮放因子等于1,縮放基準(zhǔn)幀是一個(gè)沒有任何縮放運(yùn)動(dòng)的基準(zhǔn)幀。
圖3A顯示一個(gè)典型實(shí)施例的區(qū)塊尺寸等于4×4和抽樣率等于1。換言之,在水平和垂直方向上以每1個(gè)子像素的速率進(jìn)行抽樣。在4×4個(gè)像素被抽樣之后,產(chǎn)生4×4基準(zhǔn)區(qū)塊。按照位置標(biāo)識(shí),在(x,y),(x+1n,y),(x,y+1n),(x+1n,y+1n)上的像素被抽樣,其中n是一個(gè)從1到3的整數(shù)。在基準(zhǔn)區(qū)塊315里,被抽樣的像素是由黑點(diǎn)表示?;鶞?zhǔn)區(qū)塊315與當(dāng)前區(qū)塊310內(nèi)的黑點(diǎn)進(jìn)行比較。在此例子里,縮放因子等于4,從而通過抽樣內(nèi)插幀而產(chǎn)生的縮放基準(zhǔn)幀就表示一個(gè)縮小運(yùn)動(dòng)。
圖3B顯示一個(gè)典型實(shí)施例的區(qū)塊尺寸等于4×4和抽樣率等于3。換言之,在水平和垂直方向上以每3個(gè)子像素的速率進(jìn)行抽樣。在4×4個(gè)像素被抽樣之后,產(chǎn)生4×4的基準(zhǔn)區(qū)塊。按照位置標(biāo)識(shí),在(x,y),(x+3n,y),(x,y+3n),(x+3n,y+3n)上的像素被抽樣,其中n是一個(gè)從1到3的整數(shù)。在基準(zhǔn)區(qū)塊325里,被抽樣的像素是由黑點(diǎn)表示?;鶞?zhǔn)區(qū)塊325與當(dāng)前區(qū)塊320里的黑點(diǎn)進(jìn)行比較。在此例子里,縮放因子等于4/3,從而通過抽樣內(nèi)插幀而產(chǎn)生的縮放基準(zhǔn)幀就表示一個(gè)縮小運(yùn)動(dòng)。
圖3C顯示一個(gè)典型實(shí)施例的區(qū)塊尺寸等于4×4和抽樣率等于5。換言之,在水平和垂直方向上以每5個(gè)子像素的速率進(jìn)行抽樣。在4×4個(gè)像素被抽樣之后,產(chǎn)生4×4的基準(zhǔn)區(qū)塊。按照位置指址,在(x,y),(x+5n,y),(x,y+5n),(x+5n,y+5n)上的像素被抽樣,其中n是一個(gè)從1到3的整數(shù)。在基準(zhǔn)區(qū)塊335里,被抽樣的像素是由黑點(diǎn)表示?;鶞?zhǔn)區(qū)塊335與當(dāng)前區(qū)塊330里的黑點(diǎn)進(jìn)行比較。在此例子里,縮放因子等于4/5,從而通過抽樣內(nèi)插幀而產(chǎn)生的縮放基準(zhǔn)幀就表示一個(gè)放大運(yùn)動(dòng)。
通常,一個(gè)臨時(shí)基準(zhǔn)幀可以通過一個(gè)內(nèi)插因子S進(jìn)行插值,其不需要是子像素運(yùn)動(dòng)估計(jì)精度。但是,假如內(nèi)插因子S等于子像素運(yùn)動(dòng)估計(jì)精度,并且已經(jīng)通過子像素運(yùn)動(dòng)估計(jì)進(jìn)行插值,那么不需要重復(fù)進(jìn)行插值,隨時(shí)都有內(nèi)插幀。此外,對(duì)子像素運(yùn)動(dòng)估計(jì),內(nèi)插幀有最大的分辨率,其在水平和垂直尺寸上比原始的臨時(shí)基準(zhǔn)幀大S倍。此內(nèi)插幀可以被看作是一個(gè)具有縮放因子S的縮小幀。然后,一組更低分辨率的幀能夠以不同抽樣率從最大分辨率的幀而獲得。對(duì)縮放應(yīng)用,相同的抽樣率被施加到水平和垂直尺寸。因此,得出的一組縮放基準(zhǔn)幀的相應(yīng)水平或垂直分辨率的范圍是從S到S/M,可能的縮放因子由以下提供{S/1,S/2,S/3,...,S/j,...,S/M}(2) 其中j是抽樣率,而M是最大抽樣率。對(duì)j<S,縮放基準(zhǔn)幀是縮小幀。對(duì)j>S,縮放基準(zhǔn)幀是放大幀。在一個(gè)優(yōu)選實(shí)施例里,不需要使用等式(2)提供的所有縮放因子,因?yàn)檫@將產(chǎn)生沉重的負(fù)擔(dān)給運(yùn)動(dòng)估計(jì)。期望有一個(gè)更小范圍的縮放因子而獲得更好的預(yù)測(cè)效果,特別是由于對(duì)一個(gè)具有連續(xù)運(yùn)動(dòng)的視頻序列在一個(gè)短時(shí)間周期內(nèi)縮放因子將不會(huì)有很大變化。對(duì)一個(gè)給定數(shù)字N1縮小因子和N2放大因子,我們應(yīng)該選擇以下組的縮放因子 如果子像素運(yùn)動(dòng)估計(jì)精度是1/s-像素,設(shè)置S=s,最大分辨率的縮小幀將是在水平和垂直方向上具有s倍的分辨率。對(duì)1/4-像素運(yùn)動(dòng)估計(jì)里的例子,可以選擇S=s=4。如果縮小和放大因子的數(shù)字被選擇是2(N1=N2=2),基于等式(3),縮放因子的推薦組合是{2,4/3,1,4/5,2/3}(4) 通常,一個(gè)臨時(shí)基準(zhǔn)幀可以通過一個(gè)因子S進(jìn)行插值,其可能與子像素運(yùn)動(dòng)估計(jì)精度相同,也可能不同。其中選擇的抽樣率大約是非縮放抽樣率以及額外兩個(gè)縮小和兩個(gè)放大級(jí)別。
圖4A到4C描述本發(fā)明非限制性實(shí)施例的基準(zhǔn)幀的典型使用。圖4A顯示僅使用臨時(shí)基準(zhǔn)幀415來編碼當(dāng)前幀410。產(chǎn)生臨時(shí)基準(zhǔn)幀415就是用來逼近視頻里其它瞬時(shí)上的幀,用于進(jìn)行運(yùn)動(dòng)預(yù)測(cè)。圖4B顯示僅使用縮放基準(zhǔn)幀425來編碼當(dāng)前幀420。該縮放基準(zhǔn)幀425就是用來逼近縮放運(yùn)動(dòng)用于進(jìn)行運(yùn)動(dòng)預(yù)測(cè)而產(chǎn)生的幀。各種縮放因子被用來產(chǎn)生表示縮小和放大運(yùn)動(dòng)的縮放基準(zhǔn)幀425。圖4C顯示使用縮放基準(zhǔn)幀432和臨時(shí)基準(zhǔn)幀431來編碼當(dāng)前幀430。對(duì)一個(gè)或多個(gè)臨時(shí)基準(zhǔn)幀431,產(chǎn)生縮放基準(zhǔn)幀432。產(chǎn)生的縮放基準(zhǔn)幀越多,計(jì)算復(fù)雜性將會(huì)越高。
在本發(fā)明的另一個(gè)實(shí)施例里,為了與H.264/AVC集成在一起,由空間位移、基準(zhǔn)幀和縮放因子組成的運(yùn)動(dòng)矢量需要進(jìn)行編碼,然后被傳輸?shù)浇獯a器。作為一個(gè)典型實(shí)施例,縮放因子被編碼為一個(gè)獨(dú)立參數(shù),類似于在H.264里的基準(zhǔn)幀數(shù)目。
由于縮放因子被看作是縮放幀的選擇,縮放因子與基準(zhǔn)幀數(shù)目可以嵌在一起,使得比特流句法與H.264相同,但是有不同含義的基準(zhǔn)幀參數(shù)。例如,通過將基準(zhǔn)幀數(shù)目偏移16,如以下表1所示,縮放參數(shù)與基準(zhǔn)幀數(shù)目集成在一起,以獲得一個(gè)新的基準(zhǔn)幀參數(shù)。編碼器和解碼器從這個(gè)新的基準(zhǔn)幀參數(shù)提取出基準(zhǔn)幀數(shù)目和縮放參數(shù)。在這個(gè)例子里,通過將基準(zhǔn)幀數(shù)目偏移16,將縮放參數(shù)與基準(zhǔn)幀數(shù)目集成在一起,當(dāng)然也不限于16,也可以使用任何其它數(shù)值作為一個(gè)偏移。偏移值的確定取決于各種視頻編碼標(biāo)準(zhǔn)之間不同的非縮放基準(zhǔn)幀的范圍。
表1利用集成的縮放因子信息而產(chǎn)生新基準(zhǔn)幀參數(shù)
在H.264/AVC里,率失真優(yōu)化運(yùn)動(dòng)搜索是通過最小化Lagrangian成本函數(shù)來實(shí)施 其中λmotion是在H.264/AVC里使用的運(yùn)動(dòng)搜索的Lagrangian乘子,而R(a,m,v)是與一個(gè)特別選用的運(yùn)動(dòng)矢量有關(guān)的比特率。每個(gè)區(qū)塊模式(各個(gè)子區(qū)塊尺寸的幀間模式、幀內(nèi)模式等)的運(yùn)動(dòng)矢量(a,m,v)是具有最低Lagrangian成本的那個(gè)模式。
另外,在諸如H.264/AVC的混和視頻編碼系統(tǒng)里,內(nèi)插幀是以這樣的方式產(chǎn)生,即內(nèi)插幀的半樣本位置是通過水平和垂直地施加一個(gè)一維6抽頭的FIR濾波器獲得。在1/4-樣本、1/8-樣本等上的像素值是通過整數(shù)-和半-樣本位置的雙線性插值而產(chǎn)生。
同樣注意到,當(dāng)增加時(shí)間基準(zhǔn)幀的時(shí)間窗口時(shí)考慮增加縮放基準(zhǔn)幀,縮放幀指數(shù)與H.264/AVC比特流的幀數(shù)目參數(shù)嵌在一起,并且有必要確保臨時(shí)基準(zhǔn)幀和縮放基準(zhǔn)幀的和不應(yīng)該超出H.264/AVC支持的基準(zhǔn)幀的最大數(shù)目。
例如,通過將原始幀數(shù)目偏移{0,16,32,48,64},基準(zhǔn)幀的縮放因子可以被嵌入到幀數(shù)目,以分別表示基準(zhǔn)幀的縮放參數(shù){0,1,2,3,4}符合H.264/AVC,其通常支持高達(dá)16個(gè)基準(zhǔn)幀,并允許添加新的參數(shù),而不會(huì)改變比特流的句法。例如,如果實(shí)施本發(fā)明到H.264/AVC的1/8-子像素運(yùn)動(dòng)估計(jì)精度(S=s=8),有兩個(gè)縮放幀,每個(gè)縮小和放大因子N1=N2=2,然后基于等式(3),將使用以下組合的縮放因子{4/3,8/7,1,8/9,4/5}(6) 為了利用偏移基準(zhǔn)幀的縮放參數(shù)來表示這些縮放因子,這些實(shí)際的縮放因子在編解碼器里很難被編碼,如表2所示表2在一個(gè)典型實(shí)施例里的縮放參數(shù)的設(shè)定及其相關(guān)數(shù)值
注意到,在進(jìn)行抽樣之前,也可以施加低通濾波到內(nèi)插幀以降低混疊效應(yīng)(aliasing effect)。是否進(jìn)行低通濾波由以下因素來確定,諸如計(jì)算成本、產(chǎn)生的預(yù)測(cè)候選幀數(shù)目、和包括將在殘差編碼階段被吸收的混疊的預(yù)測(cè)誤差。
還要注意到,與現(xiàn)有的編解碼器相比,如果內(nèi)插幀的分辨率高于H.264/AVC編解碼器里常用的1/4或1/8像素幀的分辨率,可以采用額外的存儲(chǔ)器。在此情況下,對(duì)每個(gè)基準(zhǔn)幀,對(duì)一個(gè)內(nèi)插幀,需要額外存儲(chǔ)器。
圖5是適合使用本發(fā)明典型實(shí)施例的一個(gè)裝置的簡(jiǎn)化模塊示意圖。存儲(chǔ)器510可以是適合本地技術(shù)環(huán)境的任何類型,可以使用任何合適的數(shù)據(jù)存儲(chǔ)技術(shù),如半導(dǎo)體存儲(chǔ)器設(shè)備、磁存儲(chǔ)器設(shè)備和系統(tǒng)、光學(xué)存儲(chǔ)器設(shè)備和系統(tǒng)、固定存儲(chǔ)器和可移動(dòng)存儲(chǔ)器。為了便于描述本發(fā)明,存儲(chǔ)器可以被看作是一個(gè)計(jì)算機(jī)可讀媒質(zhì)。
數(shù)據(jù)處理器520可以是適合本地技術(shù)環(huán)境的任何類型,可能包括一個(gè)或多個(gè)通用計(jì)算機(jī)、微處理器、數(shù)字信號(hào)處理器(DSP)和基于單核處理器架構(gòu)或多核處理器架構(gòu)的處理器。
數(shù)據(jù)處理器520能夠接收來自任何裝置(圖中未顯示)的輸入視頻信號(hào),如任何無(wú)線和有線通信信道或任何存儲(chǔ)設(shè)備如磁驅(qū)動(dòng)器、光盤、固態(tài)設(shè)備等。數(shù)據(jù)處理器520處理本發(fā)明各個(gè)非限制性實(shí)施例描述的數(shù)據(jù)。通過以一個(gè)或多個(gè)選擇的抽樣率抽樣一個(gè)內(nèi)插幀來產(chǎn)生一個(gè)或多個(gè)縮放基準(zhǔn)幀、將一個(gè)幀與縮放基準(zhǔn)幀進(jìn)行匹配,數(shù)據(jù)處理器確定運(yùn)動(dòng)數(shù)據(jù)。該處理過程是利用預(yù)設(shè)參數(shù)或使用存儲(chǔ)在存儲(chǔ)器510內(nèi)的程序自動(dòng)執(zhí)行,以控制和輸入所涉及的參數(shù),從而程序發(fā)送控制信號(hào)或數(shù)據(jù)531到數(shù)據(jù)處理器520。雖然數(shù)據(jù)處理器520也使用存儲(chǔ)器510來保留中間數(shù)據(jù)或輸出532,如內(nèi)插幀或多個(gè)基準(zhǔn)幀。此外,存儲(chǔ)在存儲(chǔ)器510內(nèi)的程序可以訪問任何輸出532,以便數(shù)據(jù)處理器510需要進(jìn)行進(jìn)一步的處理,也可以通過任何裝置(圖中未顯示)如通信信道或存儲(chǔ)器設(shè)備發(fā)送輸出532到其它設(shè)備或處理器。
圖6是描述本發(fā)明一個(gè)典型實(shí)施例可以用于一個(gè)典型編碼器系統(tǒng)的模塊圖。輸入視頻信號(hào)610由運(yùn)動(dòng)估計(jì)模塊670進(jìn)行處理,其考慮縮放運(yùn)動(dòng)和平移運(yùn)動(dòng)。運(yùn)動(dòng)估計(jì)模塊670使用來自子像素運(yùn)動(dòng)估計(jì)的內(nèi)插幀以產(chǎn)生縮放基準(zhǔn)幀。運(yùn)動(dòng)估計(jì)模塊670使用來自緩沖器635的多個(gè)臨時(shí)基準(zhǔn)幀。插值被施加到存儲(chǔ)在緩沖器635內(nèi)的幀以產(chǎn)生內(nèi)插幀。在緩沖器635內(nèi)的這些臨時(shí)基準(zhǔn)幀也充當(dāng)輸出視頻信號(hào),因?yàn)樗鼈儽硎疽曨l里不同瞬時(shí)的幀。在被存儲(chǔ)到緩沖器635內(nèi)之前,這些臨時(shí)基準(zhǔn)幀是通過模塊620進(jìn)行處理,如變換、縮放比例和量化以便獲得參數(shù)615,如量化系數(shù)和轉(zhuǎn)換系數(shù),并需要隨后通過模塊630進(jìn)行處理,如縮放、逆變換或去量化以及通過去塊濾波器640進(jìn)行去塊。
從運(yùn)動(dòng)估計(jì)模塊670獲得的運(yùn)動(dòng)數(shù)據(jù)625和參數(shù)615如量化系數(shù)是通過熵編碼模塊680進(jìn)行處理。幀內(nèi)預(yù)測(cè)模塊650和運(yùn)動(dòng)補(bǔ)償模塊660分別被用來進(jìn)行幀內(nèi)預(yù)測(cè)和幀間預(yù)測(cè)。運(yùn)動(dòng)補(bǔ)償模塊接收來自運(yùn)動(dòng)估計(jì)模塊670的運(yùn)動(dòng)數(shù)據(jù)625以及來自緩沖器635的多個(gè)臨時(shí)基準(zhǔn)幀。在幀內(nèi)預(yù)測(cè)和幀間預(yù)測(cè)之后,提供輸出以便在模塊620和630內(nèi)進(jìn)行處理,如縮放、量化和去量化、變換和逆變換。
圖7是描述本發(fā)明一個(gè)典型實(shí)施例可以用于一個(gè)典型解碼器系統(tǒng)的模塊圖。在解碼器端,解碼器接收到的輸入信號(hào)是通過熵解碼710進(jìn)行解碼。在熵解碼710進(jìn)行處理之后,被解碼的信號(hào)是通過去量化和逆變煥720進(jìn)行處理。為了獲得被解碼的幀770,使用解碼幀770作為基準(zhǔn)幀740進(jìn)行平移和縮放運(yùn)動(dòng)補(bǔ)償730。由去量化和逆變換720得出的信號(hào)與來自平移和縮放運(yùn)動(dòng)補(bǔ)償730或幀內(nèi)預(yù)測(cè)750的輸出一起被處理以產(chǎn)生一個(gè)處理信號(hào)。處理信號(hào)還通過濾波器760進(jìn)行處理,并用于進(jìn)行幀內(nèi)預(yù)測(cè)750。在通過濾波器760進(jìn)行濾波之后,產(chǎn)生一個(gè)被解碼的幀770。
沒有以任何方式限制范圍,以下權(quán)利要求的闡述和應(yīng)用,在此披露的一個(gè)或多個(gè)典型實(shí)施例的技術(shù)效果是使具有縮放運(yùn)動(dòng)和平移運(yùn)動(dòng)的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)在實(shí)際應(yīng)用中更合理可行。在此披露的一個(gè)或多個(gè)典型實(shí)施例的另一個(gè)技術(shù)效果是通過由子像素精度運(yùn)動(dòng)估計(jì)抽樣內(nèi)插幀來獲得縮放基準(zhǔn)幀以降低存儲(chǔ)器要求和計(jì)算復(fù)雜性。在此披露的一個(gè)或多個(gè)典型實(shí)施例的另一個(gè)技術(shù)效果是降低了比特率。本發(fā)明提供一種技術(shù)來執(zhí)行更精確的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)。當(dāng)運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)更精確時(shí),預(yù)測(cè)的區(qū)塊將更加類似于原始區(qū)塊,并且它們之間的差異將會(huì)更小。由于剩余編碼通過變換編碼對(duì)預(yù)測(cè)區(qū)塊和原始區(qū)塊之間的差異進(jìn)行編碼,越小差異需要越少的比特來進(jìn)行編碼,從而可以節(jié)省比特,并降低比特率。
此外,通過在運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)時(shí)使用交替子抽樣策略,本發(fā)明披露的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)技術(shù)還可應(yīng)用到高階運(yùn)動(dòng)模型如仿射、透視、多項(xiàng)式和彈性模型。
通常,本裝置的各個(gè)實(shí)施例可以包括但不限于蜂窩電話和其它無(wú)線通信設(shè)備、個(gè)人數(shù)字助理(PDA)、便攜式和臺(tái)式計(jì)算機(jī)、圖像攝取設(shè)備如數(shù)碼相機(jī)、音頻視頻(AV)設(shè)備如視頻播放器、游戲設(shè)備、允許訪問和瀏覽的互聯(lián)網(wǎng)和局域網(wǎng)(LAN)設(shè)備、以及集成這種功能組合的便攜式單元或設(shè)備。
本發(fā)明實(shí)施例可以以軟件、硬件、應(yīng)用邏輯或軟件、硬件和應(yīng)用邏輯的組合來實(shí)施。軟件、應(yīng)用邏輯和/或硬件可以位于集成電路芯片、模塊或存儲(chǔ)器上。如果期望的話,軟件、應(yīng)用邏輯和/或硬件的部分可以位于集成電路芯片上,軟件、應(yīng)用邏輯和/或硬件的部分可以位于模塊上,軟件、應(yīng)用邏輯和/或硬件的部分可以位于存儲(chǔ)器上。在一個(gè)典型實(shí)施例里,應(yīng)用邏輯、軟件或指令組保留在任何一個(gè)各種傳統(tǒng)的計(jì)算機(jī)可讀媒質(zhì)上。在本發(fā)明的上下文里,“計(jì)算機(jī)可讀媒質(zhì)”可以是任何媒質(zhì)或裝置,其能夠保留、存儲(chǔ)、傳送、傳播或傳輸指令給一個(gè)指令執(zhí)行系統(tǒng)、裝置或設(shè)備如計(jì)算機(jī)進(jìn)行使用或與其聯(lián)系,如圖5內(nèi)所述的計(jì)算機(jī)的例子。計(jì)算機(jī)可讀媒質(zhì)可以包含一個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì),其可以是任何媒質(zhì)或裝置,其能夠保留或存儲(chǔ)指令給一個(gè)指令執(zhí)行系統(tǒng)、裝置或設(shè)備如計(jì)算機(jī)進(jìn)行使用或與其進(jìn)行聯(lián)系。
如果期望的話,在此所述的不同函數(shù)可以以不同階和/或互相并行的方式運(yùn)行。此外,如果期望的話,一個(gè)或多個(gè)上述函數(shù)可以是選擇性的或可以被合并。
盡管在所附權(quán)利要求里闡述了本發(fā)明的各個(gè)方面,但本發(fā)明的其它方面包含所述實(shí)施例和/或具有獨(dú)立權(quán)利要求特征的從屬權(quán)利要求的特征的其它組合,而不僅僅限于在權(quán)利要求里明確闡述的組合。
在此也將注意到,盡管以上已經(jīng)描述了本發(fā)明的典型實(shí)施例,但這些描述不應(yīng)該以一個(gè)限制性的方式進(jìn)行理解。相反,可以對(duì)其作出一些改變和修改,而不會(huì)脫離在所附權(quán)利要求里所定義的本發(fā)明范圍。
權(quán)利要求
1.一種方法,包括
以一個(gè)或多個(gè)選擇的抽樣率抽樣一個(gè)內(nèi)插幀以產(chǎn)生一個(gè)或多個(gè)縮放基準(zhǔn)幀;
將一個(gè)幀與縮放基準(zhǔn)幀進(jìn)行匹配;和
確定一個(gè)或多個(gè)運(yùn)動(dòng)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其中內(nèi)插幀是通過插值而獲得。
3.根據(jù)權(quán)利要求1所述的方法,其中內(nèi)插幀是由一個(gè)子像素運(yùn)動(dòng)估計(jì)提供。
4.根據(jù)權(quán)利要求1所述的方法,其中選擇的抽樣率是由確定,其中S等于內(nèi)插因子,N1等于縮小級(jí)數(shù)目,而N2等于放大級(jí)數(shù)目。
5.根據(jù)權(quán)利要求1所述的方法,還包括低通濾波內(nèi)插幀。
6.根據(jù)權(quán)利要求1所述的方法,還包括將一個(gè)幀與一個(gè)或多個(gè)臨時(shí)基準(zhǔn)幀匹配。
7.根據(jù)權(quán)利要求1所述的方法,在編碼器上執(zhí)行。
8.根據(jù)權(quán)利要求1所述的方法,在解碼器上執(zhí)行。
9.根據(jù)權(quán)利要求1所述的方法,在一個(gè)無(wú)線通信設(shè)備上執(zhí)行。
10.一個(gè)裝置,包括
至少一個(gè)處理器;和
至少一個(gè)包括計(jì)算機(jī)程序代碼的存儲(chǔ)器;
所述至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)編程代碼,和至少一個(gè)處理器被設(shè)置使裝置能夠執(zhí)行至少以下
以一個(gè)或多個(gè)選擇的抽樣率抽樣一個(gè)內(nèi)插幀以產(chǎn)生一個(gè)或多個(gè)縮放基準(zhǔn)幀;
將一個(gè)幀與縮放基準(zhǔn)幀進(jìn)行匹配;和
確定一個(gè)或多個(gè)運(yùn)動(dòng)數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的裝置,其中內(nèi)插幀是通過內(nèi)插法獲得。
12.根據(jù)權(quán)利要求10所述的裝置,其中內(nèi)插幀是由一個(gè)子像素運(yùn)動(dòng)估計(jì)提供。
13.根據(jù)權(quán)利要求10所述的裝置,其中選擇的抽樣率是由確定,其中S等于內(nèi)插因子,N1等于縮小級(jí)數(shù)目,而N2等于放大級(jí)數(shù)目。
14.根據(jù)權(quán)利要求10所述的裝置,還包括低通濾波內(nèi)插幀。
15.根據(jù)權(quán)利要求10所述的裝置,還包括將一個(gè)幀與一個(gè)或多個(gè)臨時(shí)基準(zhǔn)幀匹配。
全文摘要
依照本發(fā)明的一個(gè)示范實(shí)施例,本發(fā)明提供運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)的方法和裝置。除了平移運(yùn)動(dòng),還考慮縮放運(yùn)動(dòng),通過以一個(gè)或多個(gè)選擇的抽樣率抽樣一個(gè)內(nèi)插幀來產(chǎn)生一個(gè)或多個(gè)縮放基準(zhǔn)幀;將一個(gè)幀與縮放基準(zhǔn)幀進(jìn)行匹配;并確定一個(gè)或多個(gè)運(yùn)動(dòng)數(shù)據(jù)。
文檔編號(hào)H04N7/32GK101765011SQ20091026149
公開日2010年6月30日 申請(qǐng)日期2009年12月8日 優(yōu)先權(quán)日2009年10月16日
發(fā)明者布禮文, 黃嘉文, 張國(guó)威, 吳家豪, 劉雨 申請(qǐng)人:香港應(yīng)用科技研究院有限公司