音视频开发3 视频基础,图片基础

图片像素(Pixel)

一张图片是由多少个 像素 构成的。

例如一张图片是由60x50组成的。

位深度 bit depth

RGB表示法

Red)、绿Green)、Blue)

除了24bit,常见的位深度还有:

  • 1bit:2种颜色,黑白两色
  • 3bit:8种颜色,用于大部分早期的电脑显示器,红绿蓝各占1位
  • 8bit:256种颜色,用于最早期的彩色Unix工作站,红色占3位、绿色占3位、蓝色占2位
  • 16bit:红色占5位、蓝色占5位、绿色占6位
  • 24bit:也被称为是:真彩色(True Color),也就是常说的24位真彩

  • 32bit:基于24位,增加8个位的透明通道
    • 可以表示带有透明度的颜色
    • 比如CSS中的rgba(255, 0, 0, 0.5)表示50%透明度的红色

YUV 表示法:

Y、U、V三个分量组成,现在通常说的YUV指的是YCbCr

  • Y:表示亮度(Luminance、Luma),占8bit(1字节)
  • CbCr:表示色度(Chrominance、Chroma)
    • Cb(U):蓝色色度分量,占8bit(1字节)
    • Cr(V):红色色度分量,占8bit(1字节)

YUV和RGB 比较:体积更小

YUV的优势是比 RGB拥有更小的体积

  • 如果使用RGB
    • 比如RGB888(R、G、B每个分量都是8bit)
    • 1个像素占用24bit(3字节)
  • 如果使用YUV
    • 1个像素可以减小至平均只占用12bit(1.5字节)
    • 体积为RGB888的一半

YUV 的采样格式

采样格式通常用A:B:C的形式来表示,比如4:4:4、4:2:2、4:2:0等,其中我们最需要关注的是4:2:0

YUV 的存储格式

YUV的存储格式可以分为3大类:

  • Planar(平面)
    • Y、U、V分量分开单独存储
    • 名称通常以字母p结尾
  • Semi-Planar(半平面)
    • Y分量单独存储,U、V分量交错存储
    • 名称通常以字母sp结尾
  • Packed(紧凑)
    • 或者叫Interleaved (交错)
    • Y、U、V分量交错存储

YUV 的常用类型,结合采样格式和存储格式

4:4:4

  • I444
Y Y Y Y
Y Y Y Y
U U U U
U U U U
V V V V
V V V V

  • YV24
Y Y Y Y
Y Y Y Y
V V V V
V V V V
U U U U
U U U U

  • NV24
Y Y Y Y
Y Y Y Y
U V U V U V U V
U V U V U V U V

  • NV42
Y Y Y Y
Y Y Y Y
V U V U V U V U
V U V U V U V U

4:2:2

  • I422
Y Y Y Y
Y Y Y Y
U U
U U
V V
V V

  • YV16
Y Y Y Y
Y Y Y Y
V V
V V
U U
U U

  • NV16
Y Y Y Y
Y Y Y Y
U V U V
U V U V

  • NV61
Y Y Y Y
Y Y Y Y
V U V U
V U V U

  • UYVY
U Y V Y U Y V Y
U Y V Y U Y V Y

  • YUYV
Y U Y V Y U Y V 
Y U Y V Y U Y V 

  • YVYU
Y V Y U Y V Y U
Y V Y U Y V Y U

4:2:0

I420 (YUV420P)

  • 大多数视频解码器以I420格式输出原始图片
 
Y Y Y Y
Y Y Y Y
U U
V V

  • YV12
Y Y Y Y
Y Y Y Y
V V
U U
  • NV12

Y Y Y Y
Y Y Y Y
U V U V

  • NV21
Y Y Y Y
Y Y Y Y
V U V U

总结

图片有2个要素,视频有3个要素。

像素,RGB/YUV类型,fps(每秒播放多少个图片)

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

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

相关文章

(41)5.6-5.7数据结构(栈和队列的应用)

