新四季網

受控速率視頻點播伺服器的製作方法

2023-05-28 01:42:21

專利名稱:受控速率視頻點播伺服器的製作方法
技術領域:
本發明在一些實施例中涉及數字視頻伺服器,更具體地但不是唯一地,涉及用於 視頻點播服務的數字視頻伺服器。
背景技術:
數字視頻通常作為數字數據流來分配。一種熟知的用於視頻數據的協議是MPEG。諸如MPEG流的視頻流一般具有可變位速率(VBR)。視頻流一般被壓縮,並且壓縮 量取決於畫面的複雜程度以及畫面之間的變化量。MPEG視頻壓縮協議通過減少圖像內的像素數據冗餘以及相鄰圖像之間的冗餘來 壓縮視頻。MPEG視頻壓縮將若干個連續的圖像組成圖像組(GOP),並且通過大多數圖像(也 用術語「視頻幀」表示)與同樣位於GOP中的相鄰圖像的不同來限定大多數圖像。GOP含有用於N個視頻幀(這些視頻幀需以每秒R幀的速率來播放)的X量的數 據,從而具有與X*R/N成比例的位速率。如果需要降低視頻流的位速率,那麼GOP中的圖像 需要一起改變,因為所述圖像依賴於彼此進行重新構建。在將視頻流分配到用戶的情況下,一些視頻流有時候組合成一個傳送流,術語稱 作「多程序傳送流(MPTQ 」。在一些情況下,傳送流僅含有一個程序。這種傳送流術語稱作 單程序傳送流(SPTS)。視頻分布當前變得越來越普遍的一個示例是視頻點播(VOD)分布。用戶請求接收 特定的視頻,而VOD供應商傳輸每一個用戶所請求的視頻。例如,VOD供應商傳輸若干MPEG 流,一些MPEG流屬於不同的視頻,一些MPEG流屬於在不同的時間開始的相同的視頻。傳送流通常具有恆定的位速率(CBR)。傳送流的位速率通常是輸送路徑中某種設 備的物理上限。在其他的情況下,傳送流具有由執行輸送的服務提供商分配給它的位速率。 VOD供應商可購買一個或多個單位的這種帶寬,以用於提供視頻點播。將VBR流組合成CBR傳送流能夠被實現。必須注意的是,VBR流組合的總位速率絕 對不能超過CBR限度,否則CBR傳送流很可能崩潰,或者被執行傳輸的服務提供商切斷。有 些時候,通過將每個構成的VBR流似乎始終具有最大的位速率考慮進來而組合流的組合, 以及無論何時所組合的VBR流的總位速率降到傳送流的CBR以下,則添充(padding)被增 加。降低視頻流的位速率能夠實現。這屬於一項計算密集型的任務。MPEG流例如被壓 縮以方便解壓,具有在計算上相對簡單的解壓,並且在計算上相對密集的壓縮。因此,涉及 解壓(容易)和隨後的壓縮(困難)的MPEG流位速率降低是計算密集型的。

發明內容
本發明的一些實施例的方面涉及利用分布式數據存儲系統來分布式處理存儲在 分布式存儲節點上的數據。一些類型的處理是計算密集型的,例如作為非限制性示例的視 頻流處理。一個或多個計算機可以對處理進行控制,指示同樣具有某種處理能力的數據存儲節點來執行一些或所有的處理。本發明的一些實施例的方面涉及通過控制傳送流的分量的位速率來控制傳送流 的位速率。改變位速率可以是計算密集型的,並且改變傳送流的分量的位速率被以分布式 方式進行,以便將計算負荷從僅僅一個計算機上分散開。改變位速率可以實時地進行,S卩,恰好在傳輸傳送流之前進行,或者可以在實際時 間前進行,並且改變的位速率流分量可以一直被保存到需要的時候。根據本發明的一些實施例的方面,提供了一種包括伺服器和多個存儲裝置的分布 式流處理系統,所述多個存儲裝置中的至少一個被配置以處理數據流中的至少一段,從而 產生改變的數據流段,並且被配置以提供對至少改變的數據流段的輸出,並且所述伺服器 被配置以接受存儲裝置的輸出並將所述輸出組合成傳送流。根據本發明的一些實施例,所述處理包括改變位速率。根據本發明的一些實施例,所述至少一個存儲裝置進一步被配置以至少存儲改變 的數據流段。根據本發明的一些實施例,所述伺服器被配置以向所述多個存儲裝置提供位速率 控制指令,並且所述多個存儲裝置被配置以接受來自所述伺服器的位速率控制指令並且根 據所述指令改變所述數據流段的位速率。根據本發明的一些實施例,所述數據流中的至少一個是視頻流。根據本發明的一 些實施例,所述處理包括對所述視頻流進行解碼。根據本發明的一些實施例,所述處理包括 將內容插入到視頻流中。根據本發明的一些實施例,所述處理包括在視頻流中產生視頻效 果。根據本發明的一些實施例,所述處理包括關於視頻流進行內容保護處理。根據本發明 的一些實施例,所述處理包括在視頻流中進行搜索。根據本發明的一些實施例,所述存儲裝置使用數據保護方案來存儲改變的數據流 段。根據本發明的一些實施例,還包括產生和存儲元數據,所述元數據包括關於改變 的數據流段的位速率的信息。根據本發明的一些實施例的方面,提供了一種用於組合多個數據流的方法,所述 方法包括使用一個或多個用於處理數據流的至少一段的存儲裝置,從而產生改變的數據流 段,並提供至少輸出改變的數據流段,以及將存儲裝置的輸出組合成組合的數據流。根據本發明的一些實施例,所述處理包括改變位速率。根據本發明的一些實施例,還包括存儲至少改變的數據流段。根據本發明的一些實施例,還包括提供位速率控制指令給所述多個存儲裝置,並 且所述存儲裝置接受來自伺服器的位速率控制指令並根據所述指令改變所述數據流段的 位速率。根據本發明的一些實施例,所述數據流中至少一個是視頻數據流。根據本發明的 一些實施例,所述處理包括視頻流處理。根據本發明的一些實施例,還包括在所述改變之後存儲改變的數據流段,以及在 接收到來自伺服器的請求後執行所述提供。根據本發明的一些實施例,還包括產生並存儲包括關於改變的數據流段的位速率 的信息的元數據。
根據本發明的一些實施例的方面,提供了一種系統,該系統被配置以接收包括多 個數據流的傳送流,該系統包括被配置以將傳送流拆分成多個數據流的伺服器,以及多個 存儲裝置,所述存儲裝置被配置以接收並存儲來自所述伺服器的數據流中的一個或多個, 所述存儲裝置中的至少一個進一步被配置以處理數據流中的至少一段,從而產生改變的數 據流段,並且至少存儲改變的數據流段。根據本發明的一些實施例,所述處理包括改變位速率。根據本發明的一些實施例,所述數據流中的至少一個包括視頻流,並且所述處理 包括視頻流處理。根據本發明的一些實施例的方面,提供了一種用於接收包括多個數據流的傳送流 的方法,所述方法包括將傳送流拆分成多個數據流,將數據流存儲在多個存儲裝置上,利用 所述存儲裝置中的至少一個來處理數據流的至少一段,從而產生改變的數據流段,以及存 儲改變的數據流段。根據本發明的一些實施例,所述處理包括改變位速率。根據本發明的一些實施例,所述數據流中的至少一個是視頻流,並且所述處理包 括視頻流處理。除非另外限定,否則這裡使用的所有技術和/或科學術語都具有與本發明所屬領 域的普通技術人員所普遍理解的含義相同的含義。儘管與此處描述的相似或等同的方法和 材料能夠在本發明實施例的實施或測試中使用,但是下面描述了示例性方法和/或材料。 在衝突的情況下,本專利說明書,包括限定,將是支配性的。此外,所述材料、方法和示例僅 僅是示意性的,並非意在必需地限制。本發明的實施例的方法和/或系統的實施涉及到手動地、自動地或者兩者相結 合地執行或完成所選擇的任務。另外,根據本發明的方法和/或系統的實施例的儀器 (instrumentation)和設備,能夠利用作業系統通過硬體、軟體或固件或者它們的組合來實 施若干選擇的任務。例如,用於執行根據本發明實施例的所選任務的硬體可以實施為晶片或電路。作 為軟體,根據本發明實施例的所選擇的任務可以實施為通過計算機利用任何合適的操作系 統執行的多個軟體指令。在本發明的示例性實施例中,根據此處描述的方法和/或系統的 示例性實施例的一個或多個任務由數據處理器執行,例如由用於執行多個指令的計算平臺 執行。可選地,所述數據處理器包括用於存儲指令和/或數據的易失性存儲器和/或用於 存儲指令和/或數據的非易失性存儲器如磁性硬碟和/或可移動媒介。可選地,還提供網 絡連接。還可選地提供顯示器和/或諸如鍵盤或滑鼠的用戶輸入設備。


此處參照附圖僅通過示例的方式描述本發明的一些實施例。現在具體地詳細參照 附圖,需要強調的是,所示的細節是示例性的,意在示例性地論述本發明的實施例。在這點 上,結合附圖的描述使得如何能夠實施本發明的實施例對本領域技術人員顯而易見。在附圖中圖1是根據本發明的示例性實施例構建和操作的系統的簡化圖示;圖2是根據本發明的示例性實施例操作的方法的簡化流程圖3是圖1的系統的示例性實施例的更詳細的圖示;圖4是視頻流中的可變位速率的簡化圖表;圖5是簡化的圖表,示出了在本發明的實施例中去掉位速率峰怎樣降低視頻流的 最大位速率。
具體實施例方式本發明在其一些實施例中涉及數字視頻伺服器,並且更具體地但不是唯一地,涉 及用於視頻點播服務的數字視頻伺服器。在詳細論述本發明的至少一個實施例之前,應當理解,本發明在其應用中並不限 於下面的描述中所闡述和/或在附圖和/或示例中所示的部件和/或方法的構造和設置的 細節。本發明能夠以其他實施例來實施,或者能夠以多種方式來實踐或實施。本發明的一些實施例的方面涉及使用分布式數據存儲系統,用於對存儲在分布式 存儲節點上的數據的分布式處理。一個或多個計算機可以控制所述處理,並且具有某種處 理能力的數據存儲節點執行至少一些處理。一些類型的處理是計算密集型的,例如作為非限制性示例的視頻流處理。計算密 集型視頻流處理的非限制性示例包括1.整形(shape)視頻流的位速率,即,改變視頻流的位速率。通常,改變是指降低 視頻流的位速率,以使視頻流符合較窄的帶寬。2.對視頻流進行解碼,從一種格式轉換到另一種格式,例如,以非限制性的示例, 從MPEG2到MPEG4,或者從MPEG4到MPEG2,從高清晰度(HD)到標準清晰度(SD),或者從標 準清晰度(SD)到高清晰度(HD)。3.內容處理,例如,以非限制性的示例,將諸如橫幅(banner)的附加內容插入到 視頻流中,將標誌(logo)插入到視頻流中,產生畫中畫(PIP)的視頻流,以及增加聲音覆蓋 (overlay)或者視頻覆蓋。4.視頻效果處理,例如,作為非限制性的示例,有淡入,淡出,α混合,改變亮度以 及劃變效果(wipe effect)。5.內容保護處理,例如,作為非限制性的示例,有編寫密碼,破解密碼,插入水印, 刪除水印。6.在視頻流內搜索,例如,作為非限制性的示例,有搜索標題和/或其他可搜索的屬性。一些可以想到的實施例包括將存儲在數據存儲節點上的數據流組合成傳送流,同 時處理至少一些數據流。一些可以想到的實施例包括接收包含數據流的傳送流,將傳送流分成數據流用於 存儲在存儲裝置中,同時使一些存儲裝置處理數據流的至少一部分,並且存儲所處理的數 據流部分。這裡提供了關於可變位速率(VBR)視頻流的具體實施方式
的示例,例如MPEG視頻 流,其組合成恆定位速率(CBR)傳送流。所述示例應當在VBR數據流的更廣義的背景下被 理解為組合成CBR傳送流。其他可以想到的具體實施例包括接收含有視頻流的傳送流,將傳送流分成視頻流以便存儲在存儲裝置中,以及指示一些存儲裝置處理至少一部分視頻流並存儲已改變的、 處理過的數據流部分。本發明的一些實施例的方面涉及通過控制傳送流的視頻流分量的位速率來控制 傳送流的位速率。改變視頻流的位速率可以是計算密集型的,並且改變視頻流分量的位速 率被以分布式的方式進行,從而分散計算負荷。應當注意的是,通常,視頻流存儲在分布式數據磁碟上,並且通過流轉化器 (streamer,專門的計算機)組合成傳送流。數據磁碟和流轉化器很可能是昂貴的設備器 件,專門用於所針對的任務。對上述的替代方案是使用成本較低的通用計算機(也稱作服 務器)作為流轉化器,並且在低成本通用計算機上使用低成本存儲裝置作為分布式存儲裝 置。所述替代方案產生了附加的優點,即分布式存儲裝置還具有處理能力,打開通向分布 式處理的門。本發明的一些實施例的方面涉及傳送流的其他類型的處理,所述處理以分布式的 方式進行。本發明適於對流分量進行分布式處理。在通篇說明書和權利要求中,術語「改變位速率」在其所有語法形式中與術語「整 形位速率」和術語「降低位速率」及其語法形式互換地使用。在通篇說明書和權利要求中,術語「視頻流」在其所有語法形式中與術語「流」、「數 據流」、「數據文件」、「文件」、"MPEG流」和「MPEG視頻流」及其語法形式互換地使用。應當理解的是,術語「視頻流」可以指的是在時間上受限制的流,例如作為非限制 性示例,有電影、電視節目以及30秒的廣告,並且該術語也可以指在時間上不受限制的視 頻流,例如一天M小時的節目。將流組合成傳送流的裝置在此被稱作流轉化器。現在參照圖1,圖1是根據本發明的示例性實施例構建和操作的系統的簡化圖示。該系統包括流轉化器100,其連接於一個或多個存儲器集群105。流轉化器100被配置以提供一個或多個傳送流的一個或多個輸出120。流轉化器100請求存儲器集群105對其發送視頻流(未示出),並將視頻流組合成 所述一個或多個傳送流。如果處理需要在視頻流中的一個或多個上執行,那麼流轉化器100指示存儲器集 群105中的一個或多個執行處理並提供改變的、處理過的視頻流用於進行所述組合。作為 非限制性的示例,流轉化器100追蹤每個傳送流的位速率。如果傳送流的位速率將要超過 預定的限度(limit),如將在下面進一步所述的,流轉化器100將確保組合成傳送流的一個 或多個視頻流的位速率被降低,從而確保傳送流的位速率不超過該限度。流轉化器100指示存儲器集群105中的一個或多個提供具有低於額定(nominal) 位速率的視頻流的一個或多個版本。存儲器集群105對流轉化器100提供較低位速率版本的所述一個或多個視頻流, 所述一個或多個視頻流是流轉化器所指示的處於較低位速率的視頻流。現在參照圖2,圖2是根據本發明的示例性實施例操作的方法的簡化的流程圖。圖2描繪了在圖1的系統中使用的方法的流程圖,該方法使用一個或多個存儲裝 置(150)用於處理數據流中的一個的至少一段(160)。在下面參照圖5進一步描述本發明 的實施例所使用的可選的處理方法。
如上文參照圖1所描述的,提供對至少改變的數據流的輸出(165),將在下面參照 圖3進一步描述該輸出。如上文參照圖1所描述的,流轉化器用於將存儲裝置的輸出組合成組合的數據流 (170),而將在下文參照圖3進一步描述流轉化器。現在參照圖3,圖3是圖1的系統的示例性實施例的更為詳細的圖示。該系統包括連接於一個或多個存儲器集群105的流轉化器100。存儲器集群105每 個均含有一個或多個存儲機器110,每個存儲機器110均連接於一個或多個存儲裝置115。可選地,流轉化器100指示存儲器集群105中的一個或多個提供具有低於額定位 速率的一個或多個視頻流的版本。可選地,存儲器集群105對流轉化器100提供較低位速率版本的所述一個或多個 視頻流,所述一個或多個視頻流是流轉化器所指示的處於較低位速率的視頻流。流轉化器100流轉化器100將若干視頻流組合成傳送流。可選地,流轉化器確保視頻流的位速 率之和不超過與傳送流相關的位速率限度。在視頻流的總位速率小於位速率限度時,將VBR 視頻流組合成CRB傳送流在本領域是公知的。例如,這樣做的一種方式是追蹤組合的位速 率,並且根據需要對傳送流添加空(null)數據,以使組合的傳送流的位速率達到恆定值。CBR傳送流的一種更高效的使用是將儘可能多的視頻流組合成傳送流。由於視頻 流表現出了可變位速率,因此能夠組合視頻流使得其組合的位速率一般處於傳送流的限度 以下。當預計視頻流的組合位速率超過所述限度時,可選地,流轉化器100利用較低位速率 版本的視頻流來替換一些或所有視頻流,並防止超過所述限度。每個VBR視頻文件或參與在傳送流中的視頻文件片段的平均位速率都可選地基 於下列參數得出=MPTS的調製類型,例如作為非限制性的示例,有正交幅度調製(QAM)型, 如64/1^/^256符號速率;以及參與在MPTS中的流的數量。現在參照圖4,圖4是視頻流中的可變位速率的簡化圖表。圖4描繪了視頻流的片段的位速率與時間的關係的圖表200。該圖表屬於具有原 始的、未修改的位速率的原始視頻流的片段。圖表200的橫軸以視頻幀為單位描繪了時間。 由於視頻一般是以恆定的幀速顯示,所以視頻幀與時間成正比例。圖表200的豎軸210以 Mbps為單位描繪了位速率。所述片段包含若干GOP 215、216、217、218。GOP 215、216、217、218 中的每個均包 括單獨的圖像,圖表200的一個柵條代表一個圖像。每個圖像均具有相關的固有位速率,該 位速率基於描繪該圖像所需的數據量以及視頻流的幀速。該固有位速率通過代表圖像的柵 條的相對高度描繪。由於GOP 215、216、217、218中的每個均被一起壓縮,所以每個GOP也與位速率相 關。GOP的位速率基於壓縮後GOP所含的數據量、視頻流的幀速以及GOP內的圖像數量。通過分別與GOP 215、216、217、218對應的虛線描繪GOP的位速率220、221、222、 223。GOP的位速率220、221、222、223不是相等的,這取決於它們在視頻流的圖像內容上所 做的。圖4的圖示中的片段的最大位速率是與G0P2 216相關的GOP位速率221。現在參照圖5,圖5是簡化的圖表圖示,示出了在本發明的實施例中去掉位速率峰是如何減小視頻流的最大位速率的。圖5描繪了圖4的片段,其中單個圖像的位速率峰已經通過「切掉」(即,減去)僅 僅位速率峰而被修改。未修改的圖像位速率和未修改的GOP位速率220、221、222、223的值 仍然描繪在圖5中,以便於比較並幫助理解。GOP 2 216中具有GOP 2的圖像的最高固有位速率的圖像的位速率被減小第一量 225。GOP 2 216的GOP位速率231比位速率修改前的G0P2 216的GOP位速率221低。GOP 3 217中具有GOP 3 217的圖像的最高固有位速率的圖像的位速率被減小不 同於第一量225的第二量226。GOP 3 217的GOP位速率232比位速率修改前的GOP 3 217 的GOP位速率222低。GOP 4 218中具有GOP 4 218的圖像的兩個最高固有位速率的兩個圖像的位速率 被減小第三量227和第四量228。GOP 4 218的GOP位速率233比位速率修改前的GOP 4 218的GOP位速率223低。合在一起構成傳送流的文件隨時間而改變。例如,當流轉化器是VOP伺服器時,由 終端用戶分配進程,並且流轉化器100需要從存儲器集群105讀取文件。流轉化器指示存 儲器集群105中的每個處理單元110根據統計多路傳輸算法減小某些GOP的速率。由於速率整形可以是計算密集型的,因此流轉化器100可選地使視頻流的速率整 形由存儲器集群105中可用的計算能力(power)來執行(圖1)。儘管存儲器集群105 —般 包含大量的存儲視頻流所需的存儲裝置,但是存儲器集群仍然能夠進行計算。具有若干存 儲器集群105使得能夠利用內置在分布式視頻存儲系統中的計算能力對視頻進行速率整 形。應當注意,與圖5的示例相似,可選地,速率整形不在整個文件上進行,而是在文 件片段上進行。文件片段的大小的範圍為從整個文件到文件的一部分,下至G0P。統計多路傳輸(Matmux)決定的作出在使SPTS流的組或MPTS針對具有指定的最大容許位速率的特定輸出時,流轉化 器100(圖1)開始從存儲器集群105中的一個讀取一個或多個流。在流被讀取的同時,流轉化器100讀取與每個流相關聯的元數據。下面參考「吸收 (ingest)視頻文件」提供了關於元數據的更多細節。流轉化器100能夠至少部分地基於元數據預測進入特定的輸出的SPTS流的組或 者MPTS中的所有流的累積位速率。元數據還包含關於每個流的複雜程度的信息,並且使得 流轉化器100能夠預測由於速率減小而使視頻流質量劣化的等級。通過將元數據參數考慮進來,流轉化器編譯到存儲器集群105的命令集,利用按 (per)GOP的特定位速率對存儲器集群105請求相關的數據段。在本發明的一些實施例中,流轉化器100是將流組合成數據流的部件,並且考慮 元數據及將命令發送給存儲器集群105的部件是流管理伺服器(未示出)。流轉化器100 和流管理伺服器可以是或者不是分開容納的和/或分開設置的。SPTS對於不支持MPTS作為其輸入的傳統(legacy)傳送流,上述統計多路傳輸方法可 以被分布在若干SPTS和若干流轉化器100之間。每個流轉化器100管理一個或多個傳送 流,並且經由一個或多個存儲器集群105指示相關的存儲機器110在必要時減小視頻流的速率。每個VBR程序流都被通過空填充以最大的容許位速率填補到CBRSPTS中,並發送 到適當的輸出。可選地,分布式統計多路傳輸方法管理進入特定輸出傳送流的所有流的累積帶 寬,即使在一些視頻流源自不同的流轉化器機器時也是如此。特技播放(Trickplay)在播放視頻流時,終端用戶可以選擇使用特技播放模式,例如快進(FF)、回倒、及 暫停。這一節描述在利用特技播放模式播放視頻流中的至少一個的情況下本發明的性能。可選地,在快進和回倒模式下,僅僅來自GOP的第一 I-幀被流轉化器100請求和 接收,而非所有的GOP圖像。管理位速率是由流轉化器100通過對I-幀增加適當數量的 P"幀並形成新產生的GOP來可選地進行的。如果僅包括I-幀的GOP的位速率仍然太高,則可選地由流轉化器100向存儲機器 請求位速率減小,以減小I-幀的位速率。可替代地,流轉化器100對I-幀進行速率減小。在暫停模式下,流轉化器100停止傳輸視頻流,因此無需將位速率減小用於暫停 的視頻流。流轉化器100將暫停模式考慮進來,並且例如在暫停的視頻流的情況下,傳送流 中的其他流可使用更多的位速率。速率整形可選地,速率整形是實時完成的,或者近似實時完成的,即,恰在傳輸傳送流之前 完成。可替代地,速率整形在實際時間之前完成,並且已改變位速率的視頻流一直被保存到 需要的時候。無論速率整形是實時完成或是在實際時間之前完成,執行速率整形的每個存儲機 器110都可選地接收來自流轉化器110的用於速率整形的指令,這些指令包括指定最大位 速率的位速率參數,或者文件片段的位速率降低多少。可替代地,每個存儲機器110均被配 置用於一個或多個速率整形的可配置級別。可選地,速率減小降低了每個GOP的幀中的圖像的質量,使得最大的位速率不被 超過。可替代地,速率減小按位速率的百分比來減小位速率,或者通過從未修改的位速率減 去位速率來降低位速率。可選地,減小位速率在對應於視頻流的某個片段的一段時間內進行,並且減小的 量可以在這段時間後改變。在本發明的一些實施例中,每個存儲器集群105處理每個GOP內的位速率預算的 內部再分配,例如基於幀的複雜程度向GOP內的不同幀分配或多或少的位速率,可選地,給 幀的一些區域提供特定的處理。近似實時地速率整形當速率整形是實時進行或者近似實時地進行時,流轉化器至少部分地基於視頻流 的總位速率以及可選地基於對傳送流的位速率限度,將若干視頻流組合成傳送流。應當注意,傳送流有時不止攜載有視頻流。傳送流所攜載的視頻流之外的數據因 此被認作是數據流,並且對數據流的描述包括在視頻流的示例中。可選地,流轉化器100估算傳送流的位速率,並可選地估算每個視頻流的位速率。可選地,所述估算通過流轉化器實際測量傳送流的位速率以及可選地測量每個視頻流的位 速率來完成。流轉化器100指示存儲機器110整形哪些視頻流的速率以及如何整形該視頻流的速率。在本發明的一些實施例中,流轉化器100指示存儲機器110以什麼樣的位速率將 哪個視頻流提供給流轉化器。在本發明的其他實施例中,流轉化器100指示存儲機器110 提供哪個視頻流給流轉化器100,以及指示存儲機器110以什麼數量或者按什麼百分比來 降低視頻流的位速率。可選地,整形視頻流速率的存儲機器110還緩存速率已經整形的視頻流,使得該 視頻流需要以速率已經整形的視頻流的形式被再次輸出,所緩存的速率已經整形的視頻流 從高速緩衝存儲器中恢復。在實際時間之前講行諫率整形當速率整形在實際時間之前完成時,流轉化器100可選地指示存儲器集群105對 哪個視頻流整形速率,將該視頻流整形到多大位速率,以及將位速率已經整形的視頻流存 儲在哪裡。在本發明的其他實施例中,流轉化器100指示存儲器集群105對哪個視頻流整形 速率,以什麼量、或什麼百分比來降低視頻流的位速率,以及將位速率已經整形的視頻流存 儲在哪裡。當速率整形在實際時間之前完成時,可選地,產生元數據,將所保存的一些或所有 視頻流與估算或測量的位速率關聯起來。可選地,所述元數據包括視頻流片段的位速率,而 非整個視頻流的位速率。可選地,所述元數據包括每個單獨的GOP的位速率。可選地,視頻流或視頻流片段的元數據包括最大位速率以及平均位速率。可選地,以多於一個的版本存儲視頻流,其中不同的版本已經進行速率整形並包 括不同的位速率。可選地,僅僅一些視頻流片段被進行了位速率整形,並且被進行位速率整 型的片段優選為位速率較高的片段。可選地,被進行位速率整形的視頻流片段小到一個G0P。由於在上述示例中,位速率的整形是在實際時間之前完成的,所以並不一定位速 率整形的視頻流版本或片段被實際使用。在本發明的一些實施例中,決定哪些視頻流或其 片段將要被整形速率是根據視頻需求的預先統計來進行的。在本發明的一些實施例中,所 述決定是根據實際的視頻需求進行的。能夠想到多種用於保存計算的方案,例如僅僅對最需要的視頻流整形速率;僅 僅對視頻流的高位速率片段整形速率;在實際時間之前整形最需要的視頻流的速率,並且 實時地或者近似實時地整形其他視頻流的速率;以及在首次組合到傳送流時實時地整形視 頻流的速率,並且保存速率已整形的視頻流或速率已整形的視頻流片段,及其相關的元數 據,用於以後的再次使用。能夠想到多種用於節約存儲空間的方案,例如僅僅保存最需要的視頻流的速率 已經整形的版本;僅僅保存視頻流的高位速率片段的速率已經整形的版本;以及僅僅保存 在首次組合到傳送流中之後的視頻流的速率已經整形的版本。
存儲裝置本發明的示例性實施例包括存儲器集群105,其包括若干存儲機器,也稱作數據服 務器。每個存儲機器都具有一個或多個存儲裝置,以及某種處理能力(power)。可選地,存儲器集群105通過存儲冗餘數據來保護數據。利用諸如RAID的方案來 執行該保護。應當注意,所述保護是按(per)文件片段而設置的。該文件片段對應於視頻 流、視頻流的片段、甚至視頻流的G0P。具有數據保護的諫率減小在存儲器集群105的第一個上存在數據損失的情況下,流轉化器100向存儲器集 群105的第二個請求速率已減小的文件片段。第二存儲器集群105將來自第二存儲器集群 105的所需的文件片段集合在一起。第二存儲器集群105在已恢復的文件片段上進行位速 率減小。後退(fallback)複製可選地,每個文件以預定的速率已減小的版本存儲在存儲器集群上。該版本可選 地是CBR版本,或者是具有最大位速率的有上限的VBR(capped VBR),該最大位速率不高於 原始流的平均位速率。預定的位速率已減小的版本被稱作後退複製。在存在原始版本的數據損失的情況下,或者在沒有可用以減小原始版本的速率的 處理能力的情況下,後退複製被可選擇地使用。如果後退複製的位速率落在流轉化器100 所需的位速率的限度之內,後退複製同樣可選擇地被使用。對處理過的GOP的緩存每個存儲機器110均可選地具有包含速率已經減小了的GOP的高速緩衝存儲器。 該高速緩衝存儲器可選地基於LRU方法。本發明的一些實施例使用已緩存的位速率已減小 的GOP的版本而不是使用位速率減小。對使用高速緩衝存儲器的優選以及高速緩衝存儲器 的大小,至少部分地基於存儲機器110的可用處理能力來確定。作為非限制性的示例,當流轉化器100以2. 5Mbps的位速率請求某一 GOP時,並且 如果存在已緩存的減小到2. 4Mbps的同一 GOP的版本,那麼系統將可選地選擇使用已緩存 的2. 4Mbps版本。這將存儲機器110解放了出來,從而整形其他仍未緩存的GOP的速率。存儲機器110可選地具有用於緩存目的的專用數量的存儲器和存儲器10。位速率減小和「瞬間擁擠(flash-crowd),,可選地,數據伺服器可以從多個流轉化器得到多個整形文件片段速率的多個請 求,或者可選地得到來自單個流轉化器但是意在被結合在該單個流轉化器所處理的MPTS 中的多個請求。這種方案在很多用戶想要在基本同一時刻觀看特定的文件時是常見的,例如在觀 看新發布的流行事件時。存儲所請求的視頻片段的數據伺服器接收對同一片段的多個請 求,超出其能夠處理的範圍。數據節點達到不能夠服務所有請求的點並保持近似實時的響應。在本發明的一些實施例中,數據伺服器將請求聚集起來並選擇僅僅處理若干位速 率整形命令,以便不超過其處理能力以及它的從存儲器讀的能力。在特定的速率減小請求沒有被選擇用於實時處理的情況下,數據伺服器可選地提 供所請求的位速率已整形的片段中可用的一份最近的速率已整形的版本,或者具有小於所需的位速率的最近的速率已整形版本。吸收視頻文件吸收的視頻文件一般被編碼成VBR格式。流轉化器100解析視頻文件,並將視頻 文件分割成文件片段。在本發明的一些實施例中,流轉化器100可選地產生並存儲(可選地,在一個或多 個存儲器集群105上)關於流的行為和複雜程度的元數據。該元數據可選地在後面使用, 以便作出統計多路傳輸決定。在吸收過程期間,並且可選地在實時位速率整形期間,產生用於視頻文件的元數 據,並且將其保持在單獨的文件中。保存在元數據文件中的信息含有關於流的位速率、幀結 構以及複雜程度的信息。數據段可選地,在存儲機器110中橫跨(across)存儲裝置115以及可選地還在存儲器集 群105中的橫跨存儲機器110,視頻流被條紋化(stripe)。每個文件均可選地被切割成多個片段,這些片段可選地分布在存儲裝置之間。每 個片段均含有屬於該文件的一個或多個G0P。應當注意,每個存儲裝置均可具有來自每個文件的片段,並且反之亦然,來自每個 文件的片段可出現在每個存儲裝置上。對文件在存儲機器之間的條紋化及分布(與存儲機器所作的進行位速率整形的 要求接在一起)導致計算負荷在存儲機器之間的分布。按(per)片段的GOP數量被確定以便優化集群文件系統的任何部分。按(per)片 段的GOP數量至少部分地基於存儲參數(例如存儲裝置中的數據塊大小)、計算參數(例如 存儲機器上的計算速度)、計算機器的數量、以及片段的位速率整形來確定。例如,當片段大 小被確定為1MB時,片段能夠包含標準清晰度(SD)視頻流的10個G0P,或者高清晰度(HD) 流的5個GOP。應當注意,當片段的最佳大小不完全被GOP填滿時,可選地應用填充。在本發明的一些實施例中,片段小於MPEG G0P。作為非限制性的示例,片段可以是 幀;與基礎的MPEG GOP沒有關係的大量的幀;甚至是幀的一部分,其甚至可以像一片MPEG 宏塊那樣小。應當注意,將MPEG GOP存儲在一起能夠節省集合用於整形速率的數據的時間。應當注意,一旦片段已經進行速率整形,那麼速率已經整形的片段便能夠可選地 存儲在一個數據伺服器上,並且能夠可選地存儲在多於一個的數據伺服器上。在本發明的一些實施例中,特別是在涉及MPEG2流的地方,片段最小被選擇為一 個或多個G0P,即,從一個I-幀到下一個I-幀的所有幀,其被納入到1MB的數據塊中並與其 對準。數據保護寫入存儲器中的數據的每個片段都可選地由數據保護方案保護,作為非限制性的 示例,利用數據冗餘的數據保護方案,如RAID。RAID保護的等級是RAID保護的任何等級, 如RAID等級0、1、2、3、4、5等等,並且可以選擇性地按文件而不同。每個片段因此被不同存 儲機器上的針對不同存儲裝置的寫入到存儲器集群中的冗餘數據所保護。
在本發明的一些實施例中,由存儲器集群提供保護管理。在本發明的一些實施例 中,由每個存儲機器提供保護管理。在本發明的一些實施例中,由流轉化器提供保護管理。現在提供保護功能的非限制性示例。流轉化器嘗試從第一存儲機器上的第一存儲 裝置取得文件片段。由於第一存儲裝置或第一存儲機器的故障,數據片段不可用。恢復選擇1 當流轉化器管理保護方案時,流轉化器取得由保護算法寫在第二存 儲裝置上的冗餘數據,並重新構建不可用的數據。流轉化器不是必須對重新構建的數據進 行速率整形。如果進行速率整形是必要的,那麼流轉化器可選地指示提供其他流的存儲器 集群以較小的位速率提供所述其他流。恢復選擇2 當每個存儲機器管理保護方案時,流轉化器請求第二存儲機器以取 得不可用的數據。第二存儲機器取回冗餘數據,並利用保護方案重新構建先前不可用的數 據。存儲機器然後在重新構建的片段上進行速率整形,並將速率已整形並恢復了的數據傳 送給流轉化器。恢復選擇3 當流轉化器管理保護方案時,流轉化器從存儲器集群取得冗餘的速 率已經整形的數據,並根據保護方案重新構建不可用的數據。另外的特徵可選地,根據從流轉化器100接收到的指令,存儲機器110在文件片段上覆蓋文 本、視頻和/或聲音。所述覆蓋可選地在壓縮域中執行。可選地,每個存儲機器110均能夠利用解碼算法將視頻片段從一種視頻格式轉化 成另一種。解碼轉換可選地是按(per)數據片段的,使得每個存儲機器110僅需要對存儲 在其上的片段的進行解碼。預計在從本申請發展出的專利的有效期間,將發展出多種相關的速率整形方法, 並且術語進行速率整形的範圍意在包括所有這些新的先驗性的推理技術。術語「包括」、「包括有」、「包含」、「包含有」、「具有」及其語法變化意指「包括但不限於」。術語「由……構成」意指「包括並且限於」。術語「基本上由……構成」意指組成、方法或結構可包括另外的成分、步驟和/或 部分,但只在附加的成分、步驟和/或部分實質上不改變所主張的組成、方法或結構的基本 和新穎特性的情況下。如在此所使用的,單數形式「一」和「所述」包括複數量,除非在上下文中明確指定。 例如,術語「視頻流」或「至少一個視頻流」可包括多個視頻流,並包括其組合。應當注意,本發明的某些為了清楚起見而在單獨的實施例的環境中描述的特徵也 可在單個實施例中組合地提供。相反,本發明的為了簡便起見而在單個實施例的環境中描 述的多種特徵也可單獨地提供或以任何適當的子組合或適當地在任何其他所描述的本發 明實施例中提供。各種實施例的環境中所描述的某些特徵不應被認為是這些實施例的必要 特徵,除非該實施例沒有這些元素則無法實施。儘管已經結合具體的實施例描述了本發明,但是顯然多種改變、修改以及變型對 本領域技術人員是顯而易見的。因此,意在使本發明包括所有落在所附權利要求的精神和 寬廣範圍內的這些改變、修改和變型。本說明書中提到的所有公開文獻、專利和專利申請都在此通過引用的方式被整體併入到本說明書中,正如每個單獨的公開文獻、專利或專利申請都具體並單獨地指定為在 此通過引用的方式併入一樣。此外,本申請中對任何參考文獻的引述或辨識均不應理解為 承認該參考文獻是對本發明可用的現有技術。如果章節標題被使用,它們不應當理解為一 定是限制性的。
權利要求
1.一種分布式流處理系統,包括多個存儲裝置,所述存儲裝置中的至少一個被配置以 處理數據流的至少一段,從而產生改變的數據流段;並且 提供至少所述改變的數據流段的輸出;以及伺服器,所述伺服器被配置以接收所述存儲裝置的輸出並將所述輸出組合成傳送流。
2.如權利要求1所述的系統,其中,所述處理包括改變位速率。
3.如權利要求1和2中任一項所述的系統,其中,所述至少一個存儲裝置進一步被配置 以至少存儲改變的數據流段。
4.如權利要求1至3中任一項所述的系統,其中,所述伺服器被配置以提供位速率控制 指令給所述多個存儲裝置,並且所述多個存儲裝置被配置以接受來自所述伺服器的位速率 控制指令並根據所述指令改變數據流的所述段的位速率。
5.如權利要求1至4中任一項所述的系統,其中,所述數據流中的至少一個是視頻流。
6.如權利要求5所述的系統,其中,所述處理包括對所述視頻流進行解碼。
7.如權利要求5和6中任一項所述的系統,其中,所述處理包括將內容插入到所述視頻 流中。
8.如權利要求5至7中任一項所述的系統,其中,所述處理包括在所述視頻流中產生視 頻效果。
9.如權利要求5至8中任一項所述的系統,其中,所述處理包括關於所述視頻流的內容 保護處理。
10.如權利要求5至9中任一項所述的系統,其中,所述處理包括在所述視頻流中進行檢索。
11.如權利要求1至10中任一項所述的系統,其中,所述存儲裝置使用數據保護方案來 存儲所述改變的數據流段。
12.如權利要求1至11中任一項所述的系統,還包括產生和存儲元數據,所述元數據包 括關於所述改變的數據流段的位速率的信息。
13.—種組合多個數據流的方法,包括 使用一個或多個存儲裝置,用於處理數據流的至少一段,從而產生改變的數據流段;並且 提供至少所述改變的數據流段的輸出;以及 將所述存儲裝置的輸出組合成組合的數據流。
14.如權利要求13所述的方法,其中,所述處理包括改變位速率。
15.如權利要求13和14中任一項所述的方法,還包括存儲至少所述改變的數據流段。
16.如權利要求13至15中任一項所述的方法,還包括提供位速率控制指令給所述多個 存儲裝置,以及所述存儲裝置接受來自所述伺服器的位速率控制指令並根據所述指令改變 數據流的所述段的位速率。
17.如權利要求13至16中任一項所述的方法,其中,所述數據流中的至少一個是視頻 數據流。
18.如權利要求13所述的方法,其中,所述處理包括視頻流處理。
19.如權利要求13至18中任一項所述的方法,還包括在所述改變之後,存儲所述改變的數據流段,以及在來自所述伺服器的請求後即進行所述提供。
20.如權利要求13至19中任一項所述的方法,還包括產生和存儲元數據,所述元數據 包括關於所述改變的數據流段的位速率的信息。
21.一種系統,其被配置以接收包括多個數據流的傳送流,所述系統包括 伺服器,所述伺服器被配置以將所述傳送流分成多個數據流;多個存儲裝置,所述存儲裝置被配置以接收並存儲來自所述伺服器的數據流中的一個 或多個,所述存儲裝置中的至少一個進一步被配置以處理數據流的至少一段,從而產生改變的數據流段;並且 存儲至少所述改變的數據流段。
22.如權利要求21所述的系統,其中,所述處理包括改變位速率。
23.如權利要求21和22中任一項所述的系統,其中,所述數據流中的至少一個包括視 頻流,並且所述處理包括視頻流處理。
24.一種接收包括多個數據流的傳送流的方法,包括 將所述傳送流分成多個數據流;將所述數據流存儲在多個存儲裝置上;使用所述存儲裝置中的至少一個用於處理數據流的至少一段,從而產生改變的數據流 段;以及存儲所述改變的數據流段。
25.如權利要求M所述的方法,其中,所述處理包括改變位速率。
26.如權利要求24和25中任一項所述的方法,其中,所述數據流中的至少一個是視頻 流,並且所述處理包括視頻流處理。
全文摘要
一種分布式流處理系統,包括多個存儲裝置,所述存儲裝置中的至少一個被配置以處理數據流的至少一段,從而產生改變的數據流段,並且提供至少改變的數據流段的輸出;以及伺服器,其被配置以接受存儲裝置的輸出並將所述輸出組合成傳送流。一種組合多個數據流的方法,包括利用一個或多個存儲裝置用於處理數據流的至少一段從而產生改變的數據流段,並且提供至少改變的數據流段的輸出,以及將存儲裝置的輸出組合成組合的數據流。還描述了相關的裝置和方法。
文檔編號G06F15/16GK102047236SQ200880129369
公開日2011年5月4日 申請日期2008年3月18日 優先權日2008年3月18日
發明者N·德蘭格, R·本-亞基爾, T·阿米亞茲 申請人:法布裡克斯電視有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