2-D DCT

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

  • Библиотека:
  • Computer Vision Toolbox/Преобразования

  • 2-D DCT block

Описание

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

F(m,n)=2MNC(m)C(n)x=0M1y=0N1f(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

Параметры

расширить все

Main Tab

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

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

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

Data Types Tab

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

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

Примечание

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

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

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

Примечание

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

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

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

Значения синусоидальной таблицы не подчиняются параметрам Rounding mode и Saturate on integer overflow; вместо этого они всегда насыщены и округлены до Nearest.

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

Используйте этот параметр, чтобы задать тип данных аккумулятора. См. типы данных с фиксированной точкой для рисунков, описывающих использование типа данных аккумулятора в этом блоке.

Используйте этот параметр, чтобы задать тип выходных данных. См. типы данных с фиксированной точкой для рисунков, описывающих использование типа выходных данных в этом блоке. Когда вы устанавливаете этот параметр,

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

    WLideal output=WLinput+floor(log2(DCT length1))+1

    FLideal output=FLinput

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

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

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

Типы данных

double | fixed point | integer | single

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

no

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

no

Подробнее о

расширить все

Ссылки

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

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

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.

См. также

| |

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