I had recently used a slightly unorthodox method to process such images, which involved using RNNs.
Assume the image dimensions to be (16000, 120, 16) = (width, height, channels), as in the question.
Apply a 2D convolution (or multiple such convolutions) of shape(1, k, c),
such that the output of the convolutions becomes (16000, 1, c). So if you only use a single convolutional layer, k=120
.
Then, squeeze the extra dimension, to get the shape (16000, c).
The problem has now been reduced totransformed back into a sequence problem! You can use RNN variants for further processing.