реклама на сайте
подробности

 
 
> Разработан новый Lossless видео-кодек, Битэкзактный
__inline__
сообщение Mar 22 2018, 08:38
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126



Здравствуйте! sm.gif
Решил поделиться с общественностью своими наработками в области сжатия видео без потери качества. yeah.gif

Разработан битэкзактный 4,5 ступенчатый Lossless Bitexact кодек видео под названием "PackMan" rev.0.

Кодек соперничает с MSU и Lagarith, исходники открыты и доступны для платформ:

- ПК (ДОС, все Винды)
- ARM Cortex-M4 (STM32F407), только декодер

Конвейер кодера:

Прикрепленное изображение


Декодер - обратим.

Подробное описание здесь: http://vrtp.ru/index.php?act=categories&am...mp;article=3713

Про nanoPlayer здесь: http://vrtp.ru/index.php?showtopic=29688&st=90
и здесь: http://vrtp.ru/index.php?act=categories&am...mp;article=3712

Макет плеера:



Релиз будет скоро спаян, печатные платы есть:



Принципиальная схема плеера: http://vrtp.ru/index.php?act=Attach&ty...t&id=769410

Исходники кодера и декодера + билды под форточки, ДОС, скрипт, тестовый образец:

Прикрепленный файл  PackMan_Codec.zip ( 738.09 килобайт ) Кол-во скачиваний: 28


Исходники декодера для STM32F407, вывод оптимизирован, параллельно играет FLAC с asm-оптимизацией:
Прикрепленный файл  nanoPlay_PackMan.zip ( 1.05 мегабайт ) Кол-во скачиваний: 23


Кодек зарелижен, оттестирован. Битэкзактный на уровне 6 бит (специфика железа)

Замечания, пожелания, эксперименты и предложения по улучшению сжатия кодера и/или скорости декодера приветствуются! help.gif

Сообщение отредактировал __inline__ - Mar 22 2018, 08:38
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_pv
сообщение Mar 22 2018, 09:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



не смотрели насколько будет лучше/медленнее/прожорливее по памяти:
1) арифметическое кодирование вместо хаффмана, раз уж вэйвлеты вместо DCT,
2) 3D wavelet ещё и вдоль временной оси, на 4/8 кадров.
3) ну и опциональное квантование можно где-то после третьей стадии добавить, чтобы "легким движением руки lossless превращается..."
?
Go to the top of the page
 
+Quote Post
__inline__
сообщение Mar 24 2018, 04:02
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126



Цитата(_pv @ Mar 22 2018, 09:09) *
не смотрели насколько будет лучше/медленнее/прожорливее по памяти:
1) арифметическое кодирование вместо хаффмана, раз уж вэйвлеты вместо DCT,


делал, жмёт лучше (пример: 205 вместо 240 МБ), но на ПК (3 ГГц) скорость воспроизведения декодированного видео в 2 раза медленее.
Реализация: "Д. Мастрюков, "Монитор", N1, 1994. Алгоритмы сжатия информации. Адаптивное арифметическое кодирование. Демонстративная программа."

Цитата(_pv @ Mar 22 2018, 09:09) *
2) 3D wavelet ещё и вдоль временной оси, на 4/8 кадров.

Встроенной РАМы STM32F407 не хватит.

Цитата(_pv @ Mar 22 2018, 09:09) *
3) ну и опциональное квантование можно где-то после третьей стадии добавить, чтобы "легким движением руки lossless превращается..."

Изначально планировал Lossy sm.gif Но потом понял, что это слишком легко, часть коэффициентов - особенно сильно ВЧ можно обнулить, те что более НЧ проквантовать, Low оставить без изменений. Да, была фантастика - сжатие в несколько десятков раз, но c артефактами вокруг чётких контуров.

У меня есть пара идей как усовершенствовать кодек. Первая идея даже не требует изменения алгоритма декодера. Вторая - с пересмотром алгоритмов обоих.

Цитата(petrov @ Mar 22 2018, 10:16) *
Можно привести список избранной литературы, которую вы использовали, чтобы начинающие могли в теории разобраться?


Интернет. Без шуток...

0) http://compression.ru/

1) описание JPEG, JPEG2000 - трудностей с поиском не должно возникнуть

