Hap/Hap-Q codec

Hap,一个开源的GPU加速视频编解码器系列

640.webp

Hap一种为数字视频艺术家和内容设计的新型视频编解码器,目标是在OpenGL中实现更高性能的视频播放。

 

Hap并不使用CPU来解码视频帧,而是直接将压缩的图像数据传送到计算机的图形卡,以便在播放过程中执行硬件加速的视频解压缩。通过将这种负担从CPU转移到GPU,Hap可应用更多的视频和工作在更高的分辨率下比典型的CPU绑定编解码器更为优质。

 

有四种不同的Hap编解码器可供选择:Hap提供最低的数据速率,可以一次播放最多的剪辑,  Hap Alpha与Hap类似,支持透明度,Hap Q和Hap Q Alpha提供了改进的图像质量更高的数据速率。

 

为什么使用HAP

对于大多数实时视频项目,传统的基于CPU的编解码器(如Photo-JPEG或Apple Intermediate Codec)在图像质量,CPU使用和文件大小之间提供了合理优化。但是,当您需要一次播放大量视频时(特别是在高分辨率时),CPU负载可能会超出处理器的限制。这些情况下,高度优化的编解码器(如Hap)是最有用的。在Mac上,您将需要在PC Vista或更高版本上运行10.6.8或更高版本 - 您不需要超高速计算机,但是您需要快速驱动器(最好是SSD)。

 

HAP如何工作

视频编解码器压缩/解压缩视频数据 - 它们将磁盘上的文件转换为像素。通常情况下,您的计算机的处理器执行此项工作 - GPU加速编解码器在计算机的图形硬件上执行此任务。使用Hap,这是通过使用S3 Texture Compression对帧进行编码完成的,它允许将仍然压缩的帧直接传递到计算机的图形硬件进行解压缩。由于图形硬件被设计成能够非常快速地完成这种任务,所以它仍然可用于其他图像处理,您可能希望将其应用于解压缩的帧,并且CPU上的负载很小。

 

Hap编解码器有三种不同的变体,每种对应于不同形式的S3TC纹理压缩: Hap(DXT1),Hap Alpha(DXT5)和Hap Q(Scaled YCoCg DXT5)。

 

由于使用S3TC编码的图像仍然非常大,Hap使用Snappy额外的轻量化无损压缩传递来将整体数据速率降低到可管理的大小。

 

HAP与其他编解码器相比如何?优缺点都有什么?

Hap的主要好处是在影片播放期间CPU负载大大减少。这是以更高的数据速率为代价的,数据速率可以根据正在播放的内容的细节数量而变化。这就是为什么你需要像SSD这样的快速驱动器才能从Hap中受益。

1.webp

对于大多数影片来说,Hap可以产生质量很好的图像,这些图像在播放过程中与原始图像很难区分。然而,Hap使用的图像压缩类型是基于OpenGL技术的,这使得它本质上是有损的 - 就像所有这样的编解码器一样,可能会出现一些伪像。当这变得明显时,Hap Q编解码器可用于显着提高图像质量,如以下几组图像中所示2222.webp