2014/04/23

滑走面の拡散反射色によるセンシング性能への影響について

rafa氏が非常に面白い記事を発表されていて、気になることがあったので検証しました。

rafalog: QPAD CT Collector Editions Team Dignitas紹介
http://utmalesoldiers.blogspot.jp/2014/04/qpad-ct-collector-editions-team-dignitas.html
記事の後半のトラッキング性能の試験が素晴らしいですね。この試験により滑走面の拡散反射色が位置によって異なる(つまり柄のある)マウスパッドだとトラッキング性能が落ちる可能性を指摘できます。

そもそもマウスパッドに柄があるとトラッキングに悪影響があるような気はしていて、大半のマウスパッドが無地であるのもこういった理由なのかと思っていましたが、今回はもう少しだけ低レベルの部分まで調べてみましょう。

・試験マウスパッド
使用するのは、いつぞやに営業に来てくださった方に貰ったZOTACの販促用プラ製マウスパッドです。[ アサシンクリード ZOTAC マウスパッド ]等で検索するとちらほら引っかかるのでそれなりに数は出ているようです。摩擦係数が低く、滑走性は良いのですが、弊センサでは高速域でのトラッキングエラーが頻発してお蔵入りになっていました。やはり性能的には販促品なのでしょうか。そもそも"商品"ではなく景品なのでレビューは省略。

もともと柄物は好みではないので、手元にはこれしかありませんでした。本当はそれなりの柄付きのゲーミングマウスパッドがあると良いのですが・・・
手元にあるマウスパッドにもロゴ等の色違いの部分は存在しているのですが、滑走面の上にペイントされているタイプなので滑走面の状態自体大きく異なり、よい比較ではありません。そもそもそういった部分は摩擦係数も異なるので、使用するべきではないのというのが個人的な意見です。


このマウスパッドの上図のGray(色的には白~ライトグレー位)の部分と、Blackの部分についてログを取りました。
販促用の極めて安価なパッドを試験に使用していますし、全ての柄物のマウスパッドについて本記事の記載事項が当てはまる訳ではないと思うので、その点をご留意下さい。

・試験環境
環境 : PSoC Creator 3.0 SP7
センサ : ADNS-5090
MCU : PSoC 4 Pioneer Kit

Registerの設定 : 分かる範囲でパフォーマンス重視にしました。
RUN_DOWNSHIFT = 0xFF
REST1_DOWNSHIFT = 0xFF
REST2_DOWNSHIFT = 0xFF
AUTO_LED_CTRL = 0b00001110
MOUSE_CTRL = 0b00100100
MOUSE_CTRL_EN = 0x10

・出力データ
まずセットアップのdescriptionが出力、その後PixelGrabbeで現在のピクセルアレイの様子を出力をします。その後はループに入り、以下のデータを出力し続けます。頻度は毎秒10回程度。
データの並び順 :
⊿X、⊿Y、SQUAL、PIX_ACCUM、[PIX_MIN~PIX_MAX]、SHUT

SHUTに関しては、RegisterがSHUT_HIとSHUT_LOがありますので、
uint16 SHUT = (SHUT_HI << 8 ) + SHUT_LO;
とします。

・試験方法
1.センサのレンズ部がGrayの真上に来るように滑走面に接地し、MCUをリセットする。
2.センサ初期化と設定を行う。
3.PixGrabberを作動させピクセルアレイの輝度情報を得る。
4.マウスを数カウント動かしながらループデータを数十回記録する。
5.Blackの箇所についても同様の試験を行う。

・試験結果
1.Gray
Grayのログデータを以下に示します。

