一种可实现视频矩阵同步切换的编码方法、设备及可读存储
介质
技术领域
本发明涉及视频矩阵技术,尤其涉及一种可实现视频矩阵同步切换的编码方法、设备及可读存储介质。
背景技术
视频矩阵是指通过阵列切换的方法将m路视频信号任意输出至n路显示设备上的电子系统,一般应用于各类监控场合,如视频会议、安防监控、远程教育以及科技法庭等。
目前,视频矩阵在进行切换时,会通过控制服务器分别向参与切换的各个解码设备发送切换信号,各个解码设备在接收到所述切换信号后接入新的编码设备开始接收新的编码信号,以获得新的视频信号进行显示。在这个过程中,由于各个解码设备之间是独立进行切换的,由于切换指令的发送接收时间不一致,各个解码设备接入新的编码设备的时间会存在差异,进而导致各个解码设备的解码不同步,体现在后端的多个显示设备上则表现为多个显示设备的画面切换不同步,时差最大接近1秒。
发明内容
为了解决上述现有技术的不足,本发明提供一种编码方法、设备及可读存储介质,可使视频矩阵中参与切换的各个解码设备之间实现同步解码,体现在后端的多个显示设备上则表现为多个显示设备的画面同步切换。
本发明所要解决的技术问题通过以下技术方案予以实现:
一种可实现视频矩阵同步切换的编码方法,包括步骤:
将形成的编码信号发送给参与切换的各个解码设备;
接收参与切换的各个解码设备发送的反馈信号;
在接收到参与切换的所有解码设备的反馈信号后,将其接收的其中一帧视频帧编码生成为切换帧。
进一步地,在将形成的编码信号发送给参与切换的各个解码设备之前,还包括步骤:
接收切换信号;
在接收到所述切换信号后,等待参与切换的各个解码设备接入。
进一步地,在接收所述切换信号时,同时还接收参与切换的各个解码设备的设备信息。
进一步地,通过组播方式供参与切换的各个解码设备接入。
进一步地,所述切换帧中具有可供参与切换的各个解码设备进行识别的切换标识。
进一步地,在接收到参与切换的所有解码设备的反馈信号后,将接收的下一帧视频帧编码为切换帧。
进一步地,所述切换帧为切换关键帧。
进一步地,所述切换帧为切换普通帧。
一种可实现视频矩阵同步切换的编码设备,包括处理器和与所述处理器连接的存储器,所述存储器内储存有供所述处理器执行的计算机程序;所述处理器执行该计算机程序时,进行上述的编码方法。
一种可读存储介质,储存有供处理器执行的计算机程序;所述处理器执行该计算机程序时,进行上述的编码方法。
本发明具有如下有益效果:该编码方法及设备在进行切换时,通过所述反馈信号确认参与切换的所有解码设备均已接入后,在所述编码信号中生成所述切换帧,以供参与切换的各个解码设备进行识别后才从同一关键帧开始解码,可以消除参与切换的各个解码设备由于接入该编码设备的时间不同而导致的解码不同步问题,使参与切换的各个解码设备之间实现同步解码,体现在后端的多个显示设备上则表现为多个显示设备的画面同步切换,同时提高切换速度。
附图说明
图1为本发明提供的视频矩阵的同步切换系统的原理框图;
图2为本发明提供的视频矩阵的同步切换方法的步骤框图;
图3为本发明提供的可实现视频矩阵同步切换的解码方法的步骤框图;
图4为本发明提供的可实现视频矩阵同步切换的编码方法的步骤框图。
具体实施方式
下面结合附图和实施例对本发明进行详细的说明。
实施例一
如图1所示,一种视频矩阵的同步切换方法,应用于一同步切换系统中。
该同步切换系统包括:
多个编码设备,用于接收多路视频信号,并对接收的多路视频信号进行编码,输出多路编码信号;
多个解码设备,用于接收多路编码信号,并对接收的多路编码信号进行解码,输出多路解码信号;
矩阵网络设备,用于在多个编码设备和多个解码设备之间进行信号转发,通讯连接于多个编码设备和多个解码设备之间;
切换控制设备,用于对多个编码设备和多个解码设备之间的信号切换进行控制,分别通讯连接于多个编码设备和多个解码设备。
其中,在前端分别与多个编码设备通讯连接的源设备可以为PC机、机顶盒或游戏机等;在后端分别与多个解码设备通讯连接的显示设备可以为显示器、投影仪或电视机等。
如图2所示,该同步切换方法包括:
S101:切换控制设备分别向参与切换的各个解码设备发送切换信号,以及,切换控制设备向参与切换的编码设备发送切换信号;
在该步骤S101中,所述切换控制设备可以但不限于为位于云端的控制服务器,通过互联网分别向参与切换的各个解码设备和参与切换的编码设备发送所述切换信号。
所述切换控制设备在向参与切换的编码设备发送切换信号时,还同时发送参与切换的各个解码设备的设备信息。所述设备信息用于供参与切换的编码设备在后续步骤中对参与切换的各个解码设备进行身份识别,可以包括有对应的解码设备的IP地址或设备ID等。
S102:参与切换的编码设备在接收到所述切换信号后,等待参与切换的各个解码设备通过所述矩阵网络设备接入,参与切换的各个解码设备在接收到所述切换信号后,通过所述矩阵网络设备接入参与切换的编码设备;
在该步骤S102中,参与切换的各个解码设备通过组播方式接入参与切换的编码设备,具体为:参与切换的各个解码设备在接收到所述切换信号后,通过所述矩阵网络设备加入到参与切换的编码设备所在的组播组中,以接入参与切换的编码设备。
S103:参与切换的编码设备将其形成的编码信号通过所述矩阵网络设备发送给参与切换的各个解码设备;
在该步骤S103中,参与切换的各个解码设备在接入参与切换的编码设备后,立刻就能够从所述矩阵网络设备处获取到参与切换的编码设备输出的编码信号,但此时,参与切换的各个解码设备并没有立刻对所述编码信号进行解码。
所述编码信号采用H264编码格式,帧率不限定,以多帧视频帧构成一个视频组(GOP),每个视频组中的第一帧视频帧为关键帧,其余视频帧均为普通帧。比如,所述编码信号的帧率为60帧/s,每个视频组由60帧视频帧构成,第一帧视频帧为关键帧,其余的59帧视频帧均为普通帧。
S104:参与切换的各个解码设备在接收到所述编码信号后,分别通过所述矩阵网络设备向参与切换的编码设备发送反馈信号;
在该步骤S104中,参与切换的各个解码设备在接收所述编码信号后,是单独通过所述矩阵网络设备向参与切换的编码设备发送所述反馈信号的;所述反馈信号用于通知参与切换的编码设备,对应的解码设备已经接收到所述编码信号。
S105:参与切换的编码设备在接收到参与切换的所有解码设备的反馈信号后,将其接收的其中一帧视频帧编码生成为切换帧;
在该步骤105中,所述切换帧中具有可供参与切换的各个解码设备进行识别的切换标识。
所述切换帧既可以为关键帧,也可以为普通帧。
在最优方案中,参与切换的编码设备在接收到所有反馈信号后,不管是否完成原视频组中所有视频帧的编码,总是将其接收的下一帧视频帧编码为切换关键帧(既是切换帧,也是关键帧),作为新视频组的关键帧,以提高后端各个显示设备的切换速度。
在两较优方案中,参与切换的编码设备在接收到所有反馈信号后,将其接收的下一帧视频帧编码为切换帧,若还未完成原视频组中所有视频帧的编码,下一帧视频帧为原视频组中的普通帧,则所述切换帧为切换普通帧(既是切换帧,也是普通帧),若刚好完成原视频组中所有视频帧的编码,下一帧视频帧刚好为新视频组中的关键帧,则所述切换帧为切换关键帧。
当然,所述切换帧并不一定采用参与切换的编码设备在接收到所有反馈信号后接收的下一帧视频帧,也可以采用间隔数帧后接收的视频帧,视具体需求而定。
其中,参与切换的编码设备通过所述反馈信息中附带的设备信息来识别该反馈信息对应的解码设备。只有在识别完所述切换控制设备预先发送的参与切换的所有解码设备的设备信息,以确定参与切换的所有解码设备均已经接收到其编码信号后,参与切换的编码设备才编码生成所述切换帧。参与切换的解码设备至少有两个。
S106:参与切换的各个解码设备分别对所述编码信号进行识别,在所述编码信号中识别到所述切换帧后,从同一关键帧开始对所述编码信号进行解码;
在该步骤S106中,参与切换的各个解码设备对所述编码信号中的每一帧进行检测,通过识别所述切换标识的方式来判断所述编码信号中是否存在所述切换帧。
若所述切换帧为切换关键帧,则参与切换的各个解码设备从所述切换帧开始对所述编码信号进行解码,若所述切换帧为切换普通帧,则参与切换的各个解码设备从识别到所述切换帧后的下一个视频组中的关键帧开始对所述编码信号进行解码。
当然,参与切换的各个解码设备并不一定从所述切换关键帧或下一个视频组中的关键帧开始进行解码,也可以间隔数个视频组后才从对应视频组中的关键帧开始解码,视具体需求而定。
该同步切换方法及系统中参与切换的各个解码设备在接收到所述编码信号后,并没有立刻从下一个关键帧开始解码,而是等待所述切换帧,在识别到所述切换帧后才从同一关键帧开始解码,可以消除参与切换的各个解码设备由于接入参与切换的编码设备的时间不同而导致的解码不同步问题,使参与切换的各个解码设备之间实现同步解码,体现在后端的多个显示设备上则表现为多个显示设备的画面同步切换,同时提高切换速度。
实施例二
一种可实现视频矩阵同步切换的解码方法,应用于一解码设备中。
该解码设备包括处理器和与所述处理器连接的存储器,所述存储器内储存有供所述处理器执行的计算机程序;所述处理器执行该计算机程序时,进行可实现视频矩阵同步切换的解码方法。
如图3所示,该解码方法包括步骤:
S101:接收切换信号;
在该步骤S101中,所述切换信号由切换控制设备发送;所述切换控制设备可以但不限于为位于云端的控制服务器,通过互联网向该解码设备发送所述切换信号。
S102:在接收到所述切换信号后,接入参与切换的编码设备。
在该步骤S102中,该解码设备可通过矩阵网络设备接入参与切换的编码设备,优选地通过组播方式接入参与切换的编码设备,具体为:该解码设备在接收到所述切换信号后,通过所述矩阵网络设备加入到参与切换的编码设备所在的组播组中,以接入参与切换的编码设备。
S103:接收参与切换的编码设备输出的编码信号;
在该步骤S103中,该解码设备在接入参与切换的编码设备后,立刻就能够从所述矩阵网络设备处获取到参与切换的编码设备输出的编码信号,但此时,该解码设备并没有立刻对所述编码信号进行解码。
所述编码信号采用H264编码格式,帧率不限定,以多帧视频帧构成一个视频组(GOP),每个视频组中的第一帧视频帧为关键帧,其余视频帧均为普通帧。比如,所述编码信号的帧率为60帧/s,每个视频组由60帧视频帧构成,第一帧视频帧为关键帧,其余的59帧视频帧均为普通帧。
S104:在接收到所述编码信号后,向参与切换的编码设备发送反馈信号;
在该步骤S104中,该解码设备在接收所述编码信号后,通过所述矩阵网络设备将所述反馈信号发送给参与切换的编码设备;所述反馈信号用于通知参与切换的编码设备,该解码设备已经接收到其输出的编码信号。
其中,参与切换的编码设备通过所述反馈信息中附带的设备信息来识别该解码设备,所述设备信息用于供参与切换的编码设备对该解码设备进行身份识别,可以包括有该解码设备的IP地址或设备ID等。而参与切换的所有解码设备的设备信息已由所述切换控制设备预先发送给参与切换的编码设备。
S105:对所述编码信号进行识别,在所述编码信号中识别到切换帧后,从预定关键帧开始对所述编码信号进行解码,其中,所述切换帧由参与切换的编码设备在接收到参与切换的所有解码设备发送的反馈信号后将其接收的其中一帧视频帧进行编码生成;
在该步骤S105中,所述切换帧中具有可供该解码设备进行识别的切换标识,该解码设备对所述编码信号中的每一帧进行检测,通过识别所述切换标识的方式来判断所述编码信号中是否存在所述切换帧。所述预定关键帧是指预先设定好的参与切换的各个解码设备在接收到所述切换帧后开始解码的同一关键帧。
所述切换帧既可以为关键帧,也可以为普通帧。
在最优方案中,参与切换的编码设备在接收到所有反馈信号后,不管是否完成原视频组中所有视频帧的编码,总是将其接收的下一帧视频帧编码为切换关键帧(既是切换帧,也是关键帧),作为新视频组的关键帧,以提高后端各个显示设备的切换速度。
在两较优方案中,参与切换的编码设备在接收到所有反馈信号后,将其接收的下一帧视频帧编码为切换帧,若还未完成原视频组中所有视频帧的编码,下一帧视频帧为原视频组中的普通帧,则所述切换帧为切换普通帧(既是切换帧,也是普通帧),若刚好完成原视频组中所有视频帧的编码,下一帧视频帧刚好为新视频组中的关键帧,则所述切换帧为切换关键帧。
当然,所述切换帧并不一定采用参与切换的编码设备在接收到所有反馈信号后接收的下一帧视频帧,也可以采用间隔数帧后接收的视频帧,视具体需求而定。
其中,参与切换的编码设备只有在识别完所述切换控制设备预先发送的参与切换的所有解码设备的设备信息,以确定参与切换的所有解码设备均已经接收到其编码信号后,才编码生成所述切换帧。参与切换的解码设备至少有两个。
若所述切换帧为切换关键帧,则该解码设备从所述切换帧开始对所述编码信号进行解码,若所述切换帧为切换普通帧,则该解码设备从识别到所述切换帧后的下一个视频组中的关键帧开始对所述编码信号进行解码。
当然,该解码设备并不一定从所述切换关键帧或下一个视频组中的关键帧开始进行解码,也可以间隔数个视频组后才从对应视频组中的关键帧开始解码,视具体需求而定。
该解码方法及设备在进行切换时,并没有在接收到所述编码信号后立刻从下一个关键帧开始解码,而是等待所述切换帧,在识别到所述切换帧后才从预定关键帧开始解码,可以消除各个解码设备由于接入参与切换的编码设备的时间不同而导致的解码不同步问题,使各个解码设备之间实现同步解码,体现在后端的多个显示设备上则表现为多个显示设备的画面同步切换,同时提高切换速度。
一种可读存储介质,储存有供处理器执行的计算机程序,该计算机程序被所述处理器执行时,所述处理器进行上述可实现视频矩阵同步切换的解码方法。
实施例三
一种可实现视频矩阵同步切换的编码设备,应用于一编码设备中。
该编码设备包括处理器和与所述处理器连接的存储器,所述存储器内储存有供所述处理器执行的计算机程序;所述处理器执行该计算机程序时,进行可实现视频矩阵同步切换的编码方法。
如图4所示,该编码方法包括步骤:
S101:接收切换信号;
在该步骤S101中,所述切换信号由切换控制设备发送;所述切换控制设备可以但不限于为位于云端的控制服务器,通过互联网向该编码设备发送所述切换信号。
其中,在接收所述切换信号时,该编码设备还同时从所述切换控制设备处接收参与切换的各个解码设备的设备信息。所述设备信息用于该编码设备在后续步骤中对参与切换的各个解码设备进行身份识别,可以包括有对应的解码设备的IP地址或设备ID等。
S102:在接收到所述切换信号后,等待参与切换的各个解码设备接入;
在该步骤S102中,所述切换控制设备会分别向参与切换的各个解码设备发送所述切换信号,参与切换的各个解码设备在接收到所述切换信号后,会通过矩阵网络设备接入该编码设备。
优选地,该编码设备通过组播方式供参与切换的编码设备接入。具体为:参与切换的各个解码设备在接收到所述切换信号后,通过所述矩阵网络设备加入到该编码设备所在的组播组中,以接入该编码设备。
S103:将形成的编码信号发送给参与切换的各个解码设备;
在该步骤S103中,参与切换的各个解码设备在接入该编码设备后,立刻就能够从所述矩阵网络设备处获取到该编码设备输出的编码信号,但此时,参与切换的各个解码设备并没有立刻对所述编码信号进行解码。
所述编码信号采用H264编码格式,帧率不限定,以多帧视频帧构成一个视频组(GOP),每个视频组中的第一帧视频帧为关键帧,其余视频帧均为普通帧。比如,所述编码信号的帧率为60帧/s,每个视频组由60帧视频帧构成,第一帧视频帧为关键帧,其余的59帧视频帧均为普通帧。
S104:接收参与切换的各个解码设备发送的反馈信号,所述反馈信号由参与切换的各个解码设备在接收到所述编码信号后发送;
在该步骤S104中,参与切换的各个解码设备在接收所述编码信号后,通过所述矩阵网络设备将所述反馈信号转发给该编码设备;所述反馈信号用于通知该编码设备,参与切换的各个解码设备已经接收到其输出的编码信号。
其中,该编码设备通过所述反馈信息中附带的设备信息来识别对应的解码设备。
S105:在接收到参与切换的所有解码设备的反馈信号后,将其接收的其中一帧视频帧编码生成为切换帧,所述切换帧用于供参与切换的各个解码设备进行识别,使参与切换的各个解码设备在所述编码信号中识别到所述切换帧后,从同一关键帧开始对所述编码信号进行解码;
在该步骤S105中,所述切换帧中具有可供参与切换的各个解码设备进行识别的切换标识,参与切换的各个解码设备对所述编码信号中的每一帧进行检测,通过识别所述切换标识的方式来判断所述编码信号中是否存在所述切换帧。
所述切换帧既可以为关键帧,也可以为普通帧。
在最优方案中,该编码设备在接收到所有反馈信号后,不管是否完成原视频组中所有视频帧的编码,总是将其接收的下一帧视频帧编码为切换关键帧(既是切换帧,也是关键帧),作为新视频组的关键帧,以提高后端各个显示设备的切换速度。
在两较优方案中,该编码设备在接收到所有反馈信号后,将其接收的下一帧视频帧编码为切换帧,若还未完成原视频组中所有视频帧的编码,下一帧视频帧为原视频组中的普通帧,则所述切换帧为切换普通帧(既是切换帧,也是普通帧),若刚好完成原视频组中所有视频帧的编码,下一帧视频帧刚好为新视频组中的关键帧,则所述切换帧为切换关键帧。
当然,所述切换帧并不一定采用该编码设备在接收到所有反馈信号后接收的下一帧视频帧,也可以采用间隔数帧后接收的视频帧,视具体需求而定。
其中,该编码设备只有在识别完所述切换控制设备预先发送的参与切换的所有解码设备的设备信息,以确定参与切换的所有解码设备均已经接收到其编码信号后,才编码生成所述切换帧。参与切换的解码设备至少有两个。
若所述切换帧为切换关键帧,则参与切换的各个解码设备从所述切换帧开始对所述编码信号进行解码,若所述切换帧为切换普通帧,则参与切换的各个解码设备从识别到所述切换帧后的下一个视频组中的关键帧开始对所述编码信号进行解码。
当然,参与切换的各个解码设备并不一定从所述切换关键帧或下一个视频组中的关键帧开始进行解码,也可以间隔数个视频组后才从对应视频组中的关键帧开始解码,视具体需求而定。
该编码方法及设备在进行切换时,通过所述反馈信号确认参与切换的所有解码设备均已接入后,在所述编码信号中生成所述切换帧,以供参与切换的各个解码设备进行识别后才从同一关键帧开始解码,可以消除参与切换的各个解码设备由于接入该编码设备的时间不同而导致的解码不同步问题,使参与切换的各个解码设备之间实现同步解码,体现在后端的多个显示设备上则表现为多个显示设备的画面同步切换,同时提高切换速度。
一种可读存储介质,储存有供处理器执行的计算机程序;所述处理器执行该计算机程序时,进行上述可实现视频矩阵同步切换的编码方法。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制,但凡采用等同替换或等效变换的形式所获得的技术方案,均应落在本发明的保护范围之内。