对于dvr而言,编解码模块基本上无需考虑硬件的电路连接使用,因为都是内嵌到主控芯片内的。所以,概述一下使用思路跟方法,具体的使用根据各个平台的文档说明即可。
首先看下面两张图,图一可以看到,真实的264/265编码是会将一帧视频分解为一个个宏块(16X16/64X64),每个宏块因地制宜,当前宏块所需要的最少信息量还可以继续细分到4X4像素,如何判断是用大像素宏块还是小像素宏块呢?通常平台区域会使用大像素的宏块,精细区域会选择小像素宏块。
分解宏块的意义在哪里呢?
这里就要引申出参考帧的概念了,我们代码可以看到,第一帧跟第二帧,有些宏块是没有发生变化的,则第二帧的这些宏块可以完全用第一帧来替代,所以第二帧对应的宏块的信息值可以近似为0(所以这些占的码流值很小),而那些变化了的宏块,则可以通过mv(运动搜索)等方式找到最接近替代它的宏块,但信息并不完全相同,会产生原始帧跟参考帧宏块的一点点微小