1D DCT Module

jpegenc.subblocks.dct.dct_1d.dct_1d

1D-DCT Module

This module performs the 1D-DCT Transformation. It takes serially N inputs and outputs parallely the vector of N signals. The parameter num_fractional_bits defines how many bits will be used for the fixed point representation of the dct coefficient. The out_precision parameter defines how many bits will be used for the fixed point representation of the outputs signals. This module is the building block for the 2d-dct module. The input interface is the input_1d_1st_stage and the output interface is the output_interface.

Inputs:
data_in, data_valid, clock, reset
Outputs:
List of N signals: out_sigs, data_valid
Parameters:
num_fractional_bits, out_precision, N
jpegenc.subblocks.dct.dct_1d.tuple_construct(matrix)

Construct a tuple from list to use it as a rom

class jpegenc.subblocks.dct.dct_1d.dct_1d_transformation(N)

1D-DCT Transformation Class

It is used to derive the integer coefficient matrix and as a software reference for the 1D-DCT Transformation.

build_matrix(N)

Create the coefficient NxN matrix

dct_1d_transformation(vector)

1D-DCT software reference

dct_int_coeffs(precision_factor)

Transform coeff matrix to integer coefficients