1 # Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
3 @page denseopticalflow_mainsection Dense Optical Flow
7 The Dense Optical Flow module estimates motion vectors between frames. This algorithm consists of multiple stages, and is performed on multiple hardware units:
8 - VIC (Video Image Compositor).
9 - NVIDIA NVENC (NVIDIA Video Encoder).
10 - PVA (Programmable Vision Accelerator).
12 @note This module is currently only available on the NVIDIA DRIVE AGX Developer Kit, where these hardware units are present.
14 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()```.
16 ### Stage 1: Data Preparation
18 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.
20 ### Stage 2: Motion Vector Estimation
22 This is the main stage of the pipeline where the Dense Optical Flow is performed. This operation is performed on the NVIDIA NVENC.
24 ### Stage 3: Motion Vector Refinement
26 In this stage, the Motion Vectors are refined by applying a noise reduction filter. This operation is performed on the PVA.
28 ### Stage 4: Retrieval of Results
30 In this stage, the results are retrieved from PVA to GPU; hence, this stage blocks the CPU until the entire pipeline is finished.
34 - @ref denseopticalflow_usecase1
38 - @ref denseopticalflow_group