TW201448570A - 適應性串流技術 - Google Patents

適應性串流技術 Download PDF

Info

Publication number
TW201448570A
TW201448570A TW103106874A TW103106874A TW201448570A TW 201448570 A TW201448570 A TW 201448570A TW 103106874 A TW103106874 A TW 103106874A TW 103106874 A TW103106874 A TW 103106874A TW 201448570 A TW201448570 A TW 201448570A
Authority
TW
Taiwan
Prior art keywords
bit rate
video
change
bit
segment
Prior art date
Application number
TW103106874A
Other languages
English (en)
Other versions
TWI561062B (en
Inventor
Ye-Ping Su
Hao Pan
James O Normile
Hsi-Jung Wu
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of TW201448570A publication Critical patent/TW201448570A/zh
Application granted granted Critical
Publication of TWI561062B publication Critical patent/TWI561062B/zh

Links

Classifications

    • 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 or manipulating encoded video stream scene graphs
    • H04N21/23418Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/142Detection of scene cut or scene change
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/23424Processing 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
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing 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
    • 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/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本發明呈現用於最小化歸因於不同位元速率串流之間的頻寬波動及轉變而由使用者感知之視訊品質改變之突然性及立即性的系統及方法。一種方法可包括:識別一位元串流之一即將發生之位元速率改變;及自包括於該位元串流中之同步圖框場景變換標記識別一最近場景變換邊界。該方法可包括計算在改變該位元速率之前等待直至該經識別最近場景變換邊界為止是否將導致緩衝器下降至低於一臨限值。當該緩衝器被計算為未下降至低於該臨限值時,該方法可延後該即將發生之位元速率改變,直至該經識別最近場景變換邊界為止。

Description

適應性串流技術 優先權主張
本申請案主張2013年2月27日申請之美國臨時申請案第61/769,944號的優先權,該臨時申請案之全文係以引用方式併入本文中。
適應性串流技術經設計成經由異質且動態之電腦網路而使多媒體資料串流。隨著網際網路之發展,已開發額外協定、安全性器件及頻寬管理工具。此等器件及工具中之一些(諸如,防火牆及代理伺服器)已封鎖或干擾不同視訊傳輸協定。結果,已愈來愈多地使用以超文字傳送協定(Hypertext Transfer Protocol,HTTP)為基礎之視訊串流協定,以確保視訊資料被成功地傳輸至能夠檢視標準HTTP訊務之使用者且可由該等使用者檢視。以HTTP為基礎之視訊串流協定亦無需特殊伺服器軟體,且係與允許標準HTTP訊務之任何防火牆及代理伺服器相容。適應性串流支援處於不同位元速率之若干替代視訊串流。用戶端視訊播放器已經組態以在不同串流之間進行選擇及/或切換,以在給出網路條件的情況下選擇最佳位元速率。在過去,僅在同步圖框上發生位元串流切換。
播放器亦已包括位元串流緩衝器(bitstream buffer),以一旦已由播放器接收經串流視訊資料就暫時地儲存該視訊資料。該緩衝器允許在無由網路頻寬波動造成之抖動的情況下解碼經串流視訊資料。若網 路頻寬足夠地減低,則最終可耗盡位元串流緩衝器。為了防止此情形,播放器已經組態以切換至將縮減緩衝器被耗盡之可能性的較低位元速率串流。一些播放器亦已使用網路頻寬估計器(network bandwidth estimator),以決定頻寬何時已足夠地增加以支援至較高位元速率串流之切換。不同位元速率串流之間的頻寬波動及轉變已引起由使用者感知的突然且立即可覺察之視訊品質改變。
需要最小化歸因於不同位元速率串流之間的頻寬波動及轉變而由使用者感知之視訊品質改變之突然性及立即性。
31‧‧‧方塊
32‧‧‧方塊
33‧‧‧方塊
34‧‧‧方塊
35‧‧‧方塊
36‧‧‧方塊
37‧‧‧方塊
41‧‧‧方塊
42‧‧‧方塊
43‧‧‧方塊
44‧‧‧方塊
51‧‧‧位元串流
52‧‧‧後設資料
53‧‧‧視訊片段
55‧‧‧方塊
56‧‧‧方塊
57‧‧‧方塊
58‧‧‧方塊
61‧‧‧方塊
62‧‧‧方塊
63‧‧‧方塊
64‧‧‧方塊
100‧‧‧視訊散佈系統
110‧‧‧散佈伺服器系統/散佈伺服器
115‧‧‧儲存系統/儲存體
120‧‧‧視訊播放器/用戶端播放器器件
130‧‧‧通信網路
140‧‧‧頻道串流
145‧‧‧索引檔案/資訊清單檔案
200‧‧‧系統
210‧‧‧寫碼伺服器
215‧‧‧緩衝器儲存器件
220‧‧‧預處理器
225‧‧‧寫碼引擎
230‧‧‧參數選擇器
235‧‧‧品質估計器
240‧‧‧目標位元速率估計器
250‧‧‧散佈伺服器
270‧‧‧播放器
300‧‧‧用於在場景變換期間實施位元速率改變之例示性程序
為了可理解本發明之特徵,下文描述數個圖式。然而,應注意,隨附圖式僅說明本發明之特定實施例,且因此不應被視為限制本發明之範疇,此係因為本發明可涵蓋其他同等有效實施例。
圖1說明適合於供本發明使用之視訊散佈系統(video distribution system)的簡化方塊圖。
圖2說明根據本發明之一實施例的具有整合式寫碼伺服器及散佈伺服器之系統的簡化方塊圖。
圖3說明根據本發明之一實施例的用於在場景變換期間實施位元速率改變之例示性程序。
圖4說明根據本發明之一實施例的用於逐步切換之例示性程序。
圖5說明根據本發明之一實施例的用於基於視訊資料中之經標記資訊而調整位元串流速率之程序。
圖6說明根據本發明之一實施例的用於當編碼器具備播放器緩衝器大小時最佳化編碼之例示性程序。
本發明之實施例提供用於最小化歸因於不同位元速率串流之間的頻寬波動及轉變而由使用者感知之視訊品質改變之突然性及立即性 的系統及方法。本文所論述之技術中每一者可被單獨地使用,或結合本文所論述之其他技術中之一或多者而使用。
圖1說明適合於供本發明使用之視訊散佈系統100的簡化方塊圖。系統100可包括散佈伺服器系統110及用戶端器件,該用戶端器件含有經由通信網路130而連接之視訊播放器120。散佈伺服器110可包括儲存系統115,儲存系統115儲存多種視訊內容項目(例如,電影、電視節目及其他動畫內容)以供用戶端播放器器件120下載。
散佈伺服器110可將視訊內容項目之若干複本儲存為經寫碼視訊串流,該等視訊串流中每一者係以各別位元速率、圖框速率及圖框大小被寫碼。視訊串流經剖析成複數個「區塊(chunk)」,經寫碼視訊之片段表示預定持續時間之視訊內容。圖1之實例說明以各別位元速率(分別為4Mb/s、2Mb/s及500Kb/s)而寫碼之三個經寫碼視訊位元串流A、B及C,其中每一區塊表示5秒之來源視訊。散佈伺服器110亦可儲存索引檔案145,在本文中被稱為「資訊清單(manifest)」檔案,其使經寫碼視訊串流與視訊內容項目相關聯,且使每一經寫碼視訊串流之區塊與其他視訊串流之對應區塊相關。
當散佈伺服器110接收針對視訊內容項目之請求時,伺服器110可將資料自資訊清單檔案145提供至用戶端器件120。在裝備有表示經寫碼視訊串流之不同資料速率之資訊的情況下,用戶端器件120可識別該等視訊串流中之一者或用於遞送視訊之位元速率中之一者。器件對遞送頻寬之識別可基於在網路130中可用之頻寬的估計,及/或在用戶端器件120處可用以解碼經接收資料之處理或顯示能力的估計。作為回應,散佈伺服器110可以指定資料速率自儲存體115擷取資料區塊,可自經擷取區塊建置頻道串流,且可將頻道串流140傳輸至用戶端器件120。
隨著時間推移,隨著散佈伺服器110將其區塊遞送至用戶端器件 120,用戶端器件120可請求以不同資料速率來遞送視訊內容項目。舉例而言,用戶端器件120可修訂其對網路頻寬及/或本機處理或顯示能力之估計。作為回應,散佈伺服器110可擷取對應於不同資料速率之區塊,且將該等區塊建置成頻道串流。用戶端器件120可在遞送工作階段期間重複地請求不同資料速率,且因此,遞送至用戶端器件120之頻道串流140可包括自多種視訊寫碼串流採取之區塊。
資訊清單檔案可包括可被表示為後設資料之不同語法元素。舉例而言,對於每一串流,語法元素可包括其是否含有具有不同解析度之區塊的指示。因此,在區塊開始時,播放器可決定其是否應更新視訊解析度資訊。
在另一實例中,對於每一串流,資訊清單檔案可包括指示所有區塊之第一圖框是否為同步圖框的資料。因此,當在串流當中進行切換時,播放器可決定切換至哪一圖框或區塊。
在一另外實例中,對於每一串流及/或區塊,資訊清單檔案可包括指示經識別同步圖框是否亦為場景變換之部分的資料。因此,播放器可決定延後或延遲在串流當中之切換,直至在經識別同步圖框處發生下一場景變換為止。
在另一實例中,對於每一串流及/或區塊,資訊清單檔案可包括指示該串流或區塊之視覺品質的資料。因此,播放器可在串流當中進行切換以達成最佳視覺體驗,例如,藉由最大化平均視覺品質及/或最小化視覺品質跳躍。
在另一實例中,對於每一串流及/或區塊,資訊清單檔案可包括其位元速率及/或該區塊中之位元之數目的指示。播放器可根據區塊位元速率及/或每一區塊中識別的位元之數目來判定播放器之緩衝及切換行為。
在另一實例中,對於每一串流及/或區塊,資訊清單檔案可包括 指示該等區塊之解析度的資料。因此,播放器可基於區塊之解析度而決定播放器是否應更新視訊解析度。
在另一實例中,對於每一區塊,資訊清單檔案可包括指示播放自該區塊開始或在該區塊之後的串流之其餘部分所需要之頻寬的資料。因此,播放器可基於此資料而決定切換至哪一串流。
在另一實例中,對於每一串流及/或區塊,資訊清單檔案可包括當在同步圖框處開始時指示初始緩衝條件之資料。緩衝條件可指示在給出預定緩衝器大小及網路頻寬的情況下在解碼及/或開始播放之前應緩衝的位元之數目。可選擇位元之數目以避免可在播放期間造成中斷之位元串流緩衝器降位。因此,當存在隨機存取事件時,播放器可決定緩衝多少。
在另一實例中,對於每一區塊,資訊清單檔案可包括指示其第一圖框是否為同步圖框之資料。因此,當在串流當中進行切換時,播放器可決定切換至哪一圖框或區塊。
在另一實例中,對於每一區塊,資訊清單檔案可包括指示播放器在處理該區塊之後應切換至之串流的資料。
圖2說明根據本發明之一實施例的例示性視訊寫碼及散佈系統。如圖2所展示,系統200可包括整合式寫碼伺服器210及散佈伺服器250。
寫碼伺服器210可包括緩衝器儲存器件215、預處理器220、寫碼引擎225、參數選擇器230、品質估計器235及目標位元速率估計器240。緩衝器儲存器件215可儲存通常來自攝影機或儲存器件之輸入視訊,該輸入視訊被發送至預處理器220及/或參數選擇器230。
預處理器220可將視訊處理操作應用於視訊。舉例而言,預處理器220可變更視訊序列之大小及/或圖框速率。預處理器220亦可包括適當儲存體,使得隨著寫碼伺服器210產生共同視訊序列之其各種經 寫碼版本,可對該序列重複地執行由參數選擇器230選擇之大小及/或圖框速率修改。
寫碼引擎225可將資料壓縮操作應用於由預處理器220輸出之視訊序列。寫碼引擎225可根據包括MPEG、H.263、H.264及HEVC寫碼標準家族之共同視訊寫碼協定中任一者而操作。寫碼引擎225可將寫碼參數應用於視訊序列之不同元素,包括(例如)寫碼模式選擇,諸如,將輸入圖框寫碼為I圖框、P圖框抑或B圖框,及/或將待在圖框內應用之一或多個量化參數層級識別為經寫碼視訊資料的量化參數。
參數選擇器230可產生被供應至預處理器220及/或寫碼引擎225以控管其操作之參數資料。舉例而言,參數選擇器230可使預處理器220變更被輸出至寫碼引擎225之資料的大小及/或圖框速率。參數選擇器230可將寫碼模式及/或量化參數強加至寫碼引擎225。參數選擇器230可基於自目標位元速率估計器240接收之位元速率估計且基於來源視訊之複雜性估計而選擇寫碼參數。
品質估計器235可估計由寫碼引擎輸出之經寫碼視訊資料的品質。可基於可在解碼期間發生之預期或測定誤差而估計品質。品質估計器235可輸出表示經寫碼視訊資料之品質之定量估計的數位資料。
目標位元速率估計器240可基於待由散佈伺服器250支援之資料速率而產生針對視訊片段之位元速率估計。
在操作期間,目標位元速率估計器240可將位元速率分攤至視訊序列,且基於由散佈伺服器250提供之資料速率及區塊大小估計而選擇再新速率。回應於由目標位元速率估計器240選擇之位元速率,且基於視訊序列自身之分析,參數選擇器230可選擇用於預處理器220及/或寫碼引擎225之操作參數。舉例而言,參數選擇器230可使預處理器220調整視訊序列之圖框大小(或解析度)。參數選擇器230亦可對視訊序列內之圖框選擇寫碼模式及量化參數。寫碼引擎225可藉由運動 補償預測性技術來處理輸入視訊,且輸出表示輸入視訊序列之經寫碼視訊資料。
品質估計器235可評估經寫碼視訊資料,且估計根據選定參數而寫碼之視訊序列的品質。品質估計器235可判定寫碼之品質是否滿足與由散佈伺服器250設定之位元速率相關聯的預定定性臨限值。若品質估計器235判定出寫碼滿足臨限值,則品質估計器235可驗證寫碼。與此對比,若品質估計器235判定出寫碼不滿足與目標位元速率相關聯之足夠品質臨限值,則品質估計器235可修訂由參數選擇器230應用之寫碼參數,且可使預處理器220及寫碼引擎225重複對來源視訊之操作。
一旦參數選擇器230選擇符合由品質估計器235建立之品質度量的一組處理及寫碼參數,寫碼伺服器210就可前進至由散佈伺服器250支援之下一位元速率。再次,參數選擇器230及品質估計器235可遞歸式地操作:選擇參數;在預處理操作及寫碼中應用該等參數;估計藉此獲得之經寫碼視訊資料的品質;及修訂參數,直至滿足品質要求為止。
場景變換標記
視訊序列可包括不同場景、攝影機角度及背景。場景變換可包括此等不同場景、角度或背景之間的轉變。舉例而言,在待廣播之採訪期間,第一攝影機可定位於受訪者上且第二攝影機可定位於採訪者上。每當視訊在受訪者之影像與採訪者之影像之間切換時便可發生場景變換。當在此等場景變換期間或在場景變換邊界處發生歸因於位元串流切換而由使用者感知之視訊品質改變時,該等視訊品質改變可較不可見。
編碼器(例如,寫碼伺服器210)可識別且接著標記亦為場景變換之同步圖框。可將標記插入於資訊清單檔案中,資訊清單檔案可被至 少部分地傳輸至播放器270以使播放器270能夠提前識別即將發生之場景變換。播放器270可使用經標記同步圖框資訊以選擇何時在不同位元串流速率之間進行轉變。舉例而言,播放器270可使用經標記同步圖框資訊以允許大於原本將針對未經標記同步圖框所准許之位元串流速率轉變的位元串流速率轉變。
圖3說明在本發明之一實施例中的用於在場景變換期間實施位元速率改變之例示性程序300。
在方塊31中,可識別視訊位元速率串流之即將發生之速率改變。可經由網路條件或頻寬之改變、播放器處之可用緩衝器大小的改變、正被傳輸之資料的改變或保證選定位元速率串流之速率改變的另一事件而識別即將發生之改變。
一旦已識別即將發生之速率改變,就在方塊32中,可自被包括作為正被傳輸至播放器之選定位元速率串流之部分的同步圖框場景變換標記識別最近場景變換邊界。在一些例子中,此等場景變換標記可包括於被傳輸至播放器之資訊清單檔案資料中。在另一實施例中,播放器可分析經接收視訊序列(例如,儲存於緩衝器中之視訊序列)以判定場景改變。
在方塊33及34中,可作出關於播放器處之剩餘緩衝器是否足以使能夠延後位元速率改變直至到達方塊32中識別之最近場景變換邊界為止的判定。若鑒於直至到達方塊32中識別之最近場景變換邊界為止所需要之延後,播放器處之剩餘緩衝器超過臨限值,則該剩餘緩衝器可足夠。臨限值可為:時間臨限值,諸如,至少x秒之視訊資料;數量臨限值,諸如,至少y位元之視訊資料,或至少z百分比之飽和;或另一類型之臨限值。
若剩餘緩衝器被判定為足夠,則在方塊35中,可延後位元速率改變,直至到達含有方塊32中識別之最近場景變換邊界的同步圖框為 止。
若剩餘緩衝器被判定為不足,則在方塊36中,可在到達含有方塊32中識別之最近場景變換邊界的同步圖框之前進行第一位元速率改變。在一些例子中,可將方塊36中之第一位元速率改變選擇為確保播放器處之剩餘緩衝器足以使能夠延後位元速率改變直至到達方塊32中識別之最近場景變換邊界為止所必要的最小位元速率改變。在其他例子中,可將方塊36中之位元速率改變設定為預定速率改變量,或可對該位元速率改變設最高限度以便不超過預定量。
在方塊37中,視需要,可在含有方塊32中識別之最近場景變換邊界的同步圖框處實施達成方塊31中識別之速率改變所需要的第二或任何另外位元速率改變。
逐步切換
在過去,當可用網路頻寬突然地下降時,播放器藉由立即地切換至對應於頻寬下降之較低位元速率串流而作出回應。高頻寬下降引起位元速率之大減低,從而造成由觀賞播放器中之視訊之使用者立即地可覺察的突然品質下降。在一些實施例中,可發生位元速率之分段縮減,以避免使用者不喜歡之突然品質下降。
藉由在經緩衝視訊資料下降至低於預定臨限值之前較早地開始縮減位元速率,可發生分段位元速率縮減。接著可遍及預定時期而展開位元速率縮減,使得代替一種強烈的可覺察之位元速率下降,隨著時間推移而遞增地縮減位元速率。當歸因於可用頻寬之增加而增加位元速率時,亦可應用此技術。
圖4說明根據本發明之一實施例的用於位元速率之逐步切換之例示性程序。
在方塊41中,可識別網路頻寬改變。可藉由比較網路頻寬改變與臨限值來識別網路頻寬改變。可使用網路診斷工具來識別網路頻寬 改變,該等網路診斷工具包括進行以下操作之應用程式:偵測網路效能問題;偵測遺失封包;追蹤路由器、交換器、伺服器及其他器件之回應時間;及/或分析網路效能及訊務。臨限值可為在實施逐步切換之前的預定最小頻寬改變值。可選擇臨限值,使得僅在原始位元速率與新目標位元速率之間進行切換時存在待轉變之至少預定數目個中間位元速率時才實施逐步切換。
在方塊42中,可自資訊清單檔案中指定或自另一來源獲得之複數個可用位元速率串流識別新目標位元速率。可將在給出網路頻寬之改變的情況下能夠提供最高品質的來自可用位元速率串流之位元速率識別為目標位元速率。不同演算法及準則可鑒於頻寬改變而判定哪一串流能夠提供最高品質。舉例而言,在一些例子中,可選擇鑒於頻寬改變而最接近於用於視訊串流之可用頻寬的位元速率。在其他例子中,可識別鑒於網路頻寬改變而允許選定串流之預定緩衝的位元速率。在其他例子中,可使用其他準則。
一旦已在方塊42中識別目標位元速率,就在方塊43中,可識別介於原始位元速率與目標位元速率之間的可用位元速率中至少一者。可出於轉變計劃目的而使用方塊43中識別之位元速率。
在方塊44中,可隨著時間推移而在方塊43中識別之位元速率中每一者之間遞增地轉變原始位元速率,直至到達目標位元速率為止。可以一或多個預定速率來發生此遞增轉變。在一些例子中,可選擇轉變速率,使得在方塊43中之中間位元速率中每一者當中均勻地劃分用於自原始位元速率轉變至目標位元速率之時期。在其他例子中,轉變速率可取決於中間位元速率而變化。舉例而言,可快速地發生自原始位元速率至第一中間位元速率之第一轉變,其中較不快速地發生至其他中間位元速率之後續轉變,或反之亦然。不同公式及準則可提供轉變速率之選擇及/或轉變速率之變化方式。
即將發生之片段資訊標記
取決於視訊串流中之每一片段中含有之視訊資料的複雜性,相比於其他片段,可運用不同數目個位元來編碼該片段。若播放器能夠預先知道位元串流之不同片段的即將發生之瞬時位元速率,則播放器可較準確地決定可平滑地播放哪一片段。對於隨選視訊應用,此情形係可藉由如下操作而達成:將諸如#位元標記之標記或其他指示符傳輸至播放器,該標記或其他指示符指示由位元串流之即將發生之片段使用之位元的數目。亦可自媒體資料之每一片段的位元組位移來推斷不同片段之即將發生之瞬時位元速率。在給出關於即將發生之片段之此位元資訊的情況下,播放器可在給出當前緩衝器狀態及網路條件的情況下較準確地計算最高永續速率位元串流。此標記資訊可儲存於資訊清單檔案中且接著傳輸至播放器。
除了知道每一即將發生之片段中之位元的數目以外,在其他實施例中,可運用關於經編碼視訊資料之視覺品質特性的額外資訊來較精確地控制視訊播放品質。可基於當將視訊資料編碼成片段時在編碼器處執行之誤差計算而估計此視覺品質資訊。誤差計算可表示在編碼及影像壓縮程序期間遺失之視覺資訊的量。一般而言,在編碼期間遺失及在解碼期間不可復原之資訊愈多,則在解碼期間之誤差愈大且解碼影像之品質愈差。
亦可將諸如#品質標記之品質標記或其他品質指示符傳輸至播放器。此品質指示符可指示基於在編碼期間計算之誤差或其他準則的位元串流之即將發生之片段之相對估計品質。舉例而言,對於由品質估計器在編碼期間計算之片段,取決於諸如平均誤差之誤差,品質指示符可包括自0至10(或另一標度)之品質排名。在一些例子中,品質資訊亦可儲存於資訊清單檔案中。
播放器接著可使用品質資訊以藉由延後及/或加速位元速率改變 來計劃位元速率改變,以在切換期間確保平滑品質轉變。播放器亦可基於由播放器接收之品質資訊而在解碼期間最佳化經緩衝視訊資料之品質。
圖5說明根據本發明之一實施例的用於基於視訊資料中之經標記資訊而調整位元串流速率之程序。例示性位元串流51可包括提供關於即將發生之視訊片段53之經標記資訊的後設資料52。可關於位元串流51中提供之經標記資訊來調整位元串流速率。
位元串流51可包括經編碼成一或多個片段53之視訊資料,及含有關於該視訊資料及/或位元串流51之資訊的後設資料52,在一些例子中,其係可自資訊清單檔案而獲得。在圖5所展示之實例中,位元串流51包括含有用於編號為1至4之四個視訊片段53中每一者之#位元標記及#品質標記的後設資料52,接著為用於四個片段53中每一者之經編碼視訊資料。儘管將含有關於四個片段53中每一者之標記資訊的後設資料52展示為在四個視訊片段53中每一者之前,但在一些例子中,可分裂後設資料52,使得緊接地在片段1之前傳輸用於片段1之後設資料標記資訊,緊接地在片段2之前傳輸用於片段2之後設資料標記資訊,緊接地在片段3之前傳輸用於片段3之後設資料標記資訊,等等。在其他實施例中,亦可使用用於傳輸後設資料52之其他序列。
在編碼期間,編碼器可識別視訊片段53中每一者中之位元的數目,且將用於每一片段53之位元的經識別數目包括於經由位元串流51而傳輸至解碼器之後設資料52中。編碼器可計算或以其他方式識別與片段53中每一者相關聯之誤差或其他編碼品質指示符,且將用於每一片段53之編碼品質指示符包括於經由位元串流51而傳輸至解碼器之後設資料52中。
在方塊55中,可識別位元串流51之至少一即將發生之視訊片段53中的位元之數目。可自作為位元串流51之部分而傳輸至播放器的後 設資料52識別位元之數目。
在方塊56中,可基於方塊55中的即將發生之片段位元之經識別數目、播放器之當前緩衝器狀態、網路條件及/或由頻寬估計器確定之可用頻寬而計算最高永續未來位元串流速率。
在方塊57中,可基於方塊56中計算之最高位元串流速率及方塊55中識別的即將發生之位元之數目而調整位元串流速率。調整位元串流速率可包括轉變至具有不同位元串流速率之位元串流。可在資訊清單檔案中識別不同位元串流速率。
在方塊58中,可基於位元串流51之至少一即將發生之片段53中的位元之經識別品質而調整位元串流速率。可自作為位元串流51之部分而傳輸至播放器的後設資料52識別至少一即將發生之片段中之位元的品質。調整位元串流速率可包括轉變至具有不同位元串流速率之位元串流。可在資訊清單檔案中識別不同位元串流速率。
如上文所論述,播放器接著可使用方塊55中識別的即將發生之位元之數目及/或至少一即將發生之片段53中的位元之品質,以藉由延後及/或加速位元速率改變來計劃位元速率改變,以在切換期間確保平滑品質轉變。播放器亦可基於由播放器接收的即將發生之位元之數目及/或品質資訊而在解碼期間最佳化經緩衝視訊資料之品質。
編碼技術
若編碼器具備關於播放器之位元串流緩衝器之大小的資訊,則亦可最佳化編碼。藉由知道播放器之緩衝器大小,編碼器可能夠較好地分配位元以防止緩衝器降位。舉例而言,可在靜態區段逐漸至忙碌區段中緩慢地降低編碼位元速率,使得可將較多位元分配至忙碌區段,藉此縮減在播放忙碌區段期間由使用者感知之品質縮減。
編碼器亦可經組態以考慮在編碼期間之播放器切換邏輯的影響。舉例而言,若編碼器能夠以有效方式來準確地編碼短忙碌區段 (例如,運用低於預定臨限值之誤差予以編碼),則可標記該區段以指示出允許及/或偏好在該區段處發生位元速率改變。相似地,若區段特別複雜或難以準確地編碼(例如,運用等於或高於預定臨限值之誤差予以編碼),則可標記該區段以指示出不允許及/或偏好在該區段處發生位元速率改變。
圖6說明根據本發明之一實施例的用於當編碼器具備播放器緩衝器大小時最佳化編碼之例示性程序。
在方塊61中,可識別視訊播放器之緩衝器資訊。視訊播放器之緩衝器資訊可指示緩衝器之總大小,及/或具有資料(例如,緩衝器中的x秒之視訊資料;緩衝器中的y位元之資料,為飽和的緩衝器之百分比,及/或另一類型之臨限值)之緩衝器的量。可基於自播放器提供至編碼器之資料及/或基於對編碼器端處之緩衝器資訊進行之估計而識別緩衝器資訊。
在視訊播放器可具有可變緩衝器大小的一些例子中,視訊播放器可經由通信網路而將其緩衝器大小資訊傳輸至編碼器。在一些例子中,編碼器可具備一或多個緩衝器大小,且可藉由自所提供之一或多個緩衝器大小選擇一緩衝器大小而初始地識別播放器之緩衝器大小。在存在一個以上可用緩衝器大小的例子中,編碼器可具備用於選擇緩衝器大小之一或多個準則。此準則可包括但不限於播放器之版本、正供執行播放器之器件類型、位元串流之長度及/或大小、發送至播放器之資料,及/或其他準則。
在方塊62中,可基於方塊61中識別之緩衝器大小而調整正被傳輸至播放器之位元串流的編碼速率。可進行調整以縮減緩衝器降位或緩衝器溢位。可調整緩衝器降位,使得並不歸因於緩衝器以慢於由播放器消耗緩衝器之內容之速率的速率來接收資料而中斷資料串流內容之播放。可調整緩衝器溢位,使得並不歸因於緩衝器以快於由播放器 消耗緩衝器之內容之速率的速率來接收資料而中斷資料串流內容之播放。
在方塊63中,藉由在位元串流之靜態區段逐漸至忙碌區段中降低位元速率,可調整編碼速率以縮減緩衝器降位。舉例而言,如上文所論述,可在靜態區段逐漸至忙碌區段中緩慢地降低編碼位元速率,使得可將較多位元分配至忙碌區段,藉此縮減在播放忙碌區段期間由使用者感知之品質縮減。
在方塊64中,藉由以較高不永續速率來編碼位元串流之短忙碌區段,同時針對位元串流之靜態區段將位元速率降低至低於最大永續速率,可調整編碼速率以縮減緩衝器降位。舉例而言,可在忙碌區段逐漸至靜態區段中緩慢地增加編碼位元速率,使得可將較少位元分配至靜態區段,藉此縮減在播放靜態區段期間由使用者感知之品質增加。此情形可縮減忙碌區段中之品質下降,其中在給出固定緩衝器大小的情況下,以增加較不可能為使用者可覺察的靜態區段中之品質下降為代價,忙碌區段中之品質下降較可能為使用者可覺察。
在方塊65中,藉由以較高位元速率來編碼位元串流,可調整編碼速率以縮減緩衝器溢位。可逐步地進行調整以避免使用者不喜歡之突然品質改變。在一項實施例中,可在忙碌區段逐漸至靜態區段中緩慢地增加編碼位元速率,而可使靜態區段之編碼位元速率維持不變。此情形可增加忙碌區段中之品質。
啟動行為
當初始地將視訊串流選擇為傳輸至播放器且在播放器處播放時,可存在可供進行可用頻寬之可靠估計的很少或無頻寬歷史。頻寬估計器通常在提取啟動位元串流之片段之後制訂初始頻寬估計。網路及/或可用頻寬之最後已知良好狀態可提供可用頻寬之初始估計,而非盲目地選擇該等可用位元串流中之一者且接著在制訂可用頻寬之初 始估計時切換串流。藉由使用最後已知良好狀態可用頻寬,播放器可初始地選擇最小化啟動時間之位元速率。
在其他例子中,在使用者選擇視訊串流之前,播放器或與播放器相關聯之另一應用程式(諸如,網際網路瀏覽器)可先占式地探查可用頻寬。舉例而言,在初始地執行播放器之後,及在啟動視訊串流之前,播放器可探查可用頻寬。在其他例子中,在使用者於進行選擇之前搜尋全部視訊串流時,播放器或與播放器相關聯之其他應用程式可探查可用頻寬,使得播放器具有可用頻寬之最當前估計。
在一些應用中,可將上文所描述之模組提供為整合式軟體系統之元件,其中可將區塊提供為電腦程式之分離元件。可(例如)使用可儲存一指令或一組指令之非暫時性電腦可讀儲存媒體或物品來實施一些實施例,該指令或該組指令在由處理器執行可使處理器執行根據所揭示實施例之方法。可將本發明之其他應用體現為專用硬體組件與軟體組件之混合式系統。
例示性方法及電腦程式指令可體現於非暫時性機器可讀儲存媒體上。另外,伺服器或資料庫伺服器可包括經組態以儲存機器可執行程式指令之機器可讀媒體。本發明之實施例的特徵可實施於硬體、軟體、韌體或其組合中,且用於系統、子系統、組件或其子組件中。「機器可讀儲存媒體」可包括可儲存資訊之任何媒體。機器可讀儲存媒體之實例包括電子電路、半導體記憶體器件、ROM、快閃記憶體、可抹除ROM(EROM)、軟碟、CD-ROM、光碟、硬碟、光纖媒體,或任何電磁或光學儲存器件。
應瞭解,在任何實際實施之開發中(如在任何開發專案中),必須作出眾多決策以達成開發者之特定目標(例如,符合系統及商業相關約束),且此等目標將隨著不同實施而變化。亦應瞭解,此等開發努力可能複雜且費時,但仍然將為受益於本發明的在數位視訊捕獲、處 理及散佈領域中之一般技術者的常規任務。
儘管本文所說明及描述之程序包括數系列步驟,但應瞭解,本發明之不同實施例不受到步驟之所說明排序限制,此係因為一些步驟可以不同次序發生,一些步驟係與除了本文所展示及描述之步驟以外的其他步驟同時地發生。另外,可並不需要所有所說明步驟來實施根據本發明之方法。此外,應瞭解,可結合本文所說明及描述之裝置及系統以及結合未說明之其他系統來實施該等程序。
應理解,以上描述意欲為說明性的而非限制性的。舉例而言,上述實施例可彼此組合地被使用。對於熟習此項技術者而言,在檢閱以上描述後,許多其他實施例隨即將顯而易見。因此,應參考隨附申請專利範圍連同此等申請專利範圍有權使用之等效者的全部範疇來判定本發明之範疇。
31‧‧‧方塊
32‧‧‧方塊
33‧‧‧方塊
34‧‧‧方塊
35‧‧‧方塊
36‧‧‧方塊
37‧‧‧方塊
300‧‧‧用於在場景變換期間實施位元速率改變之例示性程序

Claims (27)

  1. 一種方法,其包含:識別一經循序遞送位元串流之一即將發生之位元速率改變;自包括於該位元串流中之同步圖框場景變換標記識別一最近場景變換邊界;計算在改變該位元速率之前等待直至該經識別場景變換邊界為止是否將造成一位元串流接收器處之一緩衝器跨越一臨限值;及當該緩衝器被計算為未跨越該臨限值時,延後該即將發生之位元速率改變,直至在序列中到達該經識別場景變換邊界為止。
  2. 如請求項1之方法,其中當該緩衝器被計算為跨越該臨限值時,在該最近場景變換邊界之前轉變至另一位元串流。
  3. 如請求項2之方法,其中在該最近場景變換邊界之前至該另一位元串流之轉變包括:轉變至一中間位元速率,該中間位元速率介於一當前位元串流之一位元速率與該位元速率改變之一目標位元串流之一位元速率之間。
  4. 如請求項3之方法,其中當該緩衝器被計算為跨越該臨限值時,在該場景變換邊界處進行至該目標位元串流之該轉變。
  5. 如請求項1之方法,其中當該緩衝器被計算為跨越該臨限值時,在該場景變換邊界之前轉變至一中間位元速率,且在該場景變換邊界處轉變至該經識別的即將發生之位元速率改變之一位元速率,該中間位元速率小於該經識別的即將發生之位元速率改變之該位元速率。
  6. 如請求項1之方法,其中基於網路條件之一改變而識別該即將發 生之位元速率改變。
  7. 如請求項1之方法,其中基於緩衝器飽和度之一改變而識別該即將發生之位元速率改變。
  8. 如請求項1之方法,其中基於緩衝器飽和度中之一改變及一網路頻寬之一改變而識別該即將發生之位元速率改變。
  9. 如請求項1之方法,其中該等同步圖框場景變換標記包括於一資訊清單檔案中。
  10. 一種方法,其包含:識別超過一臨限值的一網路頻寬之一改變;自一位元串流之複數個可選擇位元速率識別對應於該經識別網路頻寬改變之一目標位元速率;識別介於一原始位元速率與該目標位元速率之間的至少一可選擇位元速率;及自該原始位元速率經由該至少一可選擇位元速率而遞增地轉變,直至到達該目標位元速率為止。
  11. 如請求項10之方法,其中在表示一場景變換之一同步圖框處進行至該目標位元速率之該轉變。
  12. 如請求項11之方法,其中在表示該場景變換之最近同步圖框之前進行至該(該等)可選擇位元速率之該轉變。
  13. 如請求項10之方法,其中在表示場景變換之同步圖框處進行至該目標位元速率及該可選擇位元速率中每一者之該轉變。
  14. 一種方法,其包含:識別包括複數個片段之一視訊位元串流的一即將發生之片段中的位元之一數目;基於位元之該經識別數目、經緩衝視訊資料之一量及一可用網路頻寬而計算一最高永續位元串流速率;及 基於該經計算之最高位元串流速率及即將發生之位元之該經識別數目而調整一位元串流速率。
  15. 如請求項14之方法,其進一步包含:自與該視訊位元串流相關聯之一品質標記擷取即將發生之片段之一品質指示符,該品質指示符指示基於在編碼期間計算之一誤差的每一即將發生之片段之一相對估計品質;及基於各別片段之間的一品質指示符差而調整位元串流速率改變之時序,以使視訊品質改變平滑。
  16. 如請求項15之方法,其中該視訊位元串流之每一片段包括一後設資料標記,該後設資料標記具有用於該後續片段中之位元之該數目及該後續片段之該品質的資訊。
  17. 如請求項14之方法,其中該視訊位元串流之每一片段包括一後設資料標記,該後設資料標記具有用於該後續片段中之位元之該數目的資訊。
  18. 如請求項14之方法,其中在表示一場景變換的該視訊位元串流之一同步圖框處調整該位元速率。
  19. 如請求項14之方法,其中經由至少一中間位元速率而遞增地調整該位元速率。
  20. 一種方法,其包含:識別包括複數個片段之一經循序遞送位元串流之一即將發生之位元速率改變;識別一視訊位元串流之即將發生之片段之一品質指示符,該品質指示符指示基於在編碼期間計算之一誤差的每一即將發生之片段之一相對估計品質;及基於各別片段之間的一品質指示符差而調整該等位元串流速率改變之時序,以使視訊品質改變平滑。
  21. 如請求項20之方法,其中自與該視訊位元串流相關聯之一品質標記識別該等片段之該品質指示符。
  22. 如請求項20之方法,其中當該等片段之該品質指示符高於一預定臨限值時,縮減該位元串流之該位元速率。
  23. 一種方法,其包含:識別一視訊播放器之一位元串流緩衝器大小;及以一第一位元速率來編碼被傳輸至該視訊播放器之一位元串流中之視訊資料之一第一區段;以一第二位元速率來編碼緊接地在該第一區段之後的該位元串流中之視訊資料之一第二區段;及基於該經識別位元串流緩衝器大小而選擇該第一位元速率及該第二位元速率以防止該視訊播放器處之一緩衝器降位。
  24. 如請求項23之方法,其中該第一位元速率低於該第二位元速率。
  25. 如請求項24之方法,其中該視訊資料之該第一區段對應於該視訊資料之一靜態區段,且該視訊資料之該第二區段對應於該視訊資料之一忙碌區段。
  26. 如請求項23之方法,其進一步包含:提供與該視訊資料之該等區段相關聯之標記以指示在哪些區段中允許該位元速率之轉變。
  27. 如請求項26之方法,其中具有低於一預定臨限值之一編碼誤差的該視訊資料之一區段包括指示出在該區段中允許該位元速率之轉變的該標記。
TW103106874A 2013-02-27 2014-02-27 Adaptive streaming techniques TWI561062B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361769944P 2013-02-27 2013-02-27
US14/190,880 US9992499B2 (en) 2013-02-27 2014-02-26 Adaptive streaming techniques

Publications (2)

Publication Number Publication Date
TW201448570A true TW201448570A (zh) 2014-12-16
TWI561062B TWI561062B (en) 2016-12-01

Family

ID=50277378

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103106874A TWI561062B (en) 2013-02-27 2014-02-27 Adaptive streaming techniques

Country Status (7)

Country Link
US (1) US9992499B2 (zh)
EP (1) EP2949123A2 (zh)
KR (1) KR101716071B1 (zh)
CN (1) CN105075273B (zh)
AU (1) AU2014223523B2 (zh)
TW (1) TWI561062B (zh)
WO (1) WO2014134177A2 (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9560392B2 (en) 2012-09-07 2017-01-31 Google Inc. Dynamic bit rate encoding
US9419737B2 (en) 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
US10165028B2 (en) * 2014-03-25 2018-12-25 Intel Corporation Context-aware streaming of digital content
JP6419848B2 (ja) * 2014-06-30 2018-11-07 ディッシュ テクノロジーズ エル.エル.シー.DISH Technologies L.L.C. 帯域幅最適化のための適応的データセグメント配信調停
GB2528039A (en) * 2014-07-01 2016-01-13 Canon Kk Method for identifying objects across time periods and corresponding device
EP2993910A1 (en) * 2014-09-04 2016-03-09 Thomson Licensing Method and client terminal for receiving a multimedia content split into at least two successive segments, and corresponding computer program product and computer-readable medium.
CN105096373B (zh) * 2015-06-30 2020-04-28 华为技术有限公司 一种媒体内容渲染的方法、用户设备及系统
US10021438B2 (en) 2015-12-09 2018-07-10 Comcast Cable Communications, Llc Synchronizing playback of segmented video content across multiple video playback devices
US10652298B2 (en) 2015-12-17 2020-05-12 Intel Corporation Media streaming through section change detection markers
KR101716082B1 (ko) * 2016-04-12 2017-03-14 연세대학교 산학협력단 영상의 화질을 평가하는 방법 및 장치
KR101780782B1 (ko) * 2016-07-08 2017-09-21 엔트릭스 주식회사 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
CN106254873B (zh) * 2016-08-31 2020-04-03 广州市网星信息技术有限公司 一种视频编码方法及视频编码装置
US10743004B1 (en) * 2016-09-01 2020-08-11 Amazon Technologies, Inc. Scalable video coding techniques
US10743003B1 (en) 2016-09-01 2020-08-11 Amazon Technologies, Inc. Scalable video coding techniques
EP3520421B1 (en) * 2016-09-30 2023-03-22 British Telecommunications public limited company Viewer importance adaptive bit rate delivery
WO2018060489A1 (en) * 2016-09-30 2018-04-05 British Telecommunications Public Limited Company Viewer importance adaptive bit rate delivery
MX2022004795A (es) * 2016-10-12 2022-12-16 Fraunhofer Ges Forschung Transmisión continua espacialmente desigual.
EP3337174B1 (en) * 2016-12-14 2021-04-07 Alcatel-Lucent España Method and device for transmission of content
US10425683B2 (en) * 2017-05-31 2019-09-24 Netflix, Inc. Temporal placement of a rebuffering event
US10652166B2 (en) * 2017-06-27 2020-05-12 Cisco Technology, Inc. Non-real time adaptive bitrate recording scheduler
US10601686B2 (en) 2017-10-17 2020-03-24 Rovi Guides, Inc. Systems and methods for improving quality of service while streaming code-agnostic content
WO2019078930A1 (en) * 2017-10-17 2019-04-25 Rovi Guides, Inc. SYSTEMS AND METHODS FOR IMPROVING QUALITY OF SERVICE DURING CONTINUOUS DIFFUSION OF CODE AGNOSTIC CONTENT
US10630562B2 (en) * 2017-10-17 2020-04-21 Rovi Guides, Inc. Systems and methods for improving quality of service while streaming code-agnostic content by editing manifest files
EP4254903A3 (en) 2018-02-06 2023-10-11 Phenix Real Time Solutions, Inc. Simulating a local experience by live streaming sharable viewpoints of a live event
US10728305B2 (en) 2018-07-24 2020-07-28 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques
US10728630B2 (en) * 2018-07-24 2020-07-28 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques
US11871052B1 (en) * 2018-09-27 2024-01-09 Apple Inc. Multi-band rate control
CN109819336B (zh) * 2019-01-31 2020-12-04 湖南快乐阳光互动娱乐传媒有限公司 一种基于播放缓存大小分片下载的方法及系统
US11431775B2 (en) * 2019-11-20 2022-08-30 W.S.C. Sports Technologies Ltd. System and method for data stream synchronization
US11503099B2 (en) 2020-03-31 2022-11-15 Google Llc Methods, systems, and media for selecting video formats for adaptive video streaming
US11375286B1 (en) * 2020-12-30 2022-06-28 Western Digital Technologies, Inc. Pre-fetch of data using seek intervals
US11632413B1 (en) * 2022-07-18 2023-04-18 Rovi Guides, Inc. Methods and systems for streaming media content

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7885340B2 (en) * 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
US6275536B1 (en) 1999-06-23 2001-08-14 General Instrument Corporation Implementation architectures of a multi-channel MPEG video transcoder using multiple programmable processors
JP2003515986A (ja) * 1999-11-23 2003-05-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Mpegビデオ・ストリームの継ぎ目を生じないスイッチング
US20040125877A1 (en) 2000-07-17 2004-07-01 Shin-Fu Chang Method and system for indexing and content-based adaptive streaming of digital video content
CA2428325C (en) 2000-11-29 2011-08-30 Matthew David Walker Transmitting and receiving real-time data
WO2003009581A1 (en) * 2001-07-19 2003-01-30 British Telecommunications Public Limited Company Video stream switching
US7274661B2 (en) * 2001-09-17 2007-09-25 Altera Corporation Flow control method for quality streaming of audio/video/media over packet networks
FI115418B (fi) 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
US6996183B2 (en) * 2001-09-26 2006-02-07 Thomson Licensing Scene cut detection in a video bitstream
US6959042B1 (en) 2001-10-01 2005-10-25 Cisco Technology, Inc. Methods and apparatus for measuring compressed video signals and applications to statistical remultiplexing
WO2003036941A1 (en) 2001-10-25 2003-05-01 Koninklijke Philips Electronics N.V. A method to assist in the predictability of open and flexible systems using video analysis
GB2395387B (en) 2002-11-13 2005-02-16 Motorola Inc Video streaming device and method of control for switchable video streams
FI116016B (fi) 2002-12-20 2005-08-31 Oplayo Oy Puskurointijärjestely
US7406176B2 (en) 2003-04-01 2008-07-29 Microsoft Corporation Fully scalable encryption for scalable multimedia
US8214516B2 (en) 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
BRPI0718810A2 (pt) 2006-11-15 2013-12-03 Qualcomm Inc Sistemas e métodos para aplicativos utilizando quadros de comutação de canal
US7962640B2 (en) 2007-06-29 2011-06-14 The Chinese University Of Hong Kong Systems and methods for universal real-time media transcoding
US7802286B2 (en) * 2007-07-24 2010-09-21 Time Warner Cable Inc. Methods and apparatus for format selection for network optimization
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
WO2009149100A1 (en) 2008-06-06 2009-12-10 Amazon Technologies, Inc. Client side stream switching
KR101033442B1 (ko) * 2008-06-12 2011-05-09 주식회사 몬도시스템즈 영상 처리 시스템에서 비트 레이트를 제어하는 장치 및방법
EP2890149A1 (en) 2008-09-16 2015-07-01 Intel Corporation Systems and methods for video/multimedia rendering, composition, and user-interactivity
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8370520B2 (en) 2008-11-24 2013-02-05 Juniper Networks, Inc. Adaptive network content delivery system
US8219711B2 (en) 2008-11-24 2012-07-10 Juniper Networks, Inc. Dynamic variable rate media delivery system
US8781305B2 (en) 2008-12-02 2014-07-15 Microsoft Corporation Media streaming with smooth fast-forward and rewind
US8396114B2 (en) 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US8311115B2 (en) 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
WO2010135333A1 (en) 2009-05-19 2010-11-25 Beaumaris Networks Inc. Methods, apparatus and computer readable medium for managed adaptive bit rate for bandwidth reclamation
IT1398195B1 (it) 2009-06-25 2013-02-14 St Microelectronics Srl "procedimento e sistema per la distribuzione di contenuti informativi, relativo prodotto informatico"
US8205004B1 (en) 2009-06-26 2012-06-19 Adobe Systems Incorporated Multi-bit-rate streaming delivery
CA2711311C (en) 2009-08-10 2016-08-23 Seawell Networks Inc. Methods and systems for scalable video chunking
US9237387B2 (en) 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
US8392748B2 (en) 2009-10-06 2013-03-05 Microsoft Corporation Reliable media streaming
WO2011153194A1 (en) 2010-06-02 2011-12-08 Onmobile Global Limited Method and apparatus for adapting media
CN101895748B (zh) 2010-06-21 2014-03-26 华为终端有限公司 一种编解码方法以及编解码装置
US8190677B2 (en) 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
US8677428B2 (en) * 2010-08-20 2014-03-18 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
US20130307847A1 (en) 2010-12-06 2013-11-21 The Regents Of The University Of California Rendering and encoding adaptation to address computation and network
US9088835B2 (en) 2010-12-17 2015-07-21 Thomson Licensing Method for adjusting depth or view of three-dimensional streaming video
US20130170561A1 (en) 2011-07-05 2013-07-04 Nokia Corporation Method and apparatus for video coding and decoding
US8948249B2 (en) * 2011-08-19 2015-02-03 Google Technology Holdings LLC Encoder-aided segmentation for adaptive streaming
US9843844B2 (en) * 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US8996712B2 (en) * 2012-01-17 2015-03-31 Wideorbit Inc. Systems, methods and articles to provide content in networked environment
US8325821B1 (en) 2012-02-08 2012-12-04 Vyumix, Inc. Video transcoder stream multiplexing systems and methods
US9571827B2 (en) 2012-06-08 2017-02-14 Apple Inc. Techniques for adaptive video streaming

Also Published As

Publication number Publication date
TWI561062B (en) 2016-12-01
CN105075273A (zh) 2015-11-18
CN105075273B (zh) 2019-03-26
KR101716071B1 (ko) 2017-03-13
US9992499B2 (en) 2018-06-05
WO2014134177A2 (en) 2014-09-04
US20140241415A1 (en) 2014-08-28
WO2014134177A3 (en) 2014-10-23
AU2014223523A1 (en) 2015-09-03
AU2014223523B2 (en) 2016-11-17
KR20150110734A (ko) 2015-10-02
EP2949123A2 (en) 2015-12-02

Similar Documents

Publication Publication Date Title
TW201448570A (zh) 適應性串流技術
TWI511544B (zh) 用於可調適視訊串流之技術
TWI596933B (zh) 用於快速切換的編碼解碼器技術
US11317171B2 (en) Viewer importance adaptive bit rate delivery
US10432982B2 (en) Adaptive bitrate streaming latency reduction
CN110198495B (zh) 一种视频下载和播放的方法、装置、设备和存储介质
CN110267100B (zh) Flv视频的码率切换方法、装置、电子设备及存储介质
US10931993B2 (en) Viewer importance adaptive bit rate delivery
KR20150042191A (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
US11563990B2 (en) Method and apparatus for automatic HLS bitrate adaptation
JP2016059037A (ja) 少なくとも2つの連続するセグメントに分離されたマルチメディアコンテンツを受信するための方法およびクライアント端末、ならびに対応するコンピュータプログラム製品およびコンピュータ可読媒体
CN115336283B (zh) 客户机装置和向客户机装置流传送媒体内容的方法
US11997366B2 (en) Method and apparatus for processing adaptive multi-view streaming
CN115695846A (zh) 一种连续隧道场景下优化自适应码率视频调度方法和系统