亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于媒體文件流式傳輸的系統、方法和裝置的制作方法

文檔序號:7911493閱讀:264來源:國知局
專利名稱:用于媒體文件流式傳輸的系統、方法和裝置的制作方法
技術領域
本發(fā)明的實施方式總體上涉及通信技術,并且具體地,涉及用于媒體文件流式傳輸的系統、方法和裝置。
背景技術
現代通信時代已經帶來有線和無線網絡的急劇發(fā)展。計算機網絡、電視網絡和電話網絡正在經歷消費者需求所激發(fā)的前所未有的技術擴張。無線和移動聯網技術已經解決與消費者需求有關的需求而又提供信息傳送的更多靈活性和即時性。當前和將來的聯網技術以及利用聯網技術的演進型計算設備繼續(xù)支持用戶傳送信息的簡易性和便利性。在此方面,網絡的擴張和聯網計算設備的演進已經提供足以實現傳送和回放越來越復雜的數字媒體文件的處理能力、存儲空間和網絡帶寬。因而因特網電視和視頻共享正在贏得廣泛流行。

發(fā)明內容
因此,提供一種用于支持使用傳送協議(例如HTTP)流式傳輸媒體文件方法、裝置和計算機程序產品。在此方面,提供一種可以向計算設備、計算設備用戶和網絡運營商提供若干優(yōu)點的方法、裝置和計算機程序產品。在本發(fā)明的一個示例實施方式中,媒體內容可以在HTTP的基礎上使用TCP而被流式傳輸,不限于專有媒體格式。在此方面,可以針對任何基于國際標準化組織(ISO)基本媒體文件格式的媒體文件格式而格式化的媒體內容來支持流式傳輸媒體內容。根據本發(fā)明的實施方式,提供可與各種網絡類型(例如包括局域網、 因特網、無線網絡、有線網絡、蜂窩網絡等)一起操作的用于流式傳輸媒體內容的協議。在本發(fā)明的實施方式中,接收和回放流式媒體的計算設備的網絡帶寬消耗和處理要求得以降低。在此方面,可以通過僅選擇性地提取并且漸進式遞送接收方回放流式媒體所需的數據, 來減少針對媒體文件而發(fā)送的元數據的量,從而較為高效地使用網絡帶寬?;胤帕魇矫襟w的設備可以無需接收和處理大量數據,從而得益于本發(fā)明的實施方式。此外,回放流式媒體的移動設備也可以根據本發(fā)明的實施方式享受益處。舉例而言,可以支持例如通過使用HTTP流式傳輸第三代伙伴項目(3GPP)媒體文件(3GP)。因而可以通過為這樣的流式傳輸提供支持來使3GPP分組交換流式服務(PSQ受益、因此加強PSS 作為一種用于移動單播流式傳輸的手段。另外可以根據本發(fā)明的實施方式通過支持與移動站具體功能(例如,簡檔指示、體驗質量報告等)組合使用建立的PSS媒體編碼解碼器和格式來改進向移動設備流式傳輸媒體。在第一示例實施方式中,提供一種方法,該方法包括接收針對媒體文件的傳送協議請求,該傳送協議請求指示將向請求媒體文件的客戶端設備流式傳輸媒體文件。這一實施方式的方法還包括發(fā)送描述媒體文件的至少部分內容的元數據的至少一部分。這一實施方式的方法還包括提取與媒體文件中的一個或者多個媒體數據樣本對應的元數據的一個或者多個其他部分。這一實施方式的方法還包括漸進式發(fā)送提取的元數據的一個或者多個其他部分以及來自媒體文件的對應一個或者多個媒體數據樣本。
6
在另一示例實施方式中,提供一種計算機程序產品。該計算機程序產品包括至少一個計算機可讀存儲介質,該計算機可讀存儲介質具有存儲于其中的計算機可讀程序指令。計算機可讀程序指令可以包括多個程序指令。雖然在這一發(fā)明內容中程序指令被排序, 但是將理解提供這一發(fā)明內容僅為了舉例而排序僅為了便于概述計算機程序產品。示例排序決不限制關聯計算機程序指令的實施。這一實施方式的第一程序指令用于使得接收針對媒體文件的傳送協議請求,其中該請求指示將向請求媒體文件的客戶端設備流式傳輸媒體文件。這一實施方式的第二程序指令用于使得發(fā)送描述媒體文件的至少部分內容的元數據的至少一部分。這一實施方式的第三程序指令用于提取與媒體文件中的一個或者多個媒體數據樣本對應的元數據的一個或者多個其他部分。這一實施方式的第四程序指令用于使得漸進式發(fā)送提取的元數據的一個或者多個其他部分以及來自媒體文件的對應一個或者多個媒體數據樣本。在另一示例實施方式中,提供一種裝置,這一實施方式的裝置包括處理器和存儲指令的儲存器,這些指令在由處理器執(zhí)行時使裝置接收針對媒體文件的傳送協議請求,該傳送協議請求指示將向請求媒體文件的客戶端設備流式傳輸媒體文件。傳送協議請求可以例如包括HTTP GET請求,該請求包括頭部字段,該字段包括指示將流式傳輸媒體文件的標記。這一實施方式的指令在由處理器執(zhí)行時還使裝置發(fā)送描述媒體文件的至少部分內容的元數據的至少一部分。這一實施方式的指令在由處理器執(zhí)行時還使裝置提取與媒體文件中的一個或者多個媒體數據樣本對應的元數據的一個或者多個其他部分。這一實施方式的指令在由處理器執(zhí)行時也使裝置漸進式發(fā)送提取的元數據的一個或者多個其他部分以及來自媒體文件的對應一個或者多個媒體數據樣本。在另一示例實施方式中,提供一種裝置,該裝置包括用于接收針對媒體文件的傳送協議請求的裝置,該傳送協議請求指示將向請求媒體文件的客戶端設備流式傳輸媒體文件。傳送協議請求可以例如包括HTTP GET請求,該請求包括頭部字段,該字段包括指示將流式傳輸媒體文件的標記。這一實施方式的裝置還包括用于發(fā)送描述媒體文件的至少部分內容的元數據的至少一部分的裝置。這一實施方式的裝置也包括用于提取與媒體文件中的一個或者多個媒體數據樣本對應的元數據的一個或者多個其他部分的裝置。這一實施方式的裝置還包括用于漸進式發(fā)送元數據的一個或者多個其他部分以及來自媒體文件的對應一個或者多個媒體數據樣本的提取的裝置。在另一示例實施方式中,提供一種方法,該方法包括向媒體內容源發(fā)送針對媒體文件的傳送協議請求。傳送協議請求包括如下指示,該指示指示將流式傳輸媒體文件。傳送協議請求可以例如包括HTTPGET請求,該請求包括頭部字段,該字段包括指示將流式傳輸媒體文件的標記。這一實施方式的方法還包括接收描述媒體文件的至少部分內容的元數據的至少一部分。這一實施方式的方法還包括漸進式接收元數據的一個或者多個其他部分以及來自媒體文件的與元數據的一個或者多個其他部分對應的一個或者多個媒體數據樣本。在另一示例實施方式中,提供一種計算機程序產品。該計算機程序產品包括至少一個計算機可讀存儲介質,該計算機可讀存儲介質具有存儲于其中的計算機可讀程序指令。計算機可讀程序指令可以包括多個程序指令。雖然在這一發(fā)明內容中程序指令被排序, 但是將理解提供這一發(fā)明內容僅為了舉例而排序僅為了便于概述計算機程序產品。示例排序決不限制關聯計算機程序指令的實施。這一實施方式的第一程序指令用于使得向媒體內容源發(fā)送針對媒體文件的傳送協議請求。傳送協議請求包括如下指示,該指示指示將流式傳輸媒體文件。傳送協議請求可以例如包括HTTP GET請求,該請求包括頭部字段,該字段包括指示將流式傳輸媒體文件的標記。這一實施方式的第二程序指令用于使得接收描述媒體文件的至少部分內容的元數據的至少一部分。這一實施方式的第三程序指令用于使得漸進式接收元數據的一個或者多個其他部分以及來自媒體文件的與元數據的一個或者多個其他部分對應的一個或者多個媒體數據樣本。在另一示例實施方式中,提供一種裝置。這一實施方式的裝置包括處理器和存儲指令的存儲器,這些指令在由處理器執(zhí)行時使裝置向媒體內容源發(fā)送針對媒體文件的傳送協議請求。傳送協議請求包括如下指示,該指示指示將流式傳輸媒體文件。傳送協議請求可以例如包括HTTP GET請求,該請求包括頭部字段,該字段包括指示將流式傳輸媒體文件的標記。這一實施方式的指令在由處理器執(zhí)行時還使裝置接收描述媒體文件的至少部分內容的元數據的至少一部分。這一實施方式的指令在由處理器執(zhí)行時還使裝置漸進式接收元數據的一個或者多個其他部分以及來自媒體文件的與元數據的一個或者多個其他部分對應的一個或者多個媒體數據樣本。在另一示例實施方式中,提供一種裝置,該裝置包括用于向媒體內容源發(fā)送針對媒體文件的傳送協議請求的裝置。傳送協議請求包括如下指示,該指示指示將流式傳輸媒體文件。傳送協議請求可以例如包括HTTP GET請求,該請求包括頭部字段,該字段包括指示將流式傳輸媒體文件的標記。這一實施方式的裝置還包括用于接收描述媒體文件的至少部分內容的元數據的至少一部分的裝置。這一實施方式的裝置還包括用于漸進式接收元數據的一個或者多個其他部分以及來自媒體文件的與元數據的一個或者多個其他部分對應的一個或者多個媒體數據樣本的裝置。這一實施方式的裝置還包括用于至少部分基于接收的對媒體文件的至少一個部分的描述來選擇媒體文件的媒體軌道子集的裝置和用于向媒體內容源發(fā)送該選擇的裝置。 用于接收媒體數據的裝置可以包括用于接收包括所選媒體軌道子集中的一個或者多個軌道的媒體數據的裝置。提供上述發(fā)明內容僅為了概述本發(fā)明的一些示例實施方式以便提供對本發(fā)明一些方面的基本理解。因而將理解上述示例實施方式僅為示例而不應理解為以任何方式縮減本發(fā)明的范圍或者精神實質。將理解本發(fā)明的范圍除了這里概述的實施方式之外還涵蓋多個潛在實施方式,下文將進一步描述這些潛在實施方式中的一些實施方式。


已經一般性地描述本發(fā)明的實施方式,現在將參照附圖,這些附圖不一定是按比例繪制的圖1圖示了根據本發(fā)明一個示例實施方式的用于支持使用傳送協議流式傳輸媒體文件的系統;圖2是根據本發(fā)明一個示例實施方式的移動終端的示意框圖;圖3圖示了根據本發(fā)明一個示例實施方式的用于與ISO基本文件格式相符的媒體文件的多個元數據級的示例層級;圖4圖示了根據本發(fā)明一個示例實施方式的劃分成連串片段的樣本的幀;
圖5圖示了根據本發(fā)明一個示例實施方式的樣本的幀;并且圖6-8圖示了根據本發(fā)明示例實施方式的用于支持使用傳送協議流式傳輸媒體文件的示例方法的流程圖。
具體實施例方式下文現在將參照附圖更完全描述本發(fā)明的一些實施方式,在這些附圖中示出本發(fā)明的一些但是并非所有實施方式。實際上應當理解除了這里圖示和描述的實施方式之外還可以用多個不同形式實施本發(fā)明的多個其他潛在實施方式。本發(fā)明的實施方式不應理解為限于這里闡述的實施方式;實際上,提供這里闡述的實施方式使得本公開內容將滿足適用法律要求。相似標號通篇指代相似元素。如這里所用,“示例”僅意味著示例并且這樣代表用于本發(fā)明的一個示例實施方式而不應理解為以任何方式縮減本發(fā)明的范圍或者精神實質。另外應當理解使用超文本傳送協議(HTTP)作為應用層傳送協議的示例。本發(fā)明的示例實施方式包括使用其他應用層傳送協議流式傳輸媒體文件。一些多媒體內容提供商在用戶數據報協議(UDP)的基礎上將實時傳送協議(RTP) 用于媒體流式傳輸。在此方面,UDP提供基本傳送功能,例如應用尋址和破壞檢測。RTP用媒體傳送相關功能(例如丟失檢測、分組重排序、同步、統計數據收集和會話參與方標識) 補充UDP。然而在UDP基礎上的RTP(RTP/UDP)未提供內置的擁塞控制和/或糾錯功能。 RTP/UDP可以在應用級在需要基礎上收集用于實施擁塞控制和/或糾錯功能的充分信息。 在此方面,隨著移動和因特網視頻越來越流行,希望通過適當速率控制機制來維持良好網絡性能。在基于RTP/UDP的流式傳輸應用中,流式媒體的發(fā)送方和/或接收方如果未適當配置則可能無法穿越定位于發(fā)送方與接收方之間的流式傳輸路徑中的網絡地址轉譯(NAT) 設備和/或防火墻。超文本傳送協議(HTTP)媒體遞送例如可以在分組交換流式傳輸服務 (PSS)中提供一種基于實時流式傳輸協議(RTSP)和/或RTP的實時流式傳輸的備選方式。 HTTP媒體遞送解決方案通過克服NAT和防火墻穿越問題來實現向第3代伙伴項目(3GPP) 用戶設備的簡易而不費力的流式傳輸服務。PSS已經限定一種用于以與流式傳輸相似的方式使用HTTP遞送媒體文件(例如漸進式下載)的解決方案。PSS編碼器/解碼器(編碼解碼器)和協議以及3GPP文件格式均支持漸進式下載。符合漸進式下載簡檔的3GP文件通常滿足針對按照交織時間間隔交織媒體軌道的要求。將媒體數據劃分為例如與不多于1秒的回放持續(xù)時間對應的塊或者各自包括單個樣本的塊。在PSS漸進式下載解決方案中,數據遞送可能未針對短暫延遲的回放而進行優(yōu)化。例如,在傳輸控制協議(TCP)基礎上將HTTP用于實時媒體流式傳輸可能由于使用激進的擁塞和流量控制算法、面向連接的性質、要求嚴格有序遞送包含媒體數據的分組和基于重傳的誤差控制協議(例如慢速啟動的重啟協議)而帶來弊端?;贖TTP的遞送可能造成吞吐量的明顯波動并且可能需要高級初始緩沖來應對可變吞吐量??赡転榱税l(fā)送不必要的元數據而消耗大量網絡資源。例如,在與國際標準化組織(ISO)基本媒體文件格式相符的媒體文件中,元數據通常位于文件的開始處。當發(fā)送媒體文件時,通常在發(fā)送任何媒體數據之前發(fā)送元數據??赡苡捎谌狈u進式下載會話的控制而不希望漸進式下載可用于提供視頻點播功能。
根據本發(fā)明的一個示例實施方式,實時HTTP流式傳輸是通過漸進式發(fā)送元數據的部分以及對應的媒體數據塊而實現的。例如,僅發(fā)送對于客戶端設備在對媒體數據塊進行解碼和/或回放時有用的元數據的部分。圖1圖示了根據本發(fā)明一個示例實施方式的用于使用例如超文本傳送協議 (HTTP)等應用層傳送協議的流式傳輸媒體文件的系統100的框圖。在一個示例實施方式中,系統100包括客戶端設備102和媒體內容源104??蛻舳嗽O備102和媒體內容源104被配置用于通過網絡108通信。網絡108例如包括一個或者多個有線網絡、一個或者多個無線網絡或者其一些組合。網絡108包括網絡運營商運營的公共陸地移動網絡(PLMN)。在此方面,網絡108例如包括根據3GPP標準來提供蜂窩網絡接入的運營商網絡。附加地或備選地,網絡108可以包括因特網??蛻舳嗽O備102包括任何配置用于通過網絡108從媒體內容源104獲取媒體文件的設備。例如,客戶端設備102包括服務器、桌面型計算機、膝上型計算機、移動終端、移動計算機、移動電話、移動通信設備、游戲設備、數字相機/攝像放像機、 音頻/視頻播放器、電視設備、無線電接收器、數字視頻記錄器、定位設備、其任何組合等。在一個示例實施方式中,客戶端設備102實施為移動終端、例如圖2中所示移動終端。在此方面,圖2圖示了移動終端10的框圖,該移動終端代表根據本發(fā)明實施方式的客戶端設備102的一個實施方式。然而應當理解圖示的并且下文描述的移動終端10僅舉例說明可以實施和/或受益于本發(fā)明實施方式的一類客戶端設備102、因此不應理解為限制本發(fā)明的范圍。盡管為了舉例而圖示并且下文將描述電子設備的若干實施方式,但是其他類型的電子設備(例如移動電話、移動計算機、便攜數字助理(PDA)、尋呼機、膝上型計算機、 桌面型計算機、游戲設備、電視機和其他類型的電子系統)可以運用本發(fā)明的實施方式。如圖所示,移動終端10可以包括與發(fā)送器14和接收器16通信的一個天線12 (或者多個天線12)。移動終端也可以包括分別向發(fā)送器提供信號和從接收器接收信號的控制器20或者其他處理器。這些信號可以包括根據適用蜂窩系統的空中接口標準和/或任何數目的不同有線或者無線聯網技術(包括但不限于無線保真度(Wi-Fi)、無線局域網(LWAN) 技術(例如電器和電子工程師協會(IEEE)802. 11)等)的信令信息。此外,這些信號可以包括話音數據、用戶生成的數據、用戶請求的數據等。在此方面,移動終端可以能夠按照一個或者多個空中接口標準、通信協議、調制類型、接入類型等操作。具體而言,移動終端可以能夠根據各種第一代(IG)、第二代(2G)、2. 5G、第三代(3G)通信協議、第四代0G)通信協議等操作。例如移動終端可以能夠根據IS-136(時分多址(TDMA))、全球移動通信系統 (GSM)、IS-95(碼分多址(CDMA))等2G無線通信協議操作。又例如,移動終端可以能夠根據通用分組無線電服務(GPRS)、增強型數據GSM環(huán)境(EDGE)等2. 5G無線通信協議操作。另外例如移動終端可以能夠根據諸如通用移動電信系統(UMTQ、碼分多址2000 (CDMA2000)、 寬帶碼分多址(WCDMA)、時分-同步碼分多址(TD-SCDMA)等3G無線通信協議操作。移動終端還可以能夠根據諸如長期演進(LTE)或者演進型通用地面無線電接入網絡(E-UTRAN) 等3. 9G無線通信協議操作。此外例如移動終端可以能夠根據第四代GG)無線通信協議等以及將來可以開發(fā)的相似無線通信協議操作。一些窄帶高級移動電話系統(NAMPS)以及全接入通信系統(TACS)、移動終端也可以從本發(fā)明的實施方式中受益,如雙?;蛘吒吣J降碾娫?例如數字/模擬或者TDMA/CDMA/模擬電話)應當受益的那樣。此外,移動終端10 還可以能夠根據無線保真度(Wi-Fi)或者全球微波接入互操作性(WiMAX)協議操作。
應當理解,控制器20可以包括用于實施移動終端10的音頻/視頻和邏輯功能的電路。例如,控制器20可以包括數字信號處理器設備、微處理器設備、模數轉換器、數模轉換器等??梢愿鶕@些設備的相應能力在它們之間分配移動終端的控制和信號處理功能。 控制器還可以包括內部音碼器(VC) 20a、內部數據調制解調器(DM) 20b等。另外,控制器可以包括用于操作可以存儲于存儲器中的一個或者多個軟件程序的功能。例如,控制器20可以能夠操作連接程序、例如網上瀏覽器。連接程序可以允許移動終端10根據諸如無線應用協議(WAP)、超文本傳送協議(HTTP)等協議來發(fā)送和接收網上內容(例如基于位置的內容)。移動終端10可以能夠使用傳輸控制協議/網際協議(TCP/IP)來越過因特網或者其他網絡發(fā)送和接收網上內容。移動終端10也可以包括可以操作耦合到控制器20的用戶接口(例如包括耳機或者揚聲器對、振鈴器22、麥克風沈、顯示器觀、用戶輸入接口等)。雖未示出,但是移動終端可以包括用于向與移動終端有關的各種電路(例如用于提供機械振動作為可檢測輸出的電路)供電的電池。用戶輸入接口可以包括允許移動終端接收數據的設備、例如小鍵盤30、觸摸顯示器(未示出)、操縱桿(未示出)和/或其他輸入設備。在包括小鍵盤的實施方式中,小鍵盤可以包括數字鍵(0-9)和有關鍵(#、*)和/或用于操作移動終端的其他鍵。如圖2中所示,移動終端10也可以包括用于共享和/或獲得數據的一個或者多個裝置。例如移動終端可以包括近程射頻(RF)收發(fā)器和/或詢問器64,從而可以根據RF技術與電子設備和/或從電子設備獲得數據。移動終端可以包括其他近程收發(fā)器、例如紅外線(IR)收發(fā)器66、使用由藍牙 特別興趣組開發(fā)的藍牙 品牌無線技術的藍 Sitm(BT)收發(fā)器68、無線通用串行總線(USB)收發(fā)器70等。藍牙 收發(fā)器68可以能夠根據超低功率藍牙 技術(例如Wibree )無線電標準操作。在此方面,移動終端10并且具體為近程收發(fā)器可以能夠向移動終端10鄰近(例如在10米內)的電子設備發(fā)送數據和/ 或從這些電子設備接收數據。雖然未示出,但是移動終端可以能夠根據各種無線聯網技術 (包括無線保真度(Wi-Fi)、WLAN技術(例如IEEE 802. 11技術)等)向電子設備發(fā)送數據和/或從電子設備接收數據。移動終端10可以包括可以存儲與移動用戶有關的信元的諸如用戶標識模塊(SIM) 38、可拆卸用戶標識模塊(R-UIM)等存儲器。除了 SIM之外,移動終端還可以包括其他可拆卸和/或固定存儲器。移動終端10可以包括易失性存儲器40和 /或非易失性存儲器42。例如易失性存儲器40可以包括隨機存取存儲器(RAM)(包括動態(tài)和/或靜態(tài)RAM)、片上或者片外高速緩存存儲器等。可以是嵌入和/或可拆卸的非易失性存儲器42可以例如包括只讀存儲器、閃存、磁存儲設備(例如硬盤、軟盤驅動、磁帶等)、光盤驅動和/或介質、非易失性隨機存取存儲器(NVRAM)等。類似于易失性存儲器40,非易失性存儲器42可以包括用于暫存數據的高速緩存區(qū)。存儲器可以存儲可以由移動終端用于執(zhí)行移動終端的功能的一個或者多個軟件程序、指令、多條信息、數據等。例如存儲器可以包括能夠唯一標識移動終端10的標識符,例如國際移動設備標識(IMEI)代碼。再次參照圖1,在一個示例實施方式中,客戶端設備102包括用于執(zhí)行這里描述的各種功能的各種裝置,例如處理器110、存儲器112、通信接口 114、用戶接口 116和媒體回放單元118。如這里描述的客戶端設備102的各種裝置例如包括硬件單元,例如適當編程的處理器、組合邏輯電路等;計算機程序產品,包括存儲于計算機可讀介質(例如存儲器112) 上的計算機可讀程序指令(例如軟件和/或固件)。程序指令可由處理設備(例如處理器 110)執(zhí)行。
處理器110可以例如實施為各種裝置(包括具有附帶數字信號處理器的一個或者多個微處理器、無附帶數字信號處理器的一個或者多個處理器、一個或者多個協同處理器、 一個或者多個控制器、處理電路、一個或者多個計算機、各種包括集成電路(例如專用集成電路(ASIC)或者現場可編程門陣列(FPGA))的其他處理單元或者其一些組合)。相應地,雖然在圖1中圖示為單個處理器,但是在一些實施方式中處理器110包括多個處理器。多個處理器可以相互操作通信并且可以被共同配置用于執(zhí)行如這里描述的媒體客戶端設備102的一個或者多個功能。在客戶端設備102實施為移動終端10的實施方式中,處理器110可以實施為或者以別的方式包括控制器20。在一個示例實施方式中,處理器110被配置用于執(zhí)行存儲器112中存儲的或者以別的方式可由處理器110訪問的指令。 指令在由處理器110執(zhí)行時使客戶端設備102執(zhí)行如這里描述的客戶端設備102的一個或者多個功能。這樣,處理器110無論是通過硬件或者軟件操作還是通過其組合來配置都可以代表在相應配置時能夠根據本發(fā)明的實施方式執(zhí)行操作的實體。例如當處理器110實施為ASIC、FGPA等時,處理器110可以包括用于執(zhí)行這里描述的一個或者多個操作的具體配置的硬件。備選地,作為另一示例,當處理器110實施為指令執(zhí)行器時,指令可以具體配置處理器110(該處理器如果未用于由指令提供的具體配置則可以另外是通用處理單元)執(zhí)行這里描述的一個或者多個操作。存儲器112可以例如包括易失性和/或非易失性存儲器。雖然在圖1中圖示為單個存儲器,但是存儲器112可以包括多個存儲器。存儲器112可以包括易失性存儲器、非易失性存儲器或者其一些組合。在此方面,存儲器112可以例如包括硬盤、隨機存取存儲器、 高速緩存存儲器、閃存、光盤只讀存儲器(⑶-ROM)、數字萬用盤只讀存儲器(DVD-ROM)、光盤、配置用于存儲信息的電路或者其一些組合。存儲器112可以被配置用于存儲用于使客戶端設備102能夠根據本發(fā)明的實施方式執(zhí)行各種功能的信息、數據、應用、指令等。另外, 在至少一些實施方式中,存儲器112被配置用于緩沖用于由處理器110處理的輸入數據。附加地或備選地,在至少一些實施方式中,存儲器112被配置用于存儲用于由處理器110執(zhí)行的程序指令。存儲器112可以用靜態(tài)和/或動態(tài)信息的形式存儲信息。媒體回放單元118 可以存儲和/或在執(zhí)行它的功能的過程期間使用這一存儲的信息。通信接口 114可以實施為配置用于通過網絡108從遠程設備接收數據和/或向遠程設備發(fā)送數據的用硬件、計算機程序產品(包括計算機可讀介質(例如存儲器11 上存儲的并且由處理設備(例如處理器110)執(zhí)行的計算機可讀程序指令)的任何設備或者裝置。在至少一個實施方式中,通信接口 114至少部分實施為處理器110或者以別的方式由處理器110控制。在此方面,通信接口 114可以例如經由總線來與處理器110通信。通信接口 114可以例如包括天線、發(fā)送器、接收器、收發(fā)器和/或用于實現與系統100的其他實體通信的支持硬件或者軟件。通信接口 114可以被配置用于使用任何可以用于系統100的計算設備之間通信的協議來接收數據和/或發(fā)送數據。通信接口 114還可以例如經由總線來與存儲器112、用戶接口 116和/或媒體回放單元118通信。用戶接口 116可以與處理器110通信以接收對用戶輸入的指示和/或向用戶提供可聽、可視、機械或者其他輸出。這樣,用戶接口 116可以例如包括鍵盤、鼠標、操縱桿、顯示器、觸屏顯示器、麥克風、揚聲器和/或其他輸入/輸出機制。用戶接口 116可以提供如下界面,該界面允許用戶選擇用于從媒體內容源104流式傳輸到客戶端設備102用于在客戶
12端設備102上回放的媒體文件和/或其媒體軌道。在此方面,來自媒體文件的視頻可以顯示于用戶接口 116的顯示器上,并且可以通過用戶接口 116的揚聲器使來自媒體文件的音頻可聽。用戶接口 116可以例如經由總線來與存儲器112、通信接口 114和/或媒體回放單元118通信。媒體回放單元118可以實施為各種裝置,諸如硬件、包括存儲在計算機可讀介質 (例如,存儲器11 上并且由處理設備(例如,處理器110)執(zhí)行的計算機可讀程序的計算機程序產品或者其一些組合,并且在一個實施方式中,媒體回放單元118被實施為處理器 110或者以別的方式由處理器110控制。在媒體回放單元118與處理器110分開實施的實施方式中,媒體回放單元118可以與處理器110通信。媒體回放單元118還可以例如經由總線來與存儲器112、通信接口 114和/或用戶接口 116通信。媒體內容源104可以包括配置用于向客戶端設備102提供媒體文件的一個或者多個計算設備。在至少一個實施方式中,媒體內容源104包括一個或者多個服務器。在一個示例實施方式中,媒體內容源104包括用于執(zhí)行這里描述的各種功能的各種裝置(例如處理器120、存儲器122、通信接口 124、用戶接口 1 和媒體流式傳輸單元128)。如這里描述的媒體內容源104的這些裝置可以例如實施為硬件單元,例如適當編程的處理器、組合邏輯電路等;包括存儲在計算機可讀介質(例如存儲器12 上的可由適當配置的處理設備 (例如處理器120)執(zhí)行的計算機可讀程序指令的計算機程序產品;或者其一些組合。處理器120可以例如實施為各種裝置(包括具有附帶數字信號處理器的一個或者多個微處理器、無附帶數字信號處理器的一個或者多個處理器、一個或者多個協同處理器、 一個或者多個控制器、處理電路、一個或者多個計算機、各種包括集成電路(例如ASIC(專用集成電路)或者FPGA (現場可編程門陣列))的其他處理單元或者其一些組合)。相應地,雖然在圖1中圖示為單個處理器,但是在一些實施方式中處理器120包括多個處理器。多個處理器可以實施于單個計算設備上或者分布于多個計算設備。多個處理器可以相互操作通信并且可以被共同配置用于執(zhí)行如這里描述的媒體內容源104的一個或者多個功能。在一個示例實施方式中,處理器120被配置用于執(zhí)行存儲器122中存儲的或者以別的方式可由處理器120訪問的指令。指令在由處理器120執(zhí)行時使媒體內容源104 執(zhí)行如這里描述的媒體內容源104的一個或者多個功能。這樣,處理器120無論是通過硬件或者軟件操作還是通過其組合來配置都可以代表在相應配置時能夠根據本發(fā)明的實施方式執(zhí)行操作的實體。因此例如當處理器120實施為ASIC、FGPA等時,處理器120可以包括用于執(zhí)行這里描述的一個或者多個操作的具體配置的硬件。備選地,作為另一示例,當處理器120實施為指令執(zhí)行器時,指令可以具體配置處理器120(該處理器如果未用于由指令提供的具體配置則可以另外是通用處理單元)執(zhí)行這里描述的一個或者多個算法和操作。存儲器122可以例如包括易失性和/或非易失性存儲器。雖然在圖1中圖示為單個存儲器,但是存儲器122可以包括可以實施于單個計算設備上或者分布于多個計算設備上的多個存儲器。存儲器122可以包括易失性存儲器、非易失性存儲器或者其一些組合。在此方面,存儲器112可以例如包括硬盤、隨機存取存儲器、高速緩存存儲器、閃存、光盤只讀存儲器(CD-ROM)、數字萬用盤只讀存儲器(DVD-ROM)、光盤、配置用于存儲信息的電路或者其一些組合。存儲器122可以被配置用于存儲用于使媒體內容源104能夠根據本發(fā)明的實施方式執(zhí)行各種功能的信息、數據、應用、指令等。例如在至少一些實施方式中,存儲器122被配置用于緩沖用于由處理器120處理的輸入數據。附加地或備選地,在至少一些實施方式中,存儲器122被配置用于存儲用于由處理器120執(zhí)行的程序指令。存儲器122可以用靜態(tài)和/或動態(tài)信息的形式存儲信息。媒體流式傳輸單元1 可以存儲和/或在執(zhí)行它的功能的過程期間使用這一存儲的信息。通信接口 IM可以實施為配置用于通過網絡108從遠程設備接收數據和/或向遠程設備發(fā)送數據的用硬件;包括存儲在計算機可讀介質(例如,存儲器12 上并且由處理設備(例如,處理器120)執(zhí)行的計算機可讀程序指令的計算機程序產品的任何設備或者裝置。在至少一個實施方式中,通信接口 1 至少部分實施為處理器120或者以別的方式由處理器120控制。在此方面,通信接口 IM可以例如經由總線來與處理器120通信。通信接口 IM可以例如包括天線、發(fā)送器、接收器、收發(fā)器和/或用于實現與系統100的其他實體通信的支持硬件或者軟件。通信接口 1 可以被配置用于使用任何可以用于系統100的計算設備之間通信的協議來接收數據和/或發(fā)送數據。通信接口 IM還可以例如經由總線來與存儲器122、用戶接口 1 和/或媒體流式傳輸單元1 通信。用戶接口 1 可以與處理器120通信以接收對用戶輸入的指示和/或向用戶提供可聽、可視、機械或者其他輸出。這樣,用戶接口 1 可以例如包括鍵盤、鼠標、操縱桿、顯示器、觸屏顯示器、麥克風、揚聲器和/或其他輸入/輸出機制。在媒體內容源104實施為一個或者多個服務器的實施方式中,可以限制或者甚至消除用戶接口 126。用戶接口 1 可以例如經由總線來與存儲器122、通信接口 IM和/或媒體流式傳輸單元1 通信。媒體流式傳輸單元1 可以實施為各種裝置,例如硬件、包括存儲在計算機可讀介質(例如,存儲器12 上并且由處理設備(例如,處理器120)執(zhí)行的計算機可讀程序指令的計算機程序產品或者其一些組合,并且在一個實施方式中具體化為處理器120或者以別的方式由處理器120控制。在媒體流單元1 與處理器120分開實施的實施方式中,媒體流式傳輸單元1 可以與處理器120通信。媒體流式傳輸單元1 還可以例如經由總線來與存儲器122、通信接口 125和/或用戶接口 1 通信。在一個示例實施方式中,媒體回放單元118被配置用于向媒體內容源104發(fā)送針對媒體文件的傳送協議請求。在一個示例實施方式中,請求的媒體文件包括媒體文件,該媒體文件包括與媒體文件中的媒體數據關聯的元數據。在另一示例實施方式中,請求的媒體文件包括與ISO基本媒體文件格式相符的媒體文件。ISO基本媒體文件格式的示例包括3GP 媒體文件和活動圖像專家組4(MPEG-4)部分14(MP4)文件。該請求例如響應于經由用戶接口 116接收的用戶輸入或者請求而被發(fā)送。傳送協議請求包括媒體文件將被流式傳輸到客戶端設備102的指示。在一個示例實施方式中,傳送協議請求包括HTTP GET請求。HTTP GET請求包括頭部字段,該頭部字段包括指示將流式傳輸媒體文件的標記。例如,頭部字段可以包括“Expect”頭部字段,并且包括例如“http-streaming”的標記,其被定義為指示要求媒體內容源104支持媒體文件的 HTTP流式傳輸,例如3GP媒體文件的基于3GPP的HTTP流式傳輸。在另一示例中,頭部字段包括“ft^gma”頭部字段,并且包括例如“http-streaming”的標記,其被定義為指示向媒體內容源104查詢對請求的媒體文件的HTTP流式傳輸的支持。在一個示例實施方式中,媒體流式傳輸單元1 被配置用于接收由客戶端設備 102發(fā)送的傳送協議請求。如果傳送協議請求包括所請求的媒體文件將被流式傳輸到客戶端設備102的指示,并且媒體內容源104未被配置用于流式傳輸媒體文件,則媒體流式傳輸單元1 被配置用于向客戶端設備102發(fā)送錯誤消息。如果媒體內容源104被配置用于流式傳輸媒體文件,則媒體流式傳輸單元1 被配置用于在向客戶端設備102發(fā)送的答復消息中包括支持??梢詫⑦@樣的支持指示為HTTP答復消息的I^agma頭部字段的部分。在一個示例實施方式中,媒體流式傳輸單元1 還被配置用于響應于接收針對媒體文件的傳送協議請求而從存儲器122或者媒體內容源104可訪問的其他存儲器獲取所請求的媒體文件。媒體流式傳輸單元1 被配置用于提取與媒體文件中的媒體數據關聯的至少部分信息。在一個示例實施方式中,提取的信息部分可以包括元數據的與媒體文件中的媒體數據關聯的部分。例如,提取的元數據的部分包括關于媒體文件內容的一般信息,例如媒體文件中的媒體數據和/或不同軌道的類型。提取的元數據的部分例如僅包括可由客戶端設備用來從媒體文件選擇至少一個軌道的信息。與媒體文件關聯的元數據例如可以根據下表中概括的ISO基本媒體文件格式來構造
權利要求
1.一種方法,包括接收針對媒體文件的傳送協議請求,所述傳送協議請求指示所述媒體文件將被流式傳輸至請求所述媒體文件的客戶端設備;發(fā)送對所述媒體文件的至少部分內容進行描述的元數據的至少一部分;提取與所述媒體文件中的一個或者多個媒體數據樣本相對應的元數據的一個或者多個其他部分;以及漸進式發(fā)送提取的所述元數據的一個或者多個其他部分以及來自所述媒體文件的相對應的所述一個或者多個媒體數據樣本。
2.根據權利要求1所述的方法,其中接收傳送協議請求包括接收包括頭部字段的超文本傳送協議GET請求,所述頭部字段包括指示所述媒體文件將被流式傳輸的標記。
3.根據權利要求1或2所述的方法,其中所述元數據的一個或者多個其他部分描述以下一個或多個所述媒體數據的結構,所述媒體數據的解碼參數,或者所述媒體數據的呈現參數。
4.根據權利要求1-3任一項所述的方法,還包括接收對所述媒體文件的媒體軌道的子集的選擇;并且其中漸進式發(fā)送的所述一個或者多個媒體數據樣本與所選擇的媒體軌道的子集的至少一個相關聯。
5.根據權利要求1-4任一項所述的方法,其中接收傳送協議請求包括在媒體內容源處接收傳送協議請求;以及所述方法還包括從存儲器訪問所請求的媒體文件。
6.一種計算機程序產品,包括至少一個計算機可讀存儲介質,所述計算機可讀存儲介質具有存儲于其中的計算機可讀程序指令,所述計算機可讀程序指令包括用于使得裝置接收針對媒體文件的傳送協議請求的程序指令,所述傳送協議請求指示所述媒體文件將被流式傳輸至請求所述媒體文件的客戶端設備;用于使所述裝置漸進式發(fā)送對所述媒體文件的至少部分內容進行描述的元數據的至少一部分的程序指令;用于使所述裝置提取與所述媒體文件中的一個或者多個媒體數據樣本相對應的元數據的一個或者多個其他部分的程序指令;以及用于使所述裝置漸進式發(fā)送提取的所述元數據的一個或者多個其他部分以及來自所述媒體文件的相對應的所述一個或者多個媒體數據樣本的程序指令。
7.根據權利要求6所述的計算機程序產品,其中用于使所述裝置接收所述傳送協議請求的程序指令包括用于使所述裝置接收超文本傳送協議GET請求的指令,所述超文本傳送協議GET請求包括頭部字段,所述頭部字段包括指示所述媒體文件將被流式傳輸的標記。
8.根據權利要求6或7所述的計算機程序產品,其中所述元數據的一個或者多個其他部分描述以下一個或多個所述媒體數據的結構,所述媒體數據的解碼參數,或者所述媒體數據的呈現參數。
9.根據權利要求6-8任一項所述的計算機程序產品,還包括用于使所述裝置接收對所述媒體文件的媒體軌道的子集的選擇的程序指令;并且其中用于使所述裝置漸進式發(fā)送提取的所述元數據的一個或者多個其他部分以及相對應的所述一個或者多個媒體數據樣本的程序指令包括用于使所述裝置漸進式發(fā)送與所選擇的媒體軌道的子集的至少一個相關聯的一個或者多個媒體數據樣本的指令。
10.一種裝置,包括 處理器,以及存儲器,存儲有可執(zhí)行指令,所述存儲器和所述可執(zhí)行指令由所述處理器配置用于使所述裝置至少 接收針對媒體文件的傳送協議請求,所述傳送協議請求指示所述媒體文件將被流式傳輸至請求所述媒體文件的客戶端設備;發(fā)送對所述媒體文件的至少部分內容進行描述的元數據的至少一部分; 提取與所述媒體文件中的一個或者多個媒體數據樣本相對應的元數據的一個或者多個其他部分;以及漸進式發(fā)送提取的所述元數據的一個或者多個其他部分以及來自所述媒體文件的相對應的所述一個或者多個媒體數據樣本。
11.根據權利要求10所述的裝置,其中所述存儲器和所述可執(zhí)行指令由所述處理器配置用于使所述裝置通過接收包括頭部字段的超文本傳送協議GET請求來接收傳送協議請求,所述頭部字段包括指示所述媒體文件將被流式傳輸的標記。
12.根據權利要求10或11所述的裝置,其中所述元數據的一個或者多個其他部分描述以下一個或多個所述媒體數據的結構,所述媒體數據的解碼參數,或者所述媒體數據的呈現參數。
13.根據權利要求10-12任一項所述的裝置,其中所述存儲器和所述可執(zhí)行指令由所述處理器配置用于使所述裝置進一步接收對所述媒體文件的媒體軌道的子集的選擇;并且其中所述指令在由所述處理器執(zhí)行時使所述裝置通過漸進式發(fā)送與所選擇的媒體軌道的子集的至少一個相關聯的一個或者多個媒體數據樣本,來漸進式發(fā)送一個或者多個媒體數據樣本。
14.一種設備,包括用于接收針對媒體文件的傳送協議請求的裝置,所述傳送協議請求指示所述媒體文件將被流式傳輸至請求所述媒體文件的客戶端設備;用于發(fā)送對所述媒體文件至少部分內容進行描述的元數據的至少一部分的裝置; 用于提取與所述媒體文件中的一個或者多個媒體數據樣本相對應的元數據的一個或者多個其他部分的裝置;以及用于漸進式發(fā)送提取的所述元數據的一個或者多個其他部分以及來自所述媒體文件的相對應的所述一個或者多個媒體數據樣本的裝置。
15.一種方法,包括向媒體內容源發(fā)送針對媒體文件的傳送協議請求,其中所述傳送協議請求指示所述媒體文件將被流式傳輸;接收對所述媒體文件的至少部分內容進行描述的元數據的至少一部分;以及漸進式接收元數據的一個或者多個其他部分以及來自所述媒體文件的相對應的一個或者多個媒體數據樣本。
16.根據權利要求15所述的方法,其中發(fā)送傳送協議請求包括發(fā)送包括頭部字段的超文本傳送協議GET請求,所述頭部字段包括指示所述媒體文件將被流式傳輸的標記。
17.根據權利要求15或16所述的方法,其中所述元數據的一個或者多個其他部分描述以下一個或多個所述媒體數據的結構,所述媒體數據的解碼參數,或者所述媒體數據的呈現參數。
18.根據權利要求15-17任一項所述的方法,還包括至少部分地基于接收到的所述元數據的至少一部分來選擇所述媒體文件的媒體軌道的子集;以及向所述媒體內容源發(fā)送所述選擇的指示;并且其中漸進式接收元數據的一個或者多個其他部分以及來自所述媒體文件的相對應的一個或者多個媒體數據樣本包括漸進式接收與所選擇的媒體軌道的子集的至少一個相關聯的一個或者多個媒體數據樣本。
19.一種計算機程序產品,包括至少一個計算機可讀存儲介質,所述計算機可讀存儲介質具有存儲于其中的計算機可讀程序指令,所述計算機可讀程序指令包括用于使裝置向媒體內容源發(fā)送針對媒體文件的傳送協議請求的程序指令,其中所述傳送協議請求指示所述媒體文件將被流式傳輸;用于使所述裝置接收對所述媒體文件的至少部分內容進行描述的元數據的至少一部分的程序指令;以及用于使所述裝置漸進式接收元數據的一個或者多個其他部分以及來自所述媒體文件的相對應的一個或者多個媒體數據樣本的程序指令。
20.根據權利要求19所述的計算機程序產品,其中用于使所述裝置發(fā)送所述傳送協議請求的程序指令包括用于使所述裝置發(fā)送包括頭部字段的超文本傳送協議GET請求的指令,所述頭部字段包括指示所述媒體文件將被流式傳輸的標記。
21.根據權利要求19或者20所述的計算機程序產品,其中所述元數據的一個或者多個其他部分描述以下一個或多個所述媒體數據的結構,所述媒體數據的解碼參數,或者所述媒體數據的呈現參數。
22.根據權利要求19-21任一項所述的計算機程序產品,還包括用于使所述裝置至少部分地基于接收到的所述元數據的至少一部分來選擇所述媒體文件的媒體軌道的子集的程序指令;以及用于使所述裝置向所述媒體內容源發(fā)送所述選擇的指示的程序指令;并且其中用于使所述裝置漸進式接收元數據的一個或者多個其他部分以及來自所述媒體文件的相對應的一個或者多個媒體數據樣本的程序指令包括用于使所述裝置漸進式接收與所選擇的媒體軌道的子集的至少一個相關聯的一個或者多個媒體數據樣本的指令。
23.一種裝置,包括處理器,以及存儲器,存儲有可執(zhí)行指令,所述存儲器和所述可執(zhí)行指令由所述處理器配置用于使所述裝置至少向媒體內容源發(fā)送針對媒體文件的傳送協議請求,其中所述傳送協議請求指示所述媒體文件將被流式傳輸;接收對所述媒體文件的至少部分內容進行描述的元數據的至少一部分;以及漸進式接收元數據的一個或者多個其他部分以及來自所述媒體文件的相對應的一個或者多個媒體數據樣本。
24.根據權利要求23所述的裝置,其中所述存儲器和所述可執(zhí)行指令由所述處理器配置用于使所述裝置通過發(fā)送包括頭部字段的超文本傳送協議GET請求來發(fā)送傳送協議請求,所述頭部字段包括指示所述媒體文件將被流式傳輸的標記。
25.根據權利要求23或者對所述的裝置,其中所述元數據的一個或者多個其他部分描述以下一個或多個所述媒體數據的結構,所述媒體數據的解碼參數,或者所述媒體數據的呈現參數。
26.根據權利要求23-25任一項所述的裝置,其中所述存儲器和所述可執(zhí)行指令由所述處理器一起配置用于使所述裝置進一步至少部分地基于接收到的所述元數據的至少一部分來選擇所述媒體文件的媒體軌道的子集;以及向所述媒體內容源發(fā)送所述選擇的指示;并且其中所述存儲器和所述可執(zhí)行指令由所述處理器配置用于通過漸進式接收與所選擇的媒體軌道的子集的至少一個相關聯的一個或者多個媒體數據樣本來漸進式接收元數據的一個或者多個其他部分以及來自所述媒體文件的相對應的一個或者多個媒體數據樣本。
27.一種設備,包括用于向媒體內容源發(fā)送針對媒體文件的傳送協議請求的裝置,其中所述傳送協議請求指示所述媒體文件將被流式傳輸;用于接收對所述媒體文件的至少部分內容進行描述的元數據的至少一部分的裝置;以及用于漸進式接收元數據的一個或者多個其他部分以及來自所述媒體文件的相對應的一個或者多個媒體數據樣本的裝置。
全文摘要
提供一種用于媒體文件流式傳輸的方法、裝置和系統。一種方法可以包括接收針對媒體文件的傳送協議請求,該傳送協議請求指示將媒體文件將被流式傳輸至請求該媒體文件的客戶端設備。該方法還可以包括發(fā)送描述媒體文件的至少部分內容的元數據的至少一部分。該方法還可以包括提取與媒體文件中的一個或者多個媒體數據樣本相對應的元數據的一個或者多個其他部分。該方法還可以包括漸進式發(fā)送提取的元數據的一個或者多個其他部分以及來自媒體文件的相對應的一個或者多個媒體數據樣本。還提供對應裝置和系統。
文檔編號H04L29/06GK102449975SQ201080023228
公開日2012年5月9日 申請日期2010年4月8日 優(yōu)先權日2009年4月9日
發(fā)明者I·鮑阿齊齊 申請人:諾基亞公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1