NVIDIA 解码术语表

NVDEC
NVIDIA Video Decoder

NVIDIA GPU 上的专用硬件解码单元,独立于 CUDA 核心。支持 H.264、HEVC、AV1 等格式。 Orin 和 x86 dGPU 都包含 NVDEC,但驱动和 API 不同。

NvMedia
NVIDIA DriveOS 多媒体框架

用于自动驾驶平台(Orin/Xavier)的多媒体处理框架。包含 IDE(Image Decoder Engine)、 IPE(Image Processing Engine)等组件。通过 NvSciBuf 管理内存。

NvSciBuf
NVIDIA SciBuf - 统一内存缓冲区

DriveOS 的内存管理抽象,实现 CPU 和 GPU 的零拷贝共享。在 x86 上对应 CUDA Unified Memory 或显式 cudaMalloc。

NvSciSync
跨组件同步机制

基于 Fence 的同步原语,用于 NvMedia、CUDA、DLA 等组件间的执行顺序控制。 x86 对应 CUDA Event 和 Stream 同步。

CUVID
CUDA Video Decoder API

Video Codec SDK 的核心 C API,提供 cuvidCreateVideoDecoder、cuvidDecodePicture 等函数。 是 x86 平台直接操作 NVDEC 的底层接口。

零拷贝 (Zero Copy)
Zero-Copy / Zero-Copy Transfer

数据无需经过 CPU 内存,直接在 GPU 子系统间传输。例如 NVDEC 解码后的帧直接传给 CUDA kernel 或 NVENC 编码器。

Fence
GPU 同步原语

用于异步操作的完成通知。NvSciSyncFence 在 DriveOS 中广泛使用,CUDA 中对应 cudaEvent。

Surface / Frame
解码后的图像缓冲区

一帧解码后的图像数据。在 NvMedia 中称为 Surface,在 Video Codec SDK 中通过 CUdeviceptr 访问。 通常以 NV12 或 YUV420 格式存储。

DPB
Decoded Picture Buffer

解码图像缓冲区,存储参考帧用于帧间预测(P帧、B帧解码)。大小由视频流的 `max_dec_frame_buffering` 决定。

NAL Unit
Network Abstraction Layer Unit

H.264/HEVC 码流的基本单元。每个 NAL 包含一个头部(类型标识)和负载数据。 解码器通过 NAL 类型判断是关键帧(IDR)还是预测帧。

PTS / DTS
Presentation/Decode Timestamp

PTS(显示时间戳)决定帧的播放顺序,DTS(解码时间戳)决定解码顺序。 B 帧存在时,DTS 可能早于 PTS。