欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

幀間編碼的快速模式判定的制作方法

文檔序號:7587502閱讀:184來源:國知局
專利名稱:幀間編碼的快速模式判定的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于減少視頻編碼的計算復(fù)雜度同時保持視頻壓縮效率的技術(shù)。
背景技術(shù)
當(dāng)前存在各種技術(shù)來壓縮(編碼)視頻流以便于存儲和傳輸。許多公知的編碼技術(shù)同時依賴于空間和時間相似性。所提出的H.264編碼技術(shù)(還已知為JVT和MPEG AVC)指定了針對幀間的幀間和幀內(nèi)編碼(P和B幀)。每一個單獨(dú)宏塊可以經(jīng)過幀內(nèi)編碼,即,使用空間相關(guān),或利用來自先前編碼的幀的時間相關(guān)的幀間編碼。通常,編碼器根據(jù)編碼效率和主觀質(zhì)量考慮,針對每一個宏塊進(jìn)行幀間/幀內(nèi)編碼判定。典型地,根據(jù)先前幀較好預(yù)測的宏塊經(jīng)過幀間編碼,而未根據(jù)先前幀較好預(yù)測的宏塊和具有低空間活動性的宏塊典型地經(jīng)過幀內(nèi)編碼。
所提出的JVT/ITU H.264編碼技術(shù)允許對16×16宏塊的各種塊分割,以便進(jìn)行幀間編碼。特別地,所提出的H.264編碼技術(shù)容許對16×16宏塊的16×16、16×8、8×16和8×8分割和對8×8子宏塊的8×8、8×4、4×8、4×4分割、以及多重參考圖像。另外,所提出的H.264編碼技術(shù)還支持跳躍和幀內(nèi)模式。這存在兩種類型的幀內(nèi)模式4×4和16×16,此后稱之為INTRA_4×4和INTRA_16×16。INTRA_4×4模式支持9個預(yù)測模式,而INTRA_16×16模式支持4個預(yù)測模式。所有這些選擇已經(jīng)極大地增加了與及時(timely)方式進(jìn)行判定相關(guān)聯(lián)的復(fù)雜性。
因此,需要一種簡化模式判定的技術(shù)。

發(fā)明內(nèi)容
簡要地,根據(jù)優(yōu)選實施例,提出了一種對能夠分割為多個不同塊尺寸的宏塊進(jìn)行編碼的方法。最初,選擇塊尺寸的子集。估計與子集中的每一個塊尺寸相關(guān)的圖像的運(yùn)動以建立最佳運(yùn)動矢量。對于每一個塊尺寸,建立失真測量。根據(jù)該失真測量,判定針對未在子集內(nèi)的塊尺寸,是否應(yīng)該發(fā)生運(yùn)動估計。如果不應(yīng)該,則編碼器選擇用于根據(jù)所選的子集的塊尺寸的估計運(yùn)動來編碼宏塊的編碼模式。


