流像素接口
流像素的接口是什么?
在硬件,处理整个帧的视频一次内存和地区有很高的成本。节省资源,串行处理比在HDL设计。视觉HDL工具箱™操作一个像素块和系统对象,线,或附近,而不是一个框架。块和对象接受并生成视频数据的连续流像素数据和控制信号。控制信号显示图像中的每个像素的相对位置或视频帧。协议模拟视频的时间系统,包括活动帧之间的时间间隔。每个块或对象操作完全不知情的情况下的图像格式,并能容忍不完美的线条和帧的时机。
所有视觉HDL工具箱块和系统对象支持单像素流(1像素每周期)。金宝app一些模块和系统对象也支持multipixel流(2、4或8像素每循环)高金宝app效和高分辨率的视频。Multipixel流增加硬件资源来支持更高的视频分辨率相同的硬件时钟频率较小的分辨率的视频。金宝搏官方网站金宝appHDL代码生成与系统对象multipixel流不支持。金宝app使用等效为multipixel算法生成HDL代码块。
一个流像素接口是如何工作的呢?
视频捕捉系统扫描视频信号从左到右和从上到下。随着这些系统扫描,他们之间产生不活跃的时间间隔线路和活动视频的帧。
的水平消隐间隔由活动周期的最后一行与下一行的开始。这个间隔通常分为两个部分:门廊和后门廊。这些术语来自线之间的同步脉冲波形模拟视频。的门廊是样品的数量之间的积极行同步脉冲。的后门廊是样品的数量之间的同步脉冲和积极的开始。
的垂直消隐时间间隔是由之间的活动周期结束积极行一帧的开始积极行下一个框架。
扫描模式需要开始和结束的信号水平和垂直方向。愿景HDL工具箱流像素协议包括消隐间隔,并允许您配置的大小活跃的和不活跃的框架。
框架图,蓝色阴影区域的左翼和右翼活动框架表明水平消隐间隔。橙色阴影区域上方和下方的活动框架表示垂直消隐间隔。消隐间隔的更多信息,请参阅配置消隐间隔。
为什么要使用流像素接口?
格式独立
块和对象使用这个接口不需要精确的图像大小的配置选项或不活跃的区域的大小。此外,如果你改变你的设计的图像格式,您不需要更新每个块或对象。相反,一旦在序列化一步更新图像参数。有些模块和对象仍然需要一条线缓冲区大小参数来分配内存资源。
通过隔离图像格式的细节,您可以开发一个快速仿真的设计使用一个小图像。一旦设计是正确的,更新的实际图像的大小。
错误宽容
视频可以来自各种来源,如相机、磁带存储、数字存储、交换和插入齿轮。这些资源可以引入时机问题。人类的视觉不能检测视频信号的偏差,所以时间视频系统不需要是完美的。因此,视频处理模块必须容忍变量的时间线和画框。
通过使用一个流像素与控制信号接口,每个视觉HDL工具箱块或对象开始计算在一段新的像素start-of-line或start-of-frame信号。计算块或对象是否发生接收前一段的结束信号。
协议容忍小时间错误。如果有效和无效的数量开始信号之间的周期不同,块或对象正确继续运营。一些视觉HDL工具箱块和对象要求最低水平消隐地区容纳内存缓冲区操作。有关更多信息,请参见配置消隐间隔。
像素流转换使用模块和系统对象
在仿真金宝app软件®,可以使用帧像素块将视频数据流的像素和控制信号,符合该协议。nonvirtual总线的控制信号被分组数据类型pixelcontrol
。您可以配置块返回一个像素流与1,2,4,8像素每循环。
在MATLAB®,可以使用visionhdl.FrameToPixels
对象将视频数据流的像素和控制信号,符合该协议。结构的控制信号被分组数据类型。您可以配置对象创建一个像素流与1,2、4、8像素每循环。
如果您的输入视频已经在一个串行格式,你可以设计你自己的逻辑来生成pixelcontrol
从现有的串行控制信号控制方案。例如,请参见相机控制信号转换为pixelcontrol格式和视觉HDL块融入相机连接系统。
金宝app支持像素数据类型
视觉HDL工具箱块和对象包括港口或理由流像素数据。每一块和对象支持一个或多个像素格式。金宝app支持的格金宝app式取决于块或对象执行的操作。这个表细节共同支持的视频格式视觉HDL工具箱。金宝app
类型的视频 | 像素格式 |
---|---|
二进制 | 每个像素都由一个表示布尔 或逻辑 价值。用于真正的黑白视频。 |
灰度 | 每个像素表示亮度,这是伽马校正亮度值。这个像素是一个无符号整数或定点值。 |
颜色 | 每个像素由2到4表示无符号整数或定点值代表组件的像素的颜色。视觉HDL工具箱块和对象使用伽马校正颜色空间,如b R石头和Y 'CbCr。 处理的多组分流块不支持多组分输入,复制块为每个组件。金宝app的 为颜色设置multipixel流视频,您可以配置帧像素返回一个多组分和multipixel流。看到MultiPixel-MultiComponent视频流。 |
视觉HDL工具箱街区有一个输入或输出端口,像素
像素数据。视觉HDL工具箱系统对象期望或返回一个参数代表像素数据。下面的表描述像素数据的格式。
港口或论点 | 描述 | 数据类型 |
---|---|---|
像素 |
你可以用multipixel流模拟系统对象接口,但是你不能生成系统对象的HDL代码使用multipixel流。为multipixel算法生成HDL代码,使用等效模型块。金宝app |
金宝app支持的数据类型可以包括:
该软件支持金宝app |
请注意
这个表的块支持multipixel输入,但不是多组金宝app分像素。表显示了数量的输入像素每一块支持。金宝app
块 | 数量的像素 |
---|---|
图像滤波 | 2、4、8 |
双边滤波器 | 2、4、8 |
行缓冲 | 2、4、8 |
伽马校正器 | 2、4、8 |
边缘检测器 | 2、4、8 |
中值滤波器 | 2、4、8 |
柱状图 | 2、4、8 |
查找表 | 2、4、8 |
二进制形态学:关闭,扩张,侵蚀,开放 | 4或8 |
这些块支持multipix金宝appel-multicomponent像素流。表显示了每个块的像素数量和组件的支持。金宝app
块 | 数量的像素 | 数量的组件 |
---|---|---|
像素流FIFO | 2、4、8 | 1、3或4 |
颜色空间转换 | 2、4、8 | 3 |
Demosaic插入器 | 2、4或8 | 3(输出) |
ROI选择器 | 2、4、8 | 1、3或4 |
像素流对准器 | 2、4、8 | 1、3或4 |
流像素控制信号
视觉HDL工具箱块和对象包括港口或理由与每个像素相关的控制信号。这五个控制信号显示一个像素的有效性和它的位置。multipixel流,每个像素值的向量都有一组控制信号。
在仿真金宝app软件中,控制信号端口nonvirtual总线数据类型被称为pixelcontrol
。总线数据类型的详细信息,请参阅像素控制总线。
在MATLAB中,控制信号参数是一个结构。结构的数据类型的详细信息,请参见像素控制结构。
样品时间
因为帧像素块创建一个连续流的每个输入帧的像素,你的视频源必须匹配的样本时间帧的像素总数。像素的总数每行像素总数×总视频线,所以这个值设置样品时间。
如果你的外框尺寸很大,你可能达到解决固定步长限制样本次仿真软件,并接受这样的一个错误。金宝app
计算固定步长(1.0)小于1000000.0倍的离散样本次模型。
单个像素的串行接口的时序图
为了说明流像素协议,这个例子将一帧转换为一系列的控制和数据信号。考虑一个2×3像素的图像。消隐间隔模型,配置序列化形象包括不活跃在动态图像像素在这些领域:
1像素宽后门廊
2-pixel-wide门廊
1线之前第一个活跃的线
1线后活跃
您可以配置的尺寸与活跃的和不活跃的地区帧像素块或visionhdl.FrameToPixels
对象。
图,动态图像在虚线矩形区域,和不活跃的像素包围它。其灰度值的像素标记。
块或对象序列化图像从左到右,一次一行。计时图显示了控制信号和对应于图像像素数据,串行输出帧像素块框,单像素流的配置。
使用一个例子帧像素序列化一个图像块,明白了在仿真软件为HDL设计视频处理算法金宝app。
使用一个例子FrameToPixels
对象序列化一个形象,明白了在MATLAB环境下设计Hardware-Targeted图像过滤器。
Multipixel串行接口的时序图
这个例子将一个帧转换为multipixel流每周期4像素和相应的控制信号。考虑一个64像素宽的框架与这些不活跃地区的积极形象。
4-pixel-wide后门廊
4-pixel-wide门廊
前4行第一个活跃的线
后4行最后一个活跃的线
的帧像素块配置为multipixel流返回像素矢量形成像素的帧中的每一行从左到右。这个图表显示了框架的左上角。灰色像素显示框架的有效面积,和新鲜感像素代表消隐像素。标签在每个有源像素代表帧的像素的位置。高亮框显示像素的集合流在一个循环。四像素也流不活跃的地区。灰色框显示了四个消隐像素流周期开始前活动的框架。蓝色框显示了四个像素值流第一框架的有效循环,和橙色框显示了四个像素值流第二框架的有效循环。绿色框显示了前四个像素的下一个活动。
这个波形显示multipixel流数据和控制信号的第一行相同的帧,流4像素每循环。的pixelcontrol
信号,适用于每组四个像素值如下所示的数据信号。因为只有一个向量有效的
信号矢量的像素要么全部有效或无效的。的hStart
和音速启动
适用于最低的像素信号指数向量中。的这个到
和公开发表
适用于最高的像素信号指数向量中。
显示的时间之前,最初的垂直消隐像素流四个,控制信号设置假
。这个波形显示图像的像素的第一行。灰色、蓝色和橙色框对应的高亮区域框架图。第一行完成后,水平消隐的流有两个周期包含8无效的像素(前后玄关)。然后,波形显示下一行的流,从绿色的盒子。
例如模型,使用multipixel流,明白了过滤器Multipixel视频流。
另请参阅
帧像素|像素帧|visionhdl.FrameToPixels
|visionhdl.PixelsToFrame