------------------------------------------------------------------
ADNS-5090 TEST Start
SPI Start
Sensor initialization finished
46 45 30 33 37 30 21 29 41 41 34 44 28 22 35 35 37 37 53
36 28 29 36 39 29 28 37 57 65 52 48 41 41 49 43 27 30 29
47 22 31 45 47 42 47 67 79 81 64 46 62 35 54 46 35 43 27
33 22 43 63 49 53 56 44 59 59 71 60 54 38 76 82 61 52 21
35 28 35 52 40 58 65 55 56 36 47 62 52 44 77 94 73 37 37
52 42 34 31 39 56 66 74 74 47 35 49 65 43 56 64 72 28 60
51 59 51 37 33 58 49 50 85 60 44 59 78 52 45 52 69 26 32
45 56 47 35 35 40 38 46 56 42 69 49 47 76 58 39 56 36 30
46 46 40 38 39 36 41 57 61 40 64 44 55 71 52 36 68 67 36
60 51 44 40 36 35 56 50 67 47 34 50 81 64 44 36 72 79 36
63 62 50 51 65 70 81 59 50 33 21 35 51 49 37 53 104 86 44
52 58 52 44 63 73 73 72 58 33 30 40 70 56 40 62 102 65 56
55 57 51 38 48 52 68 72 81 64 43 54 85 61 55 38 71 89 64
66 62 58 37 51 69 80 85 73 54 39 41 57 49 50 36 37 92 54
72 57 55 43 63 65 66 88 65 50 45 49 55 50 40 36 40 57 42
66 53 45 47 70 63 55 70 75 57 48 42 43 38 32 43 64 40 36
57 45 42 47 55 60 39 48 60 51 50 62 59 70 43 79 93 51 37
62 46 43 43 49 65 45 61 70 57 78 70 57 59 41 92 91 64 49
61 58 40 42 64 88 75 83 74 59 95 82 51 42 43 89 77 56 79
X 0 Y 0 SQUAL : 90 ACCUM : 74 [ 21~104 ] SHUT : 159
X 0 Y 0 SQUAL : 91 ACCUM : 74 [ 21~104 ] SHUT : 159
X 0 Y 0 SQUAL : 96 ACCUM : 74 [ 21~104 ] SHUT : 159
X 0 Y 0 SQUAL : 89 ACCUM : 74 [ 21~106 ] SHUT : 159
X 0 Y 0 SQUAL : 92 ACCUM : 74 [ 21~103 ] SHUT : 159
X 0 Y 0 SQUAL : 95 ACCUM : 74 [ 21~104 ] SHUT : 159
X 0 Y 0 SQUAL : 93 ACCUM : 74 [ 21~103 ] SHUT : 159
X 0 Y 0 SQUAL : 93 ACCUM : 74 [ 21~104 ] SHUT : 159
X 0 Y 0 SQUAL : 89 ACCUM : 74 [ 21~106 ] SHUT : 159
X 0 Y 0 SQUAL : 91 ACCUM : 74 [ 21~105 ] SHUT : 159
X 0 Y 0 SQUAL : 92 ACCUM : 74 [ 21~107 ] SHUT : 159
X 0 Y 0 SQUAL : 95 ACCUM : 70 [ 19~111 ] SHUT : 149
X -5 Y 0 SQUAL : 87 ACCUM : 70 [ 17~103 ] SHUT : 148
X -2 Y -1 SQUAL : 92 ACCUM : 66 [ 11~108 ] SHUT : 137
X 0 Y -2 SQUAL : 85 ACCUM : 63 [ 14~95 ] SHUT : 127
X 1 Y -4 SQUAL : 87 ACCUM : 86 [ 22~102 ] SHUT : 151
X 1 Y 0 SQUAL : 97 ACCUM : 86 [ 20~98 ] SHUT : 161
X 2 Y 7 SQUAL : 92 ACCUM : 69 [ 15~103 ] SHUT : 147
X -1 Y 2 SQUAL : 93 ACCUM : 68 [ 13~100 ] SHUT : 147
X -4 Y -3 SQUAL : 83 ACCUM : 65 [ 14~108 ] SHUT : 136
X -5 Y -10 SQUAL : 85 ACCUM : 79 [ 25~102 ] SHUT : 121
X 2 Y -1 SQUAL : 81 ACCUM : 80 [ 28~98 ] SHUT : 121
X 4 Y 0 SQUAL : 89 ACCUM : 86 [ 27~100 ] SHUT : 138
X 0 Y 5 SQUAL : 93 ACCUM : 79 [ 22~98 ] SHUT : 143
X -5 Y 0 SQUAL : 87 ACCUM : 82 [ 19~109 ] SHUT : 140
X -9 Y -6 SQUAL : 93 ACCUM : 80 [ 20~104 ] SHUT : 128
X -1 Y -5 SQUAL : 90 ACCUM : 75 [ 24~109 ] SHUT : 128
X 5 Y -1 SQUAL : 87 ACCUM : 82 [ 24~107 ] SHUT : 135
X 2 Y 0 SQUAL : 92 ACCUM : 81 [ 26~104 ] SHUT : 135
X 1 Y 7 SQUAL : 94 ACCUM : 82 [ 27~102 ] SHUT : 126
X -1 Y 3 SQUAL : 84 ACCUM : 84 [ 24~103 ] SHUT : 134
X -4 Y -1 SQUAL : 78 ACCUM : 69 [ 22~106 ] SHUT : 109
X -1 Y -6 SQUAL : 83 ACCUM : 82 [ 23~105 ] SHUT : 137
X 5 Y -3 SQUAL : 85 ACCUM : 77 [ 27~105 ] SHUT : 128
X 4 Y 4 SQUAL : 90 ACCUM : 82 [ 26~102 ] SHUT : 126
X 1 Y 5 SQUAL : 86 ACCUM : 85 [ 23~102 ] SHUT : 134
X -3 Y 5 SQUAL : 92 ACCUM : 82 [ 17~103 ] SHUT : 141
X -6 Y 0 SQUAL : 85 ACCUM : 78 [ 21~103 ] SHUT : 132
X -4 Y -7 SQUAL : 87 ACCUM : 86 [ 27~110 ] SHUT : 140
X 4 Y -4 SQUAL : 92 ACCUM : 86 [ 25~106 ] SHUT : 139
X 5 Y 0 SQUAL : 83 ACCUM : 85 [ 28~103 ] SHUT : 139
X 4 Y 3 SQUAL : 94 ACCUM : 83 [ 26~108 ] SHUT : 128
X 2 Y 7 SQUAL : 84 ACCUM : 76 [ 20~102 ] SHUT : 136
X -4 Y 3 SQUAL : 86 ACCUM : 72 [ 11~108 ] SHUT : 138
X -2 Y 1 SQUAL : 91 ACCUM : 73 [ 15~103 ] SHUT : 138
X -4 Y -6 SQUAL : 89 ACCUM : 82 [ 28~103 ] SHUT : 129
X 1 Y -6 SQUAL : 82 ACCUM : 80 [ 26~101 ] SHUT : 125
X 4 Y -2 SQUAL : 90 ACCUM : 78 [ 25~108 ] SHUT : 125
X 4 Y 1 SQUAL : 95 ACCUM : 85 [ 26~102 ] SHUT : 132
X 3 Y 7 SQUAL : 91 ACCUM : 87 [ 24~100 ] SHUT : 150
X -1 Y 5 SQUAL : 88 ACCUM : 63 [ 8~100 ] SHUT : 130
X -4 Y 2 SQUAL : 100 ACCUM : 69 [ 11~97 ] SHUT : 148
X -5 Y -3 SQUAL : 90 ACCUM : 74 [ 13~103 ] SHUT : 129
X 0 Y -7 SQUAL : 82 ACCUM : 77 [ 24~106 ] SHUT : 120
X 5 Y -3 SQUAL : 85 ACCUM : 79 [ 27~101 ] SHUT : 120
X 4 Y 3 SQUAL : 90 ACCUM : 85 [ 27~97 ] SHUT : 146
X 2 Y 7 SQUAL : 94 ACCUM : 72 [ 19~105 ] SHUT : 143
X 0 Y 6 SQUAL : 85 ACCUM : 69 [ 12~102 ] SHUT : 151
X 0 Y 2 SQUAL : 88 ACCUM : 72 [ 15~105 ] SHUT : 161
X -7 Y -2 SQUAL : 96 ACCUM : 76 [ 18~102 ] SHUT : 161
X 0 Y -10 SQUAL : 92 ACCUM : 89 [ 31~96 ] SHUT : 140
X 5 Y -5 SQUAL : 91 ACCUM : 84 [ 29~100 ] SHUT : 131
X 7 Y 3 SQUAL : 90 ACCUM : 83 [ 27~98 ] SHUT : 140
X 3 Y 6 SQUAL : 87 ACCUM : 68 [ 15~95 ] SHUT : 139
X -1 Y 5 SQUAL : 81 ACCUM : 63 [ 17~107 ] SHUT : 134
X -4 Y 2 SQUAL : 92 ACCUM : 67 [ 13~109 ] SHUT : 152
X -4 Y 0 SQUAL : 86 ACCUM : 69 [ 13~101 ] SHUT : 151
X -2 Y -7 SQUAL : 82 ACCUM : 68 [ 16~106 ] SHUT : 128
X 2 Y -5 SQUAL : 87 ACCUM : 91 [ 22~102 ] SHUT : 149
X 3 Y 0 SQUAL : 80 ACCUM : 82 [ 25~105 ] SHUT : 138
X 6 Y 5 SQUAL : 79 ACCUM : 68 [ 11~107 ] SHUT : 127
X 1 Y 7 SQUAL : 83 ACCUM : 66 [ 15~100 ] SHUT : 149
X -2 Y 8 SQUAL : 92 ACCUM : 72 [ 18~106 ] SHUT : 166
X -5 Y 0 SQUAL : 92 ACCUM : 71 [ 17~102 ] SHUT : 165
X -6 Y -6 SQUAL : 93 ACCUM : 75 [ 17~105 ] SHUT : 175
X 6 Y -9 SQUAL : 87 ACCUM : 84 [ 22~106 ] SHUT : 158
X 8 Y 3 SQUAL : 89 ACCUM : 60 [ 11~92 ] SHUT : 130
X -6 Y 10 SQUAL : 93 ACCUM : 71 [ 14~103 ] SHUT : 164
X 0 Y 0 SQUAL : 90 ACCUM : 70 [ 15~105 ] SHUT : 164
X 0 Y -1 SQUAL : 100 ACCUM : 74 [ 16~98 ] SHUT : 175
X 0 Y 0 SQUAL : 95 ACCUM : 74 [ 17~111 ] SHUT : 175
X 0 Y 0 SQUAL : 87 ACCUM : 70 [ 16~110 ] SHUT : 164
X 0 Y -1 SQUAL : 95 ACCUM : 74 [ 17~103 ] SHUT : 175
X -1 Y -1 SQUAL : 93 ACCUM : 74 [ 15~103 ] SHUT : 175
X 0 Y 0 SQUAL : 90 ACCUM : 74 [ 15~102 ] SHUT : 175
X 0 Y 0 SQUAL : 90 ACCUM : 74 [ 15~102 ] SHUT : 175
X 0 Y 0 SQUAL : 85 ACCUM : 74 [ 15~102 ] SHUT : 175
X 0 Y 0 SQUAL : 88 ACCUM : 75 [ 15~101 ] SHUT : 175
X 0 Y 0 SQUAL : 86 ACCUM : 75 [ 16~102 ] SHUT : 175
X 0 Y 0 SQUAL : 90 ACCUM : 75 [ 16~101 ] SHUT : 175
X 0 Y 0 SQUAL : 88 ACCUM : 75 [ 16~101 ] SHUT : 175
X 0 Y 0 SQUAL : 88 ACCUM : 75 [ 15~102 ] SHUT : 175
X 0 Y 0 SQUAL : 85 ACCUM : 75 [ 15~102 ] SHUT : 175
X 0 Y 0 SQUAL : 89 ACCUM : 75 [ 15~101 ] SHUT : 175
X 0 Y 0 SQUAL : 88 ACCUM : 75 [ 15~103 ] SHUT : 175
X 0 Y 0 SQUAL : 88 ACCUM : 75 [ 16~103 ] SHUT : 175
X 0 Y 0 SQUAL : 88 ACCUM : 75 [ 16~101 ] SHUT : 175
X 0 Y 0 SQUAL : 88 ACCUM : 75 [ 16~102 ] SHUT : 175
X 0 Y 0 SQUAL : 86 ACCUM : 75 [ 16~101 ] SHUT : 175

