亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

視頻編解碼中的位置索引方法及視頻解碼器的制作方法

文檔序號(hào):7684181閱讀:120來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):視頻編解碼中的位置索引方法及視頻解碼器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及視頻編解碼技術(shù)領(lǐng)域,尤其涉及一種視頻編解碼中的位置索引 方法及視頻解碼器。
背景技術(shù)
目前在視頻編解碼領(lǐng)域中,經(jīng)常會(huì)重復(fù)的采用大量的數(shù)學(xué)計(jì)算。這些計(jì)算 重復(fù)繁瑣,計(jì)算量非常大,占用時(shí)間較多,使得系統(tǒng)的實(shí)時(shí)性較差。以下以視頻編解碼標(biāo)準(zhǔn)AVS為例。視頻編解碼標(biāo)準(zhǔn)AVS的編解碼算法都采用不同的幀類(lèi)型模式,分別為I、 P、 B幀。采用P、 B幀的目的是為了提高壓縮率,P、 B幀都采用了運(yùn)動(dòng)預(yù)測(cè)的方 法,這其中還包涵著對(duì)運(yùn)動(dòng)矢量的預(yù)測(cè),即是用當(dāng)前塊的周?chē)陦K的運(yùn)動(dòng)矢量 預(yù)測(cè)當(dāng)前塊的運(yùn)動(dòng)矢量,如圖l所示,圖示了當(dāng)前塊E及其左塊A、左上塊D、 上塊B、右上塊C的位置關(guān)系,其中當(dāng)前塊E的運(yùn)動(dòng)矢量根據(jù)塊A、 B、 C和D 的原始運(yùn)動(dòng)矢量進(jìn)行預(yù)測(cè)。運(yùn)動(dòng)矢量預(yù)測(cè)是以塊為單位,根據(jù)宏塊類(lèi)型進(jìn)行預(yù)測(cè)。在AVS中,運(yùn)動(dòng)矢 量預(yù)測(cè)最重要也是最復(fù)雜的一步是當(dāng)A、 B、 C塊中至少有兩個(gè)塊可用時(shí),且 當(dāng)前塊E不是16x8或8x16模式時(shí),對(duì)當(dāng)前塊E的運(yùn)動(dòng)矢量的預(yù)測(cè)需要進(jìn)行如 下縮放計(jì)算MVA_x=Sign(mvA—x)x((Abs(mvA—x)xBlockDistanceEx(512/BlockDistanceA)+256) 9)l(a)MVA_y=Sign(mvA—y)x((Abs(mvA_y)xBlockDistanceEx(512/BlockDistanceA)+256) 9)l(b)MVB_x=Sign(mvB—x)x((Abs(mvB_x)xBlockDistanceEx(512/BlockDistanceB)+256) 9)1(c)MVB—y=Sign(mvB—y)x((Abs(mvB—y)xBlockDistanceEx(512/BlockDistanceB)+256)>〉9)1(d)<formula>formula see original document page 5</formula><formula>formula see original document page 5</formula>9)其中,MVO—Q表示當(dāng)前塊E在塊O的Q方向上的運(yùn)動(dòng)矢量預(yù)測(cè)值,①取 值為A、 B、 C,表示是哪個(gè)塊;Q取值為x、 y,表示橫縱坐標(biāo)。Sign()表示判 斷括號(hào)內(nèi)的表達(dá)式的符號(hào),Abs()表示對(duì)括號(hào)內(nèi)的值取絕對(duì)值;BlockDistanceO 表示塊O到其參考?jí)K之間的距離,">>,,表示右移操作,其后所跟數(shù)字為右移的 位數(shù);mv0)一Q表示塊O在Q方向上的原始運(yùn)動(dòng)矢量;7"表示取整操作。所述BlockDistanceO通過(guò)以下方式計(jì)算如果塊①的參考?jí)K在塊(D之前(顯示順序),則BlockDistance等于塊O的 Distancelndex減去所述參考?jí)K的Distancelndex的差、力口上512的和、再與512W莫;如果塊①的參考?jí)K在塊①之后(顯示順序),則BlockDistance等于所述參考 塊的Distancelndex減去塊O的DistanceIndex的差、力。上512的和、再與512取才莫。 其中,Distancelndex表示塊距離索引,其定義如下如果塊的所有像素都屬于所在隔行掃描圖〗象的第二場(chǎng)(顯示順序)或者都 屬于所在逐行掃描圖 <象的底場(chǎng),Distancelndex等于picture—distance乘2力。1;否貝'J , Distancelndex等于picture—distance乘2 。 其中,picture—distance是指圖^f象間距。 上述計(jì)算BlockDistanceO的描述可以概括為下i^達(dá)式 BlockDistance=( |DistanceIndexeur -Distancelndex Ref | +512)%512 i(g) DistanceIndexCur表示當(dāng)前塊O的塊3巨離索引,DistanceIndexRef表示塊C>的參考?jí)K的塊距離索引,"%"表示fM^喿作。通過(guò)以上描述可以看出,運(yùn)動(dòng)矢量預(yù)測(cè)需要經(jīng)過(guò)l(a)、 1(b) 、 l(c)、 l(d)、 l(e)、 l(f)、 l(g)中的乘法、除法及取模等復(fù)雜運(yùn)算,其計(jì)算過(guò)程非常耗時(shí),并且 所述塊距離索引的獲得也要耗費(fèi)一定的時(shí)間。另外,通常在一幀圖像中需要進(jìn) 行上述計(jì)算的塊占有較大的比例。因此可見(jiàn),計(jì)算重復(fù)繁瑣、計(jì)算量非常大、占用時(shí)間較多、系統(tǒng)實(shí)時(shí)性較差這些問(wèn)題尤為顯著。 發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種快速的運(yùn)動(dòng)矢量預(yù)測(cè)方法。 為了解決上述技術(shù)問(wèn)題,本發(fā)明提出了一種視頻編解碼中的位置索引方法,包括以下步驟A、 計(jì)算并存儲(chǔ)至少部分重復(fù)計(jì)算的所有可能結(jié)果;B、 創(chuàng)建用于定位讀取步驟A所存儲(chǔ)結(jié)果的地址控制裝置;C、 在^L頻編解碼過(guò)程中,執(zhí)行至所述至少部分重復(fù)計(jì)算時(shí),調(diào)用所述地址 控制裝置讀取相應(yīng)的結(jié)果。其中,所述位置索引方法應(yīng)用于視頻編解碼過(guò)程中的運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程, 步驟A計(jì)算并存儲(chǔ)運(yùn)動(dòng)矢量預(yù)測(cè)中至少部分重復(fù)計(jì)算的所有可能結(jié)果。另外,步驟A中所述所有可能結(jié)果以查找表的形式存儲(chǔ);并且,步驟B中 所述地址控制裝置為位置索引裝置,通過(guò)對(duì)索引字段的確定來(lái)定位需要讀取的 所述所有可能的結(jié)果??蛇x的,其應(yīng)用于AVS ^L頻編解碼標(biāo)準(zhǔn)、MPEG2視J貞編解碼標(biāo)準(zhǔn)或H.264 一見(jiàn)頻編解碼標(biāo)準(zhǔn)。其中所述三種視頻編解碼標(biāo)準(zhǔn)的解碼過(guò)程包括對(duì)視頻碼流進(jìn)行熵解碼的 熵解碼步驟及對(duì)視頻信號(hào)進(jìn)行預(yù)測(cè)重建并輸出重建后的視頻信號(hào)的預(yù)測(cè)重建的 步驟;并且,所述步驟A和步驟B設(shè)置在熵解碼步驟之前,所述步驟C在預(yù)測(cè) 重建步驟當(dāng)中。另外,所述熵解碼步驟和預(yù)測(cè)重建步驟之間還包括反量化步驟,用于對(duì)接收到的視頻碼流的量化系數(shù)進(jìn)行縮放,得到變換系數(shù);反變換步驟,用于將所述變換系數(shù)轉(zhuǎn)換為空域值。 另一方面,本發(fā)明還提出一種視頻解碼器,包括計(jì)算模塊,用于計(jì)算運(yùn)動(dòng)矢量預(yù)測(cè)中至少部分重復(fù)計(jì)算的所有可能結(jié)果;存儲(chǔ)模塊,用于存儲(chǔ)所述計(jì)算;f莫塊得到的所有可能結(jié)果; 地址控制模塊,用于定位讀取所述存儲(chǔ)模塊所存儲(chǔ)結(jié)果; 運(yùn)動(dòng)矢量預(yù)測(cè)模塊,用于進(jìn)行運(yùn)動(dòng)矢量預(yù)測(cè),當(dāng)執(zhí)行至所述至少部分重復(fù) 計(jì)算時(shí),調(diào)用所述地址控制裝置讀取相應(yīng)的結(jié)果,并完成運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程。其中,還包括熵解碼模塊、反量化反變換模塊、運(yùn)動(dòng)補(bǔ)償模塊及重構(gòu)模塊; 所述視頻碼流依次經(jīng)過(guò)所述熵解碼模塊、反量化反變換模塊、運(yùn)動(dòng)矢量預(yù)測(cè)模 塊、運(yùn)動(dòng)補(bǔ)償模塊及重構(gòu)模塊,并最終輸出重構(gòu)后的視頻圖像;并且,所述計(jì) 算模塊和存儲(chǔ)模塊工作于所述熵解碼之前,所述地址控制模塊工作于運(yùn)動(dòng)矢量 預(yù)測(cè)過(guò)程。優(yōu)選的,所述所有可能結(jié)果以查找表的形式存儲(chǔ)于所述存儲(chǔ)模塊中;所述 地址控制模塊為位置索引模塊,其通過(guò)對(duì)索引字段的確定來(lái)定位需要讀取的所 述所有可能的結(jié)果。其中,其應(yīng)用于AVS 一見(jiàn)頻編解碼標(biāo)準(zhǔn)、MPEG2 一見(jiàn)頻編解碼標(biāo)準(zhǔn)或H.264 一見(jiàn)頻編解碼標(biāo)準(zhǔn)。本發(fā)明由于將原來(lái)需要進(jìn)行的大量運(yùn)算通過(guò)提前計(jì)算出并存儲(chǔ),以此構(gòu)成 查找表,進(jìn)而在實(shí)際的運(yùn)算尤其是實(shí)際的運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程中僅需通過(guò)查事先 存儲(chǔ)的結(jié)果(查找表)即可獲得相應(yīng)的結(jié)果,這樣大大節(jié)省了時(shí)間,提高了系 統(tǒng)的實(shí)時(shí)性。以下結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明,本發(fā)明的這些及其他目的、 特征、方面和優(yōu)點(diǎn)將變得更加明顯。


