03:25
jcea has quit [Ping timeout: 272 seconds]
05:31
sys64738 has quit [Server closed connection]
05:31
sys64738 has joined ##raspberrypi-internals
05:41
Ad0 has quit [Ping timeout: 252 seconds]
05:57
Ad0 has joined ##raspberrypi-internals
11:16
jcea has joined ##raspberrypi-internals
12:20
bonda_000 has joined ##raspberrypi-internals
12:20
<
bonda_000 >
clever: so my idea is
12:21
<
bonda_000 >
you know how in math when you do multidimensional math there is a notion of dual space
12:21
<
clever >
not entirely
12:21
<
bonda_000 >
say vector x
12:22
<
bonda_000 >
x = 0.1 dot (a b c) where 0.1 is a constant and (a b c) is a vector
12:22
<
bonda_000 >
so it is considered that 0.1 is a constant and vector (a b c) is a base
12:22
<
bonda_000 >
and we can flip this
12:22
<
bonda_000 >
so 0.1 is now a base
12:22
<
bonda_000 >
and vectors such as (a b c) are constants
12:23
<
bonda_000 >
and it is called a dual space for vector x
12:23
<
bonda_000 >
so, for instance. if I am trying to debayer a pixel in a 5x5 grid
12:23
<
bonda_000 >
pixel 0 at the top left corner of the grid
12:24
<
bonda_000 >
in the mosaic it's green
12:24
<
bonda_000 >
so the closest Red pixels are 1, sqrt(5) and 3 units far from it
12:24
<
bonda_000 >
so we get an equation
12:25
<
bonda_000 >
weighted average it is pretty much
12:25
<
bonda_000 >
R0 = a1 * R1 + a2 * R2 + a3 * R3
12:25
<
bonda_000 >
where a is a weight wrt how far away it is
12:26
<
bonda_000 >
R1 is the mosaic component
12:26
<
bonda_000 >
one sec
12:34
<
bonda_000 >
so the actual equation for red component
12:37
<
bonda_000 >
R0 = a1 * R1 + a2 * R2 + a3 * R3 = 0.48107 *(r17 * 2^7 + ... + r10 * 2^0) + 0.35857 *(r27 * 2^7 + ... + r20 * 2^0) + 0.16035 *(r37 * 2^7 + ... + r30 * 2^0)
12:37
<
bonda_000 >
0.48 0.35 and 0.16 added together make a unity so it's just weighted 8 bit binary but we interpret our binary number as a vector
12:38
<
bonda_000 >
and if we flip base and coefficient I came up with something like this
12:39
<
bonda_000 >
RBIG = R1R3R2 = r17r16r15r14r13r12r11r10r37r36r35r34r33r32r31r30r27r26r25r24r23r22r21r20
12:39
<
bonda_000 >
first I tried "cropping" it
12:40
<
bonda_000 >
as in, taking first 4 bits from R1, then first 2 bits from R3, then first 2 bits from R2 to get a reconstructed 8-bit approximation
12:40
<
bonda_000 >
but that is not accurate
12:40
<
bonda_000 >
I found something else though
12:41
<
bonda_000 >
also remember R1 is 1 unit distance away from R0, R2 is 3 units apart, R2 is sqrt(5) unit distance apart from R0, in a square pixel grid
12:42
<
bonda_000 >
in a basic bayer pattern
12:42
<
bonda_000 >
this operation:
12:42
<
clever >
i still need to figure out all of that math
12:43
<
bonda_000 >
(R1 right shifted 2) XNOR (R2 left shifted 1) gives value very close to the Rideal which is weighted average
12:43
<
bonda_000 >
shifts are filling with 1's by the way
12:47
<
bonda_000 >
and then if R12 = (R1 << 2) XNOR (R2 >> 1) = r7r6r5r4r3r2r1r0 then Я12 = r4r5r6r7r0r1r2r3
12:48
<
bonda_000 >
then Я(Я12 XNOR (R3 << 1)) = R12
12:48
<
bonda_000 >
always, for some reason, no matter what R3 is
12:49
<
bonda_000 >
so if this is a dimension and it has an inverse then all the rest of the math can apply to it
13:32
<
bonda_000 >
so if we operate in the dual then we operate on vectors as coefficients
13:32
<
clever >
yeah, that looks like pathagreons theorm
13:33
<
clever >
root(5) is just root(a^2 + b^2), a=1, b=2
13:33
<
bonda_000 >
so from these distances comes the weights for the weighted average
13:33
trwbox has joined ##raspberrypi-internals
13:34
<
bonda_000 >
the farther component is, the less influence it has on the end result
13:34
<
bonda_000 >
but this can allow us to fiddle the 8-bit binary somehow
13:34
<
bonda_000 >
since it now has different properties
13:35
<
bonda_000 >
weight out individual bits
13:36
<
bonda_000 >
that's why it was important to choose elements that are all different distance
13:36
<
bonda_000 >
like x, y and z in three-dimensional coordinates are called orthogonal
13:36
<
bonda_000 >
as in, independent
13:36
<
bonda_000 >
in a similar fashion we do this
13:42
<
bonda_000 >
the end result actually looks funny
13:42
<
bonda_000 >
I'm gonna take a coffe break and write it up
13:50
waveform has quit [Ping timeout: 268 seconds]
14:15
trwbox has quit [Quit: Client closed]
14:20
waveform has joined ##raspberrypi-internals
14:36
<
bonda_000 >
so I'm not doing that anymore and instead trying to use XNOR and 1-filling shifts to get a better approximation
14:36
<
bonda_000 >
but that's the space we are in if we want to get rid of all the usual ALU math
14:57
<
bonda_000 >
not good approximation, because as you can see, farthest pixel R2 is pulling down the MSB of R1 as it has nothing to help it stay in the 128 values
14:58
<
bonda_000 >
so, what I think is, if we use shifts on these 8-bit values, we can help bring them in the same weight class
14:59
<
bonda_000 >
and then XNORing them with each other will us how similar they are when each of the corresponding bits are in the same weight class
14:59
<
bonda_000 >
will tell*
15:01
<
bonda_000 >
but for it being a space it is required that the base vectors 0.48107 , 0.35857 and 0.16035 are orthogonal, that is, do not contain elements of each other
15:02
<
f_ridge >
<clever___/D> he mentions an I logo on the card, that signifies UHS
15:02
<
f_ridge >
<clever___/D> the lexar cards i have also clearly say UHS-I on the package
15:24
juri_ has quit [Ping timeout: 252 seconds]
15:32
bonda_000 has quit [Ping timeout: 240 seconds]
15:36
juri_ has joined ##raspberrypi-internals
16:01
jcea has quit [Ping timeout: 240 seconds]
16:15
bonda_000 has joined ##raspberrypi-internals
16:15
<
bonda_000 >
Will be back in about an hour or so and show the second part
16:15
bonda_000 has quit [Client Quit]
18:25
bonda_000 has joined ##raspberrypi-internals
18:54
bonda_000_ has joined ##raspberrypi-internals
18:56
bonda_000 has quit [Ping timeout: 240 seconds]
19:07
Stromeko has quit [Quit: Going… gone.]
19:08
Stromeko has joined ##raspberrypi-internals
19:12
dolphinana has joined ##raspberrypi-internals
19:15
<
bonda_000_ >
it's quite interesting. I've just been thinking about it
19:15
<
bonda_000_ >
it is kind of if we took a decimal number such as 1905
19:15
<
bonda_000_ >
and started taking pieces of digits and making some new digits
19:30
<
dolphinana >
hello!
19:31
jcea has joined ##raspberrypi-internals
19:34
<
f_[xmpp] >
hi dolphinana
19:43
bonda_000_ has quit [Ping timeout: 256 seconds]
20:18
x^2^x6^ has joined ##raspberrypi-internals
20:18
<
x^2^x6^ >
Hi, whats up
20:19
<
clever >
which includes what kind of write speeds it claims to meet
20:19
<
clever >
how does the labeling on your card match your benchmarks? might that help in purchasing a better card?
21:09
bonda_000_ has joined ##raspberrypi-internals
21:15
t0mm13b has quit [Server closed connection]
21:16
t0mm13b has joined ##raspberrypi-internals
22:01
dolphinana has quit [Remote host closed the connection]
22:27
bonda_000_ has quit [Read error: Connection reset by peer]
23:30
t0mm13b_ has joined ##raspberrypi-internals
23:31
t0mm13b has quit [Ping timeout: 264 seconds]
23:34
<
x^2^x6^ >
Thanks, checked it