流像素接口

什么是流式像素接口?

在硬件方面,一次处理一整帧视频在内存和面积上都有很高的成本。为了节省资源,在HDL设计中串行处理是较好的选择。Vision HDL工具箱™块和系统对象在像素、线条或邻域(而不是帧)上操作。这些块和对象以像素数据和控制信号的串行流的形式接受和生成视频数据。控制信号指示图像或视频帧中每个像素的相对位置。该协议模拟视频系统的定时,包括帧之间的非活动间隔。每个块或对象在不完全了解图像格式的情况下进行操作,并且可以容忍不完全定时的行和帧。

所有的视觉HDL工具箱块和系统对象支持单个像素流(每个周期1个像素)。金宝app一些嵌段和系统还对象支持多像素流(每个循环4或8个像素)对高速率或高分辨金宝app率的视频。多像素流增加硬件资源来支持相同的硬件时钟速率为较小的视频分辨率更高的视频分辨率。金宝搏官方网站金宝app不支持HDL代码生成的多像素流与系统对象。金宝app使用等效块来产生多像素算法HDL代码。

流式像素接口是如何工作的?

视频捕获系统从左到右,从上到下扫描视频信号。当这些系统扫描时,它们会在活动视频的行与帧之间生成不活动的间隔。

水平消隐interval是由一行的结束和下一行的开始之间的非活动周期组成的。这个时间间隔通常分为两部分门廊后门廊。这些术语来自于模拟视频波形中线路间的同步脉冲。的门廊为活动线路的末端与同步脉冲之间的采样数。的后门廊为同步脉冲与活动线路开始之间的采样数。

垂直消隐的非活动周期组成结束积极行一个坐标系开始积极行下一帧。

扫描图形需要用于水平和垂直两个方向上的开始和结束的信号。视野HDL工具箱流像素协议包括在消隐间隔,并允许配置的活动和非活动帧的大小。

为什么使用流式像素界面?

格式独立

块和使用该接口的对象不需要为精确的图像尺寸或不活动区域的尺寸的配置选项。另外,如果你改变图像格式,为您的设计,您无需更新每个块或对象。取而代之的是,更新的图像参数一旦在序列化的一步。一些块和对象仍然需要的行缓冲器的大小参数,以分配的存储器资源。

通过隔离的图像格式的详细信息,您可以使用一个小的图像更快的仿真开发设计。然后,一旦设计是正确的,更新到实际的影像尺寸。

容错

视频可以来自不同的来源,如相机,磁带存储,数字存储,或开关和插入设备。这些资源可能会带来时间问题。人类视觉无法检测到视频信号中的微小变化,因此视频系统的定时不需要是完美的。因此,视频处理块必须容忍可变的行和帧定时。

通过使用带有控制信号的流式像素接口,每个Vision HDL工具箱块或对象在行开始或帧开始信号时在一个新的像素段上开始计算。无论块或对象是否接收到前一段的结束信号,计算都会发生。

该协议允许较小的定时错误。如果开始信号之间有效和无效的周期数不同,则块或对象将继续正确操作。一些Vision HDL工具箱块和对象需要最小的水平消隐区域来容纳内存缓冲区操作。

使用块和系统对象的像素流转换

在仿真金宝app软件®,可以使用帧像素阻止对成帧的视频数据转换为符合该协议的像素和控制信号的流。所述控制信号是在称为非虚拟总线数据类型分组pixelcontrol。您可以配置该块来返回一个像素流,每个循环使用1、4或8个像素。

在MATLAB®,可以使用visionhdl.FrameToPixels目的是成帧的视频数据转换为符合该协议的像素和控制信号的流。所述控制信号是在一个结构中的数据类型分组。可以配置的对象,与每个周期1,4,或8个像素创建像素流。

如果您的输入视频已经是串行格式,您可以设计自己的逻辑来生成pixelcontrol从现有的串行控制方案,控制信号。例如,看将摄像机控制信号转换为pixelcontrol格式集成视觉HDL块分成的Camera Link系统

金宝app支持的像素数据类型

视觉HDL工具箱块和对象包括流像素数据端口或参数。每个块和对象支持一个或多个像素的格式。金宝app所支持的金宝app格式取决于该操作的块或对象执行。该表详细描述了视觉HDL工具箱支持常见的视频格式。金宝app

类型的视频 像素格式
二进制 每个像素由单个像素表示布尔逻辑价值。用于真正的黑白视频。
灰度 每个像素由表示亮度,这是经过伽玛校正的亮度值。此像素是单个无符号整数或定点值。
颜色

