I already gave you a good practically working answer, but it looks like you ignored at least a part of it:
Read Big Tiff and JPEG files (>(23000 x 23000) pix) in a stream. And display part of it to the screen in realtime.[
^].
Apparently, what applies to "TIFF and JPEG" is applied to "JPEG". "Without loading… in memory" sounds somewhat ridiculous. JPEG files are not designed to be partially read, just because they don't have "parts". As the data is compressed, you cannot read, say, only lower half of the image, because you don't know the boundary; a lower half may occupy, say, 70% of the file. The files are designed to be loaded fully, you cannot do anything else. Load it in memory in full. If not in memory, then where? :-)
It looks like you are coming back to the same wrong idea over and over (I don't want to repeat "elegant" biblical saying telling us like who :-)), but you need to move forward. Thing about it.
—SA