HEVC 参考软件:修改为逐行编码 CTU,而不是切片段



查看官方 HM Test 软件的Void TEncSlice::encodeSlice,我发现编码器试图在我的脚本示例中对切片段中的每个 CTU 进行编码,即在唯一的切片中为 512 个 CTU。

for( UInt ctuTsAddr = startCtuTsAddr; ctuTsAddr < boundingCtuTsAddr; ++ctuTsAddr )

如果我想逐行编码帧(即实现波前编码(,我应该修改切片段以等于帧宽度还是错误的方法?

请使用标点符号。阅读您的问题非常困难。

如果我理解正确,您的问题的一个可能的解决方案是让 HM 只用一个切片对每一帧进行编码。然后,帧中的CTU将被光栅扫描(即逐行扫描(。

据我所知,这是HM的默认设置。所以,我认为您需要告诉我们您当前的扫描是什么?你的框架有多大?您当前的切片大小?

首先,是的,每行中的CTU数量是ceil(picWidth/CTUsize(。

现在回到您的问题,您希望并行压缩/编码 CTU 行。为此,建议将切片宽度设置为图片宽度,并将切片高度设置为CTU高度(大小(。然后,您希望实现 WPP 的想法,并在管道中压缩/编码切片,相对于上述切片延迟一个 CTU。如果您正确处理(即删除(所有 CABAC 上下文模型依赖项(如果有(,这个想法应该有效。

最新更新