打印
[技术相关]

图像硬件解码器配置过程

[复制链接]
855|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AdaMaYun|  楼主 | 2023-4-25 21:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Table 配置方式 寄存器方式
JPEG DEC 的量化表和 huffman 表支持以寄存器读写的方式进行配置,两组表可各自独立控制。
量化表
⚫ 在启动解码前进行配置
⚫ 数据以 32-bit 宽度写入量化表寄存器地址段:
◼ 0x100–0x13C(qtable0)
◼ 0x140–0x17C(qtable1)
◼ 0x180–0x1BC(qtable2)
Huffman 表
⚫ 在启动解码前进行配置
⚫ 数据以 32-bit 宽度写入 Huffman 表寄存器地址段:
◼ 0x200–0x2F8(htable0)
◼ 0x300–0x3F8(htable1)
DMA 方式
JPEG DEC 的量化表和 huffman 表支持内部 DMA 自动读取配置数据,两组表可各自独立控制。当
使能该模式后,内部 DMA 根据更新使能位在每帧的开头判断是否需要进行 table 配置数据读取。
量化表
⚫ 配置量化表内存地址:JPEG_QTABLE_BASE(要求首地址 32-bit 对齐)
⚫ 每张量化表大小:16x32-bit(64 Bytes),多张更新需要地址连续
⚫ 配置量化表数量:JPEG_SYS_CTRL[10:9]
⚫ 配置量化表更新使能位:JPEG_SYS_CTRL[8]
⚫ 内部 DMA 在帧解码时自动读取量化表Huffman 表
⚫ 配置 huffman 表内存地址:JPEG_HTABLE_BASE(要求首地址 32-bit 对齐)
⚫ 每张 huffman 表大小:64x32-bit(256 Bytes),多张更新需要地址连续
⚫ 配置 huffman 表数量:JPEG_SYS_CTRL[11]

⚫ 配置 huffman 表更新使能位:JPEG_SYS_CTRL[7]
⚫ 内部 DMA 在帧解码时自动读取 huffman 表
错误码流处理
JPEG DEC 针对错误的 JPEG 码流,有两种检测方式,解码器在识别到下列两种错误后会置位错误标记并触发错误中断:
⚫ 错误码流引起的 8x8 解码模块内部的 run length 溢出
◼ 中断状态位:JPEG_INT_CTRL[9]
◼ 错误信息状态位:JPEG_STATUS[1]
⚫ 带有 restart interval 模式的错误码流,解码出 RST marker 错误
◼ 中断状态位:JPEG_ INT_CTRL [9]
◼ 错误信息状态位:JPEG_STATUS[2]
对于错误码流,解码流程不会自动停止,驱动可以通过错误中断和错误状态来识别解码错误,可以有下列选择:
⚫ 让解码继续直到帧结束(输出错误图像数据)
⚫ 先置位 JPEG_SYS_CTRL[28]让解码暂停( dec_halt ),然后查询总线空闲标志位JPEG_STATUS[6:5],在总线空闲情况下,最后置位 JPEG_SYS_CTRL[3]取消当前帧解码(dec_cancel),注意在解码取消之前需要一直保持 dec_halt.

使用特权

评论回复

相关帖子

沙发
华芯微特FAE| | 2023-5-5 09:25 | 只看该作者
SWM341 自带 JPEG 图像硬件解码器,支持 JPEG Sequential DCT-based baseline 压缩标准、JFIF 格式图
像解码,可以大大减轻对 SPI-Flash 容量的限制,并且加快上电拷贝图片数据至 SDRAM 的速度。
需要注意的是:
1、待解码的 JPEG 图必须同时满足 Baseline DCT 压缩标准和 JFIF 文件格式,否则 JPEG 硬件解码器无法正常
解码,可使用辅助工具的 JPEGsnoop 来查看,使用 image2jpg.exe 进行图片转换以满足格式要求;

2、待解码的 JPEG 图应尽量保持图片长宽为偶数;偶数!!!

3、解码 JPG 图片时,需要开辟一个解码缓冲区,请务必保证该区域大于待解码的 JPEG 图大小;

使用特权

评论回复
板凳
观海| | 2023-5-15 17:08 | 只看该作者
图像解码器的主要作用在于接收前端高清编码图像或网络摄像头信号并解码,然后通过自身的各种视频输出接口

使用特权

评论回复
地板
tpgf| | 2023-5-15 17:27 | 只看该作者
编码器和解码器正好是一个正反过程,前端信号源输入图像,编码器进行编码,通过网络传输到远端,再通过解码器进行解码,输出图像。

使用特权

评论回复
5
guanjiaer| | 2023-5-16 10:09 | 只看该作者
  在JPEG文件中,其数据包含有Huffman表数据,但这里面的Huffman表并不能直接应用于解码,还需要进行一些转换,以生成可以直接应用于解码的表

使用特权

评论回复
6
heimaojingzhang| | 2023-5-16 10:32 | 只看该作者
在JPEG文件中,一般存在亮度与色度的Huffman表

使用特权

评论回复
7
keaibukelian| | 2023-5-16 11:31 | 只看该作者
Huffman_size表中的数据代表着Huffman编码的长度;Huffman_code代表的是Huffman编码的内容

使用特权

评论回复
8
paotangsan| | 2023-5-16 12:20 | 只看该作者
Huffman表数据包含两个部分,一个部分表示不同位宽的编码个数,一个部分表示编码的具体内容,根据这些内容,即可得到上在所述的Huffman_size、Huffman_code表

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

240

主题

1800

帖子

3

粉丝