ITUB20155949A1 - Metodo per la codifica e decodifica di immagini hdr - Google Patents

Metodo per la codifica e decodifica di immagini hdr Download PDF

Info

Publication number
ITUB20155949A1
ITUB20155949A1 ITUB2015A005949A ITUB20155949A ITUB20155949A1 IT UB20155949 A1 ITUB20155949 A1 IT UB20155949A1 IT UB2015A005949 A ITUB2015A005949 A IT UB2015A005949A IT UB20155949 A ITUB20155949 A IT UB20155949A IT UB20155949 A1 ITUB20155949 A1 IT UB20155949A1
Authority
IT
Italy
Prior art keywords
image
range
dynamic range
dynamic
value
Prior art date
Application number
ITUB2015A005949A
Other languages
English (en)
Inventor
Massimiliano Agostinelli
Original Assignee
Trellis Europe S R L
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Trellis Europe S R L filed Critical Trellis Europe S R L
Priority to ITUB2015A005949A priority Critical patent/ITUB20155949A1/it
Priority to PCT/IT2016/000279 priority patent/WO2017090068A1/en
Priority to US15/779,370 priority patent/US10587901B2/en
Publication of ITUB20155949A1 publication Critical patent/ITUB20155949A1/it

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/20Circuitry for controlling amplitude response
    • H04N5/202Gamma control

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

