專利名稱:一種音視頻同步方法、裝置及一種數字電視芯片的制作方法
技術領域:
本發明涉及移動多媒體廣播技術領域,特別是涉及一種移動多媒體廣播 系統的音視頻同步方法、裝置和一種提供移動多媒體廣播接收的數字電視芯 片。
背景技術:
移動多媒體廣播是新興的一種多媒體播放技術,近年來,這種技術和標
準發展迅速,例如歐洲的數字視頻廣播手持式接收(DVB-H, Digital Video Broadcast Handheld)、美國的々某體單 一前向鏈路(MediaFLO, Media Forward Link Only )和中國的移動多媒體廣播系統(CMMB, China Mobile Multimedia Broadcast)等。移動多媒體廣播可以為其終端用戶提供許多服務內容,如廣 告、天氣預報、新聞、體育節目、綜藝、多媒體廣播劇、電影等節目,用戶 可以根據自己的愛好選擇移動多媒體廣播的業務。
使用移動多媒體廣播業務的用戶可以通過'手持的終端,在高速移動的 情況下,用移動終端觀看電視。用戶接收到節目單,可以選擇自己有權利 收看的頻道,接收選擇頻道的多媒體數據,從而實現在移動終端上看自己 選擇的電視節目。在電視節目播放過程中,解決媒體播放音視頻同步是關鍵 技術之一,通常的媒體播放解決方案是在生成數據流時要打上時間戳,在 播放時基于時間戳,對數據流進行控制,即早到的或晚到的數據塊進行等待 或快速處理。但是,這些技術方案有其應用的范圍,有的適用于文件播放,有 的適用于網絡環境中的流媒體播放,它們在各自的領域內有其優異的性能, 但不一定適合應用在廣播傳輸的領域內。例如微軟的DirectShow對于音視 頻同步的解決方案是引入一個反饋機制,就是要將當前數據流速度太快或太 慢的狀態反饋給"源",讓源去放慢或加快數據流的速度。可是,廣播的數據 是不可控的,接收終端只能被動的接收數據,而不能夠反過來控制廣播數據
的速度和內容,因此,類似于將當前數據流速度太快或太慢的狀態反饋給 "源",讓源去放慢或加快數據流的速度的方法是不適用的。
此外,在數字電視播放過程中,廣播信道傳輸中存在著誤碼問題,尤其 在信號弱,或多徑等惡劣條件下,誤碼會明顯增多,這嚴重影響了電視節目 的播放質量。通常在文件媒體播放中,幾乎不用考慮誤碼的問題,而在網絡 媒體信息傳輸中,又具有錯誤重傳的機制。顯然,以上兩種方式都不適用在 移動多^某體廣播系統中,無法解決其誤碼問題。
總之,需要本領域技術人員迫切解決的一個技術問題就是如何能夠有
效解決移動多媒體廣播系統的音-見頻同步和誤碼問題,以實時、準確地播力丈 數字電浮見節目,提升移動終端用戶的感官感受。
發明內容
本發明所要解決的技術問題是提供 一種移動多媒體廣播系統的音視頻同 步方法和裝置,能夠有效解決移動多媒體廣播系統的音視頻同步和誤碼問題, 以實時、準確地播放數字電視節目,提升移動終端用戶的感官感受。
本發明的另一個目的是提供一種接收移動多媒體廣播的數字電視芯片, 所述數字電視芯片包括上述音視頻同步裝置,以實現本發明的具體應用。
為了解決上述問題,本發明實施例提供了 一種移動多媒體廣播系統的音
視頻同步方法,包括以下步驟
建立解碼后的音頻數據存放地址與時間戳的映射關系表;
根據當前播放的音頻數據所指向的存放地址查詢所述映射關系表獲取音 頻數據的時間戳,并且獲取當前正在播放的視頻數據的時間戳;
根據所述音頻數據的時間戳和視頻數據的時間戳,對視頻播放進行調整, 調整至音視頻同步狀態。
優選的,所述根據音頻數據的時間戳和視頻數據的時間戳,對視頻播放 進行調整包括以下步驟
比較所述音頻數據的時間戳和視頻數據的時間戳;
計算所述音頻數據的時間戳和視頻數據的時間戳的差距;
當所述差距達到調整條件時,對視頻播放進行調整。
優選的,在比較音視頻時間戳之前,還包括
判斷所述音頻數據的時間戳和視頻數據的時間戳是否可信,如果可信, 則計算差距,如果不可信,則放棄當前幀。
優選的,通過以下方式確定時間戳是否可信
判斷已播放的預置次數內的時間戳的值是否保持一定距離范圍內的增 長;若是,則將當前時間戳確認為可信數據;若否,則為不可信數據。 優選的,所述對視頻播放進行調整的步驟包括 如果音頻時間戳晚于視頻時間戳,則視頻播放暫停一定數量的幀; 如果音頻時間戳早于視頻時間戳,則判斷視頻數據緩沖區中是否有視頻 幀數據,若有,則視頻跳過一定數量的幀;若無,則記錄跳幀需求,待視頻 數據緩沖區準備好視頻數據后再跳幀。
優選的,所述映射關系表為先進先出結構。
優選的,所述建立解碼后的音頻數據存放地址與時間戳的映射關系表包 括以下步驟
記錄每幀音頻解碼后的音頻數據起始地址和終止地址; 記錄每幀音頻的時間戳;
建立所述每幀音頻解碼后的音頻數據起始地址和終止地址與每幀音頻的 時間戳的映射關系表。
優選的,所述獲取音頻數據的時間戳還包括
每隔一段時間檢查當前播放的音頻數據地址是否在所述映射關系表的當 前表項的音頻凝:據起始地址和終止地址范圍內; 如果是,則繼續讀取當前表項的時間戳; 如果否,則跳轉到下一表項,讀取該表項的時間戳。 優選的,所述調整條件為一閾值范圍。
相應的,本發明實施例還提供了一種移動多媒體廣播系統的音視頻同步
裝置,包括
映射關系表建立模塊,用于建立解碼后的音頻數據存放地址與時間戳的
映射關系表;
時間戳獲取模塊,用于根據當前播放的音頻數據所指向的存放地址查詢 所述映射關系表獲取音頻數據的時間戳,并且獲取當前正在播放的視頻數據 的時間戳;
播放調整模塊,用于根據所述音頻數據的時間戳和視頻數據的時間戳, 對視頻播放進行調整,調整至音視頻同步狀態。
優選的,所述播放調整模塊進一步包括
時間戳比較子模塊,用于比較所述音頻數據的時間戳和視頻數據的時間
戳;
差距計算子模塊,用于計算所述音頻數據的時間戳和視頻數據的時間戳 的差距;
視頻調整子模塊,用于當所述差距達到調整條件時,對視頻播放進行調整。
優選的,所述音視頻同步裝置還包括
時間戳確認模塊,用于在比較音視頻時間戳之前,判斷所述音頻數據的 時間戳和視頻數據的時間戳是否可信,如果可信,則計算差距,如果不可信, 則i文棄當前幀。
優選的,所述時間戳確認模塊進一步包括
判斷子模塊,用于判斷已播放的預置次數內的時間戳的值是否保持一定 距離范圍內的增長;
確認子模塊,用于當判斷子模塊結果為是時,將當前時間戳確認為可信 數據;
否定子模塊,用于當判斷子模塊結果為否時,認定當前時間戳為不可信 數據。
優選的,所述視頻調整子模塊進一步包括
暫停單元,用于當音頻時間戳晚于視頻時間戳時,視頻播放暫停一定數
量的幀;
跳進單元,包括
緩存判斷子單元,用于當音頻時間戳早于視頻時間戳時,判斷視頻數據 緩沖區中是否有視頻幀數據;
跳幀子單元,用于當緩存判斷單元結果為是時,則視頻跳過一定數量的
幀;
緩跳子單元,用于當緩存判斷單元結果為否時,則記錄跳幀需求,待視 頻數據緩沖區準備好視頻數據后再跳幀。
優選的,所述映射關系表為先進先出結構。 優選的,所述映射關系表建立模塊進一步包括 地址記錄子模塊,用于記錄每幀音頻解碼后的音頻數據起始地址和終止 地址;
時間戳記錄子模塊,用于記錄每幀音頻的時間戳; 關系表建立子模塊,用于建立所述每幀音頻解碼后的音頻數據起始地址 和終止地址與每幀音頻的時間戳的映射關系表。 優選的,所述時間戳獲取模塊還包括
更新子模塊,用于每隔一段時間檢查當前播放的音頻數據地址是否在所 述映射關系表的當前表項的音頻數據起始地址和終止地址范圍內;如果是, 則繼續讀耳又當前表項的時間戳;如果否,則跳轉到下一表項,讀取該表項的 時間戳。
優選的,所述調整條件為一閾值范圍。
本發明實施例還提供了 一種數字電視芯片,包括 信道解碼模塊,用于將射頻前端處理后的基帶信號解碼為復用碼流; 解復用模塊,用于將復用碼流解復用為視頻碼流和音頻碼流; 視頻解碼器,用于視頻解碼; 音頻解碼器,用于音頻解碼;
視頻輸出模塊,用于輸出視頻數據;
音頻輸出模塊,用于輸出音頻數據; 以及,
包括以下子模塊的音視頻同步模塊
映射關系表建立子模塊,用于建立解碼后的音頻邀:據存放地址與時間戳 的映射關系表;
時間戳獲取子模塊,用于根據當前播放的音頻數據所指向的存放地址查 詢所述映射關系表獲取音頻數據的時間戳,并且獲取當前正在播放的視頻數 據的時間戳;
播放調整子模塊,用于根據所述音頻數據的時間戳和視頻數據的時間戳, 對視頻播放進行調整,調整至音視頻同步狀態。
優選的,所述播放調整子模塊進一步包括
時間戳比較單元,用于比較所述音頻數據的時間戳和視頻數據的時間戳; 差距計算單元,用于計算所述音頻數據的時間戳和視頻數據的時間戳的 差距;
視頻調整單元,用于當所述差距達到調整條件時,對視頻播放進行調整。 優選的,所述音視頻同步模塊還包括
時間戳確認子模塊,用于在比較音視頻時間戳之前,判斷所述音頻數據 的時間戳和-現頻數據的時間戳是否可信,如果可信,則計算差距,如果不可 信,則;改棄當前幀。
優選的,所述時間戳確認子模塊進一步包括
判斷單元,用于判斷已播放的預置次數內的時間戳的值是否保持一定距 離范圍內的增長;
確認單元,用于當判斷子模塊結果為是時,將當前時間戳確認為可信數
據;
否定單元,用于當判斷子模塊結果為否時,認定當前時間戳為不可信數據。
與現有技術相比,本發明具有以下優點
首先,本發明針對廣播數據不可控的特點,先讓音視頻數據自由播放, 然后使用監視程序實時比較音視頻的播放進度,給出相應的調整意見,如視 頻暫停一幀或向前跳一幀等,在最大限度地提高了每次開機時或切換頻道后 節目播放速度的同時,保證了在終端不能控制"源"的條件下,音視頻播放的 同步。
其次,本發明針對廣播信道傳輸存在誤碼,而且在信號弱或多徑等惡劣 條件下,誤碼會明顯增多的情況,使用了音視頻數據時間戳確認機制,在每 次要做音視頻播放時間比對前,先對音視頻的時間戳作確認。只有時間戳數 據可信時,才根據情況對音視頻播放做相應調整。采用時間戳數據確認機制, 有效地克服了由于誤碼造成的音視頻同步的誤調整,抑制了廣播信道的傳輸 誤碼導致的對音視頻調節的干擾。
圖1是本發明的一種移動多媒體廣播系統的音視頻同步方法實施例1的 步驟流程圖2是本發明的一種移動多媒體廣播系統的音視頻同步方法實施例2的 步驟流程圖3是本發明的一種移動多媒體廣播系統的音視頻同步裝置實施例的結 構框圖4是本發明應用圖2所示的裝置實施例進行音視頻同步的步驟流程圖; 圖5是本發明的一種數字電視芯片的結構框圖。
具體實施例方式
為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖 和具體實施方式
對本發明作進一步詳細的說明。
本發明的核心構思之一在于,通過建立解碼后的音視頻數據存放地址與
時間戳的映射關系表,以及音視頻播放監控中的時間戳確認機制,解決移動 多媒體廣播系統的音視頻同步和誤碼問題,以實時、準確地播放數字電視節
目,提升移動終端用戶的感官感受。
參照圖1,示出了本發明一種移動多々某體廣播系統的音視頻同步方法實
施例1的步驟流程圖,具體可以包括以下步驟
步驟101:建立解碼后的音頻數據存放地址與時間戳的映射關系表;
根據解復用時每一幀音頻與時間戳的——映射關系,以及每一幀音頻和 解碼后的音頻數據存放地址的——映射關系建立一個音頻數據存放地址和 時間戳的映射關系表。所述映射關系表可以采用先進先出(FIFO , First In First Out)結構,也可采用鏈表結構等其它結構。本領域技術人員可以根據 需要采用適合的表結構,本發明無須對此作出限制。
在建立映射關系表時,記錄每一幀音頻解碼后的音頻數據在緩存中的起 始地址和終止地址,并記錄該幀音頻的時間戳,將音頻數據在緩存中的起始 地址和終止地址以及音頻時間戳寫入映射關系表。在音頻播;故時,可以依據 當前的播放數據所指向的存放地址通過查詢所述映射關系表從而獲得當前音 頻播-;故所對應的時間。
步驟102:根據當前播放的音頻數據所指向的存放地址查詢所述映射關 系表獲取音頻數據的時間戳,并且獲取當前正在播放的視頻數據的時間戳;
根據當前播放的音頻數據所指向的存放地址查詢映射關系表獲取音頻數 據的時間戳;根據解復用時每一幀視頻與時間戳的一一映射關系獲得當前播 放的視頻幀所對應的時間戳。
映射關系表每隔一段時間檢查當前播放的音頻數據地址是否在當前表項 的音頻數據起始地址和終止地址范圍內,如果是,則繼續讀取當前表項的時 間戳;如果否,則跳轉到下一表項,讀取該表項的時間戳。
步驟103:根據所述音頻數據的時間戳和視頻數據的時間戳,對視頻播 放進行調整,調整至音視頻同步狀態。
根據所述音頻數據的時間戳和視頻數據的時間戳,對視頻播放進行調整,是解決音視頻同步的最佳方案。實現這一方案有多種途徑,例如可以通過
比較音視頻時間戳的差距來調整,當時間戳的差距超出一定范圍,達到需要 調整的條件,就根據時間戳的差距情況對視頻播放進行調整,使視頻暫停播
放或向前跳進一定數量的幀,以達到音視頻同步;也可以通過設置時間線性 遞增的參考時鐘來調整,在播放時,讀取音視頻數據的時間戳,同時參考當 前參考時鐘上的時間來安排播放。如果音視頻數據的時間戳的時間早于當前 參考時鐘上的時間,則不急于播放該音視頻數據,直到參考時鐘達到所述音 視頻數據的時間戳的時間;如果音視頻數據的時間戳的時間晚于當前參考時 鐘上的時間,則"盡快,,播放該數據或者索性將此數據"丟棄,,,以使播放進 度追上參考時鐘。總之,本領域技術人員在應用中可采用任意適合的方法, 依據音視頻時間戳對音視頻播放進行同步調整,本發明無須對此作出限制。
參照圖2,示出了本發明一種移動多媒體廣播系統的音視頻同步方法實 施例2的步驟流程圖,具體可以包括以下步驟
步驟201:建立解碼后的音頻數據存放地址與時間戳的映射關系表; 根據解復用時每一幀音頻與時間戳的一一映射關系,以及每一幀音頻和 解碼后的脈碼調制(PCM, Pulse Code Modulation)數據存放地址的——映 射關系建立一個PCM數據存》文地址和時間戳的映射關系表。所述映射關系 表采用先進先出(FIFO , First In First Out)結構。在建立映射關系表時,記 錄每一幀音頻解碼后的PCM數據在緩存中的起始地址和終止地址,并記錄 該幀音頻的時間戳,將PCM數據在緩存中的起始地址和終止地址以及音頻 時間戳順序寫入映射關系表。在音頻播放時,可以依據當前的播放數據所指 向的存放地址通過查詢所述映射關系表從而獲得當前音頻播放所對應的時 間。
需要說明的是,本實施中解碼后的音頻數據采用PCM格式,在實際應 用中,本領域技術人員也可根據需要使用其它數據格式,本發明無需對此作 出限制。
步驟202:根據當前播放的音頻數據所指向的存放地址查詢所述映射關
系表獲取音頻數據的時間戳,并且獲取當前正在播放的視頻數據的時間戳;
根據當前播放的音頻數據所指向的存放地址查詢映射關系表獲取音頻數
據的時間戳;根據解復用時每一幀視頻與時間戳的一一映射關系獲得當前播 放的視頻幀所對應的時間戳。
映射關系表每隔一段時間檢查當前播放的音頻數據地址是否在當前表項 的音頻數據起始地址和終止地址范圍內,如果是,則繼續讀取當前表項的時 間戳;如果否,則跳轉到下一表項,讀取該表項的時間戳。
步驟203:判斷所述音頻數據的時間戳和視頻數據的時間戳是否可信, 如果可信,則執行步驟204;如果不可信,則不作任何干預;
在音視頻播放時,可以依據當前播放的音視頻數據而獲得時間戳,如果 已播放的預置次數內的音視頻的時間戳的值保持一定距離范圍內的增長規 律,則認為當前音視頻時間戳可信,將當前時間戳確認為可信數據,比較當 前音視頻時間戳;否則,則認為是不可信數據,放棄比較當前幀,不作任何 干預。
步驟204:比較當前正在播放的音頻數據的時間戳和視頻數據的時間戳, 計算音頻數據的時間戳和視頻數據的時間戳的差距;
當時間戳數據可信時,每隔一段時間比較當前正在播放的音頻數據的時 間戳和視頻數據的時間戳,計算二者之間的差距。
步驟205:判斷所述差距是否達到調整條件,如果是,則向下執行;如 果否,則不作任何干預;
判斷所述音視頻時間戳差距是否達到調整條件,本實施例中,所述調整 條件為一閾值范圍。當音^L頻時間戳的差距在此閾值范圍內,即達到調整條 件,則對音視頻播放進行調整;如果不在此閾值范圍內,則不作調整。如 當音視頻時間戳的的差距在正常范圍內時,無須對音視播放進行調整;但是, 當音視頻時間戳的差距超過了一定閾值的時候,也同樣不作調整,這是因為 誤碼或時間戳的編碼回頭會造成兩個時間戳相差過大,而超過一定閾值,有 可能導致誤調整的發生。綜上所述,只有當音視頻時間戳的差距超出正常范 圍的上邊界且沒有超過一定閾值這樣的一個閾值范圍內時,才對音視頻播放
進行干預。例如0-3的范圍為正常范圍,音視頻時間戳的差距在此范圍內 時,不作音視頻播放調整;同樣的,當時間戳的差距超過一定閾值,如8時, 也不對音視頻播放進行調整。只有當時間戳差距在超過3且不大于8這樣的 一個閾值范圍時,才作音視頻纟番;故調整。
需要說明的是,在應用中,本領域技術人員可根據實際情況設置適合的 調整條件,本發明無需對此作出限制。
步驟206:如果音頻時間戳晚于視頻時間戳,則視頻播放暫停一定數量 的幀;
音頻時間戳晚于視頻時間戳,即音頻播放慢于視頻播放,根據音視頻時 間戳差距情況,暫停播放一定數量的視頻幀。
步驟207:如果音頻時間戳早于視頻時間戳,則先判斷視頻數據緩沖區 中是否有視頻幀數據,若有,則執行步驟208;若無,則執行步驟209;
音頻時間戳早于視頻時間戳,即音頻播放快于視頻播放,先判斷視頻數 據緩沖區中有無視頻幀可跳。
步驟208:視頻跳過一定數量的幀;
根據音視頻時間戳差距情況,視頻播放向前跳過一定數量的幀。 步驟209:記錄跳幀需求,待視頻數據緩沖區準備好視頻數據后再跳幀。 需要說明的是,對于上述的方法實施例,為了筒單描述,故將其都表 述為一系列的動作組合,但是本領域技術人員應該知悉,本發明并不受所 描述的動作順序的限制,因為依據本發明,某些步驟可以采用其他順序或 者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施 例均屬于優選實施例,所涉及的動作和模塊并不一定是本發明所必須的。
參照圖3,示出了本發明的一種移動多媒體廣播系統的音視頻同步裝置 實施例的結構框圖,可以包括以下模塊
映射關系表建立模塊301,用于建立解碼后的音頻數據存放地址與時間 戳的映射關系表;其中,所述映射關系表為FIFO結構;
時間戳獲取模塊302,用于根據當前播放的音頻數據所指向的存放地址
查詢所述映射關系表獲取音頻數據的時間戳,并且獲取當前正在播放的視頻
數據的時間戳;
播放調整模塊303,用于根據所述音頻數據的時間戳和視頻數據的時間
戳,對視頻播放進行調整,調整至音視頻同步狀態。
優選的是,所述播放調整模塊303還可以進一步包括
時間戳比較子模塊3031,用于比較所述音頻數據的時間戳和視頻數據的
時間戳;
差距計算子模塊3032,用于計算所述音頻數據的時間戳和視頻數據的時 間戳的差距;
視頻調整子模塊3033,用于當所述差距達到調整條件時,對視頻播放進 行調整。
其中,所述調整條件為一閾值范圍。 優選的是,所述視頻調整子模塊3033還可以進一步包括 暫停單元30331,用于當音頻時間戳晚于視頻時間戳時, 一見頻播放暫停 一定數量的幀;
跳進單元30332,進一步包括
緩存判斷子單元303321,用于當音頻時間戳早于視頻時間戳時,判斷視 頻數據緩沖區中是否有視頻幀數據;
跳幀子單元303322,用于當緩存判斷單元結果為是時,則視頻跳過一定 數量的幀;
緩跳子單元303323,用于當緩存判斷單元結果為否時,則記錄跳幀需求, 待視頻數據緩沖區準備好視頻數據后再跳幀。 優選的是,本實施例的裝置還可以包括
時間戳確認模塊304,用于在比較音視頻時間戳之前,判斷所述音頻數 據的時間戳和視頻數據的時間戳是否可信,如果可信,則計算差距,如果不 可信,則》文棄當前幀。
優選的是,所述時間戳確認模塊304還可以進一步包括
判斷子模塊3041,用于判斷已播放的預置次數內的時間戳的值是否保持
一定距離范圍內的增長;
確認子模塊3042,用于當判斷子模塊結果為是時,將當前時間戳確認為 可信數據;
否定子模塊3043,用于當判斷子模塊結果為否時,認定當前時間戳為不 可信數據。
時間戳確認模塊304在每次要做音視頻播放時間比對前,先對音視頻的 時間戳作確認。只有時間戳數據可信時,才根據情況對音視頻播放做相應調 整。采用這樣的時間戳數據確認機制,可以有效克服由于誤碼造成的音視頻 同步的誤調整,抑制了廣播信道的傳輸誤碼導致的對音視頻調節的干擾。 優選的是,所述映射關系表建立模塊301還可以進一步包括 地址記錄子模塊3011 ,用于記錄每幀音頻解碼后的音頻數據起始地址和 終止地址;
時間戳記錄子模塊3012,用于記錄每幀音頻的時間戳; 關系表建立子模塊3013,用于建立所述每幀音頻解碼后的音頻數據起始
地址和終止地址與每幀音頻的時間戳的映射關系表。
優選的是,所述時間戳獲取模塊302還可以進一步包括
更新子模塊3021,用于每隔一段時間檢查當前播放的音頻數據地址是否
在所述映射關系表的當前表項的音頻數據起始地址和終止地址范圍內;如果
是,則繼續讀取當前表項的時間戳;如果否,則跳轉到下一表項,讀取該表
項的時間戳。
參照圖4,示出了本發明應用圖3所示的裝置實施例進行音視頻同步的 步驟流程圖,具體可以包括以下步驟
步驟401:映射關系表建立模塊建立解碼后的音頻數據存放地址與時間 戳的映射關系表;
其中,所述映射關系表為FIFO結構。在本步驟中,映射關系表建立模 塊的地址記錄子模塊記錄每幀音頻解碼后的音頻數據起始地址和終止地址; 時間戳記錄子模塊記錄每幀音頻的時間戳;關系表建立子模塊建立映射關系
表,順序將所述每幀音頻解碼后的音頻數據起始地址和終止地址與每幀音頻 的時間戳寫入表中。
步驟402:時間戳獲取模塊獲取解碼后的音、視頻數據的時間戳;
時間戳獲取模塊根據當前播放的音頻數據所指向的存放地址查詢映射關 系表獲取音頻數據的時間戳,根據解復用時每一幀視頻與時間戳的——映射 關系獲得當前播放的視頻幀所對應的時間戳。
優選的是,時間戳獲取模塊的更新子模塊每隔一段時間檢查當前播放的 音頻數據地址是否在所述映射關系表的當前表項的音頻數據起始地址和終止 地址范圍內;如果是,則繼續讀取當前表項的時間戳;如果否,則跳轉到下 一表項,讀取該表項的時間戳。
步驟403:時間戳確認模塊的判斷子模塊判斷已播放的預置次數內的時 間戳的值是否保持一定距離范圍內的增長,如果是,執行步驟404;如果否, 執行步驟405;
步驟404:當判斷子模塊的判斷結果為是時,時間戳確認模塊的確認子 模塊將當前時間戳確認為可信數據,執行步驟406;
步驟405:當判斷子模塊的判斷結果為否時,否定子模塊認定當前時間 戳為不可信數據,不作任何干預;
步驟406:當時間戳數據可信時,播放調整模塊的時間戳比較子模塊每 隔 一段時間比較當前正在播放的音頻數據的時間戳和視頻數據的時間戳;
步驟407:播放調整模塊的差距計算子模塊計算音頻數據的時間戳和視 頻數據的時間戳的差距,并判斷所述差距是否達到調整條件;如果達到調整 條件,則向下執行;如果沒有達到調整條件,則不作任何干預。
優選的是,所述調整條件為一閾值范圍。
步驟408:當音頻時間戳晚于視頻時間戳時,播放調整模塊的視頻調整 子模塊的暫停單元暫停播放一定數量的視頻幀;
步驟409:當音頻時間戳早于視頻時間戳時,首先由視頻調整子模塊的 跳進單元的緩存判斷子單元判斷視頻數據緩沖區中是否有視頻幀數據;若有, 執行步驟410;若無,執行步驟411;
步驟410:當視頻數據緩沖區中有視頻幀數據時,視頻調整子模塊的跳 進單元的跳幀子單元使視頻播放跳過一定數量的幀;
步驟411:當視頻數據緩沖區中沒有視頻幀數據時,跳進單元的緩跳子 單元記錄跳幀需求,待視頻數據緩沖區準備好視頻數據后再跳幀。
由于圖4所示的實施例都可以對應適用于前述的方法實施例中,所以 描述4交為簡略,未詳盡之處可以參見本說明書前面相應部分的描述。
參照圖5,示出了本發明的一種數字電視芯片,可以包括 信道解碼模塊501,用于將射頻前端處理后的基帶信號解碼為復用碼流; 解復用模塊502,用于將復用碼流解復用為視頻碼流和音頻碼流; ^見頻解碼器503,用于^L頻解碼; 音頻解碼器504,用于音頻解碼; 視頻輸出模塊505,用于輸出視頻數據; 音頻輸出模塊506,用于輸出音頻數據; 以及,
包括以下子模塊的音視頻同步模塊507:
映射關系表建立子模塊5071 ,用于建立解碼后的音頻數據存放地址與時 間戳的映射關系表;
時間戳獲取子模塊5072,用于根據當前播放的音頻數據所指向的存放地 址查詢所述映射關系表獲取音頻數據的時間戳,并且獲取當前正在播放的視 頻數據的時間戳;
播放調整子模塊5073,用于根據所述音頻數據的時間戳和視頻數據的時 間戳,對視頻播放進行調整,調整至音視頻同步狀態。
優選的,所述播放調整子模塊5073進一步包括
時間戳比較單元,用于比較所述音頻數據的時間戳和視頻數據的時間戳; 差距計算單元,用于計算所述音頻數據的時間戳和視頻數據的時間戳的 差距;
視頻調整單元,用于當所述差距達到調整條件時,對視頻播放進行調整。
優選的,所述音視頻同步模塊還包括
時間戳確認子模塊,用于在比較音視頻時間戳之前,判斷所述音頻數據 的時間戳和視頻數據的時間戳是否可信,如果可信,則計算差距,如果不可
寸言,則放棄當前幀。
優選的,所述時間戳確認子模塊進一步包括
判斷單元,用于判斷已播放的預置次數內的時間戳的值是否保持一定距 離范圍內的增長;
確認單元,用于當判斷子模塊結果為是時,將當前時間戳確認為可信數
據;
否定單元,用于當判斷子模塊結果為否時,認定當前時間戳為不可信數據。
此外,所述數字電視芯片還包括一定數量的數據緩存模塊,用于緩存各 功能模塊的數據。
在多媒體移動廣播接收終端,終端數字電視芯片對接收到的音視頻數據 進行處理。由射頻前端處理后的基帶信號送入信道解碼模塊,信道解碼模塊 工作時的中間數據存儲在信道解碼緩存,信道解碼送出復用碼流數據,緩存 在信道解碼輸出緩存;然后解復用模塊將信道解碼輸出緩存中的復用碼流解 復用,提取出音頻碼比特流緩存在音頻比特流緩存、提取出視頻碼比特流緩 存在視頻比特流緩存;接下來音頻解碼器和視頻解碼器分別進行音、視頻解 碼,并交給音視頻同步模塊處理,此過程中使用音、視頻解碼緩存分別緩存 音、視頻解碼的中間數據;音視頻同步模塊的映射關系表建立子模塊根據每 一幀音頻與時間戳的——映射關系,以及每一幀音頻和解碼后的音頻數據存 放地址的——映射關系建立音頻數據存放地址與時間戳的映射關系表;時間 戳獲取子模塊獲取當前播放的音、視頻數據的時間戳;在時間戳確認子模塊 確認時間戳數據可信的情況下,播放調整子模塊的時間戳比較單元比較當前 正在播放的音頻數據的時間戳和視頻數據的時間戳;播放調整子模塊的差距 計算單元計算音頻數據的時間戳和視頻數據的時間戳的差距,并根據差距是
否達到調整條件情況,由視頻調整單元對視頻播放進行相應處理;將經過同 步后的音、視頻分別緩存在音、視頻輸出緩存;最后視頻輸出緩存中的視頻 幀按照一定幀率由視頻輸出模塊播放,音頻輸出緩存中的音頻幀按照一定采 樣率由音頻輸出播放。
由于數字電視芯片實施例中音視頻同步相關部分與方法實施例基本相 似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本發明實施例提供的數字電視芯片可廣泛用于移動多媒體廣播終端,方 便用戶收聽收看移動多媒體節目,如可作為接收中國移動多媒體廣播CMMB 的終端數字電視芯片,為用戶提供各種CMMB的移動多媒體廣播業務。
以上對本發明所提供的 一種移動多媒體廣播系統的音視頻同步方法、 裝置和系統進行了詳細介紹,本文中應用了具體個例對本發明的核心構思 及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方 法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想, 在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容 不應理解為對本發明的限制。
權利要求
1、一種移動多媒體廣播系統的音視頻同步方法,其特征在于,包括以下步驟建立解碼后的音頻數據存放地址與時間戳的映射關系表;根據當前播放的音頻數據所指向的存放地址查詢所述映射關系表獲取音頻數據的時間戳,并且獲取當前正在播放的視頻數據的時間戳;根據所述音頻數據的時間戳和視頻數據的時間戳,對視頻播放進行調整,調整至音視頻同步狀態。
2、 根據權利要求l所述的方法,其特征在于,所述根據音頻數據的時間 戳和視頻數據的時間戳,對視頻播放進行調整包括以下步驟比較所述音頻數據的時間戳和視頻數據的時間戳; 計算所述音頻數據的時間戳和視頻數據的時間戳的差距;當所述差距達到調整條件時,對視頻播放進行調整。
3、 根據權利要求2所述的方法,其特征在于,在比較音視頻時間戳之前, 還包括判斷所述音頻數據的時間戳和視頻數據的時間戳是否可信,如果可信, 則計算差距,如果不可信,則放棄當前幀。
4、 根據權利要求3所述的方法,其特征在于,通過以下方式確定時間 戳是否可信判斷已播放的預置次數內的時間戳的值是否保持一定距離范圍內的增長;若是,則將當前時間戳確認為可信數據;若否,則為不可信數據。
5、 根據權利要求2或4所述的方法,其特征在于,所述對視頻播放進行 調整的步驟包括如果音頻時間戳晚于視頻時間戳,則視頻播放暫停一定數量的幀; 如果音頻時間戳早于視頻時間戳,則判斷視頻數據緩沖區中是否有視頻幀數據,若有,則視頻跳過一定數量的幀;若無,則記錄跳幀需求,待視頻數據緩沖區準備好視頻數據后再跳幀。
6、 根據權利要求1或2所述的方法,其特征在于,所述映射關系表為先 進先出結構。
7、 根據權利要求6所述的方法,其特征在于,所述建立解碼后的音頻數 據存放地址與時間戳的映射關系表包括以下步驟記錄每幀音頻解碼后的音頻數據起始地址和終止地址; 記錄每幀音頻的時間戳;建立所述每幀音頻解碼后的音頻it據起始地址和終止地址與每幀音頻的 時間戳的映射關系表。
8、 根據權利要求7所述的方法,其特征在于,所述獲取音頻數據的時間 戳還包括每隔一段時間檢查當前播放的音頻數據地址是否在所述映射關系表的當 前表項的音頻數據起始地址和終止地址范圍內; 如果是,則繼續讀取當前表項的時間戳; 如果否,則跳轉到下一表項,讀取該表項的時間戳。
9、 根據權利要求2所述的方法,其特征在于,所述調整條件為一閾值范圍。
10、 一種移動多媒體廣播系統的音視頻同步裝置,其特征在于,包括 映射關系表建立模塊,用于建立解碼后的音頻數據存放地址與時間戳的映射關系表;時間戳獲取模塊,用于根據當前播放的音頻數據所指向的存放地址查詢 所述映射關系表獲取音頻數據的時間戳,并且獲取當前正在播放的視頻數據 的時間戳;播放調整模塊,用于根據所述音頻數據的時間戳和視頻數據的時間戳, 對視頻播放進行調整,調整至音視頻同步狀態。
11、 根據權利要求IO所述的裝置,其特征在于,所述播放調整模塊進一 步包括時間戳比較子模塊,用于比較所述音頻數據的時間戳和視頻數據的時間戳; 差距計算子模塊,用于計算所述音頻數據的時間戳和視頻數據的時間戳的差距;視頻調整子模塊,用于當所述差距達到調整條件時,對視頻播放進行調整。
12、 根據權利要求10或11所述的裝置,其特征在于,還包括時間戳確認模塊,用于在比較音視頻時間戳之前,判斷所述音頻數據的 時間戳和視頻數據的時間戳是否可信,如果可信,則計算差距,如果不可信, 則;故棄當前幀。
13、 根據權利要求12所述的裝置,其特征在于,所述時間戳確認模塊進 一步包括判斷子模塊,用于判斷已播放的預置次數內的時間戳的值是否保持一定 距離范圍內的增長;確認子模塊,用于當判斷子模塊結果為是時,將當前時間戳確認為可信 數據;否定子模塊,用于當判斷子模塊結果為否時,認定當前時間戳為不可信數據。
14、 根據權利要求13所述的裝置,其特征在于,所述視頻調整子模塊進 一步包括暫停單元,用于當音頻時間戳晚于視頻時間戳時,視頻播放暫停一定數 量的幀;跳進單元,包括緩存判斷子單元,用于當音頻時間戳早于視頻時間戳時,判斷視頻數據 緩沖區中是否有視頻幀數據;跳幀子單元,用于當緩存判斷單元結果為是時,則視頻跳過一定數量的幀;緩跳子單元,用于當緩存判斷單元結果為否時,則記錄跳幀需求,待視 頻數據緩沖區準備好視頻數據后再跳幀。
15、 根據權利要求10或11所述的裝置,其特征在于,所述映射關系表為先進先出結構。
16、 根據權利要求15所述的裝置,其特征在于,所述映射關系表建立模 塊進一步包括地址記錄子模塊,用于記錄每幀音頻解碼后的音頻數據起始地址和終止 地址;時間戳記錄子模塊,用于記錄每幀音頻的時間戳;關系表建立子模塊,用于建立所述每幀音頻解碼后的音頻數據起始地址 和終止地址與每幀音頻的時間戳的映射關系表。
17、 根據權利要求16所述的裝置,其特征在于,所述時間戳獲取模塊還 包括更新子模塊,用于每隔一段時間檢查當前播放的音頻數據地址是否在所 述映射關系表的當前表項的音頻數據起始地址和終止地址范圍內;如果是, 則繼續讀取當前表項的時間戳;如果否,則跳轉到下一表項,讀取該表項的 時間戳。
18、 根據權利要求11所述的裝置,其特征在于,所述調整條件為一閾值 范圍。
19、 一種數字電視芯片,其特征在于,包括信道解碼模塊,用于將射頻前端處理后的基帶信號解碼為復用碼流;解復用^^莫塊,用于將復用碼流解復用為^L頻碼流和音頻碼流;視頻解碼器,用于視頻解碼;音頻解碼器,用于音頻解碼;視頻輸出模塊,用于輸出視頻數據;音頻輸出模塊,用于輸出音頻數據;以及,包括以下子模塊的音視頻同步模塊映射關系表建立子模塊,用于建立解碼后的音頻數據存放地址與時間戳 的映射關系表;時間戳獲取子模塊,用于根據當前播放的音頻數據所指向的存放地址查 詢所述映射關系表獲取音頻數據的時間戳,并且獲取當前正在播放的視頻數據的時間戳;播放調整子模塊,用于根據所述音頻數據的時間戳和視頻數據的時間戳, 對視頻播放進行調整,調整至音視頻同步狀態。
20、 根據權利要求19所述的數字電視芯片,其特征在于,所述播放調整 子模塊進一步包括時間戳比較單元,用于比較所述音頻數據的時間戳和視頻數據的時間戳; 差距計算單元,用于計算所述音頻數據的時間戳和視頻數據的時間戳的 差距;視頻調整單元,用于當所述差距達到調整條件時,對視頻播放進行調整。
21、 根據權利要求19或20所述的數字電視芯片,其特征在于,所述音 視頻同步模塊還包括時間戳確認子模塊,用于在比較音視頻時間戳之前,判斷所述音頻數據 的時間戳和視頻數據的時間戳是否可信,如果可信,則計算差距,如果不可 信,則放棄當前幀。
22、 根據權利要求21所述的數字電視芯片,其特征在于,所述時間戳確 認子模塊進一步包括判斷單元,用于判斷已播放的預置次數內的時間戳的值是否保持一定距 離范圍內的增長;確認單元,用于當判斷子模塊結果為是時,將當前時間戳確認為可信數據;否定單元,用于當判斷子模塊結果為否時,認定當前時間戳為不可信數據。
全文摘要
本發明提供了一種移動多媒體廣播系統的音視頻同步方法,包括建立解碼后的音頻數據存放地址與時間戳的映射關系表;根據當前播放的音頻數據所指向的存放地址查詢所述映射關系表獲取音頻數據的時間戳,并且獲取當前正在播放的視頻數據的時間戳;根據所述音頻數據的時間戳和視頻數據的時間戳,對視頻播放進行調整,調整至音視頻同步狀態。本發明針對廣播數據不可控的特點,實時比較音視頻的播放進度,給出相應調整意見,保證了在終端不能控制“源”的條件下音視頻播放的同步;針對廣播信道傳輸存在誤碼的情況,使用音視頻數據時間戳確認機制,克服了由于誤碼造成的音視頻同步的誤調整,抑制了廣播信道的傳輸誤碼導致的對音視頻調節的干擾。
文檔編號H04N5/04GK101394469SQ200810225160
公開日2009年3月25日 申請日期2008年10月29日 優先權日2008年10月29日
發明者巖 張, 輝 張, 曹晉宇, 王洪仁, 王西強, 偉 胡 申請人:北京創毅視訊科技有限公司