外设天下 - 电脑外设发烧友聚集地

1234下一页
我的人缘0

对鼠标丢帧的一些看法和思考------期待大伙进来一起讨论

30 17779
楼主
跳转到指定楼层
发表于 2012-1-16 20:34 只看该作者 倒序浏览 阅读模式
本帖最后由 crossednick 于 2012-1-16 20:37 编辑

1.  我们知道鼠标做出的每一次物理移动,都会通过SENSOR扫描产生一系列的连续的画面,而引擎对每相邻的两帧画面进行比对的时候就会有一次COUNT,而每次COUNT的判断正确与否,就决定了鼠标的这一次物理移动会否产生丢帧。比如IE3.0做了一秒钟的移动,就产生了9000帧的画面,那如果这次物理移动是准确的,也就表示鼠标引擎对这9000帧画面的每一次COUNT都是准确无误的,而如果其中有一次COUNT错误,那这整个一次物理移动就是一次“丢帧移动”。所以对于COUNT而言,每一次“准确的物理移动”都不存在一个COUNT成功率问题。试想就算对于一次移动的COUNT有99.9%都是准确的,那这次移动依然是“丢帧移动”。


2.  对于每次COUNT,其判断成功的基础在于相邻两帧画面的面积重叠率(相同特征点比例),假设面积重叠率至少为60%的时候,这一次COUNT才会做出正确判断,也就是说,排除垫子表面局部特点造成的影响,那只要大于60%的面积重叠率都能保证COUNT的准确性。理论上说,相邻两帧画面的面积重叠率越高(相同特征点越多)也就越好。提高相邻两帧画面的面积重叠率的途径也就两个,一是CMOS面积一定时提高FPS,二是FPS一定时增加COMS面积。下面以IE.0和KINZU V2为例,简单推算一下两款鼠标各自的最小面积重叠率。

IE3.0
失效速度为1.5M/S,FPS为9000帧/S,CMOS点阵为22X22=484像素,最高每秒处理像素=484*9000=4356000像素
1500mm/9000=0.16667mm,25.4*0.0025=0.063mm,0.063*22=1.397mm,
最小面积重叠率为:(1.397-0.16667)/1.397=0.8807
KINZU V2
失效速度为1.97M/S,FPS为3600帧/S,CMOS点阵为32X32=1024像素,最高每秒处理像素=1024*3600=3686400像素
1970mm/3600=0.5472mm, 25.4*0.0025=0.063mm,0.063*32=2.016mm
最小面积重叠率为:(2.016-0.5472)/2.016=0.72856

由以上的推算可知增大CMOS面积可以带来的好处是可以有效降低“保证不丢帧所需的最小面积重叠率”和最高扫描速率(FPS)。对比IE3.0和KINZU V2的引擎还可以发现,其实IE3.0的引擎具有显著更高的图像处理速度,而KINZU V2的引擎则以较低的图像处理速度,取得了比IE3.0的引擎更优秀的失效速度并有效地节约了成本。所以增大CMOS芯片的面积所带来的好处的确是很明显的。


3.若鼠标CMOS面积为20X20像素,那每帧画面就包含400像素点,前后两帧画面比对时,是对每一像素点进行逐一比对,从而计算移动的坐标。光学鼠标所采用的光源基本都是单色光(红色光、蓝色光或者红外光)所以每帧图像也就是“黑白图像”。CMOS上的最小单位是像素,因此,引擎会对感光元件获得的每一帧图像上的每一像素点进行赋值,赋值的依据就是不同的“灰度值”,而灰阶等级划分得越细则灰阶分辨率越高,相应引擎对相邻两帧图像的比对准确率也就越高。鼠标垫表面对“灰阶分辨率”的影响包括两方面的因素,一是局部表面的“规则度”,这一表面特性直接影响到反射光从而也就影响引擎对每个像素点的赋值。假设某表面的物理结构(或者说表面纹理)非常的均一,就很可能导致反射光在COMS上连续几帧成像都非常相似的情况,那局部丢帧也就产生了。二是鼠标垫表面的某些颜色对鼠标光源的入射光有一定的吸收,这样就影响了引擎对反射光的灰阶分辨率,从而造成局部丢帧。

以上是我对鼠标丢帧的几点看法和思考,写出来与大家分享。其中肯定有不少错误,欢迎指正,也期待和大伙一起讨论和学习。

评分

参与人数 1技术分 +2 收起 理由
zach9999 + 2

查看全部评分

0
已赞
微信分享 收藏
回复

使用道具 举报

我的人缘0
推荐
发表于 2012-1-16 21:19 只看该作者
学习了......虽然不懂......
回复 支持 1 反对 0

使用道具 举报

我的人缘0
推荐
发表于 2012-1-16 21:11 只看该作者
技术铁
回复 支持 0 反对 1

使用道具 举报

我的人缘0
推荐
发表于 2012-1-16 20:59 只看该作者
目前自己觉得比较好的芯片是 a/s9500 a3090
回复 支持 1 反对 0

使用道具 举报

我的人缘0
推荐
发表于 2012-1-16 20:53 只看该作者
反正丢帧的不能用
有明显丢帧隐患的比如V2和kana就不再考虑范围内了
我在考虑是不是知会下富贵研发部改下引擎。。。。。原相扶不起啊
回复 支持 1 反对 0

使用道具 举报

我的人缘0
推荐
发表于 2012-1-16 20:47 只看该作者
没研究过数据的纯看看。。。我是手感流选手
回复 支持 1 反对 0

使用道具 举报

我的人缘0
推荐
发表于 2012-1-16 20:38 只看该作者
这个太高端,不懂,鼠标对我来说就是好不好用,合不合手
回复 支持 1 反对 0

使用道具 举报

我的人缘0
推荐
发表于 2012-1-16 20:38 只看该作者
测试
本帖最后由 greatdeer 于 2012-1-16 20:41 编辑

酷毙了!!!
我竟然是沙发,论坛到现在第一个沙发。
说的没错,说得很好
灰阶的问题,我就能理解了,为啥我用过的大多鼠标在铝垫上都没有碳素垫表现好。惟独狂蛇例外。
可能大多芯片对铝垫这种均匀的表面映射的灰阶无法很好地识别。

至于狂蛇,大概是红外光头的某个特性。
红光,红外,激光,蓝影,一定有不同的灰阶表现。。。。也就带来了不同的引擎定位特性
就是说不同鼠标同样dpi下会有定位感的差异。
回复 支持 1 反对 0

使用道具 举报

我的人缘0
9
发表于 2012-1-16 21:39 来自手机 只看该作者
个人觉得关于移动部分不怎么对哦,比如你说的count,实际中并不一定是两个时间相邻的代权矩阵的对比,可以这样看那ie3.0fk来看,9000的刷新率,而回报率只有125,9000/125=72,这样的话,只要对这时间相邻的72个代权矩阵,通过一定的算法,做出正确的判断即可。这其中的算法并不需深追究,有的帧可能用来计算,有的可能用来验证,如果在一定概率不符合算出的值,还可重新计算。这也当然是要划分时间片的。芯片中寄存器数量和位数也限制了每次能计算的帧数。简单来说,也就是在保持芯片计算能力不变的情况下,回报率调的越高,单次丢帧的可能性也就越大,虽然这么说,但实际都非常非常小。
回复 支持 反对

使用道具 举报

我的人缘0
10
发表于 2012-1-16 21:41 来自手机 只看该作者
测试
a9500的加速问题很不爽,a9800马上出了,但愿能改掉这b毛病
回复 支持 反对

使用道具 举报

1234下一页
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则