------------------------------------------------------------------

2.Black
Blackのログデータを以下に示します。

------------------------------------------------------------------
DNS-5090 TEST Start
SPI Start
Sensor initialization finished
28 48 34 34 26 39 34 18 41 43 11 13 27 24 23 17 22 7 5
13 26 25 26 24 36 45 22 13 12 7 7 5 8 11 58 35 7 28
20 34 25 30 28 18 31 33 16 19 20 8 4 7 5 30 20 47 97
27 34 25 38 29 31 34 23 15 37 32 10 6 13 13 8 7 52 54
29 21 13 19 24 34 28 14 17 76 85 27 29 19 16 8 53 64 42
20 15 17 31 51 58 22 11 16 74 100 67 15 13 8 10 31 53 49
12 15 23 68 74 36 27 26 23 25 78 90 31 15 8 34 23 8 15
13 15 24 72 71 27 36 77 60 9 60 70 38 8 5 38 51 13 16
24 24 29 48 60 51 23 32 29 12 23 44 63 14 3 17 83 51 34
21 23 40 27 28 33 12 22 24 23 34 34 81 34 7 8 44 91 32
12 18 51 34 13 14 26 46 20 44 43 15 65 55 62 31 22 92 11
7 18 57 39 11 16 36 30 39 40 22 8 44 55 78 52 20 32 12
10 22 32 26 10 15 33 47 53 72 15 14 108 59 59 72 12 13 80
30 42 40 35 28 18 35 62 29 27 6 11 48 22 46 55 10 8 78
38 40 25 29 48 23 55 44 27 21 6 36 23 8 23 41 20 16 40
19 19 15 25 23 30 54 56 26 20 30 71 33 9 21 41 44 38 23
16 22 32 41 34 56 53 66 35 13 55 62 21 9 37 33 20 29 19
22 27 31 31 44 53 68 57 41 18 78 82 19 6 29 20 13 30 22
42 24 19 31 39 35 45 70 67 27 57 74 40 44 54 19 8 21 14
X 0 Y 0 SQUAL : 96 ACCUM : 45 [ 3~108 ] SHUT : 239
X 0 Y 0 SQUAL : 95 ACCUM : 45 [ 3~108 ] SHUT : 239
X 0 Y 0 SQUAL : 96 ACCUM : 45 [ 3~108 ] SHUT : 239
X 0 Y 0 SQUAL : 98 ACCUM : 45 [ 3~108 ] SHUT : 239
X 0 Y 0 SQUAL : 97 ACCUM : 45 [ 3~106 ] SHUT : 239
X 0 Y 0 SQUAL : 98 ACCUM : 45 [ 3~106 ] SHUT : 239
X 0 Y 0 SQUAL : 95 ACCUM : 45 [ 3~106 ] SHUT : 239
X 0 Y 0 SQUAL : 98 ACCUM : 45 [ 3~107 ] SHUT : 239
X 0 Y 0 SQUAL : 98 ACCUM : 45 [ 3~104 ] SHUT : 239
X 0 Y 0 SQUAL : 100 ACCUM : 48 [ 4~108 ] SHUT : 254
X 0 Y 0 SQUAL : 95 ACCUM : 47 [ 4~106 ] SHUT : 254
X 0 Y 0 SQUAL : 95 ACCUM : 44 [ 3~110 ] SHUT : 247
X 0 Y 0 SQUAL : 99 ACCUM : 46 [ 3~115 ] SHUT : 224
X 2 Y -3 SQUAL : 101 ACCUM : 46 [ 2~93 ] SHUT : 236
X 3 Y -4 SQUAL : 101 ACCUM : 47 [ 2~108 ] SHUT : 239
X 4 Y 6 SQUAL : 106 ACCUM : 54 [ 4~105 ] SHUT : 257
X 0 Y 7 SQUAL : 89 ACCUM : 45 [ 2~122 ] SHUT : 232
X -8 Y -3 SQUAL : 101 ACCUM : 46 [ 2~110 ] SHUT : 239
X -3 Y -13 SQUAL : 103 ACCUM : 45 [ 2~109 ] SHUT : 222
X 4 Y -3 SQUAL : 104 ACCUM : 47 [ 1~122 ] SHUT : 239
X 4 Y 3 SQUAL : 99 ACCUM : 46 [ 1~109 ] SHUT : 223
X 1 Y 9 SQUAL : 104 ACCUM : 51 [ 3~104 ] SHUT : 244
X -5 Y 3 SQUAL : 99 ACCUM : 44 [ 2~119 ] SHUT : 235
X -1 Y -2 SQUAL : 105 ACCUM : 43 [ 2~115 ] SHUT : 239
X 0 Y -7 SQUAL : 101 ACCUM : 46 [ 2~111 ] SHUT : 209
X 7 Y -3 SQUAL : 105 ACCUM : 47 [ 1~125 ] SHUT : 224
X 4 Y 2 SQUAL : 99 ACCUM : 46 [ 3~108 ] SHUT : 235
X 1 Y 9 SQUAL : 105 ACCUM : 52 [ 2~102 ] SHUT : 273
X -2 Y 3 SQUAL : 102 ACCUM : 52 [ 2~103 ] SHUT : 271
X -3 Y -2 SQUAL : 98 ACCUM : 48 [ 1~111 ] SHUT : 239
X -2 Y -7 SQUAL : 99 ACCUM : 46 [ 2~117 ] SHUT : 209
X 11 Y -2 SQUAL : 103 ACCUM : 46 [ 3~111 ] SHUT : 242
X 6 Y 3 SQUAL : 97 ACCUM : 43 [ 4~114 ] SHUT : 224
X 0 Y 8 SQUAL : 102 ACCUM : 43 [ 3~115 ] SHUT : 259
X -5 Y 7 SQUAL : 104 ACCUM : 43 [ 2~108 ] SHUT : 239
X -5 Y -5 SQUAL : 107 ACCUM : 45 [ 2~115 ] SHUT : 237
X 0 Y -6 SQUAL : 104 ACCUM : 46 [ 2~111 ] SHUT : 233
X 4 Y -2 SQUAL : 104 ACCUM : 46 [ 2~107 ] SHUT : 239
X 6 Y 1 SQUAL : 105 ACCUM : 43 [ 1~124 ] SHUT : 224
X 4 Y 10 SQUAL : 103 ACCUM : 47 [ 4~111 ] SHUT : 267
X -2 Y 7 SQUAL : 94 ACCUM : 45 [ 2~109 ] SHUT : 239
X -6 Y 0 SQUAL : 97 ACCUM : 47 [ 2~111 ] SHUT : 238
X -3 Y -10 SQUAL : 97 ACCUM : 46 [ 2~127 ] SHUT : 245
X 3 Y -9 SQUAL : 96 ACCUM : 42 [ 1~105 ] SHUT : 240
X 8 Y -3 SQUAL : 101 ACCUM : 44 [ 2~114 ] SHUT : 239
X 5 Y 8 SQUAL : 99 ACCUM : 47 [ 2~105 ] SHUT : 271
X -4 Y 10 SQUAL : 98 ACCUM : 47 [ 3~116 ] SHUT : 229
X -5 Y 5 SQUAL : 95 ACCUM : 48 [ 3~111 ] SHUT : 239
X -6 Y -8 SQUAL : 97 ACCUM : 44 [ 2~112 ] SHUT : 224
X 0 Y -8 SQUAL : 104 ACCUM : 46 [ 1~106 ] SHUT : 239
X 8 Y -7 SQUAL : 99 ACCUM : 45 [ 3~115 ] SHUT : 224
X 13 Y 0 SQUAL : 94 ACCUM : 51 [ 4~101 ] SHUT : 247
X 3 Y 6 SQUAL : 95 ACCUM : 46 [ 4~109 ] SHUT : 226
X 0 Y 8 SQUAL : 97 ACCUM : 49 [ 5~104 ] SHUT : 282
X -3 Y 7 SQUAL : 96 ACCUM : 48 [ 2~113 ] SHUT : 273
X -3 Y 1 SQUAL : 104 ACCUM : 48 [ 2~112 ] SHUT : 252
X -5 Y -12 SQUAL : 101 ACCUM : 42 [ 2~113 ] SHUT : 270
X 1 Y -7 SQUAL : 102 ACCUM : 48 [ 2~112 ] SHUT : 254
X 9 Y -2 SQUAL : 98 ACCUM : 45 [ 4~107 ] SHUT : 212
X 6 Y 5 SQUAL : 100 ACCUM : 52 [ 5~99 ] SHUT : 276
X 2 Y 11 SQUAL : 91 ACCUM : 41 [ 2~107 ] SHUT : 265
X -2 Y 9 SQUAL : 95 ACCUM : 42 [ 4~112 ] SHUT : 267
X -3 Y 2 SQUAL : 94 ACCUM : 46 [ 4~107 ] SHUT : 262
X -9 Y -4 SQUAL : 102 ACCUM : 46 [ 1~116 ] SHUT : 224
X 0 Y -8 SQUAL : 98 ACCUM : 47 [ 1~124 ] SHUT : 232
X 4 Y -9 SQUAL : 106 ACCUM : 43 [ 2~117 ] SHUT : 223
X 5 Y 0 SQUAL : 100 ACCUM : 43 [ 2~108 ] SHUT : 223
X 6 Y 7 SQUAL : 90 ACCUM : 47 [ 2~101 ] SHUT : 267
X 2 Y 9 SQUAL : 93 ACCUM : 45 [ 4~109 ] SHUT : 253
X -1 Y 5 SQUAL : 94 ACCUM : 46 [ 3~106 ] SHUT : 261
X -2 Y 2 SQUAL : 102 ACCUM : 43 [ 2~121 ] SHUT : 251
X -2 Y -4 SQUAL : 98 ACCUM : 42 [ 2~127 ] SHUT : 237
X -1 Y -10 SQUAL : 104 ACCUM : 45 [ 1~105 ] SHUT : 224
X 6 Y -7 SQUAL : 88 ACCUM : 44 [ 2~127 ] SHUT : 239
X 7 Y 0 SQUAL : 97 ACCUM : 50 [ 3~104 ] SHUT : 270
X 5 Y 10 SQUAL : 87 ACCUM : 45 [ 4~109 ] SHUT : 275
X -3 Y 10 SQUAL : 92 ACCUM : 50 [ 5~103 ] SHUT : 261
X -3 Y 2 SQUAL : 102 ACCUM : 56 [ 5~108 ] SHUT : 295
X -4 Y -3 SQUAL : 103 ACCUM : 47 [ 1~114 ] SHUT : 253
X 0 Y -7 SQUAL : 100 ACCUM : 44 [ 2~116 ] SHUT : 209
X 3 Y -2 SQUAL : 97 ACCUM : 45 [ 2~104 ] SHUT : 223
X 4 Y 3 SQUAL : 93 ACCUM : 47 [ 4~117 ] SHUT : 273
X 2 Y 10 SQUAL : 99 ACCUM : 51 [ 5~108 ] SHUT : 261
X -6 Y 5 SQUAL : 85 ACCUM : 47 [ 3~104 ] SHUT : 210
X -3 Y 0 SQUAL : 93 ACCUM : 48 [ 3~104 ] SHUT : 207
X -6 Y -8 SQUAL : 99 ACCUM : 43 [ 2~111 ] SHUT : 249
X -2 Y -9 SQUAL : 99 ACCUM : 43 [ 2~115 ] SHUT : 241
X 0 Y -7 SQUAL : 102 ACCUM : 45 [ 1~117 ] SHUT : 226
X 5 Y -1 SQUAL : 102 ACCUM : 46 [ 2~111 ] SHUT : 239
X 8 Y 2 SQUAL : 97 ACCUM : 48 [ 2~106 ] SHUT : 258
X 1 Y 8 SQUAL : 96 ACCUM : 47 [ 4~100 ] SHUT : 256
X -7 Y 13 SQUAL : 92 ACCUM : 46 [ 2~108 ] SHUT : 189
X -4 Y 1 SQUAL : 103 ACCUM : 46 [ 1~104 ] SHUT : 241
X 0 Y -8 SQUAL : 101 ACCUM : 43 [ 3~127 ] SHUT : 251
X 5 Y -7 SQUAL : 103 ACCUM : 46 [ 2~123 ] SHUT : 208
X 1 Y 5 SQUAL : 100 ACCUM : 45 [ 3~100 ] SHUT : 239
X -4 Y -4 SQUAL : 93 ACCUM : 45 [ 3~117 ] SHUT : 261
X -5 Y -10 SQUAL : 102 ACCUM : 47 [ 2~108 ] SHUT : 252
X 0 Y 0 SQUAL : 106 ACCUM : 46 [ 2~109 ] SHUT : 252
X 0 Y 0 SQUAL : 102 ACCUM : 46 [ 2~108 ] SHUT : 252
X 0 Y 0 SQUAL : 104 ACCUM : 46 [ 2~108 ] SHUT : 252
X 0 Y 0 SQUAL : 99 ACCUM : 46 [ 3~106 ] SHUT : 252
X 0 Y 0 SQUAL : 102 ACCUM : 46 [ 2~107 ] SHUT : 252
X 0 Y 0 SQUAL : 102 ACCUM : 46 [ 3~108 ] SHUT : 252
X 0 Y 0 SQUAL : 101 ACCUM : 46 [ 2~107 ] SHUT : 252
X 0 Y 0 SQUAL : 103 ACCUM : 46 [ 3~107 ] SHUT : 252
X 0 Y 0 SQUAL : 101 ACCUM : 46 [ 2~108 ] SHUT : 252
X 0 Y 0 SQUAL : 100 ACCUM : 46 [ 3~107 ] SHUT : 252
X 0 Y 0 SQUAL : 101 ACCUM : 46 [ 2~107 ] SHUT : 252
X 0 Y 0 SQUAL : 101 ACCUM : 46 [ 2~107 ] SHUT : 252
X 0 Y 0 SQUAL : 101 ACCUM : 46 [ 3~107 ] SHUT : 252
X 0 Y 0 SQUAL : 103 ACCUM : 46 [ 3~106 ] SHUT : 252
X 0 Y 0 SQUAL : 100 ACCUM : 46 [ 2~108 ] SHUT : 252
X 0 Y 0 SQUAL : 100 ACCUM : 46 [ 3~107 ] SHUT : 252
------------------------------------------------------------------



