如何开始 Intra Prediction

原创 2007年09月13日 10:10:00

当我们要进行亮度帧内编码时,我们要知道象素A-M的亮度值,如下所示。

 

 

M A B C D E F G H
I a b c d
J e f g h
K i j  k l
L m n o p


Figure 1 Labelling of prediction samples (4x4)

那当我们进行第一个图片的第一个宏块的第一个4x4的块进行帧内编码,也就是之前还没有已编码的宏块可用,我们是如何得到A-M的值的?

答案:
///////////////////////////////
// make DC prediction
///////////////////////////////
  s0 = 0;
  if (block_available_up && block_available_left)
  {  
    // no edge
    s0 = (P_A + P_B + P_C + P_D + P_I + P_J + P_K + P_L + 4)/(2*BLOCK_SIZE);
  }
  else if (!block_available_up && block_available_left)
  {
    // upper edge
    s0 = (P_I + P_J + P_K + P_L + 2)/BLOCK_SIZE;            
  }
  else if (block_available_up && !block_available_left)
  {
    // left edge
    s0 = (P_A + P_B + P_C + P_D + 2)/BLOCK_SIZE;            
  }
  else //if (!block_available_up && !block_available_left)
  {
    // top left corner, nothing to predict from
    s0 = 128;                

 //搂主问的情况属于这一种,就是没有可用的参考象素时,只能采用这一种方法,将4×4块中的所有象素定为128(代码来源:JM86/lencod/src/block.c(234))                       
  }

  for (j=0; j < BLOCK_SIZE; j++)
  {
    for (i=0; i < BLOCK_SIZE; i++)
    {
      // store DC prediction
      img->mprr[DC_PRED][i][j] = s0;
    }
  }

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

H.264 Intra Prediction

对I宏块编码,不参考其所在的条带之外的任何数据。I宏块可以出现在任何类型的条带中,但是I条带中只能包含I宏块。对I宏块进行编码,只能使用帧内预测方式。对于一个包含亮度或者色度采样点的块,在采样点之间,...

Tensorflow ConfigProto & inter_/intra_op_parallelism_threads 整理

摘自 http://blog.csdn.net/h_jlwg6688/article/details/65441723?locationNum=12&fps=1 1、tensorflow Co...

x264代码剖析(十二):核心算法之帧内预测函数x264_mb_analyse_intra()

x264代码剖析(十二):核心算法之帧内预测函数x264_mb_analyse_intra()           在帧内预测模式中,预测块是基于已编码重建块和当前块形成的,编码器通常选取预测块与...

【HEVC学习与研究】34、HEVC参考软件HM中Intra预测参考像素的获取与管理

Comming soon。。。

H264编码和解码的问题——b intra refresh

选项开启的话,会使用intra refresh技术,就是把I帧分配到每个P帧(结合sei?)里,一条一条发P帧,最后组合成一个I帧。这样的好处是,可以更轻易地保证每个独立的帧的大小都不超过TCP或UD...

x264源代码简单分析:宏块分析(Analysis)部分-帧内宏块(Intra)

本文记录x264的 x264_slice_write()函数中调用的x264_macroblock_analyse()的源代码。x264_macroblock_analyse()对应着x264中的分析...

[Cloud Computing]Patterns: Intra-Storage Device Vertical Data Tiering

Intra-Storage Device Vertical Data Tiering (Erl, Naserpour) How can the dynamic vertical scaling ...

FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧内宏块(Intra)

本文分析FFmpeg的H.264解码器的宏块解码(Decode)部分的源代码。FFmpeg的H.264解码器调用decode_slice()函数完成了解码工作。这些解码工作可以大体上分为3个步骤:熵解...

帧内预测之函数Intra16x16_Mode_Decision的分析与理解

帧内预测之函数Intra16x16_Mode_Decision的分析与理解 2011年9月5日13:47:04 帧内预测之Intra16x16中的4种模式选择 在JM8.6中对应的函数是...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)