專利名稱:視頻錯誤隱藏方法
技術領域:
本發明通常涉及視頻通信,更具體地,涉及一種在視頻比特流中檢測及隱藏錯誤的方法。盡管這里的概念通常可適用于任何數字編碼視頻流,但是本發明在視頻會議背景下描述、并且特別適用于視頻會議。
背景技術:
視頻圖像的數字化已變得越來越重要。除了用于全球通信中(如,視頻會議)之外,用于數字視頻記錄的視頻圖像數字化也越來越普及。在每一個這些應用中,視頻信息通過諸如電話線、ISDN、DSL及射頻之類的電信鏈路進行傳輸,或者存儲在多種諸如DVD及SVCD之類的媒體設備上。在許多情況下,傳輸和/或存儲容易將錯誤引入視頻比特流中。
典型地,有效的視頻數據的傳輸、接收、和/或存儲需要對視頻數據進行編碼及壓縮。存在一些對源視頻數據進行編碼及壓縮的方法及標準。一些標準設計用于特定應用,如廣泛用于視頻會議應用中的ITU-T建議H.261、H.263及H.264。因此,由運動圖像專家組(MPEG-1、MPEG-2及MPEG-4)發布的標準已在家用電器及其它應用中廣泛應用。將每一個這些標準一并作為參考。
在任何情況下,數字圖像包括各個象素的矩形陣列。典型地,不是同時處理整個圖像,而是將整個圖像分為單獨處理的塊。每一個塊包括預定數目的亮度或luma像素(通常指像素的亮度)及預定數目的色度像素或chroma(通常指像素的顏色)的矩形柵格(grid)。預定數目的塊組成宏塊,宏塊形成處理多數壓縮方法中的基本單元。盡管下面是對這級處理單元的一些方案進行討論,但是用于對基于塊的圖像進行處理的方法及技術通常對本領域技術人員來說是已知的,因而這里不再贅述。
圖像數據的宏塊可以按照兩種基本技術中一種的變化形式進行編碼。例如,可以使用“幀內”編碼,其中,在不參考諸如來自前一幀的相應宏塊之類的歷史數據的情況下,對原始宏塊進行編碼。可選地,可以使用“幀間”編碼,其中,根據宏塊與參考數據宏塊(如來自前一幀的相應的宏塊)之間的差異,對圖像數據的宏塊進行編碼。這兩種基本方案上的許多變化對于本領域技術人員來說是已知的,因而在這里不詳細討論。通常想要選擇需要最少比特數來描述數據宏塊的編碼技術。典型地,幀內編碼需要更多比特來代表塊,因此通常幀間編碼是優選的。
典型地,視頻會議使用兩種技術之一來設置“呼叫”。已使用了傳統的電路交換網絡(如,ISDN電話線)。典型地,根據國際電信聯盟(ITU)建議H.320,“窄帶可視電話系統及終端設備”來設置這些呼叫。近來,諸如因特網之類的分組交換網絡已更加廣泛地用于視頻會議。存在多種分組交換多媒體通信協議,其中的一個示例是ITU建議H.323,“基于分組的多媒體通信系統”。將每一個這些建議一并作為參考。盡管這里的描述是在這兩種協議之一的背景下進行的,但是應注意,本發明并不僅局限于這些協議。
經常地,視頻比特流一前一后經過這兩種網絡技術進行傳輸。例如,能夠使用H.320/H.323網關,以允許視頻呼叫跨越兩個局域網。另一公知示例是多點呼叫,其中,一些與MCU的連接可以使用H.323,而其它使用H.320。任意地,將視頻代碼轉換器以H.323/H.320協議轉換進行配置。然而,視頻代碼轉換器比較昂貴,并且向呼叫添加了延遲。所以,不進行這樣的代碼轉換而轉換協議是有利的。
在多數情況下,使用這兩種技術中任意一種來傳輸的視頻呼叫在傳輸中受到錯誤影響。當將分組交換網絡用于傳輸時,傳輸錯誤導致了一個或多個丟失分組。分組交換網絡協議(如RTP)允許接收機檢測已丟失的一個或多個分組。當將諸如ISDN之類的電路交換網絡用于H.320的傳輸時,傳輸錯誤導致了比特流中的一個或多個錯誤比特。BCH碼用于提供一些糾錯,然而,經常的錯誤突發具有太多錯誤以至于無法糾正。
經常地,傳輸錯誤使得解碼器丟失同步。當發生同步丟失時,必須立即丟棄錯誤之后的比特,直到同步重新建立。例如,如果丟失了具有使用RFC 2429打包的H.263視頻比特流的分組,接著會丟棄接收分組,直到找到GOB(塊群)頭或PSC(畫面開始碼)。類似地,當H.263視頻在H.320(電路交換)連接上傳輸時,丟棄在傳輸錯誤之后和下一個GOB頭或PSC之前接收到的比特。
傳統地,當解碼器檢測比特流錯誤時,解碼器具有兩種選擇。第一選擇是定格(freeze)顯示并請求來自發射機的快速更新。發射機根據這樣的請求來發送幀內幀。接收機的顯示保持定格,直到接收到幀內幀(或直到超時時間段到期)。定格視頻的這些秒折衷了用戶體驗。第二選擇請求快速更新,但是繼續顯示存在錯誤的幀。到請求的幀內幀到達之前,存在諸如亮度彩色塊、黑塊、或雜亂圖像等偽象(artifact)。典型地,這樣的偽象比定格顯示更加破壞了用戶體驗,所以在視頻會議技術中的普遍實踐已通過選擇第一選擇(即定格顯示)來隱藏錯誤。
然而,上面描述的兩種選擇均不理想。因此,本領域中所需的是在視頻傳輸中較小地破壞用戶體驗的隱藏錯誤的可選技術。用于解碼器的優選技術是重構由傳輸丟失(如,分組丟失)所失去的或弄錯的數據。為此,如果特定信息是冗余傳輸或者設置塊以使丟失的數據能夠由內插法進行重構,這是有用的。本發明提出了這樣的系統。盡管是根據視頻會議系統進行描述,但是這里描述的概念同樣適用于任何視頻編碼及解碼應用。
發明內容
這里公開了一種系統及方法,用于對由傳輸錯誤而導致丟失的視頻信息進行重構。該系統及方法具有四個方案,包括(1)改變比特和/或分組速率;(2)將冗余信息插入視頻比特流;(3)提供周期性地視頻特定區域的自動刷新;以及(4)將已編碼宏塊交織為用于傳輸的分集組,以在空間上分散丟失分組的影響。然后,圖像重構可以利用這三個方案來提供當出現傳輸丟失時的加強結果。
圖1A-C描述了參照周圍宏塊來估計丟失宏塊運動向量的技術。
圖2A-B描述了包含非交迭幀間映射(圖2A)及交迭幀間映射(圖2B)的分組的內容。
圖3A-B描述了運動喚醒(motion wake)及運動喚醒識別算法。
具體實施例方式
如上所述,需要提供一種重構從視頻比特流中丟失的信息的方法。在一個方案中,本發明涉及包括以下要素中的一個或多個的糾錯技術·改變比特率和/或分組速率。
·將補充(冗余)信息插入視頻比特流。
·在視頻編碼器中提供自動刷新機制及喚醒檢測(wake detection)。
·在傳輸之前,將已編碼宏塊交織為分集組。
以多種方式組合這四個要素以利于有效的錯誤隱藏及恢復。因此,典型地,這些要素在可以采用包括專用或共享通用硬件、軟件、及固件的多種組合的多種形式的視頻編碼器及解碼器中實施。此外,可以實施、修改多種要素,或者可以從通用及專用硬件、軟件、及固件的多種組合中構造的與諸如網關、多點控制單元(MCU)之類的視頻服務器設備相互作用。
在優選實施例中,接收機監視網絡質量并請求發送方提供要素的特定組合。發送方可以考慮其它因素,例如,來自正在接收相同流的其它設備的請求、或者(在中間網關或MCU的情況下)實際發送方的響應能力。如本領域中所公知的,能夠使用其它方法。例如,可以向發送方提供關于適合的隱藏模式的先驗(priori)或輔助信息。或者,發送方可以接收用于選擇適當模式的網絡質量統計量(例如,來自RTCP)。
本發明的另一方案涉及錯誤范圍的最小化。如上所述,必須丟棄在傳輸錯誤與隨后的同步頭(如,GOB頭或PSC)之間傳輸的比特,即使正確地接收了這些比特。在優選實施例中,每一個傳輸分組以同步頭開始。這消除了由于重同步而丟棄正確接收的分組的需要。同樣地,當從H.320協議向H.323協議進行轉換時,網關或MCU對齊每一個分組,以便從接收到的同步頭開始。理想地,每一個分組不包括其它嵌入的同步頭(分組開始處的初始同步頭之外)。使用同步頭對齊分組,可以將錯誤傳輸的范圍最小化,并且能夠在在協議轉換設備中實現,而無需視頻代碼轉換。
改變比特率和/或分組速率處理傳輸錯誤的第一方法(尤其對于那些由丟失的分組或丟失的比特引起的傳輸錯誤)在于降低比特率和/或分組速率。在一些情況下,部分由于快于給定網絡組件能夠接收的速度來發送分組而導致分組丟失。在其它情況下,分組開銷可能會加劇網絡擁塞。在這兩類情況中的任何一種情況下,降低分組速率可能降低錯誤速率。注意,輸出的分組速率部分地取決于幀速率,尤其在較低比特率時。
因此,各種其它錯誤隱藏技術增加了比特率和/或分組速率,所以,如果錯誤由于網絡擁塞而發展,則使用這里討論的其它錯誤隱藏技術實際上會導致已隱藏或已糾錯的更多錯誤。因而,優選地,將比特率和/或分組速率減小近似地抵消了由附加錯誤隱藏技術引起的增加的比特率和/或分組速率的量。
將補充(冗余)信息插入視頻比特流這里描述的糾錯技術的一個要素是將冗余信息插入視頻比特流。該冗余信息確保即使由于發射機與接收機之間的分組丟失導致了一些信息的丟失,也接收機(端點或網關或MCU)能夠重構圖像。插入比特流的冗余信息包括如何對視頻幀中的每一個宏塊進行編碼(即,幀間還是幀內)的“映射”以及運動向量場(即,用于每一個幀間編碼塊的運動向量)。通常可以按照在視頻比特流中對于本領域技術人員顯而易見的多種方式該信息進行編碼。然而,根據下面的過程,這些編碼的冗余信息對于接收機來說,足以重構由于分組丟失而引起的丟失的數據。
在一個實施例中,能夠在不要求完全視頻編碼或解碼的情況下,由網關或MCU插入或去除冗余信息。信息位于同步頭附近,以便能夠通過僅解碼一部分比特流符號來完成去除。為了簡化該去除,信息是對準字節的。為了插入冗余信息,需要對比特流中的多數符號進行解碼以提取冗余信息。然而,不需要對圖像中的像素進行解碼,這節省了大量的計算資源并降低了延遲。
通過將冗余信息從比特流去除/插入到比特流,這里公開的技術允許MCU(或網關)選擇性地添加冗余信息,例如,僅在發生錯誤的網絡鏈路上添加該信息。在此操作模式下,MCU使用冗余信息來重構比特流中的丟失信息。例如,能夠將冗余運動向量用于將丟失的幀間編碼塊重新插入比特流的標準符合部分。如上所述,該修復能夠在不進行代碼轉換的情況下完成。
此外,僅能夠接收標準比特流(如H.263)的端點能夠被包含于使用這里描述的一種或多種錯誤隱藏技術的會議中。盡管MCU與這樣的端點之間的鏈路不能攜帶該冗余信息,但是由于MCU正在修復從傳輸冗余補充信息的端點中接收的比特流錯誤,所有其它端點均受益于本發明。
如果幀間宏塊映射指示不能對丟失的宏塊進行幀內編碼(即,進行幀間編碼),則解碼器(即,接收機端點、網關或MCU)將丟失的宏塊重構為運動補償幀間塊,而不具有編碼系數。使用該重構塊更新再現的畫面及解碼器參考幀。如果接收了擴展的幀間映射(即,包含運動向量的幀間映射),則將來自映射的冗余運動向量數據用于重構塊。可選地,如果幀間映射丟失,或如果不包括冗余運動向量信息,則通過檢查相鄰塊的運動向量來計算用于重構塊的運動向量的估計。
在一個實施例中,可以將估計運動向量計算為3個相鄰宏塊的運動向量(表示為a、b及c)的中值。特別地,將丟失宏塊的運動向量m計算為(x,y),其中,x=median(ax,bx,cx),以及ax、bx、cx是宏塊a、b、c的運動向量的x分量。類似地,y=median(ay,by,cy),以及ay、by、cy是宏塊a、b及c的運動向量的y分量。在圖1A-1C中示出了重構宏塊的多種排列及用于計算重構宏塊運動向量的相鄰宏塊。例如,對于大多數宏塊,圖1A的排列是適合的。如果塊處于畫面上邊緣上,則如圖1B所示,使用圖1A的映象。如果重構塊處于圖像的一角,則如圖1C所示,僅使用三個相鄰塊。因此,下面的邊界條件用于在畫面邊緣處重構運動向量(a)在畫面的左邊緣處如果(x<0),則x=0;(b)在畫面的右邊緣處如果(x>0),則x=0;(c)在畫面的上邊緣處如果(y>0),則y=0;(d)在畫面的下邊緣處如果(y<0),則y=0;如果丟失的宏塊是幀內編碼宏塊,則只有開啟交織(下面討論),才對該宏塊進行重構。然而,應注意,如果丟失的幀內宏塊位于畫面邊緣,則不管是否開啟交織,都不對該宏塊進行重構。如果不開啟交織,則與使用的視頻編碼算法無關,就像未編碼一樣來處理丟失的宏塊。如果重構塊,則使用該重構塊來更新再現的畫面及解碼器參考幀。
如果要重構幀內宏塊,則從相鄰宏塊的空間內插中生成丟失幀內宏塊的內容的估計。盡管能夠使用多種內插,但是優選的內插方法為雙線性內插。
特別地,對于宏塊左上角的8×8亮度塊,對從宏塊最后一行緊挨其上的8個像素及從宏塊最右列向左的8個像素進行2維雙線性內插,以產生與丟失宏塊相關的像素值。類似地,對于宏塊右上角的8×8塊,對從宏塊最后一行緊挨其上的8個像素及從宏塊最左列向右的8個像素進行2維雙線性內插。以類似的方式處理剩余塊。對于每一個色度塊,對從宏塊最后一行緊挨其上的8個像素及從宏塊最右列向左的8個像素進行2維雙線性內插。
即使以最適合的分組丟失速率,也可能丟失相同分組的基本視頻及冗余映射/運動向量信息。例如,如果分組丟失速率為1/6,則同時丟失畫面信息的兩個源的可能性為1/36。在30幀每秒的視頻呼叫中,這將近似地每秒發生一次。冗余數據的交迭實質上能夠降低這些可能性。
當不使用交迭時,每一幀中的第一分組不具有幀間映射或運動向量信息。幀中每一個后續的分組具有前一分組的幀間映射及運動向量信息。在最后的視頻分組之后,發送映射終止分組,該分組具有來自最后的視頻分組的映射信息。例如,考慮具有分集數6的CIF幀。每一個幀將至少具有7個分組,具有如圖2A所示的映射元素。
當使用交迭時,多于一次地發送冗余信息。特別地,每一個映射條目發送多次。對于交迭n,每一個分組具有前n+1個分組的映射信息。如果已發送少于n+1個的分組,則發送整個映射(從宏塊0開始)。在發送最后的視頻分組之后,發送多個映射終止條目以獲得幀中所有分組所需的冗余。如果交迭設置為3,則每一個幀將需要發送10個分組,具有如圖2B所示的映射元素。
作為示例,如果將交迭設置為2,則對于每一個宏塊,(除宏塊本身之外還)發送三次運動向量。這些傳輸在獨立的分組中進行。因此將在跟隨包含宏塊的分組之后的三個分組中每一個分組中發送宏塊的運動向量。在上述示例中,具有1/6的分組丟失速率及30幀每秒的幀速率,則既丟失映射又丟失宏塊的可能性降低至1/1296,或者近似每40秒一次。然而,由于多次發送運動向量向比特率添加了相當多的開銷,所以交迭在較高比特率時最具優勢。如果使用了交織(下面描述),則交迭不能超過分集組數。如果不使用交織,則交迭不能超過圖像中的GOB數。
自動刷新機制及喚醒檢測這里描述的錯誤隱藏技術的第二關鍵部分是刷新機制和/或喚醒檢測算法。應當使用刷新機制來清除由于分組丟失引起的殘留編碼器/解碼器參考幀失配。刷新機制以確定的模式(deterministic pattern)對圖像中的宏塊進行幀內編碼。這限制了錯誤傳輸,尤其在移動區域中。只要以特定速率系統地刷新圖像中的每一個宏塊,就能夠使用任何刷新的模式。一種適合的刷新機制是如下操作的環繞(walk around)刷新。環繞間隔w指定幀內編碼塊的間距。因此,將每一個wth宏塊編碼為幀內(從開始塊s開始)。將用于下一畫面的開始塊s重新設置為(l+w)modb,其中,l是在該畫面中刷新的最后塊,以及b是畫面中的塊數。(當然,“Mod”是取模或模數函數。)必須小心選擇w,使得不跳過畫面中的任何塊。還建議w不應為分集數(下面討論)的倍數,以使幀中的幀內編碼塊均勻地遍布分集組。一種確保w滿足這些限制的簡單方法是,使w為不是分集數因數的質數。
還可以包括喚醒檢測算法。當對視頻進行編碼時,通常在視頻幀中存在這樣的區域,其中,運動物體m已呈現或暴露了部分背景。如圖3A所描述,該背景區域w被稱為運動喚醒,或更簡單地,稱為喚醒。當執行錯誤隱藏時,發生于運動喚醒中的運動預測錯誤趨向于穩定,引起了視覺人為因素的轉移。將運動喚醒中的宏塊以幀內進行編碼降低了這些人為因素。還需要降低喚醒中的編碼門限及量化參數,以保持畫面運動區域周圍背景的銳化。
一種用于檢測運動喚醒的技術如下對于沒有顯示運動的給定宏塊,檢查相鄰宏塊的運動向量。執行四個測試,每一個檢查用于左、右、上、或下運動之一。如果任何這些測試為真,則將宏塊識別為處于運動喚醒中,并且應當是幀內編碼。圖3B示出了用于左邊的測試(對于其它方向的測試是相似的,因而不再贅述)。如果宏塊m的三個左鄰(在圖3B中標記為“a”)示出了向左的運動,并且宏塊“m”具有一點或沒有相關運動,則稱宏塊m要處于運動喚醒中。更具體地,可以寫出說明有一點或沒有運動的條件|MVx|<2及|MVy|<2,其中,MVx及MVy是宏塊“m”的x及y運動向量分量。
交織/分集組這里描述的糾錯技術的第三部分是使用交織宏塊、aka分集組。通常在H.263中,以光柵掃描順序發送宏塊。例如,在CIF畫面中,存在具有從0(左上)至395(右下)的傳輸索引的396個宏塊。將宏塊組織為在畫面中空間相鄰的塊組(GOB)。然而,能夠用于錯誤修復的附加技術是宏塊交織。如果使用宏塊交織,則宏塊傳輸數改變如下首先,通過將傳輸索引對分集數(分集數是分集組數)取模,而將每一個宏塊分配至分集組。分集組本質上是包括非空間相鄰塊的GOB。這使得來自丟失分組的錯誤在空間上分散,允許使用用于錯誤隱藏的多種內插方法。注意當將H.264基線配置(baseline profile)用于編碼時,FMO(靈活的宏塊順序)能夠用于創建分集組。
由于分集組是一種特殊的GOB,所以比特流能夠包括將分集組索引用作GOB數的GOB頭。在被分配至分集組之后,宏塊由分集組(組0最先)(重新)排序。在分集組中,發送宏塊以使宏塊的地址單調遞增。當遠端請求宏塊交織時,宏塊地址指定了分集數。分集數(a)不需要是圖像中宏塊數的除數;(b)不應為每行宏塊的除數(否則上面描述的重構技術將不能正確地操作);(c)應處于2-30的范圍內;以及(d)不應超過圖像中的GOB數。
例如,考慮具有分集數3的QCIF分辨率圖像(11個宏塊的9行)。正常地,將順次發送99個宏塊(0-98)。將11個宏塊的每一個宏塊組織成為9個GOB(標號為0-8)。然而,隨交織開啟,將宏塊分為三個分集組(DG0、DG1、及DG2),并且將宏塊以下面的順序發送DG00,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96DG11,4,7,10,13,16,19,22,25,28,31,33,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97DG22,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98應當注意,必須作為分離的分組來發送三個分集組中的每一個。
在給定計算能力或其它能力的框架的情況下,可以單獨實現或一起實現這里描述的糾錯算法的每一個部分,以完成所需的糾錯等級。因此,技術可以以硬件、軟件及固件的多種組合來實現,并且可以在適當的視頻編碼器、解碼器、網關、MCU等中實現。例如,盡管這里所描述的系統的特定元件需要編碼器的特定動作,但是能夠接收這樣的流的解碼器可以響應一個或多個視頻分組的丟失,使用一個或多個這些特征來發送比特流。用于實施這樣的系統的多種必要細節,例如,攜帶補充信息所需的特定比特流修改、或者確定這里所描述項目的計算算法的結構,對于得益于該公開的本領域的技術人員來說是顯而易見的,因而這里不再再現。
盡管這里所描述的技術主要設計用于處理分組丟失,但是這些技術還適用于諸如H.320之類的電話網絡協議。這提供了錯誤隱藏及恢復,用于包括分組網絡及電話網絡上的端點的多點會議及網關呼叫。
已參照實施例對本發明進行了說明。對于本領域的技術人員來說,很明顯,可以在不脫離本發明的精神及范圍的情況下,對本發明作出多種修改。此外,盡管本發明是在特定實施環境的背景下進行描述的、并且用于特定應用,但是本領域技術人員將認識到,本發明的用處并不局限于此,并且能夠在任何多個環境及實施方式中有益地利用本發明。因而,上述描述及附圖是示例性而非限制性的。
權利要求
1.一種對視頻比特流進行數字編碼的方法,以便隱藏由丟失一部分視頻比特流引起的錯誤,所述方法包括在視頻比特流中插入冗余信息,其中,所述冗余信息包括以下內容的至少其中之一(a)映射,指示使用幀內還是幀間編碼對每一個塊進行編碼;以及(b)用于每一個幀間編碼塊的冗余運動向量。
2.如權利要求1所述的方法,其中,根據接收機的請求將所述冗余信息插入比特流。
3.如權利要求1所述的方法,還包括,使用確定的模式,周期性地將視頻比特流的每一個塊編碼為幀內編碼塊。
4.如權利要求3所述的方法,其中,所述確定的模式是環繞刷新。
5.如權利要求1所述的方法,還包括,將確定處于運動喚醒中的視頻比特流的每一個塊編碼為幀內編碼塊。
6.如權利要求1所述的方法,還包括,將所述已編碼宏塊交織為用于傳輸的多個分集組,其中,將空間相鄰的宏塊分配到不同的分集組。
7.如權利要求1所述的方法,還包括,在多個分組上交迭冗余信息,以使每一個分組包含與一個或多個先前分組相對應的冗余信息。
8.如權利要求1所述的方法,還包括,將多個宏塊中的每一個分配到多個分集組的其中一個,以使每一個分集組包括非空間相鄰的宏塊,其中,在分離的分組中傳輸所述分集組。
9.一種對視頻比特流進行解碼的方法,所述方法包括接收視頻比特流,其中,至少丟失了一部分視頻比特流;識別至少一個丟失的宏塊;參考嵌入在視頻流中的幀間宏塊映射,以確定如何重構丟失的宏塊。
10.如權利要求9所述的方法,其中,如果所述幀間宏塊映射指示丟失的宏塊是幀間編碼,則使用嵌入在視頻比特流中的冗余運動向量對所述丟失的宏塊進行重構。
11.如權利要求9所述的方法,其中,如果所述幀間宏塊映射指示丟失的宏塊是幀間編碼,則通過從一個或多個周圍的宏塊中估計運動向量,來對所述丟失的宏塊進行重構。
12.如權利要求11所述的方法,其中,從一個或多個周圍的宏塊中估計運動向量包括計算多個相鄰宏塊的運動向量的中值。
13.如權利要求9所述的方法,其中,如果所述幀間宏塊映射指示丟失的宏塊是幀內編碼,則將所述丟失的宏塊重構為未編碼宏塊。
14.如權利要求9所述的方法,其中,如果所述幀間宏塊映射指示丟失的宏塊是幀內編碼,并且所述宏塊處于畫面的邊緣處,則不對所述宏塊進行重構。
15.如權利要求9所述的方法,其中,如果所述幀間宏塊映射指示丟失的宏塊是幀內編碼,則通過相鄰宏塊的空間內插對所述丟失的宏塊進行重構。
16.一種對視頻比特流進行解碼的方法,所述方法包括接收視頻比特流,其中,至少丟失了一部分視頻比特流;以及請求發射機發送一個或多個糾錯要素,其中,從由以下構成的組中選擇所述糾錯要素降低比特率和/或分組速率;將冗余信息插入所述視頻比特流;提供自動刷新機制;提供運動喚醒檢測;以及在傳輸之前,將所述已編碼宏塊為分集組。
17.如權利要求16所述的方法,還包括識別至少一個丟失的宏塊;參考嵌入在視頻流中的幀間宏塊映射,以確定如何重構丟失的宏塊。
18.如權利要求17所述的方法,其中,如果所述幀間宏塊映射指示丟失的宏塊是幀間編碼,則使用嵌入在視頻比特流中的冗余運動向量對所述丟失的宏塊進行重構。
19.如權利要求17所述的方法,其中,如果所述幀間宏塊映射指示丟失的宏塊是幀間編碼,則通過從一個或多個周圍的宏塊中估計運動向量,來對所述丟失的宏塊進行重構。
20.如權利要求19所述的方法,其中,從一個或多個周圍的宏塊中估計運動向量包括計算多個相鄰宏塊的運動向量的中值。
21.如權利要求17所述的方法,其中,如果所述幀間宏塊映射指示丟失的宏塊是幀內編碼,則將所述丟失的宏塊重構為未編碼宏塊。
22.如權利要求17所述的方法,其中,如果所述幀間宏塊映射指示丟失的宏塊是幀內編碼,并且所述宏塊處于畫面的邊緣處,則不對所述宏塊進行重構。
23.如權利要求17所述的方法,其中,如果所述幀間宏塊映射指示丟失的宏塊是幀內編碼,則通過相鄰宏塊的空間內插對所述丟失的宏塊進行重構。
24.一種打包用于傳輸的視頻比特流的方法,以便隱藏由丟失一部分視頻比特流引起的錯誤,所述方法包括,在每一個分組中插入單個同步頭,其中,所述單個同步頭與相應的分組的開始對齊。
25.一種進行多點視頻會議的方法,其中,多點控制單元用于隱藏在至少一條鏈路上由丟失沿所述鏈路的一部分視頻比特流而引起的錯誤,所述方法包括在視頻比特流中插入冗余信息,其中,所述冗余信息包括以下內容的至少其中一個(a)映射,指示使用幀內還是幀間編碼對每一個塊進行編碼;以及(b)用于每一個幀間編碼塊的冗余運動向量。
26.一種進行多點視頻會議的方法,其中,多點控制單元用于隱藏由丟失一部分視頻比特流而引起的錯誤,所述方法包括從傳輸到不支持冗余信息的端點的視頻流中刪除所述冗余信息,其中,由除端點或多點控制單元之外的設備將所述冗余信息放置于視頻比特流中,所述冗余信息包括以下內容的至少一個(a)映射,指示使用幀內還是幀間編碼對每一個塊進行編碼;以及(b)用于每一個幀間編碼塊的冗余運動向量。
全文摘要
這里公開了一種用于重構由傳輸錯誤引起的丟失視頻信息的系統及方法。所述系統及方法具有四個方案,包括(1)改變比特和/或分組速率;(2)將冗余信息插入視頻比特流;(3)周期性地提供特定視頻區域的自動刷新;以及(4)將已編碼宏塊交織為用于傳輸的分集組,以便在空間上分散丟失分組的影響。然后,當出現傳輸丟失時,圖像重構可以利用這三個方案來提供加強的結果。
文檔編號H04N7/64GK1897711SQ200610106418
公開日2007年1月17日 申請日期2006年7月13日 優先權日2005年7月13日
發明者斯蒂芬·博茨科, 伊蘭·約納, 埃勒巴茲·摩西, 邁克爾·霍羅威茨 申請人:寶利通公司