数字媒体技术基础:色度子采样(4:4:4、4:2:2 、4:2:0)

news2024/11/24 16:58:03

在数字视频处理中,色度子采样 Chroma Subsampling可以用于压缩视频文件的大小,同时在大多数情况下保持较高的视觉质量,它的原理基于人类视觉系统对亮度 Luminance比对色度 Chrominance更加敏感这一特点。

一、 采样格式的表示方法

色度子采样格式通常表示为:

J:a:b

其中:

J:在水平方向上,亮度样本的基准数量,通常为 4 列。

a:在奇数行中,与 J 个亮度样本对应的色度样本数。

b:在偶数行中,与 J 个亮度样本对应的色度样本数。

二、常见的采样格式及特点

1、4:4:4 采样

即:J = 4、a = 4、b = 4

解释:

奇数行和偶数行:每 4 个亮度样本对应 4 个色度样本。

8cbb624b47ddc13d3c3e9e807866fe0e.png

这是无色彩子采样的格式,亮度和色彩的采样频率相同。每个像素都有完整的亮度和色彩信息,因此没有任何压缩。

由于其能够提供全色彩采样,4:4:4 格式常用于视觉特效制作、颜色校正、高端电影拍摄和后期制作。

虽然占用的存储空间更大,但对于专业需求来说,这种无损的色彩处理至关重要。

2、4:2:2 采样

即:J = 4、a = 2、b = 2

解释:

奇数行和偶数行:每 4 个亮度样本对应 2 个色度样本。

73c82a00e68143ccb891c1b3ceb2c793.png

在这个模式下,每两个水平像素共享一个色度信息(Cb 和 Cr),但每个像素都有独立的亮度信息。这样做可以减少文件大小,但由于亮度细节保留较好,因此视觉质量损失较小。

4:2:2 常用于专业级视频录制设备中,如广播电视制作、高端摄影机和非线性编辑系统。它在保持较高画质的同时,比 4:4:4 更节省存储空间。

3、4:2:0 采样

即:J = 4、a = 2、b = 0

解释:

奇数行:每 4 个亮度样本对应 2 个色度样本。

偶数行:不采样色度,即 0 个色度样本。

bed89985c2a4118581aa3cb88d7518b0.png

在此模式下,每两个水平像素和两个垂直像素共享一个色彩信息,即每四个像素共享同一个 Cb 和 Cr。

4:2:0 采样方式压缩效果显著,广泛用于消费者级视频标准中,如蓝光光盘、DVD、网络视频流媒体(如 Netflix、YouTube)和视频会议等。这种采样方式在提供合理画质的同时,最大程度压缩了数据量。

三、优点与局限性

1、优点

(1)显著压缩文件大小

通过减少色彩信息,色度子采样能有效降低视频和图像的文件体积。

(2)维持较高的视觉质量

虽然色彩信息被压缩,但由于亮度信息没有太大损失,观众在观看时仍能获得高质量的视觉体验。

(3)广泛应用于视频压缩

色度子采样技术被广泛应用于各种视频压缩标准中,如 MPEG、H.264 和 HEVC。

2、局限性

(1)色彩细节丢失

在 4:2:2 和 4:2:0 等模式下,色彩信息被压缩,可能会导致在处理颜色锐利变化的场景(如鲜艳的边缘或小物体)时出现色彩失真或模糊。

(2)不适用于所有场景

在一些对颜色要求极高的场景中(如高端电影制作、图像编辑或视觉特效),无色彩子采样(4:4:4)的画质仍然不可或缺。

160fa56a70093b0219a9d479fdeb6752.jpeg

“点赞有美意,赞赏是鼓励”

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

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

相关文章

一个技巧实现在SharePoint中使用Copilot

前几天写了在onedrive中使用copilot对单个文件进行提问汇总分析与对多个文件进行比较汇总提问等: Copilot重磅更新!OneDrive全新功能炸裂 很多小伙伴表示特别受用。 于是他们在纷纷尝试了一段时间后,开始把目光转向SharePoint和teams文件&a…

tkinter库的应用小示例:文本编辑器

tkinter库的应用小示例:文本编辑器 要 求: 创建一个文本编辑器,功能包括,创建、打开、编辑、保存文件。一个Button小组件,命名为btn_open,用于打开要编辑的文件,一个Button小组件,命名为btn_s…

Dockerfile 详解

Dockerfile是自定义Docker镜像的一套规则,由多条指令构成,每条指令都会对应于Docker镜像中的每一层,因为Docker是分层存储的。以下是Dockerfile中各个参数的详解及演示解析: 1. FROM 功能:指定待扩展的父级镜像&#…

JavaScript 访问者模式:打造高扩展性的对象结构

一. 前言 在面向对象编程中,访问者模式(Visitor Pattern)是一种行为设计模式,它允许我们向现有的类结构添加新的操作,而无需修改这些类。这对于需要对类层次结构中的元素进行复杂算法处理的场景非常有用。 本文将详细…

【硬件模块】HC-08蓝牙模块

