詞語解釋
視頻控制器是一種用于控制視頻傳輸?shù)挠布O(shè)備,它可以控制視頻的播放,暫停,快進,快退,改變音量等功能。它可以用來控制多種不同的視頻設(shè)備,如電視機,投影儀,DVD播放器等。 視頻控制器在通信中的含義是指用于控制視頻傳輸?shù)挠布O(shè)備,它可以控制視頻的播放,暫停,快進,快退,改變音量等功能。視頻控制器可以用來控制多種不同的視頻設(shè)備,它可以控制視頻設(shè)備的播放,暫停,快進,快退,改變音量等功能。 視頻控制器的應(yīng)用非常廣泛,它可以用于控制多種不同的視頻設(shè)備,如電視機,投影儀,DVD播放器等。它可以用來控制視頻設(shè)備的播放,暫停,快進,快退,改變音量等功能。此外,視頻控制器還可以用于控制視頻傳輸,例如視頻會議,視頻監(jiān)控,視頻點播等。 視頻控制器的應(yīng)用越來越廣泛,它可以用于家庭影院,教室,會議室,商場,學(xué)校,醫(yī)院,電影院等場所,它可以有效地控制視頻設(shè)備,提高視頻傳輸?shù)男省? 視頻控制器一般由顯卡驅(qū)動程序或DirectX中自帶 視頻控制器模塊是芯片與顯示平臺的數(shù)據(jù)接口,對檢驗芯片設(shè)計是否成功起著重要的作用,有必要把它單獨劃分為一個子模塊。為了提高設(shè)計的成功率,在設(shè)計初期采用了基于FPGA的原型驗證。整個系統(tǒng)的FPGA原型驗證平臺如圖1所示,平臺分為2個部分,硬件設(shè)計和基于RISC CPU的軟件解碼,兩部分協(xié)同工作,既可以驗證軟件和硬件的解碼結(jié)果,又可以加速整個解碼過程。 圖1 H.264解碼芯片的FPGA原型驗證平臺 圖2 輸出視頻控制模塊結(jié)構(gòu)框圖 視頻控制模塊的設(shè)計與實現(xiàn) 視頻控制模塊原理框圖及功能分析 輸出視頻控制模塊的結(jié)構(gòu)框圖如圖2所示,本模塊有2個時鐘域:系統(tǒng)時鐘域和顯示時鐘域。系統(tǒng)時鐘頻率根據(jù)所選用的SDRAM類型而采用固定的166MHz;對于分辨率為1280×720的高清電視來說,顯示時鐘域可以選用70 MHz 左右的頻率。 系統(tǒng)時鐘域含有2個對外接口:系統(tǒng)接口,主要包含上層系統(tǒng)發(fā)出的指令以及輸出控制模塊的反饋信息;DRAM接口,包含數(shù)據(jù)專用總線為輸出控制模塊提供的信號,用來于向DRAM請求顯示的圖像數(shù)據(jù)。 系統(tǒng)時鐘域中的顯示輸入控制子模塊(Disp In Ctrl)首先用于接收系統(tǒng)傳來的StartDisp和EndDisp信號,來啟動或關(guān)閉視頻數(shù)據(jù)的輸出顯示功能,同時發(fā)出幀圖像顯示完畢信號(FrameDone),通知系統(tǒng)更換下一副圖像的地址信息(ImageAddress);其次,它用于向DRAM發(fā)出請求,通過專用數(shù)據(jù)通道讀取需要顯示的圖像數(shù)據(jù);它還要控制輸入多路選擇模塊(Input MUX),從而完成向片內(nèi)SRAM寫數(shù)據(jù)的任務(wù);最后,該模塊要與顯示時鐘域的信息交互,向時鐘域同步模塊(Clk Domain Sync)發(fā)送顯示使能信號(DispEn Sys),控制圖像顯示的開啟和關(guān)閉。系統(tǒng)時鐘域的另一個子模塊——輸入多路選擇模塊會按照一定的規(guī)律選擇片內(nèi)雙口SRAM,控制存儲器地址,完成向存儲器寫入顯示圖像數(shù)據(jù)的任務(wù)。 顯示時鐘域含有一個對外顯示設(shè)備接口,主要包含用于顯示的控制信號和已完成轉(zhuǎn)換的數(shù)據(jù)信息。顯示時鐘域包含2個子模塊,一個是輸出多路選擇子模塊(Output MUX),用于實現(xiàn)對雙口SRAM的選擇和地址控制,按照一定的規(guī)律讀取要顯示的圖像數(shù)據(jù);還要進行數(shù)據(jù)的打包。另外一個子模塊是顯示輸出控制模塊(Disp Out Ctrl),用于實現(xiàn)對TV編碼器的控制、YUV信號向RGB信號的轉(zhuǎn)換以及對數(shù)字圖像的縮放,信號包括顯示時鐘、行同步、幀同步以及RGB圖像數(shù)據(jù)等;它還要控制輸出多路選擇模塊以讀取顯示數(shù)據(jù);最后,它要與系統(tǒng)時鐘域進行交互, 配合數(shù)據(jù)在兩個時鐘域之間的傳遞。 視頻控制模塊采用的特殊技術(shù) 時鐘域同步模塊是輸出控制模塊設(shè)計的重點,它主要負責(zé)兩個時鐘域之間的控制信號傳遞。跨時鐘域的信號傳遞設(shè)計較為麻煩, 所以設(shè)計中將傳遞的信號分為兩類:數(shù)據(jù)信號和控制信號,其中控制信號就是通過時鐘域同步模塊傳遞。對需要跨時鐘域傳遞的信號數(shù)進行精簡,在最后方案中只需要2個信號:WrDone信號由系統(tǒng)時鐘域發(fā)出,通知顯示時鐘域某塊雙口SRAM中的數(shù)據(jù)已經(jīng)更新完畢,可以讀取并進行顯示輸出;RdDone信號由顯示時鐘域發(fā)出,通知系統(tǒng)時鐘域某塊雙口SRAM中的數(shù)據(jù)已經(jīng)顯示完畢,可以更新其內(nèi)部的數(shù)據(jù)。信號在不同的時鐘域之間傳遞需要采取消除亞穩(wěn)態(tài)(Metastability)的處理措施,可使信號通過兩級寄存器鎖存輸出,如圖3所示。 圖3 跨時鐘域信號亞穩(wěn)態(tài)消除電路 圖4 視頻輸出子模塊的硬件實現(xiàn)框圖 設(shè)計中有兩點值得注意,首先,時鐘域同步電路應(yīng)放在一個獨立的模塊中,保證綜合工具的優(yōu)化、時序分析的正確,并方便電路的分析和調(diào)試;同時,為了能夠使信號的目標時鐘域采集到信號變化,設(shè)計中傳遞的控制信號都采用電平信號表征。 時鐘域之間要傳遞的另一種信號是數(shù)據(jù)信號,由于數(shù)據(jù)信號數(shù)目較多、變化也較快,所以它們的傳遞通過雙口DPRAM實現(xiàn)。雙口DPRAM要求讀寫端口對同一存儲地址的操作要滿足一定的時間間隔,否則會出現(xiàn)數(shù)據(jù)傳輸錯誤,甚至?xí)茐挠布娐。因此為了避免DPRAM的讀寫沖突,設(shè)計中采用了“乒乓”緩沖的方法,兩塊DPRAM交替存取解碼后用于顯示的亮度或色差數(shù)據(jù):當顯示部分讀取一塊DPRAM中的數(shù)據(jù)時,系統(tǒng)向另一塊DPRAM中寫接下來要顯示的數(shù)據(jù),數(shù)據(jù)讀取完畢時,兩塊DPRAM就進行交換。這部分共用4塊DPRAM來實現(xiàn),2塊傳遞亮度信號,2塊傳遞色差信號。 下面分析在視頻控制器顯示輸出子模塊中運用到的格式轉(zhuǎn)換算法、圖像縮放處理算法以及它們的硬件實現(xiàn)。 顯示數(shù)據(jù)格式轉(zhuǎn)換分析 根據(jù)Sil 164 DVI信號編碼芯片資料,同時參考H.264視頻編碼標準中給出的YUV → RGB轉(zhuǎn)換格式,故在設(shè)計中采用的固定轉(zhuǎn)換算法如下式所示: 上式經(jīng)過定點化處理,使用移位和相加的方法實現(xiàn)了轉(zhuǎn)換,如下式所示: 在硬件設(shè)計中的YUV、RGB信號都是用8位無符號數(shù)表示,中間變量采用12位保證精度。最后要在0~255的范圍內(nèi)對計算出的RGB結(jié)果進行剪裁處理,式中的冪指數(shù)和除法運算都通過移位來實現(xiàn)。 數(shù)字圖像縮放的算法分析 對于一幅分辨率為M×N的原始圖像,其所有采樣點的YUV值可以用M×N階矩陣表示為: 像素點用f(m,n)表示,其中0≤m≤M,0≤n。對一幅數(shù)字圖像進行縮放,其實質(zhì)就是對一幅數(shù)字圖像進行重采樣,假定對原始數(shù)字圖像高和寬進行縮放的縮放倍數(shù)分別為S1和S2,那么根據(jù)奈奎斯特采樣定律,應(yīng)該用新的水平與垂直采樣周期740)this.width=740" border="undefined"> 對原數(shù)字圖像進行重采樣。得到經(jīng)過縮放的數(shù)字圖像f′(m′,n′): 由上式可知,經(jīng)過縮放的數(shù)字圖像中的每一個重構(gòu)像素f′(m′,n′)就是原來數(shù)字圖像各個像素的加權(quán)和。若采用該式直接進行硬件設(shè)計,計算量會非常大。為了簡化設(shè)計難度,節(jié)省芯片成本,可以在對圖像品質(zhì)影響不大的基礎(chǔ)上對上式進行簡化。重構(gòu)后的圖像像素值主要取決于兩個抽樣函數(shù)乘積的值。在實際中只采用的值等于1的點,即滿足的點。進一步簡化,可以取,表示對數(shù)按四舍五入取整,得到簡化表達式:f′(m′,n′)=f(m,n)。 數(shù)字圖像格式轉(zhuǎn)換與縮放的硬件實現(xiàn) 設(shè)計本項目的時候,顯示設(shè)備采用分辨率為1280×720的高清晰度電視機,輸出到高清晰度電視機顯示時采用圖像中心對齊的方式。當把解碼好的數(shù)字圖像數(shù)據(jù)送到高清晰度電視顯示時,如果不經(jīng)過圖像縮放處理,那么顯示屏幕中間放解碼好的數(shù)字圖像,其他的地方用黑色填充。在進行縮放處理時,遵循上面的規(guī)律。先把視頻控制器輸出模塊前端按照逐行掃描排列好送來的數(shù)據(jù)進行數(shù)據(jù)格式轉(zhuǎn)換,再把RGB不為零(即不為黑色)的像素數(shù)據(jù)按每幀和逐行掃描規(guī)律輪流放到兩塊同樣大小的片內(nèi)緩存RAM中,如圖4所示。 其工作方式與前面的DPRAM相同,讀取RAM1或RAM2中數(shù)據(jù)的地址后,可以通過地址譯碼器得到該點像素值的行列地址,即得到m、n的值。把m、n值送到圖像縮放處理單元,通過縮放處理得到新的圖像數(shù)據(jù)和新的圖像數(shù)據(jù)地址,再通過寫地址譯碼器得到在輸出RAM3中按照逐行掃描格式輸出的地址,該地址用來存放格式轉(zhuǎn)換后的數(shù)據(jù)。最后,從存儲轉(zhuǎn)換數(shù)據(jù)的RAM3中可以直接輸出顯示所需要的RGB數(shù)據(jù)。 結(jié)語 設(shè)計完成后,此視頻控制器模塊經(jīng)綜合工具Synplify 7.6綜合,可以得到80.3MHz的工作頻率。與前端的解碼模塊一起下載到Xilinx公司的Virtex-II 6000型FPGA中,并將其集成入H.264視頻解碼驗證平臺上,工作頻率可達34MHz,在高清晰度電視上播放圖像時效果較好。
視頻控制器一般由顯卡驅(qū)動程序或DirectX中自帶 視頻控制器模塊是芯片與顯示平臺的數(shù)據(jù)接口,對檢驗芯片設(shè)計是否成功起著重要的作用,有必要把它單獨劃分為一個子模塊。為了提高設(shè)計的成功率,在設(shè)計初期采用了基于FPGA的原型驗證。整個系統(tǒng)的FPGA原型驗證平臺如圖1所示,平臺分為2個部分,硬件設(shè)計和基于RISC CPU的軟件解碼,兩部分協(xié)同工作,既可以驗證軟件和硬件的解碼結(jié)果,又可以加速整個解碼過程。 圖1 H.264解碼芯片的FPGA原型驗證平臺 圖2 輸出視頻控制模塊結(jié)構(gòu)框圖 視頻控制模塊的設(shè)計與實現(xiàn) 視頻控制模塊原理框圖及功能分析 輸出視頻控制模塊的結(jié)構(gòu)框圖如圖2所示,本模塊有2個時鐘域:系統(tǒng)時鐘域和顯示時鐘域。系統(tǒng)時鐘頻率根據(jù)所選用的SDRAM類型而采用固定的166MHz;對于分辨率為1280×720的高清電視來說,顯示時鐘域可以選用70 MHz 左右的頻率。 系統(tǒng)時鐘域含有2個對外接口:系統(tǒng)接口,主要包含上層系統(tǒng)發(fā)出的指令以及輸出控制模塊的反饋信息;DRAM接口,包含數(shù)據(jù)專用總線為輸出控制模塊提供的信號,用來于向DRAM請求顯示的圖像數(shù)據(jù)。 系統(tǒng)時鐘域中的顯示輸入控制子模塊(Disp In Ctrl)首先用于接收系統(tǒng)傳來的StartDisp和EndDisp信號,來啟動或關(guān)閉視頻數(shù)據(jù)的輸出顯示功能,同時發(fā)出幀圖像顯示完畢信號(FrameDone),通知系統(tǒng)更換下一副圖像的地址信息(ImageAddress);其次,它用于向DRAM發(fā)出請求,通過專用數(shù)據(jù)通道讀取需要顯示的圖像數(shù)據(jù);它還要控制輸入多路選擇模塊(Input MUX),從而完成向片內(nèi)SRAM寫數(shù)據(jù)的任務(wù);最后,該模塊要與顯示時鐘域的信息交互,向時鐘域同步模塊(Clk Domain Sync)發(fā)送顯示使能信號(DispEn Sys),控制圖像顯示的開啟和關(guān)閉。系統(tǒng)時鐘域的另一個子模塊——輸入多路選擇模塊會按照一定的規(guī)律選擇片內(nèi)雙口SRAM,控制存儲器地址,完成向存儲器寫入顯示圖像數(shù)據(jù)的任務(wù)。 顯示時鐘域含有一個對外顯示設(shè)備接口,主要包含用于顯示的控制信號和已完成轉(zhuǎn)換的數(shù)據(jù)信息。顯示時鐘域包含2個子模塊,一個是輸出多路選擇子模塊(Output MUX),用于實現(xiàn)對雙口SRAM的選擇和地址控制,按照一定的規(guī)律讀取要顯示的圖像數(shù)據(jù);還要進行數(shù)據(jù)的打包。另外一個子模塊是顯示輸出控制模塊(Disp Out Ctrl),用于實現(xiàn)對TV編碼器的控制、YUV信號向RGB信號的轉(zhuǎn)換以及對數(shù)字圖像的縮放,信號包括顯示時鐘、行同步、幀同步以及RGB圖像數(shù)據(jù)等;它還要控制輸出多路選擇模塊以讀取顯示數(shù)據(jù);最后,它要與系統(tǒng)時鐘域進行交互, 配合數(shù)據(jù)在兩個時鐘域之間的傳遞。 視頻控制模塊采用的特殊技術(shù) 時鐘域同步模塊是輸出控制模塊設(shè)計的重點,它主要負責(zé)兩個時鐘域之間的控制信號傳遞。跨時鐘域的信號傳遞設(shè)計較為麻煩, 所以設(shè)計中將傳遞的信號分為兩類:數(shù)據(jù)信號和控制信號,其中控制信號就是通過時鐘域同步模塊傳遞。對需要跨時鐘域傳遞的信號數(shù)進行精簡,在最后方案中只需要2個信號:WrDone信號由系統(tǒng)時鐘域發(fā)出,通知顯示時鐘域某塊雙口SRAM中的數(shù)據(jù)已經(jīng)更新完畢,可以讀取并進行顯示輸出;RdDone信號由顯示時鐘域發(fā)出,通知系統(tǒng)時鐘域某塊雙口SRAM中的數(shù)據(jù)已經(jīng)顯示完畢,可以更新其內(nèi)部的數(shù)據(jù)。信號在不同的時鐘域之間傳遞需要采取消除亞穩(wěn)態(tài)(Metastability)的處理措施,可使信號通過兩級寄存器鎖存輸出,如圖3所示。 圖3 跨時鐘域信號亞穩(wěn)態(tài)消除電路 圖4 視頻輸出子模塊的硬件實現(xiàn)框圖 設(shè)計中有兩點值得注意,首先,時鐘域同步電路應(yīng)放在一個獨立的模塊中,保證綜合工具的優(yōu)化、時序分析的正確,并方便電路的分析和調(diào)試;同時,為了能夠使信號的目標時鐘域采集到信號變化,設(shè)計中傳遞的控制信號都采用電平信號表征。 時鐘域之間要傳遞的另一種信號是數(shù)據(jù)信號,由于數(shù)據(jù)信號數(shù)目較多、變化也較快,所以它們的傳遞通過雙口DPRAM實現(xiàn)。雙口DPRAM要求讀寫端口對同一存儲地址的操作要滿足一定的時間間隔,否則會出現(xiàn)數(shù)據(jù)傳輸錯誤,甚至?xí)茐挠布娐。因此為了避免DPRAM的讀寫沖突,設(shè)計中采用了“乒乓”緩沖的方法,兩塊DPRAM交替存取解碼后用于顯示的亮度或色差數(shù)據(jù):當顯示部分讀取一塊DPRAM中的數(shù)據(jù)時,系統(tǒng)向另一塊DPRAM中寫接下來要顯示的數(shù)據(jù),數(shù)據(jù)讀取完畢時,兩塊DPRAM就進行交換。這部分共用4塊DPRAM來實現(xiàn),2塊傳遞亮度信號,2塊傳遞色差信號。 下面分析在視頻控制器顯示輸出子模塊中運用到的格式轉(zhuǎn)換算法、圖像縮放處理算法以及它們的硬件實現(xiàn)。 顯示數(shù)據(jù)格式轉(zhuǎn)換分析 根據(jù)Sil 164 DVI信號編碼芯片資料,同時參考H.264視頻編碼標準中給出的YUV → RGB轉(zhuǎn)換格式,故在設(shè)計中采用的固定轉(zhuǎn)換算法如下式所示: 上式經(jīng)過定點化處理,使用移位和相加的方法實現(xiàn)了轉(zhuǎn)換,如下式所示: 在硬件設(shè)計中的YUV、RGB信號都是用8位無符號數(shù)表示,中間變量采用12位保證精度。最后要在0~255的范圍內(nèi)對計算出的RGB結(jié)果進行剪裁處理,式中的冪指數(shù)和除法運算都通過移位來實現(xiàn)。 數(shù)字圖像縮放的算法分析 對于一幅分辨率為M×N的原始圖像,其所有采樣點的YUV值可以用M×N階矩陣表示為: 像素點用f(m,n)表示,其中0≤m≤M,0≤n。對一幅數(shù)字圖像進行縮放,其實質(zhì)就是對一幅數(shù)字圖像進行重采樣,假定對原始數(shù)字圖像高和寬進行縮放的縮放倍數(shù)分別為S1和S2,那么根據(jù)奈奎斯特采樣定律,應(yīng)該用新的水平與垂直采樣周期740)this.width=740" border="undefined"> 對原數(shù)字圖像進行重采樣。得到經(jīng)過縮放的數(shù)字圖像f′(m′,n′): 由上式可知,經(jīng)過縮放的數(shù)字圖像中的每一個重構(gòu)像素f′(m′,n′)就是原來數(shù)字圖像各個像素的加權(quán)和。若采用該式直接進行硬件設(shè)計,計算量會非常大。為了簡化設(shè)計難度,節(jié)省芯片成本,可以在對圖像品質(zhì)影響不大的基礎(chǔ)上對上式進行簡化。重構(gòu)后的圖像像素值主要取決于兩個抽樣函數(shù)乘積的值。在實際中只采用的值等于1的點,即滿足的點。進一步簡化,可以取,表示對數(shù)按四舍五入取整,得到簡化表達式:f′(m′,n′)=f(m,n)。 數(shù)字圖像格式轉(zhuǎn)換與縮放的硬件實現(xiàn) 設(shè)計本項目的時候,顯示設(shè)備采用分辨率為1280×720的高清晰度電視機,輸出到高清晰度電視機顯示時采用圖像中心對齊的方式。當把解碼好的數(shù)字圖像數(shù)據(jù)送到高清晰度電視顯示時,如果不經(jīng)過圖像縮放處理,那么顯示屏幕中間放解碼好的數(shù)字圖像,其他的地方用黑色填充。在進行縮放處理時,遵循上面的規(guī)律。先把視頻控制器輸出模塊前端按照逐行掃描排列好送來的數(shù)據(jù)進行數(shù)據(jù)格式轉(zhuǎn)換,再把RGB不為零(即不為黑色)的像素數(shù)據(jù)按每幀和逐行掃描規(guī)律輪流放到兩塊同樣大小的片內(nèi)緩存RAM中,如圖4所示。 其工作方式與前面的DPRAM相同,讀取RAM1或RAM2中數(shù)據(jù)的地址后,可以通過地址譯碼器得到該點像素值的行列地址,即得到m、n的值。把m、n值送到圖像縮放處理單元,通過縮放處理得到新的圖像數(shù)據(jù)和新的圖像數(shù)據(jù)地址,再通過寫地址譯碼器得到在輸出RAM3中按照逐行掃描格式輸出的地址,該地址用來存放格式轉(zhuǎn)換后的數(shù)據(jù)。最后,從存儲轉(zhuǎn)換數(shù)據(jù)的RAM3中可以直接輸出顯示所需要的RGB數(shù)據(jù)。 結(jié)語 設(shè)計完成后,此視頻控制器模塊經(jīng)綜合工具Synplify 7.6綜合,可以得到80.3MHz的工作頻率。與前端的解碼模塊一起下載到Xilinx公司的Virtex-II 6000型FPGA中,并將其集成入H.264視頻解碼驗證平臺上,工作頻率可達34MHz,在高清晰度電視上播放圖像時效果較好。
抱歉,此頁面的內(nèi)容受版權(quán)保護,復(fù)制需扣除次數(shù),次數(shù)不足時需付費購買。
如需下載請點擊:點擊此處下載
掃碼付費即可復(fù)制
紅外數(shù)據(jù)協(xié)會 | 高階通道終端 | 全業(yè)務(wù)接入網(wǎng) | 電光信號轉(zhuǎn)換器 | 無條件呼叫轉(zhuǎn)送 | 自動發(fā)射機識別 | 特殊地區(qū)施工增加費 | 分組接入應(yīng)答信道 | 模擬話音信道 | 擴展式全向通信系統(tǒng) | 接入鏈路轉(zhuǎn)接功能 | 盡力型業(yè)務(wù) |
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助