产品分类
首页 > 技术讲堂 > IP分布式解码上墙的技术要点和难点分析

IP分布式解码上墙的技术要点和难点分析

                           IP分布式解码上墙的技术要点和难点分析 

                                     天为电信科技公司研发部   


 传统视频源(电脑,解码器等)拼接上墙的做法是通过 “拼接控制器”来实现的。这类“拼接控制器”一般是由全硬件实现,支持多种视频输入模式,如HDMIVGABNC等。IP网络视频要通过这类拼接控制器拼接上墙时,是要先用解码器转换为“拼接控制器”支持的输入格式,如HDMI,再通过“拼接控制器”统一上拼接墙。这种方法可以称为硬件上的集中处理方法。这种方法首先是对硬件有极高的依存度,十分不方便于移植,每次改进微调都伴随着硬件升级;其次这种集中式处理方法固然十分方便可靠,但是要求客户要购置专门的拼接控制设备,这是一笔不小的开销,另外组合成这种系统的步骤也是比较繁琐的,既需要人力成本又需要硬件成本的昂贵支出。如果能够做到绕开集中式的管理,绕开管理硬件的束缚,无疑是减少成本开销和工程量的一个重要的思路。 

 

为了解决现有技术中的不足,天为电信提供一种对分布式IP视频同步上拼接墙的方法及系统,它可以构建一个纯粹由多个解码器组成的 分布式系统,通过解码器的核心主解码芯片(如TI davinci,海思媒体芯片等处理器)提供的软件函数接口对IP视频进行解码,图像切割,放大,再加上同步技术,实现高精度的同步拼接上墙。 

 

本系统对实施组成单元即IP解码器的性能上有一定要求。首先,要求解码器是软件可编程的,这样才能实施本文阐述的同步技术;其次要求解码器自身能支持实现解码后图像的切割和放大,这部分是由解码器自身实现的;最后,解码器还具备一般IP解码器的基本功能,如网络接口、视频输出等等。 

 

本方法和系统的拼接技术的难度之一在于“同步”,因为每个拼接子屏幕都是由独立的解码器负责解码输出的,每个解码器运行的是非实时系统,如unix系统;所以其子屏间的同步性能天然地无法跟传统硬件拼接器统一上墙方案相比,所以该技术及系统的技术要点在于把各个拼接子屏幕间的显示时间差控制在人眼可分辨的时差之内,并贴近硬件拼接器的效果。 

本系统提供一种分布式视频解码系统同步拼接上墙的实现方法,所述分布式视频解码系统包括由多个分立的IP视频解码器组成的解码器集群,所述方法采用视频拼接同步机制和解码控制机制来实现多个分立的IP视频解码器的同步拼接上墙。 

 

同步机制包括以下步骤: 

步骤1:设定某一解码器为主解码器,主解码器发送广播包,申请获取各个从解码器的当前待解码帧的接收时间t_sn 

步骤2:主解码器接收到回复后,能搜索出各个从解码器发给主解码 器的视频帧在主解码器这边的接收时间t_hn,并算出主解码器需要的延时时间DeLay_host 

步骤3:主解码器就把该处理结果回复给各个从解码器,回复内容包括DeLay_hostt_hn 

步骤4:各个从解码器根据t_snt_hnDeLay_host的结果算出自己各自需要延时的时间Delay_slave 

进一步地,每个解码器每隔一段时间,通过所述的同步机制更新自己需要延时解码的时间; 

 

进一步地,所述解码控制机制的步骤如下: 

1)主解码器每接收到一个视频帧就对从解码器集群广播一个帧号IDX,以表示准备解码该视频帧IDX 

2)对于比主解码器先接收到帧IDX的从解码器,会等待主解码器的广播通知;未收到通知时,就暂时不解码帧IDX,当接收到广播包时,就延时Delay_slave=Delay_host再进行解码帧IDX;对于较主解码器晚接收到帧IDX的从解码器,接收到这个广播包后,就各自根据之前算出来的延时Delay_slave=Delay_host–(t_sn–t_hn)进行延后解码帧IDX 

 

进一步地,本系统还提供一种分布式视频解码系统,所述分布式视频解码系统包括由多个分立的IP视频解码器组成的解码器集群,所述系统采用上述方法实现多个分立的IP视频解码器的同步拼接上墙。 

 

本系统提出基于IP视频解码器的拼接上墙方式,这种方式是基于分布式,即多个分立的IP视频解码器来实现,基本原理就是通过多个解码器各自选取IP图像的一部分直接解码上墙,绕开集中式拼接控制器的限制,不需要购置一个昂贵的拼接管理硬件平台,从而做到有效地减少成本和复杂度,同时也能达到更好的效果;而且这种分布式方法的同步机制是基于软件实施的,对硬件依存度很低,十分方便移植到不同的硬件平台。 

具体实施方式:

