亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

采用加權預測的運動估計的制作方法

文檔序號:7862822閱讀:323來源:國知局
專利名稱:采用加權預測的運動估計的制作方法
技術領域
本發(fā)明針對視頻編碼器與解碼器,更具體地講,針對在視頻編碼器與解碼器中采用加權預測的集成運動估計。
背景技術
視頻數(shù)據(jù)一般以比特流的形式處理與傳送。典型的視頻壓縮編碼器與解碼器(“CODEC”、編解碼器)通過對待編碼畫面進行基準畫面預測并且編碼當前畫面與預測之間的差異,獲得了它們的壓縮效率的很大一部分。預測與當前畫面愈緊密相關,壓縮該畫面就需要愈少的比特,從而增加了該處理的效率。由此,希望形成盡可能最佳的基準畫面預測。
在許多視頻壓縮標準中,包括運動圖像專家組(“MPEG”)-1、MPEG-2、以及MPEG-4,將先前基準畫面經過運動補償?shù)陌姹居米鳟斍爱嬅娴念A測,并且只編碼當前畫面與預測之間的差異。當使用單一畫面預測(“P”畫面)時,在形成經過運動補償?shù)念A測時不縮放(scale)基準畫面。當使用雙向畫面預測(“B”畫面)時,從兩個不同的畫面形成中間預測,然后使用對每個都相等的加權因子(1/2、1/2)將兩個中間預測一起平均,以形成單一的平均預測。在這些MPEG標準中,兩個基準畫面總是一個來自B畫面的前向方向,一個來自后向方向。

發(fā)明內容
現(xiàn)有技術的這些以及其他缺點與不足由視頻編碼器與解碼器中加權預測的集成運動估計的系統(tǒng)與方法來解決。
提供了一種視頻編碼器與解碼器,用來編碼與解碼圖像塊的視頻信號數(shù)據(jù)以及預測該圖像塊的特定基準畫面索引,其中編碼器包含基準畫面加權因子選擇器,該選擇器具有用來指示相應于該特定基準畫面索引的加權因子的輸出;與基準畫面加權因子選擇器信號通信的乘法器,用來提供基準畫面的加權后版本;以及與乘法器信號通信的運動估計器,用來提供相應于基準畫面的加權后版本的運動向量。相應的解碼器包含具有用來確定相應于特定基準畫面索引的加權因子的輸出的基準畫面加權因子單元。
用來編碼圖像塊視頻信號數(shù)據(jù)的相應方法包含下列步驟接收基本未壓縮的圖像塊,對于相應于特定基準畫面的圖像塊分配加權因子,用該加權因子加權基準畫面,相應于圖像塊與加權后基準畫面之間的差異計算運動向量,相應于運動向量運動補償加權后的基準畫面,響應于經過運動補償與加權的基準畫面改進加權因子選擇,相應于運動向量運動補償原始的未加權基準畫面,將經過運動補償?shù)脑蓟鶞十嬅娉艘运峙涞募訖嘁蜃右孕纬山涍^加權與運動補償?shù)幕鶞十嬅?,從基本未壓縮的圖像塊中減去經過加權與運動補償?shù)幕鶞十嬅妫约熬幋a指示基本未壓縮的圖像塊與經過加權與運動補償?shù)幕鶞十嬅嬷g差異的信號。
本發(fā)明的這些以及其他方面、特征與優(yōu)點將從以下參照附圖對示范性實施方式的描述中看出。


