FPGA 视频处理中外部SDRAM的作用
FPGA 视频处理中外部SDRAM的作用
在 FPGA 处理视频算法时,很多地方都需存完整的一帧画面,FPGA本身内部RAM资源太小,必须依赖外部 DDR3 SDRAM 才能实现。
1:视频拼接,视频分割,视频画中画,最简单的实现方法是将多路视频裁剪后按一定的位置在“DDR3 SDRAM 内存”中组合成一帧新的视频帧再扫描成新的视频输出。
2:视频旋转,需要将“DDR3 SDRAM 内存”中的图像重新按一定矩阵旋转算法产生的旋转后的视频扫描地址,从DDR中扫描出来的视频数据再做插值计算合成新的图像数据帧输出。(水平镜像、垂直镜像、90、180、270度旋转是最容易实现的旋转算法)。
3:视频缩小一般可以不用“DDR3 SDRAM 内存”。
4:视频放大,特别是垂直放大拉伸就必须采用 “DDR3 SDRAM 内存” 。在视频处理中一般一个时钟处理一个像素,在在视频放大拉伸时一个像素就变成多个像素,视频数据量变大。输入原始的视频一般来自媒体播放器或电脑,这种视频流是不能暂停的。放大倍数过大产生的大量像素数据会处理不过来就会发生视频数据丢失现象。一般我们在原始视频输入和视频缩放处理器之间设计一个FIFO,适当增加FIFO容量只能解决部分的数据积压丢失问题(FPGA 内部资源问题FIFO不可能很大),一般我们将视频放大放在视频流出DDR3 SDRAM,FIFO积压时控制DDR3 视频扫描暂停该视频流的输出。我们在产品设计中,视频流经过视频缩放处理器(进内存一般“缩小视频”)后进DDR内存,视频出内存DDR后经过视频缩放处理器(出内存的缩放处理器可以放大也可以缩小)后输出。
注:在视频分割器模式下,视频放大、缩小是不需要 DDR SDRAM 支撑的。因为输入的视频不是视频的局部,是全屏视频。用较大的 FIFO 和较高的系统时钟 166MHz 可以不需要依赖 DDR SDRAM。这个例子中的分割器的第一级缩放,是可以放大的。不过不能将高帧率的视频放大到1080P。所以视频分割器的设计要比视频拼接器简单的多。
FPGA 多屏多画面视频拼接器
采用FPGA构建数字视频矩阵的一些设计思路和设计需求
FPGA 四画面视频分割逻辑框图
FPGA 四画面视频拼接单元逻辑框图
FPGA 视频处理中外部SDRAM的作用
FPGA 处理视频SDRAM带宽计算
FPGA 处理视频SDRAM带宽计算(四画面视频分割器)
FPGA 视频处理中外部SDRAM的作用相关推荐
- 基于FPGA视频图像处理系统设计
摘 要 本报告给出一个基于FPGA+两片DDR2组成的核心板.带有4路视频输入和VGA接口的开发板进行的视频图像采集和处理系统的设计.使用TW2867进行视频输入信号的编码,存储到DDR2中,通过 ...
- 【待更新】感知视频编码中的感知检测技术(显著性物体检测向)
之前对ROI编码感兴趣,做了显著性检测方面的文献综述.截至到2019年1月13号有13400字. 现在搬上来,一来交流,二来重温 感知视频编码PVC HVS 针对HVS所构建的数学模型分类 基于HVS ...
- 第26章 FMC—扩展外部SDRAM—零死角玩转STM32-F429系列
转载:http://blog.csdn.net/flyleaf91/article/details/52325516 第26章 FMC-扩展外部SDRAM 全套200集视频教程和1000页PD ...
- 多目标排序在快手短视频推荐中的实践
分享嘉宾:郑东博士 快手 推荐算法技术总监 编辑整理:于洋 出品平台:DataFunTalk 导读:快手是中国领先的短视频和直播社区,拥有超过3亿的DAU和丰富的社交数据.快手秉承的价值观是真实.多元 ...
- 多模态人物识别技术及其在爱奇艺视频场景中的应用 | 公开课笔记
[12月公开课预告],入群直接获取报名地址 12月11日晚8点直播主题:人工智能消化道病理辅助诊断平台--从方法到落地 12月12日晚8点直播:利用容器技术打造AI公司技术中台 12月17日晚8点直播 ...
- C++中explicit关键字的作用
C++中explicit关键字的作用 explicit用来防止由构造函数定义的隐式转换. 要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换. ...
- 实时音视频聊天中超低延迟架构的思考与技术实践
1.前言 从直播在线上抓娃娃,不断变化的是玩法的创新,始终不变的是对超低延迟的苛求.实时架构是超低延迟的基石,如何在信源编码.信道编码和实时传输整个链条来构建实时架构?在实时架构的基础之上,如果通过优 ...
- 浅析python 中__name__ = '__main__' 的作用
很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...
- FPGA逻辑设计回顾(11)FPGA以及PC中的RAM与ROM
文章目录 前言 RAM以及ROM在计算机中的应用 什么是存储器? 什么是硬盘驱动器? 其他类型的存储器 什么是RAM? RAM的类型 SRAM DRAM 什么是ROM? ROM的类型 掩膜ROM PR ...
最新文章
- Android Studio一直处于Building的解决方法
- 涨姿势 | 服务重启后,为什么发生抖动?
- word-breakword-wrap
- SDNU 1477.矩形面积交(思维)
- Predator:比微软Kinect更强的视频追踪算法-来自捷克博士论文
- zabbix系统日志文件监控key
- 微软BI 之SSIS 系列 - 理解Data Flow Task 中的同步与异步, 阻塞,半阻塞和全阻塞以及Buffer 缓存概念...
- python计算思维的概念_用Python学计算思维turtle详解
- 采用docker部署3台Redis分布式红锁实例
- jquery中ajax加载js和json文件
- 2019年互联网企业软件测试面试题(常考)
- 【高等数学】空间直线的参数方程详解以及其参数t的意义
- 多台服务器搭建Nacos集群
- Linux(RHEL7及CentOS7)下DNS服务器的搭建与配置
- 运动品牌推荐:2022年最值得入手的一些运动装备
- Tar打包 压缩与解压缩到指定目录的方法
- 传统存储将被颠覆:五年内SSD将取代机械硬盘
- 腾讯、阿里、华为等各大互联网公司年终奖到底发了多少?
- 刚体运动中的坐标变换-旋转矩阵、旋转向量、欧拉角及四元数
- Qt编写地图综合应用27-点聚合