# [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

* 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.

```