根據(jù)以下示范性附圖,本發(fā)明包含在解碼器與編碼器中具有加權預測的集成運動估計,其中圖1顯示標準視頻編碼器的方框圖;圖2顯示具有基準畫面加權的視頻編碼器的方框圖;圖3顯示根據(jù)本發(fā)明原理的、具有集成運動估計與加權預測的視頻編碼器的方框圖;圖4顯示標準視頻解碼器的方框圖;圖5顯示具有自適應雙向預測的視頻編碼器的方框圖;圖6顯示根據(jù)本發(fā)明原理的編碼過程的流程圖;
圖7顯示根據(jù)本發(fā)明原理的解碼過程的流程圖。
具體實施例方式
本發(fā)明提供了一種高效處理過程,用于集成運動向量估計與自適應基準畫面加權因子選擇。迭代處理被用來估計初始加權因子并用在運動估計處理中。根據(jù)運動估計處理的結果,改進加權因子估計。當在編碼中使用加權因子時,視頻編碼器確定加權因子與運動向量兩者,但是對于兩者中一個的最佳選擇取決于另一個。運動估計一般為數(shù)字視頻壓縮編碼器中計算量最大的部分。
在某些視頻序列中,尤其在那些具有淡變(fading)的視頻序列中,待編碼的當前畫面或者圖像塊與通過加權因子縮放的基準畫面比與基準畫面自身更強地相關。沒有向基準畫面施加加權因子的視頻編解碼器對淡變序列的編碼非常低效。
在人們提出的聯(lián)合視頻組(“JVT(Joint Video Team)”)視頻壓縮標準中,每個P畫面可以使用多個基準畫面來形成畫面的預測,但是每個個別的運動塊或者宏塊的8x8區(qū)域只使用單一的基準畫面進行預測。除編碼并傳送運動向量之外,對于每個運動塊或者8×8區(qū)域還傳送基準畫面索引,以指示使用哪個基準畫面。在編碼器與解碼器兩者處存儲可能基準畫面的有限集合,并且傳送許可基準畫面的數(shù)目。
在JVT標準中,對于雙向預測畫面(也稱為“B”畫面),對于每個運動塊或者8x8區(qū)域形成兩個預測算子(predictor),其中每個都可以從分離的基準畫面形成,并且這兩個預測算子一起平均以形成單一平均預測算子。對于雙向預測的已編碼運動塊,基準畫面可以都來自前向方向、都來自后向方向、或者一個來自前向一個來自后向方向。對于可以用于預測的可用基準畫面,維護兩個列表。這兩個基準畫面稱為列表0與列表1預測算子。分別編碼并傳送每個基準畫面的對于列表0與列表1基準畫面的索引,red_idx_I0與red_idx_ I1。聯(lián)合視頻組(“JVT”)雙向預測或者“B”畫面允許兩個預測之間的自適應加權,即,Pred=[(P0)*(Pred0)]+[(P1)*(Pred1)]+D,其中P0與P1為加權因子,Pred0與Pred1分別為列表0與列表1的基準畫面預測,D為偏移。
為指示加權因子,已經提出了兩種方法。在第一種方法中,通過用于基準畫面的方向,確定加權因子。在這種方法中,如果red_idx_I0索引小于或等于red_idx_I1,則使用加權因子(1/2,1/2),否則使用因子(2,-1)。
在人們提出的第二種方法中,對于每個片段(slice),傳送任意數(shù)目的加權因子。然后,對于使用雙向預測的宏塊的每個8×8區(qū)域或者運動塊傳送加權因子索引。解碼器使用收到的加權因子索引來從所傳送的集合中選擇適當?shù)募訖嘁蜃樱栽诮獯a運動塊或者8x8區(qū)域時使用。例如,如果在該片段層發(fā)送三個加權因子,則它們分別相應于加權因子索引0、1、2。
以下描述只說明了本發(fā)明的原理。因此應該理解本領域技術人員能夠設想雖然此處沒有明確描述或者顯示、但是包含了本發(fā)明原理、并且包含在本發(fā)明精神與范圍內的各種結構。另外,此處列舉的所有的例子與條件性語言主要是用來只用于教學目的,以幫助讀者理解本發(fā)明人對現(xiàn)有技術作出貢獻的本發(fā)明的原理與構思,并且應該被理解為不限于具體地列舉的這些例子與條件。另外,此處指出本發(fā)明原理、方面、以及實施方式的所有陳述及其特定例子都是用來覆蓋其結構與功能等價物兩者。另外,這些等價物意在包含當前已知的等價物以及將來開發(fā)的等價物,即,不管結構如何,執(zhí)行同樣功能的所開發(fā)的任何元件。
由此,例如,本領域技術人員應該理解此處的方框圖表示實現(xiàn)本發(fā)明原理的說明性電路的概念圖。類似地,應該理解任何流程表、流程圖、狀態(tài)轉換圖、偽代碼等等表示可能實際上在計算機可讀介質中表示的、并且由計算機或者處理器執(zhí)行的各種處理或進程,而不管是否明確顯示了這樣的計算機或者處理器。
圖中所示各種元件的功能可以通過使用專用硬件以及能夠與適當軟件相結合地執(zhí)行軟件的硬件提供。當由處理器提供時,這些功能可以由單一的專用處理器提供,或者由多個單獨的處理器提供,其中某些處理器可以是共享的。另外,對于直接使用術語“處理器”或者“控制器”,不應該被理解為只指能夠執(zhí)行軟件的硬件,而可能暗含地包含、但不限于數(shù)字信號處理器(“DSP”)硬件、存儲軟件的只讀存儲器(“ROM”)、隨機訪問存儲器(“RAM”)、以及非易失存儲器。類似地,圖中顯示的任何開關都只是概念性的。其功能可以通過來程序邏輯的運行、通過專用邏輯電路、通過程序控制與專用邏輯電路的交互、甚或手動地執(zhí)行,其中實現(xiàn)者可以根據(jù)具體情況選擇具體的技術。
在權利要求中,任何被表示為用于執(zhí)行指定功能的部件的元件用來包含執(zhí)行該功能的所有方式,包含(例如)a)執(zhí)行該功能電路元件的組合,或者b)任何形式的軟件,因此包含固件、微代碼等等,其與執(zhí)行該軟件的適當電路結合以執(zhí)行該功能。這樣的權利要求所限定的發(fā)明包含在以下事實之中以權利要求所要求的方式,組合和匯合由所指出的各種部件提供的功能。因此,申請人將可以提供那些功能的任何部件都認為是此處所示部件的等價物。
如圖1所示,標號100總體表示標準視頻編碼器。編碼器100的輸入與求和點110的正相輸入端信號通信連接。求和點110的輸出與塊變換器120進行信號通信連接。變換器120與量化器130信號通信連接。量化器1 30的輸出與變長編碼器(“VLC”)140信號通信連接,其中VLC 140的輸出為編碼器100的外部可獲得輸出。
量化器130的輸出還與逆量化器150信號通信連接。逆量化器150與逆塊變換器160信號通信連接,逆塊變換器160進而與基準畫面存儲器170信號通信連接。基準畫面存儲170的第一輸出端與運動估計器180的第一輸入端信號通信連接。編碼器100的輸入端還與運動估計器180的第二輸入端信號通信連接。運動估計器180的輸出與運動補償器190的第一輸入端信號通信連接?;鶞十嬅娲鎯ζ?70的第二輸出與運動補償器190的第二輸入端信號通信連接。運動補償器190的輸出與求和點110的反相輸入端信號通信連接。
轉到圖2,標號200總體表示具有基準畫面加權的視頻編碼器。編碼器200的輸入與求和點210的正相輸入端信號通信連接。求和點210的輸出與塊變換器220信號通信連接。變換器220與量化器230信號通信連接。量化器230的輸出與VLC 240信號通信連接,其中VLC 240的輸出為編碼器200的外部可獲得輸出。
量化器230的輸出還與逆量化器250信號通信連接。逆量化器250與逆塊變換器260信號通信連接,逆塊變換器260進而與基準畫面存儲器270信號通信連接。基準畫面存儲器270的第一輸出與基準畫面加權因子分配器272的第一輸入端信號通信連接。編碼器200的輸入端還與基準畫面加權因子分配器272的第二輸入端信號通信連接。指示加權因子的基準畫面加權因子分配器272的輸出與運動補償器280的第一輸入端信號通信連接?;鶞十嬅娲鎯ζ?70的第二輸出與運動補償器280的第二輸入端信號通信連接。
編碼器200的輸入還與運動估計器280的第三輸入端信號通信連接。指示運動向量的運動估計器280的輸出與運動補償器290的第一輸入端信號通信連接。基準畫面存儲270器的第三輸出與運動補償器290的第二輸入端信號通信連接。指示經過運動補償?shù)幕鶞十嬅娴倪\動補償器290的輸出與乘法器292的第一輸入端信號通信連接。指示加權因子的基準畫面加權因子分配器272的輸出與乘法器292的第二輸入端信號通信連接。乘法器292的輸出與求和點210的反相輸入端信號通信連接。
現(xiàn)在轉到圖3,標號300總體表示具有集成運動估計與加權預測的視頻編碼器。編碼器300的輸入與求和點310的正相輸入端信號通信連接。求和點310的輸出與塊變換器320通信連接。變換器320與量化器330信號通信連接。量化器330的輸出與VLC 340信號通信連接,其中VLC 340的輸出為編碼器300的外部可獲得輸出。
量化器330的輸出還與逆量化器350信號通信連接。逆量化器350與逆塊變換器360信號通信連接,逆塊變換器360進而與基準畫面存儲器370信號通信連接?;鶞十嬅娲鎯ζ?70的第一輸出與基準畫面加權因子選擇器372的第一輸入端信號通信連接。編碼器300的輸入端還與基準畫面加權因子選擇器372的第二輸入端信號通信連接,以將當前畫面提供給選擇器。指示加權因子的基準畫面加權因子選擇器372的輸出與乘法器374的第一輸入端信號通信連接。乘法器374的第二輸入與基準畫面存儲器370的基準畫面輸出端信號通信連接。應該注意雖然簡單地顯示為乘法器374,但是本領域技術人員顯然可以設想非乘法器的其他類型的加權因子施加器,而所有這些都被認為處于本發(fā)明的精神與范圍之內。
乘法器374的輸出與加權基準畫面存儲器376信號通信連接。加權基準畫面存儲器376的輸出與運動估計器380的第一輸入端信號通信連接,用來提供加權后的基準畫面。運動估計器380的輸出與第一運動補償器382通信連接,用來提供運動向量。運動估計器380的輸出還與第二運動補償器390的第一輸入端信號通信連接。加權基準畫面存儲376的第二輸出與第一運動補償器382的第二輸入端信號通信連接。
指示經過加權與運動補償?shù)幕鶞十嬅娴牡谝贿\動補償器382的輸出與絕對差生成器384的第一輸入端通信連接。作為當前畫面的編碼器300的輸入還與絕對差生成器384的第二輸入端信號通信連接。絕對差生成器384的輸出與基準畫面加權因子選擇器372的第三輸入端信號通信連接。
基準畫面存儲器370的第三輸出與第二運動補償器390的第二輸入端信號通信連接。指示經過運動補償?shù)幕鶞十嬅娴牡诙\動補償器390的輸出與乘法器392的第一輸入端信號通信連接?;鶞十嬅婕訖嘁蜃舆x擇器372的輸出與求和點310的反相輸入端信號通信連接。
如圖4所示,標號400部分表示標準視頻解碼器。視頻解碼器400包含與逆量化器420信號通信連接的變長解碼器(“VLD”)440。逆量化器420與逆變換器430信號通信連接。逆變換器430與加法器或者求和點440的第一輸入端信號通信連接,其中求和點440的輸出提供視頻解碼器400的輸出。求和點440的輸出與基準畫面存儲450信號通信連接。基準畫面存儲450與運動補償器460信號通信連接,運動補償器460與求和點440的第二輸入端信號通信連接。
轉到圖5,標號500總體表示具有自適應雙向預測的視頻解碼器。視頻解碼器500包含與逆量化器520信號通信連接的VLD 510。逆量化器520與逆變換器530信號通信連接。逆變換器530與求和點540的第一輸入端信號通信連接,其中求和點540的輸出提供視頻解碼器500的輸出。求和點540的輸出與基準畫面存儲550信號通信連接?;鶞十嬅娲鎯?50與運動補償器560信號通信連接,運動補償器560與乘法器570的第一輸入信號通信連接。
另外,VLD 510還與基準畫面加權因子查找表580信號通信連接,以向查找表580提供自適應雙向(“ABP”)系數(shù)因子。查找表580的第一輸出用來提供加權因子,并且與乘法器570的第二輸入端信號通信連接。乘法器570的輸出與求和點590的第一輸入端信號通信連接。查找表580的第二輸出用來提供偏移,并且與求和點590的第二輸入端信號通信連接。求和點590的輸出與求和點540的第二輸入端信號通信連接。
現(xiàn)在轉到圖6,標號600總體表示運動向量與加權因子確定過程。此處,功能塊610通過計算加權因子“w”=avg(cur)/avg(ref),得到當前畫面或圖像塊(“cur”)與基準畫面(“ref”)的初始加權因子估計。塊610將控制傳遞給判定塊612,判定塊612確定加權因子w是否大于門限值T1且小于門限值T2。如果w在T1與T2之間,則控制被傳遞給返回塊614,并且將w=1用作初始加權因子。如果w不在T1與T2之間,則控制被傳遞給功能塊616,功能塊616將加權因子w施加到基準畫面以形成經過加權的基準畫面wref。塊616將控制傳遞給功能塊618,以通過使用經過加權的基準畫面wref來得到運動向量(“MVs”)從而進行運動估計。塊618將控制傳遞給功能塊620,功能塊620通過向wref施加MVs形成經過運動補償與加權的基準畫面mcwref。塊620將控制傳遞給功能塊622,功能塊622計算差異度量diff,其中diff等于cur與wmref之間像素差異合的絕對值。
塊622將控制傳遞給判定塊624,判定塊624確定diff是否大于先前的最佳diff。如果diff大于先前的最佳diff,則將控制傳遞給返回塊626,返回塊626使用先前的最佳diff。如果diff小于先前的最佳diff,則將控制傳遞給判定塊628,判定塊628確定diff是否小于門限值T。如果diff小于門限值T,則將控制傳遞給返回塊634,返回塊634使用當前的估計。如果diff不小于門限T值,則將控制傳遞給功能塊630,功能塊630通過向ref施加MVs,形成經過運動補償?shù)幕鶞十嬅鎚cref。塊630將控制傳遞給功能塊632,功能塊632通過將w設置等于avg(cur)/avg(mcref),改進加權因子。塊632將控制傳遞給功能塊616,以進行進一步處理。由此,對于進一步改進加權因子的判定基于比較差異度量與門限值或者公差。
現(xiàn)在轉到圖7,標號700總體表示解碼圖像塊的視頻信號數(shù)據(jù)的示范性過程。該過程包括開始塊710,其將控制傳遞給輸入塊712。輸入塊712接收圖像塊壓縮數(shù)據(jù),并且將控制傳遞給輸入塊714。輸入塊714接收圖像塊數(shù)據(jù)的至少一個基準畫面索引,其中每個基準畫面索引相應于特定基準畫面。輸入塊714將控制傳遞給功能塊716,功能塊716確定相應于每個所接收的基準畫面索引的加權因子,并且將控制傳遞給可選功能塊717??蛇x功能塊717確定相應于每個所接收的基準畫面索引的偏移,并且將控制傳遞給功能塊718。功能塊718檢索相應于每個所接收的基準畫面索引的基準畫面,并且將控制傳遞給功能塊720。功能塊720進而對所檢索的基準畫面進行運動補償,并且將控制傳遞給功能塊722。功能塊722將經過運動補償?shù)幕鶞十嬅娉艘韵鄳募訖嘁蜃?,并且將控制傳遞給可選功能塊723。可選功能塊723將經過運動補償?shù)幕鶞十嬅婕由舷鄳钠?,并且將控制傳遞給功能塊724。功能塊724進而形成經過加權與運動補償?shù)幕鶞十嬅?,并且將控制傳遞給結束塊727。
在本示范性實施方式中,對于每個編碼的畫面或者片段,加權因子與可以相對其編碼當前畫面塊的、每個允許的基準畫面相關聯(lián)。當編碼或解碼當前畫面中每個塊時,將相應于其基準畫面索引的(多個)加權因子與(多個)偏移應用到基準預測以形成加權預測算子。相對同一基準畫面編碼的片段中的所有塊都向基準畫面預測施加相同的加權因子。
當編碼畫面時是否使用自適應加權可以在畫面參數(shù)集合或者序列參數(shù)集合、或者所述片段或者畫面頭部中指示。對于使用自適應加權的每個片段或者畫面,可以為可能用來編碼該片段或者畫面的每個可允許的基準畫面?zhèn)魉图訖嘁蜃?。可允許基準畫面的數(shù)目在所述片段的頭部傳送。例如,如果可以使用三個基準畫面來編碼當前片段,則傳送多達三個加權因子,并且這些加權因子與具有相同索引的基準畫面相關聯(lián)。
如果不傳送加權因子,則使用缺省加權。在本發(fā)明的一種實施方式中,當不傳送加權因子時使用缺省加權(1/2,1/2)。可以使用固定或者變長代碼來傳送加權因子。
與典型系統(tǒng)不同,與每個片段、塊或者畫面?zhèn)魉偷拿總€加權因子相應于特定基準畫面索引。先前,與每個片段或者畫面一起傳送的任何集合的加權因子都不與任何特定基準畫面相關聯(lián)。相反,為每個運動塊或者8×8區(qū)域傳送自適應雙向預測加權索引,以選擇要對該特定運動塊或者8×8區(qū)域施加來自所傳送的集合中的哪些加權因子。
在本發(fā)明的較直接的實施方式中,不顯式地傳送每個運動塊或者8×8區(qū)域的加權因子索引。相反,使用與所傳送的基準畫面索引相關聯(lián)的加權因子。這極大地減少了所傳送的比特流中為允許基準畫面的自適應加權而具有的開銷量。
該系統(tǒng)與技術可以施加于使用單一預測算子編碼的預測“P”畫面,或者使用兩個預測算子編碼的雙向預測“B”畫面。以下針對P與B畫面的情況描述在編碼器與解碼器中都存在的解碼處理??商鎿Q地,該技術也可以應用到使用類似于I、B、與P畫面的概念的編碼系統(tǒng)。
對于B畫面單一方向預測以及對于B畫面中的雙向預測,可以使用相同的加權因子。當對于P畫面或者對于B畫面單一方向預測中宏塊使用單一預測算子時,為該塊傳送單一的基準畫面索引。在運動補償?shù)慕獯a處理步驟產生預測算子之后,向預測算子施加加權因子。然后將加權后的預測算子加到編碼余量(coded residual)上,對和進行剪切以形成解碼的畫面。對于用于P畫面中的塊或者用于只使用列表0預測的B畫面中的塊,加權預測算子形成為Pred=W0*Pred0+D0(1)其中W0為與列表0基準畫面相關聯(lián)的加權因子,D0為與列表0基準畫面相關聯(lián)的偏移,Pred0為來自列表0基準畫面的經過運動補償?shù)念A測塊。
對于用于只使用列表0預測的B畫面中的塊,加權預測算子形成為Pred=W1*Pred1+D1(2)其中W1為與列表1基準畫面相關聯(lián)的加權因子,D1為與列表1基準畫面相關聯(lián)的偏移,Pred1為來自列表1基準畫面的經過運動補償?shù)念A測塊。
可以剪切加權后的預測算子以保證結果值在像素值許可范圍之內,一般為0至255。加權公式中乘法的精度可以限于任何預定數(shù)目比特的分辨率。
在雙向預測情況下,對于兩個預測算子的每一個傳送基準畫面索引。進行運動補償以形成兩個預測算子。每個預測算子使用與其基準畫面索引相關聯(lián)的加權因子,以形成兩個加權后的預測算子。然后,一起平均這兩個加權后的預測算子以形成平均預測算子,然后將該平均預測算子加到編碼余量。
對于用于使用列表0與列表1預測的B畫面中的塊,加權預測算子形成為Pred=(P0*Pred0+D0+P1*Pred1+D1)/2(3)在計算加權預測算子時,可以對加權后的預測算子或者任何中間值進行剪切,以保證結果值在像素值許可范圍之內,一般為0至255。
由此,向使用多個基準畫面的視頻壓縮編碼器與解碼器的基準畫面預測施加加權因子。根據(jù)用于運動塊的基準畫面索引,該加權因子對于該畫面內的各個運動塊改變。因為已經在壓縮后的視頻比特流中傳送了基準畫面索引,所以大大減少了根據(jù)運動塊改變加權因子的附加開銷。相對于相同基準畫面編碼的所有運動塊都向基準畫面預測施加相同的加權因子。
人們已經廣泛的研究了運動估計技術。對于要編碼的畫面的每個運動塊,選擇表示運動塊從基準畫面偏離的運動向量。在搜索區(qū)域內窮盡搜索方法中,測試相對運動塊位置的預定偏移范圍內的每個偏離。該測試包含計算當前畫面運動塊中每個像素與基準畫面偏離運動塊的絕對差之和(“SAD”)或者均方誤差(“MSE”)。將具有最小SAD或MSE的偏移選擇為運動向量。人們已經提出了這種技術的許多變體,例如三步搜索與速率失真最佳化運動估計,所有這些技術都包含計算當前運動塊與基準畫面中偏離運動塊的SAD或MSE的步驟。
通過使用迭代過程,可以減少確定運動向量與自適應基準畫面加權因子的計算成本,同時仍然選擇能夠到達高壓縮效率的運動向量與加權因子。在假定向整個基準畫面施加單一的加權因子的情況下描述示范性實施方式的運動向量與加權因子確定過程,但是本發(fā)明原理的應用不限于這種情況。該過程也可以應用到畫面的較小區(qū)域,例如片段。另外,雖然本發(fā)明的一種實施方式被描述為只使用單一的基準畫面,但是本發(fā)明也可以應用到多個基準畫面預測與雙向預測畫面。
當待使用的加權因子為已知時,一般可以最好地計算運動塊的運動向量。在示范性實施方式中,使用基準畫面與當前畫面像素值形成加權因子的估計。加權因子可以限于多個比特的分辨率。如果加權因子非常接近1,則在運動估計處理中不需要考慮加權因子,并且在假定加權因子等于1的情況下可以進行正常的運動補償。否則,向基準畫面施加加權因子估計。然后,使用計算SAD或MSE的任何方法進行運動估計,但是其中SAD或MSE計算在當前畫面運動塊與基準畫面經過加權的版本而非未經加權的基準畫面中的偏離運動塊之間進行。在選擇了運動向量之后,如果需要可以改進對加權因子的估計。
將當前運動向量施加到經過加權的基準畫面上,以形成經過加權與運動補償?shù)幕鶞十嬅?。計算經過加權與運動補償?shù)幕鶞十嬅媾c當前畫面之間的差異度量。如果該差異度量低于門限值,或者低于先前最佳差異度量,則該過程完成,并且接受當前候選運動向量與加權因子。
如果該差異度量高于某門限值,則可以改進加權因子。在這種情況下,根據(jù)當前候選運動向量,形成經過運動補償、但未經過加權的基準畫面。使用經過運動補償?shù)幕鶞十嬅媾c當前畫面來改進加權因子估計,而不是像先前在形成加權因子的初始估計時所做的那樣使用未經過補償?shù)幕鶞十嬅妗?br> 選擇過程行進到迭代,向基準畫面施加新近改進的加權因子以形成經過加權的基準畫面。繼續(xù)該迭代過程,直至差異度量等于或高于先前最佳差異度量,或者低于門限值,或者可替換地直至完成了規(guī)定數(shù)目的循環(huán)。如果當前迭代的差異度量高于對于最佳先前迭代的差異度量,則使用最佳先前迭代的加權因子與運動向量。如果當前迭代的差異度量低于門限值,則使用當前加權因子與運動向量。如果完成了最大數(shù)目的迭代循環(huán),則使用來自具有最佳差異度量的先前迭代的加權因子與運動向量。
在一種實施方式中,加權因子的初始估計w為當前畫面cur中像素平均值除以基準畫面ref中像素平均值的比值,其中w=avg(cur)/avg(ref)(4)改進估計為當前畫面中像素平均值與經過運動補償?shù)幕鶞十嬅鎚cref中像素平均值之間的比值,其中w=avg(cur)/avg(mcref) (5)差異度量diff為當前畫面cur與經過加權與運動補償?shù)幕鶞十嬅鎤mcref之間的像素差異絕對平均值,其中diff=|∑cur-wmcref|(6)在另一實施方式中,差異度量為當前畫面與經過加權與運動補償?shù)幕鶞十嬅嬷邢袼氐慕^對差之和,其中diff=∑|cur-wmcref|(7)當進行基于塊的運動估計時,對多次SAD計算使用基準畫面中的相同像素。在運動補償過程中的示范性實施方式中,一旦向基準畫面中的像素施加了加權因子,就在正常像素之外還存儲經過加權的像素??梢詫Ξ嬅鎱^(qū)域或者對整個畫面進行該存儲。
可以剪切經過加權的基準畫面值,從而以與未經過加權的基準相同數(shù)目的比特存儲,例如8比特,或者可以使用更多比特存儲。如果為運動補償過程進行剪切(這樣存儲器效率更高),則對于實際的選定運動向量向基準畫面再次施加加權因子,使用附加比特計算差異,并且在差異之后進行剪切以避免與解碼器的失配,而如果在施加了加權因子之后解碼器不進行剪切,則可能發(fā)生與解碼器的失配。
當使用多個基準畫面來編碼畫面時,可以為每個基準畫面計算分離的加權因子。在運動估計的過程中,為每個運動塊選擇運動向量與基準畫面索引。對于該過程的每次迭代,都為每個基準畫面找到運動向量與加權因子。
在優(yōu)選實施方式中,在運動估計的過程中,確定對于給定運動塊的最佳基準畫面。對于每個基準畫面分離地計算差異度量,其中在計算中只使用那些使用該基準畫面的運動塊。對于給定基準畫面的加權因子估計的改進也只使用那些使用該基準畫面編碼的運動塊。對于雙向預測編碼,為兩個預測中的每一個分別確定加權因子與運動向量,這兩個預測被一起平均以形成平均預測。
本發(fā)明的原理可以應用到許多不同類型的運動估計算法。當用于分級方式時,可將對加權因子選擇與運動向量選擇的迭代用于任何級別的運動向量層次。例如,可以將迭代方法用于整數(shù)畫面元素(“pel”)運動估計。在使用所提供的迭代算法找到加權因子與整數(shù)運動向量之后,可以在不需要加權因子選擇的再一次迭代的情況下找到子畫面元素(sub-pel)運動向量。
根據(jù)此處的說明,本領域技術人員可以容易地理解本發(fā)明的這些以及其他特征與優(yōu)點。應該理解本發(fā)明的說明可以應用于各種形式的硬件、軟件、固件、專用處理器、或者其組合。
更優(yōu)選地,本發(fā)明的原理可以實現(xiàn)為硬件與軟件的組合。另外,所述軟件最好實現(xiàn)為以有形形式包含在程序存儲單元上的應用程序。該應用程序可以上載到包含任何適當體系結構的機器、并且由其執(zhí)行。優(yōu)選地,該機器在具有諸如一個或多個中央處理單元(“CPU”)、隨機訪問存儲器(“RAM”)、以及輸入/輸出(“I/O”)接口等硬件的計算機平臺上實現(xiàn)。該計算機平臺還可以包含操作系統(tǒng)以及微指令代碼。此處描述的各種處理與功能可以是微指令代碼的一部分,或者是應用程序的一部分,或者其組合,其可以由來CPU執(zhí)行。另外,可將各種其他外圍單元連接到該計算機平臺,例如附加數(shù)據(jù)存儲單元以及打印單元。
還應該理解因為在附圖中所示的某些構成系統(tǒng)組件與方法最好以軟件實現(xiàn),所以系統(tǒng)組件或者處理功能塊之間的實際連接可能根據(jù)本發(fā)明的編程方式而不同。有了此處的說明,本領域技術人員能夠設想本發(fā)明的這些以及類似的實現(xiàn)或者配置。
雖然針對附圖描述了示范性實施方式,但是應該理解本發(fā)明不限于那些精確的實施方式,并且在不脫離本發(fā)明的范圍與精神的前提下,本領域技術人員可以進行各種改變與修改。所有這些改變與修改都包含在權利要求所列出的本發(fā)明的范圍之內。
權利要求
1.一種視頻編碼器(300),用來相對至少一個特定基準畫面編碼圖像塊的視頻信號數(shù)據(jù),該編碼器包含基準畫面加權因子選擇器(372),具有指示相應于所述至少一個特定基準畫面的加權因子的輸出;與基準畫面加權因子選擇器信號通信的加權因子施加器(374),用來提供所述至少一個特定基準畫面的經過加權的版本;以及與乘法器信號通信的運動估計器(380),用來提供相應于所述至少一個特定基準畫面的經過加權的版本的運動向量。
2.如權利要求1所述的視頻編碼器(300),還包含與基準畫面加權因子選擇器(372)信號通信的基準畫面存儲器(370),用來提供所述至少一個特定基準畫面與相應的特定基準畫面索引。
3.如權利要求2所述的視頻編碼器(300),還包含與基準畫面存儲器(370)信號通信的變長編碼器(340),用來編碼相應于所述至少一個特定基準畫面的特定基準畫面索引。
4.如權利要求1所述的視頻編碼器(300),還包含與基準畫面加權因子選擇器信號通信的經過加權的基準畫面存儲器(376),用來存儲基準畫面的經過加權的版本。
5.如權利要求1所述的視頻編碼器(300),還包含與基準畫面加權因子選擇器(372)信號通信的運動補償器(390),用來響應于基準畫面加權因子選擇器提供經過運動補償?shù)幕鶞十嬅妗?br> 6.如權利要求5所述的視頻編碼器(300),還包含與運動補償器(390)以及基準畫面加權因子選擇器(372)信號通信的乘法器(392),用來向經過運動補償?shù)幕鶞十嬅媸┘蛹訖嘁蜃印?br> 7.如權利要求1所述的視頻編碼器(300),還包含與運動估計器(380)信號通信的運動補償器(382),用來響應于基準畫面加權因子選擇器與運動補償器提供經過加權與運動補償基準畫面。
8.如權利要求7所述的、可用于雙向預測畫面預測算子的視頻編碼器(300),該編碼器還包含用來從兩個不同的基準畫面形成第一與第二預測算子的預測部件。
9.如權利要求8所述的視頻編碼器(300),其中所述兩個不同的基準畫面都來自相對于圖像塊的同一方向。
10.一種用來編碼圖像塊的視頻信號數(shù)據(jù)的方法(600),該方法包含下列步驟接收基本未壓縮的圖像塊;為相應于特定基準畫面的圖像塊分配(610)加權因子;用所述加權因子對基準畫面進行加權(616);計算(618)相應于圖像塊與經過加權的基準畫面之間差異的運動向量;相應于運動向量運動補償(620)經過加權的基準畫面;以及響應于經過運動補償與加權的基準畫面,改進(632)加權因子選擇。
11.如權利要求10所述的方法,還包含步驟相應于運動向量運動補償(630)原始的未經過加權的基準畫面;將經過運動補償?shù)脑嫉幕鶞十嬅娉艘运峙涞募訖嘁蜃?,以形成經過加權與運動補償?shù)幕鶞十嬅?;從基本未壓縮的圖像塊中減去經過加權與運動補償?shù)幕鶞十嬅?;以及編碼指示基本未壓縮的圖像塊與經過加權與運動補償?shù)幕鶞十嬅嬷g差異的信號。
12.如權利要求10所述的方法,其中計算運動向量的步驟包含在搜索區(qū)域內對相對于圖像塊的預定偏移范圍內的每個偏離進行測試;計算該圖像塊內每個像素與經過運動補償?shù)幕鶞十嬅娴慕^對差之和與均方誤碼差中的至少一個;以及選擇具有最小絕對差之和與均方誤差的偏移作為運動向量。
13.如權利要求10所述的方法,其中使用雙向預測畫面預測算子,該方法還包含步驟對于相應于第二特定基準畫面的圖像塊,分配第二加權因子;用第二加權因子對第二基準畫面進行加權;計算相應于圖像塊與經過加權的第二基準畫面之間差異的第二運動向量;相應于第二運動向量運動補償經過加權的第二基準畫面;以及響應于經過運動補償與加權的第二基準畫面,改進第二加權因子選擇。
14.如權利要求11所述的方法,其中使用雙向預測畫面預測算子,該方法還包含步驟為相應于第二特定基準畫面的圖像塊分配第二加權因子;用第二加權因子對第二基準畫面進行加權;計算相應于圖像塊與經過加權的第二基準畫面之間差異的第二運動向量;相應于第二運動向量運動補償經過加權的第二基準畫面;響應于經過運動補償與加權的第二基準畫面,改進加權因子選擇;相應于第二運動向量運動補償原始的未經過加權的第二基準畫面;將經過運動補償?shù)脑嫉牡诙鶞十嬅娉艘运峙涞牡诙訖嘁蜃?,以形成經過加權與運動補償?shù)牡诙鶞十嬅?;從基本未壓縮的圖像塊中減去經過加權與運動補償?shù)牡诙鶞十嬅?;以及編碼指示基本未壓縮的圖像塊與經過加權與運動補償?shù)牡诙鶞十嬅嬷g差異的信號。
15.如權利要求13所述的方法,其中第一與第二特定基準畫面都來自相對于圖像塊的同一方向。
16.如權利要求13所述的方法,其中計算運動向量的步驟包含在搜索區(qū)域內對相對于圖像塊的預定偏移范圍內的每個偏離進行測試;相應于第一預測算子,計算該圖像塊內每個像素與經過運動補償?shù)牡谝换鶞十嬅娴慕^對差和與均方誤差中的至少一個;選擇具有最小絕對差和與均方誤差的偏移作為第一預測算子的運動向量;相應于第二預測算子,計算該圖像塊內每個像素與經過運動補償?shù)牡诙鶞十嬅娴慕^對差和與均方誤差中的至少一個;以及選擇具有最小絕對差和與均方誤差的偏移作為第二預測算子的運動向量。
17.如權利要求10所述的方法,其中用加權因子對基準畫面進行加權的步驟包含確定加權因子是否接近1;以及如果加權因子接近1,則使用原始的基準畫面作為經過加權的基準畫面。
18.如權利要求10所述的方法,其中響應于經過運動補償與加權的基準畫面改進加權因子選擇的步驟包含計算圖像塊與經過運動補償與加權的基準畫面之間的差異;比較所計算的差異與預定公差;以及如果所計算的差異在預定公差之外,則進一步改進加權因子。
全文摘要
提供了一種視頻編碼器與解碼器,用來編碼與解碼圖像塊的視頻信號數(shù)據(jù)以及預測該圖像塊的特定基準畫面索引,其中編碼器(300)包含基準畫面加權因子選擇器(372),該選擇器具有用來指示相應于該特定基準畫面索引的加權因子的輸出;與基準畫面加權因子選擇器信號通信的乘法器(374),用來提供基準畫面的加權版本;以及與乘法器信號通信的運動估計器(380),用來提供相應于基準畫面的加權版本的運動向量。相應的解碼器(500)包含具有用來確定相應于特定基準畫面索引的加權因子的輸出的基準畫面加權因子單元(580)。
文檔編號H04N7/12GK1669330SQ03817032
公開日2005年9月14日 申請日期2003年7月11日 優(yōu)先權日2002年7月15日
發(fā)明者杰爾·M·博伊斯, 艾倫·J·斯坦 申請人:湯姆森特許公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1