国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種關(guān)于流內(nèi)容的自適應(yīng)速率切換的裝置、系統(tǒng)和方法

      文檔序號(hào):6656349閱讀:281來源:國知局
      專利名稱:一種關(guān)于流內(nèi)容的自適應(yīng)速率切換的裝置、系統(tǒng)和方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及在如互聯(lián)網(wǎng)的分組交換網(wǎng)上的視頻流,特別涉及在這樣的網(wǎng)絡(luò)上流內(nèi)容(streaming content)的自適應(yīng)速率切換。
      背景技術(shù)
      互聯(lián)網(wǎng)快速地成為了向終端用戶發(fā)布媒體文件的首選方法。當(dāng)前,可以將音樂或視頻下載至計(jì)算機(jī)、手機(jī)或幾乎任何有網(wǎng)絡(luò)能力的設(shè)備。許多便攜式媒體播放器裝備了網(wǎng)絡(luò)連接并能夠播放音樂或視頻。音樂或視頻文件(下稱“媒體文件”)能夠存儲(chǔ)于本地的媒體播放器或計(jì)算機(jī),或者從服務(wù)器注入或下載。
      “流媒體”指一項(xiàng)技術(shù),當(dāng)收到數(shù)據(jù)時(shí),為實(shí)時(shí)地向用戶展示媒體,其以足夠的速率傳送內(nèi)容。數(shù)據(jù)臨時(shí)在存儲(chǔ)器中存儲(chǔ)直至播放,并隨即被刪除。用戶會(huì)立即滿意能看到所請(qǐng)求的內(nèi)容而不用等待媒體文件完全下載。遺憾的是,為實(shí)時(shí)播放所能夠接收到的音頻/視頻質(zhì)量受到用戶網(wǎng)絡(luò)連接的可用帶寬的限制??梢允褂昧鱽韨魉忘c(diǎn)播(以前錄制的)的或來自實(shí)況廣播的內(nèi)容。
      作為選擇,可以下載媒體文件并將其存儲(chǔ)到永久存儲(chǔ)設(shè)備,如硬盤驅(qū)動(dòng)器或光存儲(chǔ)器,以備以后播放。取決于網(wǎng)絡(luò)連接,下載完整的媒體文件可占用大量的時(shí)間。然而,一旦下載,能夠在任何時(shí)間或任何地點(diǎn)重復(fù)地觀看內(nèi)容。為下載準(zhǔn)備的媒體文件通常用比能夠?qū)崟r(shí)傳送的更高質(zhì)量的音頻/視頻進(jìn)行編碼。用戶一般不喜歡這一選擇,因?yàn)樗麄兺窍爰纯叹涂吹交蚵牭矫襟w文件。
      流提供了即時(shí)訪問媒體的優(yōu)點(diǎn),但是與下載的相同內(nèi)容的文件相比,通常犧牲了質(zhì)量。流也為用戶提供即興觀看而選擇不同內(nèi)容的機(jī)會(huì),而根據(jù)定義,下載限于全部接收或根本不接收特定的內(nèi)容選擇。下載也支持倒帶(rewind)、快速向前(fast forward)、直接搜索(direct seek)操作,而流不能充分支持這些功能。流也容易受網(wǎng)絡(luò)失敗或擁塞的影響。
      已知為“漸進(jìn)式下載”的另一項(xiàng)技術(shù)試圖將上述兩項(xiàng)技術(shù)的長(zhǎng)處結(jié)合。當(dāng)啟動(dòng)漸進(jìn)式下載時(shí),媒體文件下載開始,而媒體播放器等待開始重放,直至下載了足夠的文件使得重放能夠開始,所希望的是在重放“趕上(catches up)”之前,文件的剩余部分完全下載。重放前的這一段等待時(shí)間實(shí)質(zhì)上依賴于網(wǎng)絡(luò)的條件,因此,對(duì)于網(wǎng)絡(luò)上的媒體顯示的問題來說,這段等待時(shí)間不是完全或徹底可以接受的解決辦法。
      通常,對(duì)于如具有可變丟失數(shù)據(jù)數(shù)量的互聯(lián)網(wǎng)的網(wǎng)絡(luò)上的數(shù)據(jù)傳輸流,存在三個(gè)基本的挑戰(zhàn)。第一個(gè)挑戰(zhàn)是可靠性。許多流解決方案使用TCP連接或“虛電路”來傳送數(shù)據(jù)。TCP連接提供了有保證的傳送機(jī)制,使得從一個(gè)終端發(fā)出的數(shù)據(jù)被傳送至目的地,即使有些部分丟失并重傳。當(dāng)數(shù)據(jù)必須實(shí)時(shí)傳送時(shí),TCP連接的連貫性的打斷能夠帶來嚴(yán)重的后果。當(dāng)網(wǎng)絡(luò)適配器檢測(cè)到TCP連接中的延遲或丟失時(shí),適配器從傳輸運(yùn)行“后退(back off)”片刻,隨即緩慢恢復(fù)到原來的傳送速度。這一行為減輕所察覺到的擁塞。這樣的減緩有礙用戶看或聽的體驗(yàn),因此不能接受。
      數(shù)據(jù)傳輸?shù)牡诙€(gè)挑戰(zhàn)是效率。效率指的是怎樣為內(nèi)容流的傳送充分利用用戶可用的帶寬。這一方法直接涉及TCP連接的可靠性。當(dāng)TCP連接受可靠性問題困擾時(shí),導(dǎo)致了帶寬利用率的損失。效率測(cè)度有時(shí)突然變化,并能夠嚴(yán)重影響觀看體驗(yàn)。
      第三個(gè)挑戰(zhàn)是延時(shí)。從客戶的觀點(diǎn)看,延時(shí)是在請(qǐng)求發(fā)送的時(shí)刻和響應(yīng)數(shù)據(jù)開始到達(dá)的時(shí)刻之間間隔的時(shí)間測(cè)量。網(wǎng)絡(luò)連接的可靠性和效率,以及源準(zhǔn)備響應(yīng)所需的處理時(shí)間影響到這個(gè)值。例如,忙的或過載的服務(wù)器將用更多的時(shí)間來處理請(qǐng)求。延時(shí)既影響特定請(qǐng)求的起始時(shí)間,又對(duì)TCP的網(wǎng)絡(luò)吞吐量有重大影響。
      通過以上的討論,很明顯,存在對(duì)裝置、系統(tǒng)和方法的需要,以減輕可靠性、效率和延時(shí)問題。此外,這樣的裝置、系統(tǒng)和方法能提供即時(shí)觀看,以及快速向前、倒帶、直接搜索和瀏覽多個(gè)數(shù)據(jù)流(browse multiplestreams)的能力??墒芤娴兀@樣的裝置、系統(tǒng)和方法可使用源和目的地之間的多個(gè)連接,請(qǐng)求取決于網(wǎng)絡(luò)條件的不同比特率流。

      發(fā)明內(nèi)容
      應(yīng)本技術(shù)領(lǐng)域的目前狀態(tài)的要求,尤其是,應(yīng)通過當(dāng)前可用的內(nèi)容流系統(tǒng)(content streaming system)還沒有徹底解決的本技術(shù)領(lǐng)域的問題和需要的要求,開發(fā)本發(fā)明。因此,開發(fā)本發(fā)明以提供用于自適應(yīng)速率內(nèi)容流的裝置、系統(tǒng)和方法,其能夠解決本技術(shù)領(lǐng)域中以上所討論的許多或全部缺點(diǎn)。
      自適應(yīng)速率內(nèi)容流的裝置裝備有邏輯單元,其包括配置成在功能上執(zhí)行必要步驟的多個(gè)模塊。在所描述的實(shí)施方式中的這些模塊包括配置成同時(shí)請(qǐng)求多個(gè)小數(shù)據(jù)流(streamlet)的代理控制器模塊,代理控制器模塊進(jìn)一步配置成連續(xù)監(jiān)視小數(shù)據(jù)流請(qǐng)求和隨后的響應(yīng),并相應(yīng)地請(qǐng)求更高或更低質(zhì)量的小數(shù)據(jù)流,以及還包括配置成展示小數(shù)據(jù)流并為在內(nèi)容播放器上重放而排列所述小數(shù)據(jù)流的展示模塊。
      在一個(gè)實(shí)施方式中,所述裝置進(jìn)一步配置成建立與內(nèi)容服務(wù)器的多個(gè)傳輸控制協(xié)議(TCP)連接并請(qǐng)求不同比特率的小數(shù)據(jù)流。每個(gè)小數(shù)據(jù)流可進(jìn)一步包括內(nèi)容文件的一部分。此外,代理控制器模塊可配置成根據(jù)小數(shù)據(jù)流請(qǐng)求的響應(yīng)生成性能因子。
      在另外的實(shí)施方式中,代理控制器模塊配置成當(dāng)性能因子比閾值大并且根據(jù)因子的組合,代理控制器模塊確定可以支持更高質(zhì)量的重放時(shí),上調(diào)至更高質(zhì)量的小數(shù)據(jù)流。所述因子可以包括存儲(chǔ)在展示模塊中的連續(xù)可用的小數(shù)據(jù)流的數(shù)量、最小安全余量和當(dāng)前的提前讀取余量(read aheadmargin)。
      代理控制器模塊可配置成當(dāng)性能因子比第二閾值小時(shí)下調(diào)至更低質(zhì)量的小數(shù)據(jù)流。而且代理控制器模塊可進(jìn)一步配置成預(yù)期小數(shù)據(jù)流請(qǐng)求并預(yù)先請(qǐng)求小數(shù)據(jù)流,以能有快速向前、隨機(jī)跳讀(skip randomly)和倒帶功能。在一個(gè)實(shí)施方式中,代理控制器模塊配置成最初請(qǐng)求低質(zhì)量小數(shù)據(jù)流,以能即時(shí)重放內(nèi)容文件,并隨后根據(jù)性能因子上調(diào)。
      還提供了用于自適應(yīng)速率內(nèi)容流的本發(fā)明的一種系統(tǒng)。特別是,在一個(gè)實(shí)施方式中,系統(tǒng)包括數(shù)據(jù)通信網(wǎng)和內(nèi)容服務(wù)器,此內(nèi)容服務(wù)器與數(shù)據(jù)通信網(wǎng)相連,并具有內(nèi)容模塊,此內(nèi)容模塊配置成處理內(nèi)容并生成多個(gè)高和低質(zhì)量的流。在一個(gè)實(shí)施方式中,每一個(gè)高和低質(zhì)量的流可以包括多個(gè)小數(shù)據(jù)流。
      在另外的實(shí)施方式中,系統(tǒng)還包括配置成同時(shí)請(qǐng)求多個(gè)小數(shù)據(jù)流的代理控制器模塊,該代理控制器模塊進(jìn)一步配置成連續(xù)監(jiān)視小數(shù)據(jù)流請(qǐng)求和隨后的響應(yīng),并相應(yīng)地請(qǐng)求更高或更低質(zhì)量的小數(shù)據(jù)流,以及還包括配置成展示小數(shù)據(jù)流并為在內(nèi)容播放器上重放而排列所述小數(shù)據(jù)流的展示模塊。
      還提供了用于自適應(yīng)速率內(nèi)容流的本發(fā)明的一種方法。在所公開的實(shí)施方式中此方法基本上包括執(zhí)行關(guān)于所描述的裝置和系統(tǒng)的操作的上文所示功能的必要步驟。在一個(gè)實(shí)施方式中,此方法包括同時(shí)請(qǐng)求多個(gè)小數(shù)據(jù)流、連續(xù)監(jiān)視小數(shù)據(jù)流請(qǐng)求和隨后的響應(yīng),并相應(yīng)地請(qǐng)求更高或更低質(zhì)量的小數(shù)據(jù)流,以及展示小數(shù)據(jù)流并為在內(nèi)容播放器上重放而排列所述小數(shù)據(jù)流。
      在另外的實(shí)施方式中,本方法可以包括建立多個(gè)與內(nèi)容服務(wù)器的傳輸控制協(xié)議(TCP)連接,并請(qǐng)求不同比特率的小數(shù)據(jù)流。本方法還可以包括根據(jù)小數(shù)據(jù)流請(qǐng)求的響應(yīng)生成性能因子,當(dāng)性能因子大于閾值時(shí)上調(diào)至更高質(zhì)量小數(shù)據(jù)流,并判定是否能支持這種更高質(zhì)量重放。進(jìn)一步地,本方法可以包括當(dāng)性能因子小于第二閾值時(shí)下調(diào)至更低質(zhì)量小數(shù)據(jù)流。
      在一個(gè)實(shí)施方式中,本方法包括預(yù)期小數(shù)據(jù)流請(qǐng)求并預(yù)先請(qǐng)求小數(shù)據(jù)流以能有快速向前、隨機(jī)跳讀和倒帶功能。本方法也可以包括在最初請(qǐng)求低質(zhì)量小數(shù)據(jù)流以能即時(shí)重放內(nèi)容文件,并根據(jù)性能因子隨后上調(diào)。
      貫穿本說明書,對(duì)特征、優(yōu)點(diǎn)的提及或類似用語不意味著關(guān)于本發(fā)明可以實(shí)現(xiàn)的所有特征和優(yōu)點(diǎn)應(yīng)該在或在本發(fā)明的任一單個(gè)實(shí)施方式內(nèi)。相反,應(yīng)理解關(guān)于這些特征和優(yōu)點(diǎn)的用語意味著結(jié)合實(shí)施方式所描述特定的特征、優(yōu)點(diǎn)或特性包括在本發(fā)明的至少一個(gè)實(shí)施方式中。因此,貫穿本說明書的特征、優(yōu)點(diǎn)的討論和類似用語可以,但不是必須地,指同一實(shí)施方式。
      此外,所描述的本發(fā)明的特征、優(yōu)點(diǎn)和特性可以在一個(gè)或多個(gè)實(shí)施方式中以任何一種合適的方式進(jìn)行組合。相關(guān)領(lǐng)域的熟練技術(shù)人員會(huì)認(rèn)識(shí)到,缺少特定實(shí)施方式的一個(gè)或多個(gè)特定的特征或優(yōu)點(diǎn),本發(fā)明也可以實(shí)施。在其它例子中,在某些實(shí)施方式中可以認(rèn)識(shí)到另外的特征和優(yōu)點(diǎn),其可能不在本發(fā)明的所有實(shí)施方式中出現(xiàn)。
      本發(fā)明的這些特征和優(yōu)點(diǎn)將在下面的描述和所附的權(quán)利要求中表現(xiàn)得更明顯,或可以通過下面提出的本發(fā)明的實(shí)踐來掌握這些特征和優(yōu)點(diǎn)。


      為了更容易地理解本發(fā)明的優(yōu)點(diǎn),通過參考在所附圖中說明的特定實(shí)施方式,將提出本發(fā)明的更詳細(xì)的描述,其在上文已簡(jiǎn)要描述過。要理解,這些圖僅描繪了本發(fā)明的一些典型的實(shí)施方式,因此不認(rèn)為其是本發(fā)明范圍的限制,通過所附圖的使用,利用附加的特征和細(xì)節(jié)來描述和解釋本發(fā)明,其中圖1是示意性框圖,其說明了按照本發(fā)明的用于流內(nèi)容的自適應(yīng)速率切換的系統(tǒng)的一個(gè)實(shí)施方式;圖2a是示意性框圖,其繪圖說明了按照本發(fā)明的內(nèi)容文件的一個(gè)實(shí)施方式;圖2b是示意性框圖,其說明了按照本發(fā)明的具有不同質(zhì)量和帶寬的多個(gè)流的一個(gè)實(shí)施方式;圖2c是示意性框圖,其說明了按照本發(fā)明的被分成多個(gè)小數(shù)據(jù)流的數(shù)據(jù)流的一個(gè)實(shí)施方式;圖3是示意性框圖,其說明了按照本發(fā)明的內(nèi)容模塊的一個(gè)實(shí)施方式;圖4是示意性框圖,其繪圖說明了按照本發(fā)明的客戶模塊的一個(gè)實(shí)施方式;
      圖5是示意性流程圖,其說明了按照本發(fā)明的用于處理內(nèi)容的方法的一個(gè)實(shí)施方式;圖6是示意性流程圖,其說明了按照本發(fā)明的用于多個(gè)小數(shù)據(jù)流重放的方法的一個(gè)實(shí)施方式;和圖7是示意流程圖,其說明了按照本發(fā)明的用于在自適應(yīng)速率內(nèi)容流環(huán)境下請(qǐng)求小數(shù)據(jù)流的方法的一個(gè)實(shí)施方式。
      具體實(shí)施例方式
      為了更加強(qiáng)調(diào)其實(shí)施的獨(dú)立性,本說明書所描述的許多功能單元被標(biāo)注為模塊。例如,一個(gè)模塊可以作為包括定制的VLSI電路或門陣列、現(xiàn)有的諸如邏輯芯片的半導(dǎo)體、晶體管或其它分立元件的硬件電路來實(shí)施。也可以在如現(xiàn)場(chǎng)可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備或類似物的可編程硬件設(shè)備中實(shí)施模塊。
      模塊也可以在軟件中實(shí)施以由不同類型的處理器執(zhí)行。例如,可執(zhí)行代碼的確定的模塊可以包括一個(gè)或更多個(gè)例如可構(gòu)建成對(duì)象、程序或功能的計(jì)算機(jī)指令的物理或邏輯模塊。然而,確定的模塊的可執(zhí)行部分不必在物理上位于一起,但是可以包括存儲(chǔ)在不同位置的完全不同的指令,當(dāng)邏輯上被結(jié)合在一起時(shí),其包括此模塊并實(shí)現(xiàn)此模塊所說明的目的。
      實(shí)際上,可執(zhí)行代碼的模塊可以是單個(gè)指令或許多指令,并甚至可以在幾個(gè)不同的代碼段上、在不同的程序中和跨越幾個(gè)存儲(chǔ)器設(shè)備分布。類似地,操作數(shù)據(jù)可以被識(shí)別并于此在模塊中說明,以及可以以任何合適的形式表示并可在任何合適類型的數(shù)據(jù)結(jié)構(gòu)內(nèi)進(jìn)行組織??梢宰鳛閱蝹€(gè)數(shù)據(jù)集合收集操作數(shù)據(jù),或可以分布于不同的位置,包括在不同的存儲(chǔ)設(shè)備上,也可以至少部分僅作為網(wǎng)絡(luò)或系統(tǒng)上的電子信號(hào)而存在。
      貫穿本發(fā)明書,對(duì)于“一個(gè)實(shí)施方式”、“實(shí)施方式”的提及或類似用語意味著結(jié)合實(shí)施方式所描述的特定的特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施方式中。因此,貫穿本說明書的詞語“在一個(gè)實(shí)施方式中”、“在實(shí)施方式中”和類似用語的出現(xiàn)可以但不必都指同一個(gè)實(shí)施方式。
      信號(hào)承載媒介(signal bearing medium)的提及可以采用能夠生成信號(hào),引起信號(hào)產(chǎn)生,或在數(shù)字處理裝置上使機(jī)器可讀指令得以執(zhí)行的任何形式。通過傳輸線、壓縮盤、數(shù)字視頻盤、磁帶、伯努利(Bernoulli)驅(qū)動(dòng)器、磁盤、打孔卡、閃存(flash memory)、集成電路或其它數(shù)字處理裝置存儲(chǔ)設(shè)備可以實(shí)現(xiàn)信號(hào)承載媒介。
      此外,所描述的本發(fā)明的特征、結(jié)構(gòu)或特性可以在一個(gè)或多個(gè)實(shí)施方式中以任何合適的方式組合。在下面的描述中,提供了許多特定細(xì)節(jié),如編程、軟件模塊、用戶選擇、網(wǎng)絡(luò)事務(wù)、數(shù)據(jù)庫詢問、數(shù)據(jù)庫結(jié)構(gòu)、硬件模塊、硬件電路、硬件芯片等等例子,以提供本發(fā)明的實(shí)施方式的全面理解。然而,相關(guān)領(lǐng)域的熟練技術(shù)人員會(huì)認(rèn)識(shí)到,缺少一個(gè)或多個(gè)特定細(xì)節(jié)或利用其它的方法、部件、材料等等本發(fā)明也可以實(shí)現(xiàn)。在其他例子中,沒有詳細(xì)地顯示或描述眾所周知的結(jié)構(gòu)、材料或操作,以避免干擾本發(fā)明的特征。
      圖1是示意性框圖,其說明了按照本發(fā)明的用于流內(nèi)容的動(dòng)態(tài)速率切換的系統(tǒng)100的一個(gè)實(shí)施方式。在一個(gè)實(shí)施方式中,系統(tǒng)100包括內(nèi)容服務(wù)器102和終端用戶104。內(nèi)容服務(wù)器102和終端用戶站104可以通過數(shù)據(jù)通信網(wǎng)絡(luò)連接。數(shù)據(jù)通信網(wǎng)絡(luò)可以包括互聯(lián)網(wǎng)106和到互聯(lián)網(wǎng)106的連接108??梢赃x擇地,內(nèi)容服務(wù)器102和終端用戶104可以位于常規(guī)的局域網(wǎng)、無線區(qū)域網(wǎng)、蜂窩狀的網(wǎng)絡(luò)、虛擬局域網(wǎng)或類似物上。終端用戶站104可以包括個(gè)人計(jì)算機(jī)(PC)、配置成在互聯(lián)網(wǎng)上通訊的娛樂系統(tǒng)、或配置成顯示內(nèi)容的便攜式電子設(shè)備。
      在所描述的實(shí)施方式中,系統(tǒng)100也包括發(fā)布器110和網(wǎng)絡(luò)服務(wù)器116。發(fā)布器110可以是內(nèi)容的制造者或發(fā)布者。例如,如果要流化(stream)的內(nèi)容是廣播的電視節(jié)目,發(fā)布器110可以是電視或有線網(wǎng)絡(luò)頻道如NBC或MTV。通過互聯(lián)網(wǎng)106,內(nèi)容被傳送至內(nèi)容服務(wù)器102,其中,內(nèi)容由內(nèi)容模塊112接收。內(nèi)容模塊112可配置成接收、處理和存儲(chǔ)內(nèi)容。在一個(gè)實(shí)施方式中,處理過的內(nèi)容由客戶模塊114訪問,客戶模塊114配置成在終端用戶站104上播放內(nèi)容。在另外的實(shí)施方式中,客戶模塊114配置成從多個(gè)地點(diǎn)同時(shí)接收內(nèi)容流的不同部分。例如,客戶模塊114可以請(qǐng)求或接收來自多個(gè)網(wǎng)絡(luò)服務(wù)器116的任何一個(gè)的內(nèi)容。
      圖2a是示意性框圖,其繪圖說明了內(nèi)容文件200的一個(gè)實(shí)施方式。在一個(gè)實(shí)施方式中,內(nèi)容文件200由發(fā)布器110發(fā)布。內(nèi)容文件200可以包括電視廣播、體育事件、電影、音樂、音樂會(huì)等等。內(nèi)容文件200可以是實(shí)況轉(zhuǎn)播的或存檔的內(nèi)容。內(nèi)容文件200可以包括未壓縮的視頻和音頻,或者,視頻或音頻。此外,內(nèi)容文件200可以被壓縮。壓縮了的內(nèi)容文件200的例子包括但不限于DivX、Windows Media Video 9、Quicktime6.5Sorenson3或Quicktime6.5/MPEG-4編碼內(nèi)容。
      圖2b是示意性框圖,按照本發(fā)明,其說明了具有不同質(zhì)量和帶寬的多個(gè)流202的一個(gè)實(shí)施方式。在一個(gè)實(shí)施方式中,多個(gè)流202包括一個(gè)低質(zhì)量的流204、一個(gè)中等質(zhì)量的流206和一個(gè)高質(zhì)量的流208。每一個(gè)流204、206、208是內(nèi)容文件200的復(fù)制,其被編碼和壓縮至不同的比特率。例如,低質(zhì)量流204可以被編碼和壓縮至比特率為100千比特/秒(100kbps),中等質(zhì)量流206可以被編碼和壓縮至比特率為200kbps,高質(zhì)量流208可以被編碼和壓縮至比特率為600kbps。
      圖2c是示意性框圖,其說明了被分成多個(gè)小數(shù)據(jù)流212的數(shù)據(jù)流210的一個(gè)實(shí)施方式。如這里所用的,小數(shù)據(jù)流指的是內(nèi)容文件200的任意大小的部分。每個(gè)小數(shù)據(jù)流212可以包括包含在流210中的內(nèi)容的一部分,其作為獨(dú)立媒體對(duì)象被封裝。小數(shù)據(jù)流212的內(nèi)容可以有唯一的時(shí)間索引,該時(shí)間索引與流210所包含的內(nèi)容的起始有關(guān)。在一個(gè)實(shí)施方式中,包含在每個(gè)小數(shù)據(jù)流212中的內(nèi)容有2秒的持續(xù)時(shí)間。例如,小數(shù)據(jù)流0可以有代表內(nèi)容重放起始的時(shí)間索引00:00,而小數(shù)據(jù)流1可以有時(shí)間索引00:02等等??蛇x擇的,小數(shù)據(jù)流212的持續(xù)時(shí)間可以是小于數(shù)據(jù)流210的整個(gè)內(nèi)容重放的持續(xù)時(shí)間的任何持續(xù)時(shí)間。在另外的實(shí)施方式中,小數(shù)據(jù)流212可以按照文件大小而不是時(shí)間索引進(jìn)行分割。
      圖3是示意性框圖,其更詳細(xì)地說明了按照本發(fā)明的內(nèi)容模塊112的一個(gè)實(shí)施方式。內(nèi)容模塊112可以包括流模塊302、小數(shù)據(jù)流模塊304、編碼器模塊306、小數(shù)據(jù)流數(shù)據(jù)庫308和網(wǎng)絡(luò)服務(wù)器116。在一個(gè)實(shí)施方式中,流模塊302配置成從發(fā)布器110接收內(nèi)容文件200,并生成不同質(zhì)量的多個(gè)流202。來自發(fā)布器的原始內(nèi)容文件200可以是數(shù)字的形式并可以包含擁有高比特率如2mbps的內(nèi)容。內(nèi)容可以通過互聯(lián)網(wǎng)106從發(fā)布器110傳送至內(nèi)容模塊112。這樣的數(shù)據(jù)傳送為本領(lǐng)域所熟知并且不需要在此進(jìn)一步討論??蛇x擇的,內(nèi)容可以包括獲取的廣播。
      在所描述的實(shí)施方式中,多個(gè)流202可以包括低質(zhì)量的流204、中等質(zhì)量的流206和高質(zhì)量的流208??蛇x擇的,多個(gè)流202可以包括任意數(shù)目的被認(rèn)為是適應(yīng)終端用戶帶寬所需的流。小數(shù)據(jù)流模塊304可配置成以從流模塊接收多個(gè)流202并生成多個(gè)流312,每個(gè)流包含多個(gè)小數(shù)據(jù)流212。參照?qǐng)D2c所示,每個(gè)小數(shù)據(jù)流212可以包括預(yù)先定義的部分流。編碼器模塊306配置成對(duì)來自多個(gè)流312的每個(gè)小數(shù)據(jù)流進(jìn)行編碼,并在小數(shù)據(jù)流數(shù)據(jù)庫308中存儲(chǔ)小數(shù)據(jù)流。編碼器模塊306可以使用如DivX、Windows Media Video9、Quicktime6.5Sorenson3或Quicktime6.5/MPEG-4的編碼方案??蛇x擇的,可以使用常規(guī)的編碼方案。
      內(nèi)容模塊112也可以包括元數(shù)據(jù)模塊312和元數(shù)據(jù)數(shù)據(jù)庫314。在一個(gè)實(shí)施方式中,元數(shù)據(jù)包括靜態(tài)的可搜尋到的內(nèi)容信息。例如,元數(shù)據(jù)包括但不限于內(nèi)容的廣播數(shù)據(jù)(air date)、題目、女演員、男演員、長(zhǎng)度和插曲名稱。元數(shù)據(jù)由發(fā)布器110生成,并可以配置成定義終端用戶環(huán)境。在一個(gè)實(shí)施方式中,發(fā)布器110可以為包括菜單、略圖、邊注、廣告等等內(nèi)容定義終端用戶的導(dǎo)航環(huán)境。此外,發(fā)布器110可以定義用于內(nèi)容文件200的功能如快速向前、倒帶、暫停和播放。元數(shù)據(jù)模塊312配置成從發(fā)布器110接收元數(shù)據(jù),并在元數(shù)據(jù)數(shù)據(jù)庫314中存儲(chǔ)元數(shù)據(jù)。在另外的實(shí)施方式中,元數(shù)據(jù)模塊312配置成與客戶模塊114連接,允許客戶模塊114基于多個(gè)元數(shù)據(jù)準(zhǔn)則的至少一個(gè)搜尋內(nèi)容。此外,通過自動(dòng)化過程或手動(dòng)定義可以由內(nèi)容模塊112生成元數(shù)據(jù)。
      一旦小數(shù)據(jù)流被接收并被處理,客戶模塊114可以利用HTTP請(qǐng)求來自網(wǎng)絡(luò)服務(wù)器116的小數(shù)據(jù)流212。這種客戶側(cè)啟動(dòng)的請(qǐng)求的運(yùn)用不要求額外的放火墻的配置。此外,由于客戶模塊114發(fā)起請(qǐng)求,網(wǎng)絡(luò)服務(wù)器116僅需要被檢索并提供所述請(qǐng)求的小數(shù)據(jù)流。在另外的實(shí)施方式中,客戶模塊114可配置成從多個(gè)網(wǎng)絡(luò)服務(wù)器310檢索小數(shù)據(jù)流212。每個(gè)網(wǎng)絡(luò)服務(wù)器116可以位于遍布互聯(lián)網(wǎng)106的不同位置。小數(shù)據(jù)流212本質(zhì)上是靜態(tài)文件。這樣,對(duì)于客戶模塊114,不需要專門的媒體服務(wù)器或服務(wù)器側(cè)智能來檢索小數(shù)據(jù)流212。小數(shù)據(jù)流212可以由網(wǎng)絡(luò)服務(wù)器116提供服務(wù),或由互聯(lián)網(wǎng)服務(wù)提供商(ISP)或任何其它網(wǎng)絡(luò)信息基礎(chǔ)設(shè)施的運(yùn)營(yíng)者的高速緩存服務(wù)器(cache server)高速緩存,和由高速緩存服務(wù)器提供服務(wù)。高速緩存服務(wù)器的使用對(duì)本領(lǐng)域的熟練技術(shù)人員來說是熟知的,在此不進(jìn)一步討論。這樣,提出了可高度升級(jí)的解決辦法,在任何特定的位置,其不受大量向網(wǎng)絡(luò)服務(wù)器116提出的客戶模塊114請(qǐng)求的妨礙。
      圖4是示意性框圖,其繪圖說明了按照本發(fā)明的客戶模塊114的一個(gè)實(shí)施方式??蛻裟K114可以包括一個(gè)代理控制器模塊402、一個(gè)小數(shù)據(jù)流高速緩存模塊404和一個(gè)網(wǎng)絡(luò)控制器模塊406。在一個(gè)實(shí)施方式中,代理控制器模塊402配置成與觀察器408連接,并將小數(shù)據(jù)流212傳送至觀察器408。在另外的實(shí)施方式中,客戶模塊114可以包括多個(gè)代理控制器模塊402。每個(gè)代理控制器模塊402可配置成與一個(gè)觀察器408連接??蛇x擇的,每個(gè)代理控制器模塊402可配置成與多個(gè)觀察器408連接。觀察器408可以是在PC或手持電子設(shè)備上運(yùn)行的媒體播放器(未顯示)。
      代理控制器模塊402配置成選擇傳送至觀察器408的小數(shù)據(jù)流的質(zhì)量級(jí)別?;谠诿總€(gè)所請(qǐng)求小數(shù)據(jù)流的連續(xù)接收時(shí)間之間的時(shí)間間隔的連續(xù)觀察,代理控制器模塊402請(qǐng)求更低或更高質(zhì)量的流。請(qǐng)求更低或更高質(zhì)量的流的方法將在下文參考圖7進(jìn)行更詳細(xì)地討論。
      代理控制器模塊402可配置成從觀察器408接收用戶命令。這樣的命令可以包括播放、快速向前、倒帶、暫停和停止。在一個(gè)實(shí)施方式中,代理控制器模塊402從小數(shù)據(jù)流高速緩存模塊404處請(qǐng)求小數(shù)據(jù)流212并在展示模塊409中排列所接收到的小數(shù)據(jù)流212。展示模塊409可配置成按照升序重放時(shí)間的順序排列小數(shù)據(jù)流212。在所描述的實(shí)施方式中,小數(shù)據(jù)流212編號(hào)為0、1、2、3、4等等。然而,每個(gè)小數(shù)據(jù)流可以用唯一的文件名來標(biāo)識(shí)。
      此外,代理控制器模塊402可配置成預(yù)期小數(shù)據(jù)流212請(qǐng)求和預(yù)先請(qǐng)求小數(shù)據(jù)流212。通過預(yù)先請(qǐng)求小數(shù)據(jù)流212,用戶可以對(duì)內(nèi)容進(jìn)行快速向前、隨機(jī)跳讀或倒帶,且不經(jīng)歷緩沖延遲。在另外的實(shí)施方式中,代理控制器模塊402可以請(qǐng)求小數(shù)據(jù)流212,其對(duì)應(yīng)于整個(gè)內(nèi)容重放時(shí)間中的30秒的時(shí)間索引間隔??蛇x擇的,代理控制器模塊402可以在任何小于時(shí)間索引長(zhǎng)度的間隔上請(qǐng)求小數(shù)據(jù)流。當(dāng)內(nèi)容文件200開始或快速向前時(shí),這實(shí)現(xiàn)了“快速開始”能力而不用緩沖等待。在另外的實(shí)施方式中,代理控制器模塊402可配置成預(yù)先請(qǐng)求小數(shù)據(jù)流212,其對(duì)應(yīng)于與在內(nèi)容范圍內(nèi)或在選擇觀看新內(nèi)容的終端用戶104預(yù)期的其他內(nèi)容范圍內(nèi)的特定索引點(diǎn)。
      在一個(gè)實(shí)施方式中,小數(shù)據(jù)流高速緩存模塊404配置成從代理控制器模塊402接收小數(shù)據(jù)流212請(qǐng)求。接收到請(qǐng)求時(shí),小數(shù)據(jù)流高速緩存模塊404首先檢查小數(shù)據(jù)流高速緩存410以證實(shí)小數(shù)據(jù)流212是否存在。在另外的實(shí)施方式中,小數(shù)據(jù)流高速緩存模塊404處理來自多個(gè)代理控制器模塊402的小數(shù)據(jù)流212請(qǐng)求??蛇x擇的,可將小數(shù)據(jù)流高速緩存模塊404提供給每個(gè)代理控制器模塊402。如果請(qǐng)求的小數(shù)據(jù)流212不存在于小數(shù)據(jù)流高速緩存410中,請(qǐng)求被傳遞至網(wǎng)絡(luò)控制器模塊406。為了實(shí)現(xiàn)快速向前和倒帶能力,小數(shù)據(jù)流高速緩存模塊404配置成在小數(shù)據(jù)流被觀察到后,在小數(shù)據(jù)流高速緩存模塊404中在特定時(shí)段存儲(chǔ)多個(gè)小數(shù)據(jù)流212。然而,一旦小數(shù)據(jù)流212被刪除,其可以向網(wǎng)絡(luò)服務(wù)器116再次請(qǐng)求。
      網(wǎng)絡(luò)控制器模塊406可配置成從小數(shù)據(jù)流高速緩存模塊404接收小數(shù)據(jù)流請(qǐng)求,并且打開一個(gè)至網(wǎng)絡(luò)服務(wù)器116或其它遠(yuǎn)程小數(shù)據(jù)流212數(shù)據(jù)庫(未顯示)的連接。在一個(gè)實(shí)施方式中,網(wǎng)絡(luò)控制器模塊406打開一個(gè)至網(wǎng)絡(luò)服務(wù)器116的TCP/IP連接,并為所請(qǐng)求小數(shù)據(jù)流212生成一個(gè)標(biāo)準(zhǔn)的HTTP GET請(qǐng)求。接收到所請(qǐng)求小數(shù)據(jù)流212時(shí),網(wǎng)絡(luò)控制器模塊406將小數(shù)據(jù)流212傳遞至小數(shù)據(jù)流高速緩存模塊404,其中,小數(shù)據(jù)流212存儲(chǔ)于小數(shù)據(jù)流高速緩存410。在另外的實(shí)施方式中,網(wǎng)絡(luò)控制器模塊406配置成同時(shí)處理和請(qǐng)求多個(gè)小數(shù)據(jù)流212。網(wǎng)絡(luò)控制器模塊406也可配置成以請(qǐng)求多個(gè)小數(shù)據(jù)流,其中,每個(gè)小數(shù)據(jù)流212以多個(gè)部分地相繼被請(qǐng)求。
      在另外的實(shí)施方式中,小數(shù)據(jù)流請(qǐng)求可以包括請(qǐng)求任何小數(shù)據(jù)流文件的片段。將小數(shù)據(jù)流分割成更小的片段或部分有益于提升潛在效率,并消除與多個(gè)完整小數(shù)據(jù)流請(qǐng)求在任何給定時(shí)刻共享帶寬有關(guān)的問題。這通過對(duì)小數(shù)據(jù)流212片段使用并行TCP/IP連接來獲得。從而,克服了效率和網(wǎng)絡(luò)丟失問題,而小數(shù)據(jù)流的達(dá)到具有更有用和可預(yù)計(jì)的時(shí)限。
      在一個(gè)實(shí)施方式中,客戶模塊114配置成在客戶模塊114和網(wǎng)絡(luò)服務(wù)器116或網(wǎng)絡(luò)高速緩存之間使用多個(gè)TCP連接。高速緩存的干預(yù)對(duì)于客戶可以是透明的或由客戶將其配置為一個(gè)轉(zhuǎn)發(fā)高速緩存。通過在某個(gè)時(shí)間以被稱為“并行檢索”的方式請(qǐng)求多于一個(gè)的小數(shù)據(jù)流212,或通過在某個(gè)時(shí)間請(qǐng)求多于一個(gè)小數(shù)據(jù)流212部分,明顯地提高了效率并實(shí)際上消除了延遲。在另外的實(shí)施方式中,客戶模塊允許最多三個(gè)未完成的小數(shù)據(jù)流212請(qǐng)求。如果其他連接失敗,客戶模塊114可以支持額外的開放TCP連接作為可用的備份。小數(shù)據(jù)流212請(qǐng)求在所有的開放連接中是輪轉(zhuǎn)的,以便為任一落入慢起始或關(guān)閉模式的特定連接保持TCP流邏輯。如果網(wǎng)絡(luò)控制器模塊406以多個(gè)部分地請(qǐng)求小數(shù)據(jù)流212,每個(gè)所請(qǐng)求部分在相互獨(dú)立TCP/IP連接上,網(wǎng)絡(luò)控制器模塊406重新組合這些部分,提供一個(gè)由客戶模塊114的所有其它部分使用的完整的小數(shù)據(jù)流212。
      當(dāng)TCP連接完全失敗時(shí),對(duì)于同一小數(shù)據(jù)流212,可以在不同連接上發(fā)送一個(gè)新的請(qǐng)求。在另外的實(shí)施方式中,如果請(qǐng)求沒有即時(shí)滿足,對(duì)于同一小數(shù)據(jù)流212,可以在不同連接上發(fā)送一個(gè)冗余請(qǐng)求。如果第一個(gè)小數(shù)據(jù)流請(qǐng)求的響應(yīng)在冗余請(qǐng)求響應(yīng)之前到達(dá),可以中止冗余請(qǐng)求。如果冗余請(qǐng)求響應(yīng)在第一個(gè)請(qǐng)求響應(yīng)之前到達(dá),可以中止第一個(gè)請(qǐng)求。
      幾個(gè)小數(shù)據(jù)流212的請(qǐng)求可以在單個(gè)TCP連接上發(fā)送,且使響應(yīng)沿著同一連接以匹配的順序流回。這去掉了除第一請(qǐng)求之外的所有延遲。因?yàn)橐恢卑l(fā)送多個(gè)響應(yīng),在第一個(gè)之后的每個(gè)新的小數(shù)據(jù)流212響應(yīng)的處理延遲不是性能的一個(gè)因子。這種技術(shù)在工業(yè)中已知為“流水線操作”。通過去除請(qǐng)求延遲的大部分影響,流水線操在請(qǐng)求響應(yīng)處理中提供了效率。然而,流水線操作有嚴(yán)重的弱點(diǎn)。傳輸延遲影響了所有的響應(yīng)。如果單個(gè)TCP連接失敗,所有的未完成請(qǐng)求和響應(yīng)丟失。流水線操作導(dǎo)致了請(qǐng)求之間的嚴(yán)重依賴。
      在維持每個(gè)小數(shù)據(jù)流212請(qǐng)求的獨(dú)立的同時(shí),可以在客戶模塊114和網(wǎng)絡(luò)服務(wù)器116之間開放多個(gè)TCP連接,以便獲得流水線操作的降低延遲功效上的益處??梢酝瑫r(shí)發(fā)送幾個(gè)小數(shù)據(jù)流212請(qǐng)求,每個(gè)請(qǐng)求在彼此不同的TCP連接上發(fā)送。這一技術(shù)稱為“虛流水線操作”并且是本發(fā)明的一個(gè)創(chuàng)新??梢酝瑫r(shí)傳送多個(gè)響應(yīng),保證在客戶模塊114和網(wǎng)絡(luò)服務(wù)器116之間的通信帶寬總是被利用。虛流水線操作去除了傳統(tǒng)流水線操作的弱點(diǎn)。一個(gè)響應(yīng)的延遲或完全失敗不影響其它響應(yīng)的傳送,因?yàn)槊總€(gè)響應(yīng)占據(jù)一個(gè)獨(dú)立的TCP連接。未被多個(gè)響應(yīng)中的一個(gè)所使用(無論是否由于延遲或TCP連接失敗)的任何傳輸帶寬可以由其它未完成的響應(yīng)所使用。
      可以為整個(gè)小數(shù)據(jù)流212發(fā)送單個(gè)小數(shù)據(jù)流212請(qǐng)求,或發(fā)送多個(gè)請(qǐng)求,其每個(gè)是針對(duì)小數(shù)據(jù)流的不同部分或段。如果小數(shù)據(jù)流以幾個(gè)部分地被請(qǐng)求,可以通過客戶模塊114將這幾個(gè)部分重新組合成小數(shù)據(jù)流。
      為了在最大化帶寬使用和響應(yīng)時(shí)間之間保持適當(dāng)?shù)钠胶猓仨殞?duì)新的小數(shù)據(jù)流請(qǐng)求的發(fā)出進(jìn)行定時(shí),以使在客戶模塊114完全接收到對(duì)于以前未完成的小數(shù)據(jù)流請(qǐng)求的其中一個(gè)的響應(yīng)之前,網(wǎng)絡(luò)服務(wù)器116不傳送響應(yīng)。例如,如果三個(gè)小數(shù)據(jù)流212請(qǐng)求未完成,在三個(gè)響應(yīng)中的一個(gè)被完全接收并“從流水線下來”的稍微之前,客戶模塊114應(yīng)發(fā)送下一個(gè)請(qǐng)求。換句話說,調(diào)整請(qǐng)求定時(shí)以保持三個(gè)響應(yīng)在傳輸中。在四個(gè)響應(yīng)之間共享信道減少了其它三個(gè)響應(yīng)的凈響應(yīng)時(shí)間。可以通過觀察動(dòng)態(tài)地計(jì)算定時(shí)調(diào)整,并相應(yīng)地調(diào)整請(qǐng)求時(shí)間以保持功效和響應(yīng)時(shí)間的合適的平衡。
      下面的流程示意圖通常作為邏輯流程圖提出。這樣,描述的順序和標(biāo)號(hào)的步驟表示本方法的一個(gè)實(shí)施方式??梢詷?gòu)想出其它步驟和方法,其對(duì)所描述方法的一個(gè)或更多個(gè)步驟或其中幾部分功能、邏輯、或效果是等同的。此外,提供所使用的格式和符號(hào)以解釋本方法的邏輯步驟并應(yīng)理解為不限制本方法的范圍。雖然可以在流程圖中使用不同的箭頭類型和線條類型,但要理解為其不限制相應(yīng)方法的范圍。實(shí)際上,一些箭頭和其它連接符可用來僅表示本方法的邏輯流程。例如,箭頭可以表示在所描述方法的列舉步驟之間的未指定持續(xù)時(shí)期的等待或監(jiān)視階段。另外,特定方法發(fā)生的順序可以或可以不嚴(yán)格遵守所示的相應(yīng)步驟的順序。
      圖5是示意流程圖,其說明了按照本發(fā)明的用于處理內(nèi)容的方法500的一個(gè)實(shí)施方式。在一個(gè)實(shí)施方式中,方法500開始502,內(nèi)容模塊112從發(fā)布器110接收504內(nèi)容。接收內(nèi)容504可以包括接收504內(nèi)容文件200的數(shù)字備份,或?qū)?nèi)容文件200的物理備份數(shù)字化。可選擇的,接收504內(nèi)容可以包括接收無線電或電視廣播。一旦接收到504,流模塊302生成506多個(gè)流202,每個(gè)流202有不同的質(zhì)量。質(zhì)量可以預(yù)先定義,或根據(jù)終端用戶帶寬自動(dòng)設(shè)置,或?qū)?yīng)于預(yù)先設(shè)計(jì)的發(fā)布器的準(zhǔn)則。
      小數(shù)據(jù)流模塊304接收流202并生成508多個(gè)小數(shù)據(jù)流212。在一個(gè)實(shí)施方式中,生成508小數(shù)據(jù)流包括將流202分割成多個(gè)2秒的小數(shù)據(jù)流212。可選擇的,小數(shù)據(jù)流可以具有小于或等于流202長(zhǎng)度的任意長(zhǎng)度。然后編碼模塊306按照壓縮算法對(duì)小數(shù)據(jù)流編碼510。在另外的實(shí)施方式中,算法包括專有的編碼譯碼器如WMV9。編碼器模塊306隨后在小數(shù)據(jù)流數(shù)據(jù)庫308中存儲(chǔ)512編碼后的小數(shù)據(jù)流。一旦存儲(chǔ)512,隨后網(wǎng)絡(luò)服務(wù)器116可以為小數(shù)據(jù)流服務(wù)514。在一個(gè)實(shí)施方式中,服務(wù)514小數(shù)據(jù)流包括從客戶模塊114接收小數(shù)據(jù)流請(qǐng)求,從小數(shù)據(jù)流數(shù)據(jù)庫308檢索所請(qǐng)求的小數(shù)據(jù)流,和隨后傳輸小數(shù)據(jù)流至客戶模塊114。隨后方法500結(jié)束516。
      圖6是示意流程圖,其說明了按照本發(fā)明的用于觀看多個(gè)小數(shù)據(jù)流的方法600的一個(gè)實(shí)施方式。方法600開始,提供604代理控制模塊器402并將其與觀察器408關(guān)聯(lián),并提供展示模塊409。代理控制器模塊器402隨后向小數(shù)據(jù)流高速緩存模塊404請(qǐng)求606小數(shù)據(jù)流。可選擇的,代理控制器模塊器402可以同時(shí)向小數(shù)據(jù)流高速緩存模塊404請(qǐng)求606多個(gè)小數(shù)據(jù)流。如果小數(shù)據(jù)流本地存儲(chǔ)608于小數(shù)據(jù)流高速緩存410,小數(shù)據(jù)流高速緩存模塊404檢索610小數(shù)據(jù)流并發(fā)送小數(shù)據(jù)流至代理控制器模塊402。檢索610或接收到小數(shù)據(jù)流時(shí),代理控制器模塊402判定611是否切換至更高或更低質(zhì)量流202。這一判定將參考圖7在下文更詳細(xì)描述。
      在一個(gè)實(shí)施方式中,展示模塊409隨后將小數(shù)據(jù)流排列612成合適的順序,代理控制器模塊402發(fā)送614小數(shù)據(jù)流至觀察器408。在另外的實(shí)施方式中,發(fā)送614小數(shù)據(jù)流至終端用戶包括在觀察器408上播放視頻或音頻小數(shù)據(jù)流。如果小數(shù)據(jù)流不在本地存儲(chǔ)608,則小數(shù)據(jù)流請(qǐng)求被傳遞至網(wǎng)絡(luò)控制器模塊406。隨后網(wǎng)絡(luò)控制器模塊406隨后向網(wǎng)絡(luò)服務(wù)器116請(qǐng)求616小數(shù)據(jù)流。一旦收到小數(shù)據(jù)流,網(wǎng)絡(luò)控制器模塊406將小數(shù)據(jù)流傳遞至小數(shù)據(jù)流高速緩存模塊404。小數(shù)據(jù)流高速緩存模塊404存檔618小數(shù)據(jù)流??蛇x擇的,小數(shù)據(jù)流高速緩存模塊404隨后存檔618小數(shù)據(jù)流并將小數(shù)據(jù)流傳遞至代理控制器模塊402,并且如上所述,方法600隨后從操作610處繼續(xù)。
      現(xiàn)參考圖7,在此所示的是示意流程圖,其說明了按照本發(fā)明的用于在自適應(yīng)速率切換內(nèi)容流的環(huán)境中請(qǐng)求小數(shù)據(jù)流的方法700的一個(gè)實(shí)施方式。在一個(gè)實(shí)施方式中,方法700可以用作如圖6的操作611。方法700開始,參見圖6如上文所述,代理控制模塊器402接收704小數(shù)據(jù)流。代理控制器模塊402隨即監(jiān)視706所請(qǐng)求小數(shù)據(jù)流的接收時(shí)間。在一個(gè)實(shí)施方式中,代理控制器模塊402監(jiān)視在每個(gè)小數(shù)據(jù)流響應(yīng)的連續(xù)接收時(shí)間之間的時(shí)間間隔Δ。響應(yīng)的順序與其對(duì)應(yīng)的請(qǐng)求順序是不相關(guān)的。
      由于網(wǎng)絡(luò)行為特征的波動(dòng),有時(shí)非常突然地,任意給定的Δ也許完全不同于另一個(gè)。為了補(bǔ)償這一波動(dòng),代理控制器模塊402計(jì)算708跨重放長(zhǎng)度S的小數(shù)據(jù)流的n個(gè)采樣的窗口的性能比率r。在一個(gè)實(shí)施方式中,使用等式r=Sn&Sigma;i=1n&Delta;i]]>計(jì)算性能比率r。
      由于同時(shí)處理多個(gè)小數(shù)據(jù)流,并為了更好地判斷性能比率r的集中趨勢(shì)(central tendency),代理控制器模塊402可以計(jì)算跨m尺寸的窗口的幾何平均,或可選擇地等效的平均算法,得到性能因子
      通過比較current和觸發(fā)閾值Θup,開始關(guān)于是否上調(diào)710重放質(zhì)量的策略判定。如果current≥Θup,則可以考慮716上調(diào)至下一個(gè)更高質(zhì)量的流。在一個(gè)實(shí)施方式中,觸發(fā)閾值Θup由與當(dāng)前提前讀取余量(current readahead margin)(即連續(xù)可用的小數(shù)據(jù)流數(shù)目,其已經(jīng)通過展示模塊409被連續(xù)排列以用于以當(dāng)前重放時(shí)間索引展示)和最小安全余量相關(guān)的因子組合來確定。在一個(gè)實(shí)施方式中,最小安全余量可以是24秒。提前讀取余量越小,Θup越大,其將阻止上調(diào)質(zhì)量,直至可以設(shè)立更大的提前讀取余量以抵御網(wǎng)絡(luò)中斷。如果代理控制器模塊402能夠支持716上調(diào)質(zhì)量,那么代理控制器模塊402將上調(diào)717質(zhì)量并隨后請(qǐng)求更高質(zhì)量的流。通過比較更高質(zhì)量流的性能因子的估值higher和Θup,來確定是否可支持716更高質(zhì)量流的使用。如果higher≥Θup,那么認(rèn)為更高質(zhì)量流的使用是可支持的。如果關(guān)于是否可支持716更高流速率的判定是“否”,則代理控制器模塊402將不再試圖上調(diào)717流質(zhì)量。如果已到達(dá)流的末端714,方法618結(jié)束716。
      如果關(guān)于是否試圖上調(diào)的判定710是“否”,則進(jìn)行關(guān)于是否下調(diào)的判定712。在一個(gè)實(shí)施方式中,以與Θup類似的方式定義觸發(fā)閾值Θdown。如果current≥Θdown,則流質(zhì)量適當(dāng),代理控制器模塊402不下調(diào)718流質(zhì)量。然而,如果current≤Θdown,代理控制器模塊402下調(diào)718流質(zhì)量。如果未到達(dá)流的末端714,代理控制器模塊402開始請(qǐng)求并接收704更低質(zhì)量的小數(shù)據(jù)流,并且方法618再次開始。當(dāng)然,上面描述的等式和算法僅是舉例說明,而且可以由可選擇的小數(shù)據(jù)流監(jiān)控方法代替。
      本發(fā)明可以以其它特定的形式具體實(shí)施,不偏離其主旨或本質(zhì)特征。所描述的實(shí)施方式在所有方面應(yīng)認(rèn)為僅是舉例說明而非限制性的。因此,通過所附的權(quán)利要求而不是上述描述說明本發(fā)明的范圍。來自在權(quán)利要求的等同的含意和范圍內(nèi)的所有改變都包括在其范圍內(nèi)。
      權(quán)利要求
      1.一種關(guān)于自適應(yīng)速率內(nèi)容流的裝置,所述裝置包括一代理控制器模塊,其配置成同時(shí)請(qǐng)求多個(gè)小數(shù)據(jù)流的至少一部分;所述代理控制器模塊進(jìn)一步配置成連續(xù)監(jiān)視對(duì)于小數(shù)據(jù)流請(qǐng)求的后續(xù)響應(yīng)的進(jìn)展,并且根據(jù)所述響應(yīng)的所述進(jìn)展,請(qǐng)求更高或更低質(zhì)量的小數(shù)據(jù)流;和一展示模塊,其配置成展示所述小數(shù)據(jù)流,并為在內(nèi)容播放器上重放而排列所述小數(shù)據(jù)流。
      2.如權(quán)利要求1所述的裝置,其中,所述代理控制器模塊配置成建立多個(gè)與內(nèi)容服務(wù)器的傳輸控制協(xié)議(TCP)連接,并請(qǐng)求不同比特率的小數(shù)據(jù)流。
      3.如權(quán)利要求1所述的裝置,其中,每個(gè)小數(shù)據(jù)流進(jìn)一步包括內(nèi)容文件的一部分。
      4.如權(quán)利要求1所述的裝置,其中所述小數(shù)據(jù)流包括超文本傳輸協(xié)議文件。
      5.如權(quán)利要求3所述的裝置,其中,所述代理控制器模塊配置成根據(jù)對(duì)小數(shù)據(jù)流請(qǐng)求的所述響應(yīng)來生成性能因子。
      6.如權(quán)利要求4所述的裝置,其中,所述代理控制器模塊配置成,當(dāng)所述性能因子比所選擇的閾值大并且所述代理控制器模塊根據(jù)因子組合確定能夠支持更高質(zhì)量的重放時(shí),上調(diào)至所述更高質(zhì)量小的數(shù)據(jù)流。
      7.如權(quán)利要求5所述的裝置,其中,所述因子組合從由存儲(chǔ)于所述展示模塊中的連續(xù)可用的小數(shù)據(jù)的數(shù)量、最小安全余量和當(dāng)前提前讀取余量所組成的組中選擇。
      8.如權(quán)利要求4所述的裝置,其中,所述代理控制器模塊配置成當(dāng)所述性能因子比第二所選擇閾值小時(shí),下調(diào)至更低質(zhì)量小數(shù)據(jù)流。
      9.如權(quán)利要求1所述的裝置,其中,所述代理控制器模塊進(jìn)一步配置成預(yù)期小數(shù)據(jù)流請(qǐng)求和預(yù)先請(qǐng)求小數(shù)據(jù)流以能有快速向前、隨機(jī)跳讀和倒帶功能。
      10.如權(quán)利要求1所述的裝置,其中,所述代理控制器模塊配置成在最初請(qǐng)求低質(zhì)量數(shù)據(jù)流以能夠即時(shí)重放所述內(nèi)容文件,并隨后根據(jù)所述性能因子進(jìn)行上調(diào)。
      11.一種關(guān)于自適應(yīng)速率內(nèi)容流的系統(tǒng),所述系統(tǒng)包括一數(shù)據(jù)通信網(wǎng);一內(nèi)容服務(wù)器,其與所述數(shù)據(jù)通信網(wǎng)連接并具有配置成處理內(nèi)容并生成多個(gè)高和低質(zhì)量的流的內(nèi)容模塊;每個(gè)所述高和低質(zhì)量流包括多個(gè)小數(shù)據(jù)流;一代理控制器模塊,其配置成同時(shí)請(qǐng)求多個(gè)小數(shù)據(jù)流的至少一部分;所述代理控制器模塊進(jìn)一步配置成連續(xù)監(jiān)視對(duì)于小數(shù)據(jù)流請(qǐng)求的后續(xù)響應(yīng)的進(jìn)展,并且根據(jù)所述響應(yīng)的所述進(jìn)展,請(qǐng)求更高或更低質(zhì)量的小數(shù)據(jù)流;和一展示模塊,其配置成展示所述小數(shù)據(jù)流并為在內(nèi)容播放器上重放而排列所述小數(shù)據(jù)流。
      12.如權(quán)利要求11所述的系統(tǒng),其中,所述代理控制器模塊配置成建立多個(gè)與所述內(nèi)容服務(wù)器的傳輸控制協(xié)議(TCP)連接,并請(qǐng)求不同比特率的小數(shù)據(jù)流。
      13.如權(quán)利要求11所述的系統(tǒng),其中,每個(gè)小數(shù)據(jù)流進(jìn)一步包括內(nèi)容文件的一部分。
      14.如權(quán)利要求13所述的裝置,其中,所述代理控制器模塊配置成根據(jù)對(duì)于小數(shù)據(jù)流請(qǐng)求的所述響應(yīng)來生成性能因子。
      15.如權(quán)利要求14所述的系統(tǒng),其中,所述代理控制器模塊配置成,當(dāng)所述性能因子比所選擇閾值大并且所述代理控制器模塊根據(jù)因子的組合確定能夠支持更高質(zhì)量的重放時(shí),上調(diào)至所述更高質(zhì)量的小數(shù)據(jù)流,。
      16.如權(quán)利要求15所述的系統(tǒng),其中,所述因子組合從由存儲(chǔ)于所述展示模塊中的連續(xù)可用的小數(shù)據(jù)的數(shù)量、最小安全余量和當(dāng)前提前讀取余量所組成的組中選擇。
      17.如權(quán)利要求14所述的系統(tǒng),其中,所述代理控制器模塊配置成當(dāng)所述性能因子比第二所選擇閾值小時(shí),下調(diào)至更低質(zhì)量小數(shù)據(jù)流。
      18.如權(quán)利要求11所述的系統(tǒng),其中,所述代理控制器模塊進(jìn)一步配置成預(yù)期小數(shù)據(jù)流請(qǐng)求和預(yù)先請(qǐng)求小數(shù)據(jù)流以能有快速向前、隨機(jī)跳讀和倒帶功能。
      19.如權(quán)利要求11所述的系統(tǒng),其中,所述代理控制器模塊配置成在最初請(qǐng)求低質(zhì)量數(shù)據(jù)流以能夠即時(shí)重放所述內(nèi)容文件,并隨后根據(jù)所述性能因子進(jìn)行上調(diào)。
      20.一種關(guān)于展現(xiàn)自適應(yīng)速率流的方法,所述方法包括同時(shí)請(qǐng)求多個(gè)小數(shù)據(jù)流的至少一部分;連續(xù)監(jiān)視對(duì)于小數(shù)據(jù)流請(qǐng)求的后續(xù)響應(yīng)的進(jìn)展,并且根據(jù)所述響應(yīng)的所述進(jìn)展,請(qǐng)求更高或更低質(zhì)量的小數(shù)據(jù)流;和展示所述小數(shù)據(jù)流并為在內(nèi)容播放器上重放而排列所述小數(shù)據(jù)流。
      21.如權(quán)利要求20所述的方法,進(jìn)一步包括建立多個(gè)與內(nèi)容服務(wù)器的傳輸控制協(xié)議(TCP)連接,并請(qǐng)求不同比特率的小數(shù)據(jù)流。
      22.如權(quán)利要求20所述的方法,進(jìn)一步包括根據(jù)對(duì)于小數(shù)據(jù)流請(qǐng)求的響應(yīng)來生成性能因子。
      23.如權(quán)利要求20所述的方法,進(jìn)一步包括當(dāng)所述性能因子比所選擇閾值大時(shí)上調(diào)至更高質(zhì)量的小數(shù)據(jù)流,和判定是否能支持所述更高質(zhì)量重放。
      24.如權(quán)利要求20所述的方法,進(jìn)一步包括當(dāng)所述性能因子比第二所選擇門限小時(shí),下調(diào)至更低質(zhì)量的小數(shù)據(jù)流。
      25.如權(quán)利要求20所述的方法,進(jìn)一步包括預(yù)期小數(shù)據(jù)流請(qǐng)求和預(yù)先請(qǐng)求小數(shù)據(jù)流以能有快速向前、隨機(jī)跳讀和倒帶功能。
      26.如權(quán)利要求20所述的方法,進(jìn)一步包括在最初請(qǐng)求低質(zhì)量數(shù)據(jù)流以能夠即時(shí)重放內(nèi)容文件,并隨后根據(jù)所述性能因子進(jìn)行上調(diào)。
      27.一種計(jì)算機(jī)可讀存儲(chǔ)媒介,其包括計(jì)算機(jī)可讀代碼,其配置成執(zhí)行用于展現(xiàn)自適應(yīng)速率內(nèi)容流的操作,所述操作包括同時(shí)請(qǐng)求多個(gè)小數(shù)據(jù)流的至少一部分;連續(xù)監(jiān)視對(duì)于小數(shù)據(jù)流請(qǐng)求的后續(xù)響應(yīng)的進(jìn)展,并且根據(jù)所述響應(yīng)的所述進(jìn)展,請(qǐng)求更高或更低質(zhì)量的小數(shù)據(jù)流;和展示所述小數(shù)據(jù)流并為在內(nèi)容播放器上重放而排列所述小數(shù)據(jù)流。
      28.如權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒介,其中,所述操作進(jìn)一步包括建立多個(gè)與內(nèi)容服務(wù)器的傳輸控制協(xié)議(TCP)連接,并請(qǐng)求不同比特率的小數(shù)據(jù)流。
      29.如權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒介,其中,所述操作進(jìn)一步包括根據(jù)對(duì)于小數(shù)據(jù)流請(qǐng)求的響應(yīng)來生成性能因子。
      30.如權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒介,其中,所述操作進(jìn)一步包括當(dāng)所述性能因子比閾值大時(shí),上調(diào)至更高質(zhì)量小數(shù)據(jù)流,和判定是否能支持所述更高質(zhì)量重放。
      31.如權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒介,其中,所述操作進(jìn)一步包括當(dāng)所述性能因子比第二閾值小時(shí),下調(diào)至更低質(zhì)量小數(shù)據(jù)流。
      32.如權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒介,其中,所述操作進(jìn)一步包括預(yù)期小數(shù)據(jù)流請(qǐng)求和預(yù)先請(qǐng)求小數(shù)據(jù)流以能有快速向前、隨機(jī)跳讀和倒帶功能。
      33.如權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒介,其中,所述操作進(jìn)一步包括在最初請(qǐng)求低質(zhì)量數(shù)據(jù)流以能夠即時(shí)重放內(nèi)容文件,并隨后根據(jù)所述性能因子進(jìn)行上調(diào)。
      34.一種用于展現(xiàn)自適應(yīng)速率內(nèi)容流的裝置,所述裝置包括用于同時(shí)請(qǐng)求多個(gè)小數(shù)據(jù)流的至少一部分的裝置;用于連續(xù)監(jiān)視對(duì)于小數(shù)據(jù)流請(qǐng)求的后續(xù)響應(yīng)的進(jìn)展,并且根據(jù)所述響應(yīng)的所述進(jìn)展,請(qǐng)求更高或更低質(zhì)量的小數(shù)據(jù)流的裝置;和用于展示所述小數(shù)據(jù)流并為在內(nèi)容播放器上重放而排列所述小數(shù)據(jù)流的裝置。
      全文摘要
      用于流內(nèi)容的自適應(yīng)速率切換的裝置包括代理控制器模塊器402,其配置成同時(shí)請(qǐng)求多個(gè)小數(shù)據(jù)流212。代理控制器模塊402進(jìn)一步配置成連續(xù)監(jiān)視小數(shù)據(jù)流請(qǐng)求和后續(xù)響應(yīng),并相應(yīng)地請(qǐng)求更高或更低質(zhì)量小數(shù)據(jù)流。展示模塊409配置成展示小數(shù)據(jù)流212并為在內(nèi)容播放器408上重放而排列小數(shù)據(jù)流212。一種系統(tǒng)包括數(shù)據(jù)通信網(wǎng)106、內(nèi)容服務(wù)器102和一些裝置,所述內(nèi)容服務(wù)器102與所述數(shù)據(jù)通信網(wǎng)106相連并具有內(nèi)容模塊112,所述內(nèi)容模塊112配置成處理內(nèi)容并生成多個(gè)高和低質(zhì)量流。一種方法包括同時(shí)請(qǐng)求多個(gè)小數(shù)據(jù)流212,連續(xù)監(jiān)視小數(shù)據(jù)流請(qǐng)求和后續(xù)響應(yīng),并因此請(qǐng)求更高或更低質(zhì)量的小數(shù)據(jù)流,和展示小數(shù)據(jù)流212并為在內(nèi)容播放器408上重放而排列小數(shù)據(jù)流212。
      文檔編號(hào)G06F15/16GK101014947SQ200580022210
      公開日2007年8月8日 申請(qǐng)日期2005年5月2日 優(yōu)先權(quán)日2004年4月30日
      發(fā)明者羅伯特·德魯·玫杰, 馬克·布倫斯·赫斯特 申請(qǐng)人:移動(dòng)網(wǎng)絡(luò)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1