・試験結果から分かること
各パラメタについてGrayとBlackを比較しましょう。

・ピクセルアレイの輝度
Grayのほうが明るい像がセンサに写っている事がわかります。Shut値は最も明るいピクセルに依って定められるので、Blackの方が明るい部分が際立っており目立つ、ということですね。トラッキングにどちらの色が向いているかどうかは断定しかねますが、コントラスト比の高い黒の方が向いているように直感的には思えますね。

・SQUAL
Blackの方が良い(高い)ですね。値的には普通か、それよりは良いくらいです(その他のマウスパッドと比較して)。弊センサではなぜTracking出来ないのか謎は深まりますね。

・ACUUM
ピクセルアレイと同じ傾向です。灰 / 黒の差がよく出ていますね。

・MIN、MAX
MAXは127で飽和するギリギリの100ちょいになるように調整されているのか、比較的一定値ですね。対してMINはACCUMと同様の傾向。

・SHUT
PIX_MAXは、滑走面の状態によりますが、センシング用LEDの光が滑走面に「拡散反射」ではなく「鏡面反射」した光が入射したピクセルになると思います。要するに鏡面ハイライトの部分です。なので、白→黒で思ったよりShutter値が大きくならないし、ACUUMも小さくなるのでしょうね。

・トラッキングエラーの原因の予想
なんというか、データが予想外でした。

