
JM
wh8_2011
这个作者很懒,什么都没留下…
展开
-
Quantization Techniques in JM/KTA – Part 2
2. Principle of H.264/AVC Normal Quantization Scheme2.1. Scalar dead-zone quantizationIn this section the principle of H.264/AVC normal quantization scheme is described in a generalized form.转载 2017-06-23 16:45:33 · 402 阅读 · 0 评论 -
JM8.6中的encode_one_macroblock注释
下面是在阅读JM8.6的过程中,对encode_one_macroblock的注释。/*! ************************************************************************************* * \brief * Mode Decision for a macroblock *转载 2017-06-25 15:25:45 · 643 阅读 · 0 评论 -
解码器输出PSNR为0表示什么
我想很多朋友在解码器输出时都会看到PSNR等于0的情况,这代表了什么意思呢?这表示你解码得到的图像和参考图像是一致的。下面基于baseline的情况详细说明一下。 首先看ldecod.c中的main()函数init_conf(input, argv[1]);…img->idr_psnr_number=input->ref_offset;显然这边的转载 2017-06-23 16:52:47 · 766 阅读 · 0 评论 -
JM8.6的解码端去方块滤波代码详述
这部分在标准的8.7 Deblocking filter process有详细的描述,技术白皮书中也有专门讲去方块滤波的部分,因此在资料方面应该是不成问题。去方块滤波的代码主要集中在JM8.6 Decoder的loopFilter.c文件中,入口函数为DeblockPicture(),此函数在image.c的exit_picture()中被调用,也就是说这个去方块滤波模块是在解码完一幅图像后被转载 2017-06-23 16:51:48 · 561 阅读 · 0 评论 -
关于level_idc
今天看到init_dpb()时有这么一行代码dpb.size= getDpbSize();dpb.size表示什么含义我想大家都明白,这里我们关键看getDpbSize();getDpbSize()函数一上来给pic_size赋值,这个仔细看应该也不难,接着就是我要讲的重点拉。代码如下: switch (active_sps->level_idc)//第一帧IDR,这转载 2017-06-23 16:50:17 · 692 阅读 · 0 评论 -
JM8.6之get_block() 1/4亮度像素内插详述
理论方面的知识在这里不详细讲述,毕书的222页和264标准上的8.4.2.2.1章节都有非常详细的说明。这里,我主要讲的是程序是如何使具体代码对应理论公式。 void get_block(int ref_frame, StorablePicture **list, int x_pos, int y_pos, struct img_par *img, int block[BLOCK_SI转载 2017-06-23 16:49:29 · 887 阅读 · 0 评论 -
关于JM8.6中MAX_LIST_SIZE值的选取
我们知道在参考图像队列中listX[ i ][ j ]这边的i的取值范围是0~5,而且0~5所代表的含义论坛上已经有人说过。今天我要说的是这个j的取值范围是0~MAX_LIST_SIZE-1 即0~32为什么会有33个元素呢?我们知道264规定最多可用16个参考帧,如果是场模式,那么也就32个,但是这边还是多了一个,为什么呢?现在我告诉你,这是程序上需要多留了一个的,跟转载 2017-06-23 16:48:41 · 491 阅读 · 0 评论 -
JM8.6之erc_api.c文件初探
这个文件里面的函数都相对来说比较简单,主要就是对objectBuffer_t和ercVariables_t两个结构体一些控制。 void ercInit(int pic_sizex, int pic_sizey, int flag)函数被调用时ercInit(img->width, img->height, 1);此flag=1设置是否将解码器的误码掩盖功能开启,通过erc转载 2017-06-23 16:47:45 · 381 阅读 · 0 评论 -
JM8.6之参考图像管理
H.264 参考图像管理综述总体而言,mbuffer.c文件主要的三个函数是init_lists,reorder_lists和store_picture_in_dpb。其中init_lists和reorder_lists在read_new_slice函数中,主要是将已经存储在dpb.fs_ref和dpb.fs_ltref,即短期和长期参考队列按照一定的排列规律一起存到listX[0转载 2017-06-23 16:46:37 · 722 阅读 · 0 评论 -
帧内预测模式RDO
在对候选模式进行选择的时候,我们会用RDO方法选择最佳预测模式。帧内预测模式的RDO过程如下所述: 1,计算当前预测模式下的SSE,即残差平方和,作为RDO计算中的失真量。 2,计算当前预测模式下,编码TU所需要的比特数,这个是预测模式RDO的主要工作。需要进行编码的参数以及编码的过程如下面所述: (1),编码PU参数,其实就是编码帧内预测模式 (2),编码转载 2017-06-25 16:34:24 · 968 阅读 · 0 评论