Fastvideo¶
Overview¶
Fastvideo is a world leader in the field of GPU image and video processing with technologies showing unmatched performance in image preprocessing, demosaicing, denoising, color correction, tone mapping, resizing, sharpening, encoding and visualizing for still images and for video streams in high speed imaging and machine vision applications.
Fastvideo has pioneered the first fully parallel JPEG Codec on GPU which is still the fastest solution on the market with absolutely incredible performance in the range of 30-40 GB/s on the latest NVIDIA GPUs with Pascal architecture.
Recently Fastvideo has released new version of JPEG Codec on CUDA which is able to work with 12-bit data almost with the same performance.
The latest achievement of Fastvideo is the fastest JPEG2000 codec on GPU.
Now Fastvideo is offering high performance SDK for image and video processing on NVIDIA GPUs (mobile, laptop, desktop, server) for Windows and Linux.
This SDK is intended for standard image and video processing pipeline for camera applications, covering all image processing stages starting from raw image acquisition to Motion JPEG (MJPEG) or JPEG2000 compression with storage to RAM or SSD/HDD.
All stages of image processing are done on GPU and this leads to excellent image quality and exceptionally high performance.
What is Fastvideo SDK?¶
Fastvideo SDK is a set of software components that correspond to high quality image processing pipeline for camera applications.
It covers all image processing stages starting from raw image acquisition from the camera to JPEG compression with storage to RAM or SSD.
All image processing is done completely on GPU, which leads to real-time performance or even multiple times faster for the full pipeline.
Fastvideo can also offer a high-speed imaging SDK for non-camera applications on NVIDIA GPUs: offline raw processing, high performance web, digital cinema, video walls, FFmpeg codecs and filters, 3D, AR/VR, AI, etc.
Who are Fastvideo SDK customers?¶
Fastvideo SDK is compatible with Windows/Linux/ARM and is mostly intended for camera manufacturers and system integrators developing end-user solutions containing video cameras as a part of their products.
The other type of Fastvideo SDK customers are developers of new hardware or software solutions in various fields: digital cinema, machine vision and industrial, transcoding, broadcasting, medical, geospatial, 3D, AR/VR, AI, etc.
All the above customers need faster image processing with higher quality and better latency.
In most cases, CPU-based solutions are unable to meet such requirements, especially for multi-camera systems.
Customer pain points¶
According to experience, when developing end-user solutions, customers usually have to deal with the following challenges:
- Before starting to create a product, customers need to know the image processing performance, quality and latency for the final application.
- Customers need reliable software which has already been tested and will not glitch when it is least expected.
- Customers are looking for an answer on how to create a new solution with higher performance and better image quality.
- Customers need external expertise in image processing, GPU software development and camera applications.
- Customers have limited (time/human) resources to develop end-user solutions bound by contract conditions.
- They need a ready-made prototype as a part of the solution to demonstrate a proof of concept to the end user.
- They want immediate support and answers to their questions regarding the fast image processing software's performance, image quality and other technical details, which can be delivered only by industry experts with many years of experience.
Fastvideo SDK business benefits¶
Fastvideo SDK as a part of complex solutions allows customers to gain competitive advantages.
- Customers are able to design solutions that earlier may have seemed to be impossible to develop within required timeframes and budgets.
- The product helps to decrease the time to market for end-user solutions.
- At the same time, it increases overall end-user satisfaction with reliable software and prompt support.
- As a technology solution, Fastvideo SDK improves image quality and processing performance.
Fastvideo serves customers as a technology advisor in the field of fast image processing: the team of experts provides end-to-end service to customers.
That means that all customer questions regarding Fastvideo SDK, as well as any other technical questions about fast image processing are answered in a timely manner.
Fastvideo SDK vs NVIDIA NPP comparison¶
NVIDIA NPP can be described as a general-purpose solution because the company implemented a huge set of functions intended for applications in various industries, and the NPP solution mainly focuses on various image processing tasks.
Moreover, NPP lacks consistency in feature delivery, as some specific image processing modules are not presented in the NPP library.
This leads us to the conclusion that NPP is a good solution for basic camera applications only.
It is just a set of functions that users can utilize to develop their own pipeline.
Fastvideo SDK, on the other hand, is designed to implement a full 16-bit image processing pipeline on GPU for camera applications - machine vision, scientific, digital cinema, etc.
The end-user applications are based on Fastvideo SDK, and collect customer feedback is collected to improve the SDK’s quality and performance.
With the knowledge of customer needs the final offer is an exceptionally reliable and heavily tested solution.
Fastvideo uses a specific approach in Fastvideo SDK which is based on components (not on functions as in NPP), it is easier to build a pipeline based on components, as the components' input and output are standardized.
Every component executes a complete operation, and it can have a complex architecture, whereas NPP only uses several functions.
It is important to emphasize here that developing an application using built-in Fastvideo SDK is much less complex than creating a solution based on NVIDIA NPP.
The Fastvideo JPEG codec and lots of other SDK features have been heavily tested by various customers for many years with a total performance benchmark of more than a million images per second.
This is a base for software reliability and as such a one of the most important advantages.
The major part of the Fastvideo SDK components (debayer and codecs) can offer both high performance and image quality at the same time, leaving behind the NPP alternatives.
What’s more, this is also true for embedded solutions on NVIDIA Jetson where computing performance is quite limited.
For example, NVIDIA NPP only has a bilinear debayer, so it can be regarded as a low-quality solution, best suited only for software prototype development.
Summing up this section, the following technological advantages of the Fastvideo SDK over NVIDIA NPP can be listed in terms of image processing modules for camera applications:
- High-performance codecs: JPEG, JPEG2000 (lossless and lossy)
- High-performance 12-bit JPEG encoder
- Raw Bayer Codec
- Flat-Field Correction together with dark frame subtraction
- Dynamic bad pixel suppression in Bayer images on GPU
- Four high quality demosaicing algorithms
- Wavelet-based denoiser on GPU for Bayer and RGB images
- Filters and codecs on GPU for FFmpeg
- Other modules like color space and format conversions
To conclude, Fastvideo SDK offers an image processing workflow that is standard for digital cinema applications, and could be very useful for other imaging applications as well.
Why should customers consider Fastvideo SDK instead of NVIDIA NPP?¶
Fastvideo SDK provides better image quality and processing performance for implementing key algorithms for camera applications.
The real-time mode is an essential requirement for any camera application, especially for multi-camera systems.
Over the last few years, the NPP was tested intensely and software bugs that were encountered still weren't fixed.
In the meantime, if customers come to Fastvideous with any bug in the SDK, it is fixed within a couple of days, because Fastvideo possesses all the source code and the image processing modules are implemented by the Fastvideo development team.
Fastvideo offers custom development to meet specific our customers' requirements.
The development team can build GPU-based image processing modules from scratch according to the customer's request, whereas in contrast, NVIDIA provides nothing of the kind.
Fastvideo is focused on high-performance camera applications and the solutions have been heavily tested in many projects.
For example, one of the customers has been resizing 400,000 x JPG images per second for years without any issue, which shows the extreme reliability of the software.
XIMEA support¶
Able to support 10x xiQ line of cameras (USB3 Vision) or xiD line (USB 3.0) on single GPU
Able to support 2x xiB line of cameras (PCI Express)on single GPU
Fast VCR software for XIMEA cameras
Fastvideo team has developed a GPU-based software to work with XIMEA cameras at maximum performance and highest image quality in real time.
Software downloads to evaluate the Fastvideo SDK¶
Demo and freeware software for image processing applications can be DOWNLOADED HERE for evaluation purposes.
Image & Video Processing SDK from Fastvideo for Windows or Linux is available upon request.
- GPU Camera Sample application with source codes including SDK for Windows/Linux/ARM - https://github.com/fastvideo/gpu-camera-sample
- Fast CinemaDNG Processor software for Windows and Linux - https://www.fastcinemadng.com/download/download.html
- Demo applications (JPEG and J2K codecs, Resize, MG debayer, MXF player, etc.) - https://www.fastcompression.com/download/download.htm
- Fast JPEG2000 Codec on GPU for FFmpeg
In order to test your RAW / DNG / MLV images from machine vision cameras, it is necessary to convert RAW frames to DNG format for further processing with Fast CinemaDNG software.
To accomplish this task, Fastvideo company has released open source converter PGM to DNG which you can find at: https://github.com/fastvideo/pgm2dng
Useful links for projects with the Fastvideo SDK¶
1. Software from Fastvideo for GPU-based CinemaDNG processing is 30-40 times faster than Adobe Camera Raw:
http://ir-ltd.net/introducing-the-aeon-motion-scanning-system/
2. Fastvideo SDK offers high-performance processing and real-time encoding of camera streams with very high data rates:
https://www.fastcompression.com/blog/gpixel-gmax3265-image-sensor-processing.htm
3. GPU-based solutions from Fastvideo for machine vision cameras:
https://www.fastcompression.com/blog/high-performance-machine-vision-image-processing.htm
4. Multi Camera Systems with GPU Image Processing:
https://www.fastcompression.com/solutions/multi-camera-systems.htm
6. Industry 4.0
Contact¶
For more information, please visit the Fastvideo contacts page.