一种基于解码器错误检测的主备信源切换方法

文档序号:1617300 发布日期:2020-01-10 浏览:10次 >En<

阅读说明:本技术 一种基于解码器错误检测的主备信源切换方法 (Master and standby information source switching method based on decoder error detection ) 是由 朱建国 陈勇 谢亚光 于 2019-09-24 设计创作,主要内容包括:本发明公开了一种基于解码器错误检测的主备信源切换方法。它具体包括如下步骤:(1)对输入的主备两条信源进行实时解码,同时检测码流中存在的语法错误和数据丢失;(2)将码流错误进行分类统计,根据错误点的不同以及可能的影响范围,为当前帧分配不同的错误值;(3)主备解码器在输出解码帧的同时附带当前帧的错误值,向转码器上报当前信源的码流错误情况;(4)转码器对比一段时间内主备解码器上报的码流错误可能的影响范围,决定是否要切换到备信源。本发明的有益效果是:具有很高的判断准确度,保证了视频转码质量,同时对于解码器性能没有影响,对视频转码的用户体验具有很高的实际意义,极大的保证了播出质量,提升了用户体验。(The invention discloses a method for switching a main source and a standby source based on error detection of a decoder. The method specifically comprises the following steps: (1) decoding the input main and standby information sources in real time, and detecting syntax errors and data loss in the code stream; (2) classifying and counting the code stream errors, and distributing different error values for the current frame according to different error points and possible influence ranges; (3) the main and standby decoders output the decoded frame and simultaneously attach the error value of the current frame, and report the code stream error condition of the current information source to the transcoder; (4) and the transcoder compares the possible influence range of the code stream error reported by the main and standby decoders within a period of time to determine whether to switch to the standby information source. The invention has the beneficial effects that: the method has the advantages of having high judgment accuracy, ensuring the video transcoding quality, having no influence on the performance of a decoder, having high practical significance on the user experience of video transcoding, greatly ensuring the broadcasting quality and improving the user experience.)

一种基于解码器错误检测的主备信源切换方法

技术领域

本发明涉及视频转码相关技术领域,尤其是指一种基于解码器错误检测的主备信源切换方法。

背景技术

随着互联网络技术的发展,越来越多的网站通过对网络直播节目的整合,最大限度去满足受众的观看需求。直播视频的特点是具有实时性,所以针对直播视频的画面质量和连贯性要求很高,而输入信源故障或被干扰丢包是不可避免的。用户看到的画面就会出现卡顿马赛克,导致错过重要的信息,这往往是无法被接受的。为了使得直播视频具有较好的连贯性和画面质量,目前直播服务后台多采用主备信源的部署方式,两条输入信源同时进行转码,当一条信源出现故障时可以无缝切换到另外一条信源,以保证直播视频的播放稳定性。

具体来说直播服务后台的管理服务器会从不同的卫星接收机或者其他转码器接收统一路信号作为主备信源,但是一般的转码服务器只会在主信源中断时才会考虑切换到备用信源。

在实际在线实时转码情况中,由于前端输入信源可能存在丢包的情况,导致转码器的输出出现花屏和马赛克或者丢帧卡顿,严重影响用户体验。通常在直播转码中为了防止信源突然中断,会采用主备两条信源同时输入的方式来保证输入信源的稳定性。但是通常情况下只有在主信源发生中断的时候转码器才会切换到备用信源。而当主信源发生丢包的时候,一般的转码器并不会直接切换信源,因此输出码流就会有马赛克,极大的影响用户体验。

发明内容

本发明是为了克服现有技术中存在上述的不足,提供了一种保证播出质量的基于解码器错误检测的主备信源切换方法。

为了实现上述目的,本发明采用以下技术方案:

一种基于解码器错误检测的主备信源切换方法,具体包括如下步骤:

(1)对输入的主备两条信源进行实时解码,同时检测码流中存在的语法错误和数据丢失;

(2)将码流错误进行分类统计,根据错误点的不同以及可能的影响范围,为当前帧分配不同的错误值;

(3)主备解码器在输出解码帧的同时附带当前帧的错误值,向转码器上报当前信源的码流错误情况;

(4)转码器对比一段时间内主备解码器上报的码流错误可能的影响范围,决定是否要切换到备信源。

本发明通过实时检测主备信源的任何码流错误,动态选择质量更好更稳定的信源转码后推送给用户,具有很高的判断准确度,可以及时发现主信源的信号异常,及时切换到备用信源,保证了视频转码质量,同时对于解码器性能没有影响,对视频转码的用户体验具有很高的实际意义,极大的保证了播出质量,提升了用户体验。

作为优选,在步骤(1)中,主备两个解码器分别对输入的主备两条信源进行实时同步解码,同时解码器根据视频解码标准规范检测码流中存在的语法错误和数据丢失。

作为优选,在步骤(2)中,当解码器检测到序列头错误时,说明当前码流存在致命错误,当前的一整个序列的输入数据有可能是错误的,因此获取当前帧的宏块总数N,设置当前帧的错误值为N,因为序列头错误会影响当前一整个序列的所有帧,所以在当前序列的其他帧进入解码器时统一设置其错误值为N,如果这时丢弃当前的整一个序列的数据会导致输出画面严重卡顿,因此为降低码流错误带来的影响,使用上一个序列头作为当前序列头继续解码。

作为优选,在步骤(2)中,当解码器检测到图像头错误时,说明当前帧是无法解码的,因此获取当前帧的宏块总数N,设置当前帧的错误值为N,如果直接丢弃当前帧会导致输出存在轻微卡顿,同时后面的帧会参考当前帧,就会导致输出存在长时间马赛克,因此为降低码流错误带来的影响,立刻停止当前帧解码,拷贝上一帧数据,作为当前帧输出。

