TWI511544B - 用於可調適視訊串流之技術 - Google Patents
用於可調適視訊串流之技術 Download PDFInfo
- Publication number
- TWI511544B TWI511544B TW102120403A TW102120403A TWI511544B TW I511544 B TWI511544 B TW I511544B TW 102120403 A TW102120403 A TW 102120403A TW 102120403 A TW102120403 A TW 102120403A TW I511544 B TWI511544 B TW I511544B
- Authority
- TW
- Taiwan
- Prior art keywords
- encoded
- frame
- video
- encoding
- encoded data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 86
- 230000003044 adaptive effect Effects 0.000 title description 2
- 230000005540 biological transmission Effects 0.000 claims description 33
- 230000000007 visual effect Effects 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 7
- 238000005192 partition Methods 0.000 claims description 5
- 230000001052 transient effect Effects 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims 1
- 230000008901 benefit Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 13
- 238000007781 pre-processing Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013139 quantization Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013442 quality metrics Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
-
- 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/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/2343—Processing 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/23439—Processing 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
-
- 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/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- 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/8456—Structuring 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)
Description
本申請案主張2012年6月8日申請之標題為「Techniques for Adaptive Video Streaming」之臨時申請案第61/657,600號的優先權之權利,該申請案之揭示內容被以引用的方式全部併入本文中。
在可調適串流之情境中,共同視訊序列常以不同位元率編碼為多個串流。每一串流常被分割成一連串傳輸單元(被稱為「區塊」),以供遞送。常建立識別可用於視訊序列之位元率的一資訊清單(manifest)檔案。在串流服務中,例如,視訊串流及隨附的播放清單檔案在伺服器中託管。用戶端器件中的播放器藉由存取播放清單檔案來得到串流資訊且根據可用頻寬之估計而在不同串流之間交換。然而,當前編碼系統並未有效率地適應表示共同視訊內容項目之不同編碼串流之間的切換。
區塊分割區通常設定為包括預定量的經編碼之視訊資料。舉例而言,區塊可定義為每一者均包括五秒鐘的經編碼之視訊資料。當播放器自第一串流切換至第二串流(其中兩個串流均表示以不同編碼速率編碼之一共同視訊內容項目)時,播放器可擷取新串流的經編碼之視訊資料之區塊,且試圖對該等區塊進行解碼。然而,若新串流的經編碼之區塊依賴於作為預測參考的其他區塊,則解碼可能不可行。在此情況下,播放器可能必須跳過新串流的依賴於作為預測參考之前置
任務區塊(predecessor chunk)的部分的解碼,該解碼可中斷視訊播放之連續性。或者,播放器可能必須請求且解碼前置任務區塊,以便產生連續的視訊序列以供播放。在後者狀況中,新串流之前置任務區塊可能包括對於自舊串流接收且解碼的該等區塊之一些部分而言冗餘的經編碼之視訊資料。在任一狀況下,串流之間的切換造成在視訊解碼器及播放器處之效能減損。
因此,本發明者已識別此項技術中對提供共同視訊序列之不同經編碼之串流之間的有效率的切換之視訊串流技術之需求。
100‧‧‧視訊散佈系統
110‧‧‧散佈伺服器系統/散佈伺服器
115‧‧‧儲存系統/儲存器
120‧‧‧用戶端器件
130‧‧‧通信網路
140‧‧‧頻道串流
200‧‧‧系統
210‧‧‧編碼伺服器
215‧‧‧緩衝儲存器/緩衝器
220‧‧‧預處理器
225‧‧‧編碼引擎
230‧‧‧參數選擇器
235‧‧‧品質估計器
240‧‧‧目標位元率估計器
250‧‧‧散佈伺服器/視訊散佈伺服器
255‧‧‧分段器
260‧‧‧儲存器
300‧‧‧方法
400‧‧‧方法
510‧‧‧頻道資料串流/頻道串流
520‧‧‧解碼路徑
530‧‧‧顯示序列
610‧‧‧經預處理之視訊序列
612、614、616、618、620、622‧‧‧區塊
652、654、656、658、660、662‧‧‧區塊
710‧‧‧頻道串流
810‧‧‧經預處理之視訊序列
812、814、816、818、820、822‧‧‧區塊
900‧‧‧輸入視訊序列
912、914、916、918、920‧‧‧區塊
930‧‧‧成本圖
932‧‧‧區域/最大值
944‧‧‧區塊
960‧‧‧曲線
1000‧‧‧方法
CH1.1-CH1.6‧‧‧區塊
CH2.1-CH2.6‧‧‧區塊/RATE2基層區塊
CH3.1-CH3.6‧‧‧區塊/RATE3基層區塊
EL2.1-EL2.6‧‧‧增強層區塊
EL3.1-EL3.6‧‧‧增強層區塊
IF‧‧‧經框內編碼之圖框
SF‧‧‧同步圖框
圖1為適合於供本發明使用的視訊散佈系統之簡化方塊圖。
圖2為具有整合式編碼伺服器及散佈伺服器的一系統之簡化方塊圖。
圖3說明根據本發明之一實施例的方法。
圖4說明根據本發明之另一實施例的方法。
圖5包含圖5(a)及圖5(b),說明根據本發明之一實施例的同步圖框至經編碼之視訊串流的施加。
圖6包含圖6(a)及圖6(b),說明根據本發明之一實施例的可應用於視訊序列之預處理操作之一實例。
圖7說明根據本發明之一實施例的可調整式視訊編碼及遞送之一實例。
圖8說明根據本發明之另一實施例的可應用於視訊序列之預處理操作之一實例。
圖9包含圖9(a)及圖9(b),說明根據本發明之一實施例的將經編碼之視訊資料剖析成區塊之一實例。
圖10說明根據本發明之一實施例的另一方法。
本發明之實施例提供將共同視訊序列編碼成複數個經編碼之資料串流的視訊編碼技術,其中每一經編碼之資料串流表示使用搭配各別傳輸位元率之編碼參數來編碼的視訊序列。編碼可使來自經編碼之資料串流中的一組傳輸單元包括來自視訊序列之一共同點的經編碼之視訊資料,且使得該組中每一傳輸單元的第一經編碼之圖框成為一同步圖框。可建立表示各別經編碼之資料串流之傳輸單元索引的資訊清單檔案。經編碼之資料串流與資訊清單檔案可經儲存,以供遞送至用戶端器件。在下載及解碼期間,甚至在於串流之間切換時仍可有效率地解碼區塊,此係因為每一區塊中的第一圖框為一同步圖框。
圖1為適合於供本發明使用的視訊散佈系統100之簡化方塊圖。系統100可包括經由通信網路130連接之一散佈伺服器系統110及一用戶端器件120。散佈伺服器110可包括一儲存系統115,該儲存系統上儲存有供用戶端器件120下載的多種視訊內容項目(例如,影片、電視節目及其他動畫內容)。
散佈伺服器110可將視訊內容項目之若干複本儲存為經編碼之視訊串流,該等複本中之每一者經以各別位元率、圖框率及圖框大小編碼。視訊串流被剖析成複數個「區塊」,該複數個區塊為經編碼之視訊的表示預定持續時間之視訊內容的片段。圖1之實例說明以各別位元率(分別為4Mb/s、2Mb/s及500Kb/s)編碼的三個經編碼之視訊串流,其中每一區塊表示5秒源視訊。散佈伺服器110亦可儲存一索引檔案,其在本文中被叫作「資訊清單」檔案,該索引檔案使經編碼之視訊串流與視訊內容項目相關聯,且使得每一經編碼之視訊串流的區塊與其他視訊串流的對應區塊相關。
當散佈伺服器110接收針對視訊內容項目之請求時,散佈伺服器110可將資料自後設資料檔案提供至用戶端器件120。用戶端器件120備有表示經編碼之視訊串流之不同資料速率的資訊,可識別用於遞送
視訊的視訊串流中之一者或位元率中之一者。器件對於遞送頻寬之識別可基於對可用於網路130中之頻寬的估計及/或對可在用戶端器件120用於解碼所接收之資料之處理資源的估計。作為回應,散佈伺服器110可以指定資料速率自儲存器115擷取資料之區塊,可自經擷取之區塊中建立一頻道串流,且可將頻道串流140傳輸至用戶端器件120。
隨時間推移,當散佈伺服器110將其區塊遞送至用戶端器件120時,用戶端器件120可請求在不同資料速率下遞送視訊內容項目。舉例而言,用戶端器件120可修正其對網路頻寬及/或局部處理資源的估計。作為回應,散佈伺服器110可擷取對應於不同資料速率之區塊,且將該等區塊建成頻道串流。用戶端器件120可在一遞送會話期間重複請求不同的資料速率,且因此,遞送至用戶端器件120之頻道串流140可包括自多種視訊編碼串流取得的區塊。
資訊清單檔案可儲存表示各種類型之資料的語法元素。對於每一串流,例如,資訊清單檔案可包括指示其是否含有具有不同解析度之區塊的資料。播放器可經程式化以藉由在區塊的開始處更新視訊解析度資訊來回應此指示。
在另一實例中,對於每一串流,資訊清單檔案可包括指示所有區塊之第一圖框是否為同步圖框的資料。播放器可藉由選擇在於串流之間切換時切換至的一圖框或區塊來回應該指示。
在再一實例中,對於每一串流,資訊清單檔案可包括指示其視覺品質之資料。播放器可藉由在串流之間切換以達成最佳視覺體驗(例如,藉由最大化平均視覺品質及/或最小化視覺品質跳躍)來回應該指示。
在又一實例中,對於每一區塊,資訊清單檔案可包括指示其位元率之資料。播放器可藉由根據區塊位元率調整其緩衝及/或切換行為來回應該指示。
在再一實例中,對於每一區塊,資訊清單檔案可包括指示其解析度之資料。播放器可藉由調整其用於播放之視訊解析度來回應該指示
在又一實例中,對於每一區塊,資訊清單檔案可包括指示其是否含有具有不同解析度之圖框的資料。播放器可藉由調整其用於播放之視訊解析度及/或按比例調整經解碼之視訊以使播放順利來回應該指示。
在另一實例中,對於每一區塊,資訊清單檔案可包括指示播放自該區塊或在該區塊之後開始的其餘串流所需之頻寬的資料。播放器可藉由在串流中選擇以供下載及播放來回應該指示。
在再一實例中,對於每一區塊,資訊清單檔案可包括指示其第一圖框是否為同步圖框的資料。播放器可藉由在圖框及/或區塊中選擇以在於串流之間切換時切換來回應該指示。
在又一實施例中,對於每一區塊,資訊清單檔案可包括指示一串流之資料,播放器在處理該區塊之後應切換至該串流。播放器可藉由切換至資訊清單檔案中所識別之串流來回應該指示。
圖2為具有整合式編碼伺服器210及散佈伺服器250之一系統200之簡化方塊圖。編碼伺服器210可包括緩衝儲存器215、一預處理器220、一編碼引擎225、一參數選擇器230、一品質估計器235及一目標位元率估計器240。散佈伺服器250可包括一分段器255及儲存器260。
緩衝器215可儲存通常來自攝影機或儲存器件之輸入視訊,以供由編碼伺服器210之其他組件處理。舉例而言,預處理器220可更改視訊序列之大小及/或圖框率。預處理器220可將大小及/或圖框率修改應用於自緩衝器215讀取之視訊。隨著編碼伺服器210產生其序列之各種經編碼之型式,預處理器220可對一共同視訊序列執行不同的大小及/或圖框率修改。
編碼引擎225可將資料壓縮操作應用於來自預處理器220之視訊序列。編碼引擎225可根據包括MPEG、H.263、H.264及HEVC(H.265)族編碼標準之的共同視訊編碼協定中之任一者操作。編碼引擎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可遞回式操作,選擇參數、將該等參數應用於預處理操作及編碼中、估計藉此獲得的經編碼之視訊資料之品質,及修正參數直至符合品質要求。
圖3說明根據本發明之一實施例的方法300。方法300可將每一組散佈位元率用作一控管參數來反覆地處理源視訊序列。在每一反覆期間,方法300可選擇視訊序列之一解析度及/或圖框率(框310)。該解析度及圖框率可自散佈伺服器250(圖2)所支援之散佈位元率導出。方法300亦可選擇用於視訊之處理的一組初始編碼參數(框315)。該等初始參數亦可自散佈伺服器250(圖2)所支援之散佈位元率導出。方法300可使視訊遵照選定解析度及圖框率,且可具有根據選定參數來編碼之視訊序列(框320)。其後,方法300可估計待自藉此獲得的經編碼之視訊序列恢復的視訊資料之品質(框325),且可判定編碼品質是否超過對指定散佈資料速率的最小要求(框330)。若否,則方法300可修正解析度、圖框率及/或編碼參數之選擇(框335),且可使操作返回至框320。在一實施例中,方法300可將經編碼之串流傳遞至散佈系統(框
340)。
在另一實施例中,當獲得符合對所有串流之最小品質要求的經編碼之視訊時,方法300可比較藉此獲得之串流之間的品質估計(框345)。方法300可判定串流之間是否建立充分的品質差異。若是,則方法300可將經編碼之串流傳遞至散佈系統(框340)。若否,則方法300可修正經編碼之視訊序列中的一或多者之展現與其他串流之不充分定性差異的解析度、圖框率及/或編碼參數選擇(框350),且可使對彼等串流重複框320-335之操作(框355)。方法300之此實施例的操作可重複,直至視訊序列已經在所有散佈位元率下編碼,且已按每一經編碼之速率針對序列建立充分的定性差異。
方法300適應若干變化。在一實施例中,可基於對視覺品質之特性及串流效能的估計而聯合判定視訊解析度、視訊圖框率及位元率。在另一實施例中,可基於對具有相鄰位元率值之串流間的品質變化之估計設定目標位元率。在再一實施例中,可基於經編碼之視訊的諸如峰值信號雜訊比(「PSNR」)或感知品質度量之品質度量選擇待按特定位元率使用的視訊解析度及圖框率。
在本發明之另一實施例中,區塊持續時間可根據經編碼之視訊資料的局部及全域位元率特性而改變。換言之,可針對視訊資料估計一目標位元率,此可建立在預定時間週期上的位元率預算。經編碼之視訊資料可落入或超過該位元率預算。區塊持續時間可經設定以適應此等變化。
或者,區塊持續時間可根據經編碼之視訊資料的局部及全域視覺品質特性而變化。另外,區塊持續時間可回應於在源視訊內容內偵測到場景改變而改變。在另一實施例中,區塊持續時間可基於對添加經編碼之串流之同步圖框的視訊編碼器要求而變化。
在另一實施例中,可在區塊層級(亦即,對應於同一源視訊週期
的單一串流之區塊及多個串流之區塊)執行視訊編碼器之速率控制。此外,可在編碼引擎之多個遍次中反覆地執行串流分割區及區塊層級速率控制。
在使用多遍編碼器之一實施例中,編碼器可基於自先前編碼遍次中收集的位元率及視覺品質之資訊決定在未來遍次中如何置放區塊邊界,且將對哪個區塊重新編碼。
在再一實施例中,速率控制及串流分割可變化,以減小峰值區塊位元率。可應用動態程式化方法,以藉由最小化峰值區塊位元率來判定最佳分割區。
或者,速率控制及串流分割可變化,以減少區塊位元率間之變化。可應用動態程式化方法,以藉由最小化區塊位元率之變化來判定最佳分割區。
在另一實施例中,可將速率控制及串流分割最佳化,以保證藉由諸如經編碼之視訊之PSNR的度量所量測的視覺品質之特定約束。
圖4說明根據本發明之另一實施例的方法400。方法400可使輸入視訊序列經根據一散佈位元率編碼。方法400可開始於收集待編碼之視訊序列的資訊(框410),例如,開始於估計圖框內容之空間複雜性、圖框內容之動作及類似者。方法400可自統計估計視訊序列之各種部分的編碼成本,且指派預處理及編碼參數給彼等部分(框420)。方法400亦可將視訊序列中的某些圖框指派為經編碼之視訊序列內的同步圖框,以根據在散佈伺服器處控管之遞送參數而與區塊邊界重合(框430)。其後,方法400可根據自編碼成本估計出的編碼約束且根據散佈伺服器所提供之區塊邊界而編碼源視訊(框440)。一旦源視訊經編碼,則方法400便可識別經不良編碼之區塊(框450),亦即,具有不滿足所需品質要求之編碼品質的區塊,或具有超過預定極限之資料速率的區塊。方法400可修正不良區塊之編碼參數(框460)、記錄不良區
塊(框470),且再次偵測不良區塊(框450)。一旦已按滿足編碼品質要求且控管資料速率的方式編碼所有區塊,則方法400便可將經編碼之串流傳遞至散佈系統(框490)。
在一實施例中,在方法400記錄不良區塊以生產經編碼之區塊後,方法400可記錄視訊資料之資料區塊,以使視訊序列之編碼品質平穩(框480)。
方法400適應若干變化。在一實施例中,單一串流可含有具有不同解析度及圖框率的區塊。一單一區塊可含有具有不同解析度及圖框率的圖框。舉例而言,可基於區塊之位元率控制解析度及圖框率。或者,可基於以不同解析度編碼之區塊的視覺品質控制解析度及圖框率。或者,在另一實例中,可藉由視訊源之場景改變控制解析度或圖框率。
在另一實施例中,在多遍編碼中可產生一混合解析度串流。舉例而言,視訊編碼器可偵測到具有由量化因數、PSNR值、統計運動及結構資訊所表明之低視覺品質的視訊區段。接著,可按替代性解析度及圖框率對所偵測之低品質區段重新編碼,此產生更好視覺品質。
在再一實施例中,可使用後組成方法產生一混合解析度串流。舉例而言,按類似位元率,源視訊可經在多個解析度及圖框率下編碼。所產生之串流可分割成區塊,且接著可選擇該等區塊以形成混合解析度串流。
在另一實施例中,可控制前述實施例之區塊選擇,以維持經編碼之序列上的由量化因數、PSNR值及統計運動及結構資訊所量測之視覺品質。或者,可控制區塊選擇以減少經編碼之序列上的視覺品質、解析度及圖框率的改變。
當產生一混合解析度串流時,可控制解析度與圖框率切換之位置,以與場景改變對準。
圖5(a)說明根據本發明之一實施例的同步圖框至經編碼之視訊串流的施加。圖5(a)說明根據三個不同資料速率RATE1、RATE2及RATE3編碼且剖析成區塊CH1.1-CH1.4、CH2.1-CH2.4及CH3.1-3.4之一視訊內容項目。根據本發明,每一區塊之第一圖框可編碼為同步圖框SF,可在不參考視訊序列之任何先前編碼之圖框的情況下解碼該同步圖框SF。同步圖框可編碼為經框內編碼之圖框(通俗言之,「I圖框」)。舉例而言,若視訊序列係根據H.264編碼協定編碼,則同步圖框可編碼為瞬時解碼器再新圖框(「IDR」圖框)。其他編碼協定可提供I圖框之其他定義。
在遞送期間,當視訊解碼器改變經編碼之視訊資料的遞送速率時,散佈伺服器250(圖2)將自各種經編碼之資料串流中選擇區塊,以滿足視訊解碼器之請求。在圖5(a)之實例中,散佈伺服器250(圖2)可產生一頻道資料串流510,其包括以RATE1編碼之區塊CH1.1、CH1.2、以RATE2編碼之區塊CH2.3及以RATE3編碼之區塊CH3.4。每一區塊包括作為該區塊中第一個編碼之圖框的同步圖框SF,且因此,頻道串流510建立如圖5(a)中所說明之解碼路徑520。在圖5(a)實施例中,來自頻道串流510中的所有區塊之所有圖框將包括於解碼路徑520中,且包括於在解碼器處顯示之圖框的顯示序列530中。在此方面,本發明之此實施例提供高效率編碼,此係因為包括於頻道串流510中之所有經編碼之圖框均經解碼及顯示。
相反,未將同步圖框與區塊邊界對準之系統(其一實例展示於圖5(b)中)將不會具有此等效率。圖5(b)說明視訊內容項目經根據三個資料速率編碼且剖析成區塊之一例示性編碼情境,類似於圖5(a)。在圖5(b)中,經框內編碼之圖框IF未與區塊邊界對準。此外,一區塊(比如區塊CH1.2)中的經框內編碼之圖框IF未對準其他經編碼之串流的對等區塊CH2.2、CH3.2中的經框內編碼之圖框IF。
在圖5(b)之實例中,當視訊解碼器改變經編碼之視訊資料的遞送速率時,散佈伺服器250(圖2)必須不僅遞送所請求之區塊,亦必須遞送對於視訊解碼器解碼該所請求之區塊時所必要的額外區塊。回應於解碼器對不同速率下的經編碼之視訊資料的請求,散佈伺服器250必須擷取所請求之區塊,且亦擷取最近請求之串流的前置任務區塊,其中該前置任務區塊含有對所請求之區塊中之圖框的預測參考。因此,若散佈伺服器250在遞送區塊CH1.2之後接收到對RATE2資料的請求,則散佈伺服器250擷取區塊CH2.3,且亦擷取前置任務區塊CH2.2,其含有作為預測參考的CH2.3中之圖框所依賴的一經框內編碼之圖框IF。類似地,若散佈伺服器250在遞送區塊CH2.3之後接收到對RATE2資料的請求,則散佈伺服器250擷取區塊CH3.4,且亦擷取前置任務區塊CH3.3,其含有作為預測參考的CH3.4中之圖框所依賴的一經框內編碼之圖框IF。圖5(b)說明將自經圖5(b)編碼之串流組譯的頻道串流。圖5(b)亦說明將自此頻道串流形成之解碼路徑及顯示序列,其中每一者具有比圖5(a)中所說明之實施例低的利用率。
圖6(a)說明根據本發明之一實施例的可應用於視訊序列之預處理操作之一實例。在此實施例中,預處理器220(圖2)可基於逐個區塊更改源視訊之解析度(或圖框大小)。在圖6(a)中所說明之實例中,預處理器可產生包括區塊612-622之一經預處理之視訊序列610。由於所估計的編碼複雜性或其他因素,可控制預處理器,以將視訊序列之解析度設定為對於一些區塊612-614、620-622為第一層級,且對於其他區塊616-618為不同層級。因此,圖6(a)之實例說明區塊612-614、620-622之設定為1920×1080像素的圖框,其中616-618的圖框可設定為1280×720像素。當然,可適當地使用其他圖框大小及解析度。可基於散佈伺服器250所設定的約束及正在進行編碼之源視訊的所估計之複雜性而控制預處理器,以適當地在兩個以上層級之間變化解析度。
圖6(b)說明根據本發明之一實施例的可應用於圖6(a)之視訊序列的例示性後處理操作。在此實例中,經後處理的視訊序列可包括區塊652-654(其對應於區塊612-614)之圖框,該等圖框經按與其編碼時之解析度相同的解析度輸出。然而,對應於區塊616之區塊656可經受後處理,以展現在區塊654之解析度與編碼區塊656之新解析度之間的分散式轉換。舉例而言,後處理器可以不同的調整比例大小在空間上按比例調整區塊656的經解碼之圖框,以達成處於中間圖框大小之輸出圖框。圖6(b)亦說明區塊658的正按與編碼其對等區塊618時之解析度相同的解析度輸出之圖框。然而,區塊660亦可經受後處理操作,以展現對應於經編碼之源區塊618-620之解析度改變的另一分散式轉換。再次,後處理器可以不同的調整比例大小在空間上按比例調整區塊660的經解碼之圖框,以達成處於中間圖框大小的輸出圖框。最後,在此實例中,圖6(b)說明區塊662的正按與編碼其對等區塊622時之解析度相同的解析度下輸出之圖框。
圖7說明根據本發明之一實施例的可調整視訊編碼及遞送之一實例。在此實施例中,視訊內容項目可分割成區塊,且按分別展示為RATE1、RATE2及RATE3之複數個資料速率編碼。在此實例中,經RATE1編碼之視訊資料具有最高資料速率,經RATE2編碼之視訊資料具有中間資料速率,且經RATE3編碼之視訊資料具有最低資料速率。
如關於圖5所論述的,每一經編碼之序列的區塊CH1.1-CH1.6、CH2.1-CH2.6、CH3.1-CH3.6各可包括作為各別區塊中之第一經編碼之圖框的同步圖框SF。
圖7之實施例發現使用可調整視訊編碼之編碼系統的應用。對於任一給定資料速率,編碼伺服器可將視訊序列之第一表示編碼為基層,且將視訊序列之第二表示編碼為增強層。經基層編碼之視訊資料可由視訊解碼系統解碼,且呈現為視訊品質之基層。經增強層編碼之
視訊資料依賴於待解碼的經基層編碼之視訊資料;當聯合解碼經基層編碼之視訊資料與經增強層編碼之資料時,自其恢復之視訊資料具有將藉由單獨解碼基層資料而獲得的超過視訊資料之視覺品質。
在一實施例中,編碼伺服器可產生增強層區塊,以供選擇由散佈伺服器250(圖2)支援之資料速率。該等增強層區塊的經編碼之內容可與對應基層區塊的經編碼之內容對準。因此,圖7說明對應於RATE2基層區塊CH2.1-CH2.6之RATE2增強層區塊EL2.1-EL2.6,且亦說明對應於RATE3基層區塊CH3.1-CH3.6之RATE3增強層區塊EL3.1-EL3.6。
在操作期間,當視訊解碼器改變其對服務之請求時,散佈伺服器250可擷取增強層區塊,以供遞送至視訊解碼器。圖7說明例示性頻道串流710,其說明增強層區塊之使用。在此實例中,視訊解碼器一開始以RATE3接收服務,而以RATE2請求服務。至接收到視訊解碼器之請求時,散佈伺服器250可已擷取對應於基層區塊3.2的經編碼之視訊資料。作為回應,散佈伺服器250可在RATE2層級開始基層區塊(區塊CH2.3-CH2.5)之擷取。散佈伺服器250亦可擷取RATE3增強層區塊(展示為EL3.2),以供遞送至視訊解碼器。視訊散佈伺服器250可基於伺服器處的傳輸佇列(未展示)之狀態及基於至視訊解碼器之最近傳輸判定擷取之增強層區塊的數目。舉例而言,在自視訊解碼器接收到新服務請求時,散佈伺服器250可已自儲存器擷取基層區塊且將其緩衝以供傳輸,但尚未傳輸該等基層區塊。散佈伺服器250可識別經緩衝之基層區塊,且基於此識別而擷取對等增強層區塊。在另一實施例中,散佈伺服器250可在接收視訊解碼器對於服務之新請求之前識別在預定時間段內傳輸的基層區塊;散佈伺服器250可基於此識別而發送增強層區塊。
圖7說明在RATE1下的對服務之一視訊解碼器請求。再次,回應
於此請求,散佈伺服器250可開始以新的速率層級擷取基層區塊,此開始於區塊CH1.6。散佈伺服器250亦可擷取RATE2增強層區塊(展示為EL2.4、EL2.5),以供遞送至視訊解碼器。
前述實施例之技術可適應若干變化。舉例而言,在一實施例中,可使用增強層來橋接低位元率串流與高位元率串流。在自低位元率串流切換至高位元率串流期間,散佈伺服器可估計由用戶端器件緩衝之先前位元率串流的週期,且可傳輸對應於經緩衝之資料的增強層區塊。
在另一實施例中,編碼伺服器可圍繞一特定位元率建立兩個以上經編碼之增強層資料串流。一些串流可(例如)使用H.264/SVC技術來編碼為可調整串流。此等可調整串流可用於串流切換。一串流可分裂成一受保護之基層及不受保護之增強層。可使用傳輸控制協定(「TCP」)傳輸該基層,而可使用具有變化的保護程度之使用者資料包通訊協定(「UDP」)傳輸該等增強層。
另外,伺服器及用戶端播放器可參加消除串流之間的差異之技術。舉例而言,編碼伺服器可根據源視訊內對於場景改變之偵測而調適同步圖框。另外,用戶端播放器可在用於串流切換之同步圖框處切換,以減少視覺品質之突變。或者,在不同解析度之間的切換期間,解析度可平穩地自源解析度改變為目標解析度。可藉由使用後處理及該可調整視訊編碼技術來實現解析度轉換。
可藉由使用H.264/SVC技術來實現前述實施例之位元串流可調性及增強層。
在另一實施例中,不同於使用可調整編碼,可針對任一區塊存在多個編碼情況,例如,用於向上切換位元率的一情況,用於向下切換位元率的一情況,用於未經切換之播放的情況。
圖8說明根據本發明之另一實施例的可應用於視訊序列之預處理
操作之一實例。在此實施例中,預處理器220(圖2)可基於逐個區塊更改源視訊之圖框率。在圖8中所說明之實例中,預處理器220可產生包括區塊812-822之一經預處理之視訊序列810。由於所估計的編碼複雜性或其他因素,可控制預處理器220,以將視訊序列之圖框率設定為對於一些區塊812-814、820-822的第一層級,及對於其他區塊816-818的不同層級。因此,圖8之實例說明設定為24個圖框每秒(fps)的區塊812-814、820-822之圖框,而816-818之圖框可設定為15fps。當然,可適當地使用其他圖框率。可基於由散佈伺服器250設定的約束及正編碼之源視訊的所估計之複雜性而控制預處理器220,以適當地改變兩個以上圖框率層級間的解析度。
圖9說明根據本發明之一實施例的將經編碼之視訊資料剖析成區塊之一實例。在圖9(a)中,編碼伺服器210(圖2)可(例如)基於影像內容之複雜性或其他因素估計編碼一輸入視訊序列900的成本。編碼伺服器210可在編碼之前將視訊序列分割成區塊912-920,且可對準區塊邊界,以在區塊912-920上散佈編碼之成本。
圖9(a)說明表示與視訊序列900之圖框相關聯的位元率之一例示性成本圖930。如所說明的,可將區塊912-920指派給視訊序列,以將區塊邊界與視訊序列900之具有高編碼成本的部分對準。舉例而言,成本圖930在區域932中具有一相對最大值。在一實施例中,區塊912與914之間的邊界可與最大值932對準,以增加編碼視訊序列900之一相關聯部分的成本將分散於一對區塊912、914而非單一區塊上的可能性。注意,區塊不需要具有相同的持續時間,且因此,視訊序列900之高位元率部分的區塊可具有較短持續時間,而視訊序列900之其他較低位元率部分的區塊可具有較長持續時間。
圖9(b)說明可在不使用靈活區塊指派的情況下自圖9(a)之成本曲線建立的一區塊序列。在區塊具有固定持續時間的系統中,將視訊序
列900之高資料速率部分分配至多個區塊可能係不可行的。在此等實施中,當編碼器被迫編碼單一區塊944中之視訊序列的高成本部分時,可迫使該編碼器將較低品質編碼過程應用於視訊序列之部分(由曲線960表示)。
圖10說明根據本發明之一實施例的另一方法1000。方法1000可經執行以建立針對散佈伺服器250(圖2)所支援之單一遞送速率的經編碼之視訊資料。方法1000可開始於為經編碼之視訊設定目標位元率(框1010)。其後,方法1000可反覆地操作,以試圖按複數個解析度及圖框率中之每一者編碼源視訊資料。具體而言,對於解析度及圖框率之每一組合,方法1000可在各別解析度及圖框率下編碼源視訊(框1020)。方法1000可將藉此獲得的經編碼之視訊分割成區塊(框1030),且可估計每一區塊之編碼品質(框1040)。可在每一反覆中相同地執行框1030之操作,使得在每一解析度及圖框率上獲得的區塊對應於源視訊之共同序列。
在已將所有候選解析度及圖框率應用於經編碼之視訊之後,方法1000可藉由針對序列中之每一區塊選擇藉此獲得的最高品質區塊來建立視訊序列之一複合經編碼之視訊串流(框1050)。
前述論述已在編碼伺服器、散佈伺服器及用戶端器件之上下文中描述本發明之實施例的操作。通常,此等組件提供為電子器件。其可以諸如特殊應用積體電路、場可程式化閘陣列及/或數位信號處理器之積體電路體現。或者,其可以在個人電腦、迷你筆記型電腦或電腦伺服器上執行的電腦程式體現。類似地,編碼器可以諸如特殊應用積體電路、場可程式化閘陣列及/或數位信號處理器之積體電路體現,或其可以在個人電腦、迷你筆記型電腦或電腦伺服器上執行的電腦程式體現。解碼器通常封裝於消費型電子器件(諸如,遊戲系統、DVD播放器、攜帶型媒體播放器及類似者)中,且其亦可封裝於消費
型軟體應用程式(諸如,視訊遊戲、基於瀏覽器之媒體播放器及類似者)中。且,當然,此等組件可提供為按需要在專用硬體組件及程式化之通用處理器上散佈功能性的混合式系統。
本文中具體地說明及/或描述本發明之若干實施例。然而應瞭解,在不背離本發明之精神及意欲之範疇的情況下,本發明之修改及變化由以上教示涵蓋且處於隨附申請專利範圍之權限內。
200‧‧‧系統
210‧‧‧編碼伺服器
215‧‧‧緩衝儲存器/緩衝器
220‧‧‧預處理器
225‧‧‧編碼引擎
230‧‧‧參數選擇器
235‧‧‧品質估計器
240‧‧‧目標位元率估計器
250‧‧‧散佈伺服器/視訊散佈伺服器
255‧‧‧分段器
260‧‧‧儲存器
Claims (33)
- 一種視訊編碼方法,其包含:將一共同視訊序列編碼成複數個經編碼之資料串流,每一經編碼之資料串流表示使用搭配一各別傳輸位元率之編碼參數來編碼的視訊序列,建立表示該等各別經編碼之資料串流之一傳輸單元索引的一資訊清單檔案;其中該編碼使:來自該等經編碼之資料串流中的一組傳輸單元包括來自該視訊序列之一共同點的經編碼之視訊資料,且該組中每一傳輸單元之一第一經編碼之圖框為一同步圖框,該同步圖框定義一路徑,使得所有經編碼之圖框根據該路徑而被顯示;及儲存該等經編碼之資料串流與資訊清單檔案,以供遞送至一用戶端器件。
- 如請求項1之方法,其中每一傳輸單元之該同步圖框可在不參考該視訊序列之任一先前編碼之圖框的情況下解碼。
- 如請求項1之方法,其中,對於至少一經編碼之資料串流,該編碼包含將該視訊序列編碼為經編碼之資料的一基層及經編碼之資料的一增強層,其中該基層包括該同步圖框。
- 如請求項1之方法,其中至少兩個經編碼之資料串流係按不同圖框率編碼。
- 如請求項1之方法,其中至少兩個經編碼之資料串流係按不同圖框解析度編碼。
- 如請求項1之方法,其中一共同的經編碼之資料串流的區塊包括 按不同圖框解析度編碼之視訊資料。
- 如請求項1之方法,其中該同步圖框為一I圖框。
- 如請求項1之方法,其中該同步圖框為一瞬時解碼器再新圖框。
- 如請求項1之方法,其進一步包含對於該等經編碼之資料串流中的一者,將該視訊序列編碼為針對該一經編碼之資料串流的一增強層。
- 一種視訊串流方法,其包含:將擷取自一所請求之視訊的經編碼之視訊資料之一第一經儲存序列的傳輸單元傳輸至一用戶端器件,該第一經儲存序列已使用一第一編碼參數選擇進行編碼,回應於來自該用戶端器件的一請求,將擷取自該所請求之視訊的經編碼之視訊資料之一第二經儲存序列的傳輸單元傳輸至該用戶端器件,該第二經儲存序列已使用一第二編碼參數選擇進行編碼,其中該第一序列及該第二序列之該等所儲存之傳輸單元包括表示來自所請求之視訊的共同元素之傳輸單元,及在其中包括作為一第一經編碼之圖框的一同步圖框之傳輸單元,該同步圖框定義一路徑,使得所有經編碼之圖框根據該路徑而被顯示。
- 如請求項10之方法,其中該同步圖框為一I圖框。
- 如請求項10之方法,其中該同步圖框為一瞬時解碼器再新圖框。
- 如請求項10之方法,其進一步包含:在傳輸任何傳輸單元之前,將表示該第一序列及該第二序列之一傳輸單元索引之一資訊清單檔案傳輸至該用戶端器件。
- 一種視訊編碼方法,其包含: 將一共同視訊序列編碼成一對經編碼之資料串流,每一經編碼之資料串流表示使用搭配一各別傳輸位元率之編碼參數來編碼的視訊序列,將該等經編碼之資料串流分割成複數個傳輸單元以供遞送,其中每一經編碼之資料串流的該等傳輸單元具有在另一經編碼之資料串流中之一對等物,及其中當該等傳輸單元經以編碼次序解碼時,該編碼及該分割協作地定義用於該經編碼之視訊序列的連續解碼路徑,使得在該等解碼路徑中之所有經編碼之圖框被顯示。
- 如請求項14之方法,其中每一傳輸單元之一同步圖框可在不參考該視訊序列之任一先前編碼之圖框的情況下解碼。
- 如請求項14之方法,其中,對於至少一經編碼之資料串流,該編碼包含將該視訊序列編碼為經編碼之資料的一基層及經編碼之資料的一增強層,其中該基層包括一同步圖框。
- 如請求項14之方法,其中至少兩個經編碼之資料串流係按不同圖框率編碼。
- 如請求項14之方法,其中至少兩個經編碼之資料串流係按不同圖框解析度編碼。
- 如請求項14之方法,其中一共同的經編碼之資料串流的區塊包括按不同圖框解析度編碼之視訊資料。
- 如請求項15之方法,其中該同步圖框為一I圖框。
- 如請求項15之方法,其中該同步圖框為一瞬時解碼器再新圖框。
- 如請求項14之方法,其進一步包含對於該等經編碼之資料串流中的一者,將該視訊序列編碼為針對該一經編碼之資料串流的一增強層。
- 如請求項14之方法,其進一步包含判定每一傳輸單元之一解析度及圖框率,以維持經由一解碼路徑量測之一最大視覺品質。
- 一種解碼方法,其包含:擷取表示一視訊序列的針對一第一遞送速率編碼之經編碼之視訊資料串流的第一傳輸單元,解碼存在於該第一遞送速率之該等傳輸單元中的經編碼之資料,請求表示該視訊序列的針對一第二遞送速率編碼之經編碼之視訊資料串流的傳輸單元,擷取且解碼該第二遞送速率之傳輸單元,其中該第二遞送速率之一第一傳輸單元的一第一經編碼之圖框為一同步圖框,該同步圖框定義一路徑,使得所有經編碼之圖框根據該路徑而被顯示。
- 如請求項24之方法,其中每一傳輸單元之該同步圖框可在不參考該視訊序列之任一先前編碼之圖框的情況下解碼。
- 如請求項24之方法,其中,對於至少一經編碼之資料串流,該編碼包含將該視訊序列編碼為經編碼之資料的一基層及經編碼之資料的一增強層,其中該基層包括該同步圖框。
- 如請求項24之方法,其中至少兩個經編碼之資料串流係按不同圖框率編碼。
- 如請求項24之方法,其中至少兩個經編碼之資料串流係按不同圖框解析度編碼。
- 如請求項24之方法,其中一共同的經編碼之資料串流的區塊包括按不同圖框解析度編碼之視訊資料。
- 如請求項24之方法,其中該同步圖框為一I圖框。
- 如請求項24之方法,其中該同步圖框為一瞬時解碼器再新圖 框。
- 如請求項24之方法,其進一步包含對於該等經編碼之資料串流中的一者,將該視訊序列編碼為針對該一經編碼之資料串流的一增強層。
- 如請求項24之方法,其中每一經編碼之資料串流包含指示其視覺品質的資料,該資料用以解碼該串流。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261657600P | 2012-06-08 | 2012-06-08 | |
US13/631,605 US9571827B2 (en) | 2012-06-08 | 2012-09-28 | Techniques for adaptive video streaming |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201404170A TW201404170A (zh) | 2014-01-16 |
TWI511544B true TWI511544B (zh) | 2015-12-01 |
Family
ID=48579500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102120403A TWI511544B (zh) | 2012-06-08 | 2013-06-07 | 用於可調適視訊串流之技術 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9571827B2 (zh) |
TW (1) | TWI511544B (zh) |
WO (1) | WO2013184374A1 (zh) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7515710B2 (en) | 2006-03-14 | 2009-04-07 | Divx, Inc. | Federated digital rights management scheme including trusted systems |
WO2010080911A1 (en) | 2009-01-07 | 2010-07-15 | Divx, Inc. | Singular, collective and automated creation of a media guide for online content |
US9756468B2 (en) | 2009-07-08 | 2017-09-05 | Dejero Labs Inc. | System and method for providing data services on vehicles |
US8942215B2 (en) | 2010-07-15 | 2015-01-27 | Dejero Labs Inc. | System and method for transmission of data from a wireless mobile device over a multipath wireless router |
US10165286B2 (en) | 2009-07-08 | 2018-12-25 | Dejero Labs Inc. | System and method for automatic encoder adjustment based on transport data |
WO2011068668A1 (en) | 2009-12-04 | 2011-06-09 | Divx, Llc | Elementary bitstream cryptographic material transport systems and methods |
US8914534B2 (en) | 2011-01-05 | 2014-12-16 | Sonic Ip, Inc. | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
US8818171B2 (en) | 2011-08-30 | 2014-08-26 | Kourosh Soroushian | Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US9955195B2 (en) | 2011-08-30 | 2018-04-24 | Divx, Llc | Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US9571827B2 (en) | 2012-06-08 | 2017-02-14 | Apple Inc. | Techniques for adaptive video streaming |
US9197685B2 (en) * | 2012-06-28 | 2015-11-24 | Sonic Ip, Inc. | Systems and methods for fast video startup using trick play streams |
US10452715B2 (en) | 2012-06-30 | 2019-10-22 | Divx, Llc | Systems and methods for compressing geotagged video |
EP2875417B1 (en) | 2012-07-18 | 2020-01-01 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution |
US9804668B2 (en) | 2012-07-18 | 2017-10-31 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9992499B2 (en) | 2013-02-27 | 2018-06-05 | Apple Inc. | Adaptive streaming techniques |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
DE102013211571B4 (de) * | 2013-06-19 | 2016-02-11 | Opticom Dipl.-Ing. Michael Keyhl Gmbh | Konzept zur bestimmung der qualität eines mediadatenstroms mit variierender qualität-zu-bitrate |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
US9756102B2 (en) * | 2013-10-07 | 2017-09-05 | Qualcomm Incorporated | Request cancellation method for media streaming |
US20150207841A1 (en) * | 2014-01-19 | 2015-07-23 | Fabrix Tv Ltd. | Methods and systems of storage level video fragment management |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
US9813470B2 (en) * | 2014-04-07 | 2017-11-07 | Ericsson Ab | Unicast ABR streaming |
EP3175617B1 (en) * | 2014-07-31 | 2024-07-31 | Dejero Labs Inc. | System and method for automatic encoder adjustment based on transport data |
US10129312B2 (en) * | 2014-09-11 | 2018-11-13 | Microsoft Technology Licensing, Llc | Dynamic video streaming based on viewer activity |
US10749918B2 (en) * | 2014-11-10 | 2020-08-18 | Avago Technologies International Sales Pte. Limited | Adaptive streaming with early client indication |
GB2534136A (en) * | 2015-01-12 | 2016-07-20 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
US10681416B2 (en) * | 2015-02-04 | 2020-06-09 | Nippon Telegraph And Telephone Corporation | Quality-of-experience optimization system, quality-of-experience optimization apparatus, recommend request apparatus, quality-of-experience optimization method, recommend request method, and program |
US10075292B2 (en) | 2016-03-30 | 2018-09-11 | Divx, Llc | Systems and methods for quick start-up of playback |
US10148989B2 (en) * | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
US11363322B2 (en) * | 2016-12-01 | 2022-06-14 | Brightcove, Inc. | Optimization of encoding profiles for media streaming |
US10798387B2 (en) * | 2016-12-12 | 2020-10-06 | Netflix, Inc. | Source-consistent techniques for predicting absolute perceptual video quality |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
US11166034B2 (en) | 2017-02-23 | 2021-11-02 | Netflix, Inc. | Comparing video encoders/decoders using shot-based encoding and a perceptual visual quality metric |
US10917644B2 (en) | 2017-02-23 | 2021-02-09 | Netflix, Inc. | Iterative techniques for encoding video content |
US10742708B2 (en) | 2017-02-23 | 2020-08-11 | Netflix, Inc. | Iterative techniques for generating multiple encoded versions of a media title |
US11153585B2 (en) | 2017-02-23 | 2021-10-19 | Netflix, Inc. | Optimizing encoding operations when generating encoded versions of a media title |
US10666992B2 (en) * | 2017-07-18 | 2020-05-26 | Netflix, Inc. | Encoding techniques for optimizing distortion and bitrate |
US11234034B2 (en) * | 2018-11-02 | 2022-01-25 | Netflix, Inc. | Techniques for encoding a media title via multiple encoders |
CN109246443B (zh) * | 2018-11-28 | 2021-03-23 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种直播流切片同步方法及系统 |
US10911791B2 (en) * | 2019-01-09 | 2021-02-02 | Netflix, Inc. | Optimizing encoding operations when generating a buffer-constrained version of a media title |
US11503099B2 (en) * | 2020-03-31 | 2022-11-15 | Google Llc | Methods, systems, and media for selecting video formats for adaptive video streaming |
US12088821B1 (en) * | 2020-06-30 | 2024-09-10 | Amazon Technologies, Inc. | Dynamic encoder-time scaling service for live and on-demand adaptive streaming |
CN115734026A (zh) * | 2021-08-31 | 2023-03-03 | 北京字跳网络技术有限公司 | 视频的处理方法、装置及系统 |
US11785262B1 (en) | 2022-03-16 | 2023-10-10 | International Business Machines Corporation | Dynamic compression of audio-visual data |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040196975A1 (en) * | 2003-04-01 | 2004-10-07 | Microsoft Corporation | Fully scalable encryption for scalable multimedia |
US20080127258A1 (en) * | 2006-11-15 | 2008-05-29 | Qualcomm Incorporated | Systems and methods for applications using channel switch frames |
US20100235542A1 (en) * | 2008-11-24 | 2010-09-16 | Zubair Visharam | Dynamic Variable Rate Media Delivery System |
TW201238353A (en) * | 2011-03-10 | 2012-09-16 | Univ Nat Chi Nan | Multi-visual angle video encoding method capable of saving memory space of decoded pictures |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2782437B1 (fr) * | 1998-08-14 | 2000-10-13 | Thomson Multimedia Sa | Procede de commutation de flux mpeg |
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ビデオ・ストリームの継ぎ目を生じないスイッチング |
US7003794B2 (en) * | 2000-06-27 | 2006-02-21 | Bamboo Mediacasting, Inc. | Multicasting transmission of multimedia information |
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 |
SG146434A1 (en) | 2000-11-29 | 2008-10-30 | British Telecomm | Transmitting and receiving real-time data |
US20020131496A1 (en) * | 2001-01-18 | 2002-09-19 | Vinod Vasudevan | System and method for adjusting bit rate and cost of delivery of digital data |
JP4965059B2 (ja) | 2001-07-19 | 2012-07-04 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | ビデオストリームの切り替え |
FI115418B (fi) | 2001-09-20 | 2005-04-29 | Oplayo Oy | Adaptiivinen mediavirta |
US6959042B1 (en) | 2001-10-01 | 2005-10-25 | Cisco Technology, Inc. | Methods and apparatus for measuring compressed video signals and applications to statistical remultiplexing |
JP2005506807A (ja) * | 2001-10-25 | 2005-03-03 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオ解析を用いてオープンで柔軟なシステムの予測可能性を補助する方法 |
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 |
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 |
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 |
US7860996B2 (en) | 2008-05-30 | 2010-12-28 | Microsoft Corporation | Media streaming with seamless ad insertion |
EP2338278B1 (en) * | 2008-09-16 | 2015-02-25 | Intel Corporation | Method for presenting an interactive video/multimedia application using content-aware metadata |
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 |
US8781305B2 (en) | 2008-12-02 | 2014-07-15 | Microsoft Corporation | Media streaming with smooth fast-forward and rewind |
US8311115B2 (en) * | 2009-01-29 | 2012-11-13 | Microsoft Corporation | Video encoding using previously calculated motion information |
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 |
US8909806B2 (en) * | 2009-03-16 | 2014-12-09 | Microsoft Corporation | Delivering cacheable streaming media presentations |
CN102498715B (zh) | 2009-05-19 | 2015-09-30 | 宝美瑞思网络有限公司 | 带宽回收用受管理自适应比特率的方法、装置 |
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 |
US8566393B2 (en) * | 2009-08-10 | 2013-10-22 | Seawell Networks Inc. | Methods and systems for scalable video chunking |
US8392748B2 (en) * | 2009-10-06 | 2013-03-05 | Microsoft Corporation | Reliable media streaming |
US9237387B2 (en) * | 2009-10-06 | 2016-01-12 | Microsoft Technology Licensing, Llc | Low latency cacheable media streaming |
US20120179833A1 (en) * | 2010-06-02 | 2012-07-12 | 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 |
WO2012078640A2 (en) * | 2010-12-06 | 2012-06-14 | The Regents Of The University Of California | Rendering and encoding adaptation to address computation and network bandwidth constraints |
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 |
EP2608558A1 (en) * | 2011-12-22 | 2013-06-26 | Thomson Licensing | System and method for adaptive streaming in a multipath environment |
US8325821B1 (en) * | 2012-02-08 | 2012-12-04 | Vyumix, Inc. | Video transcoder stream multiplexing systems and methods |
US9313138B2 (en) * | 2012-08-17 | 2016-04-12 | Google Technology Holdings LLC | Devices, systems, and methods for adaptive switching of multicast content delivery to optimize bandwidth usage |
US9571827B2 (en) | 2012-06-08 | 2017-02-14 | Apple Inc. | Techniques for adaptive video streaming |
-
2012
- 2012-09-28 US US13/631,605 patent/US9571827B2/en active Active
-
2013
- 2013-05-23 WO PCT/US2013/042366 patent/WO2013184374A1/en active Application Filing
- 2013-06-07 TW TW102120403A patent/TWI511544B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040196975A1 (en) * | 2003-04-01 | 2004-10-07 | Microsoft Corporation | Fully scalable encryption for scalable multimedia |
US20080127258A1 (en) * | 2006-11-15 | 2008-05-29 | Qualcomm Incorporated | Systems and methods for applications using channel switch frames |
US20100235542A1 (en) * | 2008-11-24 | 2010-09-16 | Zubair Visharam | Dynamic Variable Rate Media Delivery System |
TW201238353A (en) * | 2011-03-10 | 2012-09-16 | Univ Nat Chi Nan | Multi-visual angle video encoding method capable of saving memory space of decoded pictures |
Also Published As
Publication number | Publication date |
---|---|
TW201404170A (zh) | 2014-01-16 |
WO2013184374A1 (en) | 2013-12-12 |
US20130329781A1 (en) | 2013-12-12 |
US9571827B2 (en) | 2017-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI511544B (zh) | 用於可調適視訊串流之技術 | |
US20160073106A1 (en) | Techniques for adaptive video streaming | |
US20220030244A1 (en) | Content adaptation for streaming | |
EP3338455B1 (en) | System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics | |
US9800883B2 (en) | Parallel video transcoding | |
DK2382784T3 (en) | Video coding with multi-bit-rate using variable-bit-rate and dynamic resolution for adaptive video streaming | |
US9398301B2 (en) | Parallel video encoding based on complexity analysis | |
US9071841B2 (en) | Video transcoding with dynamically modifiable spatial resolution | |
US20170055007A1 (en) | System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics | |
US20100061448A1 (en) | Method and apparatus for transmitting video | |
US20130223509A1 (en) | Content network optimization utilizing source media characteristics | |
TW201448570A (zh) | 適應性串流技術 | |
JP2016526336A (ja) | 適応ビットレートストリーミングのための適応量子化を用いて複数のビデオストリームをエンコードするシステムおよび方法 | |
JP7233546B2 (ja) | メディアタイトルのバッファ制約バージョンを生成する際の符号化演算の最適化 | |
CA3057894C (en) | Video compression using down-sampling patterns in two phases | |
Kobayashi et al. | A Low-Latency 4K HEVC Multi-Channel Encoding System with Content-Aware Bitrate Control for Live Streaming | |
KR20230053243A (ko) | 분산형 병렬 인코딩 방법 및 장치 | |
US20240244229A1 (en) | Systems and methods for predictive coding |