METODO PER LA CODIFICA E DECODIFICA DI IMMAGINI HDR
DESCRIZIONE
CAMPO TECNICO
La presente invenzione si riferisce ai metodi per codificare e decodificare immagini e video.
In particolare, l'invenzione si riferisce a metodi, programmi per computer ed apparecchiature in grado di codificare e decodificare immagini ad alta gamma dinamica.
STATO DELL'ARTE
Dalle prime fotografie in digitale ad oggi la tecnologia ha fatto notevoli passi avanti. Al giorno d'oggi anche dispositivi di larga diffusione, come gli smartphone permettono di scattare fotografie ad alta gamma dinamica, in particolare immagini HDR (d all' acronimo inglese High Dynamic Range) che presentano una gamma di colori molto maggiore rispetto alle tradizionali immagini a 8 bit (anche dette immagini LDR o Low Dynamic range).
Mentre le immagini LDR rappresentano ciascun canale colore (Rosso, Verde o Blu) con 8 bit, e permettono dunque di prevedere 256 diverse sfumature di ciascun canale colore, nel caso delle immagini HDR i colori sono rappresentati in virgola mobile, solitamente utilizzando 16 o 32 bit per canale colore.
La rappresentazione in virgola mobile consente, pertanto, di ottenere un numero di sfumature eccezionalmente maggiore rispetto alle 256 previste per le immagini a 8 bit, tuttavia il numero di bit necessari per rappresentare un'immagine cresce considerevolmente e comporta una serie di problemi legati allo spazio di memoria necessario per conservarle, e alla banda necessaria per trasmetterle.
La compressione delle immagini HDR è dunque un problema molto sentito.
Metodi di compressione senza perdite ( lossless ) come quelli previsti per il formato OpenEXR non permettono di ottenere compressioni molto elevate e richiedono un eccessivo sforzo computazionale.
Metodi di compressione con perdite (/ossi/) come JPEG ed MPEG, non risultano efficaci quando applicati direttamente alle immagini HDR dato che non possono codificare immagini con più di 10-12 bit.
Per permettere la compressione di immagini HDR utilizzando i tradizionali codec JPEG o MPEG, in letteratura sono stati presentati diversi metodi che prevedono di scomporre Γ immagine HDR in due immagini a bassa gamma dinamica: un'immagine LDR (ottenuta d all' immagine HDR attraverso processi di clamping o tone mapping) ed un'immagine Residuale. Le due immagini così ottenute vengono separatamente compresse e salvate o trasmesse. L'immagine HDR viene quindi ricostruita partendo dalle due immagini a bassa gamma dinamica.
Esempi di queste soluzioni sono note dal brevetto americano US 8.462.194 e da diversi articoli scientifici, come "JPEG Compatible Coding of High Dynamic Range Imageiy using Tone Mapping Operatore" (Min Chen et al., The 25<th>Picture Coding Symposium, 2006) e "Backward Compatible High Dynamic Range MPEG Video Compression", di R. Mantiuk et al. [ACM T ransactions on Graphics (TOG) -Proceedings of ACM SIGGRAPH 2006, Volume 25 Issue 3, July 2006, Pages 713-723, ACM New York, NY, USA],
Queste soluzioni permettono una ricostruzione fedele delTimmagine HDR ed al contempo una retro-compatibilità con lettori di immagini a bassa gamma dinamica. Queste soluzioni presentano però il limite di richiedere molto spazio per la loro conservazione nonché molta banda per la loro trasmissione.
Allo stato dell'arte sono noti anche diversi metodi che permettono di passare da una rappresentazione floating point a 16 o più bit ad una rappresentazione a 8 bit (LDR). Il programma Photoshop®, per esempio, mette a disposizione diverse funzioni che permettono di variare l'esposizione ed altri parametri dell'immagine nel processo di compressione della gamma dinamica. La scelta dei parametri viene lasciata all' utilizzatore che, provando e riprovando, trova i parametri migliori immagine per immagine. Tali funzioni, poi, non nascono con l'obiettivo di comprimere un'immagine HDR in modo tale da permettere una successiva ricostruzione delTimmagine HDR a partire da quella LDR salvata, ma solo di salvare un'immagine LDR il più possibile fedele a quella originale.
E' quindi sentita la necessità di un metodo che sia ripetibile senza sforzi eccessivi da parte degli utenti e che permetta di comprimere in modo efficiente e reversibile un<7>immagine ad alta gamma dinamica.
SCOPI E RIASSUNTO DELL'INVENZIONE
E<7>scopo della presente invenzione superare gli inconvenienti dell'arte nota.
In particolare, è scopo della presente invenzione presentare un metodo che permetta una compressione e decompressione efficace di immagini ad alta gamma dinamica, una più fedele ricostruzione avviene se l'immagine in input non supera i 14 F-Stop di luce.
Questi ed ulteriori scopi della presente invenzione sono raggiunti mediante metodi di codifica e decodifica che incorporano le caratteristiche delle rivendicazioni allegate, le quali formano parte integrante della presente descrizione.
In un aspetto, l'invenzione è relativa ad un metodo per codificare immagini ad alta gamma dinamica, siano esse immagini statiche o fotogrammi di un video. Il metodo comprende i passi di:
a) acquisire un<7>immagine ad alta gamma dinamica in formato a virgola mobile; b) calcolare il range dinamico dell'immagine acquisita;
c) calcolare la luminanza media dell'immagine;
d) calcolare un parametro dynamic_range sommando o sottraendo al valore del range dinamico calcolato al passo b) un valore predeterminato, la somma o la sottrazione di tale valore predeterminato dipendendo dalla luminanza media dell'immagine calcolata al passo c);
e) moltiplicare i valori dei pixel dell'immagine acquisita per un fattore pari a 2 dynamic_range .
f) elevare ad una potenza pari ad 1.0/(2.2+add^gamma) i valori dei pixel calcolati al passo e), dove ad digamma è un valore maggiore o uguale a zero; g) ridurre il numero di bit utilizzati per codificare i pixel dell'immagine così da convertire l'immagine in un formato con gamma dinamica inferiore rispetto a quella dell'immagine acquisita;
h) comprimere rimmagine con gamma dinamica ridotta.
Come dimostrano i risultati sperimentali condotti, questa soluzione permette una efficace compressione deirimmagine ad alta gamma dinamica, che può così essere salvata a bassa gamma dinamica su file o trasmessa con minor occupazione di spazio e/o banda. Il tipo di codifica apportata fa sì che rimmagine ad alta gamma dinamica possa essere fedelmente ricostruita a partire da quella a bassa gamma dinamica salvata senza bisogno di flussi aggiuntivi di dati, come succedeva in alcune soluzioni di arte nota che, oltre a salvare un'immagine a bassa gamma dinamica prevedevano anche la generazione e salvataggio di un'immagine residuale necessaria per la ricostruzione dell'immagine ad alta gamma dinamica.
L'invenzione si riferisce anche ad un corrispondente metodo di decodifica di immagini e a dispositivi per codificare e decodificare immagini e video.
In particolare, in una forma di realizzazione per la codifica di video contenenti una pluralità di immagini (fotogrammi), il metodo di codifica prevede di calcolare il parametro dynamic_range (come sopra descritto e meglio dettagliato nel seguito) per ciascun fotogramma del video, quindi si calcola il valor medio dynamic_range_avg dei parametri dynamic_range calcolati per i fotogrammi. In questa forma di realizzazione, per la codifica dei fotogrammi al passo e) si moltiplicano i valori dei pixel dell'immagine acquisita per un fattore pari a 2<d>y<narLlic>-<ratl>S<e>-<av>S. Questa soluzione permette di ridurre i metadati che devono essere trasmessi in un segnale video codificato e compresso per permettere di riportarlo ad alta gamma dinamica.
Ulteriori caratteristiche vantaggiose sono oggetto delle allegate rivendicazioni, che s'intendono parte integrante della presente descrizione.
BREVE DESCRIZIONE DEI DISEGNI
L'invenzione verrà descritta qui di seguito con riferimento ad esempi non limitativi, forniti a scopo esplicativo e non limitativo nei disegni annessi. Questi disegni illustrano differenti aspetti e forme di realizzazione della presente invenzione e, dove appropriato, numeri di riferimento illustranti strutture, componenti, materiali e/o elementi simili in differenti figure sono indicati da numeri di riferimento similari.
La Figura 1 illustra un diagramma di flusso di un metodo per codificare immagini ad alta gamma dinamica;
La Figura 2 illustra schematicamente un encoder in grado di implementare il metodo di figura 1;
La Figura 3 illustra un diagramma di flusso di un metodo per il calcolo del range dinamico di un' immagine;
La Figura 4 illustra schematicamente un diagramma di flusso di un metodo per il calcolo di un range dinamico da utilizzare nel processo di codifica di figura 1;
La Figura 5 illustra schematicamente un decoder in grado di implementare il metodo di figura 6;
La Figura 6 illustra un diagramma di flusso di un metodo per decodificare immagini codificate con il metodo di figura 1;
Le figure 7a, 7b e 7c illustrano rispettivamente un' immagine ad alta gamma dinamica, l'immagine ottenuta dopo un processo di codificata con il metodo di figura 1, e l'immagine ad alta gamma dinamica ricostruita applicando il metodo di figura 6 partendo dall'immagine di figura 7b.
DESCRIZIONE DETTAGLIATA DELL'INVENZIONE
Mentre l'invenzione è suscettibile di varie modifiche e costruzioni alternative, alcune forme di realizzazione preferite sono mostrate nei disegni e saranno descritte qui di seguito in dettaglio.
Si deve intendere, comunque, che non vi è alcuna intenzione di limitare l'invenzione alla specifica forma di realizzazione illustrata, ma, al contrario, l'invenzione intende coprire tutte le modifiche, costruzioni alternative, ed equivalenti che ricadano nell'ambito dell'invenzione come definito nelle rivendicazioni.
L'uso di "ad esempio", "ecc", "oppure" indica alternative non esclusive senza limitazione a meno che non altrimenti indicato.
L'uso di "include" significa "include, ma non limitato a" a meno che non altrimenti indicato.
Figura 1 illustra un diagramma di flusso di un metodo di codifica di immagini ad alta gamma dinamica che viene implementato da un dispositivo di codifica (encoder) 200 schematizzato in figura 2 e provvisto di aree di memoria 201 in cui sono conservate porzioni di codice che, quando eseguite dal processore 202, permettono di implementare il metodo di codifica qui di seguito descritto.
Il metodo inizia al passo 100, in cui si acquisisce un'immagine ad alta gamma dinamica. L'acquisizione viene fatta dall'interfaccia d'ingresso 203 dell'encoder 200 e può avvenire direttamente da un dispositivo di acquisizione (ad esempio una macchina fotografica) esterno collegato all'encoder, o mediante acquisizione di un file salvato su un supporto fisico (hard disk o chiavetta USB).
Nell'esempio qui di seguito descritto si suppone che i valori dei colori dei pixel siano espressi in formato a virgola mobile.
Successivamente, passo 101, si calcola il range dinamico dell'immagine HDR.
Il range dinamico viene calcolato come rapporto (espresso in scala logaritmica) tra il valore massimo e quello minimo di luminanza dell'immagine in ingresso, come espresso nella formula (1) qui di seguito:
dyn_range = loglO (max_Y / min_Y); (1)
dove max_Y e min_Y sono il valore massimo e minimo di luminanza.
Il valore di luminanza dei pixel d'immagine può essere un dato immediatamente disponibile, ad esempio se l'immagine è codificata nello spazio colore YUV, oppure può essere calcolata a partire dai valori di colore dei pixel. Ad esempio, il valore di luminanza di ciascun pixel può essere calcolato secondo la formula (2) qui di seguito:
Y = pi * R p2 * G p3 * B (2)
dove pi, p2 e p3 sono i primaries dello spazio colore in ingresso, ad es. REc709 o REc2020.
In generale, il calcolo del range dinamico può essere eseguito mediante algoritmi di calcolo di per sé già noti in funzione dello spazio colore dell'immagine in ingresso. Lo spazio colore dell'immagine in ingresso deve essere noto all'encoder, a tal fine il metodo prevede di fornire all'encoder un' informazione relativa allo spazio colore dell' immagine in ingresso, tale informazione può essere fornita all'encoder da un' utilizzatore dell'encoder mediante un'opportuna interfaccia d'utente 204, o può essere acquisita automaticamente dall'encoder, ad esempio dai metadati dell'immagine acquisita.
Dato che il minimo di luminanza potrebbe risultare inferiore a zero, in una forma di realizzazione, il calcolo del range dinamico prevede di verificare se min_Y<0 e, nel caso, si calcola il range dinamico impostando min_Y ad un valore piccolo a piacere, ma maggiore di zero, ad esempio si prende min_Y = le-6.
Dopo aver calcolato il range dinamico dyn_range, l'encoder (passo 102) varia il valore dei pixel in modo tale da simulare una variazione di esposizione dell' immagine. Tale processo di variazione dei valori dei pixel viene fatto in funzione del valore di luminanza media dell' immagine, ad esempio secondo il processo qui di seguito descritto con riferimento alla figura 4
Tale processo inizia al passo 400 con il richiamo della relativa funzione software, l'encoder, quindi, calcola (passo 401) la luminanza media deH'immagine secondo la formula seguente:
Dove Yi sono i valori di luminanza dei singoli pixel delTimmagine, width ed height sono rispettivamente la larghezza e l'altezza dell'immagine espresse in numero di pixel.
Successivamente, l'encoder (passo 402) verifica se la luminanza media Y_media delTimmagine è minore di un parametro di default che, nell'esempio qui descritto è pari a 0,01, e nel caso imposta un parametro dynamic_range al valore 0 (passo 403) e termina la procedura (passo 404).
Se la luminanza media è maggiore o uguale al parametro di default, allora l'encoder (passo 405) verifica se la luminanza media è maggiore o uguale ad 1.
Se la luminanza media è maggiore o uguale ad 1, allora l'encoder (passo 406) imposta il parametro dynamic_range ad un valore pari alla somma del range dinamico (dyn_range) calcolato al passo 101 e di un parametro add_range (preferibilmente compreso tra 2 e 6) che può essere predeterminato o impostato dall'utente mediante l'interfaccia utente dell'encoder. Riepilogando, se Y_media > 1, si ha quindi:
dynamic_range = dyn_range add_range (4)
Se, invece Y_media ≤ 1, allora il valore add_range viene sottratto al range dinamico dell'immagine in ingresso. L'encoder imposta, quindi, (passo 407) il parametro dynamic_range come segue:
dynamic_range = dyn range - add_range (5)
Nella forma di realizzazione preferita, nelle formule (3) e (4), il valore add_range viene aggiunto (o rispettivametne sottratto) al range dinamico e convertito in intero, come espresso nelle formule (4a) e (5a) che seguono:
dynamic_range = (int) dyn_range(HDR) add_range (4a)
dynamic_range = (int) dyn_range(HDR) - add_range (5a)
In questo modo, si ottiene un valore dynamic_range intero.
L'encoder, a questo punto (passo 103), varia i valori colore dei pixel dell'immagine ad alta gamma dinamica in funzione della luminanza media dell'immagine acquisita. Nella forma di realizzazione qui descritta, i pixel dell'immagine HDR acquisita al passo 100 vengono moltiplicati per un fattore 2<d>y<tmniic>-<ran>S<e>; si ottiene così un' immagine EXPOSED definita dalla formula (6) che segue:
EXPCSED = HDR* 2-<d>y<namic>-<rari>s<e>(6) Infine, il metodo (passo 104) prevede di eseguire una correzione di gamma dell' immagine EXPOSED, ottenendo così un'immagine codificata ENCODED secondo la formula (7) che segue:
ENCODED_float = EXPOSED i o/(2.2+add-gaimm)(7)
La correzione di gamma applicata al passo 104 viene utilizzata per questioni di rendering ed ottenere un'immagine (o in caso di codifica di un video, uno stream) retrocompatibile accettabile e allo stesso tempo evitare che troppi valori prossimi allo 0 vengano annullati dalla successiva compressione (passo 106) AVC o HEVC o MPEG o JPEG.
L'immagine gamma corretta viene dunque portata nella precisione voluta (passo 105), ad esempio 8, 10, 12 o 16 bit, così da ridurre le dimensioni complessive del file. Il cambio di precisione viene ottenuto nel seguente modo:
ENCODED_nbit = ENCODED_float * ((2^-ΐ^ι™)-1) (8)
Dove bit_precision indica la precisione dell'immagine finale ENCODED_nbit, ad esempio 8, 10, 12 o 16 bit.
Infine, l'encoder 200 (passo 106) comprime e codifica, ad es. in MPEG, AVC, HEVC o JPEG, l'immagine a bassa gamma dinamica ottenuta al passo 105. Durante la fase di compressione e codifica 106, l'encoder inserisce tra i metadati dell'immagine ENCODED anche le informazioni necessarie a ripristinare l'immagine ad alta gamma dinamica a partire da quella codificata e compressa. Tra queste informazioni inserite nei metadati, sono compresi i valori dei parametri add_gamma e dynamic_range utilizzati nella fase di codifica.
L'interfaccia d'uscita 205 dell'encoder 200 salva su una memoria di massa l'immagine così compressa e codificata in un file e/o lo trasmette in uscita.
Il metodo sopra descritto permette di codificare e comprimere in modo efficace e reversibile immagini ad alta gamma dinamica, che possono così essere efficacemente conservate e trasmesse a bassa gamma dinamica (ad es. 8-bit/ canale-pixel) per essere solo successivamente riportate ad alta gamma dinamica.
L'immagine codificata e compressa, può dunque essere riportata ad alta gamma dinamica da un decodificatore (decoder) 500 del tipo schematizzato in figura 5 che, provvisto di un processore 501, esegue porzioni di codice memorizzate in un'area di memoria 502 che gli permettono di implementare il metodo di decodifica qui di seguito descritto con riferimento alla figura 6.
Il metodo di decodifica inizia con il decoder 500 che acquisisce (passo 600) mediante un'interfaccia d'ingresso 503, dati relativi ad un'immagine a bassa gamma dinamica codificata secondo il metodo di codifica sopra descritto.
Mediante un opportuno codec, il decoder (passo 601) decomprime l'immagine compressa, così da ricavare un'immagine DECODED_nbit a 8, 10, 12 o 16 bit che, a meno delle perdite dovute alla compressione corrisponde all'immagine ENCODED_nbit.
Per procedere alla ricostruzione dell'immagine ad alta gamma dinamica, il decoder riporta l'immagine in formato a virgola mobile (passo 602) dividendo il valore di ciascun bit per un fattore pari a 2 elevato ad una potenza pari al numero di bit dell'immagine in uscita al passo 601 meno 1, come riportato qui di seguito:
DECODED_float = DECODED_nbit / ((2^<recia>)_l)
Successivamente, passo 603, il decoder esegue una correzione di gamma inversa rispetto a quella operata in fase di codifica; nel dettaglio, il decoder calcola l'immagine EXPC6ED_mv come segue:
EXPOSED inv = DECODED float<l22+add>-gamma)
Il valore add^gamma viene recuperato dal decoder tra i metadata dell'immagine acquisita al passo 600.
Infine, il decoder (passo 604) corregge i valori colori dei pixel moltiplicandoli per un fattore dipendente dal range dinamico del! immagine ad alta definizione originariamente compressa. Nel dettaglio, Γ operazione eseguita è la seguente:
DECODED_HDR = EXPOSED_inv * 2<d>y<namic>-<ran>s<e>
Come per ad digamma, il valore d y n am ic_r ange viene preso dai metadata dell'immagine acquisita al passo 600.
L'immagine DECODED_HDR viene dunque salvata in un file dall'interfaccia di uscita 505 del decoder.
A dimostrazione della bontà del metodo sopra descritto, abbiamo preso un'immagine HDR (illustrata in figura 7 a) da 2,6 Mb . Dopo averla codificata e compressa con il metodo sopra indicato ( ad d_g amm a= 0 e add_range=3), l'immagine è stata salvata in JPEG 8-bit per canale e le dimensioni del file compresso erano di 467 kb (figura 7b). Applicando i passi di decodiica sopra indicati, è stata ricostruita l'immagine ad alta gamma dinamica illustrata in figura 7c, anch'essa di dimensioni 2,6 Mb. Come si può facilmetne osservare, la qualità dell'immagine ricostruita è molto buona e prossima a quella originale.
Benché l'invenzione sia stata descritta con riferimento ad alcune forme di realizzazione specifiche, la descrizione non deve essere interpretata in maniera limitativa. Molte modifiche alle forme di realizzazione descritte, così come forme di realizzazione alternative, possono essere implementate dal tecnico del ramo dopo aver letto la presente descrizione. E' chiaro alla persona esperta nella tecnica che l'idea e la specifica forma di realizzazione descritta possono essere leggermente modificate o usate come base per la modifica o la progettazione di altri metodi e strutture. La divisione in blocchi logici non deve essere interpretata come limitativa, dato che i blocchi logici possono essere raggruppati o organizzati in modo diverso rispetto a quanto sopra illustrato.
Ad esempio, in una variante, è possibile prevedere che l' utilizzatore del decoder inserica o cambi alcuni parametri di decodifica. Ad esempio, mediante un'interfaccia d'utente 504, l' utilizzatore può inserire i parametri add_gamma e dynamic_range.
Ancora, in una forma di realizzazione particolarmente adatta alla codifica e tramissione di video, al passo 102 viene preferibilmente applicata la logica che segue. Se il range dinamico (dyn_range) calcolato per il fotogramma (frame) corrente è maggiore di zero, e se tale range dinamico ha un valore compreso tra il valore del range dinamico del frame precedente (in ordine di visualizzazione) più o meno il valore add_range, allora per la codifica al passo 103 si utilizza il valore del parametro dynamic_range calcolato per il frame precedente. Differentemente si calcola il valore del parametro dynamic_range secondo la procedura sopra descritta con riferimento alla figura 4
Nel caso di codifica di segnali video (notoriamente costituiti da una sequenza di immagini, dette fotogrammi), è possibile utilizzare un unico valore dynamic_range, calcolato come descritto sopra, per l'intera sequenza video.
In particolare, in questa forma di realizzazione, il metodo prevede di calcolare il valore dynamic_range per tutti i fotogrammi che compongono la sequenza video, successivamente si utilizza la media dei valori dynamic_range così calcolati per codificare i fotogrammi della sequenza video. Anche il valore di add_gamma può essere unico per la sequenza video. In questo caso la fase di decodifica avviene con un solo valore ad digamma e dynamic_range. In questo modo si riduce drasticamente il numero dei metadati necessari alla decodifica.
In questa forma di realizzazione, il metodo per codificare un video comprendente una pluralità di immagini, prevede dunque di eseguire i seguenti passi:
a) acquisire un' immagine ad alta gamma dinamica in formato a virgola mobile; b) calcolare il range dinamico deH'immagine acquisita;
c) calcolare la luminanza media dell' immagine;
d) calcolare un parametro dynamic_range sommando o sottraendo al valore del range dinamico calcolato al passo b) un valore predeterminato, la somma o la sottrazione di tale valore predeterminato dipendendo dalla luminanza media dell'immagine calcolata al passo c);
Successivamente, il metodo prevede di calcolare il parametro dynamic_rang_avg come valor medio dei parametri dynamic_range calcolati per ciascuna immagine di detta pluralità di immagini, e di codificare ciascuna immagine di detta pluralità implementando per ciascuna immagine i seguenti passi:
e) moltiplicare i valori dei pixel deirimmagine acquisita per un fattore pari a 2 dynamic_range_avg·
f) elevare ad una potenza pari ad 1.0/(2.2+add^gamma) i valori dei pixel calcolati al passo e), dove add^gamma è un valore maggiore o uguale a zero; g) ridurre il numero di bit utilizzati per codificare i pixel deirimmagine così da convertire l'immagine in un formato con gamma dinamica inferiore rispetto a quella dell'immagine acquisita;
h) comprimere l'immagine con gamma dinamica ridotta.
Ovviamente alla codifica dei singoli fotogrammi di un video è possibile applicare tutte le accortezze e varianti sopra descritte per la codifica di una singola immagine statica, come ad esempio la scelta se sommare o sottrarre add_range in funzione della luminanza.
Infine, si deve sottolineare che l'invenzione non è limitata ad un codificatore e/o ad un decodificatore hardware, ma essa si riferisce altresì a programmi per computer che contengono porzioni di codice che, quando eseguite dal computer, permettono allo stesso di implementare i metodi di codifica e/o decodifica sopra descritti. Si deve a tal proposito rilevare come tali metodi permettendo di trattare e trasformare dati di immagini riducendo le dimensioni dei file che li contengono (quindi con risparmio di spazio di memoria per salvarli e/o risparmio di banda necessaria alla loro trasmissione) garantendo comunque una ricostruzione piuttosto fedele di immagini HDR

