首页 > 百科 > 数码百科 >

昆明网友问:图像参数调试教程(音开发进阶)不该存在的秘密是什么?

时间:2023-08-01 18:53 来源:网络作者: 小七

简介:在前两篇推文中,我们了解了色彩空间、像素、图像和视频之间的组成关系,并且比较详细的学习了色彩空间 RGB、

【彩奇分享】

在前两篇推文中,我们了解了色彩空间、像素、图像和视频之间的组成关系,并且比较详细的学习了色彩空间 RGB、YUV 的采样&存储格式。今天,我们基于这些内容,再补充一些重要的关联知识。

我们已经知道,像素是图像的基本组成单元,所以对视频图像的存储,实际上是对像素的存储。计算机在处理图像时,需要按一定规则将像素数据从内存中读取出来。这里的“规则”,首先基于色彩的采样 & 存储格式,其规定了色彩分量的“存储顺序”以及“分平面存储逻辑”。但仅知道这些信息,对“单纯”的计算机来说还是不够的,我们必须明确地告诉它:要读取多少字节长度的数据,这里就会引申出 “定量” 的规则。

一、图像位深

由点及面,先从像素开始,了解每个像素在计算机里是如何“定量”存储的,再扩展到视频图像上。要学习这部分内容,先给大家介绍一个新面孔:图像位深

其实,在之前 音频要素 的推文中,我们已接触到 “音频采样位深” 的概念。音频采样位深,指的是用多大的字节空间来存储声音的量化值。一般来说,音频采样位深越大,则声音采样量化的精度越高、失真越少。现在,我们要把位深的概念延伸到视频图像领域。

在视频图像领域,关于位深的概念比较多,诸如:通道位深、像素位深、色彩位深和图像位深等。为了避免混淆,在本文中我们要将相关定义统一一下,并以 RGB 图像举例说明如下。

对于 RGB 图像,如果我们分别使用 8bit (1个字节)来存储色彩空间的各个通道分量,则一个完整的 RGB 像素将占用 3*8 = 24bit 空间(3个字节)。此时,我们称:

通道位深:8bit,表示存储色彩空间的一个分量(通道)需要 8bit 空间;

像素位深:24bit,表示存储一个 RGB 像素需要 24bit 空间。

注:本文中,除非特别说明外,我们提及的图像位深均指像素位深。

需要补充的是,图像位深 24bit 、通道位深 8bit 是比较标准的位深配置,大家可能还会接触到诸如 32bit、16bit、8bit 等图像位深,它们并不是 3 的倍数,无法平摊到 RGB 或者 YUV 的三个通道上。我们应该如何理解这些 “不规则” 的图像位深呢?

其实,我们只要确认到具体的通道位深,就可以比较清晰的理解了,如下:

32bit 图像位深:在 24bit RGB 图像的基础上,增加了一个 8bit 的透明通道 A。比如我们上篇推文提到的 RGBA、BGRA 等等,可以称为 RGBA32、BGRA32;

16bit 图像位深:R、G、B 通道分量,分别使用 5bit、6bit、5bit 通道位深 ,可以称为 RGB565;

8bit 图像位深:R、G、B 通道分量,分别使用 2bit、3bit、3bit 通道位深,可以称为 RGB233。

除上述举例外,还会有诸如 RGBA4444、RGB555 等等情况。当脱离本文范畴,大家在实际应用中接触到图像位深时,仍需要明确其具体含义,究竟是像素位深、还是通道位深、每个通道又是怎么分配的,避免混淆。

现在,让我们再回到图像位深为 24bit 、通道位深为 8bit 的配置上。在该配置下,RGB 的每一个通道分量可表示 2^8 = 256 个值。这意味着,如果仅考虑 R 分量,就会有 256 种深浅不同的红色。以此类推,三个通道综合,即可以得到 (2^8)^3 = 16,777,216 种不同的组合,每种组合表示不同的颜色。这也就是之前的推文中我们说 “RGB 色彩空间可以表示约 1677 万种色彩” 的原因。

显然,图像位深越大,其像素可表示的颜色数量就越多,视频图像的色彩自然也就越丰富、细腻,在色彩渐变处也会更加平滑。有一个比较极端的比喻可以用于帮助理解:试想我们要绘制一幅包含了七色彩虹的画,那么拥有七支不同颜色的画笔(高位深)和 只拥有单颜色的画笔(低位深),在绘制效果上自然会呈现出巨大的差异。

参考下图,分别为同一张图像,在 24bit 位深、8bit 位深(2^8 = 256 种颜色)、 4bit 位深(2^4 = 16种颜色)下的表现。

图像参数调试教程(音开发进阶)(1)

图1:24 bit

图像参数调试教程(音开发进阶)(2)

图2:8

bit

图像参数调试教程(音开发进阶)(3)

图3:4 bit

声明:本文内容仅代表作者个人观点,与本站立场无关。如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排处理