在音视频领域,JPEG编码是最常用的图像编码格式。 接下来的几篇文章将从JPEG图像编码开始,到视频编解码,学习和总结音视频的编码原理,以及相关的文件协议。 现在让我们先输入jpeg编码。

1. JPEG有损编解码器简介

代码颜色怎么写进去_球球代码颜色_颜色代码

jpeg有损编解码过程

如上图所示,是jpeg编码和解码的流程图。 图片编码:离散余弦变换->量化->熵编码,图片解码:熵解码->逆量化->逆离散余弦变换。

颜色代码_代码颜色怎么写进去_球球代码颜色

有损编码数据流

如上图所示,有损编码的数据处理过程。 损失主要是在量化阶段引入的,因为量化是不可逆的。

2. 图像分割

在JPEG算法的第一步中,图像被分成大小为8X8的小块,并且在整个压缩过程中对这些小块进行单独处理。

颜色代码_代码颜色怎么写进去_球球代码颜色

输入图像分割

颜色代码_代码颜色怎么写进去_球球代码颜色

分割数据

3. 色彩空间转换

JPEG编码的第二步是进行色彩空间转换,将待编码的输入图像转换为统一的色彩格式。 所谓色彩空间是指表达色彩的数学模型。 例如,我们常见的“RGB”模型将颜色分解为红、绿、蓝三个分量,这样一张图片就可以分解为三张灰度图。 从数学表达上来说,每个8X8图案可以表示为三个8X8矩阵,其数据分别为R、G、B。取值范围一般在[0,255]之间。 在JPEG压缩算法中,需要将图案转换为YCbCr模型,其中Y代表亮度(),Cb和Cr分别代表绿色和红色的“色差值”。

球球代码颜色_代码颜色怎么写进去_颜色代码

RGB/YCbCr转换公式

为什么JPEG编码采用YCbCr模型? 对于人眼来说,图像中明暗的变化更容易感知,这是由人眼的结构造成的。 视网膜上有两种类型的感光细胞:可以感知亮度变化的杆细胞和可以感知颜色的视锥细胞。 由于视杆细胞的数量比视锥细胞多得多,因此我们可以更容易地感知明暗细节。 有损压缩首先要做的就是“将重要信息与不重要信息分离”,尽量保留重要信息,删除不重要信息,以达到压缩的目的。 基于YCbCr颜色模型的特点,亮度和色差可以分别表示。 这样,在编码时,可以聚焦人眼敏感的亮度分量,而可以部分丢失不敏感的色差分量。

代码颜色怎么写进去_球球代码颜色_颜色代码

YC分离

从上图可以明显看出,从图片的YC分离来看,亮度图的细节更加丰富,人眼更加敏感。 JPEG将图像转换为YCbCr后,可以根据数据的重要性进行不同的处理。

好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注