GIGE 协议摘录 —— GVSP 协议(三)(上)

简介: GIGE 协议摘录 —— GVSP 协议(三)

GVSP 摘要

    GVSP 是一种依赖于 UDP 传输层协议的应用层协议。它允许 GVSP 接收器从 GVSP 发射机接收图像数据、图像信息或其他信息。

    GVSP 数据包总是从 GVSP 发射器传输到接收器。

  该规范上的当前版本使用 UDP IPv4 作为传输层协议。由于 UDP 是不可靠的,GVSP 提供了机制来保证数据包传输的可靠性(通过 GVCP),并确保最小的流量控制。

UDP 可靠性和错误恢复

数据块

    该数据块被划分为多个元素,以向 GVSP 接收机提供解码该块所需的信息。

    对于图像,可以通过两种不同的方式提供来自同一帧的多个 ROIs :

  1. 在单个流信道上 —— 当它们在同一流信道上传输时,每个 ROI 必须以不同的块 ID 进行传输。在这种情况下,必须使用相同的时间戳来促进将 ROI 与给定的暴露口相匹配,如 [CR-253st] 所指定的那样。设备可以选择在同一流通道上发送所有 ROI ,以简化传输(只配置一个流通道)。
  2. 在不同的流通道上 —— 当它们在不同的流通道上传输时(每个流通道有一个 ROI),那么 ROI 应该使用相同的块 ID 值,以方便匹配。在这种情况下,时间戳仍然可以用于方便将 ROI 与给定的曝光相匹配。设备可能选择使用不同的流通道,允许不同的 ROI 发送到不同的目的地。

