本發(fā)明屬于超高清視頻技術領域,具體涉及一種面向超高清視頻點播的質量監(jiān)測系統(tǒng)。
背景技術:
數(shù)字化技術的發(fā)展加速了視頻分辨率的提升,從標清到高清的普及,再到超高清電視的推出,均顯示出當前電視領域的發(fā)展趨勢。新的編碼技術(例如hevc編碼標準)以及更高分辨率的視頻(超高清視頻)的出現(xiàn),會讓視頻服務行業(yè)在服務質量上得到更大的提升。而高效的視頻質量評估技術對于方便點播業(yè)務的運營管理,用來不斷提升用戶體驗質量有著十分重要的意義。
超高清視頻的出現(xiàn),極大的滿足了人們對視頻分辨率的高要求,但同時也必須滿足在播放過程中所面臨的更嚴格的視頻質量評價體系。如今視頻質量的評估按照是否由人參與可以分為主觀質量評估和客觀質量評估,前者需要一定數(shù)量的主觀評估人群來完成,而后者則是通過對一些視頻播放過程中的指標來評估視頻質量的好壞。因此本文將通過主客觀評估這兩方面來構建超高清視頻質量評估體系,對視頻播放過程中的質量進行監(jiān)控。其中還將著重介紹網(wǎng)絡參數(shù)qoe(用戶體驗質量)體系架構搭建,來測量網(wǎng)絡傳輸通信中tcp包重傳、時延、帶寬等參數(shù),以及在用戶端所出現(xiàn)的黑屏、卡頓等視頻播放問題,這些因素都將影響用戶體驗度?,F(xiàn)有的視頻質量監(jiān)測服務主要是涉及高清視頻以普通標清視頻,而超高清視頻在編碼、解碼上有著較大不同,且由于超高清視頻的碼流相比較更大,這對原有的視頻質量監(jiān)測方法來說存在很大挑戰(zhàn),因此本發(fā)明將對超高清視頻的解碼入手,再利用大數(shù)據(jù)存儲分析的方法對整個視頻質量監(jiān)測系統(tǒng)進行改進提高。
技術實現(xiàn)要素:
基于以上問題,本發(fā)明的目的在于提供一種面向超高清視頻點播的質量監(jiān)測系統(tǒng),以滿足業(yè)務運營商和用戶對業(yè)務運行狀態(tài)和視頻質量感知的需求。
本發(fā)明提供的面向超高清視頻點播的質量監(jiān)測系統(tǒng),由網(wǎng)絡層功能模塊、應用層功能模塊、展示層模塊和大數(shù)據(jù)模塊組成,其中:
所述網(wǎng)絡層功能模塊,由視頻流數(shù)據(jù)包抓取模塊、tcp測量功能模塊、http協(xié)議解析模塊3個子模塊組成,用于對視頻流數(shù)據(jù)進行采集和相應的分析,得到對應的指標,并存入數(shù)據(jù)庫之中,其數(shù)據(jù)流向如圖1所示;其中數(shù)據(jù)包抓取模塊通過交換機,利用其端口鏡像的功能進行數(shù)據(jù)包的抓取,其功能等同于將達到目的地址的數(shù)據(jù)包進行拷貝。將拷貝得到的數(shù)據(jù)包傳入至tcp測量功能模塊;tcp測量功能模塊將得到拷貝的數(shù)據(jù)包后,進行對應的協(xié)議分類處理,其流程如圖2所示,首先探針內部的視頻流數(shù)據(jù)包抓取模塊根據(jù)網(wǎng)絡協(xié)議的結構過濾掉以太網(wǎng)首部,以及去掉該數(shù)據(jù)包的ip層首部,從而進一步判斷該數(shù)據(jù)包是否含有tcp報文,該視頻點播系統(tǒng)是基于tcp協(xié)議進行傳輸?shù)模虼艘勒赵摋l件能夠篩選出tcp報文,然后將篩選出的tcp報文傳入http協(xié)議解析模塊,按照如圖2所示的,根據(jù)解析進一步判斷是否為http請求,若是則對請求包和響應包進行處理,提取出對應的視頻源url以及http響應碼。若非http請求,則對整個業(yè)務請求連接進行跟蹤,從tcp的序列號、確認號進行保存,然后完成后續(xù)處理。通過對每個tcp的序列號和確認號進行對比,得到當前網(wǎng)絡的重傳亂序率。在tcp測量功能模塊中通過發(fā)送icmp請求包得到流媒體服務器的響應包,進行字段摘取后可以獲得鏈路之間的延時以及抖動情況,并且通過計算客戶端發(fā)送請求包以及收到響應包的時間差得到tcp的建立時間。最后將所得到的指標存入數(shù)據(jù)庫中。
所述應用層功能模塊,是在應用層用于對視頻本身的信息和視頻傳輸質量從用戶角度進行分析,通過測量psnr(峰值信噪比)/ssim(結構相似性)來反映編解碼對視頻的損傷程度。不同的psnr值代表著當前視頻的質量程度不同。跟傳統(tǒng)視頻質量監(jiān)測不同的是超高清視頻的編碼跟普通視頻的編碼有著很大的不同,所以在對視頻數(shù)據(jù)流解碼時,要用h.265解碼器進行解碼,本發(fā)明中,將h.265解碼器嵌入到了自制播放器中。在該模塊中,主要分為信息采集和信息分析兩部分。信息采集部分利用超高清視頻解碼器hevc進行解碼,在得到視頻流后,利用解碼器每隔一定的時間對視頻進行截幀處理;信息分析部分利用所截取所得到的視頻幀與源視頻在該時間處的幀進行比較,得到損傷程度值;若該損傷程度值較大(本發(fā)明通過將傳輸解碼后的視頻幀與源視頻幀進行大量比較實驗后得出,一般,對當連續(xù)兩個psnr值大于27時,表示視頻損傷程度較大),則說明該時間處視頻有卡頓的現(xiàn)象。在對視頻進行上述客觀評價外,還通過主觀方面對視頻的質量進行評估,如邀請年齡相仿的志愿者對視頻按要求下進行觀看,給出相應的打分(1-5),5代表視頻觀看效果好,1代表視頻觀看效果不好。將上述的得到的應用層指標(psnr值,主觀評價分數(shù))存入至數(shù)據(jù)庫中。
所述展示層模塊,包括web服務器和數(shù)據(jù)庫服務器,web服務器通過基于python的django框架進行搭建,通過異步傳輸將數(shù)據(jù)庫中的各層指標動態(tài)顯示在web界面上,用來提供交互界面的展示;數(shù)據(jù)庫服務器將網(wǎng)絡層和應用層的指標進行存儲。對于視頻質量的判斷,提供對應的數(shù)值閥值來表示當前視頻質量的好壞。該部分,我們進行人為的設定,在通過事先的觀看和實驗比較,在上述應用層模塊中,當連續(xù)2個psnr的值大于27時代表當前視頻質量不好;當連續(xù)2個psnr的值小于15時代表當前視頻質量好,其余情況均為視頻質量一般。由于數(shù)據(jù)庫的存儲容量有限,所以通過一段時間的存儲后,可以利用hadoop大數(shù)據(jù)平臺,將數(shù)據(jù)庫中的數(shù)據(jù)導入大數(shù)據(jù)平臺后進行后期的離線分析。
所述大數(shù)據(jù)模塊,包括hadoop大數(shù)據(jù)平臺集群。本發(fā)明利用hadoop2.7.3進行集群的搭建,能對大文件進行有效的存儲,以此來解決數(shù)據(jù)庫容量溢出的情況。其包括一個命名節(jié)點(namenode)即中心服務器節(jié)點以及數(shù)個數(shù)據(jù)節(jié)點(datanodes)。namenode用來管理整個文件系統(tǒng)的命名空間,datanode負責存儲和檢索數(shù)據(jù)塊,它受客戶端和namenode調度。對于離線狀態(tài)下,利用所分析出的網(wǎng)絡重傳亂序率,網(wǎng)絡傳輸中的帶寬、延時、抖動,并結合在應用層模塊所計算出的psnr值分析某段時間內各用戶的視頻質量狀況,分析不同時間段內網(wǎng)絡帶寬情況和用戶在各時段的點播視頻頻率情況,通過該線下的分析,流媒體管理人員可以在此分析基礎上為運營商提出可靠的意見來做出相應的運營方案。除了上述提到的對用戶點播視頻狀況的分析,利用大數(shù)據(jù)平臺中的大量網(wǎng)絡層傳輸指標和應用層psnr值來預測短期內視頻的播放質量情況,當預測的質量較差時,可以增加流媒體服務器的輸出帶寬來緩解網(wǎng)絡傳輸?shù)膲毫Α?/p>
本發(fā)明為一套能對超高清視頻點播業(yè)務狀態(tài)以及其視頻質量進行實時監(jiān)測的系統(tǒng)。其應用范圍將會覆蓋包含視頻點播服務的視頻服務行業(yè),監(jiān)測其服務過程中的視頻質量。
本發(fā)明對超高清視頻傳輸流的采集、過濾和分析并不需要對整個局域網(wǎng)或者城域網(wǎng)進行改造,而只需通過端口鏡像就能很方便地對視頻流質量進行監(jiān)控。與現(xiàn)有監(jiān)測方法相比,本發(fā)明在對超高清視頻傳輸過程中,其應用層和網(wǎng)絡層上的分工更為明確,并且能利用大數(shù)據(jù)平臺的功能進行數(shù)據(jù)的離線分析。
附圖說明
圖1網(wǎng)絡層功能模塊圖。
圖2網(wǎng)絡層數(shù)據(jù)包解析流程圖。
圖3應用層架構流程圖。
圖4應用層監(jiān)測顯示圖。
圖5大數(shù)據(jù)功能模塊圖。
圖6本發(fā)明的系統(tǒng)框圖。
具體實施方式
為了使本發(fā)明的技術方案能更清晰的表示出來,下面結合附圖對發(fā)明做進一步的說明。
本發(fā)明提供了一種對超高清視頻質量監(jiān)測的系統(tǒng),解決了超高清視頻質量監(jiān)測的問題。如下分別介紹了整個系統(tǒng)的各個模塊。
當客戶端192.168.1.5點播了一個流媒體服務器地址為192.168.1.2下的sintel視頻時,視頻流首先流入網(wǎng)絡層模塊。視頻傳輸中網(wǎng)絡層模塊的視頻質量監(jiān)測,參考圖1和圖2。整個視頻點播系統(tǒng)是基于tcp協(xié)議的,所以主要是對tcp協(xié)議以及http協(xié)議的解析,劃分為視頻流tcp重傳亂序測量子模塊、帶寬/延時抖動監(jiān)測子模塊、tcp建立時間測量子模塊、http請求子模塊、http響應子模塊等幾個子模塊。超高清視頻質量監(jiān)測系統(tǒng)接收到任務后,網(wǎng)絡層通過端口鏡像的方式對達到192.168.1.5地址的數(shù)據(jù)包進行捕獲偵聽,獲取視頻數(shù)據(jù)包的相應信息,比如源地址為192.168.1.2,目的地址為192.168.1.5,文件名為sintel;然后進行重傳/亂序率、tcp建立時間、延時等指標的計算,重傳亂序率通過對前后tcp包中的序列號和確認號進行比較來獲得重傳亂序包的數(shù)量,tcp建立時間通過http請求包與響應包的時間差來獲得,而網(wǎng)絡的延時抖動則是通過發(fā)送icmp請求包來獲取。通過設定規(guī)定的執(zhí)行周期來等間隔的獲取上述指標參數(shù),然后將指標結果進行數(shù)據(jù)庫保存,以便通過web界面對所得指標進行展示。在展示過程中,若重傳/亂序率為負數(shù)則代表當前并未有新的計算數(shù)據(jù)還在處理當中,還未有新的數(shù)據(jù)生成。進行帶寬、延時、抖動的監(jiān)測并非每秒進行,本發(fā)明將間隔時間定位了4秒,即每隔4秒進行一次檢測。
當視頻流經(jīng)過應用層模塊時,視頻傳輸中應用層模塊的視頻質量監(jiān)測,參考圖3和圖4。視頻質量監(jiān)測的應用層模塊從圖形學角度分析視頻播放傳輸?shù)囊曨l畫面,采用全參考視頻質量評價模型(即需要通過原視頻來作為參考來評價傳輸解碼后的視頻質量情況),對接收到的超高清視頻的像素信息進行客觀評價。用戶層模塊設計的要點在于從獲取圖像的故障參數(shù)和特征點,以此來評估圖像質量。該模塊中我們需要保存原始視頻幀,并采用合適的圖像分析算法psnr/ssim(結構相似度)等來實時的分析出視頻參數(shù),本發(fā)明采用的是psnr算法。應用層模塊的主要功能如下:
能夠對接收到的視頻進行卡頓故障的檢測,判斷視頻畫面是否出現(xiàn)卡頓故障,并能夠結合上述圖像檢測結果,對視頻質量做出客觀評價。例如當連續(xù)兩個數(shù)據(jù)幀與原視頻幀進行psnr比較處理后得到的值分別為32和35,則說明此時的視頻出現(xiàn)了卡頓,即視頻質量較差的情況。該模塊的具體步驟如下:
(1)檢測開始時選擇hevc解碼器對視頻流進行解碼,傳入視頻幀。
(2)對接收到的視頻幀進行卡頓現(xiàn)象的檢測,將檢測結果傳送給后續(xù)視頻質量客觀評價模塊。
(3)在視頻質量客觀評價方面,采用psnr/ssim等算法。
(4)最后將評測的結果存入至數(shù)據(jù)庫中,以供后展示層模塊的調用。
在web瀏覽器展示層中,通過表格和折線的動態(tài)更新變化來反映網(wǎng)絡層和數(shù)據(jù)層指標的更新變化。通過命令行啟動web服務器后,在瀏覽器中輸入localhost:8080即可進入數(shù)據(jù)展示監(jiān)測界面,對不同指標的監(jiān)測,當按下相對應的按鈕以后,數(shù)據(jù)便會實時的在表格或者折線圖上更新。
針對上述流程的介紹,本發(fā)明中對超高清視頻質量的分析分為網(wǎng)絡層和應用層兩方面,網(wǎng)絡層主要針對視頻在網(wǎng)絡傳輸過程中,對網(wǎng)絡性能指標參數(shù)的監(jiān)測,如帶寬、延時、抖動、重傳率等;應用層則是針對視頻在客戶端經(jīng)過解碼后的視頻所傷進行分析處理,來獲得播放視頻的信息,如碼率、分辨率以及psnr值等。兩個分析模塊之間不存在相互依賴和冗余,當媒體數(shù)據(jù)流經(jīng)過網(wǎng)絡層模塊和應用層模塊時,會分別將分析出來后的指標傳至各自的數(shù)據(jù)庫表當中,使得兩層的作用更為清晰。
針對大量用戶的點播,本發(fā)明中的大數(shù)據(jù)平臺用來存儲從網(wǎng)絡層和應用層中分析出的數(shù)據(jù)文件,通過搭建hadoop集群,利用hdfs(分布式文件系統(tǒng))來存儲海量的分析數(shù)據(jù),如圖6所示。由于超高清視頻的碼率大,數(shù)據(jù)包多,所分析出來的數(shù)據(jù)量也會多于高清視頻和其他普通視頻,簡單的數(shù)據(jù)庫存儲并不能存儲長時間的數(shù)據(jù),所以可以將一段時間內的數(shù)據(jù)文件轉存至大數(shù)據(jù)平臺,在使用離線數(shù)據(jù)分析時,可以從hadoop平臺上將數(shù)據(jù)取出,利用其并行計算的優(yōu)勢進行分析。如圖5所示,多個節(jié)點ip對超高清視頻進行點播后,流經(jīng)網(wǎng)絡層模塊和應用層模塊后可以將網(wǎng)絡參數(shù)指標以及應用層視頻質量指標上傳至hadoop平臺,對平臺中的大文件進行mapreduce操作后能得到各個ip端在該時段所使用的網(wǎng)絡狀況以及視頻點播的質量狀況,通過web界面能進行展示。