3723
- 收藏
- 点赞
- 分享
- 举报
H.264视频编码算法的认识与理解
H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。这个标准通常被称之为H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC)而明确的说明它两方面的开发者。
H264标准各主要部分有Access Unit delimiter(访问单元分割符),SEI(附加增强信息),primary coded picture(基本图像编码),Redundant Coded Picture(冗余图像编码)。还有Instantaneous Decoding Refresh(IDR,即时解码刷新)、HypotheTIcal Reference Decoder(HRD,假想参考解码)、HypotheTIcal Stream Scheduler(HSS,假想码流调度器)。
H.264视频编码优势
1.低码率(Low Bit Rate):和MPEG2和MPEG4 ASP等压缩技术相比,在同等图像质量下,采用H.264技术压缩后的数据量只有MPEG2的1/8,MPEG4的1/3。
2.高质量的图像:H.264能提供连续、流畅的高质量图像(DVD质量)。
3.容错能力强:H.264提供了解决在不稳定网络环境下容易发生的丢包等错误的必要工具。
4.网络适应性强:H.264提供了网络抽象层(Network AbstracTIon Layer),使得H.264的文件能容易地在不同网络上传输(例如互联网,CDMA,GPRS,WCDMA,CDMA2000等)。
解码原理
首先解析码流的头数据,获取编码图像的有关参数,包括帧编码类型(I/P)、图像宽度或高度等,后续就是以宏块为单位循环解码,图中的阴影框表示以宏块为处理单元循环执行。熵解码是可变长编码VLC的逆操作,即VLD。H.263/MPEG-1/2/4是Huffman熵解码,即通常意义上的VLD,而H.264则是采用了算术解码,又包括CAVLD、CABAD。另外,
对于帧间编码的宏块,解码器还要解析出当前宏块的运动向量。熵解码后是反量化操作,反量化就是量化结果乘以量化步长,对于不同的解码算法又有不同的反量化处理,H.263采用了32级的均匀量化,即宏块数据采取一个量化步长;MPEG-4除了支持H.263的均匀量化外,还增加了量化表的处理方式;H.264采用了52级的均匀量化方式。反量化处理后,进行反变换IDCT,对H.263/MPEG-1/2/4采取了8&TImes;8块的浮点式IDCT,H.264采取了4×4的整数ICT。运动补偿是解码器中的重点,占用了约60%以上的计算负荷,这是因为码流统计中帧间编码为主要的编码类型,而与之对
应的处理就是插值运动补偿,根据从码流中解析的运动向量信息,定位参考帧的确切位置,然后计算1/2、1/4像素精度的插值,最后把结果补偿(加)到重建帧中。解码器中的最后处理是可选的去除块效应(MPEG-4)、环路滤波(H.264)、图像扩展等。
H.264视频编码特点
1.更高的编码效率:同H.263等标准的特率效率相比,能够平均节省大于50%的码率。
2.高质量的视频画面:H.264能够在低码率情况下提供高质量的视频图像,在较低带宽上提供高质量的图像传输是H.264的应用亮点。
3.提高网络适应能力:H.264可以工作在实时通信应用(如视频会议)低延时模式下,也可以工作在没有延时的视频存储或视频流服务器中。4.采用混合编码结构:同H.263相同,H.264也使用采用DCT变换编码加DPCM的差分编码的混合编码结构,还增加了如多模式运动估计、帧内预测、多帧预测、基于内容的变长编码、4x4二维整数变换等新的编码方式,提高了编码效率。
5.H.264的编码选项较少:在H.263中编码时往往需要设置相当多选项,增加了编码的难度,而H.264做到了力求简洁的“回归基本”,降低了编码时复杂度。
6.H.264可以应用在不同场合:H.264可以根据不同的环境使用不同的传输和播放速率,并且提供了丰富的错误处理工具,可以很好的控制或消除丢包和误码。
7.错误恢复功能:H.264提供了解决网络传输包丢失的问题的工具,适用于在高误码率传输的无线网络中传输视频数据。
8.较高的复杂度:264性能的改进是以增加复杂性为代价而获得的。据估计,H.264编码的计算复杂度大约相当于H.263的3倍,解码复杂度大约相当于H.263的2倍。
H.264视频编码算法四大优势
1、将每个视频帧分离成由像素组成的块,因此视频帧编码处理的过程可以达到块的级别。
3、对连续帧的不同块采用临时存放的方法,这样,只需对连续帧中有改变的部分进行编码。该算法采用运动预测和运动补偿来完成。对某些特定的块,在一个或多个已经进行了编码的帧执行搜索来决定块的运动向量,并由此在后面的编码和解码中预测主块。
2、采用空间冗余的方法,对视频帧的一些原始块进行空间预测、转换、优化和熵编码(可变长编码)。
4、采用剩余空间冗余技术,对视频帧里的残留块进行编码。例如,对于源块和相应预测块的不同,再次采用转换、优化和熵编码。
H264标准各主要部分有Access Unit delimiter(访问单元分割符),SEI(附加增强信息),primary coded picture(基本图像编码),Redundant Coded Picture(冗余图像编码)。还有Instantaneous Decoding Refresh(IDR,即时解码刷新)、HypotheTIcal Reference Decoder(HRD,假想参考解码)、HypotheTIcal Stream Scheduler(HSS,假想码流调度器)。
H.264视频编码优势
1.低码率(Low Bit Rate):和MPEG2和MPEG4 ASP等压缩技术相比,在同等图像质量下,采用H.264技术压缩后的数据量只有MPEG2的1/8,MPEG4的1/3。
2.高质量的图像:H.264能提供连续、流畅的高质量图像(DVD质量)。
3.容错能力强:H.264提供了解决在不稳定网络环境下容易发生的丢包等错误的必要工具。
4.网络适应性强:H.264提供了网络抽象层(Network AbstracTIon Layer),使得H.264的文件能容易地在不同网络上传输(例如互联网,CDMA,GPRS,WCDMA,CDMA2000等)。
解码原理
首先解析码流的头数据,获取编码图像的有关参数,包括帧编码类型(I/P)、图像宽度或高度等,后续就是以宏块为单位循环解码,图中的阴影框表示以宏块为处理单元循环执行。熵解码是可变长编码VLC的逆操作,即VLD。H.263/MPEG-1/2/4是Huffman熵解码,即通常意义上的VLD,而H.264则是采用了算术解码,又包括CAVLD、CABAD。另外,
对于帧间编码的宏块,解码器还要解析出当前宏块的运动向量。熵解码后是反量化操作,反量化就是量化结果乘以量化步长,对于不同的解码算法又有不同的反量化处理,H.263采用了32级的均匀量化,即宏块数据采取一个量化步长;MPEG-4除了支持H.263的均匀量化外,还增加了量化表的处理方式;H.264采用了52级的均匀量化方式。反量化处理后,进行反变换IDCT,对H.263/MPEG-1/2/4采取了8&TImes;8块的浮点式IDCT,H.264采取了4×4的整数ICT。运动补偿是解码器中的重点,占用了约60%以上的计算负荷,这是因为码流统计中帧间编码为主要的编码类型,而与之对
应的处理就是插值运动补偿,根据从码流中解析的运动向量信息,定位参考帧的确切位置,然后计算1/2、1/4像素精度的插值,最后把结果补偿(加)到重建帧中。解码器中的最后处理是可选的去除块效应(MPEG-4)、环路滤波(H.264)、图像扩展等。
H.264视频编码特点
1.更高的编码效率:同H.263等标准的特率效率相比,能够平均节省大于50%的码率。
2.高质量的视频画面:H.264能够在低码率情况下提供高质量的视频图像,在较低带宽上提供高质量的图像传输是H.264的应用亮点。
3.提高网络适应能力:H.264可以工作在实时通信应用(如视频会议)低延时模式下,也可以工作在没有延时的视频存储或视频流服务器中。4.采用混合编码结构:同H.263相同,H.264也使用采用DCT变换编码加DPCM的差分编码的混合编码结构,还增加了如多模式运动估计、帧内预测、多帧预测、基于内容的变长编码、4x4二维整数变换等新的编码方式,提高了编码效率。
5.H.264的编码选项较少:在H.263中编码时往往需要设置相当多选项,增加了编码的难度,而H.264做到了力求简洁的“回归基本”,降低了编码时复杂度。
6.H.264可以应用在不同场合:H.264可以根据不同的环境使用不同的传输和播放速率,并且提供了丰富的错误处理工具,可以很好的控制或消除丢包和误码。
7.错误恢复功能:H.264提供了解决网络传输包丢失的问题的工具,适用于在高误码率传输的无线网络中传输视频数据。
8.较高的复杂度:264性能的改进是以增加复杂性为代价而获得的。据估计,H.264编码的计算复杂度大约相当于H.263的3倍,解码复杂度大约相当于H.263的2倍。
H.264视频编码算法四大优势
1、将每个视频帧分离成由像素组成的块,因此视频帧编码处理的过程可以达到块的级别。
3、对连续帧的不同块采用临时存放的方法,这样,只需对连续帧中有改变的部分进行编码。该算法采用运动预测和运动补偿来完成。对某些特定的块,在一个或多个已经进行了编码的帧执行搜索来决定块的运动向量,并由此在后面的编码和解码中预测主块。
2、采用空间冗余的方法,对视频帧的一些原始块进行空间预测、转换、优化和熵编码(可变长编码)。
4、采用剩余空间冗余技术,对视频帧里的残留块进行编码。例如,对于源块和相应预测块的不同,再次采用转换、优化和熵编码。
我来回答
回答5个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2015-03-09 16:56:23
-
252014-12-29 14:49:27
-
2017-05-04 15:20:15
-
82017-12-07 16:55:14
-
2018-07-04 14:54:32
-
2014-10-25 08:36:59
-
2019-07-30 14:17:41
-
2014-04-08 14:51:28
-
2016-12-08 13:04:57
-
2021-05-26 18:28:46
-
2021-01-11 15:38:38
-
2018-06-22 11:31:34
-
2014-12-05 13:59:15
-
2020-10-06 12:06:08
-
2018-07-06 17:55:06
-
2009-03-13 08:22:02
-
2016-05-12 15:24:00
-
2014-12-05 13:55:19
-
2020-08-18 10:50:14
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认