1 # Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
3 @page denseopticalflow_mainsection Dense Optical Flow
5 @note SW Release Applicability: This module is available in both **NVIDIA DriveWorks** and **NVIDIA DRIVE Software** releases.
9 The Dense Optical Flow module estimates motion vectors between frames. This algorithm consists of multiple stages, and is performed on multiple hardware units:
10 - VIC (Video Image Compositor).
11 - NVIDIA NVENC (NVIDIA Video Encoder).
12 - PVA (Programmable Vision Accelerator).
14 @note This module is currently only available on the NVIDIA DRIVE AGX Developer Kit, where these hardware units are present.
16 The Dense Optical Flow pipeline is composed of four stages based on the hardware unit they are executed on. These stages are performed in order by calling ```dwDenseOpticalFlow_calculateOpticalFlow()```.
18 ### Stage 1: Data Preparation
20 This stage is responsible for preparing the input image by converting memory layout and/or streaming data to the relevant hardware unit. This operation is performed on the VIC.
22 ### Stage 2: Motion Vector Estimation
24 This is the main stage of the pipeline where the Dense Optical Flow is performed. This operation is performed on the NVIDIA NVENC.
26 ### Stage 3: Motion Vector Refinement
28 In this stage, the Motion Vectors are refined by applying a noise reduction filter. This operation is performed on the PVA.
30 ### Stage 4: Retrieval of Results
32 In this stage, the results are retrieved from PVA to GPU; hence, this stage blocks the CPU until the entire pipeline is finished.
36 - @ref denseopticalflow_usecase1
40 - @ref denseopticalflow_group