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

用以提供數(shù)字視頻內(nèi)容錯誤復(fù)原的方法

文檔序號:7862915閱讀:276來源:國知局
專利名稱:用以提供數(shù)字視頻內(nèi)容錯誤復(fù)原的方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)于一種數(shù)字視頻的系統(tǒng)和方法,尤指一種可應(yīng)用于錯誤復(fù)原和實時數(shù)字視頻傳輸?shù)臄?shù)字視頻的系統(tǒng)和方法。
背景技術(shù)
今日無線服務(wù)的需求(例如無線視頻傳輸)與日俱增。從簡單的單向傳呼機到全功能的手機與視頻傳輸,消費者與使用者持續(xù)地堅持最快速與最功能廣泛的科技。使用者在家庭、辦公室或工業(yè)應(yīng)用上的無線音頻與視頻的內(nèi)容的傳輸需求如同行動電話、智能型手機、個人數(shù)字助理(personal digital assistant, PDA)、筆記型計算機或其它可攜式裝置一樣與日俱增。例如,一個地方的活動(像是視頻錄像活動、家庭內(nèi)的嬰兒動態(tài)、商店內(nèi)消費者動態(tài)以及工廠內(nèi)生產(chǎn)活動)可被實時且不失真的傳送到還一個地方。還一個例子是新聞、運動競技以及娛樂節(jié)目可不需要通過糾結(jié)的傳輸線傳送出去。然而,在具有可接受的效率、成本及/或質(zhì)量下,傳送音頻與視頻的內(nèi)容并不是一件簡單的任務(wù)。不論是通過有線或是無線傳輸形式,在以封包形式傳送視頻或其它內(nèi)容中,對于實時音頻或視頻的傳輸?shù)囊粋€主要問題即是遺失封包。在音頻與視頻的傳輸過程中,封包可因各種不同原因而遺失,例如,封包可因網(wǎng)絡(luò)實體連結(jié),網(wǎng)絡(luò)節(jié)點的干擾、緩沖與處理能力,以及傳送通道的狀況等所造成的位錯誤而遺失。在無線傳輸環(huán)境,可因為地貌(例如山岳、建筑等)、天氣狀況、其它無線信號的干擾與重迭或是距離等,造成無線傳輸信號被干擾或影響,或是遺失封包。因此,使用者需要一個可改善傳送到一個或多個裝置(例如無線裝置)的內(nèi)容(例如實時音頻及/或視頻內(nèi)容)質(zhì)量的系統(tǒng)或是方法
發(fā)明內(nèi)容
本發(fā)明的一實施例提供一種用以提供數(shù)字視頻內(nèi)容錯誤復(fù)原的方法。該方法包括接收對應(yīng)于多個視頻幀的視頻數(shù)據(jù);利用編碼器編碼該視頻數(shù)據(jù)以產(chǎn)生代表視頻幀的多個封包;傳送該多個封包中的第一組封包至至少二個接收器;從該至少二個接收器接收關(guān)于該多個封包的個別封包的接收狀態(tài)的回授信息,其中該回授信息是沒有接收正確的封包的指標;根據(jù)從該至少二個接收器接收的回授信息,檢查關(guān)于該至少二個接收器的錯誤指標;如果該至少二個接收器間的該錯誤指標的變異是低于第一錯誤臨界值,則執(zhí)行第一錯誤更正政策,以及如果該至少二個接收器間的該錯誤指標的變異是高于該第一錯誤臨界值,則執(zhí)行第二錯誤更正政策,其中該第一和第二錯誤更正政策的至少一個錯誤更正政策包括利用不同于已用于編碼該多個封包的機制的編碼機制傳送或重傳至少一個封包。


