一种基于以太网的四维影院同步播放方法

文档序号:1601166阅读:438来源:国知局

专利名称::一种基于以太网的四维影院同步播放方法
技术领域
:本发明涉及一种基于以太网的四维影院同步播放方法,属于通信
技术领域

背景技术
:电影放映技术由二维平面、三维立体发展至目前的四维动感电影。四维动感电影是指在三维立体电影的基础上加环境特效模拟仿真而组成的新型影视产品。四维系指三维立体电影加上周围环境模拟而组成四维空间。观众在看立体电影时,顺着影视内容的变化,可实时感受到风暴、雷电、下雨、撞击、喷洒水雾、拍腿等身边所发生与立体影象对应的事件。目前四维电影经过多年的发展,技术已经相对成熟。基本的四维电影系统逻辑上由影视系统、音响系统、座椅运动系统、控制系统四部分组成。例如,以下为目前普通的四维影院的组成。影视系统电影放映机/高清晰度数字液晶投映仪+视频主机屏幕音响系统5.1声道立体声音响系统,具有左、右、中、左环、右环、重低音六个独立声道。座椅运动系统三自由度座椅系统控制系统专用通讯设备在四维电影技术中,核心技术之一为同步控制技术,包括左右两路视频流、音频流外加事件流的同步。目前四维影院系统中的同步为采用专用的通信设备,串行接口(RS232)传输同步控制数据,即将对应于左右两路视频的播放情况通过专用设备的串行接口传递。现有的四维影院中的同步控制技术主要存在以下不足(1)需要采用专用的通讯设备。目前的四维影院中同步信息是采用专用的硬件通信设备进行传递的。(2)采用RS232串行接口传递数据,速度较慢,易延迟,从而导致同步控制信息不能及时到达而影响同步效果。(3)与RS232串行接口连接的通信线传输距离较短。在无中继的情况下,RS232接口接线的传输距离一般为15m以内。因此,这限制了同步控制系统与影视、音响系统之间的距离。(4)RS232串行接口接线的抗干扰能力相对于以太网的双绞线来说较弱。
发明内容要解决的技术问题为了避免现有技术的不足之处,本发明提出一种基于以太网的四维影院同步播放方法,采用计算机终端智能实时检测影院系统当前播放状态、判断同步信息、产生与发送同步指令,采用RJ41以太网卡接口,以双绞线为链路接线,通过以太网传递指令,从而实现及时、准确的同步控制。技术方案本发明的基本思想是在一个控制器与两个播放器形成的系统中,两个播放器的播放窗口分别对应左右路的内容。控制器端定时发送査询控制指令到两个播放器,两个播放器在收到指令后将目前的播放进度信息采样后发送至控制器端,控制器根据所收到的信息判定播放器的播放进度,协调与控制端播放器两个播放窗口的播放行为,形成了一个闭环反馈结构。本发明方法的特征在于采用一个控制机A控制两个播放机B和C,并采用100Mbps的以太网卡传递同步数据,具体步骤如下步骤1:控制机A每隔4秒分别向左眼播放机B和右眼播放机C发送进度查询指令;步骤2:两播放机B和C接收到进度査询指令后,査询自己当前播放进度值Tb和Tc,并向控制机A发送当前播放进度值Tb和Tc;步骤3:控制机A接收到B机和C机的进度Tb和Te后,计算两进度差值AT:Tb-Tc;步骤4:若IATI大于40ms,且AT为正数时,控制机向播放机B发出暂停播放AT时间指令;若AT是负数,控制机向播放机A发出暂停播放厶T时间指令;步骤5:播放机A或B接收到指令后,暂停播放AT时间后恢复播放,达到A或B播放机的同步。有益效果本发明提出的基于以太网的四维影院同步播放方法,同步控制信号采用通用的以太网卡传递,传输距离可达100m。传输采用双绞线,因在其外具有屏蔽层,可以有效地抗电磁干扰。本发明与现有技术的比较-<table>tableseeoriginaldocumentpage5</column></row><table>本发明采用计算机终端智能实时检测影院系统当前播放状态、判断同步信息、产生与发送同步指令,采用RJ41以太网卡接口,以双绞线为链路接线,通过以太网传递指令,从而实现及时、准确的同步控制。图1:本发明方法流程图图2:本发明方法发送査询指令流程图图3:播放器发送进度流程图图4:控制器判断是否同步流程图图5:播放器响应同步指令流程图具体实施例方式现结合实施例、附图对本发明作进一步描述1)播放器采样发送算法文字描述控制器每隔一段时间将向播放器发送同步指令,播放器收到指令后将当前的播放信息传送给控制器。(1)发送査询指令流程控制器端每隔一段时间要对播放器发送一次査询命令,流程如错误!未找到引用源。所示。主要运行步骤如下a)控制器设定查询指令;b)控制器向左眼播放器发送查询命令;C)控制器向右眼播放器发送查询命令。核心代码如下〃设定查询指令sendBytes=Encoding.ASCII.GetBytes("");try//向左眼播放器发送査询指令udpClientll.Send(sendBytes,sendBytes.Length);〃向右眼播放器发送査询指令udpClientrl.Send(sendBytes,sendBytes.Length);catch(Exceptionel)〃报告错误信息MessageBox.Show(el.Message);(2)播放器发送响应流程当播放器接收到査询指令后,向控制器端发送当前进度,流程如错误!未找到引用源。所示主要运行步骤如下a)播放器同步控制线程阻塞,直到接收到查询命令;b)当播放器接收到査询命令后,向控制器发送当前进度。核心代码如下〃如果接收到査询命令,则进行查询if(temp[O]=='')〃查询当前进度IAsyncResultiar=this.Beginlnvoke(mi);this.Endlnvoke(iar);//发送当前进度byte[]send=Encoding.ASCII.GetBytes(lr+":"+pos);us.Send(send,send丄ength);2)控制器协调控制的算法文字描述控制器得到两个播放器的进度后,要对播放器的进度进行比对,当时间差大于一定值时,向播放器发送同步命令,播放器进行同步。(1)控制器同步流程控制器接收到两个播放器的进度后,对两个进度进行比对,若时间大于40ms则向稍快的播放器发送同步命令,否则不用同步,流程如错误!未找到引用源。所示-运行步骤如下a)控制器接收到两个播放器的进度信息;b)将两个进度信息提取并转化为可计算格式;C)计算两个播放器进度的差值;d)判断差值是否大于40ms,若小于则不用同步,结束本次同步;e)若大于,则要判断哪个播放器进度过快;f)向过快的播放器发送同步命令,其中包括同步时间。核心代码如下〃取得左眼播放器的播放进度—t=t;〃取得右眼播放器的播放进度一tl=U;〃将播放进度规范化,去掉进度的前缀一t=一t.Substring(5);_tl=—tl.Substring(6);longi,il;try〃将播放进度转换为长整形i=long.Parse(一t);il=long.Parse(_tl);catch(Exception〃报告错误信息MessageBox.Show(e.Message);return;〃计算进度差值i=i-il;i='i/10000;〃判断是哪边的进度比较快,且是否超过40msif(i<-40)i=陽i;〃设定同步指令,里面包括同步时长byte[]temp=Encoding.ASCII.GetBytes("$"+i);try〃发送同步指令udpClientrl.Send(temp,temp丄ength);catch(Exceptione)〃报告错误信息MessageBox.Show(e.Message);elseif(i>40)〃设定同步指令,里面包括同步时长byte[]temp=Encoding.ASCII.GetBytes("$"+i);try〃发送同步指令udpClientll.Send(temp,temp丄ength);catch(Exceptione)〃报告错误信息MessageBox.Show(e.Message);(2)播放器响应同步命令,进行同步播放器接收到同步命令后,按照命令中的时间长度进行同步,流程错误!未找到引用源。如所示主要步骤如下a)播放器同步控制线程阻塞,直到接收到同步命令;b)播放器提取同步命令中的同步时间;C)播放器按照同步时间进行同步。核心代码如下〃如果接收到的是同步指令,则进行同步10elseif(temp[O]'$')〃提取同步时间strings=newstring(Encoding.ASCII.GetChars(temp));s=s.Substring(l);inti=int.Parse(s);time=i;〃按照同步时间进行同步IAsyncResultiar=this.Beginlnvoke(mil);this.EndInvoke(iar);运行步骤如下a)控制机每隔4秒分别向两个播放机发送进度査询指令;所述的两个播放机分别播放左右两路视频流;b)两个播放机接收到査询指令后,査询当前播放进度并将当前进度值发送控制机;c)控制机将接收到两个进度值进行比较,当两个进度的差值大于40ms,控制机向发送暂停d)小于40ms时,e)若则不进行同步操作,函数结束;f)若差值则计算两端的差值;g)向快的那端发送同步指令和同步时间;h)播放器接收到同步指令后,开始同步。权利要求1.一种基于以太网的四维影院同步播放方法,其特征在于采用一个控制机A控制两个播放机B和C,并采用100Mbps的以太网卡传递同步数据,具体步骤如下步骤1控制机A每隔4秒分别向左眼播放机B和右眼播放机C发送进度查询指令;步骤2两播放机B和C接收到进度查询指令后,查询自己当前播放进度值Tb和Tc,并向控制机A发送当前播放进度值Tb和Tc;步骤3控制机A接收到B机和C机的进度Tb和Tc后,计算两进度差值ΔT=Tb-Tc;步骤4若|ΔT|大于40ms,且ΔT为正数时,控制机向播放机B发出暂停播放ΔT时间指令;若ΔT是负数,控制机向播放机A发出暂停播放ΔT时间指令;步骤5播放机A或B接收到指令后,暂停播放ΔT时间后恢复播放,达到A或B播放机的同步。全文摘要本发明涉及一种基于以太网的四维影院同步播放方法,本发明的基本思想是在一个控制器与两个播放器形成的系统中,两个播放器的播放窗口分别对应左右路的内容。控制器端定时发送查询控制指令到两个播放器,两个播放器在收到指令后将目前的播放进度信息采样后发送至控制器端,控制器根据所收到的信息判定播放器的播放进度,协调与控制端播放器两个播放窗口的播放行为,形成了一个闭环反馈结构。本发明采用RJ41以太网卡接口,以双绞线为链路接线,通过以太网传递指令,从而实现及时、准确的同步控制。文档编号A63J25/00GK101554537SQ200910022210公开日2009年10月14日申请日期2009年4月28日优先权日2009年4月28日发明者赵俊啸申请人:西安和利德软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1