Roadmap
Contents
Background
I (Andrey Filippov) quit my job and started Elphel, Inc. in 2001 (Magna, UT USA), all the projects were covered in LinuxDevices (complete list on the articles is available here). For several years Elphel was a one-man company, in January 2004 I wrote an article Taming of the Iron Penguin (Russian) in the largest Russain computer-related magazine Computerra and announced there a competition among the software developers for the best video steramer to run in the camera. That was a good idea and after the competition itself was over most of the developers remained in the Elphel team. At first - as volunteers, later - as full/part time employees.
Not all of these developers live in Russia - two, including the winner of the competition are from Kiev, Ukraine. But still all of them know Russian much better than English and so most of our technical discussions were on our private Russian-language forum. So far I failed to move these discussions to the broader audience but believe that Wiki technology can help. Here we will mantain most of the site in English but still have some pages/discussions in Russian, translating documents as we go. Or when somebody else needs it and is not satisfied with Babelfish automatic translation. We will try to keep English pages current - anyway even in Elphel not everybody knows Russian.
Please excuse not-so-good English of our developers and feel free to fix the errors if you see them.
Software Architecture of Elphel 3x3 cameras
Software in the Elphel cameras started from Axis Developer Boards Software and was amended for the camera specific functions. It was modified to work with newer hardware (models 303-313/323-333), support more features and now it seems to be a good time to make a major redesign instead of applying incremental changes.
Some discussion already started in Russian here - Nc3x3
Related to the architecture are the #Camera Interface and the #Client Software
Elphel will continue developing web browser based user interface with AJAX technique. That will require to develop/modify player plugins controllable from JavaScript and implementing specific features needed for video surveillance applications - multiple camera views on the same page, digital PTZ (inside the hi-res incoming stream) and temporal decimation (reducing frame rate) that uses as low CPU resources as possible.
Web-based user interface can be especially useful for the open hardware as it reduces the entrance threshold for the developer who would like to customize the cameras functionality - regular web development tools are sufficient for the job.
Camera Interface
Client Software
Video Server
PC-based video server that will archive incoming Ogg Theora incoming streams from several cameras and transcode them on the fly to lower resolution (binary decimation, windowing) and frame rate (i.e. using only key frames) presenting multiple streams (real time and recorded) to the operator. The external interface of the server might be one of the industry standard and compatible with 3-rd party legacy software.
Active Projects
Photo-finish
Photo-finish device made of Elphel model 333 camera with additional FPGA code and software - Photo-finish
Zeroconf for Elphel cameras
Elphel cameras and Zoneminder
We plan to make model 333 camera work with Zoneminder
USB host interface
* daugther board with USB and DC-DC power for lens control board 10334
Motorized lens control
* lens control board * DC-DC power board for motorized lens control board 10332