亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于時間戳的多路音視頻流同步解碼方法與流程

文檔序號:11279663閱讀:426來源:國知局
一種基于時間戳的多路音視頻流同步解碼方法與流程

本發(fā)明涉及計算機編解碼技術(shù)和計算機圖形學技術(shù),特別涉及一種基于時間戳的多路音視頻流同步解碼方法。



背景技術(shù):

拼接式全景攝像機的成像過程是指將多個攝像頭按照空間位置關(guān)系,固定安裝在支架上,每個攝像頭可以獨立、高清地捕捉固定角度的圖像。全景圖像拼接技術(shù)是將不同相機在不同的時間、不同方向拍攝的圖像,拼接到同一坐標系下進行全景展示。

基于多攝像頭的360度全景視頻拼接,必須考慮到攝像頭的個數(shù),攝像頭的個數(shù)越多,視頻同步采集以及視頻編解碼的負荷量越大,同時增加了全景拼接融合的次數(shù)。由于多路拼接式全景攝像機的硬件設(shè)備無法做到精確的視頻同步采集,若直接對采集后的多路h.264視頻流和pcm音頻流進行同時解碼,無法保證音視頻之間的同步以及視頻間圖像顯示的時間同步性,拼接后的全景圖像容易出現(xiàn)影像重疊現(xiàn)象。



技術(shù)實現(xiàn)要素:

針對上述難題,本發(fā)明提供一種基于時間戳的多路音視頻流同步解碼方法。

本發(fā)明提供一種基于時間戳的多路音視頻流同步解碼方法,其包括如下步驟:

(a)通過全景攝像機獲取多路視頻流,同時通過音頻采集器獲取單路音頻流;

(b)對每一路視頻流和單路音頻流進行預(yù)處理;

(c)通過基于時間戳的同步解碼算法對預(yù)處理后的多路視頻流和單路音頻流進行同步排序解碼。

步驟(a)具體為通過拼接式全景攝像機采集同一時間、不同方向的多路視頻流,其中視頻流的格式為h.264;同時通過音頻采集器獲取對應(yīng)的拍攝場景的pcm音頻流。

步驟(b)具體包括以下步驟:

(b1)劃分對每一路視頻流的每一幀圖像進行劃分,得到多個h264圖像包,并獲取每一h264圖像包的包長;

(b2)對所述單路pcm音頻流進行劃分得到pcm音頻包,并獲取pcm音頻包的包長;

(b3)在每一個h264圖像包和pcm音頻包添加附加信息,用于解碼識別。

所述步驟(b3)具體為:

首先,在每一個h264圖像包以及pcm音頻包前均添加包頭信息、時間戳信息以及包長信息,其中,所述包頭信息用于每一路視頻流中不同h264圖像包/pcm音頻包之間的劃分和辨別,所述時間戳信息代表該幀圖像拍攝時的時間點/每個pcm音頻包的錄制時間,所述包長信息用于記錄該h264圖像包/pcm音頻包的存儲長度;

其次,以多路h.264格式的視頻流和單路pcm音頻流為基礎(chǔ)建立多路pes視頻流和單路pea音頻流,pes視頻流和pea音頻流的文件內(nèi)容排序為:包頭信息、時間戳信息、包長信息、h264圖像包/pcm音頻包,其中,h264圖像包來源于h.264格式的視頻流的內(nèi)容,h264圖像包為每一幀圖像經(jīng)過h.264編碼后得到,pcm音頻包來源于pcm音頻流的內(nèi)容。

步驟(c)具體包括以下步驟:

(c1)初始化多路pes視頻流和單路pea音頻流同步解碼的時間條件;

(c2)對單路pes視頻流按時間戳信息進行解碼并渲染;

(c3)按照步驟(c2)的處理方式循壞處理完每一路pes視頻流,每處理完一次即可渲染得到一組同步的視頻流圖像;

(c4)對單路pea音頻流按時間戳信息進行解碼并播放,以實現(xiàn)該時間點下的音視頻同步;

(c5)更新解碼渲染的時間點,重復步驟(c1)至步驟(c3),完成下一組音視頻流的刷新。

所述步驟(c1)具體為:初始化解碼時間t以及更新渲染時間δt。

所述步驟(c2)具體為:

首先,讀取該路pes視頻流的最近一個未解碼的h264圖像包對應(yīng)的時間戳信息tn,將時間戳信息tn與t進行比較,若tn<t,則對該h264圖像包進行解碼;

然后,依次判斷每一個未解碼的h264圖像包,對所有小于t的h264圖像包進行解碼,并對最接近t的時間點的h264圖像包進行圖像渲染。

所述步驟(c3)具體為:按照步驟(c2)的方式處理每一路pes視頻流,渲染出的一組視頻流圖像的時間點都最接近于t,以實現(xiàn)圖像顯示的相對同步性。

所述步驟(c4)具體為:

