新四季網

構建用於時間可分級的雙向預測幀的方法和裝置的製作方法

2023-10-04 00:23:39

專利名稱:構建用於時間可分級的雙向預測幀的方法和裝置的製作方法
技術領域:
本發明涉及一種通過高效重用基層模塊來對可分級視頻數據進行編碼和解碼以構建增強層的幀的方法和裝置。
背景技術:
由於網際網路和無線通信的爆炸性增長和巨大成功,以及漸增的對多媒體服務的要求,網際網路和移動/無線信道上的流媒體引起極大的關注。在異構的網際網路協議(IP)網絡中,伺服器提供視頻,並且其能夠流向一個或更多客戶機。有線連接包括撥號、ISDN、電纜、xDSL、光纖、LAN(區域網)、WAN(廣域網)及其它。傳輸模式能夠是單播或多播。各種單個的客戶機設備,包括PDA(個人數字助理)、可攜式計算機、臺式計算機、機頂盒、TV、HDTV(高清晰電視)、行動電話或其它,對於相同的內容同時需要不同帶寬的比特流。連接帶寬可能隨時間迅速變化(從9.6kbps到100Mbps及更高),並且可能比伺服器的反應更快。
移動/無線通信與異構的IP網絡相似。由於像多徑衰落、陰影效應、符號間幹擾和噪聲幹擾這樣的效應常常嚴重損害移動/無線信道,因此在這些信道上傳送多媒體內容非常具有挑戰性。一些其它原因,比如說移動性和競爭業務,也會引起寬帶的變化和丟包。諸如信道噪聲和被服務的用戶數目這樣的因素決定了信道環境的時變特性。除了環境狀況,由於地理位置以及移動漫遊,目的網絡可能在第二代、第三代蜂窩網絡到寬帶純數據網絡之間變動。所有這些變動要求多媒體內容的自適應速率調整,即便是在忙時也是如此。於是,在異構的有線/無線網絡上成功傳輸視頻要求有效率的編碼、以及對於變化的網絡條件、設備特性和用戶偏好的適應性,同時還要能抗丟包。
為了滿足不同的用戶需求並且適應信道變化,能夠生成比特流的多個獨立版本,基於傳輸帶寬、用戶顯示和計算能力,每個版本滿足一類約束條件。但是這對伺服器存儲或網絡容量是沒有效率的。在可分級編碼中,其中在伺服器建立向高端用戶提供的單一的宏比特流,針對低端應用的比特流作為該宏比特流的子集嵌入。同樣,通過選擇性地發送子比特流,單一的比特流能夠適應不同的應用環境。可分級編碼提供的另一個優點是在易出錯的信道上視頻傳輸的魯棒性。能夠容易地處理差錯防護和差錯隱藏。更可靠的傳輸信道或者更好的差錯防護能夠被應用於包含最重要信息的基本層比特。
在諸如MPEG-1、MPEG-2、MPEG-4(統稱為MPEG-x)、H.261、H.262、H.263和H.264(統稱為H.26x)這樣的混合編碼器中,有空間、時間和信噪比(SNR)的可分級。在混合編碼中,通過運動補償預測(MCP)刪除時間冗餘。典型地,視頻被分成一系列圖像組(GOP),其中每個GOP開始於幀內編碼幀(I),隨後是安排的前向預測幀(P)和雙向預測幀(B)。P幀和B幀均是幀間幀。在多數類似MPEG的編碼器中,B幀是時間可分級的關鍵。然而,一些類(profile),例如MPEG-4簡單類和H.264基本規範類(Baseline Profile),不支持B幀。
在MPEG-4中,類和級(level)基於對特定比特流進行解碼所需要的解碼器能力而提供了一種定義語法和語義的子集的方式。類被定義為整個比特流語法的一個子集。級是對比特流中的參數施加的一組已定義的約束。對於任意給定的類,級通常與解碼器處理負載和存儲能力相對應。因此類和級規定了對比特流的限制,並因此限制了對比特流進行解碼的能力。通常,如果解碼器能夠對在給定級上由給定類規定的所有語法元素所容許的全部值進行解碼,則該解碼器將被認為在該級上與該類相符。
當能夠滿足需求同時保持對軟體、固件和硬體作最小改變時,能夠用一種高效的方式實現現代微處理器晶片組的演進發展或遷移。如上所述,MPEG-4簡單類和H.264基本規範類不支持用於時間可分級的B幀。因此,依照這些類所開發的晶片組可能不支持B幀。隨著高速率多媒體以及支持高速率多媒體的網絡的普及和需求的增多,需要一條從MPEG-4簡單類或H.264基本規範類到採用B幀提供時間可分級的類的高效遷移路徑。在ISO/IEC 14496-2中說明了MPEG-4標準。在[ISO/IEC 14496-10]中說明了H.264標準。

發明內容
相應地,這裡所公開的實施例提供了一種用於在基本層軟體、固件和硬體作最小改變的情況下,基於基本層非時間分級設計,通過雙向預測提供可分級視頻編碼數據的方法和裝置。
本發明描述了一種通過使用運動補償雙向預測,能夠對視頻流進行可分級編碼的視頻編碼和解碼系統。對於用來構建雙向預測區域的基本層非時間分級模塊的高效設計和使用,實現了提供增強層編碼的高效的遷移路徑。基本層非時間分級模塊用於通過順序地(in series)對每個雙向參考區域進行解碼並且之後合併結果以計算雙向預測區域,來對雙向預測區域進行解碼。


