大家好,欢迎来到IT知识分享网。
图像编码概述
将数字视频转换为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π)
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
熵编码
熵编码需要离散信号的先验概率分布,该分布称为熵模型。
量化
简单理解是从连续变量离散化为离散变量。
例子
JPEG 编码流程
JPEG 2000
视频编码
H264
x264代码
- 主函数:初始化参数
x264_param_t
,根据参数分配帧等内。
C语言
#define x264_encoder_glue1(x,y) xy
质量评价
编码效果的评价包括主客观评价和客观评价。
客观评价指标
- 峰值信噪比( peak signal noise ratio)
P S N R = 10 l g [ ( 2 n − 1 ) M S E ] PSNR = 10lg[\frac{(2^n-1)}{MSE}] PSNR=10lg[MSE(2n−1)]
MSE为原图与编解码后图像的像素差的均方差;工程中首先求各张图像的MSE,再求多个数值的均值。 - structural similarity
国际标准
AI-codec
编码参数
GPU并行编解码
https://stackoverflow.com/questions//gpu-accelerated-video-processing-with-ffmpeg
参考
- 数字视频编码技术原理
- A Concise Introduction to Data Compression ISBN-28
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/140460.html