基于FPGA与RK3588的多通道低延时3G-SDI视频信号

news2024/9/20 14:32:41

目录

简介

主要用途:

项目简介:

详细过程:

BT1120视频时序转CEA861

视频像素编码格式转换

低延时处理

MIPI接口处理

视频处理模块


​​​​​​​

简介

主要解决 RK3588支持多种视频格式输入,但是没有支持多路SDI接口的设计方案,系统利用实现四路SDI视频图像的采集。传输处理,以及全景显示,相比其他接口3G-SDI接口速率高达2.97Gbps,传播距离更。理论200m,同时前级处理采用FPGA处理,具有极低的处理延时,通过研发测试和验证,该设计方案可行,稳定可高,对于多路视频采集具有较高价值。

主要用途:

解决了RK3588不支持SDI视频接口的局限性

本发明解决了不同视频时序,像素格式的转换问题

本发明满足军用及安防领域低延时的需求

项目简介:

系统采用SOC+FPGA的硬件架构,系统主要FPGASDI收发器RK3588以及相应的时钟电源的外围电路SDI收发器主要接受外部摄像头3G-SDI信号,进行解码串并转换后,发送给FPGA收到信号后,进行视频格式解析,像素格式处理等,然后LT6911形成MIPI信号后,发送给RK3588,RK3588全新一代旗舰级芯片采用先进的8nm Fin-FET制程,搭载四核A76四核A55,大主频2.4GHz,小主频1.8GHz,RK3588在本方案中主要完成视频实时显示、压缩传送,存储等功能。

详细过程:

  1. BT1120视频时序转CEA861

由于使用SDI解码芯片并不支持所有格式的CEA861模式CEA861模式通常易于处理,根据芯片产生的HVF信号转换CEA861模式对应的HVDE信号。

下图芯片产生的HVF信号

信号进行解析得出CEA861视频像素时序。BT1120的EAV和SAV包含在消隐区内,基于1920*1080视频格式,有效区内SAV和EAV分别为200和274;消隐内每行的SAV和EAV分别为2AC和2DB.EAV信号为HYNC的上升沿开始,SAV信号为HYNC结束。有效区YSYNC内为0,消隐区为1。由于信号高速传播中还存在一些异常的杂波,通过增加约束条件,将这一层杂波进行过滤最终得出满足CEA861的时序关系图

视频像素编码格式转换

YUV422RGB为两个不同的像素编码格式,根据以下公式,对将YUV422信号转化为RGB信号

R = 1.164(Y - 16) + 1.793(CR - 128) = 1.164Y + 1.793CR - 248.128;

G = 1.164(Y - 16) - 0.534(CR - 128) - 0.213(CB - 128) = 1.164Y - 0.213CB - 0.534CR + 76.992;

B = 1.164(Y - 16) + 2.115(CB - 128) = 1.164Y + 2.115CB - 289.344;

通过此模块可以将YUV422信号转换RGB信号。同时,为了能减少浮点运算以及除法运算导致运行速率过慢对以上公式进行转换,将公式两边同时扩大512倍,在缩小512倍来实现算法,因为1024是2的9次幂,所以只需要采用移位寄存器的方法来处理。

R9=596Y+817CR-114131;

G9=596Y-200CB-416CR+69370;

B9=596Y+1033CB-141787;

根据以上公式进行转换,转换完之后再右移9进行恢复,需要说明的是,如果是负数,按0处理,如果大于255,255进行处理。

低延时处理

通常FPGA视频流设计流程,通常采用VDMA的方式,网上例子很多,官方也有很多参考,实现起来较为简单

但是这套方案明显的问题是多了VDMA缓存架构,这就导致视频传输的时候会有1到延迟,这对于低延时、高分辨率的情形肯定是不能容忍的,显然很难满足军用领导对延迟要求比较场景。

本方案去掉了VDMA图像缓存模块,并且删除了软配置流程同时也砍了DDR,大大降低了视频传输延时同时也降低了成本,本方案主要架构如下

由于FPGA的MIPI接口的IP需要xinlinx官网申请购买,价格昂贵,且不适宜量产与维护方案中采用龙讯半导体LT6911芯片

MIPI接口处理

