999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TMS320DM6437的OSD技術設計及應用舉例

2014-11-10 07:09:42鄭力新
網絡安全與數據管理 2014年3期
關鍵詞:設置

曾 凱,鄭力新,張 楓

(華僑大學 信息科學與工程學院,福建 廈門 361021)

在工業生產和生活領域中,嵌入式數字視頻監控系統得到廣泛應用。而在屏顯示OSD(On Screen Display)技術可幫助工作人員方便檢測工業生產過程狀態變化。目前,工業領域實現OSD技術的方法可以利用專業用OSD芯片,如FUJITSU公司的 MB90092芯片,其電路設計簡單,但需專門設計軟件和硬件;也可以利用附帶OSD功能的芯片,如SigmaDesigns公司的EM8511芯片,其不需要專門的硬件設計,使用方便,只是這類芯片目前功能還不夠強大,難以工作在信息處理量大和實時性要求高的平臺。TMS320DM6437及其系列芯片是當前視頻處理系統主流處理器之一,本文闡述了以軟件編程方式實現該芯片OSD技術,簡單實用,效果優良,很好地拓展了TMS320DM6437的顯示模塊功能。

1 OSD架構平臺

1.1 棒材計數硬件平臺

本文以棒材計數平臺上實現OSD技術為例,在實現OSD模塊信息和視頻信息疊加時,要處理的數據量大,為了滿足實時性的要求,需要選擇一款集成度高,運算速度快的芯片。TMS320DM6437是TI公司推出的定點Davinci DSP處理器,工作主頻可達700 MHz,處理性能最高達到5 600 MIPS,含有豐富的外設資源,芯片本身具有OSD功能,這樣就不需要增加額外的硬件設計,可以通過靈活的軟件編程來實現視頻和嵌入的圖片疊加,為用戶提供簡便的觀測信息。

棒材計數平臺主要由DSP圖像處理模塊、CMOS圖像傳感器模塊、存儲模塊(DDR2)和視頻輸出顯示模塊組成,硬件平臺如圖1所示。

圖1 棒材計數硬件平臺

1.2 TMS320DM6437的OSD內部數據傳輸架構

TMS320DM6437的OSD內部數據傳輸架構如圖2所示。OSD模塊從外部內存中讀入視頻數據,外部內存通常是DDR2,數據經處理轉化為YUV格式后送人 VENC。OSD模塊可處理兩個獨立的Video窗口和兩個獨立的OSD窗口,OSD模塊的相關寄存器通過視頻解碼模塊產生的VD信號進行嵌位,來控制顯示窗口使能、窗口縮放以及窗口的顯示坐標。

圖2 TMS320DM6437的OSD內部數據傳輸架構

OSD模塊控制的4個窗口中,主視頻窗口VIDWIN0支持乒乓Buffers數據交換,即從內存的兩個不同位置讀取數據。兩個位圖窗口(OSDWIN0和 OSDWIN1)能夠直接從DDR2中讀取RGB格式數據,并支持圖像或圖標同時顯示。位圖窗口需要用到的顏色查找表格(CLUT)根據實際給定的位圖像素值來決定顯示顏色,OSD窗口共有256個CLUT條目和24位YUV顏色空間可用。當OSD位圖窗口與視頻窗口疊加時,可以通過數據混合調整圖像和字符的顯示效果。

2 OSD軟件設計

2.1 TMS320DM6437的VPBE設置

視頻后端處理子系統VPBE主要包括OSD和視頻編碼部分 VENC(Video Encoder Module)兩部分。VPBE支持OSD模塊將存儲在DDR2中的多種顯示格式的圖像數據混合成一幀,數據格式編排后傳送到VENC模塊顯示。VPBE編程模塊的主要流程如圖3所示。

圖3 VPBE編程模塊的主要流程圖

以下兩個條件滿足時VPBE驅動程序有效。第一是在DSP/BIOS中創建一個VPBE驅動。主程序利用函數VENCHandle=FVID_create ("/VPBE0",IOM_INOUT,NULL,NULL,&gioAttrs)打開一個 VPBE0設備,并創建 VENC通道。由于TI設計的GIO驅動模塊在DSP/BIOS上使用過程中存在缺陷,應用程序在對驅動程序的緩沖區進行數據處理后不能釋放緩沖區,針對這個問題可利用TI提出的FVID視頻處理模型,其能夠比較方便地分配緩沖區,因此,通過直接調用FVID_allocBuffer()函數和FVID_exchangeBuffer()函數申請分配和交換緩沖區,并在使用后利用FVID_deleteBuffer()函數重新釋放緩沖區。第二是設置DSP/BIOS中的硬件中斷。VPBE驅動程序的使用過程中,在TCF文件中設置HWI_INT8為1,配置參數為 bios.HWI.instance("HWI_INT8").interruptSelectNumber=1,即VPBE驅動優先級為8,對應VENC每幀圖像處理結束后產生事件序列號為32~64之間的事件被中斷,這時事件接收器檢測到哪里引起了中斷。

