塞内加尔达喀尔 夏洛蒂

 

前言

H264视频压缩算法现在无疑是富有视频压缩技术中运用最广泛,最流行的。随着
x264/openh264以及ffmpeg等开源库的生产,大部分使用者无需再对H264的底细做过多的研商,那大下落了芸芸众生使用H264的资产。

但为了用好H264,我们依旧要对H264的基本原理弄了然才行。明日大家就来看望H264的基本原理。

图片 1

H264概述

H264压缩技术首要选用了以下两种办法对视频数据开展削减。包涵:

  • 帧内预测压缩,解决的是空荡荡数据冗余难题。
  • 帧间预测压缩(运动预计与互补),解决的是时域数据冗徐难题。
  • 平头离散余弦变换(DCT),将空间上的相关性变为频域上毫不相关的数码然后开展量化。
  • CABAC压缩。

经过压缩后的帧分为:I帧,P帧和B帧:

  • I帧:关键帧,选用帧内压缩技术。
  • P帧:向前参考帧,在削减时,只参考前边早已处理的帧。选择帧音压缩技术。
  • B帧:双向参考帧,在调减时,它即参考前而的帧,又参考它背后的帧。选取帧间压缩技术。

除外I/P/B帧外,还有图像种类GOP。

  • GOP:多少个I帧之间是一个图像连串,在一个图像系列中只有一个I帧。如下图所示:

上面大家就来详细描述一下H264压缩技术。

    4月18号

H264压缩技术

H264的基本原理其实相当简单,下大家就概括的讲述一下H264压缩数量的历程。通过摄像头采集到的摄像帧(按每秒
30 帧算),被送到 H264
编码器的缓冲区中。编码器先要为每一幅图片划分宏块。

以上边那张图为例:

 去毕尔巴鄂的途中,有成片的油菜花,即使不多但都很整齐,蒙蒙的细雨给持有的景物都披上了一层薄纱,若隐若现,多条要不停的隧道阻挡了太多的景色,可众多要过的高架桥又让自身看看了俯瞰的增加,每一遍外出,为了节省时间我都会拔取夜间行进的车,可黑暗的夜晚让自家错过了沿途众多的美景

分开宏块

H264默许是行使 16X16 大小的区域作为一个宏块,也可以分开成 8X8 大小。

分割好宏块后,总计宏块的象素值。

以此类推,总计一幅图像中各样宏块的像素值,所有宏块都处理完后如上面的指南。

    4月19号

划分子块

H264相比较较平缓的图像使用 16X16 大小的宏块。但为了更高的压缩率,还足以在
16X16 的宏块上更划分出更小的子块。子块的轻重可以是 8X16、 16X8、 8X8、 4X8、
8X4、 4X4万分的灵活。

上幅图中,红框内的 16X16
宏块中大部是灰色背景,而三只鹰的片段图像被划在了该宏块内,为了更好的处理三只鹰的一部分图像,H264就在
16X16 的宏块内又分开出了八个子块。

如此这般再经过帧内压缩,可以获取更高效的数据。下图是独家拔取mpeg-2和H264对地点宏块举行压缩后的结果。其中左半有的为MPEG-2子块分割后减去的结果,右半部分为H264的子块划压缩后的结果,可以看来H264的细分方法更具优势。

宏块划分好后,就能够对H264编码器缓存中的所有图片展开分组了。

 
在本人的纪念里,马赛看成西北的一有些,是比较粗旷干旱的,因为中学地理里的黄土高原多个字实在是太深入人心了,就算不是路线布署第一站是贝尔法斯特最合适我是不会来此处的,我也绝非想过要到Raleign来,因为自身恐惧一刮风就如郑州那么满天的灰土,在坐动车来的途中我一直不见到那个所谓的土地荒漠化,一座座山上和岭上都被草木覆盖着,正值青春,一切都显得那么有活力,有种在身在西北的错觉。
   
不知是万幸如故不幸,我在的那二日德雷斯顿都在降水,下下停停,白露让那一个古镇的百分之百都来得那么年轻,没有高温,没有风沙,有点湿润,舒服极了。那座都市让自己最奇怪的是他的绿化面积,我一贯觉得清远的城市绿化面积就够大了,可那里,让我实在的观望了何等是大面积的绿化带,在我看来,这座城池可以毫不被称作西南干旱地区了,夏洛特的蒸蒸日上,同样也不曾让自身想开,南陈涤纶之路的源点,果真是不容小觑.

帧分组

对于摄像数据主要有两类数据冗余,一类是时刻上的数额冗余,另一类是空中上的多少冗余。其中时间上的多少冗余是最大的。上面大家就先来说说视频数据时间上的冗余难题。

为何说时间上的冗余是最大的啊?借使视频头每秒抓取30帧,那30帧的数据大多数景观下都是相关联的。也有可能不止30帧的的数目,可能几十帧,上百帧的数目都是事关越发细心的。

对此那些涉及尤其仔细的帧,其实大家只须要保留一帧的数目,其余帧都可以经过这一帧再按某种规则预测出来,所以说视频数据在岁月上的冗余是最多的。

