Это не ответ на вопрос, а скорее "это не сработает".
Раздел Спецификация PNG , который вы связали, определяет метод Filter 0 и список типов фильтров (функций) для этого метода. Этот список исправлен:
Метод фильтра 0 определяет именно этот набор из пяти типов фильтров, и это не должно быть
продлен. Это гарантирует, что декодерам не нужно распаковывать данные, чтобы определить,
он содержит неподдерживаемые типы фильтров: достаточно проверить метод фильтра в IHDR.
Итак, вы не можете просто добавить свой прогноз нейронной сети здесь.
То, что вы могли бы сделать, - это создать новый метод Filter (метод 1 или тому подобное - но см. Раздел 4.9 ), который затем может включать ваш тип фильтра нейронной сети.
Но проблема в том, что тогда каждое программное обеспечение, которое хотело бы считывать PNG, произведенные вашим программным обеспечением, должно было бы также поддерживать этот новый метод фильтрации. Так что, если вы не хотите делать это просто для внутреннего хранилища изображений, это бесполезно.
Где вы на самом деле могли бы использовать свою нейронную сеть, это для выбора правильного типа фильтра (из пяти указанных) для каждой линии сканирования, чтобы результирующий сжатый поток данных был как можно меньшим (или эффективным, или ...) .