2.2 窗口顯示模式選擇

每個窗口可以設置為幀模式和場模式。幀模式的特點是允許每幀圖像數據連續儲存在DDR2中,圖像顯示時按照奇偶場進行讀取。場模式特點是允許圖像數據單獨儲存在DDR2中,圖像顯示是根據VENC的工作模式窗口高度。處理芯片DM6437集成了DDR2內存控制器,支持JESD79D-2A標準,并提供32 bit DDR2接口。圖像數據存儲在DDR2中,當需要VENC連續從DDR2中讀取數據時,將OSD窗口設置為連續場模式,對應的寄存器位VIDWINMD.VFFO和OSDWIN0MD.OFF0使能。連續場數據讀取模式如圖4所示。

圖4 連續場數據讀取模式

2.3 OSD窗口設計

OSD模塊支持VIDWIN0/VIDWIN1和OSDWIN0/OSDWIN1 4個窗口畫面同時顯示,并通過對應的寄存器設置OSD工作模式。OSD窗口顯示優先級如圖5所示。

圖5 OSD窗口顯示優先級

本文需要用到VIDWIN0和OSDWIN0將視頻圖像與文字字符疊加,VIDWIN0用于實時顯示采集的棒材圖像,OSDWIN0將棒材計數結果疊加到VIDWIN0窗口畫面。

(1)VIDWIN0 窗口設置

CMOS圖像傳感器采集到的圖像經TVP5150轉化為YUV格式數字信號,并存儲在DDR2中,視頻后端處理子系統VPBE將數據從DDR2中讀出,并通過VIDWIN0窗口顯示。由于VIDWIN0對應寄存器配置參數的設置封裝在DM6437自帶的psp_vpbe.h頭文件中,調用結構體PSP_VPBEOsdConfigParams{}可以配置 VIDWIN0窗口的工作模式、圖像的格式以及圖像在窗口中顯示位置。例如:

本文通過軟件編程的方式實現VIDWIN0窗口配置,在對結構體參數設置后,通過調用FVID_create()函數創建vid0Handle通道,FVID_alloc()函數為通道分配存儲空間,調用FVID_queue()函數將要顯示的數據從通道傳輸到VIDWIN0窗口顯示。其具體軟件編寫流程圖如圖6所示。

圖6 軟件流程圖

(2)字符數據格式

本文OSD顯示技術中使用的字符(如數字0~9,字母a~z,以及一些常用符號)需按 12×16格式分割成塊,把這些數據固化在Flash或者ROM中。在實驗中用到的字庫無法直接在DSP中讀取,需將所用的漢字轉換為位圖形式并進行保存。DM6437可以采用32位數據處理,為了便于編程和數據讀取,將位圖圖像的分辨率轉換成192×32,取 32位的整數倍,如圖 7所示。

圖7 文字字符顯示圖

對于數字字符,由于棒材計數是一個動態的過程,因此OSD窗口數字顯示根據棒材計數的算法運行結果的返回值確定,設置數字位圖圖像的分辨率為32×32。位圖圖像轉換為數組形式后存儲在Flash中,為了節約存儲空間,要求將圖像數據轉換成RGB565格式。數字如圖8所示。

圖8 數字顯示圖

(3)OSDWIN0 窗口設置

OSDWIN0用于顯示RGB565格式的字符和數字圖片,對應的寄存器配置參數的設置封裝在DM6437自帶的psp_vpbe.h頭文件中,配置參數的流程與配置VIDWIN0步驟一樣,調用結構體PSP_VPBEOsdConfigParams win0Params{}設置相應寄存器值,結構體中包含的參數需包含疊加的圖片和文字的顯示屬性,如混合模式、透明度和顏色等。

(4)VGA顯示驅動設計

本文通過修改PSP文件的相關參數設計VGA的顯示驅動,基于 PSP(Platform Support Package)上的驅動程序可以直接實現S端子顯示和LCD屏幕顯示,同時驅動程序支持VENC編碼器的連續場輸出模式,但是程序存在缺陷不能直接用于VGA顯示,因此需要在驅動中增加VGA的顯示驅動程序。TI官方提供的基于PSP的視頻驅動程序建立在實時操作系統DSP/BIOS上,總共分為IOM層、DDC層和CSLR層3層。

本文利用的OSD技術產生的疊加效果通過VGA顯示,VPBE模塊為VGA圖像顯示提供了接口,VGA接口有3路基本輸出信號,分別用來顯示RGB 3個分量。VPBE模塊提供的模擬接口擁有4路的視頻DAC信號,通過設置寄存器DACSEL來選擇所需要的3路信號,寄存器DACSEL上的對應關系為:DAC_A位控制輸出R模擬信號,DAC_B位控制輸出G模擬信號,DAC_C位控制輸出B模擬信號,同時DM6437通過I2C總線接口輸出行同步信號HD和列同步信號VD,這5路信號組成了VGA接口輸出信號。

