Единственная разница между DCT и IDCT заключается в том, где учитывается коэффициент.
Вы должны заменить строку 46 в вашем коде на
sum = sum + ck*cl*dct1;
, где ck и cl вычисляются как в строках 24-34, но для k и l
и подавить ci * cj в строке 49
Кстати, этот код Java исключительно неэффективен. Предварительно вычислите Math.sqrt (2), Math.sqrt (n) и поместите свой косинус в таблицу, и он будет как минимум в 3 раза быстрее.