07月 30th, 2004 by solarsea
昨天没有更新项目相关的东东,因为发现draft好像不是那么容易看懂,东西实在太多了,从第7节开始就看得人云里雾里的,基本都看不明白,除了以前仔细看过的第八节里的intra prediction等几小节以外。于是只好转为看代码。从ldecod.c中的main()开始,main函数倒是很短,就十来行,全都是调用了其他函数,不过知道相关函数所实现的功能后,还是不难懂的。基本上把ldecod.c和另外两个小的c文件看了下来,回避了两个最主要的文件image.c和macroblock.c,这两个文件比较大,还是应该先搞清楚周围的小文件中函数的功能,再来分析它们比较合适吧。这两天,寝室的人都陆续放假回家了,想想,过了明年,以后就没有暑假放了,估计那时候又会想念上学的时光了。
07月 28th, 2004 by solarsea
今天看了一下DRAFT的前几部分,大概了解了一下,整个文档的结构,各部分的内容,前面还是比较容易懂的。基本从第6节,开始就比较费劲了,也没细看,翻了翻,估计要看的话得先看看第八节的decoding,遇到不理解的地方再找别的章节。整个文档253页,讲得应该说很细致了,再配合代码来看得话,应该更容易理解一点儿。而且现在的decoder代码连baseline的功能也没全用上,估计要看的东西更少了。又看了一下代码,除法似乎还使用的是/,而不是移位。另外变换的地方应该也可以做做优化。李老师下周回来,估计到时候会比较辛苦了。
07月 27th, 2004 by solarsea
早上把昨天没有搞定的transform&quantization的文档看完了,最后给了个例子。自己动手算了一下,原理大致都明白了,流程也清楚了。但是,整数变换和量化中进行了缩放,目的应该是为了移位除的时候不至于引入太大误差,这里实现时用的算法还是很明白,毕竟没有专门学过算法,知道该怎么做应该就行了。
下午想把原来不是很清楚的RGB<–>YUV搞搞明白。网上搜了不少文章,基本上都是这么个公式:
Y = 0.299R + 0.587G + 0.114B,
U = -0.147R - 0.289G + 0.436B,
V = 0.615R - 0.515G - 0.100B。
水木上有人说是这样:
Y = 0.2990R + 0.5870G + 0.1140B,
U = 0.1684R - 0.3316G + 0.5000B,
V = 0.5000R - 0.4187G - 0.0813B。
师姐说她自己推出来的是这样:
Y = 0.257R + 0.504G + 0.098B +16,
U = -0.148R - 0.291G + 0.439B +128,
V = 0.440R - 0.368G - 0.072B+128。
用师姐作的转换程序,将RGB的bmp转成yuv,可以用她的yuv显示程序显示出来。因为她自己的程序,肯定编解码过程是对应的。不过用她的yuv显示程序打开标准测试序列也没有问题。估计这种算法是正确的。现在需要找个别人写的程序来验证一下,呵呵。
07月 26th, 2004 by solarsea
今天收到了中兴发过来的删减好的代码,于是按李老师的要求作了兼容性测试,并和JVT发布的7.3版本的decoder作了比较。由于对方删除了不少功能模块,使得解码速度大大提高,然而兼容性也因此大打折扣。有几个码流无法解码。不过有趣的是,又两个JVT解不了的,ZTE居然可以解,估计是去除了某些条件判断吧。
另外今天看了有关transform和quantization的一篇文档,还没有看完,luma信号的看得差不多了。明天再结合draft,看看能不能大致搞明白。
07月 24th, 2004 by solarsea
连续几天上不了网了,blog也没法更新,sigh,本来还想纪录每天的进展的。据师姐说每年暑假都是这样,教4楼都上不了网。今天居然通了20分钟,赶紧抓紧时间补上。这两天开始看AVC的相关文档了,在实验室的文档里找了几篇,包括有overview,intra prediction,inter prediction,和transform等等,看了三篇,并对照了JVT的draft,也算有了一些具体认识。另外师姐的博士论文也差不多写好了,让我看看,也许有点儿帮助,顺便找找错别字什么的。唉,现在就只能干这种档次的活。不知道网能撑多久,先贴上吧。
07月 21st, 2004 by solarsea
今天没什么收获,sigh。早上一来实验室,就听说空调的电用完了,实验室里热得不行。因为暑假财务处不上班,所以很可能不能用卡买电。忍耐了一早上,就看了book4 partb 的最后部分,有关tmld链接选项的部分。中午吃完饭回来,发现空调突然又可以工作了,然而网络又出了问题。不知道bupt这个校园网主节点之一是怎么混来的,就这烂网,还号称信息产业的黄埔军校。下午师姐买电回来一插卡,才发现电已经透支了。ft,电表居然可以这么用。下午看了最后一点有关tmsim的部分,另外还发现trimedia居然有集成开发环境,在codewarrior里加一个trimedia plugin就可以用这个IDE来开发了。不过,对于我们的项目,应该MS的VS就能对付了,不用另外找IDE了。基本打算,明天开始看看264的东东了。
07月 21st, 2004 by solarsea
不知道为什么blueink上的naruto一夜之间就变没了,刚看了个开头,sigh。不过还有好多没看过的好东东呢,于是开始下“钢之炼金术士”。以前不是很喜欢这种欧式风格的anime,不过在不少地方都看到钢炼的推荐帖,最终还是决定下来来看看。看了几集,发现风格和高中时候玩的ss游戏格兰迪亚的风格有些相似,人加机械的设定还是比较喜欢的。每集开篇第一句话就让人映像深刻“人如果不作出牺牲,就什么也得不到”。个人觉得太有哲理了,等价交换的原理是我一直坚信不疑的。不过现在好像才出到40集,大概又要像inuyasha和naruto那样在等待中期待了。