一種視頻同步方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種視頻同步方法及系統(tǒng),該方法先將數(shù)據(jù)容量大的MPEG2格式的視頻原始流編碼成壓縮率更高,容量更小,更便于無線網(wǎng)絡(luò)傳輸?shù)腍264格式的視頻原始流,再將H264格式視頻原始流的每個數(shù)據(jù)幀分割成更小的多個數(shù)據(jù)片,然后將數(shù)據(jù)片封裝成多個TS包后傳輸給終端,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示。本發(fā)明一個數(shù)據(jù)片一個數(shù)據(jù)片的進(jìn)行解碼顯示,而不是一幀一幀的進(jìn)行解碼顯示,這樣就避免了一整幀數(shù)據(jù)集中在一個時間點上進(jìn)行集中發(fā)送集中解碼的情況,緩解了網(wǎng)絡(luò)傳輸壓力,同時也緩解了終端解碼器的解碼壓力,使得終端能夠很好的進(jìn)行解碼顯示,極大保證了視頻流暢以及視頻同步顯示,保證了用戶觀看和使用,給用戶帶來極大便利。
【專利說明】一種視頻同步方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊領(lǐng)域,尤其涉及一種視頻同步方法及系統(tǒng)。
【背景技術(shù)】
[0002]近年來,隨著移動互聯(lián)技術(shù)的興起,以機(jī)頂盒等音視頻終端與移動終端構(gòu)建多屏互動技術(shù)迅速發(fā)展起來。
[0003]在進(jìn)行多屏互動時,機(jī)頂盒直接將視頻傳輸流(MPEG2格式)通過有線網(wǎng)絡(luò),無線網(wǎng)絡(luò)或其他傳輸方式傳送給終端的解碼器進(jìn)行解碼顯示。但是,從機(jī)頂盒直接傳送的MPEG2格式的傳輸流數(shù)據(jù)容量較大,要求較高的傳送帶寬,同時也要求終端有較強(qiáng)的解碼能力。而眾多的終端如手機(jī),pad等設(shè)備,此類終端大多數(shù)不支持MPEG2格式視頻的硬件解碼,其解碼方式主要通過軟件解碼,這樣就導(dǎo)致很大一部分解碼能力較弱的終端對MPEG2格式的傳輸流解碼顯示效果較差,如花屏,卡頓,并且會產(chǎn)生較大程度的時延,造成很嚴(yán)重的視頻顯示不同步問題,會極大的影響用戶觀看和使用,給用戶帶來不便。
【發(fā)明內(nèi)容】
[0004]有鑒于此,有必要針對上述終端解碼能力弱造成視頻顯示嚴(yán)重不同步的問題,提供一種視頻同步方法。
[0005]此外,還提供一種視頻同步系統(tǒng)。
[0006]本發(fā)明提供一種視頻同步方法,包括如下步驟:
[0007]將MPEG2格式的視頻原始流編碼成H264格式的視頻原始流;
[0008]將H264格式視頻原始流的每個數(shù)據(jù)幀分割成多個數(shù)據(jù)片;
[0009]將每個數(shù)據(jù)片封裝成一個PES數(shù)據(jù)包,再將每個PES數(shù)據(jù)包封裝成多個TS包;
[0010]將封裝好的TS包傳輸至終端,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示。
[0011]本發(fā)明還提供一種視頻同步系統(tǒng),包括:
[0012]編碼單元,將MPEG2格式的視頻原始流(ES流)編碼成H264格式的視頻原始流;
[0013]分割單元,將H264格式視頻原始流的每個數(shù)據(jù)幀分割成多個數(shù)據(jù)片;
[0014]封裝單元,將每個數(shù)據(jù)片封裝成一個PES數(shù)據(jù)包,再將每個PES數(shù)據(jù)包封裝成多個TS包;
[0015]傳輸單元,將封裝好的TS包傳輸至終端,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示。
[0016]本發(fā)明視頻同步方法及系統(tǒng),先將數(shù)據(jù)容量大的MPEG2格式的視頻原始流編碼成壓縮率更高,容量更小,更便于無線網(wǎng)絡(luò)傳輸?shù)腍264格式的視頻原始流,再將H264格式視頻原始流的每個數(shù)據(jù)幀分割成更小的多個數(shù)據(jù)片,然后將數(shù)據(jù)片封裝成多個TS包后傳輸給終端,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示,一個數(shù)據(jù)片一個數(shù)據(jù)片的進(jìn)行解碼顯示,而不是一幀一幀的進(jìn)行解碼顯示,這樣就避免了一整幀數(shù)據(jù)集中在一個時間點上進(jìn)行集中發(fā)送集中解碼的情況,緩解了網(wǎng)絡(luò)傳輸壓力,同時也緩解了終端解碼器的解碼壓力,使得終端能夠很好的進(jìn)行解碼顯示,極大保證了視頻流暢以及視頻同步顯示,保證了用戶觀看和使用,給用戶帶來極大便利。
【專利附圖】
【附圖說明】
[0017]圖1是一個實施例中的視頻同步方法的流程圖;
[0018]圖2是一個實施例中的視頻同步系統(tǒng)的結(jié)構(gòu)圖。
【具體實施方式】
[0019]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0020]圖1是一個實施例中的視頻同步方法的流程圖。如圖1所示,該方法包括如下步驟:
[0021]SlO:將MPEG2格式的視頻原始流編碼成H264格式的視頻原始流。
[0022]由于MPEG2格式數(shù)據(jù)容量很大,如果音視頻終端(優(yōu)選為機(jī)頂盒)將MPEG2格式的視頻傳輸流發(fā)給終端,那么終端會因解碼器解碼能力弱而不能很好的對傳輸流進(jìn)行解碼,將造成視頻顯示效果差且不同步的問題。而H264格式編碼的壓縮率更高,容量更小,更便于網(wǎng)絡(luò)尤其是無線網(wǎng)絡(luò)傳輸。故在該實施例中,將MPEG2格式的視頻原始流(ES流)編碼成H264格式的視頻原始流,通過對視頻原始流格式的轉(zhuǎn)換,將MPEG2格式轉(zhuǎn)換為H264格式,使視頻原始流壓縮率更高,容量更小且更易傳輸。
[0023]在進(jìn)一步的實施方式中,該步驟SlO具體為:設(shè)置H264硬件編碼器,用于將MPEG2格式的視頻原始流編碼成H264格式的視頻原始流。
[0024]S20:將H264格式視頻原始流的每個數(shù)據(jù)幀分割成多個數(shù)據(jù)片。
[0025]在將視頻原始流編碼成H264格式之后,為進(jìn)一步緩解網(wǎng)絡(luò)傳輸壓力,便于終端解碼顯示,提高顯示效果和同步率,該實施例中,將H264格式視頻原始流的每個數(shù)據(jù)幀分割成多個數(shù)據(jù)片,將每個數(shù)據(jù)幀分成多個數(shù)據(jù)容量更小的數(shù)據(jù)片,降低終端解碼的壓力。
[0026]在進(jìn)一步的實施方式中,每個數(shù)據(jù)片為數(shù)據(jù)幀的畫面切片。
[0027]S30:將每個數(shù)據(jù)片封裝成一個PES數(shù)據(jù)包,再將每個PES數(shù)據(jù)包封裝成多個TS包。
[0028]在將H264格式視頻原始流的每個數(shù)據(jù)幀分割成多個數(shù)據(jù)片之后,為了能夠?qū)?shù)據(jù)片(為ES流,即原始流)進(jìn)行傳輸,還需對數(shù)據(jù)片進(jìn)行封裝處理,先將每個數(shù)據(jù)片封裝成一個PES數(shù)據(jù)包(包頭為20字節(jié),負(fù)載小于65535個字節(jié)的帶包頭原始流數(shù)據(jù)包),再將每個PES數(shù)據(jù)包封裝成多個TS包(包頭為4字節(jié)負(fù)載為184個字節(jié)的傳輸流數(shù)據(jù)包)。在將每個數(shù)據(jù)片封裝之后,最終每個數(shù)據(jù)片封裝成多個TS包,TS包可以被很好的傳輸,終端可以接收進(jìn)行解碼顯示。
[0029]在進(jìn)一步的方式中,PES數(shù)據(jù)包為兩部分,分別為包頭和負(fù)載。其中,包頭為20個字節(jié),具體為:前3個字節(jié)用作PES包頭識別碼(PES包頭識別碼為:0χ000001),第4個字節(jié)表示原始流ID,第5、6個字節(jié)記錄所帶負(fù)載長度,第7個字節(jié)為CRC (循環(huán)冗余校驗)標(biāo)志,第8、9個字節(jié)為檢測是否包含PTS (顯示時間標(biāo)記)和DTS (解碼時間標(biāo)記),第10至14字節(jié)用于保存PTS (顯示時間標(biāo)記),第15至20字節(jié)用于存儲H264幀格式的NAL (網(wǎng)絡(luò)提取層)頭標(biāo)志(為0X0000000109E0)。負(fù)載在包頭后,為一個數(shù)據(jù)片。優(yōu)選的,PES數(shù)據(jù)包負(fù)載小于64KB。
[0030]TS包由4個字節(jié)頭部和184個字節(jié)負(fù)載組成。一個PES數(shù)據(jù)包可以封裝成多個TS包。在進(jìn)一步的方式中,若PES數(shù)據(jù)包的長度不足184個字節(jié)作為TS包的負(fù)載,則用OXFF或O作為填充以滿足一個TS包負(fù)載。
[0031]S40:將封裝好的TS包傳輸至終端,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示。
[0032]封裝好TS包后,將TS包傳輸給終端,由終端解碼器進(jìn)行解碼顯示。該實施例中,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示,一個數(shù)據(jù)片一個數(shù)據(jù)片的進(jìn)行解碼顯示,而不是一幀一幀的進(jìn)行解碼顯示,這樣就避免了一整幀數(shù)據(jù)集中在一個時間點上進(jìn)行集中發(fā)送集中解碼的情況,緩解了網(wǎng)絡(luò)傳輸壓力,同時也緩解了終端解碼器的解碼壓力,使得終端能夠很好的進(jìn)行解碼顯示,極大保證了視頻流暢以及視頻同步顯示。
[0033]該視頻同步方法,先將數(shù)據(jù)容量大的MPEG2格式的視頻原始流編碼成壓縮率更高,容量更小,更便于無線網(wǎng)絡(luò)傳輸?shù)腍264格式的視頻原始流,再將H264格式視頻原始流的每個數(shù)據(jù)幀分割成更小的多個數(shù)據(jù)片,然后將數(shù)據(jù)片封裝成多個TS包后傳輸給終端,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示,一個數(shù)據(jù)片一個數(shù)據(jù)片的進(jìn)行解碼顯示,而不是一幀一幀的進(jìn)行解碼顯示,這樣就避免了一整幀數(shù)據(jù)集中在一個時間點上進(jìn)行集中發(fā)送集中解碼的情況,緩解了網(wǎng)絡(luò)傳輸壓力,同時也緩解了終端解碼器的解碼壓力,使得終端能夠很好的進(jìn)行解碼顯示,極大保證了視頻流暢以及視頻同步顯示,保證了用戶觀看和使用,給用戶帶來極大便利。
[0034]同時,本發(fā)明還提供一種視頻同步系統(tǒng)。如圖2所示,該系統(tǒng)包括:
[0035]編碼單元100,將MPEG2格式的視頻原始流編碼成H264格式的視頻原始流。
[0036]由于MPEG2格式數(shù)據(jù)容量很大,如果音視頻終端(優(yōu)選為機(jī)頂盒)將MPEG2格式的視頻傳輸流發(fā)給終端,那么終端會因解碼器解碼能力弱而不能很好的對傳輸流進(jìn)行解碼,將造成視頻顯示效果差且不同步的問題。而H264格式編碼的壓縮率更高,容量更小,更便于網(wǎng)絡(luò)尤其是無線網(wǎng)絡(luò)傳輸。故在該實施例中,編碼單元100將MPEG2格式的視頻原始流(ES流)編碼成H264格式的視頻原始流,通過對視頻原始流格式的轉(zhuǎn)換,將MPEG2格式轉(zhuǎn)換為H264格式,使視頻原始流壓縮率更高,容量更小且更易傳輸。
[0037]在進(jìn)一步的實施方式中,編碼單元100采用H264硬件編碼器,將MPEG2格式的視頻原始流編碼成H264格式的視頻原始流。
[0038]分割單元200,將H264格式視頻原始流的每個數(shù)據(jù)幀分割成多個數(shù)據(jù)片。
[0039]在將視頻原始流編碼成H264格式之后,為進(jìn)一步便于網(wǎng)絡(luò)傳輸和終端解碼顯示,提高顯示效果和同步率,該實施例中,分割單元200將H264格式視頻原始流的每個數(shù)據(jù)幀分割成多個數(shù)據(jù)片,將每個數(shù)據(jù)幀分成多個數(shù)據(jù)容量更小的數(shù)據(jù)片,降低終端解碼的壓力。
[0040]在進(jìn)一步的實施方式中,每個數(shù)據(jù)片為數(shù)據(jù)幀的畫面切片。
[0041]封裝單元300,將每個數(shù)據(jù)片封裝成一個PES數(shù)據(jù)包,再將每個PES數(shù)據(jù)包封裝成多個TS包。[0042]在將H264格式視頻原始流的每個數(shù)據(jù)幀分割成多個數(shù)據(jù)片之后,為了能夠?qū)?shù)據(jù)片(為ES流,即原始流)進(jìn)行傳輸,還需對數(shù)據(jù)片進(jìn)行封裝處理,封裝單元300先將每個數(shù)據(jù)片封裝成一個PES數(shù)據(jù)包(包頭為20字節(jié),負(fù)載小于65535個字節(jié)的帶包頭原始流數(shù)據(jù)包),再將每個PES數(shù)據(jù)包封裝成多個TS包(包頭為4字節(jié)負(fù)載為184個字節(jié)的傳輸流數(shù)據(jù)包)。在將每個數(shù)據(jù)片封裝之后,最終每個數(shù)據(jù)片封裝成多個TS包,TS包可以被很好的傳輸,終端可以接收進(jìn)行解碼顯示。
[0043]在進(jìn)一步的方式中,PES數(shù)據(jù)包為兩部分,分別為包頭和負(fù)載。其中,包頭為20個字節(jié),具體為:前3個字節(jié)用作PES包頭識別碼(PES包頭識別碼為:0χ000001),第4個字節(jié)表示原始流ID,第5、6個字節(jié)記錄所帶負(fù)載長度,第7個字節(jié)為CRC (循環(huán)冗余校驗)標(biāo)志,第8、9個字節(jié)為檢測是否包含PTS (顯示時間標(biāo)記)和DTS (解碼時間標(biāo)記),第10至14字節(jié)用于保存PTS (顯示時間標(biāo)記),第15至20字節(jié)用于存儲Η264幀格式的NAL (網(wǎng)絡(luò)提取層)頭標(biāo)志(為0Χ0000000109Ε0)。負(fù)載在包頭后,為一個數(shù)據(jù)片。優(yōu)選的,PES數(shù)據(jù)包負(fù)載小于64ΚΒ。
[0044]TS包由4個字節(jié)頭部和184個字節(jié)負(fù)載組成。一個PES數(shù)據(jù)包可以封裝成多個TS包。在進(jìn)一步的方式中,若PES數(shù)據(jù)包的長度不足184個字節(jié)作為TS包的負(fù)載,封裝單元300則用OXFF或O作為填充以滿足一個TS包負(fù)載。
[0045]傳輸單元400,將封裝好的TS包傳輸至終端,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示。
[0046]封裝好TS包后,傳輸單元400將TS包傳輸給終端,由終端解碼器進(jìn)行解碼顯示。該實施例中,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示,一個數(shù)據(jù)片一個數(shù)據(jù)片的進(jìn)行解碼顯示,而不是一幀一幀的進(jìn)行解碼顯示,這樣就避免了一整幀數(shù)據(jù)集中在一個時間點上進(jìn)行集中發(fā)送集中解碼的情況,緩解了網(wǎng)絡(luò)傳輸壓力,同時也緩解了終端解碼器的解碼壓力,使得終端能夠很好的進(jìn)行解碼顯示,極大保證了視頻流暢以及視頻同步顯示。
[0047]該視頻同步系統(tǒng),編碼單元100先將數(shù)據(jù)容量大的MPEG2格式的視頻原始流編碼成壓縮率更高,容量更小,更便于無線網(wǎng)絡(luò)傳輸?shù)摩?64格式的視頻原始流,分割單元200再將Η264格式視頻原始流的每個數(shù)據(jù)幀分割成更小的多個數(shù)據(jù)片,然后封裝單元300將數(shù)據(jù)片封裝成多個TS包后由傳輸單元400傳輸給終端,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示,一個數(shù)據(jù)片一個數(shù)據(jù)片的進(jìn)行解碼顯示,而不是一幀一幀的進(jìn)行解碼顯示,這樣就避免了一整幀數(shù)據(jù)集中在一個時間點上進(jìn)行集中發(fā)送集中解碼的情況,緩解了網(wǎng)絡(luò)傳輸壓力,同時也緩解了終端解碼器的解碼壓力,使得終端能夠很好的進(jìn)行解碼顯示,極大保證了視頻流暢以及視頻同步顯示,保證了用戶觀看和使用,給用戶帶來極大便利。
[0048]本發(fā)明視頻同步方法及系統(tǒng),先將數(shù)據(jù)容量大的MPEG2格式的視頻原始流編碼成壓縮率更高,容量更小,更便于無線網(wǎng)絡(luò)傳輸?shù)摩?64格式的視頻原始流,再將Η264格式視頻原始流的每個數(shù)據(jù)幀分割成更小的多個數(shù)據(jù)片,然后將數(shù)據(jù)片封裝成多個TS包后傳輸給終端,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示,一個數(shù)據(jù)片一個數(shù)據(jù)片的進(jìn)行解碼顯示,而不是一幀一幀的進(jìn)行解碼顯示,這樣就避免了一整幀數(shù)據(jù)集中在一個時間點上進(jìn)行集中發(fā)送集中解碼的情況,緩解了網(wǎng)絡(luò)傳輸壓力,同時也緩解了終端解碼器的解碼壓力,使得終端能夠很好的進(jìn)行解碼顯示,極大保證了視頻流暢以及視頻同步顯示,保證了用戶觀看和使用,給用戶帶來極大便利。
[0049]以上僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種視頻同步方法,其特征在于,包括如下步驟: 將MPEG2格式的視頻原始流編碼成H264格式的視頻原始流; 將H264格式視頻原始流的每個數(shù)據(jù)幀分割成多個數(shù)據(jù)片; 將每個數(shù)據(jù)片封裝成一個PES數(shù)據(jù)包,再將每個PES數(shù)據(jù)包封裝成多個TS包; 將封裝好的TS包傳輸至終端,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯不O
2.根據(jù)權(quán)利要求1所述的視頻同步方法,其特征在于,所述將MPEG2格式的視頻原始流編碼成H264格式的視頻原始流的步驟具體為: 設(shè)置H264硬件編碼器,用于將MPEG2格式的視頻原始流編碼成H264格式的視頻原始流。
3.根據(jù)權(quán)利要求1所述的視頻同步方法,其特征在于,每個數(shù)據(jù)片為數(shù)據(jù)幀的畫面切片。
4.根據(jù)權(quán)利要求1所述的視頻同步方法,其特征在于,所述PES數(shù)據(jù)包為兩部分,分別為包頭和負(fù)載,其中,所述包頭為20個字節(jié),具體為:前3個字節(jié)用作PES包頭識別碼,第4個字節(jié)表示原始流ID,第5、6個字節(jié)記錄所帶負(fù)載長度,第7個字節(jié)為CRC標(biāo)志,第8、9個字節(jié)為檢測是否包含PTS和DTS,第10至14字節(jié)用于保存PTS,第15至20字節(jié)用于存儲H264幀格式的NAL頭標(biāo)志,所述負(fù)載在所述包頭后,為一個數(shù)據(jù)片; 所述TS包由4個字節(jié)頭部和184個字節(jié)負(fù)載組成。
5.根據(jù)權(quán)利要求4所述的視頻同步方法,其特征在于,若PES數(shù)據(jù)包的長度不足184個字節(jié)作為所述TS包的負(fù)載,則用OXFF或O作為填充以滿足一個TS包負(fù)載。
6.一種視頻同步系統(tǒng),其特征在于,包括: 編碼單元,將MPEG2格式的視頻原始流(ES流)編碼成H264格式的視頻原始流; 分割單元,將H264格式視頻原始流的每個數(shù)據(jù)幀分割成多個數(shù)據(jù)片; 封裝單元,將每個數(shù)據(jù)片封裝成一個PES數(shù)據(jù)包,再將每個PES數(shù)據(jù)包封裝成多個TS包; 傳輸單元,將封裝好的TS包傳輸至終端,終端接收完一個數(shù)據(jù)片的所有TS包后則立即進(jìn)行解碼顯示。
7.根據(jù)權(quán)利要求6所述的視頻同步系統(tǒng),其特征在于,所述編碼單元采用H264硬件編碼器。
8.根據(jù)權(quán)利要求6所述的視頻同步系統(tǒng),其特征在于,每個數(shù)據(jù)片為數(shù)據(jù)幀的畫面切片。
9.根據(jù)權(quán)利要求6所述的視頻同步系統(tǒng),其特征在于,所述PES數(shù)據(jù)包為兩部分,分別為包頭和負(fù)載,其中,所述包頭為20個字節(jié),具體為:前3個字節(jié)用作PES包頭識別碼,第4個字節(jié)表示原始流ID,第5、6個字節(jié)記錄所帶負(fù)載長度,第7個字節(jié)為CRC標(biāo)志,第8、9個字節(jié)為檢測是否包含PTS和DTS,第10至14字節(jié)用于保存PTS,第15至20字節(jié)用于存儲H264幀格式的NAL頭標(biāo)志,所述負(fù)載在所述包頭后,為一個數(shù)據(jù)片; 所述TS包由4個字節(jié)頭部和184個字節(jié)負(fù)載組成。
10.根據(jù)權(quán)利要求9所述的視頻同步系統(tǒng),其特征在于,若PES數(shù)據(jù)包的長度不足184個字節(jié)作為所述TS包的負(fù)載,所述封裝單元則用OXFF或O作為填充以滿足一個TS包負(fù)載。
【文檔編號】H04N21/43GK104038816SQ201410280942
【公開日】2014年9月10日 申請日期:2014年6月20日 優(yōu)先權(quán)日:2014年6月20日
【發(fā)明者】蔡漢鋒 申請人:深圳市九洲電器有限公司