Zynq学习笔记--数字视频帧以及同步信号

目录

1. 介绍

2. 重要概念

3. 仿真测试

4. 总结


1. 介绍

Zynq芯片,作为一款集成了高性能FPGA和ARM处理器的系统级芯片(SoC),为视频处理提供了强大的硬件支持。该芯片内置的丰富视频方面的IP模块,使得从事视频处理项目的开发者能够高效、灵活地实现各种视频处理算法,加速产品的开发和创新。

对于初涉视频处理领域的同学来说,理解Zynq芯片提供的视频处理能力,首先需要掌握一些基础的数字视频知识。这些基础知识不仅有助于理解视频处理的工作机制,而且是使用Zynq芯片进行视频处理项目开发的前提。

文章记录本人入门Zynq芯片在视频处理方面的应用世界,希望通过对数字视频基础知识的掌握,使读者能够更好地利用Zynq芯片进行视频处理项目的开发。

2. 重要概念

视频传输,一次发送一张图像。每个图像从顶行开始逐行发送,每行从左侧像素开始逐像素发送。

定时信息(由定时信号携带)与像素值一起被发送以描述视频帧定时。视频帧(视频的一个图像)包括活动视频和消隐期。
 

消隐期,是需要掌握的一个关键性概念。

在早期模拟视频技术中,为了使电子束从一行的末尾回到下一行的开始,或者从一个画面的末尾跳转到下一个画面开始位置时,电子束被暂时关闭的时间段。在这段时间内,屏幕上不会显示任何图像信息,因此被称为“消隐”期。

消隐期主要包括两种类型:行消隐和场(帧)消隐。

行消隐:在CRT(阴极射线管)显示器或电视中,每绘制完一行图像后,电子束需要从该行末尾移动回下一行的起始位置。在这个移动过程中,为了避免在屏幕上产生不必要的扫描线,电子束会被暂时关闭,这段时间就是行消隐期。

场(帧)消隐:在完成一个画面(场或帧)的绘制后,电子束需要从屏幕的底部移动回顶部开始绘制下一个画面。同样,为了避免产生不希望的扫描轨迹,电子束在移动过程中会被关闭,这段时间称为场消隐期或帧消隐期。

在数字视频技术中,尽管不再需要物理移动电子束,但消隐期的概念依然存在。消隐期通常用于同步信号,确保视频数据的正确解析和显示。

行消隐时序图:

行消隐
行消隐

 可以观察到,行消隐期间,无数据传输,而其余时间,均有视频有效数据传输。

场(帧)消隐时序图:

对于数字视频信号而言,消隐信号的必要性不如模拟视频信号那么显著,一些新型的视频接口通常不需要消隐信号,因为这些接口传输的是压缩后的数字数据包。

Native video VS AXI4-Stream

在视频处理和传输的领域中,Native video接口和AXI4-Stream接口代表了两种不同的设计理念和应用场景。

Native video接口,特别是在模拟视频信号传输中,典型地包含了消隐信号,这种设计深受传统电视和监视器等模拟视频设备的影响,其中物理电子束的移动是图像显示过程的一部分。

AXI4-Stream接口则是一种基于高性能FPGA和SoC设计的数字视频传输协议。它专为高吞吐量和低延迟的数据传输而设计,不包含传统的消隐信号。在AXI4-Stream协议中,视频数据以流的形式传输,每个数据包都紧跟着同步信号,如行同步和帧同步信号,这些同步信号指示了视频帧的开始和结束。

3. 仿真测试

仅仅通过文字干巴巴地讲述技术概念,太枯燥乏味,尤其是对于复杂的视频处理技术来说,看着这些概念容易昏昏欲睡。

亲自动手进行测量或者仿真测试,往往能够更加深刻地理解这些概念,激发学习的兴趣,让理论知识变得生动有趣。

利用Xilinx的Vivado设计套件搭建一个工程,通过实际的设计和仿真,来测试视频处理中的关键信号,如同步信号和消隐信号等。

工程Block Design:

TestBench文件如下:

