TWI785485B - 基於獲得新內容之預期延遲之用於內容修訂之提前準備 - Google Patents
基於獲得新內容之預期延遲之用於內容修訂之提前準備 Download PDFInfo
- Publication number
- TWI785485B TWI785485B TW110103493A TW110103493A TWI785485B TW I785485 B TWI785485 B TW I785485B TW 110103493 A TW110103493 A TW 110103493A TW 110103493 A TW110103493 A TW 110103493A TW I785485 B TWI785485 B TW I785485B
- Authority
- TW
- Taiwan
- Prior art keywords
- content
- time
- client
- media
- point
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000003780 insertion Methods 0.000 claims abstract description 5
- 230000037431 insertion Effects 0.000 claims abstract description 5
- 238000012986 modification Methods 0.000 claims description 23
- 230000004048 modification Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 10
- 230000002596 correlated effect Effects 0.000 abstract 1
- 238000006467 substitution reaction Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 230000000977 initiatory effect Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26208—Content 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/26241—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26275—Content 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 for distributing content or additional data in a staggered manner, e.g. repeating movies on different channels in a time-staggered manner in a near video on demand system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
在一媒體用戶端正在接收一媒體串流時,該媒體用戶端判定該媒體用戶端要執行涉及新內容之插入(例如,替換或覆疊)之一內容修整之一即將到來之時間點。當該媒體用戶端應起始獲取該新內容之一程序時,該媒體用戶端進一步判定一提前時間點,在該即將到來的內容修訂時間點之前充分地設定該提前時間點,以使該媒體用戶端能夠至少獲得足夠之新內容以能夠及時開始該內容修訂。在一實例實施方案中,該媒體用戶端可基於對內容獲取之過去例項之考慮,藉由預測該內容獲取程序將花費多長時間來判定該提前時間點,此可能與諸如內容源、處理器負載、記憶體負載、網路速度及當日時間等操作因素相關。
Description
本申請案係關於基於獲得新內容之預期延遲之用於內容修訂之提前準備。
一典型之媒體用戶端用以接收表示例如視訊及/或音訊內容之媒體內容之一類比或數位媒體串流,且輸出媒體內容及/或轉送串流以用於在例如一顯示螢幕及/或一音訊揚聲器之一使用者介面上呈現內容。此等用戶端之實例包含電視、電腦監視器、投影系統、揚聲器、耳機、視訊轉換器(例如有線或衛星TV接收器)、數位視訊錄影機、無線電、個人電腦、遊戲機、串流媒體播放機等。
例如,媒體用戶端可為一電視,其可接收一媒體串流(例如,一空中廣播串流、自一視訊轉換器輸出之一媒體串流、自一數位儲存媒體播放之一媒體串流、一網際網路串流或另一此串流),且可將該串流之媒體內容呈現給一使用者。作為另一實例,媒體用戶端可為一視訊轉換器,其可自一多頻道視訊節目分配器接收一廣播串流,且可經由一高清晰度多媒體介面(HDMI)電纜或其他介面輸出該串流之媒體內容至一電視及/或音訊/視訊接收器進行播放。作為另一實例,媒體用戶端可為一數位視訊或音訊記錄器,其亦可接收一廣播串流,但可儲存串流用於稍後播放。且作為又一實例,媒體用戶端可為一揚聲器或耳機,其等可自一無線電、電腦或其他接收器或音訊儲存裝置接收一音訊串流,且可將該串流之音訊內容呈現給一使用者。許多其他實例亦係可能的。
當一媒體用戶端正接收一媒體串流時,在特定情況下,用戶端修訂串流之媒體內容之一部分可為有用的。例如,該用戶端可有用地用一替換廣告或其他替換內容動態地替換一廣告或該媒體內容之其他片段,使得當該內容向一使用者播放時,該使用者將接收該替代廣告而非原始包含之廣告。作為另一實例,該用戶端可有用地用覆疊或分屏內容動態地補充該媒體內容之一部分,該覆疊或分屏內容諸如頻道標識、背景內容資訊、廣告內容等,使得當該內容正被播放給一使用者時,該使用者將與原始包含之內容一起接收該補充內容。
此外,該用戶端可能希望在該媒體串流內在一特定時間點執行此內容修訂。例如,若該用戶端要用一替換廣告動態地替換一現有廣告,則該用戶端可希望在該現有廣告本應已經開始時在該媒體串流中之某一時間放置該替換廣告。同樣,若該用戶端要用與該媒體內容之一特定部分相關之一覆疊來補充該部分,則該用戶端可希望在該部分開始時開始該覆疊。其他實例亦係可能的。
更具體而言,所討論之該媒體串流可定義一圖框序列,例如視訊圖框及/或音訊圖框,且可能希望該用戶端基於一圖框之精確度來執行該內容修訂。例如,對於廣告替換,該用戶端可希望在該現有廣告之第一圖框上精確地開始插入該替換廣告來替換之現有廣告。且為了新增一覆疊至該媒體串流之一特定部分,該用戶端可希望在該媒體串流之該部分之該第一圖框處或與該第一圖框特定相關地開始該覆疊。
為了促進使該用戶端執行此內容修訂,該用戶端可需要獲得新的內容,諸如一新的串流,該用戶端應當在所需之內容修訂時間點插入(例如,替換或覆疊)該新內容。實際上,該用戶端可預先提供或動態地提供有指向該新內容之一指標,諸如一位址或其他識別符,該指標使該用戶端能夠獲取該新內容。例如,該用戶端可提供有一通用資源定位器(URL),該通用資源定位器(URL)定義或關聯一串流媒體伺服器、檔案伺服器等之一網路位址,該用戶端可以自該網路位址請求且接收該新內容。或者,該用戶端可以另一種方式學習該用戶端在何處獲得該新內容及/或如何獲得該新內容,使得該用戶端可在該媒體串流中之該指示時間點執行該內容修訂。
然而,不幸的是,在此程序中可出現之一問題為,該用戶端可需要一段時間獲得該用戶端執行該內容修訂所需之該新內容,且此延遲可導致執行該內容修訂之時序問題,且因此導致使用者體驗問題。
例如,若該用戶端將經由例如網際網路之一內容傳送網路自一串流媒體伺服器獲得該新內容,則該用戶端可需要首先與該串流媒體伺服器進行訊息傳遞,以建立一即時媒體工作階段,該伺服器透過該即時媒體工作階段將該新內容串流傳輸至該用戶端,且該用戶端可需要等待一段時間開始該串流傳輸,且等待該用戶端緩衝該傳入之新媒體內容,然後該用戶端才能夠開始使用該新媒體內容來執行該內容修訂。此等步驟和其他此等步驟將推遲該用戶端獲取該新內容。此外,若該用戶端將自一檔案伺服器或以其他方式獲得新內容,則可能會出現類似之延遲。
為了幫助解決此問題,本發明規定,該用戶端將在該內容修訂開始之前足夠早地開始獲取該新內容之程序,以幫助確保該用戶端將有足夠之新內容以及時開始該內容修訂。此外,本發明規定,該用戶端可動態地判定提前多久開始此程序,其中提前持續時間基於該用戶端歷來需要多長時間來獲取新內容,此可能與例如內容源、處理器負載、記憶體負載、網路負載、網路延遲及/或當日時間等各種操作因素相關。
例如,根據本發明,該用戶端可在一媒體串流中判定一即將到來之時間點,在此時間點,該用戶端將執行涉及新內容之替換或覆疊之一內容修訂(例如,開始執行一內容修訂)。此外,該用戶端可判定該用戶端應起始獲取該新內容之一程序以促進在該即將到來之時間點執行該內容修訂之一提前時間點。例如,該用戶端可基於可能與一或多個操作參數相關之內容獲取持續時間之過去歷史判定一內容獲取持續時間,且該用戶端可應用該經判定之內容獲取持續時間,諸如藉由自該即將到來之時間點減去其,來判定該提前時間點。在該提前時間點,該用戶端可接著起始獲取該新內容之一程序。且在該即將到來之時間點,該用戶端可執行該內容修訂。
一般技術者藉由閱讀以下實施方式且適時參考隨附圖式將瞭解此等以及其他態樣、優勢及替代例。此外,應當理解,發明內容中及下文所提供之描述僅藉由實例之方式繪示本發明而非限制。
相關申請案的參考
本申請案主張2018年10月22日申請之美國專利申請案第16/166,962號及2018年7月19日申請之美國臨時專利申請案第62/700,647號之優先權,所述案之各者之全部內容以引用之方式併入本文。
參考圖式,圖1係其中可應用各種所揭示之原理之一實例系統之一簡化方塊圖。然而,將理解,本文描述之此配置及程序以及其他配置及程序可採用各種其他形式。例如,元件及操作可重新排序、分佈、複製、組合、省略、新增或以其他方式修改。此外,應理解,本文描述為由一或多個實體執行之操作可透過硬體、韌體及/或軟體由及/或代表該等實體來實施,諸如由執行程式指令等之一或多個處理單元來實施。
如圖1中展示,實例系統包括經組態以自一媒體源14即時接收一媒體串流之一媒體用戶端12。
媒體用戶端12可經組態以如上文描述般用以自媒體源14接收表示諸如視訊及/或音訊內容之媒體內容之一類比或數位媒體串流,且輸出媒體內容及/或轉送串流以用於在諸如一顯示螢幕及/或音訊揚聲器之一使用者介面上呈現內容。媒體用戶端可採取上述任何形式,以及其他可能性。
媒體源14亦可採取各種形式,此可能取決於媒體用戶端12之形式。例如,若媒體用戶端12係一電視,則媒體源14可為一本端視訊轉換器(例如,有線或衛星接收器)或一串流媒體伺服器,其經組態以輸出一選定之媒體串流供電視呈現,或媒體源14可為一廣播電視台等,以及其他可能性。且若媒體用戶端係一電腦,則媒體源可包括一網際網路串流媒體伺服器或其他媒體提供商。或者,媒體源14可為與媒體用戶端12整合及/或可由其在本端存取之資料儲存裝置,其中媒體用戶端自資料記憶體接收(例如,擷取)媒體串流以供播放,諸如當用戶端正在播放媒體串流或轉送媒體串流進行播放時。其他實例亦係可能的。
如圖1中進一步展示,媒體用戶端12可具有與一網路(例如,網際網路或一私人網路) 16之一通信介面,媒體用戶端可透過該網路與一或多個伺服器18進行通信。伺服器18可包含檔案伺服器、媒體伺服器及/或其他類型之內容伺服器等。此外,雖然媒體源14展示為與伺服器18分開,但媒體源14可替代地包含一或多個伺服器18或與一或多個伺服器18整合,且可經由網路16存取。
如上文陳述,當一媒體用戶端(例如用戶端12)正在接收一媒體串流時,用戶端可有用地修訂串流內容之一部分,例如替換或補充串流內容之一部分。此外,如上文陳述,用戶端可希望在媒體串流內之一特定時間點執行此內容修訂。例如,若該媒體串流定義一圖框序列,諸如視訊圖框及/或音訊圖框,則用戶端可希望執行在序列之一特定圖框開始之修訂。
實際上,用戶端可以各種方式瞭解媒體串流中用戶端應在其處執行內容修訂之特定時間點。
例如,用戶端可經提供有一組資料或與媒體串流一起或結合媒體串流接收一組資料,該資料識別媒體串流內之各圖框或對媒體串流內之各圖框加時間戳(例如,嵌入在媒體串流中之時間戳或透過串流內傳訊以其他方式提供之時間戳)以及指定要開始內容修訂之圖框之識別或時間戳之資料。基於該資料,用戶端可因此判定媒體串流中要開始內容修訂之特定時間點。
或者,當用戶端接收媒體串流(例如,當用戶端播放媒體串流)時,用戶端可與一網路伺服器一起工作,以瞭解媒體串流中要開始內容修訂之點。例如,伺服器可首先識別由用戶端接收之媒體串流。且在識別媒體串流之後,伺服器可接著判定媒體串流中用戶端應執行內容修訂之一特定時間點,且伺服器可將該判定之時間點通知給用戶端。
為了促進伺服器識別由用戶端接收之媒體串流,用戶端(或可能係一輔助裝置)可在用戶端接收媒體串流時即時產生表示媒體內容之數位指紋資料,且伺服器可比較該指紋資料與表示一已知媒體串流之媒體內容之參考指紋資料,其中一指紋匹配指示由用戶端接收及/或播放之媒體串流係已知媒體串流。
伺服器可建立或以其他方式存取表示已知媒體串流之參考指紋資料。例如,伺服器或一相關之觀察站或其他實體可接收已知媒體串流之一廣播,且在接收到廣播時,可產生表示已知媒體串流之圖框之一參考數字指紋序列。伺服器或另一實體可以藉由程式設計方式分析已知媒體串流之圖框,接收已知媒體串流之一複本作為輸入且應用現在已知或以後開發以產生參考指紋之任何媒體指紋識別程序或演算法而建立此等參考指紋。或者伺服器可另建立或提供有表示已知媒體串流之此參考指紋序列。伺服器可接著儲存與已知媒體串流之一識別相關聯之參考指紋。
此外,當用戶端接收媒體串流時,用戶端可即時產生表示該串流之圖框之查詢指紋,且可將查詢指紋傳輸至伺服器以進行分析。為了促進指紋比較,用戶端可使用應用於建立參考指紋之相同之指紋識別程序或演算法來產生此等查詢指紋。另外,用戶端可以一特定之圖框率產生查詢指紋,且可將指紋分組傳輸至伺服器。例如,對於包括每秒30個圖框之視訊之一媒體串流,用戶端可以約每秒2個圖框之一低圖框率產生查詢指紋,以幫助節省資源,且用戶端可每隔1.5秒左右向伺服器傳輸一最新之查詢指紋群組。其他實例亦係可能的。
當伺服器自用戶端接收查詢指紋資料時,伺服器可比較查詢指紋資料與已知媒體串流之參考指紋資料。且若伺服器藉此充分自信地判定查詢指紋資料與參考指紋資料相匹配,則伺服器可得出由用戶端接收之媒體串流係已知之媒體串流之結論。
伺服器可逐圖框進行此指紋比較。例如,考慮視訊內容,伺服器可逐視訊圖框進行分析,比較一圖框之一查詢指紋與一圖框之一參考指紋。比較程序可採取各種形式之任一者,此取決於指紋之結構。例如,比較可涉及運算指紋之間之一最大偏差,及判定最大偏差是否在一預定義之公差範圍內。此外,若指紋係二進位的,則此可為一Boolean判定,或可涉及運算一Hamming距離(作為指紋中各自位元位置之間的一失配計數)。且若指紋係更複雜之值(諸如十進位值或向量(例如,每個視訊圖框區域之灰度值)),則此可涉及判定值或向量之間的一距離。許多其他實例亦係可能的。
此外,伺服器可以期望之一容許度進行此指紋比較程序。例如,比較可為粗略的,對指紋之間差異之容許度相對較高,諸如對較大數目個差異之容忍較高及/或對較大尺寸之差異之容忍較高。例如,當將兩個32位指紋彼此比較時,即使兩個或另一個指定數量之位不匹配,一粗略比較亦可視為指紋彼此係大體匹配的。或比較可為更精細的,對此等差異之容許度較低,及/或將聚焦於可能表示底層媒體之特定部分之特定指紋組分上進行比較。
透過比較用戶端產生之查詢指紋與已知媒體串流之參考指紋,伺服器可藉此找到一或多個匹配。例如,伺服器可找到一或多個例項,其中用戶端接收到之媒體串流之一圖框之一查詢指紋匹配已知媒體串流之一圖框之一各自參考指紋。此匹配可因此建立或支援用戶端接收之媒體串流係已知之媒體串流之一結論。
或者,伺服器可以其他方式識別所討論之媒體串流。例如,若媒體串流含有與媒體串流之一識別相對應之浮水印資料,則用戶端可讀取或另提取浮水印資料並向伺服器報告浮水印資料。且伺服器可接著使用所報告之浮水印資料作為識別用戶端接收之媒體串流之一基礎。例如,伺服器可參考將各種浮水印資料與特定已知媒體串流相關之參考資料,以判定由用戶端報告之浮水印資料與一特定之已知媒體串流相對應。
在已經識別用戶端接收之媒體串流後,伺服器可接著判定媒體串流中發生一內容修訂之一時間點。例如,伺服器可參考指定要開始一內容修訂之已知媒體串流中之一時間點之參考資料。且伺服器可接著向用戶端傳輸指示該時間點之一指示。
由伺服器之參考資料指定之修訂時間點可以用戶端可理解之一方式來定義。例如,若用戶端提供有沿著在媒體串流內定義之一「真實時間」時間線對媒體串流之各圖框加時間戳之資料,則伺服器具有之修訂時間點可為媒體串流之一即將到來之圖框之真實時間時間戳。因此,伺服器可向用戶端提供真實時間時間戳作為用戶端應執行內容修訂之時間之一指示。
此外,用戶端可將該真實時間時間戳映射至根據用戶端內部時脈定義之「用戶端時間」,使得用戶端可在其自身之時脈上判定其應執行內容修訂之一時間。例如,用戶端可(i)運算一當前圖框之真實時間時間戳與用戶端之時脈上之當前時間之間的一差,以及(ii)將所判定之差應用於將要發生修訂之即將到來之圖框之指示之真實時間時間戳,以判定用戶端應執行內容修訂之用戶端時間點。
或者,伺服器之參考資料指定之修訂時間點可以用戶端無法理解之一方式來定義。例如,伺服器具有之修訂時間點可為根據已知媒體串流內之一真實時間時間線定義之一時間戳,但用戶端可不具有真實時間之背景或視角。在該情況下,伺服器可參與在真實時間與用戶端時間之間建立一映射或「同步鎖」之一程序,且伺服器接著將發生內容修訂之真實世界時間點映射至一對應用戶端時間點,並將該用戶端時間點提供至用戶端。
作為此之一非限制性實例,考慮定義可在一電視廣播內出現之一廣告群之一媒體串流。一廣告群包括一序列廣告,例如電視廣告。憑藉此實例,用戶端可為接收且呈現一特定電視頻道之一線性廣播饋送之一電視,且廣告群可在該饋送中之任何時刻出現。例如,特別係對於例如一體育賽事之一直播,廣告群出現在此一饋送中之時間可為不可預測的。或者,廣告群可出現在一具體排程之時間。
在此實例中,期望之修訂可為廣告群內之一特定廣告之替換(例如,用一不同之廣告或其他替換內容替換該廣告)。例如,若廣告群係廣告A1、A2、A3、A4之一序列,則期望之修訂可為廣告A3之替換。
在此情況下,廣告群可定義從時間T=0開始且持續到廣告群結束之一真實時間時間線,且廣告A3可開始於該時間線上之時間TA3
。然而,用戶端可缺乏該時間線之內容背景。用戶端可具有其自身之內部時脈,該內部時脈具有定義用戶端時間之一時間線(例如,當日時間或其他內部時間參考)。然而,若事先不知道廣告時間線在用戶端時間內之位置,僅僅將值TA3
作為期望之內容修訂時間點無法使用戶端在需要時執行廣告替換。
為了使伺服器在該內容背景中在真實時間與用戶端時間之間建立同步鎖,用戶端可對用戶端發送至伺服器之查詢指紋加時間戳。特定言之,當用戶端接收媒體串流並產生查詢指紋時,用戶端可用一當前用戶端時間值對各查詢指紋加時間戳。當伺服器偵測到查詢指紋與已知媒體串流之加時間戳之參考指紋之間的一或多個匹配時,伺服器可接著使用該等匹配點作為將真實時間映射至用戶端時間之一基礎。例如,基於至少一個此偵測到之匹配點,伺服器可定義(i)匹配參考指紋之真實時間時間戳與(ii)匹配查詢指紋之用戶端時間戳之間的一映射。
一旦伺服器已建立同步鎖,伺服器便可使用已建立之同步鎖將發生內容修訂之真實時間時間點轉換為發生內容修訂之一對應用戶端時間時間點。且伺服器可將該經判定之用戶端時間時間點傳輸至用戶端,以使用戶端能夠在用戶端正在接收之媒體串流中之期望時間點執行內容修訂。
此外,在一替代性實施方案中,用戶端而非伺服器可執行建立及應用同步鎖之程序,以便判定發生內容修訂之用戶端時間點。
例如,一旦伺服器已經識別用戶端接收之媒體串流,伺服器便可向用戶端傳輸定義參考指紋之一些參考資料及已知媒體串流中一即將出現之部分之真實時間時間戳。用戶端可接著在查詢指紋與參考指紋之間進行指紋匹配,以找到一或多個匹配點,且用戶端可藉由類似地關聯至少一個匹配點之時間戳而在真實時間與用戶端時間之間建立同步鎖。一旦用戶端已經建立同步鎖,伺服器便可使用同步鎖作為將發生內容修訂之一所提供真實時間時間點轉換為發生內容修訂之一對應用戶端時間時間點之一基礎。
除了當用戶端應開始內容修訂時瞭解媒體串流中之特定時間點外,用戶端亦可以各種方式瞭解用戶端應該在該時間點開始執行哪些內容修訂。
例如,用戶端可預先提供有在指示時間點執行之內容修訂之一規範,諸如用戶端應用特定內容來代替媒體串流之現有內容及/或新增覆疊或其他補充內容至媒體串流之現有內容之指示。或者,用戶端可自一伺服器或另一實體接收待執行之內容修訂之一規範。例如,當一伺服器向用戶端傳輸一指令,通知用戶端其執行內容修訂時之媒體串流中之時間點時,伺服器可在給用戶端之該指令中包含(或單獨地提供)待執行之內容修訂之一規範。
實際上,待執行之內容修訂之規範可包括用戶端要獲得之且要代替媒體串流之現有內容或作為媒體串流之現有內容之補充而插入之新內容之一指標。例如,如上文陳述,規範可包括一通用資源定位器(URL),該通用資源定位器(URL)定義或關聯一串流媒體伺服器、檔案伺服器等之一網路位址,用戶端可以自該網路位址請求且接收新內容。或者,該規範可以另一種方式指示用戶端在何處獲得新內容及/或如何獲得新內容,以促進在媒體串流中之指示時間點執行內容修訂。此外,規範可指示用戶端要應用之內容修訂之類型,諸如內容修訂係內容替換、覆疊或係其他。
在要開始內容修訂之指示時間點,用戶端可因此開始內容修訂。例如,若內容修訂涉及用新內容替換媒體串流之內容,則用戶端可開始用新內容之圖框替換現有媒體串流之圖框。或者,若內容修訂涉及將新內容覆疊至媒體串流之現有內容上,則用戶端可開始修改媒體串流之圖框,使其成為現有內容及新內容之組合。其他實例亦係可能的。
作為一非限制性實例,再次考慮上文論述之廣告群。實際上,一伺服器可提供有加時間戳之參考指紋,其等表示且對應於廣告群之圖框。此外,伺服器可提供有應替換廣告群中之一個特定廣告之一指示,及該廣告替換應開始之圖框之一參考時間戳(例如,在真實時間中)。
在用戶端接收可含有此廣告群之一線性廣播饋送一持續進行之基礎上,或者回應於一或多個其他觸發器,用戶端可產生廣播饋送之時間戳查詢指紋,且可將該等時間戳之查詢指紋報告給伺服器以供分析。比較此等查詢指紋與表示廣告群序列之圖框之參考指紋,伺服器可藉此偵測到用戶端正在接收廣告群序列。
在已經判定用戶端正在接收廣告群序列後,伺服器可接著以例如上文論述之方式將要開始廣告替換之圖框之真實時間點轉換為一對應用戶端時間點,且可向用戶端傳輸指定用戶端時間點之一指示,該指示包含用戶端要替換在用戶端時間開始之媒體串流之圖框之一替換廣告之一指標,且指引用戶端執行所指示之內容替換。因此,用戶端可獲得所指示之替換廣告,且可用該廣告替換自指示之用戶端時間點開始之媒體串流之圖框。
如上文陳述,在此程序中可出現之一問題為,該用戶端可需要一段時間獲得該用戶端執行該內容修訂所需之該新內容,且此延遲可導致執行該內容修訂之時序問題,且因此導致使用者體驗問題。例如,如上文陳述,若該用戶端將經由例如網際網路之一內容傳送網路自一串流媒體伺服器獲得該新內容,則該用戶端可需要首先與該串流媒體伺服器進行訊息傳遞,以建立一即時媒體工作階段,該伺服器透過該即時媒體工作階段將該新內容串流傳輸至該用戶端,且該用戶端可需要等待一段時間開始該串流傳輸,且等待該用戶端緩衝該傳入之新媒體內容,然後該用戶端才能夠開始使用該新媒體內容來執行該內容修訂。
各種因素可導致此延遲。例如,當用戶端之處理器(例如,中央處理單元(CPU))特別繁忙及/或當用戶端之記憶體或其他資料儲存裝置特別負載時,可存在用戶端能夠請求及/或接收(例如,開始接收)新內容之延遲。此外,當用戶端與新內容之一伺服器或其他來源之網路連接或其他介面經特別負載或資料傳輸速率緩慢時,用戶端接收新內容時可存在延遲。亦可存在其他因素。
不幸的是,由於此延遲,用戶端可比預期更遲開始內容修訂。例如,在廣告群實例中,若用戶端尚未獲得足夠之替換廣告,以便能夠在現有廣告之第一圖框之前開始廣告替換,則用戶端可在若干圖框後開始廣告替換。因此,當廣告群被播放給一使用者時,可呈現現有廣告之前幾個圖框,且呈現可接著突然切換為替換廣告。此外,替換廣告之延遲開始可在替換廣告播放結束時產生相關問題,因為用戶端可需要(但可不需要)提前終止替換廣告,以避免使替換廣告與下一個廣告或現有媒體串流之其他部分之開始重疊。
為了幫助解決此問題,根據本發明,用戶端將在內容修訂開始之前足夠早地開始獲取新內容之程序,以幫助確保用戶端將有足夠之新內容以及時開始內容修訂。此外,如上文陳述,該用戶端可動態地判定提前多久開始此程序,其中提前持續時間基於該用戶端歷來需要多長時間來獲取新內容,此可能與例如內容源、CPU負載、記憶體負載、網路延遲及/或網路負載等實例之操作因素相關。
在一實例實施方案中,用戶端可監測其通常需要多長時間能獲取新內容。例如,每當用戶端獲得新內容時,用戶端可判定自用戶端起始內容獲取程序至用戶端獲得足夠多之新內容以促進開始一相關內容修訂所經過之時間。
此處,起始內容獲取程序之動作可採取各種形式。例如,若用戶端將自一串流媒體伺服器接收內容,則起始內容獲取程序之行為可為用戶端向串流媒體伺服器發送一傳輸控制協定(TCP)交握訊息,以建立一TCP通信端,透過該通信端與伺服器進行進一步通信。或者,起始內容獲取程序之行為可為用戶端向串流媒體伺服器發送一即時串流通信協定(RTSP) SETUP請求等,以請求設定一串流媒體工作階段,用戶端將透過該工作階段接收新內容。其他實例亦係可能的。
用戶端可接著在最近時間以統計方式匯總此等經判定之內容獲取持續時間,作為一平均數或其他量測,以建立一代表性之內容獲取持續時間。此外,隨著時間之推移,用戶端可繼續進行此評估,定期確認或更新代表性之內容獲取持續時間。
當面臨需要在一媒體串流中之一即將到來之時間點執行一內容修訂時,用戶端可接著排程(例如,判定且設定)開始其內容獲取程序之一提前時間點。例如,當內容修訂開始時,用戶端可自用戶端時間點減去其最新建立之內容獲取時間,以運算用戶端應開始其內容獲取程序之一提前時間點。且用戶端可接著設定用戶端之一內部計時器,以在經運算之提前時間點開始內容獲取程序。用戶端可接著在運算得到之提前時間點起始內容獲取程序。
此外,為了幫助避免內容修訂中之時序問題,並考慮到實際內容獲取持續時間之變化(例如,抖動)及分析中之誤差之可能性,用戶端亦可在其最新判定之內容獲取持續時間中新增一安全時間段(例如,一定義之固定時間段,諸如幾秒或另一固定時間段)。因此,用戶端運算之提前時間點可在內容修訂時間點之前由最新建立之內容獲取持續時間及安全時間段之一和設定。替代地或另外,為了考慮此變化之可能性,用戶端可有意地計畫比預期晚幾圖框開始內容修訂,且對於視訊內容,可有意地新增開始黑圖框及/或在結束時新增一逐漸淡出,以幫助確保連續性。
此外,考慮到用戶端之實際內容獲取持續時間可基於諸如內容源、CPU負載、記憶體負載、網路負載及/或網路延遲等操作因素而變化,用戶端可基於此等或其他因素(單獨及/或組合)建立各種代表性之內容獲取持續時間。繼而,當用戶端接著面臨需要在一媒體串流中之一即將到來之時間點執行一內容修訂時,用戶端可判定(例如,估計)一或多個此等操作因素之當前狀態,且可選擇用戶端已經與所判定之狀態相關聯之一內容獲取持續時間,其可能在適當之情況下在點之間進行外推。用戶端可接著基於選定之內容獲取持續時間運算並應用一提前時間點。
例如,對於用戶端請求且獲得新內容之諸如特定伺服器、域或網路等一或多個內容源之各者,用戶端可判定一各自、代表性之內容獲取持續時間。當用戶端接著面臨需要使用來自一給定內容源之新內容在一即將到來之時間點一執行內容修訂時,用戶端可接著基於用戶端為該內容源建立之一最新之代表性之內容(例如,該特定內容源及/或同一域、網路等之內容源)運算且應用一提前時間點。
作為另一實例,對於各不同級別之CPU負載(例如,所使用之每單位時間處理週期及/或可用之處理週期)及/或記憶體負載(例如,所使用或保留之記憶體容量之範圍),用戶端可判定一各自、代表性之內容獲取持續時間。當用戶端接著面臨需要在一即將到來之時間點執行一內容修訂時,用戶端接著可評估其CPU負載及/或記憶體負載之級別,且用戶端可基於用戶端針對該級別之CPU負載及/或記憶體負載建立之一最新代表性內容獲取持續時間來運算並應用一提前時間點。
同樣,對於各不同級別之網路延遲,用戶端可判定一各自、代表性之內容獲取持續時間。實際上,例如,用戶端可透過使用一網際網路控制訊息協定(ICMP)回音檢查或其他回波請求傳訊來估計網路延遲。或者,用戶端可使用一指紋識別伺服器基於其查詢指紋傳訊來估計網路延遲,諸如藉由伺服器量測來自用戶端之查詢指紋傳輸之傳輸延遲,以及用戶端自伺服器接收該等延遲量測之報告。(此近似於指紋識別伺服器及內容伺服器不相同之情況,但此近似可為合理的,特別是在伺服器並列之情況下。)
此外,用戶端可判定且記錄與此等網路延遲量測相關之內容獲取持續時間。因此,當用戶端面臨需要在一即將到來之時間點執行一內容修訂時,用戶端可判定一當前或最新之網路延遲級別,且可基於用戶端為該網路延遲級別建立之一最新代表性之內容獲取持續時間來運算且應用一提前時間點。
作為此程序之一變化或加強,用戶端亦可基於當日時間(例如,任何一天、一周中之一天及/或其他日曆或時鐘基礎上之時鐘時間)追蹤其代表性之內容獲取持續時間,以說明實際內容獲取持續時間可隨時間而變化之可能性。例如,當用戶端之內容獲取持續時間趨於較長時,通常可存在繁忙時間,而當用戶端之內容獲取持續時間趨於較短時,可存在清閒時間。當用戶端接著面臨需要在一即將到來之時間點執行一內容修訂時,用戶端可判定當日時間,且可基於用戶端為該當日時間建立之一最新代表性之內容獲取持續時間來運算且應用一提前時間點。
此外,在一替代性實施方案中,用戶端可靜態提供以應用一特定內容獲取持續時間,以幫助確保用戶端足夠早地開始其內容獲取程序。例如,用戶端或一晶片組或用戶端之其他組件之製造商可指定用戶端應應用之一提前持續時間,以作為判定用戶端何時應起始內容獲取以促進內容修訂,且用戶端可經組態為應用該提前持續時間之一基礎。基於例如裝置或組件之定義能力,此持續時間可因裝置及/或組件而異。當面臨需要在一即將到來之時間點執行一內容修訂時,用戶端可基於此指定之持續時間來運算並應用一提前時間點。
亦注意,上述程序可適用於用戶端接收之一線性廣播饋送等之即時分析(例如,用於當前播放及/或儲存),且亦可適用於用戶端自資料儲存裝置等接收之一媒體串流之分析(例如,用於當前播放或傳輸)。其他實施方案亦係可能的。
圖2係繪示如上文論述之操作之結果之一時間線。特定言之,圖2可表示在一用戶端接收一媒體串流時之用戶端時間之進展。如圖2中展示,時間點TCURRENT
表示一當前時間,且時間點TREVISE
表示用戶端將執行一內容修訂(例如)以開始替換或覆疊內容之圖框之一即將到來之時間。時間點TADVANCED
接著表示用戶端應起始內容獲取之時間,以便及時具有足夠之內容來在時間TREVISE
執行內容修訂。
根據上文討論,在時間TCURRENT
,用戶端可判定一內容獲取持續時間,且可設定時間TADVANCED
作為至少係時間TREVISE
之前的內容獲取持續時間之一時間點。用戶端可接著等待,直至運算得到之時間TADVANCED
之到來,且回應於時間TADVANCED
之到來,用戶端可起始新內容之獲取,以幫助促進在時間TREVISE
進行內容修訂。例如,在時間TADVANCED
,用戶端可開始與一串流媒體伺服器進行傳訊,以建立一串流媒體工作階段,透過該工作階段用戶端可接收且緩衝新內容,以促進在TREVISE
時開始內容修訂,或者用戶端可採取其他行動開始內容獲取程序。
圖3是描繪根據上文之論述由一運算系統(例如,一媒體用戶端)執行之一方法之一流程圖。如上文論述,當媒體用戶端正在接收一線性廣播饋送中之一媒體串流或自儲存裝置接收一媒體串流時,可能在媒體用戶端正在播放媒體串流或轉送媒體串流用於播放等之時執行該方法。如上文論述,方法可幫助促進適時之內容修訂,例如廣告替換。
如圖3中展示,在方塊30,方法包含判定一媒體用戶端要執行涉及新內容之插入(例如,替換或覆疊)之一內容修訂之一媒體串流中一即將到來之時間點。此外,在方塊32,方法包含排程媒體用戶端應起始獲取新內容之一程序以促進在即將到來之時間點執行內容修訂之一提前時間點,其中排程提前時間點包含判定一內容獲取持續時間,以及將提前時間點設定為至少在即將到來之時間點之前的經判定之內容獲取持續時間。在方塊34,方法接著包含在提前時間點,媒體用戶端起始獲取新內容之程序。且在方塊36,方法包含在即將到來之時間點,媒體用戶端使用經獲取之新內容執行內容修訂。
如上文論述,判定內容獲取持續時間之行為可涉及基於內容獲取持續時間之過去例項來預測內容獲取持續時間。例如,方法可進一步涉及隨時間之推移追蹤內容獲取持續時間,以幫助促進預測內容獲取持續時間,可能維持匯總統計資料,諸如平均值等。
此外,如上文論述,基於內容獲取持續時間之過去例項預測內容獲取持續時間之行為可涉及判定與獲取新內容相關之至少一個操作因素之狀態,以及基於與所判定之狀態相關之內容獲取持續時間之過去例項來預測內容獲取持續時間。例如,至少一個操作因素可包含內容源、處理器負載、記憶體負載、網路負載、網路速度及當日時間之一或多者。因此,媒體用戶端可判定一或多個此等操作因素之一當前狀態,且可接著在一或多個操作因素具有相同或相似狀態時基於內容獲取持續時間之過去例項來預測內容獲取持續時間作為一統計資料量測。
此外,如上文論述,判定內容獲取持續時間之行為亦可涉及新增一安全時間段至預測之內容獲取持續時間,且計畫在即將到來之內容修訂時間點之前至少藉由經判定之內容獲取持續時間及安全時間段之和來開始內容獲取程序。
或者,如上文論述,可靜態定義內容獲取持續時間。例如,媒體用戶端可設定為應用一特定內容獲取持續時間,以便運算用戶端應開始其內容獲取程序之提前時間點以促進及時開始內容修訂。
接著,圖4係可操作以執行上文描述之各種操作之一實例媒體用戶端之一方塊圖。如圖4中展示,媒體用戶端包含一通信介面40、一使用者介面42、一處理單元44及非暫時性資料儲存裝置46,其全部可透過一網路、訊息匯流排及/或一或多個其他連接機構48耦合或通信鏈接在一起。
通信介面40可包含一媒體輸入介面(諸如一HDMI介面等),以及相關之電路及軟體,其經組態以自一外部媒體源接收一媒體串流。此外,通信介面40可包含一網路通信介面(諸如有線及/或無線乙太網路介面),以及相關之電路及軟體,其經組態以促進在諸如網路16之一網路上進行通信。
使用者介面42可包括一媒體呈現介面,以透過該介面播放一媒體串流之內容。例如,若媒體用戶端係一電視,則使用者介面42可包括一顯示螢幕及揚聲器,透過該顯示螢幕及揚聲器播放自一廣播站、一串流媒體設備或一視訊轉換器接收之一線性饋送之視訊及音訊內容。其他實例亦係可能的。
處理單元44接著可包括一或多個通用處理器(例如,微處理器)及/或一或多個專用處理器(例如,專用積體電路等)。且非暫時性資料儲存裝置46可包括一或多個揮發性及/或非揮發性儲存組件,諸如磁性、光學或快閃儲存裝置。此外,非暫時性資料記憶體46可包括諸如隨機存取記憶體等之記憶體,且可全部或部分地與處理單元44整合。
如圖4中展示,非暫時性資料儲存裝置46儲存(例如,保存、用其編碼或以其他方式體現或含有)可由處理單元執行以使運算系統執行諸如上文描述之操作之程式指令50。
例如,此等操作可包含判定一媒體串流中一即將出現之時間點,在該時間點,媒體用戶端將執行涉及插入(例如替換或覆疊)新內容之一內容修訂。此外,操作可包含設定媒體用戶端應起始獲取新內容之一程序以促進在即將到來之時間點執行內容修訂之一提前時間點,其中設定提前時間點包含判定一內容獲取持續時間,以及將提前時間點設定為至少在即將到來之時間點之前的經判定之內容獲取持續時間。操作可接著包含在提前時間點(例如,回應於提前時間點之到來)起始獲取新內容之程序。且操作可包含在即將到來之時間點(例如,回應於即將到來之時間點之到來),用所獲取之新內容執行內容修訂。
如上文論述,媒體用戶端可基於與一或多個操作因素相關之內容獲取持續時間之過去例項來預測內容獲取持續時間。一個此操作因素可為媒體用戶端之處理單元之負載,媒體用戶端可基於執行處理器任務之一佇列長度、處理器不空閒之頻率及/或處理器執特定任務所用之時間等其他可能性來判定該處理單元之負載。另一此操作因素可為媒體用戶端之記憶體之負載,媒體用戶端可根據每單位時間其隨機存取記憶體所占百分比等判定該負載。此外,另一操作因素可為網路速度,媒體用戶端可藉由運行標準網路速度測試及/或基於上面討論之傳訊延遲來判定網路速度。其他實例亦係可能的。
上文描述之各種特徵可以在此媒體用戶端之內容背景中實施,反之亦然。此外,上述各種操作可由儲存在一非暫時性電腦可讀媒體上之程式指令來定義,該等程式指令可由一處理單元執行以執行該等操作。可接著在媒體用戶端及/或另一實體提供、整合或以其他方式實現此一非暫時性電腦可讀媒體。此外,操作可採取其他形式。
實例實施例已經在上文中描述。然而,熟習此項技術者將理解,在不脫離本發明之真實範圍及精神之情況下,可對此等實施例進行改變及修改。
12:媒體用戶端
14:媒體源
16:網路
18:伺服器
30:方塊
32:方塊
34:方塊
36:方塊
40:通信介面
42:使用者介面
44:處理單元
46:非暫時性資料儲存裝置
48:連接機構
50:程式指令
圖1係其中可實施所揭示之特徵之系統之一簡化方塊圖。
圖2係描繪一內容修訂時間點及用於起始內容獲取之一提前時間點之一時間線。
圖3係描繪可根據本發明執行之操作之一流程圖。
圖4係描繪可根據本發明操作之一媒體用戶端之組件之一簡化方塊圖。
Claims (20)
- 一種內容修訂之提前準備之方法,其包括:判定一媒體串流中之一即將到來之時間點,在該時間點,一媒體用戶端將執行涉及插入新內容之一內容修訂;判定該媒體用戶端應起始獲取該新內容之一程序以促進在該即將到來之時間點執行該內容修訂之一提前時間點,其中判定該提前時間點包括(i)至少基於逐當日時間(on a per-time-of-day basis)之過去內容獲取持續時間之追蹤而動態預測一內容獲取持續時間,以及(ii)將該提前時間點判定為至少在該即將到來之時間點之前的該經預測之內容獲取持續時間;在該經判定之提前時間點,由該媒體用戶端起始獲取該新內容之該程序;及在該即將到來之時間點,由該媒體用戶端使用該獲取之新內容執行該內容修訂。
- 如請求項1之方法,其中該媒體串流包括視訊內容。
- 如請求項1之方法,其中該媒體串流包括音訊內容。
- 如請求項1之方法,其中該內容獲取持續時間之該動態預測進一步至少基於自由內容源、處理器負載、記憶體負載、及網路速度構成之群組選擇之一因素。
- 如請求項1之方法,其中將該提前時間點判定為至少在該即將到來之時間點之前的該經預測之內容獲取持續時間包括將該提前時間點判定為在該即將到來之時間點之前至少該經預測之內容獲取持續時間加上一安全時間段。
- 如請求項1之方法,其中該方法在該媒體用戶端正在接收一線性廣播饋送中之該媒體串流時被執行。
- 如請求項1之方法,其中該方法在該媒體用戶端正在從本端資料儲存裝置接收該媒體串流時被執行。
- 如請求項1之方法,其中該內容修訂包括廣告替換。
- 如請求項1之方法,其中該方法在該媒體用戶端正在播放該媒體串流時被執行。
- 一種媒體用戶端,其包括:一處理單元;非暫時性資料儲存裝置;及程式指令,其等儲存在該非暫時性資料儲存裝置中且可由該處理單元執行以使該媒體用戶端執行操作,該等操作包含:判定一媒體串流中之一即將到來之時間點,在該時間點,該媒體用戶端將執行涉及插入新內容之一內容修訂, 判定該媒體用戶端應起始獲取該新內容之一程序以促進在該即將到來之時間點執行該內容修訂之一提前時間點,其中判定該提前時間點包括(i)至少基於逐當日時間之過去內容獲取持續時間之追蹤而動態預測一內容獲取持續時間,以及(ii)將該提前時間點判定為至少在該即將到來之時間點之前的該經預測之內容獲取持續時間,在該經判定之提前時間點,起始獲取該新內容之該程序,及在該即將到來之時間點,使用該獲取之新內容執行該內容修訂。
- 如請求項10之媒體用戶端,其中該媒體串流包括視訊內容。
- 如請求項10之媒體用戶端,其中該媒體串流包括音訊內容。
- 如請求項10之媒體用戶端,其中該內容獲取持續時間之該動態預測進一步至少基於自由內容源、處理器負載、記憶體負載、及網路速度構成之群組選擇之一因素。
- 如請求項10之媒體用戶端,其中將該提前時間點判定為至少在該即將到來之時間點之前的該經預測之內容獲取持續時間包括將該提前時間點判定為在該即將到來之時間點之前至少該經預測之內容獲取持續時間加上一安全時間段。
- 如請求項10之媒體用戶端,其中該等操作在該媒體用戶端正在接收一線性廣播饋送中之該媒體串流時可執行。
- 如請求項10之媒體用戶端,其中該等操作在該媒體用戶端正在從本端資料儲存裝置接收該媒體串流時可執行。
- 如請求項10之媒體用戶端,其中該內容修訂包括廣告替換。
- 一種非暫時性電腦可讀媒體,其儲存可藉由一處理單元執行以執行操作之指令,該等操作包括:判定由一用戶端接收之一媒體串流中之一即將到來之時間點,在該時間點,該用戶端將執行涉及插入新內容之一內容修訂;判定該用戶端應起始獲取該新內容之一程序以促進在該媒體串流中之該即將到來之時間點執行該內容修訂之一提前時間點,其中判定該提前時間點包括(i)至少基於逐當日時間之過去內容獲取持續時間之追蹤而動態預測一內容獲取持續時間,以及(ii)將該提前時間點判定為至少在該即將到來之時間點之前的該經預測之內容獲取持續時間;在該經判定之提前時間點,使該用戶端起始獲取該新內容之該程序;及在該即將到來之時間點,使該用戶端使用該獲取之新內容執行該內容修訂。
- 如請求項18之非暫時性電腦可讀媒體,其中該媒體串流包括視訊內容。
- 如請求項18之非暫時性電腦可讀媒體,其中該內容獲取持續時間之該 動態預測進一步至少基於自由內容源、處理器負載、記憶體負載、及網路速度構成之群組選擇之一因素。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862700647P | 2018-07-19 | 2018-07-19 | |
US62/700,647 | 2018-07-19 | ||
US16/166,962 | 2018-10-22 | ||
US16/166,962 US10820020B2 (en) | 2018-07-19 | 2018-10-22 | Advanced preparation for content revision based on expected latency in obtaining new content |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202131704A TW202131704A (zh) | 2021-08-16 |
TWI785485B true TWI785485B (zh) | 2022-12-01 |
Family
ID=69162187
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110103493A TWI785485B (zh) | 2018-07-19 | 2019-06-25 | 基於獲得新內容之預期延遲之用於內容修訂之提前準備 |
TW108122188A TWI717769B (zh) | 2018-07-19 | 2019-06-25 | 基於獲得新內容之預期延遲之用於內容修訂之提前準備 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108122188A TWI717769B (zh) | 2018-07-19 | 2019-06-25 | 基於獲得新內容之預期延遲之用於內容修訂之提前準備 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10820020B2 (zh) |
EP (1) | EP3824638B1 (zh) |
JP (1) | JP7181989B2 (zh) |
KR (1) | KR102311314B1 (zh) |
CN (1) | CN111034204A (zh) |
TW (2) | TWI785485B (zh) |
WO (1) | WO2020018191A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2579227B (en) * | 2018-11-26 | 2023-02-15 | Youview Tv Ltd | Selectively inserting content in streamed or broadcast media content |
US11089356B2 (en) | 2019-03-26 | 2021-08-10 | Rovi Guides, Inc. | Systems and methods for media content hand-off based on type of buffered data |
US12028571B2 (en) * | 2019-05-10 | 2024-07-02 | Roku, Inc. | Content-modification system with issue detection and responsive action feature |
CN113796093B (zh) * | 2019-05-10 | 2023-09-29 | 六科股份有限公司 | 具有确定输入缓冲区切换延迟特征的内容修改系统 |
US11095944B2 (en) * | 2019-08-19 | 2021-08-17 | Roku, Inc. | Content-modification system with broadcast schedule utilization feature |
US20210400338A1 (en) * | 2020-06-19 | 2021-12-23 | Apple Inc. | Systems and methods of video jitter estimation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110022471A1 (en) * | 2009-07-23 | 2011-01-27 | Brueck David F | Messaging service for providing updates for multimedia content of a live event delivered over the internet |
US20130219427A1 (en) * | 2012-02-22 | 2013-08-22 | Jean-Pol Zundel | Dynamic scheduling for advanced advertising in linear television |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003124983A (ja) * | 2001-10-17 | 2003-04-25 | Matsushita Electric Ind Co Ltd | データ受信装置および方法、並びに当該方法を用いたプログラム |
US20040237102A1 (en) | 2003-03-07 | 2004-11-25 | Richard Konig | Advertisement substitution |
JP4702743B2 (ja) * | 2005-09-13 | 2011-06-15 | 株式会社ソニー・コンピュータエンタテインメント | コンテンツ表示制御装置およびコンテンツ表示制御方法 |
JP4856716B2 (ja) | 2006-11-07 | 2012-01-18 | パイオニア株式会社 | コンテンツ処理システム、コンテンツ処理装置、外部装置 |
US8370887B2 (en) | 2008-05-30 | 2013-02-05 | Microsoft Corporation | Media streaming with enhanced seek operation |
JP2011124940A (ja) * | 2009-12-14 | 2011-06-23 | Brother Industries Ltd | 配信システム、ノード装置、情報処理装置、ノードプログラム、及び広告コンテンツ再生方法 |
US10038927B2 (en) * | 2011-12-22 | 2018-07-31 | Cisco Technology, Inc. | Out-of-band signaling and device-based content control |
US8732745B2 (en) | 2012-10-22 | 2014-05-20 | Sony Corporation | Method and system for inserting an advertisement in a media stream |
US8484676B1 (en) | 2012-11-21 | 2013-07-09 | Motorola Mobility Llc | Attention-based, multi-screen advertisement scheduling |
US9106557B2 (en) * | 2013-03-13 | 2015-08-11 | Comcast Cable Communications, Llc | Scheduled transmission of data |
US10097604B2 (en) | 2013-08-01 | 2018-10-09 | Spotify Ab | System and method for selecting a transition point for transitioning between media streams |
US9479801B2 (en) * | 2014-12-19 | 2016-10-25 | Telefonaktiebolaget L M Ericsson (Publ) | End user-based personalized ad insertion in broadcast-broadband hybrid terminals |
US10250928B2 (en) * | 2015-04-21 | 2019-04-02 | Edge2020 | Price driven multimedia content video time-bandwidth product improvement (VTBPI) reception |
US9743154B2 (en) * | 2015-09-09 | 2017-08-22 | Sorenson Media, Inc | Dynamic video advertisement replacement |
US20170140437A1 (en) * | 2015-11-18 | 2017-05-18 | Genesis Media Llc | Digital content generation based on content viewability forecasting |
KR102410473B1 (ko) * | 2016-08-01 | 2022-06-17 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
US10616631B2 (en) | 2016-08-01 | 2020-04-07 | Samsung Electronics Co., Ltd. | Electronic apparatus and method of operating the same |
JP2018019404A (ja) * | 2017-08-03 | 2018-02-01 | 株式会社エフエム東京 | データ再生システム、データ再生方法、データ配信装置、広告配信装置、データ再生端末及びデータ再生用プログラム |
CN107483991A (zh) * | 2017-09-08 | 2017-12-15 | 深圳Tcl新技术有限公司 | 电视广告的替换方法、装置及计算机可读存储介质 |
-
2018
- 2018-10-22 US US16/166,962 patent/US10820020B2/en active Active
-
2019
- 2019-06-07 JP JP2021502952A patent/JP7181989B2/ja active Active
- 2019-06-07 WO PCT/US2019/035967 patent/WO2020018191A1/en unknown
- 2019-06-07 KR KR1020217004200A patent/KR102311314B1/ko active IP Right Grant
- 2019-06-07 CN CN201980001148.8A patent/CN111034204A/zh active Pending
- 2019-06-07 EP EP19838379.6A patent/EP3824638B1/en active Active
- 2019-06-25 TW TW110103493A patent/TWI785485B/zh active
- 2019-06-25 TW TW108122188A patent/TWI717769B/zh active
-
2020
- 2020-07-09 US US16/924,806 patent/US11184649B2/en active Active
-
2021
- 2021-10-15 US US17/451,055 patent/US11496781B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110022471A1 (en) * | 2009-07-23 | 2011-01-27 | Brueck David F | Messaging service for providing updates for multimedia content of a live event delivered over the internet |
US20130219427A1 (en) * | 2012-02-22 | 2013-08-22 | Jean-Pol Zundel | Dynamic scheduling for advanced advertising in linear television |
Also Published As
Publication number | Publication date |
---|---|
EP3824638B1 (en) | 2023-11-15 |
WO2020018191A1 (en) | 2020-01-23 |
EP3824638A1 (en) | 2021-05-26 |
TWI717769B (zh) | 2021-02-01 |
CN111034204A (zh) | 2020-04-17 |
US10820020B2 (en) | 2020-10-27 |
JP7181989B2 (ja) | 2022-12-01 |
US20200029107A1 (en) | 2020-01-23 |
JP2021524716A (ja) | 2021-09-13 |
US11184649B2 (en) | 2021-11-23 |
US11496781B2 (en) | 2022-11-08 |
TW202008793A (zh) | 2020-02-16 |
US20220038758A1 (en) | 2022-02-03 |
KR20210022133A (ko) | 2021-03-02 |
KR102311314B1 (ko) | 2021-10-12 |
EP3824638A4 (en) | 2022-04-13 |
TW202131704A (zh) | 2021-08-16 |
US20200344506A1 (en) | 2020-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI785485B (zh) | 基於獲得新內容之預期延遲之用於內容修訂之提前準備 | |
US11882321B2 (en) | Establishment and use of time mapping based on interpolation using low-rate fingerprinting, to help facilitate frame-accurate content revision | |
TWI716018B (zh) | 動態縮減替換內容之播放以幫助對齊替換內容之結束與已替換內容之結束 | |
US11812103B2 (en) | Dynamic playout of transition frames while transitioning between playout of media streams |