The invention relates to the field of broadcast and television and multimedia technology, in particular to a multi-channel audio soft coding mechanism based on FPGA embedded system. The extraction of effective PCM data the original audio data for each input channel through the FPGA embedded system, using DDR to complete the PCM data before encoding PCM frame and ES frame encoding after interaction, will be synchronized with video PTS value into the corresponding PES frame head and output. The object of the invention is to provide a multi-channel audio FPGA embedded system software encoding mechanism based on the technical proposal of the invention can parallel multi-channel receiving and processing of the original digital audio data and video synchronization PTS values for each channel PCM audio frame, and the corresponding relationship to maintain after encoding PES frame and PTS, to ensure the synchronization of audio and video.
【技術實現步驟摘要】
基于FPGA嵌入式系統的多路音頻軟編碼機制
本專利技術涉及廣播電視與多媒體
,特別是涉及一種基于FPGA嵌入式系統的多路音頻軟編碼機制。
技術介紹
在廣電與多媒體領域,人們對音頻質量的要求正在不斷地提高,從單聲道到立體聲,又在向多聲道發展,最廣泛采用的多聲道環繞聲配置是ITU-R建議的5.1聲道配置。而且同一視頻可以存在多個配音,比如多種語言。隨著工業技術的不斷提升,多媒體系統支持的視頻節目數也在不斷增加,與視頻對應的音頻的數目也會成比例增長。增加音頻編碼芯片的數量無疑會增加編碼系統的采購成本,各種音頻編碼芯片對編碼格式以及控制方式都有特殊的要求,這加大了設計的復雜程度延長了設計周期。
技術實現思路
本專利技術的專利技術目的在于提供一種基于FPGA嵌入式系統的多路音頻軟編碼機制,采用本專利技術提供的技術方案能夠并行地接收與處理多路的原始數字音頻數據,對各通道PCM音頻幀產生與視頻同步的PTS值,并將此對應關系保持到編碼后的PES幀和PTS值,保證音視頻同步。為了達到上述專利技術目的,本專利技術一方面提供一種多路音頻軟編碼方法,包括以下步驟:將每個輸入通道的原始音頻數據由串行格式轉為并行格式,并提取所述原始音頻數據的有效PCM數據,利用乘法器對所述PCM數據進行音量放大操作,根據音頻編碼算法調整所述PCM數據的PCM數據位寬,將所述PCM數據編碼成ES幀,采用DDR對所述PCM數據完成編碼前PCM幀和編碼后ES幀的交互,多個ES幀組成一個PES幀,將與視頻同步的PTS值寫入與之對應的PES幀頭部,將PES幀分解為多個個TS包并勻速輸出。本專利技術另一方面還 ...
【技術保護點】
一種多路音頻軟編碼方法,其特征在于:包括以下步驟:將每個輸入通道的原始音頻數據由串行格式轉為并行格式,并提取所述原始音頻數據的有效PCM數據,利用乘法器對所述PCM數據進行音量放大操作,根據音頻編碼算法調整所述PCM數據的PCM數據位寬,將所述PCM數據編碼成ES幀,采用DDR對所述PCM數據完成編碼前PCM幀和編碼后ES幀的交互,多個ES幀組成一個PES幀,將與視頻同步的PTS值寫入與之對應的PES幀頭部,將PES幀分解為多個個TS包并勻速輸出。
【技術特征摘要】
1.一種多路音頻軟編碼方法,其特征在于:包括以下步驟:將每個輸入通道的原始音頻數據由串行格式轉為并行格式,并提取所述原始音頻數據的有效PCM數據,利用乘法器對所述PCM數據進行音量放大操作,根據音頻編碼算法調整所述PCM數據的PCM數據位寬,將所述PCM數據編碼成ES幀,采用DDR對所述PCM數據完成編碼前PCM幀和編碼后ES幀的交互,多個ES幀組成一個PES幀,將與視頻同步的PTS值寫入與之對應的PES幀頭部,將PES幀分解為多個個TS包并勻速輸出。2.根據權利要求1所述的多路音頻軟編碼方法,采用DDR對所述PCM數據完成編碼前PCM幀和編碼后ES幀的交互,其特征在于:包括:將各通道輸入的所述PCM數據,通過系統總線和DDR控制器緩存在DDR內的PCM幀緩存區內;嵌入式處理器通過系統總線讀取所述PCM幀緩存區的PCM幀進行編碼;嵌入式處理器將所述PCM幀編碼生成的ES幀通過系統總線和DDR控制器緩存在DDR內的ES幀緩存區內,FPGA發送模塊讀取所述ES幀緩存區的數據輸出。3.一種多路音頻軟編碼裝置,其特征在于:包括PCM數據提取模塊、PCM音頻放大模塊、PCM數據緩沖器和DDR寫控制模塊;所述PCM數據提取模塊將原始數字音頻輸入格式由串行轉換為并行格式,并提取出所述原始數字音頻的有效PCM數據作為音頻編碼的原始輸入數據;所述PCM音頻放大模塊,內含有符號乘法器,用于放大所述PCM數據,并根據音頻編碼算法要求控制所述PCM數據的位寬;所述PCM數據緩沖器,內含有PCM數據緩存區,用于緩存所述PCM數據,緩存大小為系統總線寫burst長度,當緩存滿burst長度的PCM數據后,由所述DDR寫控制模塊控制將PCM數據緩存區的PCM數據發送到系統總線;所述DDR寫控制模塊,用于將傳入系統總線的PCM數據通過DDR控制器寫入FPGA片外的DDR內;DDR內分配有PCM幀交互區,用于將PCM數據以PCM幀的形式存放。4.一種利用FPGA嵌入式系統進行編碼和輸出編碼數據的方法,其特征在于:包括以下步驟:嵌入式CPU讀取權利要求3中所述PCM幀交互區的PCM幀進行音頻編碼成ES幀;CPU將音頻編碼后的ES幀寫入DDR分配的編碼ES幀交互區,并通知FPGA內部的發送模塊讀取所述ES幀;發送模塊通過系統總線讀出ES幀,并將N個ES幀組成一個PES幀,將與視頻同步的PTS值寫入與之對應的PES幀頭部,將PES幀分解為M個TS包,并將TS包勻速輸出。5.一種與視頻顯示實時同步的PTS值的產生方法,其特征在于:采用本地PTS計數逼近的方法產生與視頻實時同步的PTS值,包括以下步驟:實時提取視頻PCR;本地計數器PTS_counter在本地時鐘下進行計數,計數初始值為首次提取的視頻PCR值;每當視頻PCR更新,比較PTS_counter值與視頻PCR值之間的差值;設置一個差值門限,PTS_counter與視頻PCR差值大于差值門限,則調整PTS_counter值;PTS_counter與視頻PCR差值連續超過差值門限值預設次數之后,則將PTS_counter值置為視頻PCR值。將PTS_counter值作為與視頻同步的PTS值。6.根據權利要求5所述的PTS值的產生方法,其特征在于:包括:接收視頻編碼器的PCR包,提取出所述PCR包的PCR值,PCR值包含PCR_base與PCR_ext兩部分;本地PTS計數器對27Mhz時鐘進行計數,本地PTS計數器分為PTS_base與PTS_ext兩個計數器;PTS_ext計數器計數范圍0到299,當PTS_ext計數300個27Mhz時鐘周期后,PTS_ext計數歸零并且...
【專利技術屬性】
技術研發人員:李科,鄒偉華,
申請(專利權)人:偉樂視訊科技股份有限公司,
類型:發明
國別省市:廣東,44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。