主要内容

配置消隐间隔

流媒体视频协议有两个消隐间隔:水平垂直。水平消隐间隔是一行结束到下一行开始之间的非活动循环周期。垂直落料间隔是一帧结束到下一帧开始之间的非活动线的周期。

在此框架图中,活动框架左右的蓝色阴影区域表示水平下料间隔。活动框架上下的橙色阴影区域表示垂直下料间隔。

帧像素块,水平下料间隔等于每行总像素- - - - - -每行活动像素或者,同样,门廊+后门廊。垂直下料间隔为总视频线- - - - - -活跃的视频线或者,同样,开始积极行+结束积极行- - - - - -活跃的视频线

例如,帧像素图中所示参数的Block,其水平降准间隔为140像素,垂直降准间隔为80行。

Frame To Pixels块参数。

流媒体视频格式必须有足够长的消隐间隔,以便上一行或帧的操作在下一行或帧开始之前完成。水平或垂直的消隐间隔不足会导致输出帧损坏。标准的流媒体视频格式使用的水平消隐间隔约为线宽的25%。这个间隔比典型操作的延时要大得多。然而,当你使用自定义视频格式时,你必须在你的设计中包含与操作长度相适应的消隐间隔。

在这些波形图中,顶部信号显示了一帧的两行像素流的状态。阴影区域表示行与行之间的水平消隐间隔。底部的信号显示了在像素流上执行操作的块的状态。忙碌状态表示该块何时正在处理一行,空闲状态表示该块何时可用来开始处理新一行。第一对信号显示了一个场景,在第二行开始之前,块在第一行活动上完成了工作。这个消隐间隔足够长来确保正确的输出帧,因为当第二行到达时,该块可以开始在第二行上工作。第二对信号显示的场景是,当第二行开始时,块仍然在第一行活动上工作。在第二种情况下,块的输出是损坏的,因为块错过了第二行的开头。

一个操作在行结束后完成所需的时间通常取决于该操作的内核大小。例如,使用行缓冲区并将填充像素应用到帧边缘的算法至少需要千瓦行与行之间循环,其中千瓦是核的宽度。一个算法在缓冲区之后也可能有来自内核操作的管道延迟。这些延迟可以与内核大小相关也可以无关,可以大于也可以小于行缓冲区延迟。每个操作的处理时间取决于行缓冲区流水和内核操作流水。排料间隔必须足够长,以容纳这两个延迟中较长的那个。当你在一个处理链中使用多个块时,消隐间隔必须容纳延迟最长的块。

建议最小水平下料间隔为2×千瓦当使用填充或12循环时,您设置填充方法参数没有一个。此间隔包括在行缓冲区延迟之上的一些用于较长内核处理时间的余量。

建议垂直下料间隔至少为果仁高度,Kh行。无论操作是否使用填充,行缓冲区都需要这个间隔。

请注意

控件中使用像素流块时启用子系统(模型),使能信号模式必须保持像素流的计时,包括最小的消隐间隔。当使能值较低时,您可能需要扩展消隐间隔以适应循环。

排除排料间隔问题

当消隐间隔过小时,你可能会看到:

  • 空白的输出帧

  • 部分输出帧

  • 损坏的像素流控制信号模式(例如,丢失公开发表这个到信号,或重复结束开始信号)

  • 该算法适用于每行上连续的有效输入像素,但不适用于一行中有效像素之间存在间隙的情况

  • 算法在Simulink中工作®但在HDL模拟中失败

Vision HDL Toolbox™库块模型硬件管道阶段作为应用于输出的延迟。在相应的HDL实现中,管道阶段分布在整个计算过程中。这种差异意味着,对于一个给定的周期,一个块可以在HDL模拟中处于繁忙状态,但在Simulink中显示为空闲状态。当空白周期过短时,这种差异会导致生成的HDL测试台架显示出Simulink和HDL信号之间的不匹配,尤其是在输出控制信号上。

如果您看到上述任何症状,请将水平和垂直消光间隔增加到活动框架尺寸的25%,并重新运行模拟。如果这一步确认是过小的消隐间隔导致了您的症状,您可以对间隔进行微调。

在Simulink中诊断空白间隔问题的一种方法是使用测量时间块来观察操作前后像素流的尺寸。不充分的消隐间隔会导致块破坏控制信号。在这些情况下,输出帧显示的尺寸与输入帧不同。

该模型显示了图像滤波配置了12 × 12过滤器内核和启用边缘填充的块。像素流格式是一种自定义格式,只有8个水平空白像素,如测量时间阻塞在输入流上。由于水平落料间隔小于内核宽度,输出帧为空白。的测量时间屏蔽过滤器的输出显示格式的损坏。

的输出控制信号也可以看到腐败逻辑分析仪的输入和输出信号图像滤波块。红色箭头表示丢失hStart信号和不同的输出模式有效的信号来自街区。

该模型显示了边缘检测器块配置为使用3 × 3 Sobel过滤器内核,并启用边缘填充。这个像素流格式只有两个水平的消隐像素,如测量时间阻塞在输入流上。在这种情况下,输出帧只包含每两行。的测量时间过滤器输出上的块显示了格式的损坏。

的输出控制信号也可以看到腐败逻辑分析仪的输入和输出信号边缘检测器块。红圈表示丢失hStart这个到信号,红色箭头表示输出上的不同模式有效的信号来自街区。

如果修改输入格式,使水平的消隐间隔为3个像素,该模型将在Simulink中返回正确的输出帧。然而,当您运行生成的HDL测试台架时,测试台架报告了在Simulink中捕获的信号与HDL中的信号行为之间的不匹配。这张测试台架日志的图像突出显示了输出中的不匹配这个到公开发表信号。

这个波形来自于HDL测试台架的模拟,显示这个到公开发表第一帧结尾的信号都不见了。蓝色的信号是从Simulink仿真中捕获的预期输出。红色信号是算法在HDL仿真中的输出。红色箭头表示所期望的控制信号脉冲缺失的地方。

要修复Image Filter模型和Edge Detector模型,请将水平消隐间隔设置为至少2×千瓦像素,千瓦为过滤器核的宽度。为图像滤波模型,将这个值设置为至少24像素。为边缘检测器模型,将这个值设置为至少8像素。

另请参阅

|

相关的话题

Baidu
map