【屏显MCU】多媒体接口总结

本文主要介绍【屏显MCU】的基本概念,用于开发过程中的理解
以下是图层叠加示例

在这里插入图片描述

【屏显MCU】多媒体接口总结

  • 0. 个人简介 && 授权须知
  • 1. 三大引擎
    • 1.1 【显示引擎】Display Engine
      • 1.1.1 【UI】 图层的概念
      • 1.1.2 【Video】 图层的概念
      • 1.1.3 图层的 Blending 的概念
      • 1.1.4 图层的 Blending 的示例
    • 1.2 【图像引擎】Graphics Engine-
      • 1.2.1 图像旋转
      • 1.2.2 图像缩放
      • 1.2.3 矩形填充
      • 1.2.4 位块搬移
    • 1.3 【视频引擎】Video Engine
  • 2. UI 层的透明度 alpha
  • 3. 图像 stride 和 plane 的概念
    • 3.1 YUV 模型图像存储
    • 3.2 NV12 格式

0. 个人简介 && 授权须知

image-20230911133730620

📋 个人简介

  • 💖 作者简介:大家好,我是喜欢记录零碎知识点的菜鸟打工人。😎
  • 📝 个人主页:欢迎访问我的博客主页🔥
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 📣 系列专栏:嵌入式开发专栏 🍁 🍁
  • 💬格言:写文档啊不是写文章,重要的还是直白!🔥

转载文章,禁止声明原创;不允许直接二次转载,转载请根据原文链接联系作者

若无需改版,在文首清楚标注作者及来源/原文链接,并删除【原创声明】,即可直接转载。
但对于未注明转载来源/原文链接的文章,我将保留追述的权利。

作者:积跬步、至千里

image-20230911133724204

1. 三大引擎

1.1 【显示引擎】Display Engine

功能:用于提供 【显示图层叠加】 的功能。支持一个 video 图层 + UI 图层 叠加,通过显示接口输出

常见的 UI图层图像格式:
ARGB8888/XRGB8888/RGB888/ARGB4444/ARGB1555/RGB565

常见的video 图层的图像格式:
ARGB8888/XRGB8888/RGB888/ARGB4444/ARGB1555/RGB565

NV12/NV21/NV16/NV61/YUYV/YVYU/UYVY/VYUY/YUV400

1.1.1 【UI】 图层的概念

UI 图层即用户界面(User Interface)图层,用于显示图形用户界面元素,如按钮、图标、文本、菜单等。在lvgl中创建的控件都属于UI层。

1.1.2 【Video】 图层的概念

通俗的理解为,视频播放时的一帧一帧的图像画面。

1.1.3 图层的 Blending 的概念

  • 在图形处理中,UI 图层(User Interface Layer,用户界面图层)和 video 图层(视频图层)的 Blending(混合、融合)指的是将这两个图层的图像按照一定的规则和比例进行 合成 的过程。
  • 通过 Blending,可以实现不同图层之间的 透明度、颜色、亮度 等方面的融合效果,从而创造出各种视觉效果。

1.1.4 图层的 Blending 的示例

在视频播放器的界面中,可以将【video图层】和 【UI 图层】(如播放控制按钮、进度条等) blending 混合显示,以便在 不遮挡视频 的情况下显示控制元素,同时使整个界面看起来更加协调和美观。
在这里插入图片描述

1.2 【图像引擎】Graphics Engine-

GE(Graphics Engine)模块是一个用来进行 2D 图形加速 硬件模块
主要包括格式转换、旋转、镜像、 缩放、Alpha混合、Color Key、位块搬移、Dither等功能。

1.2.1 图像旋转

一帧图像本质上是一个大的【二维矩阵】,图像旋转本质上是对矩阵的运算,点屏 MCU 硬件上支持矩阵的复杂运算。

在这里插入图片描述 在这里插入图片描述

1.2.2 图像缩放

1.2.3 矩形填充

在这里插入图片描述

1.2.4 位块搬移

在这里插入图片描述

1.3 【视频引擎】Video Engine

