Rotation wip

This commit is contained in:
Jean-Marc Valin 2011-09-06 08:03:38 -04:00
parent fbbd9bf608
commit 018b0df9c9
2 changed files with 16 additions and 4 deletions

View file

@ -45,5 +45,6 @@ echo '</artwork>' >> opus_compare_escaped.c
echo '</figure>' >> opus_compare_escaped.c echo '</figure>' >> opus_compare_escaped.c
echo running xml2rfc echo running xml2rfc
xml2rfc draft-ietf-codec-opus.xml draft-ietf-codec-opus.html &
xml2rfc draft-ietf-codec-opus.xml xml2rfc draft-ietf-codec-opus.xml
xml2rfc draft-ietf-codec-opus.xml draft-ietf-codec-opus.html wait

View file

@ -4291,16 +4291,27 @@ the value of the "spread" parameter in the bit-stream.
The rotation angle is then calculated as The rotation angle is then calculated as
<figure align="center"> <figure align="center">
<artwork align="center"><![CDATA[ <artwork align="center"><![CDATA[
pi * g_r^2 2
theta = ----------- pi * g_r
theta = ----------
4 4
]]></artwork> ]]></artwork>
</figure> </figure>
A 2-D rotation R(i,j) between points x_i and x_j is defined as:
<figure align="center">
<artwork align="center"><![CDATA[
x_i' = cos(theta)*x_i + sin(theta)*x_j
x_j' = -sin(theta)*x_i + cos(theta)*x_j
]]></artwork>
</figure>
An N-D rotation is then achieved by applying a series of 2-D rotations back and forth, in the
following order: R(x_1, x_2), R(x_2, x_3), ..., R(x_N-2, X_N-1), R(x_N-1, X_N),
R(x_N-2, X_N-1), ..., R(x_1, x_2).
</t> </t>
<t> <t>
If the decoded vector represents more If the decoded vector represents more
than one time block, then the following process is applied separately on each time block. than one time block, then the following process is applied separately on each time block.
</t> </t>
</section> </section>