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

文章目录

  视频缩放功能是将输入图像从一种分辨率转换到另一种分辨率输出,同时满足视频实时输入实时输出的要求。如果用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数等并没有列出,这些往往是对图像质量有更高的要求时才会使用。

相关推荐
君为先-bey13 小时前
DiffusionGS: 将3D高斯溅射嵌入扩散模型的单阶段图像到三维生成
深度学习·计算机视觉·3d·扩散模型·三维点云
思尔芯S2C13 小时前
FPGA Prototyping That Creates Useful Pre-Silicon Evidence
fpga开发
啄缘之间13 小时前
10.【学习】SPI & UART 验证环境与测试用例
开发语言·经验分享·学习·fpga开发·测试用例·verilog
梦想三三14 小时前
【OpenCV】图像的轮廓检测
人工智能·opencv·计算机视觉
yubo050914 小时前
计算机视觉第一课:环境搭建 + 第一个 CV 程序
人工智能·计算机视觉
Evand J14 小时前
【图像去噪例程】自适应窗口长度的滑动窗口中值滤波(附MATLAB下载链接)
图像处理·计算机视觉·matlab·滤波·自适应
xinxiangwangzhi_14 小时前
立体匹配--Monster(2025)
计算机视觉
weixin_4684668515 小时前
PyTorch 深度学习框架核心能力与实战评测
人工智能·pytorch·深度学习·神经网络·计算机视觉·动态图·模型训练
青风971 天前
SDDGR:基于稳定扩散的深度生成重放,用于类增量对象检测(CVPR 2024)
网络·人工智能·深度学习·神经网络·计算机视觉