針對網絡上的媒體流式傳輸支持傳輸分集和時移緩存器的制造方法
【專利說明】
[0001] 本申請要求于2013年1月15日遞交的美國臨時申請序列No. 61/752, 456的權益 以及于2013年4月8日遞交的美國臨時申請序列No. 61/809,871的權益,通過引用方式將 其整體并入本文。
技術領域
[0002] 本公開內容涉及通信系統,并且更具體地說,涉及經由網絡的內容傳遞。
【背景技術】
[0003] 可以將數字多媒體(包括音頻和視頻以及其他媒體)能力并入到很多設備中,所 述設備包括數字電視、數字直播系統、無線廣播系統、個人數字助理(PDA)、膝上型或桌上型 計算機、數碼相機、數字記錄設備、數字媒體播放器、視頻游戲設備、視頻游戲控制臺、蜂窩 或衛星無線電話、視頻會議設備等。數字多媒體設備實現例如在由MPEG-2、MPEG-4、ITU-T H. 263或ITU-TH. 264/MPEG-4第10部分、高級視頻編碼(AVC)定義的標準以及這些標準的 擴展中描述的視頻、音頻和/或其他媒體壓縮技術,以更有效地發射和接收數字多媒體信 息。
[0004] 多媒體壓縮技術執行空間預測和/或時間預測以減少或移除視頻序列中固有的 冗余。對于基于塊的視頻編碼,可以將視頻幀或片段(Slice)劃分成塊。每個塊可以被進 一步劃分。在幀內編碼的(I)幀或片段中的塊相對于相鄰塊使用空間預測來編碼。在幀間 編碼的(P或B)幀或片段中的塊可以相對于同一幀或片段中的相鄰塊使用空間預測或相對 于其它參考幀使用時間預測。
[0005] 在多媒體數據已經被編碼(例如,壓縮)之后,可以將數據分組以進行傳輸或存 儲。可以將數據組裝成符合各種標準中的任何標準的文件,所述標準例如國際標準化組織 (ISO)基礎媒體文件格式和其擴展,如AVC。
[0006] 為了提供諸如語音、視頻、分組數據、消息傳遞、廣播等各種通信服務,廣泛地部署 了無線通信網絡。這些無線網絡可以是能夠通過共享可用的網絡資源來支持多個用戶的多 址網絡。這種多址網絡的例子包括碼分多址(CDMA)網絡、時分多址(TDMA)網絡、頻分多址 (FDMA)網絡、正交FDMA(OFDMA)網絡以及單載波FDMA(SC-FDMA)網絡。
[0007] 作為全球系統移動通信(GSM)和通用移動電信系統(UMTS)的演進,第三代合作 伙伴計劃(3GPP)長期演進(LTE)表示蜂窩技術中的重大進展。LTE物理層(PHY)提供了 在諸如演進節點B(eNB)的基站和諸如UE的移動設備之間來傳遞數據和控制信息二者的 高效方式。在先前申請中,用于促進多媒體的高帶寬通信的方法是單頻網絡(SFN)操作。 SFN利用無線發射機(例如,舉例來說,eNB)與訂戶UE進行通信。在單播操作中,對每個 eNB進行控制,以發送攜帶針對一個或多個特定訂戶UE的信息的信號。單播信令的特異性 (specificity)使得能夠實現人對人的服務,例如,舉例來說,語音呼叫、文本消息傳遞或視 頻呼叫。
【發明內容】
[0008] 概括地說,本公開內容描述了用于網絡上的流媒體數據的技術。例如,本公開內容 描述了一種用于經由不同類型的傳輸(例如,單播、廣播和/或多播中的任意傳輸)來接收 媒體數據的技術。例如,重定向器/代理單元可以使得應用服務客戶端直接經由單播從互 聯網取回媒體數據,或者當廣播或多播服務可用時,從廣播或多播中間件單元取回媒體數 據。可替代地,當廣播或多播服務不可用時,重定向器/代理單元可以代表應用服務客戶端 來取回媒體數據。當多種類型的傳輸可用和/或用于傳遞媒體數據時,可以在下面使用術 語"傳輸分集"。當提供商(媒體來源)和/或用于傳遞媒體的傳輸改變(例如,由重定向 器/代理單元)時,可以在下面使用術語"重定向"或"被重定向"。
[0009] 本公開內容還描述了關于緩存所取回的媒體數據的技術。例如,可以將所取回的 媒體數據存儲在時移緩存器(TSB)中。本公開內容描述了用于以信號形式發送TSB的大小 的技術(例如,關于媒體內容的回放時間),使得可以分配適當量的存儲器用于TSB。以這 種方式,可以在稍后的時間回放媒體數據和/或使用特技(trick)方式(例如快進或倒帶) 來回放。
[0010] 在一個例子中,一種取回媒體數據的方法包括:獲取映射信息,所述映射信息基于 用于取回所述媒體數據的服務,將針對所述媒體數據的標識符映射到資源位置,其中,所述 服務定義用于傳輸所述媒體數據的多個類型的傳輸中的至少一個;從應用服務客戶端接收 針對所述媒體數據的請求;確定所述服務是否是可用的;以及當所述服務是可用的時,使 得所述應用服務客戶端從單元接收所述媒體數據,所述單元基于所述映射信息,使用所述 服務從所述資源位置接收所述媒體數據。
[0011] 在另一個例子中,一種用于取回媒體數據的設備包括代理單元,所述代理單元被 配置為進行以下操作:獲取映射信息,所述映射信息基于用于取回所述媒體數據的服務,將 針對所述媒體數據的標識符映射到資源位置,其中,所述服務定義用于傳輸所述媒體數據 的多個類型的傳輸中的至少一個;從應用服務客戶端接收針對所述媒體數據的請求;確定 所述服務是否是可用的;以及當所述服務是可用的時,使得所述應用服務客戶端從單元接 收所述媒體數據,所述單元基于所述映射信息,使用所述服務從所述資源位置接收所述媒 體數據。
[0012] 在另一個例子中,一種用于取回媒體數據的設備包括用于獲取映射信息的單元, 所述映射信息基于用于取回所述媒體數據的服務,將針對所述媒體數據的標識符映射到資 源位置,其中,所述服務定義用于傳輸所述媒體數據的多個類型的傳輸中的至少一個;用于 從應用服務客戶端接收針對所述媒體數據的請求的單元;用于確定所述服務是否是可用的 單元;以及用于當所述服務是可用的時,使得所述應用服務客戶端從單元接收所述媒體數 據的單元,所述單元基于所述映射信息,使用所述服務從所述資源位置接收所述媒體數據。
[0013] 在另一個例子中,一種計算機可讀存儲介質具有存儲于其上的指令,當所述指令 被執行時,使得處理器來執行以下操作:獲取映射信息,所述映射信息基于用于取回所述媒 體數據的服務,將針對所述媒體數據的標識符映射到資源位置,其中,所述服務定義用于傳 輸所述媒體數據的多個類型的傳輸中的至少一個;從應用服務客戶端接收針對所述媒體數 據的請求;確定所述服務是否是可用的;以及當所述服務是可用的時,使得所述應用服務 客戶端從單元接收所述媒體數據,所述單元基于所述映射信息,使用所述服務從所述資源 位置接收所述媒體數據。
[0014] 在另一個例子中,一種處理媒體數據的方法包括:接收會話描述協議(SDP)消息, 所述SDP消息包括定義了時移緩存器(TSB)深度的屬性;基于所述屬性的值,確定用于所述 TSB的存儲器的量;分配所確定量的存儲器以形成所述TSB;以及,在所述TSB中存儲與所 述SDP消息相關聯的至少一部分媒體數據。
[0015] 在另一個例子中,一種用于處理媒體數據的設備包括一個或多個處理器,所述一 個或多個處理器被配置為進行以下操作:接收會話描述協議(SDP)消息,所述SDP消息包括 定義了時移緩存器(TSB)深度的屬性;基于所述屬性的值,確定用于所述TSB的存儲器的 量;分配所確定量的存儲器以形成所述TSB;以及,在所述TSB中存儲與所述SDP消息相關 聯的至少一部分媒體數據。
[0016] 在另一個例子中,一種用于處理媒體數據的設備包括:用于接收會話描述協議 (SDP)消息的單元,所述SDP消息包括定義了時移緩存器(TSB)深度的屬性;用于基于所述 屬性的值,確定用于所述TSB的存儲器的量的單元;用于分配所確定量的存儲器以形成所 述TSB的單元;以及,用于在所述TSB中存儲與所述SDP消息相關聯的至少一部分媒體數據 的單元。
[0017] 在另一個例子中,一種計算機可讀存儲介質具有存儲于其上的指令,當所述指令 被執行時,使得處理器來執行以下操作:接收會話描述協議(SDP)消息,所述SDP消息包括 定義了時移緩存器(TSB)深度的屬性;基于所述屬性的值,確定用于所述TSB的存儲器的 量;分配所確定量的存儲器以形成所述TSB;以及,在所述TSB中存儲與所述SDP消息相關 聯的至少一部分媒體數據。
【附圖說明】
[0018] 圖1示出了用于支持傳輸分集的示例性系統。
[0019] 圖2A-2B示出了包括重定向器/代理以支持傳輸分集的裝置的可替代例子。
[0020] 圖3示出了使用被配置為進行重定向操作的重定向器/代理的示例性過程流的方 面。
[0021] 圖4示出了使用被配置為進行代理操作的重定向器/代理的方法的方面。
[0022] 圖5示出了用于支持傳輸分集的方法的例子。
[0023] 圖6示出了用于實現圖5的方法的示例性裝置。
[0024] 圖7和圖8示出了用于支持傳輸分集的進一步的方面。
[0025] 圖9和圖10是示出了用于支持實時傳輸協議(RTP) /實時流協議(RTSP)流式傳 輸的示例性多播服務設備客戶端(MSDC)架構的框圖。
[0026] 圖11是示出了示例性演進的MBMS(eMBMS)用戶服務描述(USD)模式片段的概念 圖。
[0027] 圖12和13是示出了示例性組件的框圖,所述示例性組件用于支持針對RTSP/RTP 客戶端的傳輸分集。
[0028] 圖14A和14B是示出了用于擴展USD以攜帶HTTP動態自適應流媒體(DASH)傳輸 信息的示例性可擴展標記語言(XML)內容模型的概念圖。
[0029] 圖15是示出了用于支持MBMS上的DASH的示例性架構的概念圖。
[0030] 圖16是示出了與圖15的網絡架構相關聯的、用于廣播和單播傳輸上的DASH內容 傳送的調用流程。
[0031] 圖17是示出了用于支持MBMS上的DASH的另一示例性架構的概念圖。
[0032] 圖18-23是示出了與圖17的網絡架構相關聯的、用于廣播和單播傳輸上的DASH 內容傳送的流程圖。
[0033] 圖24是用于根據本公開內容的技術,示出了用于以信號形式發送關于時移緩存 器(TSB)深度的示例性方法的流程圖。
【具體實施方式】
[0034] 一般來說,本公開內容描述了用于通過網絡支持針對各種類型的流媒體數據的傳 輸機制的技術,所述各種類型的流媒體數據如例如音頻和/或視頻數據。例如,應用服務客 戶端(其也可以被稱為流式傳輸客戶端)可以被配置為與代理單元進行交互,以根據單播 協議或廣播(或者多播)協議來取回媒體數據。在一些例子中,代理單元可以確定是否可 以使用廣播協議來取回媒體數據,例如基于客戶端設備是否在用于使用廣播協議來傳送媒 體數據的服務提供商的覆蓋區域內,并基于所述客戶端設備是否在覆蓋區域內來選擇廣播 協議或者單播協議。客戶端設備可以執行應用服務客戶端和/或包括代理單元。在一些例 子中,客戶端設備可以執行應用服務客戶端,并且代理單元可以被包括在與客戶端設備分 開的設備中。
[0035] 本公開內容的技術可以與針對流媒體數據的各種應用層協議一起使用。例如,本 公開內容的技術可以與HTTP動態自適應流媒體(DASH) -起使用,其利用HTTP來流式傳輸 媒體數據。作為另一個例子,本公開內容的技術可以與實時傳輸協議(RTP)或實時流協議 (RTSP) -起使用。在這些和其它情況下,在應用服務客戶端不需要知道用于取回媒體數據 的傳輸機制的意義上,應用服務客戶端(例如,RTP客戶端、RTSP客戶端或DASH客戶端)可 能是傳輸不可知的。例如,應用服務客戶端不需要知道底層傳輸機制是對應于單播協議還 是廣播或者多播協議。
[0036] 如下面更詳細討論的,代理單元(其也可以被稱為重定向器/代理單元)可以被 配置為從應用服務客戶端接收請求,其中所述請求指定了某些媒體數據。代理單元可以確 定是否可以使用特定的傳輸機制(例如,廣播協議或單播協議)來取回媒體數據。代理單 元隨后可以使得應用服務客戶端使用傳輸機制中的一種(基于可用性、偏好、可靠性和/或 其它因素)來接收媒體數據。例如,如果廣播協議比單播協議更優選,則該廣播協議是可用 的,代理單元可以使得應用服務客戶端經由廣播協議來接收媒體數據,而如果廣播協議不 可用,則代理單元可以使得應用服務客戶端經由單播協議來接收所述媒體數據。
[0037] 作為一個例子,對于DASH,媒體數據可能作為廣播和/或單播服務從一個或多個 服務器(例如,廣播服務器和單播服務器)可用的。DASH客戶端可以從代理單元(而不是 服務)接收針對媒體數據的修改的媒體表達描述(MPD),其指示該媒體數據是可用的。當 DASH客戶端向代理單元發送針對媒體數據的請求時,代理單元可以確定是單播協議還是廣 播協議可用于取回所請求的媒體數據。如果廣播協議是可用的,則廣播接收單元(例如,多 媒體廣播多播服務(MBMS)或演進的MBMS(eMBMS)中間件單元)可以接收媒體數據,并且代 理單元可以使得DASH客戶端向廣播接收單元發送針對媒體數據的請求。另一方面,如果廣 播協議是不可用的,則代理單元可以使得DASH客戶端向單播服務器發送針對媒體數據的 請求,以使用單播來取回媒體數據。可替換地,代理單元可以從單播服務器取回媒體數據, 然后向DASH客戶端提供所取回的媒體數據。在一些例子中,單播服務器和廣播服務器可以 對應于相同的服務器。
[0038] 作為另一個例子,對于RTP或RTSP,RTP客戶端(可替代地,其可以對應于RTSP客 戶端)可以向代理單元提交DESCRIBE、SETUP和PLAY命令。響應于DESCRIBE命令,代理單 元可以向RTP客戶端提供修改的的會話描述協議(SDP)消息。該修改的SDP消息可以指定 代理單元的地址作為該媒體數據從此處可用的地址。該修改的SDP消息可以使得RTP客戶 端向代理單元發送SETUP和PLAY命令。當代理單元確定了廣播協議是可用的,則代理單元 可以向廣播接收單元(例如,MBMS或eMBMS中間件單元)發送SETUP和PLAY命令,該廣播 接收單元可以接收該媒體數據并向RTP客戶端轉發媒體數據。另一方面,當代理單元確定 了廣播協議不可用,則代理單元可以從單播服務器取回媒體數據,然后向RTP客戶端提供 所取回的媒體數據。
[0039] 在一些例子中,用于執行本公開內容的技術的組件可以包括應用服務客戶端、代 理單元和廣播接收單元。在各種例子中,客戶端設備可以包括這些組件中的任意組件或全 部組件、單獨組件或其任何組合。可替代地,客戶端設備可以包括應用服務客戶端,而代理 單元和/或廣播接收單元可被包括在與客戶端設備分離的一個或多個設備中。
[0040] 此外,本公開內容還描述關于以信號形式發送針對時移緩存器(TSB)的數據的技 術。客戶端設備(在此也稱為"用戶設備")可以分配存儲以形成TSB,所述TSB用于保持 媒體數據,以支持各種特技模式,例如快進、倒帶、重放等。在一般情況下,特技模式可以指 的是媒體數據以定義的輸出順序之外的順序或速率來回放媒體數據的回放模式。例如,在 快進中,可以跳過某些媒體數據。作為另一實例,在倒帶中,可以反轉針對媒體數據的輸出 順序,并且可以跳過某些媒體數據。例如,對于視頻數據,為了跳過媒體數據,僅顯示使用幀 內編碼模式編碼的畫面而跳過幀間編碼圖像。
[0041] 根據本公開內容的技術,可以在例如,SDP消息中以信號形式發送數據,用于實例 化TSB。例如,可以利用以秒為單位的值來以信號形式發送TSB屬性,所述值定義了可以存 儲在TSB中的媒體數據的量。客戶端設備可以基于所述TSB屬性的值來計算TSB所需要的 存儲器的量。以視頻數據為例,這種計算可能涉及媒體數據中的視頻數據的幀速率。客戶 端設備可以基于每個圖像的數據的平均量、一段時間中(基于幀速率)的圖片的數量和由 TSB屬性所定義的時間長度,來計算用于TSB的存儲器大小。同樣地,客戶端設備還可以確 定針對該時間段,音頻數據、文本數據或其它數據或媒體所需的存儲器的量。因此,客戶端 設備可以向用于存儲存儲媒體數據的TSB分配該數據以執行特技模式。此外,客戶端設備 可以針對經由廣播協議(例如MBMS或eMBMS)接收到的數據來執行特技模式。
[0042] 換句話說,在一些例子中,本公開內容的技術包括中間件架構,其用于支持演進的 多媒體廣播多播服務(eMBMS)網絡上的實時協議/實時流協議(RTP/RTSP)流式傳輸的特 征。這些功能包括時移緩存器和傳輸分集(例如,針對內容傳遞的單播對多播切換或反之 亦然)。對于時移緩存器(TSB)特征,該架構可以支持會話描述協議(SDP)的擴展,以包括 以信號形式發送緩存器深度的數據。作為傳輸分集特征的一個例子,本公開內容提出了一 種架構,在所述架構中,消耗內容的應用不需要知道從單播到廣播(或反之亦然)的傳輸切 換的詳細情況,因為該切換可以在中間件級別來管理。
[0043] 在HTTP流式傳輸中,經常使用的操作包括GET和部分GET。GET操作請求與給定 的統一資源標識符(URI)(例如,URL或URN)相關聯的整個文件的取回。部分GET操作請 求資源的字節范圍(子集)的取回。因此,針對HTTP流式傳輸,可以提供視頻片段,這是因 為GET或部分GET操作可以取回一個或多個單獨的視頻片段。在視頻片段中,可能存在不 同軌道的若干軌道片段。在HTTP流式傳輸中,媒體表達可以是客戶端可訪問的數據的結構 化集合。客戶端可以請求并下載媒體數據信息以向用戶表達流式傳輸服務。
[0044] 在使用HTTP流式傳輸DASH數據的例子中,針對多媒體內容的視頻和/或音頻數 據,可能存在多種表示(representation)。這種表示的清單(manifest)可以在媒體表達描 述(MPD)數據結構中定義。媒體表達可以對應于HTTP流式傳輸客戶端可訪問的、設備數據 的結構化集合。HTTP流式傳輸客戶端設備可以請求和下載媒體數據信息,以向客戶端設備 的用戶表達流式傳輸服務。可以以MH)數據結構來描述媒體表達,其可以包括MH)的動態 更新。
[0045] 媒體表示可以包含一個或多個時段的序列。可以在MPD中,由period單元來定義 時段。在MPD中,每個時段可以具有屬性start。該MPD可以包括針對每個時段的start 屬性和availablityStartTime屬性。對于實時服務,所述時段的start屬性和MPD屬性 availableStartTime的總和可以以UTC格式指定時段的可用時間,特別是每一個時段中的 每個表示的第一媒體段(Segment)。對于按需服務,第一時段的start屬性可能是0。對于 任何其他時段,start屬性可以指定對應時段的開始時間相對于第一時段的開始時間之間 的時間偏移。每個時段可以延長,直到下一個時段的開始,或者在最后時段的情況下,直到 媒體表達的結束。時段的開始時間可能是準確的。它們可能反映了從播放所有前期時段的 媒體所造成的實際時序。
[0046] 每個時段可以包含針對相同媒體內容的一個或多個表示。一種表示可以是音頻、 視頻或其它數據的數種可替代編碼版本中的一個。該表示可以由于編碼類型而不同,例如, 比特率、分辨率和/或針對視頻數據和比特率、語言和/或針對音頻數據的編解碼。術語表 示可以用來指編碼的音頻或視頻數據或其它媒體或數據的段,其對應于所媒體內容的具體 時段,并以具體的方式被編碼。
[0047] 具體段的表示可以被分配給組,所述組由MPD中的group屬性所指示。同一組中 的表示通常被認為是相互可替代的。例如,可以將具體時段的視頻數據的每個表示分配給 相同的組,使得所述表示中的任何表示可以被選擇用于解碼,以顯示針對相應時段的多媒 體內容的視頻數據。在