圖1是用於對流式圖像進行編碼和解碼的一般通信系統的框圖;圖2A是說明常規MPEG-4簡單類數據流的圖;圖2B是說明常規的實現時間可分級的編碼數據流的圖;圖3說明了在MPEG-4中P幀構建處理過程的一個例子;圖4說明了在MPEG-4中B幀構建處理過程的一個例子;圖5說明了在H.264中P幀構建處理過程的一個例子;圖6是說明包括時間可分級的解碼處理過程的一個例子的流程圖;圖7是說明用於基本層I和P幀構建的運動補償編解碼器處理過程的一個例子的流程圖;圖8是說明用於增強層B幀構建的運動補償編解碼器處理過程的一個例子的流程圖;以及圖9說明了在運動補償中使用的半像素插值的一個例子。
具體實施例方式
本發明描述了一種用於在基本層軟體、固件和硬體作最小改變的情況下,基於基本層非可分級編碼設計,通過雙向預測提供可分級視頻編碼數據的方法、裝置和系統。基本層運動補償編解碼器能夠構建前向預測或後向預測的P幀。同樣,在基本層軟體、固件和硬體作最小改變的情況下,能夠對基本層運動補償編解碼器進行修改來構建前向/後向預測(或雙向)的B幀。能夠順序地利用用於對P幀進行解碼的同一元件以便利用多個參考對B幀進行解碼。P幀能夠被包含在可分級視頻編碼比特流的基本層,而B幀能夠被包含在可分級視頻編碼比特流的增強層。
在以下的說明中,給出了特定細節以供細緻了解所述例子。然而,本領域的任何一個普通技術人員可以理解,在沒有這些特定細節的情況下也可以實現這些例子。例如,可以以框圖示出電子元件,以便不會在不必要的細節上模糊這些例子。在其它情況下,可以詳細示出這樣的元件以及其它結構和技術以便進一步解釋這些例子。
同樣,要注意的是,這些例子可以被說明為用流程圖、操作程序圖、結構圖或者框圖描述的處理過程。儘管流程圖可以把操作描述成順序的處理過程,但是許多操作能夠並行或並發執行並且能夠重複該處理過程。此外,可以重新安排操作的次序。當處理過程的操作完成時,終止該處理過程。處理過程可以對應於方法、函數、過程、子例程、子程序等等。當處理過程對應於函數時,其終止對應於函數返回到調用函數或者主函數。
被稱為MPEG-x和H.26x的一對視頻編碼標準,說明了非常適合於使用定長或變長信源編碼技術來壓縮和傳送視頻、音頻和其它信息的數據處理和控制技術(這裡被稱為混合編碼)。特別是,作為說明,以上所提及的標準、以及其它混合編碼標準和技術,使用幀內編碼技術(例如,遊程碼(run-length coding)、哈夫曼編碼等等)和幀間編碼技術(例如,前向和後向預測編碼、運動補償等等)對視頻信息進行壓縮。特別地,就視頻處理系統而言,混合視頻編碼系統的特徵在於,用幀內和/或幀間運動補償編碼對視頻幀進行基於預測的壓縮編碼。
幀內編碼指的是對一幅圖像(一個場或一幀)進行編碼,而不參考任何其它圖像,但是幀間編碼圖像能夠被用作其它圖像的參考。術語幀內幀、幀內編碼幀和I幀都是在整個本申請中使用的由幀內編碼形成的視頻對象的例子。
幀間編碼或預測編碼,指的是參考其它幅圖像來對一幅圖像(一個場或一幀)進行編碼。與幀內編碼圖像相比,幀間編碼或預測編碼圖像可以被更高效地進行編碼。將在整個本申請中使用的幀間編碼圖像的例子是預測幀(或者前向預測或者後向預測,也被稱為P幀)和雙向預測幀(也被稱為B幀)。其它用於幀間編碼的術語包括高通編碼、殘差編碼、運動補償內插以及其它本領域普通技術人員所熟知的術語。
被稱為可分級編碼的技術,能夠把幀內編碼圖像和不同的幀間編碼圖像(例如P幀和B幀)劃分到比特流的不同層,例如,基本層和增強層。可分級編碼在動態信道中是有用的,其中可分級比特流能夠被適用於匹配網絡帶寬的波動。在易出錯的信道中,通過基本層和增強層的不等的差錯防護能夠增加魯棒性。較好的差錯防護能夠被應用到更重要的層。
圖1是用於對流式圖像進行編碼和解碼的一般通信系統的框圖。系統100包括編碼器設備105和解碼器設備110。編碼器設備105進一步包括幀內編碼元件115、預測編碼元件120、時間可分級元件125、存儲器元件130和通信元件175。這些單元可以是分立元件,或者可以被包含在一個或更多微處理器或者數位訊號處理器(DSP)中。編碼器設備105能夠使用在通信元件175中包含的通信邏輯,從外部信源135接收數據。外部信源135能夠是例如外部存儲器、網際網路、直播的或者延遲的視頻和/或音頻種子,並且接收數據能夠包括有線和/或無線通信。包含在外部信源135中的數據能夠處於未編碼或已編碼狀態。幀內編碼元件115用於對幀(片(slice),宏塊和子宏塊)的幀內編碼部分進行編碼。預測編碼元件120用於對幀的預測部分進行編碼,包括前向預測、後向預測和雙向預測。
編碼器設備105能夠訪問原始數據或已編碼數據以進行編碼。為了用例如雙向預測幀這樣的增強層部分來替換已編碼部分,能夠訪問已編碼數據以便提供時間可分級。當訪問已編碼數據(或者幀內編碼數據或者幀間編碼數據)的時候,幀內編碼元件115和預測編碼元件120中包含的邏輯對已編碼數據進行解碼,得到重建的原始數據。然後,這種重建的原始數據或者所訪問的原始數據,能夠被進行編碼以便提供包含用於時間可分級的B幀和/或低優先級數據的增強層。
時間可分級元件125包含用於確定哪部分視頻數據應該被幀內編碼元件115進行幀內編碼,以及哪部分應該被預測編碼元件120進行幀間編碼的邏輯。時間可分級元件125還包括用於確定哪部分視頻具有低優先級並且應該被放置在增強層中,以及哪部分具有高優先級並且應該放置在基本層中的邏輯。時間可分級元件125對開銷信息進行編碼,所述開銷信息包括幀內編碼部分和幀間編碼部分的映射(map),例如,其中宏塊(或子宏塊)被標識為是幀內編碼或幀間編碼(還標識了幀間編碼所包括的類型,例如,前向、後向或雙向)、並且(多個)幀的幀間編碼部分所參考的宏塊映射。編碼之後,把已編碼幀存儲在存儲器元件130中或者外部存儲器中。外部存儲器能夠被包含在外部信源135中或者是一個獨立的存儲器元件(未示出)。
通信元件175包含用於結合網絡140進行數據發射(Tx)的邏輯。網絡140能夠是諸如電話、電纜和光纖這樣的有線系統或者無線系統。在無線系統的情況下,通信系統、網絡140能夠包括例如碼分多址(CDMA或CDMA 2000,或其變型,如CDMA 2000 1x、CDMA 20001x-EVDO)通信系統的一部分,或者作為選擇,該系統能夠是頻分多址(FDMA)系統、諸如GSM/GPRS(通用分組無線業務)/EDGE(增強數據GSM環境)或者用於服務業的TETRA(陸地集群無線電)行動電話技術這樣的時分多址(TDMA)系統、寬帶碼分多址(WCDMA)OFDM(正交頻分復用)或OFDMA(正交頻分多址)系統、802.xx系統、或者通常是使用組合技術的任意無線通信系統。已編碼幀通過網絡140進行發射(Tx)。以下更加完整地說明由編碼器設備105執行的這個編碼處理過程。
解碼器設備110包含與編碼器設備105互補的元件,包括幀內解碼元件145、預測解碼元件150、時間可分級元件155、存儲器元件160以及通信元件180。解碼器設備110接收網絡140上發送的已編碼數據或者從外部存儲裝置165接收已編碼數據。通信元件180包含用於結合網絡140接收(Rx)已編碼數據的邏輯,以及包含用於從外部存儲裝置165接收已編碼數據的邏輯。外部存儲裝置165能夠是例如外部RAM或ROM、或遠程伺服器。幀內解碼元件145用於對幀內編碼數據進行解碼。預測解碼元件150用於對幀間編碼數據進行解碼。預測解碼元件既對P幀(前向或後向預測的)進行解碼,又對B幀進行解碼。能夠順序地利用相同的用於對P幀進行解碼的子元件來利用多個參考對B幀進行解碼。B幀的多個參考能夠是在前向和後向參考幀中、均在同一個參考幀中,均在單獨的前向參考幀中或者均在後向參考幀中。
時間可分級元件155包含用於對包括以上討論的宏塊映射在內的開銷信息進行解碼的邏輯,並且對這個信息進行翻譯,以便幀內解碼元件145和預測解碼元件150能夠用適當的方式對適當的宏塊進行解碼。對信息的翻譯能夠包括允許順序地兩次使用預測解碼元件的子元件來對B幀(或者片,或者從多個參考預測出的幀的其它部分)進行解碼。時間可分級元件155還包含用於跳過對包括雙向預測幀和/或低優先級視頻數據的增強層數據進行解碼的邏輯。如果,例如,沒有收到增強層數據或接收到的增強層數據具有差的或不夠的SNR,以及/或者如果解碼器設備沒有充足的處理功率,則能夠跳過對增強層數據進行的解碼。解碼之後,已解碼幀能夠用顯示器元件170顯示或者被存儲在內部存儲器160或外部存儲裝置165中。顯示器元件170能夠是解碼器設備的一個集成部分,其包含像包括顯示屏在內的顯示硬體和邏輯這樣的部分,或者該顯示元件能夠是外部的外圍設備。以下更完整地說明了由解碼器設備110執行的解碼處理過程。
在典型的MPEG解碼器中,對照參考幀(幀間幀或另一預測幀能夠用作參考幀),對預測編碼像素塊(即,包括一個或更多運動矢量和一個殘差分量的塊)進行解碼。圖2A是說明常規MPEG-4簡單類數據流的圖,其描述了GOP的幀依賴性。GOP 10由起始的I幀12、隨後的幾個前向預測P幀14組成。P幀對前一個I幀或P幀的依賴性會限制向可能只支持前向預測幀的系統(例如,那些遵守MPEG-4簡單類和H.264基本規範類的系統)提供的時間可分級。刪除多個P幀14中的任意一個可能導致丟失在對其它P幀進行解碼時可能很關鍵的信息。刪除P幀可能導致,例如視頻抖動或在標記出下一個GOP的開始的下一個I幀16到來之前,解碼器不能繼續進行解碼。
如上所述,在可分級視頻編碼系統的增強層使用雙向預測數據在動態信道中可能是有益的。圖2B是說明實現時間可分級的常規的已編碼數據流的圖,其描述了GOP的幀依賴性。GOP 20由I幀22A、前向預測P幀24和雙向預測B幀26組成。每個B幀能夠合併針對I幀22A或前向預測P幀24(也能夠使用後向預測P幀,但是在這個例子中沒有示出)的前向和後向運動矢量以及殘差。I幀22B標記下一個GOP的開始。如圖2B所示,在I幀22A和P幀24之間或者在兩個P幀24之間僅包含一個B幀26。能夠在參考幀之間插入幾個B幀,以允許在時間可分級中有更大的靈活性。由於沒有其它幀可以依賴B幀作為參考幀,因此可以刪除B幀26而不丟失涉及對其它幀進行解碼所需的信息。B幀26的這種特性能夠允許將其插入到比特流中,其中,作為編碼器、代碼轉換器或解碼器的一個選項,能夠刪除該B幀26,以適應信道條件、帶寬限制、電池功率以及其它所考慮的因素。例如,如果在多個參考幀之間有三個B幀,那麼,能夠全部刪除這三個B幀,從而降低四分之三的幀速率,或者能夠保留在中間的B幀而刪除其它兩個以便降低一半的幀速率。數據速率相應地能夠降低。
P幀(或任意幀間編碼部分)能夠利用當前圖像中的區域和參考圖像中的最佳匹配預測區域之間的時間冗餘。當前區域和最佳匹配參考預測區域之間的差被稱為殘差(或預測誤差)。能夠把參考幀中的最佳匹配預測區域的位置編碼到運動矢量中。圖3是說明在例如MPEG-4中的P幀構建處理過程的例子。處理過程300包括由5×5個宏塊構成的當前圖像305,其中在這個例子中宏塊的數目是任意的。一個宏塊由16×16個像素構成。像素能夠用一個8比特的亮度值(Y)和兩個8比特的色度值(Cr和Cb)來定義。在MPEG中,Y、Cr和Cb分量能夠以4:2:0的格式進行存儲,其中Cr和Cb在X和Y方向上都是減半採樣或抽取二分之一採樣。因此,每個宏塊將包括256個Y分量、64個Cr分量和64個Cb分量。從在不同於當前圖像305的時間點的參考圖像310預測當前圖像305的宏塊315。在參考圖像310中進行搜索,以便確定最佳匹配宏塊320的位置,其在Y、Cr和Cb值上最接近於被編碼的當前宏塊315。搜索最佳匹配宏塊的方法是本領域普通技術人員已知的,包括a)令當前宏塊315和參考圖像310的宏塊之間的SAD(像素差的絕對值之和)最小,b)令SSD(像素差的平方和)最小,以及c)令速率失真檢測的成本最小,等等。把參考圖像310中的最佳匹配宏塊320的位置編碼到運動矢量325中。參考圖像310能夠是I幀或P幀,解碼器將在構建當前圖像305之前,對其進行重建。當前宏塊315減去最佳匹配宏塊320(計算每個Y、Cr和Cb分量的差),得到殘差330。用2D離散餘弦變換(DCT)335對殘差330進行編碼,然後對其進行量化340。通過例如向高頻係數分配較少的比特而向低頻係數分配較多的比特,能夠執行量化340以提供空間壓縮。殘差330的量化係數、隨同運動矢量325和參考圖像310的標識信息,是表示當前宏塊315的已編碼信息。能夠把該已編碼信息存儲在存儲器中以便將來使用,或者能夠為了例如糾錯或圖像增強而對其進行操作,或者在網絡345上發送。
殘差330的已編碼量化係數,隨同已編碼運動矢量325,能夠被用於在編碼器中重建當前宏塊315,以便作為參考幀的一部分而用於隨後的運動估計或補償。編碼器能夠對解碼器的這個P幀重建處理過程進行仿真。對解碼器的仿真將導致編碼器和解碼器均採用相同的參考圖像進行工作。在這裡給出了該重建處理過程,而不管其是在編碼器中完成以進一步進行幀間編碼還是在解碼器中完成。P幀的重建能夠在重建參考幀(或者正在被參考的圖像或幀的一部分)之後開始。對已編碼量化係數進行反量化350,然後執行2D逆DCT、或IDCT 355,得到已解碼的或重建的殘差360。已編碼運動矢量325用於在已重建的參考圖像310中確定已重建的最佳匹配宏塊365的位置。然後,將重建的殘差360與重建的最佳匹配宏塊365相加以形成重建的宏塊370。重建的宏塊370能夠被存儲在存儲器中,被獨立地顯示或者和其它重建的宏塊一同顯示在一幅圖像中,或者為圖象增強而被進一步進行處理。
B幀(或者任何採用雙向預測編碼的部分)能夠利用當前圖像中的區域和前一個圖像中的最佳匹配預測區域以及後一個圖像的最佳匹配預測區域之間的時間冗餘。合併該後一個最佳匹配預測區域和後向最佳匹配預測區域來形成組合雙向預測區域。當前圖像區域和該最佳匹配組合雙向預測區域之間的差是殘差(或預測誤差)。在後一個參考圖像中最佳匹配預測區域的位置以及在前一個參考圖像中最佳匹配預測區域的位置能夠被編碼到兩個運動矢量中。
圖4是說明在例如MPEG-4中的B幀重建處理過程的例子。處理過程400包括由5×5個宏塊構成的當前圖像405,其中在這個例子中宏塊的數目是任意的。參考在當前圖像405的前一個時間點的前一個參考圖像410並且參考在後一個時間點的後一個參考圖像475,完成對當前圖像405的宏塊415進行的編碼。在前一個參考圖像410中進行搜索以便確定與被編碼的當前宏塊415最接近的最佳匹配宏塊420的位置。最佳匹配宏塊420的位置被編碼到運動矢量425中。前一個參考圖像410能夠是I幀或P幀,解碼器將在構建當前圖像405之前對其進行重建。在後一個參考圖像475中進行搜索以便確定與當前宏塊415最接近的最佳匹配宏塊480的位置。最佳匹配宏塊480的位置被編碼到運動矢量485中。後一個參考圖像475能夠是I幀或P幀,解碼器將在構建當前圖像405之前對其進行重建。對最佳匹配宏塊420和最佳匹配宏塊480進行平均以形成組合雙向宏塊,從當前宏塊415中減去該組合雙向宏塊而得到殘差430。
以下討論其它合併最佳匹配宏塊的方法。例如用DCT 435(其它2D變換包括像在H.264中的哈達馬變換或整數變換)對殘差430進行編碼,然後進行量化440。殘差430的量化係數,隨同運動矢量425和485以及參考圖像標識信息,是表示當前宏塊415的已編碼信息。能夠把該已編碼信息存儲在存儲器中以便將來使用,或者為了例如糾錯或圖像增強而對其進行操作,或者在網絡445上進行發送。
由於B幀不被用作參考幀,因此為了保留它的時間分級特性,在編碼器中可以不需要B幀的宏塊重建。在解碼器中,在重建前一個參考幀(或者正被參考的圖像或幀的一部分)和後一個參考幀(或者正被參考的圖像或幀的一部分)之後,能夠開始對B幀部分進行重建。對已編碼量化係數進行反量化450,然後執行2D IDCT 455,得到已解碼的或重建的殘差460。已編碼運動矢量425和485用於在已重建的前一個參考幀410中確定已重建的最佳匹配宏塊465的位置,以及用於在後一個參考幀475中確定已重建的最佳匹配前向宏塊490的位置。對重建的最佳匹配宏塊465和490進行平均,以形成組合雙向宏塊。然後,把重建的殘差460加到組合雙向宏塊上以形成重建的宏塊470。重建的宏塊470能夠被存儲在存儲器中,被獨立地顯示或者和其它重建的宏塊一同顯示在圖像中,或者對其進行進一步處理以用於圖像增強。
H.264向以上所討論的MPEG-4的P幀構建和B幀構建的例子提供了一些選擇。圖5是說明在H.264中的P幀構建處理過程的例子。處理過程500包括由5×5個宏塊構成的當前圖像505,其中在這個例子中宏塊的數目是任意的。從不同於當前圖像505的時間點的參考圖像510預測當前圖像505的宏塊515。宏塊能都被劃分成較小的子宏塊部分(例如,在這個例子中,描述了四個子宏塊,但是H.264允許子宏塊劃分小到4×4像素。因此,單個的宏塊能夠有16個運動矢量),並且每個子宏塊能夠獨立地用於時間冗餘。在參考圖像中進行搜索,以便確定每個子宏塊的最佳匹配子宏塊的位置,得到與被編碼的當前宏塊515最接近的的複合最佳匹配宏塊520。在參考圖像中最佳匹配宏塊的位置能夠被編碼到四個運動矢量525a-525d中。參考圖像能夠是I幀或P幀,解碼器在構建當前圖像505之前將對其進行重建。當前宏塊515減去複合最佳匹配宏塊520得到殘差530。能夠採用與在MPEG-4中所使用的DCT略微不同的前向2D變換535來對殘差530進行編碼,然後對其進行量化540。殘差530的量化係數、運動矢量525a-525d和參考幀標識信息,是表示當前宏塊515的已編碼後信息。能夠把該已編碼信息存儲在存儲器中以便將來使用,或者為了例如糾錯或圖像增強而對其進行操作、或者在網絡545上進行發送。
該已編碼量化係數、運動矢量、權值和殘差也能夠被用於在編碼器中重建當前宏塊,以便作為參考幀的一部分而用於隨後的運動估計或補償。編碼器能夠對解碼器的這個P幀重建過程進行仿真。對該解碼器的仿真將導致編碼器和解碼器均採用相同的參考圖像進行工作。這裡給出了該重建處理過程,而不管其是在編碼器中完成以用於進一步的幀間編碼,還是在解碼器中完成。P幀的重建能夠在重建參考幀(或者正在參考的圖像或幀的一部分)之後開始。已編碼量化係數被進行反量化550,然後執行2D逆變換555,得到已解碼的或重建的殘差560。已編碼運動矢量525a-525d被解碼並且被用於確定組成重建的最佳匹配複合宏塊565的已重建的最佳匹配子宏塊的位置。然後,將重建的殘差460與重建的最佳匹配複合宏塊560相加以形成重建的宏塊570。解塊濾波(deblocking filter)575也能夠被用作編碼或解碼處理過程的一部分,以用於諸如沿著宏塊或子宏塊的邊緣的像素增強。重建的宏塊能夠被存儲在存儲器中,被獨立地顯示或者和其它重建的宏塊一起在圖像中顯示,或者對其進行進一步的處理以用於圖像增強。本領域的普通技術人員將會認識到,H.264中的B幀重建也能夠使用類似的方法來利用多個子宏塊。
就H.264而言,B幀構建能夠在片級(一個片通常是一組連續的宏塊)或圖像級上完成,其中B幀中的不同的片或圖像能夠最小被幀內編碼或幀間編碼為4×4像素塊。H.264還提供直接模式的雙向預測。在直接模式中,前向和後向運動矢量由兩個參考幀之一的相應的宏塊中使用的運動矢量推導出。在直接模式中,基於後向和前向參考幀與當前B幀或圖像之間的時間間隔,推導出前向和後向運動矢量。該直接模式還能夠對參考宏塊的Y、Cr和Cb分量進行加權,而不是像圖3的例子中示出的那樣,對該三個分量進行平均。該加權也是基於後向和前向參考幀與當前B幀或圖像之間的時間間隔的。此外,B幀構建可以僅基於前向或者後向最佳匹配宏塊、而不是基於圖3中所描述的平均宏塊來計算殘差。
圖6是說明包括時間可分級的解碼處理過程的一個例子的流程圖。處理過程600由像圖1中示出的解碼器設備110這樣的設備來執行。在步驟605中,解碼器設備通過像圖1中的網絡140這樣的網絡、或者從像圖1中的外部存儲元件165這樣的外部存儲裝置接收已編碼視頻數據。如上所述,該已編碼數據包括基本層數據和增強層數據。接收裝置,例如圖1中的通信元件180,能夠執行步驟605。該解碼器設備對能夠包括I幀和P幀的基本層數據進行解碼。解碼裝置,例如圖1中的幀內解碼元件145和預測解碼元件150,能夠執行步驟610。在步驟615中,該解碼器設備確定是否要對增強層數據進行解碼。不對增強層數據進行解碼的原因包括,例如,沒有接收到增強層數據或者接收到的增強層數據具有差的或不夠的SNR、以及/或者解碼器設備沒有足夠的處理功率。判決塊615能夠在任何級別上執行,以省略對任何規模的部分進行解碼,包括整個幀、片、宏塊和更小的部分。如果在步驟615確定要對增強層進行解碼,那麼,在步驟620中,該解碼器設備對包括I幀、P幀和B幀的增強層數據進行解碼。確定裝置,例如圖1中的時間可分級元件155,能夠執行步驟615。解碼裝置,例如圖1中的幀內解碼元件145和預測解碼元件150,能夠執行步驟620。對解碼器選擇解碼的所有基本層和增強層數據進行解碼之後,在步驟625中,解碼器能夠把解碼的視頻存儲在存儲器中,或者顯示該視頻。存儲裝置,例如圖1中的外部存儲元件165或存儲器元件160,能夠執行步驟625中的存儲部分。顯示裝置,例如圖1中的顯示器元件170,能夠執行步驟625中的顯示部分。
圖7是說明用於基本層I幀和P幀構建的運動補償編解碼器處理過程的一個例子的流程圖,如在圖6的步驟610中執行的那樣。可分級視頻編碼比特流的基本層能夠包含高優先級的數據。一些低比特率的遠程設備可以只具有基本層功能。在步驟725中,解碼器處理過程700通過經網絡或者從存儲器接收編碼量化的幀內編碼視頻數據,開始對I幀進行解碼。接收裝置,例如圖1中的通信元件180,能夠執行步驟725。在步驟730中,對量化的幀內編碼視頻數據進行反量化。然後,在步驟735中對數據進行逆變換,得到解碼的I幀。然後,在步驟750中,已解碼的I幀或I-VOP(I-VOP代表幀內編碼視頻對象平面)準備好被顯示或者被存儲在存儲器中。解碼器也能夠把已解碼的輸出I-VOP存儲在存儲器中以供對參考該I幀的後一個P幀進行解碼。
只有對能夠從中預測P幀的參考幀進行解碼之後,才能開始對該P幀進行解碼。在步驟705中,從存儲器中取得已解碼的參考VOP。在步驟710中,用零填充VOP的邊緣,以準備進行像素內插。用零填充使得多抽頭濾波器能夠正確地在存在像素數目不足的邊緣區域像素之間進行內插。在步驟715中,對填充的VOP的像素進行內插。應用像素內插來為運動補償獲得更好的匹配參考區域。下面將更加詳細的討論像素內插。在內插像素之後,在步驟720中,採用已編碼的運動矢量,編解碼器在內插的像素之內確定最佳匹配參考宏塊(或任意大小的部分)的位置。當採用運動矢量確定所有幀內編碼宏塊的位置並且根據參考幀對其部分地重建之後,在步驟755中,把該部分重建的P幀存儲在存儲器中。與以上關於I幀的討論類似,在步驟725中,通過網絡或從存儲器接收P幀的殘差部分的量化DCT係數。在步驟730中,對殘差進行反量化,然後在步驟735中對其進行逆變換。在步驟740中,把解碼的殘差加到所存儲的部分重建的P幀上,得到已解碼的輸出P-VOP。在步驟750中,能夠把該已解碼的P-VOP存儲在存儲器中,並且/或者對其進行顯示。
如上所述,處理過程700採用與圖6的步驟620中相同的方式對增強層I幀和P幀進行解碼。然而,在步驟620中對增強層B幀進行解碼利用了兩個參考幀,例如前一個I幀或P幀和後一個I幀或P幀。圖8是增強層B幀構建處理過程的例子的流程圖,該處理過程利用了執行圖7示出的基本層處理過程的基本層運動補償編解碼器的元件。為了構建雙向圖像或B幀,這個示例性的實施例重新利用該基本層元件,對該基本層元件稍加修改或者不進行修改,並且少量的附加軟體、固件或硬體有改變。在步驟805中,通過訪問第一已解碼VOP1,開始B幀構建。在步驟810中,用零填充VOP1的邊緣。在步驟815中,對填充的VOP1的像素進行內插。在步驟820中,使用已編碼的運動矢量在VOP1中確定最佳匹配區域的位置。在不失一般性的情況下,能夠假設VOP1是後向定位的參考幀。在步驟855中,來自VOP1的最佳匹配宏塊被存儲在存儲器中,以便和第二VOP最佳匹配宏塊合併。步驟855可能需要第二存儲緩衝區來存儲VOP1的最佳匹配區域,而沒有被修改過的基本層編解碼器不需要該第二存儲緩衝區。對於VOP2,重複步驟805、810、815和820。為了能夠訪問存儲在存儲器中的第二幀,可能需要存儲器的第二區域,而基本層編解碼器不需要該第二區域。對於VOP2,重用與VOP1相同的用於填充、內插像素以及確定最佳匹配區域的位置的基本層模塊。
由於任一時間只有一個模塊可用,因此在編碼/解碼處理過程中,重用模塊會增加時延,但是如果該時延是可接受的,則節約成本將是更大的收益。然後在步驟860中,來自VOP2的最佳匹配宏塊與所存儲的VOP1的最佳匹配宏塊相加,同時還與用於捨入控制的「1」相加,得到組合最佳匹配宏塊。然後,在步驟865中,該組合最佳匹配宏塊被除以2以對像素值進行平均(示為右移1位)。然後在步驟845中,把該平均的組合最佳匹配宏塊存儲到存儲器中。能夠繼續執行步驟805、810、815、820、855、860、865和845,直到完成整個部分重建的B-VOP。隨著如上所述的基本層P-VOP重建,通過網絡或者從存儲器接收到B-VOP的殘差,在步驟830中,對其進行反量化,並且在步驟835中對其進行逆變換。然後,在步驟840中,把該殘差與存儲的部分重建的B-VOP相加,得到解碼的B-VOP。然後,在步驟850中,把該已解碼的B-VOP存儲在存儲器中,或對其進行顯示。
圖8示出在第一遍中相繼執行步驟805、810、815和820,然後在第二遍中順序地重複整組步驟。本領域的普通技術人員應該認識到,在一個處理器中,可以同時進行多個處理線程。使用多個處理線程,一個諸如運動補償模塊這樣的模塊,能夠對第一參考幀或其中的塊進行工作,而諸如逆量化和逆變換模塊這樣的另一個模塊則在處理第二參考幀或其中的塊。一旦這些模塊完成了它們的操作,它們交換幀或塊,使得運動補償模塊對第二參考幀進行工作而逆量化和逆變換模塊處理下一個參考幀。這種類型的多線程處理能夠減少由重用模塊引起的計算時延。
重用基本層解碼元件來對雙向預測部分進行解碼會需要一定的限制。對於P幀,在這些元件之間傳送一組運動矢量(在H.264中對於4×4像素劃分的每個宏塊,最大達到16個運動矢量)和一個參考圖像索引。對於B幀,為了使用相同的接口,編碼被限制為每個宏塊有8個分區(每個擁有兩個運動矢量)。模擬示出,B幀的16個4×4像素分區出現概率極小並且由於這樣的限制,其對比特率和質量所施加的影響是感覺不到的。同樣,把編碼限制在8個分區並不意味著不能處理那種4×4的塊分區。限制僅僅是對每個宏塊的運動矢量的數目而言的。例如,劃分成4個4×4塊和3個8×8像素塊的宏塊是一個有效的組合。作為限制編碼的選擇,解碼器能夠利用H.264提供的模式,其中合併4個4×4的塊的組以形成一個8×8的塊,並且(這些4×4的塊)的4個運動矢量中的其中一個被用作該組合的8×8像素塊的運動矢量。
如果(多個)處理器有足夠的計算能力,運動補償編解碼器能夠順序地執行填充、分數像素內插以及最佳匹配區域定位。特別是,模擬示出,對B幀進行解碼的計算負載(尤其是,用於整個幀的運動補償的周期數)小於對P幀進行解碼的計算負載。因此,即便順序地發生填充、內插和最佳匹配區域定位,仍舊能夠對幀進行解碼以滿足回放幀速率達到每秒30幀或更高(必須在[1/(用fps表示的幀速率)]秒內對一幀進行解碼)。
像素內插能夠被用於提高運動補償預測編碼的性能。圖9說明了在運動補償中使用的半像素內插的例子。該例子示出了半像素內插,其中一個內插的像素位於每個原始整數像素之間。整數像素910被描述為用從「A」到「I」的大寫字母標記的圓形,而內插的或半像素920被描述為用從「a」到「o」的小寫字母標記的方形。能夠用雙線性濾波器,例如,權值為
的2抽頭FIR濾波器,來執行半像素內插。例如,能夠將內插的像素922計算為整數像素912和整數像素914的平均值,內插的像素924是整數像素912和整數像素916的平均值,而內插的像素926能夠是兩個內插的像素(例如,922和928或者924和930)的平均值。能夠以這種方式對亮度(Y)和色度(Cr和Cb)分量進行內插。各種標準能夠支持其它級數的像素內插。H.264支持四分之一像素內插和八分之一像素內插。本領域的普通技術人員應該理解這些其它的像素內插方法,並且這裡沒有對它們進行更詳細的描述。
以上所描述的方法和裝置的例子包括一種利用運動補償編解碼器對雙向圖像進行解碼的方法,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置,所述方法包括在第一遍中從第一參考幀中確定第一參考幀部分的位置,將所述第一參考幀部分存儲在存儲器中,在第二遍中從第二參考幀中確定第二參考幀部分的位置,以及合併所述第一參考幀部分和所述第二參考幀部分以形成雙向預測部分。
一種利用運動補償編解碼器對雙向圖像進行解碼的裝置,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置,所述裝置包括用於在第一遍中從第一參考幀中確定第一參考幀部分的位置的模塊,用於將所述第一參考幀部分存儲在存儲器中的裝置,用於在第二遍中從第二參考幀中確定第二參考幀部分的位置的裝置,以及用於合併所述第一參考幀部分和所述第二參考幀部分以形成雙向預測部分的裝置。
一種利用運動補償編解碼器對雙向圖像進行解碼的電子設備,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置,所述電子設備用於在第一遍中從第一參考幀中確定第一參考幀部分的位置,將所述第一參考幀部分存儲在存儲器中,在第二遍中從第二參考幀中確定第二參考幀部分的位置,並且合併所述第一參考幀部分和所述第二參考幀部分以形成雙向預測部分。
一種具有指令的計算機可讀介質,所述指令用於使計算機執行一種利用運動補償編解碼器對雙向圖像進行解碼的方法,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置,所述方法包括在第一遍中從第一參考幀中確定第一參考幀部分的位置,將所述第一參考幀部分存儲在存儲器中,在第二遍中從第二參考幀中確定第二參考幀部分的位置,以及合併所述第一參考幀部分和所述第二參考幀部分以形成雙向預測部分。
一種對從兩個參考幀預測得到的雙向圖像進行編碼的方法,所述雙向圖像將要由運動補償編解碼器進行解碼,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置並且能夠對每個宏塊的有限數目的分區進行解碼,所述方法包括將所述雙向圖像的一個宏塊劃分成多個子宏塊;對於每個子宏塊,在所述兩個參考幀中的每一個中確定預測區域的位置;以及限制子宏塊的數目,使其不大於所述運動補償編解碼器能夠進行解碼的所述有限數目的分區的一半數目。
一種對從兩個參考幀預測得到的雙向圖像進行編碼的裝置,所述雙向圖像將要由運動補償編解碼器進行解碼,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置並且能夠對每個宏塊的有限數目的分區進行解碼,所述裝置包括用於將所述雙向圖像的一個宏塊劃分成多個子宏塊的裝置;用於對於每個子宏塊,在所述兩個參考幀中中的每一個中確定預測區域的位置的裝置;以及用於限制子宏塊的數目,使其不大於所述運動補償編解碼器能夠進行解碼的所述有限數目的分區的一半數目的裝置。
一種對從兩個參考幀預測得到的雙向圖像進行編碼的電子設備,所述雙向圖像將要由運動補償編解碼器進行解碼,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置並且能夠對每個宏塊的有限數目的分區進行解碼,所述電子設備用於將所述雙向圖像的一個宏塊劃分成多個子宏塊;對於每個子宏塊,在所述兩個參考幀中的每一個中確定預測區域的位置;以及限制子宏塊的數目,使其不大於所述運動補償編解碼器能夠進行解碼的所述有限數目的分區的一半數目。
一種具有指令的計算機可讀介質,所述指令用於使計算機執行一種對從兩個參考幀預測得到的雙向圖像進行編碼的方法,所述雙向圖像將要由運動補償編解碼器進行解碼,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置並且能夠對每個宏塊的有限數目的分區進行解碼,所述方法包括將所述雙向圖像的一個宏塊劃分成多個子宏塊;對於每個子宏塊,在所述兩個參考幀中的每一個中確定預測區域的位置;以及限制子宏塊的數目,使其不大於所述運動補償編解碼器能夠進行解碼的所述有限數目的分區的一半數目。
本領域的技術人員應該理解,可以使用任意各種不同的科技和技術來表示信息和信號。例如,在整個上述說明中可能引述的數據、指令、命令、信息、信號、比特、符號以及碼片可以用電壓、電流、電磁波、磁場或磁粒子、光場或光粒子、或者它們任意的組合來表示。
本領域的技術人員還能理解,結合這裡所公開的例子說明的各種說明性的邏輯塊、模塊、以及算法步驟可以用電子硬體、計算機軟體或者它們的組合來實現。為了清楚說明硬體和軟體的可互換性,以上通常就其功能性說明了各種說明性的部件、功能塊、模塊、電路以及步驟。根據施加在整個系統上的特定應用和設計約束來確定是用硬體還是軟體實現這樣的功能性。針對每個特定應用,專業技術人員可以以各種方式實現上述功能性,但是這樣的實現決策不應被解釋為其使得偏離了所公開方法的範圍。
結合這裡所公開的例子說明的各種說明性的邏輯塊、模塊以及電路可以採用通用處理器、數位訊號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列或其它可編程邏輯器件、分立門或電晶體邏輯、分立硬體元件或者設計用來執行這裡所說明的功能的上述部件的任意組合來實現或執行。通用處理器可以是微處理器,但是作為選擇,該處理器可以是任何常規處理器、控制器、微控制器或者狀態機。處理器也可以用計算設備的組合來實現,舉例來說,DSP和微處理器的組合、多個微處理器、結合DSP內核的一個或多個微處理器、或者任何其它這樣的配置。
結合這裡所公開的例子說明的方法或算法的步驟可以直接用硬體、處理器執行的軟體模塊或者兩者的組合來體現。軟體模塊可以存在於RAM存儲器、閃速存儲器、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬碟、可移動磁碟、CD-ROM或者任何其它形式的本領域已知的存儲介質中。示例性的存儲介質被連接到處理器上,這樣,處理器能夠從存儲介質中讀取信息,也能夠向存儲介質寫入信息。作為選擇,存儲介質可以集成到處理器中。處理器和存儲介質可以存在於專用集成電路(ASIC)中。ASIC可以存在於無線數據機中。作為選擇,處理器和存儲介質可以作為分立元件存在於無線數據機中。
提供了所公開的例子的以上說明,以使本領域的任何技術人員都能夠製造或使用所公開的方法和裝置。這些例子的各種修改對本領域的技術人員是顯而易見的,並且在不背離所公開的方法和裝置的精神或範圍的情況下,這裡所定義的原理可以應用於其它例子。
因而,本發明提供了一種用於在基本層軟體、固件和硬體作最小改變的情況下,基於基本層非可分級設計,通過雙向預測提供可分級視頻編碼數據的方法、裝置和系統。
結合這裡所公開的實施例說明的各種說明性的邏輯塊、模塊以及電路可以採用通用處理器、數位訊號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列或其它可編程邏輯器件、分立門或電晶體邏輯、分立硬體元件或者設計用來執行這裡所說明的功能的上述部件的任意組合來實現或執行。通用處理器可以是微處理器,但是作為選擇,該處理器可以是任何常規處理器、控制器、微控制器或者狀態機。處理器也可以用計算設備的組合來實現,舉例來說,DSP和微處理器的組合、多個微處理器、結合DSP內核的一個或多個微處理器、或者任何其它這樣的配置。
結合這裡所公開的實施例說明的方法或算法的步驟可以直接用硬體、處理器執行的軟體模塊或者兩者的組合來體現。軟體模塊可以存在於RAM存儲器、閃速存儲器、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬碟、可移動磁碟、CD-ROM或者任何其它形式的本領域已知的存儲介質中。示例性的存儲介質被連接到處理器上,這樣,處理器能夠從存儲介質中讀取信息,也能夠向存儲介質寫入信息。作為選擇,存儲介質可以集成到處理器中。處理器和存儲介質可以存在於ASIC中。ASIC可以存在於用戶終端中。作為選擇,處理器和存儲介質可以作為分立元件存在於用戶終端中。
提供了所公開的實施例的以上說明,以使本領域的任何技術人員都能夠製造或使用本發明。這些實施例的各種修改對本領域的技術人員來說是顯而易見的,並且在不背離本發明的精神或範圍的情況下,這裡所定義的一般性原理可以應用於其它實施例,例如,應用於即時消息服務或任何通用無線數據通信應用中。因而,本發明並不是要被限制於這裡所示出的實施例,而是要符合與這裡所公開的原理和新穎特徵相一致的最寬範圍。這裡專門用到的「示例性的」一詞表示「作為例子、實例、或者例證」。這裡描述的任何作為「示例性的」實施例不必被解釋為相對於其它實施例是優選的或者具有優勢。
權利要求
1.一種利用運動補償編解碼器對雙向圖像進行解碼的方法,其中所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置,所述方法包括在第一遍中從第一參考幀中確定第一參考幀部分的位置;將所述第一參考幀部分存儲在存儲器中;在第二遍中從第二參考幀中確定第二參考幀部分的位置;並且合併所述第一參考幀部分和所述第二參考幀部分,以形成雙向預測部分。
2.根據權利要求1所述的方法,還包括通過無線網絡,接收表示所述第一參考幀和所述第二參考幀的已編碼數據;並且通過所述無線網絡,接收標識所述第一參考幀部分和所述第二參考幀部分的位置的已編碼數據。
3.根據權利要求1所述的方法,還包括在所述第一遍中對所述第一參考幀的像素進行內插;並且在所述第二遍中對所述第二參考幀的像素進行內插。
4.根據權利要求3所述的方法,還包括在所述第一遍中對所述第一參考幀的邊緣進行填充;並且在所述第二遍中對所述第二參考幀的邊緣進行填充。
5.根據權利要求1所述的方法,還包括利用運動矢量確定所述參考幀部分的位置。
6.根據權利要求1所述的方法,還包括將殘差和所述雙向預測部分相加。
7.根據權利要求1所述的方法,還包括顯示所述雙向預測部分。
8.根據權利要求1所述的方法,還包括順序地執行所述第一和第二遍。
9.根據權利要求1所述的方法,還包括確定忽略對從兩個參考幀預測得到的雙向圖像進行解碼,以便執行時間分級。
10.根據權利要求2所述的方法,還包括在可分級視頻編碼比特流的基本層中,對多媒體數據的第一幀間編碼部分進行編碼;在所述可分級視頻編碼比特流的增強層中,對多媒體數據的第二雙向部分進行編碼,其中所述多媒體數據包括表示所述第一參考幀、所述第二參考幀的數據,以及標識所述第一參考幀部分和所述第二參考幀部分的位置的數據;並且通過所述無線網絡傳送所述多媒體數據。
11.一種利用運動補償編解碼器對雙向圖像進行解碼的裝置,其中所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置,所述裝置包括用於在第一遍中從第一參考幀中確定第一參考幀部分的位置的裝置;用於將所述第一參考幀部分存儲在存儲器中的裝置;用於在第二遍中從第二參考幀中確定第二參考幀部分的位置的裝置;以及用於合併所述第一參考幀部分和所述第二參考幀部分,以形成雙向預測部分的裝置。
12.根據權利要求11所述的裝置,還包括用於通過無線網絡,接收表示所述第一參考幀和所述第二參考幀的已編碼數據的裝置;以及用於通過所述無線網絡,接收標識所述第一參考幀部分和所述第二參考幀部分的位置的已編碼數據的裝置。
13.根據權利要求11所述的裝置,還包括用於在所述第一遍中對所述第一參考幀的像素進行內插的裝置;以及用於在所述第二遍中對所述第二參考幀的像素進行內插的裝置。
14.根據權利要求13所述的裝置,還包括用於在所述第一遍中對所述第一參考幀的邊緣進行填充的裝置;以及用於在所述第二遍中對所述第二參考幀的邊緣進行填充的裝置。
15.根據權利要求11所述的裝置,還包括用於利用運動矢量確定所述參考幀部分的位置的裝置。
16.根據權利要求11所述的裝置,還包括用於將殘差和所述雙向預測部分相加的裝置。
17.根據權利要求11所述的裝置,還包括用於顯示所述雙向預測部分的裝置。
18.根據權利要求11所述的裝置,還包括用於順序地執行所述第一和第二遍的裝置。
19.根據權利要求11所述的裝置,還包括用於確定忽略對從兩個參考幀預測得到的雙向圖像進行解碼,以便執行時間分級的裝置。
20.一種利用運動補償編解碼器對雙向圖像進行解碼的電子設備,其中所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置,所述電子設備用於在第一遍中從第一參考幀中確定第一參考幀部分的位置;將所述第一參考幀部分存儲在存儲器中;在第二遍中從第二參考幀中確定第二參考幀部分的位置;並且合併所述第一參考幀部分和所述第二參考幀部分,以形成雙向預測部分。
21.根據權利要求20所述的電子設備,還用於通過無線網絡,接收表示所述第一參考幀和所述第二參考幀的已編碼數據;並且通過所述無線網絡,接收標識所述第一參考幀部分和所述第二參考幀部分的位置的已編碼數據。
22.根據權利要求20所述的電子設備,還用於在所述第一遍中對所述第一參考幀的像素進行內插;並且在所述第二遍中對所述第二參考幀的像素進行內插。
23.根據權利要求22所述的電子設備,還用於在所述第一遍中對所述第一參考幀的邊緣進行填充;並且在所述第二遍中對所述第二參考幀的邊緣進行填充。
24.根據權利要求20所述的電子設備,還用於利用運動矢量確定所述參考幀部分的位置。
25.根據權利要求20所述的電子設備,還用於將殘差和所述雙向預測部分相加。
26.根據權利要求20所述的電子設備,還用於顯示所述雙向預測部分。
27.根據權利要求20所述的電子設備,還用於順序地執行所述第一和第二遍。
28.根據權利要求20所述的電子設備,還用於確定忽略對從兩個參考幀預測得到的雙向圖像進行解碼,以便執行時間分級。
29.一種具有指令的計算機可讀介質,其中所述指令用於使計算機執行一種利用運動補償編解碼器對雙向圖像進行解碼的方法,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置,所述方法包括在第一遍中從第一參考幀中確定第一參考幀部分的位置;將所述第一參考幀部分存儲在存儲器中;在第二遍中從第二參考幀中確定第二參考幀部分的位置;並且合併所述第一參考幀部分和所述第二參考幀部分,以形成雙向預測部分。
30.一種對從兩個參考幀預測得到的雙向圖像進行編碼的方法,其中所述雙向圖像將要由運動補償編解碼器進行解碼,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置並且能夠對每個宏塊的有限數目的分區進行解碼,所述方法包括將所述雙向圖像的宏塊劃分成多個子宏塊;對於所述子宏塊中的每一個,在所述兩個參考幀中的每一個中確定預測區域的位置;並且限制所述子宏塊的數目,使其不大於所述運動補償編解碼器能夠進行解碼的所述有限數目的分區的一半數目。
31.一種對從兩個參考幀預測得到的雙向圖像進行編碼的裝置,其中所述雙向圖像將要由運動補償編解碼器進行解碼,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置並且能夠對每個宏塊的有限數目的分區進行解碼,所述裝置包括用於將所述雙向圖像的宏塊劃分成多個子宏塊的裝置;用於對於所述子宏塊中的每一個,在所述兩個參考幀中的每一個中確定預測區域的位置的裝置;以及用於限制所述子宏塊的數目,使其不大於所述運動補償編解碼器能夠進行解碼的所述有限數目的分區的一半數目的裝置。
32.一種對從兩個參考幀預測得到的雙向圖像進行編碼的電子設備,其中所述雙向圖像將要由運動補償編解碼器進行解碼,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置並且能夠對每個宏塊的有限數目的分區進行解碼,所述電子設備用於將所述雙向圖像的宏塊劃分成多個子宏塊;對於所述子宏塊中的每一個,在所述兩個參考幀中的每一個中確定預測區域的位置;並且限制所述子宏塊的數目,使其不大於所述運動補償編解碼器能夠進行解碼的所述有限數目的分區的一半數目。
33.一種具有指令的計算機可讀介質,其中所述指令用於使計算機執行一種對從兩個參考幀預測得到的雙向圖像進行編碼的方法,所述雙向圖像將要由運動補償編解碼器進行解碼,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置並且能夠對每個宏塊的有限數目的分區進行解碼,所述方法包括將所述雙向圖像的宏塊劃分成多個子宏塊;對於所述子宏塊中的每一個,在所述兩個參考幀中的每一個中確定預測區域的位置;並且限制所述子宏塊的數目,使其不大於所述運動補償編解碼器能夠進行解碼的所述有限數目的分區的一半數目。
全文摘要
一種利用運動補償編解碼器對從兩個參考幀預測得到的雙向圖像進行解碼的方法、裝置和系統,其中所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置。所述方法包括在第一遍中從第一參考幀中確定第一參考幀部分的位置;將所述第一參考幀部分存儲在存儲器中;在第二遍中從第二參考幀中確定第二參考幀部分的位置;並且合併所述第一參考幀部分和所述第二參考幀部分,以形成雙向預測部分。此外,一種對從兩個參考幀預測得到的雙向圖像的編碼進行限制的方法和裝置,其中所述雙向圖像將要由運動補償編解碼器進行解碼,所述運動補償編解碼器每次只能從一個參考幀中確定參考幀部分的位置並且能夠對每個宏塊的有限數目的分區進行解碼。
文檔編號H04N7/12GK1981531SQ200580022405
公開日2007年6月13日 申請日期2005年5月2日 優先權日2004年5月4日
發明者維賈亞拉克施密·R·拉維德朗, 戈登·肯特·沃克 申請人:高通股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