Seismic impedance inversion using dictionary learning and sparse representation