動態(tài)及自動控制音頻/視頻流送的等待時間緩沖的制作方法
【專利說明】動態(tài)及自動控制音頻/視頻流送的等待時間緩沖
[0001 ]交叉引用
[0002] 本專利申請要求由Kuhn于2013年9月4日提交且被轉(zhuǎn)讓給本申請受讓人的題為 "Dynamic and Automatic Control of Latency Buffering for Audio/Video Streaming (動態(tài)及自動控制音頻/視頻流送的等待時間緩沖r的美國專利申請No. 14/018,019的優(yōu)先 權(quán)。
【背景技術(shù)】
[0003] W下一般設(shè)及通信,尤其設(shè)及用于在阱顯示設(shè)備上顯示的媒體內(nèi)容的傳輸。有線 和無線通信系統(tǒng)被廣泛部署W傳達諸如語音、視頻、分組數(shù)據(jù)、消息接發(fā)、廣播等各種類型 的內(nèi)容。有線通信系統(tǒng)包括基于分組的通信系統(tǒng)(例如,W太網(wǎng)等)和基于非分組的通信系 統(tǒng)。無線通信系統(tǒng)包括無線局域網(wǎng)(WLAN)、W及蜂窩多址系統(tǒng)。一般而言,運些無線通信系 統(tǒng)能夠通過共享可用系統(tǒng)資源(例如,時間、頻率和功率)來支持與多個用戶通信。無線通信 系統(tǒng)可W使用多址無線電技術(shù),包括碼分多址(CDMA)、時分多址(TDMA)、頻分多址(FDMA)、 W及正交頻分多址(OFDMA)。一些通信系統(tǒng)經(jīng)歷通信流中的信息分組之間的等待時間可變 性。等待時間的變動可由各種因素所導(dǎo)致,包括話務(wù)擁塞、分組丟失和重試等。
[0004] 當(dāng)移動設(shè)備變得被越來越多地用于捕捉或生成內(nèi)容(諸如音頻、視頻、或多媒體) 時,用戶希望能夠在移動設(shè)備與其他設(shè)備(諸如TV、計算機、音頻系統(tǒng)等)之間共享內(nèi)容。一 種辦法是用阱設(shè)備(例如,TV等)來鏡像復(fù)制源設(shè)備(例如,智能電話、平板計算機等)上顯示 的內(nèi)容。在一些應(yīng)用中,源設(shè)備可W在根據(jù)802.11標(biāo)準(zhǔn)族之一("Wi-Fi")操作的無線鏈路上 傳送媒體流。由于Wi-Fi通常是抖動且易出錯的,因此在阱設(shè)備處提供一些緩沖量來平滑由 信道中的錯誤(例如,數(shù)據(jù)重傳等)所導(dǎo)致的抖動和分組等待時間W維持在阱設(shè)備處擅染的 視頻的良好質(zhì)量。還可能希望降低在源設(shè)備處捕捉或顯示視頻與在阱設(shè)備處顯示視頻之間 的等待時間。然而,降低等待時間可能與在阱設(shè)備處維持良好視頻質(zhì)量相沖突。
[0005] 概述
[0006] 所描述的諸特征一般設(shè)及用于針對易出錯信道上的音頻和/或視頻流送來動態(tài)地 控制阱設(shè)備處的等待時間或抖動緩沖器大小的一種或多種改進系統(tǒng)、方法、和/或裝置???由源設(shè)備基于用于從該源設(shè)備傳送到阱設(shè)備W供呈現(xiàn)的媒體流的應(yīng)用類型來動態(tài)地控制 阱緩沖器大小。例如,運些技術(shù)可W針對游戲應(yīng)用選擇較小的緩沖器大小,針對交互式媒體 應(yīng)用(例如,交互式計算、演示、雙向通信等)選擇較大的緩沖器大小,W及針對非交互式媒 體類型(例如,流送視頻、靜態(tài)圖像等)選擇甚至更大的緩沖器大小。運些技術(shù)調(diào)整共享時鐘 參考與傳輸流的時間參考值之間的時間差值,運些時間參考值由阱設(shè)備用于確定相對于共 享時鐘參考來解碼或呈現(xiàn)該傳輸流的媒體帖。
[0007] 在諸實施例中,源設(shè)備使用MPEG2傳輸流(MPEG-TS)來封裝內(nèi)容W供在介質(zhì)上傳 送。源設(shè)備可W調(diào)整程序時鐘參考(PCR)與MPEG-TS中的呈現(xiàn)時戳(PTS)和/或解碼時戳 (DTS)值之間的時間差值W控制阱設(shè)備處在解碼和擅染內(nèi)容流之前的等待時間或抖動緩沖 量。另外,運些技術(shù)可W計及源設(shè)備處因掃描或多個并發(fā)連接而導(dǎo)致的收發(fā)機等待時間。雖 然參照使用Wi-Fi上的傳輸流描述了基于應(yīng)用的阱緩沖器大小控制,但是運些技術(shù)可被應(yīng) 用于可應(yīng)用等待時間緩沖的在任何有線或無線傳輸介質(zhì)上的傳輸流中傳送的經(jīng)編碼內(nèi)容。
[0008] 在一些實施例中,基于應(yīng)用的阱緩沖器大小控制是經(jīng)由源設(shè)備的內(nèi)部應(yīng)用編程接 口(API)來實現(xiàn)的。API可通過應(yīng)用的程序調(diào)用或者通過監(jiān)視任務(wù)管理器來確定使用情形或 應(yīng)用類型,并且可基于應(yīng)用類型來確定緩沖量。API可基于與通信驅(qū)動器相關(guān)聯(lián)的參數(shù)來確 定源設(shè)備的并發(fā)性和/或掃描操作,并且可基于該掃描或并發(fā)性操作來增大緩沖量。API可 向編碼器和傳輸流復(fù)用器通知緩沖器時間差值,并且編碼器和復(fù)用器可根據(jù)緩沖器時間差 值和PC時尋DTS和/或PTS值與傳輸流中的經(jīng)編碼內(nèi)容的音頻和/或視頻帖相關(guān)聯(lián)。在諸實施 例中,可提供用戶超馳W允許顯式地配置緩沖器時間差值。
[0009] -些實施例設(shè)及一種由源設(shè)備執(zhí)行的方法,包括確定用于向阱設(shè)備傳送的媒體流 的應(yīng)用類型、至少部分地基于該應(yīng)用類型來確定由阱設(shè)備用于緩沖用于封裝該媒體流的傳 輸流的緩沖器大小、基于所確定的緩沖器大小用相對于共享時鐘參考的時間參考值來編碼 媒體流的帖、W及將經(jīng)編碼帖封裝在該傳輸流中。
[0010] 可基于與媒體流相關(guān)聯(lián)的應(yīng)用來確定應(yīng)用類型。例如,媒體流的應(yīng)用類型可W是 游戲應(yīng)用類型、交互式計算應(yīng)用類型、或媒體觀看應(yīng)用類型。該方法可包括由源設(shè)備的應(yīng)用 編程接口接收來自在源設(shè)備上運行的應(yīng)用的用于建立與阱設(shè)備的流送顯示連接的調(diào)用。媒 體流的應(yīng)用類型可基于所接收的調(diào)用來確定。
[0011] 在一些實施例中,該方法包括基于源設(shè)備的并發(fā)連接配置來確定信道外并發(fā)性等 待時間。確定緩沖器大小可進一步基于信道外并發(fā)性等待時間。在一些實施例中,該方法包 括基于源設(shè)備的信道掃描配置來確定掃描等待時間。確定緩沖器大小可進一步基于該掃描 等待時間。
[0012] 在一些實施例中,該方法包括在無線局域網(wǎng)連接上向阱設(shè)備傳送傳輸流。該方法 可包括與編碼用于向阱設(shè)備傳送的媒體流并發(fā)地在源設(shè)備處顯示該媒體流。該方法可包括 在傳輸流中W周期性間隔傳送共享時鐘參考的時間值。
[0013] 在一些實施例中,傳輸流是運動圖像專家組(M陽G)傳輸流(MPEG-TS)。時間參考值 可包括呈現(xiàn)時戳(PTS)或解碼時戳(DTS)、或者PTS和DTS值兩者。共享時鐘參考可W是在阱 設(shè)備處被同步的程序時鐘參考(PCR)。
[0014] -些實施例設(shè)及一種用于由源設(shè)備動態(tài)地控制阱設(shè)備緩沖的裝備,包括用于確定 用于向阱設(shè)備傳送的媒體流的應(yīng)用類型的裝置、用于至少部分地基于該應(yīng)用類型來確定由 阱設(shè)備用于緩沖用于封裝該媒體流的傳輸流的緩沖器大小的裝置、用于基于所確定的緩沖 器大小用相對于共享時鐘參考的時間參考值來編碼媒體流的帖的裝置、W及用于將經(jīng)編碼 帖封裝在該傳輸流中的裝置。
[0015] 用于確定應(yīng)用類型的裝置可基于與媒體流相關(guān)聯(lián)的應(yīng)用來確定應(yīng)用類型。例如, 媒體流的應(yīng)用類型可W是游戲應(yīng)用類型、交互式計算應(yīng)用類型、或媒體觀看應(yīng)用類型。該裝 備可包括用于由源設(shè)備的應(yīng)用編程接口接收來自在源設(shè)備上運行的應(yīng)用的用于建立與阱 設(shè)備的流送顯示連接的調(diào)用的裝置。用于確定媒體流的應(yīng)用類型的裝置可基于所接收的調(diào) 用來確定應(yīng)用類型。
[0016] 在一些實施例中,用于動態(tài)地控制阱設(shè)備緩沖的該裝備包括用于基于源設(shè)備的并 發(fā)連接配置來確定信道外并發(fā)性等待時間的裝置。用于確定緩沖器大小的裝置可進一步基 于信道外并發(fā)性等待時間來確定緩沖器大小。在一些實施例中,該裝備包括用于基于源設(shè) 備的信道掃描配置來確定掃描等待時間的裝置。用于確定緩沖器大小的裝置可進一步基于 所確定的掃描等待時間來確定緩沖器大小。
[0017]在一些實施例中,用于動態(tài)地控制阱設(shè)備緩沖的該裝備包括用于在無線局域網(wǎng)連 接上向阱設(shè)備傳送傳輸流的裝置。該裝備可包括用于與編碼用于向阱設(shè)備傳送的媒體流并 發(fā)地在源設(shè)備處顯示該媒體流的裝置。該裝備可包括用于在傳輸流中W周期性間隔傳送共 享時鐘參考的時間值的裝置。
[001引在一些實施例中,傳輸流是運動圖像專家組(M陽G)傳輸流(MPEG-TS)。時間參考值 可W是呈現(xiàn)時戳(PTS)或解碼時戳(DTS)、或者PTS和DTS值兩者。共享時鐘參考可W是在阱 設(shè)備處被同步的程序時鐘參考(PCR)。
[0019] -些實施例設(shè)及一種用于由源設(shè)備動態(tài)地控制阱設(shè)備緩沖的設(shè)備,包括處理器、 與該處理器處于電子通信的存儲器。該存儲器可包括能由處理器執(zhí)行W用于W下操作的指 令:確定用于向阱設(shè)備傳送的媒體流的應(yīng)用類型;至少部分地基于該應(yīng)用類型來確定由阱 設(shè)備用于緩沖用于封裝該媒體流的傳輸流的緩沖器大小;基于所確定的緩沖器大小用相對 于共享時鐘參考的時間參考值來編碼媒體流的帖;W及將經(jīng)編碼帖封裝在傳輸流中。
[0020] 存儲器可包括能由處理器執(zhí)行W用于W下操作的指令:基于與媒體流相關(guān)聯(lián)的應(yīng) 用來確定應(yīng)用類型。例如,媒體流的應(yīng)用類型可W是游戲應(yīng)用類型、交互式計算應(yīng)用類型、 或媒體觀看應(yīng)用類型。存儲器可包括能由處理器執(zhí)行W用于W下操作的指令:由源設(shè)備的 應(yīng)用編程接口接收來自在源設(shè)備上運行的應(yīng)用的用于建立與阱設(shè)備的流送顯示連接的調(diào) 用,并且基于所接收的調(diào)用來確定媒體流的應(yīng)用類型。
[0021] 在一些實施例中,該存儲器包括能由處理器執(zhí)行W用于W下操作的指令:基于源 設(shè)備的并發(fā)連接配置來確定信道外并發(fā)性等待時間,并且進一步基于所確定的信道外并發(fā) 性等待時間來確定緩沖器大小。在一些實施例中,該存儲器包括能由處理器執(zhí)行W用于W 下操作的指令:基于源設(shè)備的信道掃描配置來確定掃描等待時間,并且進一步基于所確定 的掃描等待時間來確定緩沖器大小。
[0022] 在一些實施例中,該存儲器包括能由處理器執(zhí)行W用于W下操作的指令:在無線 局域網(wǎng)連接上向阱設(shè)備傳送傳輸流。該存儲器可包括能由處理器執(zhí)行W用于W下操作的指 令:與編碼用于向阱設(shè)備傳送的媒體流并發(fā)地在源設(shè)備處顯示該媒體流。該存儲器可包括 能由處理器執(zhí)行W用于W下操作的指令:在傳輸流中W周期性間隔傳送共享時鐘參考的時 間值。
[0023] 在一些實施例中,傳輸流是運動圖像專家組(M陽G)傳輸流(MPEG-TS)。時間參考值 可包括呈現(xiàn)時戳(PTS)或解碼時戳(DTS)、或者PTS和DTS值兩者。共享時鐘可W是在阱設(shè)備 處被同步的程序時鐘參考(PCR)。
[0024] -些實施例設(shè)及一種用于由源設(shè)備動態(tài)地控制阱設(shè)備緩沖的計算機程序產(chǎn)品。該 計算機程序產(chǎn)品包括計算機可讀介質(zhì),該計算機可讀介質(zhì)包括用于執(zhí)行W下動作的代碼: 確定用于向阱設(shè)備傳送的媒體流的應(yīng)用類型;至少部分地基于該應(yīng)用類型來確定由阱設(shè)備 用于緩沖用于封裝該媒體流的傳輸流的緩沖器大小;基于所確定的緩沖器大小用相對于共 享時鐘參考的時間參考值來編碼媒體流的帖;W及將經(jīng)編碼帖封裝在傳輸流中。
[0025] 該計算機可讀介質(zhì)可包括用于基于與媒體流相關(guān)聯(lián)的應(yīng)用來確定應(yīng)用類型的代 碼。例如,媒體流的應(yīng)用類型可W是游戲應(yīng)用類型、交互式計算應(yīng)用類型、或媒體觀看應(yīng)用 類型。該計算機可讀介質(zhì)可包括用于執(zhí)行W下動作的代碼:由源設(shè)備的應(yīng)用編程接口接收 來自在源設(shè)備上運行的應(yīng)用的用于建立與阱設(shè)備的流送顯示連接的調(diào)用,并且基于所接收 的調(diào)用來確定媒體流的應(yīng)用類型。
[0026] 在一些實施例中,該計算機可讀介質(zhì)包括用于執(zhí)行W下動作的代碼:基于源設(shè)備 的并發(fā)連接配置來確定信道外并發(fā)性等待時間,并且進一步基于信道外并發(fā)性等待時間來 確定緩沖器大小。在一些實施例中,該計算機可讀介質(zhì)包括用于執(zhí)行W下動作的代碼: