exponenta event banner

2-D DCT

Вычислить 2-D дискретное косинусное преобразование (DCT)

  • Библиотека:
  • Панель инструментов компьютерного зрения/Преобразования

  • 2-D DCT block

Описание

Блок 2-D DCT вычисляет двумерное дискретное косинусное преобразование изображения. Предположим, что f (x, y) - входное изображение размерности M-by-N, уравнение для 2-D DCT равно

F (m, n) = 2MNC (m) C (n) ∑x=0M−1∑y=0N−1f (x, y) cos (2x + 1) mπ2Mcos (2y + 1) nπ2N

где C (m), C (n) = 1/2 для m, n = 0 и C (m), C (n) = 1 в противном случае.

Число строк и столбцов входного изображения должно быть равным 2. Этот блок можно также использовать для вычисления 1-D DCT вектора.

Порты

Вход

развернуть все

Входные данные, заданные как числовая матрица или вектор. Размер входных данных должен быть равен 2.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Продукция

развернуть все

Выходные данные, содержащие DCT коэффициенты, возвращаемые в виде матрицы или вектора. Размер и тип данных выходных данных совпадают с размером входных данных.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Параметры

развернуть все

Главная вкладка

Используйте этот параметр, чтобы указать, как блок вычисляет синусоидальные и косинусные члены в алгоритме DCT.

  • При выборе Trigonometric fcnблок вычисляет значения синуса и косинуса во время моделирования.

  • При выборе Table lookupблок вычисляет и сохраняет тригонометрические значения перед началом моделирования. В этом случае блок требует дополнительной памяти. Table lookup является значением по умолчанию.

Вкладка «Типы данных»

Рабочие параметры фиксированной точки

Этот параметр используется для указания режима округления для блока, который будет использоваться, если указанный тип данных и масштаб не могут точно представлять результат вычисления с фиксированной точкой. Дополнительные сведения о доступных значениях см. в разделе Режимы округления.

Примечание

Значения таблицы синусов не соответствуют этому параметру; они всегда округляются до Nearest.

При выборе этого параметра блок насыщает результат операции с фиксированной точкой. При сбросе этого параметра блок переносит результат операции с фиксированной точкой.

Дополнительные сведения о насыщении и переносе см. в разделе Обработка переполнения для операций с фиксированной точкой.

Примечание

Значения таблицы синусов не соответствуют этому параметру; вместо этого они всегда насыщены.

Типы данных с фиксированной точкой

Этот параметр используется для указания длины слова значений таблицы синусов. Длина дроби значений таблицы синусов всегда равна длине слова минус один.

Значения таблицы синусов не подчиняются режиму Округления и Сатурату для параметров переполнения целых чисел; вместо этого они всегда насыщены и округлены до Nearest.

Этот параметр используется для указания типа выходных данных продукта. Примеры использования типа выходных данных продукта в этом блоке приведены в разделах Типы данных с фиксированной точкой и Типы данных умножения.

Этот параметр используется для указания типа данных накопителя. Примеры использования типа данных накопителя в этом блоке приведены в разделе Типы данных с фиксированной точкой.

Этот параметр используется для указания типа выходных данных. Примеры использования типа выходных данных в этом блоке приведены в разделе «Типы данных с фиксированной точкой». При установке для этого параметра значения

  • Inherit: Inherit via internal ruleблок автоматически вычисляет длину выходного слова и длину дроби. Внутреннее правило сначала вычисляет идеальную длину выходного слова и длину дроби, используя следующие уравнения:

    WLидеальный выход = WLinput + floor (log2 (длина DCT − 1)) + 1

    FLидеальный выход = FLвход

    Используя эти идеальные результаты, внутреннее правило затем выбирает длины слов и дроби, которые подходят для вашего оборудования. Дополнительные сведения см. в разделе Наследование через внутреннее правило.

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока. Дополнительные сведения см. в разделе fxptdlg (Конструктор фиксированных точек) - справочная страница инструмента фиксированных точек.

Характеристики блока

Типы данных

double | fixed point | integer | single

Многомерные сигналы

no

Сигналы переменного размера

no

Подробнее

развернуть все

Ссылки

[1] Чен, W.H, C.H. Smith и S.C. Фралик, «Быстрый вычислительный алгоритм для дискретного косинусного преобразования», IEEE Trans. Communications, 25 (1977): 1004-1009.

[2] Ван, З. «Быстрые алгоритмы для дискретного преобразования W и для дискретного преобразования Фурье», IEEE Trans. Acoust., Speech, Signal Processing, 32 (август 1984): 803-816.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

См. также

| |

Представлен до R2006a