蓝牙模块型号 HC-08蓝牙模块实物图 HC-08蓝牙模块引脚介绍 STATE:状态输出引脚。未连接时,则为低电平。连接成功时,则为高电平。可以在程序中作指示引脚使用; RXD:串口接收引脚。接单片机的 TX 引脚(如…

多线程(三):线程等待获取线程引用线程休眠线程状态

目录 1、等待一个线程:join 1.1 join() 1.2 join(long millis)——"超时时间" 1.3 join(long millis,int nanos) 2、获取当前线程的引用:currentThread 3、休眠当前进程:sleep 3.1 实际休眠时间 3.2 sleep的特殊…

Canvas:AI协作的新维度

在人工智能的浪潮中,OpenAI的最新力作Canvas,不仅是一款新工具,它标志着人工智能协作方式的一次革命性飞跃。Canvas为写作和编程提供了一个全新的交互界面,让用户能够与ChatGPT进行更紧密、更直观的协作。 ​​​​​​​ Canvas的…

LeetCode 面试经典150题 Z字形变换

题目: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你…

无人机无线电侦测核心技术详解

无人机无线电侦测核心技术主要涉及频谱分析、信号处理、定位技术以及智能化识别等多个方面。以下是对这些核心技术的详细解析: 1. 频谱分析技术 频谱探测技术:通过分析信号在频域上的分布和特性,来识别、测量和定位无线电信号。在无人机侦测…

leetcode 491.非递减子序列

1.题目要求: 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。 …

Python | Leetcode Python题解之第477题汉明距离总和

题目: 题解: class Solution:def totalHammingDistance(self, nums: List[int]) -> int:n len(nums)ans 0for i in range(30):c sum(((val >> i) & 1) for val in nums)ans c * (n - c)return ans

BUUCTF-Business Planning Group1

下载是一张PNG图片, 使用010editor打开发现尾部有隐藏文件 把这段16进制字符串复制到新文件并改名为1.bpg 使用bpgviewer软件查看 Release Simple BPG Image viewer asimba/pybpgviewer GitHub Notes: large images will be scaled to fit screen areabasic s…

[单master节点k8s部署]40.安装harbor

harbor 是私有镜像仓库,用来存储和分发镜像的 。docker 还有一个官方的镜像仓库 docker hub,免费用户只能简单的使用,创建一个私有镜像仓库,存储镜像,付费用户才可以拥有更多权限,默认 docker pull 拉取镜像…

nginx搭建视频下载站

目录 1.前言与介绍 2.atuoindex模块介绍 3.主要的功能 4.下载站基本要求 5.具体配置 6.做完如上的配置重载服务 7.创建密码文件 8.在windows主机上做域名解析 9.查看统计结果 1.前言与介绍 前面的学习中根据nginx的简单的配置实现了根据 IP 端口 和 域名 实现虚…

MySQL-三范式 视图

文章目录 三范式三范式简介第一范式第二范式第三范式 表设计一对一一对多多对多最终的设计 视图 三范式 三范式简介 所谓三范式, 其实是表设计的三大原则, 目的都是为了节省空间, 但是三范式是必须要遵守的吗? 答案是否定的(但是第一范式必须遵守) 因为有时候严格遵守三范式…

AI开发-三方库-Hugging Face-Tokenizer

1 需求 需求1:from transformers import AutoTokenizer 需求2:from transformers import BertTokenizer 2 接口 关键参数 textpaddingtruncationreturn_tensors 3 示例 BertTokenizer.from_pretrained() PreTrainedTokenizer PreTrainedTokenizerBa…

医疗图像之基于Unet++的息肉分割

第一步:准备数据 息肉分割数据,总共有1000张 第二步:搭建模型 UNet,这是一种旨在克服以上限制的新型通用图像分割体系结构。如下图所示,UNet由不同深度的U-Net组成,其解码器通过重新设计的跳接以相同的分…

CountUp.js 实现数字增长动画 Vue

效果&#xff1a; 官网介绍 1. 安装 npm install --save countup.js2. 基本使用 // template <span ref"number1Ref"></span>// script const number1Ref ref<HTMLElement>() onMounted(() > {new CountUp(number1Ref.value!, 9999999).sta…

C语言 | Leetcode C语言题解之第477题汉明距离总和

题目&#xff1a; 题解&#xff1a; int totalHammingDistance(int* nums, int numsSize) {int ans 0;for (int i 0; i < 30; i) {int c 0;for (int j 0; j < numsSize; j) {c (nums[j] >> i) & 1;}ans c * (numsSize - c);}return ans; }

超GPT3.5性能,无限长文本,超强RAG三件套,MiniCPM3-4B模型分享

MiniCPM3-4B是由面壁智能与清华大学自然语言处理实验室合作开发的一款高性能端侧AI模型&#xff0c;它是MiniCPM系列的第三代产品&#xff0c;具有4亿参数量。 MiniCPM3-4B模型在性能上超过了Phi-3.5-mini-Instruct和GPT-3.5-Turbo-0125&#xff0c;并且与多款70亿至90亿参数的…