Claims (14)

  1. RIVENDICAZIONI 1. Metodo per codificare immagini ad alta gamma dinamica, comprendente i passi di: a) acquisire (100) mi immagine ad alta gamma dinamica in formato a virgola mobile; b) calcolare (101) il range dinamico dell'' immagine acquisita; c) calcolare la luminanza media dell'' immagine; d) calcolare un parametro dynamic_range (102) sommando o sottraendo al valore del range dinamico calcolato al passo b) un valore predeterminato, la somma o la sottrazione di tale valore predeterminato dipendendo dalla luminanza media dell'' immagine calcolata al passo c); e) moltiplicare (103) i valori dei pixel dell'' immagine acquisita per un fattore pari a 2-djTiamic_raiige. f) elevare ad una potenza pari ad 1.0/(2.2+add^gamma) i valori dei pixel calcolati al passo e), dove ad digamma è un valore maggiore o uguale a zero; g) ridurre il numero di bit utilizzati per codificare i pixel dell'' immagine (105) così da convertire rimmagine in un formato con gamma dinamica inferiore rispetto a quella deirimmagine acquisita; h) comprimere 1</>immagine con gamma dinamica ridotta (106).
  2. 2. Metodo secondo la rivendicazione 1, in cui al passo d) si somma il valore predeterminato al range dinamico se il valore di luminanza media è maggiore di un valore prefissato, in particolare 1, mentre si sottrae il valore predeterminato al range dinamico se il valore di luminanza media è inferiore al valore prefissato.
  3. 3. Metodo secondo la rivendicazione 1, in cui il passo d) è eseguito se la luminanza media è maggiore di un valore minimo predeterminato, in particolare 0,01.
  4. 4 Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui al passo d) si aggiunge o sottrae al range dinamico un valore predeterminato compreso tra 2 e 6, e preferibilmente pari a 3.
  5. 5. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui il passo d) prevede di aggiungere o sottrarre al range dinamico calcolato al passo b), un valore predeterminato fornito da un utilizzatore ad un dispositivo che esegue il metodo.
  6. 6. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui rimmagine da codificare è un fotogramma corrente di un segnale video, in cui detto segnale video comprende detto fotogramma corrente ed un fotogramma precedente che deve essere visualizzato immediatamente prima di detto fotogramma corrente, in cui il passo d) viene implementato per il fotogramma corrente se il range dinamico calcolato al passo b) è esterno all'' intervallo di valori compresi tra dynamic_range_prev - add_rage e dynamic_range_prev add_range, dove dynamic_range_prev è il range dinamico del fotogramma precedente, in cui si utilizza il valore del parametro dynamic_range calcolato per il fotogramma precedente se il range dinamico calcolato al passo b) è interno all'' intervallo di valori compresi tra dynamic_range_prev - add_rage e dynamic_range_prev add_range.
  7. 7. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui il parametro ad digamma è fornito da un utilizzatore ad un dispositivo che esegue il metodo.
  8. 8. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui il passo h) comprende una compressione secondo uno dei metodi compresi nel gruppo MPEG, JPEG, A VC, HEVC.
  9. 9. Metodo secondo una qualsiasi delle rivendicazioni precedenti, ulteriormente comprendente la fase di salvare rimmagine codificata e compressa in un file dati comprendente metadati e valori di pixel, in cui i metadata comprendono il valore predeterminato aggiunto al range dinamico del! immagine al passo d).
  10. 10. Metodo secondo la rivendicazione 9, in cui i metadata comprendono il valore ad digamma.
  11. 11. Metodo per codificare un video comprendente una pluralità di immagini, in cui per ciascuna immagine di detta pluralità si eseguono i seguenti passi: i) acquisire un' immagine ad alta gamma dinamica in formato a virgola mobile; j) calcolare il range dinamico dell'immagine acquisita; k) calcolare la luminanza media dell' immagine; l) calcolare un parametro dynamic_range sommando o sottraendo al valore del range dinamico calcolato al passo b) un valore predeterminato, la somma o la sottrazione di tale valore predeterminato dipendendo dalla luminanza media deH'immagine calcolata al passo c); ed in cui il metodo comprende ulteriormente il passo di calcolare il parametro dynamic_rang_avg come valor medio dei parametri dynamic_range calcolati per ciascuna immagine di detta pluralità di immagini, codificare ciascuna immagine di detta pluralità implementando per ciascuna immagine i seguenti passi: m) moltiplicare i valori dei pixel dell'immagine acquisita per un fattore pari a 2 dynaimc_range_avg. n) elevare ad una potenza pari ad 1.0/(2.2+add^gamma) i valori dei pixel calcolati al passo e), dove add^gamma è un valore maggiore o uguale a zero; o) ridurre il numero di bit utilizzati per codificare i pixel dell'immagine così da convertire l'immagine in un formato con gamma dinamica inferiore rispetto a quella dell'immagine acquisita; p) comprimere l'immagine con gamma dinamica ridotta.
  12. 12. Codificatore (200) atto a ricevere in ingresso un'immagine ad alta gamma dinamica ed implementare un metodo secondo una qualsiasi delle rivendicazioni da 1 all.
  13. 13. Metodo per decodificare dati di immagine codificati secondo un metodo in accordo ad una delle rivendicazioni da 1 a 11, comprendente i passi di: - acquisire un' immagine codificata secondo un metodo in accordo ad una delle rivendicazioni dal a ll; - decomprime l'immagine acquisita; - eseguire (602) una correzione di gamma elevando ad una potenza pari a 2. 2+ add_gamma i valori dei pixel dell' immagine acquisita; - correggere (passo 603) i valori dei pixel moltiplicandoli per un fattore 2<d>y<namk>-<ran>S<e>; i parametri ad digamma e dynamic_range essendo recuperati dai metadata deH'immagine acquisita, o essendo forniti da un utente.
  14. 14. Decodificatore (500) atto a ricevere in ingresso dati di un'immagine e ad implementare un metodo secondo la rivendicazione 13.
