Abstract:
Fast transform (200) that use multiple scaled terms, early aborts, and precision refinements are disclosed. The discrete transforms are split into sub-transforms (210) that are independently calculated using multiple scaling terms on the transform constants (220). The effect of the scaling for the transform coefficients may optionally be handled by appropriately scaling the quantization values or any comparison values. The possible need to perform a corrective action is detected based upon testing the incremental calculations of transform coefficients. Corrective action is then performed. The corrective action includes refining the incremental calculations to obtain additional precision and/or aborting the incremental calculations when the resulting numbers are sufficient.
Abstract:
A system for data processing including packing multiple signed data elements per register into a processor's register using the rules set forth herein (44), and simultaneously operating on the elements in a register in a single cycle using the same operand (36). The elements can be independent of each other as defined by compiler directives, and the sizes of the elements in a register can differ from each other. A relatively large element can be split across multiple registers. A data stream representing two images can be simultaneously processed using the same number of registers as have been required to process a single image. A single image can also be processed approaching N times faster, where N is the number of elements per register.