本發(fā)明屬于多媒體通信測試技術(shù)領(lǐng)域,涉及一種質(zhì)量判定方法,尤其涉及一種判定MPEG2-TS VBR碼流質(zhì)量的方法。
背景技術(shù):
CBR和VBR視頻編碼技術(shù)
傳統(tǒng)的數(shù)字電視業(yè)務(wù)(如DVB、IPTV)一般采用恒定比特率(CBR)編碼技術(shù)來壓縮和傳輸視頻流。采用CBR編碼的優(yōu)點是比較容易實現(xiàn)可靠的視頻服務(wù)質(zhì)量保障,CBR碼流對視頻服務(wù)器的性能管理、電視終端的緩沖區(qū)管理以及IP承載網(wǎng)的流控管理的實現(xiàn)復雜度要求都相對較低。CBR編碼的主要缺點是視頻壓縮效率較低,尤其是高清CBR視頻流往往需要占用大量的傳輸帶寬資源。
近年來,隨著高分辨率液晶電視的普及,人們對觀看高清視頻節(jié)目的需求也越來越旺盛。另一方面,新的視頻編碼技術(shù)和標準(如H.264、H.265)也不斷涌現(xiàn),這些新技術(shù)更多地采用了可變比特率(VBR)編碼技術(shù)來提高視頻的壓縮和傳輸效率。采用VBR編碼技術(shù),對于相對靜態(tài)的節(jié)目內(nèi)容(如新聞聯(lián)播)可用較低的碼率來實現(xiàn)高壓縮比的編碼,而對于背景畫面切換頻繁的節(jié)目(如體育賽事)則需用較高的碼率來實現(xiàn)編碼才能保證畫面的清晰度。由于VBR視頻流的碼率變化幅度較大,這對視頻服務(wù)器、IP承載網(wǎng)、電視終端的實現(xiàn)復雜度和性能管理提出了更高的要求。
傳統(tǒng)的MDI標準已不能完全適用于VBR碼流
對于傳統(tǒng)的IPTV所采用的MPEG2-TS CBR碼流的視頻質(zhì)量測試,IETF標準化組織已發(fā)布了RFC 4445 MDI規(guī)范。在MDI標準中主要定義了兩個參數(shù):即媒體丟失率(MLR)和延遲系數(shù)(DF)。
MDI:MLR媒體丟失率可以簡單定義為每秒鐘丟失(或非正常)的媒體數(shù)據(jù)包的數(shù)量。當MLR為非0時,則意味這MPEG2-TS碼流中的部分音視頻內(nèi)容丟失或受損,一般會導致畫面失真(如馬賽克、花屏)現(xiàn)象。根據(jù)其測試原理,MLR測試指標對于CBR和VBR碼流都是同樣適用的。
MDI:DF延遲系數(shù)是一個時間值,表示機頂盒的緩沖區(qū)必須容納多少毫秒的數(shù)據(jù)才能消除媒體流抖動。該參數(shù)實際上是反映了視頻流碼率的波動情況,碼率越恒定,則MDI:DF值越?。环粗畡t越大。如果MDI:DF值過大,超過了機頂盒緩沖區(qū)的容忍限度,就會導致緩沖區(qū)上溢或下溢。緩沖區(qū)上溢會導致媒體數(shù)據(jù)包的丟失,造成畫面失真;緩沖區(qū)下溢會導致無碼流數(shù)據(jù)可供解碼,造成畫面卡頓。對于正常的CBR視頻流,MDI:DF值一般保持在較小的范圍以內(nèi)波動;當視頻服務(wù)器或IP網(wǎng)絡(luò)出現(xiàn)性能問題時,MDI:DF值往往會明顯變大,因此IPTV測試設(shè)備可根據(jù)MDI:DF值來有效地評價CBR視頻流質(zhì)量(即碼率穩(wěn)定性),并對異常的碼率波動情況進行告警。
在RFC 4445 MDI規(guī)范中定義了MDI:DF值的計算方法:在采樣周期中,DF首先計算在測量點每個IP視頻封包到達時間變化;然后,與預期的視頻流速度對比得出;采樣周期默認為1秒;DF的數(shù)值在每次采樣周期完成后更新。具體DF的計算公式如下:
假設(shè)在測量點有虛擬緩存大小為X,
X = |接收到的字節(jié)數(shù) – 解碼所需的字節(jié)數(shù)|
其中,接收到的字節(jié)數(shù)為實際測量得到;解碼所需的字節(jié)數(shù)通過對媒體流解碼分析得到。
那么,DF = [最大值(X) – 最小值(X)] / 媒體流碼率
媒體流碼率單位是:字節(jié)/秒。最大值(X)和最小值(X)是在采樣周期內(nèi)所得數(shù)值。
根據(jù)以上DF的計算公式可見,該指標的設(shè)計原理是以CBR碼流的媒體流碼率是一個恒定的數(shù)值為基礎(chǔ)的。由于VBR編碼特性決定了其碼流比特率本身就存在很大波動,因此繼續(xù)沿用MDI:DF標準來評價VBR視頻的碼流質(zhì)量顯然是不合適的,這樣會產(chǎn)生大量的MDI:DF值超標引起的誤告警。然而用VBR碼流來傳輸IP視頻節(jié)目時,由于機頂盒緩沖區(qū)大小有限,如果視頻服務(wù)器的碼流輸出時序存在問題或IP網(wǎng)絡(luò)時延抖動過大,仍然會導致機頂盒緩沖區(qū)上溢或下溢的問題,造成畫面馬賽克或卡頓現(xiàn)象,因此業(yè)界迫切需要一種新的測試方法來評價VBR視頻流的質(zhì)量,并對其視頻質(zhì)量問題進行告警。
MPEG2-TS碼流的節(jié)目參考時鐘(PCR)
在MPEG2-TS碼流的編碼過程中,編碼器中有一個頻率為27MHz 的系統(tǒng)時鐘(STC),此時鐘用來產(chǎn)生指示音視頻的正確顯示和解碼的時間戳。在MPEG2-TS碼流中包含了一個被稱為節(jié)目參考時鐘標簽(PCR)的字段,該字段用來指示系統(tǒng)時鐘本身的瞬時值,它被放在TS包頭的自適應區(qū)中被定期(每隔40ms)傳送。通過PCR值不但可以獲得正確的解碼時間,還可以用來計算TS速率等與時間有關(guān)的信息。
對于CBR編碼的MPEG2-TS碼流,由于碼流的速率是恒定的,因此可根據(jù)接收的碼流字節(jié)數(shù)除以標稱碼流速率來估算視頻可播放時長。但對于VBR編碼的視頻流,由于碼流速率是不斷在變化的,因此以上計算方法就不再適用了。
有鑒于此,如今迫切需要設(shè)計一種判定MPEG2-TS VBR碼流質(zhì)量的方式,以便克服現(xiàn)有方式的上述缺陷。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:提供一種判定MPEG2-TS VBR碼流質(zhì)量的方法,可快速、精確判斷MPEG2-TS VBR碼流的質(zhì)量。
為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案:
一種判定MPEG2-TS VBR碼流質(zhì)量的方法,所述方法包括如下步驟:
步驟S1、開始采樣,并設(shè)置采集周期;
步驟S2、通過采集設(shè)備在視頻服務(wù)器出口、網(wǎng)絡(luò)中間點或視頻終端對基于可變比特率VBR編碼的MPEG2-TS碼流進行數(shù)據(jù)包捕獲;
步驟S3、對MPEG2-TS碼流進行協(xié)議解析,檢測出包含節(jié)目參考時鐘PCR的MPEG2-TS數(shù)據(jù)包,簡稱PCR TS包,并記錄采樣周期內(nèi):
第一個PCR TS包的數(shù)據(jù)包捕獲時間標簽T(1)和該PCR值PCR(1);
最后一個PCR TS包的數(shù)據(jù)包捕獲時間標簽T(n)和該PCR值PCR(n);
其中,T(1)、T(n)、PCR(1)、PCR(n) 均以微妙為單位;
步驟S4、計算VBR碼流的時延系數(shù)值:DF_V=| (PCR(n) - PCR(1)) - (T(n) - T(1)) |;以上差值為絕對值,DF_V值越小則判定VBR碼流的質(zhì)量越好,反之判定VBR碼流的質(zhì)量越差;
步驟S5、采樣結(jié)束。
作為本發(fā)明的一種優(yōu)選方案,步驟S1中,設(shè)置采集周期為1秒。
一種判定MPEG2-TS VBR碼流質(zhì)量的方法,包括:通過監(jiān)測MPEG2-TS碼流的PCR字段來計算在單位時間內(nèi)接收到的VBR視頻流的可播放時長與單位時間的絕對偏差量,并根據(jù)該絕對偏差量數(shù)值來評價VBR視頻流質(zhì)量。
作為本發(fā)明的一種優(yōu)選方案,所述方法包括如下步驟:
步驟S1、開始采樣,并設(shè)置采集周期;
步驟S2、通過采集設(shè)備在視頻服務(wù)器出口、網(wǎng)絡(luò)中間點或視頻終端對基于可變比特率VBR編碼的MPEG2-TS碼流進行數(shù)據(jù)包捕獲;
步驟S3、對MPEG2-TS碼流進行協(xié)議解析,檢測出包含節(jié)目參考時鐘PCR的MPEG2-TS數(shù)據(jù)包,簡稱PCR TS包,并記錄記錄采樣周期內(nèi):
第一個PCR TS包的數(shù)據(jù)包捕獲時間標簽T(1)和該PCR值PCR(1);
最后一個PCR TS包的數(shù)據(jù)包捕獲時間標簽T(n)和該PCR值PCR(n)
步驟S4、計算VBR碼流的時延系數(shù)值:DF_V=| (PCR(n) - PCR(1)) - (T(n) - T(1)) |;以上差值為絕對值,若DF_V值低于設(shè)定值,則判定VBR碼流的質(zhì)量好,若DF_V值高于設(shè)定值,則判定VBR碼流的質(zhì)量差;
步驟S5、采樣結(jié)束。
作為本發(fā)明的一種優(yōu)選方案,步驟S1中,設(shè)置采集周期為1秒。
本發(fā)明的有益效果在于:本發(fā)明提出的判定MPEG2-TS VBR碼流質(zhì)量的方法,可快速、精確判斷MPEG2-TS VBR碼流的質(zhì)量。
由于PCR字段是在編碼器生成TS碼流時,隨著音視頻內(nèi)容被實時同步插入的,它基本反映了音視頻內(nèi)容的時序關(guān)系,因此就可以通過計算一段TS碼流的起始PCR和結(jié)束PCR的差值來獲得這段TS碼流的可播放時長。
附圖說明
圖1為本發(fā)明判定MPEG2-TS VBR碼流質(zhì)量的方法的流程圖。
具體實施方式
下面結(jié)合附圖詳細說明本發(fā)明的優(yōu)選實施例。
實施例一
請參閱圖1,本發(fā)明揭示了一種判定MPEG2-TS VBR碼流質(zhì)量的方法,檢測基于可變比特率(VBR)編碼的MPEG2-TS碼流的質(zhì)量問題,通過監(jiān)測MPEG2-TS碼流的PCR字段來計算在單位時間內(nèi)接收到的VBR視頻流的可播放時長與單位時間的絕對偏差量,并根據(jù)該絕對偏差量數(shù)值來評價VBR視頻流質(zhì)量。
所述方法包括如下步驟:
【步驟S1】開始采樣,并設(shè)置采集周期(缺省為1秒,當然也可以為其他時間,如2秒、0.5秒,等等)。
【步驟S2】通過采集設(shè)備在視頻服務(wù)器出口、網(wǎng)絡(luò)中間點或視頻終端對基于可變比特率(VBR)編碼的MPEG2-TS碼流進行數(shù)據(jù)包捕獲。
【步驟S3】對MPEG2-TS碼流進行協(xié)議解析(對MPEG2-TS碼流根據(jù)ISO/IEC 13818-1規(guī)范進行協(xié)議解碼),檢測出包含節(jié)目參考時鐘(PCR)的MPEG2-TS數(shù)據(jù)包(以下簡稱PCR TS包),并記錄采樣周期內(nèi):
(1)第一個PCR TS包的數(shù)據(jù)包捕獲時間標簽T(1)和該PCR值PCR(1);
(2)最后一個PCR TS包的數(shù)據(jù)包捕獲時間標簽T(n)和該PCR值PCR(n);
其中,T(1)、T(n)、PCR(1)、PCR(n) 均以微妙為單位。
【步驟S4】計算VBR碼流的時延系數(shù)值:DF_V=| (PCR(n) - PCR(1)) - (T(n) - T(1)) |;以上差值為絕對值,DF_V值越小則代表VBR碼流的質(zhì)量約好,反之越差。
【步驟S5】采樣結(jié)束。
實施例二
本發(fā)明揭示一種判定MPEG2-TS VBR碼流質(zhì)量的方法,所述方法包括如下步驟:
【步驟S1】開始采樣,并設(shè)置采集周期;
【步驟S2】通過采集設(shè)備在視頻服務(wù)器出口、網(wǎng)絡(luò)中間點或視頻終端對基于可變比特率VBR編碼的MPEG2-TS碼流進行數(shù)據(jù)包捕獲;
【步驟S3】對MPEG2-TS碼流進行協(xié)議解析,檢測出包含節(jié)目參考時鐘PCR的MPEG2-TS數(shù)據(jù)包,簡稱PCR TS包,并記錄采樣周期內(nèi):
第一個PCR TS包的數(shù)據(jù)包捕獲時間標簽T(1)和該PCR值PCR(1);
最后一個PCR TS包的數(shù)據(jù)包捕獲時間標簽T(n)和該PCR值PCR(n);
【步驟S4】計算VBR碼流的時延系數(shù)值:DF_V=| (PCR(n) - PCR(1)) - (T(n) - T(1)) |;以上差值為絕對值,若DF_V值低于設(shè)定值,則判定VBR碼流的質(zhì)量好,若DF_V值高于設(shè)定值,則判定VBR碼流的質(zhì)量差;
【步驟S5】采樣結(jié)束。
綜上所述,本發(fā)明提出的判定MPEG2-TS VBR碼流質(zhì)量的方法,可快速、精確判斷MPEG2-TS VBR碼流的質(zhì)量。
由于PCR字段是在編碼器生成TS碼流時,隨著音視頻內(nèi)容被實時同步插入的,它基本反映了音視頻內(nèi)容的時序關(guān)系,因此就可以通過計算一段TS碼流的起始PCR和結(jié)束PCR的差值來獲得這段TS碼流的可播放時長。
這里本發(fā)明的描述和應用是說明性的,并非想將本發(fā)明的范圍限制在上述實施例中。這里所披露的實施例的變形和改變是可能的,對于那些本領(lǐng)域的普通技術(shù)人員來說實施例的替換和等效的各種部件是公知的。本領(lǐng)域技術(shù)人員應該清楚的是,在不脫離本發(fā)明的精神或本質(zhì)特征的情況下,本發(fā)明可以以其它形式、結(jié)構(gòu)、布置、比例,以及用其它組件、材料和部件來實現(xiàn)。在不脫離本發(fā)明范圍和精神的情況下,可以對這里所披露的實施例進行其它變形和改變。