本系统基于这样一种思想:首先,在解码器集群中的任意解码器,都向任一公共时间服务器(所述公共时间服务器可以是解码器集群中的一个)进行校准,如使用Network Time Protocal,NTP进行对时,由于用于拼接的解码器在大多数的情况下共享同一个交换机,所以解 码器的非实时系统之间的时差能达到NTP协议“LAN环境下小于1ms的时差,如图1所示。NTP对时的实现十分简单,如可使用第三方软件等实现,这里对时只是我们同步技术的一种统一各个解码器时间的一个手段,也可以使用别的高精度对时方式。所以对时方式只是我们同步技术的运行基础,而不是运行方式和技术要点,所以对此不再做累述。 

在解码器集群有了一个同一的时间后,就可以运行本发明的视频拼接同步机制。其最基本想法就是:解码器解码同一个IP视频流,因为网络、视频服务器负载等各种因素,必然会导致每个解码器接收同一视频帧的时间不同,这种时间差往往会达到几百甚至上千毫秒,从而导致用户观测出多个画面不同步,这是进行拼接的关键矛盾。虽然接收时间有异,但是可以通过控制该视频帧解码显示的时间来解决这个问题。具体来说,就是先接受到该视频帧的解码器等待晚接收到该帧的解码器,在解码器集群都收到该帧后,让系统中的解码器都在同一时刻解码并显示该视频帧。这样虽然网络接收时有时差,但是解码及屏幕显示都在同一时间点,也能保证到视频显示的同步,从而使拼接同步效果极大地接近传统拼接方法。这就是本分布式IP视频解码器同步拼接上墙的关键技术点,也是下面要详细说明的内容。 

在详述前,先明确两个假设:1.在较短时间内(如:0.5s—10s),解码器所连接的同一个交换机的分发数据速度变化可以忽略;2.在同一交换机中的解码器间,解码器互相发送小数据包的时间可以忽略。 

基于上述假设,首先解码器n需要每隔一段时间,通过下文要详 述的同步机制,更新自己因为要同步显示而需要延时解码的时间Delay_n,然后使用下文详述的解码控制机制保证该解码器在这段时间内所有接收到的视频帧按照Delay_n延时输出,即可完成拼接同步功能。 

一、同步机制的具体做法如下: 

步骤1:如图2所示,首先设定某一解码器为主解码器,负责协调各从解码器的工作,主解码器发送广播包,申请获取各个从解码器的当前待解码帧的接收时间。 

步骤2:参见图3,主解码器接收到回复后,能搜索出自身相应的帧的接收时间t_hn,根据这个时间,算出主解码器与各个从解码器间该帧接收的时间t_sn的差值,取出最大的时间差Delay_Max,这个差值就是主解码器需要的延时DeLay_host。如果某一个帧的接收时间搜索不出来,证明从解码器接收该帧比主解码器接收的早,t_hn取所有t_sn中的最大值。 

步骤3,如图4所示,这时,主解码器就可以把该处理结果回复给各个从解码器,回复内容有主解码器需要的延时DeLay_host及从解码器发给主解码器的视频帧在主解码器这边的接收时间t_hn 

步骤4,采用如下公式: 

Delay_slave=Delay_host,t_sn-t_hn<0Delay_host-(t_sn-t_hn),t_sn-t_hn>=0]]>

根据上面采集的这些信息,从解码器可以算出自己各自需要延时的时间Delay_slave 

延时每隔一个适当的时间就重复步骤1至步骤4就进行一次校准, 更新后解码器就能根据网络环境自动协调同步需要的解码延时,其中Delay_n包括主解码器的需要延时的时间DeLay_host以及各个从解码器需要延时的时间Delay_slave 

二、解码控制机制的具体做法如下: 

整个流程同步流,如图5所示,在一段时间内,主从解码器都根据各自算出来的Delay延迟时间来对从网络接收到的视频帧进行延时,确保解码输出的同步。 

主解码器每接收到一个视频帧就对从解码器集群广播一个帧号IDX,以表示准备解码该视频帧IDX。对于比主解码器先接收到帧IDX的解码器,会等待主解码器的这个广播通知。未收到通知时,就暂时不解码帧IDX,当接收到广播包时,就延时Delay_slave=Delay_host的时间再进行解码IDX帧。对于较主解码器晚接收到帧IDX的从解码器,接收到这个广播包后,就各自根据之前算出来的延时Delay_host–(t_sn–t_hn)进行延后解码帧IDX 

在本系统中由于NTP对时在LAN环境下,能达到1ms的误差,这样,组成拼接的解码器集群都跟主解码器进行NTP同步对时的情况下,它们之间的时间误差为小于等于2ms,加上一般软件操作系统的10ms的时间精度,这个误差大概控制在20ms以内,人眼无法识别出这个误差。 

 

    产品链接  

  http://www.tekway.cn/product/370/plan.html

  

客服热线 周一至周五 9:00 ~ 18:00
客服邮箱:tekway@163.com

联系地址:广州市黄埔区科学城南翔二路19号精华科技园三楼
邮箱:tekway@163.com

关闭选择区域