1.栈在括号匹配中的应用 #define _CRT_SECURE_NO_WARNINGS #define MaxSize 10 typedef struct { char data[MaxSize];//静态数组存放栈中元素 int top; //栈顶指针 }SqStack;//初始化栈 void InitStack(SqStack& S);//判断栈是否为空 bool StackEmpty(SqStack S…

寻找身高最相近的小朋友 - 华为OD统一考试(D卷)

OD统一考试(D卷) 分值: 100分 题解: Java / Python / C++ 题目描述 小明今年升学到小学一年级,来到新班级后发现其他小朋友们身高参差不齐,然后就想基于各小朋友和自己的身高差对他们进行排序,请帮他实现排序。 输入描述 第一行为正整数H和N,0<H<200,为小明的…

C++ | Leetcode C++题解之第72题编辑距离

题目&#xff1a; 题解&#xff1a; class Solution { public:int minDistance(string word1, string word2) {vector<vector<int>> dp(word1.size() 1, vector<int>(word2.size() 1, 0));for (int i 0; i < word1.size(); i) dp[i][0] i;for (int j…

公钥私钥?一文搞懂非对称加密

非对称加密 非对称加密&#xff1a; 通信双方分别创建公钥和私钥&#xff0c;并且保证公钥所加密的信息&#xff0c;只有配对的私钥可以解密&#xff0c;接下来&#xff0c;双方公开交换公钥&#xff0c;通信时&#xff0c;使用对方的公钥进行加密&#xff0c;如此&#xff0…

基于51单片机无线恒温箱恒温控制系统

基于51单片机无线恒温箱恒温控制 &#xff08;程序&#xff0b;原理图&#xff0b;PCB&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.DS18B20温度传感器测温。 2.按键可以设定温度上下限及温度刷新时间间隔。 3.使用NRF24L01无线模块传输数据 4.温度…

flask网站开发计划

我想写一个flask开发网站的合集文章&#xff0c;该网站主要是采集网络上的文章&#xff08;不同站点&#xff0c;用Python识别出正文内容&#xff09;&#xff0c;然后做成长图形式&#xff0c;发布到flask站点&#xff0c;并提供“下载”按钮&#xff0c;点击下载按钮&#xf…

第3章 WebServer重构

3.1 重构原生Web服务框架 3.1.1 分析原生Web服务框架 在服务端代码的 ClientHandler 中&#xff0c;请求解析、处理请求、返回响应的代码混杂在一起&#xff0c;这样的设计会导致代码难以维护和理解。为了提高代码的可读性、可维护性和可扩展性&#xff0c;我们需要对这些代码…

快速掌握Redis优化要点,告别性能瓶颈!

大家好!我是小米,今天和大家分享一下在Redis中如何进行优化,以提升系统性能。Redis作为一种流行的内存数据库,因其高性能、高可用和数据持久性而受到广泛应用。然而,在实际应用中,我们仍需对Redis进行优化,以满足各种业务需求。接下来,我将从读写方式、KV size、Key数量…

VALSE 2024主旨报告内容解析:以深度学习框架为牵引促进自主AI生态发展

2024年视觉与学习青年学者研讨会&#xff08;VALSE 2024&#xff09;于5月5日到7日在重庆悦来国际会议中心举行。本公众号将全方位地对会议的热点进行报道&#xff0c;方便广大读者跟踪和了解人工智能的前沿理论和技术。欢迎广大读者对文章进行关注、阅读和转发。文章是对报告人…

探秘Flex布局下子元素宽度超出的那些烦心事

嘿&#xff0c;小伙伴们&#xff01;你们有没有遇到过用Flex布局的时候&#xff0c;子元素的宽度莫名其妙地超出了父元素的情况&#xff1f;别着急&#xff0c;今天我就来给大家揭秘这个问题的来龙去脉&#xff0c;以及一些解决方案。让我们一起来深入探讨&#xff01; 发现问…

【Gaea+UE5】创建基本的大型世界场景

