我正在为支持视频的移动VOIP应用程序工作。大多数现代智能手机都配备了硬件H.264编解码器,但是其中大多数只支持有限数量的编码配置文件。我特别感兴趣的是SVC,通常不受支持。最简单的解决方案是使用软件编码器,但显然它也有其缺点。
最近,我想到了创建一个混合硬件+软件编码器的想法。由硬件编码器和一个“浅层软件重新编码器”组成。
我知道H.264是以宏块为单位工作的。编码流包含宏块的指令:完全重传(以jpeg样式的数据形式),其运动参数或什么都没有。
完整的软件重新编码将处理这样的编码流,对其进行解析/实现,并在其图像数据上执行,然后对结果图像进行编码,其中包括处理每个宏块、决策策略、构建运动向量和最终编码所有指令。
这个想法是进行“浅层”重新编码。我考虑解析传入的编码流,但不执行其指令-而是将它们作为编码器的源,即在H.264复杂的编码方案中对它们进行编码,具有所需的精度(即比特率)等,而不实际分析图像、查找运动向量等。
本质上,这是使用解码器+编码器,但是通过快捷方式,因此实际图像不是由解码器创建的,并且不被编码器分析。
这听起来可行吗?是否曾尝试过类似的尝试?
最近,我想到了创建一个混合硬件+软件编码器的想法。由硬件编码器和一个“浅层软件重新编码器”组成。
我知道H.264是以宏块为单位工作的。编码流包含宏块的指令:完全重传(以jpeg样式的数据形式),其运动参数或什么都没有。
完整的软件重新编码将处理这样的编码流,对其进行解析/实现,并在其图像数据上执行,然后对结果图像进行编码,其中包括处理每个宏块、决策策略、构建运动向量和最终编码所有指令。
这个想法是进行“浅层”重新编码。我考虑解析传入的编码流,但不执行其指令-而是将它们作为编码器的源,即在H.264复杂的编码方案中对它们进行编码,具有所需的精度(即比特率)等,而不实际分析图像、查找运动向量等。
本质上,这是使用解码器+编码器,但是通过快捷方式,因此实际图像不是由解码器创建的,并且不被编码器分析。
这听起来可行吗?是否曾尝试过类似的尝试?