Android YUV存储方式
排名
性能:YUV444 > YUV422 > YUV420 > YUV411
- YUV444:YUV444 提供最高质量的色彩准确性和图像细节,但需要更多的存储空间和传输带宽。适用于对图像质量要求很高的应用,如专业视频编辑或高端图像处理。
- YUV422:YUV422 在性能和存储/传输开销之间取得了平衡。相对于YUV444,它降低了色彩准确性和图像细节,但提供了较小的存储需求。适用于大多数广播和视频领域的应用。
- YUV420:YUV420 是最常用的 YUV 格式,通过更进一步的压缩(降低采样率),在牺牲一定图像质量的情况下,大幅减少存储空间和传输带宽。适用于大多数常见的视频应用,包括流媒体和视频通话。
- YUV411:YUV411 是最低分辨率的 YUV 格式,通过更大幅度的压缩(更低的采样率)来减少存储空间和传输需求。图像质量牺牲较大,适用于一些低分辨率或存储受限的应用。
实用性:YUV420 > YUV422 > YUV444 > YUV411
- YUV420:由于 YUV420 是目前最常用的 YUV 格式,它的广泛支持与兼容性使其成为大多数应用的首选格式。
- YUV422:YUV422 在广播和视频领域得到广泛采用,并在许多专业和消费设备中得到支持。
- YUV444:YUV444 在专业视频编辑和高端图像处理中被广泛使用,但可能不太常见于一般消费者产品。
- YUV411:YUV411 的应用相对较少,适用于特定的低分辨率或存储受限的场景。
兼容性:YUV420 > YUV422 > YUV444 > YUV411
- YUV420:YUV420 是最常用的 YUV 格式,几乎所有广播、视频和图像处理设备都支持。它是各种视频编解码器和播放器的标准格式,也被广泛支持于各种平台和操作系统,包括桌面电脑、移动设备和流媒体服务。
- YUV422:YUV422 在广播和视频领域得到广泛采用,并在许多专业和消费设备中得到支持。它在大多数现代平台和操作系统上都有良好的兼容性,但相对于 YUV420,一些较旧或较低成本的设备可能不完全支持。
- YUV444:YUV444 在专业视频编辑和高端图像处理中被使用,但其广泛兼容性可能受到限制。一些消费者级设备可能不支持 YUV444 格式,特别是在较旧的设备或某些平台上。
- YUV411:YUV411 的应用较少,兼容性相对较低。使用 YUV411 格式可能需要特定的设备或平台支持,而一些常见的播放器和编解码器可能不支持此格式。
注:Y表示亮度信息,U和V分别表示蓝色和红色(色度)
YUV411
优点:
- 存储需求较小:通过将U和V分量的分辨率降低一半,YUV411能够有效地减小颜色信息的存储需求,从而节省存储空间。
- 兼容性好:YUV411是一种较为流行的色彩编码格式,在许多多媒体应用中广泛使用,因此具有较好的兼容性。
缺点:
- 色度细节损失:由于U和V分量的分辨率被降低了一半,YUV411在色度信息的表示上存在一定程度的损失,从而导致色度细节的损失。
- 不适用于细节丰富的图像:由于色度细节的损失,YUV411不适用于细节丰富的图像,例如对于颜色变化较为复杂和细腻的图像,使用YUV411可能会导致颜色失真或细节模糊。
Planar 存储方式:
亮度分量Y1, Y2, Y3, Y4分别对应每个像素的亮度样本。色度分量U1, U2, U3, U4和V1, V2, V3, V4分别对应每个像素的色度样本。每四个相邻的像素共用一个色度U样本和一个色度V样本,这种存储方式提供了更高的色度分量的分辨率,但同时也要占用更多的存储空间。
| Y1 | Y2 | Y3 | Y4 |
|----|----|----|----|
| | | | |
| | | | |
| | | | |
| | | | |
| U1 | | U2 | |
|----|----|----|----|
| | | | |
| | | | |
| | | | |
| | | | |
| V1 | | V2 | |
|----|----|----|----|
Semi-Planar 存储方式:
每四个相邻的像素共用一个色度U样本和一个色度V样本,并且每个像素都有一个亮度Y样本。其中,Y1、Y2、Y3、Y4分别代表四个亮度样本,U1、U2、U3、U4分别代表相应的U样本,V1、V2、V3、V4分别代表相应的V样本。
| Y1 | Y2 | Y3 | Y4 |
|----|----|----|----|
| U1 | U2 | U3 | U4 |
|----|----|----|----|
| V1 | V2 | V3 | V4 |
YUV420:
优点:
- YUV420是最常见和广泛支持的色彩编码格式。它在视频压缩和传输中被广泛采用,因此在各种设备和平台上具有很好的兼容性。
- YUV420通过对亮度和色度分量进行适度的子采样,实现了较高的压缩比。相比于YUV444格式,它可以有效地减少存储和传输所需的数据量。
- 子采样的方式有助于保持图像的主要细节和视觉感知。虽然色度分量的分辨率相对较低,但人眼对色彩细节的感知度较低,因此对于大多数应用场景来说,图像的质量仍然足够好。
缺点:
- YUV420相对于YUV444来说,在色彩保真度方面有一定损失。由于色度分量的子采样,部分色彩细节可能会丢失或降低。
- 在一些对色彩准确度要求较高的应用中,如专业图像处理、电影制作等领域,YUV420可能不够理想,因为它在细节和颜色还原方面的表现较弱。
- YUV420格式在进行图像编辑和处理时可能需要更多的计算和处理步骤,因为需要对亮度和色度分量进行插值和恢复以达到源图像的准确还原。
Planar 存储方式:
每个像素都有一个亮度Y样本。相邻的四个像素共享一个色度U和一个色度V样本,即U1和V1为第一个四个像素的色度样本,U2和V2为第二个四个像素的色度样本。在上述例图中,Y1到Y4代表亮度样本,U1到U4代表色度U样本,V1到V4代表色度V样本。这种存储方式通过对亮度和色度进行适度子采样,实现了较好的图像质量,并在大多数情况下仍能保持良好的压缩比。Planar存储方式能够提供更精确的色彩还原能力,但相应地需要更多的存储空间和较低的编码解码效率。
| Y1 | Y2 | Y3 | Y4 |
|----|----|----|----|
| U1 | U2 | U3 | U4 |
|----|----|----|----|
| V1 | V2 | V3 | V4 |
Semi-Planar 存储方式:
每个像素都有一个亮度Y样本。相邻4个像素共享一个色度U和一个色度V样本。Y1到Y4代表亮度样本,U1、V1、U2、V2依次代表色度U和V样本。这种存储方式通过对亮度和色度进行适度子采样,实现了较高的压缩比,并在大多数情况下仍能保持良好的图像质量。Semi-Planar存储方式相较于Planar存储方式,在U和V分量的存储上进行了合并,以便提高编码和解码的效率。
| Y1 | Y2 | Y3 | Y4 |
|----|----|----|----|
| U1 | V1 | U2 | V2 |
|----|----|----|----|
YUV422:
- 优点:相比于 YUV444,YUV422 通过减少 U 和 V 分量的采样率,可以在减少存储和传输开销的同时,保持较高的图像质量和色彩准确性。
- 缺点:相对于 YUV444,YUV422 的图像质量和色彩准确性稍有损失,因为 U 和 V 分量的采样率降低了一半。
- 起源时间:YUV422 是在早期的彩色视频系统中引入的,以平衡存储和传输开销与图像质量之间的权衡。
Planar 存储方式:
在YUV422的Planar存储方式中,每个像素都有一个亮度Y样本,并且每四个相邻的像素共用一个色度U样本和一个色度V样本。
| Y1 | Y2 | Y3 | Y4 |
|----|----|----|----|
| U1 | U2 | U3 | U4 |
|----|----|----|----|
| V1 | V2 | V3 | V4 |
Semi-Planar 存储方式:
亮度信息Y存储在连续的像素中,而色度信息U和V交替存储在一组像素中,每两个相邻像素共用一个色度样本。
| Y1 | U1 | Y2 | V1 |
|----|----|----|----|
| Y3 | U2 | Y4 | V2 |
|----|----|----|----|
| Y5 | U3 | Y6 | V3 |
|----|----|----|----|
| Y7 | U4 | Y8 | V4 |
YUV444
- 优点:YUV411 是一种低分辨率的 YUV 格式,通过更大幅度的 U 和 V 分量的采样率降低,可以进一步减少存储和传输开销。
- 缺点:相对于其他 YUV 格式,YUV411 提供的图像质量和色彩准确性较低,因为 U 和 V 分量的采样率大幅降低。
- 起源时间:YUV411 是在早期的摄像机和视频存储系统中引入的,并在某些低分辨率和存储受限的应用中使用。
Planar 存储方式:
每四个相邻的像素共用一个色度(UV)样本,并且每个像素都有一个独立的亮度(Y)样本。亮度分量Y、色度分量U和色度分量V被分别存储在不同的平面上,每个平面中具有相同的分辨率,且每个像素的对应分量均位于相同的位置。
| Y1 | Y2 | Y3 | Y4 |
|----|----|----|----|
| U1 | U2 | U3 | U4 |
|----|----|----|----|
| V1 | V2 | V3 | V4 |
Semi-Planar 存储方式:
亮度分量 Y1, Y2, Y3, Y4 分别对应每个像素的亮度样本。色度分量 U1, V1, U2, V2 交替存储在同一平面上,每个像素的色度分量 U 和 V 共享一个样本。这种存储方式节省了存储空间,但在处理色度分量 U 和 V 时需要进行额外的解析步骤。
| Y1 | Y2 | Y3 | Y4 |
|----|----|----|----|
| U1 | V1 | U2 | V2 |
RGB转YUV的算法
相关文章:
Android YUV存储方式
排名 性能:YUV444 > YUV422 > YUV420 > YUV411 YUV444:YUV444 提供最高质量的色彩准确性和图像细节,但需要更多的存储空间和传输带宽。适用于对图像质量要求很高的应用,如专业视频编辑或高端图像处理。YUV422࿱…...
SSM家具个性定制管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
一、源码特点 SSM 家具个性定制管理系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用…...
来自Microsoft Teams的摄像头背景图片
原文件在👆,下面是预览图 如果你安装了Microsoft Teams也可以搜索MSTeams,就在MSTeams/Backgrounds...
飞书如何接入ChatGPT-打造个人智能问答助手实现无障碍交流
目录 前言 环境列表 1.飞书设置 2.克隆feishu-chatgpt项目 3.配置config.yaml文件 4.运行feishu-chatgpt项目 5.安装cpolar内网穿透 6.固定公网地址 7.机器人权限配置 8.创建版本 9.创建测试企业 10. 机器人测试 总结 前言 在飞书中创建chatGPT机器人并且对话&am…...
Proteus仿真--基于1602LCD的秒表设计
本文介绍基于1602LCD的秒表设计(完整仿真源文件及代码见文末链接) 仿真图如下 本设计中80C51单片机作为主控,用1602LCD作为显示模块,共有2个按键,K1按键用于秒表计时启停控制,K2用于清零显示内容 仿真运…...
香港站群服务器中1C/2C/4C/8C 的概念及区别
在选择香港站群服务器时,经常会看到1C、2C、4C和8C等不同的IP段。这些IP段代表了不同的子网掩码长度,也反映了服务器的IP地址数量和丰富性。 让我们来了解一下什么是IP段。IP段是指一组连续的IP地址,其中每个地址的前三个数字相同&…...
搭建SRS视频服务器
去官方网站下载FFmpeg6.1 https://ffmpeg.org/download.html拷贝到CentOS7.9中的/opt目录下,解压并重命名 tar -xvf ffmpeg-6.1.tar.xz 解压后编译安装 ./configure make make install从github下载SRS4.0release 解压后 如果ffmpeg的路径不在/usr/local/bin/ffmpe…...
【C++初阶】STL详解(八)List的模拟实现
本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…...
Day02嵌入式---按键控灯
一、简单介绍 按键控制灯开关是一种常见的嵌入式系统示例项目,它通常用于演示嵌入式系统的基本控制能力。该项目由一个或多个LED和一个按键组成。通过按下按键,可以控制LED的开关状态,从而实现灯的亮灭控制。 二、查看功能手册 2.1 查看硬件…...
Centos设置nginx开机自启动设置
Centos设置nginx开机自启动设置 要设置CentOS中的Nginx开机自启动,可以按照以下步骤进行操作: 首先,登录到CentOS服务器上,并以root用户或具有sudo权限的用户身份执行以下命令来安装Nginx(如果尚未安装)&a…...
拼接合并yuv序列转成mp4
ffmpeg需要用支持libx264的版本,如果需要,可以从这个网站下载编译支持libx264\x265的ffmpeg https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-6.1-essentials_build.7z #-*- coding:utf-8-*- import osif __name__ "__main__":# 1 输入…...
访谈 破风之人毛京波,选择难而正确的路
“无论是在燃油时代还是电动时代,我们所做的一切,只为回归纯粹的驾驶乐趣。”履新路特斯中国总裁整整一年的毛京波,从不放过任何一个展示路特斯品牌驾驭精神的机会。 11月17日,广州车展开幕首日,位于5.2馆的路特斯“冠…...
java实现一个简单的监听器
在 Java 中,我们可以通过实现监听器(Listener)模式来处理事件和回调。监听器模式是一种常见的设计模式,用于实现对象间的松耦合通信。本文将介绍如何在 Java 中实现一个简单的监听器。 步骤 以下是实现一个监听器的基本步骤&…...
用HALCON标定助手对相机进行标定
任务要求: 已知相机镜头焦距f为8mm,相机单个CCD像素在水平和竖直两个方向上的尺寸均为3.75微米,相机为普通透光镜头和面阵相机,对相机进行标定,测量相机的内外参数。 操作步骤: 1. 在HALCON中运行gen_ca…...
5 个适用于 Windows 的顶级免费数据恢复软件
对于计算机来说,最重要的是用户数据。除了您的数据之外,有关计算机的其他所有内容都是可替换的。这三个是数据丢失的最常见原因: 文件/文件夹删除丢失分区分区损坏 文件/文件夹删除 文件/文件夹删除是最常见的数据丢失类型。大多数时候&am…...
MySQL 批量插入记录报 Error 1390 (HY000)
文章目录 1.背景2.问题3.分批插入4.一次最多能插入多少条记录?5.什么是 Prepared Statement?参考文献 1.背景 Golang 后台服务使用 GORM 实现与 MySQL 的交互,在实现一个通过 Excel 导入数据的接口时,使用 Save 方法一次性插入大…...
线程池(用于处理Runnable任务或Callable任务)
一,线程池 二, 如何创建线程池 案例: //1,通过ThreadPoolExecuter创建一个线程池对象ExecutorService pool new ThreadPoolExecutor(3,5,8,TimeUnit.SECONDS,new LinkedBlockingQueue<>(4),Executors.defaultThreadFactory(),new Thr…...
MATLAB在信号系统中的应用
1.产生一个幅度为1, 基频为2Hz,占空比为50%的周期方波.要求画出图形。 在MATLAB中,函数square(w0*t, DUTY)产生基本频率为w0 (周期T2*pi/w0)、占空比DUTY (τ/T)*100的周期矩形波(方波),默认情况下占空比DUTY50。占空…...
Jenkins与Docker的自动化CI/CD流水线实践
Pipeline 有诸多优点,例如: 项目发布可视化,明确阶段,方便处理问题 一个Jenkins File文件管理整个项目生命周期 Jenkins File可以放到项目代码中版本管理 Jenkins管理界面 操作实例:Pipeline的简单使用 这里是比较…...
企业数字化转型的作用是什么?_光点科技
在当今快速变化的商业环境中,数字化转型已成为企业发展的重要策略。企业数字化转型指的是利用数字技术改造传统业务模式和管理方式,以提升效率、增强竞争力和创造新的增长机会。 提升运营效率:数字化转型通过引入自动化工具和智能系统&#x…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
