Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Linux Software

A Reconfigurable High-Res Network Camera 117

An anonymous reader writes "This technical article describes the architecture and design philosophy behind the Elphel Model 313, an intelligent 1.3 megapixel network camera that delivers full-sized images at up to 15 frames per second. The design of the Model 313, which has an embedded Linux computer based on an Axis ETRAX 100LX RISC processor, makes use of a reconfigurable Xilinx FPGA for much of the camera's internal control logic. Because both the embedded software and FPGA hardware algorithms are released as open source technologies, developers can readily customize the Model 313's operation to meet specialized requirements."
This discussion has been archived. No new comments can be posted.

A Reconfigurable High-Res Network Camera

Comments Filter:
  • Yes (Score:5, Funny)

    by Lxy ( 80823 ) on Wednesday December 04, 2002 @12:02PM (#4810992) Journal
    but can I mount it on my model train?
    • ...but is it wireless?

      Can I put a PCMCIA 802.11b adapter into it? (and use the tracks as an antenna? :P )
      • Wow. I'd actually reaaly like to know that.
        I did a job with an axis 2400 that we hooked it up to a cisco aeronet thing. Worked a charm... But EXPENSIVE.
        This baby+80211b addon would be fsking majik.


    • "...but can I mount it on my model train?"

      that going to be our new catchphrase?

      IN SOVIET RUSSIA...

      Imagine a Beowulf cluster...

      Does it run Linux...
      • by Lxy ( 80823 )
        that going to be our new catchphrase?

        I doubt it. Only when talking about webcams or trains will this come up.

        Help me out... where did the soviet russia catch phrase come up? And why is it always modded to funny?
    • But will we get protocol drivers to interface it with Linux?

      Just because it's "Linux Inside"(tm) doesn't mean we'll necessarily be able to talk to it [slashdot.org].
      • Ah.. If it's anything like the axis, it'lll be a streaming jpeg over ip.

        Streaming jpeg is quite litterally just a http stream with jpeg after jpeg after jpeg rammed down it. Inefficient but dead easy to decode.

        I swear you could probably write it in python.
  • by The J Kid ( 266953 ) on Wednesday December 04, 2002 @12:05PM (#4811010) Homepage Journal
    Yep. Its' offcial:

    Slashvertisements work!
    Just read this:

    [..] and after it was mentioned on Slashdot my company (Elphel Inc.) was flooded with inquiries regarding general purpose network cameras
    • I thought I turned popups off...
    • by Kunta Kinte ( 323399 ) on Wednesday December 04, 2002 @02:18PM (#4812187) Journal
      It's ok to showcase the technology of microsoft, apple, ibm, hp, etc.

      But if it is a small company, then discussing it on slashdot is bad?

      I for one would like to see more stories on small companies using open-source to try be make a profit. In a small way this should help promote open source adoption, as well as encourage more of people to support or start open source companies.
    • by pjrc ( 134994 ) <paul@pjrc.com> on Wednesday December 04, 2002 @04:53PM (#4813886) Homepage Journal
      Yeah, it's a product. But....

      It offers 1280x1024 at 15 frames per second. That's a LOT faster than other network cameras. That in itself is pretty newsworthy for slashdot.

      It's also open source. The software, drivers, firmware and hardware HDL code are all open. Even if it didn't have incredible performance, this makes it pretty newsworthy for slashdot. The ability to actually tweak the hardware-level processing and compression of the camera data is intriguing.

      The linked web page talks quite openly about the design process and how the thing really works (at least as a high level of abstraction). That in itself is pretty interesting and makes it fairly newsworthy for slashdot... at least as newsworthy as link to various writings describing how certain aspects of modern microprocessors work.

      So, call it a "Slashvertisement", just because it's a product for sale and the author stands to sell some.

      I think this is one of the coolest things slashdot has posted in quite some time. It's certainly a lot more interesting that yet another "sky is falling" story about privacy or copyright policy.

  • Price (Score:5, Insightful)

    by dildatron ( 611498 ) on Wednesday December 04, 2002 @12:05PM (#4811014)
    I think the thing that stops a lot of people from buying network cameras is that they are too expensive, so people only buy them when they are absolutely necessay. Otherwise, people just get an old machine they had laying around and hook it up to a webcam/video camera/digital camera.

    I know I would like a couple network cams at my house, but the price is still beyond what I would pay for something I don't really need.

    However, the 1.3mp is a plus - but you could probably get an old computer and an older 1.3mp camera for much cheaper. The only reason you would really need a network cam is if space was an issue. If there was ever one for sale for around $100, I would buy one. Until then, I just don't need one that bad.

    Interesting that this one as well as all the axis ones run linux.
    • Re:Price (Score:3, Informative)

      by Hegemony ( 104638 )
      Agreed. We had a couple Axis cameras temporarily "donated" by customers that were incredible products (easy to setup, linux based). Had them pointing at a couple foosball tables. I would definitely get one if the price point wasn't so prohibitive.
      • Re:Price (Score:3, Informative)

        by dildatron ( 611498 )
        The cheapest ones I can find are around $200 right now... Looks like maybe only another year or so of waiting before they become cheap enough for "fun project" cameras.

        here's a $200 after rebate camera [tigerdirect.com], and the cool 802.11b ones start at around $300-$400. [tigerdirect.com] Yow!
        • Re:Price (Score:2, Interesting)

          That's pretty neat for $200. Does anybody make
          just the encoding/ethernet part without the camera?

          It would be nice to connect some existing cameras
          to my local net.
      • Re:Price (Score:3, Informative)

        by KjetilK ( 186133 )
        Yeah, and that goes for another of Axis' products too, the Bluetooth access point [axis.com]. I would really like one of those for home use, but they are far too expensive right now. Also, I think I could settle for a simpler device.

        Right now, for my own home, which isn't too big, I think something like the MSI transcieving module [msi.com.tw] would be more like it. But I'd rather get something good from Axis which has excellent Linux support, than from MSI who doesn't support Linux explicitly at all.

        I've dumped their sales department an e-mail about this now and then, but never got a response.

    • Re:Price (Score:4, Informative)

      by Psiren ( 6145 ) on Wednesday December 04, 2002 @12:38PM (#4811272)
      It depends what you want to do with them. Granted for home use they are overly expensive, but at work we are using ~30 network cameras (not this one) for our CCTV, which runs in its own VLAN on our network. Works a treat.
    • Unfortunately, most consumer digital cameras cannot be controlled by computer.
    • Re:Price (Score:4, Informative)

      by angst_ridden_hipster ( 23104 ) on Wednesday December 04, 2002 @02:24PM (#4812248) Homepage Journal
      Hm.

      I just completed several weekends-worth of crawling around in my attic dragging coax and 12 v power out to points around the perimeter of the house for a secondary security system.

      Rather than doing the network camera thing, I'm bringing all of the cable to a PC running "motion" (http://motion.technolust.cx). This is video, so it's a lot lower resolution than 1.3 mp (~3.8 kilopixels).

      Still, I can get about 15-20 fps on 4 streams easily enough.

      It's enough for decent security monitoring. The cables are basically inaccessible, the thing's all on a UPS, and it'd take an expert to find the box where the stuff's getting recorded.

      If I'd been a better shopper, the system would have priced out much lower. But with buying weatherproof color bullet-cams a couple of years ago, this is not price competitive with the network cams.

      Interesting how quickly this kind of thing changes!

      • With the cameras, either make them very invisible or have them very much in plain view.

        Just make sure that if the cameras are not easily visible first off to put little stickers around saying "off-site video recording", or a dummy VCR with a tape in an obvious place.
        Otherwise the thought patterns of thieves go like :

        (thief ransacking premises.. spots a camera)

        "Crap, a camera!... must be a VCR here somewhere taping us!"

        (Search of premises ensues)

        "Where *is* it?!?!... hmmm, better torch the place to be on the safe side."
    • Re:Price (Score:2, Informative)

      by Tomun ( 144651 )
      How about the eCamIt [3jtech.com] its about $169 [computechintl.com] ?

      I've been playing with one today, you have to use the windows only software to grab images from it, but the hardware seems nice.
      Personally i'd rather have a camera with a web server built in but those are somewhat more expensive
  • by AugstWest ( 79042 ) on Wednesday December 04, 2002 @12:09PM (#4811042)
    HID is the Human ID at a Distance program that DARPA is working on. Their goal is to develop technology to be able to positively ID individuals from a camera at a distance of 150 feet.

    You can check it out here [darpa.mil].
  • by EnglishTim ( 9662 ) on Wednesday December 04, 2002 @12:11PM (#4811057)
    I've recently bought a Fuji S602Z - lovely camera, but there are a few little features it'd be nice to have that it doesn't have at present. I'm sure many of them wouldn't be too hard to code, but currently I just have to hope that Fuji will make the changes in any firmware update that they do.

    An example is exposure gating. Currently my camera will take a series of three pictures, one normal, and two with slightly higher and lower exposure levels than the current setting. I'd like to be able to set this to five or more levels as it would be very useful for taking high dynamic range pictures. (You take a series of pictures at different exposures and combine them to produce a pictures that that a might higher range than a standard picture) Unfortunately, it's a bit of a niche need (useful largely only in post-production) and it seems unlikely that Fuji will implement it.
    • by Anonymous Coward
      fuji normally does NOT do firmware updates that are avilable to the public
    • It does Auto bracketing, +/- 3 or 5 steps of 0.3, 0.7, or 1.0 stops. The camera has so many features I have barely begun to explore them. This isn't a Camera that has a computer controlling it, It is a computer that takes pictures. In manual mode it has: 7 different white balance modes, 4 differnt light metering modes, 4 different "film speed" simulations, 3 focus modes, 5 different multi-shot options. I just keep it on automatic mode and it takes great pictures no matter what you throw at; from sunsets to still life flower arangments:
      • I'm not worried about my choice of camera - I didn't actually buy it specifically for taking HDR photos - it's just a good example of the kind of way in which you might want to customise the firmware. I was tempted by the Nikon 4500, but I wanted a longer zoom. The Fuji may only have 3 bracketing shots, but otherwise it does seem very flexible.

  • Wow! (Score:4, Funny)

    by Koos Baster ( 625091 ) <ghostbusters@xs4[ ].nl ['all' in gap]> on Wednesday December 04, 2002 @12:13PM (#4811073)
    > Because both the embedded software and FPGA hardware algorithms are released as open source technologies, developers can readily customize the Model 313's operation to meet specialized requirements.

    Great. I'll start reconfiguring it to capture 5 Megapixels right away!

    --
    Drug, Noun: A substance that, injected into a rat, produces a scientific paper
    • Re:Wow! (Score:3, Funny)

      by Virus1984 ( 624552 )
      Great. I'll start reconfiguring it to capture 5 Megapixels right away!

      Your digital camera may be capable of higher resolutions, download BonziBooster now !

  • ...then to discover that it's only 1 Megapixel.

    I would love it if there was a 6 Megapixel camera with a TCP/IP interface. I'm building a system where we have to use SLRs with digital backs in embedded applications (and they don't last long there!) just to get the resolution we need.

    • Interesting. Would you mind telling me what kind of application you need that high of a resolution for (in a network/webcam)? 6 MP is a lot for a fixed camera! or are you doing remote photography for prints or something? I'm interested.
    • How many 6 Megapixel shots from your fixed network camera do you need? Do you think your fishtank is that interesting to people?

      Honestly, the interesting part here is that it's a self-contained network camera. Jamming features into a device doesn't necessarily make it better. If it's primary purpose is a webcam, then you don't want huge downloads... hence the jpeg compression.
      • How many 6 Megapixel shots from your fixed network camera do you need?

        Our application is portrait photos with an automated camera. You want to be able to print out a professional quality 8x10 or 11x14...

        Right now we need a camera that's not designed for embedded use, tethered to a rather large PC in a secure box.

  • by arvindn ( 542080 ) on Wednesday December 04, 2002 @12:14PM (#4811087) Homepage Journal

    Hmm... Lemme guess what the license for an open source camera would be like:
    Whenever you distribute pictures taken with this camera, you have to distribute the negatives too :)
  • FPGAs rule! (Score:3, Interesting)

    by Leto2 ( 113578 ) on Wednesday December 04, 2002 @12:20PM (#4811130) Homepage
    FPGAs are so cool.

    Imagine you whole processor made out of FPGAs. Then, when the compiler detects there's a whole bunch of multiplication coming up, it instructs the processor to reconfigure itself to be good at multiplication, on the fly!.
    Or, when you do a lot of I/O, reconfigure the processor to have more concurrent access to your cache.

    The possibilities are endless.

    • Re:FPGAs rule! (Score:3, Informative)

      by Anonymous Coward
      A lot of research has been (and still is) devoted to this. A lot of work still has to be done before this can become a practical and commercial reality. A couple of companies even tried to commercialize such technology over the last couple of years, and most went belly-up (I did my Master's in cooperation with such a company).

      One of the major issues with current FPGAs is the ability to reconfigure only part of the device without affecting the rest. Also, configuring larger devices takes a *long* time. I work with big Xilinx Virtex-II devices, and with a board with 9-10 on them, it can take a long time before they all get configured, even with the fastest configuration interface.
      • One application I've heard about is a VOM/tester that used an FPGA for its main processing unit. When you switched the unit's function from one application to another, it would reload the FPGA with the appropriate 'stuff' and run.

        I don't recall the manufacturer, but seem to remember they're no longer around.
    • Re:FPGAs rule! (Score:5, Interesting)

      by Space cowboy ( 13680 ) on Wednesday December 04, 2002 @12:41PM (#4811299) Journal
      Yes, they're cool.

      They do not (and won't for some time) run anywhere near current CPU speeds. 200MHz in the sort of FPGA he's talking about takes very good knowledge of the internal FPGA architecture, and excellent HDL skills. There's a top end limit (not sure where it is, but it's about 3-400MHz in an FPGA that cost $2k)

      There is no way you'll be reconfiguring your CPU any time soon, but having an FPGA resource on-hand would be useful. Reconfiguring for sorenson/MPEG/M-JPEG would be a neat trick.

      FPGA's get their speed not from the clock as much as from their inherent parallelism - you can run each of the units slower, but have multiple units where it may not make sense in the general case.

      Simon
      • There is no way you'll be reconfiguring your CPU any time soon,
        No, but with the Xilinx Virtex II Pro [xilinx.com] you get PowerPC's surrounded by programmable logic. This gives the best of both worlds.
      • FYI, I recently did a test using a Xilinx FPGA to see how fast I could clock a signal from one register to an adjacent register (i.e. no combinatorial logic in-between the flops). The top speed on V2Pro (the latest and greatest from Xilinx -- .13 process and all that) was about 500 MHz in a -6 speed grade.

        (I am going from memory here, it *may* have been as high as 600 MHz.) In any case, like the man says, CPU speeds are a long ways away. The *top* top speed you can get for any real-world logic is going to be about 400 MHz, and that only for very specialized applications.
    • BTW, may I recommend the following optimization to your sig...

      echo '[q]sa[0=alc%Plc/ddlbx]sb256sc31350717901017685422 87578439ddlbx'|dc

      In fact, since you're not using extended ASCII, you could use 127sc, or even base c off of the highest value you're using plus one.

      Yeah, I know.. I really need one! *sigh*
  • by DarkHelmet ( 120004 ) <<ten.elcychtneves> <ta> <kram>> on Wednesday December 04, 2002 @12:21PM (#4811138) Homepage
    Yes, it runs linux, but can you get Apache and bind working on it?

    The moment I get mysql running on my webcam is the moment I realize I'll be single for life.

  • and you have a top notch security system. Real time cam monitoring from a laptop or other portable. Track the criminals down on the fly. Or what bout roaming cameras in high risk venues. Just my $.032 CDN
  • by CaffeineAddict2001 ( 518485 ) on Wednesday December 04, 2002 @12:30PM (#4811208)
    I mean come on - it wasn't even attatched to a model train!
  • by AugstWest ( 79042 ) on Wednesday December 04, 2002 @12:31PM (#4811222)
    You know, the ones that are hanging out in my house all the time when I'm not home?

    Will there be popup ads? God I love popup ads.
  • This is a little off topic, but I'll ask anyway:

    For a fun project, I am building an automated microscope and need to buy a camera. I would like >1000x1000 pixels, I have to be able to control the camera from a c++ program (snap, grab, window of interest, exposure time). I would also like to do the project in Linux, but Windows is also an option. Microscope cameras tend to be very expensive (I'd like to pay $1000). Do you think this camera would be appropriate? If not, does anyone have any suggestions?

    Thanks.

    ps.
    Many people use the Nicon coolpix 950 for microscope projects, but there doesn't seem to be an sdk for it, so this is not an option for me.
    • Something like this seems very appropriate, but perhaps overpowered for your requirements, and I'm not sure about the cost(s). However, the components seem to be there as long as the microscope will support projecting a flat image onto the CCD array. The cool thing about the rest of this unit is that it is essentially programmable from that point on. Developing the rest of the microscope interface would be non-trivial, but doable, as what you're really talking about in terms of automation is essentially a "shutter" and image transfer mechanism
  • I require about 12 pages of overly detailed story before I can make the informed decision of whether to put this on my model train.
    • I agree. For instance is this camera compatible with blue-tack? If it is not compatible I'll have to totally redo my train set-up with duct tape.

      Also I'll need to set-up a Wi-Fi card and base station to transmit the live video to my computer.

      I know what everyone is thinking. How will I fit a wi-fi card in my HO scale trains? The exciting conclusion to my story will be posted shortly!
  • by jaredcoleman ( 616268 ) on Wednesday December 04, 2002 @12:45PM (#4811331)
    ...about Augusta not letting females play there and all, but to break off and start an FPGA is going to far.

  • 1. Detect when hot chicks are in front of the camera
    2. Start recording at maximum frames per second
  • by CodeShark ( 17400 ) <ellsworthpc AT yahoo DOT com> on Wednesday December 04, 2002 @12:55PM (#4811405) Homepage
    This is impressive work. As an avid follower of any technological improvement that can be used to lower the cost of creating high quality CAE (computer aided education), this looks like a winner -- but more so at a lower resolution than the top end of 1280x1024. Consider the author's text:
    "There are a couple things that need to be cleaned up to fix that frame skipping, and then the camera will provide 15fps at 1280x1024 pixels, 60 fps at 640x480 pixels, and 240 fps at 320x240 pixels over the LAN connection."
    Interpolating a bit, it seems reasonable that the camera could send 800x600 images at around 40 fps, which is a faster frame rate than standard NTSC video (60 half frames per second interpolated, 30 fps real), and at a resolution supportable by nearly all recent vintage consumer grade PC's, etc.

    Granted, this is hardware speed, so encoding the massive data steam from the camera into a compressed but high quality playback format is another task for another machine or machines. But I'm still impressed.

    As an example of why, take three of these, throw in some quality studio lighting, and come up with some editing software and hardware to mix the feeds together -- it looks to me like a person [with the technical knowledge to use the equipment and get good looking results] could create their own low cost production facility -- while still delivering image quality higher than is currently broadcast by most network and/or cable TV channels.

    • The frame rate of the Kodak KAC-1310 sensor used in the camera runs at pixel clock up to 20MHz,and the frame rate is calculated by the following formula:
      fps=1/(((H-1)*(W+44)+2672)*0.00000005)
      W : H : fps
      1280 : 1024 : 14.73704687
      640 : 480 : 60.54954769
      320 : 240 : 223.0450105
      160 : 120 : 742.1701054
      Hardware compression provides standard (quality,frame size) -> filesize ratios, for 1280x1024 50% quility gives 50-100k, so 15fps can be easily sent over the LAN. For smaller sizes/higher frame rates data rate over the LAN stays about the same, you just need to format image in multiple of 16x16 pixels.
      Andrey
  • unless there is a way to "compile" it.

    I admit I know very little about Verilog, but VHDL (a very similar Hardware Definition Language) tools are extremely expensive. However, you don't "compile" VHDL into hardware, you synthesize and P&R it, and if you use the wrong word people stare at you blankly and pretend they don't know what you mean.

    A compiler (compilers are used ONLY in simulation and are otherwise useless) and simulator like Modeltech costs $1000 for a crippled version, about $4000 for a complete version. You really can't work without these tools.

    Synplify Pro, a logic synthesizer, costs $48,000 (not including support) but a crippled version can be bought at a bargain for a little under $20,000 (though I heard rumor of someone selling it for less than $10,000).

    The synthesized logic then has to be mapped, places and routed, and turned into a binary. P&R tools like Xilinx ISE (slogan: "All the speed you need" puh-lease) cost around either $3,000 or $6,000, I don't remeber which at the moment.

    I know there are open source tools, but they aren't taken seriously by the people I've worked with (which honestly doesn't mean that much...).

    Maybe Verilog tools are cheaper, but I was under the impression that both languages are extremely similar, the differnce being Verilog looks like the chicken-scratch language C and VHDL looks like the elegant and readable Pascal. ;)

    Also, VHDL is part of my favorite acronym:
    VITAL, where the V stands for VHDL, where the V stands for VHSIC, (which stands for Very High Speed Integrated Circuit, I think)
    • As you may probably guess I do have some idea about the "synthesis", "mapping", "placing" and "routing". And still I called them "compillation" or do you know another single word of the process that creates a bit-stream file from the HDL sources?
      The tools I used for the camera design are $00,000.00 - http://www.xilinx.com/xlnx/xil_prodcat_landingpage .jsp?title=ISE+WebPack
      Andrey
      • >

        Sheesh, no reason to get bitchy. Maybe the word is "configure?" Maybe there isn't one word for all of that. How about "shirley."

        >

        That link is broken. Does that include all tools, including simulation?
        • Opps, I forgot you answered that question already. I should have asked "how did you simulate your design?"

          Also, I am very interested in anything Xilinx gives away free. What's the catch? Do they have the same deal with VHDL tools?
        • That will probably work: http://www.xilinx.com/ise/products/webpack_config. htm
          Simulator is too LT - see article
          And I thought of "configure" as a process of loading bitstream into the chip, not generating it.
          Andrey
          • I think it does, but I've also used it to mean everything.

            I just checked my VHDL books and none of them have one mention of the word "compile," but also don't use any other word to describe the process.

            "HDL Chip Design" does use "compile" for both languages, but I was never impressed with that book.

            Does Verilog use synthesis? I assume so...

            This is bugging me now. I'll figure this out, even if it starts a war on usenet.
  • Michael Crichton's new novel Prey involves what could be described as a reconfigurable high-res network camera.

    It learns to eat people.
  • Does anyone know of any $200 megapixel grade solutions?

    Maybe a digital camera with firewire output?

    DIY solutions welcome.

    Myren.
  • OMG! Imagine a Beowulf cluster of these things!

    [ 8^p ]

  • Show us some JPEGs... Isnt anyone curious what the output looks like?

Brain off-line, please wait.

Working...