视频/图片编 解码加速 引擎,该模块支持 JPEG 编解码以及 PNG 图片解码。

该部分原理,不做深究,会使用接口即可

2. UI 层的透明度 alpha

alpha 是一个数值,用于表示图层的不透明程度。取值范围 0-255
0表示完全透明,即该图层不可见
255表示完全不透明,该图层或遮挡住后边的内容

如下图所示,透明度 alpha 值大概在140左右,设置完透明度和 Video 层叠加显示的效果如下。
在这里插入图片描述

3. 图像 stride 和 plane 的概念

Stride:指的是在内存中每行像素所占的空间,
在这里插入图片描述

Plane:(平面)一般是以“luma plane”(亮度平面)、“chroma plane”(色度平面)的形式出现。

例如在 YUV 图像中,YUV 分量可以分别存储在不同的 plane 中。Y在一个平面,UV在一个平面,使用2个plane

3.1 YUV 模型图像存储

可参考资料:【摄像头YUV图像常见数据格式介绍】

对于4:2:2采样的图,如果图片的宽为width,高为heigth,在内存中占的空间为width * height * 2

其中width * height的空间存放Y分量, width * height/ 2的空间存放U分量,width * height / 2的空间存放V分量

3.2 NV12 格式

NV12存储顺序是先存Y值,再UV交替存储:YYYYUVUVUV

4 X 4 图片为例子,占用内存为 4 X 4 X 3 / 2 = 24 个字节,如下图所示:

在这里插入图片描述

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

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

相关文章

Pytorch深度学习实践(4)使用Pytorch实现线性回归

使用Pytorch实现线性回归 基本步骤: 准备数据集设计模型构造损失函数和优化器模型训练 forward计算损失backward计算梯度update更新参数 准备数据集 [ y p r e d ( 1 ) y p r e d ( 2 ) y p r e d ( 3 ) ] ω [ x ( 1 ) x ( 2 ) x ( 3 ) ] b \begin {bmatrix}…

【YashanDB知识库】stmt未close,导致YAS-00103 no free block in sql main pool part 0报错分析

问题现象 问题单:YAS-00103 no free block in sql main pool part 0,YAS-00105 out of memory to allocate hash table of size 256 现象:业务处理sql时,报错YAS-00103 no free block in sql main pool part 0 问题风险及影响…

Springboot 开发之 RestTemplate 简介

一、什么是RestTemplate RestTemplate 是Spring框架提供的一个用于应用中调用REST服务的类。它简化了与HTTP服务的通信,统一了RESTFul的标准,并封装了HTTP连接,我们只需要传入URL及其返回值类型即可。RestTemplate的设计原则与许多其他Sprin…

k8s v1.30 完整安装过程及CNI安装过程总结

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G技术研究。 博客内容主要围绕…

25.x86游戏实战-理解发包流程

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

视图,存储过程和触发器

目录 视图 创建视图: 视图的使用 查看库中所有的视图 删除视图 视图的作用: 存储过程: 为什么使用存储过程? 什么是存储过程? 存储过程的创建 创建一个最简单的存储过程 使用存储过程 删除存储过程 带参的存储…

智能家居全在手机端进行控制,未来已来!

未来触手可及:智能家居,手机端的全控时代 艾斯视觉的观点是:在不远的将来,家,这个温馨的港湾,将不再只是我们休憩的场所,而是科技与智慧的结晶。想象一下,只需轻触手机屏幕&#xf…

常用的自动化测试工具有哪些?

什么是自动化测试?简单来说,自动化测试就是通过重复执行预定义的动作来执行测试用例的系统来代替人工操作。为了充分利用自动化,必须选择正确的自动化测试工具。 一、自动化测试工具有哪些 1、Selenium WEB自动化测试 Selenium是网页应用中最…

Java给定一些元素随机从中选择一个

文章目录 代码实现java.util.Random类实现随机取数(推荐)java.util.Collections实现(推荐)Java 8 Stream流实现(不推荐) 完整代码参考(含测试数据) 在Java中,要从给定的数据集合中随机选择一个元素,我们很容易想到可以使用 java.…

