视频重压缩检测学习计划和笔记( 六 )


此外,还可以用于解决视频传输中的网络延迟问题 。例如,在实时视频通信中,可以用来缓存一定数量的帧,以便在网络传输出现延迟时能够保证视频的连续性 。
7 MPM(MostMode)
《in HEVC-coded video with the sameusing》这篇论文中接触到了这个编码信息 。
在HEVC标准中,为了提高帧内预测的精度,采用了更多的预测模式,但这也导致了编码的开销增加 。因此,为了降低帧内编码的开销,需要高效地选择合适的预测模式 。
与H.264/AVC中仅使用一个MPM不同,HEVC为每个预测单元(PU)派生了三个MPM,以提高预测的准确性 。
在MPM的选择过程中,HEVC使用左侧PU的预测模式(PML)和上方PU的预测模式(PMA)来决定当前PU的三个MPM 。具体来说,对于每个PU,HEVC根据左侧PU和上方PU的预测模式,从可行的预测模式中选择三个最可能的模式作为当前PU的MPM 。
这么做的好处是压缩数据节省传输的开销,具体来说,果当前PU的预测模式可以从三个MPMs中选择一个,则只需要将所选的MPM的位置信息发送给解码器即可 。
如果当前PU的预测模式不能从MPMs中选择一个,则需要使用5位编码来表示其余的预测模式 。这个5位的编码表示当前PU所使用的预测模式的编号 。
因此,根据当前PU的预测模式是否能够从MPMs中选择,采用不同的编码方式,可以在保证视频编码质量的同时,尽可能地减小数据传输量,提高编码效率 。
7.1 比特流和码流的区别
比特流()指的是视频编码器输出的二进制数据流,它包含了所有视频帧的编码信息,其中每个比特代表着视频帧的一个信息单元 。比特流中的信息包括了视频帧的像素信息、预测模式、运动矢量、量化参数、码表等等 。

视频重压缩检测学习计划和笔记

文章插图
码流()则是将比特流打包成一个完整的数据流,通常包含帧同步信息和错误检测、纠错码等冗余信息 。在视频传输和存储中,码流经常被用于网络传输和磁盘存储,通常以压缩后的形式出现 。码流的大小通常以比特率()来衡量,即每秒传输的比特数,常见的单位是Mbps(兆比特每秒) 。
因此,比特流和码流都是视频编码后的输出结果,但比特流是原始的二进制数据流,而码流则是经过打包和加入冗余信息的数据流 。
7.2 本文的特征设计(in HEVC-coded video with the sameusing)
理解下这个公式,x和y是PU所在位置,文章说i和j是PU的深度,那就是大小呗,一个32×32的那么i和j就取到31,所以这和CPM好像没区别,准确的说这是PPM,且这里的M指的是帧内预测模式(35种那个) 。
**在帧内预测中,CU可以选择35种帧内预测模式之一,包括模式和其他模式 。而PU则仅可以使用CU选择的预测模式来预测像素的值 。因此,选择哪种帧内预测模式是由CU来决定的 。
**
HEVC视频编码中的预测模式是针对编码单元( Unit, CU)内的每个预测块( Unit, PU)而言的,而不是针对整个CU而言的 。
在HEVC中,CU是视频帧的最小编码单元,一个CU由多个PU组成,每个PU代表了一个预测块 。每个PU可以采用不同的预测模式进行预测,例如帧内预测中的直流(DC)预测、水平(H)预测、竖直(V)预测、向上(U)预测、向下(D)预测等等 。因此,每个PU需要选择一个预测模式进行预测 。
实际上,每个CU都确定了一个预测模式,但是CU的预测模式仅仅用于确定CU内的参考像素,而不是PU内的参考像素 。而PU的预测模式是用于确定PU内参考像素的,因此在HEVC中需要在PU中查找预测模式 。
同时,由于在HEVC中,PU的大小和位置不一定是固定的,可能存在大小和位置不同的PU共存于一个CU中的情况,因此需要在每个PU中查找预测模式,以便选择合适的预测模式进行编码 。