Цитата(DmitriyX @ Mar 1 2005, 15:52)
Вы спрашиваете частоту входного сигнала? а правильно я понимаю, что он должен быть в цифровом виде? А в параллельном коде каждый 8-битный пиксель подойдет? Контроллер сам читает картинку из памяти в параллельном коде поэтому жестких требований по скорости обработки нет. Но при этом все-таки, очень бы хотелось, чтобы он успевал сжимать такие кадры с частотой хотя бы 10-15 кадров в секунду.
Вот отсюда и получаем входную частоту 1,8 Мгц. Я так понимаю, что для вас это нормально, т.к. AVR 8 Мгц.
Цитата
2D-DCT(8x8)->RLE->Huffman
Не могли бы Вы объяснить вкратце каждый из приведеных выше терминов?
Объясняю:
2D-DCT(8x8) - двумерное Дискретное Косинусное Преобразование (8 на 8 элементов). Оно делается как два одномерных преобразования (по строкам, а затем по столбцам).
А еще забыл - после этого этапа делаем так называемое ЗигЗаг сканирование. Здесь точно без памяти не обойтись. Т.е. нужно считывать вектор из левого верхнего угла в правый нижний угол матрицы(8x8).
RLE (Run lenght encoding)- так называемое RLE кодирование. Из входного вектора получаем пары типа (количество пропущенных нулей, следующий символ). Почему нулей - потому что после ДКП получаем вектор с множеством нулей (или близким к нему).
Ну а потом Хаффман - за счет его и роизводится собственно сжатие. Здесь мы часто употребляемые символы кодируем малым количеством бит. А редко употребляемые символы кодируем большим количеством бит.
Вот так вот и сжимаем.
Цитата
А на каком FPGA Вы это делаете? и какая тактовая частота подается на FPGA? Сколько примерно требуется логических ячеек для реализации такого алгоритма?
На Spartan-2. Тактовая= 60 Мгц. По-поводу логики ничего не могу сказать, т.к. проект еще не завершен.