我正在考虑使用霍夫曼编码来制作一个可以直接从iPhone相机拍摄并压缩它的应用程序。硬件是否可以处理复杂的计算并构建树?换句话说,它可行吗?
谢谢
如果你的意思是图像文件(如jpg,png等),那么你应该知道它们已经被特定于图像的算法压缩了。如果有的话,生成的文件不会压缩很多。
如果您的意思是要获取UIImage原始像素数据并对其进行压缩,则可以这样做。我相信iPhone可以处理它。
如果这是一个有趣的项目,那就去吧。如果您希望这是一个有用且使用过的应用程序,那么您将遇到一些挑战
因此,对于学习和娱乐,这是一个很好的项目 - 它可能更容易做一个Mac应用程序,但对于一些意味着真实的东西,要克服上述问题将是非常困难的。
编码和解码分为两部分。编码过程涉及构造树或基于表的树的表示。解码过程包括从huff编码字节读取和撤消delta。与PNG相比,在编码中可能难以获得更多的速度优势,但是对于解码,可以通过使用Metal将解码逻辑移动到GPU来看到非常有效的加速。您可以查看一个示例的完整源代码,该示例仅对github Metal Huffman上的灰度图像执行此操作。