在一维 DCT 中,为什么输入是向量?

信息处理 图像处理 转换 dct 矩阵
2022-01-31 17:46:27

该问题特定于本文档:图像压缩

这是 Jorge Rebaza 的《应用数学第一课》一书的第 6 章。它是对工程师更容易掌握的 DCT 的重点解释。但是,有些事情没有解释,因此我在这里。

问题是关于本书开始讨论一维 DCT 时使用的符号;在它显示的pdf的pg.3上x那是要转换的输入。x是一个向量,即一个矩阵n行和1柱子。然后我们将它与C那是n×n矩阵得到一个n×1矩阵y,其中包含 DCT 系数。

问:为什么是x基本上描述为列矩阵而不是pdf的pg.3上的行矩阵?如果x是行矩阵,即它没有被转置,使它成为1xn矩阵,方程如何计算y改变?现在是y=Cx.

问:为什么方程 y=Cx 而不是写成y=Cx在哪里符号表示转置?因为我们同时描述了xy作为转置?

问:当我们转向 2D DCT(pdf 中的第 8 页)时,方程是这样推导的y=C(Cx)这使y=CxC. 我们怎么会显式地写出操作数的转置x但不是在一维方程中?

描述看起来不一致。

1个回答

我确实觉得这一章写得很好。向量的行或列视图主要是为了约定和方便。一个或另一个完全没问题。在信号处理中,当使用代数时,经常使用列版本(垂直向量)。如果你乘以一个 col-vectorx按矩阵A, 你得到一个 col-vectory

y=Ax

您可以通过转置获得行向量版本:

y=xA

如果您决定使用行向量,您也可以使用v=uB,但左边的矩阵似乎更容易阅读(至少对于西方语言)。

当您处理图像或图像块时X,您可以在两列上应用变换,在Y1=AX.Y1是一个矩阵,其列是每一列的变换X. 然后,您可以处理Y1, 通过应用公式 Y1A:每一行现在都受到变换的影响。最终结果是这样的(AX)A, 或者A((AX))=A(XA)