View Full Version : My little DIY camera project
Noah Yuan-Vogel November 25th, 2005, 08:46 PM I thought I'd post some of my progress on my camera project. I mentioned it in other threads a while ago but not in much detail. I wanted to contribute to this forum since without it I wouldnt have been able to do any of the cool stuff ive been playing with and I'd probably know about half as much about cameras.
I'm working on building a cheap DIY HD camera based on the sumix M73 camera which uses the same micron sensor as the si-3300. It made sense to me since when it comes to box cameras, its just about the only one that can get good pixelrates (up to 48MHz) and stream it over an inexpensive interface (USB) for under $1000. Plus any other manufacturer charges for the software development kit ($500 usually), wheras sumix's has a pretty nice easy to use c/vb api.
I'm developing software in VB.net and vb6 (im no programming pro, but vb is so intuitive its quite easy to learn as i go). And I have a small intel shelton embedded computer board that was cheap on ebay, passively cooled for quiet operation and low enough power to use 12v nimh batteries through a fanless dc-dc psu. It remains to be seen how much the limitation of a 1GHz CPU will effect what kind of video I get. At very worst I will be using 1024x576 (2048x1152 subsampled) which is still almost dvcprohd res and would make for nice sharp dvds, because I know that this little computer can display that at 24fps with only about 45% cpu usage leaving enough for writing to disk. At best I would go for about 1600x900, which works over usb and seems ok on my 2ghz AMD cpu (my development box) except for its slow shared harddrive. The trade off is that 1024x576 uses the whole 1/2" sensor and 1600 uses a little more than a 1/3" area. Of course I'll probably end up being lucky to get 720p on the little slow intel board.
Really, using usb works out since with a max pixelrate of 48MHz, to reduce rolling shutter I wouldnt want to use more than 30MBps of the 48MBps coming in anyway.
So as it is im waiting on a lot of parts for the ABS plastic housing im building among other things. I'm going to morocco in 2 week so dont be too surprised if it takes me a while to let you guys know how it all comes together in the end.
Here are a few pictures of/from the project (sorry all the pictures are of me, but when you are running a camera tethered on a 4ft usb cord theres not a lot else to take pictures of):
http://community.webshots.com/album/490353121bgxuMK
youll notice some have no color or very little color, thats because they were mostly taken without UV/IR filtration. my B+W UV/IR blocker should show up soon.
Let me know what you think or if you have questions.
Marcus Marchesseault November 27th, 2005, 12:37 AM It took me about a day to figure out what you are doing. Now, I am very impressed. My questions are this:
How good is the light sensitivity of the camera?
How noisy/clean is the CMOS sensor?
What file format are you converting the video?
This thing could be a great base for a 35mm adapter camera. Imagine, 35mm lenses with great DOF and High Definition for under $3000. If computers get faster, this system would only get better and cheaper.
Noah Yuan-Vogel November 27th, 2005, 04:45 AM Wow I wrote a nice long reply but dvinfo logged me out so i lost it when i tried to send it.
To sum up, though, the sensor isnt great with light sensitivity, but it has a lot of pixels which make for a lot of flexibility with frame size/resolution. The other micron sensor with bigger pixels gets better light performance but I hear has smearing problems. at high gain, the sensor has a lot of vertical fixed banding noise which comes out in photoshop subtracting a dark frame but I dont know how practical that is for video (I regularly shot static grain on a 35mm adapter for subtraction in post for a short I shot, but never ended up really being able to use it for various reasons)
The program stores raw bayer to a dedicated harddrive (realtime encoding wasnt within my processing power), bayer video can be parsed and viewd in my program and converted to any avi format. I prefer sheervideo 8b 4:2:2 since its faster and gives better compression than any other lossless compressor I've tested. Should be even better when its done with beta. I figure 4:2:2 should be plenty to store video thats from a sensor that is basically physically 4:2:0.
It's all costing me about $1700 including lenses, mattebox, rails, 7" lcd, etc. Might need to invest in a computer upgrade to get more data/resolution. Probably a low power amd venice or palermo, but microatx isnt that small and that will all mean using (loud) fans and less battery life.
If all goes well I will shoot test footage in morocco in 3 weeks and I'll be sure to post what i can.
Noah Yuan-Vogel December 8th, 2005, 12:32 AM Oh yeah check out that photo album again for pictures of my camera housing and $20 mattebox and $20 rod support system and the camera housing. I havent had the chance to take/post pictures with my new lcd mount and handles or with my nice new UV/IR blocking filter (much better color now) but I will try when im not so incredibly busy.
Marcus Marchesseault December 8th, 2005, 05:40 AM Hey, it's turning into a camera package! Nice work. What is the black material used in the case and rod support? How do you keep the pieces that clamp onto the rod support in place? Are those hose clamps glued to the crossbar pieces?
I really need a rod support and battery box platform, so this post is perfect timing.
Oscar Spierenburg December 8th, 2005, 05:48 PM Strange that this isn't a huge thread. It's very much over my head, this whole thing, although it sounds very simple. So how much does the sumix M73 cost?
One other thing, it seems that it wouldn't be suited to use in combination with a 35mm adapter when it comes to light etc.?
Noah Yuan-Vogel December 11th, 2005, 05:33 AM Yeah I sort of expected more interest, but I guess the whole diy HD has died down a lot perhaps largely due to the introduction of new, affordable HD cameras.
To answer your question, the m73 camera head cost me $800.
As for 35mm adapters, I agree about the relatively poor light performance making it a bad candidate for such an adapter, but then again, somehow I just got an amazingly sharp schneider-kreuznach (sp?) 17mm f0.95 c-mount lens on ebay for $1+10sh which on a 1/2" sensor aint too bad for getting shallow DOF AND better exposure.
in theory it is pretty simple, only problem is its not simple and its gonna get complicated if i have to start moving away from sumix's easy to use functions for some of their undocumented ones or even programming registers myself since some of their functions can be lacking for my purposes (their fps setting function doesnt care much about minimizing rolling shutter or necessarily even keeping framerate consistent or accurate, for example)
oh yeah and if anyone knows how to set windows at one resolution and scale it and output it to a vga monitor at a different resolution (some scaling utility or something?), i could really use that since the 7" lcd i got that said it could take 1600x1200 actually cant and i dont have the time to return it.
Oscar Spierenburg December 11th, 2005, 06:20 AM I see you are building a portable PC for the camera, but I was also wondering, if you could (if the right software is there) record the m73 to a laptop, or maybe such a tiny new mini-Mac?
Anyway, if I was wearing a hat, I would have taken it off. Keep it up.
Noah Yuan-Vogel December 11th, 2005, 10:29 AM I considered that, but first of all laptops and mac mini's generally have 2.5" hdd's and usually not more than one (kinda need a dedicated drive to keep all the disk writes linear and uninterrupted), making it tough to get the disk write performance required for raw data and high resolutions (they usually cant sustain much more than 10MBps, maybe 20MBps for new 100+GB drives, and proabably a lot worse if you are sharing it as a system drive). As for the mac mini, sumix only has drivers for windows and I only know how to develop for windows anyway (and hardly even that but im learning :P). Plus i like that it all goes together and is modular, on a laptop id be paying for a nice screen that cant move around and might be pretty unusable when shooting handheld.
Oscar Spierenburg December 11th, 2005, 03:31 PM Of course. I didn't mean to ask why you weren't using a laptop, that's absolutely clear.
I just wanted to know if other people could give it a try (with a laptop)without having to know how to put together such a difficult thing you are building.
Noah Yuan-Vogel December 11th, 2005, 04:20 PM Oh yeah its certainly possible and i imagine for certain uses even better. Perhaps with a firewire or USB (on a separate USB bus) hdd, or even on a notebook harddrive. Actually the limitations on processing power and hdd performance might be pretty well matched on a notebook hard drive and a slow system like mine which seems to be maxing out on CPU power displaying and capturing about 15MBps worth of video simultaneouly which is unfortunately quite a bit lower than my target bitrate but thats what i get for thinking a passively cooled 1ghz intel with no cache would be enough. If I perfect the software/prototype I'll eventually also upgrade the computer.
But thats the beauty of a diy camera, you dont need to get a whole new camera to get a better camera, just upgrade the poorest component.
Keith Wakeham December 11th, 2005, 04:49 PM Noah, congrats on trying to put this together. It is a lot of work but it definetly can be done.
Some people might feel that these threads have resulted in nothing but failure. That doesn't hold true at all IMO. Reel stream started here, and The Drake camera was shown here, my project and Obin's started here and are both now something that isn't ready (but doesn't mean that they have been given up on at all). The reel stream is successful and people are getting it modded. The Drake camera works but never went commercial, and it still might.
So the primary groups that were here are either working on stuff that is (no offense) to complicated to be discussed here or have not gone commercial. Things at embedded hardware and circuit levels so it makes it hard to discuss things here.
So I'm keeping an eye to this too thread.
So just a suggestion, their was someone who mentioned a cameralink card with onboard scsi controller. This would eliminate the need for the computer to do the storage processing and you just need to program the software to preview and select when to write to disc. Just a suggestion.
Noah Yuan-Vogel December 11th, 2005, 10:27 PM yeah i recall hearing about various cameralink cards that would do such things, as well as ones with built in ram slots for solid state recording to many large ram chips. Of course all these, including cameralink even at its most basic level I deem too expensive for my project, my entire computer section cost in the range of $500, a simple pci cameralink card costs about that much by itself. Those special direct recording solid state/scsi cameralink cards i imagine cost in the range of $1000-3000, not to mention cameralink versions of cameras may cost more and have difficult (and expensive) programming interfaces.
I think such options are great solutions but thats not what im trying to do. If i had $5000 to throw around on high end hardware, it probably wouldnt feel right to use homemade $20 matte box, $20 rods, and $40 case on it, and oh yeah i might actually have bought some tools instead of putting it all together with my uncle's screwdriver and hammer and a drill i borrowed from work for a day :P
Keith Wakeham December 12th, 2005, 06:07 AM I'm sorry, I thought you were using the SI-3300 in cameralink. Forgot it was the sumix M73. That is definetly my mistake, sorry, I shouldn't have been so careless suggesting a higher end cameralink card when your not even using cameralink.
Didn't realize you were so far along, just checked out you webshots and you've pratically got the whole camera setup built. Congrats on that. For people who haved seen it check out the link at the top of the thread.
Oscar Spierenburg December 12th, 2005, 11:47 AM I'm just writing out of curiousity...but which cmos camera heads (usb) are suitable for these projects? I see allot of these cameras for machine-vision and medical applications etc.
I know the Drake thing has an IBIS5A with stunning results, but that's not usb is it?
Noah Yuan-Vogel December 12th, 2005, 12:43 PM I'm pretty sure drake was built from the ground up with a custom camera head and embedded hardware and whatnot, so its probably not even cameralink or usb, but i could be wrong.
As for USB, I checked out silicon imaging and lumenera USB camera heads but they seemed to cost a lot more than sumix. Actually steve nordhauser from SI specifically told me usb didnt seem like a good way to do even 720p24 but ive generally been able to get 30+MBps (1536x864@24fps) over USB on my integrated VIA chispet (intel would be even better).
As for other sumix cameras, someone on these forums was playing with their ibis5-based camera (150c) and had some interesting stuff to say about it. It probably wasnt as good for our purposes as drake's implementation of the chip. It appears to have bad color and poor light performance, whereas the m71 sounds great in low light but seems to have smearing so thats why i went with the m73. Theres always fast lenses and gain to improve light performance.
Obin Olson December 12th, 2005, 03:59 PM I have had lots of time with that 3300 cmos chip, it will not work, the rolling shutter is no good for cinema production or VFX work.
sorry, your doing the same thing I did months ago...
Oscar Spierenburg December 13th, 2005, 05:51 AM That's bad news...So what effect does a rolling shutter have.
Noah, did you already test it enough to see if it's any good?
Wayne Morellini December 14th, 2005, 08:01 AM I'm pretty sure drake was built from the ground up with a custom camera head and embedded hardware and whatnot, so its probably not even cameralink or usb, but i could be wrong.
Yeah, it was enhanced from an existing Camera, the effort was such that I would think it might be the best Ibis5 camera on the market, and much much better than the Sumix. It is unfortunate that the example footage they showed was from an uncolour corrected dream sequence, where it was deliberately dull and lacked colour (to mimic dreaming) and they did not use the 12bit mode and the dual slope latitude enhancement, which would have made elements in certain scenes look twice as good (like flames etc, which looked cool anyway, because of the almost industry leading well capacity of the sensor pads). I wonder when the film is coming out, like to see it locally?
Noah Yuan-Vogel December 15th, 2005, 11:55 AM Ok guys, regarding rolling shutter, I've read most of what there is to say about it on these forums. Rolling shutter issues are not inherent to a sensor so much as to the frame time which is just controlled by framerate and blanking as i understand it.
Obin, I know you've worked with this sensor, in fact I went with this camera partly due to your work with the 3300. I know you do not think this sensor is good for motion picture work, but from what I have seen, given significant vertical blanking (high pixel rates and low frame pixel counts) I think it is possible. You were working with more pixels than I intend to. I will use <30MBps out of the 48MBps with all the extra pixel readout going to vertical blanking for less rolling shutter.
I admit camera tracking for vfx might not be possible, but we will see, im hoping rolling shutter will be unnoticeable, i will at least do my best to minimize its effects and i think i can to a level where i can make movies with the camera .
Oscar Spierenburg December 15th, 2005, 06:39 PM Good luck and keep us posted (or: keep the posts coming). I'm very much interested in the this project and in the general concept of the usb2 or firewire CMOS heads. If anyone can comment on which specs to look out for, which camera types are generally usable.
I know now that the global shutter would be better, but does that effect the cost much?
I also see most of these usb CMOS cameras come with simple software to adjust main settings like frame rate and size, exposure and such. Would this software be sufficient for simple recording or is it strictly designed for industrial machine-vision/whatever it is used for?
EDIT: What's a half global shutter? mentioned on this page:http://www.lumenera.com/industrial/lu205.php
Oscar Spierenburg December 17th, 2005, 01:31 PM While waiting the results from Noah, I've been looking around on the web...would a camera head like this (http://www.pixelink.com/products_info.asp?id=43) be any good? The price is not as high as I thought it would be.
Noah Yuan-Vogel December 20th, 2005, 11:15 AM I looked at pixellink's cameras as well. That looks like possibly the IBIS5 (im not aware of that many other 1280x1024 2/3" global cmos's that can do ~48MHz). I mean it might work but then so might sumix's usb version for $700 less. I dont know much about what kind of sdk pixellink provides. Sure does seem like there are only so many cameras out there that do what we want and even fewer sensors.
Wolfgang Neun December 21st, 2005, 02:41 AM Noah,
I'm very interested in your camera project.
May I start with a question (in fact, it's more than one)?
Why do you replace the uv/ir filter? Or do you add one? If yes do you place it in front of or behind the lens? Has it arrived yet and do you have pictures to compare? Is there a difference with or without the filter?
Thank you!
Wolfgang
Oscar Spierenburg December 21st, 2005, 05:19 PM Hey, about the rolling shutter, have you seen this (http://www.guthspot.se/video/deshaker.htm#rolling%20shutter%20setting) ? (scroll down half way)
It says to 'almost' completely remove the rolling shutter artifact on pans and camera shakes. (not for fast moving objects though) It's designed for the HC1, but maybe it's worth a try.
This makes me wonder if there isn't a plug-in for AE, or other post software, to remove the artifact or hide it in a forced motion blur or something like that.
Noah Yuan-Vogel January 2nd, 2006, 12:00 PM Wolfgang
Well the camera came with a screw-in ir filter and i replaced that with a uv/ir filter that goes in front of the lens. I did this partly because i wasnt happy with the performance of the behind-the-lens filter, and it seemed to significantly affect the flange focal length in the c-mount (glass is thicker than air). There is a huge difference with or without one. With, the picture has color, without, the picture is basically monochrome, with inaccurate shading, and twice as bright. I must have some pictures around somewhere with the filter, lemme see what i can do. only problem is i only have internet now at an internet cafe and havent gotten to play with the camera at all in the past few weeks.
Wayne Morellini January 2nd, 2006, 12:37 PM Sounds interesting.
John Wyatt January 4th, 2006, 04:39 PM I'm following Noah's project closely because, although there have been several previous DIY uncompressed threads here using industrial/scientific cameras, their accumulated costs have still been beyond my reach. I'm sure I'm not alone in having checked out the manufacturers websites, got excited by the camera specs, then finally you get the quote and the dream is all over! For the first time I feel this USB camera is something I could actually afford to experiment with myself, which makes it of more than acedemic interest.
Noah, I checked out the Sumix site and the screenshots of the software look very comprehensive in personalising the camera/capture settings. Can you explain why it doesn't work well for film making?
Happy New Year all.
John.
Noah Yuan-Vogel January 5th, 2006, 11:44 AM As I think I mentioned a little bit, sumix's standard application doesnt have any really good way of recording video in a useful way. The options are record to avi and save to .smx (or something along those lines). saving to AVI records RGB AVI to hdd, debayering and saving video 3x the size of bayer video, this creates ridiculous hardware limitations since its hard enogh recording uncompressed bayer in real time let alone rgb. saving to .smx records bayer to memory and then saves that to a file. this isnt so bad but records only exactly the number of frames necessary to fill your RAM. These along with being forced to use a mouse and having to choose exposures in milliseconds using a slider and other unfriendly things, make it not the best interface for filmmaking. But perhaps it could be used, and they are things that can be improved upon considering the flexibility of the camera and the api.
Wayne Morellini January 6th, 2006, 01:27 AM I'm not upto this, but I have suggested in times past, making an Visual interface (Visual C/basic) that pipes commands (command line) to the capture program as if it was a plug-in. So now you have any interface and controls you wish, and th's shuttering. You are basically relying on the softwares Real-time programming, without redoing it yourself. If it works, big "if" then it should be relatively simple, taking a few days after you get to grips with everything needed to be done and understood about the programming process through commands line/piping (or whatever else is available) and the software itself.
To record the bayer, is it possible to save it as a 8 bit grey scale (or one channel) avi then interpret/convert it in the editor/trans-codec?
Noah Yuan-Vogel January 6th, 2006, 10:45 AM youre saying to basically write a macro to control their standard application? that might work, but it also would probably be no more difficult from starting from scratch. their standard application basically just uses all their api functions in their simplest forms giving them form buttons and sliders and whatnot. and just attaching some kind of macro wouldnt solve the problem of the application's capture limitations. the only advantage i see is in some of the features of their app that arent directly out of the api, like the framerate counter.
Wayne Morellini January 6th, 2006, 07:51 PM Noah,
Writing new API, is starting from scratch and is very difficult. The real disadvantage you mentioned, was not being able to output an grey scale avi (I assume such a mode exists) instead of the RGB one.
As I understood from your description, the problem (apart from API capture) was that the interface was presented the wrong way without external non mouse controls. Can you explain the things that an new interface program will not solve?
John Wyatt January 15th, 2006, 08:27 PM Noah, I would like to experiment with a M73 myself, though probably (to start with) working within the limitation of recording to RAM. I have 2 Gb of RAM in my desktop, and I understand 2 Gb is the maximum a laptop can be upgraded to. 2 Gb of RAM makes the scheme viable - well, for me anyway:
2 Gb of RAM split up for 0.5 Gb computer RAM, 1.5 Gb for "RAM disk".
USB 2.0 = approx 50 MBps.
1280 x 720 x 24 fps at 10-bit Bayer = approx 27 MBps.
27 MBps into 1.5 Gb RAM = approx 55 seconds.
Therefore, if these figures are right, 1280 x 720 x 24 fps at 10-bit could be recorded for around 50 seconds per shot. This may seem laughable to some people, but hey, when you're desperate to shoot HD, 50 seconds at a time is better than a non-stop hour of HDV! Can anyone give me some website links to find out how to set up RAM as a disk? Noah, does the Sumix software facilitate copying the RAM file to HDD, or can you simply drag/drop within "My computer"? Is the SMX format a single video file or sequence files?
All the best,
John.
Oscar Spierenburg January 16th, 2006, 05:44 AM That is a very interesting question. I also like to know more about that.
When you can only film 50 sec. you'll have to plan carefully what you are filming, that's not a bad thing. It's like shooting on an expensive film stock.
Carl Jakobsson January 16th, 2006, 06:04 AM I don't think 50 s is a problem if you're going to film short films and such. It's very seldom a film a take that is more than 30 seconds.
Wayne Morellini January 16th, 2006, 06:46 AM You should be able to get 4GB on some laptops, maybe even 8GB. If you want to make a small computer instead, Juan posted a board on the cinema project threads that could do 8GB. They looked at lots of boards on those threads so it is a good way to find manufacturers. One of the problems they had with disk drives was finding a board that could handle the data width over the bus, from pci?/usb bus to hard disk, so it is good that they are on separate subsystems, or that the bus has enough bandwidth to do it.
http://www.win-ent.com/MB-06047.htm
Something rings bells in my head for 16-32GB on a board, maybe, an main board, or maybe a Ram disk like this one: but with more capacity:
http://www.gadgetspy.co.uk/2005/10/01/gigabyte-i-ram-launched
Rob Lohman January 16th, 2006, 07:13 AM The maximum you will be able to get over USB2 is 1280 x 720 @ 48 fps (in 8 bit),
in theory you might be able to squeeze out 1920 x 1080 @ 24 fps but I doubt
that'll happen.
To record the first to disk uncompressed in bayer format you need 42.19 MB/s
(or 21.09 MB/s for 24 fps). The second needs 47.46 MB/s.
It is a challenging project, but should be fun. I'm not convinced you can make
it perform good enough in Visual Basic though. When we where looking at it
a while ago we were talking about C and hardcore assembly with SSE / MMX
instructions.
Real-time compression will probably be a must unless you can squeeze in a
hardware RAID system. Doing 10 or 12 bits per color channel is even more
challenging.
Good luck!
p.s. hey Wayne, long time no talk :)
Wayne Morellini January 16th, 2006, 08:18 AM OK, see you shortly ;)
John Wyatt January 16th, 2006, 12:42 PM Rob, I was thinking of a less ambitious frame size of 1280 x 720 (not 1920 x 1080), though at 10-bit to make a real digital negative (not 8). I thought in RAW this was 27 MBps at 24 fps, maybe I got it wrong? Can someone confirm this datarate, and also the sustained datarate of USB 2.0 to be around 50 MBps in order to accomodate it? One of the Sumix software recording options is RAW to RAM, which takes away the problem of relatively slow HDD's in conventional laptops.
Good to hear from you again Wayne. Thanks for the info about laptop RAM capacities which are greater than I knew. I imagine laptop RAM is more expensive than desktop RAM (?) so on my budget, I'll probably be limited to 2 Gb anyway, but at least I can look forward to more. I was thinking of buying a laptop specifically for RAM recording, so would need to check what the max RAM capacity of the mobo is to avoid upgrade disapointment later.
Carl said: "When you can only film 50 sec. you'll have to plan carefully what you are filming" -- yes, it reminds me of shooting super-8 when I was a kid. Each cartridge lasted about three-and-a-half minutes, so it focuses the mind
somewhat. It was no different when I later had a 16mm wind-up Bolex which used 100 ft rolls. If you actually time 50 seconds it's surprising just how long it is to film a single shot. Certainly, recording separate sound shouldn't be a problem since you probably won't have enough time to lose sync over 50 seconds, though you'll burn up valuable time using a clapperboard marker!
I came across a utility called (appropriately enough) RAMDisk, which may be what we need to divide up RAM and have Windows recognise the extra part as a disk (it costs $49). I found it on the Cenatek website: www.cenatek.com
Thanks everyone,
John.
P.S. Wayne, anything new on the possibility of recording to a portable games consul?
Wayne Morellini January 16th, 2006, 01:41 PM Nothing new in that area. It would be possible, but you would have to make special engineering on the hardware bus (though there is a type of device configured to get over the slave on thing I saw somewhere in the last 6 months). Too late, can't think about it at the moment, but you basically lend up using the device as a display.controller to control the disk to make a copy of what is being sent (you could record through a disk connected to the memory card but don't know if that has the bandwidth), But when the smaller PSP comes out and the Gameboy Advanced 2 (we think based on the Gamecube) we should be telling some very nifty hardware. There is the possibility of performing some compression to, but as Sony knocked me back for a developer kit, it might pay to look at the third party opensourced kits out there.
Hmm, there is actually something new, the Gamepark GP32 people are doing another handheld and the Gizmondo people have a similar device/phone also coming. If somebody could hack a camera you could probably get results with a lot less hassle (the sensor's built in, all you need is a drive pack and lens adaptor, not so stupid guys, just think of them as awfully well featured little camera heads).
Now about USB2.0/Ethernet cameras and bandwidth. These industrial cameras use a 16bit word format to send data. So if you send 8bits it will be packed in a 16bit word (is that right Rob) so 22.5MB/s would become 45MB/s (which is close to what you can get out of USB2.0). But I'm pretty sure that it will pack two 8 bits into 16bits, so your back to 22.5MByte/s (I think that is 720p at 24fps). Remember to use Windowing to get a 720p picture, otherwise it will send the whole frame and consume more bandwidth, but you know that already. But what happens if you send 9+bits, you are suddenly are up to the 45MB/s mark again as anything over 8bits get packed with 0's (but I think the Sumix cameras are only 8 bit, make sure that they have the internal Gama curve pallet feature and guaranteed frame timing (locked to frame rate) that they indicated to Ben on the other thread before). But that is not all of your worries, the data does not come out at even speed, between each frame of data, even each line maybe, is various internal processes, including the shutter, So now that nice little 22.5MB/s is suddenly way big, depending on your shutter speed etc. But there is another problem called rolling shutter were the scene will change from the top to bottom line meaning anything that moves will slant in relation to how fast they move and how fast the shutter is (the Ibis models have global shutter which sacrifices light and requires more bandwidth, but good feature) to get rid of this you have to scan the chip faster (48fps is recommended) or use Global shutter. So this all effects how things come out and Can saturate a 100MByte per second PCI capture card trying to capture 24fps. SO make sure that you can trim your shutter/scanning timing to best effect (not going
overboard as that can effect the picture quality).
Now the good news, if you have a good USB2/Firewire/Ethernet camera setup, it will have a memory buffer that will even out the flow, hopefully to a good even 24fps. This will deliver 22.5MByte/s at a rate of 22.5MB/s not at 48MB/s etc If it has pixel packing, then pixels will be packed according to their true size end on end despite the 16bit boundaries (which they will cross with no complications) with no wasted bandwidth. I forget if the Sumix cameras have these. If you look through the project threads you will see discussion on these issues, particularly with Steve Nor.......(can't remember) and engineer/salesman from an rival company, that developed a Altasens raw camera/capture system for less than $10K (much less possibly) after being a here.
It is really late and I am really you know what, so I am sorry if this is a bit messy.
Rob Lohman January 17th, 2006, 04:17 AM The real-world maximum of USB(2) depends on a lot of things. So I can't really
say much about that. Okay, let's work out the table for 24 fps @ 1280 x 720
in RAW bayer format:
1280 x 720 = 921 600 bytes per frame (in 8 bits !)
921600 x 24 = 22 118 400 bytes per second (in 8 bits!)
22118400 : 1024 : 1024 = 21.09375 MB/s
That is if you select 8-bit mode. Which you can either select or perhaps use
8-bit log where 10 bits are made to fit into 8 bits, which may be an option to
still get the higher bitdepth but stay at a lower bitrate.
For 10 or 12 bits the camera (head) can do two things. Simply store it as 16
bits or pack it. If it just give you 16 bits (which hopefully an USB head will
*not* do, but only Sumix or the SDK can answer that) you can simply multiply
the numbers by 2:
1 843 200 bytes per frame
44 236 800 bytes per second which is 42.1875 MB/s
However, if it packs the 10 or 12 bits you get:
(1 843 200 : 16) x 10 = 1 152 000 bytes per frame in 10 bit
(1 843 200 : 16) x 12 = 1 382 400 bytes per frame in 12 bit
That's:
27 648 000 bytes per second in 10 bit which is 26.3671875 MB/s
33 177 600 bytes per second in 12 bit which is 31.640625 MB/s
If you count MB (megabytes) by dividing by 1000 instead of 1024 then simply
replace my numbers in the calculations (31.64 MB/s will become 33.18 etc.)
So to give you a table with rounded MB/s for 1280 x 720 @ 24 fps:
8-bit: 21.09 MB/s
10-bit: 26.37 MB/s
12-bit: 31.64 MB/s
16-bit: 42.19 MB/s (if 10 or 12-bit or not packed by the camera head)
Hope that clarifies some stuff
p.s. this assume the data is being send in complete raw bayer form, without
any other stream data as headers or audio etc.
Rob Lohman January 17th, 2006, 04:31 AM If you want to see a whole host of resolutions and bandwidths you can
download my Excel sheet from the URL below:
www.visuar.com/DVi/resolutionvsbandwidth.xls
(right-click, save target as)
John Wyatt January 17th, 2006, 09:37 AM Wayne and Rob -- thanks for your valuable imput. The way the Sumix camera/software does things is the great mystery at the moment. I'll try and find out more myself, and will be following Noah's tests with interest.
Thanks,
John.
Noah Yuan-Vogel January 23rd, 2006, 11:24 AM Believe it or not I am actually starting to get some work done on this camera. Unfortunately I have reached an obstacle wherein my original plan for mounting the infrontofthelens IR filter isnt quite a working option since the lens doesnt really mount to the mattebox/filter it only sits in the hole. I am trying to figure out a way to keep the filter mounted without light spilling in between the filter and lens and that still allows me to access the focus ring. Easy solution = get a step up adapter allowing me to directly screw my 62mm filter onto my M35.5 and M40.5 (anyone know what that means in standard filter size terms?) lenses. Problem is I am in morocco and no such thing exists unless i take a trip to casablanca which i just might end up having to do. I've been searching stores for several days for something to solve my problem with no luck. I'm also open to any DIY ideas anyone has for this problem. It is incredibly important that section between the lens and filter is closed to light since the filter is very reflective (reflects IR light, thats how it works) and the sensor very sensitive to IR light. So all light must come from in front of the filter not behind it.
Also, i quickly came up with a few pictures that are now at my newer photo website:
http://community.webshots.com/user/nyvz4
(in the camera project album)
Oscar Spierenburg January 24th, 2006, 08:44 AM The camera is starting to look wonderful. Do you only get still frames or have you already captured clips with it?
It's difficult to see from the pictures where the IR filter is. I'd like to help finding a solution though. What's the diameter of the lens, and how far to the front is the focus ring?
Noah Yuan-Vogel January 25th, 2006, 11:08 AM Ok bit of an update. I was playing around with my camera today and with my IR filter pain, I almost forgot how many good things there are about this camera. Anyway, I have interface screenshots and a sample video showing that video capture is pretty smooth direct to disk at 1024x576 24fps on my 1ghz intel. Also note the shallow dof of my super sharp 17mm f.95 lens (did i mention it was about $1 on ebay? oh yeah i did but i just like saying that again). Anyway I output this directly to divx avi from raw bayer using my conversion program which is going to be integrated directly into the playback interface of my camera program. My program read it out as something like ~23.7fps maybe with one weird frame or two (still need to iron out all the kinks in the way my memory buffers work i suppose). Also, I think that 23.7fps really means a few dropped frames rather than non-24fps performance, so i think the frames are still 1/24th sec just a couple might be missing.
Ok here is the link for the sample video:
http://rapidshare.de/files/11809919/01_01_01_01.avi.html
If anyone is interested in giving me a little space to keep video samples, let me know, I might even be able to do some with less compression. Ive never used rapidshare before so let me know if there are any problems.
Wayne Morellini January 25th, 2006, 11:26 AM You're doing your own capture program, congratulations, 1Ghz, sound like something somebody around here used to say. Anyway, Can you tell us more about this program, how it's programmed, what it is based on etc?
How does it perform under 720p resolution?
Noah, as you have such a good relationship with Sumix, could you ask them something for us. Previously they were supposed to be making
a camera for our needs. There was to be an Altasens based camera (very nice performer) and IBis5a based camera, with a buffer, compression engine and Gigabit Ethernet interface, that was to be released in 2004/2005. Can you ask them what happened to that? We just get big silence when we ask them.
One last thing, don't let people discourage you about programming your camera program, work professionally with expertise, and learn whatever you need to do the job properly ;)
God Bless.
Oscar Spierenburg January 25th, 2006, 02:20 PM Well, the first impressions are pretty good hey? No rolling shutter effect so far either. What is exactly the problem with the filter? Does the front of the lens rotate when you focus?
Noah Yuan-Vogel January 26th, 2006, 04:45 AM I certainly like the look and control I am getting from this camera. My filter problem is that the 62mm IR filter doesnt mount directly to the m40.5 and m35.5 lens threads. I can mount the filter in the matte box and fasten that in front of the lens using my rails, but then there is a lot of reflection from behind the lens. For those pictures and the video, I set the focus and then threw a black sock over the section between the lens and the filter to block out light (certainly not a lasting solution). Also I have tried using sumix's framerate function and also separately tried setting blanking myself, but the problem with 1024x576 at 2x2 subsampled is there isnt much to vertically blank and use to reduce rolling shutter, only like 192 lines of blanking... As for 720p, i experimented with that a lot before and its certainly possible just not with my little 1ghz shelton board, although i might be able to do it if i turned off display of the image to reduce cpu usage but then how would i see what im shooting. For now I am sticking to using as much of 1/2" chip as possible and doing 1024x576 for proof of concept and for development. Anything I do here will be easily scalable to 720p given a hardware upgrade which i forsee happening when i get back to the US in 4-5 months. Maybe then I'll go back to my original venice core amd cpu plan (or see what new technology i can use to my advantage).
Oh yeah about the program, its just a relatively simple vb.net app that controls sumix's camera API. It is intended as the single program necessary to do all of the things one might do with the camera and controlled entirely by a numeric keypad. There is a recording and playback interface which i posted screenshots of. the playback interface reads the raw bayer videos and can skip through them and works in conjunction with a simple commandline conversion app that uses the avifile api to convert directly from bayer to any avi format using the windows avi codec dialog and sumix's lapacian debayer function. for some reason the encoded video is coming out upside down for me but im sure thats an easy fix. It's interesting because my playback program reads the bayer data fine rightsideup.
Oh yeah and dont mind the crappy look of the interface, I had to resize it for my little 800x600 screen so it looks a little funky now, it was originally designed to shoot 16x9 or 2.35:1 images on a 4:3 screen so there wouldnt be overlap of the gui stuff on the displayed video. I'll probably wait to fix it again until i get a screen that can support more than 800x600. You may notice the display cuts off some of the video that was captured, thats because it displays 800x600 and the video is 1024x576 and sumix's video display function doesnt scale the video without scaling the stream (using subsampling).
Noah Yuan-Vogel January 26th, 2006, 04:47 AM that link again for screenshots of the gui and captured stills is:
http://community.webshots.com/user/nyvz4
|
|