Channel autoencoder without AWGN

I’m working on problem to develop data encoding/modulation for transmission through channel what alters data. As example, you want to put data in lossy image like JPEG without hiding it (no steganograthy).
In many works related to channel autoencoders I see AWGN (gauss noise) is used to represent noise of channel - in autoencoder there AWGN layer added between encoder and decoder.
Its works good to make neural networks learn how to handle some random noise in latent representation, but in case of JPEG we will have data “shift” what will fully depends on input data rather than truly random noise, so its must be possible to use channel “non-randomess” to be learned by autoencoder.
But I can’t find related examples to use.
In my kind of this problem I take channel start/stop operations as very costy, and transmission delay as significant. In some cases you will need to send like 100 Mb before you will be able to get copy of recieved data what can be used in training.