视频质量检测
智能质检能力
- 支持对直播流进行视频质量检测、音频质量检测、视音频组合检测、特定对象检测,检测项参考视频技审能力
- 支持检测出视频采集和传输过程中质量问题检测,检测项参考视频技审能力
- 支持直播流内容检测,ts流传输流测试标准检测
- 支持视频质量打分,打分标准基于Netflex VMAF指标
音视频内容技审能力
- 视频技审能力包含:黑场检测、静帧检测、夹帧检测、彩条检测、蓝屏绿屏检测、YUV超标检测、RGB超标检测、黑边检测、白边检测、模糊检测、马赛克检测
- 音频技审能力包含:静音检测、音量检测、VU超标检测、噪音检测
- 支持对TS 流指标检测:TS 流检测内容需具备ETSI TR 101 290 中所规定的传输流测试标准的第一、第二级检测以及第三级的缓冲区检测
- 支持对文件质量封装、GOP结构检测
- 高清节目自动审核,支持多并发,效率最高达4倍速
- 支持特定对象识别,包括条形码,二维码内容识别
- 自动技审可手动配置检测项参数模版
黑场检测
实现原理
将画面按照横向和纵向划分出相同大小区域,计算每个小块中像素Y分量的均值,如果超出预设的阈值,则判断这一帧画面为黑场,其他未检测的小块不用继续检测。当然,在很多正常视频场景中,也有可能存在短暂时间黑场现象,但一般时间不会持续太长,因此还需要设定一个时间阈值,如果连续出现黑场累加到一定程度则报警,否则认为是正常的黑场现象
蓝屏/绿屏检测
实现原理
判断每个小块中所有像素绿色和红色通道分量占比是否小于预设阈值,蓝色通道像素取值是否集中于同一值附近
判断每个小块中所有像素蓝色和红色通道分量占比是否小于预设阈值,绿色通道像素取值是否集中于同一值附近
同理,如果出现连续绿屏/蓝屏累加到一定程度则报警
黑边检测/白边检测
实现原理
取画面四角靠近顶点的位置作为参考点,分别计算出与4个参考点和某点的RGB分量差值,以左上角为例,从左到右遍历,直达找出不满足RGB分量差值同时小于预设值的位置,记录横轴位置x1,同理求出x2,y1,y2的位置,(x1, y1) (x2, y2)即是裁剪区域信息,然后通过裁剪区域颜色值判断黑边,白边。如果出现连续黑边/白边累加到一定程度则报警
模糊检测
实现原理
画面经过模糊后,画面高频分量会大大降低,如果图片有较多的高频成分,则该图片就是较为清晰的。相反,如果图片有较少的高频成分,则该图片可以认为是相对模糊的。为了加快检测速度,可以将图片预处理为灰度图片,灰度图高频信息基本不会有改变
基于上述原理,先针对原始图像用拉普拉斯算子进行滤波,然后求结果图像的均值方差,如果方差小于预设的阈值则图片视为模糊。因为某些纯色图片也没有高频分量,因此最后还要过滤掉这种场景,通过直方图判断图像像素是否集中在某一值附近来过滤。如果出现连续模糊累加到一定程度则报警
夹帧检测
实现原理
只要出现相隔很近的两次画面骤变,就可判定为夹帧。
首先判断画面是否出现骤变,将整个画面划分为几个相等面积的区域,当画面连续正常变化时,将会存在大部分区域视觉上变化很小,对于每个区域亮度值的差异通过计算当前画面和前一帧画面亮度值差值,判断是否在预设阈值之内来判定是否出现骤变,当画面出现骤变时,通过判断上一次骤变间的间隔时间,是否超出预设的间隔阈值,来判定是否出现夹帧,若大于间隔阈值,则表示两次画面骤变之间的画面已经足够人眼分辨出其场景内容,因此不能判断为夹帧,反之表示画面场景变换过快,人眼来不及辨认,从而判断为夹帧。
马赛克检测
实现原理
马赛克是画面中出现一系列小矩形块,导致画面无法看清的现象。
从马赛克的图像可以看出,这些单色块之间颜色是不同的,而且与非马赛克块之间也是不同的,因此考虑用边缘检测算法来找出可能的马赛克区域
边缘检测后,可以看到马赛克区域有明显的矩形框和不完整的矩形框,必须识别这些矩形框,才能继续判断。这里我们采用轮廓查找方法,找出所有轮廓。因为马赛克片段都是矩形,需要进一步过滤掉非矩形轮廓,寻找矩形框,这里采用opencv提供的函数approxPolyDP进行多边形拟合,主要功能是把一个连续光滑曲线折线化,对图像轮廓点进行多边形拟合
多边形拟合过后,方形轮廓应具有4个顶点,判断多边形是否是四边形,然后过滤掉一些非规则4边形(两条边与x,y轴不平行),最后求轮廓边缘之间角度的最大余弦值是否接近0来判定是否是马赛克区域,将马赛克区域面积占比与给定阈值比较,超过给定阈值则判定画面存在马赛克
彩条检测
彩条模版
彩条直方图
去除噪音干扰后的直方图
实现原理
从彩条特征来看,它由8个面积大致相等的不同颜色区域组成,这些颜色区域的颜色都是单色的,从左到右依次为:白、黄、青、绿、品红、红、蓝、黑,且垂直分布,从彩条的直方图可以看出每个灰度像素的个数几乎相等,如果没有噪音干扰,那么只有8个灰度值,基于这些特征,可以采用图像分割的方法,将画面划分为8个大小相等的小块,可以采用K-聚类算法
将画面划分为8条等宽区域,对于每个竖条所在区域判断颜色值是否集中在某一值附近,同时满足这个条件表明存在8条等宽颜色区域,然后判断竖条颜色从左到右是否是白,黄,青,绿,粉红,红,蓝,黑,最后通过计算饱和度和幅度值判断是100%彩条还是75%彩条或者其他彩条。如果出现连续彩条累加到一定程度则报警
饱和度 = 1 - min(R, G, B) / max(R, G, B)
幅度 = max(R, G, B) / White(R, G, B)
音频噪音检测
实现原理
基于webrtc ns模块,使用语音/噪声似然函数进行估计。通过重采样为16K频率音频信号,计算固定时长(10ms)音频采样点的信噪比以及噪音估计概率,判断信噪比和噪音估计概率是否同时位于预设的经验值区间内,如果出现连续噪音累加到一定程度则报警
音频静音检测/VU超标检测/音量检测
实现原理
分别计算每一帧音频信号的分贝值,单位取dBFS,判断是否小于-60dBFS和-54dBFS
dBFS计算公式 :
dBFS = 20 * log10(value / FULLSCALE);
FULLSCALE为全分贝刻度,以数字音频为16位无符号数为例,FULLSCALE为65536
音频音量单位取dB计算,默认隔500ms计算一次音频音量,这里直接采用ffmpeg滤镜来计算音频最大音量作为音频的音量
YUV/RGB超标检测
实现原理
图像的亮度和色调超出了给定的范围,就是YUV/RGB超标。
其中RGB超标3个通道分量需要做模数转换,模数转换公式
Digital = (v - 16) * 3.1963
RGB超标范围
R/G/B : -35~735
YUV超标范围
Y:14~242
U/V: 16~240
静帧检测
实现原理
将画面划分为相同面积小块,计算每个小块差值绝对值的累加,如果超过前一个图像小块的结果的t倍,那么比较的两帧小的部分就是不同的,否则就是相同的。如果相同图像帧数累加到一定程度则报警
TS流指标检测
检测内容:TS 流检测内容需具备ETSI TR 101 290 中所规定的传输流测试标准的第一、第二级检测以及第三级的缓冲区检测
检测标准参考TR 101 290协议标准,包括第一级6种错误,第二级7种错误和第三级11种错误场景
级别 错误类型
一级错误 同步丢失错误
同步字节错误,同步字节不等于0x47
PAT错误,PAT间隔大于0.5s
连续计数错误
PMT错误,PMT间隔时间大于0.5s
PID错误,PMT关联的PID没有及时到达
二级错误
传输错误,TS 包的传输错误指示为 1
CRC错误
PCR间隔错误,间隔超过40ms
PCR不连续错误
PCR精度错误,精度误差超过正负500ns
PTS错误,间隔超过700ms
CAT错误
三级错误
NIT ID错误
NIT其他错误
SI 表间隔错误
关联PID错误
SDT ID错误和间隔错误
SDT其他错误
EIT ID错误和间隔错误
EIT PF错误
EIT其他错误
RST错误
TDT错误