之前有牛人可以在视频播放时候在草地或者墙上插入任意广告。
今天在看代码时,突然想到,是否可以利用解码过程中的信息快速找到平坦的区域呢?
在桢内预测时,16x16的亮度预测意味着这块区域比较平坦。
桢间预测,大的分割宏快也意味着比较平坦,而且如果运动矢量很小,那么基本上可以确定这块区域是平坦的物体,
请看下面的例子
关注那个红色的框框。这个是I桢的时候,预测模式是I_16x16_2_1_1
下面在看P桢的时候
分割方式还是16x16,预测模式是Skip
再看有东西遮挡住的时候
可以看到分割方式是16x8.
因此利用MB的信息可以很好的分辨出平坦的地方。
但是要想贴出完美的效果,还要分析那块地方的深度,这样贴出的广告才会有立体感,才会无缝的融入视频中。
深度信息这个还没想到如何获取。有兴趣的大牛可以出个思路 ;)