摘 要: 本論文提出一種基于TMS320C6701 DSP實現(xiàn)HDTV信源解碼器的方案。用C6701實現(xiàn)系統(tǒng)控制、解復用、AC-3音頻解碼,用STi7000視頻解碼。與現(xiàn)有的HDTV信源解碼方案相比,本方案將核心芯片由三片(系統(tǒng)控制+解復用、視頻解碼和音頻解碼)減少到兩片,有利于系統(tǒng)集成,代表了HDTV信源解碼器的發(fā)展方向之一。
引言
數(shù)字高清晰度電視(HDTV)是繼黑白電視和彩色電視之后的新一代電視,HDTV接收機或機頂盒具有廣闊市場和巨大經濟效益,已經成為國際高科技領域研究開發(fā)的熱點之一。
HDTV接收系統(tǒng)由信道解碼、信源解碼、顯示終端組成。目前,多數(shù)HDTV信源解碼方案均由三片或三片以上的核心芯片組成,分別用于系統(tǒng)控制+解復用、視頻解碼、音頻解碼。為了提高系統(tǒng)的集成度,信源解碼方案正向著兩片方案過渡,最終可能實現(xiàn)單片解碼方案。本文提出一種兩片解碼方案:用TI的TMS320C6701完成系統(tǒng)控制、解復用、音頻解碼;用STi7000完成視頻解碼。
圖1 信源解碼器硬件框圖
圖2 信源解碼器軟件結構框圖
圖3 軟件解碼數(shù)據(jù)流圖
硬件設計
本信源解碼方案的硬件設計如圖1所示。
系統(tǒng)的核心為TMS320C6701 DSP,采用EPROM固化系統(tǒng)程序。C6701配接SDRAM用來存儲數(shù)據(jù)和工作程序。FIFO1用來輸入TS。視頻解碼器STi7000映射到C6701存儲空間。STi7000配有SDRAM用來存儲視頻PES、各種圖像(解碼、參考和顯示幀圖像)及OSD數(shù)據(jù)。視頻后處理部分由THS8134 DAC、CPLD及運放組成。系統(tǒng)本地時鐘和PWM產生器由FPGA實現(xiàn),它與VCXO、RC低通濾波器一起在C6701解復用軟件配合下完成27MHz時鐘恢復。音頻解碼由C6701軟件完成。音頻輸出部分由FIFO2、一個 74LS157和三個D/A芯片組成。音頻輸出所用時鐘和控制信號也由FPGA實現(xiàn)。
系統(tǒng)控制、解復用和音頻解碼
C6701是TI的高性能浮點DSP,時鐘為167MHz,具有1336MIPS能力。C6701的Memory Map選為Map0。在其存儲器的 CE0 空間中放置了1M*32位的SDRAM。在CE1空間放置了1M*16位EPROM。本系統(tǒng)使用ROM boot process,因此C6701的BOOTMODE[4:0] 引腳置為“10010”。C6701的程序超過64K字節(jié),因此從0地址開始執(zhí)行的是一個Loader,它把EPROM中其他程序繼續(xù)傳送到SDRAM中。傳送完成后,CPU開始從Loader以下的地址開始執(zhí)行程序。CE2空間用來放置異步器件,此時它的大小為4Mbytes。它被GAL內部的譯碼器等分為四個部分。前兩個部分放置STi7000;第三部分放置FIFO1;第四部分放置實現(xiàn)本地時鐘和PWM的FPGA。CE3空間僅放置FIFO2。
C6701 PLL模式被選為 *4 , 即輸入引腳CLKMODE[1:0] = 11b。41.75MHz由5V晶體振蕩器產生,經過LVT125做電平變換后輸入給C6701。C6701的SDCLK輸出加給零延遲時鐘緩沖器CY2308后分兩路分別提供給SDRAM。C6701所用的3.3V(VCC3)和1.9V(VCC1.9)由PT6921產生。本系統(tǒng)有一個 14腳插座, 它可與XDS510 emulator(硬件仿真器)連接起來實現(xiàn)仿真。C6701的HPI和串口1不被使用,相應引腳與跳線連接,以便系統(tǒng)功能擴展時使用。
本系統(tǒng)輸入為并行TS,輸入接口由TS數(shù)據(jù)(TSData[7:0]),DVALID,BCLK and ERROR組成。當TS數(shù)據(jù)輸入達到2KB時,F(xiàn)IFO的/HF信號有效,它作為一個中斷信號加給C6701 INT6腳。接到此中斷后,C6701運行有關中斷子程序,DMA將2KB TS數(shù)據(jù)取出傳輸?shù)紺6701片內的SRAM中。該FIFO映射到C6701 EMIF CE2空間。
27MHz系統(tǒng)時鐘恢復由FPGA(EPF10K20)中的計數(shù)器/PWM模塊、外部低通濾波器和VCXO在C6701相應軟件的控制下完成。VCXO輸出的時鐘信號輸入給FPGA中的一個42位計數(shù)器產生本地時鐘LMCR。當C6701按一定算法求得PCR與本地時鐘的差值后,將此差值輸出給FPGA的PWM模塊,該模塊將此差值轉換為PWM信號后輸出給低通濾波器,取出直流后控制VCXO輸出頻率。經一定時間的調整后,得到與發(fā)射方同步的27MHz。VCXO輸出的27MHz時鐘也提供給視頻解碼器使用。
視頻解碼
視頻解碼由ST公司的STi7000在C6701的相應軟件控制下實現(xiàn)。STi7000完成如下功能:a)接收C6701傳來的視頻PES并進行句法分析,取出ES存入SDRAM,取出DTS、PTS存入相應寄存器。b)找到ES中各層的開始碼并提取頭部信息,存入相應寄存器中,發(fā)中斷給C6701。C6701讀取這些頭部信息,并據(jù)此控制解碼流水線工作。c)STi7000的核心是硬件SLICE層以下解碼流水線。它從SDRAM中讀出ES,進行解壓縮(VLD-反掃描-IDCT-運動補償)得到重構圖像,并根據(jù)其類型(I、B或P幀)存入SDRAM相應區(qū)內。在流水線開始每一幀圖像解碼前,C6701要根據(jù)該幀類型等參數(shù)向STi7000發(fā)解碼命令。解碼流水線另一個重要功能是實現(xiàn)隱錯。d)視頻格式轉換:圖像輸出前,可進行各種格式變換(水平分辨率上下變換;垂直行數(shù)上下變換;隔行(I)和逐行(P)相互變換;3:2電影下拉模式和幅型比(4:3或16:9)變換(FULL、ZOOM、LETTERBOX和SIDEBAR)。e)實現(xiàn)OSD功能。
STi7000約有110個寄存器,分為配置、控制、存儲器存取、解碼指令、顯示、OSD、時鐘/鎖相環(huán)、D1接口、PES等9類。 C6701對STi7000各寄存器的存取通過STi7000的8位微控制器接口進行。該接口映射入C6701 EMIF CE2空間最低1MB內。其8位數(shù)據(jù)線接到LVT16245一邊;8位地址線接LVT16244輸出邊;片選(notA_cs)接GAL相應的輸出,讀寫(A_RnotW)接LVT16244輸出/B_AWE上。中斷請求信號(notA_IRQ)接C6701 INT4腳。C6701通過STi7000的8位并行數(shù)據(jù)接口向STi7000寫入視頻壓縮數(shù)據(jù)。該接口與上述8位微處理器接口共用8位數(shù)據(jù)線。壓縮數(shù)據(jù)請求信號接C6701 INT5腳。壓縮數(shù)據(jù)選通輸入notA_STRB則由GAL提供。
STi7000需要128Mbit的SDRAM存儲器,由兩片4*512K*32-Bit的100MHz SDRAM芯片組成。STi7000要求SDRAM具有如下特點:全頁Burst長度;連續(xù)Wrap;3周期CAS Latency。SDRAM和STi7000實現(xiàn)“glueless(無膠合)”連接。
本系統(tǒng)采用TI的THS8134實現(xiàn)視頻輸出D/A變換。本系統(tǒng)只實現(xiàn)HD輸出方式。STi7000的24Bit Y、Cb、Cr數(shù)字視頻信號和PIXCLK直接輸出給THS8134,產生模擬Y、Pb、Pr分量信號。STi7000的PIXCLK、HSYNC和VSYNC信號加給一個CPLD(EPM7128)。該CPLD控制THS8134按照相應的標準(1080I格式對應SMPTE274M;720P格式對應SMPTE296M;480P格式對應SMPTE293M;480I格式對應SMPTE170M)分別在Y、Pb、Pr分量上疊加三電平(1080I和720P)或兩電平(480P)復合同步信號,然后經運算放大器放大后輸出。這四種格式由C6701 TOUT0和TOUT1輸出的Displaymode0和1選擇。
當音頻開始輸出時,C6701先將4KB數(shù)據(jù)寫入FIFO2中。FIFO2映射入C6701 EMIF CE3空間。FIFO2的滿標志/FF信號有效,它觸發(fā)FPGA內相應模塊開始工作,將音頻主時鐘12.2880MHz時鐘分頻產生LRCLK(左右時鐘信號,頻率48KHz)和SCLK(串行時鐘,頻率為3.072MHz)。SCLK信號作為FIFO2的讀信號,而LRCLK則作為74LS157的輸入選擇信號。當LRCLK為高電平時,左(左環(huán)、中央聲道)數(shù)據(jù)輸出給三個DAC芯片;當LRCLK為低電平時,右(右環(huán)、LFE)數(shù)據(jù)輸出給三個DAC芯片。MCLK、LRCLK和SCLK同時輸入給三個DAC芯片。由三個DAC輸出的5.1聲道經放大后分別輸出。當FIFO2中已輸出2KB數(shù)據(jù)時,其/HF無效,此信號接至C6701 INT7輸入腳,觸發(fā)該中斷。C6701執(zhí)行相應的中斷子程序,再向FIFO2輸出2KB數(shù)據(jù),如此循環(huán),保證音頻信號持續(xù)輸出。
軟件設計
系統(tǒng)的軟件結構如圖2所示。
在C6701內部有64Kbytes的數(shù)據(jù)SRAM和64Kbytes的Cache/Program SRAM。程序SRAM經初始化用作Cache。64K字節(jié)的片內數(shù)據(jù)RAM被組織成兩個塊。它們的地址分別為8000 0000h到8000 7FFFh和8000 8000h到8000 FFFFh。當CPU的Side A和Side B或者DMA控制器同時使用不同塊時,不會引起沖突。因此,同時訪問的數(shù)據(jù)位于不同塊時,不需考慮它們的地址。整個片內數(shù)據(jù)RAM分為五個部分:TS_Buffer(4K字節(jié))用來緩沖輸入的TS;V_PES_Buffer(16K字節(jié))用來存放視頻PES; A_PES_Buffer(8K字節(jié)) 用來存放音頻PES/ES; A_Buffer(32K字節(jié)) 用來存放解壓縮后的音頻數(shù)據(jù);剩余的部分用于緩存中間計。
算數(shù)據(jù)。每一部分Buffer又分成兩個塊,以乒乓方式使用。即一塊由CPU使用時,另一塊可以同時進行存貯或由DMA使用。
軟件整個系統(tǒng)解碼數(shù)據(jù)流圖如圖3所示。首先FIFO1接收到的TS數(shù)據(jù)到其存儲量的一半(2KB),發(fā)出中斷(INTa)激活DMA3。DMA3把FIFO1里一半的數(shù)據(jù)倒到C6701的片內存儲器TS_Buffer中,并在傳輸完成時發(fā)出中斷(INTb),INTb的中斷服務程序發(fā)出信號semPES激活解復用任務。解復用任務從片內存儲器中取出TS數(shù)據(jù)進行相應處理,然后把分離出的音視頻PES數(shù)據(jù)送回片內存儲器,當A_PES_Buffer填充一半時,通過信號量semAudio激活音頻處理任務。音頻處理任務從A_PES_Buffer中取出音頻PES數(shù)據(jù),解碼后存到A_Buffer。當A_Buffer中的數(shù)據(jù)積累到一定數(shù)量時,激活DMA2。DMA2把解碼后的4KB音頻數(shù)據(jù)輸出給FIFO2,F(xiàn)IFO2的/FF信號(滿標志)啟動音
頻數(shù)據(jù)由FIFO2的讀出。音頻輸出FIFO2半空時會發(fā)出中斷INTc,激活DMA2。DMA2把A_Buffer中的數(shù)據(jù)再傳送2KB到FIFO2去,如此繼續(xù)下去。視頻PES數(shù)據(jù)由DMA0從V_PES_Buffer不斷地倒到片外SDRAM中,當接到STi7000請求時,激活DMA1,把SDRAM中緩存的的視頻PES數(shù)據(jù)輸出給STi7000,進行解碼,然后,經視頻后處理后輸出給顯示器。
解復用的功能包括:PSI分析,時鐘恢復以及對傳輸包拆包并傳給相應的buffer(緩存器)。
視頻解碼的功能是對視頻PES進行解壓縮,恢復出視頻流。在系統(tǒng)中,Video Driver的中斷的優(yōu)先級被設為最高。視頻解碼系統(tǒng)主要是通過中斷來觸發(fā)其它過程的進行,中斷是視頻解碼主線,操縱著整個視頻解碼的過程。
音頻解碼的功能是對音頻PES進行AC-3解壓縮,恢復出音頻流。音頻解碼從音頻PES包解碼開始,在6701片內的數(shù)據(jù)存儲區(qū)中開辟A_PES_Buffer(由兩塊各4KB對稱的存儲區(qū)組成),解復用得到的音頻PES數(shù)據(jù)以乒乓方式存儲到這兩個區(qū)域。經過拆包PES數(shù)據(jù)得到的ES數(shù)據(jù)直接覆蓋PES數(shù)據(jù)所處區(qū)域。然后開始音頻解碼的核心計算,將解碼輸出的PCM數(shù)據(jù)格式化后存儲到片內數(shù)據(jù)存儲區(qū)中開辟的兩塊(各16K)PCM緩沖區(qū)中,利用DMA2將其中的數(shù)據(jù)輸出給片外的FIFO。
結語
本論文提出了一種基于通用DSP C6701的HDTV信源解碼器兩片解決方案。隨著技術的進步,將來可能會提出HDTV信源解碼器單片解決方案。即在單個功能強大的芯片的基礎上,很多工作可以由軟件控制實現(xiàn)。本論文提出的HDTV信源解碼器解決方案對于下一代HDTV信源解碼器的研制具有重要的參考價值。





