inicio mail me! sindicaci;ón

Archive for June, 2008

increase resolution, part two

Ok, so after some thought on the concept of increasing resolution, and some research of companies performing similar functions I’ve come to perhaps a second part of all this (Here is the first part). By taking the light coming through a lens and splitting that incoming light using a beam splitter into two or more directions, each landing on image sensor chips.

Canon, and many other companies already use a similar system on 3 CCD/3mos cameras to acquire more color. Their systems are simple in that each chip receives a filtered level of RGB, and then combines the result back to one image in processing. The result is great colors (the colors would in theory increase 1/3 fold compared to a bayerfiltered single chip).

The concept I speak of is similar in that you combine the results together, but without the color filters. Instead of building up multitudes of color spaces, it would build up pixel information by having an increased density of pixels. Of course this cannot be a complete substitution of simply having a larger chip with increased photovoltaic cells, but I think it can come close with tweaks.

Comparison 1: High-Dynamic Range Photography uses a similar concept in that a bracketed shot is taken (three shots of the same scene with different exposure settings taken in rapid succession), and then each picture is overlayed; taking from it the best of the picture. The result is great lighting and contrast throughout the scene. Check this hdr site out.

Comparison 2: Image Stacking in Astronomical Photography uses a similar concept as well, it will film a scene with dozens of frames/images for each second for minutes on end. You may have over 1000 images of the same piece of sky. Once completed, software is used to combine all the frames of the video into a single still image– aligning them together and ultimately reinforcing the imagery by running the final set through a series of image enhancing filters. Once stacked image processing is complete, the results are much greater than the sum of their parts in that the image is strikingly clear and crisp– all due to the increased pixel information from the multitudes of pictures taken.

Comparison 3: Video Resolution Increase using frame rate halving. By halving or even thirding a frame rate of a video, the extra frames can be used to increase the resolution and overall picture with the extra information they hold. Here’s an example of what I am talking about. Obviously it is an imperfect system, and bests with slight motion of the scene, but still it gets the point across. I think this is similar to how your webcam can take a still picture at HD resolution using a small VGA sensor, coupled with interpolation of pixels.

Increasing the amount of image sensors will in essence increase the amount of total pixel information. Two images, or maybe more, taken from the exact same angle at the exact same time would result in the image pixel density of twice that original single sensor amount. Of course you could go one step further and have the incoming light split into exacting halves or quads, each hitting a perfectly aligned sensor. The result would be 2-4 times the amount of pixel resolution almost instantly, by simply combing each sensors buffer into a single image. Though I think simply splitting the incoming light into two duplicate beams of light to hit two sensors, would be much easier to create. The resulting duo image could then be adjusted and combined to a greater picture. Albeit the exposure settings would be the same (though I’m sure this can be built into the camera using filters for exposure). Foveon x3 chips mathematically do this, except with layered translucent-sensors.

google’s android

it hit me yesterday that putting gps in the android based phones will be helping google out in the longer run– it is not too unpredictable that each picture taken, will be geo mapped with gps and google maps, and will end up onto the googlemaps database itself. it’s only logical

yet another form of verification

finished up first stable running version of a new verification system I am working on. it involves an image being created from scratch using a pixel plotter and randomly generated numbers. each image is alike enough to show a general shape for that type of generated image. So far there are 4 types; though this is easily expandable into many more. the benefit of this over a captcha-style verification system is the lack of typing required, plus the shapes created do not resemble any character or text. this system is can be expanded with more shape possibilities, as well as combining different shapes into longer shape ‘messages’, perhaps called shapegrams. anyways, i finished writing the scripts to be incorporated as a wordpress plugin, which may or may not work on wordpress.com’s servers– i have not tested that yet, however it does work on mine. the scripts require the gd library to be installed and configured, my server was preconfigured with it, i have a feeling most are these days. to see it in action, click a posting on my blog and see the comments section.

it currently functions in 3 parts:

1. generate 5 images, set one as the key

2. user clicks image, type-code is sent back via ajax to script for verification

  • if type is matched to the key, then a server side variable is created for later use and submit button revealed for comment form
  • if mismatch, a reset of system and loop back to step 1

3. user submits comment form, a wordpress hook is used to catch wordpress during post-comment functioning, and if the serverside variable is setup the post is sent on to any other plugins installed for any further verification (ie: akismet). if the serverside variable is not setup(they tried to bypass the verification) the comment is immediately marked as spam and removed altogether (without your knowledge) before it is saved. I’m a bit new to wordpress’ framework, so this portion of the scripts has been slow to say the least.

I am preparing a cleaner code base for this, as well as a simple framework for extending the plugin via shapegram modules. this will more than likely be released on a GPL license, currently the code is not available, but should be shortly!

server requirements: gd library, php, wordpress(if using as plugin)

client requirements: javascript (ajax use, http requests)