ITUB2015A005949A 2015-11-26 2015-11-26 Metodo per la codifica e decodifica di immagini hdr ITUB20155949A1 (it)

Priority Applications (3)

Application Number Priority Date Filing Date Title
ITUB2015A005949A ITUB20155949A1 (it) 2015-11-26 2015-11-26 Metodo per la codifica e decodifica di immagini hdr
PCT/IT2016/000279 WO2017090068A1 (en) 2015-11-26 2016-11-25 Method for encoding and decoding of hdr images
US15/779,370 US10587901B2 (en) 2015-11-26 2016-11-25 Method for the encoding and decoding of HDR images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ITUB2015A005949A ITUB20155949A1 (it) 2015-11-26 2015-11-26 Metodo per la codifica e decodifica di immagini hdr

Publications (1)

Publication Number Publication Date
ITUB20155949A1 true ITUB20155949A1 (it) 2017-05-26

Family

ID=55538425

Family Applications (1)

Application Number Title Priority Date Filing Date
ITUB2015A005949A ITUB20155949A1 (it) 2015-11-26 2015-11-26 Metodo per la codifica e decodifica di immagini hdr

Country Status (3)

Country Link
US (1) US10587901B2 (it)
IT (1) ITUB20155949A1 (it)
WO (1) WO2017090068A1 (it)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3096519A1 (en) * 2015-05-18 2016-11-23 Thomson Licensing A method for encoding/decoding a picture block
ITUB20155949A1 (it) 2015-11-26 2017-05-26 Trellis Europe S R L Metodo per la codifica e decodifica di immagini hdr
ITUA20163652A1 (it) 2016-05-20 2017-11-20 Trellis Europe S R L Metodo per la codifica e decodifica di immagini hdr

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100329554A1 (en) * 2009-06-29 2010-12-30 Jiefu Zhai Automatic exposure estimation for HDR images based on image statistics
EP2445214A1 (en) * 2010-10-19 2012-04-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video coding using temporally coherent dynamic range mapping
WO2013039730A2 (en) * 2011-09-15 2013-03-21 Dolby Laboratories Licensing Corporation Method and system for backward compatible, extended dynamic range encoding of video

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8237865B2 (en) 2006-12-18 2012-08-07 Emanuele Salvucci Multi-compatible low and high dynamic range and high bit-depth texture and video encoding system
US8891863B2 (en) * 2011-06-13 2014-11-18 Dolby Laboratories Licensing Corporation High dynamic range, backwards-compatible, digital cinema
US10469849B2 (en) 2014-10-07 2019-11-05 Trellis Europe Srl Video and image encoding process
ITUB20155949A1 (it) 2015-11-26 2017-05-26 Trellis Europe S R L Metodo per la codifica e decodifica di immagini hdr
ITUA20163652A1 (it) 2016-05-20 2017-11-20 Trellis Europe S R L Metodo per la codifica e decodifica di immagini hdr

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100329554A1 (en) * 2009-06-29 2010-12-30 Jiefu Zhai Automatic exposure estimation for HDR images based on image statistics
EP2445214A1 (en) * 2010-10-19 2012-04-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video coding using temporally coherent dynamic range mapping
WO2013039730A2 (en) * 2011-09-15 2013-03-21 Dolby Laboratories Licensing Corporation Method and system for backward compatible, extended dynamic range encoding of video

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
F. DRAGO ET AL: "Adaptive Logarithmic Mapping For Displaying High Contrast Scenes", COMPUTER GRAPHICS FORUM, vol. 22, no. 3, 1 September 2003 (2003-09-01), pages 419 - 426, XP055099276, ISSN: 0167-7055, DOI: 10.1111/1467-8659.00689 *
YASIR SALIH ET AL: "Tone mapping of HDR images: A review", INTELLIGENT AND ADVANCED SYSTEMS (ICIAS), 2012 4TH INTERNATIONAL CONFERENCE ON, IEEE, 12 June 2012 (2012-06-12), pages 368 - 373, XP032238666, ISBN: 978-1-4577-1968-4, DOI: 10.1109/ICIAS.2012.6306220 *