引言
數(shù)字高清晰度電視(HDTV)是繼黑白電視和彩色電視之后的新一代電視,HDTV接收機或機頂盒具有廣闊市場和巨大經濟效益,已經成為國際高科技領域研究開發(fā)的熱點之一。
HDTV接收系統(tǒng)由信道解碼、信源解碼、顯示終端組成。目前,多數(shù)HDTV信源解碼方案均由三片或三片以上的核心芯片組成,分別用于系統(tǒng)控制+解復用、視頻解碼、音頻解碼。為了提高系統(tǒng)的集成度,信源解碼方案正向著兩片方案過渡,最終可能實現(xiàn)單片解碼方案。本文提出一種兩片解碼方案:用TI的TMS320C6701完成系統(tǒng)控制、解復用、音頻解碼;用STi7000完成視頻解碼。

圖1 信源解碼器硬件框圖

圖2 信源解碼器軟件結構框圖

圖3 軟件解碼數(shù)據(jù)流圖
硬件設計
本信源解碼方案的硬件設計如圖1所示。
系統(tǒng)的核心為TMS320C6701 DSP,采用EPROM固化系統(tǒng)程序。C6701配接SDRAM用來存儲數(shù)據(jù)和工作程序。FIFO1用來輸入TS。視頻解碼器STi7000映射到C6701存儲空間。STi7000配有SDRAM用來存儲視頻PES、各種圖像(解碼、參考和顯示幀圖像)及OSD數(shù)據(jù)。視頻后處理部分由THS8134 DAC、CPLD及運放組成。系統(tǒng)本地時鐘和PWM產生器由FPGA實現(xiàn),它與VCXO、RC低通濾波器一起在C6701解復用軟件配合下完成27MHz時鐘恢復。音頻解碼由C6701軟件完成。音頻輸出部分由FIFO2、一個 74LS157和三個D/A芯片組成。音頻輸出所用時鐘和控制信號也由FPGA實現(xiàn)。
系統(tǒng)控制、解復用和音頻解碼
C6701是TI的高性能浮點DSP,時鐘為167MHz,具有1336MIPS能力。C6701的Memory Map選為Map0。在其存儲器的 CE0 空間中放置了1M*32位的SDRAM。在CE1空間放置了1M*16位EPROM。本系統(tǒng)使用ROM boot process,因此C6701的BOOTMODE[4:0] 引腳置為“10010”。C6701的程序超過64K字節(jié),因此從0地址開始執(zhí)行的是一個Loader,它把EPROM中其他程序繼續(xù)傳送到SDRAM中。傳送完成后,CPU開始從Loader以下的地址開始執(zhí)行程序。CE2空間用來放置異步器件,此時它的大小為4Mbytes。它被GAL內部的譯碼器等分為四個部分。前兩個部分放置STi7000;第三部分放置FIFO1;第四部分放置實現(xiàn)本地時鐘和PWM的FPGA。CE3空間僅放置FIFO2。
C6701 PLL模式被選為 *4 , 即輸入引腳CLKMODE[1:0] = 11b。41.75MHz由5V晶體振蕩器產生,經過LVT125做電平變換后輸入給C6701。C6701的SDCLK輸出加給零延遲時鐘緩沖器CY2308后分兩路分別提供給SDRAM。C6701所用的3.3V(VCC3)和1.9V(VCC1.9)由PT6921產生。本系統(tǒng)有一個 14腳插座, 它可與XDS510 emulator(硬件仿真器)連接起來實現(xiàn)仿真。C6701的HPI和串口1不被使用,相應引腳與跳線連接,以便系統(tǒng)功能擴展時使用。
本系統(tǒng)輸入為并行TS,輸入接口由TS數(shù)據(jù)(TSData[7:0]),DVALID,BCLK and ERROR組成。當TS數(shù)據(jù)輸入達到2KB時,F(xiàn)IFO的/HF信號有效,它作為一個中斷信號加給C6701 INT6腳。接到此中斷后,C6701運行有關中斷子程序,DMA將2KB TS數(shù)據(jù)取出傳輸?shù)紺6701片內的SRAM中。該FIFO映射到C6701 EMIF CE2空間。
27MHz系統(tǒng)時鐘恢復由FPGA(EPF10K20)中的計數(shù)器/PWM模塊、外部低通濾波器和VCXO在C6701相應軟件的控制下完成。VCXO輸出的時鐘信號輸入給FPGA中的一個42位計數(shù)器產生本地時鐘LMCR。當C6701按一定算法求得PCR與本地時鐘的差值后,將此差值輸出給FPGA的PWM模塊,該模塊將此差值轉換為PWM信號后輸出給低通濾波器,取出直流后控制VCXO輸出頻率。經一定時間的調整后,得到與發(fā)射方同步的27MHz。VCXO輸出的27MHz時鐘也提供給視頻解碼器使用。
視頻解碼
視頻解碼由ST公司的STi7000在C6701的相應軟件控制下實現(xiàn)。STi7000完成如下功能:a)接收C6701傳來的視頻PES并進行句法分析,取出ES存入SDRAM,取出DTS、PTS存入相應寄存器。b)找到ES中各層的開始碼并提取頭部信息,存入相應寄存器中,發(fā)中斷給C6701。C6701讀取這些頭部信息,并據(jù)此控制解碼流水線工作。c)STi7000的核心是硬件SLICE層以下解碼流水線。它從SDRAM中讀出ES,進行解壓縮(VLD-反掃描-IDCT-運動補償)得到重構圖像,并根據(jù)其類型(I、B或P幀)存入SDRAM相應區(qū)內。在流水線開始每一幀圖像解碼前,C6701要根據(jù)該幀類型等參數(shù)向STi7000發(fā)解碼命令。解碼流水線另一個重要功能是實現(xiàn)隱錯。d)視頻格式轉換:圖像輸出前,可進行各種格式變換(水平分辨率上下變換;垂直行數(shù)上下變換;隔行(I)和逐行(P)相互變換;3:2電影下拉模式和幅型比(4:3或16:9)變換(FULL、ZOOM、LETTERBOX和SIDEBAR)。e)實現(xiàn)OSD功能。
STi7000約有110個寄存器,分為配置、控制、存儲器存取、解碼指令、顯示、OSD、時鐘/鎖相環(huán)、D1接口、PES等9類。 C6701對STi7000各寄存器的存取通過STi7000的8位微控制器接口進行。該接口映射入C6701 EMIF CE2空間最低1MB內。其8位數(shù)據(jù)線接到LVT16245一邊;8位地址線接LVT16244輸出邊;片選(notA_cs)接GAL相應的輸出,讀寫(A_RnotW)接LVT16244輸出/B_AWE上。中斷請求信號(notA_IRQ)接C6701 INT4腳。C6701通過STi7000的8位并行數(shù)據(jù)接口向STi7000寫入視頻壓縮數(shù)據(jù)。該接口與上述8位微處理器接口共用8位數(shù)據(jù)線。壓縮數(shù)據(jù)請求信號接C6701 INT5腳。壓縮數(shù)據(jù)選通輸入notA_STRB則由GAL提供。
STi7000需要128Mbit的SDRAM存儲器,由兩片4*512K*32-Bit的100MHz SDRAM芯片組成。STi7000要求SDRAM具有如下特點:全頁Burst長度;連續(xù)Wrap;3周期CAS Latency。SDRAM和STi7000實現(xiàn)“glueless(無膠合)”連接。
本系統(tǒng)采用TI的THS8134實現(xiàn)視頻輸出D/A變換。本系統(tǒng)只實現(xiàn)HD輸出方式。STi7000的24Bit Y、Cb、Cr數(shù)字視頻信號和PIXCLK直接輸出給THS8134,產生模擬Y、Pb、Pr分量信號。STi7000的PIXCLK、HSYNC和VSYNC信號加給一個CPLD(EPM7128)。該CPLD控制THS8134按照相應的標準(1080I格式對應SMPTE274M;720P格式對應SMPTE296M;480P格式對應SMPTE293M;480I格式對應SMPTE170M)分別在Y、Pb、Pr分量上疊加三電平(1080I和720P)或兩電平(480P)復合同步信號,然后經運算放大器放大后輸出。這四種格式由C6701 TOUT0和TOUT1輸出的Displaymode0和1選擇。
當音頻開始輸出時,C6701先將4KB數(shù)據(jù)寫入FIFO2中。FIFO2映射入C6701 EMIF CE3空間。FIFO2的滿標志/FF信號有效,它觸發(fā)FPGA內相應模塊開始工作,將音頻主時鐘12.2880MHz時鐘分頻產生LRCLK(左右時鐘信號,頻率48KHz)和SCLK(串行時鐘,頻率為3.072MHz)。SCLK信號作為FIFO2的讀信號,而LRCLK則作為74LS157的輸入選擇信號。當LRCLK為高電平時,左(左環(huán)、中央聲道)數(shù)據(jù)輸出給三個DAC芯片;當LRCLK為低電平時,右(右環(huán)、LFE)數(shù)據(jù)輸出給三個DAC芯片。MCLK、LRCLK和SCLK同時輸入給三個DAC芯片。由三個DAC輸出的5.1聲道經放大后分別輸出。當FIFO2中已輸出2KB數(shù)據(jù)時,其/HF無效,此信號接至C6701 INT7輸入腳,觸發(fā)該中斷。C6701執(zhí)行相應的中斷子程序,再向FIFO2輸出2KB數(shù)據(jù),如此循環(huán),保證音頻信號持續(xù)輸出。
軟件設計
系統(tǒng)的軟件結構如圖2所示。
在C6701內部有64Kbytes的數(shù)據(jù)SRAM和64Kbytes的Cache/Program SRAM。程序SRAM經初始化用作Cache。64K字節(jié)的片內數(shù)據(jù)RAM被組織成兩個塊。它們的地址分別為8000 0000h到8000 7FFFh和8000 8000h到8000 FFFFh。當CPU的Side A和Side B或者DMA控制器同時使用不同塊時,不會引起沖突。因此,同時訪問的數(shù)據(jù)位于不同塊時,不需考慮它們的地址。整個片內數(shù)據(jù)RAM分為五個部分:TS_Buffer(4K字節(jié))用來緩沖輸入的TS;V_PES_Buffer(16K字節(jié))用來存放視頻PES; A_PES_Buffer(8K字節(jié)) 用來存放音頻PES/ES; A_Buffer(32K字節(jié)) 用來存放解壓縮后的音頻數(shù)據(jù);剩余的部分用于緩存中間計。
算數(shù)據(jù)。每一部分Buffer又分成兩個塊,以乒乓方式使用。即一塊由CPU使用時,另一塊可以同時進行存貯或由DMA使用。
軟件整個系統(tǒng)解碼數(shù)據(jù)流圖如圖3所示。首先FIFO1接收到的TS數(shù)據(jù)到其存儲量的一半(2KB),發(fā)出中斷(INTa)激活DMA3。DMA3把FIFO1里一半的數(shù)據(jù)倒到C6701的片內存儲器TS_Buffer中,并在傳輸完成時發(fā)出中斷(INTb),INTb的中斷服務程序發(fā)出信號semPES激活解復用任務。解復用任務從片內存儲器中取出TS數(shù)據(jù)進行相應處理,然后把分離出的音視頻PES數(shù)據(jù)送回片內存儲器,當A_PES_Buffer填充一半時,通過信號量semAudio激活音頻處理任務。音頻處理任務從A_PES_Buffer中取出音頻PES數(shù)據(jù),解碼后存到A_Buffer。當A_Buffer中的數(shù)據(jù)積累到一定數(shù)量時,激活DMA2。DMA2把解碼后的4KB音頻數(shù)據(jù)輸出給FIFO2,F(xiàn)IFO2的/FF信號(滿標志)啟動音
頻數(shù)據(jù)由FIFO2的讀出。音頻輸出FIFO2半空時會發(fā)出中斷INTc,激活DMA2。DMA2把A_Buffer中的數(shù)據(jù)再傳送2KB到FIFO2去,如此繼續(xù)下去。視頻PES數(shù)據(jù)由DMA0從V_PES_Buffer不斷地倒到片外SDRAM中,當接到STi7000請求時,激活DMA1,把SDRAM中緩存的的視頻PES數(shù)據(jù)輸出給STi7000,進行解碼,然后,經視頻后處理后輸出給顯示器。
解復用的功能包括:PSI分析,時鐘恢復以及對傳輸包拆包并傳給相應的buffer(緩存器)。
視頻解碼的功能是對視頻PES進行解壓縮,恢復出視頻流。在系統(tǒng)中,Video Driver的中斷的優(yōu)先級被設為最高。視頻解碼系統(tǒng)主要是通過中斷來觸發(fā)其它過程的進行,中斷是視頻解碼主線,操縱著整個視頻解碼的過程。
音頻解碼的功能是對音頻PES進行AC-3解壓縮,恢復出音頻流。音頻解碼從音頻PES包解碼開始,在6701片內的數(shù)據(jù)存儲區(qū)中開辟A_PES_Buffer(由兩塊各4KB對稱的存儲區(qū)組成),解復用得到的音頻PES數(shù)據(jù)以乒乓方式存儲到這兩個區(qū)域。經過拆包PES數(shù)據(jù)得到的ES數(shù)據(jù)直接覆蓋PES數(shù)據(jù)所處區(qū)域。然后開始音頻解碼的核心計算,將解碼輸出的PCM數(shù)據(jù)格式化后存儲到片內數(shù)據(jù)存儲區(qū)中開辟的兩塊(各16K)PCM緩沖區(qū)中,利用DMA2將其中的數(shù)據(jù)輸出給片外的FIFO。
結語
本論文提出了一種基于通用DSP C6701的HDTV信源解碼器兩片解決方案。隨著技術的進步,將來可能會提出HDTV信源解碼器單片解決方案。即在單個功能強大的芯片的基礎上,很多工作可以由軟件控制實現(xiàn)。本論文提出的HDTV信源解碼器解決方案對于下一代HDTV信源解碼器的研制具有重要的參考價值。
- HDTV(50085)
- 源解碼器(5265)
相關推薦
音頻編解碼器技術
語音編解碼器技術的發(fā)展一定程度上處于靜止狀態(tài),但音頻編解碼器技術一直在向前演進。音頻編解碼器朝更多的環(huán)繞聲通道發(fā)展就是一個趨勢。
2012-02-03 16:17:11
4774

