我需要一个简单快速的带alpha支持的视频编解码器作为Quicktime Animation的替代品,它对常规视频的压缩率非常高。
由于我没有找到任何支持alpha的开源编码器/解码器,我一直在努力编写自己的(来自huff-yuv的灵感)。
我的策略如下:
通过这种策略,我获得了不错的压缩率60-80%。我可以通过在步骤1之后将每个帧拆分成块来提高压缩率,并添加运动矢量以减少步骤2中的数据输出。但是,比60%更好的压缩率是比性能更低的prio。
四核CPU上可接受的压缩速度为60ms /帧。
然而,解码速度受到影响,40毫秒/帧(几乎没有实时使用完整的CPU)。
我的问题是,是否有一种方法可以通过更快的解码来压缩视频,同时仍然可以获得不错的压缩率?
解码霍夫曼编码的符号似乎相当慢。我还没有尝试使用表查找,不确定表查找是否是一个好主意,因为我为每个块都有一个新的霍夫曼表,并且构建查找表非常昂贵。据我所知,它无法使用任何 SIMD或GPU功能。还有其他选择吗?请注意,它不一定是无损的。
答案 0 :(得分:1)
您想尝试Golomb代码而不是Huffman代码。一个golomb代码是IMO更快,然后解码一个霍夫曼代码。如果它不必失去你想要使用希尔伯特曲线和DCT然后使用哥伦布码。您希望使用空间填充曲线细分帧。 IMO是一个带有sfc和解码的帧的连续细分非常快。