2) Хабр:
https://habrahabr.ru/post/168517/
https://habrahabr.ru/post/169615/
и
https://habrahabr.ru/post/142242/
https://habrahabr.ru/post/142492/
и
https://github.com/VadimKirilchuk/jawelet/w...velet-Transform
https://github.com/VadimKirilchuk/jawelet/w...velet-Transform

3) всякие научные статьи учёных деятелей (индусских в основном), чьи перлы просочились через интернет

4) github.com , pudn.com - исходные тексты кодеров Хаффмана, RLE, арифметик-кодера. Много нерабочего говнокода!!! Надо проверять на правильность работы и фильтровать!

5) Ну и конечно, сам Бог велел:
https://hightech.in.ua/content/art-c-cpp-co...ler-for-windows или http://pmg.org.ru/gamedev/djgpp.htm - на выбор.

6) Ну и без этого не достичь большой скорости декодирования:
http://infocenter.arm.com/help/index.jsp
http://www.keil.com/support/man/docs/armasm/

или хотя-бы для начала:
https://www.compel.ru/lib/ne/2012/6/3-bogat...yadre-cortex-m4

7) И смотреть чё делается в критических местах: ASM-листинги компилируемой программы

Сообщение отредактировал __inline__ - Mar 24 2018, 04:06
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- __inline__   Разработан новый Lossless видео-кодек   Mar 22 2018, 08:38
- - petrov   Цитата(__inline__ @ Mar 22 2018, 11:38) ....   Mar 22 2018, 10:16
- - __inline__   Фото плеера: Принципиальная схема (элементы, пом...   Mar 25 2018, 03:59
- - __inline__   Под этот же плеер исходники с прошивками, декодиру...   Mar 25 2018, 07:17
- - x736C   Чрезвычайно похоже на JPEG-2000, кроме Inter-Frame...   Mar 25 2018, 11:31
|- - __inline__   Цитата(x736C @ Mar 25 2018, 12:31) Чрезвы...   Mar 26 2018, 09:16
|- - petrov   А Хаффман у вас адаптивный используется?   Mar 26 2018, 09:20
|- - __inline__   Цитата(petrov @ Mar 26 2018, 10:20) А Хаф...   Mar 26 2018, 09:33
|- - petrov   Цитата(__inline__ @ Mar 26 2018, 12:33) Х...   Mar 26 2018, 09:52
|- - __inline__   Цитата(petrov @ Mar 26 2018, 09:52) Ещё к...   Mar 26 2018, 10:20
- - thermit   Адаптивный.   Mar 26 2018, 10:01
- - x736C   Переформулирую вопрос. Чем Вас не устраивали готов...   Mar 26 2018, 11:25
|- - __inline__   Цитата(x736C @ Mar 26 2018, 11:25) Перефо...   Mar 26 2018, 12:17
|- - x736C   Спасибо за ответ. Цитата(__inline__ @ Mar 26...   Mar 26 2018, 15:36
- - enclis_   Lagarith, HuffYUV, MSU - это же всё древние кодеки...   Mar 26 2018, 21:38
|- - _pv   Цитата(enclis_ @ Mar 27 2018, 04:38) Laga...   Mar 27 2018, 01:55
|- - __inline__   Цитата(enclis_ @ Mar 26 2018, 21:38) Laga...   Mar 27 2018, 06:23
- - enclis_   ЦитатаAV1 и VP9 - не lossless. Ну если топикстарте...   Mar 27 2018, 07:37
|- - __inline__   Цитата(enclis_ @ Mar 27 2018, 07:37) Ну е...   Mar 27 2018, 09:45
- - __inline__   Всё-же уделил время на VP9 и затестил его в режиме...   Mar 28 2018, 00:55
- - __inline__   Чтоб не быть голословным: сделал и закачал архив(с...   Mar 28 2018, 06:04
- - __inline__   Усовершенствованный вариант Lossless видео-кодека ...   Mar 29 2018, 07:37
- - enclis_   Спасибо, что сравнили с VP9, он как и AV1 всё-таки...   May 4 2018, 07:58
- - Wild   Крутяк.. Например при проигрывании звука шум -40д...   May 16 2018, 14:50
- - __inline__   Всем привет! В связи с освоением процесс...   Aug 6 2018, 09:43
- - Aner   Вот зачем все это софтверно, когда давно есть деше...   Aug 7 2018, 06:52
- - __inline__   Цитата(Aner @ Aug 7 2018, 07:52) Вот заче...   Aug 17 2018, 12:29


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th August 2025 - 11:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016