[发明专利]一种实时视频缩放的硬件电路及其缩放方法有效
| 申请号: | 201910833659.8 | 申请日: | 2019-09-04 |
| 公开(公告)号: | CN110519603B | 公开(公告)日: | 2021-07-27 |
| 发明(设计)人: | 杜高明;范涛;王家舜 | 申请(专利权)人: | 合肥工业大学 |
| 主分类号: | H04N19/42 | 分类号: | H04N19/42;H04N19/182;H04N19/85 |
| 代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 陆丽莉;何梅生 |
| 地址: | 230009 安*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实时 视频 缩放 硬件 电路 及其 方法 | ||
1.一种实时视频缩放的硬件电路,其特征是由复位编码模块、水平预缩放模块、垂直缩放模块和复位解码模块组成;
所述水平预缩放模块由异步FIFO_1、ROM_1组、寄存器单元、水平运算单元和水平负反馈电路组成;
所述垂直缩放模块由异步FIFO_2、ROM_2组、BRAM组、垂直运算单元和垂直负反馈电路组成;
假设当前一帧原始图像的分辨率为o_width×o_length,缩放后的图像分辨率为a_width×a_length;
所述复位编码模块在摄像头输入时钟频率下获取当前第k行的第i个像素点,并对当前第k行的第i个像素点的最高位进行扩展,将所扩展出的最高位作为标志位,将其余位作为数据位;再根据摄像头所传递的帧使能信号判断当前第k行的第i个像素点是否为一帧图像的第一行的第一个像素点,若是,则将所述标志位置为“1”,否则,将标志位置为“0”;从而得到编码后的第k行的第i个像素点;
所述ROM_1组以行偏移量作为存储地址并存储有行插值系数;假设编码后的第k行的第i个像素点经过水平预缩放模块后得到预缩放后的第k行的第j个像素点,所述预缩放后的第k行的第j个像素点映射在水平预缩放前的图像上为第k行的第s个像素点,其中,s=j×(o_width/a_width),则所述行偏移量为s的小数部分,s的整数部分记为c;
所述异步FIFO_1按照摄像头输入时钟频率从第k行的第i个编码后的像素点开始依次写入第k行的各个编码后的像素点直到达到水平预存值r时,所述异步FIFO_1再将第k行的第i个编码后的像素点传递给所述寄存器单元,直到所述寄存器单元所接收的像素点个数为n时,表示所述寄存器单元存储完毕,从而开始计算预缩放后的第k行的第j个预缩放后的像素点;
所述水平运算单元从所述寄存器单元中获取第k行的n个编码后的像素点,再根据所述第k行的第j个预缩放后的像素点的偏移量从所述ROM_1组读取相应的n个插值系数并按照流水线的方式进行插值计算,从而得到预插值数据并作为第k行的第j个预缩放后的像素点,假设预缩放后的第k行的第j+1个像素点映射在水平预缩放前的图像上为第k行的第s*个像素点,c*为s*的整数部分,判断c*=c+2是否成立,若成立,则令第k行的第j个预缩放后的像素点的预缩放使能信号为0,否则为1;
当第k行的第j个预缩放后的像素点计算完毕,所述异步FIFO_1输出empty输出信号给所述水平负反馈电路,所述水平负反馈电路根据所述empty输出信号产生反馈信号;
若所述反馈信号有效,则所述寄存器单元中所存储的第k行的n个编码后的像素点保持不变,i不加1;若所述反馈信号无效,则对所述寄存器单元中所存储的第k行的n个编码后的像素点进行更新判断,若c*=c,则保持i不变,并利用寄存器单元中所存储的第k行的n个编码后的像素点计算第k行的第j+1个预缩放后的像素点,若c*≠c,则将i加1后,使得所述寄存器单元中所存储的第k行的n个编码后的像素点进行1位的移位寄存,并得到更新后的第k行的n个编码后的像素点用于计算第k行的第j+1个预缩放后的像素点;
所述ROM_2组以列偏移量作为存储地址并存储有列插值系数;假设第k行的第j个预缩放后的像素点经过垂直缩放模块后得到垂直缩放后的第b行的第j个像素点,所述垂直缩放后的第b行的第j个像素点映射在垂直缩放前的图像上为第v行的第j个像素点,其中,v=b×(o_length/a_length),则所述列偏移量为v的小数部分,v的整数部分记为d;且第v行的各个像素点的列偏移量均相同;
所述异步FIFO_2按照水平预缩放频率从第k行的第j个预缩放后的像素点开始依次写入第k行的各个预缩放后的像素点直到达到垂直预存值u时,所述异步FIFO_2再按照垂直预缩放频率将第k行的第j个预缩放后的像素点传递到BRAM组中,直到所述BRAM组所接收的像素点个数为n×a_width时,表示所述BRAM组存储完毕,从而对所存储的n×a_width个预缩放后的像素点更新判断,假设第b-1行的第j个像素点映射到缩放前的图像中为第v*行的第j个像素点,d*为v*的整数部分,若d*=d,则所述BRAM组从异步FIFO_2中读取第k行中第j个预缩放后的像素点并覆盖写入到存储第k-n+1行第j个的BRAM组存储区域处;若d*≠d,则所述BRAM组中所存储的n×a_width个像素点保持不变;
所述垂直运算单元从所述BRAM组中读取n行中各行的第j个预缩放后的像素点,再根据所述第b行的列偏移量从所述BRAM组读取相应的n个插值系数并按照流水线的方式进行插值计算,得到插值数据并作为第b行的第j个缩放后的像素点;判断d*=d+2是否成立,若成立,则令第b行的第j个预缩放后的像素点的预缩放使能信号为0,否则为1;
所述复位解码模块按照垂直预缩放频率获取第b行的第j个缩放后的像素点,并根据其标志位产生缩放后图像的帧使能信号后,删除所述标志位,从而得到解码后的第b行的第j个像素点用于显示。
2.一种实时视频缩放方法,其特征是按如下步骤进行:
步骤1、假设当前一帧原始图像的分辨率为o_width×o_length,缩放后的图像分辨率为a_width×a_length;定义原始图像中的任意一行像素点为第k行像素点,第k行像素点中的任意一个像素点为第i个像素点;
假设预缩放前的第k行的第i个像素点经过预缩放处理后得到预缩放后的第k行的第j个像素点;
假设预缩放后的第k行的第j个像素点映射在预缩放前的图像上为第k行的第s个像素点,其中,s=j×(o_width/a_width),则令行偏移量为s的小数部分,s的整数部分记为c;
假设预缩放后的第k行的第j-1个像素点映射在预缩放前的图像上为第k行的第s*个像素点,s*的整数部分记为c*;
假设缩放后的第b行的第j个像素点映射在缩放前的图像上为第v行的第j个像素点,其中,v=b×(o_length/a_length),则令列偏移量为v的小数部分,v的整数部分记为d;且第v行的各个像素点的列偏移量均相同;
假设缩放后的第b-1行的第j个像素点映射到缩放前的图像中为第v*行的第j个像素点,
v*的整数部分记为d*;
步骤2、初始化k=1、b=1;
步骤3、初始化i=0;
步骤4、初始化j=0;
步骤5、将i+1赋值给i;
步骤6、对当前第k行的第i个像素点的最高位进行扩展,将所扩展出的最高位作为标志位,将其余位作为数据位;
步骤7、判断当前第k行的第i个像素点是否为一帧图像的第一行的第一个像素点,若是,则将所述标志位置为“1”,并执行步骤8;否则,将标志位置为“0”;从而得到编码后的第k行的第i个像素点,执行步骤5;
步骤8、判断i≥n是否成立,若成立,则执行步骤9;否则,执行步骤5;
步骤9、将j+1的值赋给j,判断ja_width是否成立,若不成立,执行步骤10,否则,再判断k≥n是否成立,若成立,则执行步骤15,否则,执行步骤3;
步骤10、根据第k行第i、第i-1......第i-n+1个缩放前像素点与第k行第j个缩放后的像素点的偏移量计算出第k行第j个预缩放像素点;
步骤11、判断c*=c+2是否成立,若成立,则令第k行的第j个预缩放后的像素点的预缩放使能信号为1,否则为0;
步骤12、判断k≥n是否成立,若成立,执行步骤13;否则,再判断c*=c是否成立,若c*=c成立,则执行步骤9,否则,执行步骤5;
步骤13、根据第k、第k-1......第k-n+1行中各行第j个预缩放后的像素点以及第b行第j个缩放后像素点的偏移量计算出缩放后的第b行第j个像素点;
步骤14、判断d*=d+2是否成立,若成立,则令第b行的第j个预缩放后的像素点的预缩放使能信号为1,否则为0;
步骤15、判断ja_width是否成立,若成立,则将b+1赋值给b后,执行步骤17,否则,b保持不变并执行步骤16;
步骤16、判断c*=c是否成立,若成立,则执行步骤9,否则,执行步骤5;
步骤17、判断ba_length是否成立,若成立,则当前一帧原始图像处理完毕,并返回执行步骤1处理下一帧原始图像,否则,执行步骤18;
步骤18、判断d*=d是否成立,若不成立,则执行步骤3,否则,执行步骤19;
步骤19、根据第k、第k-1......第k-n+1行中各行第j个预缩放后的像素点以及第b行第j个缩放后的像素点的偏移量计算出缩放后的第b行第j个像素点;
步骤20、判断d*=d+2是否成立,若成立,则令第b行的第j个预缩放后的像素点的预缩放使能信号为1,否则为0;
步骤21、判断ja_width是否成立,若成立,则将b+1值给b后,执行步骤17,否则,b保持不变,并将j+1的值赋给j后,执行步骤19。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910833659.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于数据流传输的方法及装置
- 下一篇:索引映射编解码中的跳出像素编解码方法