HDTV的一體機與分體機的區(qū)別
HDTV的一體機與分體機的區(qū)別 HDTV數(shù)字高清電視機,可以劃分為一體機和分體機。一體機就是電視顯示器內置機頂盒(信源解碼、信道解碼、條件接收)完整功能,一體機直接標識為HDTV
2009-05-24 18:18:39
解碼器常見故障及解決方法
一、為什么解碼器碼轉燈不閃? 現(xiàn)象:軟件設置(燈不閃,主要是碼轉換器未進行工作,先從軟件設置著手解決這個問題) 解決方案:1、軟件中的解碼器設置(解碼器協(xié)議、com口、波特率、校驗位、數(shù)據(jù)位
2020-12-11 14:12:09
AMBA解碼器產品手冊
解碼器執(zhí)行三個功能:
·它為每個總線從機生成從機選擇信號(DSELx),表示需要傳輸?shù)皆搹臋C。
·當未選擇從機時,它在僅地址傳輸期間產生從機響應信號(BWAIT、BLAST和BERROR)。
·它可
2023-08-22 06:26:05
ESS的ES9311Q 音響、功放、解碼器
\音響系統(tǒng)ES9026PRO 解碼器ES9028Q2M 手機,手持播放器,解碼器ES9028PRO 音響、功放、解碼器ES9038Q2M 手機,手持播放器,解碼器ES9038PRO 音響、功放、解碼器
2019-11-27 13:49:07
EVAL-ADV7401EBZ評估板使用ADV7401 10位,多格式SDTV / HDTV視頻解碼器
EVAL-ADV7401EBZ,評估板,使用ADV7401 10位,集成,多格式SDTV / HDTV視頻解碼器和RGB圖形數(shù)字轉換器
2020-06-08 14:29:06
EVAL-ADV7401EB評估板,使用ADV7401多格式SDTV / HDTV視頻解碼器和RGB圖形數(shù)字轉換器
EVAL-ADV7401EB,評估板,使用ADV7401 10位,集成,多格式SDTV / HDTV視頻解碼器和RGB圖形數(shù)字轉換器
2020-06-15 16:18:50
EVAL-ADV7403EBZ評估板使用ADV7403 10位,多格式SDTV / HDTV視頻解碼器
EVAL-ADV7403EBZ,評估板,使用ADV7403 10位,集成,多格式SDTV / HDTV視頻解碼器和RGB圖形數(shù)字轉換器
2020-06-08 15:59:32
EVAL-ADV7403EB使用ADV7403 10位,集成,多格式SDTV / HDTV視頻解碼器和RGB圖形數(shù)字轉換器
EVAL-ADV7403EB,評估板,使用ADV7403 10位,集成,多格式SDTV / HDTV視頻解碼器和RGB圖形數(shù)字轉換器
2020-06-15 06:48:29
H264高度壓縮數(shù)字視頻編解碼器標準是如何工作的
H264高度壓縮數(shù)字視頻編解碼器標準的主要部分有哪些?H264高度壓縮數(shù)字視頻編解碼器標準是如何工作的?
2021-09-23 08:29:47
PSoC 4 正交解碼器 (QuadDec)
正交解碼器 (QuadDec) 組件提供針對成對數(shù)字信號的躍變進行計數(shù)的功能。這些信號通常由電機或軌跡球上安裝的速度/位置反饋系統(tǒng)來提供
2013-07-04 11:19:42
kaldi解碼器在嵌入式平臺運行方法
該博文屬于系列文章,其他文章參考總覽:kaldi嵌入式平臺的移植及實現(xiàn)前言前面的博文kaldi源碼的交叉編譯已經將嵌入式平臺的解碼器編譯完成,解碼器有GMM、nnet2、nnet3等等,GMM解碼器
2021-12-14 08:37:24
【FPGA設計實例】基于FPGA的正交解碼器建立
本節(jié)知識我們講解如何用FPGA建立正交解碼器正交解碼器FPGA是最適合建立正交解碼器。正交信號是什么? 正交信號是兩個信號產生相位差90度。機械系統(tǒng)中,它們被用來確定軸(或旋轉)運動。這里是一軸
2012-03-15 09:29:46
具有外部穿孔的Viterbi解碼器如何解碼呢?
根據(jù)維特比解碼器數(shù)據(jù)表,硬編碼不能進行擦除(外部穿孔)(即僅對軟編碼有效)。如果我有硬輸入,我將如何解碼呢?我已經在解碼器之前解析了我的數(shù)據(jù)。我現(xiàn)在需要知道的是,如果我有一個硬輸入,我將如何使我
2019-03-14 10:19:54
如何設計SD卡圖片解碼器?
目前,對于圖片解碼器的研究主要是針對PC環(huán)境,設計工作只是在原有基礎上的升級,對系統(tǒng)和硬件的考慮較少,不能在嵌入式系統(tǒng)中直接實現(xiàn)。
2019-08-12 07:57:13
怎么實現(xiàn)ffmpeg解碼器到龍芯3B的移植?
本文實現(xiàn)了ffmpeg解碼器到龍芯3B的移植,并針對龍芯3B實現(xiàn)了對向量擴展指令支持的特點,對ffmpeg解碼器進行了手工向量化。
2021-06-02 06:57:33
怎么實現(xiàn)基于IPP的嵌入式音頻解碼器的設計?
基于Linux的系統(tǒng)框架和集成開發(fā)環(huán)境怎么搭建?怎么實現(xiàn)基于IPP的嵌入式音頻解碼器的設計?
2021-06-04 07:03:18
怎么理解真正的編碼器和解碼器?
在進入關于編碼器和解碼器的現(xiàn)實之前,讓我們對復用進行簡要的思考。通常我們會在需要將一些輸入信號一次一個地加載到一個單獨負載的應用程序中。選擇輸入信號中的一個輸入信號的過程稱為多路復用。這種操作
2020-09-01 17:48:10
模擬列車DCC解碼器的資料分享
描述模擬列車 DCC 解碼器該解碼器包括所有主要功能,前進,后退和運動方向的燈光。所有這些參數(shù)都可以在程序中更改,在線編程是一個懸而未決的任務。將在其中添加一個電容器,以保持電力免受軌道中小電流損失的影響。PCB
2022-08-29 06:19:42
淺析:解碼器中防雷系統(tǒng)和保險絲作用
品牌較好的解碼器中都配有防雷系統(tǒng)和保險絲,以應對雷擊和電源短路等意外情況的發(fā)生?! 《鄶?shù)追求品質的解碼器通常帶有簡易的防雷系統(tǒng),主要是防止感應雷通過RS485總線對解碼器的破壞。標準的防雷系統(tǒng)價格
2017-07-03 10:04:18
淺析:解碼器中防雷系統(tǒng)和保險絲作用
本帖最后由 maskmyself 于 2017-7-7 15:11 編輯
品牌較好的解碼器中都配有防雷系統(tǒng)和保險絲,以應對雷擊和電源短路等意外情況的發(fā)生?! 《鄶?shù)追求品質的解碼器通常帶有簡易
2017-07-06 09:52:18
編解碼器的工作原理是什么?
編解碼器是用于對數(shù)字媒體文件(如歌曲或視頻)進行壓縮或解壓縮的軟件。Windows Media Player 和其他程序使用編解碼器來播放并創(chuàng)建數(shù)字媒體文件。
2020-04-06 09:00:42
請問如何控制解碼器解碼的速度呢
請問如何控制解碼解碼的速度,我發(fā)現(xiàn)在解碼過程中添加延時會導致解碼器錯誤線程A 往mpp解碼器送數(shù)據(jù) 調用函數(shù)decode_put_packet(ffmpeg 拉流)線程B 解碼數(shù)據(jù) 調用函數(shù)
2022-09-15 16:05:48
誰能告訴我正交脈沖解碼器的原理
手上有一款凌陽的GPCD9系列的IC,芯片帶有兩個正交脈沖解碼器,看了編程指南,解碼器識別到輸入脈沖后,counter會開始計數(shù),并且產生中斷?,F(xiàn)在我的問題是:如果運用到實際方面,怎樣檢測一個運動的位移和速度呢?請簡答解答下,不勝感激,另外,兩個脈沖的周期是不是要求是一致的,只是相位不同而已呢?
2014-03-13 15:20:08
這個很特別 音頻解碼器
`淘來一塊藍牙板,看屁股應該是音頻解碼器,前面兩個咪咪,一個指示燈一個像信號接收器。應該是樹立著使用的東西,和市面上買的解碼器設計不一樣。接了12v電源,手機能連接上藍牙,但是接功放沒聲音。板子上有很多外接插口。如果需要接調音電位器,哪個才是啊?`
2020-03-09 09:16:22
基于嵌入式Linux的HDTV碼流發(fā)生器
該文介紹的HDTV 播放系統(tǒng)是在μClinux-Coldfire 操作系統(tǒng)下, 以Coldfire5307 為主控制器控制硬盤進行HDTV 碼流讀寫的。該系統(tǒng)作為解碼器的前端, 可以實現(xiàn)HDTV 碼流適時播放的功能。該文
2009-05-15 15:40:10
12

