技術(shù)領(lǐng)域
本發(fā)明涉及復(fù)用方法和復(fù)用裝置,具體涉及復(fù)用對應(yīng)于分層編碼內(nèi)容的多個比特流的方法和裝置,以及處理比特流的方法和裝置。
背景技術(shù):
當(dāng)傳輸音頻視頻(AV)流時,一個常見的挑戰(zhàn)是,在確保每個AV服務(wù)的質(zhì)量維持在接受閾值以上的同時,在固定容量網(wǎng)絡(luò)鏈路(固定帶寬)內(nèi)發(fā)送盡可能多的流(頻道)。
當(dāng)使用恒定比特率(CBR)流時,常常使用簡單的時分復(fù)用在AV服務(wù)之間共享可用帶寬。盡管在為每個服務(wù)分配帶寬方面較為簡單,但令人遺憾地是在AV編碼方面低效。實際上,當(dāng)使用CBR編碼時,并不考慮序列的復(fù)雜度,而是用相同的比特率對它們進(jìn)行編碼。
可變比特率(VBR)編碼允許在較高復(fù)雜度的序列(例如,細(xì)節(jié)更多、移動更多的序列)上使用較高的比特率,同時確保對較低復(fù)雜度的序列使用較低的比特率。通常,計算音頻/視頻內(nèi)容的復(fù)雜度,以決定在給定實例中將多大的比特率專用于音頻/視頻內(nèi)容的編碼。
給定容量網(wǎng)絡(luò)鏈路內(nèi)可以傳輸多個VBR流。例如,圖1A示出了通過同定容量的網(wǎng)絡(luò)鏈路一起傳輸?shù)氖纠孕蛄蠬D1、HD2、HD3和HD3,如虛線所示。當(dāng)在固定容量網(wǎng)絡(luò)鏈路內(nèi)傳輸多個VBR時,我們要確保多個VBR流累加起來的流不超過網(wǎng)絡(luò)鏈路容量,并且盡最大可能使用總可用帶寬。該問題的常見解決方案是統(tǒng)計復(fù)用。
統(tǒng)計復(fù)用基于這樣的假設(shè),統(tǒng)計學(xué)上看,在相同網(wǎng)絡(luò)鏈路中,來自一個流的較高復(fù)雜度場景和來自另一個流的較低復(fù)雜度場景可能同 時發(fā)生。因此,用于編碼復(fù)雜場景的額外帶寬可以取自同一時刻對低復(fù)雜度場景的編碼所省下的帶寬。統(tǒng)計復(fù)用通常實時評估所有AV流的復(fù)雜度,然后考慮所有流的復(fù)雜度,在每個流之間分配總可用帶寬。當(dāng)多個流競爭帶寬時,可以使用附加機(jī)制,例如簡單優(yōu)先級,以決定帶寬共享。
技術(shù)實現(xiàn)要素:
本發(fā)明目的是彌補(bǔ)現(xiàn)有技術(shù)的缺點(diǎn)。具體地,在一些實施例中,本發(fā)明能夠降低復(fù)用后的比特率峰值。本發(fā)明原理提供一種處理第一比特流和第二比特流的方法,包括:訪問第一比特流和第二比特流,其中第一比特流對應(yīng)于分層編碼內(nèi)容的基礎(chǔ)層和分層編碼內(nèi)容的增強(qiáng)層中的一個,第二比特流對應(yīng)于分層編碼內(nèi)容的基礎(chǔ)層和分層編碼內(nèi)容的增強(qiáng)層中的另一個;將第二比特流延時第一持續(xù)時間;以及如下文所述,復(fù)用第一比特流和被延時的第二比特流。
根據(jù)實施例,所述方法還包括:確定復(fù)用流中超過網(wǎng)絡(luò)鏈路的容量的比特;以及將確定的比特時移第二持續(xù)時間。
根據(jù)實施例,所述方法還包括,響應(yīng)于分層編碼內(nèi)容的編碼參數(shù),確定第一持續(xù)時間,所述編碼參數(shù)包括圖像組GOP長度和GOP結(jié)構(gòu)中的至少一個。根據(jù)變型,第一持續(xù)時間隨GOP而變化。
根據(jù)實施例,所述方法還包括發(fā)送復(fù)用流和表示第一持續(xù)時間的信息。本發(fā)明原理還提供用于執(zhí)行這些步驟的裝置。
根據(jù)實施例,所述裝置布置在服務(wù)器和視頻復(fù)用器中的一個中。
根據(jù)實施例,所述裝置包括發(fā)送天線、到發(fā)送天線的接口、視頻編碼器、視頻存儲器、視頻服務(wù)器、與視頻相機(jī)的接口以及視頻相機(jī)。
本發(fā)明原理還提供一種處理第一比特流和第二比特流的方法,包括:將第一比特流解碼為節(jié)目內(nèi)容的第一表示;在自第一比特流解碼的延時之后,將第二比特流解碼為節(jié)目內(nèi)容的第二表示,其中第一比特流對應(yīng)于分層編碼內(nèi)容的基礎(chǔ)層和分層編碼內(nèi)容的增強(qiáng)層中的一個,第二比特流對應(yīng)于分層編碼內(nèi)容的基礎(chǔ)層和分層編碼內(nèi)容的增強(qiáng)層中的另一個;以及輸出對應(yīng)于第一表示和第二表示的信號用于呈現(xiàn), 如下文所述。
根據(jù)實施例,所述方法還包括,以比第一比特流、第二比特流和傳輸流中的至少一個中指定的速度低的速度,呈現(xiàn)第一表示。
根據(jù)實施例,所述方法還包括,在第一表示和第二表示的呈現(xiàn)在時間上對齊后,以指定的速度呈現(xiàn)第一表示。
根據(jù)實施例,所述方法還包括,從傳輸流中解復(fù)用第一比特流、第二比特流和表示延時的信息。
本發(fā)明原理還提供用于執(zhí)行這些步驟的裝置。
根據(jù)實施例,所述裝置包括以下一項或多項:天線或到天線的接口、通信接口、視頻解碼器、視頻存儲器和顯示器。
本發(fā)明原理還提供一種計算機(jī)可讀存儲介質(zhì),存儲有根據(jù)上述方法處理第一比特流和第二比特流的指令。
附圖說明
圖1A是示出了通過固定容量網(wǎng)絡(luò)鏈路傳輸?shù)乃膫€示例性序列的圖示,以及圖1B是示出了通過固定容量網(wǎng)絡(luò)鏈路傳輸?shù)姆謱泳幋a的基礎(chǔ)層比特流和增強(qiáng)層比特流的圖示。
圖2是示出了根據(jù)本發(fā)明原理實施例的相對基礎(chǔ)層比特流(HD1)移位延時D的增強(qiáng)層比特流(UHD1)的圖示。
圖3是示出了根據(jù)本發(fā)明原理實施例的用于執(zhí)行復(fù)用的示例性方法的流程圖。
圖4是示出了根據(jù)本發(fā)明原理實施例的用于執(zhí)行頻道改變的示例性方法的流程圖。
圖5是示出了根據(jù)本發(fā)明原理實施例的用于執(zhí)行頻道改變的另一示例性方法的流程圖。
圖6A和6B是示出了根據(jù)圖4描述的方法,分別在“重播”模式和“等待”模式中隨時間可以向用戶展示的事物的圖示,圖6C是示出了根據(jù)圖5描述的方法隨時間可以向用戶展示的事物的圖示,以及圖6D示出了可以根據(jù)圖5描述的方法將基礎(chǔ)層呈現(xiàn)和增強(qiáng)層呈現(xiàn)對齊。
圖7A是示出了來自兩個頻道的比特流的圖示,每個頻道具有基 礎(chǔ)層和增強(qiáng)層,以及圖7B是示出了根據(jù)本發(fā)明原理實施例的被移位了一時間窗的“超限”部分的比特的圖示。
圖8是示出了根據(jù)本發(fā)明原理實施例的示例性發(fā)送系統(tǒng)的框圖。
圖9是示出了根據(jù)本發(fā)明原理實施例的示例性接收系統(tǒng)的框圖。
圖10是示出了根據(jù)本發(fā)明原理實施例的另一示例性接收系統(tǒng)的框圖。
具體實施方式
當(dāng)傳輸相同內(nèi)容的兩種表示時,不對它們中的每一個進(jìn)行單獨(dú)編碼,而是使用分層編碼,并通過相同的網(wǎng)絡(luò)鏈路同時傳輸它們是有利的。借助分層編碼,基礎(chǔ)層(BL)提供基本質(zhì)量,而后續(xù)的增強(qiáng)層(EL)逐步地精細(xì)化質(zhì)量。例如,相同內(nèi)容的高清HD和超清UltraHD(UHD)版本可以作為一個分層編碼內(nèi)容來傳送,其中,基礎(chǔ)層包含媒體的HD版本,增強(qiáng)層包含由HD內(nèi)容重建UltraHD內(nèi)容所需的額外信息。
分層編碼中,由于基礎(chǔ)層和增強(qiáng)層表示具有不同質(zhì)量的相同內(nèi)容,所以它們的復(fù)雜度(因此,編碼后它們的比特率需要適合的質(zhì)量)通常遵從相似的趨勢,并且它們的比特率通常在相似的時刻呈現(xiàn)出峰值和谷值。該比特率峰值可能給統(tǒng)計復(fù)用帶來問題,統(tǒng)計復(fù)用假設(shè)來自不同的流的峰值和谷值應(yīng)在統(tǒng)計學(xué)上很少共存。具體地,來自不同比特流的同時發(fā)生的比特率峰值可能產(chǎn)生總帶寬使用方面的總峰值,并且基礎(chǔ)層和增強(qiáng)層所需的比特率可能超過專用于該服務(wù)的網(wǎng)絡(luò)鏈路容量。
例如,如圖1B所示,使用分層編碼對相同內(nèi)容的HD和UltraHD版本進(jìn)行編碼,并通過同定容量網(wǎng)絡(luò)鏈路將所得到的BL和EL比特流(HD1和UHD1)一起傳輸,如虛線所示。HD1和UHD1幾乎在相同時間具有比特率峰值,并且在比特率峰值附近,總比特率超過最大可用帶寬。為避免帶寬溢出,可以使用較低的比特率、因而較低的服務(wù)質(zhì)量來重新生成HD1和UHD1比特流。
在本發(fā)明原理中,我們提出不同的方法,以使統(tǒng)計復(fù)用適用于分層編碼內(nèi)容。在一個實施例中,我們在增強(qiáng)層比特流或基礎(chǔ)層比特流 中引入延時,使得不同層的比特率峰值不再同時發(fā)生,并且可以降低總峰值的幅值。
在以下示例中,我們假設(shè)分層編碼中只有一個增強(qiáng)層,并且分層編碼適用于視頻內(nèi)容。本發(fā)明原理可以適用于存在更多個增強(qiáng)層的情形并且適用于其他類型的媒體,例如音頻內(nèi)容。本申請中,我們使用術(shù)語“BL版本”或“BL內(nèi)容”來指代對應(yīng)于基礎(chǔ)層的原始或解碼內(nèi)容,使用術(shù)語“EL版本”或“EL內(nèi)容”來指代對應(yīng)于增強(qiáng)層的原始或解碼內(nèi)容。注意,為解碼EL版本,通常需要基礎(chǔ)層。
圖2示出了將增強(qiáng)層比特流(UHD1)移位延時D的示例。通過引入延時,圖1B中示出的高峰值此時變換為被持續(xù)時間D隔開的兩個較低的峰值。
圖3示出了根據(jù)本發(fā)明原理實施例的用于執(zhí)行復(fù)用的示例性方法300。圖3在步驟305開始。在步驟310,執(zhí)行初始化,例如,確定延時D的持續(xù)時間,并且還可以確定要延時的是基礎(chǔ)層比特流還是增強(qiáng)層比特流。在步驟320,從分層編碼器或服務(wù)器訪問基礎(chǔ)層比特流和增強(qiáng)層比特流。在步驟330,將基礎(chǔ)層比特流或增強(qiáng)層比特流延時持續(xù)時間D。然后在步驟340復(fù)用來自可能延時的基礎(chǔ)層和增強(qiáng)層的比特流。法300在步驟399結(jié)束。
延時D可以是同定的,并且可以基于編碼參數(shù)來確定,例如,基于GOP(圖像組)長度和GOP結(jié)構(gòu),如根據(jù)MPEG標(biāo)準(zhǔn)所闡述。在一個示例中,可以將延時D設(shè)置為GOP長度的持續(xù)時間的一半。D的值還可以逐GOP改變。在一個示例中,D可以隨根據(jù)編碼結(jié)構(gòu)(僅幀內(nèi)編碼,IPPPP、IBBBB或隨機(jī)訪問)的GOP和/或GOP長度而改變。在另一個示例中,如果增強(qiáng)層的質(zhì)量非常低,延時可以較小,因為增強(qiáng)層比特率峰值可能較小。如果我們使延時D逐GOP改變,則解碼器需要知道D的最大值(Dmax)以決定它的緩沖區(qū)大小,并且必須將Dmax發(fā)信號通知給解碼器。
在一些GOP結(jié)構(gòu)中,例如I0P8B4B2b1b3B6b5b7,在按照顯示順序的第一圖像(I0)和第二圖像(b1)之間存在顯著的延時。為避免解碼時數(shù)據(jù)耗盡的場景,本申請中,我們假設(shè)在開始對GOP進(jìn)行解碼 前需要整個GOP。本發(fā)明原理還可以適用于在不同時刻開始解碼。
對于傳統(tǒng)MPEG視頻編碼,最大頻道改變時間(也稱為zap時間)通常是2個GOP時間。對于分層編碼,由于增強(qiáng)層只能在接收和解碼基礎(chǔ)層后被解碼,增強(qiáng)層的頻道改變時間等于2個最大GOP時間,其中最大GOP時間是基礎(chǔ)層和增強(qiáng)層中使用的對給定層進(jìn)行解碼所需的最大GOP時間。當(dāng)BL和EL具有相同的GOP大小時,頻道改變時間是2個GOP時間,這和傳統(tǒng)MPEG視頻編碼相同。
如方法300所示,可以向增強(qiáng)層或基礎(chǔ)層添加延時。當(dāng)相對于增強(qiáng)層向基礎(chǔ)層添加延時時(即,在基礎(chǔ)層之前發(fā)送增強(qiáng)層),當(dāng)接收到基礎(chǔ)層的第一完整GOP(BL GOP)且準(zhǔn)備好顯示時,可能也已經(jīng)接收到增強(qiáng)層的第一完整GOP(EL GOP),呈現(xiàn)可以直接以EL版本開始。如果增強(qiáng)層中使用了比基礎(chǔ)層更長的GOP(通常是這種情況),則當(dāng)接收到第一完整BL GOP時,第一EL GOP可能未被完整接收,那么對于相對于基礎(chǔ)層向增強(qiáng)層添加延時的場景,必須先呈現(xiàn)基礎(chǔ)層,并且可以執(zhí)行到增強(qiáng)層的切換,如下文所述。相對于增強(qiáng)層向基礎(chǔ)層添加延時的一個優(yōu)點(diǎn)是,減小增強(qiáng)層的頻道改變時間,盡管可能存在額外的回放延時(除非直播事件,一般不是問題)。
當(dāng)相對于基礎(chǔ)層向增強(qiáng)層添加延時時,增強(qiáng)層的頻道改變時間變?yōu)?2GOP times+D)。附加的延時D可能使頻道改變時間過長。還可能使用戶難以理解,對于給定內(nèi)容,為何BL版本(如HD)的頻道改變要比EL版本(如UltraHD)快得多。
為減小頻道改變時間,本發(fā)明原理為EL內(nèi)容提供不同的頻道改變機(jī)制,例如,如以下在方法400和500中進(jìn)一步所描述。
圖4示出了根據(jù)本發(fā)明原理實施例的用于執(zhí)行頻道改變的示例性方法400。在步驟410,當(dāng)用戶請求到新的流的頻道改變時(T0時),接收新的流的BL比特流和可能的EL比特流。在步驟420,持續(xù)緩沖BL(及EL),直到接收到一個完整的BL GOP(T1時)。在步驟430,解碼BL內(nèi)容并呈現(xiàn)到顯示器。注意,至此所完成的是典型的BL頻道改變。
T1時,我們可以顯示BL內(nèi)容但不顯示EL內(nèi)容,因為EL比特流 被延時了D。為方便標(biāo)記,我們使用Fi來表示要被呈現(xiàn)的第i幀。在步驟440,在緩沖EL比特流的同時,繼續(xù)解碼和呈現(xiàn)BL內(nèi)容,直至接收到一個完整的EL GOP(T2時)。
T2時,此時解碼器以準(zhǔn)備好解碼和顯示EL內(nèi)容的第一幀F(xiàn)0,但是BL內(nèi)容的第一幀F(xiàn)0已在T1時被呈現(xiàn),因為EL被延時了D(D=T2-T1)。為重新同步這兩層,可以使用兩種模式:
“重播”模式:顯示器在T2時切換至EL版本,第一EL幀將再次為F0。也就是說,內(nèi)容可能看上去回退或在短時間內(nèi)重播。
“等待”模式:顯示過程在T2時暫停,以便從顯示幀F(xiàn)n(BL)切換到顯示幀F(xiàn)n+1(EL)。
T2時,用戶具有切換到EL版本的選項(步驟450),例如通過彈窗。當(dāng)用戶正在做出決定時(例如,當(dāng)向用戶展示彈窗時),仍可以在后臺呈現(xiàn)BL版本。如果用戶選擇不切換到EL版本,則在步驟460,繼續(xù)BL解碼和呈現(xiàn)。否則,如果用戶決定切換到EL版本,在步驟470,解碼器開始解碼和呈現(xiàn)EL幀,例如,使用“重播”模式或“等待”模式。
方法400的優(yōu)點(diǎn)是簡單,且允許用戶通過觀看BL版本在多個頻道之間快速改變,并且他被提供了僅當(dāng)EL版本實際可用時才觀看EL版本的選項。在一個實施例中,解碼器可以提議用戶設(shè)置,以決定是顯示該選項還是當(dāng)EL版本可用時總是自動切換到EL版本。
當(dāng)用戶從BL版本切換到EL版本時,質(zhì)量可能顯著地提高,并且用戶可能注意到質(zhì)量劇增。為平滑該質(zhì)量轉(zhuǎn)變,我們可以使用從BL到EL的漸進(jìn)式“分辨率上調(diào)”(upscaling),例如,使用題為“Method and apparatus for smooth stream switching in MPEG/3GPP-DASH”、發(fā)明人為Yuriy Reznik、Eduardo Asbun、Zhifeng Chen和Rahul Vanam美國申請No.13/868,968中描述的方法。
圖6A示出了響應(yīng)于用戶請求的頻道改變,根據(jù)方法400隨時間可以向用戶展示的事物,其中,用戶選擇以“重播”模式切換到EL版本。T0時,用戶請求頻道改變。T1時,完整的BL GOP變得可用,并且從BL的幀F(xiàn)0起,解碼和呈現(xiàn)BL內(nèi)容。T2時,完整的EL GOP變 得可用,并解碼EL流。此外,使用被緩沖的BL內(nèi)容,呈現(xiàn)F0的EL版本??傮w上,被呈現(xiàn)的序列是:F0(BL),F(xiàn)1(BL),F(xiàn)2(BL),...,F(xiàn)n(BL),F(xiàn)0(EL),F(xiàn)1(EL),F(xiàn)2(EL),...,F(xiàn)n(EL),F(xiàn)n+1(EL),F(xiàn)n+2(EL),...注意,在“重播”模式中,幀F(xiàn)0至Fn被播放了兩次,第一次是BL版本,然后是EL版本。
圖6B示出了響應(yīng)于用戶請求的頻道改變,可以根據(jù)方法400隨時間向用戶展示的事物,其中,用戶選擇以“等待”模式切換到EL版本。T0時,用戶請求頻道改變。T1時,完整的BL GOP變得可用,并且從BL的幀F(xiàn)0起,解碼和呈現(xiàn)BL內(nèi)容。T2時,完整的EL GOP變得可用,并解碼EL流。在T1和T2時刻之間,幀F(xiàn)0至Fk已被呈現(xiàn)。T2時,暫停BL內(nèi)容的呈現(xiàn)一段時間,直到EL內(nèi)容的第(k+1)幀變得可用。總體上,被呈現(xiàn)的序列是:F0(BL),F(xiàn)1(BL),F(xiàn)2(BL),...,F(xiàn)k(BL),暫停(D),F(xiàn)k+1(EL),F(xiàn)k+2(EL),...在“等待”模式中,當(dāng)BL版本切換到EL版本時,所顯示的視頻可顯示暫停。
圖5示出了根據(jù)本發(fā)明原理另一實施例的用于執(zhí)行頻道改變的另一示例性方法500。不失一般性,我們假設(shè)BL和EL的幀率相同。本發(fā)明原理還可以適用于幀率不同的情形。
在步驟510,訪問基礎(chǔ)層比特流。在步驟520,緩沖BL流,直到接收到完整的BL GOP時可以開始解碼。在步驟530,訪問增強(qiáng)層比特流。在步驟540,緩沖EL流,直到接收到完整的EL GOP時可以開始解碼。由于延時D的添加,BL比EL超前N幀,其中:
由于延時D,當(dāng)開始解碼時,來自BL和EL的幀的解碼幀可能不對齊。為了使BL和EL的呈現(xiàn)在時間上對齊,該實施例提出在步驟560,在它們對齊前,使BL的呈現(xiàn)減慢m%。注意,視頻內(nèi)容通常以比特流中指定用于回放的幀率來呈現(xiàn)。然而,在方法500中,為了對齊BL和EL,BL的呈現(xiàn)比指定幀率減慢m%。因此,在T3時,BL和EL二者將對齊,并同時提供相同的幀。如果在步驟550確定BL和EL內(nèi)容對齊,則在步驟570,以比特流中指定的常速來呈現(xiàn)BL和 EL。通過使用方法500,解碼器可以在不破壞幀流的情況下,無縫地從BL切換到EL。
可以使用以下公式來獲得時間T3:
T3=T1+D*100/m。
m的選擇很重要。m越大,用戶越可能注意到減慢的效果,因此將m保持得較低具有重要意義。另一方面,m越小,BL和EL對齊所用時間越長(T3時)。解碼器中要做出權(quán)衡??梢韵蛴脩粽故驹摻獯a器設(shè)置,也可以不展示。當(dāng)呈現(xiàn)速度降低量足夠低時(即,m值小),用戶通常難以感覺到視頻的減慢。然而,音頻流的減慢更易被注意到,我們可以使用已有的方案來改變音調(diào),以掩蓋這種減慢。
圖6C示出了響應(yīng)于用戶請求的頻道改變,可以根據(jù)方法500隨時間向用戶展示的事物。T0時,用戶請求頻道改變。T1時,完整的BL GOP變得可用,并且從BL的幀F(xiàn)0起,解碼和呈現(xiàn)BL內(nèi)容。T2時,完整的EL GOP變得可用,并解碼EL內(nèi)容。T3時,將BL和EL內(nèi)容的解碼對齊。在T1時和T3時之間,以較慢的速度呈現(xiàn)BL內(nèi)容,以便EL趕上,并且解碼但不呈現(xiàn)EL流。時間T3之后,以常速呈現(xiàn)BL和EL內(nèi)容二者。與圖6A不同,每個幀僅播放一次,并且從BL到EL的切換是無縫的。
圖6D使用十個幀作為示例,示出了如何可以根據(jù)方法500來對齊BL和EL呈現(xiàn)。注意,取決于減慢因子,可能需要多個GOP來對齊BL和EL。
如上文討論,向基礎(chǔ)層或增強(qiáng)比特流添加延時有助于降低同時發(fā)生的BL和EL流比特率峰值,因而更有效地使用帶寬。然而,有時候這并不能完全消除帶寬溢出(overflow)。因此,除了添加延時D,本發(fā)明原理還提出在發(fā)送比特流時使用時間窗。
為示出時間窗是如何工作的,圖7A示出了來自兩個頻道的比特流,并且在基礎(chǔ)層和增強(qiáng)層之間不使用延時。用于本申請的討論目的,圖中的每個柱條對應(yīng)于一個時間單位。頻道1的內(nèi)容使用兩個層HD1和UHD1來編碼,頻道2的內(nèi)容也使用兩個層HD2和UHD2來編碼。每個頻道具有一個峰值,頻道1在時間=5附近,頻道2在時間=12附 近。如圖7A所示,累加的比特流超過最大帶寬。
為了使比特流適于固定帶寬,將超過帶寬的比特在時間窗W內(nèi)向前或向后移位。因此,所有的流都可以在網(wǎng)絡(luò)鏈路容量內(nèi)傳輸。為方便標(biāo)記,我們將超過帶寬的比特部分表示為“超限”(over-the-limit)部分(UHD2’)。圖7B中示出了使用時間窗的一個示例,該時間窗用在圖7A示出的相同比特流上。如圖7B所示,t=4到t=12的限制范同上的所有數(shù)據(jù)都擴(kuò)展到窗口中(t=1到t=22)。一旦有可用的空閑比特率,我們就將它們用于“超限”數(shù)據(jù)。在一個實施例中,系統(tǒng)確定滑動窗口的參數(shù),包括當(dāng)前時間的起始時間和結(jié)束時間。時間窗可以隨著時間而變化,且不必以當(dāng)前時間為中心。
我們已討論了引入延時D和時間窗以復(fù)用比特流。這兩種機(jī)制可以單獨(dú)或結(jié)合著使用。當(dāng)引入延時D時,整個BL流或EL流在時間上移位。作為比較,當(dāng)使用時間窗W時,我們先確定所有比特流的總比特率是否超過最大允許比特率,并且如果存在“超限”部分,我們使“超限”部分重新分布。此外,如上文討論,延時D可以基于編碼參數(shù)來確定,或者可以取預(yù)定值。作為比較,使用時間窗時的時移W依賴于比特率峰值的位置和存在可用的空閑比特率的位置。
當(dāng)使用時間窗來移位比特的“超限”部分時,上文描述的使用延時的頻道改變機(jī)制(例如,方法400和500)仍然適用。具體地,當(dāng)僅使用時間窗時,可以用W(替代D)來計算T3值,或者當(dāng)同時使用延時D和時間窗時,使用W+D(替代D)來計算T3值。
即使同時使用延時D和時間窗,累加的比特流仍然可能超過網(wǎng)絡(luò)鏈路容量。該情形中,我們可以降低相同網(wǎng)絡(luò)鏈路中的一個或多個流的比特率,以便使比特流適于網(wǎng)絡(luò)鏈路,或者甚至可以丟棄一個或多個比特流。
本發(fā)明原理提出了不同的方法,例如向基礎(chǔ)層比特流或增強(qiáng)層比特流添加延時,以及使“超限”部分在時間窗內(nèi)移位,以更高效地使用帶寬。具體地,我們的方法對不滿足統(tǒng)計復(fù)用通常假設(shè)的分層編碼內(nèi)容效果很好。
在接收機(jī)側(cè),盡管在比特流中添加了延時,本發(fā)明原理提供不同 的頻道改變機(jī)制,以允許用戶快速改變頻道。具體地,解碼器不必等待EL可用就可以開始呈現(xiàn)BL內(nèi)容。有利地,這允許用戶在很多頻道之間快速改變頻道,直到他看到他想長時間觀看的內(nèi)容。本發(fā)明原理還提供選項使用,以決定他是否要在觀看視頻一段時間后切換到EL版本。
綜上,我們時論了可以用于分層編碼的各種方法。本發(fā)明原理還可以適用于符合標(biāo)準(zhǔn)(例如但不限于H.264SVC或SHVC)的可縮放視頻編碼。復(fù)用方法和頻道改變機(jī)制和以下任何傳輸協(xié)議一起使用,例如,MPEG-2傳輸、MMT(MPEG媒體傳輸)協(xié)議、或ATSC(高級電視系統(tǒng)委員會)傳輸協(xié)議。
圖8示出了示例性發(fā)送系統(tǒng)800。在媒體編碼器810處對輸入數(shù)據(jù)(例如但不限于,音頻和視頻數(shù)據(jù))進(jìn)行編碼。輸入數(shù)據(jù)可以來自相機(jī)、錄像機(jī)或接收自具有音頻和視頻數(shù)據(jù)訪問權(quán)的服務(wù)器。編碼數(shù)據(jù)在復(fù)用器820處被復(fù)用,并在發(fā)送器840處被發(fā)送。在位于復(fù)用器820的延時模塊830中,可以使用根據(jù)本發(fā)明原理的復(fù)用機(jī)制,例如,如方法300所示添加延時并使用時間窗。延時模塊830還可以位于媒體編碼器810中,或者位于媒體編碼器810和復(fù)用器820之間作為單獨(dú)的模塊。該發(fā)送系統(tǒng)可以用于帶寬屬于昂貴資源的典型廣播電視環(huán)境中,或者可以用于提供音頻視頻服務(wù)的移動設(shè)備中。根據(jù)特定實施例,發(fā)送系統(tǒng)(或裝置)布置在服務(wù)器和視頻復(fù)用器中的一個中。根據(jù)特定實施例,發(fā)送系統(tǒng)(或裝置)包括以下一項或多項:發(fā)送天線、到發(fā)送天線的接口、視頻編碼器、視頻存儲器、視頻服務(wù)器、與視頻相機(jī)的接口以及視頻相機(jī)。
圖9示出了示例性接收系統(tǒng)900。系統(tǒng)900的輸入數(shù)據(jù)可以傳輸比特流,例如,系統(tǒng)800的輸出。數(shù)據(jù)在接收機(jī)910處被接收,在解復(fù)用器920處被解復(fù)用,在媒體解碼器930處被解碼,然后在媒體呈現(xiàn)模塊940處被呈現(xiàn)以回放。媒體呈現(xiàn)模塊可以實現(xiàn)為單獨(dú)的模塊,或者可以是媒體解碼器930的一部分。頻道改變機(jī)制,例如方法400和500,可以在解復(fù)用器920或媒體解碼器930中實現(xiàn)。
圖10示出了另一示例性接收系統(tǒng)1000,其可以實現(xiàn)在便攜式媒 體設(shè)備(如移動電話)、游戲設(shè)備、機(jī)頂盒、電視盒、平板和計算機(jī)的內(nèi)部??傮w上,在圖10的視頻接收機(jī)系統(tǒng)中,通過天線10來接收并通過單元13來處理用信號調(diào)制的廣播載波,所述信號承載表示廣播節(jié)目內(nèi)容的音頻、視頻和關(guān)聯(lián)數(shù)據(jù)。通過解調(diào)器15來解調(diào)所得到的數(shù)字輸出信號。通過解碼器17,對單元15的解調(diào)輸出進(jìn)行網(wǎng)格解碼,映射為字節(jié)長數(shù)據(jù)段,解交織并進(jìn)行Reed-Solomon誤差校正。單元17的輸出數(shù)據(jù)的形式是包含表示節(jié)目的復(fù)用音頻、視頻和數(shù)據(jù)分量的MPEG可兼容傳輸數(shù)據(jù)流,例如,MMT傳輸流。來自單元17的傳輸流被單元22解復(fù)用為音頻、視頻和數(shù)據(jù)分量,然后被解碼器100的其他元件進(jìn)一步處理。
當(dāng)用戶請求頻道改變時,解碼器100可以執(zhí)行根據(jù)本發(fā)明原理的頻道改變,如方法400和500所述。在一個模式中,解碼器100提供MPEG解碼數(shù)據(jù),分別用于單元50和55上的顯示和音頻再現(xiàn)。在另一模式中,解碼器100處理來自單元17的傳輸流以提供MPEG可兼容數(shù)據(jù)流,用于經(jīng)由存儲設(shè)備90在存儲介質(zhì)105上存儲。
用戶使用遙控單元70選擇觀看電視頻道或屏顯菜單(如節(jié)目指南)。處理器60使用遙控單元70經(jīng)由接口65提供的選擇信息,合適地配置圖10的元件,以接收要觀看的期望節(jié)目頻道。處理器60包括處理器62和控制器64。單元62處理(即,解析、整理和組合)包括節(jié)目指南和系統(tǒng)信息的節(jié)目具體信息,控制器64執(zhí)行操作解碼器100時所需的其余控制功能。盡管單元60的功能可以實現(xiàn)為如圖10所示的單獨(dú)的元件62和64,但是備選地它們可以實現(xiàn)在單個處理器中。例如,單元62和64的功能可以合并在微處理器的編程指令中。處理器60配置處理器13、解調(diào)器15、解碼器17和解碼器系統(tǒng)100以解調(diào)和解碼輸入信號格式和編碼類型。
具體參考圖10,輸入處理器13將用天線10接收的信號來調(diào)制的載波轉(zhuǎn)換為數(shù)字形式并進(jìn)行處理,所述信號承載表示音頻、視頻和關(guān)聯(lián)數(shù)據(jù)的節(jié)目。處理器13包括射頻(RF)調(diào)諧器和中頻(IF)混頻器以及放大級,用于將輸入信號下變換為適于進(jìn)一步處理的較低頻頻帶。
用于示例目的,假設(shè)視頻接收機(jī)用戶使用遙控單元70來選擇觀看的子頻道(SC)。處理器60使用遙控單元70經(jīng)由接口65提供的選擇信息,合適地配置解碼器100的元件,以接收對應(yīng)于選擇的子頻道SC的物理頻道。
提供至處理器22的輸出數(shù)據(jù)具有傳輸數(shù)據(jù)流的形式,包含分布在多個子頻道的許多節(jié)目的節(jié)目頻道內(nèi)容和節(jié)目具體信息。
處理器22將解碼器17提供的輸入分組的分組標(biāo)識符(PID)和在子頻道SC上傳輸?shù)囊曨l、音頻和子圖像流的PID值相匹配。通過處理器60,這些PID值預(yù)加載在單元22內(nèi)的控制寄存器中。處理器22捕獲構(gòu)成在子頻道SC上傳輸?shù)墓?jié)目的分組,并將它們形成為分別將由視頻解碼器25、音頻解碼器35輸出的MPEG可兼容視頻、音頻流。視頻和音頻流包含表示選擇的子頻道SC節(jié)目內(nèi)容的視頻和音頻數(shù)據(jù)。
解碼器25對來自單元22的MPEG可兼容分組化視頻數(shù)據(jù)進(jìn)行解碼和解壓縮,并向設(shè)備50提供表示像素數(shù)據(jù)的解壓縮節(jié)目,用于品示。類似地,音頻處理器35對來自單元22的分組化音頻數(shù)據(jù)進(jìn)行解碼,并向設(shè)備55提供與相關(guān)聯(lián)的解碼視頻數(shù)據(jù)同步的解碼音頻數(shù)據(jù),用于音頻再現(xiàn)。
在圖10的系統(tǒng)的存儲模式中,解碼器100處理來自單元17的輸出數(shù)據(jù),以提供用于存儲的MPEG可兼容數(shù)據(jù)流。該模式中,用戶經(jīng)由遙控單元70和接口65來選擇用于存儲的節(jié)目。
與處理器22結(jié)合,處理器60形成包含選擇的節(jié)目的分組化內(nèi)容數(shù)據(jù)和相關(guān)聯(lián)的節(jié)目具體信息的合成MPEG可兼容數(shù)據(jù)流。合成數(shù)據(jù)流被輸出到存儲接口95。存儲接口95緩沖合成數(shù)據(jù)流以降低數(shù)據(jù)中的空隙和比特率變化。所得到的緩沖數(shù)據(jù)被存儲設(shè)備90處理以適于在介質(zhì)105上存儲。存儲設(shè)備90使用已知的差錯編碼技術(shù)(例如,頻道編碼、交織和Reed Solomon編碼)對來自接口95的緩沖數(shù)據(jù)流進(jìn)行編碼,以產(chǎn)生適于存儲的編碼數(shù)據(jù)流。單元90將包含壓縮的節(jié)目具體信息的編碼數(shù)據(jù)流存儲在介質(zhì)105上。
根據(jù)特定實施例,接收系統(tǒng)(或裝置)包括以下一項或多項:天 線或到天線的接口、通信接口(例如,來自有線或無線的鏈路,或網(wǎng)絡(luò))、視頻解碼器、視頻存儲器和顯示器。
可以例如用方法或過程、裝置、軟件程序、數(shù)據(jù)流或信號來實現(xiàn)本文所描述的實施方式。雖然僅在單個實現(xiàn)形式的上下文中進(jìn)行討論(例如,僅討論方法),所討論特征的實現(xiàn)還可以以其他形式來實現(xiàn)(如裝置或程序)。裝置可以實現(xiàn)為例如適合硬件、軟件和固件。所述方法可被實現(xiàn)于諸如處理器的裝置中,所述處理器一般地稱為處理設(shè)備,包括例如計算機(jī)、微處理器、集成電路或可編程邏輯器件。處理器還可以包括通信設(shè)備(例如計算機(jī)、蜂窩電話、便攜/個人數(shù)字助理(“PDA”))以及促進(jìn)終端用戶之間的信息通信的其他設(shè)備。
根據(jù)處理第一比特流和第二比特流的方法的特定實施例,從屬于以下集合的源訪問第一比特流和第二比特流,所述集合包括:發(fā)送天線、到發(fā)送天線的接口、視頻編碼器、視頻存儲器、視頻服務(wù)器、與視頻相機(jī)的接口以及視頻相機(jī)。根據(jù)所述方法的變型,向?qū)儆谝韵录系哪康牡匕l(fā)送被復(fù)用的第一比特流和第二比特流,所述集合包括:發(fā)送天線、到發(fā)送天線的接口、通信接口、視頻存儲器、視頻服務(wù)器接口以及客戶端設(shè)備。
根據(jù)包括第一比特流和第二比特流的解碼的方法的特定實施例,解碼前,從屬于以下集合的源訪問第一比特流和第二比特流,所述集合包括:接收天線、到接收天線的接口、通信接口和視頻存儲器。根據(jù)該方法的變型,對應(yīng)于用于呈現(xiàn)的第一表示和第二表示的信號被輸出至屬于包括視頻解碼器、視頻存儲器和顯示器的集合的目的地。
對本原理的“一種實施例”或“一個實施例”、“一種實現(xiàn)”或“一個實現(xiàn)”以及其它變形的提及,意思是結(jié)合所述實施例描述的具體特征、結(jié)構(gòu)、特性等包括在本原理的至少一個實施例中。從而,說明書通篇各處所出現(xiàn)的“在一種實施例中”或“在一個實施例中”、“在一種實現(xiàn)中”或“在一個實現(xiàn)中”以及其它變形不必指代相同的實施例。
此外,本申請或其權(quán)利要求可提及“確定”各種信息。確定信息可以包括以下一項或多項,例如,估計信息、計算信息、預(yù)測信息或從存儲器取回信息。
此外,本申請或其權(quán)利要求可提及“訪問”各種信息。訪問信息可以包括以下一項或多項,例如,接收信息、取回信息(如從存儲器)、存儲信息、處理信息、發(fā)送信息、移動信息、拷貝信息、擦除信息、計算信息、確定信息、預(yù)測信息或估計信息。
此外,本申請或其權(quán)利要求可提及“接收”各種信息。接收和“訪問”一樣是廣義術(shù)語。接收信息可以包括以下一項或多項,例如,防問信息或取回信息(如從存儲器)。此外,“接收”通常以某種方式在諸如以下各項的操作期間涉及:存儲信息、處理信息、發(fā)送信息、移動信息、拷貝信息、擦除信息、計算信息、確定信息、預(yù)測信息或估計信息。
本領(lǐng)域技術(shù)人員應(yīng)清楚,實現(xiàn)方案可以產(chǎn)生被編排為攜帶例如所存儲的或所傳輸?shù)男畔⒌亩喾N信號。信息可以包括例如執(zhí)行方法的指令,或通過描述的實施方式之一所產(chǎn)生的數(shù)據(jù)。例如,信號可以被格式化為承載所述實施例的比特流。這種信號可被格式化為例如電磁波(例如使用頻譜的射頻部分)或基帶信號。格式化可包括例如對數(shù)據(jù)流進(jìn)行編碼或者調(diào)制具有已編碼數(shù)據(jù)流的載波。信號承載的信息可以是例如模擬或數(shù)字信息??梢酝ㄟ^公知的多種不同有線或無線鏈路來傳輸該信號。信號可存儲在處理器可讀介質(zhì)上。