欢迎来到天天文库
浏览记录
ID:37860085
大小:135.50 KB
页数:11页
时间:2019-06-01
《JM代码阅读笔记之三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、034cef16333e71d1fb9312dfeeb07dbe.docPage11of118/18/2021笔记说明(auberon_china@yahoo.com.cn)为便于阅读,特约定如下:紫色:未解决问题;浅蓝色:强调/突出重点内容;关键知识点和难点:难点/复杂问题;黄色:推测/需要进一步确认和验证的结论;2007-11-24INTER预测代码研究I为研究inter预测编码过程,以高复杂度为例,选择在highcomplexity模式下进行分析。此时,对于MB级的实现来说,集中体现在函数encode_one_macroblock_high()。因此,首先分析此函数以及函数体内
2、部调用的关键函数。那么,其实现是怎样的?解答:甲在encode_one_macroblock_high()函数体内部,调用函数PartitionMotionSearch(),而它又进一步调用BlockMotionSearch()函数—具体的inter预测过程实现就在此函数中完成。乙对PartitionMotionSearch()函数的分析:乙-1输入参数说明blocktypeblock8x8lambda_factor2007-11-25INTER预测代码研究I参考图像管理和inter预测密切相关,因此,需要研究参考图像的相关知识点。这些集中体现在白皮书8.2中。那么,相关知识点包括几
3、部分,各部分的作用分别是什么?解答:II函数BlockMotionSearch()代码分析。解答:甲其中调用的主要函数包括:FullPelBlockMotionSearch()函数;SubPelBlockMotionSearch()函数;乙FullPelBlockMotionSearch()函数分析:该函数是在全搜索模式下的搜索处理函数。该函数主要使用了数据结构(存储搜索位置信息)。2007-11-26INTER预测代码研究I(续)BlockMotionSearch()函数分析。解答:甲在函数体内部,出现数据结构imgY_org和imgUV_org作者:hawk034cef16333
4、e71d1fb9312dfeeb07dbe.docPage11of118/18/2021,分别用于亮度和色度数据处理。其中,imgY_org的赋值过程如下:首先,通过read()函数(注:该函数是非标准ansi函数,定义在io.h文件)通过输入文件句柄把原始数据复制到buf中,然后通过buf再赋值给imgY_org。色度数据的赋值类似。乙该函数有一个形参ref,实参为ref(从reflist中遍历得到的参考图像序号)。由此,也可以看出计算量惊人。II在encode_one_macroblock_high()函数内部,intra预测的代码是在哪里实现的?并分析其主要编码过程。解答:甲i
5、ntra预测过程中,对当前MB或partition或subPartition进行预测时,所采用的参考像素值是从原始像素值中获取还是从重建值中获取?从重建数据中获取。乙SetModesAndRefframeForBlocks()函数中包含了对inter和intra模式的处理过程。该函数通过丙RDCost_for_macroblocks()函数包含了对intra模式的处理。而该函数被compute_mode_RD_cost()函数调用。在encode_one_macroblock_high()函数体内部,调用compute_mode_RD_cost()进行处理。IIIJM中关于模式定义是
6、怎样规定的?解答:从文件defines.h可以推知,0:Directmode(Bslice)/Skipmode(Pslice)?1:16x16intermode;2:16x8intermode;3:8x16intermode;4:8x8intermode;5:8x4intermode;6:4x8intermode;7:4x4intermode;8:P8x8intermode;9:I4MB;10:I16MB;11:IBLOCK;12:SI_SLICE;13:I8MB;14:IPCM;15:MAXMODE;注:模式8表示一组类型;8x8,8x4,4x8,4x4IV在函数中存在如下代码作者
7、:hawk034cef16333e71d1fb9312dfeeb07dbe.docPage11of118/18/2021#defineIS_FW((best8x8pdir[mode][k]==0
8、
9、best8x8pdir[mode][k]==2)&&(mode!=P8x8
10、
11、best8x8mode[k]!=0
12、
13、!bframe))best8x8mode[k]代表的含义是什么?解答:2007-11-27INTER预测代码研究IRDCost_for_macro
此文档下载收益归作者所有