基于DTMF的解碼器設計
本文介紹了DTMF 解碼芯片MT8870 的功能和特點,給出了在解碼器中與89C51 單片機的接口電路,說明了解碼器的工作原理抗干擾措施。關鍵詞:單片機抗干擾 DTMF 解碼監(jiān)控在一
2009-08-19 08:20:53
71

基于DTMF的解碼器設計
本文介紹了DTMF 解碼芯片MT8870 的功能和特點,給出了在解碼器中與89C51 單片機的接口電路,說明了解碼器的工作原理抗干擾措施。關鍵詞:單片機抗干擾 DTMF 解碼監(jiān)控在一
2009-08-21 09:42:59
33

迭代結構的信源信道聯(lián)合解碼及其簡化算法
迭代結構的信源信道聯(lián)合解碼及其簡化算法:信源信道聯(lián)合解碼算法中的迭代信道解碼需要進行比特似然值和概率值轉換,以及聯(lián)乘、累加運算,增加了信道解碼的計算復雜度,該文
2009-10-29 13:09:54
12

什么是音頻編解碼器?
什么是音頻編解碼器?
編解碼器(編碼器/解碼器)轉換成模擬信號的數(shù)字碼流,另一個相同的編解碼器轉換為數(shù)字流回到成模擬信
2009-05-03 23:48:59
3870

