Aqueti is developing ultra-high-resolution (>10X digital zoom out from single-pixel display size) cameras for security and other markets. ReliaSolve is working with them to develop the GPU-based decompression, tiling, rendering, and re-encoding portions of the pixel pipeline to enable viewers to pan, tilt, zoom, and move in time in a seamless view of the world. The video above shows an early prototype running against ReliaSolve-simulated input videos, here displayed on a tiled display wall. This includes reprojection, distortion correction, blending, and synchronization. Current work involves GPU-based PBO caching of uncompressed texture using multiple CUDA streams for predictive decompression coupled with CPU-side predictive compressed-image caching.
The picture above shows an early prototype of the camera input system whose set of synchronized, high-resolution microcameras produce the compressed video streams that are selected, reassembled, and rendered.
The image above shows a joystick-controlled interface that allows panning, tilting, zooming, and scrubbing through time on the video produced from the camera seen above. Differences in exposure time from the cameras during this early trial run make it possible to see the seams between the subsampled and tiled microcamera images. The final product includes correction for this, producing a seamless stitched video.
ReliaSolve also designed the Application Programmer’s Interface to Aqueti cameras, implementing the C++/C hourglass design and a SWIG Python layer to enable upgrades without re-linking applications in C, C++ and Python. The API was documented in DOxygen and includes test and example programs in C, C++, and Python for all functions.
ReliaSolve worked with Aqueti to help the cameras pass ONVIF conformance authentication in profiles S and G.