图像缩放需要哪些参数和端口

文章目录

  视频缩放功能是将输入图像从一种分辨率转换到另一种分辨率输出,同时满足视频实时输入实时输出的要求。如果用FPGA实现该功能,需要涉及分辨率,缩放算法,数据位宽等等多种可变信息。那么该如何设置参数和端口,举例如下图所示。参数可配置,但不能动态修改。而端口可以动态修改,实时可变。

1.图像缩放参数

用FPGA实现的缩放功能,参数在生成模块时是可以配置的,但生成后就固定,不可以动态修改。参数表示的信息对实现缩放功能的资源,架构也都会有影响,那么以下信息适合用参数表示。

(1)颜色分量位宽DATA_BW

图像一般用RGB或YC444格式表示,每个颜色分量R,G,B,或者亮度Y和色度Cb,Cr表示的数据位宽,比如8bit,10bit,12bit等等。

(2)分量通道数NUM_CH

比如只有一个亮度分量,通道数就为1。或者有R,G,B分量,通道数就为3。

(3)每时钟像素数NUM_PPC

通常情况,1个时钟就1个像素,但在大分辨率下,时钟频率过高,就采取降时钟,扩位宽的方式处理,就出现1个时钟2个像素,或1个时钟4个像素情况。用Pixel Per Clock(PPC,每时钟像素)表示。

(4)缩放算法

不同的缩放算法,最近邻,双线性,双立方,lanczos等等,对设计架构影响比较大,所以一般用参数表示。

(5)输入最大宽度

决定了输入一行图像缓存的深度,也就决定了RAM资源的使用量,还有表示分辨率的bit位宽。

(6)输出最大宽度

决定了输出一行图像缓存的深度,也决定了RAM资源的使用量,还有表示分辨率的bit位宽。

(7)输入最大高度

对RAM资源的使用量不影响,但影响表示分辨率的bit位宽。

(8)输出最大高度

对RAM资源的使用量不影响,但影响表示分辨率的bit位宽。

2.图像缩放端口

端口与参数不同,在生成之后运行时也可以动态修改,而且端口信息的改变对缩放功能的资源,架构不会有影响。那么以下信息适合用端口表示。

(1)输入图像宽度

表示输入图像水平分辨率。比如1920x1080分辨率的1920值。

(2)输入图像高度

表示输入图像垂直分辨率。比如1920x1080分辨率的1080值。

(3)输入图像有效区宽度

比如输入图像1924x1084分辨率,但有效区为1920x1080,其中的1920值。为什么会有这种需求,因为大图像分块处理时,边缘处需扩展数据处理,这样才能保证缩放后拼接边缘过渡平滑。扩展处理时,有效区就与实际输入分辨率有差别。

(4)输入图像有效区高度

比如输入图像1924x1084分辨率,但有效区为1920x1080,其中的1080值。

(5)输入图像水平偏移

比如输入图像1924x1084分辨率,水平起始位置为4,即水平偏移为4。

(6)输入图像垂直偏移

比如输入图像1924x1084分辨率,垂直起始位置为4,即垂直偏移为4。

(7)输出图像宽度

表示缩放后输出图像水平分辨率,比如2560x1440分辨率的2560值。

(8)输出图像高度

表示缩放后输出图像垂直分辨率,比如2560x1440分辨率的1440值。

(9)水平缩放因子HSF

也叫水平插值步进,计算方法通常是用(vin_hor-1)/(vout_hor-1),再乘以放大比例,通常是65536,转成整数。

(10)垂直缩放因子VSF

也叫垂直插值步进,计算方法通常是用(vin_verr-1)/(vout_ver-1),再乘以放大比例,通常是65536,转成整数。

(11)水平初始相位HIPHASE

当做图像分块处理后再拼接时,缩放水平起始位置相位。计算方法,用水平缩放因子HSF乘以水平起始位置到有效区起始点距离HWIDTH,再对65536取模,即水平初始相位HIPHASE = (HSF*HWIDTH) % 65536。

(12)垂直初始相位VIPHASE

当做图像分块处理后再拼接时,缩放垂直起始位置相位。计算方法,用垂直缩放因子VSF乘以水平起始位置到有效区起始点距离VHEIGHT,再对65536取模,即水平初始相位VIPHASE = (VSF*VHEIGHT) % 65536。

  这里只列了一些常用的参数和端口,还有一些如系数位宽,相位数,lanczos的Tap数等并没有列出,这些往往是对图像质量有更高的要求时才会使用。

相关推荐
谙忆10242 小时前
图片放大为什么会糊?从插值到AI超分,超分辨率技术是怎么演进的
人工智能·计算机视觉
yyywxk5 小时前
ICML 2026 超分辨率(super-resolution)方向上接收论文总结
计算机视觉·icml·超分辨率
hixiong1236 小时前
TensorRT转换工具分享
人工智能·计算机视觉·ai·c#
动物园猫7 小时前
可回收垃圾目标检测数据集:5类别、13,000张图像 | 目标检测
人工智能·目标检测·计算机视觉
尤老师FPGA9 小时前
HDMI数据的接收发送实验(十八)
fpga开发
万亿少女的梦16810 小时前
基于深度学习的动物图像分类系统设计与实现
pytorch·深度学习·计算机视觉·图像分类·convnext
北京青翼科技11 小时前
青翼科技 JFM7K325T FPGA+FT-M6678 DSP 的全国产化信号处理平台丨FPGA开发板
fpga开发·数据采集卡·fmc子卡·fpga开发板·ad采集卡·图像处理卡·dsp信号处理
zlinear数据采集卡1 天前
从0到1硬核拆解:工业级数据采集卡的隔离设计与Modbus通信实战
arm开发·单片机·嵌入式硬件·fpga开发·开源
搞科研的小刘选手1 天前
【香港大学主办&IEEE出版】第六届计算机视觉、应用与算法国际学术会议(CVAA 2026)
算法·计算机视觉·应用·学术会议
断眉的派大星1 天前
YOLO实例分割详细解析
人工智能·yolo·计算机视觉