高清數(shù)字電視的信源編解碼技術
高清數(shù)字電視的信源編解碼技術
因要顯示1920×1080i HDTV高清節(jié)目圖像,其數(shù)字化后的碼率在傳輸中高達995Mbit/s,這比現(xiàn)行模擬電視的傳
2009-05-05 09:18:56
1327

基于SC2005的DVB-C機頂盒信源解碼器
在機頂盒的研發(fā)過程中,信源解碼器的研制是整個開發(fā)工作的基礎和核心。隨著機卡分離政策的出臺,信源解碼器的通用性和復雜性,使其在機頂盒終端的開發(fā)過程中變得更
2010-09-11 17:39:13
2007


有效的golomb解碼器設計
本文設計了一種有效的適合硬件實現(xiàn)的golomb 解碼器 ,并且完成了解碼器電路的硬件實現(xiàn)。本設計采用有限狀態(tài)機與計數(shù)器相結合的解碼結構,并且對有限狀態(tài)機的實現(xiàn)進行了優(yōu)化
2011-06-29 18:05:44
29

#硬聲創(chuàng)作季 帶你重新認識一下DC300音頻解碼器。?#發(fā)燒音響?#DAC解碼器??#BRZHIFI?
解碼器音響音頻解碼器
深??聃?/span>發(fā)布于 2022-11-22 02:06:06



