Если вы имеете в виду файлы изображений (такие как jpg, png и т. д.), то вы должны знать, что они уже сжаты алгоритмами, специфичными для изображений. Полученные файлы не будут сильно сжаты Хаффманом, если вообще сжаты.
Если вы имеете в виду, что собираетесь взять необработанные пиксельные данные UIImage и сжать их, вы можете это сделать. Я уверен, что iPhone справится с этим.
Если это для забавного проекта, то дерзайте. Если вы хотите, чтобы это было полезным и используемым приложением, у вас возникнут некоторые проблемы.
Очень маловероятно, что Хаффман будет лучше, чем стандартное сжатие изображений, используемое в JPG, PNG и т. д.
Apple уже увидела необходимость в улучшении сжатия и реализовала HEIF в iOS 11. Видео HEIF
Они проделали большую работу в приложении ОС и Фото, чтобы убедиться, что HEIF используется локально, но если вы поделитесь фотографией, она превратит ее во что-то, что может использовать каждый (например, JPG).
Все сжатие, которое они реализуют, использует аппаратное ускорение. Вы тоже можете это сделать, но код намного сложнее, чем Хаффман.
Итак, для обучения и развлечения это хороший проект — может быть, его было бы проще сделать в виде приложения для Mac, но для чего-то, что должно быть реальным, было бы чрезвычайно сложно преодолеть вышеуказанные проблемы.
person
Lou Franco
schedule
27.07.2017