每个像素由2到4个无符号整数或固定点值表示,这些值表示像素的颜色组件。视觉HDL工具箱块和对象使用伽玛校正的颜色空间,如R' g ' b '和Y' cbcr。

要设置彩色视频的多像素流,请使用单独的帧像素块对每个颜色分量。例如,对于一个R'G'B”与每个周期的4个像素流,使用三个帧像素块创建三个矢量4像素每周期。的pixelcontrol所有三个组件的总线都是相同的,因此您只需在设计过程中向前携带一个总线。

视力HDL工具箱块具有一输入或输出端口,像素,表示像素数据。Vision HDL工具箱系统对象期望或返回一个表示像素数据的参数。下表描述了像素数据的格式。

端口或参数 描述 数据类型
像素
  • 单像素流——表示二进制或灰度像素值的标量,或表示一个彩色像素的二到四个值的行向量

  • 多像素流 - 四个或八个像素值的列矢量

    您可以模拟一个多像素流媒体接口系统对象,但他们不支持HDL代码生成。金宝app使用等效块来产生多像素算法HDL代码。

金宝app支持的数据类型可以包括:

  • 布尔逻辑

  • 使用uintint

  • fixdt ()

数据类型支持模拟,但不适用于H金宝appDL代码生成。

请注意

这些块支持多像素流:金宝app

流式像素控制信号

Vision HDL工具箱中的块和对象包括与每个像素相关的控制信号的端口或参数。这五个控制信号表示一个像素的有效性和它在帧中的位置。对于多像素流,像素值的每个向量都有一组控制信号。

在Si金宝appmulink中,控制信号端口是非虚拟总线数据类型pixelcontrol。有关总线数据类型的详细信息,请参阅像素控制总线

在MATLAB中,控制信号自变量是一个结构。有关结构数据类型的详细信息,请参阅像素控制结构

单像素串行接口时序图

为了演示流式像素协议,本例将一个帧转换为一系列控制和数据信号。考虑一个2×3像素的图像。要对空白间隔进行建模,请将序列化图像配置为在活动图像周围的这些区域中包括非活动像素:

  • 1个像素宽的后沿

  • 2-pixel-wide门廊

  • 第一行之前的第一行

  • 最后一个活动行之后的第一行

属性可配置活动区域和非活动区域的维度帧像素块或visionhdl.FrameToPixels对象。

在图中,活动图像区域位于虚线矩形中,不活动的像素环绕它。像素用它们的灰度值标记。

块或对象从左到右序列化图像,一次一行。时序图显示了与该图像相对应的控制信号和像素数据,该图像是该方法的串行输出帧像素块,配置为单像素流。

例如,使用帧像素块序列化的图像时,看在Simulink中设计高密度语言的视频处理算法金宝app

例如,使用FrameToPixels对象序列化图像,请参阅设计在MATLAB硬件定位的图片过滤器

多像素串行接口的时序图

此示例将一个帧转换为一个多像素流,每个周期为4个像素,并提供相应的控制信号。考虑一个64像素宽的帧,在活动图像周围有这些不活动的区域。

  • 4-pixel-wide后门廊

  • 4-pixel-wide门廊

  • 4行在第一个活动行之前

  • 最后一行之后的4行

帧像素块,被配置用于从在该帧的每一行的像素形成的多像素流返回象素矢量从左到右。此图显示了该帧的左上角。所述灰色像素显示帧的有效区域,并在零值像素表示消隐像素。上的每个有源像素标签表示在帧中的像素的位置。突出显示框显示的像素的集流上一个周期。在非活动区域的像素也同时流四强。灰色框显示了四个像素消隐活动帧的开始之前流循环。蓝色框显示的四个像素值串流在框架的第一个有效周期,以及橙色框显示的四个像素值串流在所述框架的所述第二有效周期。绿色框显示下一个活动行的第一个四个像素。

该波形显示同一帧的第一行的多像素流式数据和控制信号,每个周期流式4个像素。的pixelcontrol适用于每个组的四个像素值的信号被示出的数据信号的下方。因为向量只有一个有效的信号,矢量中的像素要么全部有效,要么全部无效。的HSTART音速启动信号应用于矢量中指数最低的像素。的这个到公开发表信号应用于向量中索引最高的像素。

在此之前显示的时间段,初始垂直消隐像素被在同一时间流4,与所有的控制信号设置为。该波形显示图像第一行的像素流。灰色、蓝色和橙色框对应于框架图的突出显示区域。第一行完成后,流有两个水平消隐周期,其中包含8个无效像素(前门廊和后门廊)。然后,波形显示流中的下一行,从绿色框开始。

有关使用多像素流的示例模型,请参见过滤器的多像素视频流

另请参阅

|||

相关的话题