圖1是為本發(fā)明的一實施例說明視頻傳輸系統(tǒng)結(jié)構(gòu)的示意圖。圖2是為本發(fā)明的還一實施例說明編碼、傳送和譯碼視頻幀的時序示意圖。
圖3是為說明具有嵌入式譯碼器和以區(qū)塊為基礎(chǔ)、混合式的視頻編譯碼器的功能方塊的示意圖。圖4是為本發(fā)明的一實施例說明在編碼器端的錯誤隱藏的示意圖。圖5和圖6是為說明數(shù)種不同的重傳機制的示意圖。圖7是為說明結(jié)合本發(fā)明的重傳機制以組成通道自適應(yīng)地重傳機制所繪的狀態(tài)示意圖。圖8是為說明遺失的宏區(qū)塊的空間內(nèi)插的示意圖。圖9是為說明對于時間錯誤隱藏的譯碼器的運動向量估計的示意圖。圖10是為說明結(jié)合空間和時間的錯誤隱藏的示意圖。圖11是為本發(fā)明的還一實施例說明用以編碼I幀步驟的流程圖。圖12A及圖12B是為本發(fā)明的還一實施例描繪編碼P幀步驟的流程圖。圖13是為本發(fā)明的還一實施例說明包括編碼器與多個譯碼器的視頻傳輸系統(tǒng)的示意圖。圖14是為本發(fā)明的還一實施例說明多接收器系統(tǒng)的錯誤更正政策的流程圖。其中,附圖標記說明如下102、1302攝像機104、1304編碼器106、1306傳輸器108、1308a_1308n無線通道110、1310a_1310n接收器112、1312a_1312n譯碼器113嵌入式譯碼器114、1314a_1314n顯示器120、1320a_1320n回授信息302色彩轉(zhuǎn)換/取樣模塊304離散余弦轉(zhuǎn)換模塊306量化模塊308可變長度的編碼模塊310編碼控制312移動估計模塊320逆向的量化裝置322逆向的離散余弦轉(zhuǎn)換器324移動補償預(yù)測模塊1308無線網(wǎng)絡(luò)1400流程圖1002-1016、1102-1128、1202-1252、 步驟1402-143具體實施方式
請參考圖1。圖1是為本發(fā)明的一實施例說明視頻傳輸系統(tǒng)結(jié)構(gòu)的示意圖。攝像機102可以特定幀速率(例如每秒25個視頻幀)獲取視頻幀以及傳送對應(yīng)于被獲取到的視頻幀的視頻數(shù)據(jù)至編碼器104。然后,編碼器104可對對應(yīng)于被獲取到的視頻幀的視頻數(shù)據(jù)編碼。在本發(fā)明的還一實施例中,攝像機102并不包括于視頻傳輸系統(tǒng),因此編碼器104是由一個或多個來源接收視頻數(shù)據(jù)或是視頻幀。編碼器104可以是以區(qū)塊為基礎(chǔ)、混合式的視頻編碼架構(gòu)(例如MPEG-X,H. 26X)。例如,編碼器104可利用移動補償預(yù)測(motion compensated prediction, MCP)以及轉(zhuǎn)換編碼的(transform coding)方法(例如離散余弦轉(zhuǎn)換,discretecosine transform, DCT)編碼(或稱壓縮)視頻幀。編碼后的視頻幀可利用傳輸器106通過媒介(例如無線信道108)傳輸。另外,視頻傳輸系統(tǒng)可能有多個接收器在接收器這端,但在圖1中僅說明接收器110?!┙邮掌?10接收到視頻封包,即產(chǎn)生確認(acknowledgement),例如回授信息120),以及通過無線回授通道傳送確認至傳輸器106。在圖1的視頻傳輸系統(tǒng)中,每個封包都可有形式和格式不同的確認。在本發(fā)明的還一實施例中,回授信息120中的回授信息可以是有關(guān)于一個或多個傳送或接收的封包的接收狀態(tài),以及亦可是沒有正確接收的封包的指標。例如回授信息120可通知傳輸器106或編碼器104是否被傳輸?shù)囊曨l封包已經(jīng)成功地被接收器110接收,或者是在無線通道108中被損毀。如圖1所示,視頻封包可被譯碼器112解碼和重建(例如因為視頻數(shù)據(jù)經(jīng)壓縮、解壓縮、編碼或譯碼后,一些視頻數(shù)據(jù)損毀)后,送至顯示器114顯示。雖然圖1中譯碼器104以及傳輸器106是為兩個裝置,但它們也可以被整合為具有與二者相同功能的單一組件。同樣地,接收器110以及譯碼器112也可以被整合為具有與二者相同功能單一組件。在本發(fā)明的還一實施例中,傳送 端(例如傳輸器106、編碼器104、或處理器)可根據(jù)來自一個或多個接收器的回授信息,檢查有關(guān)于至少二個接收器的錯誤指標。因此,傳送端(例如傳輸器106、編碼器104、或處理器)可決定如何處理被遺失的封包,以及如何編碼下一個獲取到的視頻幀。例如 ,可根據(jù)多個接收器的錯誤指標實現(xiàn)不同的錯誤更正政策,以及已實現(xiàn)的錯誤更正政策可包括使用編碼機制傳送或是重傳至少一個封包,其中編碼機制可不同于之前用以編碼已傳送的封包的編碼機制。在本發(fā)明的還一實施例中,為了避免移動補償預(yù)測中的不匹配,視頻編碼器和譯碼器112須以同樣的方式對遺失或錯誤的封包或稱單片(slices)進行錯誤隱藏,以及視頻幀的隱藏版本可用以移動補償預(yù)測。本發(fā)明的系統(tǒng)及方法可基于無線信道質(zhì)量、無線信道傳輸情況或是譯碼器112以及接收端處理已傳送封包的能力,通過來自接收器110的回授信息調(diào)整編碼器104的編碼機制,以維持編碼器104及譯碼器112之間的同步(或是匹配)。在本發(fā)明的一實施例中,無線通道可以是4點對點(point-to-point)的無線通道,或者具有四接收裝置與傳送裝置的用戶/服務(wù)器(client/server)的無線通道。不同的無線傳輸機制包括無線保真(Wireless Fidelity, WiFi)、藍芽(Bluetooth)或超寬帶(ultra wide band,UWB)等,都可為本發(fā)明的無線信道的傳輸媒介。另外非標準的無線網(wǎng)絡(luò)或有線的點對點的傳輸架構(gòu)亦可應(yīng)用于本發(fā)明。在本發(fā)明的不同實施例中,接收器必須能夠接收已傳輸?shù)姆獍?,并且回傳關(guān)于所收到封包的確認(acknowledgements, ACKs)或負向確認 NACK(negative acknowledgements, NACKs)的回傳信息。在本發(fā)明的不同實施例中,一個視頻幀可被分割成多個宏區(qū)塊(macroblocks, MBs),而每個宏區(qū)塊如何編碼(內(nèi)部模式(intra mode)、相互模式(intermode)、或者忽略模式(skip mode)),則由編碼控制來決定。幾個宏區(qū)塊組成一個單片,一個單片具有固定的大小或可變的大小,且同一視頻幀的每一個單片均可被獨立地譯碼。因此,在被壓縮的視頻數(shù)據(jù)流中,任何錯誤的位不會對整個重建后的視頻圖像質(zhì)量,造成很大的影響。傳輸器106將被壓縮后的視頻數(shù)據(jù)流放入固定大小,或可變大小的視頻封包中(例如一個單片可被放入封包),并通過無線通道108傳送至接收器110。接收器110可以是任何能接收被壓縮的視頻數(shù)據(jù)流的裝置(例如計算機、電話、個人數(shù)字助理或其它裝置等)。在接收器110中的(無線)調(diào)制解調(diào)器可用以回傳回授信息120。本發(fā)明的一個目的是為實時或近乎實時顯示上述被譯碼的數(shù)據(jù),如同熟知本領(lǐng)域者可儲存上述被譯碼的數(shù)據(jù)于緩沖器(buffer)、其它揮發(fā)性的內(nèi)存或儲存裝置中一小段時間或一段長時間,等待接下來的播放。請參照圖2,圖2是為本發(fā)明的一實施例說明編碼、傳送和譯碼視頻幀的時序示意圖。在本發(fā)明的一實施例中,第一獲取幀202a可被獨立編碼為I幀,而接下來的其它幀根據(jù)先前的幀,被編碼為P幀。例如,壓縮的視頻幀可被放入數(shù)個固定大小或可變大小的視頻封包中,且數(shù)個視頻封包可通過無線通道108傳送至接收器110。因為編碼I幀的壓縮效率比編碼P幀的壓縮效率低很多,所以在本發(fā)明的一些實施例中,為了保持幀質(zhì)量一定,I幀所占的位需求須為P幀的兩倍。亦即意味著也就是在通道中傳輸I幀的時間是P幀的兩倍。為了達到實時傳輸?shù)哪康?,I幀之后的獲取視頻幀(例如,第二獲取幀)可被跳過,而第二獲取幀的傳輸時間是被I幀所使用。然后,下一個獲取幀將利用I幀為參考幀來進行編碼,且在I幀之后立即被送出,例如第三獲取幀204a。在I幀的下一個幀被送出之后,接
下來的圖像幀均以適當?shù)捻樞?,例?06a、208a等被傳送出去。這些幀在接收端--相對`應(yīng)地被解碼為202b、204b (對應(yīng)于第三獲取幀204a) ,206b等。另外,本發(fā)明的實施例可提供錯誤復(fù)原及/或錯誤回復(fù)。例如,具有單片結(jié)構(gòu)、以區(qū)塊為基礎(chǔ)、混合式的視頻編譯碼器(CODEC)可被利用以提供錯誤復(fù)原及/或錯誤回復(fù)。在本發(fā)明的一實施例中,視頻編譯碼器是基于眾所周知的以區(qū)塊(blocks)為基礎(chǔ)、混合式的視頻編譯碼器的結(jié)構(gòu)(MPEG-X、H. 26X),其中以區(qū)塊(blocks)為基礎(chǔ)、混合式的視頻編譯碼器是利用移動補償預(yù)測和離散余弦轉(zhuǎn)換的方式編碼。請參照圖3,圖3是為本發(fā)明的一實施例說明具有嵌入式譯碼器和以區(qū)塊為基礎(chǔ)、混合式的視頻編譯碼器的功能方塊示意圖。如圖3所示,編碼器104包括嵌入式譯碼器113 (功能與譯碼器112相同)、色彩轉(zhuǎn)換/取樣模塊302、離散余弦轉(zhuǎn)換模塊304、量化模塊306和可變長度的編碼模塊308。離散余弦轉(zhuǎn)換模塊304是耦接于量化模塊306 ;量化模塊306是用以產(chǎn)生量化系數(shù),并傳送量化系數(shù)至可變長度的編碼模塊308。如圖3所示,編碼器104還包括編碼控制310,用以和量化模塊306溝通。嵌入式譯碼器113包括逆向的量化裝置320、逆向的離散余弦轉(zhuǎn)換器322和移動補償預(yù)測模塊324。受到編碼控制310控制的內(nèi)部模式/相互模式的開關(guān)326可被用來選擇獨立的視頻幀編碼(內(nèi)部模式),或選擇使用移動補償預(yù)測編碼(相互模式)。移動估計模塊312提供移動補償預(yù)測模塊324的輸入,也與編碼控制310進行溝通。
在本發(fā)明的一實施例中,從攝像機102獲取到的每一個視頻幀可被分割成多個固定大小的宏區(qū)塊(MBs),例如16*16像素,而每一個宏區(qū)塊不是可被獨立編碼(內(nèi)部模式),就是利用移動估計從被編碼的前一參考幀進行預(yù)測(相互模式),或是忽略(忽略模式)。如前述,第一獲取視頻幀202a(I幀)可利用內(nèi)部模式編碼,而接下來幀(P幀)中的宏區(qū)塊則視整體的情況,從內(nèi)部模式,相互模式,或者忽略模式中,選擇效率較高的編碼模式進行編碼。每個宏區(qū)塊的編碼模式是由編碼控制310來決定,有關(guān)編碼控制310的進一步說明,將留到后面再討論。幾個宏區(qū)塊組成一個單片,幾個單片又組成視頻幀。在本發(fā)明的一實施例中,視頻幀所包括的每一個單片,都可單獨地被解碼。在本發(fā)明的實施例中,每個單片具有相同的大小,且一個單片可被封裝入視頻封包。將單片的結(jié)構(gòu)放入錯誤復(fù)原視頻編碼的理由之一,是因為要使視頻幀的不同部分彼此不相依,如此一來,當同一幀的部份(一個單片)被遺失時,就不會影響到同一幀的其它部分(其它單片)。如果不使用上述單片結(jié)構(gòu),將整個視頻幀放入視頻封包內(nèi),則即使無線通道108中只產(chǎn)生單一位的錯誤,都將影響整個視頻幀的質(zhì)量。因此,單片的大小越小,則整個系統(tǒng)的傳輸錯誤越容易復(fù)原。但是將視頻幀編碼為單片會增加系統(tǒng)的工作量,且限制單片間的相依會導(dǎo)致壓縮的效率被降低。再者,單片的結(jié)構(gòu)越小,壓縮的效率越差。因此,單片的大小需經(jīng)過適當?shù)剡x擇,以適應(yīng)無線通道的特性,使整體效能表現(xiàn)最佳。例如,一個單片最佳的大小可能是無線信道質(zhì)量的函數(shù),也可以是觀察到的封包錯誤率(packet error rate)的函數(shù)。在本發(fā)明的一實施例中,是利用使用固定大小的單片或封包。在本發(fā)明的實施例中,可基于錯誤隱藏的參考幀來決定模式。如所述的例子,P幀中的宏區(qū)塊可依照內(nèi)部模式、相互模式或忽略模式中效率較高的模式進行編碼。如何選擇效率較高的編碼模式,則由編碼控制310進行啟發(fā)式的模式?jīng)Q策過程來決定,詳細操作步驟如下在本發(fā)明的一實施例中,為了決定使用內(nèi)部模式、相互模式或忽略模式中哪一種模式對給定的宏區(qū)塊進行編碼,首先編碼控制310檢查要被編碼的宏區(qū)塊和前一幀同一位置的宏區(qū)塊的絕對誤差的和(sum of absolute differences, SAD)。如果絕對誤差的和低于臨界值時,要被編碼的宏區(qū)塊將會被忽略,且譯碼器可從前一幀復(fù)制宏區(qū)塊。否則,執(zhí)行移動估計,并計算要被編碼的宏區(qū)塊和前一幀中所發(fā)現(xiàn)與要被編碼的宏區(qū)塊最匹配的宏區(qū)塊之間的絕對誤差的和。在本發(fā)明的一實施例中,如果絕對誤差的和(加上特定偏移量)小于宏區(qū)塊的平均數(shù)標準差(deviation of mean),則宏區(qū)塊將被編碼為相互模式。如果絕對誤差的和大于平均數(shù)標準差,則該宏區(qū)塊將被編碼為內(nèi)部模式。模式?jīng)Q定的信號會夾在視頻數(shù)據(jù)流當中,很清楚地被傳送到編碼器104以及傳輸器106。另外,模式?jīng)Q定的信號會清楚地夾在視頻數(shù)據(jù)流中,傳送到編碼器104以及傳輸器106。在譯碼器112中只有參考幀的隱藏版本,而編碼器104可基于隱藏錯誤的參考幀執(zhí)行決定編碼模式的移動估計,以防止在移動補償預(yù)測過程中產(chǎn)生不匹配。另外,錯誤隱藏過程被稱為錯誤回傳移動估計(Error Resilient MotionEstimation, ERME)。請參照圖4,圖4是為本發(fā)明的一實施例說明在編碼器端的錯誤隱藏的示意圖,其中編碼器端的錯誤隱藏被稱為多巾貞移動補償預(yù)測(Multiframe Motion Compensated Prediction, MFMCP)。如圖4所示,當幀i_l(參考幀)的視頻封包被遺失,被 遺失的單片(視頻封包)可以通過從較早幀(例如幀i_2)借一個單片來隱藏。在本發(fā)明的一實施例中,被遺失的單片可以通過從較早幀(例如幀1-n)借一個單片來隱藏。其中η是用以獲得參考幀的臨界值。因此,在本發(fā)明的還一實施例中,可以通過從較早幀(例如幀i_2至幀1-n)中借良好匹配的單片來隱藏幀i_l的遺失單片。然后,幀i就基于隱藏錯誤的幀i_l,利用正常的移動補償預(yù)測(MCP)進行編碼。在本發(fā)明的一實施例中,如果錯誤隱藏成功,幀i中大部分的宏區(qū)塊都可在幀1-Ι中發(fā)現(xiàn)適當?shù)膮⒖己陞^(qū)塊。在本發(fā)明的還一實施例中,如果錯誤隱藏不成功,則移動補償預(yù)測將不能良好地執(zhí)行,且在受影響的區(qū)域中大部分的宏區(qū)塊,都會被編碼為內(nèi)部模式。另外,本發(fā)明的一實施例可提供宏區(qū)塊層級的速率控制。在傳輸通道中,每秒所能傳輸?shù)奈粩?shù)目是有一定的限制,且在本發(fā)明的實施例中,傳輸位速率通常是固定的。但是以區(qū)塊為基礎(chǔ)、混合式的視頻編碼器對每一個編碼后的幀所產(chǎn)生的位數(shù)卻是不一定的。也就是說,移動補償預(yù)測在產(chǎn)生位數(shù)較少的幀中運作較好。因此,在本發(fā)明的一實施例中,編碼器104可執(zhí)行速率控制,以產(chǎn)生具有略低于信道的位速率限制的固定位速率的編碼視頻流。速率控制的準確性對系統(tǒng)效能有很重要的影響。速率控制越準確,信道的位速率就越能有效地被利用,以及重建后的視頻質(zhì)量會越佳。因此,在本發(fā)明的一實施例中,系統(tǒng)應(yīng)執(zhí)行宏區(qū)塊層級的速率控制,以獲得更佳的效能。宏區(qū)塊層級的速率控制的一實施例執(zhí)行如下當編碼器104 —個一個編碼宏區(qū)塊時,編碼器104可監(jiān)控目前幀所使用的位數(shù)。如果位數(shù)是高于臨界值,則編碼器104會增加量化參數(shù),以粗略地量化下一宏區(qū)塊的編碼,使得目前幀整體的位速率降低。如果位數(shù)太少,則編碼器104會減少量化參數(shù),以細致地量化下一宏區(qū)塊的編碼,使得目前幀整體的位速率增加。但在實際執(zhí)行時,速率控制幾乎無法完全匹配預(yù)定的目標位值。因此,在本發(fā)明的一實施例中,可選擇略低于數(shù)字傳輸系統(tǒng)所提供的位速率作為目標位值。 另外,本發(fā)明的一實施例可提供通道自適應(yīng)地重傳。在視頻封包經(jīng)由無線通道108傳輸至接收器110時,常見視頻封包被毀壞或遺失。和本發(fā)明的不同實施例一樣,接收器110可通過回授通道傳送每 個視頻封包的實時回授信息120給傳輸器106,通知傳輸器106是否由傳輸器106傳出的封包已被成功地接收或被毀壞。例如,一個正確認代表由傳輸器106傳出的封包被成功地接收/解碼,一個負確認代表由傳輸器106傳出的封包沒有被成功地接收/譯碼,或者沒有任何確認回傳時,編碼器104將視由傳輸器106傳出的封包為沒有被接收到,以及視由傳輸器106傳出的封包為被回傳負確認的封包。如此,基于從接收器110所傳來的回授信息120,傳輸器106可知道每個視頻封包的狀態(tài)并考慮是否重傳被遺失的封包。特別的是,在本發(fā)明的一實施例中,通道自適應(yīng)地重傳機制可用以決定傳輸器106是否重傳遺失的封包,以及如何分配整體的傳輸預(yù)算位為來源編碼的預(yù)算位,以及重傳遺失封包的預(yù)算位。重傳機制的一實施例執(zhí)行如下視頻幀的所有封包只在第一回合傳輸時被傳送一次。如果整個傳輸位速率高于來源編碼的位速率,傳輸器106可在第一回合就重傳在第一回合傳輸時就遺失的封包。如果在第二回合之后,仍然不是所有的封包都被成功地接收到,且還有多余的位預(yù)算可用來重傳,則遺失的封包可在進行第三回合時重傳。在本發(fā)明的一實施例中,重傳過程在一個幀的所有傳輸位速率都用完時結(jié)束,或是所有的封包都成功地被接收器110接收到后結(jié)束。在本發(fā)明的一實施例中,通道自適應(yīng)地重傳過程包括了四種不同的重傳機制,四種不同的重傳機制將在3.1到3. 4節(jié)中,參考圖5和圖6,詳細地描述。另外,在圖7的狀態(tài)圖中,描述如何將四種不同的重傳機制結(jié)合,以形成通道自適應(yīng)地重傳的例子。3. 5節(jié)將提供本發(fā)明的一實施例。3.1重傳機制O本發(fā)明的一實施例是提供重傳機制0,重傳機制O是為在編碼新的視頻幀之前,本發(fā)明的系統(tǒng)、方法或過程首先在傳輸前一幀時,先檢查無線通道108中的封包錯誤率(packet error rate, PER),并在傳輸目前新巾貞時,利用封包錯誤率來估計無線通道108的狀況。如果前一幀的封包錯誤率低于特定臨界值(例如10%,特定臨界值是通過從接收器110傳來的回授所建立的),在傳輸新幀時,系統(tǒng)將視無線信道108的狀況為”良好”。因此并不考慮重傳目前幀遺失的封包,也就是同步的錯誤隱藏機制(后面會描述),在編碼器和譯碼器端都提供了令人滿意的重建的幀質(zhì)量。如此,如圖5所示的重傳機制0,全部的傳輸位速率都被用于來源編碼,且每個視頻封包都只被傳輸一次。3. 2重傳機制I本發(fā)明的還一實施例是提供重傳機制I。在重傳機制I中,系統(tǒng)在傳輸目前幀時,系統(tǒng)亦利用前一幀的封包錯 誤率估計無線通道108的狀況。舉例來說,如果前一幀的封包錯誤率,介于109Γ30%之間,則在傳輸目前幀之時,系統(tǒng)將視無線信道108的狀況為”中等”。在這種情形下,僅使用同步的錯誤隱藏,將無法提供令人滿意的重建的幀質(zhì)量,因此便需考慮重傳目前幀遺失的封包。在本發(fā)明的一實施例中,為了節(jié)省重傳的位速率,通過較粗略地量化值來編碼目前的幀,以減少來源編碼的位速率。如此,舉例來說,如圖5所示的重傳機制1,在時隙i中,幀i的某部份就在同一時隙i中進行重傳。遺失封包的重傳會降低目前中貞的剩余封包錯誤率(residual packet error rate, RPER)(例如重傳的封包錯誤率),并增加重建的幀質(zhì)量。另外,重傳機制I的重傳類型被稱做“空間重傳”。但在沒有錯誤的傳輸情形下,如同熟知本領(lǐng)域者所知悉,本重傳機制I的重建的幀質(zhì)量反而較整體的傳輸位速率都被用于來源編碼的重傳機制O差。在本發(fā)明的一實施例中,重傳機制I中保留給來源編碼的位預(yù)算是根據(jù)前一幀的封包錯誤率來計算K =---(I)
■丨 + Pf-R1.., + (Pl-1t.,Y + …r如式(I)所亍R是為編碼幀i的位預(yù)算,是為傳輸幀i的全部傳輸位速率,PERp1是為傳輸幀i_l時的無線通道108上的封包錯誤率,η為預(yù)期重傳幀i的回合數(shù),但η不能使得剩余封包錯誤率超過某臨界值(例如5%),其中η的計算方式如下(PERh) ω=0· 05 (臨界值)------公式(2)舉例來說,假設(shè)在時隙i中預(yù)期的封包錯誤率是10%(PER=0.1)。再假設(shè)時隙i的整體傳輸位速率是lOOkbit。如果僅重傳一次(n=l),亦即第一回合傳輸?shù)姆獍杏蠭O %的封包必須重傳。因此,戽和祀的關(guān)系是為圮+ PM * ^ = ^。如此,來源編碼的速率變成圮=90.91kbit,且保留給重傳的傳輸速率變成c4-1 ;) = 9.09 kbit。因此,預(yù)期的剩余封包錯誤率為(PER)2=1%。如果預(yù)計重傳兩次(n=2),貝和祀的關(guān)系變成Ris +PER*Rls +(PhR)2 *R'S =Ric。則來源編碼的速率變成圮=90.09kbit,預(yù)期的剩余封包錯誤率為(PER)3=0. 1%,其余依此類推。3. 3重傳機制2本發(fā)明的還一實施例是提供重傳機制2。在重傳機制2中,如果無線通道108被判斷在”壞”的狀況,且前一幀的封包錯誤率很高(例如大于30%),則重傳機制I中保留給來源編碼的位預(yù)算就太低了,以至于無法提供令人滿意的重建的幀質(zhì)量。因此,例如在圖5的重傳機制2中,目前幀的下一個幀就被跳過,整個用來傳輸目前幀的傳輸位速率被加倍,其中被加倍的傳輸位速率被分成來源編碼的位預(yù)算,以及重傳遺失封包的位預(yù)算。因此,可利用公式(I)及(2)計算來源編碼的位預(yù)算,其中^^為加倍后的整體傳輸位速率。另外,重傳機制2的重傳類型被稱做“時間重傳(temporal retransmission)”。在本發(fā)明的一實施例中,依此結(jié)果所計算出的來源編碼的位預(yù)算必須大于特定最小值,以維持因為來源編碼受限所產(chǎn)生的失真于可接受范圍。另外,相較于重傳機制0,根據(jù)實際的封包錯誤率,在無線通道108沒有錯誤的情形下,重傳機制2的幀i的重建的幀質(zhì)量可能較佳、較差或相同。此夕卜,因為本重傳機制2中的某些幀會被跳過,因此有效的幀速率會降低??偠灾谥貍鳈C制O中,不考慮遺失封包的重傳,所以全部的位速率都用在來源編碼上。在重傳機制I中,全部的位速率被分為來源編碼的位預(yù)算以及重傳的位預(yù)算(采用粗略的量化編碼方式)。另外,重傳機制I的重傳類型被稱做“空間重傳”。在重傳機制2中,目前幀的下一個幀(幀i+Ι)被跳過,全部的傳輸位速率加倍。而被加倍的傳輸位速率被分成來源編碼的位預(yù)算,以及重傳的位預(yù)算。另外,重傳機制2的重傳類型被稱做“時間重傳”。3. 3重傳機制3 在本發(fā)明的一實施例中,如果在全部的傳輸位預(yù)算都用完后,目前幀的剩余封包錯誤率(RPER)仍然高于臨界值,則系統(tǒng)會跳過接下來的幀,且利用可使用的位速率來進行重傳,直到剩余封包錯誤率是低于特定臨界值(例如15%)。重傳機制3是以目前幀的剩余封包錯誤率為基礎(chǔ),可分別與重傳機制0、1和2相結(jié)合(如圖6所示)。例如,在第I例中,在編碼幀i之前,在傳輸前一幀時,無線通道的狀況被判斷為”中等”,因此幀i決定使用重傳機制I。但是實際上在傳輸幀i時,無線通道的狀況比預(yù)期的更糟,即使在時隙i用完之前,幀i的剩余封包錯誤率仍高于15%。因此決定使用重傳機制3,其中幀i+Ι被略過以及時隙i+Ι被用來重傳幀i遺失的封包。經(jīng)過了時隙i+Ι的重傳之后,幀i的剩余封包錯誤率低于15%,所以后續(xù)不再有幀需要為了幀i的重傳被略過。然后,在編碼幀i+2之前,根據(jù)幀i的封包錯誤率,可選擇適當?shù)闹貍鳈C制給幀i+2。3. 5通道自適應(yīng)地重傳圖7中所繪的狀態(tài)示意圖,是根據(jù)本發(fā)明的實施例顯示前述的四種重傳機制是如何地被結(jié)合,以組成通道自適應(yīng)地重傳機制。在本發(fā)明的一實施例中,在編碼新視頻幀之前,可根據(jù)目前通道狀況(例如在傳輸前一幀時,估計封包錯誤率),決定新視頻幀的重傳機制為0、1、或2。在新視頻幀用以重傳的全部可用的傳輸位速率用完之后,檢查剩余封包錯誤率以決定是否需要更進一步的重傳遺失封包。如果需要重傳,接下來的幀會被略過,所有可用的傳輸位速率將被用于重傳(重傳機制3),直到剩余封包錯誤率低于臨界值,例如低于15%。如果不需要進一步的重傳,則下一個幀將根據(jù)被選擇的重傳機制編碼及傳送。
使用重傳機制3,可增加一個幀的剩余封包錯誤率低于特定臨界值的可能性,如此,將使得被顯示幀具有令人滿意的質(zhì)量。當無線通道108突然變成非常糟的時候,重傳機制3可以大大地改善系統(tǒng)的效能。舉例來說,當接收器110偏離收信的范圍時,在這種情形下,使用者將會擁有靜止但質(zhì)量令人滿意的幀,直到通道恢復(fù)(例如接收器110回到收信的范圍內(nèi))。在本發(fā)明的一實施例中,新的視頻幀可被編碼(大概是使用內(nèi)部模式),并傳送到接收器110??赏ㄟ^編碼器的模式?jīng)Q定算法來決定如何編碼。例如,如果最近一次播放的幀距離目前的幀有相當?shù)臅r間,模式?jīng)Q定算法會為大部分的宏區(qū)塊選取內(nèi)部模式。如果只有少部分的幀遺失,一般而言選擇相互模式。另外,本發(fā)明的實時重傳的機制并不會增加端點對端點的傳輸延遲,因此本發(fā)明的視頻傳輸系統(tǒng)是為實時系統(tǒng)。例如,如果利用重傳機制1,將目前的幀粗略地量化以重傳遺失的封包,則只有幀的質(zhì)量降低。如果跳過一個幀以執(zhí)行重傳機制2或3,則只有幀傳輸速率會減少。3. 6通道自適應(yīng)地重傳一量化的控制在本發(fā)明的一實施例中,本系統(tǒng)是利用信道自適應(yīng)地重傳,以處理視頻封包在無線通道108中傳輸時所遺失的封包。在本發(fā)明的一實施例中,視頻幀的所有封包只在傳輸?shù)牡谝换睾媳粋鬏斠淮?。如果可用的傳輸位速率是高于編碼的位速率,則可以在第一回合進行重傳遺失封包。在本發(fā)明的一實施例中,如果在第二回合之后,并非所有的封包都被成功地接收,但仍有可用的位速率可用來重傳,仍然遺失的封包就可在第三回合再進行重傳。在本發(fā)明的還一實施例中,當所有可用的傳輸位速率都用完時,結(jié)束一個幀的重傳過程,或是在所有的封包都成功地被接收器110接收到后結(jié)束。在本發(fā)明的一實施例中,為了節(jié)省重傳的位速率,系統(tǒng)可以使用粗略地量化值編碼目前的幀,或是跳過下一個幀。至于是使用粗略地量化值編碼目前的幀,或是跳過下一個幀,則由通道的狀況決定。在編碼新幀之前,系統(tǒng)可得到接收器110實時回傳的關(guān)于傳輸前一幀時的通道內(nèi)的封包錯誤率的回授信息。
`
如同熟知本領(lǐng)域者所知悉,任何其它能夠傳送到傳送端,并估計目前通道狀況的方法,都適用于本發(fā)明。如前述,利用前一時隙所觀察到的遺失速率作為目前時隙的估計遺失速率,并不是唯一的選擇??偠灾瑫r隙i的通道狀況評估越正確,系統(tǒng)的效能越佳。通過接收器110以及譯碼器112所回傳的回授信息可決定封包錯誤率以及剩余封包錯誤率。在本發(fā)明的一實施例中,在編碼目前幀的過程中,在參考單片以進行移動補償預(yù)測之前,回授信息要實時進入收到的封包/單片的正認知或負認知。換言之,在本發(fā)明的一實施例中,關(guān)于特定單片的回授信息需要在前一幀所相對應(yīng)的區(qū)域被用來當成移動補償預(yù)測的參考之前被收到。在本發(fā)明中,任何形式的回授信息在被用來當成目前幀的宏區(qū)塊的移動補償預(yù)測的參考之前,隱藏前一幀相對應(yīng)的部份,就可以被視為”實時回授信息”。在本發(fā)明的一實施例中,為了實現(xiàn)實時回授信息,每個封包必須被單獨地認知,或數(shù)個回授信息被結(jié)合成一個回傳封包。最后,值得注意的是,因為前一幀較低處的單片的實時回授信息只要被當成目前幀較低處的宏區(qū)塊的參考,所以前一幀較低處的單片的實時回授信息,可能在目前幀已經(jīng)開始編碼之后才到達。3. 7編碼器和譯碼器端的同步錯誤隱藏
如果重傳后仍有一些視頻封包遺失,譯碼器可隱藏遺失的單片(相對應(yīng)于遺失的封包)。另外,在本發(fā)明的一實施例中,在編碼器亦進行相同的錯誤隱藏。圖4是為本發(fā)明的還一實施例說明錯誤隱藏的實施方式。在圖4中,隱藏的參考幀可被儲存在參考幀緩沖器,以及在必須在編碼器和譯碼器使用,以避免移動補償預(yù)測中產(chǎn)生不匹配。空間錯誤隱藏S. Aign和K. Fazel在”層級式的MPEG-2視頻編譯碼的時間和空間的錯誤隱藏技術(shù)”(“Temporal and spatial 錯誤隱藏 techniques for hierarchicalMPEG-2video codec”)一文中(1995年發(fā)表于”電機電子工程協(xié)會通信國際會議”期刊上(IEEEinternational conference on communication),第 3 冊,第 1778-1783 頁)所述的從鄰近被正確地接收到的宏區(qū)塊或被隱藏的宏區(qū)塊的像素中,選取像素插入遺失的宏區(qū)塊中的技術(shù),可適用于本發(fā)明。請參考圖8,對一個N*N大小的宏區(qū)塊而言,插入的公式如式(3)= -j++ 1)+1- —j) +—p(N +1, j)| (3)如果部分鄰近的宏區(qū)塊也遺失,則只從那些可得的鄰近的宏區(qū)塊中計算插入的像素。譯碼器的運動向量估計(decodermotion vector estimation, DMVE)譯碼器的運動向量估計,如J. Zhang, J. F. Arnold和M. R. Frater在”以MPEG-2編碼的視頻巾貞的遺失封包隱藏技術(shù)”(“A cell-loss concealmenttechnique for MPEG-2 codedvideo”)一文中,2000年6月發(fā)表于”電機電子工程協(xié)會傳輸線路系統(tǒng)的視頻技術(shù)”期刊上(IEEE Trans. Circuits Syst. VideoTechno1.),第 10冊,第 4 號,第 659 665 頁,所提供的時間的錯誤隱藏機制,是為可用前一幀在移動補償?shù)奈恢蒙系暮陞^(qū)塊取代遺失的宏區(qū)塊(如圖9所示)。在譯碼器的運動向量估計中,可通過檢查少量的候補運動向量(motionvector)來決定前一巾貞中相對應(yīng)的 位置,運動向量包括——前一幀中同一宏區(qū)塊的運動向量;可獲得的鄰近宏區(qū)塊的運動向量;----零運動向量;除了這組候補的運動向量之外,亦可選擇在該將被隱藏的宏區(qū)塊周圍8個像素寬的圖像區(qū)域中,導(dǎo)致最小錯誤的運動向量來隱藏。結(jié)合空間和時間的錯誤隱藏本發(fā)明可利用結(jié)合空間和時間的錯誤隱藏,亦即結(jié)合譯碼器的運動向量估計(時間錯誤隱藏)與空間插入(空間錯誤隱藏)。請參照圖10,圖10是為說明結(jié)合空間和時間的錯誤隱藏的示意圖。譯碼器的運動向量估計中的錯誤測量可被用來評估譯碼器的運動向量估計的效能,以及用來做為結(jié)合空間和時間的錯誤隱藏的權(quán)重因子(weighting factor)。尤其是,在步驟1002中,從遺失的宏區(qū)塊開始。在步驟1004中,執(zhí)行利用譯碼器的運動向量估計的時間錯誤隱藏。本實施例可采用使用絕對誤差的和的錯誤匹配以及像素層次的邊界錯誤(pixel-wise boundary error, PBE)。在步驟1006中,判斷譯碼器的運動向量估計是否運作良好(例如,如果絕對誤差的和是小于或等于預(yù)定臨界值)。如果譯碼器的運動向量估計運作良好,則跳至步驟1014。在步驟1014中,錯誤隱藏可完全使用時間錯誤隱藏而不使用空間錯誤隱藏。
在步驟1006中,如果譯碼器的運動向量估計并非運作良好,則進行步驟1008。在步驟1008中,判斷是否有足夠的資信可以進行空間錯誤隱藏。在步驟1008中的判斷可基于遺失的宏區(qū)塊的左和右相鄰的宏區(qū)塊,或上和下相鄰的宏區(qū)塊是否存在。在步驟1008中,如果沒有足夠的資信可以進行空間錯誤隱藏,則進行步驟1014。在步驟1008中,如果有足夠的資信可以進行空間錯誤隱藏,則進行步驟1010。在步驟1010中,執(zhí)行空間錯誤隱藏,例如使用遺失的宏區(qū)塊的周圍可獲得的像素的加權(quán)平均來執(zhí)行空間錯誤隱藏。然后,在步驟1012中,遺失的宏區(qū)塊(同時執(zhí)行時間和空間的錯誤隱藏的宏區(qū)塊)的像素層次的加權(quán)和(加權(quán)值是基于像素層次的邊界錯誤),可被用于遺失的宏區(qū)塊。在步驟1016中,考慮下一個遺失的宏區(qū)塊的錯誤隱藏。另外,本發(fā)明并不受限于前述所舉的譯碼器的運動向量估計的時間錯誤隱藏方法和空間錯誤隱藏方法。因此,如同熟知本領(lǐng)域者所知悉,其它錯誤隱藏的方法也可以用于本發(fā)明的實施例。請參照圖11,圖11是為本發(fā)明的還一實施例說明用以編碼I幀步驟的流程圖。如圖11所示,在步驟1102中,獲取目前幀的數(shù)據(jù)。在步驟1104中,執(zhí)行離散余弦轉(zhuǎn)換的編碼和搜集速率控制的資信。例如,判斷有多少個編碼系數(shù)不為零。然后,在步驟1106中,利用在步驟1108中所得到的前一幀 的封包錯誤率,執(zhí)行速率控制的起始并決定自適應(yīng)地重傳。步驟1106是為建立用以編碼目前的幀的條件。然后,在步驟1110中,目前的幀被分成多個宏區(qū)塊,以及在步驟1112中,為目前的宏區(qū)塊設(shè)定速率控制參數(shù)。在步驟1114中,執(zhí)行量化。在步驟1116中,采用可變長度(variable length coding, VLC)的熵編碼(entropy coding)。然后,在步驟 1118 中,更新速率控制參數(shù)。在步驟1120中,判斷是否一個單片的末端已經(jīng)被編碼。如果否,在步驟1122中,判斷是否所有宏區(qū)塊都已經(jīng)被編碼。如果所有宏區(qū)塊都已經(jīng)被編碼,進行步驟1128。如果并非所有宏區(qū)塊都已經(jīng)被編碼,然后,在步驟1124中,處理下一個宏區(qū)塊。如果,在步驟1120中,判斷一個單片的末端已經(jīng)被編碼,則進行步驟1126,開始新的單片。如此,如圖11所示,給定幀的所有宏區(qū)塊/單片都是以內(nèi)部模式編碼,且可根據(jù)上述自適應(yīng)地重傳方法來控制速率控制參數(shù)。請參照圖12A及圖12B,圖12A及圖12B是為本發(fā)明的還一實施例描繪編碼P幀步驟的流程圖。在步驟1202中,獲取目前幀的圖像數(shù)據(jù)。在步驟1204中,提供隱藏的參考幀。在步驟1203中,利用步驟1204的參考幀,執(zhí)行每一個宏區(qū)塊的移動估計以及決定編碼模式(內(nèi)部模式、相互模式、忽略模式)。在步驟1206中,目前幀被分割為多個宏區(qū)塊。在步驟1208中,決定每一個宏區(qū)塊的編碼模式,以及對每一個宏區(qū)塊執(zhí)行適當?shù)靥幚?。更特別的是,在步驟1210中,如果宏區(qū)塊要依照內(nèi)部模式編碼,那么會對宏區(qū)塊執(zhí)行離散余弦轉(zhuǎn)換的編碼,且收集速率控制的資信。在步驟1212中,如果宏區(qū)塊要依照忽略模式編碼,則只有收集速率控制的資信。在步驟1214中,如果宏區(qū)塊要依照相互模式編碼,那么會對宏區(qū)塊執(zhí)行移動補償,以及在步驟1216中,會對宏區(qū)塊執(zhí)行離散余弦轉(zhuǎn)換的編碼,且收集速率控制的資信。值得注意的是,在步驟1214中,步驟1204的隱藏的參考幀亦可提供給移動補償使用。然后,在步驟1218中,判斷是否所有的宏區(qū)塊都已經(jīng)被處理。如果否,在步驟1220中,處理下一個宏區(qū)塊。
在步驟1222中,如果所有的宏區(qū)塊都已經(jīng)被處理,則根據(jù)在步驟1222中從前一幀回傳的資信,決定自適應(yīng)地重傳機制,以及初始化速率控制。在步驟1226中,根據(jù)前述的資信,建立速率控制,以及在步驟1228中,每一個宏區(qū)塊被標示它的適當處理。特別的是,在步驟1230中,如果宏區(qū)塊要依照內(nèi)部模式編碼,則對宏區(qū)塊執(zhí)行量化。然后,在步驟1232中,執(zhí)行可變長度的熵編碼以及收集速率控制資信。在步驟1234中,如果宏區(qū)塊要依照忽略模式編碼,則收集速率控制資信。在步驟1236中,如果宏區(qū)塊要依照相互模式編碼,則對宏區(qū)塊執(zhí)行量化。在步驟1238中,判斷是否宏區(qū)塊需要被跳過。如果否,在步驟1240中,執(zhí)行可變長度的熵編碼以及收集速率控制資信。如果在步驟1238中判斷宏區(qū)塊需要被跳過,那么就不會執(zhí)行可變長度的熵編碼,回到步驟1234 (如12B圖所示)。一旦給定宏區(qū)塊完成適當?shù)奶幚?,則在步驟1242中,更新速率控制參數(shù)。接著在步驟1244中,判斷是否一個單片的末端已經(jīng)被編碼。如果是,在步驟1250中,開始新的單片;如果否,在步驟1246中,判斷是否所有的宏區(qū)塊是否都已經(jīng)編碼完成。如果是,在步驟1248中,則關(guān)于本幀的處理已經(jīng)完成;如果不是所有的宏區(qū)塊都已經(jīng)編碼完成,則在步驟1252中,繼續(xù)選擇下一個宏區(qū)塊,并回到步驟1226,開始下一個宏區(qū)塊的處理。在本發(fā)明的一實施例中,參考圖片管理(reference picture management, RPM)可被用于系統(tǒng)的一個或多個參考幀緩沖器的動態(tài)管理。例如,編碼器104可包括參考幀緩沖器,其中參考幀緩沖器儲存先前傳送至接收器110的參考幀。譯碼器112亦包括參考幀緩沖器,其中參考幀緩沖器儲存先前傳送到接收器110的參考幀。通過舉例方式,儲存于編碼器104和譯碼器112的參考幀緩沖器的參考幀可被用以實施系統(tǒng)內(nèi)不同實施例中一個或多個錯誤更正政策。

