專利名稱::一種基于以太網(wǎng)的四維影院同步播放方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種基于以太網(wǎng)的四維影院同步播放方法,屬于通信
技術(shù)領(lǐng)域:
。
背景技術(shù):
:電影放映技術(shù)由二維平面、三維立體發(fā)展至目前的四維動(dòng)感電影。四維動(dòng)感電影是指在三維立體電影的基礎(chǔ)上加環(huán)境特效模擬仿真而組成的新型影視產(chǎn)品。四維系指三維立體電影加上周圍環(huán)境模擬而組成四維空間。觀眾在看立體電影時(shí),順著影視內(nèi)容的變化,可實(shí)時(shí)感受到風(fēng)暴、雷電、下雨、撞擊、噴灑水霧、拍腿等身邊所發(fā)生與立體影象對(duì)應(yīng)的事件。目前四維電影經(jīng)過多年的發(fā)展,技術(shù)已經(jīng)相對(duì)成熟?;镜乃木S電影系統(tǒng)邏輯上由影視系統(tǒng)、音響系統(tǒng)、座椅運(yùn)動(dòng)系統(tǒng)、控制系統(tǒng)四部分組成。例如,以下為目前普通的四維影院的組成。影視系統(tǒng)電影放映機(jī)/高清晰度數(shù)字液晶投映儀+視頻主機(jī)屏幕音響系統(tǒng)5.1聲道立體聲音響系統(tǒng),具有左、右、中、左環(huán)、右環(huán)、重低音六個(gè)獨(dú)立聲道。座椅運(yùn)動(dòng)系統(tǒng)三自由度座椅系統(tǒng)控制系統(tǒng)專用通訊設(shè)備在四維電影技術(shù)中,核心技術(shù)之一為同步控制技術(shù),包括左右兩路視頻流、音頻流外加事件流的同步。目前四維影院系統(tǒng)中的同步為采用專用的通信設(shè)備,串行接口(RS232)傳輸同步控制數(shù)據(jù),即將對(duì)應(yīng)于左右兩路視頻的播放情況通過專用設(shè)備的串行接口傳遞?,F(xiàn)有的四維影院中的同步控制技術(shù)主要存在以下不足(1)需要采用專用的通訊設(shè)備。目前的四維影院中同步信息是采用專用的硬件通信設(shè)備進(jìn)行傳遞的。(2)采用RS232串行接口傳遞數(shù)據(jù),速度較慢,易延遲,從而導(dǎo)致同步控制信息不能及時(shí)到達(dá)而影響同步效果。(3)與RS232串行接口連接的通信線傳輸距離較短。在無中繼的情況下,RS232接口接線的傳輸距離一般為15m以內(nèi)。因此,這限制了同步控制系統(tǒng)與影視、音響系統(tǒng)之間的距離。(4)RS232串行接口接線的抗干擾能力相對(duì)于以太網(wǎng)的雙絞線來說較弱。
發(fā)明內(nèi)容要解決的技術(shù)問題為了避免現(xiàn)有技術(shù)的不足之處,本發(fā)明提出一種基于以太網(wǎng)的四維影院同步播放方法,采用計(jì)算機(jī)終端智能實(shí)時(shí)檢測(cè)影院系統(tǒng)當(dāng)前播放狀態(tài)、判斷同步信息、產(chǎn)生與發(fā)送同步指令,采用RJ41以太網(wǎng)卡接口,以雙絞線為鏈路接線,通過以太網(wǎng)傳遞指令,從而實(shí)現(xiàn)及時(shí)、準(zhǔn)確的同步控制。技術(shù)方案本發(fā)明的基本思想是在一個(gè)控制器與兩個(gè)播放器形成的系統(tǒng)中,兩個(gè)播放器的播放窗口分別對(duì)應(yīng)左右路的內(nèi)容??刂破鞫硕〞r(shí)發(fā)送査詢控制指令到兩個(gè)播放器,兩個(gè)播放器在收到指令后將目前的播放進(jìn)度信息采樣后發(fā)送至控制器端,控制器根據(jù)所收到的信息判定播放器的播放進(jìn)度,協(xié)調(diào)與控制端播放器兩個(gè)播放窗口的播放行為,形成了一個(gè)閉環(huán)反饋結(jié)構(gòu)。本發(fā)明方法的特征在于采用一個(gè)控制機(jī)A控制兩個(gè)播放機(jī)B和C,并采用100Mbps的以太網(wǎng)卡傳遞同步數(shù)據(jù),具體步驟如下步驟1:控制機(jī)A每隔4秒分別向左眼播放機(jī)B和右眼播放機(jī)C發(fā)送進(jìn)度查詢指令;步驟2:兩播放機(jī)B和C接收到進(jìn)度査詢指令后,査詢自己當(dāng)前播放進(jìn)度值Tb和Tc,并向控制機(jī)A發(fā)送當(dāng)前播放進(jìn)度值Tb和Tc;步驟3:控制機(jī)A接收到B機(jī)和C機(jī)的進(jìn)度Tb和Te后,計(jì)算兩進(jìn)度差值A(chǔ)T:Tb-Tc;步驟4:若IATI大于40ms,且AT為正數(shù)時(shí),控制機(jī)向播放機(jī)B發(fā)出暫停播放AT時(shí)間指令;若AT是負(fù)數(shù),控制機(jī)向播放機(jī)A發(fā)出暫停播放厶T時(shí)間指令;步驟5:播放機(jī)A或B接收到指令后,暫停播放AT時(shí)間后恢復(fù)播放,達(dá)到A或B播放機(jī)的同步。有益效果本發(fā)明提出的基于以太網(wǎng)的四維影院同步播放方法,同步控制信號(hào)采用通用的以太網(wǎng)卡傳遞,傳輸距離可達(dá)100m。傳輸采用雙絞線,因在其外具有屏蔽層,可以有效地抗電磁干擾。本發(fā)明與現(xiàn)有技術(shù)的比較-<table>tableseeoriginaldocumentpage5</column></row><table>本發(fā)明采用計(jì)算機(jī)終端智能實(shí)時(shí)檢測(cè)影院系統(tǒng)當(dāng)前播放狀態(tài)、判斷同步信息、產(chǎn)生與發(fā)送同步指令,采用RJ41以太網(wǎng)卡接口,以雙絞線為鏈路接線,通過以太網(wǎng)傳遞指令,從而實(shí)現(xiàn)及時(shí)、準(zhǔn)確的同步控制。圖1:本發(fā)明方法流程圖圖2:本發(fā)明方法發(fā)送査詢指令流程圖圖3:播放器發(fā)送進(jìn)度流程圖圖4:控制器判斷是否同步流程圖圖5:播放器響應(yīng)同步指令流程圖具體實(shí)施例方式現(xiàn)結(jié)合實(shí)施例、附圖對(duì)本發(fā)明作進(jìn)一步描述1)播放器采樣發(fā)送算法文字描述控制器每隔一段時(shí)間將向播放器發(fā)送同步指令,播放器收到指令后將當(dāng)前的播放信息傳送給控制器。(1)發(fā)送査詢指令流程控制器端每隔一段時(shí)間要對(duì)播放器發(fā)送一次査詢命令,流程如錯(cuò)誤!未找到引用源。所示。主要運(yùn)行步驟如下a)控制器設(shè)定查詢指令;b)控制器向左眼播放器發(fā)送查詢命令;C)控制器向右眼播放器發(fā)送查詢命令。核心代碼如下〃設(shè)定查詢指令sendBytes=Encoding.ASCII.GetBytes("");try//向左眼播放器發(fā)送査詢指令udpClientll.Send(sendBytes,sendBytes.Length);〃向右眼播放器發(fā)送査詢指令udpClientrl.Send(sendBytes,sendBytes.Length);catch(Exceptionel)〃報(bào)告錯(cuò)誤信息MessageBox.Show(el.Message);(2)播放器發(fā)送響應(yīng)流程當(dāng)播放器接收到査詢指令后,向控制器端發(fā)送當(dāng)前進(jìn)度,流程如錯(cuò)誤!未找到引用源。所示主要運(yùn)行步驟如下a)播放器同步控制線程阻塞,直到接收到查詢命令;b)當(dāng)播放器接收到査詢命令后,向控制器發(fā)送當(dāng)前進(jìn)度。核心代碼如下〃如果接收到査詢命令,則進(jìn)行查詢if(temp[O]=='')〃查詢當(dāng)前進(jìn)度IAsyncResultiar=this.Beginlnvoke(mi);this.Endlnvoke(iar);//發(fā)送當(dāng)前進(jìn)度byte[]send=Encoding.ASCII.GetBytes(lr+":"+pos);us.Send(send,send丄ength);2)控制器協(xié)調(diào)控制的算法文字描述控制器得到兩個(gè)播放器的進(jìn)度后,要對(duì)播放器的進(jìn)度進(jìn)行比對(duì),當(dāng)時(shí)間差大于一定值時(shí),向播放器發(fā)送同步命令,播放器進(jìn)行同步。(1)控制器同步流程控制器接收到兩個(gè)播放器的進(jìn)度后,對(duì)兩個(gè)進(jìn)度進(jìn)行比對(duì),若時(shí)間大于40ms則向稍快的播放器發(fā)送同步命令,否則不用同步,流程如錯(cuò)誤!未找到引用源。所示-運(yùn)行步驟如下a)控制器接收到兩個(gè)播放器的進(jìn)度信息;b)將兩個(gè)進(jìn)度信息提取并轉(zhuǎn)化為可計(jì)算格式;C)計(jì)算兩個(gè)播放器進(jìn)度的差值;d)判斷差值是否大于40ms,若小于則不用同步,結(jié)束本次同步;e)若大于,則要判斷哪個(gè)播放器進(jìn)度過快;f)向過快的播放器發(fā)送同步命令,其中包括同步時(shí)間。核心代碼如下〃取得左眼播放器的播放進(jìn)度—t=t;〃取得右眼播放器的播放進(jìn)度一tl=U;〃將播放進(jìn)度規(guī)范化,去掉進(jìn)度的前綴一t=一t.Substring(5);_tl=—tl.Substring(6);longi,il;try〃將播放進(jìn)度轉(zhuǎn)換為長(zhǎng)整形i=long.Parse(一t);il=long.Parse(_tl);catch(Exception〃報(bào)告錯(cuò)誤信息MessageBox.Show(e.Message);return;〃計(jì)算進(jìn)度差值i=i-il;i='i/10000;〃判斷是哪邊的進(jìn)度比較快,且是否超過40msif(i<-40)i=陽i;〃設(shè)定同步指令,里面包括同步時(shí)長(zhǎng)byte[]temp=Encoding.ASCII.GetBytes("$"+i);try〃發(fā)送同步指令udpClientrl.Send(temp,temp丄ength);catch(Exceptione)〃報(bào)告錯(cuò)誤信息MessageBox.Show(e.Message);elseif(i>40)〃設(shè)定同步指令,里面包括同步時(shí)長(zhǎng)byte[]temp=Encoding.ASCII.GetBytes("$"+i);try〃發(fā)送同步指令udpClientll.Send(temp,temp丄ength);catch(Exceptione)〃報(bào)告錯(cuò)誤信息MessageBox.Show(e.Message);(2)播放器響應(yīng)同步命令,進(jìn)行同步播放器接收到同步命令后,按照命令中的時(shí)間長(zhǎng)度進(jìn)行同步,流程錯(cuò)誤!未找到引用源。如所示主要步驟如下a)播放器同步控制線程阻塞,直到接收到同步命令;b)播放器提取同步命令中的同步時(shí)間;C)播放器按照同步時(shí)間進(jìn)行同步。核心代碼如下〃如果接收到的是同步指令,則進(jìn)行同步10elseif(temp[O]'$')〃提取同步時(shí)間strings=newstring(Encoding.ASCII.GetChars(temp));s=s.Substring(l);inti=int.Parse(s);time=i;〃按照同步時(shí)間進(jìn)行同步IAsyncResultiar=this.Beginlnvoke(mil);this.EndInvoke(iar);運(yùn)行步驟如下a)控制機(jī)每隔4秒分別向兩個(gè)播放機(jī)發(fā)送進(jìn)度査詢指令;所述的兩個(gè)播放機(jī)分別播放左右兩路視頻流;b)兩個(gè)播放機(jī)接收到査詢指令后,査詢當(dāng)前播放進(jìn)度并將當(dāng)前進(jìn)度值發(fā)送控制機(jī);c)控制機(jī)將接收到兩個(gè)進(jìn)度值進(jìn)行比較,當(dāng)兩個(gè)進(jìn)度的差值大于40ms,控制機(jī)向發(fā)送暫停d)小于40ms時(shí),e)若則不進(jìn)行同步操作,函數(shù)結(jié)束;f)若差值則計(jì)算兩端的差值;g)向快的那端發(fā)送同步指令和同步時(shí)間;h)播放器接收到同步指令后,開始同步。權(quán)利要求1.一種基于以太網(wǎng)的四維影院同步播放方法,其特征在于采用一個(gè)控制機(jī)A控制兩個(gè)播放機(jī)B和C,并采用100Mbps的以太網(wǎng)卡傳遞同步數(shù)據(jù),具體步驟如下步驟1控制機(jī)A每隔4秒分別向左眼播放機(jī)B和右眼播放機(jī)C發(fā)送進(jìn)度查詢指令;步驟2兩播放機(jī)B和C接收到進(jìn)度查詢指令后,查詢自己當(dāng)前播放進(jìn)度值Tb和Tc,并向控制機(jī)A發(fā)送當(dāng)前播放進(jìn)度值Tb和Tc;步驟3控制機(jī)A接收到B機(jī)和C機(jī)的進(jìn)度Tb和Tc后,計(jì)算兩進(jìn)度差值ΔT=Tb-Tc;步驟4若|ΔT|大于40ms,且ΔT為正數(shù)時(shí),控制機(jī)向播放機(jī)B發(fā)出暫停播放ΔT時(shí)間指令;若ΔT是負(fù)數(shù),控制機(jī)向播放機(jī)A發(fā)出暫停播放ΔT時(shí)間指令;步驟5播放機(jī)A或B接收到指令后,暫停播放ΔT時(shí)間后恢復(fù)播放,達(dá)到A或B播放機(jī)的同步。全文摘要本發(fā)明涉及一種基于以太網(wǎng)的四維影院同步播放方法,本發(fā)明的基本思想是在一個(gè)控制器與兩個(gè)播放器形成的系統(tǒng)中,兩個(gè)播放器的播放窗口分別對(duì)應(yīng)左右路的內(nèi)容??刂破鞫硕〞r(shí)發(fā)送查詢控制指令到兩個(gè)播放器,兩個(gè)播放器在收到指令后將目前的播放進(jìn)度信息采樣后發(fā)送至控制器端,控制器根據(jù)所收到的信息判定播放器的播放進(jìn)度,協(xié)調(diào)與控制端播放器兩個(gè)播放窗口的播放行為,形成了一個(gè)閉環(huán)反饋結(jié)構(gòu)。本發(fā)明采用RJ41以太網(wǎng)卡接口,以雙絞線為鏈路接線,通過以太網(wǎng)傳遞指令,從而實(shí)現(xiàn)及時(shí)、準(zhǔn)確的同步控制。文檔編號(hào)A63J25/00GK101554537SQ200910022210公開日2009年10月14日申請(qǐng)日期2009年4月28日優(yōu)先權(quán)日2009年4月28日發(fā)明者趙俊嘯申請(qǐng)人:西安和利德軟件有限公司