【屏显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.mzph.cn/diannao/49780.shtml

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

相关文章

nginx代理缓存配置-Linux(CentOS)

代理缓存 1. 编写主配置文件2. 编辑虚拟机配置文件3. 重启nginx服务 nginx代理服务配置,基于http协议 开启代理缓存的前提是已经开启了代理服务,请确保已经开启代理服务 1. 编写主配置文件 主配置文件通常在/etc/nginx/nginx.conf,在该文件…

python机器学习8--自然语言处理(1)

1.基本定义: 语义:就是一句话的重点是什么。 自定词汇:因为语言、文字太多,自定和处理你所关心的重点词汇。 简体转繁体代码 from opencc import OpenCCtext1 "我去过清华大学" openCC OpenCC(s2t) line openCC.…

Typora 【最新1.8.6】版本安装下载教程 (轻量级 Markdown 编辑器),图文步骤详解,免费领取(软件可激活使用)

文章目录 软件介绍软件下载安装步骤激活步骤 软件介绍 Typora 是一款专为 Markdown 爱好者设计的文本编辑器,它结合了简洁的界面设计与强大的 Markdown 渲染能力,为用户提供了一个流畅、高效的写作环境。以下是对 Typora 更详细的介绍: 核心特…

MATLAB绘制方波、锯齿波、三角波、正弦波和余弦波、

一、引言 MATLAB是一种具有很强的数值计算和数据可视化软件,提供了许多内置函数来简化数学运算和图形的快速生成。在MATLAB中,你可以使用多种方法来快速绘制正弦波、方波和三角波。以下是一些基本的示例,展示了如何使用MATLAB的命令来实现正弦…

数据科学统计面试问题 -40问

前 40 名数据科学统计面试问题 一、介绍 正如 Josh Wills 曾经说过的那样,“数据科学家是一个比任何程序员都更擅长统计、比任何统计学家都更擅长编程的人”。统计学是数据科学中处理数据及其分析的基本工具。它提供了工具和方法,可帮助数据科学家获得…

【React】条件渲染:深入探讨高效开发技巧与最佳实践

文章目录 一、什么是条件渲染?二、条件渲染的实现方式三、条件渲染的最佳实践四、复杂条件渲染的实现 在现代前端开发中,React 已成为开发者构建用户界面的首选框架之一。React 的强大之处在于其组件化和状态管理能力,而条件渲染则是 React 开…

防火墙限制docker了

今天有个安全方面的需求,演示环境禁止将3306等高危端口暴露到外网。 于是同事开启了防火墙,仅将应用端口暴露。结果导致演示环境无法使用。 由于公司的应用是基于docker部署的。结果他问我为什么同一台机器,应用无法访问mysql。 docker对于…

SQL labs-SQL注入(五,使用sqlmap进行cookie注入)

本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。 引言: Cookie 是一些数据, 存储于你电脑上的文本文件中。当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。Cookie…

第十一章 数据结构

第十一章 数据结构 11.1 数组 数组是元素的顺序集合,通常这些元素具有相同的数据类型 索引表示元素在数组中的顺序号,顺序号从数组开始处计数 数组元素通过索引被独立给出了地址,数组整体上有一个名称,但每个元素利用数组的的…

elasticsearch 解决全模糊匹配最佳实践

事件背景: 某 CRM 系统,定义了如下两个表: 客户表 t_custom 字段名 类型 描述 idlong自增主键phonestring客户手机......... 客户产品关系表 t_custom_product 字段名 类型 描述 idlong自增主键custom_idlong客户idproduct_idlong产品…

笔记本检测工具 | 爱回收笔记本质检系统 v1.9.6

软件简介 爱回收笔记本质检系统是一款专为笔记本电脑硬件检测而设计的软件。它以其快速的检测速度、简便的操作流程和直观的检测结果,为用户提供了一种高效、易懂的硬件检测解决方案。 这款软件不仅适用于对电脑硬件有一定了解的用户,也特别适合对硬件…

C#使用csvhelper实现csv的操作

新建控制台项目 安装csvhelper 33.0.1 写入csv 新建Foo.cs namespace CsvSut02;public class Foo {public int Id { get; set; }public string Name { get; set; } }批量写入 using System.Globalization; using CsvHelper; using CsvHelper.Configuration;namespace Csv…

如何为WordPress网站设置多语言站点

随着全球化的发展,拥有一个支持多语言的站点已成为提升用户体验、扩大受众范围的重要手段。本文将详细介绍如何为WordPress网站设置多语言站点,提供两种最佳方案详解,帮助您轻松实现多语言站点的搭建与管理。无论您是选择在同一站点内发布多语…

FastGPT 知识库搜索测试功能解析(一)

本文以 FastGPT 知识库的搜索测试功能为入口,分析 FastGPT 的知识检索流程。 一、搜索功能介绍 1.1 整体介绍 搜索测试功能包含三种类型:语义检索、全文检索、混合检索。 语义检索:使用向量进行文本相关性查询,即调用向量数据库根据向量的相似性检索; 全文检索:使用…

我在Vscode学Java集合类

Java集合类 一、集合1.1 集合和数组之间的对比1.2 集合框架的核心接口1.3 集合框架中的实现类单列集合双列集合 1.4 集合框架的特点 二、 Collection集合与Iterator迭代器2.1 Collection的概述2.1.1 常用方法增加元素的方法修改元素的方法删除元素的方法查询元素的方法遍历集合…

LLMs之Agent:Agentscope的简介、安装和使用方法、案例应用之详细攻略

LLMs之Agent:Agentscope的简介、安装和使用方法、案例应用之详细攻略 目录 Agentscope的简介 1、更新的日志 2、支持的模型API 3、支持的服务 Agentscope的安装和使用方法 1、安装 支持的本地模型部署 从源码安装 使用pip 配置 创建Agent 构造对话 Age…

Go语言编程 学习笔记整理 第2章 顺序编程 后半部分

1.流程控制 1.1 条件语句 if a < 5 { return 0 } else { return 1 } 注意&#xff1a;在有返回值的函数中&#xff0c;不允许将“最终的”return语句包含在if...else...结构中&#xff0c; 否则会编译失败&#xff01;&#xff01;&#xff01; func example(x int) i…

基于 HTML+ECharts 实现智慧景区数据可视化大屏(含源码)

构建智慧景区数据可视化大屏&#xff1a;基于 HTML 和 ECharts 的实现 随着旅游业的蓬勃发展&#xff0c;智慧景区的概念逐渐深入人心。通过数据可视化&#xff0c;景区管理者可以实时监控游客流量、设施使用情况以及环境状况&#xff0c;从而提升游客体验和管理效率。本文将详…

线性代数:向量组与向量组等价

向量组概述 向量组是由若干个同维数的行向量或列向量组成的集合。这些向量可以是二维的、三维的&#xff0c;甚至是更高维度的。在数学和物理学的许多领域中&#xff0c;向量组扮演着至关重要的角色&#xff0c;特别是在线性代数、矩阵论、以及工程学中。 例如&#xff0c;一…

《梦醒蝶飞:释放Excel函数与公式的力量》18.2 数据可视化技术

第18章&#xff1a;创建图表和数据可视化 18.2 数据可视化技术 数据可视化是将数据转化为图形和图表的过程&#xff0c;以便更好地理解和分析数据。有效的数据可视化可以揭示数据的模式、趋势和异常&#xff0c;从而帮助做出更明智的决策。以下将介绍几种常用的数据可视化技术…