目录 效果 步骤 一、在Gaea中生成地形 二、确定导出的地形规模 三、在UE中创建地形 四、验证UE创建的地形规模是否正确 五、使用M4自动地形材质 效果 步骤 一、在Gaea中生成地形 1. 打开Gaea官网下载软件 2. 打开Gaea软件&#xff0c;我们可以选择一个预设的山体 创…

Git === Git概述 Git安装

第1章 Git概述 Git是一个免费的、开源的分布式版本控制系统&#xff0c;可以快速高效地处理从小型到大型的各种项目。 Git易于学习&#xff0c;占地面积小&#xff0c;性能极快。 它具有廉价的本地库&#xff0c;方便的暂存区域和多个工作流分支等特性。其性能优于Subversion…

汇凯金业:通货膨胀对能源行业有何影响

通货膨胀对能源行业有几方面的影响&#xff0c;具体取决于通货膨胀的原因、规模以及持续时间。以下是一些可能的效应&#xff1a; 成本增加&#xff1a;通货膨胀导致能源行业的运营成本上升。这包括原材料、设备、维护和人力成本。如果企业不能完全将成本转嫁给消费者&#xf…

Pytorch入门实战 P09-YOLOv5里面的Backbone模块搭建网络

目录 1、YOLOv5的模型图。 2、BackBone简单介绍。 3、YOLOv5的Backbone文件。 4、YOLOv5Backbone的code部分 5、完整的code部分 6、结果展示 &#xff08;1&#xff09;Adam优化器 &#xff08;2&#xff09;SGD优化器 &#x1f368; 本文为&#x1f517;365天深度学习…

linux系统下产生Segmentation fault 与 Segmentation fault (core dumped)!!!

最近在学习的过程中&#xff0c;遇到了Segment fault&#xff08;段错误&#xff09;的问题&#xff0c;经过一番查找资料&#xff0c;学到了一些相关知识&#xff0c;这里做一个梳理&#xff0c;以防以后在遇到类似的问题&#xff0c;并且希望能够帮助到大家一丝丝&#xff01…

华为AI全栈生态布局:中国科技巨头加速创新

华为AI芯片生态全栈深度分析 2024 一、引言 1.1 华为AI芯片发展背景&#xff1a; 华为&#xff0c;通信和消费电子巨头&#xff0c;以其技术创新和远见著称。2013年&#xff0c;华为率先布局人工智能&#xff08;AI&#xff09;&#xff0c;并专注于全栈AI解决方案的开发。华…

骨传导耳机哪个品牌值得入手?精选五款高性能骨传导耳机,闭眼入都不踩雷!

随着健康生活的日益普及&#xff0c;运动健身逐渐成为人们生活中的重要组成部分。在这一背景下&#xff0c;骨传导耳机作为一种新型蓝牙耳机&#xff0c;凭借其不堵塞耳道、防水性能强等特性&#xff0c;受到了广大运动爱好者的喜爱。然而&#xff0c;骨传导耳机的热销也吸引了…

一次性邮箱API发送邮件的方法?如何配置?

一次性邮箱API发送邮件有哪些注意事项&#xff1f;怎么安全发信&#xff1f; 随着网络安全问题的日益凸显&#xff0c;如何安全、高效地发送邮件成为了一个亟待解决的问题。一次性邮箱API的出现&#xff0c;为我们提供了一种新的解决方案。那么&#xff0c;如何使用一次性邮箱…

白酒:白酒香型的国际化推广与市场接受度分析

云仓酒庄的豪迈白酒一直有在白酒香型的国际化推广。随着中国白酒市场的不断扩大和国际化的趋势&#xff0c;了解白酒香型的国际接受度和推广策略对于酒厂和整个行业都具有重要意义。 首先&#xff0c;国际化推广需要深入了解国际市场的需求和消费者偏好。不同国家和地区的消费者…

长难句打卡5.7

In December 2010 America’s Federal Trade Commission (FTC) proposed adding a “do not track” (DNT) option to Internet browsers, so that users could tell advertisers that they did not want to be followed. 2010年12月&#xff0c;美国美国联邦贸易委员会(FTC)提…