圖1是一個(gè)當(dāng)前塊與其周?chē)鷫K的位置關(guān)系的一個(gè)實(shí)施例的示意圖;圖2是一種視頻解碼方法的一個(gè)實(shí)施例的流程框圖;圖3是一種運(yùn)動(dòng)矢量預(yù)測(cè)方法的一個(gè)實(shí)施例的流程圖;圖4是當(dāng)前圖像與其參考圖像的參考關(guān)系的一個(gè)實(shí)施例的示意圖;圖5是基于圖4實(shí)施例的查找表的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖6是當(dāng)前圖像與其參考圖像的參考關(guān)系的另一個(gè)實(shí)施例的示意圖;圖7是基于圖6實(shí)施例的查找表的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖8是當(dāng)前圖像與其參考圖像的參考關(guān)系的再一個(gè)實(shí)施例的示意圖; 圖9是基于圖8實(shí)施例的查找表的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖; 圖IO是當(dāng)前圖像與其參考圖像的參考關(guān)系的第四個(gè)實(shí)施例的示意圖; 圖11是當(dāng)前圖像與其參考圖像的參考關(guān)系的第五個(gè)實(shí)施例的示意圖; 圖12是基于圖11實(shí)施例的查找表的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖; 圖13是當(dāng)前圖像與其參考圖像的參考關(guān)系的第六個(gè)實(shí)施例的示意圖; 圖14是基于圖13實(shí)施例的查找表的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖; 圖15是本發(fā)明一種視頻解碼器的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,并使本發(fā)明的上述目的、 特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合實(shí)施例及實(shí)施例附圖對(duì)本發(fā)明作進(jìn)一 步詳細(xì)的說(shuō)明。參考圖2,圖示了一種視頻解碼方法的一個(gè)實(shí)施例的流程示意圖。從本實(shí)施 例中也可以清楚的反應(yīng)出本發(fā)明所述位置索引方法的過(guò)程,如圖所示,從編碼 端來(lái)的碼流首先經(jīng)過(guò)熵解碼,熵解碼后的數(shù)據(jù)經(jīng)過(guò)反量化、反變換、預(yù)測(cè)重建 及環(huán)路濾波后,最終輸出至處理芯片外。其中,本發(fā)明所述的計(jì)算至少部分重 復(fù)計(jì)算并生成查找表的過(guò)程在所述熵解碼過(guò)程之前完成,即在解碼前完成。所 述查找表在圖示預(yù)測(cè)重建中的運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程中使用。對(duì)于查找表中所有可 能結(jié)果的計(jì)算及表的結(jié)構(gòu),可以參考后述實(shí)施例。并且,所述生成查找表的過(guò) 程中同時(shí)創(chuàng)建地址控制裝置,優(yōu)選的可以是位置索引,以在運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程 中通過(guò)該裝置對(duì)所存儲(chǔ)的計(jì)算結(jié)果進(jìn)行定位讀:f又。以AVS標(biāo)準(zhǔn)為例,將進(jìn)一步說(shuō)明本發(fā)明視頻編解碼中的位置索引方法。參 考圖3,圖示了 AVS標(biāo)準(zhǔn)中運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程的一個(gè)實(shí)施例的流程圖。如圖所 示,同時(shí)結(jié)合圖l,包括以下步驟S31,判斷當(dāng)前塊的左塊、上塊及右上塊中是否只有一個(gè)可用,若是,則執(zhí) 行步驟S34,否則執(zhí)行步驟S32。即,對(duì)于圖1來(lái)說(shuō),就是判斷當(dāng)前塊E的周?chē)?的A、 B、 C塊是否僅有一個(gè)可用,這里所述的是否可用可以通過(guò)判斷相應(yīng)塊的參考索引值實(shí)現(xiàn),若參考索引值為-1則表示不可用,否則可用。例如,對(duì)于塊B 來(lái)說(shuō),判斷其參考索引值是否為-1,若是,則塊B不可用,否則可用。所述參 考索引值的定義和計(jì)算可以參考AVS標(biāo)準(zhǔn)中的相關(guān)定義及計(jì)算,在這里不進(jìn)行 進(jìn)一步闡述;S32,判斷當(dāng)前塊所在的宏塊的編碼模式是否為8x16或16x8編碼模式,若 是,則執(zhí)行步驟S35,否則執(zhí)行步驟S33。即,對(duì)于圖1來(lái)說(shuō),就是判斷當(dāng)前塊 E所在的宏塊是否是8xl6或16x8編碼模式,因?yàn)镋的編碼模式可能是16x16、 16x8、 8x16或8x8沖莫式;S33,通過(guò)查找查找表及計(jì)算對(duì)當(dāng)前塊的左塊、上塊及右上塊的原始運(yùn)動(dòng)矢 量進(jìn)行縮放,得到縮放后的值,最后根據(jù)該值進(jìn)行計(jì)算得到當(dāng)前塊的運(yùn)動(dòng)矢量 預(yù)測(cè)值。即,對(duì)于圖l來(lái)說(shuō),通過(guò)查找查找表及計(jì)算對(duì)A、 B、 C的原始運(yùn)動(dòng)矢 量進(jìn)行縮放,具體的縮放方法可以按照背景技術(shù)部分描述進(jìn)行,即對(duì)式l(a)、 l(b) 、 l(c)、 l(d)、 l(e)、 l(f)進(jìn)行計(jì)算,得到縮放后的值MVA—x、 MVA_y、 MVB_x、 MVBj、 MVC—x、 MVC_y,再進(jìn)行如下計(jì)算定義距離Dist(MVl,MV2)二 Abs(xl — x2) +Abs(yl — y2),其中MVl二[xl, yl], MV2=[x2,y2]。定義VAB等于Dist(MVA, MVB), VBC等于Dist(MVB, MVC), VCA等于Dist(MVC, MVA)。當(dāng)前塊E的運(yùn)動(dòng)矢量預(yù)測(cè)值的計(jì)算如下第一步,計(jì)算VAB, VBC, VCA三者的平均值;第二步,如果第一步得到平均值和VAB相等,則當(dāng)前塊E的運(yùn)動(dòng)矢量預(yù) 測(cè)值等于MVC;否則,如果所述平均值和VBC相等,則當(dāng)前塊E的運(yùn)動(dòng)矢量預(yù) 測(cè)值等于MVA;否則,則當(dāng)前塊E的運(yùn)動(dòng)矢量預(yù)測(cè)值等于MVB。其中,MVA=[xA, yA]= [MVA一x, MVA_y]; MVB=[xB, yB〗=[MVB—x, MVB』;MVC=[xC,yC]=[MVC—x,MVC_y]。通過(guò)本步驟可以最終得到當(dāng)前塊E不是8xl6或16x8編碼模式時(shí)的當(dāng)前塊E 的運(yùn)動(dòng)矢量預(yù)測(cè)值。其中,在計(jì)算MVA一x、 MVA_y、 MVB一x、 MVB_y、 MVC—x、 MVC_y時(shí),本步驟通過(guò)查找查找表得到其中的BlockDistanceEx(512/BlockDistanceA);9BlockDistanceEx(512/BlockDistanceB); BlockDistanceEx(512/BlockDistanceC);通過(guò)查查找表得到上述值后,再進(jìn)行剩余的計(jì)算得到MVA—x、 MVA_y、 MVB—x、 MVB_y、 MVC—x、 MVC_y。在本發(fā)明的另一實(shí)施例中,計(jì)算MVA—x、 MVA_y、 MVB—x、 MVB_y、 MVC—x、 MVCj時(shí),本步驟通過(guò)查找查找表得到其中的BlockDistanceE; BlockDistanceA; BlockDistanceB; BlockDistanceC; 通過(guò)查查找表得到上述值后,再進(jìn)行剩余的計(jì)算得到MVA—x、 MVA_y、 MVB—x、 MVB_y、 MVC—x、 MVC_y。在本發(fā)明的再一個(gè)實(shí)施例中,計(jì)算MVA—x、 MVA_y、 MVB—x、 MVB_y、 MVC—x、 MVCj時(shí),本步驟通過(guò)查找查找表得到各個(gè)塊及其對(duì)應(yīng)參考?jí)K的塊距 離索引,即背景4支術(shù)中的Distancelndex^、 DistanceIndexRef 。得到該值后,再進(jìn) 行剩余的計(jì)算過(guò)程,得到MVA—x、 MVA_jy、 MVB—x、 MVB_y、 MVC—x、 MVC_y。 上述的所有剩余計(jì)算可以以背景技術(shù)中的描述為標(biāo)準(zhǔn)判斷,也可以以其它 適當(dāng)?shù)臉?biāo)準(zhǔn)進(jìn)行判斷。本步驟中查找表的結(jié)構(gòu)可以參考后續(xù)實(shí)施例的描述,在這里不進(jìn)行說(shuō)明; 本步驟結(jié)束后,執(zhí)行步驟S36;S34,當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)值為所述可用塊的原始運(yùn)動(dòng)矢量。即,當(dāng)步驟 S31中判斷條件成立時(shí),表示僅有一個(gè)塊可用,則該可用塊的原始運(yùn)動(dòng)矢量作為 當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)值;本步驟結(jié)束后,執(zhí)行步驟S36S35,進(jìn)行相應(yīng)的運(yùn)動(dòng)矢量預(yù)測(cè)得到當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)值。即,當(dāng)步驟 S32判斷當(dāng)前塊所在的宏塊是8x16或16x8編碼沖莫式時(shí),則采用該種情況下的 運(yùn)動(dòng)矢量預(yù)測(cè)方法得到當(dāng)前塊的運(yùn)動(dòng)矢量預(yù)測(cè)值;在本發(fā)明的一個(gè)實(shí)施例中,本步驟可以采用以下方式得到當(dāng)前塊的運(yùn)動(dòng)矢 量預(yù)測(cè)值若當(dāng)前塊所在宏塊為8xl6編碼才莫式1) 當(dāng)E為左塊時(shí)如果A和E的參考索引值相同,則當(dāng)前塊E的運(yùn)動(dòng)矢量預(yù)測(cè)值等 于塊A的原始運(yùn)動(dòng)矢量;否則執(zhí)行步驟S33;2) 當(dāng)E為右塊時(shí)如果C和E的參考索引值相同,則當(dāng)前塊E的運(yùn)動(dòng)矢量預(yù)測(cè)值等 于塊C的原始運(yùn)動(dòng)矢量;否則執(zhí)行步驟S33;若當(dāng)前塊所在宏塊為16x8編碼沖莫式1) 當(dāng)E為上塊時(shí)如果B和E的參考索引值相同,則當(dāng)前塊E的運(yùn)動(dòng)矢量預(yù)測(cè)值等 于塊B的原始運(yùn)動(dòng)矢量;否則執(zhí)行步驟S33;2) 當(dāng)E為下塊時(shí)如果A和E的參考索引值相同,則當(dāng)前塊E的運(yùn)動(dòng)矢量預(yù)測(cè)值等 于塊A的原始運(yùn)動(dòng)矢量;否則執(zhí)行步驟S33。S36,結(jié)束。即,結(jié)束對(duì)當(dāng)前塊E的運(yùn)動(dòng)矢量預(yù)測(cè)。以上僅闡述了對(duì)一個(gè)塊的運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程,其它塊只需重復(fù)上述過(guò)程即 可。需要說(shuō)明的是,由于運(yùn)動(dòng)矢量預(yù)測(cè)存在于AVS標(biāo)準(zhǔn)、H,264標(biāo)準(zhǔn)及MPEG-4 標(biāo)準(zhǔn)中,在各個(gè)標(biāo)準(zhǔn)的運(yùn)動(dòng)矢量預(yù)測(cè)中都需要進(jìn)行大量重復(fù)運(yùn)算,因此均可以 采用本發(fā)明所述方法對(duì)需要進(jìn)行的計(jì)算提前計(jì)算得出并存儲(chǔ)供查詢(xún)使用。另夕卜, 圖3所示的實(shí)施例的整個(gè)過(guò)程為AVS的標(biāo)準(zhǔn)流程,但是在此基礎(chǔ)上的改進(jìn)AVS運(yùn) 動(dòng)矢量預(yù)測(cè)方法同樣可以適用本發(fā)明所述方法,這也同樣在本發(fā)明的范圍內(nèi)。參考圖4,圖示了當(dāng)前圖像與其參考圖像之間的參考關(guān)系的一個(gè)實(shí)施例的示 意圖。對(duì)于一幅要解碼的P幀來(lái)說(shuō),其參考圖像只能是如圖4所示,即只能是其 前面的兩幀(I幀或P幀)中的一幀,當(dāng)前P幀中《壬^T一個(gè)宏塊的MbReflndex (塊 參考索引值)有兩種可能,對(duì)應(yīng)BlockDistance也只能有兩種可能,tmp—MV_predict ( 一個(gè)中間變量,存儲(chǔ)BlockDistanceEx(512/BlockDistanceO)的計(jì)算結(jié)果值)對(duì) 應(yīng)有2x2二4,四種可能,分別是(同時(shí)參考圖l):當(dāng)前塊E與A (或B或C)都參考參考幀0,此時(shí)塊E和A (或B或C) 的MbReflndex都是"0",即是圖5表中tmp—MV_predict00的情況;當(dāng)前塊E與A (或B或C)都參考參考幀1,此時(shí)塊E和A (或B或C)的MbReflndex都是"1",即是圖5表中tmp—MV_predictl 1的情況;當(dāng)前塊E的參考幀是0, A (或B或C )的參考幀是1 , 二者的MbReflndex 分別為0和1,即是圖5表中tmp—MV_predict01的情況;當(dāng)前塊E的參考幀是1 , A (或B或C )的參考幀是0, 二者的MbReflndex 分別為1和0,即是圖5表中tmp—MV_predictlO的情況;基于圖4所示的實(shí)施例上述描述,圖5展示了所述當(dāng)前塊E運(yùn)動(dòng)預(yù)測(cè)時(shí)所 用到的查找表,該查找表所存儲(chǔ)的內(nèi)容為BlockDistanceEx(512/BlockDistance①) 的計(jì)算結(jié)果值,記為tmp—MV_predict;其中<D為A、 B或C。參考圖6,圖示了當(dāng)前圖像與其參考圖像之間的參考關(guān)系的另 一 個(gè)實(shí)施例的 示意圖。對(duì)于一幅要解碼的B幀來(lái)說(shuō),其參考圖像只能是如圖6所示,即只能 是其前面的一幀(I幀或P幀)或后面的一幀(I幀或P幀)。同時(shí)參考圖1。當(dāng)預(yù)測(cè)幀內(nèi)宏塊的前向運(yùn)動(dòng)矢量時(shí),其宏塊的MbReflndex只能有一種可能, 相應(yīng)的,BlockDistance也只能是一種可能,中間變量tmp—MV_predict也只能是 一種可能當(dāng)前塊E和A(或B或C )都參考前向參考幀0,此時(shí)二者的MbReflndex 均為0,即圖7所示表中tmp—MV_predict00的情況;當(dāng)預(yù)測(cè)幀內(nèi)宏塊的后向運(yùn)動(dòng)矢量時(shí),其宏塊的MbReflndex只能有一種可能, 相應(yīng)的,BlockDistance也只能是一種可能,中間變量tmp—MV_predict也只能是 一種可能當(dāng)前塊E和A(或B或C )都參考后向參考幀0,此時(shí)二者的MbReflndex 均為0,但是在查表過(guò)程中需要以MbReflndex+2=2為索引進(jìn)行查找,(在后向 運(yùn)動(dòng)式量預(yù)測(cè)過(guò)程中均需要在原始MbReflndex J^出上加2進(jìn)行查表),即圖7 所示表中tmp—MV_predict22的情況?;趫D6所示實(shí)施例的上述描述,圖7展示了所述當(dāng)前塊E運(yùn)動(dòng)預(yù)測(cè)時(shí)所 用到的查找表。參考圖8,圖示了當(dāng)前圖像與其參考圖像之間的參考關(guān)系的再一個(gè)實(shí)施例的 示意圖。對(duì)于一幅要解碼的P幀的上半場(chǎng)來(lái)說(shuō),其參考圖像只能是如圖8所示, 即其參考圖像只能是前面的兩幀(I幀或p幀)中上下半場(chǎng)中的一場(chǎng),場(chǎng)內(nèi)任何一個(gè)宏塊的MbReflndex只能有四種可能,相應(yīng)的BlockDistance只能有四種可 能,中間變量tmp—MVjredict有4x4=16, 16種可能情況,如圖9表所示,不12在——說(shuō)明。另外,參考圖8,圖示了當(dāng)前圖像與其參考圖像之間的參考關(guān)系的第四個(gè)實(shí) 施例的示意圖。對(duì)于一幅要解碼的P幀的下半場(chǎng)來(lái)說(shuō),其參考圖像只能是如圖10所示,即場(chǎng)內(nèi)任〗可一個(gè)宏塊的MbReflndex有四種可能,相應(yīng)的,BlockDistance 有四種可能,中間變量tmp_MV_predict有4x4=16, 16種可能情況,其表結(jié)構(gòu) 同樣可以參考圖9所示表,但其中具體的值不同?;趫D8所示實(shí)施例的上述描述,圖9展示了所述當(dāng)前塊E運(yùn)動(dòng)預(yù)測(cè)時(shí)所 用到的查找表。參考圖11 ,圖示了當(dāng)前圖像與其參考圖4象之間的參考關(guān)系的第五個(gè)實(shí)施例 的示意圖。對(duì)于一幅要解碼的B幀的上半場(chǎng),其參考圖像只能是如圖ll所示,即若預(yù)測(cè)幀內(nèi)宏塊的前向運(yùn)動(dòng)矢量,其宏塊的MbReflndex有兩種可能,相應(yīng) 的,BlockDistance有兩種可能,中間變量tmp—MVj(redict有2x2二4,四種可能, 分別是當(dāng)前塊E與A (或B或C )都參考前向參考場(chǎng)0,此時(shí)塊E和A (或B或 C )的MbReflndex均為0,即圖12表中tmp—MV_predictOO的情況;當(dāng)前塊E與A (或B或C)都參考前向參考場(chǎng)1,此時(shí)塊E和A (或B或 C )的MbReflndex均為1,即圖12表中tmp—MV_predictll的情況;當(dāng)前塊E的前向參考場(chǎng)是0, A (或B或C)的前向參考場(chǎng)是1, 二者的 MbReflndex分別為0和1 ,即圖12表中tmp—MV_predict01的情況;當(dāng)前塊E的前向參考場(chǎng)是1, A (或B或C)的前向參考場(chǎng)是0, 二者的 MbReflndex分別為1和0,即圖12表中tmp—MV_predictlO的情況;若預(yù)測(cè)幀內(nèi)宏塊的后向運(yùn)動(dòng)矢量,其宏塊的MbReflndex有兩種可能,相應(yīng) 的BlockDistance也有兩種可能,中間變量tmp—MV_predict有2x2=4,四種情況, 分別是當(dāng)前塊E與A (或B或C)都參考后向參考場(chǎng)O,此時(shí)塊E和A (或B或 C )的MbReflndex均為0,但是在查表過(guò)程中需要以MbReflndex+2=2為索引進(jìn) 行查找,即圖12表中tmp—MV_predict22的情況;當(dāng)前塊E與A (或B或C)都參考后向參考場(chǎng)1,此時(shí)塊E和A (或B或 C)的MbReflndex均為1,但是在查表過(guò)程中需要以MbReflndex+2=3為索引進(jìn) 行查找,即圖12表中tmp—MV_predict33的情況;當(dāng)前塊E的后向參考場(chǎng)是0, A (或B或C)的后向參考場(chǎng)是1, 二者的 MbReflndex分別為0和1,但是在查表過(guò)程中分別需要以MbReflndex+2=2和 MbReflndex+2=3為索引進(jìn)行查找,即圖12表中tmp—MV_predict23的情況;當(dāng)前塊E的后向參考場(chǎng)是1, A (或B或C)的后向參考場(chǎng)是0, 二者的 MbReflndex分別為1和0,但是在查表過(guò)程中分別需要以MbReflndex+2=3和 MbReflndex+2=2為索引進(jìn)行查找,即圖12表中tmp—MV_predict32的情況;基于圖11所示實(shí)施例的上述描述,圖12展示了所述當(dāng)前塊E運(yùn)動(dòng)預(yù)測(cè)時(shí) 所用到的查找表。參考圖13,圖示了當(dāng)前圖像與其參考圖Y象之間的參考關(guān)系的第六個(gè)實(shí)施例 的示意圖。對(duì)于一幅要解碼的B幀的下半場(chǎng)來(lái)說(shuō),其參考圖像只能是如圖13所 示,即若預(yù)測(cè)幀內(nèi)宏塊的前向運(yùn)動(dòng)矢量,其宏塊的MbReflndex有兩種可能, 相應(yīng)的,BlockDistance也有兩種可能,中間變量tmp—MV_predict有2x2=4,四 種可能,分別是當(dāng)前塊E與A (或B或C)都參考前向參考場(chǎng)0,此時(shí)塊E和A (或B或 C )的MbReflndex均為0,即圖14表中tmp—MV_predict00的情況;當(dāng)前塊E與A (或B或C)都參考前向參考場(chǎng)1,此時(shí)塊E和A (或B或 C)的MbReflndex均為1,即圖14表中tmp—MV_predictll的情況;當(dāng)前塊E的前向參考場(chǎng)是0, A (或B或C)的前向參考場(chǎng)是1, 二者的 MbReflndex分別為0和1,即圖14表中tmp—MV_predictO 1的情況;當(dāng)前塊E的前向參考場(chǎng)是1, A (或B或C)的前向參考場(chǎng)是0, 二者的 MbReflndex分別為1和0,即圖14表中tmp—MV_predictlO的情況;若預(yù)測(cè)幀內(nèi)宏塊的后向運(yùn)動(dòng)矢量,其宏塊的MbReflndex有兩種可能,相應(yīng) 的,BlockDistance也有兩種可能,中間變量tmp—MV_predict有2x2=4,四種可 能,分別是當(dāng)前塊E與A (或B或C)都參考后向參考場(chǎng)O,此時(shí)塊E和A (或B或 C )的MbReflndex均為0,但是在查表過(guò)程中分別需要以MbReflndex+2=2為索 1進(jìn)行查找,即圖14表中tmp—MV_predict22的情況;當(dāng)前塊E與A (或B或C)都參考后向參考場(chǎng)1,此時(shí)塊E和A (或B或 C)的MbReflndex均為1,但是在查表過(guò)程中分別需要以MbReflndex+2=3為索 引進(jìn)行查找,即圖14表中tmp_MV_predict33的情況;當(dāng)前塊E的后向參考場(chǎng)是0, A (或B或C)的后向參考場(chǎng)是1, 二者的 MbReflndex分別為0和1,但是在查表過(guò)程中分別需要以MbReflndex+2=2和 MbReflndex+2=3,即圖14表中tmp—MV_predict23的情況;當(dāng)前塊E的后向參考場(chǎng)是1, A (或B或C)的后向參考場(chǎng)是0, 二者的 MbReflndex分別為1和0,但是在查表過(guò)程中分別需要以MbReflndex+2=3和 MbRefIndex+2=2,即圖14表中tmp—MV_predict32的情況?;趫D13所示實(shí)施例的上述描述,圖14展示了所述當(dāng)前塊E運(yùn)動(dòng)預(yù)測(cè)時(shí)所用 到的查找表。其中,查找表12和14雖然結(jié)構(gòu)相同,但是其存儲(chǔ)的具體值不同。另外, 本具體實(shí)施方式
部分的各個(gè)查找表中MbReflndex—E 0、 MbReflndex—E 1、 MbReflndex—E 2、 MbReflndex—E 3表示當(dāng)前塊E的MbReflndex取0, 1 , 2, 3 的四種可能情況;MbReflndex—O 0、 MbReflndex—0> 1、 MbReflndex—O 2、 MbReflndex—0) 3表示塊<D的MbReflndex取0, 1, 2, 3的四種可能情況,O耳又 A、 B或C;在各個(gè)表中,當(dāng)前塊E的MbReflndex可能情況與塊0>的MbReflndex 可能情況的交叉對(duì)應(yīng)值tmp—MV_predict即為所要查找的值,其中對(duì)于 MbReflndex—E m 禾口 MbReflndex—O n 所只t應(yīng)的 tmp—MV_predict i己為 tmp—MV_predictmn, m,n均在[O, 3]范圍內(nèi)取值,當(dāng)然這只是一種較為直觀的表 示方式而已,不應(yīng)對(duì)本發(fā)明有所限定。另外,所有查找表中的"0"表示該種可 能情況不會(huì)發(fā)生。值得注意的是,以上查找表所采用的只是一種二維表格的表現(xiàn)形式,其還 完全可以根據(jù)所有的可能情況制成一維表格,這同樣在本發(fā)明的保護(hù)范圍內(nèi)。另外,在本具體實(shí)施方式
中BlockDistanceE (與MbReflndex—E--對(duì)應(yīng))、BlockDistanceO (與MbReflndex—0>——對(duì)應(yīng))的可能情況均列舉了在4種以?xún)?nèi) 的情況,對(duì)于超過(guò)4種的情況完全可以類(lèi)推得到,在此不進(jìn)行詳細(xì)說(shuō)明。另外,圖4、圖6、圖8、圖10、圖11、圖13中方4匡內(nèi)的^字即為該幀作 為參考幀的號(hào)碼,在前向運(yùn)動(dòng)矢量預(yù)測(cè)中,其與MbReflndex的值一致,查表時(shí) 以MbReflndex為索引進(jìn)行;在后向運(yùn)動(dòng)矢量預(yù)測(cè)中,其與MbReflndex的值一 致,4旦是查表時(shí)以MbReflndex+2為索引進(jìn)4亍,此時(shí)MbReflndex+2可以#見(jiàn)為新 的MbReflndex。需要說(shuō)明的是,本發(fā)明的核心在于將需要計(jì)算的內(nèi)容提前計(jì)算得到并存儲(chǔ) 供查詢(xún),其并不局限于表的結(jié)構(gòu)或存儲(chǔ)形式,上述僅為具體的實(shí)施例,其不應(yīng) 限定本發(fā)明。在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,所有的查找表的具體存儲(chǔ)可以采 用數(shù)組的方式實(shí)現(xiàn);本發(fā)明所述查找表中所存儲(chǔ)的內(nèi)容并不限于具體實(shí)施方式
部分的tmp—MV_predict,其還可以是各個(gè)塊的BlockDistance 、塊距離索引數(shù)據(jù) 或512/BlockDistanceO)等等,本發(fā)明也不局限于表中所存儲(chǔ)內(nèi)容。在本發(fā)明一種^L頻編解碼中運(yùn)動(dòng)矢量預(yù)測(cè)方法的另 一個(gè)實(shí)施例中,在H.264 標(biāo)準(zhǔn)中同樣可以采用該方法。H.264標(biāo)準(zhǔn)中時(shí)域直接;f莫式下亮度運(yùn)動(dòng)矢量和參考 索引的推導(dǎo)過(guò)程當(dāng)中,運(yùn)動(dòng)矢量mvLO, mvLl作為共同位置子宏塊分割塊的運(yùn)動(dòng) 矢量mvCol的縮放值,按照下面過(guò)程計(jì)算(具體可以參考R264標(biāo)準(zhǔn)文本)tx = ( 16 384 +Abs(td/2"/td 15-1DistScaleFactor = Clip3(—1024, 1023, ( tb * tx + 32 ) 〉> 6 ) 15-2mvL0 = ( DistScaleFactor * mvCol + 128 )》8 15-3mvL 1 = mvL0 — mvCol 15-4 其中,tb和tdJ安下式導(dǎo)出tb = Clip3(-128, 127, DiffPicOrderCnt( currPicOrField, pic0 ) ) 15-5td = Clip3(—128, 127, DiffPicOrderCnt( picl, pic0 )) 15-6上述DistscaleFactor表示距離縮放因子,Clip3為H.264標(biāo)準(zhǔn)所定義的函數(shù), mvL0和mvLl表示運(yùn)動(dòng)矢量,DiffPicOrderCnt表示不同圖像順序計(jì)數(shù)函數(shù),currPicOrField表示當(dāng)前幀或場(chǎng),pic0和pic 1為幀/場(chǎng)變量,tb 、 tx和td為中間變量。其中,對(duì)于15-5和15-6兩個(gè)式子來(lái)i兌,由于picl和picO的個(gè)凄t為有限個(gè) (在H.264標(biāo)準(zhǔn)文檔中有4皮露),在給定當(dāng)前幀或場(chǎng)(currPicOrField)的情況 下,tb和td的個(gè)數(shù)也是有限個(gè);由于tb和td的個(gè)數(shù)也是有限個(gè),因而根據(jù)式子 15-l,tx的取值也是有限個(gè);因而,根據(jù)式子15-2,距離縮放因子(DistscaleFactor) 的取值也是有限個(gè)。因此,同樣可以在熵解碼之前提前計(jì)算得到距離縮放因子 的有限個(gè)值的結(jié)果并存儲(chǔ),進(jìn)而在執(zhí)行至運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程中式子15-3的計(jì)算 時(shí)直接讀取已經(jīng)計(jì)算好的結(jié)果即可,這樣也可以大大的加快運(yùn)動(dòng)矢量的預(yù)測(cè)過(guò) 程,提高效率。同樣的,對(duì)于所述提前計(jì)算存儲(chǔ)的數(shù)據(jù)可以以查找表的形式存 在,在使用時(shí)通過(guò)相關(guān)的索引字段查找相應(yīng)的值即可。由于過(guò)程與AVS標(biāo)準(zhǔn)類(lèi) 似,本領(lǐng)域普通技術(shù)人員完全可以在以上描述的基礎(chǔ)上不花費(fèi)創(chuàng)造性勞動(dòng)來(lái)得 到在H.264標(biāo)準(zhǔn)中的應(yīng)用,因此,為避免重復(fù)闡述,在此不進(jìn)行進(jìn)一步的展開(kāi)。參考圖15,圖示了本發(fā)明一種^L頻解碼器的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。如 圖所示,包括處理器151、熵解碼模塊152、反變換反量化模塊153、幀內(nèi)預(yù)測(cè) 模塊154、運(yùn)動(dòng)補(bǔ)償模塊155、重構(gòu)模塊156、環(huán)路濾波模塊157、計(jì)算模塊158 及視頻輸出模塊159、存儲(chǔ)模塊160。其中,各個(gè)模塊的功能闡述如下熵解碼模塊152,用于查找起始碼,去除填充字節(jié),以及解碼定長(zhǎng)碼、變長(zhǎng) 編碼、幀內(nèi)預(yù)測(cè)模式及運(yùn)動(dòng)矢量等信息;反變換反量化模塊153,用于進(jìn)行逆之字(即zigzag scan)掃描,計(jì)算出反 余弦變換后的殘差矩陣的系數(shù),并進(jìn)行反量化反變換輸出殘差圖像矩陣;幀內(nèi)預(yù)測(cè)模塊154,用于判斷參考樣本值和參考預(yù)測(cè)模式在存儲(chǔ)器中的存放 位置,計(jì)算出當(dāng)前塊的幀內(nèi)預(yù)測(cè)模式,以及計(jì)算出當(dāng)前塊的幀內(nèi)預(yù)測(cè)塊;運(yùn)動(dòng)補(bǔ)償模塊155,用于計(jì)算出運(yùn)動(dòng)矢量,讀取參考像素并控制運(yùn)動(dòng)補(bǔ)償進(jìn) 行,完成非整數(shù)點(diǎn)像素插值等處理后輸出運(yùn)動(dòng)補(bǔ)償后的預(yù)測(cè)塊;在此過(guò)程中, 運(yùn)動(dòng)重構(gòu)模塊156,用于將預(yù)測(cè)塊和殘差矩陣相加輸出重構(gòu)塊;環(huán)路濾波模塊157,用于根據(jù)當(dāng)前塊位置和宏塊編碼信息確定濾波參數(shù)并進(jìn)行濾波得到解碼完畢的視頻數(shù)據(jù);計(jì)算模塊158,用于將運(yùn)動(dòng)補(bǔ)償模塊155中進(jìn)行的運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程中的至少部分重復(fù)計(jì)算的結(jié)果在熵解碼之前計(jì)算得到并存儲(chǔ),在所述運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程讀取使用;處理器151,用于解碼過(guò)程中的凄t據(jù)處理及過(guò)程控制;視頻輸出模塊159,用于輸出解碼完畢的視頻數(shù)據(jù);存儲(chǔ)模塊160,用于存儲(chǔ)計(jì)算模塊158計(jì)算得到的結(jié)果地址控制模塊161,用于在運(yùn)動(dòng)補(bǔ)償模塊155中的運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程中控制 讀取所述存儲(chǔ)模塊160中的結(jié)果。由于上述處理器151、熵解碼模塊152、反變換反量化模塊153、幀內(nèi)預(yù)測(cè) 模塊154、重構(gòu)模塊156、環(huán)路濾波模塊157、視頻輸出模塊159均為現(xiàn)有技術(shù), 在此不進(jìn)行更詳細(xì)的說(shuō)明;所述運(yùn)動(dòng)補(bǔ)償模塊155中的除運(yùn)動(dòng)矢量預(yù)測(cè)的部分 也為現(xiàn)有技術(shù),也不進(jìn)行詳細(xì)的闡述。另外,所述存儲(chǔ);漠塊160可以采用FLASH 存儲(chǔ)器,不進(jìn)行進(jìn)一步闡述。所述地址控制模塊161釆用字段索引的方式對(duì)存 儲(chǔ)于存儲(chǔ)模塊160中的結(jié)果進(jìn)行查找讀取以供運(yùn)動(dòng)矢量預(yù)測(cè)使用。下面通過(guò)對(duì)AVS解碼器及H.264解碼器的介紹來(lái)具體闡述本發(fā)明。首先,在AVS標(biāo)準(zhǔn)中運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程中的重復(fù)計(jì)算至少包括以下三者之 一塊的距離索引數(shù)據(jù)的計(jì)算; 一個(gè)塊與其參考?jí)K之間的距離的計(jì)算;當(dāng)前塊 與其參考?jí)K之間的距離與512對(duì)所述當(dāng)前塊的左塊、上塊或右上塊與其參考?jí)K 之間的距離取整后值的乘積的計(jì)算。上述的三種計(jì)算在同一幀/場(chǎng)的運(yùn)動(dòng)矢量預(yù) 測(cè)過(guò)程中會(huì)進(jìn)行多次,因而將其提前計(jì)算得到并存儲(chǔ),而該功能則是由計(jì)算模 塊158和存儲(chǔ)模塊160來(lái)完成,具體內(nèi)容可以參考圖4至圖14相關(guān)實(shí)施例的描 述,在此不進(jìn)行重復(fù)闡述;而對(duì)于具體的運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程則可以參考圖3所 示實(shí)施例,在此也不盡興重復(fù)闡述。其次,在R264標(biāo)準(zhǔn)中時(shí)域直接模式下亮度運(yùn)動(dòng)矢量和參考索引的推導(dǎo)過(guò)程當(dāng)中,運(yùn)動(dòng)矢量mvL0, mvLl作為共同位置子宏塊分割塊的運(yùn)動(dòng)矢量mvCol的縮 放值,按照下面過(guò)程計(jì)算(具體可以參考H.264標(biāo)準(zhǔn)文本)tx = ( 16 384 +Abs(td/2))/td 15-1DistScaleFactor = Clip3(—1024, 1023, ( tb * tx + 32 ) 6 ) 15-2mvL0 = ( DistScaleFactor * mvCol + 128 ) 8 15-3mvLl = mvL0 — mvCol 15-4 其中,tb和td按下式導(dǎo)出tb = Clip3(—128, 127, DiffPicOrderCnt( currPicOrField, pic0 ) ) 15-5td = Clip3(—128, 127, DiffPicOrderCnt( picl, pic0 )) 15-6其中,對(duì)于15-5和15-6兩個(gè)式子來(lái)說(shuō),由于picl和picO的個(gè)數(shù)為有限個(gè)(在 H,264標(biāo)準(zhǔn)文檔中有^皮露),在全會(huì)定當(dāng)前幀或場(chǎng)(currPicOrField)的情況下,tb 和td的個(gè)數(shù)也是有限個(gè);由于tb和td的個(gè)數(shù)也是有限個(gè),因而4艮據(jù)式子15-1, tx 的取值也是有限個(gè);因而,根據(jù)式子15-2,距離縮放因子(DistscaleFactor)的 取值也是有限個(gè)。因此,同樣可以在熵解碼之前由計(jì)算模塊158和存儲(chǔ)模塊160 提前計(jì)算得到距離縮放因子的有限個(gè)值的結(jié)果并存儲(chǔ),進(jìn)而在執(zhí)行至運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程中式子15-3的計(jì)算時(shí)直接通過(guò)地址控制模塊161讀取已經(jīng)計(jì)算好的結(jié)果 即可,這樣也可以大大的加快運(yùn)動(dòng)矢量的預(yù)測(cè)過(guò)程,提高效率。同樣的,對(duì)于所述提前計(jì)算存儲(chǔ)的數(shù)據(jù)可以以查找表的形式存在,在使用 時(shí)通過(guò)相關(guān)的索引字段查找相應(yīng)的值即可。由于過(guò)程與AVS標(biāo)準(zhǔn)類(lèi)似,本領(lǐng)域 普通技術(shù)人員完全可以在以上描述的基礎(chǔ)上不花費(fèi)創(chuàng)造性勞動(dòng)來(lái)得到在H.264 標(biāo)準(zhǔn)中的應(yīng)用,因此,為避免重復(fù)闡述,在此不進(jìn)行進(jìn)一步的展開(kāi)。通過(guò)以上全部的闡述,本領(lǐng)域普通技術(shù)人員完全可以實(shí)現(xiàn)在AVS、 R264標(biāo) 準(zhǔn)直接應(yīng)用本發(fā)明,并且在不花費(fèi)創(chuàng)造性的勞動(dòng)的前提下而推廣應(yīng)用于H.263、 MPEG4等視頻編解碼標(biāo)準(zhǔn)中,無(wú)論應(yīng)用于何種視頻編解碼標(biāo)準(zhǔn)其都在本發(fā)明的 保護(hù)范圍內(nèi)。以上所揭露的僅為本發(fā)明 一種較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定本發(fā) 明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的 范圍。
權(quán)利要求
1. 一種視頻編解碼中的位置索引方法,包括以下步驟A、計(jì)算并存儲(chǔ)至少部分重復(fù)計(jì)算的所有可能結(jié)果;B、創(chuàng)建用于定位讀取步驟A所存儲(chǔ)結(jié)果的地址控制裝置;C、在視頻編解碼過(guò)程中,執(zhí)行至所述至少部分重復(fù)計(jì)算時(shí),調(diào)用所述地址控制裝置讀取相應(yīng)的結(jié)果。
2、 根據(jù)權(quán)利要求1所述的位置索引方法,其特征在于,所述位置索引方法 應(yīng)用于視頻編解碼過(guò)程中的運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程,步驟A計(jì)算并存儲(chǔ)運(yùn)動(dòng)矢量預(yù) 測(cè)中至少部分重復(fù)計(jì)算的所有可能結(jié)果。
3、 根據(jù)權(quán)利要求1或2所述的位置索引方法,其特征在于,步驟A中所述 所有可能結(jié)果以查找表的形式存儲(chǔ);并且,步驟B中所述地址控制裝置為位置 索引裝置,通it^索引字段的確定來(lái)定位需要讀取的所述所有可能的結(jié)果。
4、 根據(jù)權(quán)利要求3所述的位置索引方法,其特征在于,其應(yīng)用于AVS視頻 編解碼標(biāo)準(zhǔn)、MPEG2視頻編解碼標(biāo)準(zhǔn)或H.264視頻編解碼標(biāo)準(zhǔn)。
5、 根據(jù)權(quán)利要求4所述的位置索引方法,其特征在于所述三種視頻編解 碼標(biāo)準(zhǔn)的解碼過(guò)程包括對(duì)#見(jiàn)頻碼流進(jìn)行熵解碼的熵解碼步驟及對(duì)$見(jiàn)頻信號(hào)進(jìn)行預(yù)測(cè)重建并輸出重建后的視頻信號(hào)的預(yù)測(cè)重建的步驟;并且,所述步驟A和步 驟B設(shè)置在熵解碼步驟之前,所述步驟C在預(yù)測(cè)重建步驟當(dāng)中。
6、 根據(jù)權(quán)利要求5所述的位置索引方法,其特征在于,所述熵解碼步驟和 預(yù)測(cè)重建步驟之間還包括反量化步驟,用于對(duì)接收到的視頻碼流的量化系數(shù)進(jìn)行縮放,得到變換系數(shù);反變換步驟,用于將所述變換系數(shù)轉(zhuǎn)換為空域值。
7、 一種^L頻解碼器,包括計(jì)算模塊,用于計(jì)算運(yùn)動(dòng)矢量預(yù)測(cè)中至少部分重復(fù)計(jì)算的所有可能結(jié)果; 存儲(chǔ)模塊,用于存儲(chǔ)所述計(jì)算模塊得到的所有可能結(jié)果; 地址控制模塊,用于定位讀取所述存儲(chǔ)模塊所存儲(chǔ)結(jié)果; 運(yùn)動(dòng)矢量預(yù)測(cè)模塊,用于進(jìn)行運(yùn)動(dòng)矢量預(yù)測(cè),當(dāng)執(zhí)行至所述至少部分重復(fù) 計(jì)算時(shí),調(diào)用所述地址控制裝置讀取相應(yīng)的結(jié)果,并完成運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程。
8、 根據(jù)權(quán)利要求7所述的視頻解碼器,其特征在于,還包括熵解碼模塊、 反量化反變換模塊、運(yùn)動(dòng)補(bǔ)償模塊及重構(gòu)模塊;所述視頻碼流依次經(jīng)過(guò)所述熵 解碼模塊、反量化反變換模塊、運(yùn)動(dòng)矢量預(yù)測(cè)模塊、運(yùn)動(dòng)補(bǔ)償模塊及重構(gòu)模塊, 并最終輸出重構(gòu)后的視頻圖像;并且,所述計(jì)算模塊和存儲(chǔ)模塊工作于所述熵 解碼之前,所述地址控制模塊工作于運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程。
9、 根據(jù)權(quán)利要求8所述的視頻解碼器,其特征在于,所述所有可能結(jié)果以 查找表的形式存儲(chǔ)于所述存儲(chǔ)模塊中;所述地址控制模塊為位置索引模塊,其 通過(guò)對(duì)索引字段的確定來(lái)定位需要讀取的所述所有可能的結(jié)果。
10、 根據(jù)權(quán)利要求7至9中任一項(xiàng)所述的視頻解碼器,其特征在于,其應(yīng) 用于AVS 一見(jiàn)頻編解碼標(biāo)準(zhǔn)、MPEG2 ^L頻編解碼標(biāo)準(zhǔn)或H.264 ^L頻編解碼標(biāo)準(zhǔn)。
全文摘要
本發(fā)明公開(kāi)了一種視頻編解碼中的位置索引方法,包括以下步驟A.計(jì)算并存儲(chǔ)至少部分重復(fù)計(jì)算的所有可能結(jié)果;B.創(chuàng)建用于定位讀取步驟A所存儲(chǔ)結(jié)果的地址控制裝置;C.在視頻編解碼過(guò)程中,執(zhí)行至所述至少部分重復(fù)計(jì)算時(shí),調(diào)用所述地址控制裝置讀取相應(yīng)的結(jié)果。本發(fā)明由于將原來(lái)需要進(jìn)行的大量運(yùn)算通過(guò)提前計(jì)算出并存儲(chǔ),以此構(gòu)成查找表,進(jìn)而在實(shí)際的運(yùn)算尤其是實(shí)際的運(yùn)動(dòng)矢量預(yù)測(cè)過(guò)程中僅需通過(guò)查事先存儲(chǔ)的結(jié)果(查找表)即可獲得相應(yīng)的結(jié)果,這樣大大節(jié)省了時(shí)間,提高了系統(tǒng)的實(shí)時(shí)性。相應(yīng)的,本發(fā)明還提出一種視頻解碼器。
文檔編號(hào)H04N7/46GK101257625SQ200810015490
公開(kāi)日2008年9月3日 申請(qǐng)日期2008年4月1日 優(yōu)先權(quán)日2008年4月1日
發(fā)明者微 劉, 韶 劉 申請(qǐng)人:海信集團(tuán)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1