ARM系列运行异常排查

一、断点指令BKPT BKPT指令产生软件断点中断,可用于程序的调试。它使处理器停止执行正常指令(使处理器中止预取指)而进入相应的调试程序。 BKPT指令的格式为:BKPT 16位的立即数 二、使用BKPT进行软件异常定位 假设异常发生后…

electron 网页TodoList应用打包win桌面软件数据持久化

参考: electron 网页TodoList工具打包成win桌面应用exe https://blog.csdn.net/weixin_42357472/article/details/140648621 electron直接打包exe应用,打开网页上面添加的task在重启后为空,历史没有被保存,需要持久化工具保存之前…

铠侠最新BiCS8 218L NAND键合技术

随着存储技术的不断演进,Hybrid Bonding(混合键合)技术正逐渐成为内存和存储应用领域的重要组成部分。TechInsights最近对KIOXIA/WD BiCS8 218L CBA 1 Tb 3D TLC NAND进行了深入分析,揭示了这项技术如何在提高存储密度、降低功耗和…

在Windows下部署jar包,关闭命令提示符可以后台运行

前言 大多数情况下,都是选用Linux作为服务器部署服务,在Linux中通过以下命令运行 nohup java -jar xxxxx-1.0-SNAPSHOT.jar 但是有时由于其他原因,或本地测试,或云服务器使用Windows server等等,需要在Windows上面运…

[嵌入式Linux]-常见编译框架与软件包组成

嵌入式常见编译框架与软件包组成 1.嵌入式开发准备工作 主芯片资料包括: 主芯片资料 主芯片开发参考手册;主芯片数据手册;主芯片规格书; 硬件参考 主芯片硬件设计参考资料;主芯片配套公板硬件工程; 软件…

学术研讨 | 基于区块链的隐私计算与数据可信流通研讨会顺利召开

近日,由国家区块链技术创新中心组织的“基于区块链的隐私计算与数据可信流通研讨会”顺利召开,会议邀请了来自全国高校和科研院所的相关领域专家,围绕基于区块链与隐私计算技术的应用需求、研究现状、发展趋势、重点研究方向与研究进展等内容…

基于 LlamaIndex 构建自己的 RAG 知识库

创建虚拟环境用于运行 运行 InternLM 的基础环境,命名为 llamaindex conda create -n llamaindex python3.10 查看存在的环境 conda env list 激活刚刚创建的环境 conda activate llamaindex 安装基本库pytorch,torchvision ,torchaudio,pytorch-cuda 并指定通道&…

【React】JSX 实现列表渲染

文章目录 一、基础语法1. 使用 map() 方法2. key 属性的使用 二、常见错误和注意事项1. 忘记使用 key 属性2. key 属性的选择 三、列表渲染的高级用法1. 渲染嵌套列表2. 条件渲染列表项3. 动态生成组件 四、最佳实践 在 React 开发中,列表渲染是一个非常常见的需求。…

Mac装虚拟机占内存吗 Mac用虚拟机装Windows流畅吗

如今,越来越多的Mac用户选择在他们的设备上安装虚拟机来运行不同的操作系统。其中,最常见的是使用虚拟机在Mac上运行Windows。然而,许多人担心在Mac上装虚拟机会占用大量内存,影响电脑系统性能。此外,有些用户还关心在…

Nginx Proxy缓存

Proxy缓存 缓存类型 网页缓存 (公网)CDN数据库缓存 memcache redis网页缓存 nginx-proxy客户端缓存 浏览器缓存 模块 ngx_http_proxy_module 语法 缓存开关 Syntax: proxy_cache zone | off; Default: proxy_cache off; Context: http,…

【JavaEE】Bean的作用域和生命周期

一.Bean的作用域. 1.1 Bean的相关概念. 通过Spring IoC和DI的学习(不清楚的可以看的前面写过的总结,可以快速入门, http://t.csdnimg.cn/K8Xr0),我们知道了Spring是如何帮助我们管理对象的 通过 Controller , Service , Repository , Component , Configuration , Bean 来声明…