【屏显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.rhkb.cn/news/384202.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA笔记十七

十七、File-IO流 1.I/O的概念和java.io包 (1)输入:外部源—>程序 输出:程序—>输出目标 外部源、输出目标:磁盘文件、网络连接、内存缓存等 (2)java程序通过流执行I/O 流是一种抽象,可以用来产生信息或者使用信息&#…

jenkins自动化持续集成

一、持续集成优势 1.1 解放重复劳动 一次设置,多次复用。持续集成任务可以解放集成、测试、部署等重复性劳动,通过自动化任务能够显著提升集成频率。 1.2 更快解决问题 接入持续集成任务后,能够更早地感知变更后效果,及时进入…

【OpenCV C++20 学习笔记】基本图像容器——Mat

【OpenCV C20 学习笔记】基本图像容器——Mat 概述Mat内部结构引用计数机制颜色数据格式 显式创建Mat对象使用cv::Mat::Mat构造函数矩阵的数据项 使用数组进行初始化的构造函数cv::Mat::create函数MATLAB风格的初始化小型矩阵通过复制创建Mat对象 Mat对象的输出其他普通数据项的…

在图神经网络(GNN)上进行关系推理的新架构

开发能够学习推理的模型是一个众所周知的具有挑战性的问题,在这个领域中,使用图神经网络(GNNs)似乎是一个自然的选择。然而,以往关于使用GNNs进行推理的工作表明,当这些模型面对需要比训练时更长推理链的测…

某数据泄露防护(DLP)系统NoticeAjax接口SQL注入漏洞复现 [附POC]

文章目录 某数据泄露防护(DLP)系统NoticeAjax接口SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现某数据泄露防护(DLP)系统NoticeAjax接口SQL注入漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内…

SpringBoot 项目配置文件注释乱码的问题解决方案

一、问题描述 在项目的配置文件中,我们写了一些注释,如下所示: 但是再次打开注释会变成乱码,如下所示: 那么如何解决呢? 二、解决方案 1. 点击” File→Setting" 2. 搜索“File Encodings”, 将框…

DDoS 究竟在攻击什么?

分布式拒绝服务(DDoS)攻击是一种常见的网络攻击形式,攻击者通过向目标服务端发送大量的请求,使目标服务端无法进行网络连接,无法正常提供服务。 DDoS 攻击通常是由大量的分布在全球各地的 “僵尸” 计算机&#xff08…

力扣高频SQL 50题(基础版)第七题

文章目录 力扣高频SQL 50题(基础版)第七题1068. 产品销售分析 I题目说明思路分析实现过程准备数据:实现方式:结果截图:总结: 力扣高频SQL 50题(基础版)第七题 1068. 产品销售分析 I 题目说明 …

Android adb shell ps进程查找以及kill

Android adb shell ps进程查找以及kill 列出当前Android手机上运行的所有进程信息如PID等: adb shell ps 但是这样会列出一大堆进程信息,不便于定向查阅,可以使用关键词查找: adb shell "ps | grep 关键词" 关键词查…

Mysql中如何实现两列的值互换?给你提供些思路。

文章目录 Mysql中如何实现两列的值互换1、第一感觉此sql应该能处理问题了2、需要一个地方存要替换的值,不然两列搞不定。2.1 加第三列?(能解决,但是看起来呆呆)2.2 上临时表(搞点弯路走走) 示例…

Linux学习第55天:Linux 4G 通信实验(更快、更高、更强)

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 无论是有线网络还是WiFi都是摆脱不了布线的尴尬,而4G通信可以彻底拜托网线的束缚,实现无线网络通信。 而说到4G就不得不提到5G,中…

jenkins删除历史构建记录

1、 登录jenkins,进入【Manage Jenkins】-【Script Console】,输入: def jobName "Test" //删除的项目名称 def maxNumber 60 // 保留的最小编号,意味着小于该编号的构建都将被删除 Jenkins.instance.getItemByFullN…

单元测试--Junit

Junit是Java的单元测试框架提供了一些注解方便我们进行单元测试 1. 常用注解 常用注解&#xff1a; TestBeforeAll&#xff0c;AfterAllBeforeEach&#xff0c;AfterEach 使用这些注解需要先引入依赖&#xff1a; <dependency><groupId>org.junit.jupiter<…

Vue3与Element-plus配合 直接修改表格中的一项数据——控制输入框的显示与隐藏

利用控制与隐藏输入框,直接修改表格中的每一项数据。 <!-- 表格模块 --> <div><el-table :data"tablelist" style"width: 100%"><el-table-column align"center" prop"deposit" label"接单押金">&l…

【 C++ 】 一文搞定——引用、内联、命名空间、缺省、重载

前言&#xff1a;这篇文章将带您了解C基础中的知识点——命名空间、引用、内联、缺省、重载 &#x1f618;我的主页&#xff1a;OMGmyhair-CSDN博客 一、命名空间namespace 1.可以嵌套定义&#xff0c;但是只能定义在全局 namespace ly {int student 1;int age 21;void Pr…

windows wsl ubuntu系统安装桌面可视化

参考&#xff1a; https://www.bilibili.com/read/cv33557374/ 1&#xff09;首先先安装好wsl ubuntu系统 2&#xff09;安装 Ubuntu 桌面版 sudo apt purge -y acpid acpi-support modemmanagersudo apt-mark hold acpid acpi-support modemmanager sudo apt install ubunt…

数据库连接断开后,DBAPI的数据源如何自动重连

现象 在使用DBAPI的过程中&#xff0c;如果网络抖动导致数据库连接不上&#xff0c;发现DBAPI的数据源不能重连&#xff0c;必须重启DBAPI才能连上数据库 解决办法 在数据源的连接池参数配置druid.breakAfterAcquireFailurefalse注意在企业版的4.1.1及以上版本才可以配置连接…

捉虫笔记(1)之 WinDbg符号配置

WinDbg符号配置 1、WinDbg简单介绍 WinDbg 是微软的一款强大的调试工具&#xff0c;用于 Windows 平台的内核和用户模式调试。它提供了一系列强大的功能&#xff0c;包括内存和寄存器的查看、断点设置、堆栈跟踪、性能分析等。 WinDbg 的历史可以追溯到微软早期的调试工具&a…

OceanBase v4.2 特性解析:如何实现表级恢复

背景 在某些情况下&#xff0c;你可能会因为误操作而遇到表数据损坏或误删表的情况。为了能在事后将表数据恢复到某个特定时间点&#xff0c;在OceanBase尚未有表级恢复功能之前&#xff0c;你需要进行以下步骤&#xff1a; 利用OceanBase提供的物理恢复工具&#xff0c;您可…

ESP8266用AT指令实现连接MQTT

1准备工作 硬件&#xff08;ESP8266&#xff09;连接电脑 硬件已经烧入了MQTT透传固件 2实现连接 2-1&#xff08;进入AT模式&#xff09; 打开串口助手发送如下指令 AT 2-2&#xff08;复位&#xff09; ATRST 2-3&#xff08;开启DHCP&#xff0c;自动获取IP&#x…