首先,讀取該pea音頻流的最近一個未解碼的pcm音頻包對應(yīng)的時間戳信息tn,將時間戳信息tn與t進行比較,若tn<t,則對該pcm音頻包進行解碼;

然后,依次判斷每一個未解碼的pcm音頻包,對所有小于t的pcm音頻包進行解碼,并對最接近t的時間點的pcm音頻包進行音頻播放。

所述步驟(c5)具體為:對解碼渲染的時間點按照t=t+δt進行更新,其中δt小于全景攝像機的攝像頭拍攝圖像的時間間隔且大于0。

相較于現(xiàn)有技術(shù),本方法具有以下優(yōu)點:第一,通過時間戳信息對多路碼流進行排序解碼,消除解碼時間不同步的現(xiàn)象,實現(xiàn)全景畫面的同步拼接以及保證音視頻流的同步播放;第二,將不同相機在同一時刻不同方向拍攝的圖像,進行同步顯示,消除因為攝像頭不同步而造成圖像顯示不同步的現(xiàn)象。第三,通過與拼接式全景攝像機相結(jié)合,實現(xiàn)拼接圖像的同步顯示,解決圖像錯亂的問題。

附圖說明

圖1是本發(fā)明所述基于時間戳的多路音視頻流同步解碼方法的流程圖。

圖2為本發(fā)明所述基于時間戳的多路音視頻流同步解碼渲染算法的流程圖。

圖3為未經(jīng)過同步處理的八路視頻流的全景拼接示意圖。

圖4為本發(fā)明實施例所述基于時間戳的同步解碼處理后的八路pes視頻流的全景拼接示意圖。

具體實施方式

下面將結(jié)合本發(fā)明實施方式中的附圖,對本發(fā)明實施方式中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施方式僅僅是本發(fā)明一部分實施方式,而不是全部的實施方式?;诒景l(fā)明中的實施方式,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施方式,都屬于本發(fā)明保護的范圍。

請參閱圖1,本發(fā)明提供一種基于時間戳的多路音視頻流同步解碼方法。該方法包括如下步驟:

(a)通過全景攝像機獲取多路視頻流,同時通過音頻采集器獲取單路音頻流;

(b)對每一路視頻流和單路音頻流進行預(yù)處理;

(c)通過基于時間戳的同步解碼算法對預(yù)處理后的多路視頻流和單路音頻流進行同步排序解碼。

在步驟(a)中,通過拼接式全景攝像機采集同一時間、不同方向的多路視頻流,其中視頻流的格式為h.264;同時通過音頻采集器獲取對應(yīng)的拍攝場景的pcm音頻流。

在步驟(b)中,在所述h.264視頻流和pcm音頻流的基礎(chǔ)上添加附加信息,建立新格式的pes視頻流和pea音頻流。具體如下:

(b1)劃分對每一路視頻流的每一幀圖像進行劃分,得到多個h264圖像包,并獲取每一h264圖像包的包長;

(b2)對所述單路pcm音頻流進行劃分得到pcm音頻包,并獲取pcm音頻包的包長;

(b3)在每一個h264圖像包和pcm音頻包添加附加信息,用于解碼識別。

所述步驟(b3)具體包括:首先,在每一個h264圖像包以及pcm音頻包前均添加包頭信息、時間戳信息以及包長信息;

其中:包頭信息,五個字節(jié)的存儲空間,內(nèi)容為0x00,0x00,0x00,0x01,0xff,用于每路視頻流中不同h264圖像包/pcm音頻包之間的劃分和辨別;

時間戳信息,四個字節(jié)的存儲空間,是一個float數(shù)據(jù)格式的實數(shù),代表該幀圖像拍攝時的時間點/每個pcm音頻包的錄制時間;

包長信息,四個字節(jié)的存儲空間,是一個int數(shù)據(jù)格式的整數(shù),用于記錄該 h264圖像包/pcm音頻包的存儲長度。

其次,以多路h.264格式的視頻流和單路pcm音頻流為基礎(chǔ)建立多路pes視頻流和單路pea音頻流,pes視頻流和pea音頻流的文件內(nèi)容排序為:包頭信息、時間戳信息、包長信息、h264圖像包/pcm音頻包。

其中:h264圖像包來源于原有h.264格式的視頻流的內(nèi)容,不定長度的存儲空間,每一幀圖像經(jīng)過h.264編碼后都存儲在h264圖像包內(nèi);

pcm音頻包來源于pcm視頻流的內(nèi)容。

每個h264圖像包/pcm音頻包所占用的存儲空間由int包長信息告知。

在步驟(c)中,對步驟(b)中的多路pes視頻流和單路pea音頻流按照時間戳信息進行同步排序解碼并播放。該方法利用拼接式全景攝像機則可完全消除由于圖像渲染時間不同步而造成的影像錯亂的現(xiàn)象。主要如下:

