为什么在压缩感兴趣区域时获得的数据量比原始视频大?

Why did I get a larger data size when compressing the region of interest than the original video?

提问人:lama lama 提问时间:11/12/2023 更新时间:11/13/2023 访问量:40

问:

我有一个医疗视频,我想通过网络高效地发送它,所以我使用感兴趣区域技术将原始视频分割成感兴趣区域和背景。

我拆分了原始视频并生成了感兴趣的区域和背景子视频。 使用 h265 编码器使用相同的选项分别对每个子视频进行编码。 最后,通过网络发送它们。

但是,当我将原始编码的视频大小与编码的感兴趣区域进行比较时,我发现它的数据大小小于编码的感兴趣区域。

我不是压缩专家。谁能帮助我理解为什么我得到了这些结果,知道我使用了具有相同选项的相同编码器?

编码 压缩 视频流 HEVC

评论


答:

0赞 Mosen 11/13/2023 #1

如果我理解正确的话,您将单个源视频拆分为两个子源,分别对应于背景和前景像素。我不知道你如何填充超出你的区域或兴趣(背景、前景)的像素。但是,假设您使用 0 或与动态范围中间对应的灰度值(例如,128 表示 8 位像素)。 但问题是,您期望在压缩之前对数据进行完美分离,至少会产生与压缩同一源中的所有数据相同的数据大小。

由于几个原因,这种假设是不正确的。但最重要的原因是,归根结底,您正在编码两个视频信号,而不是一个。这意味着您将拥有两组标头(就比特率而言,它们永远不会免费)。此外,您用 0(或灰色)填充的那些像素也会以比特率计算成本。特别是如果前景和背景区域具有复杂的形状,相互交错。

最后一件事,您应该提供 x265 命令行。我担心您使用的是恒定比特率 (CBR) 设置,这意味着无论内容如何,编码器都会尝试花费一定数量的位。在这种情况下,例如,目标比特率为 5Mbps,您的设置将导致 5Mbps+5Mbps=10Mbps,而不是一个 5Mbps 的视频。

评论

0赞 lama lama 11/13/2023
谢谢你的信息。我是压缩和编码方面的初学者,所以请原谅我的无知。我使用这个命令行对视频进行编码: ffmpeg -s wxh -i input.yuv -c:v libx265 -preset slow -crf 20 -c:a copy output.h265.我将超出我的区域或兴趣的像素填充了 0。