專(zhuān)利名稱:使用多個(gè)通道的視頻流傳輸?shù)闹谱鞣椒?br>
使用多個(gè)通道的視頻流傳輸背景本申請(qǐng)要求提交于2008年7月9日的序列號(hào)為No. 61/079,373題目為“Video Streaming Using Multiple Channels”的美國(guó)臨時(shí)申請(qǐng)的優(yōu)先權(quán)。通過(guò)引用將該申請(qǐng)的公
開(kāi)完整結(jié)合在此。超文本傳輸協(xié)議(HTTP)是用于從服務(wù)器向客戶端發(fā)送數(shù)據(jù)(大部分情況為文本 和圖像)的請(qǐng)求/響應(yīng)協(xié)議。在常規(guī)操作中,HTTP客戶端經(jīng)傳輸控制協(xié)議(TCP)向服務(wù)器 發(fā)送對(duì)特定資源的請(qǐng)求。服務(wù)器處理該請(qǐng)求并且返回響應(yīng),該響應(yīng)包括狀態(tài)或錯(cuò)誤消息以 及所請(qǐng)求的資源(如果可用的話)。常規(guī)HTTP通信會(huì)話包括服務(wù)器和客戶端之間的單個(gè)通 道,以便在兩者之間傳輸數(shù)據(jù)。該通道可被用于多個(gè)請(qǐng)求??梢允褂肏TTP連接從服務(wù)器向客戶端傳輸各種數(shù)據(jù)。當(dāng)HTTP會(huì)話被用于向客戶 端流傳輸視頻或其它對(duì)傳輸延遲或可用帶寬敏感的數(shù)據(jù)時(shí),客戶端可能接收到延遲的或不 完整的視頻數(shù)據(jù)。一般地,內(nèi)建于TCP的后退和重傳機(jī)制會(huì)導(dǎo)致妨礙流媒體時(shí)間線要求的 不希望的延遲??蛻舳诉€可能被要求在以可接受的質(zhì)量向用戶呈現(xiàn)視頻之前緩沖相當(dāng)量的 視頻數(shù)據(jù),以便減輕稍后發(fā)生(later-occurring)的影響,諸如通信延遲或可用帶寬的改 變。如果通常經(jīng)單通道接收流,則可能會(huì)加重連接問(wèn)題,因?yàn)檫@種結(jié)構(gòu)通常還排除了 實(shí)時(shí)縮放或整形視頻傳輸?shù)目赡?。另外,在?shí)施實(shí)時(shí)縮放和傳輸控制的情況下,它們一般是 在服務(wù)器側(cè),而客戶端基本上只能照單接收。因此,希望通過(guò)在多個(gè)HTTP通道之間協(xié)調(diào)流傳輸并將對(duì)流傳輸?shù)目刂茝姆?wù)器 轉(zhuǎn)移到客戶端,減輕視頻流傳輸中當(dāng)前固有的某些傳輸錯(cuò)誤和延遲。
圖1是根據(jù)本發(fā)明的實(shí)施例示出可以如何采用多通道HTTP流傳輸?shù)暮?jiǎn)化框圖;圖2示出了與遠(yuǎn)程節(jié)點(diǎn)連接的客戶節(jié)點(diǎn);圖3是根據(jù)本發(fā)明的實(shí)施例的多通道HTTP流傳輸?shù)牧鞒虉D。
具體實(shí)施例方式下面是對(duì)本發(fā)明的一個(gè)或多個(gè)實(shí)施例的詳細(xì)描述,它們的例子可在附圖中被圖形 地示出。以解釋本發(fā)明的方式提供每個(gè)例子和實(shí)施例,并且不意味著作為對(duì)本發(fā)明的限制。 例如,被描述為一個(gè)實(shí)施例的一部分的特征也可用于另一個(gè)實(shí)施例,以便產(chǎn)生再一個(gè)實(shí)施 例。本發(fā)明旨在包括這些和其它修改和變化。提供了用于經(jīng)多個(gè)HTTP通道流傳輸視頻的系統(tǒng)和方法??蛻舳丝梢跃哂袑?duì)多個(gè) 通道的控制(每個(gè)通道與不同的客戶端口相關(guān)聯(lián)),允許客戶端控制接收數(shù)據(jù)的量和來(lái)源。 客戶端請(qǐng)求的數(shù)據(jù)可被劃分為一組層,每個(gè)層被分配給一個(gè)不同的通道??蛻舳丝梢曰?各種因素調(diào)整所請(qǐng)求的層數(shù)。例如,當(dāng)客戶端的可用帶寬改變時(shí),客戶端可以丟棄或請(qǐng)求附 加層。可以從多個(gè)遠(yuǎn)程來(lái)源請(qǐng)求層,給客戶端提供了對(duì)接收數(shù)據(jù)的特定帶寬分布的附加控
5制。本發(fā)明的實(shí)施例可以允許客戶端更完全地控制接收的流視頻的量和質(zhì)量。在請(qǐng)求 流視頻的初始基層之后,客戶端可以打開(kāi)附加通道,以便請(qǐng)求提供增加的視頻質(zhì)量或量的 增強(qiáng)層。當(dāng)客戶端遇到環(huán)境改變,諸如處理能力或帶寬增大或減小時(shí),可以請(qǐng)求更少或更多 的增強(qiáng)層??蛻舳丝梢越獯a基層,可以接收到多少增強(qiáng)層就解碼多少增強(qiáng)層,并且可以從中 產(chǎn)生恢復(fù)的視頻信號(hào)?;謴?fù)的視頻信號(hào)可被輸出到顯示設(shè)備,或在客戶端處被存儲(chǔ)以供隨 后使用。在本公開(kāi)中通篇提到了“通道”,其可被定義為經(jīng)hternet套接字的單HTTP連接。 如同已知的,Internet套接字一般由使用的協(xié)議(例如,TCP等)、本地網(wǎng)際協(xié)議(IP)地址 (即,客戶端的IP地址)、客戶機(jī)上的端口、遠(yuǎn)程IP地址和遠(yuǎn)程機(jī)器上的端口組成。圖1是示出了用于經(jīng)多個(gè)通道接收視頻數(shù)據(jù)的系統(tǒng)的簡(jiǎn)化功能框圖??蛻艄?jié)點(diǎn) 110可以連接到一個(gè)或多個(gè)遠(yuǎn)程節(jié)點(diǎn)120。每個(gè)遠(yuǎn)程節(jié)點(diǎn)可以是服務(wù)器,諸如內(nèi)容服務(wù)器, 或者可以是客戶節(jié)點(diǎn)的對(duì)等方??蛻艄?jié)點(diǎn)可以從遠(yuǎn)程節(jié)點(diǎn)接收視頻流的基層122。典型地, 基層包括足以為客戶節(jié)點(diǎn)的用戶解碼和/或提供音頻/視頻內(nèi)容的最小數(shù)據(jù)量。例如,基 層可以包括以最小分辨率編碼的視頻數(shù)據(jù)、以最小比特率編碼的音頻數(shù)據(jù)、視頻的初始部 分和/或足以提供基本內(nèi)容質(zhì)量或數(shù)量的其它數(shù)據(jù)??蛻艄?jié)點(diǎn)還可以從遠(yuǎn)程節(jié)點(diǎn)接收一個(gè)或多個(gè)增強(qiáng)層123、125。增強(qiáng)層可以給客戶 節(jié)點(diǎn)提供附加數(shù)據(jù),這些數(shù)據(jù)可與基層結(jié)合,以便增加視頻數(shù)據(jù)的質(zhì)量和/或數(shù)量。可以經(jīng)客戶節(jié)點(diǎn)和遠(yuǎn)程節(jié)點(diǎn)之間的單通道接收由客戶節(jié)點(diǎn)接收的每個(gè)層。與每個(gè) 通道相關(guān)聯(lián)的端口可以是一般具有標(biāo)準(zhǔn)化功能的端口,或是一般被動(dòng)態(tài)分配的端口。例如, 可以經(jīng)包括遠(yuǎn)程節(jié)點(diǎn)的通常為HTTP數(shù)據(jù)保留的TCP端口 80以及一般為操作系統(tǒng)和各種應(yīng) 用保留的0-1023之外的任意客戶節(jié)點(diǎn)端口號(hào)的通道上接收層。可以使用其它TCP端口。通 常,經(jīng)不同的端口接收每一層,雖然特定端口可用于在一個(gè)時(shí)域內(nèi)接收第一層,并且在另一 個(gè)時(shí)域內(nèi)接收第二層(即,在會(huì)話范圍之外,特定層不被映射到特定端口)。每個(gè)層可由不 同的遠(yuǎn)程節(jié)點(diǎn)提供,或單個(gè)遠(yuǎn)程節(jié)點(diǎn)可以提供多個(gè)層。例如,在遠(yuǎn)程節(jié)點(diǎn)是內(nèi)容服務(wù)器的情 況下,內(nèi)容服務(wù)器可以在客戶節(jié)點(diǎn)請(qǐng)求各層時(shí)向客戶節(jié)點(diǎn)提供每一個(gè)層(即,客戶節(jié)點(diǎn)不 必使用多個(gè)遠(yuǎn)程節(jié)點(diǎn)以便滿足其要求,而是可以建立連接到能夠提供所請(qǐng)求數(shù)據(jù)的單個(gè)遠(yuǎn) 程節(jié)點(diǎn)的多個(gè)通道)。為了管理經(jīng)多個(gè)通道的視頻數(shù)據(jù)接收,客戶節(jié)點(diǎn)可以包括端口管理器105。通過(guò)打 開(kāi)到附加遠(yuǎn)程節(jié)點(diǎn)的連接,端口管理器可以允許客戶節(jié)點(diǎn)接收附加視頻層,并且可以通過(guò) 關(guān)閉經(jīng)其接收層的端口以有效地停止(至少經(jīng)這些特定端口的)與遠(yuǎn)程節(jié)點(diǎn)的通信來(lái)禁用 對(duì)所述層的接收。客戶節(jié)點(diǎn)可以使用各種準(zhǔn)則來(lái)管理接收到的層。例如,客戶節(jié)點(diǎn)可以監(jiān)視客戶節(jié) 點(diǎn)可用的網(wǎng)絡(luò)帶寬;當(dāng)附加帶寬可用時(shí),客戶節(jié)點(diǎn)可以請(qǐng)求附加的增強(qiáng)層。如果客戶節(jié)點(diǎn)經(jīng) 歷帶寬減少,則可通過(guò)關(guān)閉經(jīng)其接收層的端口來(lái)丟棄增強(qiáng)層。諸如,在用戶指示希望更高分 辨率的視頻流,或他現(xiàn)在希望觀看被關(guān)閉的字幕信息的情況下,客戶節(jié)點(diǎn)還可以基于從客 戶節(jié)點(diǎn)的用戶處接收的輸入來(lái)請(qǐng)求和丟棄增強(qiáng)層??蛻艄?jié)點(diǎn)還可以基于客戶節(jié)點(diǎn)可以多么高效地處理層來(lái)調(diào)整所請(qǐng)求的層數(shù)。例 如,諸如在視頻流被壓縮以便減少傳輸帶寬的情況下,視頻流可能需要在呈現(xiàn)給用戶之前被客戶節(jié)點(diǎn)解碼。客戶節(jié)點(diǎn)可以包括處理單元150,以便對(duì)接收到的視頻流解碼或執(zhí)行其它 處理。從遠(yuǎn)程節(jié)點(diǎn)接收的數(shù)據(jù)最初可由一個(gè)或多個(gè)輸入緩沖器130、135處理。在一個(gè)實(shí)施 例中,基層可由第一輸入緩沖器130處理,而增強(qiáng)層可由第二輸入緩沖器135處理。多個(gè)輸 入緩沖器可用于增強(qiáng)層。應(yīng)當(dāng)理解,輸入緩沖器的數(shù)目以及它們與一個(gè)或多個(gè)層的關(guān)聯(lián)可 以在實(shí)施例之間極大地改變,并且這些置換和組合對(duì)于本發(fā)明而言不是至關(guān)重要的。處理單元可以將經(jīng)處理的視頻數(shù)據(jù)傳輸?shù)揭粋€(gè)或多個(gè)輸出緩沖器160、165。輸出 緩沖器可以接收經(jīng)處理的視頻數(shù)據(jù),并且為輸出180配置這些數(shù)據(jù)。例如,在處理單元150 提供解碼數(shù)據(jù)比客戶節(jié)點(diǎn)的顯示所需更快的情況下,輸出緩沖器可以存儲(chǔ)經(jīng)解碼的數(shù)據(jù), 并且以適合于輸出設(shè)備180的顯示的速率提供數(shù)據(jù)。如果存在,可以為基層和增強(qiáng)層使用 不同的輸出緩沖器。可以為增強(qiáng)層使用多個(gè)輸出緩沖器。如同輸入緩沖器,應(yīng)當(dāng)理解,輸出 緩沖器的數(shù)目以及它們與一個(gè)或多個(gè)層的關(guān)聯(lián)可以在實(shí)施例之間極大地改變,并且這些置 換和組合對(duì)于本發(fā)明而言不是至關(guān)重要的。輸出180可以是任意適合的顯示器或接口,諸 如電視、監(jiān)視器、投影屏幕或其它設(shè)備??蛻艄?jié)點(diǎn)可以包括緩沖器監(jiān)視器140、170,以便追蹤各個(gè)層在系統(tǒng)中的進(jìn)展。取決 于正被處理的數(shù)據(jù)的量和速度,客戶節(jié)點(diǎn)可以調(diào)整從遠(yuǎn)程節(jié)點(diǎn)請(qǐng)求的層。例如,當(dāng)在輸入緩 沖器處接收到太多數(shù)據(jù)或過(guò)快地接收到數(shù)據(jù)時(shí),客戶節(jié)點(diǎn)可以丟棄一個(gè)或多個(gè)增強(qiáng)層。類(lèi) 似地,如果處理單元可以成功地處理更多數(shù)據(jù)(即,輸入緩沖器存儲(chǔ)了少量數(shù)據(jù)),客戶節(jié) 點(diǎn)可以請(qǐng)求一個(gè)或多個(gè)附加層。客戶節(jié)點(diǎn)還可以基于來(lái)自緩沖器監(jiān)視器170的追蹤已處理 數(shù)據(jù)和輸出數(shù)據(jù)之間的關(guān)系的數(shù)據(jù),調(diào)整所請(qǐng)求的層數(shù)。例如,如果輸出緩沖器存儲(chǔ)了大量 數(shù)據(jù),諸如在它們可能接近其容量的情況下,客戶節(jié)點(diǎn)可以丟棄一個(gè)或多個(gè)增強(qiáng)層。如果輸 出緩沖器隨時(shí)間的改變存儲(chǔ)了相對(duì)少量的數(shù)據(jù),客戶節(jié)點(diǎn)可以請(qǐng)求附加的增強(qiáng)層??蛻艄?jié)點(diǎn)可以從各遠(yuǎn)程節(jié)點(diǎn)請(qǐng)求流傳輸視頻層。在一個(gè)實(shí)施例中,客戶節(jié)點(diǎn)從其 請(qǐng)求流傳輸視頻層的遠(yuǎn)程節(jié)點(diǎn)可以是網(wǎng)絡(luò)對(duì)等方。圖2示出了通信網(wǎng)絡(luò)中的客戶節(jié)點(diǎn)200。 該網(wǎng)絡(luò)可以包括一個(gè)或多個(gè)服務(wù)器210,以便提供諸如流傳輸視頻的內(nèi)容。在某些情況下, 客戶節(jié)點(diǎn)不能直接與服務(wù)器通信,或者與網(wǎng)絡(luò)上的對(duì)等客戶節(jié)點(diǎn)220、2對(duì)、2觀通信可能比 直接與服務(wù)器210通信更有效。在這種配置中,客戶節(jié)點(diǎn)可以從服務(wù)器、對(duì)等節(jié)點(diǎn)或兩者 標(biāo)識(shí)和請(qǐng)求流傳輸視頻層??蛻艄?jié)點(diǎn)可以基于各種因素選擇從其請(qǐng)求層的遠(yuǎn)程節(jié)點(diǎn),所述 因素諸如客戶節(jié)點(diǎn)和遠(yuǎn)程節(jié)點(diǎn)之間的可用帶寬、各個(gè)遠(yuǎn)程節(jié)點(diǎn)之間的通信延遲、或遠(yuǎn)程節(jié) 點(diǎn)的物理地理位置。不同的準(zhǔn)則可被應(yīng)用于不同的層。例如,客戶節(jié)點(diǎn)可以從響應(yīng)發(fā)送到 多個(gè)遠(yuǎn)程節(jié)點(diǎn)的一系列請(qǐng)求的第一遠(yuǎn)程節(jié)點(diǎn)請(qǐng)求基層,從而客戶節(jié)點(diǎn)可以盡快開(kāi)始處理基 層。類(lèi)似地,諸如在已知增強(qiáng)層具有比基層大得多的帶寬要求的情況下,客戶節(jié)點(diǎn)可以從最 適合傳遞增強(qiáng)層的可用遠(yuǎn)程節(jié)點(diǎn)請(qǐng)求增強(qiáng)層。取決于影響遠(yuǎn)程節(jié)點(diǎn)的各種因素(例如,可 用帶寬、延遲、處理器負(fù)載等),遠(yuǎn)程節(jié)點(diǎn)可以響應(yīng)客戶節(jié)點(diǎn)的請(qǐng)求,以便以各種方式創(chuàng)建和 傳遞層。例如,如果遠(yuǎn)程節(jié)點(diǎn)確定它能夠按請(qǐng)求傳遞層,它就這樣做。然而,如果遠(yuǎn)程節(jié)點(diǎn) 確定它不能按照請(qǐng)求提供層(例如,由于負(fù)載或帶寬限制),它可以拒絕該請(qǐng)求,并且根本 不提供層。作為替換,遠(yuǎn)程節(jié)點(diǎn)可以提供比所請(qǐng)求大小更小的層,這通常涉及更低質(zhì)量的壓 縮。類(lèi)似地,如果遠(yuǎn)程節(jié)點(diǎn)確定它允許傳遞比客戶節(jié)點(diǎn)所請(qǐng)求大小更大的層(這通常涉及 更高質(zhì)量的編碼),它可以嘗試這樣做。在任意情況下,客戶節(jié)點(diǎn)可以接受或拒絕由遠(yuǎn)程節(jié) 點(diǎn)提供的層。
圖3是根據(jù)本發(fā)明的實(shí)施例的多通道HTTP流化傳輸?shù)牧鞒虉D。在框300,客戶節(jié) 點(diǎn)開(kāi)始在客戶節(jié)點(diǎn)和第一遠(yuǎn)程節(jié)點(diǎn)之間建立的第一通道上接收視頻的基層。如框310所 示,取決于各種因素(諸如客戶節(jié)點(diǎn)監(jiān)視到的網(wǎng)絡(luò)狀態(tài)),客戶節(jié)點(diǎn)確定它是否能夠處理對(duì) 增強(qiáng)層的接收。如果不能,如框340所示,客戶節(jié)點(diǎn)繼續(xù)僅接收基層,并且最終將接收到的 視頻輸出到適合的顯示器或接口。如果客戶節(jié)點(diǎn)確定它能夠接收增強(qiáng)層,如框320所示,則 客戶節(jié)點(diǎn)處的端口管理器打開(kāi)客戶節(jié)點(diǎn)上的端口,并且在客戶節(jié)點(diǎn)和第二遠(yuǎn)程節(jié)點(diǎn)之間建 立第二通道。在框330,客戶節(jié)點(diǎn)分別在不同的通道上接收基層和增強(qiáng)層。如框340所示, 基層和增強(qiáng)層被解碼,并且恢復(fù)的視頻被輸出到適當(dāng)?shù)娘@示器或接口。每個(gè)客戶節(jié)點(diǎn)可以管理和監(jiān)視其自身的網(wǎng)絡(luò)狀態(tài),從而遠(yuǎn)程節(jié)點(diǎn)不必知道每個(gè)客 戶節(jié)點(diǎn)可以接受多少數(shù)據(jù)。例如,相對(duì)于其它客戶節(jié)點(diǎn)具有大量帶寬的客戶節(jié)點(diǎn)可以請(qǐng)求 基層和若干增強(qiáng)層,而具有相對(duì)少量帶寬的客戶節(jié)點(diǎn)可以僅請(qǐng)求基層或較少的增強(qiáng)層。每 個(gè)客戶節(jié)點(diǎn)于是能夠管理其自身的網(wǎng)絡(luò)資源,并且遠(yuǎn)程節(jié)點(diǎn)可以保持實(shí)際上不知道客戶節(jié) 點(diǎn)的能力和要求是什么,除了客戶節(jié)點(diǎn)需要當(dāng)前所請(qǐng)求的特定層之外。類(lèi)似地,并且除了監(jiān)視網(wǎng)絡(luò)狀態(tài)之外,客戶節(jié)點(diǎn)可以監(jiān)視其功率狀態(tài),并且或是單 獨(dú)地或是與網(wǎng)絡(luò)狀態(tài)一起使用這些狀態(tài),以便確定客戶節(jié)點(diǎn)可以接受什么和多少數(shù)據(jù)。例 如,如果客戶節(jié)點(diǎn)被實(shí)現(xiàn)在具有各種和易變的功率約束(例如,放電電池)的移動(dòng)設(shè)備內(nèi), 客戶節(jié)點(diǎn)可以選擇僅接收基層;然而,如果客戶節(jié)點(diǎn)開(kāi)始接收恒定的功率(例如,來(lái)自插入 電插座的電源),那么它可以請(qǐng)求一個(gè)或多個(gè)增強(qiáng)層。客戶節(jié)點(diǎn)還可以使用關(guān)于視頻流的各種信息(即,元數(shù)據(jù)),以便確定請(qǐng)求哪些增 強(qiáng)層,以及何時(shí)請(qǐng)求這些增強(qiáng)層,其中所述信息可被與視頻流的層一起提供或者可經(jīng)不同 的獨(dú)立通道提供。例如,元數(shù)據(jù)可以描述或者可以其他方式使得客戶節(jié)點(diǎn)知道一個(gè)或多個(gè) 增強(qiáng)層將使得即將到來(lái)的一部分視頻有好的表現(xiàn),并且這些部分可被“預(yù)先裝載”,從而當(dāng) 視頻回放到達(dá)該對(duì)象部分時(shí)對(duì)客戶節(jié)點(diǎn)可用。如此處描述的,多層多通道流傳輸技術(shù),以及客戶節(jié)點(diǎn)對(duì)它們的控制,可以允許實(shí) 現(xiàn)使用常規(guī)方法不可獲得的傳遞方法。例如,視頻內(nèi)容可被以不同質(zhì)量并且通過(guò)不同介質(zhì) 提供或銷(xiāo)售。在這種配置中,基層可被以初始價(jià)格或免費(fèi)提供,并且可以為提供的附加增強(qiáng) 層收取附加費(fèi)用。因此,用戶可以指示客戶節(jié)點(diǎn)最初僅接收基層,并且如果用戶希望接收流 傳輸內(nèi)容的更高質(zhì)量版本,則可以請(qǐng)求可能收取附加費(fèi)用的一個(gè)或多個(gè)增強(qiáng)層。因此,每個(gè) 用戶或客戶節(jié)點(diǎn)可以選擇適合于觀看設(shè)備、用戶希望或其它約束的質(zhì)量級(jí)別。例如,基層可被在光盤(pán)(例如,DVD)或其它介質(zhì)上銷(xiāo)售,并且可以向客戶節(jié)點(diǎn)的用 戶給出觀看附加收費(fèi)的增強(qiáng)層的選項(xiàng)。這種實(shí)現(xiàn)對(duì)于希望僅以基層質(zhì)量觀看影片的大部 分,但是希望以增強(qiáng)質(zhì)量接收該影片的至少一部分(其可能更貴)的用戶可能是有利的。應(yīng) 當(dāng)理解,在這種配置中,從例如DVD接收的基層不是經(jīng)由帶寬管理器,而是借助于適用于特 定介質(zhì)的某些其它通信機(jī)制到達(dá)處理單元。如此處所述,客戶節(jié)點(diǎn)使用多個(gè)通道與遠(yuǎn)程節(jié)點(diǎn)通信,并且這種配置可以提供優(yōu) 于其它協(xié)議和常規(guī)單通道HTTP流傳輸技術(shù)的優(yōu)點(diǎn)。由于HTTP是常見(jiàn)和廣泛使用的協(xié)議, 因此它的使用可以簡(jiǎn)化客戶節(jié)點(diǎn)設(shè)計(jì)。當(dāng)與使用單通道通信并且因此迫使請(qǐng)求和響應(yīng)串行 發(fā)生的常規(guī)流傳輸技術(shù)相比較時(shí),它還可以為客戶節(jié)點(diǎn)提供增強(qiáng)控制。相比之下,此處描述 的多通道流傳輸系統(tǒng)和方法允許并行請(qǐng)求和管理多個(gè)層,從而為客戶節(jié)點(diǎn)提供了更大的靈活性。此處描述的多通道HTTP流傳輸,包括將對(duì)(多個(gè))流的大部分控制轉(zhuǎn)移到客戶節(jié) 點(diǎn),因此不阻礙遠(yuǎn)程節(jié)點(diǎn)對(duì)遠(yuǎn)程節(jié)點(diǎn)使用的帶寬進(jìn)行動(dòng)態(tài)負(fù)載平衡的能力。例如,如果許多 客戶節(jié)點(diǎn)請(qǐng)求增強(qiáng)層,并且用于提供增強(qiáng)層的總合成帶寬是不合需要的,遠(yuǎn)程節(jié)點(diǎn)可以阻 斷某些增強(qiáng)層,并且迫使某些或全部用戶以較低的帶寬消耗連接。遠(yuǎn)程節(jié)點(diǎn)可以允許某些 客戶端使用增強(qiáng)層,并且將其它客戶端局限于基層,或客戶節(jié)點(diǎn)可被分配特定量的帶寬,并 且被局限于基層和可以裝入所分配的帶寬的增強(qiáng)層??梢允褂闷渌夹g(shù)和算法。此處描述的各種計(jì)算機(jī)系統(tǒng)各自可以包括用于存儲(chǔ)執(zhí)行描述和示出的各種處理 的機(jī)器可讀指令的存儲(chǔ)部件。所述存儲(chǔ)部件可以是任意類(lèi)型的機(jī)器可讀介質(zhì)(即,能夠被 機(jī)器讀取的介質(zhì)),諸如硬驅(qū)動(dòng)存儲(chǔ)器、閃存、軟盤(pán)存儲(chǔ)器、光編碼存儲(chǔ)器(例如,壓縮盤(pán)、 DVD-ROM、DVD士R、⑶-ROM、⑶士R、全息盤(pán))、熱存儲(chǔ)器(例如,基于掃描探針的數(shù)據(jù)存儲(chǔ)設(shè) 備)、或任意類(lèi)型的機(jī)器可讀(計(jì)算機(jī)可讀)存儲(chǔ)介質(zhì)。每個(gè)計(jì)算機(jī)系統(tǒng)還可以包括可尋址 存儲(chǔ)器(例如,隨機(jī)存取存儲(chǔ)器、高速緩存存儲(chǔ)器),以便存儲(chǔ)可被包括在機(jī)器可讀指令內(nèi), 或當(dāng)機(jī)器可讀指令被相應(yīng)平臺(tái)上的處理器執(zhí)行時(shí)所產(chǎn)生的數(shù)據(jù)和/或指令集合。此處描述 的方法和系統(tǒng)還可被實(shí)現(xiàn)為在任意上述存儲(chǔ)機(jī)制內(nèi)存儲(chǔ)或具體化的機(jī)器可讀指令。圖3所示的框的順序和編號(hào)不旨在暗示一種操作順序并且排除其它可能。雖然已 經(jīng)參考特定例子和實(shí)施例描述了本發(fā)明,應(yīng)當(dāng)理解,本發(fā)明不限于這些例子和實(shí)施例。因 此,如本領(lǐng)域的技術(shù)人員將會(huì)明了的,提出的本發(fā)明包括對(duì)此處描述的特定例子和實(shí)施例 的改變。
權(quán)利要求
1.一種視頻解碼器,包括端口管理器,配置為分別管理用于接收視頻數(shù)據(jù)的基層和用于接收視頻數(shù)據(jù)的增強(qiáng)層 的通信端口;輸入緩沖器,用于接收視頻數(shù)據(jù)的基層;處理單元,用于對(duì)視頻數(shù)據(jù)的基層和視頻數(shù)據(jù)的增強(qiáng)層進(jìn)行解碼,并且據(jù)此產(chǎn)生恢復(fù) 的視頻;和輸出接口,用于將恢復(fù)的視頻提供給用戶。
2.如權(quán)利要求1所述的視頻解碼器,其中所述視頻解碼器根據(jù)視頻解碼器處的操作狀 態(tài)動(dòng)態(tài)請(qǐng)求來(lái)自遠(yuǎn)程源的增強(qiáng)層,并且打開(kāi)相應(yīng)于被準(zhǔn)許的請(qǐng)求的端口。
3.如權(quán)利要求1所述的視頻解碼器,其中第一端口和第二端口配置為接收以超文本傳 輸協(xié)議傳輸?shù)臄?shù)據(jù)。
4.如權(quán)利要求1所述的視頻解碼器,其中所述基層和第一增強(qiáng)層被在超文本傳輸協(xié)議 連接上傳輸。
5.如權(quán)利要求1所述的視頻解碼器,其中所述端口管理器還配置為管理第三端口,用于接收視頻數(shù)據(jù)的第二增強(qiáng)層; 所述處理單元還從視頻數(shù)據(jù)的第二增強(qiáng)層產(chǎn)生恢復(fù)的視頻。
6.如權(quán)利要求1所述的視頻解碼器,其中第一端口和第二端口中的每一個(gè)被配置為連 接到內(nèi)容服務(wù)器。
7.如權(quán)利要求1所述的視頻解碼器,其中第一端口和第二端口中的至少一個(gè)被配置為 連接到網(wǎng)絡(luò)對(duì)等方。
8.如權(quán)利要求1所述的視頻解碼器,還包括輸入緩沖器監(jiān)視器,用于追蹤視頻數(shù)據(jù)的 基層在輸入緩沖器內(nèi)的狀態(tài)。
9.如權(quán)利要求1所述的視頻解碼器,還包括輸出緩沖器,用于在恢復(fù)的視頻被發(fā)送到 輸出接口之前接收該恢復(fù)的視頻。
10.如權(quán)利要求9所述的視頻解碼器,還包括輸出緩沖器監(jiān)視器,用于追蹤恢復(fù)的視頻 在輸出緩沖器內(nèi)的狀態(tài)。
11.一種視頻解碼器,包括端口管理器,配置為分別管理用于接收視頻數(shù)據(jù)的基層和用于接收視頻數(shù)據(jù)的增強(qiáng)層 的通信端口;輸入緩沖器,用于從本地存儲(chǔ)設(shè)備接收視頻數(shù)據(jù)的基層;處理單元,用于從視頻數(shù)據(jù)的基層和視頻數(shù)據(jù)的增強(qiáng)層產(chǎn)生恢復(fù)的視頻;和輸出接口,用于將恢復(fù)的視頻提供給用戶。
12.如權(quán)利要求11所述的視頻解碼器,其中從由下列組成的組中選擇所述本地存儲(chǔ)設(shè)備光盤(pán);硬盤(pán)驅(qū)動(dòng)器;和 隨機(jī)訪問(wèn)存儲(chǔ)器。
13.一種方法,包括在客戶節(jié)點(diǎn)處,在第一端口上接收來(lái)自第一遠(yuǎn)程節(jié)點(diǎn)的、視頻流的基層;響應(yīng)于客戶節(jié)點(diǎn)確定客戶節(jié)點(diǎn)接收視頻流的第一增強(qiáng)層,從第二遠(yuǎn)程節(jié)點(diǎn)請(qǐng)求第一增 強(qiáng)層;在客戶節(jié)點(diǎn)處,在第二端口上接收來(lái)自第二遠(yuǎn)程節(jié)點(diǎn)的、視頻流的第一增強(qiáng)層;和 將從基層和第一增強(qiáng)層產(chǎn)生的恢復(fù)的視頻流提供給輸出。
14.如權(quán)利要求13所述的方法,其中所述基層和第一增強(qiáng)層被在超文本傳輸協(xié)議連接 上接收。
15.如權(quán)利要求13所述的方法,其中所述第一遠(yuǎn)程節(jié)點(diǎn)和第二遠(yuǎn)程節(jié)點(diǎn)是相同節(jié)點(diǎn)。
16.如權(quán)利要求13所述的方法,其中所述第一遠(yuǎn)程節(jié)點(diǎn)和第二遠(yuǎn)程節(jié)點(diǎn)中的至少一個(gè) 是所述客戶節(jié)點(diǎn)的對(duì)等方。
17.如權(quán)利要求13所述的方法,還包括響應(yīng)于所述客戶節(jié)點(diǎn)確定客戶節(jié)點(diǎn)接收視頻流的第二增強(qiáng)層,從第三遠(yuǎn)程節(jié)點(diǎn)請(qǐng)求第二增強(qiáng)層;在所述客戶節(jié)點(diǎn)處,在第三端口上接收來(lái)自第三遠(yuǎn)程節(jié)點(diǎn)的、視頻流的第二增強(qiáng)層;和 將從基層、第一增強(qiáng)層和第二增強(qiáng)層產(chǎn)生的恢復(fù)的視頻流提供給輸出。
18.如權(quán)利要求13所述的方法,其中以所述客戶節(jié)點(diǎn)的網(wǎng)絡(luò)狀態(tài)告知客戶節(jié)點(diǎn)確定客 戶節(jié)點(diǎn)接收第一增強(qiáng)層。
19.如權(quán)利要求13所述的方法,其中以所述客戶節(jié)點(diǎn)的功率狀態(tài)告知客戶節(jié)點(diǎn)確定客 戶節(jié)點(diǎn)接收第一增強(qiáng)層。
20.如權(quán)利要求13所述的方法,其中以輸入緩沖器的狀態(tài)告知客戶節(jié)點(diǎn)確定客戶節(jié)點(diǎn) 接收第一增強(qiáng)層。
21.如權(quán)利要求13所述的方法,其中以輸出緩沖器的狀態(tài)告知客戶節(jié)點(diǎn)確定客戶節(jié)點(diǎn)接收第一增強(qiáng)層。
22.如權(quán)利要求13所述的方法,其中以所述客戶節(jié)點(diǎn)的用戶輸入告知客戶節(jié)點(diǎn)確定客 戶節(jié)點(diǎn)接收第一增強(qiáng)層。
23.一種方法,包括在客戶節(jié)點(diǎn)處,接收來(lái)自本地源的、視頻流的基層;響應(yīng)于客戶節(jié)點(diǎn)確定客戶節(jié)點(diǎn)接收視頻流的增強(qiáng)層,從遠(yuǎn)程節(jié)點(diǎn)請(qǐng)求該增強(qiáng)層; 在客戶節(jié)點(diǎn)處,在端口上接收來(lái)自該遠(yuǎn)程節(jié)點(diǎn)的、視頻流的增強(qiáng)層;和 將從基層和增強(qiáng)層產(chǎn)生的恢復(fù)的視頻流提供給輸出。
24.如權(quán)利要求23所述的方法,其中從由下列組成的組中選擇所述本地源 光盤(pán);硬盤(pán)驅(qū)動(dòng)器;和 隨機(jī)訪問(wèn)存儲(chǔ)器。
25.一種計(jì)算機(jī)可讀介質(zhì),編碼有計(jì)算機(jī)可執(zhí)行程序用于執(zhí)行一種方法,該方法包括 在客戶節(jié)點(diǎn)處,在第一端口上接收來(lái)自第一遠(yuǎn)程節(jié)點(diǎn)的、視頻流的基層;響應(yīng)于客戶節(jié)點(diǎn)確定客戶節(jié)點(diǎn)接收視頻流的第一增強(qiáng)層,從第二遠(yuǎn)程節(jié)點(diǎn)請(qǐng)求第一增 強(qiáng)層;在客戶節(jié)點(diǎn)處,在第二端口上接收來(lái)自第二遠(yuǎn)程節(jié)點(diǎn)的、視頻流的第一增強(qiáng)層;和 將從基層和第一增強(qiáng)層產(chǎn)生的恢復(fù)的視頻流提供給輸出。
26.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中所述基層和第一增強(qiáng)層被在超文本傳 輸協(xié)議連接上接收。
27.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中所述第一遠(yuǎn)程節(jié)點(diǎn)和第二遠(yuǎn)程節(jié)點(diǎn)是 相同節(jié)點(diǎn)。
28.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中所述第一遠(yuǎn)程節(jié)點(diǎn)和第二遠(yuǎn)程節(jié)點(diǎn)中 的至少一個(gè)是所述客戶節(jié)點(diǎn)的對(duì)等方。
29.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),還包括響應(yīng)于所述客戶節(jié)點(diǎn)確定客戶節(jié)點(diǎn)接收視頻流的第二增強(qiáng)層,從第三遠(yuǎn)程節(jié)點(diǎn)請(qǐng)求第二增強(qiáng)層;在所述客戶節(jié)點(diǎn)處,在第三端口上接收來(lái)自第三遠(yuǎn)程節(jié)點(diǎn)的、視頻流的第二增強(qiáng)層;和 將從基層、第一增強(qiáng)層和第二增強(qiáng)層產(chǎn)生的恢復(fù)的視頻流提供給輸出。
30.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中以所述客戶節(jié)點(diǎn)的網(wǎng)絡(luò)狀態(tài)告知客戶 節(jié)點(diǎn)確定客戶節(jié)點(diǎn)接收第一增強(qiáng)層。
31.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中以所述客戶節(jié)點(diǎn)的功率狀態(tài)告知客戶 節(jié)點(diǎn)確定客戶節(jié)點(diǎn)接收第一增強(qiáng)層。
32.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中以輸入緩沖器的狀態(tài)告知客戶節(jié)點(diǎn)確 定客戶節(jié)點(diǎn)接收第一增強(qiáng)層。
33.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中以輸出緩沖器的狀態(tài)告知客戶節(jié)點(diǎn)確 定客戶節(jié)點(diǎn)接收第一增強(qiáng)層。
34.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中以所述客戶節(jié)點(diǎn)的用戶輸入告知客戶 節(jié)點(diǎn)確定客戶節(jié)點(diǎn)接收第一增強(qiáng)層。
35.一種計(jì)算機(jī)可讀介質(zhì),編碼有計(jì)算機(jī)可執(zhí)行程序用于執(zhí)行一種方法,該方法包括 在客戶節(jié)點(diǎn)處,接收來(lái)自本地源的、視頻流的基層;響應(yīng)于客戶節(jié)點(diǎn)確定客戶節(jié)點(diǎn)接收視頻流的增強(qiáng)層,從遠(yuǎn)程節(jié)點(diǎn)請(qǐng)求增強(qiáng)層; 在客戶節(jié)點(diǎn)處,在端口上接收來(lái)自該遠(yuǎn)程節(jié)點(diǎn)的、視頻流的增強(qiáng)層;和 將從基層和增強(qiáng)層產(chǎn)生的恢復(fù)的視頻流提供給輸出。
36.如權(quán)利要求35所述的計(jì)算機(jī)可讀介質(zhì),其中從由下列組成的組中選擇所述本地源光盤(pán);硬盤(pán)驅(qū)動(dòng)器;和 隨機(jī)訪問(wèn)存儲(chǔ)器。
全文摘要
提供了用于經(jīng)多個(gè)HTTP通道流傳輸視頻的系統(tǒng)和方法??蛻舳丝梢跃哂袑?duì)通道的控制,允許客戶端控制接收的數(shù)據(jù)的量和來(lái)源。客戶端所請(qǐng)求的數(shù)據(jù)可被劃分為一組層,每個(gè)層被分配給不同的通道??蛻舳丝梢曰诟鞣N因素調(diào)整所請(qǐng)求的層數(shù)??梢詮亩鄠€(gè)遠(yuǎn)程來(lái)源請(qǐng)求層,給客戶端提供對(duì)接收到的數(shù)據(jù)的特定帶寬分布的附加控制。
文檔編號(hào)H04N7/24GK102090061SQ200980126262
公開(kāi)日2011年6月8日 申請(qǐng)日期2009年7月9日 優(yōu)先權(quán)日2008年7月9日
發(fā)明者H-J·吳, I·赫里斯托多里斯科, J·諾米勒, J·阿布安 申請(qǐng)人:蘋(píng)果公司