SIF1 - это универсальный видео кодек нового поколения. Встраивается в операционную систему, что позволяет использовать его в любой программе для редактирования и просмотра видео. При сжатии используется новый, не имеющий аналогов алгоритм сжатия и собственная оригинальная психовизуальная модель, адаптивная к локальным участкам на изображении. Данный кодек оптимизирован для эффективного сжатия видео высокого и среднего разрешения, что позволяет получать высокое качество изображения при сжатии видео в FullHD (1920x1072) разрешении c битрейтами около 2 мегабит в секунду, а также при сжатии HalfHD (1280х720) видео на битрейтах около 1 мегабита в секунду.
Прочитать о использованной в данном кодеке технологии можно тут.
Демонстрационные видеофрагменты можно скачать там.
Реструктуризация и мультипоточная оптимизация кода ядра SIF преобразования.
Добавление новых более качественных режимов SIF преобразования, за счет использования PsyRD оптимизации.
Добавление поддержки четверть-пиксельной компенсации движения.
Написание портируемой под Линукс библиотеки SIF1 кодирования-декодирования.
SSE2 и мультипроцессорная оптимизация текущего кода.
Дальнейшая разработка новых алгоритмов на основе SIF-преобразования.
История версий.
1.20
Произведена реструктуризация движка детектирования движения и его мультипоточная оптимизация (до 32 потоков). В текущем коде мультипоточная оптимизация сделана по временной схеме, т.к. остался последний большой блок кода не работающий в мультипоточном режиме - ядро SIF преобразования.
Сделаны мультипоточные режимы работы энтропийного кодека (до 8 потоков). Таким образом, декодер сейчас полностью распараллелен и поддерживает до 80 мегабит и выше сжатые потоки на декодирование.
Кодек теперь поддерживает разрешение по вертикали не кратное 16.
Реализованы различные в плане скорости & качества пресеты движка детектирования движения.
Добавлен контроль корректности входных данных. Теперь декодер не падает на испорченных и некорректных файлах.
Сделан режим быстрого первого прохода - где-то в два раза более быстрый чем основной при двухпроходном сжатии.
Написан новый движок PsyRD экстраполяции, используемый в движке детектирования движения. За счет этого достигнуто очередное значительное улучшение четкости и детализации сжатого изображения.
1.10
Произведена масштабная реструктуризация кода в движке компенсации движения. Основной целью реструктуризации было удаление глобальных переменных из кода. Наличие глобальных переменных мешало мультипоточному исполнению кода и не давало иметь несколько независимых копий декодера в одном рабочем процессе.
Все основные вычислительные блоки декодера были оптимизированы для на мультипроцессорной работы. В результате декодирование Full-HD теперь возможно на любом современном двухядерном процессоре с тактовой частотой не ниже 2 гигагерц. Текущий код поддерживает до 32 одновременных потоков декодирования. Единственным не распараллеленным блоком в декодере остался энтропийный кодек. Для него в следующих версиях будут введены специальные многопоточные режимы работы с поддержкой до 8 одновременных потоков.
Были оптимизированы параметры работы ядра SIF сжатия и одновременно еще раз улучшена психовизуальная модель. В результате были очень значительно увеличены четкость и детализация сжатого изображения.
Была исправлена ошибка в ядре сжатия, проявлявшаяся при размере изображения по вертикали, не кратном 32.
Была исправлена ошибка в кодеке, приводившая к падению кодека на старых машинах, не имеющих поддержки SSE инструкций. Спасибо Александру Будчанину за тестирование.
1.00
Практически полностью переписаны все основные блоки кодека, а работа ядра сжатия значительно улучшена.
Огромное увеличение качества сжатия.
Добавлена поддержка полного набора режимов сжатия, который достаточен для практического использования кодека.
Отработанна и настроена психовизуальная модель.
Формат кодека зафиксирован и будет опубликован в виде открытой спецификации.
К сожалению данная версия не совместима со всеми предыдущими, но это последнее значительное изменение формата.
0.45 Alpha4
Алгоритмически оптимизирована декодирующая часть Core6. В результате стало возможно декодирование HD видео с параметрами вплоть до 1600x900x24 на процессоре AMD Athlon 64 3800+ при использовании только базового набора команд MMX.
Увеличена общая эффективность сжатия. Уменьшен уровень артефактов на изображении.
Улучшена передача мелких деталей на изображении.
Значительно улучшена психовизуальная модель, что дополнительно увеличило визуальное качество изображения.
Исправлены некоторые ошибки в работе кодека. Улучшена работа на низких разрешениях.
0.40 Alpha3
Улучшен алгоритм и увеличена эффективность работы анализирующий части Core6. Уменьшен уровень некоторых артефактов на изображении.
Несколько изменен алгоритм работы квантователя.
Добавлен адаптивный алгоритм контроля битрейта.
Существенно увеличена четкость декодируемого изображения.
Психовизуальная модель еще до конца не отлажена, но работает весьма хорошо.
Значительно увеличена общая эффективность сжатия.
Данная версия несовместима с предыдущей, но все последующие версии кодека будут декодировать видео, сжатое этой версией.
0.30 Alpha2
Исправлен и незначительно модифицирован энтропийный кодек.
Значительно уменьшен уровень некоторых артефактов сжатия изображения.
Улучшена функциональность движка компенсации движения.