H.264编解码

实验要求:

一: 将自行选择或老师给的两个264文件进行解码,得到相应的YUV文件
二:将上述两个视频序列编码为.264文件
      1.固定码率,以不同的GOP长度及形状编码
            ·GOP=15,2B帧;GOP=12,2B帧,GOP=9,2B帧
            ·GOP=4,1B帧;GOP=12,无B帧;GOP=1,全I帧
      2.相同的GOP长度及形状,不同的码率
            例:1000kb/s, 800kb/s,400kb/s,…
三: 用码流分析软件检查所生成的码流中各种编码模式和运动矢量等信息
四: 用播放器观看所生成码流的质量
五: 生成率失真曲线

实验内容:

一、将.264文件解码得到YUV文件
修改decoder.cfg文件
在这里插入图片描述运行Idecod.exe完成解码,生成yuv文件
在这里插入图片描述
在这里插入图片描述

二、将yuv文件编码为.264文件

  • 以GOP=15,2B帧为例
    修改encoder.cfg如下:
##########################################################################################
# Files
##########################################################################################
InputFile             = "highway_qcif_dec.yuv"       # Input sequence
InputHeaderLength     = 0      # If the inputfile has a header, state it's length in byte here
StartFrame            = 0      # Start frame for encoding. (0-N)
FramesToBeEncoded     = 30      # Number of frames to be coded
...
OutputFile            = "highway_qcif_GOP15_2B_1k.264"           # Bitstream

##########################################################################################
# Encoder Control
##########################################################################################
IntraPeriod           = 15   # Period of I-pictures   (0=only first)

##########################################################################################
# B Slices
##########################################################################################
NumberBFrames          = 2  # Number of B coded frames inserted (0=not used)
...
HierarchicalCoding      =  0  # B hierarchical coding (0= off, 1= 2 layers, 2= 2 full hierarchy, 3 = explicit)

########################################################################################
#Rate control
########################################################################################
RateControlEnable       = 1     # 0 Disable, 1 Enable
Bitrate                 = 1000000 # Bitrate(bps)

在这里插入图片描述

  • GOP=1,全I帧
IntraPeriod           = 1   # Period of I-pictures   (0=only first)
NumberBFrames          = 0  # Number of B coded frames inserted (0=not used)
RCUpdateMode            = 1     # Rate Control type. Modes supported :
                                # 0 = original JM rate control,
                                # 1 = rate control that is applied to all frames regardless of the slice type,
                                # 2 = original plus intelligent QP selection for I and B slices (including Hierarchical),
                                # 3 = original + hybrid quadratic rate control for I and B slice using bit rate statistics

在这里插入图片描述

三: 用码流分析软件检查所生成的码流中各种编码模式和运动矢量等信息
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
H.264的特点:
(1)帧内预测
在空间域进行帧内预测,提高帧内编码的精确度;
(2)运动估计与运动补偿
不同尺寸的块和形状,高分辨率的子像素;运动估计和选择多个参考帧;
(3)DCT变换
使用整数的DCT变换
(4)去块效应滤波
为消除块效应,增加了自适应消块滤波器
(5)熵编码技术
通用变长编码(UVLC, universal variable length coding)、基于上下文的自适应变长码编码(CAVLC, context-based adaptive variable length coding)或基于上下文的自适应二进制算术编码(CABAC, context-based adaptive binary arithmetic coding)。

H.264采用帧内预测编码和帧间预测编码,对于预测的宏块,重建值=预测值+残差
以GOP=15,1B,1kbps为例

根据图像内容的变化程度选择不同大小的块进行编码:
在这里插入图片描述
对于每一帧的图像:在这里插入图片描述
图像的基本信息
在这里插入图片描述在这里插入图片描述
预测及重构值:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

I帧中无运动矢量:
在这里插入图片描述
P帧有前向预测:
在这里插入图片描述
B帧有双向预测:
在这里插入图片描述
其中,绿色为前向预测,红色为后向预测

四: 用播放器观看所生成码流的质量

速率\类型GOP=15 2BGOP=12 2BGOP=9 2BGOP=4 1BGOP=12 0BGOP=1 全I
1000在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
800在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
400在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

使用相关软件查看生成视频

速率\类型GOP=15 2BGOP=12 2BGOP=9 2BGOP=4 1BGOP=12 0BGOP=1 全I
1000在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
800在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
400在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

五: 生成率失真曲线
Y:PSNR(dB)在这里插入图片描述
折线图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值