[發明專利]一種層間回填自適應SVC-DASH播放方法有效
| 申請號: | 201810808794.2 | 申請日: | 2018-07-23 |
| 公開(公告)號: | CN109348233B | 公開(公告)日: | 2020-11-13 |
| 發明(設計)人: | 熊麗榮;尤日晶;沈樹茂 | 申請(專利權)人: | 浙江工業大學 |
| 主分類號: | H04N19/70 | 分類號: | H04N19/70;H04N19/40;H04N19/30;H04N21/643;H04N21/2343;H04N21/44 |
| 代理公司: | 杭州天正專利事務所有限公司 33201 | 代理人: | 王兵;王幸祥 |
| 地址: | 310014 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 回填 自適應 svc dash 播放 方法 | ||
1.一種層間回填自適應SVC-DASH播放方法,包括以下步驟:
步驟1,創建SVC編碼數據集;
1.1視頻格式轉換;
選擇YUV、AVI等任意格式視頻源,將其轉化為MPEG-DASH協議需要的H.264視頻格式;采用FFMPEG,MediaCoder開源工具實施視頻編碼轉換;
1.2視頻分割;
SVC編碼將每個視頻片段分割為一層基礎層和多層增強層,且基礎層和多個增強層可以通過不同的組合方式解碼出不同視頻質量的媒體流;將步驟1.1生成的H.264格式視頻分割成固定時長秒的多個視頻片段,每個視頻片段由一層基礎層和多個增強層構成;根據生成的視頻片段序號、片段時長、視頻片段幀率、片段層下載鏈接、片段層文件大小等信息構造一個MPD文件,MPD文件是DASH視頻描述文件;視頻片段分割采用JSVM、SVC_Demux_Mux開源工具;
步驟2,搭建基于SVC編碼的HTTP視頻文件服務器;
利用現有的服務端技術Apache,nginx,tomcat搭建SVC編碼的文件服務器,并將MPD文件中的BaseURL項修改為服務器的存儲視頻數據集的網絡地址;
步驟3,層間回填自適應播放方法的SVC-DASH客戶端模塊及交互;
SVC-DASH客戶端包括:用戶交互模塊、下載模塊、緩存管理模塊、自適應決策模塊、片段合成模塊以及播放控制模塊共六個模塊;用戶交互模塊是用戶和客戶端之間進行交互的接口,用戶選擇SVC編碼的DASH視頻源,下載并解析DASH視頻源的MPD文件;自適應決策模塊采用層間回填自適應方法決策出可以從視頻文件服務器端下載的視頻片段層;下載模塊將決策出的視頻片段層文件下載交由緩存管理模塊;緩存管理模塊負責將下載的片段層存儲到緩存區;片段合成模塊負責從緩存區內取出片段基礎層和多層增強層進行合成,并交給播放控制模塊;播放控制模塊將片段合成模塊合成的H.264片段加載至Mplayer播放器播放的主文件中,通過Mplayer播放器進行播放;播放控制模塊需要保證當緩存區為空時,主動暫停Mplayer播放器播放視頻,等待緩存區填充入新的片段后再通知Mplayer播放器繼續播放視頻;各個模塊之間協作步驟如下:
3.1用戶交互模塊獲取視頻源MPD并解析處理;
首先用戶通過用戶交互模塊添加可播放的視頻源的MPD下載地址,檢查MPD下載地址是否有效,如果無效,則重新進行添加MPD下載地址;如果有效則根據MPD下載地址從服務端下載MPD文件;當客戶端下載好MPD文件后,將MPD文件通過XML技術進行解析,獲取MPD文件包含的信息,并發送給自適應決策模塊、下載模塊和播放模塊;
3.2層間回填自適應決策;
首先自適應決策模塊采用層間回填自適應方法確定需要下載的片段層,然后下載模塊根據自適應決策的片段層從服務端進行下載;
層間回填自適應方法是在SVC-DASH的框架下,根據緩存填充狀態預測下一次下載的片段層,并返回給下載模塊進行下載;當緩存區處于未填滿狀態時,通過下載新片段的基礎層進行填充緩存;當緩存區填滿時,通過回填算法確定下載的片段層;相關定義如下:
定義片段層為,
定義是一個長度為2的一維數組,其中記錄最新下載的片段序號,記錄上次回填的片段序號;
3.2.1緩存區處于未填滿狀態時,添加新片段基礎層;
,
3.2.2當緩存區填滿時,質量回填;
當緩存區已滿時,對已下載的視頻片段進行回填;在回填的過程中,需要在每次下載基礎層或增強層后,及時根據當前帶寬調整回填質量;步驟包含回填片段序號查找和層間回填質量確定;
1)回填片段序號查找算法;
在選擇回填片段序號時,需要保證回填片段尚未回填且尚未播放;因此選擇回填片段序號時,選擇和中片段序號較大的;
其中表示了當前播放器正在播放的視頻片段的序號,表示正在播放的視頻片段的序號+2,這樣能夠有效防止回填過程中下載已經播放過的視頻片段的片段層;
2)層間回填質量確定算法;
基于實時帶寬預測片段質量;當前帶寬和上次網絡帶寬接近,則預測質量等級和上次選擇的質量等級相同;否則,找到和當前帶寬最匹配的質量等級;
定義上一次片段層下載的網絡帶寬為,當前實時帶寬為;表示 帶寬下選擇的質量等級,表示當前片段
a) 如果,
則
否則,轉步驟b)
b) 找到和當前帶寬最匹配的質量等級,方法如下:
從0開始,直到select 符合
,選擇值作為當前選擇的質量等級;
如果當前帶寬小于數組中的最小質量等級所需帶寬時,選擇最低的質量等級;
如果當前帶寬大于數組中的最大質量等級所需帶寬時,選擇最大質量等級,;
3)確定自適應下載層;
如果,則返回 ;如果時,則, ,,返回;
3.3視頻下載處理;
下載模塊在獲得自適應決策出的需要下載的片段層信息后,從獲取的MPD文件信息中查找決策出的需要下載的片段層的下載鏈接,并將其下載;
3.4視頻緩存管理;
在片段層下載后,將片段層存儲到緩存區中;緩存區內存放的視頻片段以哈希表結構組織,其中哈希表的鍵值是視頻片段序號;哈希表的鍵值是一個列表,列表存儲了片段序號為哈希表鍵對應的片段層存儲地址;
3.5視頻片段合成;
片段合成模塊從緩存區中取出視頻片段的基礎層和多個增強層,由片段合成模塊合成可播放的H.264片段,并由播放控制模塊加載入播放文件中,由Mplayer播放器播放;合成模塊工具可以參考JSVM, SVC_Demux_Mux等開源工具;
3.6控制播放模塊讀取主文件并播放;
Mplayer播放器啟動時需要從播放主文件中開始讀取并播放,控制播放模塊不斷的從片段合成模塊獲取新的H.264片段,并加載入播放主文件中,Mplayer播放器讀入視頻片段,并交給解碼模塊,解碼模塊將視頻片段解碼成幀,并存人Mplayer的播放幀緩存中;Mplayer從幀緩存中取出幀進行播放;視頻還沒有播放到最后一個片段時,如果幀緩存中已經沒有可播放幀,控制播放模塊會控制Mplayer暫停播放,等待新片段的載入,否則繼續播放直到播放到最后一個片段結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江工業大學,未經浙江工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810808794.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:圖像解碼裝置以及圖像解碼方法
- 下一篇:一種高效亞像素運動估計方法及系統





