專利名稱:流式視頻接收機(jī)的解碼器緩沖器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及視頻處理系統(tǒng),更具體而言,涉及在流式視頻接收機(jī)中使用的解碼器緩沖器。
背景技術(shù):
在互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)上實(shí)時流的多媒體內(nèi)容近年來已經(jīng)成為一種日益增長的普通應(yīng)用。范圍廣泛的交互作用和非交互作用的多媒體互聯(lián)網(wǎng)應(yīng)用,例如,點(diǎn)播新聞,觀看實(shí)況電視,電視會議,和許多其他項(xiàng)目有賴于端對端流的解決,可以首先以“非實(shí)”時方式恢復(fù)然后觀看或回放的不同“下載”視頻文件,流式視頻應(yīng)用需要將視頻源編碼并在網(wǎng)絡(luò)上將視頻信號發(fā)送到必須將視頻信號實(shí)時解碼和顯示的視頻接收機(jī)上。接收機(jī)依靠解碼器緩沖器從網(wǎng)絡(luò)接收編碼的視頻數(shù)據(jù)包并將包傳送到視頻解碼器。
當(dāng)通過不保證服務(wù)質(zhì)量(QoS)的網(wǎng)絡(luò),如互聯(lián)網(wǎng),發(fā)送流式視頻信號時,出現(xiàn)兩個問題。首先,在流式視頻發(fā)射機(jī)和流式視頻接收機(jī)之間的網(wǎng)絡(luò)中端對端的變化(例如,延時抖動)意味著端對端延時不是常數(shù)。其次,通過非-QoS網(wǎng)絡(luò)時通常有較高的包丟失率,常常需要重發(fā)。在相應(yīng)的幀必須被解碼的時間以前必須恢復(fù)丟失的數(shù)據(jù)包。如果不這樣,就發(fā)生下溢事件。而且,如果采用基于預(yù)測的壓縮,由于丟失數(shù)據(jù)包引起的下溢可能不僅影響當(dāng)前正在被處理的幀,而且可能影響許多后繼的幀。
眾所周知,丟失包的重發(fā)對于在包網(wǎng)絡(luò)上的連續(xù)介質(zhì)通信來說是一種可行的恢復(fù)措施。許多應(yīng)用采用一種連同丟失包重發(fā)的否定自動重復(fù)請求(NACK)。這些措施既考慮發(fā)送者和接收者之間往返延時也考慮延時抖動。
例如,一種利用包話音傳輸重發(fā)的端對端模型已被開發(fā)出來。這種模型利用這樣的事實(shí),即話音數(shù)據(jù)由簡短的談話脈沖段分開的沉默周期組成。這種模型也假定每個談話脈沖由固定數(shù)目的固定大小的包組成??墒?,這種模型對于截取被壓縮視頻的特性(每個視頻幀可能有可變數(shù)目的字節(jié)或包)來說不夠一般性。
因此在技術(shù)上需要有一種補(bǔ)償在非QoS網(wǎng)絡(luò)中固有變化的改進(jìn)型流式視頻接收機(jī)。尤其是,需要一種改進(jìn)的接收機(jī)解碼器緩沖器,既考慮傳輸延時參數(shù)(例如,端對端延時和延時抖動)又考慮視頻編碼器緩沖器的約束。更具體而言,需要一種改進(jìn)的解碼器緩沖器,消除典型情況下用于除去延時抖動和恢復(fù)丟失數(shù)據(jù)的網(wǎng)絡(luò)傳輸緩沖器和視頻解碼器緩沖器之間的分離。
發(fā)明概述本發(fā)明在一種集成傳輸解碼器(ITD)緩沖器模型中得以實(shí)施。ITD模型的一個關(guān)鍵性的優(yōu)點(diǎn)是它消除典型情況下用于除去延時抖動和恢復(fù)丟失數(shù)據(jù)的網(wǎng)絡(luò)傳輸緩沖器和視頻解碼器緩沖器的分離。這可大大地降低端對端的延時,并使接收機(jī)資源(如存儲器)的利用為最佳。
本發(fā)明的主要目的在于提供一種解碼器緩沖器,能夠從流式視頻發(fā)射機(jī)接收包括流式視頻的數(shù)據(jù)包并將數(shù)據(jù)包存入多個入口單元,用于能夠?qū)α魇揭曨l解碼的視頻解碼器。每個入口單元能夠保持至少一個與流式視頻中所選的幀有關(guān)的數(shù)據(jù)包。解碼器緩沖器包括1)第一緩沖器區(qū),包括至少一個入口單元,能夠存儲很少馬上為視頻解碼器所需的數(shù)據(jù)包;和2)重發(fā)區(qū),包括至少一個入口單元,能夠存儲多半馬上為視頻解碼器所需的數(shù)據(jù)包,其中解碼器緩沖器,對檢測到在重發(fā)區(qū)中丟失數(shù)據(jù)包作出響應(yīng),請求流式視頻發(fā)射機(jī)重發(fā)丟失的包。
在本發(fā)明的一個實(shí)施方案中,在等于解碼器緩沖器啟動延時時間的時間周期內(nèi),至少一個數(shù)據(jù)包被存儲在第一緩沖器區(qū)中。
在本發(fā)明的另一個實(shí)施方案中,數(shù)據(jù)包首先存入第一緩沖器區(qū)中并被移入重發(fā)區(qū)。
在還是本發(fā)明的另一個實(shí)施方案中,第一緩沖器區(qū)與重發(fā)區(qū)是分開的。
在還是本發(fā)明的另一個實(shí)施方案中,第一緩沖器區(qū)至少與重發(fā)區(qū)的一部分重迭。
在本發(fā)明的一個進(jìn)一步的實(shí)施方案中,第一緩沖器區(qū)重迭全部的重發(fā)區(qū)。
在本發(fā)明的一個進(jìn)一步的實(shí)施方案中,用第二緩沖器區(qū)將第一緩沖器區(qū)與重發(fā)區(qū)分開,其中遲到的數(shù)據(jù)包相對于遲到的數(shù)據(jù)包預(yù)期的到達(dá)時間是晚的,但是對于需要重發(fā)遲到的數(shù)據(jù)包來說并不太晚。
以上已經(jīng)相當(dāng)廣泛地概述本發(fā)明的特點(diǎn)和技術(shù)優(yōu)勢,以便本領(lǐng)域的技術(shù)人員可以更好地理解后隨的本發(fā)明詳述。在此往后將描述本發(fā)明的附加特點(diǎn)和優(yōu)點(diǎn),這些構(gòu)成本發(fā)明權(quán)利要求的主體。本領(lǐng)域的技術(shù)人員應(yīng)該意識到,他們可以容易地利用所公開的概念和特定的實(shí)施方案作為基礎(chǔ)用于修改或設(shè)計(jì)實(shí)現(xiàn)本發(fā)明相同用途的其他結(jié)構(gòu)。本領(lǐng)域的技術(shù)人員也應(yīng)該認(rèn)識到,這樣一些等效的結(jié)構(gòu)并不偏離最廣泛形式下本發(fā)明的精神和范圍。
在開始詳述以前,闡述在整個本專利文件中使用的某些字和短語的定義可能是有利的術(shù)語“包含”和“包括”,以及其派生詞,意思是沒有限制的包括;術(shù)語“或”包括和/或的意思;短語“有關(guān)的”和“與此有關(guān)的”以及其派生詞,可以意味著包括,包括在內(nèi),有聯(lián)系的,含有,含有在內(nèi),有關(guān)系的,有配合的,可有聯(lián)系的,和…合作的,交插,并列,近似于,密切關(guān)聯(lián)的,具有,具有…性質(zhì)的,等。術(shù)語“控制器”意思是控制至少一種操作的任何設(shè)備,系統(tǒng)或其部件,這樣一種設(shè)備可以用硬件,固件或軟件,或者至少兩種同類的某種組合來實(shí)現(xiàn)。應(yīng)該指出,與任何特定的控制器有關(guān)的功能可以被集中或分散,無論是本地方式還是遠(yuǎn)程方式。在整個這份專利文件中提供了某些詞或短語的定義,本領(lǐng)域的技術(shù)人員應(yīng)該理解,在許多,如果不是大多數(shù)情況下,這樣一些定義適用于這樣一些被定義的詞或短語以前,以及將來的使用。
附圖簡述為了更完全理解本發(fā)明及其優(yōu)點(diǎn),參考以下的描述連同附圖,其中同樣的數(shù)字標(biāo)記同樣的對象,其中
圖1示出依據(jù)本發(fā)明的一種實(shí)施方案,從流式視頻發(fā)射機(jī)通過數(shù)據(jù)網(wǎng)到示范性流式視頻接收機(jī)的一種端對端流式視頻傳輸;
圖2示出視頻編碼系統(tǒng)的一種理想的編碼器-解碼器模型;圖3示出依據(jù)本發(fā)明的一種實(shí)施方案,從一個壓縮的視頻源通過一個信道到示范性集成傳輸解碼器緩沖器和視頻解碼器的端對端流式視頻傳輸,不支持重發(fā);圖4示出一種展示數(shù)據(jù)包流通過示范性理想集成傳輸解碼器緩沖器不同的各個區(qū)的順序圖。
圖5示出一種展示數(shù)據(jù)包流通過為最大外部邊界范圍配置的示范性集成傳輸解碼器緩沖器不同重迭區(qū)的順序圖。
詳述以下討論的圖1到5,和在這份專利文件中用于描述本發(fā)明原理的各個實(shí)施方案僅用作說明,不應(yīng)該以任何方式解釋為對本發(fā)明范圍的限制,本領(lǐng)域的技術(shù)人員將理解本發(fā)明的原理可在任何適當(dāng)安排的流式視頻接收機(jī)中實(shí)現(xiàn)。
另外,本領(lǐng)域的技術(shù)人員將容易理解雖然以下描述的本發(fā)明實(shí)施方案原則上是指向于流式視頻,但這只是用作說明。事實(shí)上,以下描述的改進(jìn)的集成傳輸解碼器緩沖器可容易地被適配為與流式音頻數(shù)據(jù)或其他必須按所要求的速率供給解碼器的流式數(shù)據(jù)連用。
圖1示出一種依據(jù)本發(fā)明的實(shí)施方案,從流式視頻發(fā)射機(jī)110通過數(shù)據(jù)網(wǎng)120到流式視頻接收機(jī)130的端對端流式視頻傳輸。根據(jù)應(yīng)用,流式視頻發(fā)射機(jī)110可以是各種各樣視頻幀源中任何一種,包括數(shù)據(jù)網(wǎng)服務(wù)器,電視臺,有線網(wǎng),臺式個人計(jì)算機(jī)(PC),等。流式視頻發(fā)射機(jī)110包括視頻幀源112,視頻編碼器114和編碼器緩沖器116。視頻幀源112可以是能夠產(chǎn)生未壓縮視頻幀序列的任何設(shè)備,包括電視天線和接收機(jī)單元,錄相機(jī),攝像機(jī),能夠存儲“原始”視頻片段的盤存儲設(shè)備,等。
未壓縮的視頻幀以給定的圖象速率進(jìn)入視頻編碼器114并被按任何已知的壓縮算法或設(shè)備,例如MPEG-4編碼器進(jìn)行壓縮。然后視頻編碼器114將已壓縮的視頻幀發(fā)送到編碼器緩沖器116用于為通過數(shù)據(jù)網(wǎng)120傳輸準(zhǔn)備中作緩沖。數(shù)據(jù)網(wǎng)120可以是任何適當(dāng)?shù)腎P網(wǎng),可以包括既有公共數(shù)據(jù)網(wǎng),如互聯(lián)網(wǎng),又有私人數(shù)據(jù)網(wǎng),如企業(yè)擁有的局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)的部分。
流式視頻接收機(jī)130包括解碼器緩沖器131,視頻解碼器134和視頻顯示136。解碼器緩沖器131從數(shù)據(jù)網(wǎng)120接收和存儲流式已壓縮視頻幀。然后,如需要的話,解碼器緩沖器131將已壓縮視頻幀發(fā)送到視頻解碼器134。視頻解碼器134以與視頻幀被視頻編碼器114壓縮時相同的速率(理想情況)對視頻幀解壓。
解碼器緩沖器131進(jìn)一步包括集成傳輸解碼器(ITD)緩沖器132,ITD緩沖器監(jiān)視器138和重發(fā)控制器139。按照本發(fā)明的原理,ITD緩沖器132將臨時的和數(shù)據(jù)單元占用的考慮合在一起以便提供視頻解碼器134壓縮視頻幀,其速率對于避免下溢條件是足夠的,在此期間視頻解碼器134被渴求已壓縮視頻幀。
ITD緩沖器132與ITD緩沖器監(jiān)視器138和重發(fā)控制器139合作實(shí)現(xiàn)這點(diǎn)。ITD緩沖器監(jiān)視器138監(jiān)測ITD緩沖器132中數(shù)據(jù)占用的水平并檢測丟失的數(shù)據(jù)包和潛在的下溢條件。對來自ITD緩沖器監(jiān)視器138的通知作出響應(yīng),重發(fā)控制器139請求重發(fā)從ITD緩沖器132丟失的數(shù)據(jù)以便防止下溢狀況。在本發(fā)明的一種有優(yōu)越性的實(shí)施方案中,ITD緩沖器132,ITD緩沖器監(jiān)視器138,和重發(fā)控制器139在個人計(jì)算機(jī)(PC)中實(shí)現(xiàn),例如,在高速數(shù)據(jù)線上從互聯(lián)網(wǎng)接收流式視頻和/或音頻。在這樣一種實(shí)施方案中,ITD緩沖器132可在PC的主隨機(jī)存取存儲器(RAM)或視頻卡上的RAM中實(shí)現(xiàn),ITD緩沖器監(jiān)視器138和重發(fā)控制器139可在PC的CPU中實(shí)現(xiàn)。為了在PC環(huán)境中實(shí)現(xiàn)ITD緩沖器132,ITD緩沖器可作為存儲媒介140,如CD-ROM,計(jì)算機(jī)盤片,或類似設(shè)備上作為程序存儲的計(jì)算機(jī)可執(zhí)行指令來實(shí)施,可以被加載到流式視頻接收機(jī)130中的可拿下的盤的口141。
壓縮視頻幀的連續(xù)解碼是實(shí)時多媒體應(yīng)用,如流式視頻的關(guān)鍵要求。為了滿足這個要求,一種解碼器-編碼器緩沖器模型通常被用于保證不發(fā)生下溢或溢出事件。這些約束限制了進(jìn)入編碼器緩沖器的視頻圖象的大小(位-方式)。這些約束通常用編碼器緩沖器的范圍來表達(dá),當(dāng)編碼器遵循這些約束時,保證在接收機(jī)上壓縮視頻流的連續(xù)解碼和展示。
圖2示出視頻編碼系統(tǒng)的一種理想的編碼器-解碼器模型。在這個理想模型下,未壓縮視頻幀201-203在給定的圖象速率,X幀/秒,如時間(1)線所示,進(jìn)入編碼器214的壓縮機(jī)構(gòu)。壓縮幀在相同的X幀/秒,如時間(2)線所示,離開編碼器214并進(jìn)入編碼器緩沖器216。同樣,壓縮幀在X幀/秒離開編碼器緩沖器216并進(jìn)入信道220。信道220是任何傳輸媒介,如互聯(lián)網(wǎng)的一種一般性的表示,它將壓縮視頻幀從發(fā)送源傳送到接收機(jī)。在此理想情況下,信道220的延時(δc)是一個常數(shù)值。
接著,壓縮幀以相同X幀/秒,如編碼器214的輸入和輸出上那樣,如時間(3)線所示,退出信道220并進(jìn)入解碼器緩沖器232。解碼器緩沖器232將壓縮幀發(fā)送到解碼器234,它將幀解壓并按幀進(jìn)入編碼器214原來的速率X幀/秒輸出解壓幀251-253。
理想情況下,端對端緩沖延時(也就是在編碼器緩沖器216和解碼器緩沖器232中遇到的總延時)是常數(shù)。然而,同樣部分的壓縮視頻數(shù)據(jù)(例如,特定字節(jié)的視頻流)在編碼器緩沖器216和解碼器緩沖器232遇到不同的延時。在理想模型中,在編碼器214中編碼和在解碼器234中解碼是瞬時的,需要零執(zhí)行時間并且數(shù)據(jù)包并不丟失。
編碼器緩沖器范圍可利用離散時間和來表達(dá)。在離散時間域分析中,Δ是端對端延時(也就是,既包括編碼器緩沖器216和解碼器緩沖器232也包括信道延時δc)用時間單位。對于一個給定的視頻編碼系統(tǒng),Δ是一個常數(shù)值,可用于進(jìn)入編碼器-解碼器緩沖器模型的所有幀。
為了簡化離散時間分析,假定端對端緩沖延時(ΔT=Δ-δc)是幀持續(xù)時間(T)的整倍數(shù)。因此,NΔ=N(Δ-δc)/T代表用視頻幀(N)的數(shù)目表示的編碼器和解碼器緩沖器的延時。為在本發(fā)明原理的描述中清楚和簡短起見,本公開內(nèi)容的其余部分將使用在幀-持續(xù)時間間隔中規(guī)定的時間單位。例如,利用圖2中所示的編碼器時間參考,第n個幀在時間指數(shù)“n”進(jìn)入編碼器緩沖器216。解碼器緩沖器232的解碼器時間參考是相對于編碼器緩沖器216移位信道延時(δc)。
在幀間隔“i”期間編碼器(e)214輸出上的數(shù)據(jù)速率(r)可表示為re(i)。在此,“數(shù)據(jù)速率”是一般性地被采用??梢员硎疚凰俾?,字節(jié)速率,或甚至是包速率。同樣,在解碼器緩沖器232輸入上的數(shù)據(jù)速率表示為rd(i)。根據(jù)理想模型,re(iT)=rd(iT+δc)。另外,根據(jù)以上建立的約定,re(i)=rd(i)。因此,編碼器緩沖器216的范圍可表達(dá)為max[(Σj=n+1n+ΔNre(j)-Bmaxd),0]≤Be(n)≤min[(Σj=n+1n+ΔNre(j),Bmaxe)]]]>等式1其中Bdmax和Bemax分別為最大解碼器和編碼器緩沖區(qū)大小。
在理想情況下,也假定在第一幀進(jìn)入編碼器214以后,編碼器214立即開始發(fā)送數(shù)據(jù)。因此,啟動延時ddf(也就是,來自第一圖象的第一部分?jǐn)?shù)據(jù)在解碼以前在解碼器緩沖器232中花費(fèi)的延時時間)等于端對端,編碼器-解碼器緩沖器延時ddf=ΔT=T·ΔN。
在本發(fā)明的一種實(shí)施方案中,ITD緩沖器132通過考慮以上描述的理想緩沖器模型的問題和理想編碼器-解碼器緩沖器約束將下溢事件減至最少。ITD緩沖器132是以利用重發(fā)恢復(fù)丟失包為基礎(chǔ)的。
圖3是一種示范性端對端傳輸流式視頻的簡化方框圖,不支持重發(fā)。為簡單和清楚起見,流式視頻發(fā)射機(jī)110已由壓縮射頻源305代替,數(shù)據(jù)網(wǎng)120已由信道320代替。壓縮視頻源305以速率re(n)發(fā)送數(shù)據(jù)包,信道320以速率rtd(n)傳送數(shù)據(jù)包。因?yàn)楸緦?shí)施方案不支持視頻重發(fā),ITD緩沖器監(jiān)視器138和重發(fā)控制器139從圖中刪去。流式視頻接收機(jī)130已被簡化,用ITD緩沖器132和視頻解碼器134代表。
如上所述,ITD緩沖器132將臨時的和數(shù)據(jù)單元的占用模型合在一起。ITD緩沖器132將分成每個“T”秒的臨時段。例如,參數(shù)T可以是一個視頻序列中的幀周期。與給定的持續(xù)時間T有關(guān)的數(shù)據(jù)包(位,字節(jié),或包)被緩存在相應(yīng)的臨時段中。所有與臨時單元有關(guān)的數(shù)據(jù)包被稱為“入口”單元。例如,數(shù)據(jù)包351,352和353組成入口單元An+1,數(shù)據(jù)包354組成入口單元An+2,和數(shù)據(jù)包355和356組成入口單元An+3。
在時間間隔n期間,第n個入口單元,An,被解碼器134解碼,入口單元An+1被存儲在最靠近ITD緩沖器132輸出的臨時段。一個入口單元可以是音頻幀,視頻幀,或甚至是視頻幀的一部分,如塊組(GOB)。因此,將一個入口單元解碼或顯示所需的持續(xù)時間與臨時段的持續(xù)時間T相同。在時間間隔n期間,數(shù)據(jù)進(jìn)入ITD緩沖器132的速率是rtd(n)。在每個入口單元中數(shù)據(jù)包的數(shù)目并不要求是相同的。在視頻編碼器114中所用的壓縮算法可以用不同的數(shù)量壓縮在相繼的入口單元中的數(shù)據(jù)包,即使每個入口單元代表相同持續(xù)時間的臨時單元。
例如,在入口單元An+1中三個數(shù)據(jù)包351-353可以組成一個完全的視頻幀,幀1。在An+2中單個數(shù)據(jù)包354可以表示只是幀2中與幀1不同的那些部分。然而,如果幀1數(shù)據(jù)已知的話,數(shù)據(jù)包354足夠建立幀2。因?yàn)閹?和幀2具有相同的持續(xù)時間,臨時段,T,對于An+1和An+2是相同的。
每個臨時段保持最大數(shù)目的包,Kmax,每個包具有最大尺寸,bmax(用位或字節(jié)為單位)。因此,一個入口單元的最大尺寸,Smax,可以表示為Smax≥Kmax(bmax)。視頻編碼器114被假定為以只在此入口單元中出現(xiàn)的新包開始每個入口單元。
在時間指數(shù)n上ITD緩沖器132中的數(shù)據(jù)量Btd(n)可用Ba(n)和Bb(n)描述,Ba(n)代表在間隔n開始時,ITD緩沖器132中順序并完整的入口單元的數(shù)目,Bb(n)代表在間隔n結(jié)束時,ITD緩沖器132中總的順序的數(shù)據(jù)量。對于Ba(n),包含部分?jǐn)?shù)據(jù)的臨時段不計(jì)數(shù),所有后隨部分段的段也不計(jì)數(shù),即使它們包含夠一個完整的入口單元數(shù)據(jù)。因此,T·Ba(n)代表在時間指數(shù)n時ITD緩沖器132保存多少臨時單元的(例如,若干秒)視頻(如果沒有更多數(shù)據(jù)到達(dá),不運(yùn)行至下溢)。
因此,結(jié)果Sn標(biāo)記入口單元n的大小,在Ba和Bb之間的關(guān)系可用等式2表示如下Bb(n)=Σj=n+1n+Ba(n)Sj+UBa(n)+1]]>等式2其中Sj是對于臨時段j的最大入口單元尺寸,UaB(n)+1是入口單元An+Ba(n)+1的部分(不完整)數(shù)據(jù),是在時間指數(shù)n開始時存儲在臨時段Ba(n)+1中的。
當(dāng)重發(fā)被作為一種實(shí)施方案得到支持時,ITD緩沖器132需要有能力用于a)在每個臨時時間間隔n開始時輸出夠一個臨時段(T)的數(shù)據(jù);b)檢測丟失的包并發(fā)送有關(guān)的否定確認(rèn)(NACK)消息到發(fā)射機(jī)110或305;c)連續(xù)存儲新到達(dá)的一次(也就是,不是重發(fā)的)包;和d)存儲重發(fā)的包。理想的ITD緩沖器132保持視頻流的數(shù)據(jù)速率,沒有由于重發(fā)任何丟失數(shù)據(jù)引起的延時。換句話說,如果re(n)是在無損環(huán)境下由一個理想的視頻編碼器114使用的傳送數(shù)據(jù)速率,理想的ITD緩沖器132將保持這個數(shù)據(jù)速率沒有由于重發(fā)過程引起的降低。根據(jù)重發(fā)請求的次數(shù),編碼器緩沖器116可以通過ITD緩沖器132的相應(yīng)調(diào)節(jié)來調(diào)節(jié)其輸出數(shù)據(jù)速率re(n)。
在一種實(shí)施方案中,解碼器緩沖器131為輸入視頻流增加緩存,以便補(bǔ)償為檢測和恢復(fù)丟失數(shù)據(jù)所需要的時間以及與“真實(shí)”世界的實(shí)現(xiàn)有關(guān)的延時。通過用這個補(bǔ)償時間將所有輸入視頻流延時,解碼器緩沖器131按解碼所需的連續(xù)速率輸出視頻流數(shù)據(jù)。重發(fā)控制器139和ITD緩沖器132合并處理使為檢測包的缺席和傳送用于由流式視頻發(fā)射機(jī)110重發(fā)的NACK的時間為最小。為檢測預(yù)定數(shù)目丟失包所需的最小持續(xù)時間用TL表示。通常TL是由于數(shù)據(jù)到達(dá)滯后于ITD緩沖器132預(yù)期時間引起的延時抖動的函數(shù)。
流式視頻接收機(jī)130在被告知丟失包以后恢復(fù)包需要的最小時間量用TR表示。時間TR包括為流式視頻接收機(jī)130發(fā)送NACK到流式視頻發(fā)射機(jī)110所需的時間和為重發(fā)數(shù)據(jù)到達(dá)流式視頻接收機(jī)130所需的時間(假定NACK和重發(fā)數(shù)據(jù)未被丟失)。
示范性的解碼器緩沖器131在丟失包間隔期間以最小延時(TL+TR)傳送重發(fā)數(shù)據(jù)包。如果對于一個理想解碼器緩沖器131來說,任何視頻數(shù)據(jù)所經(jīng)受的最小延時用ddmin表示,可被加到最小理想延時上以便計(jì)算重發(fā)的總延時的延時量ΔR為ΔR≥u(TL+TR-ddmin)等式3其中u(X)=X,對于X>0;u(X)=0,對于X≤0。
解碼器緩沖器131為所有到視頻解碼器的輸出數(shù)據(jù)緩存增加延時ΔR,以便為對數(shù)據(jù)解碼和傳送提供時間,這樣就得到連續(xù)視頻流。因此,總的編碼器緩沖器116到解碼器緩沖器132輸出的延時(ΔTOT)可表示為
ΔTOT=Δideal+ΔR≥Δideal+u(TL+TR-ddmin) 等式4ITD緩沖器132為最小數(shù)目的臨時段(Bamin)提供緩存(存儲)作為對重發(fā)時間需要的補(bǔ)償和防止下溢事件。ITD緩沖器132可以根據(jù),例如,用于存儲臨時段的最小和最大范圍來定大小。確定這些范圍的過程描述在以下的章節(jié)中。
在不存在丟失包和延時抖動的情況下,在任何時間指數(shù)n時,ITD緩沖器132提供以下的占用能力TBa(n)≥TBmina=TL+TR]]>等式5一個理想的ITD緩沖器132具有最大的解碼延時(ddmax),其中ddmax≥Δideal。因此,在不存在丟失包和延時抖動的情況下,理想的ITD緩沖器132滿足以下要求T·Ba(n) S ddmax+u(TL+TR-ddmin) ≤ Δideal+u(TL+TR-ddmin)等式6進(jìn)而,在不存在丟失包和延時抖動的情況下,理想ITD緩沖器132為TBa(n)數(shù)據(jù)提供存儲要求,范圍如下TL+TR≤T·Ba(n)≤ddmax+u(TL+TR-ddmin)等式7ITD緩沖器132考慮延時抖動的存儲能力可被表達(dá)為TR≤ T·Ba(n)≤ ddmax+u(TL+TR-ddmin)+TE等式8其中TE是與包到達(dá)早于ITD緩沖器132預(yù)期時間有關(guān)的延時抖動。因此,如果Bamax是ITD緩沖器132保存的最大數(shù)目的臨時段,那么T·Bmaxa≥ddmax+u(TL+TR-ddmin)+TE]]>等式9或者Bmaxa≥[ddmax+u(TL+TR-ddmin)+TET]]]>ITD緩沖器132的存儲能力是基于以上的等式,最小理想存儲要求,和與數(shù)據(jù)傳送有關(guān)的延時。ITD緩沖器132具有由理想編碼器緩沖器116確定的最小尺寸,用Bamax表示。ITD緩沖器132提供附加的存儲用以調(diào)節(jié)由ITD緩沖器132引入的延時和比預(yù)期早到的數(shù)據(jù)。用于容納這些示范性延時的ITD緩沖器132存儲要求(用臨時單元為單位)用Textra表示,如下所示。
Textra=u(TL+TR-ddmin)+TE等式10利用這個關(guān)系,為滿足Bbmax上限的ITD緩沖器132存儲要求(用臨時單元為單位)用以下的上限關(guān)系表示Bmaxb≥Bmaxd+Rmax·Texcra=Bmaxd+Rmax[u(TL+TR-ddmin)+TE]]]>等式11理想的ITD緩沖器132具有等于零的最小解碼延時(ddmin)和等于理想的端對端緩沖延時(Δideal)的最大解碼延時(ddmax)。理想的ITD緩沖器132被定尺寸以提供額外的最小延時,等于TL+TR,其中TL和TR被假定是持續(xù)時間T的整倍數(shù)。通過將理想緩沖器區(qū)ddmin=0和dmax=Δideal替換到以前描述過的關(guān)于ΔTOT的等式中找到最小時間延時要求。這個額外的緩沖器要求存儲NL+NR臨時段,其中NR=TR/T,N=TL/T。因而,理想的ITD緩沖器132被找到以提供用于以下臨時段數(shù)目的存儲Bmaxa≥NL+NR+[(TL+ddmax)/T]]]>等式12因?yàn)樽畲蠼獯a延時,ddmax=Δideal=ΔT,對應(yīng)于ΔN臨時段,Bbmax被進(jìn)一步描述于下Bmaxa≥NR+NL+ΔN=NE]]>等式13其中NE=[TE/T]圖4是示出數(shù)據(jù)包流在ddmin=0(低限水平)和dmax=Δideal的假定下通過示范性ITD緩沖器132不同區(qū)的順序圖。ITD緩沖器132數(shù)據(jù)從圖的右側(cè)進(jìn)入并在左側(cè)離去到視頻解碼器134。最近接收到的數(shù)據(jù)位于標(biāo)記為“太早用于重發(fā)請求區(qū)”(太早)的緩沖器區(qū)中。根據(jù)在緩沖器太早區(qū)中的位置,ITD緩沖器132引入標(biāo)記為NE,ΔN,或NL的緩沖器延時。這個包括理想延時ΔN的太早緩沖器區(qū)的區(qū)域被標(biāo)記為理想緩沖器區(qū)。ITD緩沖器132將理想緩沖器區(qū)作為理想視頻緩沖器管理,也就是,通過這區(qū)的數(shù)據(jù)包流只用固有特性的緩沖器部件延時。理想ITD緩沖器132提供其余的太早緩沖器區(qū)來補(bǔ)償與傳送視頻流從流式視頻發(fā)射機(jī)110到解碼器131有關(guān)的延時(NE),以及由被延時或丟失的視頻包引起的延時(NL)。
ITD緩沖器132在重發(fā)區(qū)中提供延時NR,以便補(bǔ)償用于啟動和接收重發(fā)請求的預(yù)期時間要求。示范性的解碼器緩沖器131在與重發(fā)區(qū)有關(guān)的時間周期內(nèi)啟動重發(fā)請求。
指出這點(diǎn)是重要的,取決于不同的延時參數(shù)(ddmin,TR,TL)值,理想緩沖器和重發(fā)區(qū)可以重迭。然而,對于ddmin=0的示范性理想ITD緩沖器132,重發(fā)和理想緩沖器區(qū)并不重迭。
對于ITD緩沖器132,NE代表初始解碼延時(ddf),對應(yīng)于在第一圖象(或者入口單元)解碼以前進(jìn)入緩沖器的數(shù)據(jù)的最先部分遇到的延時量。其中,此ddf是基于在已過去的時間ddf期間流式視頻發(fā)射機(jī)110和數(shù)據(jù)網(wǎng)120數(shù)據(jù)傳輸速率。在理想情況下,ITD緩沖器132利用相同的數(shù)據(jù)速率將接收到的數(shù)據(jù)進(jìn)入其緩沖器(存儲)區(qū)。理想的解碼器緩沖器131辨別在第一入口單元剛剛被作為Bod數(shù)據(jù)解碼的時間前在其ITD緩沖器132區(qū)中的數(shù)據(jù)量。這個Bod數(shù)據(jù),也被稱為“啟動延時”數(shù)據(jù),由以下關(guān)系確定B0d=Σj=1ΔNre(j)]]>等式14當(dāng)ddmin=0時,理想解碼器緩沖器131重發(fā)處理包括以下步驟理想緩沖器區(qū)被充滿直到與啟動延時有關(guān)的所有數(shù)據(jù)在緩沖器中為止。因?yàn)閬G失事件也可發(fā)生在這個時間間隔內(nèi),這些數(shù)據(jù)可用特殊方法處理,例如利用對它們來說可靠的傳輸(例如,利用TCP)。
當(dāng)Σk=NR+NL+1NR+NL+ΔNBk=B0d]]>等式15時滿足無損數(shù)據(jù)的理想條件其中BK是在任何時刻上存儲在理想ITD緩沖器132臨時段K中的數(shù)據(jù)量。
2.在等式15被滿足以后,ITD緩沖器132將所有臨時存儲段朝緩沖器輸出推進(jìn)一段。接著,理想ITD緩沖器132每T個時間單位重復(fù)此過程一次。在NL+NR個T周期以后(也就是TL+TR以后),解碼器134開始對第一入口單元解碼。當(dāng)?shù)谝蝗肟趩卧獯a開始的時間周期被標(biāo)記為T1。因此,任何時間周期n(Tn)的開始表示入口單元An+k被移到臨時段K的時間。理想ITD緩沖器132考慮在作為被丟失的重發(fā)緩沖器區(qū)的臨時段NR中的數(shù)據(jù)丟失。
當(dāng)BN2(n)<Sn+NR]]>時這種條件發(fā)生。其中BNR(n)]]>是在時間周期n上臨時段NR中的數(shù)據(jù)量,sj是入口單元j的大小。當(dāng)理想ITD緩沖器132確定數(shù)據(jù)被丟失,發(fā)送重發(fā)請求到流式視頻發(fā)射機(jī)110。
4.理想ITD緩沖器132將到達(dá)的重發(fā)數(shù)據(jù)放入它們相應(yīng)的重發(fā)區(qū)的臨時段。假定重發(fā)數(shù)據(jù)被接收到,在它們相應(yīng)的入口單元的解碼時間以前理想ITD緩沖器132將重發(fā)數(shù)據(jù)傳送到視頻解碼器134。
圖5是示出數(shù)據(jù)包流通過示范性的ITD緩沖器的不同區(qū)的順序圖,其中理想緩沖器,NL,和重發(fā)區(qū)之間有重迭。對于這種情況,ITD緩沖器132被配置為最大外部邊界,其中ddmin≥TL+TR,使它的理想緩沖器區(qū)完全覆蓋它的重發(fā)區(qū)。因此,在所有與啟動延時有關(guān)的數(shù)據(jù)到達(dá)以后解碼器緩沖器131將接收到的視頻流傳送到視頻解碼器134。然后,視頻解碼器134將第一入口單元解碼沒有進(jìn)一步的延時。解碼器緩沖器131如以前描述的那樣執(zhí)行重發(fā)功能。
當(dāng)ddmin具有最小和最大邊界區(qū)域之間值(即,當(dāng)0<ddmin<TL+TR時)時,帶有附加延時(TL+TR-ddmin)的一般情況下,解碼器緩沖器131以類似方式在流式視頻發(fā)射機(jī)110和視頻解碼器134之間提供數(shù)據(jù)傳送。
雖然本發(fā)明已被詳細(xì)描述,本領(lǐng)域的技術(shù)人員應(yīng)該理解,他們可在其中做各種改變,替換和變更而不偏離最廣泛形式下本發(fā)明的精神和范圍。
權(quán)利要求
1. 為了利用能夠?qū)α魇揭曨l解碼的視頻解碼器(134),一個能夠從流式視頻發(fā)射機(jī)接收數(shù)據(jù)包(351)的解碼器緩沖器(132)包括所述的流式視頻和將所述的數(shù)據(jù)包(351)存入多個入口單元,每個所述的入口單元能夠保存與所述的流式視頻中所選的幀有關(guān)的至少一個數(shù)據(jù)包,其中所述的解碼器緩沖器(132)包括第一緩沖器區(qū),包括至少一個入口單元,能夠存儲很少為所述的視頻解碼器(134)立即需要的數(shù)據(jù)包(351);和重發(fā)區(qū),包括至少一個入口單元,能夠存儲多半為所述的視頻解碼器(134)立即需要的數(shù)據(jù)包(351),其中所述的解碼器緩沖器(132),對在所述的重發(fā)區(qū)中檢測到丟失數(shù)據(jù)包作出響應(yīng)請求所述的流式視頻發(fā)射機(jī)重發(fā)所述的丟失包。
2.在權(quán)利要求1中提出的解碼器緩沖器(132),其中至少一個所述的數(shù)據(jù)包(351)在等于所述的解碼器緩沖器(132)的啟動延時時間的時間周期內(nèi)被存儲在所述的第一緩沖器區(qū)中。
3.在權(quán)利要求1中提出的解碼器緩沖器(132),其中所述的數(shù)據(jù)包(351)首先被存儲在所述的第一緩沖器區(qū)中并被移入所述的重發(fā)區(qū)。
4.在權(quán)利要求1中提出的解碼器緩沖器(132),其中所述的第一緩沖器區(qū)是與所述的重發(fā)區(qū)分開的。
5.在權(quán)利要求1中提出的解碼器緩沖器(132),其中所述的第一緩沖器區(qū)覆蓋至少一部分所述的重發(fā)區(qū)。
6.在權(quán)利要求5中提出的解碼器緩沖器(132),其中所述的第一緩沖器區(qū)覆蓋所有的所述的重發(fā)區(qū)。
7.在權(quán)利要求1中提出的解碼器緩沖器(132),其中所述的第一緩沖器區(qū)被第二緩沖器區(qū)與所述的重發(fā)區(qū)分開,其中一個遲到的數(shù)據(jù)包相對于所述的遲到數(shù)據(jù)包的預(yù)期到達(dá)時間是晚的,但對于要求所述的遲到數(shù)據(jù)包重發(fā)來說并不太晚。
8.一種能夠接收編碼的流式數(shù)據(jù)的接收機(jī),包括一種能夠?qū)崿F(xiàn)以下各項(xiàng)中至少一項(xiàng)的設(shè)備(136)1)顯示與所述的編碼流式數(shù)據(jù)有關(guān)的流式視頻數(shù)據(jù),和2)以聲音播放與所述的編碼流式數(shù)據(jù)有關(guān)的流式音頻數(shù)據(jù);一種能夠?qū)λ龅木幋a流式數(shù)據(jù)解碼的解碼器(134);和一種解碼器緩沖器(132),能夠從流式數(shù)據(jù)發(fā)射機(jī)接收數(shù)據(jù)包(351),包括所述的編碼流式數(shù)據(jù)和在多個入口單元中存儲的所述的數(shù)據(jù)包(351),每個所述的入口單元能夠保存與所述的編碼流式數(shù)據(jù)的所選部分有關(guān)的至少一個數(shù)據(jù)包,其中所述的解碼器緩沖器(132)包括第一緩沖器區(qū),包括至少一個入口單元,能夠存儲很少為所述的解碼器(134)立即所需的數(shù)據(jù)包(351);和重發(fā)區(qū),包括至少一個入口單元,能夠存儲多半為所述的解碼器(134)立即所需的數(shù)據(jù)包(351),其中所述的解碼器緩沖器(132),對在所述的重發(fā)區(qū)中檢測到丟失數(shù)據(jù)包作出響應(yīng),請求所述的流式視頻發(fā)射機(jī)重發(fā)所述的丟失包。
9.在權(quán)利要求8中提出的接收機(jī),其中至少一個所述的數(shù)據(jù)包(351)在等于所述的解碼器緩沖器(132)的啟動延時時間的時間周期內(nèi)被存入所述的第一緩沖器區(qū)。
10.在權(quán)利要求8中提出的接收機(jī),其中所述的數(shù)據(jù)包(351)首先被存儲在所述的第一緩沖器區(qū)并移入所述的重發(fā)區(qū)。
11.在權(quán)利要求8中提出的接收機(jī),其中所述的第一緩沖器區(qū)與所述的重發(fā)區(qū)分開。
12.在權(quán)利要求8中提出的接收機(jī),其中所述的第一緩沖器區(qū)覆蓋至少部分所述的重發(fā)區(qū)。
13.在權(quán)利要求12中提出的接收機(jī),其中所述的第一緩沖器區(qū)覆蓋所有的所述的重發(fā)區(qū)。
14.在權(quán)利要求8中提出的接收機(jī),其中所述的第一緩沖器區(qū)被第二緩沖器區(qū)與所述的重發(fā)區(qū)分開,其中一個遲到的數(shù)據(jù)包對于所述的遲到數(shù)據(jù)包預(yù)期的到達(dá)時間來說是晚的,但對于需要重發(fā)所述的遲到數(shù)據(jù)包來說并不太晚。
15.為了利用一種能夠?qū)α魇揭曨l解碼的視頻解碼器(134),一種將流式視頻緩存的方法包括以下步驟從流式視頻發(fā)射機(jī)接收數(shù)據(jù)包(351),包括流式視頻和將數(shù)據(jù)包存入解碼器緩沖器(132)中多個入口單元,每個入口單元能夠保存與流式視頻中所選的幀有關(guān)的至少一個數(shù)據(jù)包;將很少為視頻解碼器(134)立即需要的數(shù)據(jù)包(351)存入解碼器緩沖器(132)的第一緩沖器區(qū)中,包括能夠存儲數(shù)據(jù)包(351)的至少一個入口單元;和將多半為視頻解碼器(134)立即需要的數(shù)據(jù)包(351)存入解碼器緩沖器(132)的重發(fā)區(qū)中,包括至少一個入口單元,其中解碼器緩沖器(132),對在重發(fā)區(qū)中檢測到丟失數(shù)據(jù)包作出響應(yīng),請求流式視頻發(fā)射機(jī)重發(fā)丟失包。
16.在權(quán)利要求15中提出的解碼器緩沖器(132),其中至少一個數(shù)據(jù)包(351)在等于解碼器緩沖器(132)的啟動延時時間的時間周期內(nèi)被存入第一緩沖器區(qū)。
17.在權(quán)利要求15中提出的解碼器緩沖器(132),其中數(shù)據(jù)包(351)首先被存入第一緩沖器區(qū)并被移入重發(fā)區(qū)。
18.在權(quán)利要求15中提出的解碼器緩沖器(132),其中第一緩沖器區(qū)是與重發(fā)區(qū)分開的。
19.在權(quán)利要求15中提出的解碼器緩沖器(132),其中第一緩沖器區(qū)覆蓋至少部分重發(fā)區(qū)。
20.在權(quán)利要求19中提出的解碼器緩沖器(132),其中第一緩沖器區(qū)覆蓋所有的重發(fā)區(qū)。
21. 在權(quán)利要求15中提出的解碼器緩沖器(132),其中第一緩沖器區(qū)被第二緩沖器區(qū)與重發(fā)區(qū)分開,其中一個遲到的數(shù)據(jù)包對于該遲到數(shù)據(jù)包的預(yù)期到達(dá)時間是晚的,但對于需要重發(fā)遲到數(shù)據(jù)包來說并不太晚。
全文摘要
在此公開一種解碼器緩沖器,能夠接收流式視頻數(shù)據(jù)包并將數(shù)據(jù)包存入多個入口單元。每個入口單元保存至少一個與流式視頻中所選幀有關(guān)的數(shù)據(jù)包。解碼器緩沖器包括:1)第一緩沖器區(qū),包括至少一個入口單元,用于存儲很少立即為視頻解碼器所需的數(shù)據(jù)包;和2)重發(fā)區(qū),包括至少一個入口單元,用于存儲多半立即為視頻解碼器所需的數(shù)據(jù)包。解碼器緩沖器,對在重發(fā)區(qū)中檢測到丟失數(shù)據(jù)包作出響應(yīng),請求流式視頻發(fā)射機(jī)重發(fā)丟失包。
文檔編號H04J3/00GK1293871SQ99803996
公開日2001年5月2日 申請日期1999年11月18日 優(yōu)先權(quán)日1998年11月18日
發(fā)明者H·拉德哈, K·帕塔薩拉蒂 申請人:皇家菲利浦電子有限公司