LT6911一款高性能HDMI1.4MIPI DSI/CSI 芯片具有可配置成单端口或双端口四端口模式,具有1个高速时钟通道和1~4以最大1.5Gb/s,可支持高达24Gbps的总带宽。支持burst模式的DSI视频数据传播。

本方案中,FPGA处理完视频格式转换后,以HDMI的形式进行输出,然后通过LT6911芯片HDMI信号转换MIPI信号传输给RK3588进行处理同时该芯片还支持LVDS信号输出,将在实时显示中再次用到这个芯片。

视频处理模块

视频处理模块核心芯片采用瑞芯微全新一代旗舰芯片RK3588采用先进的8nm fin-FET制程,搭载集成了四核A76四核A55(共核)CPU。

RK3588将四路MIPI视频信号进行实时显示,存储,压缩传送等功能

1.显示功能,显示功能采用与功能3一样的功能,采用龙讯LT6911芯片HDMI芯片转换成LVDS信号进行输出。   

2.压缩叠加,实时传输,RK3588压缩支持H.264H.265MPEG-4压缩编码,实时传输通过以太网口进行输出,编码输出协议支持RTSP、TCP、

3.实时显示,本方案前级处理采用FPGA方案,以达到低延时的效果,处理延时计算为:帧延时期望8.3ms+转码延时33ns,最终延时预计在9ms以内,满足实时显示的需求

4.存储,视频经压缩后,通过SATA盘进行存储

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2123853.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JUC】14-LongAddr源码分析

1. LongAddr底层实现过程 2. Striped64中变量或方法的定义 base:类似于AtomicLong中全局的value值。在没有竞争情况下数据直接累加到base上,或者cells扩容时,也需要将数据写入到base上。collide:表示扩容意向,false一…

反转链表 II

题目 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&#xff1a;…

Java中的ArrayList类

继承实现关系 Arraylist就是一个可以动态扩容的容器&#xff0c;属于集合类的一种&#xff0c;要追根溯源的话它是间接实现了Collection接口&#xff0c;下面我画一下它的结构图 类定义 ArrayList类继承自抽象类AbstractList&#xff0c;同时实现了List和Collection接口&…

服务器数据恢复—通过拼接数据库碎片的方式恢复SQL Server数据库数据

服务器数据恢复环境&#xff1a; 一台服务器中有一组由4块STAT硬盘通过RAID卡组建的RAID10阵列&#xff0c;上层是XenServer虚拟化平台&#xff0c;虚拟机安装Windows Server操作系统&#xff0c;作为Web服务器使用。 服务器故障&#xff1a; 因机房异常断电导致服务器中一台V…

元学习之应用案例

现在在做元学习的时候&#xff0c;我们最常拿来测 试元学习技术的任务叫做少样本图像分类&#xff0c;简单来讲就是每一个任务都只有几张图片&#xff0c;每一 个类别只有几张图片。比如我们使用图1的案例为例说明。现在分类的任务是分为三个 类别&#xff0c;每个类别都只有两…

贪心-用最少的箭射球

一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭&#xff0c;若有一个气球的直径的开始和结束坐标为 xstart&#xff0c;xend&#xff0c; 且满足 xstart ≤ x ≤ xend&#xff0c;则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后…

MySQL从C盘迁移到D盘

文章目录 前言一、停止MySQL服务打开服务&#xff08;方式一&#xff09;打开服务&#xff08;方式二&#xff09;停止MySQL服务 二、找到C盘中的文件文件夹1文件夹2文件夹3 三、修改文件内容1.对应文件夹12.对应文件夹3 四、 修改注册表中文件路径1.打开注册表2. 修改注册表中…

微积分-积分应用5.5(函数的平均值)

很容易计算有限多个数字 y 1 , y 2 , … , y n y_1, y_2, \dots, y_n y1​,y2​,…,yn​ 的平均值&#xff1a; y ave y 1 y 2 ⋯ y n n y_{\text{ave}} \frac{y_1 y_2 \cdots y_n}{n} yave​ny1​y2​⋯yn​​ 但是&#xff0c;如果可以进行无限多次的温度读取&…

Java 入门指南:Java 并发编程 —— 同步工具类 CountDownLatch(倒计时门闩)

