[vorbis-dev] patents and separate entropy coding
Frank Klemm
pfk at fuchs.offl.uni-jena.de
Sun Dec 17 04:32:00 PST 2000
Ist there any patent in transforming 2 channel data in the following way:
* input are vectors x1 and x2 (usually the left and right channel)
* Make a simple linear correlation
x2 = a1*x1 + b1 and
x1 = a2*x2 + b2
* Calculate r = a1*a2
* Calculate a = (atan (a1) + atan (1/a2)) / pi + 1
( a has a range from 0...2:
x1 = 0 : a = 0.0 or 2.0
x1 =-x2: a = 0.5
x2 = 0 : a = 1.0
x1 = x2: a = 1.5
)
* optional: if (a >= 1.) a -= 1.
(Note: Then it is possible that the S signal is stronger than the M
signal)
* Quantize a to a' and store a' in the bit stream
* make a transformation for L and R to CH1 and CH2 with
S = sin (pi/2 a') and C = cos (pi/2 a')
/ CH1 \ / C -S \ / L \
( ) = ( ) ( )
\ CH2 / \+S C / \ R /
* Compress CH1 and CH2 instead of L and R
* If there are multiple channels, you can use the multiple r to estimate
the useful precision of the a'(n) and store this (no_of_bits) with
additional 2 or 3 bits.
* Remark: no_of_bits = 1 is like MS <=> LR switching used in MP2, MP3, AAC,
MP+ and much much more.
* Remark: I'm using this technique to (lossless) compress technical signals
for years. This method you can found in many ancient books under the
terms "MDS", "Merkmalsextraktion", "Merkmalsraum".
* This can be extended to multi channel coding.
--
Mit freundlichen Grüßen
Frank Klemm
eMail | pfk at uni-jena.de home: pfk at schnecke.offl.uni-jena.de
phone | +49 (3641) 64-2721 home: +49 (3641) 390545
sMail | R.-Breitscheid-Str. 43, 07747 Jena, Germany
--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Vorbis-dev
mailing list