H 264中IPCM宏块简介

               

       在H.264中,一个宏块包括16*16个像素,I宏块有三种形式:

       1. 16个I4x4编码方式组成的宏块(为了方便,简称I4x4方式的宏块);

       2. I16x16宏块;

       3. IPCM宏块(特殊)

       为什么一个宏块有时要分成16个I4x4方式的宏块呢?因为分块越细,就越准确,所以I4x4编码方式适合编码那些纹理比较复杂的宏块,而I16x16编码方式就更加笼统,适合编码那些比较平滑的区域. 在实验中也可以看出来,用JM8.6编码foreman视频,用H.264visa分析码流,可以发现,在第一帧中,只有5个I16x16宏块,而这5个宏块所在区域都非常平坦,像素值几乎没有什么差异.

      最特别的是IPCM宏块,这种宏块的脾气很古怪:不预测,没残差,不变换,无量化等操作,而是直接传像素值,直接将最原始的yuv数据写入到码流中,可见IPCM的信息不会有任何损失,是完全无损的. 如果将视频的所有宏块都编码成IPCM宏块,那么H.264就是一个无损编码,当然,在现实中,很少有人这么做. 那么,为什么要引入IPCM宏块呢?原因如下:

      (1). 在某些特别的情况下(这种情况极少),某种编码方式并不是data compressor而是data expander,这时候,与其进行复杂的变换,还不如直接传输原始yuv数据;

      (2). 传输宏块所需要的代价有了一个上限,最大限度不得超过IPCM编码方式;

      (3).  该宏块可以实现无失真传输,从理论上来讲,H.264可以实现无失真传输.

扫描二维码关注公众号,回复: 5098805 查看本文章

      最后闲聊一句:一般来说,如果视频的静止区域少,那么,在视频中,I4x4方式的宏块数目 > I16x16宏块的数目 > IPCM宏块的数目.

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/ugfffj/article/details/86620850