Also Published As

Publication number Publication date
US10587901B2 (en) 2020-03-10
US20180278968A1 (en) 2018-09-27
WO2017090068A1 (en) 2017-06-01

Similar Documents

Publication Publication Date Title
CN108141505B (zh) 用于高位深医学灰度图像的压缩和解压缩方法
EP3168809B1 (en) Image processing for hdr images
JP6617142B2 (ja) 改善されたビデオおよび画像符号化プロセス
JP6703032B2 (ja) 後方互換性拡張画像フォーマット
CN107888943B (zh) 图像处理
WO2007082562A2 (en) High dynamic range codecs
US20180176604A1 (en) Encoding and decoding of image data
US8340442B1 (en) Lossy compression of high-dynamic range image files
WO2016003349A1 (en) Evaluation measure for images
CN112040240B (zh) 数据处理方法、设备和存储介质
ITUB20155949A1 (it) Metodo per la codifica e decodifica di immagini hdr
ITUA20163652A1 (it) Metodo per la codifica e decodifica di immagini hdr
CN105828089A (zh) 一种基于自适应感知量化的视频编码方法和系统
CN108632610A (zh) 一种基于插值重建的彩色图像压缩方法
Hanhart et al. Evaluation of JPEG XT for high dynamic range cameras
Yu et al. Adaptive PQ: Adaptive perceptual quantizer for HEVC main 10 profile-based HDR video coding
Fujiki et al. High dynamic range image compression using base map coding
US10362338B2 (en) Image processing
CN110430429A (zh) 一种适合于航拍影像的jpeg压缩量化方法
CN116248895B (zh) 虚拟现实全景漫游的视频云转码方法及系统
KR100656637B1 (ko) 정수 ­정수 컬러 변환 방법을 이용한 휴대폰용 정지 영상압축 방법
CN116886917A (zh) 增益图编码方法、解码方法、装置、设备及介质
CN115988201A (zh) 一种编码胶片颗粒的方法、装置、电子设备和存储介质
Richter High Dynamic Range Imaging with JPEG XT
Dwivedi Design of JPEG Compressor