Grayscale JPEG Encoding

在图 292 中,您可以看到用于灰度 JPEG 编码的 VisualApplets 示例进程的顶层设计,其中包含模块 Implementation 和 Parameters。在此顶层设计中,您还可以找到有关设计中的进程数量以及示例实现中所用设计时钟频率的信息。

顶层设计结构

图 292. 顶层设计结构


右键单击框 Parameters,您可以设置小程序参数,如图像尺寸、JPEG Quality 或 Pixel Format。您可以在硬件中的小程序执行期间动态设置这些参数。 在模块 Implementation 中实现了 JPEG 压缩。有关基本实现结构,请参见图 293。

使用 JPEG_Encoder 算子的灰度 JPEG 压缩基本实现

图 293. 使用 operator JPEG_Encoder 的灰度 JPEG 压缩的基本实现


最大图像尺寸为 5120x5120 像素的 8 位灰度图像从相机接口直接转发至 operator JPEG_Encoder。与先前的 JPEG operator JPEG_Encoder_Gray 相比,无需外部 8x8 像素块排序模块。 右键单击该 operator,您可以设置诸如图像宽度和高度等参数,或者可以包含或排除 JPEG 标头。JPEG 压缩的 Quality 可以通过两个选项进行设置:您可以使用参数 Quality 以百分比形式设置压缩 Quality,或者通过设置矩阵参数 LuminanceQuantization 的值来单独配置量化表值。作为替代方案,您可以在顶层设计中右键单击模块 Parameters,并使用相应的转换和引用 operator 来修改这些参数(参见图 293)。 然后,压缩后的 JPEG 流通过 DMA1_JPEG 传输到 PC。 通过 DMA0_Original,用户可以将原始输入图像传输到 PC。这可以通过将顶层设计中模块 Parameters 的 Properties 库中的参数 ImageOutput 设置为“Enable”来实现。禁用通过 DMA 传输原始图像可最大程度地减少 DMA 有效载荷。在设计中,用户可以传输由图案发生器生成的图像,而不是由相机采集的图像。 这可以通过选择 Source Selector operator EnablePattern Generator 的输入源或者通过设置顶层设计中模块 Parameters 中的相应参数 TestImageGenerator来完成。