作为优选,在步骤(2)中,当解码器检测到宏块错误时,说明当前宏块无法解码,同时当前帧剩余的宏块也无法正确解析,因此计算当前帧剩余的为解码的宏块数量M,设置当前帧的错误值为M,如果直接丢弃当前帧会导致输出存在轻微卡顿,同时后面的帧会参考当前帧,就会导致输出存在长时间马赛克,因此为降低码流错误带来的影响,立刻停止当前帧解码,对当前帧未解码完的数据应当拷贝上一帧相同位置的数据。

作为优选,在步骤(3)中,因为不同的帧型对于解码的影响不同,I帧会影响整一个序列,而P帧会影响当前序列P后面的所有帧,而B帧通常只会影响自己,因此解码器根据当前帧的帧型乘以不同的权重,再将错误值随解码帧一起送给转码器。

作为优选,在步骤(4)中,转码器统计10秒内主备解码器上报的错误情况,如果主信源一直在报解码错误而备信源没有错误,则立刻切换到备用信源;如果备信源一直在报解码错误而主信源没有错误,则不需要切换;如果主备信源都在报解码错误,则比较这10秒的时间内主备信源总的错误值M0和N0,为避免转码器反复切换主备信源,需要统计当前时间点往前2分钟内主备信源总的码流错误情况M1和N1,若M0–N0>thr0,且M1–N1>thr1则切换到备用信源,thr0,thr1为根据图像大小预先设的的阈值。

本发明的有益效果是:具有很高的判断准确度,可以及时发现主信源的信号异常,及时切换到备用信源,保证了视频转码质量,同时对于解码器性能没有影响,对视频转码的用户体验具有很高的实际意义,极大的保证了播出质量,提升了用户体验。

附图说明

图1是本发明的方法示意图。

具体实施方式

下面结合附图和具体实施方式对本发明做进一步的描述。

如图1所述的实施例中,一种基于解码器错误检测的主备信源切换方法,具体包括如下步骤:

(1)对输入的主备两条信源进行实时解码,同时检测码流中存在的语法错误和数据丢失;主备两个解码器分别对输入的主备两条信源进行实时同步解码,同时解码器根据视频解码标准规范检测码流中存在的语法错误和数据丢失;

(2)将码流错误进行分类统计,根据错误点的不同以及可能的影响范围,为当前帧分配不同的错误值;

当解码器检测到序列头错误时,说明当前码流存在致命错误,当前的一整个序列的输入数据有可能是错误的,因此获取当前帧的宏块总数N,设置当前帧的错误值为N,因为序列头错误会影响当前一整个序列的所有帧,所以在当前序列的其他帧进入解码器时统一设置其错误值为N,如果这时丢弃当前的整一个序列的数据会导致输出画面严重卡顿,因此为降低码流错误带来的影响,使用上一个序列头作为当前序列头继续解码;

当解码器检测到图像头错误时,说明当前帧是无法解码的,因此获取当前帧的宏块总数N,设置当前帧的错误值为N,如果直接丢弃当前帧会导致输出存在轻微卡顿,同时后面的帧会参考当前帧,就会导致输出存在长时间马赛克,因此为降低码流错误带来的影响,立刻停止当前帧解码,拷贝上一帧数据,作为当前帧输出;

当解码器检测到宏块错误时,说明当前宏块无法解码,同时当前帧剩余的宏块也无法正确解析,因此计算当前帧剩余的为解码的宏块数量M,设置当前帧的错误值为M,如果直接丢弃当前帧会导致输出存在轻微卡顿,同时后面的帧会参考当前帧,就会导致输出存在长时间马赛克,因此为降低码流错误带来的影响,立刻停止当前帧解码,对当前帧未解码完的数据应当拷贝上一帧相同位置的数据;

(3)主备解码器在输出解码帧的同时附带当前帧的错误值,向转码器上报当前信源的码流错误情况;因为不同的帧型对于解码的影响不同,I帧会影响整一个序列,而P帧会影响当前序列P后面的所有帧,而B帧通常只会影响自己,因此解码器根据当前帧的帧型乘以不同的权重,一般I帧的权重为5,P帧的权重为3,B帧的权重为1,再将错误值随解码帧一起送给转码器;

(4)转码器对比一段时间内主备解码器上报的码流错误可能的影响范围,决定是否要切换到备信源;

转码器统计10秒内主备解码器上报的错误情况,如果主信源一直在报解码错误而备信源没有错误,则立刻切换到备用信源;如果备信源一直在报解码错误而主信源没有错误,则不需要切换;如果主备信源都在报解码错误,则比较这10秒的时间内主备信源总的错误值M0和N0,为避免转码器反复切换主备信源,需要统计当前时间点往前2分钟内主备信源总的码流错误情况M1和N1,若M0–N0>thr0,且M1–N1>thr1则切换到备用信源,thr0,thr1为根据图像大小预先设的的阈值。

本发明通过实时检测主备信源的任何码流错误,动态选择质量更好更稳定的信源转码后推送给用户,具有很高的判断准确度,可以及时发现主信源的信号异常,及时切换到备用信源,保证了视频转码质量,同时对于解码器性能没有影响,对视频转码的用户体验具有很高的实际意义,极大的保证了播出质量,提升了用户体验。将本发明在主备信源存在异常波动的情况下可以明显提升视频质量。

7页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种视频编解码方法、装置及终端设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类