圖1示出了根據(jù)JVT壓縮標(biāo)準(zhǔn)對視頻進(jìn)行編碼的傳統(tǒng)編碼器的方框示意圖;圖2以流程圖的形式示出了根據(jù)針對幀間編碼進(jìn)行判定的當(dāng)前原理的方法;圖3以流程圖的形式示出了根據(jù)針對幀內(nèi)編碼進(jìn)行判定的當(dāng)前原理的方法。
具體實施例方式
為了更好地理解本原理的編碼方法,參考圖1,圖1示出了用于編碼輸入視頻流的典型JVT編碼器10的結(jié)構(gòu)的方框圖。編碼器10包括第一塊12,用于接收在其正輸入處向其提供來自視頻源(未示出)的輸入視頻幀的求差塊13的輸出。塊12對從求差塊13接收到的每一個視頻幀進(jìn)行量化,然后執(zhí)行塊變換以產(chǎn)生量化幀以及相應(yīng)的變換系數(shù)集。
環(huán)路14反饋由塊12輸出的每一個量化幀和相應(yīng)的變換系數(shù)以實現(xiàn)預(yù)測幀的形成(P或B幀)。環(huán)路14包括塊15,分別對來自塊12的量化幀和變換系數(shù)執(zhí)行反量化和反變換,以便在求和(summation)塊16的第一輸入處接收,求和塊16的輸出與解塊濾波器18相連。所述解塊濾波器18對從求和塊16接收到的每一個視頻幀進(jìn)行解塊。這樣濾波后的幀存儲在幀存儲器20中,從而產(chǎn)生了多重參考幀22的存儲。使用存儲在幀存儲器20中的參考幀22,預(yù)測塊24產(chǎn)生根據(jù)由運(yùn)動估計塊26產(chǎn)生的運(yùn)動矢量運(yùn)動補(bǔ)償后的重構(gòu)預(yù)測幀。
JVT視頻編碼標(biāo)準(zhǔn)允許對P和B幀的幀間編碼和幀內(nèi)編碼。為了實現(xiàn)幀間編碼,求差(differance)塊13使其負(fù)輸出經(jīng)由選擇器27與運(yùn)動補(bǔ)償塊24相連。按照該方式,求差塊13將從每一個輸入視頻幀中減去一個和多個補(bǔ)償后的參考幀22。選擇器27通過將求差塊13的負(fù)輸入與提供幀內(nèi)編碼參考幀的幀內(nèi)模式塊28相連來實現(xiàn)幀內(nèi)編碼。JVT視頻編碼標(biāo)準(zhǔn)支持兩種用于幀內(nèi)編碼的塊類型(尺寸)4×4和16×16。4×4塊尺寸支持9個預(yù)測模式垂直、水平、DC、對角線下/左、對角線下/右、垂直左、垂直下、垂直右和水平上預(yù)測。16×16塊尺寸支持4個預(yù)測模式垂直、水平、DC和平面預(yù)測。選擇器27實現(xiàn)空模式,在該空模式下,求差塊的負(fù)輸出既不接收來自運(yùn)動補(bǔ)償預(yù)測塊24的重構(gòu)幀也不接收幀內(nèi)模式塊28的輸出。在該模式下,塊12接收輸入視頻幀,而無需相減。
圖1所示的編碼器10包括熵編碼塊30,用于組合將來自塊12的量化幀和變換系數(shù)與來自運(yùn)動估計器26的運(yùn)動數(shù)據(jù)和控制數(shù)據(jù)組合在一起以產(chǎn)生編碼視頻幀。在熵編碼塊30的輸出處所產(chǎn)生的每一個編碼幀傳遞到網(wǎng)絡(luò)抽象層(NAL)(未示出)以便存儲和/或后續(xù)傳輸。熵編碼器30可以利用可變長度編碼(VLC)或基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)。
所提出的H.264編碼技術(shù)使用了樹形結(jié)構(gòu)的分層宏塊分割。幀間編碼16×16像素宏塊可以分割為宏塊尺寸16×8、8×16或8×8。還可以存在已知為子宏塊的8×8的宏塊分割。子宏塊可以分割為尺寸為8×4、4×8和4×4的子宏塊。典型地,編碼器10根據(jù)特定宏塊的特性,選擇如何將宏塊劃分為分區(qū)和子宏塊分區(qū)以便使壓縮效率和主觀質(zhì)量最大化。
如所述的,編碼器10可以利用多重參考圖像來進(jìn)行幀間預(yù)測。在此,參考圖像索引識別特定參考圖像。P圖像(或P片斷)利用單向預(yù)測和用于管理容許參考圖像的單列表(列表0)。指定為列表0和列表1的參考圖像的雙列表用于管理針對B圖像(或B片斷)的參考圖像的兩個集合。JVT視頻編碼標(biāo)準(zhǔn)允許利用針對B圖像(或B片斷)的列表0或列表1的單向預(yù)測。當(dāng)使用雙預(yù)測時,將列表0和列表1預(yù)測體一起進(jìn)行平均以形成最終預(yù)測體。每一個宏塊分區(qū)可以具有獨(dú)立的參考圖像索引、預(yù)測類型(列表0、列表1、雙預(yù)測)和獨(dú)立運(yùn)動矢量。每一個子宏塊分區(qū)可以具有獨(dú)立運(yùn)動矢量,而相同子宏塊內(nèi)的所有子宏塊分區(qū)使用相同的參考圖像索引和預(yù)測類型。
對于幀間編碼宏塊,P幀還可以支持除了上述宏塊分割之外的跳躍(SKIP)模式,而B幀可以同時支持跳躍和直接(DIRECT)模式。在跳躍模式下,不會出現(xiàn)運(yùn)動和殘余信息編碼。運(yùn)動矢量保持與運(yùn)動矢量預(yù)測體相同。在直接模式下,不對運(yùn)動信息進(jìn)行編碼,而對預(yù)測殘余進(jìn)行編碼。根據(jù)空間或時間相鄰宏塊來推斷該運(yùn)動矢量。宏塊和子宏塊均支持直接模式。
過去,諸如圖1所示的編碼器10等JVT編碼器已經(jīng)利用了速率失真優(yōu)化(RDO)框架來判定是利用幀內(nèi)模式或幀間模式來進(jìn)行編碼。對于幀間模式編碼,編碼器考慮單獨(dú)來自模式判定的運(yùn)動估計。針對所有塊類型,首先出現(xiàn)運(yùn)動估計,然后編碼器通過比較利用幀間模式和幀內(nèi)模式對每一個塊進(jìn)行編碼的成本(速率和失真的組合)來進(jìn)行模式判定。編碼器選擇具有最小成本的模式作為最佳模式。如果了給定了最大數(shù)量的可能塊尺寸,則按照該方式選擇編碼模式消耗了相當(dāng)大的資源。
本原理的編碼技術(shù)緩解了與為了幀間編碼而進(jìn)行的模式判決相關(guān)聯(lián)的大部分復(fù)雜度。本技術(shù)減小了可能考慮的塊尺寸的數(shù)量并限制了用于運(yùn)動估計的過去的編碼參考圖像的集合。按照該方式,針對一些塊類型和參考圖像的運(yùn)動估計變得不必要。本技術(shù)還減少了測試的幀內(nèi)模式的數(shù)量。
為了簡化當(dāng)前模式選擇技術(shù)的解釋,將這些模式劃分為兩類幀間模式和幀內(nèi)模式。為了討論,幀間模式包括跳躍模式(和針對B圖像的直接模式)和不同塊尺寸,包括16×16、16×8、8×16、8×8、8×4、4×8、4×4。幀內(nèi)模式包括INTRA 4×4模式和INTRA 16×16模式。P圖像最適合于說明本技術(shù),盡管該技術(shù)也可以適合于B圖像。對于B圖像,按照相同的方式來對待跳躍模式和直接模式,并且直接模式還考慮了用于選擇最佳模式的子宏塊。
當(dāng)前模式選擇技術(shù)與模式判定聯(lián)合地進(jìn)行運(yùn)動估計。在其選擇時,針對特定的幀間模式來進(jìn)行運(yùn)動估計。對于幀間模式,跳躍模式并不需要運(yùn)動搜索,因而具有最低的計算復(fù)雜度。根據(jù)本原理,跳躍模式保持為單獨(dú)的,并利用其較低復(fù)雜度而接受最高優(yōu)先級。對于對塊尺寸的模式判定,本原理的技術(shù)比較失真(差錯)測量和塊尺寸之間的比值是否為單調(diào)的。之后被稱為差錯表面的該比值提供了關(guān)于失真是否隨著塊尺寸的減少而持續(xù)減小的測量。
最初,僅針對以下三種初始塊尺寸的每一個出現(xiàn)差錯表面計算16×16、8×8和4×4。在該上下文中,術(shù)語“8×8”表示僅使用8×8分區(qū)對整個宏塊的檢查,而術(shù)語“4×4”表示僅使用4×4分區(qū)對整個宏塊的檢查。如果J(16×16)<J(8×8)<J(4×4)或J(16×16)>J(8×8)>J(4×4),則差錯表面具有單調(diào)屬性,其中運(yùn)算符J表示差錯表面運(yùn)算符。針對16×16、8×8和4×4塊尺寸的差錯表面計算將確定是否測試其他模式,例如16×8、8×16或更精細(xì)的子宏塊分區(qū)。在不存在單調(diào)差錯表面的情況下,所有其他塊尺寸必須經(jīng)過測試。如果該表面是單調(diào)的,則最佳兩個塊尺寸之間的塊尺寸需要進(jìn)一步的測試。
例如,如果兩個最佳宏塊尺寸是16×16和8×8(暗含著該宏塊趨向于使用更大的塊分區(qū)),則僅16×8和8×16的塊尺寸還需要進(jìn)一步測試。相反,如果兩個最佳塊尺寸是8×8和4×4,則這暗含著通過越小的塊分區(qū)(或子宏塊分區(qū))會越好地對宏塊進(jìn)行預(yù)測,并且僅8×4和4×8塊尺寸需要進(jìn)一步測試。
圖2以流程圖的形式示出了根據(jù)用于針對幀間編碼進(jìn)行模式判定的當(dāng)前原理的方法步驟。在執(zhí)行步驟200時,該方法開始,其中對編碼器10內(nèi)的各個元件進(jìn)行復(fù)位。接下來,在步驟202期間,發(fā)生了針對跳躍模式的差錯表面計算。在步驟204期間,判定針對跳躍模式的差錯表面是否小于第一閾值T1。如果是這樣,則跳躍模式構(gòu)造針對幀間編碼的最佳模式,并且在步驟206,進(jìn)行跳躍模式的選擇。之后,在執(zhí)行步驟208時,宏塊編碼結(jié)束。
如果在步驟204期間跳躍模式差錯表面等于或超過T1,則在步驟210期間建立針對16×16和8×8塊尺寸的每一個的差錯表面。在步驟212期間,判定是否J(跳躍)<J(16×16)和J(跳躍)<J(8×8)。如果J(跳躍)<J(16×16)和J(跳躍)<J(8×8),則發(fā)生步驟214,并選擇最佳幀間模式,考慮運(yùn)動矢量的編碼成本、模式自身和剩下的殘余。否則,當(dāng)條件J(跳躍)<J(16×16)和J(跳躍)<J(8×8)不為真時,則發(fā)生步驟216,并且計算4×4模式的差錯表面。根據(jù)以下假定來預(yù)測跳躍模式的成本與塊尺寸16×16和8×8的成本的比較如果針對跳躍模式的RD成本最小,則針對具有比跳躍模式更低成本的其他塊類型的概率將非常小,從而需要校驗其他幀間模式。
在步驟216之后,在步驟218期間校驗是否MinJ=J(8×8)或MaxJ=J(8×8)。如果是這樣,在進(jìn)行到步驟214之前,在步驟219期間,發(fā)生了對16×8、8×16、8×4和4×8的塊尺寸的每一個的差錯表面判定。否則,如果條件MinJ=J(8×8)||MaxJ=J(8×8)不為真,則發(fā)生步驟220,并校驗MaxJ=J(4×4)是否為真。如果為真,則在進(jìn)行到步驟214之前,在步驟222期間對16×8和8×16塊尺寸的差錯表面進(jìn)行判定。當(dāng)執(zhí)行步驟224和222時,并非所有的參考圖像需要進(jìn)行校驗。經(jīng)驗統(tǒng)計顯示僅需要在8×8和4×4模式塊尺寸的最佳參考圖像內(nèi)對8×4和4×8塊尺寸進(jìn)行校驗,同時在8×8和16×16模式塊尺寸的最佳參考圖像內(nèi)對16×8和8×16塊模式尺寸進(jìn)行校驗。
在步驟218和220之間進(jìn)行的比較表明差錯表面是否為單調(diào)的,如果為真,則避免了使圖1所示的編碼器10執(zhí)行步驟219期間進(jìn)行的差錯表面計算的需要。因此,在步驟218和220期間進(jìn)行的比較用于使針對其進(jìn)行差錯表面測量的塊尺寸的子集變窄,從而減少了編碼器的計算努力。
如果當(dāng)在步驟220期間進(jìn)行校驗時MaxJ=J(4×4)不為真,則發(fā)生了步驟224,在步驟224,在進(jìn)行到步驟214之前,計算子宏塊分區(qū)的差錯表面,否則不進(jìn)行計算。因此,在步驟224期間,針對每一個8×8的塊尺寸發(fā)生附加判定處理,以判定哪一類型將在4個子宏塊分區(qū)之間使用。僅8×4和4×8需要經(jīng)過測試。可以重新使用8×8和4×4的初始結(jié)果。之后,在步驟226期間校驗針對最佳幀間模式的殘余的能量是否超過了第二閾值T2。如果沒有,則在進(jìn)行到步驟208之間,在步驟228期間,根據(jù)在步驟214期間預(yù)先選擇的最佳幀間模式來進(jìn)行最佳模式的選擇(這假定針對幀間圖像,幀間模式總是比幀內(nèi)模式具有更高的優(yōu)先級)。
如果在步驟226期間針對最佳幀間模式的殘余的能量超過了T2,則發(fā)生步驟230,期間,在進(jìn)行到步驟228之前,針對最佳在內(nèi)模式進(jìn)行校驗,如參考圖3描述的。通過所述殘余的能量(成方形幅度)來測量幀間模式的性能,所述殘余構(gòu)成了原始信號和參考信號之間的差??梢愿鶕?jù)塊變換系數(shù)的絕對值的和、或當(dāng)前宏塊中的塊變換系數(shù)的數(shù)量來簡單計算該殘余。
圖3示出了與在執(zhí)行圖2的步驟230期間發(fā)生的幀內(nèi)模式判定相關(guān)聯(lián)的步驟。如圖3所示,在執(zhí)行步驟300時,幀間模式校驗開始,期間,判定最佳幀間模式的能量是否超過了第三閾值T3。如果沒有,則在進(jìn)行到圖2的步驟228之間,在步驟302期間發(fā)生了對DC模式的差錯表面的計算。如果在步驟300期間最佳幀間模式的能量超過了第三閾值T3,則在步驟304期間比較最佳幀間模式的能量是否超過了第四閾值T4。如果沒有,則在進(jìn)行到圖2的步驟228之前,在步驟306期間,針對垂直、水平和DC模式來建立差錯表面。否則,在進(jìn)行到圖2的步驟228之前,在步驟308期間對所有幀內(nèi)模式的差錯表面進(jìn)行校驗。
前文描述了通過結(jié)合幀間和幀內(nèi)編碼判定來減小努力量以減小視頻編碼計算復(fù)雜度的技術(shù)。
權(quán)利要求
1.一種對能夠分割為多個不同塊尺寸的宏塊進(jìn)行編碼的方法,包括步驟(a)選擇塊尺寸的子集;(b)估計與子集中的每一個塊尺寸相關(guān)聯(lián)的數(shù)據(jù)所表示的圖像的運(yùn)動,以建立針對所述每一個塊尺寸的最佳運(yùn)動矢量;(c)建立針對子集中的每一個塊尺寸的失真測量;(d)根據(jù)失真測量判定是否應(yīng)該對未處于子集內(nèi)的塊尺寸進(jìn)行運(yùn)動估計,而如果不應(yīng)該,則(e)選擇用于根據(jù)估計運(yùn)動對宏塊進(jìn)行編碼的編碼模式。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于從塊尺寸的子集中進(jìn)行選擇的步驟包括以下步驟選擇針對使用JVT編碼進(jìn)行編碼的16×16宏塊的子尺寸16×16、8×8和4×4。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于所述判定步驟包括以下步驟針對16×8、8×16、8×4和4×8塊尺寸進(jìn)行運(yùn)動估計。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于還包括步驟根據(jù)針對所選的塊尺寸子集所選的最佳參考圖像的集合,執(zhí)行對僅針對有限參考圖像集合的其他塊尺寸的運(yùn)動估計。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于還包括步驟根據(jù)失真測量的相對值,判定差錯塊表面是歸類為單調(diào)的還是非單調(diào)的。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于選擇編碼模式的步驟包括以下步驟選擇幀間模式和幀內(nèi)模式之一。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于所述確定步驟還包括以下步驟校驗幀間模式是否具有超過指定閾值的殘余。
8.根據(jù)權(quán)利要求8所述的方法,其特征在于所述判定步驟包括以下步驟判定針對有限幀內(nèi)模式集的失真測量。
9.一種對能夠分割為多個不同塊尺寸的宏塊進(jìn)行編碼的編碼器,所述編碼器執(zhí)行以下步驟(a)選擇塊尺寸的子集;(b)估計與子集中的每一個塊尺寸相關(guān)聯(lián)的數(shù)據(jù)所表示的圖像的運(yùn)動,以建立針對所述每一個塊尺寸的最佳運(yùn)動矢量;(c)建立針對子集中的每一個塊尺寸的失真測量;(d)根據(jù)失真測量判定是否應(yīng)該對未處于子集內(nèi)的塊尺寸進(jìn)行運(yùn)動估計,而如果不應(yīng)該,則(e)選擇用于根據(jù)估計運(yùn)動對宏塊進(jìn)行編碼的編碼模式。
10.根據(jù)權(quán)利要求9所述的編碼器,其特征在于所述編碼器通過選擇針對使用JVT編碼進(jìn)行編碼的16×16宏塊的子尺寸16×16、8×8和4×4,從塊尺寸的子集中進(jìn)行選擇。
11.根據(jù)權(quán)利要求9所述的編碼器,其特征在于所述編碼器針對16×8、8×16、8×4和4×8塊尺寸進(jìn)行運(yùn)動估計。
12.根據(jù)權(quán)利要求9所述的編碼器,其特征在于所述編碼器根據(jù)針對所選的塊尺寸子集所選的最佳參考圖像的集合,執(zhí)行對僅針對有限參考圖像集合的其他塊尺寸的運(yùn)動估計。
13.根據(jù)權(quán)利要求9所述的編碼器,其特征在于所述編碼器根據(jù)失真測量的相對值,判定差錯塊表面是歸類為單調(diào)的還是非單調(diào)的。
14.根據(jù)權(quán)利要求9所述的編碼器,其特征在于所述編碼器從幀間模式和幀內(nèi)模式之一中選擇編碼模式。
15.根據(jù)權(quán)利要求14所述的編碼器,其特征在于所述編碼器校驗幀間模式是否具有超過指定閾值的殘余。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于所述編碼器判定針對有限幀內(nèi)模式集的失真測量。
全文摘要
一種幀間編碼的快速模式判定,編碼器(10)通過最初限制對指定子集的可能模式(塊尺寸)的考慮并與模式聯(lián)合地執(zhí)行模式估計,實現(xiàn)了改進(jìn)的編碼效率??紤]最初的模式子集并進(jìn)行子集中的每一個塊的運(yùn)動估計以建立最佳運(yùn)動矢量。還對每一個子集進(jìn)行失真測量。根據(jù)失真測量,判定是否針對其他塊尺寸對運(yùn)動進(jìn)行估計。如果否,則根據(jù)估計的運(yùn)動來選擇編碼模式。按照該方式,不需要進(jìn)行對所有可能塊尺寸的運(yùn)動估計。
文檔編號H04N11/02GK1736103SQ200380108382
公開日2006年2月15日 申請日期2003年10月24日 優(yōu)先權(quán)日2003年1月10日
發(fā)明者尹鵬, 吉爾·麥克唐納·布瓦斯 申請人:湯姆森許可貿(mào)易公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
临江市| 来安县| 苍南县| 淮滨县| 玉环县| 恭城| 尖扎县| 平顶山市| 永昌县| 皋兰县| 石家庄市| 鸡泽县| 富川| 土默特右旗| 淮滨县| 哈尔滨市| 章丘市| 洛川县| 木兰县| 福州市| 天峻县| 邮箱| 双鸭山市| 浪卡子县| 顺昌县| 犍为县| 大港区| 万荣县| 宜丰县| 茂名市| 宁阳县| 于田县| 舒城县| 梅河口市| 平顶山市| 峨山| 博罗县| 灵璧县| 丘北县| 伊金霍洛旗| 和顺县|