一、DM6437的概述
关于视频处理方面,DM6437有很大的优势,DM6437包括一个视频处理子系统(VPSS),带2个可配置的视频/图像外设:一个视频处理前端VPFE用于视频捕捉,一个视频处理后端VPBE用于视频输出。
VPFE包括1个CCDC(CCD 控制器),1个预览引擎Previewer, Histogram(直方图) Module, Auto-Exposure/White Balance/Focus Module (H3A), and Resizer。CCDC与通用视频解码器,CMOS传感器以及CCDs(Charge oupled Devies)相连。Previewer是一个实时图像处理引擎,它从CMOS传感器或CCD获取图像数据,并将之从RGB Bayer类型转换成YUV422。Histogram和H3A模块提供原始色彩数据的统计信息供DM6437使用。Resizer模块接受图像数据,并可以分别在水平和垂直方向从1/4x到4x做缩放处理。
VPBE则包括一个OSD(On-Screen Display Engine)和一个视频编码器(VENC)。OSD引擎可以处理2个独立的视频窗口和2个独立的OSD窗口,其他配置包括2个视频窗口,1个OSD窗口,1个专门的窗口允许多达8级的alpha blending(混合)。VENC提供4个54MHz 的DACs,并提供composite NTSC/PAL视频,S-Video和/或component视频输出,另外它还提供高达24-bit的数字视频输出至RGB888接口。数字视频可以是8/16-bit BT.656和/或CCIR.601的水平和垂直同步独立输出。
二、我所掌握的知识
1、CCD
CCD有两个输入方式:一个是从传感器(CMOS、CCD摄像头)接收图像/视频数据,接收的数据格式可以设置为
CCD raw data、YCbCr 16-bit、YCbCr 8-bit这三种。另一个是从视频解码器(举个例子 TVP5150解码芯片等)接收各种格式的YUV数据。这些数据手册上写的很清楚。CCD有几个重要的寄存器:VPFE_CCDC_SYN_MVPFE_CCDC_HSIZE_OFFODE,VPFE_CCDC_HORZ_INFO、VPFE_CCDC_VERT_LINES、VPFE_CCDC_SDOFST、VPFE_CCDC_SDR_ADDR、VPFE_CCDC_COLPTN、VPFE_CCDC_CCDCFG、VPFE_CCDC_FMTCFG、VPFE_CCDC_PCR。
CCD根据需求来配置寄存器,比如发送数据至SDRAM或者resizer,需要配置寄存器SYN_MODE.WEN;需要错误像素校正的话,配置FPC.FPCEN位;需要格式化数据并配置图像大小的话,配置FMTCFG.VPEN、FMTCFG.VPIN、FMT_HORZ、FMT_VERT、VP_OUT、FMTCFG.VPIF_FRQ。其实有的功能不需要的话,寄存器可以配置位0;有几个寄存器的用法我还没弄懂,就是VPFE_CCDC_SDOFST、VPFE_CCDC_COLPTN,前者是SDRAM地址偏移数的设置,后者是设置颜色,具体用法不知。
2、OSD
OSD的功能我就不介绍了,它主要是收集和调配视频数据及display、bitmap数据,然后以YCbCr格式将数据送入VENC中。而视频及display、bitmap数据从外部内存读入,通常是DDR。OSD有5个窗口,这些窗口有5个优先级,VID0、1,OSD0、1,CURSOR。
设置背景颜色的方式:在ROM、RAM以查找表的形式来设置你的背景颜色,VPBE_OSD_BASEPX、VPBE_OSD_BASEPY寄存器是来设置显示像素的大小,视频格式为NTSC格式的设置为122、18,PAL格式设置为132、22。可以设置为输出彩条,或者是正常输出。还可以设置OSD输入数据的格式:bitmap或RGB格式。bitmap数据也需要设置它的方式,有1、2、4、8bit;寄存器还可以设置混合窗口显示,设置显示比例;帧模式和字段模式不是很了解,一般采用的是逐行扫描的格式。这一块的具体实行原理不是很懂。目前所了解的这些了。接下来要描述VENC编码器。
3、VENC
VPBE_VENC_DACSEL寄存器是设置4个DA通道输出的信号格式:有CVBS、S端子、VGA;CVBS只需要一个通道,S端子需要2个DA通道,VGA格式需要3个DA通道。
欢迎各位志同道合的朋友相互交流DM6437芯片的开发经验。附上我的QQ:1151575766。非诚勿扰!
本文详细介绍了DM6437的视频处理子系统VPSS,包括VPFE和VPBE的功能。VPFE包含CCDC、Previewer、Histogram、H3A和Resizer模块,而VPBE涵盖OSD和VENC。对于CCD部分,文章讨论了其输入方式、重要寄存器配置。OSD功能包括5个窗口和不同优先级。VENC则涉及DA通道输出的信号格式设置。作者分享了自己的学习进度,并邀请有兴趣的开发者交流。

2853

被折叠的 条评论
为什么被折叠?



