A system and method for carrying out a two-dimensional forward and/or
inverse discrete cosine transform is disclosed herein. In one embodiment,
the method comprises: (1) receiving multiple data blocks; (2) grouping
together one respective element from each of the multiple data blocks to
provide full data vectors for single-instruction-multiple-data (SIMD)
floating point instructions; and (3) operating on the full data vectors
with SIMD instructions to carry out the two dimensional transform on the
multiple data blocks. Preferably the two dimensional transform is carried
out by performing a linear transform on each row of the grouped elements,
and then performing a linear transform on each column of the grouped
elements. The method may further include isolating and arranging the two
dimensional transform coefficients to form transform coefficient blocks
that correspond to the originally received multiple data blocks. The
multiple data blocks may consist of exactly two data blocks. The method
may be implemented in the form of software and conveyed on a digital
information storage medium or information transmission medium. The dual
forward or inverse discrete cosine transform methodology may be employed
within a general purpose computer or within a computation unit of a
multimedia encoder or decoder system, implemented either in hardware or
software. A multimedia encoder or decoder employing the fast, forward or
inverse discrete cosine transform methodology in accordance with the
present invention may advantageously achieve high performance.
Ein System und eine Methode für das Durchführen eines zweidimensionalen Vorwärts- und/oder umgekehrten getrennten Kosinus wandeln wird freigegeben hierin um. In einer Verkörperung enthält die Methode: (1) Empfangen der mehrfachen Datenblöcke; (2) zusammen gruppieren ein jeweiliges Element von jedem der mehrfachen Datenblöcke, um volle Arbeitsleisten für Einzeln-Anweisung-mehrfachdaten (SIMD) zur Verfügung zu stellen Gleitkommaanweisungen; und (3), funktionierend auf den vollen Arbeitsleisten mit SIMD Anweisungen, das zweidimensionale durchzuführen um, wandeln Sie auf den mehrfachen Datenblöcken. Vorzugsweise wandeln die zwei, die dimensional sind, wird getragen heraus, indem sie ein lineares durchführen, umwandeln auf jeder Reihe der gruppierten Elemente um, und dann durchführend wandeln ein lineares auf jeder Spalte der gruppierten Elemente um. Die Methode kann das Lokalisieren weiter einschließen und ordnend wandeln die zweidimensionalen Koeffizienten um, um sich zu bilden umwandeln Koeffizientblöcke, die den ursprünglich empfangenen mehrfachen Datenblöcken entsprechen. Die mehrfachen Datenblöcke können aus genau zwei Datenblöcken bestehen. Die Methode kann in Form von Software eingeführt werden und auf ein numerische Information Speichermedium oder Informationsübertragung Mittel übermittelt werden. Der Doppelvorwärts- oder umgekehrte getrennte Kosinus wandeln Methodenlehre kann innerhalb eines universellen Computers oder innerhalb einer Berechnung Maßeinheit eines Multimediakodierer- oder -decodersystems beschäftigt werden um, eingeführt worden entweder in den Kleinteilen oder in der Software. Ein Multimediakodierer oder -decoder, die das schnelle, vorwärts oder umgekehrten getrennten Kosinus einsetzen, wandeln Methodenlehre in Übereinstimmung mit der anwesenden Erfindung können hohe Leistung vorteilhaft erzielen um.