视频通信中音视频处理技术

1,992 阅读6分钟

视频通信过程中会涉及到大量的音视频处理技术,按照在通信系统中所处位置的不同,可以分为发送端和接收端的音视频处理技术。

发送端的音视频处理技术主要包括:视频帧的变换、自适应丢帧、增强;音频采样率转换、回声消除;音视频修饰等。这些技术的目的都是为视频直播提供高质量或者定制化的信号源。


对于发送端视频的处理


一、视频帧的变换

采集到的视频源首先需要进行裁剪,缩放,自适应丢帧,颜色空间转换等变换,这些作为视频处理的预处理,可以为后续操作带来速度和性能的提升。

裁剪:将帧数据裁剪或填充到4字节的整数倍,便于后续可以进行位移操作或者汇编优化;

缩放:现在手机或电脑的摄像头提供的输入视频分辨率在2K左右,如果不加缩放的提供给后续的图像处理和编码,对设备处理能力和网络传输带宽的要求会很高(2K视频一般需要4Mbps的带宽支持,才能保证基本的清晰度),尤其是对延迟很敏感的视频通信应用。所以系统实现应根据设备性能和当前网络状态,对输入视频进行缩放,以此来保证通信的低延迟和流畅。比如,我们的AI米听会检测CPU性能,再根据目标码率,计算得到一个合适的缩放比例,对视频进行预处理。缩放一般采用汇编实现,也可以借助ffmpeg中swscale工具集。


二、自适应丢帧

这个处理技术的目的和缩放类似,也是为了更好的适应设备的处理性能和网络状态。但是视频通信内容的不同,应该选择不同的处理方式。

比如,对于人像通信,适合采用缩放的方式;而对于屏幕分享,适合降低帧率。如果采用相反的技术,效果会很差。这是因为人脸大部分是低频的内容,缩放不会对人的主观视频产生明显影响,而降低帧率则会产生明显的不连续性且容易被人察觉;相反,屏幕展示内容中,包含大量的高频信息(文字,图表),如果采用降采样,则会损失大量高频信息,从而使得内容难以辨认。屏幕分享时,往往是内容的静止展示,所以此时降低帧率不会明显影响观看感受。


三、视频增强

对于摄像头质量不佳,或者低照明度的通信环境,采集到的视频帧噪声大,质量低下,这是需要对视频内容进行增强。常用的技术包括图像去噪,对比度调整,曝光度调整等。图像去噪包括经典的高斯滤波,中值滤波,Non-local mean滤波等;对比度和曝光度的调整可以基于直方图来做。


四、颜色空间转换

我们熟知的颜色空间是RGB空间,但是在视频处理和编码中往往要转换成YUV,其中Y是亮度通道,UV是两个色度通道。我们人眼对亮度的细节比色度更加敏感,根据这个特性,我们可以只对亮度通道进行处理以降低处理复杂度。编码时,保持色度通道不变而将色度通道降采样(比如RGB转换成YUV420,就是从一个像素3个字节变成了一个像素1.5个字节,原始数据量减少了一半),可以减小码率,同时又不会对人眼主观视频产生明显影响。


对于发送端音频的处理


对于发送端音频处理主要包括:转换采样率,去噪和回音消除。

转换采样率:和视频缩放和降采样一样的道理,音频可以根据设备性能和带宽需求改变采样率,来更好的适应通信环境。

去噪:如果通信方身处嘈杂的环境,那么采集到的音频会包含大量的噪声。此时可以设计合适的滤波器对波形进行滤波操作,以保留人声,去除环境噪声。

回音消除:在双向通信中,播放对方音频播放时,直接从麦克风又传给了对方,会带来回音。音频回音的影响很大,如果不加以抑制,严重时会有啸叫现象,产生刺耳且长时间保持的噪声。回音消除的原理简单可以描述为:B收到A的声音数据,通过喇叭进行播放,此时B需要对输入到麦克风中的声音进行处理,识别A的声音并去除。

音频处理涉及到大量信号处理的理论,好在很多开源库都提供了音频处理的功能,比如ffmpeg,speedx, webrtc等。


接收端的音视频处理


接收端的音视频处理技术主要是为了恢复出原始音视频信号,这里包括的技术有:视频增强,超分辨;音频去噪和混音。

视频增强:在接受端,解码得到的视频会有压缩失真,比如块效应,振铃效应等,所以也需要进行去噪等操作,提高视频质量。

视频超分辨:在发送端,会将视频缩小后进行处理和编码。那么在接收端,则需要进行放大,提高视频分辨率,提升主观感受。

音频去噪:和视频一样,音频也会受到编码影响,所以也需要进行去噪。

混音:在多人视频中,会接受到来自多方的音频信息。此时需要对各路音频进行混音,混合成一路送进扬声器进行播放。这个过程中,一般要先对波形数据进行同步,然后对波形进行叠加,为了防止破音出现,最后还要进行自动增益控制和防溢出操作。


其他功能


近年来,随着音视频通信技术的兴起,也出了很多新的玩法,比如视频美颜、表情迁移和变声等。


视频美颜:现在已经趋于成熟。主要功能是磨皮,柔光等,大都基于滤波进行操作,比如磨皮采用了双边滤波,可以在保持了人脸轮廓边缘的同时,将皮肤的瑕疵去除。


表情迁移:基于深度学习的特征学习技术,可以快速准确的对人脸器官进行定位,从而能够实现更复杂的修饰技术。比如找准嘴唇,眼睛,面颊之后,可以进行自动化妆;根据关键点和人脸角度,进行人脸映射,达到“换脸”的效果。

音频变声技术:一款比较经典的技术,可以通过改变声音波形的频率,振幅来改变音色,达到伪装声音的目的。而现在已经发展到可以让人模拟别人的声音的地步。


总结


音视频通信处理技术在实际的使用中,还是要针对不同的场景选择不同的技术。只有这样才能达到最佳的效果。