Una delle innovazioni più interessanti nella fotografia su smartphone è il supporto HDR autentico. A partire da Android 14, diversi telefoni Android sono in grado di catturare foto HDR autentiche utilizzando un formato chiamato Ultra HDR. Molte app di terze parti con funzionalità di fotocamera integrate, tuttavia, non possono ancora scattare foto in Ultra HDR. Questo cambierà presto grazie a un aggiornamento della libreria Jetpack CameraX.
L'Ultra HDR è un formato immagine creato da Google, basato sul popolare formato JPEG. Le immagini Ultra HDR possono essere visualizzate su quasi tutti i dispositivi, indipendentemente dalla presenza di uno schermo HDR. Quando visualizzate su un dispositivo con display HDR, queste immagini offrono colori più vividi e contrastanti grazie a una mappa di guadagno HDR incorporata nei metadati del file JPEG.
Questa mappa di guadagno viene applicata sulla versione SDR di base dell'immagine, anch'essa contenuta nel file. Le app di fotocamera esistenti devono essere aggiornate per supportare la creazione e il salvataggio di questa mappa di guadagno HDR nei metadati del file JPEG. Google ha creato un'API in Android 14 per consentire alle app di farlo, ma questa API fa parte di Camera2 e non di CameraX, limitandone l'adozione.
Camera2 è l'API fornita con il framework del sistema operativo Android, pensata per app che desiderano implementare funzionalità di fotocamera avanzate. D'altra parte, CameraX è un'API fornita con la libreria di supporto Jetpack, rivolta principalmente alle app che necessitano di accedere alla fotocamera solo per funzionalità aggiuntive. Mentre Camera2 viene utilizzata per app di terze parti potenti con controlli di livello professionale, CameraX è ideale per app di social media che consentono di scattare rapidamente una foto da condividere.
Nuove funzionalità e serie compatibili
Le nuove funzionalità della fotocamera vengono sviluppate prima per Camera2, quindi gli sviluppatori che si affidano a CameraX devono attendere che Google trasferisca tali funzionalità. Alcune funzionalità di Camera2 non arriveranno mai su CameraX, ma fortunatamente il supporto per la cattura Ultra HDR non è una di queste.
Google ha annunciato all'inizio dell'anno, alla conferenza per sviluppatori I/O 2024, che avrebbe aggiornato la sua libreria CameraX per supportare la cattura di immagini Ultra HDR. Il supporto iniziale per la cattura Ultra HDR è stato aggiunto a CameraX con la versione 1.4.0-alpha05, rilasciata ad aprile.
La versione 1.4.0 di CameraX introdurrà nuove API di formato di output nelle classi ImageCapture e ImageCaptureCapabilities. Queste API includono un metodo getSupportedOutputFormats in ImageCaptureCapabilities per verificare se il dispositivo è in grado di catturare immagini Ultra HDR. Ciò dovrebbe essere possibile su qualsiasi dispositivo con Android 14 o versioni successive.
Se il formato di output è impostato su OUTPUT_FORMAT_JPEG_ULTRA_HDR su un dispositivo che supporta la cattura di immagini Ultra HDR, la libreria CameraX catturerà immagini Ultra HDR nel formato di immagine "JPEG/R". Attualmente, non molte app supportano l'Ultra HDR, con Google Chrome come unico supporto completo su Android e desktop. I dispositivi che possono visualizzare correttamente le immagini Ultra HDR includono la serie Galaxy S24 di Samsung, le serie Pixel 7 e Pixel 8 di Google, e OnePlus.