`timescale 1ns / 1ps

module tb_VTC();

bit clk_25_175MHz = 0;

bit active_video_out, hsync_out,vsync_out, hblank_out, vblank_out;

// Generate the clock : 50 MHz
always #19.86ns clk_25_175MHz = ~clk_25_175MHz;

design_1_wrapper UUT
(
    .active_video_out   (active_video_out   ),
    .clk_25_175MHz      (clk_25_175MHz      ),
    .hsync_out          (hsync_out          ),         
    .vsync_out          (vsync_out          ),
    .hblank_out         (hblank_out         ),
    .vblank_out         (vblank_out         )
);

endmodule

很简单吧,Vivado提供了专门的IP核,能帮我们快速够构建起这些关键信号,并对其行为进行精确的模拟和分析。

4. 总结

本序言旨在引领大家进入Zynq芯片在视频处理方面的应用世界,希望通过对数字视频基础知识的掌握,使读者能够更好地利用Zynq芯片进行视频处理项目的开发,进而探索视频处理技术的无限可能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Revo Uninstaller Pro:让卸载不再留下遗憾的专业工具

在数字化时代,我们的电脑中充满了各式各样的软件。然而,当我们想要卸载某些不再需要的程序时,往往会发现卸载并不如安装那般简单。残留的注册表项、碎片化的文件以及顽固的后台进程,这些都可能成为卸载的绊脚石。幸运的是&#xf…

将数字状态码在后台转换为中文状态

这是我们的实体类 可以看出我们的状态status是2如果返回到前端我们根本不知道2代表的是什么,所以我们需要再这里将数字转换成能看懂的中文状态,首先我们创建一个枚举类 先将我们状态码所对应的中文状态枚举出来,然后创建一个静态方法&#…

P1737 [NOI2016] 旷野大计算 题解

题目大意:只允许使用加、取反(添负号)、偏移(加减一个常数)、左右移位(乘或除以 22 的非负整数次幂)和神奇的 �(�)S(x) 函数来进行编程,造一台计算机&#xf…

RocketMQ 存储机制浅析

RocketMQ 是一个典型的发布订阅系统,通过 Broker 节点中转和持久化数据、解耦上下游。Broker 是真实存储数据的节点,由多个水平部署但不一定完全对等的副本组构成,单个副本组的不同节点的数据会达到最终一致。RocketMQ 优异的性能表现&#x…

UE4_动画基础_根运动Root Motion

学习笔记,仅供参考! 在游戏动画中,角色的碰撞胶囊体(或其他形状)通常由控制器驱动通过场景。然后来自该胶囊体的数据用于驱动动画。例如,如果胶囊体在向前移动,系统就会知道在角色上播放一个跑步…

华为“天才少年”4万字演讲:现在的AI技术要么无趣,要么无用

近期,一篇4万字的演讲风靡于国内人工智能(AI)学术圈。 原华为“天才少年”、Logenic AI公司联合创始人李博杰博士,日前发表了一篇关于AI Agent思考的文章,题为“AI Agent 应该更有趣还是更有用”。 李博杰在这篇文章…

存储过程的创建和调用及删除

目录 存储过程 存储过程的创建 存储过程的调用及删除 在 SQL Plus 中调用存储过程 在 PL/SQL 块中调用存储过程 存储过程的删除 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 存储过程 存储过程是一种命名的 PL/S…

使用Mybatisforeach循环添加字段和值失败问题记录

问题描述: 由于数据表字段非常多,使用foreach循环,key为数据库字段,value为要添加的值.字段中含有小数点的无法正常添加数据 问题展示: 断点展示有值 日志展示获取不到值 sql如下: <insert id"dataMergeInsert" parameterType"java.util.List">IN…

gemini国内怎么用

gemini国内怎么用 Google Gemini 作为一个尚处于研发阶段的大型语言模型&#xff0c;其具体功能和性能尚未公开&#xff0c;因此无法对其好用程度做出明确评价。 然而&#xff0c;基于 Google 在人工智能领域的领先地位和技术实力&#xff0c;我们可以对其潜力进行一些推测&a…

科技云报道:“老三样”不管用了,网络安全要靠啥?

科技云报道原创。 从安全的视角看&#xff0c;网络空间充斥着病毒、黑客、漏洞。在过去&#xff0c;企业习惯用“老三样”——防火墙、IDS、杀毒软件来搞定安全。 如果将网络空间比喻成一个大厦&#xff0c;那么防火墙相当于门锁&#xff0c;用于隔离内外网或不同安全域&…

【MySQL 数据宝典】【内存结构】- 004 自适应哈希索引

自适应哈希索引 https://developer.aliyun.com/article/1230086 什么是自适应哈希索引&#xff1f; 自适应哈希索引是MySQL InnoDB存储引擎中的一种索引结构&#xff0c;用于加速查询。它根据查询模式和数据分布动态地调整自身的大小&#xff0c;以提高性能。 上图就是通过…

hive使用sqoop与oracle传输数据

下载地址 http://archive.apache.org/dist/sqoop 两个版本sqoop1&#xff08;1.4.x&#xff09;和sqoop2&#xff08;1.99.x&#xff09;&#xff0c;两种不同的架构。 本文使用sqoop1。 sqoop是apache旗下一款“hadoop与关系数据库之间传送数据”的工具。 导入数据&#xf…

MES管理系统生产物料管理流程设计的注意事项

随着现代制造业的迅猛发展&#xff0c;MES管理系统在生产物料管理中所扮演的角色愈发重要。一个高效、精准的MES管理系统能够显著提升物料管理的效率&#xff0c;确保生产流程的顺畅进行。然而&#xff0c;在设计生产物料管理流程时&#xff0c;我们需要注意一系列关键问题&…

预选小标题

海岛,广东小岛 汕头 南澳岛(推荐) 距离东凤镇 500公里 珠海 需要坐船出海, 到达珠海码头 75公里 东澳岛, 桂山岛 海岛基本都差不多 阳江市海陵岛 可以赶海 距离东凤镇 240公里 江门 川岛, 下川岛 可下海 距离东凤镇 150公里 山林丹霞地貌 韶关 丹霞景区, 韶石景区,巴寨景…

【AI】DeepStream(01)介绍

1、简介 DeepStream 本质是 GStreamer 的插件,基于GStreamer的管道,实现高效的视频流分析。 DeepStream 将来自 USB/CSI 摄像头的流数据、来自文件的视频或通过 RTSP 的流作为输入,并使用人工智能和计算机视觉从像素中生成AI结果。 DeepStream SDK 可以成为许多视频分析解…

【MySQL 数据宝典】【内存结构】- 001 BufferPool

一、 BufferPool BufferPool 官方文档地址 1.1 什么是 Buffer Pool Buffer Pool 概述&#xff1a; Buffer Pool 是 InnoDB 存储引擎用于缓存磁盘中页的内存区域&#xff0c;它的大小直接影响数据库的性能。 默认大小和调整&#xff1a; 默认情况下&#xff0c;Buffer Pool…

[spring] rest api security

[spring] rest api security 之前的 rest api CRUD 都没有实现验证&#xff08;authentication&#xff09;和授权&#xff08;Authorization&#xff09;&#xff0c;这里使用 Spring security 进行补全 spring security 是一个非常灵活、可延伸的实现方式&#xff0c;比较简…

初识LangChain的快速入门指南

LangChain 概述 LangChain是一个基于大语言模型用于构建端到端语言模型应用的框架&#xff0c;它提供了一系列工具、套件和接口&#xff0c;让开发者使用语言模型来实现各种复杂的任务&#xff0c;如文本到图像的生成、文档问答、聊天机器人等。 LangChain简化了LLM应用程序生…

PostCSS概述和应用

文章目录 PostCSS概述**核心特性与工作原理&#xff1a;****应用场景与优势&#xff1a;****社区与生态&#xff1a;** PostCSS应用实例 PostCSS概述 PostCSS 是一款开源的、用 JavaScript 编写的 CSS 处理工具&#xff0c;其核心设计理念是利用 JavaScript 的强大编程能力和丰…

51-40 Align your Latents,基于LDM的高分辨率视频生成

由于数据工程、仿真测试工程&#xff0c;咱们不得不进入AIGC图片视频生成领域。兜兜转转&#xff0c;这一篇与智驾场景特别密切。23年4月&#xff0c;英伟达Nvidia联合几所大学发布了带文本条件融合、时空注意力的Video Latent Diffusion Models。提出一种基于LDM的高分辨率视…