在硬件中,在同一时间处理视频的整个帧具有在存储器区域和成本高。为了节省资源,串行处理是在HDL设计是优选的。视力HDL工具箱™块和系统对象上的一个像素,直线,或附近,而不是一帧操作。的块和对象接受并生成视频数据作为像素数据和控制信号的串行流。控制信号表示的图像或视频帧中的每个像素的相对位置。该协议模仿一个视频系统的定时,包括帧之间的非活动时间间隔。每个块或对象操作没有图像格式的全面了解,并能容忍线和帧的不完善定时。
所有的视觉HDL工具箱块和系统对象支持单个像素流(每个周期1个像素)。金宝app一些嵌段和系统还对象支持多像素流(每个循环4或8个像素)对高速率或高分辨金宝app率的视频。多像素流增加硬件资源来支持相同的硬件时钟速率为较小的视频分辨率更高的视频分辨率。金宝搏官方网站金宝app不支持HDL代码生成的多像素流与系统对象。金宝app使用等效块来产生多像素算法HDL代码。
视频采集系统,从左至右,从上到下扫描视频信号。随着这些系统扫描,它们产生的线条和有效视频的帧之间的非活动时间间隔。
该水平消隐间隔是由一条线的端部和下一条线的开始之间的非活动周期组成。此时间间隔通常被分成两个部分:前阳台和后沿。这些术语来自于模拟视频波形线之间的同步脉冲。该前阳台是有效行的端部和所述同步脉冲之间的样本的数目。该后沿是同步脉冲和有效行的开始之间的样本的数目。
该垂直消隐间隔取得的之间非活动周期的向上结束活动行一个框架和所述的开始活动线下一帧的。
扫描图形需要用于水平和垂直两个方向上的开始和结束的信号。视野HDL工具箱流像素协议包括在消隐间隔,并允许配置的活动和非活动帧的大小。
块和使用该接口的对象不需要为精确的图像尺寸或不活动区域的尺寸的配置选项。另外,如果你改变图像格式,为您的设计,您无需更新每个块或对象。取而代之的是,更新的图像参数一旦在序列化的一步。一些块和对象仍然需要的行缓冲器的大小参数,以分配的存储器资源。
通过隔离的图像格式的详细信息,您可以使用一个小的图像更快的仿真开发设计。然后,一旦设计是正确的,更新到实际的影像尺寸。
视频可来自各种来源,如照相机,磁带存储,数字存储,或者开关和插入齿轮。这些源可以引入定时问题。人的视觉不能检测视频信号的方差小,所以对于视频系统的时机并不需要是完美的。因此,视频处理块必须容忍线和帧的可变正时。
通过使用与控制信号的流像素接口,每个视觉HDL工具箱块或对象在开始的行上的像素的新鲜段开始计算或启动的帧信号。计算发生块或物体是否接收到用于所述之前段的结束信号。
该协议容忍较小的定时误差。如果有效和无效的周期开始信号之间的数值变化时,块或物体可继续正常操作。一些视觉HDL工具箱块和对象需要最低水平消隐区,以适应存储器缓冲器的操作。
在Si金宝appmulink®, 使用帧像素阻止对成帧的视频数据转换为符合该协议的像素和控制信号的流。所述控制信号是在称为非虚拟总线数据类型分组pixelcontrol
。可以配置该块与每个周期1,4,或8个像素返回一个像素流。
在MATLAB®, 使用visionhdl.FrameToPixels
目的是成帧的视频数据转换为符合该协议的像素和控制信号的流。所述控制信号是在一个结构中的数据类型分组。可以配置的对象,与每个周期1,4,或8个像素创建像素流。
如果输入的视频已经在串行格式,你可以设计自己的逻辑来生成pixelcontrol
从现有的串行控制方案,控制信号。例如,看转换摄像机控制信号来pixelcontrol格式和集成视觉HDL块分成的Camera Link系统。
视觉HDL工具箱块和对象包括流像素数据端口或参数。每个块和对象支持一个或多个像素的格式。金宝app所支持的金宝app格式取决于该操作的块或对象执行。该表详细描述了视觉HDL工具箱支持常见的视频格式。金宝app
视频类型 | 像素格式 |
---|---|
二进制 | 每个像素由一个单一的表示布尔 要么合乎逻辑 值。用于真正的黑色和白色的视频。 |
灰度 | 每个像素由表示亮度,这是伽马校正的亮度值。该像素是一个单一的无符号整数或定点值。 |
颜色 | 每个像素由表示像素的颜色分量为2〜4的无符号整数或定点值表示。视力HDL工具箱块和对象使用伽马校正的色彩空间,如R'G'B”和Y'CbCr的。 要设置多像素流媒体彩色视频,使用单独的帧像素块对每个颜色分量。例如,对于一个R'G'B”与每个周期的4个像素流,使用三个帧像素块以创建的每个周期的4个像素的三个矢量。该 |
视力HDL工具箱块具有一输入或输出端口,像素
,对于像素数据。视觉HDL工具箱系统对象预期或返回代表的像素数据的参数。下表描述了在像素数据的格式。
端口或参数 | 描述 | 数据类型 |
---|---|---|
像素 |
|
金宝app支持的数据类型可以包括:
|
视力HDL工具箱块和对象包括用于与每个像素控制信号的端口或参数。这五个控制信号指示的像素的有效性和在画面中的位置。对于多像素流,像素值的每个向量具有一组控制信号。
在Si金宝appmulink中,控制信号端口是被称为非虚拟总线数据类型pixelcontrol
。对于总线数据类型的详细信息,请参阅像素控制总线。
在MATLAB中,该控制信号参数是一个结构。对于结构数据类型的详细信息,请参见像素控制结构。
为了说明流像素协议,本实施例的帧转换为控制信号和数据信号的序列。考虑一个2×3像素的图像。为了模拟在消隐间隔,配置串行化图像以包括在围绕所述有源图象这些区域无效像素:
1个像素宽的后沿
2像素宽的前沿
第一有源行之前1线
最后一个活动行之后1线
你可以配置的活动和非活动区域的尺寸帧像素块或visionhdl.FrameToPixels
目的。
在图中,活动图像区域是在虚线矩形和无效像素包围它。像素标有自己的灰度值。
从左至右,一条线在一个时间块或对象序列化图像。该时序图显示了控制信号和像素数据对应于该图像中,这是的串行输出帧像素块用于该帧,配置为单像素流。
对于使用的示例帧像素块序列化的图像时,看设计的视频处理算法的HDL在Simulink金宝app。
对于使用的示例FrameToPixels
对象序列化的图像时,看设计在MATLAB硬件定位的图片过滤器。
本实施例中转换的帧与每个周期的4个像素和相应的控制信号的多像素流。考虑与周围的活动图像,这些无源区域64像素宽的框。
4个像素宽的后沿
4个像素宽的前沿
第一有源行之前4行
4行的最后一个有效行后
该帧像素块,被配置用于从在该帧的每一行的像素形成的多像素流返回象素矢量从左到右。此图显示了该帧的左上角。所述灰色像素显示帧的有效区域,并在零值像素表示消隐像素。上的每个有源像素标签表示在帧中的像素的位置。突出显示框显示的像素的集流上一个周期。在非活动区域的像素也同时流四强。灰色框显示了四个像素消隐活动帧的开始之前流循环。蓝色框显示的四个像素值串流在框架的第一个有效周期,以及橙色框显示的四个像素值串流在所述框架的所述第二有效周期。绿色框显示下一个活动行的第一个四个像素。
该波形示出了多像素流数据和控制信号的相同帧的第一行,与流每个周期4个像素。该pixelcontrol
适用于每个组的四个像素值的信号被示出的数据信号的下方。因为向量只有一个有效
信号,在矢量中的像素或者全部有效或所有无效。该HSTART
和的vStart
信号施加到与所述矢量的最低索引的像素。该亨德
和鬻
信号施加到与所述矢量指数最高的像素。
在此之前显示的时间段,初始垂直消隐像素被在同一时间流4,与所有的控制信号设置为假
。该波形示出了图像的第一行的像素流。灰,蓝,橙框对应于该帧图的高亮区域。第一行完成之后,该流具有包含8个无效像素(前后肩)水平消隐的两个周期。然后,波形显示流中的下一行,从绿色方块。
举一个例子模型,利用多像素流,见过滤器的多像素视频流。
帧像素|像素框架|visionhdl.FrameToPixels
|visionhdl.PixelsToFrame