專利名稱::視頻編碼方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明的領(lǐng)域是圖像和視頻編碼。本發(fā)明的其它領(lǐng)域包括圖像和視頻的數(shù)字通信和數(shù)字存儲。
背景技術(shù):
:由于精確描述圖像的單個幀所需要的數(shù)字數(shù)據(jù)量呈向上曲線(sheer),因而圖像數(shù)據(jù)的數(shù)字通信和存儲是一項困難的任務(wù)。在視頻中,數(shù)據(jù)量很快變得非常大。圖像編碼試圖通過壓縮圖像數(shù)據(jù)即通過減少表示圖像所必需的數(shù)據(jù)量來使得圖像數(shù)據(jù)的通信和/或存儲可管理。例如,通信資源具有有限的帶寬。在無線通信介質(zhì)中尤其如此。在圖像數(shù)據(jù)編碼中存在折衷。例如,減少數(shù)據(jù)大小不應(yīng)該使圖像質(zhì)量下降超過可接收的度。此外,必需管理計算成本和速度,尤其是在應(yīng)節(jié)省計算資源和電力資源的設(shè)備中。視頻編碼/壓縮方法的現(xiàn)代示例包括MPEG-4和H.264。特別地,后者是專門設(shè)計用于分組網(wǎng)絡(luò)上的視頻傳輸。許多設(shè)備訪問不止一種通信介質(zhì)。如膝上式電腦、個人數(shù)字助理(PDA)、工作站或視頻會議系統(tǒng)等設(shè)備可以訪問多個網(wǎng)絡(luò)。例如,一個設(shè)備可以訪問幾種不同類型的有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)?,F(xiàn)今許多視頻壓縮算法利用運動補償來獲得充分的壓縮。運動補償?shù)幕舅枷肴缦?。宏塊(macroblock)表示圖像數(shù)據(jù)塊,例如,圖像中16×16像素的方形區(qū)域。將待編碼的當前幀中的宏塊與參考幀中的一些宏塊集合進行比較以找到最相似的一個。參考幀通常是圖像中的在先幀。通常用像素差的絕對值之和或者像素之間的平方差來度量相似性??梢酝ㄟ^給定偏移向量來指定該最佳匹配塊的位置,該偏移向量稱作運動向量,其描述了待編碼的當前宏塊與參考幀中的最佳匹配宏塊之間的水平和垂直位置差??赡軆H使用該運動向量來表示待編碼的當前宏塊。解碼器一接收到該運動向量就可以從參考幀取出參考塊并且將該參考塊粘貼到表示當前塊的位置。如果參考塊與當前塊足夠相似,則該直接替換可以提供適當?shù)馁|(zhì)量。如果它們不夠接近,則解碼器可以可選地一起發(fā)送一些描述如何修改參考塊以便使其與當前塊更接近的額外信息。在這兩者中的任一種情況下,這都被稱作INTER(間)編碼。當解碼器沒有找到當前宏塊的良好匹配時,解碼器可以選擇獨自地對當前宏塊進行編碼,而不參考任何其它過去的塊。這被稱作INTRA(內(nèi))編碼。在INTER和INTRA編碼之間的選擇是視頻編碼標準MPEG、MPEG-2、MPEG-4[T.Sikora,“TheMPEG-4VideoStandardVerificationModel”,IEEETransactionsonCircuitsandSystemsforVideoTechnology,vol.7,no.1,pp.19-31,F(xiàn)ebruary1997.]、H.263[G.Cote,B.Erol,M.GallantandF.Kossentini,“H.263+VideoCodingatLowBitRates,”IBEETrans.Circ.AndSystemsforVideoTechn,vol.8,no.7,pp.849-865,Nov.1998.]和最新及當前技術(shù)H.264中可得到的基本途徑。INTER編碼趨于比INTRA編碼需要更少的比特,但是會傳播誤差。由于INTRA編碼不參考在先幀,因而其不會傳播在先幀中存在的誤差。在INTER和INTRA編碼之間進行選擇涉及滿足使用較少比特和對錯誤魯棒的競爭目的。在INTER和INTRA編碼之間做出明智的選擇是本領(lǐng)域關(guān)注的問題。涉及該主題的一篇論文是R.Zhang,S.L.Regunathan,K.Rose的“VideoCodingwithOptimalInter/Intra-ModeSwitchingforPacketLossResilience,”,IEEEJournalonSelectedAreasinCommunications,vol.18,no.6,pp.966-76,June2000。這篇論文提供了一種稱作ROPE(recursiveoptimalperpixelestimate,遞歸最優(yōu)每個像素估計)的失真估計方法,其在估計失真中考慮兩個因素信道誤差概率和被編碼塊的隱蔽能力(concealability)。然后通過權(quán)衡減少失真(如ROPE估計的)和僅使用小數(shù)目的比特用于編碼(尤其是保持在目標速率約束之內(nèi))的競爭目的來做出對于給定塊(諸如宏塊)的INTER和INTRA編碼之間的選擇。速率約束青睞INTER編碼,誤差約束青睞INTRA編碼,而隱蔽誤差的能力青睞INTER編碼。當用于傳送視頻數(shù)據(jù)的連接經(jīng)受質(zhì)量改變時,結(jié)果的視頻解碼會產(chǎn)生非常差的結(jié)果。當參考幀提供差質(zhì)量的參考時,解碼結(jié)果快速惡化。已提出的解決該問題的一種技術(shù)是保留多個幀。但是,這會使得編碼負擔和復雜度非常高。存在許多多個參考幀方法的示例。[例如請參見,N.VasconcelosandA.Lippman,“Library-basedImageCoding,”IEEEInternationalConferenceonAcoustics,Speech,andSignalProcessing,vol.v,pp.V/489-V/492,1994;T.Wiegand,X.zhang,andB.Girod,“LongtermMemorvMotion-CompensatedPrediction,”IEEETrans.Circ.AndSystemsforVideoTechn.,vol.9,no.1,pp.70-84,F(xiàn)eb.1999.]。在一個示例中,當對視頻的幀N中的塊進行編碼時,編碼器可能在幀N-1、N-2、N-3、和N-4中尋找最佳可能匹配塊。即,可以搜索4個緊鄰的過去幀以進行匹配。然后編碼器會告訴解碼器哪個參考幀提供了最佳匹配。例如,可以分配2個比特來描述4個幀中哪個提供了最佳匹配,然后提供通常的運動向量來給出待編碼的當前塊與指定參考幀中最佳匹配塊的位置之間的偏移。在T.Fukuhara,K.Asai,andT.Murakami,“VeryLowBit-RateVideoCodingwithBlockPartitioningandAdaptiveSelectionofTwoTime-DifferentialFrameMemories,”IEEETrans.Circ.AndSystemsforVideoTechn.Vol.7,no.1,pp.212-220,F(xiàn)eb.1997中,僅使用了兩個時間差分(time-differential)幀,因此在計算復雜度上需要相對不大的增加。該雙幀緩沖器是多幀緩沖器的特例,其中只有兩個參考幀。例如,可以有一個短期參考幀(緊鄰的過去幀)和一個長期參考幀(來自更遠的過去的幀)。在Fukuhara等人的論文中,一個幀是在先幀,如許多混合編解碼器中那樣,而第二個幀包含根據(jù)預定規(guī)則周期性更新的來自更遠的過去的幀。已經(jīng)顯示出多參考幀可以以計算負擔和存儲復雜度增加為代價在重構(gòu)PSNR(PeakSignal-to-NoiseRatio,峰值信噪比)方面產(chǎn)生顯著的增益。運動估計是混合視頻編碼系統(tǒng)中的主要性能瓶頸,并且占據(jù)高于80-90%的總編碼時間。從而,增加即使一個額外的幀緩沖器也會使編碼時間加倍。對存儲器需求來說同樣如此,其中該增加也是線性的從而隨著參考幀的數(shù)目增大是不允許的。一種始終最佳連接(AlwaysBestConnected,ABC)方法是在設(shè)備接入多個連接時使用的方法。諸如膝上式電腦或PDA的設(shè)備可能能夠接入運行在不同速率的幾種不同類型的無線或有線網(wǎng)絡(luò)。例如,該設(shè)備可能能夠使用以太網(wǎng)連接(10Mbps)、無線LAN(11Mbps)、HDR(400-500Kbps)、1×RTT(64Kbps)、和GPRS(16Kbps)進行通信。在任何給定時刻,假定該用戶沒有選擇其用戶匯總目錄(profile)中任何其它網(wǎng)絡(luò)的話,該設(shè)備將使用在該特定時刻其可接入的最佳連接來運行。最佳連接經(jīng)常是具有最高數(shù)據(jù)速率的連接,但是也包括其它因素(例如,錯誤率、延遲等等)。如果最佳連接變得不可用,或者其質(zhì)量惡化到不再是最佳連接的點,則預期設(shè)備無縫切換到另外的連接,即新的最佳連接。該連接經(jīng)常是處于較低速率的連接。還預期該設(shè)備周期性地探查所有連接以查看哪個可用。如果高速率連接變得不可用并且然后再次變得可用,則預期該設(shè)備發(fā)現(xiàn)該可用性,并且切換回去以使用該網(wǎng)絡(luò)。
發(fā)明內(nèi)容本發(fā)明使用了雙幀并且可能是多幀的方法。本發(fā)明的實施例包括做出使用長期參考幀來進行INTER編碼還是進行INTRA編碼的決定,該長期參考幀是不同于緊鄰的過去參考幀的幀。其它實施例包括使用長期和短期參考塊,并且在INTER編碼塊和INTRA編碼這兩種類型之間做出決定。根據(jù)本發(fā)明的實施例,長期幀是高質(zhì)量幀。該高質(zhì)量幀在特定條件下可以用作參考幀。圖1A和1B是圖示根據(jù)本發(fā)明實施例的示例性系統(tǒng)的框圖;圖2是圖示在速率切換情景中的本發(fā)明的示例性長期參考幀編碼方法的示意圖;圖3A和3B示意性地圖示了兩種調(diào)度器;圖3B的調(diào)度器分配額外的帶寬給用戶以產(chǎn)生高質(zhì)量參考幀;圖4示意性地圖示了根據(jù)本發(fā)明實施例的帶有反饋的長期參考幀編碼方法;以及圖5示意性地圖示了根據(jù)本發(fā)明實施例的帶有反饋的長期參考幀編碼方法。具體實施例方式本發(fā)明針對用于對諸如視頻的圖像數(shù)據(jù)進行編碼的方法、設(shè)備和系統(tǒng)。本發(fā)明還針對用于對數(shù)據(jù)進行解碼的方法、設(shè)備和系統(tǒng)。本發(fā)明可用在利用通信介質(zhì)的許多類型的系統(tǒng)中。例如,本發(fā)明可以用在對等型通信中和服務(wù)器客戶端型通信中,并且還可以用于例如對圖像數(shù)據(jù)進行編碼以存儲。本發(fā)明的一個特定示例性實施例是視頻會議系統(tǒng)和方法。本發(fā)明的實施例可能特別適用于其中視頻連接改變速率顯著量的情形。在描述本發(fā)明實施例的過程中,討論將著重于對幀的處理。這將是對本發(fā)明的普通實現(xiàn)。然而,如同標準中那樣,基于塊來進行處理和比較。對于本發(fā)明的目的而言,塊大小通常是任意的。如上述標準中那樣,普通實現(xiàn)將使用宏塊。如本文中所采用的,可以將一幀劃分成多個塊,諸如宏塊。然而,對幀大小沒有特別限制,盡管本發(fā)明的實施例可能使用標準中的幀大小。本發(fā)明可以作為許多上述標準的修正來應(yīng)用。本發(fā)明可以利用在這些標準的任一個中計算的運動補償向量,并且也可以利用其它方法進行向量計算。通過本發(fā)明,改進了公知標準,盡管本發(fā)明利用了通用標準框架和公知的硬件實現(xiàn)。本發(fā)明使用了一種雙幀以及可能多幀的方法。本發(fā)明的實施例包括做出使用長期參考幀來進行INTER編碼還是進行INTRA編碼的決定,該長期參考幀是不同于緊鄰的過去參考幀的幀。其它實施例包括使用長期和短期參考塊,并且在INTER編碼塊和INTRA編碼這兩種類型之間做出決定。遞歸最優(yōu)每個像素估計(ROPE)用來計算用于INTRA編碼和短期參考塊的矩(moment),而修正的遞歸最優(yōu)每個像素估計用來計算用于長期參考塊的矩,其中將在先塊的元素視作隨機變量。根據(jù)本發(fā)明的實施例,長期幀是高質(zhì)量幀。高質(zhì)量幀在特定條件下可以用作參考幀。例如,該條件可以包括正在通過其接收視頻的連接的質(zhì)量改變。高質(zhì)量幀例如可以是從較高質(zhì)量連接的時刻起的過去幀。在另一示例性實施例中,在通信質(zhì)量的預期改變之前保留了一個高質(zhì)量幀或多個高質(zhì)量幀。這可以是對低劣質(zhì)的量預先警告或者預測的結(jié)果,或者可以周期性地進行,例如,以確保高質(zhì)量幀可得到。例如,可以通過強迫使在前幀和后繼幀不占用(starve)其典型占用的所分配的比特速率而以在前和后繼幀為代價偶爾對高質(zhì)量參考幀進行編碼。在額外的實施例中,將幀劃分成靜態(tài)和動態(tài)部分。例如,可以識別背景部分和前景部分。背景部分的高質(zhì)量參考幀由于其靜態(tài)特性因而可以使用充分長的時間段,而前景部分由最近的或者新近接收的幀進行運動補償。本發(fā)明的實施例包括雙幀或多幀保留實施例和單個參考幀保留實施例。例如,雙幀實施例將(待編碼的當前幀中的)每個塊與過去的高質(zhì)量參考幀和新近的(短期)參考幀兩者進行比較,并且通過確定產(chǎn)生較好結(jié)果的幀來進行運動補償。將過去的高質(zhì)量幀保持在長期參考幀緩沖器中而將新近的參考幀保持在新近的參考幀緩沖器中。當新近的參考幀比過去的參考幀質(zhì)量高時,則將其作為過去的高質(zhì)量參考幀保留在長期參考幀緩沖器中,并且丟棄先前的過去的高質(zhì)量參考幀。在示例性單幀實施例中,保持單個參考幀緩沖器。在該單個參考幀緩沖器中保持高質(zhì)量長期參考幀直到其廢棄為止,例如,該高質(zhì)量長期參考幀與待編碼的當前幀的相似性降到特定閾值之下,從而做出了開始使用緊鄰的過去幀作為參考幀的決定。本發(fā)明的雙幀或多幀實施例中的編碼器復雜度沒有現(xiàn)有技術(shù)中的復雜,這是因為保留了高質(zhì)量幀作為水準基點(benchmark)。因此,例如只要長期高質(zhì)量幀滿足某尺度就不需要進行大量的比較。此外,可以不定期地或周期性地進行長期幀與新近幀比較的測試。本發(fā)明的單個幀實施例提供了低復雜度編碼器,而不需要額外的編碼器復雜度。本發(fā)明的優(yōu)選實施例方法通過使用來自過去的較高速率連接的數(shù)據(jù)進行長期運動補償。考慮下述情形,其中,視頻編碼裝置通過使用例如始終最佳連接(ABC)網(wǎng)絡(luò)傳輸,并且當前的最佳連接質(zhì)量惡化從而用戶必須切換到較低速率的連接??紤]從1一直到N的幀是高質(zhì)量的,因為它們是在高速率信道上傳輸?shù)模⑶覐膸琋+1開始,用戶現(xiàn)在具有低速率連接。利用諸如MPEG-2或H.263的標準視頻編碼裝置,在低速率連接持續(xù)時的期間視頻質(zhì)量將較低。幀N+1(其必須以低速率傳輸)可以使用來自幀N(其具有高質(zhì)量)的INTER編碼,并且因而幀N+1的質(zhì)量將受益于通過使用高質(zhì)量參考幀來完成塊匹配運動補償這一事實。但是由于削減了速率,所以平均而言幀N+1將比幀N質(zhì)量低。當對幀N+2編碼時,現(xiàn)在通過使用幀N+1完成INTER編碼,因而質(zhì)量下降得更多。相應(yīng)于較低速率,較低質(zhì)量的傳輸,人們可以預計該質(zhì)量下降相當快直到獲得某個新的穩(wěn)定狀態(tài)。在這種情景下,本發(fā)明的實施例使用雙幀運動補償方法,其中長期幀緩沖器將包含例如幀N,即在良好連接失效且較差連接替換該良好連接之前來自高質(zhì)量高速率連接的最后一幀。從而,對于編碼幀M,其中M>N+1,將有兩個可用來進行運動補償?shù)膸唐趲琈-1(低質(zhì)量的緊鄰的過去幀)、和長期幀N(高質(zhì)量的較遠的過去的幀)??紤]其中待編碼的場景是很靜態(tài)的,如很多視頻會議應(yīng)用那樣的情形。當設(shè)備從比方說10Mbps的無線LAN連接向下切換到16Kbps的GPRS連接時,場景中的背景可以保持相當固定。使用來自過去的超高質(zhì)量的長期的運動補償,可以提供對當前幀的非常精確的匹配。另一方面,由于16Kbps是非常低的速率并且將產(chǎn)生低質(zhì)量的視頻,所以僅使用過去的短期幀用于運動補償可能給出很差的結(jié)果。過去的高質(zhì)量幀可以提供優(yōu)勢還存在其它原因。以不變的連接也好還是以變化的連接也好,過去的高質(zhì)量幀提供優(yōu)勢的另一種可能的情形都會發(fā)生。例如,讓考慮其中人或物離開場景并且然后稍后返回到該場景的視頻會議應(yīng)用。僅使用緊鄰的過去幀作為編碼參考不會提供高質(zhì)量信息。實際上,在他們返回到場景的第一幀中,根本沒有用于他們的參考信息,無論是高質(zhì)量的還是低質(zhì)量的。如果保持了高質(zhì)量過去幀,則即使當他們第一次返回到場景中時,也將具有高質(zhì)量的參考信息。因而,這就是即使在場景是非靜態(tài)的時候來自長期過去的高質(zhì)量參考幀也可以是有用的情況。這種類型的優(yōu)勢還可能發(fā)生在視頻會議情形中的人不時轉(zhuǎn)過臉從而他們的臉對一些幀是不可見的然后他們又轉(zhuǎn)回來的時候。如果僅使用緊鄰的過去幀用作參考信息,那么當他們轉(zhuǎn)回來的時候,最初將沒有用于他們臉部的參考。使用過去的較高速率連接的修正和額外的實施例包括其中存在例如對連接質(zhì)量變化的預先警告或預測的情形??紤]其中設(shè)備具有某預警或者能夠預測當前最佳連接的即將發(fā)生故障并且需要切換到低速率連接的情況。了解到解碼器可以很好地利用特別高質(zhì)量幀用于長期幀緩沖器,則發(fā)送器事實上可以在進行切換之前對具有特別高質(zhì)量的一幀進行編碼。即,通過強迫使在先幀和后繼幀不占用它們通常占用的比特速率,編碼器可以例如使用更精細的量化來產(chǎn)生特別高質(zhì)量的幀。當切換到較低速率連接時,解碼器可以使用該特定幀作為雙幀運動補償中的長期幀緩沖器。在另一修正中,不定期地或周期性地對高質(zhì)量幀編碼。這樣做的一個原因是預防連接質(zhì)量的變化。在其它情況下,即使在不考慮連接質(zhì)量變化的場合這也可能是有用的。考慮使得單個用戶使用(例如)較少的比特用于9個幀以便將額外的比特賦予第10幀(由此產(chǎn)生較高質(zhì)量的長期參考幀以用于接下來的10個幀)。這可以用來在整體上產(chǎn)生較高質(zhì)量的視頻而在所需帶寬上沒有增加。額外的實施例包括在低流量時間期間或者在額外比特速率可得時編碼高質(zhì)量幀。這也可以通過服務(wù)器例如分配用于高質(zhì)量幀的比特速率來控制。例如,如果許多用戶正在共享帶寬,由服務(wù)器完成的調(diào)度器可以在用戶(客戶端)之間輪轉(zhuǎn)帶寬的一部分。每個客戶端周期性地被分配一段額外帶寬。該額外的帶寬用于對要用作參考幀的高質(zhì)量幀進行編碼。另一實施例涉及到通過強迫使某些在先幀或者后繼幀不占用為它們分配的比特以創(chuàng)建高質(zhì)量參考幀而使客戶端或者對等用戶使用它們自身的帶寬分配來補償。本發(fā)明的實施例還可以識別數(shù)據(jù)的靜態(tài)和動態(tài)部分并且基于這種識別來調(diào)整編碼。假設(shè)存在這種情形,其中待編碼和傳輸?shù)囊曨l由靜止的或近似靜止的背景部分和運動的前景部分組成。這可以發(fā)生在例如視頻電話和視頻會議應(yīng)用中。如果待編碼的當前幀可以被劃分成背景區(qū)域和前景區(qū)域,則可以通過使用長期過去中的高質(zhì)量幀對背景(假定靜態(tài))進行運動補償,而通過使用最新近的幀對前景(假定非靜止)進行運動補償。此外,存在下述情況,其中數(shù)據(jù)的動態(tài)部分諸如前景受益于對高質(zhì)量長期幀的參考。例如,其中對象或者人離開且稍后返回的視頻中的情況給出了其中動態(tài)信息受益于一個或多個長期高質(zhì)量幀的情況。本發(fā)明的額外實施例與前述實施例或者下面列出的實施例的任一個相結(jié)合來使用單個幀長期預測。取替應(yīng)用雙幀概念,使用單個幀,即直到其變得廢棄為止用于運動補償?shù)木哂懈哔|(zhì)量的長期過去幀(即,其與當前幀如此不同以致最好不再使用該緊臨過去的低質(zhì)量幀用于預測)的時刻為止。與雙幀緩沖器概念不同,這在編碼器處不需要任何額外的復雜性。本發(fā)明的額外實施例與解碼器隱蔽(concealment)有關(guān)。當視頻信號被壓縮并且在不可靠的信道上傳輸時,必須采取一些處理誤差的策略。一個策略是誤差隱蔽(errorconcealment),這是解碼器可采用的一系列后處理方法。當接收到的幀的一部分被毀壞時,解碼器的后處理方法試圖對觀眾隱蔽此點。存在各種替換性辦法空間域插值、頻域估計、涉及在參考幀中定位適當塊的時間隱蔽(temporalconcealment)。在本發(fā)明的實施例中,假定編碼器根據(jù)標準過程編碼,即在先幀用作參考幀。然而,解碼器可以利用額外的參考幀(長期過去的高質(zhì)量幀)以及在先幀。不是只在有丟失的時候才隱蔽,解碼器可以在接收到質(zhì)量非常低劣的宏塊時利用隱蔽,可以通過使用過去的高質(zhì)量參考幀用較高質(zhì)量的塊替代該質(zhì)量非常低劣的宏塊。這可以稱作改進而不是隱蔽,但是可以將其視為時間隱蔽的變體。本質(zhì)上,當質(zhì)量足夠差時,可以選擇認為丟失了塊即使事實上該塊并沒有丟失,并且可以借用其中使用高質(zhì)量過去幀代替丟失塊的丟失隱蔽(lossconcealment)方法。本發(fā)明的實施例還包括上述編碼決定和框架的各種組合?,F(xiàn)在將詳細討論某些特定優(yōu)選實施例,對本領(lǐng)域技術(shù)人員來說各種額外的發(fā)明特征將是顯而易見的。圖1A和1B示出了用于實施本發(fā)明的示例性系統(tǒng)。圖1A和1B的系統(tǒng)可以使用本發(fā)明上面實施例的任一個。圖1A示出了編碼器。圖1B示出了解碼器。在編碼器中,長期幀估計存儲器10存儲對于用于模式選擇的長期幀的估計。這些估計是通過修正的ROPE算法確定的。另一個構(gòu)成額外存儲12的存儲器可以用于存儲比存儲在長期存儲器10中的幀估計更早的幀估計。在使用了反饋的本發(fā)明實施例中采用額外存儲12。短期幀估計存儲在短期幀估計存儲器14中。速率/編碼裝置控制邏輯16使用幀估計來計算失真并且進行速率-失真優(yōu)化。速率/編碼裝置控制邏輯還控制量化參數(shù)(quantizationparameter,QP)選擇、運動補償和重新解碼(re-decoding)控制。開關(guān)18由速率/編碼裝置控制邏輯控制來發(fā)送圖像像素(INTRA編碼)或者圖像像素的差(INTER編碼)到離散余弦變換器(discretecosinetransformer,DCT)20。給定由速率/編碼裝置控制邏輯16選擇的QP,量化器22對DCT20輸出的圖像DCT系數(shù)進行量化并且輸出量化指數(shù)(系數(shù))。給定量化指數(shù),反向量化器24利用QP重構(gòu)圖像DCT系數(shù)。反向DCT26接收DCT系數(shù)(例如8×8塊的DCT系數(shù))并且將它們轉(zhuǎn)換成圖像像素或者像素差值。在INTER編碼的情況下,開關(guān)28添加用來自運動補償器30的運動補償獲得的預測。在INTRA編碼的情況下開關(guān)28保持斷開狀態(tài)。運動補償器30通過使用來自短期幀存儲器32的所存儲的短期幀和來自長期幀存儲器34的所存儲的長期幀作為預測來對當前幀進行運動估計。等價地,運動補償器可以使用在先前階段中獲得的運動向量進行運動補償。運動補償器還對于對其反饋可用并且其參考幀已經(jīng)在存儲器36中進行緩沖的幀進行重寫解碼,其中存儲器36存儲額外過去的重新編碼后的幀,該額外過去的重新編碼后的幀用于對于對其反饋當前可用的幀進行重新解碼(在本發(fā)明的反饋實施例中)。則額外存儲12中所存儲的估計等于重新編碼的,即等于存儲在36中的幀。將其單獨示出,這是因為這里其用作模式選擇而在36中用于重新解碼。在解碼器(圖1B)處,反向量化器38接收量化指數(shù)并且利用QP重構(gòu)DCT系數(shù)。該反向量化器在每個方面都等價于編碼器中的反向量化器24。反向DCT40接收DCT系數(shù)并且將它們轉(zhuǎn)換成圖像像素或者差值像素值。反向DCT等價于編碼器中的反向DCT26。開關(guān)42添加預測或者不添加預測,并且該開關(guān)42等價于編碼器的開關(guān)28。短期幀存儲器44存儲在先的重構(gòu)幀,運動向量解碼器46對接收到的運動向量進行解碼,運動補償器48通過使用由46提供的運動向量以及由短期幀存儲器44和長期幀存儲器50提供的參考進行運動補償,該長期幀存儲器50存儲重構(gòu)后的長期幀?,F(xiàn)在將討論本發(fā)明的優(yōu)選的額外的特定方法,并且該特定方法也可以用在圖1A和1B或其它系統(tǒng)中。圖1A和1B的系統(tǒng)10中用于對視頻編碼的方法使用高質(zhì)量幀。將視頻數(shù)據(jù)劃分成幀??梢詫指畛蓞^(qū)域,諸如背景和前景。如果編碼器擁有關(guān)于視頻數(shù)據(jù)的智能(intelligence)則這將是有用的。還可以將視頻數(shù)據(jù)劃分成諸如塊或宏塊的單元,這使編碼計算更簡單。也可以將幀作為一個整體來對待。編碼器確定在解碼器處的預期失真。這可以以信道誤差概率和過去編碼模式的歷史為基礎(chǔ)。編碼器使用高質(zhì)量過去幀以改進正被編碼的幀。編碼器還可以識別數(shù)據(jù)信道質(zhì)量變化并且存儲正被編碼的圖像或圖像區(qū)域的內(nèi)容中的改變。可以使用反饋來存儲解碼器處的預期失真的更新版本。然后通過使用編碼器對解碼器處失真的預期、幀緩沖器的數(shù)目、幀緩沖器的大小、來自解碼器的任何反饋、改變數(shù)據(jù)信道質(zhì)量的歷史、改變圖像或區(qū)域質(zhì)量從而對于所傳送的圖像的正被編碼的每個幀或區(qū)域(諸如宏塊)來確定存儲在幀緩沖器中的內(nèi)容的歷史、來確定哪個幀緩沖器用作參考緩沖器。進行確定以最大化壓縮比或者視頻質(zhì)量或者權(quán)衡兩者的度量標準。INTER和INTRA編碼之間的切換是本發(fā)明實施例中實現(xiàn)的決定。利用了遞歸最優(yōu)每個像素估計(ROPE),其在運行在分組擦除(packeterasure)信道上的混合式視頻編碼裝置中提供模式?jīng)Q定。假設(shè)視頻比特流在分組擦除信道上傳送。將每個幀分割成塊組(GroupsofBlocks,GOB)。每個GOB包含單個水平片斷(slice)的宏塊(macroblock,MB)并作為單個分組傳送。由于再同步標記(resynchronizationmarker)所以可以獨立接收每個分組并對其解碼。這樣,單個分組丟失就抹去了一個MB片斷,但是保持幀的剩余部分無損。設(shè)p是分組擦除的概率,其也是每單個像素的擦除概率。當解碼器檢測到擦除時,應(yīng)用誤差隱蔽方法。解碼器用來自在先幀的一個宏塊替換丟失的宏塊,使用在丟失的GOB上面的GOB中的三個最近的宏塊的運動向量(MV)的中值作為運動向量。如果上面的GOB也丟失了(或者最近的MB都是內(nèi)編碼的因而不存在運動向量),則使用全零(0,0)MV,并且使用來自在先幀的處于共同位置(co-located)的宏塊來替代丟失的宏塊。由fn表示初始視頻信號的幀n,其在編碼器處被壓縮并重構(gòu)為。接收器處幀n的解碼后的(可能是誤差隱蔽后)重構(gòu)用表示。編碼器并不知道并且將其作為隨機變量來對待。設(shè)fni表示幀n中像素i的初始值,并且設(shè)表示它的編碼器重構(gòu)。解碼器處的重構(gòu)后的值(可能在錯誤隱蔽之后的)用表示。像素i的預期失真為dni=E{(fni-f~ni)2}=(fni)2-2fniE{f~ni}+E{(f~ni)2}]]>dni的計算需要被估計的圖像序列的隨機變量的一階矩和二階矩。為計算這些值,在ROPE中提出了遞歸函數(shù),其中有必要將內(nèi)編碼和間編碼的MB的情況分開。對于內(nèi)編碼的MB,在相應(yīng)于正確接收分組的1-p的概率下f~ni=f^ni.]]>如果分組丟失,但是在先的GOB正確,則基于中值運動向量的隱蔽致使解碼器將當前幀中的像素i與在先幀中的像素k相關(guān)聯(lián)。這樣,在p(1-p)的概率下f~ni=f~n-1k.]]>最后,如果當前的和在先的GOB分組都丟失了,則f~ni=f~n-1i]]>(發(fā)生概率為p2)。則在內(nèi)編碼的MB中像素的兩個矩為E{f~ni}=(1-p)(f^ni)+p(1-p)E{f~n-1k}+p2E{f~n-1i}---(2)]]>E{(f~ni)2}=(1-p)(f^ni)2+p(1-p)E{(f~n-1k)2}+p2E{(f~n-1i)2}---(3)]]>對于間編碼的MB,假設(shè)它的真實運動向量是使得從在先幀中的像素j預測像素i。則,該像素的編碼器預測是。預測誤差eni被壓縮,量化余量(quantizedresidue)是。編碼器重構(gòu)為f^ni=f^n-1j+e^ni---(4)]]>編碼器傳送和MB的運動向量。如果正確接收到分組,則解碼器知道了和MV,但是仍必須使用其自身對在先幀中的像素j的重構(gòu),而該重構(gòu)可能不同于編碼器值。這樣,像素i的解碼器重構(gòu)如下給出f~ni=f~n-1j+e^ni---(5)]]>編碼器再次將作為隨機變量建模。對后兩種情況矩的偏差與內(nèi)編碼的MB類似,但是對于其中沒有傳送誤差(概率1-p)的第一種情況則不同。則對于間編碼的MB中的像素的一階矩和二階矩如下給出E{f~ni}=(1-p)(e~ni+E{f~n-1j})+p(1-p)E{f~n-1k}+p2E{f~n-1i}---(6)]]>E{(f~ni)2}=(1-p)((e^ni)2+2e^niE{f~n-1j}+E{f~n-1j}2)]]>+p(1-p)E{(f~n-1k)2}+p2E{(f~n-1i)2}---(7)]]>在編碼器處執(zhí)行這些遞歸以便計算解碼器處預期的失真。編碼器可以在它的編碼決定中采用該結(jié)果,以最優(yōu)地選取用于每個MB的編碼模式。ROPE考慮由于壓縮和傳送誤差兩者所導致的預期失真以進行最優(yōu)的模式切換。編碼器對于給定的比特速率和分組丟失率以最優(yōu)方式以宏塊為基礎(chǔ)在內(nèi)編碼或間編碼之間進行切換。目標是在比特速率約束R下最小化總體失真D。通過使用拉格朗日乘子λ(Lagrangemultiplierλ),ROPE算法最小化總體成本J=D+λR。各個MB對該成本的貢獻是累加的,從而可以以宏塊為基礎(chǔ)對其最小化。因而,通過下述最小化來選取每個MB的編碼模式minmodeJMB=minmode(DMB+λRMB)---(8)]]>其中,MB的失真DMB是各個像素的失真貢獻的總和。通過如J.Choi和D.Park所著“AStableFeedbackControloftheButterStateUsingtheControlledLagrangeMultiplierMethod”,IEEETrans.ImageProc.,vol.3,pp.546-58,September,1994中那樣修改λ來實現(xiàn)速率控制。本發(fā)明的實施例使用雙幀緩沖器以及速率-失真框架下的最優(yōu)模式切換。雙幀緩沖器的基本效用如下。當對幀n編碼時,編碼器和解碼器都在存儲器中保持兩個參考幀。短期參考幀是幀n-1。長期參考幀是比方說幀n-k,其中k可以是可變的但總是大于1?,F(xiàn)在描述如何選取長期參考幀。在一種稱之為跳躍更新(jumpupdating)的方法中,長期參考幀在從最新幀n-2到最舊幀n-N-1的范圍內(nèi)變化。當對幀n編碼時,如果長期參考幀是n-N-1,則當編碼器繼續(xù)前進到對幀n+1編碼時,短期參考幀將向前行進1個到幀n,并且長期參考幀將向前跳N個到幀n-1。長期參考幀將然后對N個幀保持靜止,并且然后又向前跳躍。將N稱作跳躍更新參數(shù)。另一方法是連續(xù)更新長期幀緩沖器從而長期幀緩沖器包含距離當前緩沖器固定時間距離的幀。因而,該緩沖器對每個幀n來說總是包含n-D幀。將D稱作連續(xù)更新參數(shù)。注意到跳躍更新和連續(xù)更新都可以看作更一般的(N,D)更新策略的特例,在(N,D)更新策略中,長期參考幀向前跳躍N從而成為與待編碼的當前幀向后距離為D的幀,并且然后對N個幀保持靜止,然后再次向前跳躍。對于一般的(N,D)更新,幀k可以使LT幀作為新近幀k-D或者較早幀k-N-D+1。在定義的跳躍更新中,對每個序列可以自由地選擇N,而D=2,(意思是當更新發(fā)生時,LT幀向前跳躍N從而成為幀n-2)。在連續(xù)更新中,對于每個序列可以自由選擇D,而N固定為1。最一般的更新策略將沒有固定的N或D;而是無規(guī)律地在需要時將長期幀緩沖器更新為最有用的任何幀。在另一種情況中,在對一個序列編碼時(N,D)保持固定?,F(xiàn)在描述如何在編碼模式中做出選擇。每個宏塊可以以三種編碼模式之一進行編碼內(nèi)編碼、使用短期緩沖器的間編碼(inter-ST編碼)、使用長期緩沖器的間編碼(inter-LT編碼)。將使用修正的ROPE算法在這三種編碼模式中做出選擇。一旦選擇了編碼模式,則對比特流進行編碼的語法就幾乎等同于單個幀緩沖器的標準情況了。唯一的修正在于,如果選取了間編碼,則將發(fā)送單個比特以指示使用了短期或長期幀?,F(xiàn)在描述在編碼模式中如何做出選擇。如前,分別使用fn、來表示初始幀n、壓縮幀的編碼器重構(gòu)、以及幀的解碼器版本。假定長期幀緩沖器在m個幀之前更新過。這樣,其在發(fā)送器處包含而在接收器處包含幀n中的像素i的預期失真由公式1給出。為了計算公式1中的矩,用于內(nèi)編碼和inter-ST編碼的MB中的像素的遞歸步驟與常規(guī)ROPE算法中的相應(yīng)步驟等同。對于經(jīng)inter-LT編碼的MB中的像素,假定MB的真實運動向量是使得從幀n-m(其中m>1)中的像素j預測幀n中的像素i的運動向量。該像素的編碼器預測是壓縮預測誤差eni,并且量化余量用表示。像素的編碼器重構(gòu)是f~ni=e^ni+f~n-mj---(9)]]>因為接收器無法訪問所以其使用f^ni=e^ni+f^n-mj---(10)]]>當MB丟失時,計算三個最近MB的中值運動向量,并且該中值運動向量用于將當前幀中的像素i與在先幀中的像素k相關(guān)聯(lián)。使用與原始ROPE算法中相同的參數(shù),計算經(jīng)inter-LT編碼的MB中的像素的一階矩和二階矩E{f~ni}=(1-p)(e^ni+E{f~n-mj})+p(1-p)E{f~n-1k}+p2E{f~n-1i}---(11)]]>E{(f~ni)2}=(1-p)((e^ni)2+2e^niE{f~n-mj}+E{(f~n-mj)2})]]>+p(1-p)E{(f~n-1k)2}+p2E{(f~n-1i)2}---(12)]]>注意到仍然是使用在先幀n-1而不是長期幀來完成誤差隱蔽。進行該誤差隱蔽而不管上面的三個MB是inter-ST編碼的或inter-LT編碼的還是兩者的某種組合。運動向量可以是高度不相關(guān)的。如果上面的GOB也丟失了,則使用來自在先幀的處于共同位置(co-located)的塊來隱蔽MB。鄰近的不相關(guān)運動向量的存在對運動向量編碼效率產(chǎn)生消極影響。由于來自它們鄰近的運動向量的對運動向量的不正確預測導致存在比特速率損失(bitrateloss)。此外,因為對于每個間編碼的MB都使用一個比特來指定幀緩沖器所以降低了壓縮效率。盡管如此,實驗結(jié)果表明速率-失真優(yōu)化對這些額外的比特建模并且仍然能夠得到優(yōu)越的壓縮性能。常規(guī)ROPE的另一修正包括延伸半像素(half-pel)運動向量(或者其它分像素(fractionalpixel)運動向量)的收益(benefit),但是避免完全精確的半像素建模或者其它分數(shù)建模這是因為其在ROPE中產(chǎn)生太高的懲罰。假設(shè)僅使用運動向量的整數(shù)部分來仍然實現(xiàn)誤差隱蔽(EC),并且因而不改變用于內(nèi)編碼的MB的公式2和3。返回到用于間編碼的MB的公式6和7,觀察到項和保持不變。然而,和的計算變得很關(guān)鍵。像素坐標j現(xiàn)在指向覆蓋了4倍于原始圖像的面積的內(nèi)插網(wǎng)格中的位置。對于該計算,區(qū)分半像素網(wǎng)格上的三種類型的像素與實際(初始)像素位置一致的像素(稱作整數(shù)指數(shù)像素,它們不需要插值)、(水平地或垂直地)位于兩個整數(shù)指數(shù)像素中間的像素、位于四個整數(shù)指數(shù)像素對角線中間的像素。使用雙線性插值,從而插值后的值簡單地是兩個或四個近鄰整數(shù)指數(shù)像素的平均。對于整數(shù)指數(shù)像素,遞歸方程與常規(guī)ROPE算法的等同,并且該估計是最優(yōu)的。對于水平或垂直插值后的像素,假定插值后的像素域上的j與原始像素域中使用像素k1和k2插值后的像素相對應(yīng)。一階矩在計算上是易處理的E{f~n-1j}=12[1+E{f~n-1k1}+E{f~n-1k2}]---(13)]]>但是二階矩的表達式為E{(f~n-1j)2}=14[1+E{(f~n-1k1)+E{(f~n-1k2)2}+2E{f~n-1k1}+2E{f~n-1k2}+2E{f~n-1k1f~n-1k2}]---(14)]]>最后一項要求計算其水平/垂直維等于圖像中像素數(shù)目的矩陣的相關(guān)。這可以在小尺寸的圖像上或者利用充分計算資源實施。但是,使用典型的計算資源對于典型大小的圖像,這計算上是不可行的。優(yōu)選地使用余弦不等式來取其近似E{(f~n-1j)2}≤14[1+E{(f~n-1k1)2}+E{(f~n-1k2)2}]]>+2E{f~n-1k1}+2E{f~n-1k2}+2E{(f~n-1k1)2}E{(f~n-1k2)2}]---(15)]]>對于經(jīng)對角插值的像素,假定經(jīng)插值的像素網(wǎng)格上的j是對原始像素域中的像素k1、k2、k3、k4插值的結(jié)果。一階矩可以精確地計算如下E{f~n-1j}=14[2+E{f~n-1k1}+E{f~n-1k2}+E{f~n-1k3}+E{f~n-1k4}]---(16)]]>二階矩的精確表達式如下E{(f~n-1j)2}=116[4+E{(f~n-1k1)2}+E{(f~n-1k2)2}+E{(f~n-1k3)2}+E{(f~n-1k4)2}]]>+4E{f~n-1k1}+4E{f~n-1k2}+4E{f~n-1k32}+4E{f~n-1k4}]]>+2E{f~n-1k1fn-1k2}+2E{f~n-1k1fn-1k3}+2E{f~n-1k1fn-1k4}]]>+2E{f~n-1k2fn-1k3}+2E{f~n-1k2fn-1k4}+2E{f~n-1k3fn-1k4}]---(17)]]>應(yīng)用如與水平/垂直的情況相同的近似,得到E{(f~n-1j)2}≤116[4+E{(f~n-1k1)2}+E{(f~n-1k2)2}+E{(f~n-1k3)2}+E{(f~n-1k4)2}]]>+4E{f~n-1k1}+4E{f~n-1k2}+4E{f~n-1k3}+4E{f~n-1k4}]]>+2E{(f~n-1k1)2}E{(f~n-1k2)2}+2E{(f~n-1k1)2}E{(f~n-1k3)2}]]>+2E{(f~n-1k1)2}E{(f~n-1k4)2}+2E{(f~n-1k2)2}E{(f~n-1k3)2}]]>+2E{(f~n-1k2)2}E{(f~n-1k4)2}+2E{(f~n-1k3)2}E{(f~n-1k4)2}]---(18)]]>并且使用該上限來近似二階矩。本發(fā)明的一個實施例是修正的H.263+視頻編解碼器。這在實驗中已經(jīng)過驗證。以兩種方式修正了現(xiàn)有的H.263+視頻編解碼器。在單幀(single-frame,SF)運動補償?shù)那闆r下,使用ROPE算法用于模式切換決定。結(jié)果的比特流完全符合H.263+標準。其次,修正H.263+視頻編解碼器以利用一個額外的(長期)幀緩沖器。如上面所引用的Fukuhara等的文章中那樣根據(jù)更新參數(shù)N來周期性地更新該幀緩沖器。對于單幀和雙幀兩種情況,測量整數(shù)和半像素運動向量的性能。半像素向量被采用并且使用上面給出的近似來建模。實驗表明,長期幀緩沖器的增加提高了編碼器的壓縮效率并且使得比特流對丟包更加魯棒。然而,對于某些序列該效果很微小,并且其依賴于更新參數(shù)N。固定的N對于所有序列來說并不是最優(yōu)的。最優(yōu)化包括對于特定序列選取特定的更新參數(shù)N。本發(fā)明的一個多幀編碼實施例應(yīng)用于速率切換網(wǎng)絡(luò)??梢允褂瞄L期或高質(zhì)量參考幀。例如,考慮無線網(wǎng)絡(luò)經(jīng)常經(jīng)歷網(wǎng)絡(luò)容量上的顯著躍變。產(chǎn)生這種躍變的示例事件是使用諸如始終最佳連接(ABC)方法的服務(wù)時的網(wǎng)絡(luò)切換(handoff)。在這種情境下使用長期或高質(zhì)量幀的雙幀編碼可以顯著提高在緊接著網(wǎng)絡(luò)切換之后傳送的幀的質(zhì)量并且對網(wǎng)絡(luò)容量中的陡峭和劇烈的躍變起平滑作用。在優(yōu)選實施例中,指定長期過去幀為就在從高帶寬向低帶寬模式的網(wǎng)絡(luò)切換之前編碼的最后的幀。圖2中對此進行了說明,在圖2中發(fā)生從10Mbps到10-20Kbps連接的躍變。利用來自高速率連接的長期幀n-D來對當前幀n編碼。對于預測幀中的每個宏塊(MB),不僅在一個(或多個)緊鄰過去幀而且在一個(或多個)長期過去幀上執(zhí)行搜索,并且選取更佳匹配的塊。現(xiàn)在考慮修正的實際實施例,將圖2的方法應(yīng)用于遵照MPEG-4編碼運行的ABC網(wǎng)絡(luò)。在如ABC的服務(wù)下運行的視頻編碼器必須對多個數(shù)量級的帶寬變化很魯棒。假定ABC網(wǎng)絡(luò)以最小的丟失來提供及時的分組傳遞。為了對抗帶寬中的驟變,假定每個幀的量化參數(shù)可以在其全范圍(1-31)上改變,這和將量化參數(shù)值的改變限定于在先值的25%的符合標準的編碼器形成對比。通過修改標準的MPEG-4編碼裝置對多幀帶寬切換實施例進行仿真。MPEG-4編碼裝置使用A.Vetro,H.Sun,Y.Wang,“MPEG-4RateControlforMultipleVideoObjects”,IEEETransactionsonCircuitsandSystemsforVideoTechnology,Vol.9,No.1,pp.186-99,F(xiàn)ebruary1999中所描述的速率控制方法。將每個幀視為MPEG-4編碼器的單個對象。為長期幀分配額外的存儲器。對每個間編碼的MB傳送額外的比特以通知解碼器其參考哪個幀。內(nèi)刷新周期(intrarefreshperiod)設(shè)置為100。降低內(nèi)刷新周期增強了雙幀編碼器的性能。但是,頻繁的內(nèi)刷新導致更高的將超過GPRS(GeneralPacketRadioService,通用分組無線服務(wù))系統(tǒng)可用的比特速率的比特速率。測試了具有靜態(tài)和動態(tài)背景以及情景變化的不同類型的視頻序列。測試序列的格式是QCIF(quartercommonintermediateformate,四分之一公用中間圖像格式)。幀速率是10幀/秒。為調(diào)查切換到不同的低帶寬網(wǎng)絡(luò)的影響,仿真了從1Mbps切換到范圍從10Kbps(GPRS)到150Kbps(1xRTTCDMA)的低帶寬網(wǎng)絡(luò)。通過使用雙幀緩沖器編碼器以及為比較還通過使用常規(guī)的MPEG-4編碼器對各種序列進行編碼。發(fā)現(xiàn),如由解碼后序列的PSNR所量化的,保留高質(zhì)量幀以用作雙幀編碼器的長期過去幀致使獲得了在切換到較低帶寬連接之后的高達幾百幀的更好的視頻質(zhì)量。該技術(shù)在保留雙參考幀的存儲器方面需要較小的代價(不僅在編碼器處而且在解碼器處),并且在搜索第二參考幀來尋找最佳匹配塊的編碼器復雜度上需要較小代價。在一些實例中,可以諸如通過預警或者預測而預見帶寬的即將發(fā)生的切換。這提供了在較高帶寬時對長期幀編碼的時機。在另一實施例中,周期性地或者偶而地(即使在帶寬或者信道/網(wǎng)絡(luò)狀況上沒有變化時)取長期幀,并且分配額外的帶寬以產(chǎn)生作為長期幀的高質(zhì)量幀。這是一種偶而地或周期性地(例如每N個幀)獲取高質(zhì)量長期參考幀的主動方法。分配額外的比特以產(chǎn)生高質(zhì)量參考幀從而其將具有比正被編碼的常規(guī)質(zhì)量更優(yōu)的質(zhì)量。然后該長期高質(zhì)量參考幀可以在擴展的時間段期間用作高質(zhì)量匹配塊的源。在一個示例中,如果發(fā)生狀況改變則擴展的時間段可以超過N個幀。額外的比特的分配可以來自調(diào)度器。例如,假定存在使用由調(diào)度器分配的系統(tǒng)資源的多個用戶。所考慮的系統(tǒng)是共享的無線介質(zhì)如具有400Kbps的速率的HDR(高數(shù)據(jù)速率)系統(tǒng)。調(diào)度器S1在k個用戶之間等分來自網(wǎng)絡(luò)的可用帶寬B。每個用戶具有B/k的帶寬。調(diào)度器S2保留總帶寬的某部分b,而將剩余的在所有用戶之中劃分。所保留的部分b將輪流分配給每個用戶,而在用戶之間周期循環(huán)。每個用戶在k-1個時隙(timeslot)期間具有帶寬(B-b)/k,而在一個時隙期間具有帶寬b+(B-b)/k。圖3A和3B代表兩個調(diào)度器,其中用高度代表帶寬而水平軸是時間。其對于圖3A的調(diào)度器S1是均勻的,但是在圖3B中對于用戶i則很高,因為S2中的調(diào)度器提供了額外的帶寬。這用代表分配給用戶i的額外帶寬的厚黑條來顯示。在不同的時間該額外的帶寬被分配給系統(tǒng)中其它k-1個用戶。在任何時間點處所有用戶上的平均帶寬保持相同。由S2分配的額外的周期性帶寬用于創(chuàng)建高質(zhì)量幀,該高質(zhì)量幀在多幀例如雙幀運動補償方案中用作長期幀。另一實施例并不使用調(diào)度器,但是允許具有固定平均帶寬的用戶對于一個幀使用額外的比特(對于之前和之后的幀使用較少的比特),如果視頻中可容忍一定量額外的延遲的話。用于該幀的額外的比特簡單地轉(zhuǎn)化成用于傳輸該幀的更多的時間。存在壓縮性能和延遲的折衷。在調(diào)度器實施例中,可以操作調(diào)度器使得由于周期性地提供額外的帶寬所以對于高質(zhì)量幀不導致額外的延遲。然而,會將總平均帶寬制約為等于均勻分配的S1系統(tǒng)的帶寬。特定實施例的修正MPEG-4編碼器具有可選取的三種編碼模式內(nèi)編碼、使用短期參考幀的間編碼、和使用長期參考幀的間編碼。對于每個宏塊(MB),通過如下首先在內(nèi)編碼和間編碼之間做出選擇來在三種編碼模式之中做出選擇。計算短期幀或長期幀中的最佳匹配MB與待編碼的當前MB之間的失真dmin。計算當前MB的標準偏差σ。如果σ<dmin-512則選取內(nèi)編碼,否則選取間編碼。在根據(jù)短期和長期高質(zhì)量幀的間編碼之間的選擇是基于運動補償后的MB和待編碼的當前MB之間的失真而做出的。選取得到較低失真的參考幀。另一實施例包括使用來自解碼器的反饋。作為示例,編碼器可以從解碼器接收指示對接收到的分組的確認的反饋。設(shè)i是當前幀的指數(shù)。使用具有固定延遲d的反饋,編碼器可以對解碼器的第(i-d)個重構(gòu)的幀具有良好的認識。將使用術(shù)語重新解碼(re-decode)來描述編碼器使用反饋信息對過去幀進行解碼使其等同于該幀的解碼器版本的處理。因為編碼器知道哪個GOB被完整無缺的接收到以及哪個丟掉了,所以編碼器可以精確地模擬解碼器的包括誤差隱蔽在內(nèi)的操作。經(jīng)重新解碼的幀是在編碼器處的與解碼器版本等同的幀,然而使用術(shù)語估計來描述在編碼器處的對于其反饋信息尚不可得的幀,從而強迫編碼器估計解碼器版本。利用反饋信息,使用上面用于內(nèi)編碼、inter-ST編碼、inter-LT編碼的MB的公式來仍然進行中間幀(intermediateframe)中像素值的估計。然而,現(xiàn)在關(guān)于這些公式所需的過去解碼器幀的信息可以通過使用已ACK/NACK的經(jīng)重新解碼的幀來重新初始化(reinitialize)。然后編碼器可以更加可靠地重新計算像素估計并且對于最后的d個幀跟蹤潛在錯誤。將實際預測余量(residual)或內(nèi)系數(shù)(intracoefficients)輸入ROPE估計算法中,其中參考幀或者是同樣遞歸計算得到的ROPE估計或者經(jīng)重新解碼的幀。圖4中圖示了一個示例。這里,跳躍更新參數(shù)和反饋延遲分別是N=2和d=5。跳躍更新參數(shù)N=2意味著幀0將是用于幀2和幀3的長期參考,幀2將是幀4和幀5的長期參考,幀4將用于幀6和幀7。由于d=5,則開始對幀7編碼時,幀2將被重新解碼,并且該新近重新解碼的幀將迅速地用于更新幀3、4、5、6的估計。關(guān)于對幀7編碼,長期幀是幀4,短期幀是幀6,并且該兩個幀的新估計將被編碼器用來計算由于有關(guān)幀7的丟包所導致的預期失真。一種替代的方法是使得長期幀緩沖器前進以包含最近的精確知道的幀即(i-d)幀。反饋信息改進了ST幀的估計,并且將LT幀的估計誤差減少為零。確保編碼器和解碼器長期幀緩沖器兩者總是包含等同的重構(gòu)。在延遲d的情況下,可以使用D=d且N>1的一般(N,D)更新策略,或者D=d且N=1的連續(xù)更新策略。圖5中描述了N=2,d=5的示例。在圖5中,幀12正在被編碼。它的LT幀是幀7,幀7也是被重新解碼了的。然而,對幀7重新解碼需要幀1和幀6的經(jīng)重新解碼的版本,即其分別的ST幀和LT幀?,F(xiàn)在可以獲得幀8、9、10、11的估計。對于幀8,將需要經(jīng)重新解碼的7和重新解碼的3。對于9,將需要經(jīng)估計的8(ST)和經(jīng)重新解碼的3(LT)。對于10,將需要經(jīng)估計的9和經(jīng)重新解碼的5。類似地,11需要經(jīng)估計的10和經(jīng)重新解碼的5。通過使發(fā)射器和接收器處的長期幀緩沖器同步,可以完全消除由于丟包累積而導致的漂移誤差(drifterror)。如果經(jīng)Inter-LT編碼的宏塊到達,則它們將在編碼器和解碼器處被以等同的方式重構(gòu)。通常,這僅通過傳輸內(nèi)編碼的宏塊來保證。但是,在這里,反饋信號使得能夠使用長期幀緩沖器作為額外的誤差魯棒因子而不會很大地犧牲壓縮效率。取代使用反饋僅僅改進失真估計及進而改進模式選擇,現(xiàn)在還可以使用該信息來在編碼器處對LT幀重新解碼并且從而改進運動估計,并且使用更真實的參考幀。實驗顯示在各種條件下其都表現(xiàn)良好。雖然已經(jīng)示出和描述了本發(fā)明的特定實施例,但是應(yīng)該理解,其它修改、替換和變更對本領(lǐng)域普通技術(shù)人員很清楚。在不背離應(yīng)該由所附權(quán)利要求確定的本發(fā)明的精神和范圍的情況下,可以進行這樣的修改、替換和變更。在所附的權(quán)利要求中闡述了本發(fā)明的各種特征。權(quán)利要求1.一種視頻編碼器,包括編碼裝置,用于對向量編碼以相對于至少一個參考塊描述至少一個圖像塊;短期參考塊緩沖器,其存儲至少一個短期參考塊;和至少一個長期參考塊緩沖器,其存儲至少一個長期參考塊;其中所述編碼裝置基于在編碼的時候檢查的一個或多個因素來選擇性地在相對于所述短期參考塊緩沖器中的至少一個短期參考塊的編碼與相對于所述長期參考緩沖器中的至少一個長期參考塊的編碼之間進行選擇,以最大化壓縮、視頻質(zhì)量、以及權(quán)衡壓縮和視頻質(zhì)量的度量標準中的一個。2.如權(quán)利要求1所述的編碼器,其中,當所述視頻編碼器所使用的連接改變到較低質(zhì)量時,所述用于編碼的編碼裝置選擇性地選擇所述至少一個長期參考塊。3.如權(quán)利要求1所述的編碼器,其中,當預見到所述視頻編碼器所使用的連接將改變到較低質(zhì)量時,所述用于編碼的編碼裝置選擇性地選擇所述至少一個長期參考塊。4.如權(quán)利要求1所述的編碼器,其中,所述用于編碼的編碼裝置選擇性地選擇所述至少一個長期參考塊來對背景數(shù)據(jù)編碼并且選擇性地選擇更新近的參考塊來對前景數(shù)據(jù)編碼。5.如權(quán)利要求4所述的編碼器,其中,所述更新近的參考塊包括一個緊鄰的過去的參考塊。6.如權(quán)利要求5所述的編碼器,其中,所述至少一個長期參考塊包括至少一個就在所述緊鄰的過去的參考塊之前的塊。7.如權(quán)利要求1所述的編碼器,其中,所述在編碼的時候檢查的一個或多個因素包括下述因素的一個或多個所述編碼器對解碼器處的失真的預期;編碼器中幀緩沖器的數(shù)目;編碼器中幀緩沖器的大?。粊碜越獯a器的任何反饋;改變數(shù)據(jù)信道質(zhì)量的歷史;改變圖像區(qū)域質(zhì)量從而對于每個至少一個正被編碼的塊在所述至少一個長期參考塊和所述至少一個短期參考塊之間選擇性地進行選擇以最大化壓縮、視頻質(zhì)量、權(quán)衡壓縮和視頻質(zhì)量的度量標準中的一個的歷史。8.如權(quán)利要求7所述的編碼器,其中,所述在編碼的時候檢查的一個或多個因素還用于確定何時更新所述至少一個長期參考緩沖器。9.如權(quán)利要求1所述的編碼器,其中,所述編碼器包括多個長期參考塊緩沖器。10.如權(quán)利要求9所述的編碼器,其中,新近的參考塊包括緊鄰的過去的參考塊。11.如權(quán)利要求1所述的編碼器,其中,所述編碼裝置選擇性地在使用所述至少一個長期參考塊的編碼(間編碼)與使用內(nèi)編碼之間進行選擇。12.如權(quán)利要求11所述的編碼器,其中,所述編碼裝置對于所述至少一個長期參考塊和在分像素網(wǎng)格上通過確定下述內(nèi)容來進行分像素精確編碼包括與實際像素位置一致的像素的初始像素位置;包括位于兩個初始像素位置之間的像素的水平或垂直插值的像素位置;以及對角線插值的像素位置。13.如權(quán)利要求12所述的編碼器,其中直接計算水平或垂直插值的像素位置和對角線插值的像素位置的一階矩;以及估計水平或垂直插值的像素位置和對角線插值的像素位置的二階矩。14.如權(quán)利要求1所述的編碼器,其中,所述至少一個長期參考塊緩沖器包括多幀緩沖器,并且所述編碼器的編碼裝置選擇性地在使用參考塊的編碼(間編碼)和使用內(nèi)編碼之間進行選擇。15.如權(quán)利要求14所述的編碼器,其中,所述編碼裝置在兩種類型的間編碼和內(nèi)編碼之間選擇,所述兩種類型的間編碼包括使用所述至少一個短期參考塊(ST)的編碼和使用所述至少一個長期參考塊(LT)的編碼,并且其中所述編碼裝置通過使用將在先塊的元素視為隨機變量的遞歸最優(yōu)每個像素估計來計算用于內(nèi)編碼和ST塊的矩;以及所述編碼裝置通過使用將在先塊的元素視為隨機變量的遞歸最優(yōu)每個像素估計來計算用于LT塊的矩。16.如權(quán)利要求15所述的編碼器,其中,更新所述LT塊并且所述編碼裝置接收解碼器反饋并且使用該反饋來確定何時更新所述LT塊。17.如權(quán)利要求16所述的編碼器,其中,所述編碼裝置使用所述反饋來同步所述長期參考緩沖器。18.如權(quán)利要求14所述的編碼器,其中,所述至少一個長期參考塊包括在感興趣區(qū)域中的塊。19.如權(quán)利要求1所述的編碼器,其中,所述至少一個長期參考塊包括復合幀。20.如權(quán)利要求1所述的編碼器,其中,所述至少一個長期參考塊包括長期參考幀并且所述編碼裝置以逐塊為基礎(chǔ)來對幀進行編碼。21.一種用于視頻編碼的方法,所述方法包括下述步驟正常地編碼并且存儲正常質(zhì)量參考幀;還編碼并存儲高質(zhì)量參考幀;使用該高質(zhì)量參考幀來對正被編碼的幀的全部或部分進行編碼。22.如權(quán)利要求21所述的方法,其中,所述高質(zhì)量參考幀包括來自高質(zhì)量信道狀況的幀并且當高質(zhì)量信道狀況被低質(zhì)量信道狀況代替時使用該幀。23.如權(quán)利要求22所述的方法,其中,所述高質(zhì)量參考幀在低質(zhì)量信道狀況時間段期間對背景數(shù)據(jù)進行編碼。24.如權(quán)利要求22所述的方法,包括周期性地或不定期地分配帶寬以準備所述高質(zhì)量參考幀的步驟。25.如權(quán)利要求24所述的方法,其中,所述周期性地或不定期地分配的步驟包括客戶周期性地或不定期地剝奪在先和后繼的帶寬以創(chuàng)建高質(zhì)量幀。26.如權(quán)利要求24所述的方法,其中,所述周期性地或不定期地分配的步驟包括服務(wù)器周期性地或不定期地提供突發(fā)帶寬用于由客戶進行高質(zhì)量編碼。27.如權(quán)利要求21所述的方法,其中,所述使用的步驟是響應(yīng)于或者預見到將不利地影響在其上將傳送正被編碼的幀的信道的狀況而進行的。28.一種用于對視頻進行解碼的方法,所述方法包括下述步驟接收經(jīng)編碼的視頻;以及不管在對正被解碼的當前幀編碼時經(jīng)編碼的視頻是否是通過使用高質(zhì)量長期幀進行編碼的,選擇性地選擇使用所存儲的高質(zhì)量長期幀來改進正被解碼的幀,以改進正被解碼的當前幀。29.一種視頻編碼器,包括多個幀緩沖器,其中至少兩個幀緩沖器存儲來自非連續(xù)幀的視頻幀信息;編碼裝置,用于參考存儲在所述多個幀緩沖器的一個或多個中的信息來對視頻幀進行編碼;以及控制邏輯,用于通過選擇跳躍更新、或連續(xù)更新、或一般更新、或者根據(jù)自由可選的更新參數(shù)的任意非周期性更新中的一個來更新所述多個幀緩沖器。30.如權(quán)利要求29所述的編碼器,其中,在對一個視頻序列進行編碼時所述自由可選的更新參數(shù)保持固定。全文摘要本發(fā)明使用了一種雙幀以及可能多幀的方法(圖1A)。本發(fā)明的實施例包括做出使用長期參考幀進行INTER編碼還是進行INTRA幀編碼的決定(18),該長期參考幀是不同于緊鄰過去參考幀的幀。其它的實施例包括使用長期和短期參考塊(34),以及在兩種類型的INTER編碼塊和INTRA編碼之間做出決定(18)。根據(jù)本發(fā)明的實施例,長期幀是高質(zhì)量幀。高質(zhì)量幀在特定條件下可以用作參考幀。文檔編號H04N7/12GK1759610SQ200480006390公開日2006年4月12日申請日期2004年1月9日優(yōu)先權(quán)日2003年1月9日發(fā)明者帕梅拉·科斯曼,阿薩納西奧斯·利昂塔里斯,維杰伊·切拉帕申請人:加利福尼亞大學董事會