数据块传输模式

    数据块放入包中,允许在流通道上传输。支持两种传输模式:标准和全传输模式。

    在标准传输模式下,数据开始标记包、数据有效负载包和数据结束标记包以不同的数据包分开。这是自 GigE 愿景成立以来所支持的标准方法。开始标记包和结束标记包划定了数据的有效载荷,并在连续的数据块之间提供清晰的分离点。

    • 在标准传输模式下存在三种不同的数据包类型:
    1. 数据开始标记包
    2. 数据有效载荷包
    3. 数据结束标记包

        下图说明了在标准传输模式下的数据包的顺序。

    全传输模式

        可选地,如果数据开始标记、数据有效载荷和数据结束标记可以装入单个数据包,那么 GVSP 发射器可以配置为重新分组它们。这是一种全能的传输模式,可用于减少拥有单独的数据开始标记和数据结束标记包的开销。

    • 应用程序必须验证是否支持此传输模式(SCCx 的第 29 位)并启用它(SCCFGx 的第 29 位),否则将使用标准传输模式。

    数据块数据包头

        所有的 GVSP 数据包共享相同的基本报头。GVSP 协议报头不包括长度字段: GVSP 接收器使用 UDP 长度信息来确定数据包的大小。

    标准传输模式数据包

        为标准传输模式定义了以下数据包。

    数据开始标记数据包

    • 数据开始标记包必须是块的第一个包。
    • 数据引线包必须以单独的包发送,packet_id/packet_id32设置为0。它必须适合一个最多576字节的包(包括IP、UDP和GVSP头)。
    • 数据开始标记包必须遵循图24-4的布局。

    全传输模式包

    块数据

        块是经过标记的数据块,可以在数据块中分组以发送元数据。数据块的例子是:

    • 图像
    • 从图像中提取数据
    • AOI / 像素格式
    • I/O 引脚的状态
    • 曝光数

    有效载荷类型(Image Payload Type)

        为了有效地传输信息,GVSP 定义了可以从 GVSP 发射机中流式传输的各种有效载荷类型。下表中列出了这些有效负载类型。


    1、扩展块模式(Extended Chunk Mode)

    2、图像有效载荷类型(Image Payload Type)

        此有效载荷类型用于传输未压缩的图像。

        如果支持图像有效负载,则使用图像有效负载类型的流必须以光栅扫描格式在每个数据有效负载数据包中放置数据。

    这意味着图像在从左到右传输,然后从上到下传输之前,要在GVSP发射器存储器中重建。这是典型的单触头传感器。

    2.1 Image Data Leader Packet(图像数据开始标记包)

    2.2 Image Data Payload Packet(图像数据有效负载包)

    2.3 Image Data Trailer Packet(图像数据结束标记包)

    2.4 Image All-in Packet(图像全输入数据包)

    3、原始数据有效载荷类型(Raw Data Payload Type)

        这种有效载荷类型用于将原始数据从 GVSP 发送器传输到 GVSP 接收器。例如,这可以用来发送采集统计信息。

    3.1 Raw Data Leader Packet

    3.2 Raw Data Payload Packet

    3.3 Raw Data Trailer Packet

    3.4 Raw All-in Packet

    4、文件有效载荷类型(File Payload Type)

        这种有效负载类型用于传输可以直接保存到 GVSP 接收器硬盘上的文件。例如, GVSP 发射机可以使用 GIF 图像压缩将压缩文件发送到 GVSP接收器。

    4.1 File Data Leader Packet

    4.2 File Data Payload Packet

    4.3 File Data Trailer Packet

    4.4 File All-in Packet

    5、块数据有效载荷类型(Chunk Data Payload Type)

        这种有效负载类型用于流数据块。这类似于扩展块模式,但没有主有效负载类型。因此,第一个块可以是任何东西。

    5.1 Chunk Data Leader Packet

    5.2 Chunk Data Payload Packet

    5.3 Chunk Data Trailer Packet


    5.4 Chunk All-in Packet

    6、扩展块数据有效载荷类型(已弃用)(Extended Chunk Data Payload Type (deprecated))

    7、JPEG有效载荷类型(JPEG Payload Type)

        本节介绍 ITU Rec. T.81 的 GVSP 有效载荷类型,更著名的名称是 JPEG。这种 JPEG 有效载荷类型的灵感来自于 RFC2435 。

    7.1 JPEG原则(JPEG Principles)

    JPEG 图片格式详解

    JPEG 文件格式详解

       JPEG 编码器用于对(即压缩)“原始” 图像进行编码,以生成符合 JPEG 标准的压缩数据流。数据流的格式由 JPEG 标准定义。


       下图显示了一个在 ITU Rec. T.81 中所描述的 JPEG 压缩数据流。JPEG 压缩数据流以图像开始(SOI)标记开始,包含一个压缩图像,并以图像结束(EOI)标记结束。


       帧以帧标题开始,并包含一个或多个扫描。扫描是对图像中的一个或多个组件的单次数据传递。帧报头之前可以带有 JPEG 标准中指定的一个或多个表规范或杂项标记段。


       扫描以一个扫描头开始,并包含一个或多个熵编码的数据段。每个扫描报头之前可以有一个或多个表规范或杂项标记段。如果没有启用重启,则只有一个熵编码的段(标记为 “最后” 的段),并且没有重启标记。如果启用重新启动,熵编码段的数量由图像的大小和定义的重启间隔定义。在这种情况下,除了最后一个标记外,每个熵编码的段后面都有一个重启标记。重新启动 JPEG 数据中的标记表示解码器应该重置其状态的一个点。

        熵编码段由一个最小熵编码单元的序列组成。

    7.2 针对 GVSP 的 JPEG 实现(JPEG Implementation for GVSP)

        JPEG 压缩数据流包括解码和显示压缩图像所需的大部分信息。本规范定义了一种 GVSP 有效负载格式,使 GVSP 接收器能够在不知道视频编码器的特性的情况下解码和显示所编码的图像。在 JPEG 压缩数据流中编码的图像在单个 GVSP 数据块上传输。

        JPEG 有效载荷类型只有在 GVSP 视觉扩展 ID 模式下才支持 GigE 视觉扩展 ID 模式(即 GVSP 数据包的EI字段必须设置为 1)。

    7.3 JPEG Data Leader Packet


    7.4 JPEG Data Payload Packet

    7.5 JPEG Data Trailer Packet

    7.6 JPEG All-in Packet

    GIGE 协议摘录 —— GVSP 协议(三)(中):https://developer.aliyun.com/article/1598400

    目录
    相关文章
    |
    21天前
    |
    XML 存储 网络安全
    GIGE 协议摘录 —— GVCP 协议(二)(下)
    GIGE 协议摘录 —— GVCP 协议(二)
    39 3
    |
    21天前
    |
    存储
    GIGE 协议摘录 —— GVSP 协议(三)(下)
    GIGE 协议摘录 —— GVSP 协议(三)
    26 1
    |
    21天前
    |
    传感器 XML 编解码
    GIGE 协议摘录 —— GVSP 协议(三)(中)
    GIGE 协议摘录 —— GVSP 协议(三)
    38 1
    |
    21天前
    |
    监控
    GIGE 协议摘录 —— GVCP 协议(二)(上)
    GIGE 协议摘录 —— GVCP 协议(二)
    51 2
    |
    21天前
    |
    存储 网络协议 Linux
    GIGE 协议摘录 —— 设备发现(一)
    GIGE 协议摘录 —— 设备发现(一)
    39 3
    |
    21天前
    GIGE 协议摘录 —— 引导寄存器(四)(中)
    GIGE 协议摘录 —— 引导寄存器(四)
    32 1
    |
    21天前
    |
    存储 XML 前端开发
    GIGE 协议摘录 —— 引导寄存器(四)(上)
    GIGE 协议摘录 —— 引导寄存器(四)
    32 1
    |
    21天前
    GIGE 协议摘录 —— 引导寄存器(四)(下)
    GIGE 协议摘录 —— 引导寄存器(四)
    29 1
    |
    4月前
    |
    存储 网络协议 Linux
    |
    设计模式 缓存 网络协议
    Linux网络编程 --- 以太网帧格式简析
    Linux网络编程 --- 以太网帧格式简析
    125 0