FMUSER 무선 전송 비디오 및 오디오가 더 쉬워졌습니다!

[이메일 보호] WhatsApp에 + 8618078869184
지원하는 언어

    FPGA 기반 비디오 애플리케이션의 OSD 설계

     

    최근에는 은행, 고속도로, 빌딩 등 다양한 분야에서 디지털 영상 감시 시스템이 널리 사용되고 있다. 디지털 비디오 감시 시스템에서 OSD(On Screen Display) 기술은 없어서는 안 될 부분입니다. OSD는 사용자에게 친숙한 인간-기계 인터페이스를 제공하여 사용자가 더 많은 추가 정보를 얻을 수 있도록 합니다.

     

    1. 시스템 구성


       이 기사에서 소개하는 시스템은 TI DSP TMS320DM6 기반의 완전한 비디오 감시 시스템입니까? 3 및 FPGA. 비디오 입력 1채널과 비디오 출력 1채널을 지원하며 네트워크 인터페이스도 제공한다.

     
        비디오 입력은 TI의 비용 효율적인 비디오 디코더 TVP5150A에 의해 실현됩니다. TVP5150A는 두 개의 컴포지트 비디오 입력 또는 하나의 S-비디오 비디오 신호 모음을 실현할 수 있습니다. 레지스터는 I2C를 통해 구성되며 출력 디지털 비디오 신호는 ITU656 표준을 따릅니다.

     
        TVP5150A에서 디코딩된 디지털 비디오 신호는 DM1의 비디오 포트 6을 통해 DSP로 전송됩니까? 3, 필요한 비디오 처리는 DSP에 의해 수행된 다음 네트워크 인터페이스에 의해 원격 장치로 출력됩니다. 한편, DM6 이후? 3은 네트워크로부터 받은 비디오 데이터를 처리하고 FPGA를 통해 비디오 포트 7105를 통해 SAA2에 표시 및 출력됩니다. 

     
        출력 부분은 SAA7105에 의해 구현됩니다. SAA7105는 컴포지트 비디오 출력, VGA 비디오 출력 및 HDTV 고화질 비디오 신호 출력을 제공할 수 있는 NXP사의 고성능 비디오 엔코더입니다. SAA7105의 제어도 I2C를 통해 구현되며 컴포지트 ITU656 표준의 디지털 비디오 신호를 수신합니다.

     
        비디오 처리 부분은 TI의 DSP TMS320DM6 3을 채택하여 실현합니다. DM6?3의 주 주파수는 600MHz에 도달할 수 있으며 20개의 656비트 비디오 포트가 있습니다. 비디오 포트는 BT.6 및 Y/C와 같은 디지털 비디오 인터페이스를 지원합니다. DM3?XNUMX은 또한 네트워크 MAC을 통합하여 네트워크 액세스를 실현합니다.

     
       하드웨어 성능의 개발 속도는 항상 소프트웨어의 요구를 충족시키기 어렵습니다. 점점 더 복잡해지는 비디오 처리 애플리케이션에서 DSP는 복잡한 비디오 처리 작업을 담당하며 리소스는 매우 부족합니다. 따라서 이 시스템의 설계에서 FPGA를 사용하여 OSD 설계를 구현함으로써 DSP의 부담을 줄일 수 있다.


     
        OSD 구현 부분은 Xilinx의 XC3S250E를 사용합니다. XC3S250E는 3개의 논리 게이트가 있는 Xilinx SPARTAN-250,000E 시리즈 FPGA입니다.


    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 가득 참 또는 FIFO 비어 있음과 같은 FIFO 상태 정보를 DMA 이벤트 생성기 모듈로 전송하는 것입니다. DMA 이벤트 생성기는 이러한 이벤트를 모니터링하고 이벤트가 발생하면 DM6? FIFO에 올바른 읽기 및 쓰기 작업을 달성하기 위해 인터럽트 모드에서 3.
     
        OSD CLUT 모듈은 OSD 언패킹 모듈로부터 수신한 각 픽셀의 데이터에 해당하는 YCbCr 값을 찾고, 이러한 OSD CLUT 데이터의 출력 순서를 제어한다. 이 변환 관계는 24비트 데이터 포트를 통해 DSP에 의해 전송됩니다. 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? 디스플레이 기능으로 실현됩니다.


      무효 OSDHZ_ 디스플레이{
    Uint8 *pFrame
    Uint32 피치
    OSDUTIL_Point* 위치
    Uint32 CodeQ
    OSDHZ?ont *글꼴
    Uint8 fg색상
    Uint8 bgColor
    }
        그 중 Uint8 *pFrame은 OSD 출력용 버퍼 버퍼입니다. Uint32 피치는 각 라인에 표시되는 픽셀 값입니다. OSDUTIL_Point *loc은 첫 번째 문자의 표시 위치입니다. Uint32 CodeQ는 한자를 표시하는 지역 코드입니다. OSDHZ?ont * 글꼴은 한자를 표시하는 데 사용되는 글꼴입니다. Uint8 fgColor는 한자의 전경색을 표시합니다. Uint8 bgColor는 한자의 배경색을 표시합니다.


        따라서 한자를 표시해야 하는 경우 한자를 필요한 코드 시스템으로 변환한 다음 변환된 지역 코드를 OSD FPGA로 출력하기만 하면 됩니다. 물론 한자를 표시하기 위해서는 한자 라이브러리가 필수불가결하다.

     

     

     

     

    모든 질문 목록

    별명

    이메일

    문의

    우리의 다른 제품 :

    전문 FM 라디오 방송국 장비 패키지

     



     

    호텔 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 무선 전송 비디오 및 오디오가 더 쉬워졌습니다!

  • Contact

    주소:
    No.305 Room HuiLan Building No.273 Huanpu Road 광저우 중국 510620

    이메일:
    [이메일 보호]

    전화 / WhatApps :
    +8618078869184

  • 카테고리

  • MMCC 뉴스레터

    이름 또는 전체 이름

    이메일

  • 페이팔 솔루션  웨스턴 유니언중국의 은행
    이메일:[이메일 보호]   WhatsApp : +8618078869184 스카이프 : sky198710021 나와 함께 채팅
    저작권 2006-2020은에 의해 구동 www.fmuser.org

    문의하기