文章目录 同步工具类CountDownLatch常用方法使用步骤适用场景使用示例 同步工具类 JUC&#xff08;Java.util.concurrent&#xff09;是 Java 提供的用于并发编程的工具类库&#xff0c;其中包含了一些通信工具类&#xff0c;用于在多个线程之间进行协调和通信&#xff0c;特别…

【kafka】kafka如何保证数据的可靠性,kafka如何保证数据不丢失

1. Kafka架构&#xff1a; Producer - Broker - Consumer 回到问题上来&#xff0c;Kafka如何保证数据不丢失&#xff0c;我们先看看Kafka如何保证Producer端数据不丢失&#xff1a; 通过ack机制 最小副本数设置 生产者重试机制 2. Kafka Producer消息发送ACK机制&#xff1…

量化交易backtrader实践(一)_数据获取篇(2)_tushare与akshare

上一节回顾 在上一节中&#xff0c;从股票的基本功能和主要数据进行小结&#xff0c;明确了进行backtrader回测所需要的数据&#xff0c;并且学习了backtrader的数据来源以及PandasData的格式要求&#xff0c;已经做到假设拿到.txt或.csv文件后&#xff0c;能把里面的股票基本…

【代码随想录】字符串

本博文为《代码随想录》学习笔记&#xff0c;原文链接&#xff1a;代码随想录 344.反转字符串 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的…

Qt使用绿色pdf阅读器打开文件

1.下载SumatraPDF 2.设置 3.代码 void MainWindow::on_pushButton_clicked() {QProcess *process new QProcess();QString filePath "C:\\Users\\jude\\Desktop\\su\\11.pdf";QString sumatraPath "C:\\Users\\jude\\Desktop\\su\\SumatraPDF-3.5.2-64.exe&q…

Android 系统级应用守护进程

import java.util.Random; /** Application class for SystemUI. -42,6 69,8 public class SystemUIApplication extends Application { private static final String TAG “SystemUIService”; private static final boolean DEBUG false; private Context mContext;/*…

嵌入式产品发货后出现问题,怎么办?

目录 1、问题识别与初步诊断 2、影响评估 3、提出临时解决方案 4、根本原因分析与修复 5、修复验证与回归测试 6、修复的部署与客户沟通 7、预防未来类似问题 当嵌入式电子产品已发货且出现问题时&#xff0c;及时采取有效的补救措施是至关重要的。补救步骤应包括问题的…

javascript柯里化

return a b c d; } //通常调用方式 var sum add(1, 2, 3, 4); //柯里化的调用方式 var curryAdd Curry(add); var sum curryAdd(1)(2)(3)(4); //或者很多奇怪的方式调用 var sum curryAdd(1, 2)(3, 4); var sum curryAdd(1, 2, 3)(4); var sum curryAdd(1)(…

C语言 | Leetcode C语言题解之第398题随机数索引

题目&#xff1a; 题解&#xff1a; typedef struct {int *nums;int numsSize; } Solution;Solution* solutionCreate(int* nums, int numsSize) {Solution *obj (Solution *)malloc(sizeof(Solution));obj->nums nums;obj->numsSize numsSize;return obj; }int solu…

Maven之坑setting.xml配置

先来看遇到的问题 在运行 mvn clean package 打包命令的时候&#xff0c;IDEA控制台提示如下 Non-resolvable parent POM for com.xxxxx.xxxxx:1.0.0: The following artifacts could not be resolved: com.xxxxx:xxxxx:pom:1.0.0 (present, but unavailable): xxxxx:xxxxx…

全球热门剪辑软件大搜罗

如果你要为你的视频进行配音那肯定离不开音频剪辑软件&#xff0c;现在有不少音频剪辑软件免费版本就可以实现我们并不复杂的音频剪辑操作。这次我就给你分享几款能提高剪辑效率的音频剪辑工具。 1.福晰音频剪辑 链接直达>>https://www.foxitsoftware.cn/audio-clip/ …

Java面试篇基础部分-Java各种垃圾收集器

导语   在之前的分享中,我们知道Java堆内存被分为新生代和老年代两个部分;其中,新生代中主要存储生命周期较短的对象,了解了新生代中的对象采用的是复制算法进行垃圾回收;而老年代主要存储生命周期较长的对象以及大对象,采用的是标记整理算法进行垃圾回收。 针对不同的…