專利名稱:用以區分反向鏈路與前向鏈路視頻數據錯誤的錯誤過濾器的制作方法
技術領域:
本發明涉及視頻編碼,且更明確地說,涉及用于有效視頻錯誤控制的技術。
背景技術:
視頻電話(VT)涉及攜載音頻及視頻數據的包的實時通信。每一VT裝置包括視頻 編碼器,其從視頻俘獲裝置(例如視頻相機或視頻保存器)獲得視頻且產生視頻數據包 ("視頻包")。類似地,每一 VT裝置中的音頻編碼器從音頻俘獲裝置(例如麥克風或語 音合成器)獲得音頻,且產生音頻數據包("音頻包")。視頻包及音頻包被放置在無線 電鏈路協議(RLP)隊列中。媒體接入控制(MAC)層模塊從所述RLP隊列的內容產生 媒體接入控制(MAC)層包。所述MAC層包被轉換成物理(PHY)層包以供經由通信 信道傳輸到另一 VT裝置。
在移動VT應用中,VT裝置經由從基站到VT裝置的無線前向鏈路(FL)(或"下 行鏈路")接收物理層包,所述VT裝置可為移動無線終端,例如蜂窩式無線電電話。 VT裝置經由從VT裝置到基站的無線反向鏈路(RL)(或"上行鏈路")傳輸PHY層包。 每一 VT裝置包括PHY及MAC層以轉換所接收的PHY及MAC層包且將包有效負載重 新組合成音頻包及視頻包。VT裝置內的視頻解碼器對視頻數據進行解碼以供經由顯示 裝置呈現給用戶。VT裝置內的音頻解碼器對音頻數據進行解碼以供經由音頻揚聲器來 呈現。同樣地,VT裝置可包括視頻編碼器及音頻編碼器以分別對視頻及音頻進行編碼 以供傳輸到另一 VT裝置。
視頻數據錯誤可發生在將視頻包從視頻編碼器傳輸到視頻解碼器期間。舉例來說, 錯誤可在RL (從視頻編碼器到基站)上進行傳輸期間發生在基站處,或發生在FL (從 基站到視頻解碼器)上進行傳輸期間。錯誤可能會破壞呈現給用戶的視頻的視覺質量。 然而,當檢測到錯誤時,可應用多種錯誤校正或隱蔽技術。
發明內容
一般來說,本發明是針對于可增加視頻編碼器效率的視頻數據錯誤控制技術。視頻 編碼器經配置以在經由端到端(E2E)錯誤反饋從接收裝置接收錯誤報告之前對RL錯 誤應用錯誤控制。E2E錯誤反饋中所報告的錯誤可為反向鏈路(RL)錯誤或前向鏈路(FL) 錯誤,后者包括可歸因于接入網絡的錯誤。根據所揭示的技術,錯誤過濾器區分由E2E錯誤反饋所指示的RL錯誤與FL錯誤或接入網絡錯誤。以此方式,所揭示的技術可防 止視頻編碼器對視頻編碼器已經處理的RL錯誤再應用錯誤控制。
對同一 RL錯誤應用錯誤控制兩次可能降低視頻編碼器的譯碼效率,且還可能為對 傳輸信道帶寬的低效率使用,因為一些錯誤控制技術可能添加額外帶寬。通過確定E2E 錯誤反饋中所報告的錯誤是否為RL錯誤,錯誤過濾器使得編碼器系統能夠確定是否己 經對E2E錯誤反饋中所報告的錯誤應用錯誤控制或視頻編碼器是否應對所報告的錯誤 應用錯誤控制。因此,所揭示的技術減少或消除冗余錯誤校正及相關聯的低效率。
在一些方面中,編碼器系統還包含用于使由視頻編碼器應用的錯誤控制適應信道帶 寬條件的模塊。在一些應用中,例如在包交換網絡中,無線信道的帶寬可能(例如)由 于位置、環境或信道業務負載而發生變化。因此,為了有助于避免覆沒無線信道,編碼 器系統可并入用以監視信道帶寬條件并基于信道帶寬條件而選擇錯誤控制技術的模塊。 作為說明,當信道帶寬較高時可應用幀內刷新,而當信道帶寬較低時可應用隨機宏塊 (MB)內刷新(RIR)。
在一個方面中,本發明是針對于一種方法,所述方法包含接收對由視頻解碼器所 檢測的視頻數據錯誤的指示;確定視頻數據錯誤是否發生于視頻編碼器與網絡裝置之間 的無線網絡的反向鏈路上;以及如果視頻數據錯誤不是發生于反向鏈路上,則響應于對 視頻數據錯誤的指示而應用錯誤控制,且如果視頻數據錯誤發生于反向鏈路上,則不響 應于視頻數據錯誤而應用錯誤控制。
在另一方面中,本發明是針對于一種系統,所述系統包含收發器,其用以接收對 由視頻解碼器所檢測的視頻數據錯誤的指示;視頻編碼器;以及錯誤過濾器,其用以確 定視頻數據錯誤是否發生于視頻編碼器與網絡裝置之間的無線網絡的反向鏈路上,其中 視頻編碼器經配置以在視頻數據錯誤不是發生于反向鏈路上的情況下響應于對視頻數 據錯誤的指示而應用錯誤控制。
在又一方面中,本發明是針對于一種計算機程序產品,其包含包括指令的計算機可 讀媒體。所述指令致使計算機接收對由視頻解碼器所檢測的視頻數據錯誤的指示,確定 視頻數據錯誤是否發生于視頻編碼器與網絡裝置之間的無線網絡的反向鏈路上,并且如 果視頻數據錯誤不是發生于反向鏈路上,則響應于視頻數據錯誤而應用錯誤控制,且如 果視頻數據錯誤發生于反向鏈路上,則不響應于視頻數據錯誤而應用錯誤控制。
在另一方面中,本發明是針對于一種系統,所述系統包含用于接收對由視頻解碼 器所檢測的視頻數據錯誤的指示的裝置;用于確定視頻數據錯誤是否發生于視頻編碼器 與網絡裝置之間的無線網絡的反向鏈路上的裝置;以及用于在視頻數據錯誤不是發生于反佝鏈路上的情況下響應于視頻數據錯誤而應用錯誤控制且在視頻數據錯誤發生于反 向鏈路上的情況下不響應于視頻數據錯誤而應用錯誤控制的裝置。
在附圖及下文描述中陳述本發明的一個或一個以上實例的細節。
圖1為說明用于視頻電話應用的視頻/音頻編碼及解碼系統的圖。
圖2為說明實施錯誤過濾技術的視頻/音頻編碼及解碼系統的圖。
圖3為說明用于過濾來自端到端錯誤反饋的反向鏈路錯誤的技術的流程圖。
圖4為說明用于過濾來自端到端錯誤反饋的反向鏈路錯誤的另一技術的流程圖。
具體實施例方式
圖1為說明視頻編碼及解碼系統IO的框圖。如圖1中所示,系統10包括由傳輸信 道16連接的編碼器系統12及解碼器系統14,所述傳輸信道16包括一個或一個上接 入網絡(AN)組件15。編碼器系統12及解碼器系統14可表示各種類型的裝置,例如 無線電話、蜂窩式電話、膝上型計算機、無線多媒體裝置、視頻游戲裝置、數字音樂播 放器、數字視頻播放器、數字廣播服務器、無線通信個人計算機卡、個人數字助理(PDA)、 外部或內部調制解調器或者經由無線信道通信的任何裝置。
AN組件15可指代通信系統的網絡部分,且可包括或實施基站(BS)、基站收發器 系統(BTS)、接入點(AP)、調制解調器群收發器(MPT)、節點B (例如,在WCDMA 類型系統中)等的功能。編碼器系統12及解碼器系統14各自在前向鏈路(FL)及/或 反向鏈路(RL)上與AN組件15通信。FL (其還稱為"下行鏈路")指代從AN組件 15到系統12或14的傳輸。反向鏈路(其還稱為"上行鏈路")指代從系統12或14到 AN組件15的傳輸。
系統IO可經由傳輸信道16提供(例如)用于視頻電話(VT)的雙向視頻及音頻傳 輸。VT指代至少兩個裝置(例如,系統12與14)之間的音頻及視頻包的實時通信。因 此,大體上互逆的編碼、解碼及轉換模塊可提供于信道16的相對端上的系統12及14 中。或者,系統12及14中的一者或兩者可僅專用于音頻及視頻編碼與傳輸,或僅專用 于音頻及視頻接收與解碼。在一些實例中,編碼器系統12及解碼器系統14可體現于例 如經裝備以用于視頻串流、視頻電話或兩者的無線移動終端等視頻通信裝置內。移動終 端可支持根據例如實時傳送協議(RTP)、用戶數據報協議(UDP)、因特網協議(IP) 或點到點協議(PPP)等包交換標準的VT。
系統IO可經設計以支持一種或一種以上無線通信技術,例如碼分多址(CDMA)、頻分多址(FDMA)、時分多址(TDMA)或正交頻分多址(OFDM),或另一合適的無 線技術。以上無線通信技術可根據多種無線電接入技術中的任一者來陳述。舉例來說, CDMA可根據cdma2000或寬帶CDMA (WCDMA)標準來陳述。TDMA可根據全球移 動通信系統(GSM)標準來陳述。通用移動電信系統(UMTS)標準準許GSM或WCDMA 操作。通常,對于VT應用來說,系統IO將經設計以支持例如cdma2000 lx EV-DO版 本O及版本A等高數據速率(HDR)技術。
編碼器系統12與第一視頻通信裝置相關聯,且包括音頻源17、視頻源18、視頻編 碼器20、音頻編碼器22、實時傳送協議(RTP) /用戶數據報協議(UDP) /因特網協議 (IP) /點到點協議(PPP)轉換模塊26、無線電鏈路協議(RLP)隊列28、 MAC層模塊 30及PHY層模塊32。如將描述,編碼器系統12還可包括用以區分可歸因于不同來源 的錯誤的錯誤過濾器,以及用于使錯誤控制適應信道16的可用帶寬的模塊。解碼器系 統14與另一視頻通信裝置相關聯,且包括PHY層模塊34、 MAC層模塊36、 RLP隊列 38、 RTP/UDP/IP/PPP轉換模塊40、視頻解碼器42及音頻解碼器44。
視頻源18可為視頻俘獲裝置(例如視頻相機、 一個或一個以上視頻保存器,或視 頻相機與視頻保存器的組合)或來自內容提供者的實況廣播源。系統10可支持根據會 話起始協議(SIP)、 ITU-TH.323標準、ITU-T H.324標準或其它標準的視頻電話或視頻 串流。視頻編碼器20根據例如MPEG-2、 MPEG-4、 ITU-T H.263或ITU-T H.264及其對 應版本(ISO/IEC MPEG-4,第10部分,即高級視頻譯碼)等視頻壓縮標準而產生經編 碼的視頻數據。系統10還可經配置以支持增強型H.264視頻譯碼以用于在使用僅前向 鏈路(FLO)空中接口規范"用于陸地移動多媒體多播的僅前向鏈路空中接口規范 (Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast)"(其將被公布為技術標準TIA-1099 ("FLO規范"))的陸地移動多媒體多播 (TM3)系統中傳遞實時視頻服務。
視頻編碼器20及視頻解碼器42各自可實施為一個或一個以上處理器、數字信號處 理器、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、 固件或其任何組合。視頻編碼器20及視頻解碼器42中的每一者可包括于一個或一個以 上編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為相應訂戶裝置、廣播裝 置、服務器等中的組合式編碼器/解碼器(CODEC)的部分。另外,系統12及系統14
各自可包括用于經編碼視頻的傳輸及接收的適當調制、解調、頻率轉換、過濾及放大器 組件(如果適用的話),其中包括射頻(RF)無線組件及天線。然而,為了易于說明起 見,圖1中未展示此些組件。音頻源17可為音頻俘獲裝置(例如麥克風或語音合成器裝置),其俘獲音頻數據以 伴隨來自視頻源18的視頻數據。或者,音頻源17可包括音頻保存器或來自內容提供者 的實況音頻廣播源。音頻編碼器22可根據例如自適應多速率窄帶(AMR-NB)的音頻 壓縮方法或其它技術來對音頻數據進行編碼。對于VT應用來說,視頻將準許一方觀看 VT會議且音頻將準許所述方的所講話音被聽到。對于例如多媒體串流或廣播等其它應 用來說,音頻及視頻形成多媒體內容(例如演出、展覽或電影)的部分。
在操作中,RTP/UDP/IP/PPP轉換模塊26從視頻編碼器20及音頻編碼器22獲得經 編碼的視頻數據幀及經編碼的音頻數據,且將適當標頭信息(例如,路由及定序信息) 添加到視頻及音頻包并將所得數據插入在RLP隊列28內。通常,RTP在UDP之上運行, 而UDP在IP之上運行,且IP在PPP之上運行。RTP是經開發用于傳輸例如多媒體數 據等實時數據的協議。在RTP中,視頻編碼器20以及音頻編碼器22的輸出被分組成若 干數據包。因此,視頻數據幀可被分成一個或一個以上數據包以供經由信道16將所述 幀傳輸到解碼器系統14,且多個幀通常被作為多個數據包來傳輸。每一包包括用于識別 及定序用途的序列編號(SN)。 SN可包括于(例如)RTP/UDP/IP/PPP標頭信息中。
MAC層模塊30從RLP隊列28檢索數據且從RLP隊列28的內容產生MAC層包。 每一 MAC層包攜載RLP隊列28內所含有的RTP/UDP/IP/PPP標頭信息以及音頻或視頻 包數據。可獨立于視頻包而將音頻包插入到RLP隊列28中。在一些情況下,從RLP隊 列28的內容所產生的MAC層包將僅攜載標頭信息及視頻包數據。在其它情況下,MAC 層包將攜載標頭信息、音頻包數據及視頻包數據,這依據RLP隊列28的內容而定。MAC 層包可根據RLP來配置,且還可被稱為MAC RLP包。
PHY層模塊32將MAC RLP包轉換成PHY層包以供經由信道16來傳輸。明確地 說,編碼器系統12內的收發器經由信道16將PHY層包傳輸到AN組件15。信道16將 PHY層包攜載到解碼器系統14。信道16可為編碼器系統12與解碼器系統14之間的任 何物理連接。舉例來說,信道16可為有線連接,例如區域或廣域有線網絡。或者,如 本文中所描述,信道16可為無線連接,例如蜂窩式、衛星或光學連接。更通常地,信 道16可包括有線與無線媒體的組合。
解碼系統14的PHY層模塊34及MAC層模塊36以互逆方式操作。TOY層模塊34 將從信道16接收的PHY層包轉換/重新組合成MAC RLP包。MAC層模塊36重新組合 MAC RLP包的內容以提供視頻及音頻包,以用于將MAC RLP包插入到RLP隊列38中。 RTP/UDP/IP/PPP轉換模塊40從RLP隊列38中的數據中去除標頭信息,且重新組合視 頻及音頻數據以供分別傳遞到視頻解碼器42及音頻解碼器44。視頻解碼器42對視頻數據幀進行解碼以產生用于驅動顯示裝置(視頻輸出)48的 視頻數據流。與每一包相關聯的SN可有助于視頻解碼器42將視頻數據包重新排序并重 新組合成幀。舉例來說,從時間觀點來看,所述包可經失序地接收,從而需要重新排序 成適當時間序列。音頻解碼器44對音頻數據進行解碼以產生用于呈現給用戶(例如, 經由音頻揚聲器(音頻輸出)46)的音頻信息。
錯誤可發生在將視頻數據幀從編碼器系統12傳輸到解碼器系統14期間。錯誤可包 括丟失的包或含有丟失的數據的包。下文中,"丟失的包"指代整個包的丟失與包內數 據的丟失兩者。視頻數據錯誤可發生于RL(例如,從編碼器系統12到AN組件15)上、 發生于FL (例如,從AN組件15到解碼器系統14)上或發生于AN組件15內。因此, 錯誤可被視為RL錯誤或FL錯誤。 一般來說,發生于AN組件15內的錯誤還將被稱為 FL錯誤。錯誤可出于許多原因而發生于AN組件15內。舉例來說,如果AN組件15包 含一個以上核心網絡,則當在核心網絡之間傳輸視頻數據時可能發生一個或一個以上視 頻包或所述包內的數據的丟失。
編碼器系統12可經由一種或一種以上技術來識別RL錯誤。在一種錯誤識別技術中, 在視頻編碼器20對新視頻幀進行編碼之前,視頻編碼器20查詢編碼器系統12的一個 或一個以上較低層以確定在最近經編碼的視頻幀的傳輸期間是否發生錯誤。在對新視頻 幀進行編碼之前檢測錯誤使得視頻編碼器20 (或編碼器系統12內的錯誤控制模塊)能 夠相對快速地對當前最近經編碼幀執行錯誤控制而不等待來自解碼器系統14的反饋。
圖2為說明實施錯誤過濾技術的編碼器裝置12的圖。在圖2中所示的實例中,編 碼器裝置12包括UDP/IP/PPP層26B、 MAC層30、錯誤過濾器模塊50、無線電鏈路協 議(RLP)模塊55、包合并協議(PCP)模塊56、 RL速率適應模塊58及信道帶寬自適 應錯誤控制模塊60。為說明清楚起見,已從圖2的圖中移除了圖1中所展示的編碼器系 統12的一些組件,例如音頻編碼器22及PHY層32。
如下文進一步詳細地描述,錯誤過濾器模塊50確定來自解碼器系統14的E2E錯誤 反饋中所報告的錯誤是否已經被校正。也就是說,錯誤過濾器50從E2E錯誤反饋中所 報告的錯誤中過濾出RL錯誤,這可有助于視頻編碼器20避免對E2E反饋中所報告的 RL錯誤不必要地應用錯誤控制。在圖2中所示的編碼器系統12的實例中,錯誤過濾器 50處于與RTP 26A相同的層中。錯誤過濾器50包括RL錯誤SN提取模塊52及傳輸(TX) 錯誤確定模塊54。
在一個實例中,編碼器系統12的較低層通過旗標(例如二進制位字段)來持續跟 蹤視頻幀的傳輸狀態。舉例來說,當在編碼系統12與AN組件15之間發生錯誤時,AN組件15可將否定應答(NAK)發送到MAC層30。 MAC層30可向PCP模塊56通知與 NAK相關聯的MAC包。PCP模塊56確定丟失的MAC包是否含有任何視頻流數據。即 使在EV-DO Rev A反向鏈路中支持服務質量(QoS),音頻及視頻數據仍可放置于同一 MAC包中。如果丟失的MAC包中存在視頻數據,則PCP模塊56將向RLP模塊55 (圖 2中展示)通知丟失的數據,且用RLP包NAK識別含有在傳輸中經歷錯誤的包的特定 RLP隊列(可存在若干RLP隊列)。
RLP模塊55確定哪一包含有丟失的數據。接著,RLP模塊55用視頻流包NAK向 應用層中的RTP層26A通知哪一包包括丟失的數據。RTP層26A可維持將丟失的包轉 換成幀中的丟失的MB的映射或表格。識別丟失的MB的信息被傳到視頻編碼器20 (或 錯誤控制模塊)以用于進一步錯誤控制。舉例來說,視頻編碼器20可應用幀內刷新或 隨機MB內刷新以消除錯誤。
在編碼器系統12的較低層通過旗標持續跟蹤視頻幀的傳輸狀態的用于識別RL錯誤 的另一方法中,視頻編碼器20可在對每一新的視頻數據幀進行編碼之前查詢RLP模塊 55,且錯誤信息可被直接傳到視頻編碼器20以用于錯誤控制。如果發生RL錯誤,則 MAC層30可自動將NAK發送到PCP模塊56,且PCP模塊可將NAK發送到RLP模塊 55,其設定旗標。
在上文論述的方法中的任一者中,如果視頻幀的包丟失,則設定編碼器系統12的 較低層內的旗標。 一旦視頻編碼器20查詢RLP模塊55以檢査所述旗標,便復位所述旗 標以用于下一經編碼的視頻幀。如果旗標經設定,則視頻編碼器20對所述下一經編碼 的視頻數據幀應用錯誤控制。旗標僅指示在最近經編碼的視頻幀的傳輸中是否存在RL 錯誤,而非丟失的特定包。因此,假定在幀的任何部分中發生錯誤,視頻編碼器20可 能不知道幀的哪一部分丟失并應用錯誤控制。因為對整個幀應用錯誤控制,所以知道是 否存在任何錯誤可能正如知道哪一視頻數據包丟失一樣有用。
上文描述的較低層輔助式視頻錯誤控制技術處理在RL上傳輸期間視頻數據發生的 錯誤(即,RL錯誤)。所述技術可使得視頻編碼器20能夠使用來自MAC層30的錯誤 信息并立即應用錯誤控制,而不等待來自解碼器系統14 (即,接收裝置)的反饋。
另一技術識別RL與FL錯誤兩者,后者包括發生于AN組件15內的錯誤。舉例來 說,解碼器系統14可將指示已發生錯誤的反饋提供到編碼器系統12的視頻編碼器20。 編碼器系統12的收發器(未圖示)可接收來自解碼器系統14的反饋。視頻編碼器20 接著可對下一經編碼幀應用錯誤控制以防止錯誤傳播。從解碼器系統14報告到編碼器 系統12的錯誤可被稱為"端到端(E2E)反饋"。E2E反饋的使用可基于音頻視頻簡檔反饋(AVPF) RFC 4585,其提供使得視頻數 據接收裝置(即,解碼器系統14)能夠將即時反饋提供到編碼器系統12的基于實時控 制協議(RTCP)的反饋機制。E2E反饋通常包含丟失的RTP包或含有丟失的數據的RTP 包的SN。舉例來說,如果具有為100的SN的RTP包丟失,則解碼器系統14檢測到所 述丟失且將具有SN 100的RTCP反饋發送到具有AVPF有效負載的編碼器系統12。
一旦視頻編碼器20檢測到錯誤,視頻編碼器20便可根據任何合適技術來應用錯誤 控制。合適的錯誤控制技術的實例包括針對經編碼的下一視頻幀而使用不同參考幀,增 加宏塊(MB)內刷新速率(即,"宏塊內刷新"),或插入幀內幀(I幀)以在解碼器裝 置14處停止錯誤傳播(即,"幀內幀插入")。在I幀中,每個MB經幀內譯碼,BP,每 一MB不取決于先前幀,這可停止錯誤傳播。對于MB內刷新來說,僅一些MB經幀內 譯碼。幀內幀插入可在錯誤發生時提供較好視頻質量,但消耗較多帶寬,因為傳輸整個 I幀而非傳輸形成所述幀的僅一部分的MB。在使用參考幀來對后續幀進行編碼的一種類 型的錯誤控制技術中,視頻數據幀的MB可通過基于運動的譯碼來編碼。基于運動的譯 碼涉及識別先前幀的類似的MB (預測性MB),且發送運動向量以識別先前幀(或雙向 譯碼中的后續幀)中的預測性MB并發送指示當前MB與預測性MB之間的差別的不同 塊。運動向量大體上特征化先前經編碼幀中的最佳匹配MB (即,預測性MB)與給定 MB之間的距離。當視頻編碼器20檢測到錯誤時,視頻編碼器20可使用在包括所述錯 誤的幀之前編碼的幀作為用于經編碼的下一視頻幀的參考幀。
視頻編碼器20經配置以基于以下兩個信息源而應用錯誤控制RL錯誤反饋及E2E 錯誤反饋。如上文所論述,在無線視頻通信中,E2E錯誤反饋中所報告的錯誤可能可歸 因于發生于RL或FL中的錯誤。E2E反饋并不包括錯誤發生于何處的指示,且因此視頻 編碼器20通常不能夠確定丟失的包的起源。
在--些情況下,E2E錯誤反饋可報告視頻編碼器20己經通過查詢編碼器系統12的 一個或一個以上較低層(例如,RLP模塊55)而識別的RL錯誤。因為視頻編碼器20 在識別到RL錯誤后便對RL錯誤應用錯誤控制,所以到由E2E錯誤反饋報告RL錯誤 時視頻編碼器20通常已處理了 RL。然而,因為視頻編碼器20不能夠確定E2E錯誤反 饋中所報告的錯誤的起源且區分RL錯誤與FL錯誤,所以視頻編碼器20可能會不止一 次地對同一RL錯誤應用錯誤控制,這可為資源及帶寬的低效使用。舉例來說,對同一 錯誤兩次應用錯誤控制可降低視頻編碼器20的譯碼效率且致使視頻輸出48的質量降 級。
視頻編碼器20在從解碼器系統14 (經由E2E錯誤反饋)接收RL錯誤的報告之前校正RL錯誤。在檢測到RL錯誤之后相對較快地校正RL錯誤有助于減少由丟失的包或 含有丟失數據的包所引起的假象。在圖2中所示的實例中,視頻解碼器42提供E2E錯 誤反饋。然而,在其它實例中,解碼器系統14的其它組件可將E2E錯誤反饋提供到編 碼器系統12。如上文所論述,視頻編碼器20可采用任何合適的技術以用于識別RL錯 誤。在圖2中所示的實例中,視頻編碼器20查詢RLP模塊55且讀取RLP模塊55內所 設定的旗標,以便識別在將新近經編碼的視頻幀傳輸到AN組件15期間(即,在RL傳 輸期間)是否發生了RL錯誤。
錯誤過濾器50經配置以從視頻解碼器42接收E2E錯誤反饋且確定錯誤的起源。如 果錯誤過濾器50確定所報告的E2E錯誤發生于RL上,則視頻編碼器20可不必再次校 正RL錯誤。然而,如果錯誤過濾器50確定E2E錯誤反饋中所報告的錯誤發生于FL上, 則視頻編碼器20可校正FL錯誤,以便停止錯誤傳播。換句話說,錯誤過濾器50確定 所報告的E2E錯誤是否已經作為RL錯誤的部分被校正或視頻編碼器20是否應校正所 述錯誤。
錯誤過濾器50可通過至少兩種技術來持續跟蹤由視頻編碼器20校正的RL錯誤。 在第一種技術中,錯誤過濾器50接收在RL上丟失的視頻幀的視頻包的序列編號(SN)。 在第二種技術中,錯誤過濾器50接收指示新近經編碼的視頻幀是否具有RL錯誤的信息。 圖2中展示根據第二種技術的錯誤過濾器50。在用于識別RL錯誤的第二種技術的一個 實例中,RTP層26A向新近經編碼的視頻幀的最后包指派SN且將此SN提供到錯誤過 濾器50的RL錯誤SN提取模塊52。 RL錯誤SN提取模塊52通過讀取編碼器系統12 的較低層中所設定的旗標(例如,二進制位字段)來確定在將與SN相關聯的經編碼幀 傳輸到AN組件15時是否發生了 RL錯誤(即, 一個或一個以上包或所述包內的數據是 否丟失)。由RL錯誤SN提取模塊52讀取的旗標是由視頻編碼器20讀取以識別RL錯 誤的同一旗標。所述旗標指示自從上次查詢較低層以來在視頻流上是否已丟失任何數 據。如果與SN相關聯的幀具有錯誤,則RL錯誤SN提取模塊52存儲所述SN。如果與 SN相關聯的幀不具有錯誤,則RL錯誤SN提取模塊52繼續存儲具有傳輸錯誤的最近 幀的SN。存儲于RL錯誤SN提取模塊52內的SN被稱為SN,。
在一些方面中,如果攜載用于經編碼幀的數據的包中的任何者丟失,則視頻編碼器 20對整個視頻幀應用錯誤校正。因此,通過持續跟蹤包括一個或一個以上RL錯誤的最 近經編碼的視頻幀的最后包的SN,, RL錯誤SN提取模塊52能夠跟蹤視頻編碼器20已 校正的RL錯誤。舉例來說,如果經編碼幀被分成具有SN 101到115的包,且由SN 105 所識別的包在RL上丟失,則視頻編碼器20對所述經編碼幀應用錯誤控制。因此,即使由SN 115所識別的包的傳輸不導致RL錯誤,且因為SN通常為依序的,所以也對由SN 115所識別的包應用錯誤控制。以此方式,錯誤過濾器50跟蹤已被校正的RL錯誤而非 精確跟蹤在RL中丟失哪些包。錯誤過濾器50還可跟蹤已通過跟蹤丟失或含有錯誤的精 確包的SN來校正的RL錯誤。
在其它方面中,視頻編碼器20對視頻數據幀的發生錯誤的部分應用錯誤校正,而 非對整個視頻幀應用錯誤校正。舉例來說,視頻編碼器20可對幀中的宏塊或攜載多個 宏塊的包應用錯誤校正。因此,通過持續跟蹤已被校正的包或含有實際上已被校正的宏 塊的包的序列編號SN!, RL錯誤SN提取模塊52能夠跟蹤視頻編碼器20已校正的RL 錯誤。
視頻解碼器42以丟失的RTP包的序列編號SN2的形式將E2E錯誤反饋報告給錯誤 過濾器50的TX錯誤確定模塊54。視頻解碼器42僅在存在錯誤時發送E2E錯誤反饋且 識別已丟失的精確包。如果丟失一個以上包,則E2E錯誤反饋可包括一個以上SN。在 一個實例中,因為視頻編碼器20將對整個幀應用錯誤控制,所以TX錯誤確定模塊54 將由視頻解碼器42報告的最高SN跟蹤為SN2,且最高SN表示所述視頻幀。換句話說, 只有用以對視頻幀進行編碼的最后包的最高SN為唯一地識別所述幀所必需的。
為了確定E2E錯誤反饋中所報告的錯誤是已經被校正的RL錯誤還是FL錯誤,TX 錯誤確定模塊54將在E2E錯誤反饋中所接收的SN2與具有錯誤的最近經編碼的視頻幀 的最后包的SN!進行比較。如果SN2大于SN,,則E2E錯誤反饋中所報告的錯誤為FL 錯誤,因為較高SN2指示由SN2所識別的包在由SN!所識別的包之后被傳輸。如果在由 SN2所識別的包在RL上傳輸期間發生錯誤,則RL錯誤SN提取模塊52將已將SN2或 由SN2所識別的包作為其一部分的幀的最后包的SN記錄為視頻編碼器12校正的最近 RL錯誤的最高SN。然而,因為在識別最近RL錯誤時RL錯誤SN提取模塊52已存儲 SNi,所以很有可能的是由SN2所識別的包內的錯誤發生在RL傳輸之后。因此,如果 SN2大于SNp則TX錯誤確定模塊54向視頻編碼器20通知與SN2相關聯的錯誤先前 尚未被校正,在此情況下,視頻編碼器20對下一經編碼幀應用錯誤控制。
相反,如果SN2小于SN,,則E2E錯誤反饋中所報告的錯誤為已經被校正的RL錯 誤,因為由SN2所識別的包在由SN!所識別的包之前被傳輸且因此已經被校正。如果SN2 小于SNp則視頻編碼器20不對下一經編碼幀應用任何錯誤控制。如果SN2等于SN" 則E2E錯誤反饋中所報告的錯誤與已經被校正的最近RL錯誤相同且視頻編碼器20不 對下一經編碼幀應用任何錯誤控制。
錯誤過濾器50使編碼器系統12能夠有效地區分RL視頻數據傳輸錯誤與FL視頻數據傳輸錯誤,后者包括發生于AN組件15內的錯誤。通過區分不同類型的錯誤,從 E2E錯誤反饋中過濾出重復的錯誤消息,進而防止視頻編碼器20將同一錯誤校正兩次。 以此方式,與其中視頻編碼器20校正E2E錯誤反饋中所報告的所有錯誤的系統相比, 視頻編碼器20可更有效地操作。
系統10任選地包括RL速率適應模塊58及信道帶寬自適應錯誤控制模塊60,以使 由視頻編碼器20實施的錯誤控制適應信道16的可用帶寬。在圖2中所示的編碼器系統 12的實例中,TX錯誤確定模塊54經由信道帶寬自適應錯誤控制模塊60將反饋提供到 視頻編碼器20。在錯誤過濾器50確定是否對來自視頻解碼器42的E2E錯誤反饋中所 報告的錯誤應用錯誤控制之后,信道帶寬自適應錯誤控制模塊60可指令視頻編碼器20 根據特定技術來應用錯誤控制,其中所述技術適應信道16的可用帶寬。
信道條件可為有線及無線信道所關注,但對于經由無線信道16執行的移動VT應用 來說尤其是成問題的,其中信道條件可能由于衰減或擁擠而受損。舉例來說,信道16 可特征化為反向鏈路(RL)具有根據信道條件而變化的通過量。可基于如由當前無線信 道傳輸速率、無線基站活動及傳輸功率限制中的一者或一者以上所表示的信道條件來估 計通過量。舉例來說,可基于當前MAC層數據速率、反向活動位(RAB)及功率放大 器(PA)限制來確定信道條件。
由于變化的信道條件,視頻編碼器20可調節其編碼速率,以便避免覆沒信道16。 錯誤控制通常占據額外帶寬或另外降低譯碼效率,且因此當信道16的帶寬變化時,信 道帶寬自適應錯誤控制模塊60可限制由視頻編碼器20所應用的錯誤控制的類型。RL 速率適應模塊58監視RL條件,且信道帶寬自適應錯誤控制模塊60根據RL條件來調 節視頻編碼器20的編碼速率及由視頻編碼器20所應用的錯誤控制的類型。舉例來說, 當信道帶寬受到限制時,信道帶寬自適應錯誤控制模塊60可指令視頻編碼器20經由 MB內刷新而非幀內幀插入來應用錯誤控制,幀內幀插入通常需要比MB內刷新錯誤控 制高的帶寬。以此方式,信道帶寬自適應錯誤控制模塊60使由視頻編碼器20應用的錯 誤控制能夠為信道帶寬自適應的。
在2006年5月31日申請的標題為"對反向鏈路條件的視頻速率適應(VIDEO RATE ADAPTATION TO REVERSE LINK CONDITIONS)"的第11/445,099號美國專利申請案 (代理人案號060767)中描述可使用的速率適應技術的實例。如上文引用的專利申請案 中所描述,在用于調適由視頻編碼器20所實施的視頻數據編碼速率以匹配RL信道條件 的一種實例性技術中,基于視頻流RLP隊列28 (圖1)的總大小來估計視頻通過量。在 此情況下,將隊列充滿度用作RL信道條件的指示。隊列充滿度可能是至少部分地由降級的信道條件引起的,所述降級的信道條件降低從RLP隊列28拉出包的速率。
在另一實例性技術中,視頻編碼器20可使用來自MAC層30及RLP層26的信息 來監視RL信道條件且根據信道條件來調節其編碼速率。舉例來說,可基于當前MAC 層數據速率、反向活動位(RAB)及功率放大器(PA)限制(其由MAC層30內的PA 位指示)來確定信道條件。PA限制表示傳輸功率余裕空間且指示信道條件何時已降級。 功率余裕空間限制以分貝(dB)來測量且限制MAC層包的最大可能有效負載大小。功 率余裕空間限制值越低,最大可能有效負載大小就越小,且因此通過量就越低。余裕空 間限制可基于當前傳輸功率而指示允許用于傳輸的最大速率。
圖3為說明采用用于從E2E錯誤反饋中過濾RL錯誤的技術的編碼器裝置12的實 例性操作的流程圖。在用從視頻源18接收的經編碼的視頻數據幀產生一個或一個以上 包(61)后,RTP層26A便向新近經編碼的視頻幀的最后包指派序列編號SNEF (62), 且將SNef提供到RL錯誤SN提取模塊52。在將經編碼的視頻幀轉換成PHY層包之后, 編碼器系統12經由AN組件15及信道16將所述視頻幀傳輸到解碼器系統14 (64)。
視頻編碼器20可確定在將新近經編碼幀的包傳輸到解碼器系統14期間是否發生 RL傳輸錯誤(66)。如上文所描述,視頻編碼器20可采用用于識別RL錯誤的任何合適 技術,例如查詢編碼器系統12的較低層(例如,RLP模塊55)以檢查指示是否發生錯 誤的旗標。如果發生錯誤(例如,如果較低層內的旗標被設定),則視頻編碼器20可通 過(例如)針對經編碼的下一視頻幀使用不同參考幀、應用MB內刷新或插入I幀以停 止錯誤傳播來對RL傳輸錯誤應用錯誤校正(68)。
RL錯誤SN提取模塊52還可確定在將新近經編碼的視頻幀傳輸到解碼器系統14 時是否發生了傳輸錯誤。再次,RL錯誤SN提取模塊52還可查詢編碼器系統12的較低 層以確定是否發生了傳輸錯誤。如果發生了傳輸錯誤,則RL錯誤SN提取模塊52將snef 記錄為SN!。如果在將最近經編碼幀傳輸到解碼器系統14時未發生傳輸錯誤,則RL錯 誤SN提取模塊52維持先前記錄的與具有RL傳輸錯誤的最近幀相關聯的SN! (70)。
錯誤過濾器50的TX錯誤確定模塊54可從解碼器系統14接收E2E錯誤反饋,其 中E2E錯誤反饋包括丟失的包或含有丟失的數據的包的序列編號SN2。錯誤過濾器50 (且明確地說,TX錯誤確定模塊54)將SN!與SN2進行比較(72)以確定E2E錯誤反 饋中所報告的錯誤是否為已經由視頻編碼器20校正的RL錯誤。如果SN!小于SN2(74), 則E2E錯誤反饋中所報告的錯誤為尚未被校正的FL錯誤。TX錯誤確定模塊54通知視 頻編碼器20在E2E錯誤反饋中所報告的錯誤為FL鏈路錯誤,且視頻編碼器20接著可 對隨后編碼的幀應用錯誤控制(76)以停止錯誤傳播。也就是說,如果SN!大于或等于SN2,則視頻編碼器20可(a)針對新幀使用不同參考幀,(b)增加宏塊(MB)幀內刷 新速率,或(c)插入幀內幀(I幀)以在解碼器系統14處停止錯誤傳播。
如果SN2大于或等于SN,,則E2E錯誤反饋中所報告的錯誤為已經被校正的RL錯 誤,且視頻編碼器20不采取任何動作來校正錯誤。如果SN2等于SN,,則包括E2E錯 誤反饋中所報告的包的幀為具有視頻編碼器20已經校正的RL錯誤的最近幀,且視頻編 碼器20不采取任何進一步動作來校正與SN2相關聯的視頻包。
圖3的流程圖中所示的過程可發生于任何合適的時間間隔內。在一個實例中,在從 視頻編碼器20產生視頻幀(61)的時間開始的約660毫秒內校正E2E錯誤反饋中所報 告的錯誤(如果必要的話)。在660毫秒時間幀之后,可針對另一視頻數據幀而重復所 述過程。RL錯誤SN提取模塊52內的SN緩沖器保留先前記錄的SN,,直到SN,由最 近RL錯誤的SN蓋寫為止。
圖4為說明采用用于從E2E錯誤反饋中過濾RL錯誤的另一技術的編碼器系統12 的另一實例性操作的流程圖。圖4中所示的過程大致上與圖3中所示的過程一致,但不 同之處在于,錯誤過濾器50通過含有錯誤的包的序列編號SN3 (而非包括錯誤的最近視 頻數據幀的最后包)來識別由視頻編碼器20校正的最近RL錯誤。在視頻編碼器20從 自視頻源18接收的數據產生視頻幀(61)之后,編碼器系統12經由AN組件15及信 道16將視頻幀傳輸到解碼器系統14 (64)。
與圖3中所示的實例性流程圖相反,在圖4的流程圖中所示的操作中,視頻編碼器 20通過含有丟失的數據的精確包的序列編號SN3 (而非包括錯誤的最近經編碼幀的最后 包的SNO來識別RL錯誤(80)。在圖4中所示的編碼器系統12的操作中,視頻編碼 器20可經配置以對由序列編號SN3所識別的包應用錯誤校正,而非對整個視頻幀應用 錯誤校正,整個視頻幀可跨越多個包,如同在圖3中所示的實例中。然而,作為替代, 即使含有丟失的數據的精確包的序列編號SN3由RL錯誤SN提取模塊52識別且跟蹤, 視頻編碼器20仍可對整個視頻幀應用錯誤校正。
在一個實例中,AN組件15在發生傳輸錯誤時將NAK發送到MAC層30,其向PCP 模塊56通知與所述NAK相關聯的MAC包。在PCP模塊56確定MAC包包括視頻數據 之后,PCP模塊56用RLP包NAK向RLP模塊55通知哪一 RLP隊列含有在傳輸中經 歷錯誤的包。RLP模塊55確定哪一包含有丟失的數據或哪一包丟失,其使RLP模塊55 能夠確定包的序列編號SN3。識別丟失的包或含有錯誤的包的SN3的技術的實施可能比 識別包括錯誤的視頻幀的最后包的SN!的技術的實施更復雜,因為前者技術可能需要修 改RTP層26A及RLP模塊55。RL錯誤SN提取模塊52記錄含有丟失的數據的精確包的SN3 (82)。圖4中所示的 流程圖的剩余部分類似于圖3中所示的部分。明確地說,視頻編碼器20使用任何合適 技術來校正RL錯誤(68),錯誤過濾器50從視頻解碼器42接收指示含有丟失的視頻數 據的包的S&的E2E錯誤反饋(72),且將SN3與SN2進行比較以確定E2E錯誤反饋中 所報告的錯誤是否為已由視頻編碼器20校正的RL錯誤(74)。如果SN3大于或等于SN2, 則由SN2所識別的含有錯誤的包為RL錯誤,且視頻編碼器20不采取任何校正動作。
如果SN3小于SN2,則包括丟失的數據并具有SN2的包為FL錯誤的結果,所述FL 錯誤尚未由視頻編碼器20校正。錯誤過濾器50接著可提示視頻編碼器20對E2E錯誤 反饋中所報告的錯誤應用錯誤校正,以便防止錯誤進一步傳播(76)。明確地說,錯誤 過濾器50可提示信道帶寬自適應錯誤控制模塊60,所述模塊60接著提示視頻編碼器。 如先前所論述,RL速率適應模塊58監視RL條件且信道帶寬自適應錯誤控制模塊60 根據RL條件來調節視頻編碼器20的編碼速率。因此,信道帶寬自適應錯誤控制模塊 60可在提示視頻編碼器20應用錯誤控制之前基于來自RL速率適應模塊58的反饋而確 定RL上的信道16的可用帶寬(73)。盡管未在圖3中展示,但其中所示的過程還可包 括在提示視頻編碼器20應用錯誤控制之前確定RL上的信道16的可用帶寬。
本發明中所描述的技術可在通用微處理器、數字信號處理器(DSP)、專用集成電路 (ASIC)、現場可編程門陣列(FPGA)或其它等效邏輯裝置內實施。舉例來說,視頻編 碼器裝置12、視頻解碼器裝置14以及相關聯的組件及模塊可作為在DSP或其它處理裝 置上運行的編碼過程或者譯碼/解碼(CODEC)過程的部分來實施。因此,描述為模塊 的組件可形成例如過程或單獨過程的可編程特征。
在一個或一個以上實例中,所描述的功能可以硬件、軟件、固件或其任何組合來實 施。如果以軟件實施,則所述功能可作為一個或一個以上指令或代碼而存儲于計算機可 讀媒體上或經由計算機可讀媒體來傳輸。計算機可讀媒體包括計算機存儲媒體與通信媒 體兩者,其包括有助于將計算機程序從一個位置傳送到另一位置的任何媒體。存儲媒體 可為可由計算機存取的任何可用媒體。以實例方式而非以限制方式,所述計算機可讀媒 體可包含RAM、 ROM、 EEPROM、 CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其 它磁性存儲裝置,或可用于以指令或數據結構的形式攜載或存儲所需程序代碼并可由計 算機存取的任何其它媒體。而且,將任何連接適當地稱為計算機可讀媒體。舉例來說, 如果使用同軸電纜、光纖電纜、雙絞線、數字訂戶線(DSL)或例如紅外線、無線電及 微波等無線技術來從網站、服務器或其它遠程源傳輸軟件,則將同軸電纜、光纖電纜、 雙絞線、DSL或例如紅外線、無線電及微波等無線技術包括于媒體的定義中。如本文中所使用的磁盤及光盤包括壓縮光盤(CD)、激光光盤、光盤、數字通用光盤(DVD)、 軟盤及藍色射線(blu-ray)光盤,其中磁盤通常以磁性方式再生數據,而光盤以光學方 式利用激光來再生數據。還應將以上各項的組合包括于計算機可讀媒體的范圍內。如本 文中所使用,媒體包括有助于將計算機程序從一個位置傳送到另一位置的任何媒體。 已描述了本發明的各種實例。這些及其它實例屬于所附權利要求書的范圍內。
權利要求
1.一種方法,其包含接收對視頻解碼器所檢測的視頻數據錯誤的指示;確定所述視頻數據錯誤是否發生于視頻編碼器與網絡裝置之間的無線網絡的反向鏈路上;及如果所述視頻數據錯誤不是發生于所述反向鏈路上,則響應于對所述視頻數據錯誤的指示而應用錯誤控制,且如果所述視頻數據錯誤發生于所述反向鏈路上,則不響應于所述視頻數據錯誤而應用錯誤控制。
2. 根據權利要求1所述的方法,其中如果所述視頻數據錯誤發生于所述無線網絡的所 述反向鏈路上,則所述方法進一步包含在從所述視頻解碼器接收對所述視頻數據錯 誤的所述指示之前存儲與所述視頻數據錯誤相關的信息,且其中確定所述視頻數據 錯誤是否發生于所述反向鏈路上是基于所述所存儲的信息。
3. 根據權利要求2所述的方法,其進一步包含在從所述視頻解碼器接收對所述視頻數 據錯誤的所述指示之前響應于所述視頻數據錯誤而應用錯誤控制。
4. 根據權利要求1所述的方法,其中所述視頻數據錯誤為第一視頻數據錯誤,且所述 方法進一步包含在從所述視頻解碼器接收對所述視頻數據錯誤的所述指示之前存 儲與發生于所述無線網絡的所述反向鏈路上的第二視頻數據錯誤相關的信息,且其 中確定所述第一視頻數據錯誤是否發生于所述反向鏈路上是基于所述所存儲的信 息。
5. 根據權利要求4所述的方法,其進一步包含響應于所述第二視頻數據錯誤而應用錯 誤控制。
6. 根據權利要求4所述的方法,其中對所述第一視頻數據錯誤的所述指示包括與所述 第一視頻數據錯誤相關聯的第一包的第一序列編號,且所述信息包含與所述第二視 頻數據錯誤相關聯的第二包的第二序列編號,且確定所述第一視頻數據錯誤是否發 生于所述反向鏈路上包含對所述第一與第二序列編號進行比較。
7. 根據權利要求6所述的方法,其中所述第一包包含所述第一視頻數據錯誤。
8. 根據權利要求6所述的方法,其中所述第二包是經編碼的視頻數據幀的最后包,其 中所述第二視頻數據錯誤發生于所述經編碼幀內。
9. 根據權利要求6所述的方法,其中所述第二包包含所述第二視頻數據錯誤。
10. 根據權利要求4所述的方法,其中存儲與所述第二視頻數據錯誤相關的所述信息包 含向經編碼的視頻數據幀的最后包指派序列編號; 經由所述無線網絡傳輸所述經編碼幀;確定所述經編碼幀經由所述無線網絡的所述反向鏈路的傳輸是否導致所述第二 視頻數據錯誤;及如果所述經編碼幀經由所述無線網絡的所述反向鏈路的所述傳輸導致所述第二 視頻數據錯誤,則存儲所述序列編號。
11. 根據權利要求IO所述的方法,其中確定所述經編碼幀的傳輸是否導致所述第二視 頻數據錯誤包含檢查是否在無線電鏈路協議模塊中設定旗標。
12. 根據權利要求1所述的方法,其中如果所述視頻數據錯誤不是發生于所述反向鏈路 上則響應于所述視頻數據錯誤而應用錯誤控制包含基于所述無線網絡的可用帶寬 而選擇錯誤控制技術。
13. 根據權利要求l所述的方法,其進一步包含-對視頻數據幀進行編碼以產生經編碼幀; 用所述經編碼幀的至少一部分產生包;及經由所述無線網絡將所述包傳輸到所述視頻解碼器,其中所述視頻數據錯誤發生 于所述經編碼幀內。
14. 根據權利要求13所述的方法,其中在對后續視頻數據幀進行編碼之前,所述方法 包含確定經由所述無線網絡的所述反向鏈路傳輸所述包是否導致所述視頻數據錯誤。
15. 根據權利要求14所述的方法,其中確定經由所述無線網絡的所述反向鏈路傳輸所 述包是否導致所述視頻數據錯誤包含確定媒體接入控制(MAC)層是否從所述無線網絡接收到否定應答(NAK);及 確定所述所接收的NAK是否與所述包相關聯。
16. 根據權利要求15所述的方法,其中確定所述MAC層是否從所述無線網絡接收到 所述NAK包含檢查在無線電鏈路協議(RLP)模塊中是否設定旗標。
17. 根據權利要求1所述的方法,其中所述錯誤控制包含以下各項中的至少一者將視 頻數據幀編碼為幀內幀;增加經幀內譯碼的宏塊的百分比;或將在包含所述視頻數 據錯誤的第二視頻數據幀之前編碼的第一經編碼視頻數據幀用作參考以用于運動 估計。
18. —種系統,其包含收發器,其用以接收對視頻解碼器所檢測的視頻數據錯誤的指示;視頻編碼器;及錯誤過濾器,其用以確定所述視頻數據錯誤是否發生于所述視頻編碼器與網絡裝 置之間的無線網絡的反向鏈路上,其中所述視頻編碼器經配置以在所述視頻數據錯誤不是發生于所述反向鏈路上 的情況下響應于對所述視頻數據錯誤的所述指示而應用錯誤控制。
19. 根據權利要求18所述的系統,其中如果所述視頻數據錯誤發生于所述無線網絡的 所述反向鏈路上,則所述錯誤過濾器在從所述視頻解碼器接收對所述視頻數據錯誤 的所述指示之前存儲與所述視頻數據錯誤相關的信息。
20. 根據權利要求19所述的系統,其中所述視頻編碼器經配置以對視頻數據幀進行編 碼,且所述系統進一步包含用以用所述經編碼幀的至少一部分產生包的模塊,所述 收發器經配置以經由無線網絡將所述包傳輸到所述視頻解碼器,且所述信息包含所 述經編碼幀的最后包的序列編號。
21. 根據權利要求18所述的系統,其中所述視頻數據錯誤為第一視頻數據錯誤,且所 述錯誤過濾器經配置以存儲與發生于所述無線網絡的所述反向鏈路上的第二視頻 數據錯誤相關的信息且基于所述所存儲的信息而確定所述第一視頻數據錯誤是否 發生于所述反向鏈路上。
22. 根據權利要求18所述的系統,其中所述視頻編碼器經配置以對視頻數據幀進行編 碼,且所述系統進一步包含用以用所述經編碼幀的至少一部分產生包的模塊,所述 收發器經配置以經由無線網絡將所述包傳輸到所述視頻解碼器,且如果所述經編碼 視頻幀經由所述無線網絡的所述傳輸導致所述第二視頻數據錯誤,則所述信息包含 所述經編碼幀的最后包的序列編號。
23. 根據權利要求22所述的系統,所述系統進一步包含無線電鏈路協議(RLP)模塊 及媒體接入控制(MAC)層,其中所述RLP模塊經配置以確定所述MAC層是否 從所述網絡裝置接收到否定應答(NAK)且確定所述NAK是否與所述包相關聯, 以便確定在經由所述無線網絡傳輸所述包時是否發生了所述第二視頻數據錯誤。
24. 根據權利要求18所述的系統,其中所述包為第一包,且對所述視頻數據錯誤的所 述指示包含包括丟失的數據的第二包的序列編號。
25. 根據權利要求24所述的系統,其中所述視頻數據錯誤為第一視頻數據錯誤,且所 述序列編號為第一序列編號,所述錯誤過濾器包含第一模塊,其用以從所述收發器接收所述第一序列編號;及 第二模塊,其用以接收識別包含發生于所述反向鏈路上的第二視頻數據錯誤的最近經編碼的視頻數據幀的最后包的第二序列編號,其中所述錯誤過濾器經配置以對所述第一與第二序列編號進行比較,以確定所述第一視頻數據錯誤是否發生于所述反向鏈路上。
26. 根據權利要求25所述的系統,所述系統進一步包含用以向所述最后包指派所述第 二序列編號并將所述第二序列編號提供到所述第二模塊的實時傳送協議(RTP)層, 其中所述第二模塊通過檢查是否在無線電鏈路協議模塊中設定旗標來確定所述第二視頻數據錯誤是否發生。
27. 根據權利要求24所述的系統,其中所述視頻編碼器經配置以對視頻數據幀進行編 碼,且所述系統進一步包含用以用所述經編碼幀的至少一部分產生包的模塊,所述 收發器經配置以經由無線網絡將所述包傳輸到所述視頻解碼器,其中所述視頻數據 錯誤為第一視頻數據錯誤且所述序列編號為第一序列編號,且所述錯誤過濾器包 含第一模塊,其用以從所述收發器接收所述第一序列編號及第二模塊,其用以在所述包經由所述無線網絡的所述反向鏈路的傳輸導致第二視頻數據錯誤的情況下接收識別所述視頻數據幀的所述包的第二序列編號,其中所述錯誤過濾器經配置以對所述第一與第二序列編號進行比較,以確定所述 第一視頻數據錯誤是否發生于所述反向鏈路上。
28. 根據權利要求24所述的系統,其中所述視頻數據錯誤為第一視頻數據錯誤,所述 包為第一包,且所述序列編號為第一序列編號,所述錯誤過濾器包含-第一模塊,其用以從所述收發器接收所述第一序列編號;及 第二模塊,其用以接收識別包含發生于所述反向鏈路上的第二視頻數據錯誤的第二包的第二序列編號,其中所述錯誤過濾器經配置以對所述第一與第二序列編號進行比較,以確定所述第一視頻數據錯誤是否發生于所述反向鏈路上。
29. 根據權利要求18所述的系統,其進一步包含-第一模塊,其用以監視所述無線網絡的條件;及第二模塊,其用以基于所述無線網絡的所述條件而選擇所述視頻編碼器所應用的 錯誤控制技術。
30. 根據權利要求18所述的系統,其中所述錯誤控制包含以下各項中的至少一者將 視頻數據幀編碼為幀內幀;增加經幀內譯碼的宏塊的百分比;或將在包含所述視頻 數據錯誤的第二視頻數據幀之前編碼的第一視頻數據幀用作參考以用于運動估計。
31. —種計算機程序產品,其包含計算機可讀媒體,其包含用以致使計算機接收對視頻解碼器所檢測的視頻數據錯誤的指示的指令; 用以致使計算機確定所述視頻數據錯誤是否發生于視頻編碼器與網絡裝置之間的無線網絡的反向鏈路上的指令;及用以致使計算機在所述視頻數據錯誤不是發生于所述反向鏈路上的情況下響應于所述視頻數據錯誤而應用錯誤控制且在所述視頻數據錯誤發生于所述反向鏈路上的情況下不響應于所述視頻數據錯誤而應用錯誤控制的指令。
32. 根據權利要求31所述的計算機程序產品,所述計算機可讀媒體進一步包含用以致 使計算機監視所述無線網絡的條件且基于所述無線網絡的所述條件而選擇所述錯 誤控制的指令。
33. —種系統,其包含-用于接收對視頻解碼器所檢測的視頻數據錯誤的指示的裝置; 用于確定所述視頻數據錯誤是否發生于視頻編碼器與網絡裝置之間的無線網絡的反向鏈路上的裝置;及用于在所述視頻數據錯誤不是發生于所述反向鏈路上的情況下響應于所述視頻數據錯誤而應用錯誤控制且在所述視頻數據錯誤發生于所述反向鏈路上的情況下不響應于所述視頻數據錯誤而應用錯誤控制的裝置。
全文摘要
本發明揭示一種用于響應于視頻數據錯誤而實施錯誤控制的技術,所述技術包含從視頻解碼器接收對視頻數據錯誤的指示;確定所述視頻數據錯誤是否發生于視頻編碼器與網絡裝置之間的無線網絡的反向鏈路上;以及如果所述視頻數據錯誤不是發生于所述反向鏈路上,則響應于所述視頻數據錯誤而應用錯誤控制。舉例來說,對所述視頻數據錯誤的所述指示可包括包含丟失的數據的包的第一序列編號(SN),且確定所述視頻數據錯誤是否發生于所述反向鏈路上可包括將第一SN與同最近RL錯誤相關聯的包的第二SN進行比較。
文檔編號H04N7/64GK101589616SQ200880002755
公開日2009年11月25日 申請日期2008年1月22日 優先權日2007年1月22日
發明者尼古拉·康拉德·內波穆塞諾·梁, 李彥輯 申請人:高通股份有限公司