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