在一些實施例中,儲存于譯碼器112內(nèi)的參考幀緩沖器的幀可能不同于被編碼器104傳送的幀。例如,被編碼器104傳送的幀在到達譯碼器112之前可能已經(jīng)被損害或毀損。在這實施例中,譯碼器112可對已收到的幀執(zhí)行在前述不同的實施例中所提供的錯誤隱藏,以及還儲存隱藏的參考幀在譯碼器112的參考幀緩沖器。在本發(fā)明的一實施例中,因為在譯碼器112中僅可得到參考幀的隱藏版本,所以在編碼器104的移動估計決策可根據(jù)隱藏參考幀,避開移動補償預(yù)測過程的不匹配。例如,儲存在編碼器104內(nèi)的參考幀緩沖器的參考幀可被更新以對應(yīng)于儲存在譯碼器112內(nèi)的參考幀緩沖器的隱藏參考幀。在本發(fā)明的一實施例中,編碼器104可根據(jù)有關(guān)于接收器110所接收的特定參考幀的回授信息,更新儲存在編碼器104內(nèi)的參考幀緩沖器的特定參考幀。在本發(fā)明的一些實施例中,參考圖片管理(RPM)可被用于編碼器104和譯碼器112的參考幀緩沖器的動態(tài)管理。舉例來說,系統(tǒng)可決定儲存于編碼器104和譯碼器112的參考幀緩沖器的參考幀應(yīng)該被刪除(例如,一個或多個參考幀緩沖器是滿的)。在一個或多個參考幀緩沖器是滿的情況下,可根據(jù)參考幀的狀況,選擇可被刪除的一個幀。在本發(fā)明的丨實施例中,儲存于編碼器104內(nèi)的參考巾貞緩沖器的參考巾貞的情況可在編碼一個巾貞以傳輸之前計算出來。在本發(fā)明的一實施例中,上述情況可為特定參考幀包括Θ值,其中Θ值是如式⑷所定義Θ = Afn+AxRPERΘ =Affl+λ XRPER(4)如式⑷所示,Afn代表在下一個編碼幀和儲存在參考幀緩沖器的特定幀之間的幀數(shù)的差異,RPER代表通道的剩余封包錯誤率,以及λ代表平衡因子。例如,λ是為用以平衡Θ值和RPER的平衡因子。舉例來說,具有最高Θ值的參考幀,或一個或多個具有超過預(yù)定臨界值的Θ值的參考幀可被刪除。在本發(fā)明的一實施例中,當特定參考幀從編碼器104內(nèi)的參考幀緩沖器刪除時,譯碼器112內(nèi)的參考幀緩沖器可接收更新指示,其中更新指示是用以指出特定參考幀不再被用以錯誤隱藏。請參照圖13,圖13是為本發(fā)明的還一實施例說明包括編碼器與多個譯碼器的視頻傳輸系統(tǒng)的示意圖。如圖13所示,攝像機1302可以特定幀速率(例如每秒25個視頻幀)獲取視頻幀以及傳送被獲取到的視頻幀至編碼器1304。然后,編碼器1304可對接收到的視頻幀編碼。在本發(fā)明的一些實施例中,視頻傳輸系統(tǒng)并不包括攝像機1302,以及編碼器1304是用以接收一個或多個來源的視頻幀。然后,編碼后的視頻可做為視頻封包利用傳輸器1306通過無線網(wǎng)絡(luò)1308傳輸。多個接收器1310a-1310n可通過個別的無線通道1308a-1308n連結(jié)至無線網(wǎng)絡(luò)1308。在本發(fā)明的丨實施例中,一個或多個接收器可通過相同個別的無線信道連結(jié)至無線網(wǎng)絡(luò)。如圖13所示,在接收器端,接收器1310a-1310n可接收視頻封包以及還用以產(chǎn)生確認(例如回授信息1320a-1320n)。例如,接收器1310a_1310n可通過一個或多個無線回授通道送出個別的確認至傳輸器1306?;厥谛畔?320a-1320n可通知傳輸器1306或編 碼器1304是否被傳輸?shù)囊曨l封包已經(jīng)成功地或不成功地被接收器1310a-1310n接收。接收器1310a_1310n接收的視頻封包可被譯碼器1312a_1312n解碼,以及被譯碼器1312a-1312n解碼和重建的視頻可被送至顯示器1314a_1314n顯示。雖然圖13中編碼器1304和傳輸器1306是為兩個裝置,但它們也可以被整合為具有與二者相同功能的單一組件。同樣地,接收器1310a-1310n中的每一個接收器以及與譯碼器1312a_1312n中的相對應(yīng)的譯碼器也可以被整合為具有與二者相同功能單一組件。在本發(fā)明的一實施例中,多個接收器系統(tǒng)包括較小數(shù)目的接收器(例如,2到8個接收器)。然而,在本發(fā)明的一些實施例中,多個接收器系統(tǒng)亦可包括超過8個以上的接收器。如圖13所示,多個接收器系統(tǒng)的編碼器是類似于圖3中編碼器。接收器1310a-1310n是可為任一個可接收編碼視頻流的裝置(例如,計算機、電話、個人數(shù)字助理等)。(無線)調(diào)制解調(diào)器可用以回傳回授信息1320a-1320n。在本發(fā)明的一實施例中,可分別計算相對應(yīng)于無線通道1308a_1308n中的每一個無線通道的封包錯誤率。例如,可在編碼下一視頻幀之前,分別計算相對應(yīng)于無線通道1308a-1308n中的每一個無線通道的封包錯誤率。在本發(fā)明的還丨實施例中,亦可計算相對應(yīng)于無線通道1308a-1308n中的封包錯誤率的變異。例如,可在編碼下一視頻幀之前,計算相對應(yīng)于無線通道1308a-1308n中的封包錯誤率的變異。在本發(fā)明的一實施例中,傳輸器1306或編碼器1304可根據(jù)視頻幀從接收器1310a-1310n接收的回授信息、從無線通道1308a-1308n中的個別無線通道的封包錯誤率和無線通道1308a_1308n中的封包錯誤率的變異的組合,決定如何最好地處理任何遺失封包和如何編碼下一封包。和上述所提供的實施例一樣,視頻幀可被分割成多個固定大小的宏區(qū)塊(MBs),以及通過編碼控制決定如何編碼宏區(qū)塊(內(nèi)部模式、相互模式或忽略模式)。傳輸器1306可被壓縮后的視頻數(shù)據(jù)流放入固定大小,或可變大小的視頻封包中,并通過無線網(wǎng)絡(luò)1308傳送至接收器1310a-1310n。如前述實施例所提供,第一獲取幀可被獨立編碼為I幀,而接下來的其它幀可根據(jù)先前的幀,被編碼為P幀。
和上述所提供的實施例一樣,接收器1310a_1310n可對接收幀執(zhí)行錯誤隱藏。例如,接收器可執(zhí)行空間錯誤隱藏和時間錯誤隱藏的組合。在本發(fā)明的一實施例中,編碼器1304和譯碼器1312a_1312n中的每一個譯碼器可包括參考幀緩沖器。例如,儲存于編碼器1304和譯碼器1312a-1312n的參考幀緩沖器的參考幀可被用以實施和系統(tǒng)內(nèi)不同實施例一致的一個或多個錯誤更正政策。在本發(fā)明的丨些實施例中,儲存于譯碼器1312a_1312n內(nèi)的參考幀緩沖器的幀可能不同于被編碼器1304傳送的幀。例如,被編碼器1304傳送的幀在到達譯碼器1312a-1312n之前可能已經(jīng)被損害或毀損。在這實施例中,特定譯碼器可執(zhí)行錯誤隱藏在已收到的幀,以及還儲存隱藏的參考幀在特定譯碼器的參考幀緩沖器。在本發(fā)明的一實施例中,因為在特定譯碼器中僅可得到參考幀的隱藏版本,所以在編碼器1304的移動估計決策可根據(jù)隱藏參考幀,避開移動補償預(yù)測過程的不匹配。例如,儲存在編碼器1304內(nèi)的參考幀緩沖器的參考幀可被更新以對應(yīng)于儲存在特定譯碼器內(nèi)的參考幀緩沖器的隱藏參考幀。在本發(fā)明的還一實施例中,決策可根據(jù)情況,對儲存于編碼器1304內(nèi)的參考幀緩沖器的相對應(yīng)的參考幀執(zhí)行相同的錯誤隱藏。例如,上述情況可以是對應(yīng)特定接收器的無線通道執(zhí)行錯誤隱藏的封包錯誤率低于特·定臨界值、剩余無線通道的封包錯誤率低于特定臨界值、無線通道的封包錯誤率的變異低于特定臨界值或上述情況的組合。和上述所提供的實施例一樣,編碼器1304或傳輸器1306可執(zhí)行通道自適應(yīng)地重傳。例如,編碼器1304或傳輸器1306可執(zhí)行空間錯誤隱藏和時間錯誤隱藏的組合。在本發(fā)明的一實施例中,可根據(jù)情況,執(zhí)行空間錯誤隱藏和時間錯誤隱藏的組合的決策。例如,需要進行封包重傳的特定無線通道的封包錯誤率低于特定臨界質(zhì)、剩余無線通道的封包錯誤率低于特定臨界值、無線通道的封包錯誤率的變異低于特定臨界值或上述情況的組合。如上述討論,在本發(fā)明的不同實施例中,錯誤隱藏和重傳的格式可被用以視頻傳輸?shù)腻e誤更正(例如,封包遺失或毀損)。請參照圖14,圖14是為本發(fā)明的還一實施例說明多接收器系統(tǒng)的錯誤更正政策的流程圖。流程圖1400是為說明本發(fā)明的還一實施例的錯誤更正政策。在步驟1402中,決定無線通道的封包錯誤率和封包錯誤率變異(無線通道的封包錯誤率的變異)。例如,可根據(jù)從接收器得到的回授信息,決定封包錯誤率和封包錯誤率變異。在步驟1404中,比較封包錯誤率變異和臨界值。如果封包錯誤率變異是低于臨界值,則進行步驟1406以執(zhí)行第一錯誤更正政策。如果封包錯誤率變異是高于臨界值,則進行步驟1414以執(zhí)行第二錯誤更正政策。在步驟1406中,當有需要時,一個幀可被執(zhí)行編碼、傳送以及空間重傳。例如,編碼器和傳輸器可和前述提供的實施例一樣編碼和傳輸巾貞。另外,可和前述提供的實施例一樣執(zhí)行空間重傳。例如,通過粗略地量化目前幀的編碼以降低編碼位速率,所以剩下的位可被用以重傳遺失或損壞的封包。在一些實施例中,僅有對應(yīng)于在具有低于臨界值的封包錯誤率的通道內(nèi)從接收器所發(fā)出的回授信息的遺失或損壞的封包才可被重傳。在還一實施例中,可基于在具有低于臨界值的封包錯誤率的無線通道內(nèi)從接收器所發(fā)出的回授信息,決定通過粗略地量化以降低編碼位速率。在步驟1408中,可決定無線通道的剩余封包錯誤率,以及比較剩余封包錯誤率和臨界值。例如,可將每一個無線通道的剩余封包錯誤率和臨界值比較,以及可決定任何高于臨界值的剩余封包錯誤率,并進行至步驟1410。在步驟1410中,執(zhí)行時間重傳。在步驟1408中,如果剩余封包錯誤率是低于臨界值,則進行步驟1412。在步驟1412中,更新參考幀緩沖器。在步驟1410中,可和前述提供的實施例一樣執(zhí)行時間重傳,然后跳回步驟1408,以再次決定無線通道的更新剩余封包錯誤率是否低于臨界值。在一實施例中,時間重傳可被重復(fù)執(zhí)行直到無線通道的剩余封包錯誤率低于臨界值。然后,進行步驟1412。在步驟1412中,更新編碼器內(nèi)的參考幀緩沖器。例如,編碼器內(nèi)的參考幀緩沖器可利用從接收器發(fā)出的錯誤隱藏資信和回授信息(例如遺失或損壞的封包資信)更新。在本發(fā)明的還一實施例中,儲存在編碼器內(nèi)的參考幀緩沖器的參考幀可被執(zhí)行在接收器內(nèi)相對應(yīng)參考幀的相同的錯誤隱藏所更新。在本發(fā)明的還一實施例中,儲存在編碼器內(nèi)的參考幀緩沖器的參考幀可被來自接收器用于參考幀的遺失或損壞的封包資信所更新。然后,進行步驟1428以計算儲存在編碼器內(nèi)參考幀緩沖器的參考幀的Θ值。在步驟1428中,可計算儲存在編碼器內(nèi)參考幀緩沖器的參考幀的Θ值。例如,儲存在編碼器內(nèi)參考幀緩沖器的參考幀的Θ值可和前述提供的實施例一樣計算得到。在一實施例中,具有最聞Θ值的參考巾貞可和如述提供的實施例一樣從編碼器內(nèi)參考巾貞緩沖器刪除。然后,進行步驟1430。在步驟1430中,可決定是否編碼下一幀。例如,如果下一幀要被編碼,則跳回步驟1402以及重復(fù)上述步驟。在本發(fā)明的還一實施例中,如果決定下一幀不用被編碼,則進行步驟1432,結(jié)束。在步驟1414中,可決定是否多數(shù)通道具有低于臨界值的封包錯誤率。例如,如果多數(shù)通道具有低于臨界值的封包錯誤率,則進行步驟1416以執(zhí)行第三錯誤更正政策。如果多數(shù)通道具有高于臨界值的封包錯誤率,則進行步驟1420以執(zhí)行第四錯誤更正政策。在步驟1416中,當有需`要時,一個幀可被執(zhí)行編碼、傳送以及空間重傳。例如,編碼器或傳送器可和前述提供的實施例一樣編碼和傳送幀。另外,空間重傳亦可和前述提供的實施例一樣被執(zhí)行。例如,可通過粗略地量化目前幀的編碼以降低編碼位速率,所以剩余位可被用以重傳遺失或損壞的封包。在一些實施例中,對應(yīng)于在通道內(nèi)從接收器發(fā)出的回授信息且具有低于臨界值的封包錯誤率的遺失或損壞的封包才可被重傳。在還一實施例中,在具有高于臨界值的封包錯誤率的通道中的接收器可被選擇執(zhí)行錯誤隱藏,或是如果幀的圖像質(zhì)量仍然太差,則選擇不顯示具有較差圖像質(zhì)量的幀。在還一實施例中,可基于在具有低于臨界值的封包錯誤率的無線通道內(nèi)從接收器發(fā)出的回授信息,決定通過粗略地量化以降低編碼位速率。然后,進行步驟1418。在步驟1418中,更新編碼器內(nèi)的參考幀緩沖器。例如,編碼器內(nèi)的參考幀緩沖器可利用從接收器發(fā)出的錯誤隱藏資信和回授信息(例如遺失或損壞的封包資信)更新。在本發(fā)明的還一實施例中,儲存在編碼器內(nèi)的參考幀緩沖器的參考幀可被執(zhí)行在接收器內(nèi)相對應(yīng)參考幀的相同的錯誤隱藏所更新。在本發(fā)明的還一實施例中,儲存在編碼器內(nèi)的參考幀緩沖器的參考幀可被來自接收器用于參考幀的遺失或損壞的封包資信所更新。在本發(fā)明的還一實施例中,僅有對應(yīng)于在具有低于臨界值的封包錯誤率的通道內(nèi)的接收器才被更新。然后,進行步驟1428計算在編碼器內(nèi)參考幀緩沖器的參考幀的Θ值。另外,從步驟1418進行到步驟1428的過程就如同從步驟1412進行到步驟1428的過程一樣。
在步驟1420中,當有需要時,一個幀可被執(zhí)行編碼、傳送以及空間重傳。例如,編碼器和傳輸器可和前述提供的實施例一樣編碼和傳輸巾貞。另外,可和前述提供的實施例一樣執(zhí)行空間重傳。例如,通過粗略地量化目前幀的編碼以降低編碼位速率,所以剩下的位可被用以重傳遺失或損壞的封包。在一些實施例中,僅有對應(yīng)于在具有低于臨界值的封包錯誤率的通道內(nèi)從接收器所發(fā)出的回授信息的遺失或損壞的封包才可被重傳。在還一實施例中,在具有高于臨界值的封包錯誤率的通道中的接收器可被選擇執(zhí)行錯誤隱藏,或是如果幀的圖像質(zhì)量仍然太差,則選擇不顯示具有較差圖像質(zhì)量的幀。在還一實施例中,可基于在具有低于臨界值的封包錯誤率的無線通道內(nèi)從接收器發(fā)出的回授信息,決定通過粗略地量化以降低編碼位速率。然后,進行步驟1422。在步驟1422中,可決定無線通道的剩余封包錯誤率,以及比較剩余封包錯誤率和臨界值。例如,可將每一個無線通道的剩余封包錯誤率和臨界值比較,以及可決定任何高于臨界值的剩余封包錯誤率,并進行至步驟1424以執(zhí)行時間重傳。在步驟1422中,如果剩余封包錯誤率是低于臨界值,則進行步驟1426以執(zhí)行更新參考幀緩沖器。在步驟1424中,執(zhí)行時間重傳。例如,可和前述提供的實施例一樣執(zhí)行時間重傳,然后跳回步驟1422以再次決定無線通道的更新剩余封包錯誤率是否低于臨界值。在一實施例中,時間重傳可被重復(fù)執(zhí)行直到無線通道的剩余封包錯誤率低于臨界值。然后,進行步驟 1426。在步驟1426中,更新編碼器內(nèi)的參考幀緩沖器。例如,編碼器內(nèi)的參考幀緩沖器可利用從接收器發(fā)出的錯誤隱藏資信和回授信息(例如遺失或損壞的封包資信)更新。在本發(fā)明的還一實施例中,儲存在編碼器內(nèi)的參考幀緩沖器的參考幀可被執(zhí)行在接收器內(nèi)相對應(yīng)參考幀的相同的錯誤隱藏所更新。在本發(fā)明的還一實施例中,儲存在編碼器內(nèi)的參考幀緩沖器的參考幀可被來自接收器用于參考幀的遺失或損壞的封包資信所更新。在本發(fā)明的還一實施例中,僅有對應(yīng)于在具有低于臨界值的封包錯誤率的通道內(nèi)的接收器才被更新。然后,進行步驟1428計算在編碼器內(nèi)參考幀緩沖器的參考幀的Θ值。另外,從步驟1426進行到步驟1428的過程就如同從步驟1412進行到步驟1428的過程一樣。

以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種用以提供數(shù)字視頻內(nèi)容錯誤復(fù)原的方法,包括 接收對應(yīng)于多個視頻幀的視頻數(shù)據(jù); 利用編碼器編碼該視頻數(shù)據(jù)以產(chǎn)生代表視頻幀的多個封包; 該方法的特征在于還包括 傳送該多個封包中的第一組封包至至少二個接收器; 從該至少二個接收器接收關(guān)于該多個封包的個別封包的接收狀態(tài)的回授信息,其中該回授信息是沒有接收正確的封包的指標; 根據(jù)從該至少二個接收器接收的回授信息,檢查關(guān)于該至少二個接收器的錯誤指標;及 如果該至少二個接收器間的該錯誤指標的變異是低于第一錯誤臨界值,則執(zhí)行第一錯誤更正政策,以及如果該至少二個接收器間的該錯誤指標的變異是高于該第一錯誤臨界值,則執(zhí)行第二錯誤更正政策,其中該第一和第二錯誤更正政策的至少一個錯誤更正政策包括利用不同于已用于編碼該多個封包的機制的編碼機制傳送或重傳至少一個封包。
2.如權(quán)利要求1所述的方法,其特征在于,檢查關(guān)于該至少二個接收器的錯誤指標包括 根據(jù)該回授信息,計算該至少二個接收器的封包錯誤率,以及該錯誤指標的變異包括該至少二個接收器的該封包錯誤率的變異。
3.如權(quán)利要求1所述的方法,其特征在于,對于該視頻幀的至少一個重傳封包的編碼執(zhí)行該第一和第二錯誤更正政策的錯誤更正政策,以及編碼接續(xù)視頻幀的多個封包。
4.如權(quán)利要求1所述的方法,其特征在于,該第一錯誤更正政策包括 根據(jù)該至少二個接收器的該錯誤指標,決定是否在接續(xù)視頻幀的相同的時隙中重傳一個或多個沒有接收正確的封包。
5.如權(quán)利要求1所述的方法,其特征在于,執(zhí)行該第二錯誤更正政策還包括 如果該至少二個接收器的大部分接收器具有低于第二錯誤臨界值的錯誤指標,則執(zhí)行第三錯誤更正政策,以及如果該至少二個接收器的大部分接收器具有高于該第二錯誤臨界值的錯誤指標,則執(zhí)行第四錯誤更正政策。
6.如權(quán)利要求5所述的方法,其特征在于,該第一和第四錯誤更正政策的至少一個錯誤更正政策還包括 根據(jù)該至少二個接收器的該錯誤指標,決定量化參數(shù)。
7.如權(quán)利要求5所述的方法,其特征在于,該第一、第三和第四錯誤更正政策的至少一個錯誤更正政策包括 在該編碼器中,對使用在編碼該視頻數(shù)據(jù)的參考視頻幀執(zhí)行錯誤隱藏。
8.如權(quán)利要求7所述的方法,其特征在于,對于該第一和第四錯誤更正政策的至少一個錯誤更正政策執(zhí)行該錯誤隱藏包括 根據(jù)在接收器端譯碼器執(zhí)行的錯誤隱藏,執(zhí)行同步的錯誤隱藏。
9.如權(quán)利要求7所述的方法,其特征在于,對于該第三錯誤更正政策執(zhí)行該錯誤隱藏包括 根據(jù)在對應(yīng)于該些具有低于該第二錯誤臨界值的錯誤指標的接收器的接收器端譯碼器所執(zhí)行的錯誤隱藏,執(zhí)行同步的錯誤隱藏。
10.如權(quán)利要求5所述的方法,其特征在于,該第三錯誤更正政策包括 根據(jù)對于具有低于該第二錯誤臨界值的錯誤指標的接收器的該錯誤指標,決定該視頻數(shù)據(jù)的接續(xù)幀的量化參數(shù)。
11.如權(quán)利要求5所述的方法,其特征在于,該第三錯誤更正政策包括 根據(jù)對于具有低于該第二錯誤臨界值的錯誤指標的接收器的該錯誤指標,決定是否在該視頻數(shù)據(jù)的接續(xù)幀的相同的時隙中重傳一個或多個遺失的封包。
12.如權(quán)利要求1所述的方法,其特征在于,還包括 動態(tài)調(diào)整參考幀緩沖器,其中動態(tài)調(diào)整該參考幀緩沖器還包括根據(jù)該些接收器的剩余封包錯誤率以及參考幀和編碼幀之間的關(guān)系,從該參考幀緩沖器移動該參考幀。
13.如權(quán)利要求1所述的方法,其特征在于,包括執(zhí)行錯誤隱藏的該第一、第三和第四錯誤更正政策的至少一個錯誤更正政策包括 辨識該視頻幀遺失的部份; 從前一幀定位該視頻幀遺失的部份,其中該前一幀包括(1-1)幀至(1-n)幀的其中一幀,其中i和η是為正整數(shù);及 從該前一幀隱藏該幀的定位部份。
全文摘要
本發(fā)明公開了一種用以提供數(shù)字視頻內(nèi)容錯誤復(fù)原的方法。該方法包括接收對應(yīng)于多個視頻幀的視頻數(shù)據(jù);利用編碼器編碼該視頻數(shù)據(jù)以產(chǎn)生代表視頻幀的多個封包;傳送該多個封包中的第一組封包至至少二個接收器;從該至少二個接收器接收關(guān)于該多個封包的個別封包的接收狀態(tài)的回授信息;根據(jù)從該至少二個接收器接收的回授信息,檢查關(guān)于該至少二個接收器的錯誤指標;根據(jù)該二接收器間的該錯誤指標的變異是否低于第一錯誤臨界值,執(zhí)行第一錯誤更正政策或第二錯誤更正政策。因此,本發(fā)明可應(yīng)用于錯誤復(fù)原數(shù)字視頻,以改善視頻質(zhì)量。
文檔編號H04N7/64GK103051902SQ20121039089
公開日2013年4月17日 申請日期2012年10月15日 優(yōu)先權(quán)日2011年10月14日
發(fā)明者艾克哈德勾茲·史汀班區(qū), 張帆, 彭楊, 鄧維康 申請人:立積電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1