发明内容
本发明提供一种影音分流且同步的数据传输方法,其包含初始化传送端系统和接收端系统以取得预定压缩率及相关于该传送端系统中的第一图像数据缓冲器的第一预定容量;该传送端系统处理图像数据,并依据该接收端系统传来的图像数据播放通知讯息来传递处理后的图像数据;该传送端系统处理声音数据,并依据该接收端系统传来的误差讯号及该图像数据播放通知讯息来传递声音数据;该接收端系统接收并处理该图像数据和该声音数据以产生相对应的图像输出数据和声音输出数据;以及该接收端系统输出该图像输出数据至图像输出设备以及输出该声音输出数据至声音输出设备。
初始化该传送端系统另包含:在传递该图像数据通知讯息至该接收端系统后,准备读取该图像数据和该声音数据
其中初始化该接收端系统包含:初始化该接收端系统的网络;该接收端系统接收该传送端系统传来的虚拟数据;该接收端系统依据该虚拟数据的接收状况产生频宽信息;该接收端系统传递该频宽信息至该传送端系统;以及在接收到该传送端系统传来的图像数据通知讯息后,该接收端系统开始接收该图像数据和该声音数据。
初始化该接收端系统另包含:当该传送端系统和该接收端系统之间尚未成功建立联机时,重新初始化该接收端系统的网络。
初始化该接收端系统另包含:判断该传送端系统和该接收端系统之间是否能成功建立联机;以及判断该接收端系统是否能接收到该图像数据通知讯息。
该传送端系统处理的图像数据包含:依据该预定压缩率来压缩读取到的图像数据;将压缩后的图像数据存入该第一图像数据缓冲器;以及当接收到该图像数据播放通知讯息且该第一图像数据缓冲器内存的数据量高于第一预定准位时,开始传递该图像数据。
另包含:依据该第一预定容量来设定该第一预定准位。
该传送端系统处理的图像数据另包含:当接收到该图像数据播放通知讯息且该第一图像数据缓冲器内存的数据量高于该第一预定准位时,允许传递该声音数据。
该传送端系统处理的图像数据另包含:当该第一图像数据缓冲器内存的数据量高于第二预定准位时,停止将压缩后的图像数据存入该第一图像数据缓冲器。
另包含:依据该第一预定容量来设定该第二预定准位。
该传送端系统处理的声音数据包含:将读取到的声音数据存入声音数据缓冲器;当允许传递该声音数据时,接收相关于图像播放系统时间的通知讯息及该误差讯号;依据该相关于图像播放系统时间的通知讯息及该误差讯号来调整传递该声音数据时的预定流量及预定数据量;传递相关于声音播放系统时间的通知讯息至该接收端系统;以及以该预定流量及该预定数据量开始传递声音数据。
该传送端系统处理的声音数据另包含:当不允许传递生声音数据时,停止传递声音数据。
该接收端系统处理该图像数据包含:将接收到的图像数据存入该接收端系统中的第二图像数据缓冲器;以及当该第二图像数据缓冲器内存的数据量高于第三预定准位时,解压缩该图像数据以产生该图像输出数据。
另包含:该接收端系统产生该误差讯号、该图像数据播放通知讯息,以及相关于图像播放系统时间的通知讯息。
本发明还提供一种影音分流且同步的数据传输系统,其包含传送端系统和接收端系统。该传送端系统包含第一图像处理单元,用来接收并处理影音输入设备传来的图像数据;第一声音处理单元,用来接收并处理该影音输入设备传来的声音数据;第一图像数据缓冲器,用来储存该图像数据;声音数据缓冲器,用来储存该声音数据;无线输出端,用来以无线方式传递该图像数据;有线输出端,以有线方式传递该声音数据;以及控制装置,用来依据误差讯号及图像数据播放通知讯息控制该图像数据及该声音数据的传递。该接收端系统包含无线接收端,用来以无线方式接收该图像数据;有线接收端,用来以有线方式接收该声音数据;第二图像数据缓冲器,用来储存该图像数据;第二图像处理单元,用来处理该图像数据以产生相对应的图像输出数据;以及第二声音处理单元,用来处理该声音数据以产生相对应的声音输出数据。
具体实施方式
本发明提供一影音分流且同步的数据传输方法及影音系统,让相同来源送出的图像与声音数据在不同系统播出时,可以达到影音同步的效果。本发明的方法包含初始化影音系统的传送端和接收端,以及启动影音数据的同步播放。
参考图3,图3为本发明中影音系统300的功能模块图。影音系统300采用影音分流且同步的传输技术,包含传送端系统310和接收端系统320。传送端系统310可从影音输入设备312接收图像来源数据IVIDEO和声音来源数据IAUDIO。图像处理单元314可对图像来源数据IVIDEO进行压缩和编码等处理,进而产生相对应的图像比特流数据SV,再将图像比特流数据SV存入图像数据缓冲器311。声音处理单元315可控制输出声音来源数据IAUDIO时的流量及时间。传送端系统310的判断装置317可计算图像数据缓冲器311和声音数据缓冲器313内存的数据量:当图像数据缓冲器311内存的数据量在一预定范围时,此时可透过无线输出端316输出图像比特流数据SV;当声音数据缓冲器313内存的数据量在一预定范围时,此时可透过有线输出端318来输出声音来源数据IAUDIO。
接收端系统320可透过无线接收端326和有线接收端328分别接收无线传送端系统310传来的图像比特流数据SV及声音来源数据IAUDIO,并将图像比特流数据SV存入图像数据缓冲器321。当图像数据缓冲器321内存的数据量在一预定范围时,图像处理单元324可对图像比特流数据SV进行解压缩和解编码等处理,进而产生相对应的图像输出数据OVIDEO,最后再将图像输出数据OVIDEO和声音来源数据IAUDIO分别传至图像输出设备322和声音输出设备323。
本发明的影音系统300可为家庭影院,图像输出设备322和声音输出设备323可分别为投影机和组合音响。由于采用影音不同步且分流的结构,在图像数据和声音数据分别以无线和有线方式分流输出,图像比特流数据SV在传送过程中可能会遇到不同程度的干扰,接收端系统320接收到的图像比特流数据SV及声音来源数据IAUDIO彼此之间可能不同步,因此本发明的影音系统300的接收端系统320利用图像处理单元314、声音处理单元315和控制装置317来控制影音数据的传送时间、传送流量和数据压缩率等参数,依据接收端系统320实际接收到的影音数据及时间来调整上述参数,使得图像输出设备322播放的图像输出数据OVIDEO和声音输出设备323播放的声音来源数据IAUDIO彼此之间能够同步。
参考图4,图4的流程图说明了本发明的影音系统300在初始化传送端系统310时的方法,其包含下列步骤:
步骤400:开始。
步骤410:初始化传送端系统310的网络。
步骤420:判断传送端系统310和接收端系统320之间是否能成功建立联机;若能成功建立联机,执行步骤430;若未能成功建立联机,执行步骤410。
步骤430:以预定通讯频宽来传递虚拟(dummy)数据至接收端系统320。
步骤440:接收接收端系统320传来的频宽信息。
步骤450:依据频宽信息来判断传送端系统310和接收端系统320的系统时间是否彼此已经同步;若系统时间已经同步,执行步骤470;若系统时间尚未同步,执行步骤460。
步骤460:依据频宽信息来更新预定通讯频宽,执行步骤430。
步骤470:依据频宽信息来设定图像数据的预定压缩率以及图像数据缓冲器311的预定容量。
步骤480:传递图像数据接收通知讯息至接收端系统320。
步骤490:准备读取影音数据。
参考图5,图5的流程图说明了本发明的影音系统300在初始化接收端系统320时的方法,其包含下列步骤:
步骤500:开始。
步骤510:初始化接收端系统320的网络。
步骤520:判断传送端系统310和接收端系统320之间是否能成功建立联机;若能成功建立联机,执行步骤530;若未能成功建立联机,执行步骤510。
步骤530:接收传送端系统310传来的虚拟数据。
步骤540:依据虚拟数据的接收状态产生相关的频宽信息。
步骤550:传递频宽信息至传送端系统310。
步骤560:判断是否收到传送端系统310传来的图像数据接收通知讯息;若能收到图像数据接收通知讯息,执行步骤570;若未能收到图像数据接收通知讯息,执行步骤560。
步骤570:准备接收传送端系统310输出的图像数据。
本发明首先在步骤410和510中分别初始化传送端系统310和接收端系统320的网络,并在步骤420和520中判断影音系统300的传送端系统310和接收端系统320之间是否能成功建立联机。当传送端系统310和接收端系统320之间已经成功建立联机,此时会确认传送端系统310和接收端系统320的系统时间是否彼此已经同步,以及确认传输数据时的预定通讯频宽。首先,传送端系统310在步骤430中以初始的预定通讯频宽来传递虚拟数据。接着,接收端系统320在步骤530中接收虚拟数据,再在步骤540中依据虚拟数据的接收状态来产生相关的通讯频宽信息。例如,若传送端系统310在100微秒内传送100个长度为8000位的封包,而接收端系统320在100微秒后仅收到90个长度为8000位的正确封包,此时接收端系统320可依据封包传输时间、封包长度和成功接收到的封包个数在步骤540中计算出相对应的频宽信息,传送端系统310再依据频宽信息来调整传送封包的数量及大小,直到接收端系统320能完整无误地接收到所有封包。例如,在步骤460中更新预定通讯频宽后,传送端系统310可在100微秒内仅传送90个长度为8000位的封包,或传送100个长度为7000位的封包,若接收端系统320在100微秒后能收到数量符合的正确封包并依此回报相对应的频宽信息,此时即能完成传送端系统310和接收端系统320的系统时间之间的同步以及预定通讯频宽的确认。此时,传送端系统310已经完成读取影音数据的准备,而接收端系统320已经完成接收影音数据的准备。
参考图6,图6的流程图说明了本发明的传送端系统310在处理图像数据时的方法,其包含下列步骤:
步骤600:开始读取图像数据。
步骤610:依据预定压缩率来压缩图像数据。
步骤620:将压缩后的图像数据存入图像数据缓冲器311。
步骤630:判断图像数据缓冲器311内存的数据量是否已达到第一预定准位;若数据缓冲器内存的数据已达到第一预定准位,执行步骤640;若数据缓冲器内存的数据尚未达到第一预定准位,执行步骤620。
步骤640:判断是否接收到图像数据播放通知讯息;若接收到图像数据播放通知讯息,执行步骤660;若尚未接收到图像数据播放通知讯息,执行步骤650。
步骤650:不允许传递声音数据,执行步骤640。
步骤660:允许传递声音数据,执行步骤670。
步骤670:判断图像数据缓冲器311内存的数据量是否已超过第二预定准位;若数据缓冲器311内存的数据已超过第二预定准位,执行步骤690;若数据缓冲器内存的数据尚未超过第二预定准位,执行步骤680。
步骤680:停止将压缩后的图像数据存入图像数据缓冲器311,执行步骤690。
步骤690:开始传递图像数据,执行步骤630。
参考图7,图7的流程图说明了本发明的传送端系统310在处理声音数据时的方法,其包含下列步骤:
步骤700:开始读取声音数据。
步骤710:将声音数据存入声音数据缓冲器313。
步骤720:判断是否允许传递声音数据;若允许传递声音数据,执行步骤740;若不允许传递声音数据,执行步骤730。
步骤730:停止传递声音数据,执行步骤720。
步骤740:接收相关于图像播放系统时间的通知讯息。
步骤750:接收相关于影音播放系统时间之间差值的误差讯号。
步骤760:依据误差讯号来调整传递声音数据时的预定流量及预定数据量。
步骤770:传递相关于声音播放系统时间的通知讯息至接收端系统320。
步骤780:依据预定流量及预定数据量来传递声音数据,执行步骤720。
参考图8,图8的流程图说明了本发明的接收端系统320在处理影音数据时的方法,其包含下列步骤:
步骤800:开始接收传送端系统310传来的压缩图像数据和声音数据。
步骤810:将压缩图像数据存入图像数据缓冲器321。
步骤820:计算图像数据缓冲器321内存的数据量。
步骤830:判断图像数据缓冲器321内存的数据量是否达到一预定准位;若图像数据缓冲器321内存的数据已达到预定准位,执行步骤840;若图像数据缓冲器321内存的数据尚未达到预定准位,执行步骤810。
步骤840:开始解压缩图像数据缓冲器321内存的数据。
步骤850:输出解压缩后的图像数据至图像输出设备322。
步骤860:输出声音数据至声音输出设备323。
步骤870:传送图像数据播放通知讯息和相关于图像播放系统时间的通知讯息至传送端系统310。
步骤880:接收相关于声音播放系统时间的通知讯息。
步骤890:依据相关于声音播放系统时间的通知讯息产生相关于影音播放系统时间之间差值的误差讯号。
当本发明的影音系统300完成初始化后,接着传送端系统310会开始处理影音数据(如图6和图7所示)。针对图像数据,在步骤600中读取图像数据后,接着会在步骤610中压缩图像数据,并在步骤620中将压缩后的图像数据存入图像数据缓冲器311。传送端系统310的控制装置317会在步骤630和670中判断图像数据缓冲器311内存的数据量,以及在步骤640中判断是否接收到图像数据播放通知讯息。若图像数据缓冲器311内存的数据量尚未达到第一预定准位,此时会执行步骤620以继续将压缩后的图像数据存入图像数据缓冲器311;若图像数据缓冲器311内存的数据量已达到第一预定准位且能接收到图像数据播放通知讯息,此时会执行步骤660以允许传递声音数据;若图像数据缓冲器311内存的数据量已达到第一预定准位但尚未接收到图像数据播放通知讯息,此时会执行步骤650以禁止传递声音数据。在允许传递声音数据后,若图像数据缓冲器311内存的数据量已超过第二预定准位,此时会执行步骤680以停止将压缩后的图像数据存入图像数据缓冲器311,接着再执行步骤690以允许开始传递图像数据;若图像数据缓冲器311内存的数据量尚未超过第二预定准位,此时会直接执行步骤690以开始传递图像数据。
另一方面,针对声音数据,在步骤700中读取声音数据后,接着会在步骤710中将声音数据存入声音数据缓冲器313。若传送端系统310的控制装置317在步骤720中判断此时允许传递声音数据,此时会接收接收端系统320传来相关于图像播放系统时间的通知讯息及相关于影音播放系统时间之间差值的误差讯号,因此传送端系统310可得到影音数据在接收端系统320播放时系统时间的差异,并依此在步骤760中调整传递声音数据时的预定流量及预定数据量,使得影音数据在接收端系统320能够同步播放。
当本发明的影音系统300的传送端系统310完成影音数据的处理及传递后(如图6和图7所示),接着接收端系统320会开始接收影音数据(如图8所示)。首先在步骤810中将接收到的图像数据存入图像数据缓冲器321,并在步骤820中计算图像数据缓冲器321内存的数据量。若图像数据缓冲器321内存的数据量已经达到预定准位,此时会执行步骤840以压缩和译码图像数据,并执行步骤850和860以同步于图像输出设备322上播放图像数据和在声音输出设备323上播放声音数据。接着,接收端系统320会执行步骤870至步骤890以回报传送端系统310实际影音播放系统时间,因此传送端系统310能够依据接收端系统320接收数据的状况实时地调整影音数据的输出。
假设原始图像数据包含每秒内输出F个图框的画面,其图像数据量由R来表示。步骤610中依据预定压缩率来压缩图像数据是为了将原始图像数据中每M个画面压缩为1个I图框和(M-1)个P图框,其中I图框的数据量大于P图框的数据量,且I图框和P图框的压缩率分别由ri和rp来表示。因此,一个I图框的数据量为R/ri,一个P图框的数据量为R/rp,原始图像数据量为R,而压缩后的图像数据量R’可由下列公式来表示:
R’=(F/M)*((R/ri)+(R/rp)*(M-1)
假设传送端系统310的图像数据缓冲器311至少要容纳m个画面的图像数据,且通常设m<M,此时图像数据缓冲器311的数据容量需介于RV_MIN和RV_MAX之间,RV_MIN对应于m个P图框时的数据量,而RV_MAX对应于(m-1)个P图框和1个I图框时的数据量,可由下列公式来表示:
RV_MIN=m*R/rp
RV_MAX=R/ri+(m-1)*R/rp
另一方面,接收端系统320的图像数据缓冲器321至少必须提供2张画面的缓冲时间,一张画面正在传送接收中,而另一张画面为正在解压缩处理中。因此,接收端系统320的图像数据缓冲器321的数据容量需介于BV_MIN和BV_MAX之间,BV_MIN对应于2个P图框的数据量,而和BV_MAX对应于1个I图框和1个P图框时的数据量,可由下列公式来表示:
BV_MIN=2R/rp
BV_MAX=2R*(1/ri+1/rp)
因此,本发明可将传送端系统310中图像数据缓冲器311的数据容量设为RV_MAX,以及接收端系统320中图像数据缓冲器321的数据容量设为BV_MAX以应付可能需求,并可依此设定第一和第二预定准位的值。同时,因为接收端系统320的图像数据缓冲器321只有两张画面的数据量,瞬间最大所需数据传送量为I图框的R/ri,而平均数据传送量为R*(1/ri+1/rp),本发明可将预定准位设为R*(1/ri+1/rp)。
本发明提供一个影音分流且同步的数据传输方法及影音系统,让相同来源送出的图像与声音数据在不同系统播出时,可以达到影音同步的效果。本发明可应用于家庭影院中,将图像与声音数据分别同步于投影屏幕及组合音响上播出。
以上所述仅为本发明的优选实施例,凡依照本发明权利要求书所做的等同变化与修饰,都应属于本发明的涵盖范围。