什么是視頻解碼器_有什么用
視頻解碼器是指一個能夠對數(shù)字視頻進行壓縮或者解壓縮的程序或者設備。 專業(yè)級視頻解碼器IRD2600是一種可根據(jù)用戶特殊應用而“量身定做的” MPEG-2/DVB標準的綜合接收解碼器,IRD-2600/H提供各種專業(yè)或選定的視頻、音頻接口。
2018-03-22 15:23:23
25861

CoreEL 4K AVC長GOP解碼器的基本介紹
Ravi C.S.描述了Xilinx Kintex-7器件上的CoreEL 4K AVC長GOP解碼器,4K AVC幀內編解碼器,音頻 - 視頻解碼器模塊和HEVC幀內解碼器演示。
2018-11-28 06:05:00
2827

高清解碼器的作用
高清解碼器(xunwei)的主要作用在于接收前端高清編碼圖像或網絡攝像頭信號并解碼,然后通過自身的各種視頻輸出接口,如HDMI、DVI、SDI、VGA、BNC輸出顯示到顯示設備上。編碼器和解碼器
2018-12-10 15:47:43
12045


監(jiān)控解碼器作用
如今是科技快速發(fā)展的時代,監(jiān)控技術也日趨完善,視頻解碼器是監(jiān)控系統(tǒng)中比較核心的部分,以下為大家介紹一下監(jiān)控系統(tǒng)視頻解碼器的作用,可供參考。
2018-12-10 16:32:08
25639

