Практическое дискретное косинус-преобразование

Основные формулы вычисления дискретного косинус-преобразования лежат в самом «сердце» метода JPEG, поэтому ускорение вычислений просто необходимо. Опишем несколько полезных приемов. Независимо от размера изображения, используется только 32 значения функции косинус. Их можно один раз вычислить и использовать много раз в операциях над единицами данных 8x8.

В итоге, вычисление одного элемента матрицы требует восьми умножений и семи (ну пусть тоже восьми, для простоты) сложений.

Другой путь ускорения вычисления дискретного косинус-преобразования - DCT состоит в выполнении арифметических вычислений над числами, представленными в форме с фиксированной точкой, а не в форме с плавающей точкой. Для многих компьютеров операции над числами с фиксированной точкой делаются существенно быстрее операций с плавающей точкой (некоторые высоко производительные компьютеры, вроде CDC 6400, CDC 7600 и различные системы CRAY являются заметными исключениями). Бесспорно, лучший алгоритмом для DCT описан в [Feig, Linzer 90]. Для него требуется всего 54 умножения и 468 сложений и сдвигов. На сегодняшний день имеются различные специализированные микросхемы, которые выполняют эти процедуры очень эффективно.

Категория:
-----------------------------