This image is the top of the content box. Unfortunately, there is no information-based reason for this div to be here. It's just here for design reasons. Sorry.
Go Back   MisticRiver :: For iriver Enthusiasts > All things Rockbox > ROCKbox Forums > ROCKbox for H10 Series
Home Forums Register FAQ Search Today's Posts Mark Forums Read


Welcome to the misticriver forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.
Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old January 1st, 2007, 07:16 PM
Hoping For A Cool Title
 
Join Date: Mar 2006
Posts: 73
H10 Scrollpad patch info!!

Hey i found this on the rockbox website... i dont understand a word of it but maybe someone here does understand it. I know itd be a great thing to have.

Quote:
Comment by Holger Winnemoeller (Lazerman) - Wednesday, 22 November 2006, 07:34PM

I will try to cut some code out of another project that I have done. In short, the idea for bilateral filtering is similar to simple Gaussian filtering. What happens there works as follows. Let's assume you have a kernel of size 5, then you have five sample values that you want to average. You could do this by adding them all up and dividing by the number of samples, 5. You could also say you multiply each sample by 0.2 before adding them together. This would be a box filter. In the general case you multiply each element by different values (weights), depending on how close to the center they are. For Gaussian filtering these weights have a Gaussian bell shape, e.g. 0.05 0.2 0.5 0.2 0.05 - note that they weights always add up to one. This is important so that the entire system doesn't loose or gain energy (become darker/brighter, louder/quiter, ...).

So in short, Output = W1*S1 + W2*S2 + W3*S3 + W4*S4 + W5*S5, where Wn are the weights, and Sn are the samples.

The problem for this type of (linear) filtering is that large differences between adjacent samples can get severely smoothed, but often these differences are important and should be kept.

Bilateral filtering doesn't just take the proximity of samples into account (how close to the center they are), but also how different they are from the center value. This introduces another weight (let's call it vertical; and the other one horizontal) that must be included

V1 = f(S3-S1)
V2 = f(S3-S2)
V3 = 1
V4 = f(S3-S4)
V5 = f(S3-S5)

the function, f, is generally also a Gaussian shape (i.e. exponential, f~e^(-x^2/d^2)). The parameter d changes the width of the Gaussian bell shape. The effect is that if S3-S1 is very large, then V1 is very small and the much different S1 will not influence the output very much.

The new sum becomes:
Output = W1*V1*S1 + W2*V2*S2 + W3*V3*S3 + W4*V4*S4 + W5*V5*S5

Obivously, the output now has to be normalized differently, by dividing the sum by W1*V1 + W2*V2 + W3*V3 + W4*V4 + W5*V5

And that's already it. The smoothing behavior then depends mostly on the kernel size (5 in this case) and the parameters for the horizontal and vertical gaussian distributions. Note that while the horizontal weights can be pre-computed, the vertical weights are data-dependent and therefore need to be computed on the fly.

An implementation should keep a circular array of size 5 or 7 or something, update the latest values and smooth over them using the above filter.

I hope that helps for now. If nobody comes up with an implementation I will provide one after my vacation. Have fun.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old January 2nd, 2007, 08:21 PM
Touched By The Mistic River
 
Join Date: Mar 2006
Posts: 508
Send a message via AIM to TrueJournals
Ummm... what does this have to do with the H10 scrollpad? Nowhere in there do I see a mention of either. Also, this is an old post, from November 22. Perhaps the implementation has already been provided? Can you give a link to where exactly you found this?
__________________
- Rockbox GUIEncode -
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old January 2nd, 2007, 09:01 PM
Born Again Mistic
 
Join Date: Feb 2006
Posts: 1,510
Pretty much what it says is that it bases how far off the center the touchpad is, and then tells it so. So if you want to go a small distance, you put it right near the center.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old January 2nd, 2007, 10:12 PM
Eager Mistic Beaver
 
Join Date: Oct 2006
Location: Montréal
Posts: 240
Nope.

What it does is discuss one kind of filtering implementation one could use to stabilize the data received from the ADC (Analog to Digital Converter). The ADC is responsible for the readings of scrollpad and battery voltage (used to determine level %). It is very noisy, jumpy and someone would have to either program such a filter OR maybe figure out why exactly the ADC doesn't behave correctly.
__________________
Histoire d'horreur, mémoire poreuse
Histoire d'honneur, mémoire porteuse
- Loco Locass
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old January 3rd, 2007, 01:38 AM
Hoping For A Cool Title
 
Join Date: Mar 2006
Posts: 73
http://www.rockbox.org/tracker/task/6041

Thats what its from and no there hasnt been a patch otherwise it would of been implemented.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old January 4th, 2007, 06:00 AM
Emerging Corporeal Entity
 
Join Date: Sep 2005
Location: Perth, Western Australia
Posts: 851
Send a message via AIM to iwantanimac Send a message via MSN to iwantanimac
aww, you got me all excited there....
__________________
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -7. The time now is 02:47 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.1.0
This image is the bottom of the content box. Unfortunately, there is no information-based reason for this div to be here. It's just here for design reasons. Sorry.