在DDC層中修改一個PSP聲明,并添加LLC_setVGAdisplay()顯示函數對5路信號使能,LLC_setVGAdisplay()代碼如下:

(5)運行效果

VGA 5路信號使能后,程序運行后OSD疊加技術的最終效果如圖9所示。

圖9 OSD疊加技術的最終效果

本文利用TMS320DM6437芯片自帶的OSD模塊,通過軟件編程實現OSD疊加技術,并以在鋼鐵生產中的棒材計數結果與視頻疊加為例,OSD界面上的漢字、數字或其他特殊字符可根據工作人員的要求修改,并在窗口任意位置動態顯示,其設計原理具有通用性。OSD模塊實現的動態棒材視頻圖像與棒材計數結果疊加,方便了人機對話,可以應用在工業生產實踐中。

[1]TI.TMS320DM643x DMP video processing back end(VPBE)[Z].2007.

[2]合眾達.SEED-DEC6437用戶指南[Z].2008.

[3]TI.How to use the VPBE and VPFE Driver on TMS320DM643x devices[Z].2007.

[4]TI.TMS320DM643x DMP inter-integrated circuit (I2C)module user′s guide (Rev.A)[Z].2007.

[5]TI.TMS320DM643x DMP DDR2 memory controller user′s guide (Rev.B)[Z].2007.

[6]TI.TMS320C64x+image-video processing library programmer′s reference[Z].2007.

猜你喜歡
設置
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
船舶防火結構及設置的缺陷與整改
水上消防(2020年5期)2020-12-14 07:16:18
中外醫學專業與專科設置對比分析及啟示
特殊場景下列控等級轉換的設置方案
7招教你手動設置參數
動車段(所)股道有效長設置研究
我國中小學將設置人工智能相關課程
玩具世界(2017年9期)2017-11-24 05:17:29
吃紙的妖怪
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 国产丰满成熟女性性满足视频| 97se亚洲综合| 国产极品美女在线播放| 精品无码一区二区在线观看| 国产又粗又猛又爽视频| 无码中字出轨中文人妻中文中| 国产成人精品免费av| 亚洲精品成人片在线播放| 99热这里只有免费国产精品| 亚洲愉拍一区二区精品| 精品无码一区二区三区在线视频| 五月六月伊人狠狠丁香网| 亚洲香蕉在线| 国产精品久久久久鬼色| 亚洲精品手机在线| 亚洲一区二区三区国产精品 | 98精品全国免费观看视频| 日韩人妻少妇一区二区| 国产一区二区福利| 一级毛片免费高清视频| 国产成人无码久久久久毛片| 91热爆在线| 中文纯内无码H| 在线国产91| 欧美激情视频二区| 18禁黄无遮挡网站| 97人人做人人爽香蕉精品| 国产精品不卡片视频免费观看| 国产精品19p| 欧美精品综合视频一区二区| 国产二级毛片| 国产精品久久自在自线观看| 91精品啪在线观看国产91| 最新国产在线| 久久国产香蕉| 在线播放精品一区二区啪视频 | 蜜桃臀无码内射一区二区三区| 国产裸舞福利在线视频合集| 亚洲国产亚洲综合在线尤物| 日韩黄色大片免费看| 国产一级在线播放| 黄色网站在线观看无码| 久久精品只有这里有| 手机在线看片不卡中文字幕| 九九线精品视频在线观看| 日韩在线观看网站| 99热这里只有精品5| 精品欧美视频| 日韩 欧美 国产 精品 综合| 真人免费一级毛片一区二区| 91www在线观看| 国产成人无码播放| 国产成人无码久久久久毛片| 国产精品视频3p| 99精品视频在线观看免费播放| 国产清纯在线一区二区WWW| 日韩欧美国产区| 麻豆AV网站免费进入| 亚洲第七页| 午夜国产理论| 中文字幕久久波多野结衣| 久久精品国产在热久久2019| 国产伦精品一区二区三区视频优播| 国禁国产you女视频网站| 91网在线| 国产剧情伊人| 91久久精品日日躁夜夜躁欧美| 青青草欧美| a级毛片免费播放| 免费A∨中文乱码专区| 久久无码高潮喷水| 欧美亚洲日韩中文| 国产亚洲视频中文字幕视频| 91精品人妻一区二区| 91亚洲国产视频| 真实国产精品vr专区| 日本草草视频在线观看| 国产成人盗摄精品| 国产原创演绎剧情有字幕的| 日本妇乱子伦视频| 亚洲伊人天堂| 久久永久免费人妻精品|