为了已毕相关帧通过预测的方法来裁减数量,就需求将摄像帧举办分组。那么什么样判定某些帧关系密切,可以划为一组呢?大家来看一下例证,上边是捕获的一组运动的弹子的摄像帧,台球从右上角滚到了左下角。

H264编码器会按顺序,每一次取出两幅相邻的帧进行宏块比较,总括两帧的相似度。如下图:

因而宏块扫描与宏块搜索能够发现那三个帧的关联度是分外高的。进而发现这一组帧的关联度都是至极高的。由此,下边这几帧就足以划分为一组。其算法是:在邻近几幅图像画面中,一般有距离的像素唯有10%之内的点,亮度差值变化不超过2%,而色度差值的变动唯有1%之内,大家认为这么的图可以分到一组。

在如此一组帧中,经过编码后,大家只保留第一帖的一体化数据,此外帧都通过参考上一帧计算出来。大家称第一帧为IDR/I帧,别的帧大家称为P/B帧,那样编码后的数量帧组大家誉为GOP

(在去兵马俑景区的公交车上,有一个女人坐在老幼病残的交椅上,上来一个老太太就站在她的身边,可他像没事人一样坐在那里没有让座,那多少个坐在座位上的常青妇女始终满不在乎,面不改色,我看不起的看了她一些眼,可他照旧神仙般的坐在那里,而不行老太太直到有位长辈下车他才坐上,我随便这么些年轻妇女是怎么理由坐在那里,她的那种表现给惠灵顿公民抹黑了,更把中华夏族的素质给拉低了
!)

移步估摸与互补

在H264编码器元帅帧分组后,就要统计帧组内物体的运动矢量了。还以上边运动的台球摄像帧为例,大家来看一下它是怎么着计算运动矢量的。

H264编码器首先按梯次从缓冲区头顶取出两帧视频数据,然后举办宏块扫描。当发现其间一幅图片中有实体时,就在另一幅图的濒临地点(搜索窗口中)举办检索。如果此刻在另一幅图中找到该物体,那么就足以测算出物体的活动矢量了。上面这幅图就是寻找后的弹子移动的职务。

通过上图中台球地方距离,就足以测算出台图运行的主旋律和距离。H264依次把每一帧中球移动的相距和方向都记录下来就成了下边的旗帜。

移动矢量统计出来后,将一如既往部分(也就是紫色部分)减去,就获取了增补数额。咱们最终只须要将补充数额进行压缩保存,未来在解码时就足以过来原图了。压缩补偿后的数量只需求记录很少的一点数目。如下所示:

大家把活动矢量与互补称为帧间减弱技术,它解决的是视频帧在时光上的多少冗余。除了帧间精减,帧内也要拓展数据压缩,帧内数据压缩解决的是空中上的多寡冗余。下边大家就来介绍一下帧内压缩技术。

 
到了兵马俑博物馆订票,学生半价75元,那地点很大,要走一会才到遗址,那一路上的山色是丰盛美的,有过一场雨的滋润后让总体显示更美了,兵马俑一号坑是面积最大的,可知到东西才认为那样多年本人都是被教科书和TV给骗了,我常有没看出来有怎样气势磅礴,很多陶俑都已碎掉,是后来一点点粘上的,而这么些木制的马车和兵器木把早已腐朽的找不到痕迹,参观完兵马俑和秦始帝王陵当成让我长见识了,讲解员说她不是一位暴君,而是一位伟人的暴君!当时的社会气象必必要用强硬的手段来治理,他联合六国后所面临的标题是那多少个多的,而这么些难题也急需些分外手段,他联合六国,统一文字,统一货币,这些都为明日的炎黄奠定了巩固的基本功,很心痛他只活到50多岁,他就此要为自己建造庞大的不合规王陵是因为她觉得驾鹤归西不是终端,而是一个历程,他要在不合法继续享福,有本事打下一个朝代,那享受也是自然的,说他暴政,其实也不然,他一旦的确没有人性,那么大家前些天观察的就不是伫立在那的一个个陶俑,而是一堆堆的骸骨,即便他死后也有妃嫔和民工为其陪葬,但本身后天看来,这一体并可是分,当之无愧的千古一帝。

帧内预测

人眼对图象都有一个识别度,对低频的亮度很灵活,对反复的亮度不太敏感。所以据悉一些研商,可以将一幅图像中人眼不灵敏的数额去除掉。那样就提议了帧内预测技术。

H264的帧内压缩与JPEG很相似。一幅图像被细分好宏块后,对每个宏块可以拓展 9
种方式的预测。找出与原图最相仿的一种预测格局。

上面那幅图是对整幅图中的每个宏块举行展望的长河。

帧内预测后的图像与原来图像的自查自纠如下:

下一场,将原始图像与帧内预测后的图像相减得残差值。

再将大家事先得到的展望形式音信一起保存起来,那样我们就足以在解码时上涨原图了。效果如下:

通过帧内与帧间的回落后,就算数额有大幅减弱,但还有优化的上空。

 
 我所观察的那么些城市的紧缺,那就是夜间的路灯,实在是太暗,而且有那个是不亮的,我不精晓设计者是或不是就为了这种朦朦胧胧的感觉,所以才会这么,但本身照旧认为如故亮点好,要不然夜景真没什么雅观的。上午七点多,在青旅打了会台球,实在没意思,于是就打算出去坐公交看看夜景,306路双层巴士,坐在上层靠窗的岗位,居高临下,看那多少个匆匆忙忙赶路的车和人,从起点坐到终点,望着外面的风景,听着外面的声响,尽情的感受着那座城市的魅力,从极限坐到源点,如故坐在上层靠窗的职分,戴上耳麦,来点慢节奏的音乐,把声音调大一些,大到听不到除音乐以外的响动,望着窗外匆匆而过的凡事,什么都不想,只沉浸在音乐中,那样何尝不是一种浪漫?!

对残差数据做DCT

可以将残差数据做整数离散余弦变换,去掉数据的相关性,进一步回落数量。如下图所示,左边为原数据的宏块,右边为总结出的残差数据的宏块。

将残差数据宏块数字化后如下图所示:

将残差数据宏块举行 DCT 转换。

去掉相关联的数码后,大家可以看到数据被越来越收缩了。

做完 DCT 后,还不够,还要举行 CABAC 进行无损压缩。

 
 在沈阳的回民街,我吃到了正宗的肉夹馍和羊肉泡馍,可自己觉着最鲜美的是在秦始王陵买个可怜烤地瓜,黄土地里生长出来的事物,味道真是没的说!
   
 都说鼓楼是古镇罗利最合适的地标,可看完之后真的没什么好的,让我触动的是里面钟鼓乐的上演,中国文化的博雅从此处演绎的淋漓,钟楼的夜景还不易,晕黄的灯光在体现着另一种美,钟楼所作为商洛市的主干地方,她所对应的四条道路万分宽阔,也分外繁忙,所要经过的车子匆匆忙忙,而经过的这一个人却是悠然自得,他们走走停停,在他们感兴趣的地方驻足,而让我停留下来的,是背靠钟楼,面向开元商城的多个小伙,一个打手鼓,一个弹着吉他唱着歌,他们在上演,我不觉得是卖唱,即使她们后面摆着琴盒,即使有人往里面“扔”钱,可自我依然把它当作是演唱会,四个怀抱音乐梦想的后生,在向第三者诉说着他们的梦想,而他们的歌声,根本不亚于那几个所谓的歌唱家,他们是人流中最亮的星星点点,梦想的光环在炫耀着他们。本来我是想往他们琴盒里“放”一元的,可我所听的第三首歌竟是郝云的《活着》
,让本来要挪步离开的本身又停下来,那是我可怜欣赏的一首歌,即使他们的曲调和郝云唱的略微不雷同,可在她们的声响里,我就像是我听见了越多的事物,他们是在用此外一种当时向大家演绎着所谓的企盼和具体,他们是让自家羡慕的,因为我也期盼能有一天和他们相同,弹着吉他唱着歌,不为其余,只为感受那种美好,离开的时候,我往他们的琴盒里放了五元钱,看演唱会总是要订票的,何况是如此美观的上演,他们在做着我想做却又没做的事,感谢这四个青年

CABAC

上边的帧内压缩是属于有损压缩技术。也就是说图像被削减后,不可能完全恢复生机。而CABAC属于无损压缩技术。

无损压缩技术大家最熟识的或是就是哈夫曼编码了,给高频的词一个短码,给低频词一个长码从而达到数据压缩的目标。MPEG-2中应用的VLC就是那种算法,大家以
A-Z 作为例子,A属于高频数据,Z属于低频数据。看看它是哪些做的。

CABAC也是给高频数据短码,给低频数据长码。同时还会根据上下文相关性举行压缩,那种方法又比VLC高效很多。其意义如下:

当今将 A-Z 换成视频帧,它就成了下边的楷模。

从地点那张图中肯定可以看到拔取 CACBA 的无损压缩方案要比 VLC 高效的多。

     4月20号

小结

至今,大家就将H264的编码原理讲完了。本篇小说首要讲了以下以点内容:

  1. 简音介绍了H264中的一些基本概念。如I/P/B帧, GOP。
  2. 详见讲解了H264编码的基本原理,蕴涵:
  • 宏块的划分
  • 图像分组
  • 帧内压缩技术原理
  • 帧间回落技术原理。
  • DCT
  • CABAC压缩原理。

梦想以上内容能对你抱有帮忙。谢谢!

 
 这几天就住在城墙边的私塾青年旅馆里,一家那么些棒的青旅。下午九点多就醒了,明天尚无安插,因为12点事先要退房,想再睡一觉到11点再起来,可睡不着,刷了一小时的微博,11点起床洗漱收拾东西,办理完退房手续,买了些明信片,然后坐在3号庭院的沙发上挨到一点多,可肚子在对抗,背着包走吧,走了一站路到达钟楼附近,进了家面馆,味千拌面,我要了最便宜的,还要25元,量就那么一些,而且店里的餐巾纸是收费的!奸商!现在自我正坐在这家店里写着日志!

                                           二零一五年7月于塞内加尔达喀尔

                                                 我是sl姚想未来

图片 2