滑走面のコーティングのせいで鏡面ハイライトが出やすくなり、Shutter値が過剰反応して、実質的に使用できるダイナミックレンジが狭くなったことで上手くTrackingできなくなる、とかでしょうか。当該パッドでSQUALとか測ってみるとちょっと分かるのかもしれません。 そもそも鏡面ハイライトが原因である可能性があるというだけで断定ではないですが。
ちょっとやっただけでは原因は判明しそうもないですね。

当該マウスパッドでもトラッキングエラーをあまり出さないマウス(G400)もあるわけでして。実に奥が深いですね。
光路を弄って鏡面ハイライトが出にくいレンズ・・・とかあったり?
G400は純正レンズですが。MCUのコードを書いた人が凄腕なのでしょうか。さすがLogi・・・

・まとめ
まとめます。

・マウスパッドの拡散反射色によってピクセルアレイの(平均)輝度は変化する。
・鏡面ハイライトのピクセルがShutter値に大きく影響していると思われる。
・各マウスのセッティングに関しては考慮することが多くて断定できない。
・全ての柄パッドにこれが当てはまるとは限らない(と思います)。
- 個人的にはゲーム用途で柄パッドはもう買わない。定量的な根拠はないですが、これからは基本的に黒い無地パッドを選びます。

以上になります。1時間で済むと思ったらMCUのコードを書き直す事になり、2時間半かかりました・・・

1 件のコメント:

  1. 私の雑な実験記事なんて引用してもらい恥ずかしいのですが:x
    これまで人の感覚でしか語られてこなかった部分に
    Scienceの光が照らされた瞬間ですね。素晴らしい俺得記事です:)

    BlackのほうがPixel平均値が低く&Shutter時間が長くなっているといのは
    ちゃんと理屈通りの結果になっていてexciteしました。
    Maximum_Pixel値を基準にAGCがシャッターコントロールするから
    Max_Pixelだけは差が出ず、AverageとMinには有意に差が出るのですね、、、とても勉強になります。

    実際のマウスレベルの話では、体感的なものですがMX500~G400sの系譜は
    トラッキングが難しいサーフィスでも破綻が出難い傾向がある気がしていました。
    この辺がファームウェアの妙技なのか
    Logitechレンズのほうが仰られる鏡面ハイライトが出難いようになってるのか・・・素人妄想するのが楽しいです。
    Pixartの新たなフラッグシップセンサーが届いたので
    そっちのマウスでもQpadトラッキング試してみます。

    返信削除