are there embedded sized libraries for them or some detailed
instructions to implement [lossless decompression]?
Yes, it is possible to put compressed photographs (or drawings or fonts) in flash and then decode them with a variety of libraries.
Two popular techniques for storing arbitrary binary data in flash are: are:
- Store the (possibly compressed) drawings (or photographs or fonts) in a SD card or some other external flash media, and use library functions in your application to pull those images from the card
- Use a bin2hex utility such as xxd(a)(b)(c)(d)(e)(f)(g)(h)(i) to convert (possibly compressed) binary files into ".c" C language source code files as named arrays. (Typically using "const" or "PROGMEM" or whatever magic keyword your compiler uses to keep that data in flash, without using up any RAM). Then compile those source files into your application; and use normal array access  to pull the bytes of the drawings or photographs from program memory.
There are a variety of tradeoffs in how to store stuff in flash, between
- drop drawings in PNG, photographs in JPEG, or both on the SD card in FAT format, and use a lot of code space on your microcontroller to implement FAT libraries, decompression from PNG or JPEG or both to RGB pixels, and reformat to push to your screen.
- Use software on your development computer to convert photographs or drawings or both into some other format that takes less code space (or less RAM) on your microcontroller -- in the extreme case, simply copy bytes from the SD card to the display.
There are a variety of lossy and lossless data compression libraries available; often the "decompression-only" section is relatively small and would probably fit on your microcontroller:
Libraries more-or-less specifically designed for photographs and drawings:
"Small" libraries that apparently work well in embedded systems: