我正在使用 x265 编码器对具有不同初始 QP 值的视频进行编码。当我检查比特流以查看跨帧的每个 block 的实际 QP 值与给定的初始 QP 值不完全相同时,我感到很惊讶。具体来说,实际QP从初始值减小到负3,如下图(我的初始QP设置为27)。但我不明白为什么。然后,我从 HM-16.20 运行编码器,实际 QP 值与初始 QP 相同。有人可以帮我理解这样做的动机吗?在我看来,x265 编码器希望通过降低实际 QP 值来保持比 HM 软件中的更高的视觉质量。我使用以下命令行运行 x265 编码器:
x265.exe --input BQSquare_416x240_60.yuv --fps 60 --input-res 416x240 --interlace 0 -f 20 --input-depth 8 --input-csp i420 --ctu 64 --no-open-gop --keyint 1 --ref 1 --aq-mode 0 --qp 27 -r BQSquare_416x240_8bit_27.yuv --output-depth 8 --output BQSquare_416x240_8bit_27.bin
最佳答案
这是由于分层 GOP 结构将不同的 QP 值分配给不同时间级别的帧。为了结合这个想法,x265 采用输入 QP(在您的情况下为 27)并应用不同的偏移量。在您的示例中,偏移量显然是-3。
关于ffmpeg - 为什么在 x265 中使用 CQP 模式的初始 QP 的 block 级实际 QP 值是负 3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70241220/