图像编码概述
相关概念:
图像采集与ISP
色彩空间,从RGB到YUV。视频工程师发现,眼睛对于亮和暗的分辨要比对颜色的分辨更精细一些,也就是说,人眼对色度的敏感程度要低于对亮度的敏感程度
将数字视频转换为YUV,用4:2:0采样方式获得1/2的压缩率。
所谓编码算法,即寻找规律,构建模型。谁能找到更精准的规律,建立更高效的模型,谁就是厉害的算法。
视频里的冗余信息分类:
| 种类 | 描述 | |
|---|---|---|
| 空间冗余 | 静态图像中存在的主要冗余 | |
| 时间冗余 | 帧序列中相邻帧包含相同的背景或物体 | |
| 构造冗余 | 是不是编码冗余或熵冗余 | |
| 知识冗余 | 由于先验常识导致的信息冗余 | |
| 视觉冗余 | 由于人视觉系统的不完美,察觉不到某些细微的变化,导致比(应忽略人不可察觉细微)理想编码更多的数据 | |
| 其他冗余 |
首先解决空间和时间冗余。
DCT
将N维实数变换为相应的系数,并可逆变换。
一维DCT
F ( u ) = 2 N c ( u ) ∑ i = 0 N − 1 f ( i ) c o s ( ( 2 i + 1 ) u π 2 N ) F(u) = \frac{2}{N}c(u)\sum_{i=0}^{N-1}f(i)cos(\frac{(2i+1)u\pi}{2N}) F(u)=N2c(u)i=0∑N−1f(i)cos(2N(2i+1)uπ)
归一化,
2 N c ( u ) ∑ i = 0 N − 1 f ( i ) c o s ( ( 2 i + 1 ) u π 2 N ) \sqrt{\frac{2}{N}}c(u)\sum_{i=0}^{N-1}f(i)cos(\frac{(2i+1)u\pi}{2N}) N2c(u)i=0∑N−1f(i)cos(2N(2i+1)uπ)
f ( i ) f(i) f(i)相当于数组的索引,表示第i个元素
c ( u ) = 1 ( 2 ) , u = 0 c ( u ) = 1 , u ≠ 0 c(u) = \frac{1}{\sqrt(2)}, u = 0 \\ c(u) = 1, u \not = 0 c(u)=(2)1,u=0c(u)=1,u=0
二维DCT
8x8 2D DCT
F ( u , v ) = c ( u ) 2 c ( v ) 2 ∑ m = 0 7 ∑ n = 0 7 f ( m , n ) c o s ( ( 2 m + 1 ) u π 16 ) c o s ( ( 2 n + 1 ) v π 16 ) F(u,v) = \frac{c(u)}{2}\frac{c(v)}{2} \sum_{m=0}^7\sum_{n=0}^7f(m,n)cos(\frac{(2m+1)u\pi}{16})cos(\frac{(2n+1)v\pi}{16}) F(u,v)=2c(u)2c(v)m=0∑7n=0∑7f(m,n)cos(16(2m+1)uπ)cos(16(2n+1)vπ)
熵编码
熵编码需要离散信号的先验概率分布,该分布称为熵模型。
基于神经网络的编解码,将原始图像x转换为隐特征y,对该特征做熵编码。
注意区分y的边缘分布与熵模型,熵模型是参数化的。
神经网络学习获取估计熵模型的能力,即变分自编码器VAE。
Balle 2017的论文称与VAE相似。
量化
简单理解是从连续变量离散化为离散变量。
例子
JPEG 编码流程

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/20249.html