[FFmpeg-devel] [TeX] DCA subband transform
Michael Niedermayer
michaelni
Sun Sep 7 17:34:42 CEST 2008
On Sun, Sep 07, 2008 at 07:31:52PM +0600, Alexander E. Patrakov wrote:
> Michael Niedermayer wrote:
>
> > It would be more interresting to know if every "pseudo"QMF is a windowed
> > *DCT and if every windowed *DCT is a "pseudo"QMF
>
> Good idea. However, I don't know the definition of a windowed *DCT, except
> for the case when there are only two overlapped windows. I.e., Wikipedia
> says:
>
> > MDCT ... has half as many outputs as inputs (instead of the same
> > number). In particular, it is a linear function F : R^{2N} -> R^{N} (where
> > R denotes the set of real numbers).
>
> (i.e., they use N as the number of MDCT outputs, and, thus, IMDCT inputs)
>
> Further, they say:
>
> > In typical signal-compression applications, the transform properties are
> > further improved by using a window function wn (n = 0, ..., 2N-1)
>
> ...and then discuss that the window must be shifted by the half of its
> length each time, and write the Princen-Bradley condition that applies only
> to this case.
Well i would define windowed *dct as any dct (not just type IV) and any
length, actually i think considering the dct output to extend to +-infinity
and the window just having finite non zero coefficients is a better way to
define it.
>
> I.e., their window has twice as many points as the number of MDCT outputs,
> which is not the case for DCA, while DCA and MP2 have 32 IMDCT inputs and
> 512 points in the window, and I don't know the equivalent of the
> Princen-Bradley condition for this situation.
Princen-Bradley is IIRC just an easy way to proof orthogonality
Also i belive that any "infinitly extended" orthogonal transform T that is
windowed can be inverted by applying the same window and the
"infinitly extended" inverse transform of T as long as the whole windowed
transform is orthogonal.
a sketch of a proof for that would be
assume t is our orthogonal transform (NxN matrix, maybe a DCT)
then the "extended" transform would be T
the window w0..wM
and the transform equation could be written as
W*T*input = output where W and T are matrixes:
w0 .
. .
. .
. t
wN w0 t
. . .
. . * . * input = output
. . .
w2N wN w0 t
. . . t
. . . .
. . . .
wM w2N wN .
. .
now if W*T is a orthogonal transform then (W*T)^-1 = (W*T)^T
and T^T * W^T is our inverse and as ^T is just the transpose that
really is
1. apply same window
2. sum stuff up
3. apply I(M)DCT
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
No human being will ever know the Truth, for even if they happen to say it
by chance, they would not even known they had done so. -- Xenophanes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080907/7ecf191a/attachment.pgp>
More information about the ffmpeg-devel
mailing list