FMUSER更輕鬆地傳輸視頻和音頻!

[電子郵件保護] WhatsApp的+ 8618078869184
語言

    基於FPGA的視頻應用OSD設計

     

    近年來,數字視頻監控系統廣泛應用於銀行、高速公路、樓宇等各個領域。 在數字視頻監控系統中,OSD(On Screen Display)技術是不可或缺的一部分。 OSD 為用戶提供了友好的人機界面,使用戶能夠獲得更多的附加信息。

     

    一、系統組成


       本文介紹的系統是基於TI DSP TMS320DM6的完整視頻監控系統? 3和FPGA。 支持1路視頻輸入和1路視頻輸出,並提供網絡接口。

     
        視頻輸入由 TI 經濟高效的視頻解碼器 TVP5150A 實現。 TVP5150A 可實現兩路複合視頻輸入或一路S-video 視頻信號的採集。 該寄存器通過I2C配置,輸出數字視頻信號遵循ITU656標準。

     
        TVP5150A解碼後的數字視頻信號通過DM1的視頻口6傳輸到DSP? 3、由DSP進行必要的視頻處理,然後通過網絡接口輸出到遠程設備。 另一方面,在 DM6 之後? 3處理從網絡接收到的視頻數據,由SAA7105通過FPGA的視頻口2顯示輸出。 

     
        輸出部分由SAA7105實現。 SAA7105是NXP公司的高性能視頻編碼器,可提供複合視頻輸出、VGA視頻輸出和HDTV高清視頻信號輸出。 SAA7105的控制也是通過I2C實現的,它接收復合ITU656標準的數字視頻信號。

     
        視頻處理部分採用TI的DSP TMS320DM6 3實現。 DM6?3主頻可達600MHz,有兩個20位視頻端口。 視頻端口支持BT.656、Y/C等數字視頻接口。 DM6?3還集成了網絡MAC實現網絡接入。

     
       硬件性能的發展速度總是難以滿足軟件的需求。 在視頻處理日益複雜的應用中,DSP負責複雜的視頻處理任務,資源變得非常緊張。 因此,在本系統的設計中,採用FPGA來實現OSD的設計,可以減輕DSP的負擔。


     
        OSD 實現部分使用 Xilinx 的 XC3S250E。 XC3S250E 是 Xilinx SPARTAN-3E 系列 FPGA,具有 250,000 個邏輯門。


    2. OSD 實現
     
        SAA7105 不能實現 OSD 功能,而是由 XC3S250E 實現。 主控芯片DM6? 3只需要通知FPGA要顯示的內容和位置,具體工作由FPGA來完成。 OSD的邏輯框圖如圖2所示。
     基於FPGA的視頻應用OSD設計

     

     OSD FPGA通過EMIFA接收來自DSP DM6 3的OSD數據和控制指令,通過DSP視頻端口1接收視頻數據,並將OSD信息疊加在視頻數據上,輸出到視頻編碼器SAA7105。 OSD 的功能模塊描述如下。
     
       地址譯碼模塊的數據端口與DSP DM32 6的EMIFA的低3位數據接口,接收DM6 3發送的數據和控制信息。這些數據和控制信息是由DM32 6發送的原始3位數據。 DM32 XNUMX、地址譯碼模塊將接收到的OSD數據,如OSD的內容,以XNUMX位數據格式放入FPGA內部FIFO。 控制信息主要用於通過一組控制寄存器來控制OSD。

     
       還有一個視頻接口模塊直接連接到DSP。 視頻接口模塊連接到DSP的視頻端口2,存儲來自DSP視頻端口的數據和控制信息。 這些控制信息直接傳送到OSD多通道控制模塊,控制信息也直接控制視頻解碼器SAA7105。

     
        OSD控制邏輯將從控制寄存器組得到的控制信息輸出給OSD的各個功能模塊,實現對OSD的控制。 寄存器組主要分為兩部分:一是異步寄存器組,向OSD發送復位、OSD使能、選擇數據寬度等控制信息; 另一個是同步寄存器組,主要控制OSD的位置信息。

     
        OSD解碼模塊根據控制邏輯的控制信息從FIFO中取出待顯示的數據,與視頻數據同步輸出給OSD CLUT模塊。 從FIFO中得到的數據是原始DSP 32位數據,而OSD CLUT模塊需要的數據是8/16位,所以OSD解包模塊需要根據頻率對32位數據進行解包視頻端口。 32 位數據以 8/16 的寬度傳輸到 OSD CLUT 模塊。
     
        FIFO 模塊的另一個功能是將 FIFO 狀態信息傳送到 DMA 事件發生器模塊,例如 FIFO 已滿或 FIFO 空。 DMA 事件生成器監視這些事件,如果發生,將它們發送到 DM6? 3 在中斷模式下實現對FIFO的正確讀寫操作。
     
        OSD CLUT模塊為從OSD解包模塊接收到的每個像素的數據尋找YCbCr對應的值,並控制這些OSD CLUT數據的輸出順序。 這種轉換關係由DSP通過24位數據口傳輸。 OSD CLUT模塊的數據直接輸出到OSD多通道控制器模塊。
     
        OSD多路控制模塊根據從OSD CLUT模塊接收到的Alpha控制位確定輸出視頻數據。 如果當前OSD信息,即Alpha控制位有效,則輸出OSD數據給數據轉換模塊。 否則,輸出從視頻接口模塊接收到的原始視頻數據,實現OSD功能。
     
        OSD多路控制器輸出的數據不是直接送到視頻解碼器,而是通過數據轉換模塊,根據具體的應用情況,進行必要的數據格式轉換。 從SAA7105的接口時序可以看出,SAA7105配置複合視頻輸出時,需要的數據為單時鐘沿數據。 此時數據轉換模塊不做任何工作,從OSD多通道控制模塊接收到的數據原封不動地傳輸。 對於 SAA7105; 如果 SAA7105 配置為 VGA 或 HDTV 輸出模式,則需要雙時鐘沿數據。 此時,數據轉換模塊將從OSD控制器接收到的單時鐘沿數據轉換為雙時鐘沿數據輸出給視頻解碼器SAA7105。
     
        可以看出FPGA已經完成了OSD的所有工作。 如果要顯示OSD內容,DM6? 3只需要通過EMFIA口向FPGA發送控制指令即可。 這些指令當然包括OSD的內容和位置信息。
     


    3. OSD 控制
     
        XC3S250E實現的OSD設計根據接收到的OSD位置和內容信息進行OSD顯示,對OSD顯示的內容沒有任何限制,非常靈活方便。 下面以OSD漢字顯示為例,說明OSD的控制操作。
     
        要正確顯示漢字,必須將輸入的漢字內碼轉換為相應的位置碼。 對於這個函數,我們使用了函數Uint32 Code_Converse(unsigned char *CodeNPointer),它的輸入是一個指針,指向要轉換的漢字。 返回值為漢字對應的位置碼。 OSD顯示是通過函數OSDHZ?isplay實現的:


      void OSDHZ_ 顯示{
    Uint8 *pFrame
    Uint32間距
    OSDUTIL_Point* 位置
    Uint32 代碼Q
    OSDHZ?ont *字體
    Uint8 fg顏色
    Uint8 背景顏色
    }
        其中,Uint8 *pFrame為OSD輸出的Buffer緩衝區; uint32間距是每行顯示的像素值; OSDUTIL_Point *loc 是第一個字符的顯示位置; uint32 CodeQ 是顯示漢字的區號; OSDHZ?ont * font是用來顯示漢字的字體; uint8 fgColor 顯示漢字的前景色; Uint8 bgColor 顯示漢字的背景色。


        因此,如果需要顯示漢字,只需將漢字轉換為必要的碼製,然後將轉換後的區號輸出到OSD FPGA。 當然,要顯示漢字,漢字庫是必不可少的。

     

     

     

     

    列出所有問題

    暱稱

    電子郵件

    問題

    我們的其他產品:

    專業調頻電台設備包

     



     

    酒店IPTV解決方案

     


      輸入電子郵件以獲取驚喜

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org ->荷蘭語
      sq.fmuser.org ->阿爾巴尼亞人
      ar.fmuser.org ->阿拉伯語
      hy.fmuser.org - >亞美尼亞
      az.fmuser.org ->阿塞拜疆
      eu.fmuser.org ->巴斯克
      be.fmuser.org ->白俄羅斯語
      bg.fmuser.org - >保加利亞
      ca.fmuser.org ->加泰羅尼亞語
      zh-CN.fmuser.org ->中文(簡體)
      zh-TW.fmuser.org - >中國(繁體)
      hr.fmuser.org ->克羅地亞語
      cs.fmuser.org ->捷克
      da.fmuser.org ->丹麥語
      nl.fmuser.org - >荷蘭
      et.fmuser.org ->愛沙尼亞語
      tl.fmuser.org ->菲律賓
      fi.fmuser.org ->芬蘭語
      fr.fmuser.org - >法國
      gl.fmuser.org ->加利西亞語
      ka.fmuser.org ->喬治亞
      de.fmuser.org ->德語
      el.fmuser.org - >希臘
      ht.fmuser.org ->海地克里奧爾語
      iw.fmuser.org ->希伯來語
      hi.fmuser.org ->印地語
      hu.fmuser.org - >匈牙利
      is.fmuser.org ->冰島語
      id.fmuser.org ->印尼語
      ga.fmuser.org ->愛爾蘭
      it.fmuser.org - >意大利
      ja.fmuser.org ->日語
      ko.fmuser.org ->韓文
      lv.fmuser.org ->拉脫維亞
      lt.fmuser.org - >立陶宛
      mk.fmuser.org ->馬其頓語
      ms.fmuser.org ->馬來語
      mt.fmuser.org ->馬耳他語
      no.fmuser.org - >挪威
      fa.fmuser.org ->波斯語
      pl.fmuser.org ->波蘭語
      pt.fmuser.org ->葡萄牙語
      ro.fmuser.org - >羅馬尼亞
      ru.fmuser.org ->俄語
      sr.fmuser.org ->塞爾維亞語
      sk.fmuser.org ->斯洛伐克
      sl.fmuser.org - >斯洛文尼亞
      es.fmuser.org ->西班牙語
      sw.fmuser.org ->斯瓦希里語
      sv.fmuser.org ->瑞典語
      th.fmuser.org - >泰國
      tr.fmuser.org ->土耳其語
      uk.fmuser.org ->烏克蘭語
      ur.fmuser.org ->烏爾都語
      vi.fmuser.org - >越南
      cy.fmuser.org ->威爾士語
      yi.fmuser.org - >意第緒語

       
  •  

    FMUSER更輕鬆地傳輸視頻和音頻!

  • 聯絡我們

    地址:
    305廣州市環浦路273號匯蘭大廈510620室

    電子郵件:
    [電子郵件保護]

    電話/ WhatApps:
    + 8618078869184

  • 分類

  • 電子通訊

    名字或全名

    Email

  • 貝寶的解決方案  西聯匯款中國銀行
    電子郵件:[電子郵件保護]   WhatsApp:+8618078869184 Skype:sky198710021 跟我聊天
    版權所有2006-2020技術支持 www.fmuser.org

    聯絡我們