全搜索的H.264编码

 先简单介绍一下,H264是视频编码的一种,H264的编码和MPEG-4其中的运动检索原理很相似。就是让计算机判断两个或者几个画面里面有哪些像相同的像素块(例如一个4×4像素组成的小图片),他们是从哪里运动到哪里,然后记录这个像素块的颜色和他们运动的轨迹,这样就把我们看到的一部电影以很小的体积记录在我们的电脑里面了。

    但是什么叫全搜索的H264编码呢?可以说就是运动检索过程没有优化过的H264编码吧。计算机需要把一帧(视频里面一个静止的画面),分割成4×4一个像素块,然后从前面的某一帧里面所有4×4的像素块里面查找是否有相似的像素块,如果有,就利用高中里面学过的二维坐标判断两个像素块的位移,如果没有相似的像素块,则尝试采用8×8的像素块搜索,如此类推搜索到全屏幕作为一个像素块就称之关键帧。这样就算完成一个动态GOP的编码。(对于手动限制GOP长度的这里不说)

    这样一个编码到底我们身边的计算机要做些什么呢?需要消耗很大很大的运算性能吗?

    首先对于每一次像素块与像素块之间的图像对比,每个像素都要和对应的像素进行颜色的对比,记录颜色中每路通道的差值,并记录这个像素块和参考的所有像素块的统计值供之后编码使用。然后每一帧都要进行各种像素块组合的遍历,算出以最小数据量记录对多图像信息的记录方法。然而像素块的运动参考得出结论之后还要寻找一种记录运动轨迹的方法——就是运动评估,在H264里面,运动评估有好多种,有四面评估的(只能记录垂直运动和水平运动),有六面评估的等等。计算机就要利用每种运动评估尝试记录某个像素块的运动情况,看哪一种运动评估最节省空间。

    哇,大家有么有看得头晕呢?如果把两幅1920*1080分辨率的画面每个像素用YUY2色彩空间编码成12位二进制让一个运算能力超强的人做一次这两个画面的运动检索,正常一天8小时上班时间算,可能要算上好几个月呢。那如果给10幅连拍的照片呢?可能他要把这个重任留给他孙子去完成了。

    今天做了个小实验,算了一下,不过当然不是我来算,是我身边的和Q9770(现在差不多是顶级的家用电脑吧)性能相当的计算机。把一部1920*1080分辨率的未压缩的视频,限制参考范围10帧,只有20秒的视频,但我却无法忍受了,剩余时间显示两小时有多。差不多20秒算一帧吧。太疯狂了,如果要编码一部两小时的电影,哇,我不敢想象了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值