MPEG-7描述子(3)——颜色布局描述子CLD


DCT原理

DCT变换利用傅立叶变换的性质。采用图像边界褶翻将像变换为偶函数形式, 然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦 变换。DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。变换 编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的 方法。在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量 常常被集中在一起,或者是系数矩阵的分布具有某些规律。图像经DCT变换以 后,DCT系数之间的相关性就会变小,而且大部分能量集中在少数的系数上。

1、二维离散余弦变换

在傅里叶级数展开式中,如果展开的函数是实偶函数,那么,其傅里叶技术中只包含余弦项,在将其离散化由此可导出余弦变换。
MPEG-7描述子(3)——颜色布局描述子CLD_第1张图片

2、离散余弦变换的矩阵算法

这里写图片描述


CLD原理

该描述符指定颜色的空间分布,用于高速的检索和浏览。它的目标不仅在于图像与图像的匹配以及视频片段与视频片段的匹配,还包括基于颜色分布的检索,该描述符可以用于整幅图像或图像的一部分。
获取颜色描述符的方法如下:

  1. 将图像从RGB空间映射到YCbCr空间。并把整幅图像或图像的一部分分成64块(每块的尺寸为(W/8)*(H/8),其中W为图像的宽度,H为图像的高度),计算每一块中多有像素各颜色分量(Y、Cb、Cr)的平均值,并以此作为该块的代表颜色。
  2. 对8*8块的平均值数据进行DCT变换(其中N=8),得到一系列系数。这里,8*8的DCT系数矩阵c[8][8]可以从8*8的代表颜色矩阵d[8][8]计算得到。经过变换,得到对应Y、Cb、Cr颜色分量的三组DCT系数矩阵c[8][8],分别是:yc[8][8]、cbc[8][8]、crc[8][8]。
  3. 对系数矩阵进行量化,量化后的系数通过“之”字形扫描,得到颜色布局描述符的值YCoeff、CbCoeff和CrCoeff。
    MPEG-7描述子(3)——颜色布局描述子CLD_第2张图片

    实际上,DCT将8*8图像块变换为频率域时数值集中在矩阵的左上角(其中,第0行第0列的系数为DC系数,其余63个系数为AC系数),低频分量包含了图像的主要信息,而高频与之相比就不那么重要了。

  4. 根据设定的系数个数,提取相应数据。

系数取不同个数时对应的YCoeff、CbCoeff、CrCoeff的所取得系数个数

Number of coefficients YCoeff CbCoeff CrCofeff
5 3 1 1
9 3 3 3
12 6 3 3
18 6 6 3
45 15 15 15

CLD实现接口

ColorLayoutExtractionTool(int numYCoef, int numCCoef);
int ColorLayoutExtractionTool::SetSourceMedia(MomVop* img);
ColorLayoutDescriptor* ColorLayoutExtractionTool::GetDescriptor(void);
unsigned long ColorLayoutExtractionTool::extract(MomVop *img, int NumberOfYCoeff, int NumberOfCCoeff);

你可能感兴趣的:(MPEG-7)