(c1)初始化多路pes視頻流和單路pea音頻流同步解碼的時間條件;

(c2)對單路pes視頻流按時間戳信息進行解碼并渲染;

(c3)按照步驟(c2)的處理方式循壞處理完每一路pes視頻流,每處理完一次即可渲染得到一組同步的視頻流圖像;

(c4)對單路pea音頻流按時間戳信息進行解碼并播放,以實現(xiàn)該時間點下的音視頻同步;

(c5)更新解碼渲染的時間點,重復步驟(c1)至步驟(c3),完成下一組音視頻流的刷新。

請參閱圖2,所述步驟(c1)具體為:初始化解碼時間t以及更新渲染時間δt。δt即為兩組圖像顯示的時間間隔,δt小于全景攝像機的攝像頭拍攝圖像的時間間隔且大于0。

所述步驟(c2)具體包括:首先,按順序讀取第n路pes視頻流的一個未解碼的h264圖像包的時間戳信息tn,若tn<t,則對該h264圖像包按照包長度進行h.264解碼;然后,接著判斷下一個h264圖像包的時間戳信息tn,循環(huán)對所有小于t的h264圖像包解碼處理直到tn>t為止,并對最接近時間t的h264圖像包解碼后的圖像進行rgb圖像渲染。

所述步驟(c3)具體為:按照步驟(c2)的方式依次處理完m路pes視頻流,每循環(huán)處理完一次則渲染出一組時間點都最接近于t的圖像,即可保證0-m-1路rgb圖像顯示的相對同步性。

所述步驟(c4)具體包括:首先,讀取第m路pea音頻流的最近一個未解碼的pcm音頻包對應(yīng)的時間戳信息tn,將時間戳信息tn與t進行比較,若tn<t,則對該pcm音頻包進行解碼;然后,依次判斷每一個未解碼的pcm音頻包,對所有小于t的pcm音頻包進行解碼,并對最接近t的時間點的pcm音頻包進行音頻播放。

所述步驟(c5)具體為:對解碼渲染的時間點按照t=t+δt進行更新。其中,δt小于全景攝像機的攝像頭拍攝圖像的時間間隔且大于0,以實現(xiàn)每一組圖像的顯示同步以及音視頻流之間的同步。

相較于現(xiàn)有技術(shù),本方法具有以下優(yōu)點:第一,通過時間戳信息對多路碼流進行排序解碼,消除解碼時間不同步的現(xiàn)象,實現(xiàn)全景畫面的同步拼接以及保證音視頻流的同步播放;第二,將不同相機在同一時刻不同方向拍攝的圖像,進行同步顯示,消除因為攝像頭不同步而造成圖像顯示不同步的現(xiàn)象。第三,通過與拼接式全景攝像機相結(jié)合,實現(xiàn)拼接圖像的同步顯示,解決圖像錯亂的問題。

下面結(jié)合具體實施例對本發(fā)明提出的一種基于時間戳的多路音視頻流同步解碼方法進行說明:

實施例

所述基于時間戳的多路音視頻流同步解碼方法可與拼接式全景相機相結(jié)合,實現(xiàn)全景視頻同步拼接的效果。具體以android端的全景圖像拼接為例。該設(shè)計方法包括如下步驟:

(a)通過拼接式全景攝像機獲取多路視頻流及通過音頻采集器獲取單路音頻流;

(b)對每一路視頻流和單路音頻流進行預(yù)處理;

(c)通過基于時間戳的同步解碼算法完成對預(yù)處理后的多路音視頻流的同步解碼。

(d)將同步后的多路視頻流圖像在android端上進行全景拼接,并且播放同步后的音頻文件。

步驟(a)主要為通過拼接式的全景攝像機采集同一時間、不同方向的多路視頻流,視頻流格式為h.264,同時通過音頻采集器獲取場景的pcm音頻流信號。

步驟(b)中,將步驟(a)中獲取的h.264格式的視頻流和pcm音頻流的基礎(chǔ)上 添加附加信息,建立新格式的pes視頻流和pea音頻流。

步驟(c)具體為:在android端完成對步驟b中建立的多路pes視頻流和單路pea音頻流按照時間戳信息進行同步排序解碼并輸出rgb圖像和音頻信息。

在步驟(d)中,對步驟(c)中所述的rgb圖像在android端利用計算機圖形學技術(shù)完成全景球體拼接,同時播放同步后的音頻文件。

對比的,請參閱圖3,若直接對采集后的多路h.264視頻流進行同時解碼,而未經(jīng)過同步處理。由于無法保證視頻間圖像顯示的時間同步性,因而拼接后的全景圖像容易出現(xiàn)影像重疊現(xiàn)象。

請參閱圖4,按照本發(fā)明所述多路音視頻流同步解碼算法,即可保證全景視頻在android端的同步刷新,消除圖3顯示的圖像錯亂現(xiàn)象,得到同步渲染后的全景圖像。

以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1