Digital Hardware Architectures For Exact And Approximate Dct Computation Using Number Theoretic Techniques