Descriptors are a special kind of Processing Data that are obtained from another Processing Data or Descriptor through a simple extraction process. A descriptor is metadata as it contains data that describes its originating data. Generic descriptors can be obtained from almost any kind of Processing Data, examples of such descriptors are the average or the nth order moment. Nevertheless most useful descriptors carry more semantic information and are in some way coupled to a particular Processing Data, examples of such descriptors are the spectral centroid or the zero crossing rate.

The previous explanation is not enough to clearly distinguish Descriptors from regular Processing Data. Should a spectrum be considered a Descriptor as it can directly ``extracted'' from a time-domain signal? We know that the spectrum is the result of a transform and not an extraction process nevertheless in some cases it may be useful to consider and treat it as a Descriptor. Therefore we cannot draw a clear line separating regular Processing Data from Descriptors. Nevertheless two hints that may be used are the following: first a Descriptor should be easily computable using a limited set of simple statistical operations; and second a Descriptor cannot be easily converted back to its originating Processing Data. Although both these rules of thumb clearly discard the spectrum from being a Descriptor, some cases are not easy to decide and a given model dealing with descriptors must establish what it considers as ``limited operations'' and as ``easily converted back''. In the general case we can conclude that any Processing Data could be understood as a Descriptor under certain circumstances.

An Extractor is a special kind of Processing object that is input a Processing Data or a Descriptor and outputs a Descriptor after having applied the extraction process. This extraction process is the result of applying simple statistic tools to the input signal. Therefore an Extractor must have an accessible repository of basic statistical tools.

Expressions can be built by composing with extractors. For instance, it is usual to compute Descriptors on a frame basis, accumulate these values and then perform a time wise average.

We will come again to different kinds of descriptors and their usage in chapter 5 in the context of the Object-Oriented Content Transmission Metamodel.