TWI760981B - 在媒體串流播放之間進行轉換的同時動態播放轉換訊框 - Google Patents

在媒體串流播放之間進行轉換的同時動態播放轉換訊框 Download PDF

Info

Publication number
TWI760981B
TWI760981B TW109145505A TW109145505A TWI760981B TW I760981 B TWI760981 B TW I760981B TW 109145505 A TW109145505 A TW 109145505A TW 109145505 A TW109145505 A TW 109145505A TW I760981 B TWI760981 B TW I760981B
Authority
TW
Taiwan
Prior art keywords
client
media stream
media
transition
stream
Prior art date
Application number
TW109145505A
Other languages
English (en)
Other versions
TW202123717A (zh
Inventor
徐忠源
李承炯
Original Assignee
美商六科股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商六科股份有限公司 filed Critical 美商六科股份有限公司
Publication of TW202123717A publication Critical patent/TW202123717A/zh
Application granted granted Critical
Publication of TWI760981B publication Critical patent/TWI760981B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26241Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed

Abstract

當一裝置正播放一第一媒體串流時,該裝置判定用於開始播放一第二媒體串流代替該第一媒體串流的一目標時間。該裝置隨後開始一串流轉換程序,該串流轉換程序預期花費自一最小預期轉換持續時間至一最大預期轉換持續時間之間的任何時間,且該裝置在所判定目標時間之前提前該最大預期轉換持續時間開始該轉換程序,以幫助確保適時地開始播放該第二媒體串流。此外,該裝置產生及播放一轉換訊框序列持續一不確定週期,以幫助掩蔽自該第一媒體串流至該第二媒體串流之轉換,該不確定週期自該開始之後該最小預期轉換持續時間延伸至該開始之後該最大預期轉換持續時間。

Description

在媒體串流播放之間進行轉換的同時動態播放轉換訊框
本申請案涉及用於動態播放轉換訊框之方法及媒體客戶端。
典型的媒體客戶端操作以接收及播放(例如,輸出以供播放)表示例如視訊及/或音訊內容等媒體內容之類比或數位媒體串流,且輸出媒體內容及/或轉發串流以供將內容在例如顯示螢幕及/或音訊揚聲器等使用者介面上呈現。此等客戶端之實例包括電視、電腦監視器、投影系統、擴音器、頭戴受話器、機上盒(例如電纜或衛星TV接收器)、數位視訊記錄器、無線電裝置、個人電腦、遊戲控制台、串流媒體播放器等。
藉助於實例,媒體客戶端可為電視,其可接收媒體串流(例如,空中廣播串流、自機上盒輸出之媒體串流、自數位儲存媒體播放之媒體串流、網際網路串流,或另一此串流),且可向使用者呈現彼串流之媒體內容。作為另一實例,媒體客戶端可為機上盒或數位視訊或音訊記錄器,其可自多頻道視訊節目分派器及/或自資料儲存裝置接收廣播串流,且可經由高清多媒體介面(HDMI)電纜或其他介面將彼串流之媒體內容輸出至電視及/或音訊/視訊接收器以供播放。且作為又一實例,媒體客戶端可為擴音器或頭戴受話器,其可自無線電裝置、電腦或其他接收器或音訊儲存裝置接收音訊串流,且可向使用者呈現彼串流之音訊內容。大量其他實例亦係可能的。
當媒體客戶端正播放媒體串流時,在特定情形中媒體客戶端替換串流之媒體內容的一部分可能係有用的。舉例而言,如此可能係有用的:客戶端用替換廣告或用其他替換內容動態地替換媒體內容之廣告或其他片段,使得當正向使用者呈現內容時,使用者將接收到替換廣告而非最初包括之廣告。
此外,可能需要客戶端在媒體串流內之特定時間點執行此內容替換。舉例而言,若客戶端將要用替換廣告動態地替換現有廣告,則可能需要客戶端在媒體串流中現有廣告原本將已開始之時間定位替換廣告。
更確切而言,討論中之媒體串流可限定訊框序列,例如視訊訊框及/或音訊訊框之序列,且可能需要客戶端在媒體串流之特定訊框處開始執行內容替換。舉例而言,對於廣告替換,可能需要客戶端在現有廣告之第一訊框處開始插入替換廣告代替現有廣告。
為促進此內容替換,客戶端可習得(learn)媒體串流中客戶端應開始內容替換之特定時間點,且客戶端可習得客戶端應在所指示時間點處開始播放何替換內容。在所要內容切換時間點處,客戶端可隨後自播放現有媒體串流轉換為播放作為替換媒體串流之替換內容。此外,當客戶端完成播放替換媒體串流時,客戶端可隨後轉換回至原始媒體串流之播放(例如,在進行中)。
此程序之一個技術難點在於,客戶端自播放第一串流轉換為播放第二串流(例如,開始內容替換,或在內容替換結束時切換回至原始串流)可能花費一些時間。如此情況係因為,客戶端在其可開始播放第二串流之前可能需要參與若干處理及記憶體密集之步驟。舉例而言,客戶端可能需要清除快取記憶體,接收及解碼第二串流之內容的至少初始部分,且用經解碼內容填充記憶體緩衝器以供再現。
在實務上,此串流轉換程序可能花費一訊框以上的時間。舉例而言,若討論中之媒體為每秒30訊框之訊框速率的視訊,則每個訊框將橫跨1/30秒,亦即,約33.3毫秒(ms)。但自一個視訊串流轉換至另一視訊串流之動作可能花費大約數百毫秒,因此橫跨大量視訊訊框之時間。
儘管客戶端可藉由在所要內容切換時間點之前提前足夠遠開始其串流轉換程序來致力於考慮此時序,但轉換程序將花費之實際時間量出於各種原因可能係不可預測的。因此,不能精確地清楚客戶端應多早開始轉換程序。
令人遺憾的為,若客戶端太早開始轉換程序,則客戶端可能在所要內容切換時間點之前完成程序,此可能引起使用者體驗方面的問題,因為第二串流之播放可能太早開始。且若客戶端太遲開始轉換程序,則客戶端可能至所要內容切換時間點仍未完成程序,此同樣可能引起使用者體驗方面的問題,因為第二串流之播放可能太遲開始。
為了幫助解決此問題,依據本揭示,客戶端可將其串流轉換程序組態為足夠早開始以便促進在所要內容切換時間點開始播放第二串流,且客戶端將戰略上引入轉換訊框持續不確定週期之持續時間(適當時或需要時連同淡變(fading)一起),以便幫助掩蔽轉換且因此提供改良之使用者體驗。
為促進在所要內容切換時間點處開始播放第二串流,客戶端可判定(例如,依據過去之體驗或測試,或依據預先提供之設定)最大預期轉換持續時間可為多久,且客戶端可隨後在時間點TSTART 處開始其串流轉換程序,該時間點為所要內容切換時間點之前的彼所判定最大預期轉換持續時間。在該時間點處開始,客戶端應隨後至作為所要內容切換時間點之時間點時間TMAX 最佳地完成串流轉換程序。
此外,客戶端還可判定最小預期轉換持續時間可為多久(類似地依據過去之體驗或測試或預先提供之設定),且客戶端可藉此依據客戶端何時開始串流轉換程序而識別作為最小預期轉換持續時間之時間點TMIN 。給定此條件,自TMIN 延伸至TMAX 之時間範圍可視為不確定週期,因為客戶端可能在該範圍內之任何時間完成其串流轉換程序。
為了幫助掩蔽串流之間的轉換,客戶端可播放轉換訊框持續不確定週期之持續時間,亦即,自TMIN 至TMAX 。此等轉換訊框可採用取決於討論中之媒體的類型之各種形式。舉例而言,若媒體包含視訊,則轉換訊框可包含黑訊框。而若媒體包含音訊,則轉換訊框可包含靜默訊框。此外,客戶端可自第一串流向轉換訊框中且接著自轉換訊框至第二串流添加淡變。
此程序可藉此幫助促進自一個串流至另一串流之時間準確切換,同時最小化或避免上文描述之相關聯使用者體驗問題。
一般熟習此項技術者藉由適當地參考附圖閱讀以下詳細描述將明白此等以及其他態樣、優點及替代例。此外,應理解,本發明內容及下文中提供之描述意欲僅藉助於實例說明本發明,但不作為限制。
相關申請案之參考
本申請案主張2018年11月7日申請的第16/183,185號美國專利申請案以及2018年8月17日申請的第62/765,161號美國臨時專利申請案之優先權,該等專利申請案中之每一者的全文特此以引用之方式併入本文中。
本申請案還與2018年11月7日申請的第16/183,266號美國專利申請案相關,該專利申請案之全文特此以引用之方式併入本文中。
參看圖式,圖1為其中可應用各種所揭示原理之實例系統的簡化方塊圖。然而,將理解,本文中所描述之此配置及程序以及其他配置及程序可採取各種其他形式。舉例而言,元件及操作可重新排序、分派、複製、組合、省略、添加或以其他方式修改。此外,應理解,本文中描述為由一或多個實體實行之操作可由彼等實體及/或代表彼等實體經由硬體、韌體及/或軟體實施,例如藉由一或多個處理單元執行程式指令等來實施。
如圖1所示,實例系統包括被組態成自媒體源14即時接收媒體串流之媒體客戶端12。
媒體客戶端12可被組態成如上文描述而操作,以自媒體源14接收表示例如視訊及/或音訊內容等媒體內容之類比或數位媒體串流,且輸出媒體內容及/或轉發串流以供將內容呈現在例如顯示螢幕及/或音訊揚聲器等使用者介面上。媒體客戶端可採取上文描述之形式中之任一者,且存在其他可能性。
媒體源14還可採用各種形式,可能取決於媒體客戶端12之形式。藉助於實例,若媒體客戶端12為電視,則媒體源14可為本端機上盒(例如,電纜或衛星接收器)或串流媒體伺服器,其被組態成輸出選定媒體串流以供由電視呈現,或媒體源14可為廣播電視站點等,以及存在其他可能性。且若媒體客戶端為電腦,則媒體源可包含網際網路串流媒體伺服器或其他媒體提供商。替代地,媒體源14可為與媒體客戶端12整合及/或可由媒體客戶端12本端存取之資料儲存裝置,其中媒體客戶端自資料儲存裝置接收(例如,擷取)媒體串流用於播放,例如當客戶端正播放媒體串流或正轉發媒體串流用於播放時。其他實例亦係可能的。
如圖1中進一步展示,媒體客戶端12可具有與網路(例如,網際網路或專用網路)16之通信介面,媒體客戶端可經由通信介面參與與一或多個伺服器18之通信。伺服器18可包括檔案伺服器、媒體伺服器及/或其他類型之內容伺服器等。此外,儘管媒體源14與伺服器18分開展示,但媒體源14替代地可與伺服器18中之一或多者一起包括或整合,且可經由網路16存取。
如上所述,當例如客戶端12等媒體客戶端正接收及播放(例如,輸出以供播放)媒體串流時,客戶端用限定替換串流之替換內容替換串流之一部分可能係有用的。此外,如上所述,可能需要客戶端在媒體串流內之特定時間點如此操做。舉例而言,若串流限定訊框序列,例如視訊訊框及/或音訊訊框之序列,則可能需要客戶端在序列之特定訊框處開始執行內容替換。
在實務上,客戶端可以各種方式習得(判定)媒體串流中客戶端應開始內容替換之特定目標時間點。
舉例而言,客戶端可被提供有,或沿著媒體串流或與媒體串流相關聯而接收識別媒體串流內之每個訊框或為每個訊框加時戳(例如,內嵌於媒體串流中或以其他方式經由串流中傳信提供之時戳)的資料集,以及指定內容替換即將開始之訊框的標識或時戳之資料。基於彼資料,客戶端可因此判定媒體串流中即將開始內容替換之特定時間點。
替代地,隨著客戶端接收及播放媒體串流,客戶端可與網路伺服器一起工作以習得媒體串流中即將開始內容替換之點,作為所要內容切換時間點。舉例而言,伺服器可首先識別正由客戶端播放之媒體串流。且在識別媒體串流後,伺服器可隨後判定媒體串流中客戶端應開始內容替換之特定時間點,且可將所判定之時間點告知客戶端。
為了促進伺服器識別正由客戶端播放之媒體串流,客戶端(或可能輔助裝置)可在客戶端接收串流時即時產生表示媒體內容之數位指紋資料,且伺服器可將指紋資料與表示已知媒體串流之媒體內容的參考指紋資料進行比較,其中指紋匹配指示正由客戶端播放之媒體串流為已知媒體串流。
伺服器可建立或以其他方式能夠存取表示已知媒體串流之參考指紋資料。舉例而言,伺服器或相關聯觀測站點或其他實體可接收已知媒體串流之廣播,且在接收廣播之同時可產生表示已知媒體串流之訊框的參考數位指紋序列。伺服器或另一實體可藉由以下方式建立此等參考指紋:以程式化方式分析已知媒體串流之訊框,接收已知媒體串流之複本作為輸入,以及應用現在已知或以後開發之任何媒體指紋識別程序或演算法來產生參考指紋。或伺服器可以其他方式建立或被提供表示已知媒體串流之此參考指紋序列。伺服器可隨後與已知媒體串流之標識相關聯而儲存參考指紋。
此外,客戶端可在客戶端播放媒體串流時即時地產生表示串流之訊框的查詢指紋,且可將查詢指紋傳輸至伺服器以供分析。為促進指紋比較,客戶端可使用應用於建立參考指紋之相同指紋識別程序或演算法來產生此等查詢指紋。此外,客戶端可以特定訊框速率產生查詢指紋且可以群組形式將指紋傳輸至伺服器。舉例而言,對於包含每秒30訊框視訊之媒體串流,客戶端可能以大約每秒2訊框的縮減之訊框速率產生查詢指紋以幫助節省資源,且客戶端可能每隔1.5秒左右將最新查詢指紋群組傳輸至伺服器。其他實例亦係可能的。
隨著伺服器自客戶端接收查詢指紋資料,伺服器可將查詢指紋資料與已知媒體串流之參考指紋資料進行比較。且若伺服器藉此以足夠信賴等級判定查詢指紋資料與參考指紋資料匹配,則伺服器可得出結論,正由客戶端播放之媒體串流為已知媒體串流。
伺服器可以每訊框為基礎進行此指紋比較。考慮視訊內容,舉例而言,伺服器可以每視訊訊框為基礎進行分析,將訊框之查詢指紋對照訊框之參考指紋進行比較。比較程序可採取多種形式中之任一種,此取決於指紋之結構。舉例而言,比較可涉及計算指紋之間的最大偏差,並判定最大偏差是否在預定義容限內。此外,若指紋為二進位的,則此可為布爾判定,且可涉及計算漢明距離(作為指紋中之各別位元位置之間的失配之計數)。且若指紋為更複雜之值,例如小數值或向量(例如,每視訊訊框區之灰度值),則此可涉及判定值或向量之間的距離。大量其他實例亦係可能的。
此外,伺服器可以所要容限水平進行此指紋比較程序。舉例而言,比較可以為粗略的,對於指紋之間的差異具有相對高容限,例如具有對於較大數目差異之容限及/或對於較大尺寸差異之容限。藉助於實例,當將兩個32位元指紋彼此比較時,粗略比較可認為指紋彼此大體匹配,亦即使兩個位元或另一指定數目之位元並不匹配。或比較可為更加精細的,對於此差異具有較低容限,及/或比較聚焦於可能表示基本媒體之特定部分的特定指紋分量。
經由客戶端產生之查詢指紋與已知媒體串流之參考指紋的此比較,伺服器可藉此找到一或多個匹配。舉例而言,伺服器可找到其中正由客戶端播放之媒體串流的訊框之查詢指紋與已知媒體串流之訊框的各別參考指紋匹配之一或多個例項。此匹配可因此達成或支援此結論:正由客戶端播放之媒體串流為已知媒體串流。
替代地,伺服器可以其他方式識別討論中之媒體串流。舉例而言,若媒體串流含有與媒體串流之標識對應的水印資料,則客戶端可讀取或以其他方式提取水印資料且向伺服器報告水印資料。且伺服器可隨後使用所報告之水印資料作為基礎來識別正由客戶端接收之媒體串流。舉例而言,伺服器可查閱使各種水印資料與特定已知媒體串流相關之參考資料,以判定由客戶端報告之水印資料與特定已知媒體串流對應。
已經識別正由客戶端播放之媒體串流,伺服器可隨後判定媒體串流中即將發生內容替換之時間點。舉例而言,伺服器可查閱指定已知媒體串流內內容替換即將開始之時間點的參考資料。且伺服器可隨後將指示時間點之指令傳輸至客戶端。
由伺服器之參考資料指定的替換時間點可以客戶端可理解之方式限定。舉例而言,若沿著媒體串流內限定之「真實時間」時間線向客戶端提供為媒體串流之每個訊框加時戳的資料,則伺服器具有之替換時間點可能為媒體串流之即將來臨的訊框之真實時間時戳。伺服器可因此向客戶端提供真實時間時戳作為客戶端應開始內容替換之時間的指示。
此外,客戶端可將真實時間時戳映射至根據客戶端之內部時脈限定的「客戶端時間」,使得客戶端可在其自身之時脈上判定其應開始內容替換之時間。舉例而言,客戶端可(i)計算當前訊框之真實時間時戳及客戶端之時脈上的當前時間之間的差,且(ii)將所判定之差施加至即將發生替換的即將來臨之訊框的所指示真實時間時戳,以判定客戶端應開始內容替換之客戶端時間點。
替代地,由伺服器之參考資料指定的替換時間點可能以客戶端不可理解之方式限定。舉例而言,伺服器具有之替換時間點可能為根據已知媒體串流內之真實時間時間線限定之時戳,但客戶端可能對於真實時間沒有概念或瞭解。在此情況下,伺服器可參與在真實時間與客戶端時間之間建立映射或「同步鎖」之程序,且伺服器隨後將即將發生內容替換之真實時間時間點映射至對應的客戶端時間時間點且將客戶端時間時間點提供至客戶端。
作為此情況之非限制性實例,考慮限定可能出現於電視廣播內之廣告莢的媒體串流。廣告莢包含廣告序列,例如電視商業廣告之序列。藉由此實例,客戶端可能為接收及播放特定電視頻道之線性廣播饋送的電視,且廣告莢可能出現於饋送內之任何時刻。舉例而言,尤其在例如體育賽事等直播之情況下,廣告莢在此饋送中出現之時間可能為不可預測的。替代地,廣告莢可出現於特定排程之時間。
在此實例中,所要內容替換可為廣告莢內特定廣告之替換(例如,為廣告替換不同的廣告或其他替換內容)。舉例而言,若廣告莢為廣告序列A1、A2、A3、A4,則所要內容替換可為廣告A3之替換。
在此情形下,廣告莢可限定真實時間時間線,其開始於時間T=0且繼續至廣告莢之末尾,且廣告A3可開始於時間線上之時間TA3 。然而,客戶端可能對時間線沒有概念。客戶端可具有其自身之內部時脈,該內部時脈具有限定客戶端時間之時間線(例如,當日時間或其他內部時間參考)。但在未提前知曉廣告莢時間線存在於客戶端時間內何處之情況下,僅給出值TA3 作為所要內容修正時間點將不能使客戶端能夠在需要時開始廣告替換。
在該情形中為了使伺服器在真實時間與客戶端時間之間建立同步鎖,客戶端可為客戶端發送至伺服器之查詢指紋加時戳。確切而言,隨著客戶端播放媒體串流並產生查詢指紋,客戶端可用當前客戶端時間值為每一查詢指紋加時戳。當伺服器偵測到查詢指紋與已知媒體串流之帶時戳參考指紋之間的一或多個匹配時,伺服器可隨後使用彼等匹配點作為基礎將真實時間映射至客戶端時間。舉例而言,基於至少一個此等偵測到之匹配點,伺服器可限定(i)匹配之參考指紋的真實時間時戳與(ii)匹配之查詢指紋的客戶端時間時戳之間的映射。
一旦伺服器已經建立同步鎖,伺服器可隨後使用所建立之同步鎖將即將發生內容替換之真實時間時間點轉譯為即將發生內容替換之對應客戶端時間時間點。且伺服器可將所判定之客戶端時間時間點傳輸至客戶端,以使客戶端能夠在客戶端正播放之媒體串流中的所要時間點開始內容替換。
此外,在替換實施中,客戶端而非伺服器可實行建立程序並應用同步鎖以便判定即將發生內容替換之客戶端時間點。
舉例而言,一旦伺服器已經將媒體串流識別為由客戶端接收,則伺服器可向客戶端傳輸限定參考指紋之一些參考資料及已知媒體串流之即將來臨部分的真實時間時戳。客戶端可隨後進行查詢指紋與參考指紋之間的指紋匹配以找到一或多個匹配點,且客戶端可藉由使至少一個匹配點之時戳類似地相關來建立真實時間與客戶端時間之間的同步鎖。一旦客戶端已經建立同步鎖,則客戶端可隨後使用同步鎖作為基礎將即將發生內容替換之所提供真實時間時間點轉譯為即將發生內容替換的對應客戶端時間時間點。
除判定媒體串流中客戶端應開始內容替換之目標時間點外,客戶端還可以各種方式習得客戶端應在該時間點開始執行何內容替換。
藉助於實例,客戶端可事先被預先提供內容替換在所指示時間點處開始之說明,例如客戶端應用特定內容替換媒體串流之現有內容的指示。替代地,客戶端可自伺服器或另一實體接收執行內容替換之說明。舉例而言,當伺服器向客戶端傳輸告知客戶端媒體串流中客戶端即將開始內容修正之時間點的指令時,伺服器可在到達客戶端之指令中包括(或單獨地提供)執行內容替換之說明。
在實務上,執行內容替換之說明可包含至客戶端即將獲得且即將插入以代替媒體串流之現有內容或作為媒體串流之現有內容的補充的替換內容之指針。舉例而言,如上所述,該說明可包含限定客戶端可自其請求及接收替換內容之串流媒體伺服器、檔案伺服器等之網路位址或與網路位址相關之統一資源定位符(URL)。替代地,該說明可以另一方式指示客戶端即將在何處及/或如何獲得替換內容,以促進在媒體串流中所指示時間點處開始執行內容替換。此外,該說明可指示替換內容之持續時間,以告知客戶端該客戶端應播放替換內容代替原始內容多長時間。
在即將開始內容替換之所指示時間點,客戶端可因此自播放現有媒體串流切換為播放替換內容作為替換媒體串流。此外,在內容替換之末尾,客戶端可隨後切換回至播放原始媒體串流(例如,在進行中)。
作為非限制性實例,再次考慮上文所論述之廣告莢。在實務上,可向伺服器提供表示及對應於廣告莢之訊框的帶時戳之參考指紋。此外,可向伺服器提供應替換廣告莢中之廣告中之一個特定廣告的指示,以及用以促進廣告替換之資訊。舉例而言,可向伺服器提供現有廣告之第一訊框的真實時間點之指示、替換廣告之URL,及替換之持續時間的指示。
隨著客戶端接收及播放可含有此廣告莢之線性廣播饋送在進行中,或回應於一或多個其他觸發,客戶端可正產生廣播饋送之帶時戳之查詢指紋且可正向伺服器報告彼等帶時戳之查詢指紋以供分析。將此等查詢指紋與表示廣告莢序列之訊框的參考指紋進行比較,伺服器可藉此偵測到客戶端正播放廣告莢序列。
已經判定客戶端正播放廣告莢序列,伺服器可隨後例如以上文所論述之方式將廣告替換即將開始之訊框的真實時間點轉譯為對應的客戶端時間點,且可向客戶端傳輸指令,該指令指定客戶端時間點,包括至客戶端即將在該客戶端時間處開始用來替換媒體串流之訊框的替換廣告之指針,且引導客戶端執行所指示之內容替換。相應地,客戶端可獲得所指示之替換廣告,且可在所指示之客戶端時間點處開始用彼廣告替換媒體串流之訊框。
此外,伺服器可告知客戶端廣告替換之持續時間或廣告替換即將結束之客戶端時間點,或持續時間可為標準或預設之持續時間。且在廣告替換結束時,客戶端可隨後在進行中自播放替換廣告切換回至播放廣播饋送(例如,廣告莢序列之其餘部分)。
如上文所解釋,在此程序中可能產生之技術問題為,客戶端可能花費一些時間自播放一個串流轉換至播放另一串流,例如自在線性廣播串流中播放廣告莢序列轉換至播放替換廣告串流。確切而言,如上所述,客戶端可能需要參與各種程序,例如清除快取記憶體、接收及解碼內容,以及填充記憶體緩衝器,以促進開始播放替換串流。
此串流轉換程序之開始點可以各種方式限定。舉例而言,若客戶端將自串流媒體伺服器接收第二串流之內容,則串流轉換程序之開始可以在客戶端發送初始傳送控制協定(TCP)訊號交換訊息以起始設置與伺服器之TCP會話時,或在客戶端發送實時串流協定(RTSP)設置請求等以起始設置與伺服器之即時傳送協定(RTP)會話時,以及存在其他可能性。替代地,若客戶端將以另一方式或自另一源接收第二串流之內容,則程序之開始點可以其他方式限定。程序之結束可隨後限定為在考慮抖動及/或其他問題之同時客戶端已經緩衝足夠之第二媒體串流以開始播放該串流之時間點。其他實例亦係可能的。
如上所述,串流轉換程序自開始至結束可花費大約數百毫秒。此外,因為資源約束及其他因素不時地改變,在任何給定例項中客戶端自一個串流轉換至另一串流將花費之實際時間量可能為不可預測的。
經驗可建立客戶端(或代表性客戶端)之最小及最大預期串流轉換持續時間。舉例而言,測試可能展示,客戶端自播放第一串流轉換至播放第二串流(例如,至客戶端準備好開始播放第二串流之點)將花費300 ms至500 ms之間的任何時間。因此,客戶端可具有300 ms之最小預期切換持續時間及500 ms之最大預期轉換持續時間,從而限定200 ms不確定範圍,以及存在其他可能性。
客戶端可藉由隨著時間之過去追蹤串流轉換持續時間且向上滾動所追蹤持續時間以建立最小值及最大值之統計量度,來判定此等最小及最大預期串流轉換持續時間,及/或可以其他方式向客戶端提供預期轉換持續時間之代表性值。
給定串流轉換程序應花費不長於最大預期轉換持續時間之期望,客戶端可組態其串流轉換程序以在所要內容切換時間點之前某一時間量開始,該時間量等於最大預期轉換持續時間。如此,客戶端應可在到達所要內容切換時間點時完成串流轉換程序。
然而,令人遺憾的為,一旦客戶端已完成其播放第二串流之準備,客戶端就可能不再處於充分播放第一串流之位置中,因為客戶端現可能正緩衝第二串流內容用於播放而非緩衝第一串流內容用於播放。因此,若客戶端在最大預期切換持續時間之末尾已經過去之前完成其播放第二串流之準備,則客戶端可在所要內容切換時間點之前開始播放第二串流,此可能導致使用者體驗方面出問題。此外,對於例如廣告替換等內容替換,第二串流之播放的此過早開始可能在替換持續時間結束時當客戶端即將自播放第二串流切換回至播放第一串流時產生相關聯的使用者體驗方面的問題。
幫助避免使客戶端比所要更早地開始播放第二串流之一種方式為,客戶端改為將其串流轉換程序組態為在所要內容切換時間點之前某一時間量開始,該時間量小於最大預期轉換持續時間。舉例而言,客戶端可在所要內容切換時間點之前某一時間量開始其串流轉換程序,該時間量小於最大預期轉換持續時間但大於或等於最小預期轉換持續時間。
但此解決方案亦可能並非最佳的,因為客戶端因而可能太遲完成其串流轉換準備,亦即,在所要內容切換時間點已經過去之後。且在此情況下,客戶端可能結束播放應該被替換之一些基本內容,且接著突然切換至播放替換內容,此亦可能導致較差之使用者體驗。替代地,利用此解決方案,客戶端可能仍太早完成其播放第二串流之準備(在所要內容切換時間點之前),從而再次產生如上所述的使用者體驗方面的問題。
為了幫助解決如上所述的此技術問題,客戶端可組態串流轉換程序之時序以促進在所要內容切換時間點開始播放第二串流,且客戶端將戰略上引入轉換訊框持續不確定週期之持續時間(適當時連同淡變一起),以幫助掩蔽轉換並因此提供改良之使用者體驗。
確切而言,客戶端可在所要內容切換時間點之前提前最大預期切換持續時間(例如,500 ms)開始其串流轉換程序,此將使客戶端能夠在所要內容切換時間點開始播放第二串流。此外,為了幫助應對客戶端將在到達所要內容切換時間點之前(亦即,最大預期切換持續時間已經過去之前)完成其播放第二串流之準備的可能性,客戶端將戰略上貫穿不確定週期播放轉換訊框,自(i)串流轉換程序開始之後最小預期轉換持續時間延伸至(i)串流轉換程序開始之後最大預期轉換持續時間。
在實務上,客戶端貫穿不確定週期播放之轉換訊框可基於討論中之媒體的類型而採用各種形式。
舉例而言,若媒體包含視訊,則轉換訊框可包含黑訊框及/或緊接在轉換前之訊框的複本。確切而言,客戶端可呈現黑訊框持續不確定週期之持續時間,可能自第一串流向黑訊框淡變,以便在不確定週期開始時到達黑訊框,且可能在或大約在第二串流之播放開始時(例如,所要內容切換時間點)開始自黑訊框向第二串流淡變。替代地,對於不確定週期內之一些時間,客戶端可呈現作為第一串流之最新訊框的複本之訊框,且可隨後自該影像向黑訊框淡變且接著在所要內容切換點開始淡變回至第二串流。
而若媒體包含音訊,則轉換訊框可包含靜默訊框。確切而言,客戶端可呈現靜默訊框持續不確定週期之持續時間,可能自第一串流之音訊向靜默訊框淡變以便在不確定週期開始時到達靜默訊框,且可能在所要內容切換時間點開始自靜默訊框向第二串流之音訊淡變。包括此等實例之組合及變化的其他實例亦係可能的。
圖2為示出(不限於)此程序可如何在實務上隨時間自左向右推移沿著時間線工作之實例的圖式。如圖2中所示,時間TSWITCH 表示所要內容切換時間點。舉例而言,當客戶端正接收包括廣告莢之線性廣播饋送時,時間TSWITCH 可為客戶端即將開始代替廣告莢內之廣告而播放替換廣告的客戶端時間點。更一般而言,客戶端可初始地播放第一媒體串流(例如,線性廣播饋送)22,且在時間TSWITCH 處,客戶端即將自播放第一媒體串流22切換至改為播放第二媒體串流(例如,替換廣告串流)24。
此實例假定,客戶端自接收及播放第一媒體串流22切換至接收及播放第二媒體串流24將花費300 ms至500 ms之間的任何時間。依據上文之論述,客戶端可因此在所要內容切換時間點TSWITCH 之前500 ms開始此切換程序。圖2將此切換程序開始時間示出為時間TSTART 。此外,圖式隨後示出最小及最大預期切換持續時間TMIN 及TMAX 分別為切換程序開始時間TSTART 之後300 ms及500 ms,從而限定自TMIN 至TMAX 之200 ms不確定週期26,且其中TMAX 等於TSWITCH 。依據此時間線,一旦客戶端開始串流轉換程序,則期望客戶端將可能在此不確定週期內之某一點處完成其播放第二串流24之準備,使得客戶端可在時間TSWITCH 開始播放第二串流。
為了幫助掩蔽自第一串流至第二串流之轉換,在此實例中之客戶端將播放轉換訊框持續不確定週期之持續時間,亦即,自TMIN 至TMAX 。圖2將此轉換訊框之序列表示為序列28。此外,圖式展示第一媒體串流22之播放在TMIN 處結束,轉換訊框之播放自TMIN 至TMAX 發生,且第二媒體串流24之播放在TMAX (亦即,TSWITCH )處開始。
如進一步展示,客戶端可添加自第一媒體串流22向轉換訊框且接著自轉換訊框向第二媒體串流之淡變。為了促進此操作,客戶端可將轉換訊框序列28延長至TMIN 之前淡變週期30開始,且在TMAX 之後持續淡變週期32。如所展示,貫穿淡變週期30,客戶端將因此呈現第一媒體串流22及轉換訊框兩者,且將自第一媒體串流22向轉換訊框淡變。且貫穿淡變週期32,客戶端將類似地呈現轉換訊框及第二媒體串流24兩者,且將自轉換訊框向第二媒體串流淡變。
客戶端可被組態成具有引入黑訊框、靜默訊框及淡入/出之固有功能性。且客戶端可利用該等功能性來促進此程序。舉例而言,為了引入黑訊框,客戶端可將每一訊框產生為完全黑色影像且輸出訊框以供播放,從而實現在例如顯示器等使用者介面上呈現黑訊框。同樣,為了引入靜默訊框,客戶端可將每一訊框產生為具有零位準音訊且可輸出訊框以供播放,從而實現在例如聲音揚聲器等使用者介面上呈現靜默訊框。且為了引入淡入及淡出,客戶端可以程式化方式應用漸隱演算法,從而產生在影像及/或音訊之間變換的訊框。
如上所述,在討論中之媒體為視訊的情況下,僅播放黑訊框作為轉換訊框之一個替代例將為,客戶端播放作為第一媒體串流22之上一個所呈現訊框的複本之訊框。舉例而言,在淡變週期30之開始處,客戶端可捕獲第一媒體串流22之當前訊框的靜態影像。客戶端可隨後在淡變週期28期間在重複之訊框中呈現靜態影像,因此自靜態影像向黑訊框淡變。又替代地,客戶端可將其他類型之影像或顏色呈現為轉換訊框,不限於黑訊框或第一媒體串流之上一訊框的影像。
利用此實例程序,客戶端將因此可能在不確定週期26期間某一時間完成其切換準備。客戶端可隨後等待直至所要內容切換時間點TSWITCH ,然後客戶端開始播放第二媒體串流24。且客戶端將暫時播放轉換訊框來幫助掩蔽該轉換。
應注意,在例如替換廣告莢內之廣告等內容替換情境a,客戶端可隨後在替換週期結束時應用類似程序,來幫助掩蔽回到第一媒體串流之轉換。此處,切換時間TSWITCH 將為客戶端即將恢復至播放第一媒體串流之客戶端時間點,其可由替換內容(例如,替換廣告)之所指示持續時間限定或以另一方式限定。客戶端可因此在某一時間開始自第二媒體串流切換回至第一媒體串流之程序,該時間為切換時間TSWITCH 之前最大預期切換持續時間TMAX 。且客戶端可隨後類似地播放轉換訊框持續不確定週期之持續時間,可能如上文所論述延長且具有淡變,藉此幫助掩蔽轉換。
還應注意,不確定週期及/或淡變週期可延長以考慮所要內容切換時間點之初始預測中的不確定性。舉例而言,若基於低速率查詢指紋預測開始播放替換內容之客戶端時間點或面對其他問題,則所預測客戶端時間可能不完全準確。給定此條件,客戶端可將不確定週期偏置為比原本可能的週期長,且因此客戶端可播放轉換訊框持續較長持續時間。舉例而言,客戶端可將最大預期轉換持續時間偏置為較長且可使開始點TSTART 移位,以產生比原本的週期延伸較早及較遲之較長不確定週期。此外或替換地,客戶端可延長淡變週期30、32以類似地考慮所添加之不確定性。此外,客戶端可調整或設定最大預期轉換持續時間及/或最小預期轉換持續時間或相關聯時序值,以實現所需結果。
接下來,圖3為描繪可根據本揭示實行之方法的流程圖。此方法可由例如媒體客戶端或其他重放裝置等裝置實行,以促進自播放第一媒體串流至播放第二媒體串流之轉換。
如圖3中所示,在區塊34處,當裝置正播放第一媒體串流時,裝置判定用於開始播放第二媒體串流、用於內容替換或用於另一目的之目標時間。舉例而言,在內容替換情境中,此可為客戶端即將開始播放第二媒體串流之替換內容以替換第一媒體串流之內容的客戶端時間點。裝置可藉由自伺服器或指定目標時間之其他實體接收指令及/或自身評估以判定目標時間(以及存在其他可能性)來判定此目標時間,且程序可包括如上文所論述建立同步鎖。
在區塊36處,裝置隨後開始自播放第一媒體串流轉換為播放第二媒體串流之串流轉換程序。如上文所論述,此串流轉換程序可花費某一時間週期,該時間週期為自最小預期轉換持續時間至最大預期轉換持續時間之間的任何時間。此外,裝置可戰略上在所判定目標時間之前提前最大預期轉換持續時間開始轉換程序,以幫助確保裝置至目標時間時將準備好開始播放第二媒體串流。
在區塊38處,裝置隨後產生及播放轉換訊框序列持續不確定週期,以幫助掩蔽自第一媒體串流至第二媒體串流之轉換。如上文所論述,此不確定週期將自(i)轉換程序開始之後最小預期切換持續時間延伸至(ii)轉換程序開始之後最大預期切換持續時間。如此,即使裝置在不確定週期結束之前完成其播放第二串流之準備,裝置仍可等待直至目標時間,然後開始播放第二媒體串流,且轉換訊框將幫助掩蓋中間時間。
如上文進一步論述,該方法可額外涉及裝置實施自第一媒體串流向轉換訊框之淡變(例如,漸隱或變換),持續第一淡變週期一直達到不確定週期。且同樣,該方法可涉及裝置實施自轉換訊框向第二媒體串流之淡變,持續在不確定週期完成後開始的第二淡變週期。
此外,如上文所論述,若第一及第二媒體串流包含視訊,則轉換訊框可包含黑訊框及/或作為第一媒體串流之上一個所播放訊框的複本之訊框。且若第一及第二媒體串流包含音訊,則轉換訊框可包含靜默訊框。其他實例亦係可能的。
圖4為描繪可根據本揭示實行之方法的另一流程圖。此方法可類似地由例如媒體客戶端或其他重放裝置等裝置實行,以促進自播放第一媒體串流至播放第二媒體串流之轉換。此外,當操作以此圖中之次序展示時,應注意,操作次序可與所展示的不同。
如圖4中所展示,在區塊40處,當裝置正播放第一媒體串流時,裝置判定裝置應開始播放第二媒體串流代替第一媒體串流之目標時間。在區塊42處,裝置隨後組態裝置應開始自播放第一媒體串流轉換為播放第二媒體串流之串流轉換程序的開始時間。確切而言,裝置判定用於轉換之最大預期持續時間,且將開始時間設定為所判定目標時間之前最大預期轉換持續時間。在區塊44處,裝置隨後在所組態開始時間處開始串流轉換程序。
此外,在區塊46處,裝置判定不確定週期。確切而言,裝置判定用於轉換之最小預期持續時間,且將不確定週期視為自(i)開始時間之後所判定最小預期轉換持續時間延伸至(ii)開始時間之後所判定最大預期持續時間。且在區塊48處,裝置貫穿所判定不確定週期播放一系列轉換訊框,以幫助掩蔽該轉換。
在此方法中,用於轉換之最大及最小預期持續時間之判定可基於裝置對過去的串流轉換之監視,及/或可涉及讀取指定此等持續時間之預定義值的組態資料等,以及存在其他可能性。
此外,如上文所論述,該方法可涉及裝置添加自第一媒體串流向轉換訊框之淡變及/或自轉換訊框向第二媒體串流之淡變。且轉換訊框可包括黑訊框、靜默訊框及/或作為第一媒體串流之上一個所播放訊框的複本之訊框。此外,轉換可為自線性廣播饋送至替換廣告或反之亦然。且如上所述,該方法可額外涉及延伸不確定週期。
最後,圖5為實例媒體客戶端之簡化方塊圖,其展示可包括在此裝置中以促進實行例如上文提到之操作的一些組件。依據上文之論述,此客戶端可採用各種形式。舉例而言,其可為電視、電腦監視器或操作以接收視訊內容並輸出視訊內容以供呈現之其他裝置,且/或其可為擴音器、一對頭戴受話器,或操作以接收音訊內容並輸出音訊內容以供呈現之其他裝置。大量其他實例亦係可能的。
如圖5所示,實例客戶端包括媒體輸入介面50、網路通信介面52、媒體呈現介面54、處理單元56及非暫時性資料儲存裝置58,其中之任一者或全部可整合在一起或如所展示以通信方式藉由系統匯流排、網路或其他連接機構60鏈接在一起。
客戶端可使用媒體輸入介面50及/或網路通信介面52來接收媒體串流以供呈現。此等介面中之任一者可包括一或多個有線及/或無線介面,其用於建立與接收器、伺服器或其他裝置或系統的通信且以類比或數位形式自接收器、伺服器或其他裝置或系統接收媒體內容。舉例而言,媒體輸入介面可包括符合例如DVI、HDMI、VGA、USB、藍芽、WIFI及許多其他協定等協定的一或多個介面,且網路通信介面可包含有線或無線乙太網路介面,用於參與基於本端或廣域封包之通信以便與一或多個伺服器及/或其他裝置或系統交互。
媒體呈現介面54可隨後包含一或多個組件以促進媒體內容之呈現。藉助於實例,媒體呈現介面可包含例如顯示螢幕及/或擴音器等使用者介面,以及一或多個驅動器或其他組件用於處理所接收媒體內容以促進內容在使用者介面上的呈現。
處理單元56可包含一或多個通用處理器(例如,微處理器)及/或一或多個專用處理器(例如,特殊應用積體電路)。且非暫時性資料儲存裝置58可包含一或多個揮發性及/或非揮發性儲存組件,例如光學、磁性或快閃儲存裝置。此外,如所展示,資料儲存裝置58可儲存程式指令62,該等程式指令可由處理單元56執行以實行本文中所描述之各種操作(例如,以致使客戶端實行所揭示之操作)。
上文已經描述例示性實施例。然而,熟習此項技術者將理解,可在不脫離本發明之真實範疇及精神的情況下對此等實施例作出改變及修改。
12:媒體客戶端 14:媒體源 16:網路 18:伺服器 22:第一媒體串流 24:第二媒體串流 26:不確定週期 28:轉換訊框序列 30:淡變週期 32:淡變週期 34:區塊 36:區塊 38:區塊 40:區塊 42:區塊 44:區塊 46:區塊 48:區塊 50:媒體輸入介面 52:網路通信介面 54:媒體呈現介面 56:處理單元 58:非暫時性資料儲存裝置 60:系統匯流排、網路或其他連接機構 62:程式指令
圖1為其中可實施所揭示特徵之系統的簡化方塊圖。 圖2為示出根據本揭示添加了轉換訊框之串流轉換的圖式。 圖3為描繪可根據本揭示實行之方法的流程圖。 圖4為描繪可根據本揭示實行之方法的另一流程圖。 圖5為描繪可根據本揭示操作之實例媒體客戶端的組件之簡化方塊圖。
34:區塊
36:區塊
38:區塊

Claims (20)

  1. 一種媒體客戶端,其包含: 一處理單元; 非暫時性資料儲存裝置;以及 程式指令,其儲存在該非暫時性資料儲存裝置中且可由該處理單元執行以致使該媒體客戶端實行操作,該等操作包括: :在該媒體客戶端正播放一第一媒體串流時,判定該媒體客戶端應開始播放一第二媒體串流代替該第一媒體串流的一目標時間; :組態該媒體客戶端應開始自播放該第一媒體串流轉換為播放該第二媒體串流之一串流轉換程序的一開始時間,其中組態該開始時間包括判定用於該轉換之一最大預期持續時間,且將該開始時間設定為所判定目標時間之前該最大預期轉換持續時間; 在所組態開始時間開始該串流轉換程序; 判定一不確定週期,其中判定該不確定週期包括判定用於該轉換之一最小預期持續時間,且將該不確定週期視為自(i)該開始時間之後所判定最小預期轉換持續時間延伸至(ii)該開始時間之後所判定最大預期持續時間;以及 貫穿所判定不確定週期播放一系列轉換訊框,以幫助掩蔽該轉換。
  2. 如請求項1之媒體客戶端,其中判定該媒體客戶端應開始播放一第二媒體串流代替該第一媒體串流的該目標時間係基於指紋分析且包括建立同步鎖。
  3. 如請求項1之媒體客戶端,其中該等操作進一步包括添加自該第一媒體串流向該等轉換訊框之淡變。
  4. 如請求項1之媒體客戶端,其中該等操作進一步包括添加自該等轉換訊框向該第二媒體串流之淡變。
  5. 如請求項4之媒體客戶端,其中該等轉換訊框包含選自由以下組成之群組的訊框:(i)黑訊框,(ii)靜默訊框,以及(iii)作為該第一媒體串流之一上一個所播放訊框的一複本之訊框。
  6. 如請求項1之媒體客戶端,其中該第一媒體串流包含一線性廣播饋送,且其中該第二媒體串流包含一替換廣告。
  7. 如請求項1之媒體客戶端,其中該第一媒體串流包含一替換廣告,且其中該第二媒體串流包含一線性廣播饋送。
  8. 如請求項1之媒體客戶端,其中該等操作額外包含延伸該不確定週期。
  9. 一種非暫時性資料儲存裝置,其儲存可由一處理單元執行以致使一媒體客戶端實行操作之程式指令,該等操作其包含: 在該媒體客戶端正播放一第一媒體串流時,判定該媒體客戶端應開始播放一第二媒體串流代替該第一媒體串流的一目標時間; 組態該媒體客戶端應開始自播放該第一媒體串流轉換為播放該第二媒體串流之一串流轉換程序的一開始時間,其中組態該開始時間包括判定用於該轉換之一最大預期持續時間,且將該開始時間設定為所判定目標時間之前該最大預期轉換持續時間; 在所組態開始時間開始該串流轉換程序; 判定一不確定週期,其中判定該不確定週期包括判定用於該轉換之一最小預期持續時間,且將該不確定週期視為自(i)該開始時間之後所判定最小預期轉換持續時間延伸至(ii)該開始時間之後所判定最大預期持續時間;以及 貫穿所判定不確定週期播放一系列轉換訊框,以幫助掩蔽該轉換。
  10. 如請求項9之非暫時性資料儲存裝置,其中判定該媒體客戶端應開始播放一第二媒體串流代替該第一媒體串流的該目標時間係基於指紋分析且包括建立同步鎖。
  11. 如請求項9之非暫時性資料儲存裝置,其中該等操作進一步包括添加自該第一媒體串流向該等轉換訊框之淡變。
  12. 如請求項9之非暫時性資料儲存裝置,其中該等操作進一步包括添加自該等轉換訊框向該第二媒體串流之淡變。
  13. 如請求項9之非暫時性資料儲存裝置,其中該等轉換訊框包含選自由以下組成之群組的訊框:(i)黑訊框,(ii)靜默訊框,以及(iii)作為該第一媒體串流之一上一個所播放訊框的一複本之訊框。
  14. 如請求項9之非暫時性資料儲存裝置,其中該第一媒體串流包含一線性廣播饋送,且其中該第二媒體串流包含一替換廣告。
  15. 如請求項9之非暫時性資料儲存裝置,其中該第一媒體串流包含一替換廣告,且其中該第二媒體串流包含一線性廣播饋送。
  16. 如請求項9之非暫時性資料儲存裝置,其中該等操作額外包含延伸該不確定週期。
  17. 一種非暫時性資料儲存裝置,其儲存可由一處理單元執行以致使該媒體客戶端實行自播放一第一媒體串流轉換為播放一第二媒體串流之操作之程式指令,該等操作包含: 判定用於開始該第二媒體串流之播放的一目標時間, 開始自播放該第一媒體串流轉換為播放該第二媒體串流之一轉換程序,其中該轉換程序花費某一時間週期,該時間週期為自一最小預期轉換持續時間至一最大預期轉換持續時間之間的任何時間,且其中該開始在該目標時間之前提前該最大預期轉換持續時間發生,以及 產生及播放一轉換訊框序列持續一不確定週期,以幫助掩蔽自該第一媒體串流至該第二媒體串流之轉換,其中該不確定週期自(i)該開始之後該最小預期轉換持續時間延伸至(ii)該開始之後該最大預期轉換持續時間。
  18. 如請求項17之非暫時性資料儲存裝置,其中該等操作進一步包括添加自該第一媒體串流向該等轉換訊框之淡變。
  19. 如請求項17之非暫時性資料儲存裝置,其中該等操作進一步包括添加自該等轉換訊框向該第二媒體串流之淡變。
  20. 如請求項17之非暫時性資料儲存裝置,其中該等轉換訊框包含選自由以下組成之群組的訊框:(i)黑訊框,(ii)靜默訊框,以及(iii)作為該第一媒體串流之一上一個所播放訊框的一複本之訊框。
TW109145505A 2018-08-17 2019-06-27 在媒體串流播放之間進行轉換的同時動態播放轉換訊框 TWI760981B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862765161P 2018-08-17 2018-08-17
US62/765,161 2018-08-17
US16/183,185 US11178451B2 (en) 2018-08-17 2018-11-07 Dynamic playout of transition frames while transitioning between playout of media streams
US16/183,185 2018-11-07

Publications (2)

Publication Number Publication Date
TW202123717A TW202123717A (zh) 2021-06-16
TWI760981B true TWI760981B (zh) 2022-04-11

Family

ID=69523660

Family Applications (2)

Application Number Title Priority Date Filing Date
TW108122594A TWI716017B (zh) 2018-08-17 2019-06-27 在媒體串流播放之間進行轉換的同時動態播放轉換訊框
TW109145505A TWI760981B (zh) 2018-08-17 2019-06-27 在媒體串流播放之間進行轉換的同時動態播放轉換訊框

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW108122594A TWI716017B (zh) 2018-08-17 2019-06-27 在媒體串流播放之間進行轉換的同時動態播放轉換訊框

Country Status (7)

Country Link
US (3) US11178451B2 (zh)
EP (1) EP3837846A4 (zh)
JP (1) JP7191226B2 (zh)
KR (1) KR102469142B1 (zh)
CN (1) CN111418215B (zh)
TW (2) TWI716017B (zh)
WO (1) WO2020036667A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11178451B2 (en) 2018-08-17 2021-11-16 Roku, Inc. Dynamic playout of transition frames while transitioning between playout of media streams
US11395037B2 (en) * 2019-05-10 2022-07-19 Roku, Inc. Content-modification system with determination of input-buffer switching delay feature
US11134305B2 (en) 2019-05-10 2021-09-28 Roku, Inc. Content-modification system with volume level adjustment feature
US11212597B2 (en) * 2019-05-15 2021-12-28 Tencent America LLC Early termination of content
US11503227B2 (en) * 2019-09-18 2022-11-15 Very 360 Vr Llc Systems and methods of transitioning between video clips in interactive videos
EP4002853B1 (en) * 2020-11-11 2023-07-19 Milestone Systems A/S Video surveillance system
US11750881B2 (en) * 2020-11-24 2023-09-05 Roku, Inc. Server-side matching of supplemental content audio to perceived audio by end-user
US11882322B2 (en) * 2022-05-12 2024-01-23 Roku, Inc. Managing content replacement in a content modification system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201404155A (zh) * 2012-07-09 2014-01-16 Wistron Corp 頻道資訊提示方法及系統以及電腦可讀取儲存媒體
CN104581396A (zh) * 2014-12-12 2015-04-29 北京百度网讯科技有限公司 一种推广信息的处理方法及装置
CN107707969A (zh) * 2017-09-04 2018-02-16 深圳市屯奇尔科技有限公司 视频播放方法、装置及终端设备
CN107851104A (zh) * 2015-04-23 2018-03-27 索伦森媒体有限公司 自动内容辨识指纹序列匹配

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002039718A2 (en) 2000-10-19 2002-05-16 Loudeye Technologies, Inc. System and method for selective insertion of content into streaming media
US20030001977A1 (en) 2001-06-28 2003-01-02 Xiaoling Wang Apparatus and a method for preventing automated detection of television commercials
US8220018B2 (en) 2002-09-19 2012-07-10 Tvworks, Llc System and method for preferred placement programming of iTV content
US20040194130A1 (en) * 2003-03-07 2004-09-30 Richard Konig Method and system for advertisement detection and subsitution
US20070033633A1 (en) * 2005-08-08 2007-02-08 Princeton Server Group, Inc. Method and apparatus for providing a transition between multimedia content
RU2009100847A (ru) * 2006-06-13 2010-07-20 Конинклейке Филипс Электроникс Н.В. (Nl) Идентификационная метка, устройство, способ для идентификации и синхронизации видеоданных
US9009066B2 (en) * 2009-02-12 2015-04-14 Echostar Technologies L.L.C. Advertisement management for live internet multimedia content
US20100218208A1 (en) 2009-02-26 2010-08-26 Comcast Cable Communications, Llc Method and Apparatus for Generating Alternative Commercials
US9015741B2 (en) * 2009-04-17 2015-04-21 Gracenote, Inc. Method and system for remotely controlling consumer electronic devices
US10410222B2 (en) 2009-07-23 2019-09-10 DISH Technologies L.L.C. Messaging service for providing updates for multimedia content of a live event delivered over the internet
US8875167B2 (en) 2009-09-21 2014-10-28 Mobitv, Inc. Implicit mechanism for determining user response to media
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101528991B1 (ko) 2011-01-11 2015-06-15 애플 인크. 실시간 또는 준 실시간 스트리밍
US9066121B2 (en) * 2011-08-09 2015-06-23 Google Technology Holdings LLC Addressable advertising switch by decoupling decoding from service acquisitions
US8990849B2 (en) 2012-02-14 2015-03-24 Verizon Patent And Licensing Inc. Advertisement insertion into media content for streaming
US8928678B2 (en) 2012-08-02 2015-01-06 Intel Corporation Media workload scheduler
US8732745B2 (en) 2012-10-22 2014-05-20 Sony Corporation Method and system for inserting an advertisement in a media stream
US8913882B2 (en) 2012-12-31 2014-12-16 Eldon Technology Limited Auto catch-up
US9351023B2 (en) 2013-03-15 2016-05-24 Echostar Technologies L.L.C. Output of broadcast content with portions skipped
US9369506B2 (en) 2013-06-05 2016-06-14 Adobe Systems Incorporated Insertion of supplementary content into a segmented content stream
US10097604B2 (en) * 2013-08-01 2018-10-09 Spotify Ab System and method for selecting a transition point for transitioning between media streams
US9723377B2 (en) * 2014-04-28 2017-08-01 Comcast Cable Communications, Llc Video management
DE102014220423A1 (de) 2014-10-08 2016-04-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zum Erzeugen eines Videoausgangsdatenstroms, Videoquelle, Videosystem und Verfahren zum Erzeugen eines Videoausgangsdatenstroms bzw. eines Videoquellendatenstroms
JP2017041289A (ja) 2015-08-20 2017-02-23 三菱電機株式会社 メディア再生装置
US9723347B2 (en) * 2015-10-01 2017-08-01 Sorenson Media, Inc Frequency capping for media content
CN107197371B (zh) * 2016-03-15 2019-12-13 广州市动景计算机科技有限公司 视频清晰度的切换方法及装置
CN105847888A (zh) 2016-03-28 2016-08-10 乐视控股(北京)有限公司 一种广告投放方法、终端及系统
CN106170103B (zh) 2016-06-07 2019-04-12 腾讯科技(北京)有限公司 视频播放方法和装置
US9972360B2 (en) 2016-08-30 2018-05-15 Oath Inc. Computerized system and method for automatically generating high-quality digital content thumbnails from digital video
CN107888993B (zh) 2016-09-30 2020-11-06 华为技术有限公司 一种视频数据的处理方法及装置
WO2018088784A1 (en) * 2016-11-09 2018-05-17 Samsung Electronics Co., Ltd. Electronic apparatus and operating method thereof
KR101899576B1 (ko) 2017-02-02 2018-09-17 네이버 주식회사 멀티미디어 컨텐츠의 원격 운영을 위한 시간 동기화 방법 및 그 시스템
CN107277554B (zh) 2017-05-05 2019-06-21 中广热点云科技有限公司 一种时移节目单播转换组播的方法
US10674199B2 (en) 2017-08-28 2020-06-02 Otis Elevator Company Media content selection for passengers
US11317143B2 (en) 2018-08-17 2022-04-26 Roku, Inc. Dynamic reduction in playout of replacement content to help align end of replacement content with end of replaced content
US11178451B2 (en) 2018-08-17 2021-11-16 Roku, Inc. Dynamic playout of transition frames while transitioning between playout of media streams

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201404155A (zh) * 2012-07-09 2014-01-16 Wistron Corp 頻道資訊提示方法及系統以及電腦可讀取儲存媒體
CN104581396A (zh) * 2014-12-12 2015-04-29 北京百度网讯科技有限公司 一种推广信息的处理方法及装置
CN107851104A (zh) * 2015-04-23 2018-03-27 索伦森媒体有限公司 自动内容辨识指纹序列匹配
CN107707969A (zh) * 2017-09-04 2018-02-16 深圳市屯奇尔科技有限公司 视频播放方法、装置及终端设备

Also Published As

Publication number Publication date
TW202010313A (zh) 2020-03-01
EP3837846A4 (en) 2022-05-11
JP2021534698A (ja) 2021-12-09
EP3837846A1 (en) 2021-06-23
KR20210029829A (ko) 2021-03-16
US11503366B2 (en) 2022-11-15
KR102469142B1 (ko) 2022-11-22
US20220038770A1 (en) 2022-02-03
CN111418215A (zh) 2020-07-14
WO2020036667A1 (en) 2020-02-20
US20200059691A1 (en) 2020-02-20
US11178451B2 (en) 2021-11-16
US11812103B2 (en) 2023-11-07
CN111418215B (zh) 2022-05-17
TWI716017B (zh) 2021-01-11
JP7191226B2 (ja) 2022-12-16
US20230112570A1 (en) 2023-04-13
TW202123717A (zh) 2021-06-16

Similar Documents

Publication Publication Date Title
TWI762117B (zh) 動態控制指紋辨識速率以促進媒體內容的時間準確性修訂
TWI760981B (zh) 在媒體串流播放之間進行轉換的同時動態播放轉換訊框
TWI716018B (zh) 動態縮減替換內容之播放以幫助對齊替換內容之結束與已替換內容之結束
KR102484054B1 (ko) 프레임적으로 정확한 컨텐츠 수정을 용이하게 하기 위해, 낮은 레이트 핑거프린팅을 사용하는 보간을 기반으로 하는 시간 맵핑의 확립 및 사용
JP7181989B2 (ja) 新規コンテンツを取得する際の予想待ち時間に基づくコンテンツ修正の事前準備