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

 
 
> арифметичкеское кодирование в FPGA(+), хотелось бы прконсультироваться ?
des00
сообщение Nov 16 2005, 07:53
Сообщение #1


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Добрый день!
Кто нибудь делал/встречал реализации арфиметического кодирования на ФПГА ?

Если да то не могли бы вы поделиться линками на данную тему,
стандарты, описания с примерами для ПК не нужны, интересует именно реализация на ФПГА.
поиск выдает линки на IEEE статьии, но т.к. я не являюсь членом IEEE, то доступ туда закрыт sad.gif

С уважением des00


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
v_mirgorodsky
сообщение Nov 16 2005, 09:38
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Цитата(des00 @ Nov 16 2005, 11:01) *
У меня алгоритм фиксирован это CABAC с одной моделью адаптации контекста под данные. Исходники работаюшего кода есть, нужно теперь переложить все это дело в ФПГА, естественно чем быстрее производительности тем лучше smile.gif
В качестве опорной величины желательно не более 10тактов*100МГц на бит.

Цитата

В первом приближении выглядит так, что на обработку каждого входного слова будет тратиться от двух до четырех тактов. Всего остального пока сказать не могу, потому как мы только собираемся этим заняться smile.gif


А что вы подразумеваете под входным словом ? какова разрядность этой величины? 2-4 такта это на одном проходе ?


В моем случае у меня на входе поток бинарны данных разядностью восемь или более бит. По входным данным строится гистограмма входных данных и подсчитывается их количество. Сами данные кладутся в память. После чего все коэффициенты масштабируются до шестнадцатибитной арифметики, данные подымаются из памяти и идет собственно процесс кодирования. Так вот, кодер на каждое входное восьмибитное слово тратит от двух до четырех тактов.

Развитием идеи арифметического кодирования является идея интервального кодирования. Там нормализацию можно производить заметно реже, однако для ее реализации нужна 32-битная арифметика и 32-битные аппаратные умножители, что не реализуемо на FPGA на данный момент - у нас скорость входящих данных обычно составляет от 100 до 160 мегаслов в секунду - будем ставить 3-4 ядра кодирования и разбивать данные на блоки. К счастью, мы не реализовываем один из стандартных алгоритмов кодирования, потому нам легче в смысле представления данных и формы их кодирования.

О CABAC ничего не знаю sad.gif По тому что будете использовать контекстную модель - выглядит как адаптивный алгоритм sad.gif Адаптивный алгоритм для 8-битных входных слов потребует после получения каждого слова пересчета таблицы вероятностей и редко - масштабирования. Самым не приятным в этом случае будет необходимость реализации деления на любое число.

У нас на FTP лежит замечательная книга, правда на английском,
Mark Nelson, The Data Compression Book. В ней можно почерпнуть множество информации о компрессии данных, в том числе и арифметическим способом.


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:07
Рейтинг@Mail.ru


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