基于TMS320DM814xDaVinci 中VPSS(视频处理子系统)分析
来源:互联网 发布:ubuntu debian 知乎 编辑:程序博客网 时间:2024/06/04 18:44
VPSS
1.媒体控制器子系统
1)包括2个Cortex-M3字系统控制和管理HDVPSS和HDVICP2.
2)中断控制(NVIC),为了便于并行处理,对于两个核中断映射是相同的。每个Cortex-M3接收相同的中断除了少数内部中断外。
3)共享缓存接口,缓存接口转换在不同子系统的数据协议。四个端口需要Cortex-M3处理器支持四个总线,每个处理器支持2个。指令和数据连接通过Cortex-M3复用。
4)共享缓存,允许基本的维护操作,通过一个专门的执行接口:预加载、上锁、删除。
5)共享缓存MMU,提供了多路访问的缓存基于区域的地址转换,读/写控制、访问类型控制和多级缓存维护。访问共享缓存MMU只能在特权模式下完成。
6)SCTM,计数模块,共享缓存,缓存管理和MMU配置。
2.高清视频处理子系统(HDVPSS)
HDVPSS处理视频和图形有效地创建高质量的用户界面,包括(但不限于)去隔行、缩放、降噪,阿尔法混合,色度键控, 闪烁过滤和像素格式转换。
2.1HDVPSS概述
1)两个独立的视频捕捉输入端口165MHz,每个VIP支持缩放、像素格式转换。
2)一个视频处理引擎,包括DEI(去隔行)、缩放、格式转换。(主视频路径)
3)HDVPSS能够接受HDVICP2视频解码器输出格式,这包括(但不限于)tiled和栅格数据格式,扫描格式转换,长宽比转换和帧尺寸转换。
4)三个独立的图形处理引擎具有扩展功能,混合,色度键控。
5)三个独立的合成器(compositor)(2HD+1SD)支持视频和图形叠加组成提供各种显示组合。
2.2 HDVPSS名词解释
VIP(Video Input Port):从外部视频源捕获数据经VIP的解析器解析后进一步处理,包括色彩空间转换、缩放、色度采样,最后写外部DDR的视频数据内存。
CHR_US(Chroma_upSampler): up-sampling用于将YUV420转换成YUV422,使用Catmull-Rom算法的插值滤波器。
SC(Scaler): SC从上游模块获取数据,将输入图像缩放到所需的输出大小然后将图像发送到下游模块。
缩放包括三步:修剪,垂直缩放,水平缩放。
DEI(De-Interlacer):两种模式:
旁路模式:对输入亮度和色度不进行处理就放到缓冲和发送到后阶段。
去隔行模式:将隔行YUV数据用插值技术使其为连续帧YUV数据。
Compositor: 合成器模块(COMP)是用于混合输入视频和图像到一个单一的流来驱动视频编码器。COMP模块有三个独立控制混合器(合成器),每一个都可以有5个输入层(两个视频和三个图形)来生成一个复合输出层。每一个混合器与三大VENCs驱动显示数据。
DH_VENC(DH Video Encoder): 高清视频编码模块主要有两部分:OSD和编码器。OSD模块是用来从COMP模块获取数据通过编码器模块生成同步信号。HDVENC支持数字(HDMI/DVO1 DVO2)输出。
NF(Noise Filter): 视频噪声滤波器(NF)模块是用来减少视频序列中的噪声以提高视频图像质量和压缩效率。
2.3视频捕捉功能
1)HDVPSS支持2个独立的可配置的外部视频输入,频率高达165MHz。
2)每个视频输入端口能以24bit模式操作以支持RGB捕捉或者以1个16bit输入通道操作(带分离的Y和Cb/Cr输入),或2个时钟独立的8bit输入通道(带交织的Y/C数据输入)。3)支持内嵌同步和分离同步
4)视频捕捉端口通道支持像素-像素或行-行的复用数据流的解码。 l
5)支持16bit模式的1920x1200@60Hz(165MHz)的输入数据速率。
6)每个视频捕捉通道支持一个缩放器,用来对非复用的输入流进行缩放(两个8bit通道输
入之一或16bit通道输入数据)。注意,如果源是来自外部视频解码器/摄像机,仅支持缩小。7)每个视频捕捉通道支持一个可编程的色度空间转换,在24bitRGB和YCbCr数据之间进行转换。
8)视频输入端口支持的数据存储格式可以是RGB、422和420格式,每个视频捕捉端口通道支持非复用输入数据流的色度下采样(422到420),对复用流的色度下采样的方式是对单独的帧数据进行HDVPSS外部的内存到内存操作。
2.4 视频处理功能
1)两个并行的视频处理管道(主视频路径的和辅助视频路径),用于支持并发的视频流处理。
2)主视频管道处理视频用于全尺寸的HD视频输出,采用了运动自适应去隔行处理,非边缘检测的缩放的算法。
3)辅助的视频管线,处理视频用于全尺寸的HD/SD视频输出,管线拥有一个区域有效的算
法,包括运动自适应3D去隔行和非边缘自适应缩放。
4)降噪执行内存到内存的空域。视频噪声滤波算法,对422输入源,产生一个420tiled输
出源。
5)支持视频输入格式是420(aligned-chroma, semi-planar, frame/field)、和422(planar,
semi-planar, frame.field)。支持YUV420、HDVICP2的输出格式和捕获的外部数字视频数据。
6)扫描格式转换(interlaced to progressive and vice versa)的支持。特别是交错渐进转换采用高品质自适应3D去隔行正确地呈现静态和动态objections in scenes。
7)视频处理的输出送到合成器或外部内存,当输出送到外部内存的时候,在多输入之间的
上下文切换能高效处理,也就是说,多通道操作模式。
8)主视频管线和辅助视频管线都包括对外部内存的回写路径,支持内存到内存的独立视频帧缩放。
9)支持颜色键控(透明)处理。
2.5 HD/SD 合成器功能
1)支持3个独立控制的合成器(HDMI/DVO1、DVO2、SD),以驱动对应的显示译码输出。
2)HD合成器支持视频和图形层的合成,为HD视频输出提供全尺寸视频显示、图形层和视频在图形里显示。
3)SD合成器为SD视频输出提供视频显示、图形层和视频在图形里显示。 l
4)每个输入层都有一个显示顺序优先级,以确定显示和混合的顺序。 l
5)每个输出支持独立层的可见性控制。 ????
6)合成器支持两个覆盖层的256级alpha融合。
2.6 HD/SD视频信号编码功能
1)1个HDMI1.3a兼容接口。
2)2个DVO(VOUT)接口,支持1080p@60 8/16/24 YCbCr/RGB格式。 l
3)每个VOUT支持内嵌同步和分离的同步输出。
4)SD复合视频/S-Video(NTSC/PAL):适合ITU-R BT.470-6(TBD:SECAM支持)定义的要求。l
5)支持VESA分辨率,高达165MHz,注意支持的最大行宽度是1920点,更进一步,宽和高值必须是偶数。
6)同时支持HD和SD输出。
2.7视频输入解析器(VIP)
VIP模块用于捕获视频数据到HDVPSS模块。
1)输入
n YUV422 8bit内嵌同步模式(除了BT.1120)
n YUV422 8bit分离同步模式
n YUV422 16bit内嵌同步模式
n YUV422 16bit分离同步模式
n YUV422 8bit 2x/4x像素同步模式
n YUV422 8bit 4x行复用模式
n RGB 24bit内嵌同步模式
n RGB 24bit分离同步模式
n YUV444 24bit内嵌同步模式
n YUV422 24bit分离同步模式
2)输出
YUV422 YUYV交错格式
n YUV420 Semi-planar格式
n RGB 24bit交错格式
n YUV422 Semi-planar格式
3)功能描述
来自外部视频源的数据通过VIP的解析子模块来捕捉,然后解析子模块将捕捉到的数据送到VIP模块做进一步处理,包括:色度空间转换,缩放,色度下采样,最后将视频数据写到外部DDR内存。对输入视频流做色度空间转换,缩放以及色度下采样等处理是可选的。
VIP中的缩放和色度下采样模块如果在捕捉时不使用,也可以用于内存到内存的操作。
4)输入数据接口
8位接口模式:YCbCr 4:2:2
16位接口模式:
24位接口模式:
主:参考了http://wenku.baidu.com/link?url=7vRSdr8J3UAd_ztfgFJ7oKj-9h0_jkwg2GEX34OS_tTc6tJiiIv9h0fzJiAh5X-az8jDYRZoVNJPGDBTv3wXAphgOCgJYUutYyDwdV58d0S
- 基于TMS320DM814xDaVinci 中VPSS(视频处理子系统)分析
- 嵌入式视频方案学习第九篇——视频处理子系统VPSS
- 嵌入式视频方案学习第十篇——视频处理子系统VPSS 一般初始化流程
- linux 中断处理子系统分析
- 基于二维小波分析的图像处理(中)
- 基于MTK架构的input子系统分析
- 基于input子系统的驱动分析
- 基于i2c子系统的驱动分析
- input子系统事件处理层evdev分析
- 视频处理算法分析2——基于块匹配的运动估计算法分析
- V4l2 video for linux 2 linux 视频处理子系统
- 嵌入式视频监控系统的图像处理子系统
- 基于MINI2440分析LINUX内核的GPIO子系统分析
- 韦东山视频实验之Input子系统分析之一
- 韦东山视频实验之Input子系统分析之二
- 中断子系统分析(一)
- Linux input子系统分析---4、事件处理层分析
- Linux input子系统分析 事件处理层分析
- linux的简单shell脚本包括数组和条件判断
- Xamarin.Android 如何使用Assets目录下的文件
- JAVA中的接口和抽象类(转)
- poj 2195//hdu 1533 Going Home 最小费用流(spfa)
- error: src refspec XXX matches more than one
- 基于TMS320DM814xDaVinci 中VPSS(视频处理子系统)分析
- codeforces 327C Magic Five
- 执行pod install还是pod update都卡在了Analyzing dependencies不动
- nmap推荐扫描选项
- maven tomcat plugin 热部署
- nginx--linux下安装nginx
- log4j的MDC,DNC配置以及应用
- iPhone设置的尺寸
- Tomcat的安装