This is Fastvideo blog about image compression and decompression, demosaicing, denoising, tone mapping, color correction, resizing, sharpening, encoding and decoding of video streams in various applications including image and video processing, transcoding, streaming, broadcasting, high speed imaging, machine vision, digital cinema, 3D and VR, etc.
Image Processing Framework on Jetson
NVIDIA Jetson could offer high performance computations either on ISP or on GPU. In that artilce we show what could be done on GPU. We consider that approach to be superior to hardware-based ISP.
Software for camera applications: Fastvideo SDK vs NVIDIA NPP Library comparison
Why is Fastvideo SDK better than NVIDIA NPP for camera applications? In this article we share some info about our experience in software development for GPU-based image processing applications.
CPU vs GPU at Fast Image Processing. Why GPU is much faster than CPU?
In this article, we discuss the capabilities of GPUs and CPUs for performing fast image processing tasks. We compare two processors and show the advantages of GPU over CPU, as well as explain why image processing on a GPU can be more efficient when compared to similar CPU-based solutions.
JPEG2000 in science and healthcare
In this second part, we will continue examining the functions of JPEG2000, as well as review its main drawback and talk about the other application areas where the format turned out to be in high demand. At the end we will present a solution which simplifies and makes the process of working with the format much more convenient.
JPEG2000 in digital cinema and broadcasting
This article is devoted to the JPEG2000 algorithm applications and will be presented in two parts. In the first part, we will discuss the key technologies of the algorithm and explain why it has become so popular in digital cinema and broadcasting.
Remote colour grading and editorial review
We’ve released the software for remote color grading and editorial review with 10/12-bit colour. The software supports the following input and output SDI formats: RGB, RGBA, v210, R10B, R10L, R12L and it’s based on fast JPEG2000 encoding and decoding (lossy and lossless) on NVIDIA GPU.
How to break the speed barrier for machine vision image processing?
What do we usually overlook to speed up real-time image processing? Machine vision cameras are widely used in industry, science, and robotics. However, when working with them, the same question invariably arises: "How to process the data received?" And that's a really good question. But why does it arise at all?
JPEG2000 codec on Jetson TX2
Jetson high-performance and low-power hardware is widely utilized in autonomous solutions. As soon as JPEG2000 compression is a common task for UAV applications, here we evaluate J2K codec performance on Jetson TX2.
Remote collaborative post production software
Today, with restrictions on in-person collaboration, delays in shipping, limitations on travel, single point of ingest and delivery for an entire production becomes vitally important. The main goal is to offer all services both on-premises and remotely.
FFmpeg J2K Decoder on GPU
Native J2K decoder at FFmpeg is super slow, so we've embedded our GPU-based J2K decoder instead. We've got significant performance boost and now that solution could be utilized in various FFmpeg applications like fast MXF transcoding, creation of DCP packages, etc.
GPU Software for Machine Vision Cameras
We've released an open source software for Windows, Linux and L4T to build GPU-based application for machine vision and industrial cameras. It's capable to work with XIMEA, Basler, JAI, Matrix-Vision, and Daheng Imaging cameras. Full pipeline for raw image processing is done on GPU to ensure high performance and quality. There is a G2G test to evaluate latency as well.
FFmpeg Remap Filter on GPU
In a standard FFmpeg we see several filters for video remap: v360 (11.213) and remap (11.164). These Remap Filters on CPU from FFmpeg are very slow. Nevertheless, remap filter could be performed much faster on GPU. We've implemented that filter on NVIDIA GPU with Fastvideo SDK and it's working very fast even on laptop GPUs. On professional GPUs we can decode, remap and encode multiple video streams with high performance and minimum latency.
BRAW Player and Converter on GPU
We've implemented the software for realtime BRAW processing on NVIDIA GPU. It could be also called BRAW Player or BRAW Converter. The software is based on implementation of Fastvideo SDK for CUDA processing. That solution doesn't rely on Blackmagic RAW processing algorithms and it allows to implement our own RAW processing workflow.
Hamamatsu ORCA image processing on GPU
Hamamatsu company is a world leader in scientific cameras, light sources, photo diodes and advanced imaging applications. For high performance scientific cameras and advanced imaging applications, Hamamatsu introduced ORCA cameras with outstanding features.
JPEG Optimizer Library on CPU and GPU
The idea about image optimization is very popular and it really makes sense. As soon as JPEG is so widespread at web, we need to optimize JPEG images for web as well. By decreasing image size, we can save space for image storage, minimize traffic, improve latency, etc.
Fast RAW Compression
Recording performance for RAW data acquisition task is essential issue for 3D/4D, VR and Digital Cinema applications. Quite often we need to do realtime recordings to portable SSD and here we face questions about throughput, compression ratio, image quality, recording duration, etc. As soon as we need to store RAW data from a camera, the general approach for raw image encoding is not exactly the same as for color. Here we review several methods to solve that matter.
JPEG Optimization Techniques Review
JPEG Optimization methods are really useful for many imaging applications. And there is a possibility to achieve better image compression for the same level of image distortion within the limitations of JPEG Standard. In that article we consider different ways to accomplish that task.
Jpeg2jpeg Acceleration with CUDA MPS on Linux
Jpeg2jpeg Acceleration with CUDA MPS on Linux has brought astonishing results. The performance of one of the fastest solutions for JPEG Resize on GPU was increased by 2.8-3.4 times at the same hardware. Now NVIDIA GPU with Jpeg2jpeg software from Fastvideo have left behind both CPU and FPGA solutions.
Jetson Nano vs TX2 vs Xavier NX and AGX Benchmark Comparison
Here we publish performance benchmarks for available Jetson modules. To specify image processing pipeline for testing, we consider a basic camera application as a good example for benchmarking.
JPEG Resize on-demand: FPGA vs GPU. Which is the fastest?
GPU vs FPGA for JPEG resize on-demand. Review and performance comparison with NVIDIA Tesla T4. Intel, CTAccel, Xilinx, NVIDIA, Fastvideo at high load web applications. FPGA vs GPU image processing.
Gpixel GMAX3265 Image Sensor Processing
Gpixel GMAX3265 Image Sensor is unique solution for high performance camera applications. Camera with that CMOS sensor generates huge amount of data which could be processed on NVIDIA GPU with Fastvideo SDK.
Benchmarks of Discrete Wavelet Transform on CUDA
DWT performance benchmarks on NVIDIA GeForce GTX 1080 for CDF 9/7 and CDF 5/3 wavelets on 24-bit images (8-bit at each of 3 color channels) for different image sizes (up to 8K Ultra HD image resolution).
High Performance Image Processing for Industry-4.0
GPU-based image processing can significantly improve both performance and image quality in industrial vision applications. This is important step towards faster imaging solutions.
How to prepare video training set for AI application?
AI applications are increadibly popular nowadays. They could solve various very complicated tasks and quite often they can do that much better than humans. This is the fact and we see that the number of such applications is growing rapidly. Let's consider the situation from inside, just to understand how it goes and what do we need to proceed with AI solutions.
Fastvideo SDK benchmarks on NVIDIA Quadro RTX 6000
We've done testing of Fastvideo SDK on NVIDIA® Quadro RTX™ 6000 which is powered by the NVIDIA Turing™ architecture and NVIDIA RTX™ platform. That new technology brings the most significant advancement in computer graphics in over a decade to professional workflows. That new hardware is intended to boost the performance of image and video processing dramatically.
Low latency H.264 streaming on Jetson TX2
Realtime remote control for any vision system is very important task which has a huge number of applications. People need to control remotely almost everything. To make it possible, we need to create a solution with minimum latency to ensure smooth video and instant feedback. There are a lot of imaging systems which rely on small feedback time, like autonomous cars, hexacopters or drones, mobile robots that should be remotely controlled via wireless network, etc.
GPU software for camera applications
There are many machine vision and industrial cameras with high resolution and high frame rate image sensors. These cameras generate huge amount of data and it's a challenge to cope with them properly. GPU-based image processing is the key to achieve both realtime performance and high quality, especially for multicamera systems.
Jetson zero-copy for embedded applications
Zero-copy means that we don't need to spend any time to copy data from host to device over PCIE, as we always have to do on any discrete laptop/desktop/server GPU. Basically, this is the way of how integrated GPU can take an advantage of DMA, shared memory and caches.
Realtime image processing on GPU for XIMEA CB500
High resolution cameras are getting more and more popular nowadays with resolution parameter ever growing due to advancement in the latest image sensor technology. The newest of them offer remarkable resolution of 50 or more Megapixel pushing the data bandwidth to the edge where it can become a bottleneck.
JPEG2000 vs JPEG vs PNG: What's the Difference?
If you look for a list of image format standards with good compression ratio, a simple Google search will yield a lot of results. JPEG and the similar sounding JPEG2000, along with PNG, are among the best image compression formats today.
Jetson Image Processing: ISP libargus and Fastvideo SDK
How to build a camera system on Jetson? This is an important task if you want to create realtime solution for mobile imaging application. With a thoughtful design, one can even implement a multicamera system on just a single Jetson, and some NVIDIA partners showcase that this is in fact achievable.
Jetson TX2 and AGX Xavier performance comparison
Imaging applications benefit from the latest NVIDIA mobile GPUs: Jetson TX2 and AGX Xavier. Nevertheless, general benchmarks can't answer the question about performance comparison for the latest NVIDIA Jetson hardware. Anyway, this is very practical issue for many imaging applications, including aerial imaging, UAV, robotics, self-driving cars, etc. To provide you with real numbers, we've done comparative studies with Fastvideo SDK, which has lots of image processing modules for camera applications.
JPEG Resize for WEB
In various imaging applications we have to do image resize and quite often we need to resize JPEG images. In such a case the task gets more complicated, as soon as we can't do resize directly, because images are compressed.
Fastvideo SDK benchmarks
Fastvideo SDK benchmarks: JPEG encoding and decoding, demosaicing, JPEG2000 encoding, denoising, resizing on NVIDIA Jetson TX1, TX2 and AGX Xavier, GeForce GTX 1080, Quadro P6000.