本發(fā)明涉及無(wú)線傳屏領(lǐng)域,尤其涉及一種避免無(wú)線傳屏的圖像失真的方法及系統(tǒng)。
背景技術(shù):
目前的無(wú)線傳屏方案主要是Miracast(Wi-Fi Alliance于2012年9月19日宣布啟動(dòng)的Wi-Fi CERTIFIED Miracast?認(rèn)證項(xiàng)目)提出的,其主要目的是:將裝置A(源設(shè)備)屏幕上顯示的所有內(nèi)容,通過(guò)WIFI傳輸?shù)窖b置B(目標(biāo)設(shè)備)上;如圖1所示,現(xiàn)有的無(wú)線傳屏方案的流程是:(1)捕獲屏幕顯示數(shù)據(jù)(包括UI數(shù)據(jù)和媒體數(shù)據(jù));(2)進(jìn)行二次編碼;(3)將編碼后的數(shù)據(jù)打包成TS數(shù)據(jù)包,然后傳送到傳輸模塊;(4)傳輸模塊將TS數(shù)據(jù)包發(fā)送到裝置B;(5)將數(shù)據(jù)拆包、解碼以及顯示。
現(xiàn)有的無(wú)線傳屏方案其存在的問題是:裝置A發(fā)送給裝置B的媒體數(shù)據(jù)是經(jīng)過(guò)重新編碼的,所以在裝置B上顯示的數(shù)據(jù)和原始數(shù)據(jù)有差異,即存在失真;更嚴(yán)重的是如果裝置A編碼只能支持1080p,但是播放的視頻是4K的視頻,那么到裝置B上進(jìn)行播放時(shí),顯示的畫質(zhì)只能是裝置A的一半,所以此時(shí)圖像失真問題更嚴(yán)重。
因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種避免無(wú)線傳屏的圖像失真的方法及系統(tǒng),旨在解決現(xiàn)有無(wú)線傳屏方法存在圖像失真的問題。
本發(fā)明的技術(shù)方案如下:
一種避免無(wú)線傳屏的圖像失真的方法,其中,包括步驟:
A、判斷當(dāng)前的媒體播放是否處于傳屏操作下,若是則斷開顯示與編碼之間媒體文件的傳輸過(guò)程;
B、判斷媒體文件是否為ts文件,當(dāng)否時(shí)對(duì)媒體文件進(jìn)行轉(zhuǎn)封裝,然后將轉(zhuǎn)封裝后的媒體文件通過(guò)源設(shè)備傳入到目標(biāo)設(shè)備,當(dāng)是時(shí)直接將媒體文件通過(guò)源設(shè)備傳入到目標(biāo)設(shè)備。
所述的避免無(wú)線傳屏的圖像失真的方法,其中,所述步驟A之后、B之前還包括:
通過(guò)源設(shè)備向目標(biāo)設(shè)備發(fā)送初始化命令,對(duì)目標(biāo)設(shè)備媒體播放的過(guò)程進(jìn)行初始化。
所述的避免無(wú)線傳屏的圖像失真的方法,其中,所述步驟B中,目標(biāo)設(shè)備接收到媒體文件之后對(duì)媒體文件依次進(jìn)行解包、解碼以及顯示。
所述的避免無(wú)線傳屏的圖像失真的方法,其中,所述步驟B中,轉(zhuǎn)封裝是將媒體文件封裝為188個(gè)字節(jié)的ts數(shù)據(jù)包。
一種避免無(wú)線傳屏的圖像失真的系統(tǒng),其中,包括:
數(shù)據(jù)傳輸斷開模塊,用于判斷當(dāng)前的媒體播放是否處于傳屏操作下,若是則斷開顯示與編碼之間媒體文件的傳輸過(guò)程;
數(shù)據(jù)傳輸模塊,用于判斷媒體文件是否為ts文件,當(dāng)否時(shí)對(duì)媒體文件進(jìn)行轉(zhuǎn)封裝,然后將轉(zhuǎn)封裝后的媒體文件通過(guò)源設(shè)備傳入到目標(biāo)設(shè)備,當(dāng)是時(shí)直接將媒體文件通過(guò)源設(shè)備傳入到目標(biāo)設(shè)備。
所述的避免無(wú)線傳屏的圖像失真的系統(tǒng),其中,還包括:
初始化模塊,用于通過(guò)源設(shè)備向目標(biāo)設(shè)備發(fā)送初始化命令,對(duì)目標(biāo)設(shè)備媒體播放的過(guò)程進(jìn)行初始化。
所述的避免無(wú)線傳屏的圖像失真的系統(tǒng),其中,所述數(shù)據(jù)傳輸模塊中,目標(biāo)設(shè)備接收到媒體文件之后對(duì)媒體文件依次進(jìn)行解包、解碼以及顯示。
所述的避免無(wú)線傳屏的圖像失真的系統(tǒng),其中,所述數(shù)據(jù)傳輸模塊中,轉(zhuǎn)封裝是將媒體文件封裝為188個(gè)字節(jié)的ts數(shù)據(jù)包。
有益效果:本發(fā)明的傳屏方法,避免了傳屏操作下的圖像失真問題。另外,本發(fā)明由于目標(biāo)設(shè)備獲得的是源設(shè)備的同步數(shù)據(jù),保證了播放的同步性,且省去了重新編碼的過(guò)程所以實(shí)時(shí)性更佳。
附圖說(shuō)明
圖1為現(xiàn)有技術(shù)中無(wú)線傳屏的流程圖。
圖2為本發(fā)明的一種避免無(wú)線傳屏的圖像失真的方法較佳實(shí)施例流程圖。
圖3為本發(fā)明的一種避免無(wú)線傳屏的圖像失真的方法具體實(shí)施例流程圖。
圖4為本發(fā)明的一種避免無(wú)線傳屏的圖像失真的系統(tǒng)較佳實(shí)施例結(jié)構(gòu)框圖。
具體實(shí)施方式
本發(fā)明提供一種避免無(wú)線傳屏的圖像失真的方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請(qǐng)參閱圖2,圖2為本發(fā)明一種避免無(wú)線傳屏的圖像失真的方法較佳實(shí)施例的流程圖,如圖所示,其包括步驟:
S101、判斷當(dāng)前的媒體播放是否處于傳屏操作下,若是則斷開顯示與編碼之間媒體文件的傳輸過(guò)程,若否則按照現(xiàn)有的傳輸方式,進(jìn)行解碼顯示;
S102、判斷媒體文件是否為ts文件,當(dāng)否時(shí)對(duì)媒體文件進(jìn)行轉(zhuǎn)封裝,然后將轉(zhuǎn)封裝后的媒體文件通過(guò)源設(shè)備傳入到目標(biāo)設(shè)備,當(dāng)是時(shí)則直接將媒體文件通過(guò)源設(shè)備傳入到目標(biāo)設(shè)備。
在本實(shí)施例中,首先判斷媒體播放是否處于傳屏操作下,如果不是的話,則無(wú)需進(jìn)行處理,繼續(xù)進(jìn)行解碼顯示,即繼續(xù)播放。而如果處于傳屏操作下,則斷開顯示與編碼之間媒體文件的傳輸過(guò)程即源設(shè)備不再直接對(duì)媒體數(shù)據(jù)進(jìn)行編碼處理。而是對(duì)媒體文件進(jìn)行分析,判斷其是否為ts文件,因?yàn)閷?shí)時(shí)傳屏操作只支持ts文件的傳輸,所以如果不是ts文件,例如mp4或flv等格式的文件,那么需要進(jìn)行轉(zhuǎn)封裝處理,再將轉(zhuǎn)封裝的媒體文件通過(guò)源設(shè)備傳入到目標(biāo)設(shè)備,如果是ts文件,則直接將媒體文件通過(guò)源設(shè)備傳入到目標(biāo)設(shè)備。同時(shí)UI數(shù)據(jù)則是正常的采集編碼,這樣針對(duì)UI數(shù)據(jù)與媒體數(shù)據(jù)的特點(diǎn),整個(gè)過(guò)程就會(huì)將UI數(shù)據(jù)和媒體數(shù)據(jù)分開進(jìn)行處理,從而避免媒體數(shù)據(jù)的二次編碼導(dǎo)致的圖像失真。
進(jìn)一步,所述步驟S101之后、S102之前還包括:
通過(guò)源設(shè)備向目標(biāo)設(shè)備發(fā)送初始化命令,對(duì)目標(biāo)設(shè)備媒體播放的過(guò)程進(jìn)行初始化。
本步驟是為了告訴目標(biāo)設(shè)備對(duì)媒體播放過(guò)程進(jìn)行初始化(reset),這是因?yàn)閁I數(shù)據(jù)的ts文件和媒體數(shù)據(jù)的ts文件,參數(shù)不同,為了保證播放流暢,所以需要對(duì)媒體播放的過(guò)程進(jìn)行初始化處理,來(lái)重置解包解碼部分。
進(jìn)一步,所述步驟S102中,目標(biāo)設(shè)備接收到媒體文件之后對(duì)媒體文件依次進(jìn)行解包、解碼以及顯示。對(duì)于目標(biāo)設(shè)備,其接收到媒體文件后,會(huì)按照解包、解碼以及顯示等,實(shí)現(xiàn)最終顯示目的。
進(jìn)一步,所述步驟S102中,轉(zhuǎn)封裝是將媒體文件封裝為188個(gè)字節(jié)的ts數(shù)據(jù)包。例如源設(shè)備播放的是4k文件,而編碼只支持1080p,按照傳統(tǒng)的方法就會(huì)嚴(yán)重失真,而按照本發(fā)明的傳屏方法,則會(huì)避免圖像失真。另外,本發(fā)明由于目標(biāo)設(shè)備獲得的是源設(shè)備的同步數(shù)據(jù),保證了播放的同步性,且省去了重新編碼的過(guò)程所以實(shí)時(shí)性更佳。
如圖3所示,本發(fā)明的一種避免無(wú)線傳屏的圖像失真的方法具體實(shí)施例,其包括步驟:
(1)首先通過(guò)監(jiān)聽模塊監(jiān)聽當(dāng)前是否為處于傳屏操作下的媒體播放,如果是的話,則進(jìn)入步驟(2),不是的話,則按照現(xiàn)有的播放流程進(jìn)行播放;
(2)斷開顯示與編碼之間媒體數(shù)據(jù)的傳輸過(guò)程,即斷開媒體數(shù)據(jù)采集部分,但此時(shí)UI數(shù)據(jù)還是正常采集編碼;
(3)添加控制命令,即初始化媒體播放的過(guò)程;
(4)判斷媒體文件是否為ts文件,若否,則進(jìn)入步驟(5),若是,則進(jìn)入步驟(6);
(5)對(duì)媒體文件進(jìn)行轉(zhuǎn)封裝,然后進(jìn)入步驟(6);
(6)將轉(zhuǎn)封裝后的媒體數(shù)據(jù)寫入傳輸模塊,通過(guò)傳輸模塊傳入裝置B。
基于上述方法,本發(fā)明還提供一種避免無(wú)線傳屏的圖像失真的系統(tǒng)較佳實(shí)施例,如圖4所示,其包括:
數(shù)據(jù)傳輸斷開模塊100,用于判斷當(dāng)前的媒體播放是否處于傳屏操作下,若是則斷開顯示與編碼之間媒體文件的傳輸過(guò)程;
數(shù)據(jù)傳輸模塊200,用于判斷媒體文件是否為ts文件,當(dāng)否時(shí)對(duì)媒體文件進(jìn)行轉(zhuǎn)封裝,然后將轉(zhuǎn)封裝后的媒體文件通過(guò)源設(shè)備傳入到目標(biāo)設(shè)備,當(dāng)是時(shí)直接將媒體文件通過(guò)源設(shè)備傳入到目標(biāo)設(shè)備。
進(jìn)一步,系統(tǒng)還包括:
初始化模塊,用于通過(guò)源設(shè)備向目標(biāo)設(shè)備發(fā)送初始化命令,對(duì)目標(biāo)設(shè)備媒體播放的過(guò)程進(jìn)行初始化。
進(jìn)一步,所述數(shù)據(jù)傳輸模塊200中,目標(biāo)設(shè)備接收到媒體文件之后對(duì)媒體文件依次進(jìn)行解包、解碼以及顯示。
進(jìn)一步,所述數(shù)據(jù)傳輸模塊200中,轉(zhuǎn)封裝是將媒體文件封裝為188個(gè)字節(jié)的ts數(shù)據(jù)包。
關(guān)于上述模塊單元的技術(shù)細(xì)節(jié)在前面的方法中已有詳述,故不再贅述。
綜上所述,本發(fā)明的傳屏方法,避免了傳屏操作下的圖像失真問題。另外,本發(fā)明由于目標(biāo)設(shè)備獲得的是源設(shè)備的同步數(shù)據(jù),保證了播放的同步性,且省去了重新編碼的過(guò)程所以實(shí)時(shí)性更佳。
應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)上述說(shuō)明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。