JEPG Encoder IP verilog设计及实现

总体介绍:
采用通用的常规 Verilog 代码编写,可用于任何 FPGA。 该内核不依赖任何专有 IP 内核,而是用 Verilog 编写了实现 JPEG 编码器所需的所有功能,代码完全独立。

编码器内核的输入是一条 24 位数据总线,红色像素、绿色像素和蓝色像素各有 8 位。 信号 "data_in "包含红色像素值(位数 [7:0])、绿色像素值(位数 [15:8])和蓝色像素值(位数 [23:16])。 每个时钟周期应该有 24 位新像素数据。 输入应从图像左上方的 8x8 块开始,从左上方的像素开始,向右,然后向下到第二行,等等。 在输入第一个 8x8 像素块后,至少需要延迟 13 个时钟周期才能输入下一个块。 延迟后,"使能 "信号应在一个时钟周期内变为低电平,然后在下一个时钟周期输入下一个 8x8 图形块时,"使能 "信号应变为高电平。 第二个 8x8 图像块的输入格式应与第一个图像块相同。 第二个 8x8 图形块将位于第一个图形块的右侧。 应从图像的左上方开始向右输入,直至到达图像的右边缘。 然后下移到第二行,直到图像的最后一行。 确保在每个块之间插入 13 个或更多时钟周期的延迟。 这是必要的,否则前一个程序块的计算将无法完成。

图像数据需要以完整的 8x8 块输入。 例如,如果图像是 90 x 90 像素,则需要将像素数据扩展到 96 x 96 像素。 这通常是通过在每一行或每一列的额外像素上重复边缘像素值来实现的。

输入最后一个 8x8 像素数据块时,在数据块的开头发出 "end_of_file_signal "信号。 这将让代码知道没有更多的数据块需要输入,剩余的比特将被输出,即使这些比特没有填满整组 32 比特。 如果最终的 JPEG 比特不

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芯作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值