解碼器的工作原理
解碼器就如同一臺筆記本一樣,通過解碼器上的數(shù)據(jù)線,與汽車相關的接口對接,從而對汽車各系統(tǒng)進行全方位的身體檢測。而且,解碼器可以在接收到車主中控鑰匙發(fā)出的信號之后,將中控鑰匙芯片的密碼計算出來,從而復制出一把新的鑰匙,頂替舊鑰匙,讓舊鑰匙失靈。
2018-12-10 16:35:54
26607


為什么編解碼器需要解碼器模型
通常來說,視頻解碼器聲明支持某個配置文件和級別。配置文件可以指定有關比特深度和色度二次采樣的視頻格式,以及解碼器需要支持的以解碼比特流的一組編碼工具。
2020-08-10 16:50:16
3185


ADV7401:10位集成多格式SDTV/HDTV視頻解碼器和RGB圖形數(shù)字化器產品手冊
ADV7401:10位集成多格式SDTV/HDTV視頻解碼器和RGB圖形數(shù)字化器產品手冊
2021-04-22 10:15:12
8

ADV7802:12位,SDTV/HDTV 3D COM濾波器,視頻解碼器,和圖形Digitizer數(shù)據(jù)Sheet
ADV7802:12位,SDTV/HDTV 3D COM濾波器,視頻解碼器,和圖形Digitizer數(shù)據(jù)Sheet
2021-04-24 19:10:08
8

ADV7181D:10位、10通道、多格式SDTV/HDTV視頻解碼器和RGB圖形數(shù)字化器產品手冊
ADV7181D:10位、10通道、多格式SDTV/HDTV視頻解碼器和RGB圖形數(shù)字化器產品手冊
2021-05-27 18:58:09
4

什么叫解碼器?
解碼器就是在供電側的一個電阻元件或電容元件,在安定器的12V側,串在回路中就行了,目的是防止行車電腦報警,不同的車有不同的解碼器,主要是應對車燈功率不足及對行車電腦干擾所加的。解碼器就是個小方盒,一般材質為塑料的,有插頭,一插就行。
2023-05-06 11:08:26
2893

HiFi音響有必要配解碼器嗎 hifi解碼器起什么作用
HiFi解碼器在音頻系統(tǒng)中起到以下幾個重要作用:
1. 解碼數(shù)字音頻信號:HiFi解碼器可以將數(shù)字音頻信號(如Dolby Digital、DTS、FLAC、ALAC等格式)解碼成模擬
2023-08-23 15:56:31
5902

評論