張雷鳴 靳國榮 四川長虹網絡科技有限責任公司
在傳統機頂盒中,TUNER性能測試的主要判斷標準是視頻是否出現馬賽克,在OTT和IPTV機頂盒中,視頻播放馬賽克是檢驗機頂盒內存性能、軟件可靠性的重要測試依據。由于馬賽克出現時機隨機、圖形不規則,特別是帶圖像后處理的機頂盒,進行圖像優化后馬賽克的形狀更加復雜。導致了馬賽克自動化檢測一直是行業的一個痛點和難點。有人利用邊緣檢測直線和矩形的方法,但邊緣檢測本身有其局限性,視頻內容中直線和棋盤、窗戶等規則物體很容易被誤判。同時部分復雜的圖像內容中的馬賽克容易漏檢。也有采用特征分析和深度學習的方法對馬賽克特征值進行分類和學習,但視頻圖像和馬賽克疊加后的最終圖像的復雜性,導致先行學習的特征完全對不上。目前行業內基本上都是采用人工判斷的方式進行測試,效率低,成本高,漏檢和誤檢率高居不下。
本文采用對視頻預處理,提取視頻中各幀圖像的SIFT特征值,機頂盒播放視頻的過程中抓取機頂盒輸出的圖像,計算當前圖像的特征值,并跟預先存儲的特征值進行比對,來判斷視頻是否出現馬賽克缺陷。采用這種方式進行馬賽克檢測,檢測效率高,漏檢和誤檢率非常低,完全滿足行業檢測需求。同時可作為自動化檢測工具,進行長時間、大規模烤機,對機頂軟硬件質量檢測非常有效。
尺度不變特征轉換(Scale-invariant feature transform或SIFT)是一種圖像視覺的算法。用來偵測與描述影像中的局部性特征,它在空間尺度中尋找極值點,并提取出其位置、尺度、旋轉不變量,此算法由 David Lowe在1999年所發表,2004年完善總結。
SIFT特征由于其尺度不變性,大量用于圖像中物體的識別、定位和大小位置的判斷。該算法對于光線、噪聲、視角改變的容忍度也相當高。而相同的視頻文件,經不同機頂盒的解碼和圖像采集設備的抓取,可能會產生圖像明暗的差異和整體的顏色值變化,但極值和邊角的變化極少。而圖像馬賽克出現,則對圖像中的極值點會產生數量和位置的變化。通過對極值點的數量、位置的變化對比,來檢測圖像跟原始圖像的差異,來判斷圖像的異常是本文介紹方法的核心。
將原始視頻的每一幀圖像進行高斯模糊(去除噪聲干擾)、空間極值檢測(由于播放本身不會進行縮放,所以只需要一個空間尺度的檢測)、關鍵點定位、關鍵點方向分配等步驟,提取圖像中的各種關鍵特征點,并建立位置、方向等信息的描述符,用一組向量將這些關鍵點描述出來。這個描述子不僅包含關鍵點,也包含關鍵點周圍對其有貢獻點的像素點。
將原始視頻的各幀圖像的特征值描述子的集合按幀的先后順序存儲到數據庫中,供檢測時使用。
測試時,分傳統機頂盒和IPTV、OTT機頂盒。傳統機頂盒通過高頻頭接收碼流播放器調制的DVB信號,通過解調和解復用獲取視頻數據后進行解碼播出。IPTV和OTT機頂盒可將視頻以文件方式存儲在機頂盒內部存儲器或者外部存儲器中,通過機頂盒內置的播放器進行播放輸出。
機頂盒解碼后的圖像通過HDMI或者CVBS接口輸出,計算機通過采集卡完成圖像采集。
采集到圖像用相同的算法提取SIFT特征值。將該特征值跟數據庫中對應幀的特征值進行對比,對比特征包括的位置和方向等信息。如果不能匹配的特征值超過一定閾值(比如5個),則認為圖像出現馬賽克等異常。
第1幀不確定原序列中對應幀的序號,需在整個序列中尋找到最接近的幀。如果都沒有完全匹配的則先丟棄。如果找到完全匹配的幀,則記錄當前幀的序號。連續出現10個以上的幀無匹配,則認為當前播放有異常。
在已經確認前一幀的序號后,可按視頻的幀率和采集圖像的時間間隔計算可能的幀序號,在前后3個幀的范圍內進行匹配和比較。
采用如下的檢測系統:

將碼流原始圖像通過計算機軟件離線取出,并采用openCV軟件庫開發軟件提取出SIFT特征值存儲在數據庫中。
測試時,碼流播放器循環播放視頻流,計算機通過圖像采集盒采集機頂盒的輸出,并計算當前圖像的SIFT特征值,然后跟原始圖像特征值進行匹配。匹配結果如下:

原始圖與正常采樣匹配(100%匹配)配結果(2130個完全匹配)

原始圖和帶馬賽克圖片匹
通過上圖可以看出來,采樣圖片有亮度變化和顏色變化對特征點無明顯變化,而有馬賽克的圖片,會導致特征點明顯變化。通過這些不能配對的特征值,可準確判斷出馬賽克以及出現馬賽克的位置。
由于圖像的不同,該算法可能會出現一些孤立的特征點,通過對原始視頻的特征值進行篩選和對不能配對的特征點個數判斷閾值進行調整,可以降低誤判和漏判率,達到應用要求。
本文所介紹的機頂盒馬賽克檢測方法,利用SIFT特征算法提取的關鍵點對噪聲和圖像明暗以及顏色大范圍變化不敏感的特性,同時利用馬賽克產生后出現大量焦點和極值的特性,通過對比特征值的方式實現。經過實際實驗和使用驗證,漏檢率和誤檢率低于5%,滿足行業一般測試需求,大大提高檢測速度和成本。