Le format JPEG et les algorithmes de calcul sont standardisés, mais ils utilisent au cours du calcul des matrices de quantification qui sont, elles paramétrables, et influent sur le résultat (qualité +/- dégradée en contrepartie de compression +/- grande).
Les différents programmes générant des fichiers jpegs offrent plus ou moins de possibilités pour l'utilisateur de jouer sur ces paramètres.
Par exemple mon Nikon D90 me propose seulement 3 jeux de paramètres, qu'il appelle "Fine", "Normal" et "Basic". Mais des programmes plus évolués et plus puissants (darktable, gimp, FastStoneViewer, et bien sûr Lightroom ou Photoshop) vont proposer plus de paramétrages.
Pour simplifier un peu l'expérience utilisateur, la plupart de ces programmes proposent un curseur principal, gradué de 0 à 100, qui représente la "qualité" du fichier jpeg final: 0 donnant en général un fichier tout petit mais de qualité pourrie, et 100 donnant un fichier bien gros mais de qualité maximale, proche en fait d'une pure compression informatique sans perte d'information (comme le zip d'un fichier bitmap, pour donner une idée...)
Mais ce niveau entre 0 et 100 n'est qu'une commodité d'interaction utilisateur, ce n'est pas du tout standardisé, la meme valeur utilisée dans deux programmes différents ne donnera pas forcément le même résultat. Cf par exemple
<<ici>> une comparaison Photoshop/Gimp (ça date de 10 ans donc les deux programmes ont pu changer leur paramétrage mais le principe reste vrai).
Au final l'information "réglage entre 0 et 100 utilisé pour paramétrer le niveau de qualité+compression avec le programme utilisé" n'est pas stockée formellement dans le fichier jpeg résultat. En effet elle n'a de sens que pour le programme générateur du fichier. Ou alors si elle est stockée, c'est dans une zone "non normalisée", et qui ne sera donc pas forcément comprise par un autre programme travaillant sur ce fichier.
Par contre, il y a dans le format standardisé jpeg des éléments (les valeurs du paramétrage des matrices de quantification, entre autres) qui sont nécessaires à la décompression du fichier pour l'affichage. Ces éléments peuvent être utilisés pour "deviner" comment la compression a été faite.
Ca pourrait permettre à un programme qui ouvre un jpeg d'afficher une valeur de qualité entre 0 et 100, qui correspondrait à "la valeur que j'aurais prise si c'était moi le programme créateur de ce fichier que je viens d'ouvrir", en quelque sorte.
J'utilise en affichage FastStone Viewer, et ce petit soft (génial!) sait afficher le taux de qualité d'un jpeg: il suffit de faire entregistrer sous, et il positionne la valeur de son réglage entre 0 et 100 en fonction de ce qu'il arrive à voir dans le fichier, donc on peut facilement voir ce qu'il en est. J'ai essayé avec deux jpegs que j'ai faits générer l'un par gimp, l'autre par Darktable, en choisissant dans ces deux programmes un taux de qualité bien particulier, genre 53 ou 77: à la lecture des jpegs dans FSViewer, j'ai retrouvé exactement mon 53 et mon 77! A noter que doit venir du fait que ces trois programmes utilisent à la base la même librairie "publique" de compression / décompression jpeg...
Je ne sais pas ce qu'il en est avec Photoshop ou Lightroom, que je n'utilise pas. Je ne sais pas s'ils permettent d'afficher le taux de qualité d'un jpeg, qu'ils l'aient généré eux-mêmes ou qu'il vienne d'ailleurs. Mais ça serait étonnant qu'ils utilisent la même librairie jpeg que les autres (!), donc s'ils savent fournir l'info la valeur sera probablement différente de celle qu'afficherait mon FSViewer...
PS: sinon en googlant un peu sur ton sujet, j'ai trouvé par exemple
<Ce lien vers un topic sur un forum> ou
<cet autre lien>... en anglais mais pas mal d'infos et de réponses sensées à ta question.