ITTO20130784A1 - Method and device for edge shape enforcement for visual enhancement of depth image based rendering - Google Patents
Method and device for edge shape enforcement for visual enhancement of depth image based renderingInfo
- Publication number
- ITTO20130784A1 ITTO20130784A1 IT000784A ITTO20130784A ITTO20130784A1 IT TO20130784 A1 ITTO20130784 A1 IT TO20130784A1 IT 000784 A IT000784 A IT 000784A IT TO20130784 A ITTO20130784 A IT TO20130784A IT TO20130784 A1 ITTO20130784 A1 IT TO20130784A1
- Authority
- IT
- Italy
- Prior art keywords
- edges
- edge
- original
- deformed
- depth
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 148
- 230000000007 visual effect Effects 0.000 title claims description 22
- 238000009877 rendering Methods 0.000 title description 10
- 238000012937 correction Methods 0.000 claims description 99
- 230000008569 process Effects 0.000 claims description 27
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 238000005728 strengthening Methods 0.000 claims description 11
- 230000002547 anomalous effect Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 238000009499 grossing Methods 0.000 claims description 6
- 238000005259 measurement Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000004075 alteration Effects 0.000 claims 1
- 238000001514 detection method Methods 0.000 description 13
- 238000013459 approach Methods 0.000 description 10
- 238000003708 edge detection Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000001303 quality assessment method Methods 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000013442 quality metrics Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000005267 amalgamation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000013441 quality evaluation Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20192—Edge enhancement; Edge preservation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Treatment Of Fiber Materials (AREA)
- Processing Or Creating Images (AREA)
Description
TITOLO
Metodo e dispositivo di rafforzamento della forma dei bordi per il miglioramento visivo del rendering basato su immagine di profondità”
DESCRIZIONE
Campo dell’invenzione
La presente invenzione riguarda un metodo e un dispositivo di rafforzamento della forma dei bordi per il miglioramento visivo del rendering basato su immagine di profondità.
Descrizione dell’arte nota
I recenti progressi nel campo delle tecnologie di visualizzazione 3D hanno portato con sé una serie di problematiche tecniche che devono essere risolte per garantire il successo della TV 3D. Sono state proposte varie tecniche al fine di realizzare processi efficienti di codifica, trasmissione e rendering. A causa dei vincoli riguardanti il data rate disponibile per la trasmissione di viste multiple, soltanto poche viste originali possono essere trasmesse con le rispettive profondità, mentre le altre viste intermedie vengono generate dalle viste disponibili, con profondità ricavate mediante tecniche di rendering basate su immagine di profondità (DIBR, Depth Image Based Rendering). Per renderizzare le viste intermedie si utilizzano normalmente due o tre viste con le rispettive profondità. Lo scopo di qualsiasi tecnica DIBR consiste nellottenere un’elevata qualità visiva nelle viste virtuali. Si tratta di un risultato difficile da raggiungere se le profondità sono imprecise a causa di errori di stima o misurazione, quantizzazione e/o compressione con perdita di dati.
Quasi tutte le tecniche di sintesi delle viste operano in due fasi: dapprima le viste originali vengono deformate e amalgamate insieme per generare una vista intermedia; le regioni mancanti nella vista intermedia vengono quindi recuperate con vari metodi di inpainting. La nuova posizione di ciascun pixel dipende dalla sua profondità e da parametri delle telecamere. Un piccolo errore di profondità può causare una notevole variazione nella posizione finale del pixel. La seconda fase di sintesi delle viste è nota come riempimento dei vuoti o inpainting.
Il caso più tipico è rappresentato dalla generazione di una vista intermedia tra due viste originali, ossia le viste sinistra e destra accompagnate dalle corrispondenti mappe di profondità.
Si indichino con Vle Vrle due viste di input con le corrispondenti profondità Dl, Drche sono quantizzate in numeri interi a 8 bit. Si indichino rispettivamente con Zn e Zfle profondità più vicina e più lontana. La configurazione più comune delle telecamere si avrà con telecamere orizzontali aventi lunghezza focale f -dove bl,brsono rispettivamente le posizioni delle telecamere sinistra e destra. Solitamente come linea di base delle telecamere si utilizza b = br- blSi indichi con Vmla vista virtuale intermedia che si desidera stimare. La posizione della telecamera virtuale per Vmsarà bm= bl+| = br- j. Per generare Vm, i pixel della vista sinistra vengono deformati verso la telecamera virtuale intermedia desiderata; analogamente, anche la vista destra viene deformata verso la vista intermedia. Le due viste virtuali così ottenute vengono quindi amalgamate per ottenere la vista virtuale finale. Le due viste intermedie solitamente sono complementari e consentono di riempire la maggior parte delle occlusioni. Si supponga ora che Vl sia la vista virtuale sinistra. In ragione della configurazione orizzontale della telecamera, Vt' è ottenuta da applicando scostamenti orizzontali a coordinate di pixel. Date le posizioni dei pixel<v>)<e v>i, la posizione deformata {u<r>, F'} S sarà tale da far sì che<u = "u>® v = v -<ù>. Lo scostamento di colonna o si calcola nel modo seguente:
in cui d è la profondità del pixel originale con coordinate (<u>’<v>)
Le profondità sono generalmente fomite sotto forma di disparità quantizzata (profondità inversa). Si utilizza qui la notazione Dt(£>,,) per identificare tali mappe di profondità quantizzate. La profondità reale può essere calcolata come segue:
La vista virtuale destra Vr' si calcola in modo analogo (la vista virtuale destra δ è aggiunta al numero di colonna originale per ottenere la posizione deformata). Infine le due viste virtuali vengono amalgamate insieme per ottenere la vista intermedia Vme i vuoti vengono recuperati per mezzo di un qualche algoritmo di inpainting.
Le tecniche DIBR producono viste intermedie che sono generalmente afflitte da evidenti artefatti dovuti a una serie di problematiche, ad esempio errori di rettificazione, correzione imperfetta del colore e informazioni di profondità calcolate in modo errato.
Si avverte quindi l’esigenza di migliorare la qualità dell’immagine delle viste intermedie rilevando e correggendo gli errori o le imprecisioni presenti nelle informazioni di profondità o disparità.
Breve descrizione dell’ invenzione
Rappresenta quindi lo scopo principale della presente invenzione indicare un metodo e un dispositivo di rafforzamento della forma dei bordi per il miglioramento visivo del rendering basato su immagine di profondità, i quali permettono di ovviare ai suddetti problemi/inconvenienti.
Le informazioni di profondità sono generalmente stimate per mezzo di algoritmi basati sull’accoppiamento stereo di punti corrispondenti in varie viste. Si è riscontrato che questo processo è un problema mal posto e che quindi si devono prevedere alcuni errori di stima. In altri casi la profondità o la disparità possono essere misurate con sensori, ad esempio sensori laser a tempo di volo. Le informazioni di profondità sono solitamente imprecise lungo i bordi degli oggetti a causa di errori di stima o di misurazione e dì artefatti di compressione; di conseguenza, il processo di deformazione DIBR spesso distrugge i contor degli oggetti, causando una scarsa qualità visiva nella vista virtuale.
Lo scopo principale della presente invenzione consiste quindi nel migliorare la qualità dell'immagine delle viste intermedie rilevando e correggendo le informazioni di profondità o disparità nelle mappe di profondità o disparità delle immagini stereoscopiche (o dei flussi video stereoscopici).
E’ per se noto che nei flussi video stereoscopici esiste una relazione biunivoca tra mappa di profondità e mappa di disparità. Resta quindi inteso che nel seguito della presente descrizione l’ambito dell’invenzione sarà da considerarsi esteso a entrambi i tipi di mappe. Il termine “mappa” è qui utilizzato per indicare sia una mappa di profondità sia una mappa di disparità.
Lo scopo della presente invenzione è migliorare le prestazioni del DIBR mediante:
- correzione del processo di sintesi delle viste intermedie dal lato ricevitore, oppure
- correzione delle mappe di profondità o disparità prima della trasmissione.
Si introduce inoltre un insieme di metriche per la valutazione dell' errore di deformazione lungo i bordi, che può essere vantaggiosamente utilizzato per valutare la qualità di contenuti con viste multiple più profondità.
Tutti questi obiettivi sono raggiunti sfruttando le precedenti conoscenze relative alla forma dei bordi.
Per raggiungere questo obiettivo, l' oggetto dell’invenzione è una tecnica che dapprima individua i bordi che presentano un significativo errore di deformazione, e quindi applica la correzione a tali bordi. Le correzioni possono essere applicate in due modalità, ossia correggendo le profondità errate corrispondenti (dal lato trasmettitore prima dell' invio delle mappe di profondità o disparità, in modo da garantire migliori prestazioni DIBR presso il ricevitore) o applicando le correzioni sulla vista virtuale dal lato ricevitore durante l’esecuzione del DIBR o come postelaborazione prima di inviare l immagine al display. In entrambi i casi si possono sfruttare le precedenti conoscenze secondo cui le linee rette e i bordi sono preservati in trasformazioni tipiche (ossia trasformazioni prospettiche).
La soluzione proposta rafforza la nozione secondo la quale si può prevedere che i contorni di un oggetto presentino approssimativamente la stessa forma nelle viste originali (vista sinistra o destra) e nelle viste intermedie.
A titolo di esempio, le linee rette sono invarianti sotto trasformazione prospettica, e quindi è noto che le linee rette nella vista sinistra devono essere riproiettate come linee rette nell’immagine deformata.
Analogamente, un generico bordo deve deformarsi senza significative variazioni di forma. Grazie a questa nozione e riproiezione a priori si minimizza l’errore nella riproduzione della forma del bordo originale.
Infine, le metriche proposte per catturare gli errori di deformazione lungo i bordi possono essere utilizzate quali basi per un sistema e un apparato in grado di valutare la qualità delle mappe di profondità (o disparità) da utilizzarsi per la sintesi e l interpolazione delle viste.
L’idea alla base dell’ invenzione consiste quindi nel correggere i bordi delle viste sintetizzate in un sistema per la ricostruzione di viste intermedie ottenute da viste originali e/o da corrispondenti mappe di profondità, utilizzando un algoritmo di rilevazione dei bordi che agisca sulla vista originale e/o sulle mappe di profondità.
Nelle tecniche di sintesi di viste intermedie impiegate in un sistema di visualizzazione multivista o autostereoscopico, la precisione delle mappe di profondità utilizzate è molto importante.
Particolarmente importanti sono la precisione e l’accuratezza con cui sono indicati i valori di profondità dei bordi, i quali contribuiscono in misura considerevole a determinare la qualità percepita dall’osservatore, che è influenzata dai loro artefatti.
In particolare, è necessario evitare qualsiasi tipo di distorsione che alteri la continuità e la connettività dei bordi.
La soluzione tecnica oggetto dell’invenzione migliora notevolmente la qualità (continuità e connettività) dei bordi nella vista sintetizzata o nelle mappe di profondità utilizzate per sintetizzare le viste, e contribuisce fortemente a migliorare la qualità complessiva delle immagini tridimensionali sintetizzate.
La tecnica di correzione può essere utilizzata:
<•>in fase di ricostruzione, per correggere mappe di profondità associate alle viste originali o alle viste sintetizzate ed eventualmente decodificate;
<•>prima della formattazione e della possibile codifica del flusso video.
Di seguito si riassumeranno alcuni esempi non limitativi di realizzazione dell’ invenzione per quanto concerne il metodo di correzione applicato in fase di ricostruzione. Questi esempi saranno descritti in modo approfondito nella sezione dedicata alla descrizione dettagliata delle forme di realizzazione preferite.
Secondo la prima forma di realizzazione, ad es. come descritto più avanti in § 1 , i bordi vengono corretti direttamente nella vista sintetizzata. Siccome i bordi risultano spesso degradati a causa di rumore o di errori nelle mappe di profondità stimate associate alle viste originali, essi necessitano di una correzione. Quando tale correzione avviene durante la ricostruzione, l'operazione viene eseguita partendo dalla vista o dalle viste ricevute e dalle corrispondenti mappe di profondità, che possono essere ricevute in forma compressa (ad es. codificate secondo lo standard AVC o HEVC) o in forma non compressa.
La prima elaborazione prevede l’applicazione di algoritmi per la rilevazione e l’estrazione dei bordi (per se noti, come, ad esempio, l’algoritmo Sobel) sulla vista originale iniziale ricevuta e ricostruita (decodificata).
L’insieme di bordi ottenuto dalla vista originale può essere sottoposto a un’ulteriore elaborazione, ad es. come descritto più avanti in § 1.1, in cui si selezionano i bordi più significativi (secondo criteri predefìniti, ad es. i bordi più lunghi, quelli diritti, quelli orientati in una certa direzione, quelli più vicini al punto di vista, ecc.) e/o si segmentano i bordi più lunghi ottenendo sequenze di segmenti rettilinei.
L’insieme degli uno o più criteri applicati dipende dall’equilibrio desiderato tra qualità visiva e complessità computazionale aggiuntiva.
Tutti i bordi, oppure solo quelli selezionati e/o pre-elaborati, vengono proiettati utilizzando la mappa di profondità associata alla vista iniziale, in modo da ricavare le posizioni degli stessi bordi nell’ immagine sintetizzata. Questi bordi proiettati (sottoposti a "deformazione") o, più precisamente, le posizioni dei pixel che li compongono vengono quindi confrontati con le posizioni corrispondenti dei pixel della vista originale ricevuta e ricostruita.
In caso di discrepanza tra le posizioni dei pixel dei bordi, si utilizzano i pixel appartenenti ai bordi rilevati ed estratti dalla vista originale per correggere la posizione dei pixel dei bordi proiettati.
Per eseguire la correzione è necessario decidere quali bordi sono alterati, utilizzando un metodo dì misurazione dell’errore che appare nei bordi rappresentati nella mappa di profondità, ad es. come descritto più avanti in § 1.2.
A titolo esemplificativo si descrivono due metodi di rilevazione del livello di discrepanza tra bordi proiettati secondo la mappa di profondità e quelli derivati dall’ immagine di vista.
Il primo metodo, ad es. come descritto più avanti in § 1.2.1, si basa su un confronto tra le forme dei bordi corrispondenti nelle due immagini: per ogni bordo significativo si calcolano le coordinate di un punto rappresentativo della forma complessiva del bordo, come ad esempio il suo baricentro o il suo punto mediano; le coordinate dei pixel dei bordi della mappa e della vista proiettata vengono poi normalizzate rispetto al loro punto rappresentativo. L’errore è una funzione della differenza tra le coordinate normalizzate della posizione di ciascun pixel del bordo originale e la posizione dei pixel del bordo corrispondente. Per ottenere una misura complessiva del'errore sull’intero bordo, è possibile combinare in modo opportuno i valori risultanti, considerando ad esempio la somma dei moduli degli errori lungo l’intero bordo.
Il secondo metodo, ad es. come descritto più avanti in § 1.2.2, si basa sulla rilevazione delle anomalie nella traiettoria dei bordi proiettati rispetto a quelli estratti dalla vista originale. Se, per ciascun pixel appartenente al bordo proiettato, si rileva una deviazione locale, ad esempio con gradiente, rispetto al bordo della vista originale, significa che nella mappa di profondità c’è un errore che deve essere corretto.
Un esempio è dato dal calcolo del modulo del rapporto tra la differenza delle coordinate orizzontali e verticali: quando il valore è maggiore di 1 si presuppone che la posizione dei pixel proiettati sia errata.
In Figura 9 è presentato un esempio di bordo discontinuo dell' i-esimo pixel con gradiente orizzontale e verticale in modulo > 1.
Più in generale, si calcolano i gradienti dei corrispondenti pixel dei bordi omologhi della vista e di quelli proiettati secondo la mappa di profondità e se ne confrontano i valori: i pixel aventi una differenza di gradiente che soddisfa un determinato requisito (ad esempio, superamento di un valore di soglia) vengono corretti.
Anche in questo caso sì può ottenere una misura dell’errore complessivo del bordo partendo da quello del pixel che lo compone, ad esempio sommando per modulo i relativi gradienti. In questo modo è possibile determinare quali bordi sono stati alterati in modo significativo e devono quindi essere opportunamente corretti.
Una volta rilevati i pixel dei bordi e/o dei bordi alterati della mappa di profondità, la loro correzione può essere effettuata sulla base dei bordi della vista originale, ad es. come descritto più avanti in § 1.3.
A titolo esemplificativo, si possono applicare tre possibili tecniche di correzione.
La prima tecnica di correzione, ad es. come descritto più avanti in § 1.3.1, prevede di calcolare la nuova posizione dei pixel del bordo proiettato sottraendo dalle coordinate di ogni pixel il valore dell’ errore calcolato applicando un metodo di confronto tra i bordi, ad es. come descritto più avanti in § 1.2.1. Per limitare il costo computazionale risultante da questa tecnica, la correzione può limitarsi unicamente ai bordi il cui errore totale supera una soglia predeterminata.
La seconda tecnica di correzione si basa sull’applicazione di un operatore locale per l' immediata correzione dei bordi, ad esempio basata su una misura di gradiente, ad es. come descritto più avanti in § 1.2.2.
La terza tecnica prevede una correzione basata su una funzione dipendente dai valori del gradiente del bordo della vista originale dei pixel vicini da correggere. In particolare, è possibile correggere un pixel di bordo applicando una funzione della somma delle coordinate del pixel precedente con il valore del gradiente calcolato in corrispondenza dei pixel corrispondenti del bordo proiettato.
Un'immagine non contiene solo contorni, ma anche colori, sfumature e tessiture che caratterizzano aree dell’immagine separate da un bordo. Lo spostamento dei bordi alterati può causare artefatti visivi dovuti alla discontinuità introdotta in aree adiacenti che possono essere coerenti con l’andamento del bordo prima della correzione, ad es. come illustrato in Figura 10.
Per preservare la coerenza delle immagini sintetizzate corrette (data da una combinazione tra mappa di profondità corretta e vista originale corrispondente), in prossimità dei bordi spostati in base alla correzione operata è anche possibile correggere, insieme con i pixel ricalcolati del bordo, alcuni dei pixel circostanti, ad es. come descritto più avanti in § 1.4 e illustrato in Figura 11.
Questa tecnica è denominata "rafforzamento dei bordi". Anziché definire una regione circostante da correggere avente contorni netti (come illustrato schematicamente a titolo di esempio in Figura 11), i pixel adiacenti al bordo corretto possono essere amalgamati nella vista sintetizzata in accordo con una funzione di ponderazione che dipende dalla distanza dei pixel dal bordo attiguo.
La tecnica di correzione può essere applicata a una singola vista e alla relativa mappa di profondità, oppure a due o più viste e alle relative mappe (di profondità o disparità).
In caso di applicazione del metodo alle viste originali, come consueto i bordi di una vista vengono deformati secondo la rispettiva mappa di profondità, e i bordi deformati vengono poi confrontati con i bordi precedentemente rilevati nell’altra vista della coppia stereoscopica (ad es. come descritto più avanti in § 2.2). La correzione dei bordi nella vista sintetizzata (deformata) si effettua confrontando i bordi deformati alterati con quelli rilevati nell’altra vista, ad es. calcolando la relativa differenza di posizione. Un approccio simile può essere adottato applicando la tecnica di correzione alle mappe di profondità.
In un’altra forma di realizzazione dell’invenzione, la tecnica di correzione applicabile alle due mappe può essere combinata in modi diversi:
- Ogni vista sintetizzata o mappa viene corretta in modo indipendente in base alla vista corrispondente;
- I bordi errati in una vista o nella mappa corrispondente vengono corretti nell’altra vista;
- I bordi correggibili basati su entrambe le viste vengono corretti utilizzando i bordi della vista che soddisfano un criterio predeterminato, ad esempio quelli che secondo la metrica di errore disponibile danno il minor errore di proiezione. Ovviamente i bordi presenti in una sola vista (assenti nell’altra vista, ad esempio a causa di un’occlusione) possono essere corretti solamente da una singola vista.
Nel caso di un contenuto tridimensionale avente più di due viste (originali), è possibile utilizzare uno qualsiasi dei suddetti metodi di correzione dei bordi applicandolo ripetutamente a differenti coppie di viste disponibili o di rispettive mappe di profondità (o disparità).
Di seguito si descrivono sommariamente alcuni esempi non limitativi di realizzazione dell’invenzione riguardanti l’applicazione del metodo di correzione durante la fase di preparazione del contenuto. Questi esempi saranno descritti in modo dettagliato nella sezione dedicata alla descrizione delle forme di realizzazione preferite.
Durante la fase di preparazione del contenuto è anche possibile effettuare la correzione delle mappe dì profondità. In questo caso non si deve correggere la posizione dei pixel dei bordi, ma il valore di profondità rappresentato nella mappa di profondità corrispondente. In particolare, si calcola lo scostamento dei bordi corretti (chiamato anche disparità). Da questo si ottiene il corrispondente valore corretto di profondità utilizzando la nota relazione tra valori di profondità e di scostamento.
Il primo passo consiste quindi nell’ottenere i bordi corretti. Ciò avviene in modo simile a quanto descritto a proposito della tecnica di correzione applicata in fase dì ricostruzione.
Innanzitutto si rilevano i bordi della vista originale (bordi correttori) con una qualsiasi tecnica nota. Questi bordi vengono proiettati nella vista intermedia utilizzando la relativa mappa di profondità, come descritto per la tecnica di correzione precedente. Contemporaneamente, tuttavia, si calcola anche la mappa degli scostamenti dei pixel dei bordi (ottenuta in modo noto conoscendo i corrispondenti valori di profondità). Questo scostamento viene aggiunto alla coordinata orizzontale del bordo per ricavare la posizione del bordo proiettato.
Si calcola quindi Terrore di proiezione lungo i bordi, ossia la diferenza tra i bordi proiettati e quelli corretti, e quindi si calcola la mappa di scostamento corretta quale diferenza tra lo scostamento del bordo originale e Terrore precedentemente definito. A questo punto si correggono i valori della mappa di profondità utilizzando, per ciascun pixel dei bordi, la formula che mette in relazione tra loro profondità e scostamento o disparità.
La sola correzione dei valori di profondità dei bordi può determinare la creazione di artefatti nella mappa, in modo analogo a quanto accade nella vista sintetizzata. Anche in questo caso, per eliminare tali artefatti si può impiegare un metodo simile al raforzamento dei bordi, come sopra descritto.
Questa seconda tecnica di correzione applicabile durante il processo di generazione può essere utilizzata direttamente nel caso di una vista singola e della relativa mappa di profondità. Quando sono coinvolte due o più viste con le relative mappe di profondità, è possibile coordinare in vari modi i passi della seconda tecnica di correzione che possono essere utilizzati per ciascuna coppia vista / mappa di profondità del contenuto video 3D. Ad esempio, nella fase di rilevazione e selezione dei bordi, ad es. come descritto più avanti in § 1.2.1, si possono utilizzare strumenti di accoppiamento stereo per trovare corrispondenze tra coppie di bordi nelle due mappe di profondità (destra e sinistra), selezionando quindi i bordi da correggere in base a un determinato criterio, ad es. come descritto più avanti in § 1.1. Una volta stabilita la corrispondenza di un bordo nelle due mappe, si può definire la metrica di errore proposta tra il bordo proiettato e il bordo corrispondente in una vista originale.
Un altro aspetto delT invenzione riguarda il possibile utilizzo di una metrica di qualità quale strumento di valutazione della qualità delle mappe di profondità o disparità.
I noti indicatori obiettivi della qualità dell’ immagine (ad es, PSNR, SSIM e VQA) non possono sempre essere utilizzati per la stima della qualità delle mappe di profondità. Dato che la qualità dei bordi contribuisce in misura significativa alla qualità soggettiva delle immagini sintetizzate, si possono utilizzare come indicatori della qualità delle mappe di profondità funzioni ottenute misurando Terrore dei bordi proiettati, ad es. come descritto più avanti in § 1.2.1 e § 1.2.2. In particolare, è possibile definire due versioni di tali metriche.
La prima metrica, chiamata "metrica dì errore Absolute Edge Warping (AWE)” si basa sulla proiezione dei bordi della vista originale e misura Terrore di proiezione causato da valori della mappa di profondità confrontando la posizione del bordo prima e dopo la proiezione, ad es. come descritto più avanti in § 1.2.1.
Si può ottenere una misura complessiva della qualità della mappa di profondità associata alla vista in un determinato istante temporale valutando funzioni dell’errore definito a livello di pixel di bordo, ad esempio calcolando Terrore quadratico medio, il valore massimo o qualsiasi altra misura statistica standard. Naturalmente è anche possibile selezionare per la misurazione soltanto un sottoinsieme dei bordi, scelto in base a uno dei criteri tra quelli descritti, ad esempio, in §1.1.
La metrica proposta può essere influenzata da errori di grande entità in bordi molto brevi, che sono tuttavia a mala pena visibili dal sistema visivo umano e che quindi non degradano la qualità soggettiva. Si propone quindi una seconda metrica, ponderata rispetto alla lunghezza dei bordi: Terrore di ciascun bordo viene ponderato con una funzione che assegna un peso maggiore ai bordi più lunghi; le lunghezze dei bordi sono stimate con una qualsiasi tecnica nota (ad esempio, considerando il numero di pixel che li compongono).
Uno scopo della presente invenzione consiste nell’ indicare un primo metodo per la correzione dei bordi in un contenuto video tridimensionale, detto contenuto video comprendendo almeno un’immagine di vista originale e almeno una mappa di profondità o disparità, il metodo comprendendo i passi seguenti: rilevare i bordi in almeno un’immagine di vista originale per ottenere bordi originali; deformare detti bordi originali secondo detta mappa di profondità o disparità; rilevare un insieme di bordi deformati alterati dal processo di deformazione; correggere detti bordi alterati per ottenere bordi corretti.
Un altro scopo della presente invenzione consiste nellindicare un metodo per la correzione dei bordi in un contenuto video tridimensionale, detto contenuto video comprendendo almeno due immagini di viste originali e almeno due mappe di profondità o disparità, il processo comprendendo: eseguire il primo metodo su una di dette almeno due viste originali; eseguire il primo metodo sull’altra di dette almeno due viste originali, in cui detto metodo è eseguito su dette viste originali consecutivamente una dopo l’altra e indipendentemente l’una dall’altra.
Un ulteriore scopo della presente invenzione consiste nell’indicare un metodo per la correzione dei bordi in un contenuto video tridimensionale, detto contenuto video comprendendo almeno due immagini di viste originali e almeno due mappe di profondità o disparità, il processo comprendendo: eseguire il primo metodo su una di dette almeno due viste originali; eseguire il primo metodo sui bordi dell’altra vista originale che non sono stati corretti durante il passo precedente.
Un ulteriore scopo della presente invenzione consiste nell'indicare un metodo per la correzione dei bordi in un contenuto video tridimensionale, detto contenuto video comprendendo almeno due immagini di viste originali e almeno due mappe di profondità o disparità, il processo comprendendo: determinare quali bordi di detto contenuto video tridimensionale possono essere corretti applicando il primo metodo a entrambe dette due immagini di viste originali, e applicare il primo metodo ai bordi determinati durante il passo precedente.
Ulteriori scopi della presente invenzione consistono nell’indicare un metodo per valutare la qualità di una mappa di profondità corrispondente a una vista originale relativa a un contenuto video tridimensionale, come descritto nelle rivendicazioni 23 o 24.
Ulteriori scopi della presente invenzione consistono nell’indicare un apparato di elaborazione video o un apparato di valutazione della qualità video come descritto nelle rivendicazioni 28 o 29.
Questi e ulteriori scopi sono raggiunti per mezzo di un metodo e un dispositivo di rafforzamento della forma dei bordi per il miglioramento visivo del rendering basato su immagine di profondità come descritto nelle rivendicazioni allegate, che sono da considerarsi parte integrante della presente descrizione.
Breve descrizione dei disegni
L’invenzione apparirà chiara dalla descrizione dettagliata che segue, fornita puramente a titolo di esempio non limitativo e da leggersi con riferimento ai disegni allegati, in cui:
La Figura 1 mostra alcuni esempi di rilevazione e correzione degli errori dei bordi operate con la tecnica "Shape Matching”. in particolare:
Fig. 1(a) Bordo originale ej ; centroide cj= (344.5,148.5);
Fig. 1(b) Bordo deformato ej; centroide<c>f<=>(344.5<,>148,5) ·
Fig. 1(c) Bordo referenziato originale er (i) ;
Fig. 1(d) Bordo referenziato deformato er (i);
Fig. 1(e) Bordi referenziati sovrapposti da (c) e (d);
Fig. 1(f) Errore del bordo Ψj ;
Fig. 1(g) Bordo deformato corretto êj;
Fig. 1(h) Bordo originale e bordo deformato corretto;
La Figura 2 mostra alcuni esempi di rilevazione e correzione degli errori dei bordi operate con la tecnica “Edge Gradient in particolare:
Fig. 2(4a) Bordo originale ej;
Fig. 2(b) Bordo deformato è, ;
Fig. 2(c) Gradiente del bordo originale;
Fig. 2(d) Gradiente del bordo deformato;
Fig. 2(e) Bordo deformato corretto êj;
Fig. 2(f) Bordo originale e bordo deformato corretto;
La Figura 3 mostra un esempio del kernel dì ponderazione proposto w(u,v) con k=7 e p=0.8;
La Figura 4 mostra un esempio di diagramma di flusso dell'algoritmo dell' invenzione nel caso di correzione mediante l’uso di una sola vista; La Figura 5 mostra tre esempi di immagini di operazioni di correzione dei bordi, in particolare:
Fig. 5 a: bordi estratti dalla vista sinistra;
Fig. 5b: immagine deformata con bordi alterati;
Fig. 5c: immagine deformata con posizioni dei bordi corrette;
La Figura 6 mostra un altro esempio di diagramma di flusso dell’algoritmo dell’invenzione nel caso di rafforzamento dei bordi mediante l’uso di due viste e profondità;
La Figura 7 mostra un altro esempio di diagramma di flusso dell' algoritmo dell’invenzione nel caso di correzione di profondità mediante Fuso di una singola vista più profondità;
La Figura 8 mostra un altro esempio di diagramma di flusso dell' algoritmo dell’ invenzione nel caso di correzione di profondità mediante Fuso di viste multiple più profondità;
La Figura 9 mostra un esempio di bordo discontinuo e dell’i-esimo pixel con gradiente orizzontale e verticale in modulo > 1 ;
La Figura 10 mostra un esempio di come lo spostamento dei bordi alterati possa causare artefatti visivi dovuti alla discontinuità introdotta in aree adiacenti;
La Figura 11 mostra un esempio di correzione di pixel di aree adiacenti; La Figura 12 mostra uno schema esemplificativo della procedura di correzione dei bordi in fase di ricostruzione.
Descrizione dettagliata delle forme di realizzazione preferite
Di seguito si descriveranno alcune varianti di realizzazione dell’idea alla base del metodo secondo l’invenzione.
1 Correzioni lato ricevitore
Presso il ricevitore l’obiettivo è migliorare la qualità visiva degli oggetti nelle immagini virtuali create utilizzando le viste ricevute e le corrispondenti informazioni di disparità o profondità. Nella maggior parte dei casi le viste e le informazioni di profondità ricevute sono afflitte da errori di compressione in conseguenza dì algoritmi di compressione “lossy”.
Le tecnica proposta comprende due fasi.
Durante la prima fase si rilevano i contorni (bordi) degli oggetti in almeno una vista, ad es. Fimmagine sinistra. Successivamente i bordi rilevati vengono deformati verso la loro posizione intermedia, consentendo la rilevazione dell’ insieme di bordi alterati dal processo di deformazione.
Nella seconda fase si applica la correzione all’immagine deformata.
1. 1 Rilevazione e pre-elaborazione dei bordi
Il primo compito della tecnica proposta è identificare i bordi nel contenuto di input (viste del contenuto e/o le corrispondenti mappe di profondità/disparità). La rilevazione dei bordi può essere effettuata sulle viste del contenuto o sulla corrispondente mappa di profondità o disparità. Occorre ricordare che, dato che le mappe di profondità potrebbero non essere accurate, è solitamente consigliabile rilevare i bordi utilizzando le viste originali anziché la corrispondente profondità. Il processo inizia con un qualsiasi algoritmo di rilevazione noto. Esistono varie tecniche per rilevare i bordi nelle immagini, come i semplici e rapidi kernel Sobel e Prewitt o il più complesso rilevatore di bordi Canny, come descritto, ad esempio, nell’articolo di J. Canny, “A computational approach to edge detection,” IEEE Trans. Pattern Anal. Mach. Intell, vol. 8, no, 6, pp. 679-698, June 1986. Sull’insieme di bordi così ottenuto si eseguono i passi seguenti.
L’insieme di bordi può essere ordinato e/o limitato nelle dimensioni per scalare la complessità dell’algoritmo e/o può essere pre-elaborato in base ad almeno un criterio o una combinazione di criteri, tra cui:
- criteri di qualità che devono essere soddisfatti nell’intero processo di correzione (qualità visiva, proprietà specifiche degli oggetti visivi, proprietà geometriche, vincoli applicativi specifici)
- caratteristiche geometriche del bordo (ad es. orientamento, linearità, curvatura, lunghezza)
- posizione dei bordi (ad es. posizione nello spazio 3D, vicinanza al punto di vista della telecamera)
- i bordi possono essere suddivisi in segmenti rettilinei (eventualmente generando un bordo lineare segmentato), in modo da applicare le successive correzioni solo a linee rette, essendo in tal caso noto che la correzione sarà teoricamente ottimale poiché le linee rette sono invarianti sotto trasformazione proiettiva
- qualsiasi criterio di selezione in grado di realizzare un compromesso tra la qualità finale dell’intero processo di correzione e la complessità dell’algoritmo (quest’ultima dipende dal numero di bordi da correggere); ad esempio, i bordi nell’insieme vengono dapprima ordinati in base ad almeno uno dei criteri precedenti, e quindi un toro sottoinsieme viene selezionato per la correzione. Questa pre-elaborazione può essere effettuata impiegando strumenti noti di rilevazione dei bordi e configurandone opportunamente i parametri, ad es. filtri, soglie, ecc., seguiti da idonei strumenti di classificazione e ordinamento, supervisionati o non supervisionati. Questo processo permette di soddisfare in modo ottimale i criteri, garantendo un buon compromesso in termini di complessità.
Si indichi con E l' insieme dei bordi selezionati, in cui ejindica il j-esimo bordo nell’insieme, possibilmente in accordo con i criteri di ordinamento summenzionati.
Si indichi con ej(i) = (uji, vji) l' i-esimo punto del j-esimo bordo con coordinate (uji vji) nel piano dell’ immagine e che il numero di punti del bordo sia nj. In altre parole, e (i) può essere rappresentato come vettore di njcoordinate.
La lista di bordi E viene quindi trasformata nell’ insieme di bordi deformati È applicando una deformazione verso un punto di vista target, ad esempio un punto di vista tra due viste disponibili o qualsiasi punto di vista appropriato in caso di un’unica vista disponibile. La deformazione dipende dalla mappa di profondità/disparità e viene applicata alle corrispondenti coordinate dei bordi, come precedentemente descritto.
Qualsiasi errore nel valore di profondità/disparità in corrispondenza delle coordinate del bordo si rifletterà quindi nel bordo deformato calcolato. In Figura 1-(a) è mostrato un esempio di un bordo originale ej. e del corrispondente bordo deformato e, afflitto da errori di deformazione (si veda la deformazione anomala al centro del bordo).
1.2 Stima dell' errore di deformazione sui bordi
A causa di errori nei valori della mappa di profondità/disparità, il processo di deformazione può potenzialmente introdurre errori e distorcere l’immagine. L’algoritmo proposto rileva i bordi alterati da errori di profondità e li corregge. Si propongono due metodi per rilevare i bordi alterati:
un primo metodo basato sul confronto delle forme dei bordi (prima e dopo la deformazione), e
- un secondo metodo basato sulla rilevazione delle anomalie nelle coordinate dei bordi deformati.
1.2.1 Confronto delle forme dei bordi
Il primo metodo per stimare l' errore di deformazione e rilevare il bordo alterato sì basa sul confronto tra la forma di un bordo originale e quella del bordo deformato corrispondente.
Si indichi con e, un bordo originale e con ej il bordo deformato corrispondente. Per determinare la distorsione nel bordo deformato rispetto al bordo originale, si calcola il centroide di entrambi i bordi.
Si indichi con 3⁄4 - (“W) il centroide del bordo originale ej e con cj é= (ujLfr?) il centro del bordo deformato èj<'>I eentroidi si calcolano come segue:
Il centroide di ζ si calcola in modo analogo. La Figura 1-(a) e la Figura 1 -(b) mostrano i valori del centroide per un bordo campione.
In alternativa, il centroide può essere sostituito da qualsiasi altro punto di riferimento calcolato quale funzione dei punti del bordo, ad esempio utilizzando la mediana delle coordinate orizzontale e verticale.
La mediana ha la ben nota carateristica di essere più robusta agli outlier nel valore delle coordinate del bordo deformato. Allo stesso scopo si possono anche utilizzare altri operatori statistici.
Per confrontare le forme dei due bordi occorre rimappa le coordinate sui rispettivi centroidi come segue:
ottenendo così quelli che sono qui chiamati bordi referenziati ej e èj. Un esempio di bordo referenziato è mostrato in Figura 1-(c) e Figura 1-(d).
L’errore di deformazione per ciascun punto i del j -esimo bordo si calcola mediante la differenza tra le coordinate dei punti del bordo referenziato come segue:
I valori dì Ψj calcolati nel caso del bordo campione utilizzato in Figura 1 sono mostrati in Figura 1-(f). Come si può notare, alla parte in cui la deformazione ha danneggiato il bordo corrispondono valori elevati di Ψj .
E’ anche possibile definire un errore di deformazione complessivo μj del j-esimo bordo, ad esempio sommando il modulo di tutti gli errori dei punti del bordo come segue:
In alternativa è possibile prendere una media di tutti gli errori dei punti del bordo. Si può inoltre utilizzare come metrica per l’intero errore di deformazione sul bordo j-esimo qualsiasi altra funzione appropriata del Ψj(i) sopra definito.
1.2.2 Rilevazione delle anomalie dei bordi deformati
Un altro metodo per rilevare l' errore di deformazione nei bordi si basa sull' analisi della forma delle traiettorie del bordo prima e dopo la deformazione, individuando eventuali modificazioni anomale, generalmente brusche.
Questo obiettivo può essere raggiunto con qualsiasi metodo di rilevazione delle anomalie noto in letteratura.
A titolo di esempio, i bordi alterati possono essere rilevati analizzando il gradiente dei bordi prima e dopo la deformazione, come illustrato in Figura 2.
Il gradiente rappresenta infatti gli incrementi orizzontali e verticali della traiettoria del bordo. Laddove il gradiente di un bordo dopo la deformazione risulti significativamente differente da quello del bordo originale, si presupporrà che esso sia soggetto a una deformazione anomala dovuta a informazioni di profondità errate.
Dato un punto di bordo ej(i), il suo gradiente Vj(i) sarà definito come segue: Analogamente si calcola Vj(i) per il punto dì bordo deformato è, (i) Prima della deformazione i bordi sono formati da punti collegati per costruzione, e quindi deve valere che jvj(i)j ≤ 1 e |vj(ì)| < 1, ossia le coordinate orizzontali e verticali di due punti di bordo consecutivi devono essere in posizioni adiacenti. A questo scopo è possibile utilizzare qualsiasi test alternativo di connettività noto nella letteratura dedicata alla visione artificiale.
Si può osservare che, per valori limitati della linea di base delle telecamere b, i bordi sono caratterizzati da gradienti simili prima e dopo la deformazione. Al contrario, una deformazione impropria modifica significativamente il gradiente del bordo e alcuni punti di esso non risultano più connessi.
Per rilevare le anomalie di deformazione dei bordi si calcola la differenza di gradiente Vj(i) — Considerando una configurazione orizzontale delle telecamere, la deformazione non modifica l’indice di riga u e la differenza di gradiente risulta semplificata come segue:
Come per la precedente metrica di errore, anche in questo caso è possibile definire una metrica di errore di deformazione complessivo del bordo.
Ad esempio, la somma della differenza assoluta del gradiente orizzontale prima e
dopo la deformazione = ∑, |V?(i) - può essere definita come errore complessivo del bordo e può essere utilizzata come metrica per rilevare un bordo alterato.
Quali alternative si possono impiegare altri operatori e funzioni simili di media dell’ errore di gradiente.
Sulla base di questa metrica di errore è possibile selezionare per la correzione tutti i bordi o soltanto un loro sottoinsieme. Ad esempio, in Fig. 1 si utilizza la metrica
μ per un frame della sequenza di prova Poznan_Hall2, la quale mostra che soltanto pochi bordi presentano valori elevati che li candidano per una correzione. Una volta classificato come alterato il j -esimo bordo, è necessario localizzare i punti che effettivamente richiedono la correzione.
Sulla base delle precedenti osservazioni sul gradiente del bordo, un punto del bordo deformato è considerato in errore se la magnitudine della componente
orizzontale del gradiente dell’ i-esimo punto è maggiore di 1, [VJ (i)| > 1 ossia il bordo deformato appare scollegato intorno all'i -esimo punto.
1,3 Correzione dei bordi
Dopo aver rilevato i bordi “mal deformati” durante il processo di deformazione, si possono adottare opportune contromisure in fase di correzione. Di seguito si descrivono tre strategie di correzione alternative.
1.3.1 Correzione tramite shape matching
Questo metodo di correzione è legato alla metrica qui denominata “confronto delle forme dei bordi” e utilizza l’errore Ψj(i) definito nel paragrafo 1.2.1 per correggere la forma dei bordi deformati.
Questo metodo può chiaramente essere applicato anche in caso di impiego dì altre metriche dì errore di deformazione per la rilevazione dei bordi, con l' unico inconveniente che la metrica di errore adottata non è riutilizzata nella fase di correzione; ciò comporta generalmente un maggior costo computazionale.
La correzione tramite shape matching si effettua sottraendo P errore di bordo dal bordo deformato per rafforzare la forma del bordo originale.
Secondo questa soluzione, il bordo corretto èjviene calcolato come segue:
êj(i) = êj(i) -ψ(ί)
La Figura 1 -(g) e la Figura 1-(h) mostrano graficamente l’effetto di tale correzione su un bordo campione.
Per contenere il costo computazionale, la correzione può essere applicata solamente a quei bordi il cui errore complessivo supera una data soglia y. La soglia γ per la selezione dei bordi alterati può essere qualsiasi numero positivo maggiore di 0. Gli esperimenti da noi effettuati mostrano che si ottengono generalmente buoni risultati impostando y>10. Tuttavia, impostando y a 0, ossia applicando la correzione a tutti i bordi dell' immagine, il metodo proposto funzionerà comunque, mantenendo l’esatta forma dei bordi deformati correttamente e correggendo solo i bordi “mal deformati”; infatti, il termine di correzione nell’equazione precedente sarà già probabilmente molto vicino a 0 per i bordi già correttamente deformati e non modificherà la forma di tali bordi.
Grazie a questa caratteristica, la selezione della soglia y non è critica e può essere utilizzata solo come mezzo per ridurre la complessità delle fasi dell’intero algoritmo, producendo uno sforzo computazionale soltanto sui bordi soggetti a significativi errori di deformazione e con un forte impatto sulla qualità visiva. La Fig. 10 mostra un esempio di correzione applicata a un bordo mal deformato.
1.3.2 Correzione tramite smoothing
Questo metodo è strettamente legato alla definizione dell’ errore del bordo basata sulla rilevazione delle anomalie (v. par. 1.2.2). In questo caso si mira a correggere il bordo attenuando quelle parti della traiettoria del bordo stesso che sono state riconosciute come anomale. Se si è utilizzato il gradiente per rilevare le anomalie, è possibile impiegare un filtro dì smoothing, ad es. un filtro di media o un filtro mediano non lineare, su vj(i) per regolarizzarne i valori.
In caso di configurazione orizzontale delle telecamere, occorrerà correggere solamente le coordinate di colonna; di conseguenza, nell' esempio seguente si ometterà per semplicità l’indice di riga.
Si definisca con Vj il gradiente dei bordi deformati in uscita da un qualsiasi operatore di smoothing.
La posizione corretta dell' i-esimo punto del bordo può essere approssimata impostando
<v>h- se l’i-esimo punto è corretto
- Vf altrimenti
La Figura 2-(d) mostra due anomalie nel gradiente del bordo deformato; utilizzando un operatore di smoothing è possibile eliminare i picchi improvvisi nel gradiente e, attraverso la formula precedente, ottenere il bordo corretto mostrato in Figura 2-(g) e Figura 2-(h).
1.3.3 Correzione tramite riferimento
Questo metodo di correzione si basa sul presupposto che il gradiente del bordo sia quasi del tutto conservato in seguito alla deformazione.
Alla luce di ciò, per correggere la posizione dell’ i-esimo punto di un bordo alterato si correggono i valori anomali del gradiente deformato secondo il gradiente del bordo originale ejDato l' i-esimo punto selezionato del bordo, la sua posizione corretta si stima applicando il gradiente del bordo originale al punto di bordo precedente oppure utilizzando una qualche funzione del suo vicinato come qui indicato:
Un’altra possibilità consiste nell'utilizzare un operatore più generico
in cui Nh(.) è il vicinato di dimensione H dell’ i-esimo punto del bordo e ) è una funzione appropriata.
Siccome l’errore di deformazione solitamente affligge una serie consecutiva di punti del bordo, l' identificazione e la correzione dei punti errati tramite riferimento possono essere applicate in modo ricorsivo. In una prima fase si localizzano e correggono i punti errati, dopodiché il processo viene iterato fino a quando lungo il bordo non vengono più rilevati errori che superano un dato valore.
Tutti gli approcci di correzione proposti permettono di migliorare la qualità dei bordi in termini di metrica di errore, come mostrato in Fig. 1, dove sono indicati i valori della metrica prima e dopo la correzione per un dato fraine di una sequenza di prova.
I passi algoritmici descritti sono rappresentati visivamente in Fig. 3, dove si sono sovrapposti su un’immagine di prova i bordi E estratti dalla vista sinistra (a), le loro controparti deformate È (b) e i loro profili corretti (c).
1.3 Rafforzamento dei bordi nella vista virtuale
I bordi corretti possono essere utilizzati per migliorare la qualità della vista intermedia renderizzata, integrando appropriatamente i bordi corretti con i pixel circostanti senza introdurre artefatti visivi. Infatti i precedenti passi algoritmici servono unicamente a correggere la posizione del bordo, senza occuparsi del suo vicinato. Questa fase è denominata “rafforzamento dei bordi” e può essere realizzata utilizzando noti strumenti di elaborazione di immagini per amalgamare tra loro aree diverse dell’immagine.
Una possibile tecnica in grado di raggiungere questo risultato consiste nel copiare ogni bordo corretto nella vista intermedia con i corrispondenti k- vicini da entrambi i lati del bordo (orizzontalmente), ossia si amalgamano patch di immagine lungo il bordo in modo da creare la tessitura corrispondente.
A titolo di esempio, i pixel vicini possono essere amalgamati nella vista virtuale deformata utilizzando pesi che dipendono dalla distanza dai bordo corretto. Un kernel di ponderazione w di dimensioni (2k 1} x (2k 1) è definito come segue:
in cui p è un parametro che rappresenta un limite inferiore del peso dì diffusione (0 < ρ ≤ 1). La Fig. 3 mostra un esempio di un kernel di ponderazione 15x 15 (k=7) con p = 0.8. La dimensione prescelta del kernel dipende dal valore di k, che rappresenta un parametro configurabile.
Se i bordi vengono corretti dalla vista del contenuto originale Vl a sinistra della vista intermedia desiderata Vm(v. Fig. 5), la fase di rafforzamento dei bordi
utilizza come input la lista dei bordi (E,Ê'), la vista sinistra originale Vl e la vista intermedia deformata V , e fornisce in uscita una vista intermedia con bordi
migliorati V’ .
Innanzitutto si inizialìzza V’m=Vm, dopodiché ogni punto di bordo ej(i) viene
corretto copiando il punto corrispondente da Vl.
L'amalgamazione dell’area intorno a ogni punto di bordo si effettua applicando l’equazione seguente:
per - k ≤ x ≤ k, - k ≤ y ≤ k subordinata a (ùji,· x, vji+ y) ∉ E, quest’ultimo controllo essendo eseguito per evitare di attenuare punti di bordo già copiati.
1.4 Descrizione di alcune forme dì realizzazione
In Fig. 4 è mostrato uno schema generale di realizzazione della tecnica di correzione dei bordi.
In questo esempio i bordi vengono rilevati e corretti utilizzando solo la vista sinistra, e quindi i bordi corretti vengono rafforzati nella vista intermedia creata da uno strumento di rendering di immagini standard basato sulla profondità. Si noti che, seppur sia conveniente, come già menzionato, rilevare il bordo nella vista del contenuto originale, non si esclude la possibilità di eseguire la stessa operazione utilizzando la mappa di profondità. La Figura 5 mostra i passi algoritmici più importanti eseguiti su un’immagine reale. In particolare, i passi mostrati sono: bordi estratti dalla vista sinistra (a), immagine deformata con bordi alterati (b) e immagine deformata con posizioni dei bordi corrette (c).
In un’altra forma di realizzazione, la rilevazione e la correzione dei bordi vengono effettuate su entrambe le viste più vicine e/o sulla profondità corrispondente, come illustrato schematicamente in Figura 6. Dopo la correzione è possibile calcolare la corrispondenza tra i bordi e applicare la correzione in vari modi con un passo lievemente più complesso di rafforzamento dei bordi che abbiamo denominato Multi view Edge Enforcement (rafforzamento dei bordi multivista). Tale blocco supplementare utilizza almeno uno dei criteri seguenti per rafforzare congiuntamente bordi corretti ricavati da una vista sinistra e una vista destra: - tutti i bordi (da sinistra e da destra) vengono corretti in modo sequenziale e indipendente; questa soluzione è la più semplice, ma lo stesso bordo può essere corretto due volte;
- tutti i bordi vengono prima corretti da una vista e quindi solo i bordi che non sono stati precedentemente corretti vengono elaborati con la seconda vista;
* per quei bordi che possono essere corretti sia dalla vista sinistra sia da quella destra, può essere applicata la correzione migliore sulla base di un determinato criterio; ad esempio, si può selezionare la correzione che fornisce il minore errore di deformazione secondo la metrica proposta in questo brevetto;
- i bordi che possono essere corretti da una sola vista vengono corretti come nella forma di realizzazione precedente. La Fig. 6 riassume l' intera procedura.
2 Correzione lato trasmettitore
Come già menzionato, la correzione dei bordi può essere sfruttata dal lato trasmettitore per migliorare la qualità delle mappe di profondità. Ciò è realizzabile recuperando il giusto valore di profondità per i bordi corretti sulla base della correzione di scostamento di cui essi necessitano. Questo approccio può essere utilizzato come post-elaborazione per migliorare la mappa di profondità oppure può essere integrato in una tecnica di stima della profondità.
Di seguito si forniscono i dettagli matematici.
2.1 Correzione di profondità
In questo caso i valori di profondità dei punti del bordo soggetti a errore dì deformazione vengono corretti in modo tale da consentire un rendering corretto (tramite DIBR standard) del contorno degli oggetti. Per applicare tale correzione a una mappa di profondità prima della trasmissione si calcolano alcune informazioni supplementari basate sulla deformazione dei bordi. Come nei casi precedenti, si rilevano per prima cosa tutti i bordi da almeno una vista. Quindi tutti i punti di bordo vengono deformati in una vista virtuale mediante tecniche DIBR, e i bordi mal deformati vengono riconosciuti in base ai criteri di errore sopra descritti. Successivamente si correggono i valori di profondità associati ai punti di bordo mal deformati. Il processo si basa sui passi algoritmici descritti di seguito.
2.1.1 Calcolo della mappa di scostamento
In seguito alla rilevazione dei bordi in almeno una vista come descritto nella sezione 1.1, la lista di bordi E viene deformata sulla telecamera virtuale, determinando una lista di bordi deformati È. Durante la deformazione di ciascun bordo si calcola lo scostamento di ciascun pixel di bordo (ujiv). Si indichi con e, il j-esimo bordo e con ej(i) il suo /-esimo punto, più specificamente e (i) come descritto nelle sezioni precedenti.
Si indichi con dj(i) la profondità corrispondente del pixel di bordo e(i). Ipotizzando una configurazione orizzontale delle telecamere, per ciascun pixel di bordo e(i) si calcola lo scostamento oj(i) come segue:
Il segno dello scostamento dipende dalla direzione di deformazione; ad esempio, è positivo quando si deforma la vista originale verso sinistra e negativo quando si deforma la vista originale verso destra. Gli scostamenti di tutti i punti di bordo sono di seguito indicati con il termine mappa di scostamento.
Questo scostamento viene aggiunto alla coordinata orizzontale di ciascun pixel<ν>j,i per calcolare la sua posizione deformata
Il passo successivo consiste nell'individuare i bordi mal deformati, e ciò avviene allo stesso modo già descritto nella sezione 1.2.
2.1.2 Correzione della mappa di profondità
Ogni bordo mal deformato può essere corretto come precedentemente descritto in modo da ottenere il bordo corretto ej(i) L’algoritmo di correzione modifica la coordinata di colonna dei pixel di bordo errati. La correzione può essere calcolata in termini di errore di scostamento come segue:
La mappa di scostamento del bordo può essere corretta considerando l' errore di scostamento dovuto alla correzione, ottenendo la mappa di scostamento corretta come segue:
Una volta corretta la mappa di scostamento, si utilizza la formula di deformazione per correggere la profondità corrispondente associata alla vista originale invertendo l’equazione
in cui d è la profondità del pixel soggetto a deformazione. Lo scostamento corretto si utilizza per calcolare la profondità corretta corrispondente come segue:
Una volta corretta la profondità del bordo, per evitare artefatti è necessario correggere la profondità dei pixel vicini a ogni bordo. Questo obiettivo può essere raggiunto utilizzando algoritmi di interpolazione di profondità noti o qualsiasi altro strumento noto di elaborazione di immagini atto ad amalgamare aree diverse di immagini e mascherare artefatti visivi.
A titolo di esempio, il passo di rafforzamento dei bordi precedentemente descritto può essere facilmente adattato per svolgere la stessa funzione su una mappa di profondità.
2.2 Esempi di realizzazione
In una prima forma di realizzazione, la correzione di profondità viene eseguita utilizzando una singola vista.
Si rilevano i bordi nella vista, che poi vengono deformati verso una posizione virtuale. Si calcola poi Terrore di bordo con i metodi sopra descritti e si applica la correzione utilizzando le tecniche descritte nella sezione 2.1. In questo modo si correggono soltanto i bordi; per correggere i pixel di profondità vicini ai bordi si può applicare qualsiasi metodo di interpolazione idoneo. La Fig. 7 fornisce una descrizione schematica dello scenario.
In un’altra forma di realizzazione, le metriche di errore di deformazione proposte sono utilizzate per confrontare il bordo rilevato in una vista originale, ad es. la vista sinistra, con il bordo disponibile in un’altra vista originale, ad es. la vista destra. Si indichi con Eil' insieme di bordi rilevato nella vista sinistra e con Erl’insieme di bordi rilevato nella vista destra. Ogni bordo ej e El viene deformato verso destra, ottenendo linsieme di bordi deformati ètJ· essendo il j-esimo bordo deformato.
In seguito alla deformazione dei bordi verso la vista destra, si stabilisce una corrispondenza tra i bordi El e Erutilizzando strumenti di accoppiamento stereo idonei noti.
Per un bordo èj,l∈ El, il bordo corrispondente in Ersarà er k.
In altre parole, è possibile definire una funzione di mappatura m(.) tale che m(j) = k,
ossia il j-esimo bordo deformato sinistro corrisponde al k-esimo bordo rilevato nella vista destra.
Per la correzione si può scegliere un sottoinsieme di bordi sulla base di almeno uno dei criteri discussi nella sezione 1.1. Inoltre è possibile che un bordo in Elnon abbia un bordo corrispondente in Era causa di occlusioni o di problemi di rilevazione del bordo stesso (bordi in regioni non occluse della vista sinistra non presenti nella vista destra, oppure i bordi corrispondenti nella vista destra sono troppo deboli per essere rilevati dal metodo di rilevazione dei bordi, e quindi la corrispondenza potrebbe non essere stabilita). Tali bordi possono essere esclusi dai possibili candidati alla correzione.
Una volta stabilita una corrispondenza stereo tra i bordi, l’errore di deformazione viene rilevato utilizzando le metriche precedentemente descritte, e la correzione può essere applicata valutando tali metriche.
A titolo di esempio, il confronto delle forme tra il bordo sinistro deformato e il bordo destro corrispondente può essere eseguito calcolando
ossia la stessa metrica proposta nella sezione 1.2.1 viene qui riutilizzata per determinare le differenze tra il bordo destro referenziato e il corrispondente bordo sinistro deformato referenziato.
Si può analogamente adottare l’approccio di rilevazione delle anomalie presentato nella sezione 1.2.2 per rilevare punti anomali di un dato bordo sinistro deformato, utilizzando come riferimento il bordo destro corrispondente.
L’approccio presentato nella sezione 2.1.2 consente di calcolare l’errore di scostamento:
L’errore di scostamento δ(i) viene quindi utilizzato per correggere la mappa di profondità corrispondente, come descritto nella sezione 2.1.2. Scambiando i ruoli delle viste sinistra e destra, tale approccio può essere utilizzato per rimuovere le anomalie di profondità nella vista destra. La Fig. 8 mostra lo schema a blocchi della correzione di profondità operata utilizzando viste multiple. Si noti che l’approccio proposto può essere applicato a qualsiasi coppia di viste/profondità, e quindi può essere esteso a una configurazione generale multi-vista/profondità a condizione che sia applicata in modo iterativo a diverse coppie di viste/profondità per affinare progressivamente i valori di profondità.
In un’altra forma di realizzazione è possibile adottare uno dei suddetti approcci quale parte di un algoritmo di stima della profondità, allo scopo di aiutare quest’ultimo a restituire un risultato di profondità migliorato o a convergere più rapidamente verso i valori di profondità desiderati.
3 Metodo e apparato per la valutazione della qualità della profondità Solitamente la qualità della stima di profondità viene valutata generando una vista virtuale da due viste e profondità, e la vista virtuale viene poi confrontata con l’originale corrispondente.
Per misurare la qualità delle due immagini si utilizzano frequentemente metriche di qualità come Peak Signal to Noise Ratio (PSNR), Structural Similarity Index Measure (SSIM) e Video Quality Assessment (VQA).
Esistono casi in cui questo approccio non funziona perché manca il riferimento originale della vista intermedia, in quanto non acquisito al momento della ripresa. Anche quando è disponibile la vista intermedia originale, la generazione di una vista intermedia completa tramite DIBR può imporre un carico computazionale molto elevato sullo strumento di valutazione della qualità.
Infine, i metodi esistenti di valutazione della qualità della profondità funzionano solo nel caso di due viste con corrispondenti mappe di profondità.
Al contrario, i metodi di valutazione della qualità della profondità qui proposti hanno un respiro più generale e possono essere utilizzati per misurare la qualità anche di una singola profondità con la rispettiva vista. In tal caso è possibile deformare una singola vista verso un punto di vista arbitrario e quindi calcolare Terrore di profondità con i metodi descritti qui di seguito.
E’ ben noto che i bordi contribuiscono in misura significativa alla qualità soggettiva dell' immagine. In particolare, un’accurata e precisa deformazione dei bordi è una funzione importante al fine di garantire immagini virtuali di alta qualità.
Le metriche di errore di deformazione dei bordi proposte possono essere utilizzate anche a questo scopo, indipendentemente dal loro impiego nell’ambito di una tecnica di correzione dei bordi tridimensionali. Si illustrano qui alcuni esempi di metriche di errore di deformazione dei bordi globali; ciò nonostante possono essere definite metriche alternative sulla base delle metriche di errore dei bordi definite nelle sezioni 1.2.1 e 1.2.2. Di seguito si esemplificano due metriche per la valutazione della qualità della profondità basate sui nostri metodi di calcolo degli errori dei bordi.
3.1. Metrica di errore Absolute Warping Edge (AWE)
Il modo più semplice di calcolare la qualità della profondità consiste nel rilevare i bordi, ossia l’attributo visivo principale per il sistema visivo umano (SVU), deformare i bordi verso una posizione virtuale e calcolare l' errore indotto in ciascun bordo da errori di profondità.
La somma degli errori assoluti di tutti i bordi in un frame indica l' errore di profondità.
Di conseguenza si definisce la metrica di errore Absolute Warping Edge (AWE) Δk, che rappresenta l' errore di deformazione dei bordi totale in un dato frame k: Δk= ∑j∈E|, in cui μj è l’errore del bordo j e Ekè l’insieme di tutti i bordi nel frame k.
Chiaramente tale metrica può essere utilizzata per classificare la qualità di un’intera sequenza video, applicando un operatore statistico appropriato alla serie di valori metrici calcolati su ogni frame e ogni vista, ad es. media, massimo, ecc.
3.2. Errore Weighted Warping Edge (WWE)
Il metodo sopra descritto per misurare la qualità della profondità può essere sensibile a errori di grande entità in bordi di piccole dimensioni che possono non influenzare in misura significativa la qualità visiva della vista virtuale. Per rendere più robusta la metrica di errore, si può bilanciare l’errore del bordo in funzione della sua lunghezza. Un errore Weighted Warping Edge (WWE) può essere definito come segue:
μj= μjw(nj }
in cui l’errore del j-esimo bordo è ponderato secondo una funzione<W(>nj) a seconda della lunghezza del bordo<n>j . Tale funzione si utilizza per dare un peso maggiore all’ errore nei bordi lunghi. Quindi la metrica è definita come;
La presente invenzione può essere vantaggiosamente realizzata attraverso un programma informatico comprendente mezzi di codifica di programma per l’esecuzione dì uno o più passi dei metodo quando tale programma viene eseguito su un computer, Resta quindi inteso che l’ambito di protezione si estende a tale programma informatico e a mezzi leggibili da computer contenenti un messaggio registrato, detti mezzi leggibili da computer comprendendo mezzi di codifica di programma per l’esecuzione di uno o più passi del metodo quando tale programma viene eseguito su un computer.
Sono comunque possibili numerose modifiche, variazioni e altri impieghi e applicazioni dell’oggetto dell’ invenzione, i quali appariranno evidenti all’uomo del ramo alla luce della presente descrizione e dei disegni allegati, che ne illustrano alcune forme di realizzazione preferite. Tutte tali modifiche, variazioni e altri impieghi e applicazioni che non si discostino dall’ambito inventivo saranno da ritenersi coperte dalla presente invenzione.
Gli elementi e le caratteristiche descritte nelle varie forme di realizzazione preferite possono essere combinate tra loro senza per questo fuoriuscire dall’ambito inventivo.
Non si descrivono qui ulteriori dettagli realizzativi, in quanto l’uomo del ramo sarà in grado di realizzare l’invenzione sulla base degli insegnamenti contenuti nella presente descrizione.
Claims (29)
- RIVENDICAZIONI 1. Metodo per la correzione dei bordi in un contenuto video tridimensionale, detto contenuto video comprendendo almeno un’immagine di vista originale e almeno una mappa di profondità o disparità, il metodo comprendendo i passi seguenti: - rilevare i bordi in almeno un’immagine di vista originale per ottenere bordi originali; - deformare detti bordi originali secondo detta mappa di profondità o disparità; - rilevare un insieme di bordi deformati alterati dal processo di deformazione; - correggere detti bordi alterati per ottenere bordi corretti.
- 2. Metodo secondo la rivendicazione 1, in cui detto passo di rilevare detto insieme di bordi deformati comprende un passo di confronto delle forme dei bordi che prevede di: - confrontare la forma di un bordo originale con il bordo deformato corrispondente, e determinare la distorsione nel bordo deformato rispetto al bordo originale.
- 3. Metodo secondo la rivendicazione 2, in cui detta determinazione della distorsione comprende: - calcolare un punto di bordo di riferimento, come il centroide delle coordinate orizzontali e verticali dei bordi deformati e dei bordi originali, o come la mediana delle coordinate orizzontali e verticali dei bordi deformati e dei bordi originali; - esprimere le coordinate del bordo originale e del bordo deformato rispetto al punto di riferimento corrispondente, ottenendo punti di bordo referenziati; - calcolare l’errore di deformazione per ogni punto del bordo prendendo la differenza tra le coordinate dei punti di bordo referenziati prima e dopo la deformazione.
- 4. Metodo secondo la rivendicazione 1, in cui detti passi di rilevare l’insieme di bordi deformati comprende un passo di rilevare le anomalie nelle coordinate dei bordi deformati, il quale prevede di: - confrontare la forma delle traiettorie dei bordi prima e dopo la deformazione per individuare eventuali anomale e brusche modificazioni del gradiente dei bordi prima e dopo la deformazione, calcolando la differenza del gradiente orizzontale e/o verticale dei bordi prima e dopo la deformazione; - detto gradiente orizzontale o verticale rappresentando rispettivamente gli incrementi delle coordinate orizzontali e verticali della traiettoria del bordo.
- 5. Metodo secondo la rivendicazione 4, in cui la modificazione di detto gradiente è ritenuta una modificazione brusca e anomala se il bordo deformato appare scollegato intorno al punto di bordo considerato.
- 6. Metodo secondo la rivendicazione 2 o 3, in cui detto passo di correggere detti bordi alterati comprende correggere la forma dei bordi deformati sottraendo l’errore di bordo dal bordo deformato, in modo da rafforzare la forma del bordo originale.
- 7. Metodo secondo la rivendicazione 6, in cui la correzione è applicata soltanto a quei bordi il cui errore complessivo è superiore a una soglia.
- 8. Metodo secondo la rivendicazione 1, in cui il passo di deformare i bordi originali è eseguito su un sottoinsieme dei bordi rilevati che dipende da almeno uno dei fattori seguenti: - criteri di qualità che devono essere soddisfatti nell’intero processo di correzione, come la qualità visiva o proprietà specifiche degli oggetti visivi o proprietà geometriche o vincoli applicativi specifici; - caratteristiche geometriche del bordo (come orientamento, linearità, curvatura, lunghezza); - posizione del bordo (come posizione nello spazio 3D, vicinanza al punto di vista della telecamera).
- 9. Metodo secondo la rivendicazione 4 o 5, in cui detto passo di correggere detti bordi alterati comprende correggere il bordo sottoponendo a smoothing quelle parti della traiettoria del bordo che sono state riconosciute come anomale.
- 10. Metodo secondo la rivendicazione 9, in cui per la correzione è previsto l’uso di un filtro di smoothing o un filtro di media o un filtro mediano non lineare.
- 11. Metodo secondo una qualsiasi delle rivendicazioni da 1 a 5, in cui detto passo di correggere detti bordi alterati comprende modificare una posizione di un pixel di un bordo alterato correggendo i valori anomali del gradiente deformato in base al gradiente del bordo originale applicato al pixel di bordo precedente o al suo vicinato.
- 12. Metodo secondo la rivendicazione 11, in cui dette identificazione e correzione tramite riferimento sono applicate in modo ricorsivo.
- 13. Metodo secondo una qualsiasi delle rivendicazioni da 1 a 5, in cui detto passo di correggere detti bordi alterati comprende determinare una funzione dei valori di gradiente dei bordi originali in prossimità del bordo deformato.
- 14. Metodo secondo la rivendicazione 13, in cui detta funzione dipende anche dalla somma delle coordinate di un pixel adiacente al punto del bordo deformato con il gradiente calcolato in detto punto.
- 15. Metodo secondo la rivendicazione 1, in cui i bordi corretti sono contenuti in un’immagine di vista deformata ottenuta deformando la almeno una vista originale secondo la mappa di profondità o disparità.
- 16. Metodo secondo la rivendicazione 15, comprendente ulteriormente un passo di rafforzamento dei bordi, in cui ulteriori valori di pixel posizionati in prossimità del bordo originale corrispondente ai bordi deformati vengono amalgamati in detta vista deformata in prossimità di detti bordi corretti.
- 17. Metodo secondo una qualsiasi delle rivendicazioni precedenti 1-16, comprendente ulteriormente il passo di rilevare bordi in un’altra immagine di vista originale del contenuto video tridimensionale per ottenere bordi rilevati in detta altra vista, in cui: - il passo di rilevare l’insieme di bordi deformati alterati dal processo di deformazione comprende accoppiare detti bordi deformati e i bordi rilevati in detta altra vista per individuarne la corrispondenza con lo stesso bordo del contenuto video tridimensionale e misurare l’alterazione prodotta dal processo di deformazione confrontando detti bordi deformati con i bordi rilevati in detta altra vista, e - il passo di correggere detti bordi alterati dipende da detti bordi rilevati in detta altra vista e da detta misurazione.
- 18. Metodo per la correzione dei bordi in un contenuto video tridimensionale, detto contenuto video comprendendo almeno due immagini di viste originali e almeno due mappe di profondità o disparità, il processo comprendendo: - eseguire il metodo secondo una qualsiasi delle rivendicazioni da 1 a 16 su una di dette almeno due viste originali; - eseguire il metodo secondo una qualsiasi delle rivendicazioni da 1 a 16 sull’altra di dette almeno due viste originali; in cui detto metodo è eseguito su dette viste originali consecutivamente una dopo l’altra e indipendentemente una dall’altra.
- 19. Metodo per la correzione dei bordi in un contenuto video tridimensionale, detto contenuto video comprendendo almeno due immagini di viste originali e almeno due mappe di profondità o disparità, il processo comprendendo: - eseguire il metodo secondo una qualsiasi delle rivendicazioni da 1 a 16 su una di dette almeno due viste originali; - eseguire il metodo secondo una qualsiasi delle rivendicazioni da 1 a 16 sui bordi dell’altra vista originale che non sono stati corretti durante il passo precedente.
- 20. Metodo per la correzione dei bordi in un contenuto video tridimensionale, detto contenuto video comprendendo almeno due immagini di viste originali e almeno due mappe di profondità o disparità, il processo comprendendo: - determinare quali bordi di detto contenuto video tridimensionale possono essere corretti applicando il metodo secondo una qualsiasi delle rivendicazioni da 1 a 16 a entrambe dette due immagini di viste originali, e; - applicare il metodo secondo una qualsiasi delle rivendicazioni da 1 a 16 ai bordi determinati durante il passo precedente.
- 21. Metodo secondo la rivendicazione 1, comprendente ulteriormente i passi di - determinare la profondità di detti bordi deformati nella mappa di profondità corrispondente; - calcolare gli scostamenti causati dal processo di deformazione su detti bordi deformati rispetto ai bordi originali sfruttando la relazione tra valori di profondità e disparità dei pixel dei bordi; - misurare l’errore di scostamento prodotto dal processo di deformazione rispetto a detti bordi originali; - determinare il valore di scostamento corretto dei bordi in base a detti errori di scostamento e a detti scostamenti; - determinare il valore di profondità corretto di detti bordi alterati sfruttando la relazione tra valori di profondità e disparità dei pixel dei bordi.
- 22. Metodo secondo la rivendicazione 21, in cui le profondità dei pixel vicini sono interpolate mediante un algoritmo di interpolazione della profondità.
- 23. Metodo per determinare la qualità di una mappa di profondità corrispondente a una vista originale relativa a un contenuto video tridimensionale, comprendente: - applicare un metodo secondo la rivendicazione 2 o 3 ai bordi di un’immagine di vista originale relativa a detto contenuto video tridimensionale per ottenere rispettivamente corrispondenti distorsioni dei bordi ed errori di deformazione, e - sommare rispettivamente dette distorsioni o errori di deformazione risultanti per detti bordi deformati secondo detta mappa di profondità.
- 24. Metodo per determinare la qualità di una mappa di profondità corrispondente a una vista originale relativa a un contenuto video tridimensionale, comprendente: - applicare un metodo secondo la rivendicazione 4 o 5 ai bordi di una vista originale relativa a detto contenuto video tridimensionale per ottenere corrispondenti differenze di gradiente orizzontale e/o verticale dei bordi prima e dopo la deformazione, e - sommare i valori assoluti di dette differenze di gradiente risultanti per detti bordi deformati secondo detta mappa di profondità.
- 25. Metodo secondo la rivendicazione 23 o 24, in cui i valori sommati sono ponderati con un fattore di ponderazione dipendente dalla lunghezza del bordo corrispondente.
- 26. Programma informatico comprendente mezzi di codifica di programma informatico atti a realizzare tutti i passi delle rivendicazioni da 1 a 25 quando detto programma viene eseguito su un computer.
- 27. Mezzo leggibile da computer sul quale è registrato un programma, detto mezzo leggibile da computer comprendendo mezzi di codifica di programma informatico atti a realizzare tutti i passi delle rivendicazioni da 1 a 25 quando detto programma viene eseguito su un computer.
- 28. Apparato di elaborazione video, comprendente - mezzi di input atti a ricevere almeno un’immagine di vista originale e almeno una mappa di profondità o disparità, e - mezzi di elaborazione di immagini atti a eseguire un metodo secondo una qualsiasi delle rivendicazioni da 1 a 22.
- 29. Apparato per la valutazione della qualità video, comprendente - mezzi di input atti a ricevere almeno un’immagine di vista originale e almeno una mappa di profondità o disparità, e - mezzi di elaborazione di immagini atti a eseguire un metodo secondo una qualsiasi delle rivendicazioni da 23 a 25.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT000784A ITTO20130784A1 (it) | 2013-09-30 | 2013-09-30 | Method and device for edge shape enforcement for visual enhancement of depth image based rendering |
GB1416853.8A GB2520162B (en) | 2013-09-30 | 2014-09-24 | Method and Device for edge shape enforcement for Visual Enhancement of depth Image based Rendering of a three-dimensional Video stream |
FR1459163A FR3011368B1 (fr) | 2013-09-30 | 2014-09-29 | Procede et dispositif pour le renforcement de la forme des bords pour l'amelioration visuelle du rendu base sur des images de profondeur d'un flux video en trois dimensions |
CN201410513891.0A CN104519348B (zh) | 2013-09-30 | 2014-09-29 | 用于三维视频流的边缘形状加强的方法及设备 |
DE102014114061.3A DE102014114061A1 (de) | 2013-09-30 | 2014-09-29 | Verfahren und Vorrichtung zum Verstärken der Form der Kanten zur visuellen Verbesserung des Rendering auf der Grundlage von Tiefenbildern eines dreidimensionalen Videostroms |
US14/500,768 US10049502B2 (en) | 2013-09-30 | 2014-09-29 | Method and device for edge shape enforcement for visual enhancement of depth image based rendering of a three-dimensional video stream |
KR20140131549A KR20150037668A (ko) | 2013-09-30 | 2014-09-30 | 3 차원 비디오 스트림의 심도 이미지 기반 렌더링의 시각적 개량을 위한 에지 형상 보강을 위한 방법 및 디바이스 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT000784A ITTO20130784A1 (it) | 2013-09-30 | 2013-09-30 | Method and device for edge shape enforcement for visual enhancement of depth image based rendering |
Publications (1)
Publication Number | Publication Date |
---|---|
ITTO20130784A1 true ITTO20130784A1 (it) | 2015-03-31 |
Family
ID=49725281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
IT000784A ITTO20130784A1 (it) | 2013-09-30 | 2013-09-30 | Method and device for edge shape enforcement for visual enhancement of depth image based rendering |
Country Status (7)
Country | Link |
---|---|
US (1) | US10049502B2 (it) |
KR (1) | KR20150037668A (it) |
CN (1) | CN104519348B (it) |
DE (1) | DE102014114061A1 (it) |
FR (1) | FR3011368B1 (it) |
GB (1) | GB2520162B (it) |
IT (1) | ITTO20130784A1 (it) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014082541A (ja) * | 2012-10-12 | 2014-05-08 | National Institute Of Information & Communication Technology | 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置 |
KR102272254B1 (ko) * | 2015-02-13 | 2021-07-06 | 삼성전자주식회사 | 위상 검출 픽셀을 이용하여 깊이 맵을 생성하기 위한 영상 생성 장치 |
US9767363B2 (en) * | 2015-10-30 | 2017-09-19 | Google Inc. | System and method for automatic detection of spherical video content |
US10372968B2 (en) | 2016-01-22 | 2019-08-06 | Qualcomm Incorporated | Object-focused active three-dimensional reconstruction |
CN106127250A (zh) * | 2016-06-24 | 2016-11-16 | 深圳市唯特视科技有限公司 | 一种基于三维点云数据的人脸质量评估方法 |
CN107180427B (zh) * | 2017-06-07 | 2020-06-16 | 北京工业大学 | 基于自回归局部图像描述的3d合成图像质量评价方法 |
US10432944B2 (en) | 2017-08-23 | 2019-10-01 | Avalon Holographics Inc. | Layered scene decomposition CODEC system and methods |
CN110351548B (zh) * | 2019-06-27 | 2020-12-11 | 天津大学 | 一种深度学习及视差图加权指导的立体图像质量评价方法 |
US11310475B2 (en) * | 2019-08-05 | 2022-04-19 | City University Of Hong Kong | Video quality determination system and method |
KR102304345B1 (ko) * | 2019-10-14 | 2021-09-23 | 에스케이텔레콤 주식회사 | 가상 공간에서 영상을 처리하기 위한 전자 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 |
TWI736335B (zh) * | 2020-06-23 | 2021-08-11 | 國立成功大學 | 基於深度影像生成方法、電子裝置與電腦程式產品 |
CN114827569B (zh) * | 2022-04-24 | 2023-11-10 | 咪咕视讯科技有限公司 | 画面显示方法、装置、虚拟现实设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010009291A1 (de) * | 2010-02-25 | 2011-08-25 | Expert Treuhand GmbH, 20459 | Verfahren und Vorrichtung für ein anatomie-adaptiertes pseudoholographisches Display |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6215841B1 (en) * | 1998-09-29 | 2001-04-10 | General Electric Company | Methods and apparatus for 3D artifact reduction |
US8059911B2 (en) * | 2008-09-30 | 2011-11-15 | Himax Technologies Limited | Depth-based image enhancement |
WO2011013079A1 (en) * | 2009-07-30 | 2011-02-03 | Primesense Ltd. | Depth mapping based on pattern matching and stereoscopic information |
CN101631256B (zh) * | 2009-08-13 | 2011-02-09 | 浙江大学 | 用于三维电视系统中2d视频到3d视频的转换方法 |
WO2012098607A1 (ja) * | 2011-01-19 | 2012-07-26 | パナソニック株式会社 | 立体画像処理装置および立体画像処理方法 |
CN102985952B (zh) * | 2011-05-12 | 2016-06-22 | 松下知识产权经营株式会社 | 图像生成装置及图像生成方法 |
US9401039B2 (en) | 2011-07-01 | 2016-07-26 | Panasonic Intellectual Property Management Co., Ltd. | Image processing device, image processing method, program, and integrated circuit |
JP5820716B2 (ja) * | 2011-12-15 | 2015-11-24 | シャープ株式会社 | 画像処理装置、画像処理方法、コンピュータプログラム、記録媒体、立体画像表示装置 |
CN102724529B (zh) | 2012-05-28 | 2014-08-06 | 清华大学 | 虚拟视点视频序列的生成方法及生成装置 |
-
2013
- 2013-09-30 IT IT000784A patent/ITTO20130784A1/it unknown
-
2014
- 2014-09-24 GB GB1416853.8A patent/GB2520162B/en active Active
- 2014-09-29 DE DE102014114061.3A patent/DE102014114061A1/de active Pending
- 2014-09-29 CN CN201410513891.0A patent/CN104519348B/zh active Active
- 2014-09-29 FR FR1459163A patent/FR3011368B1/fr active Active
- 2014-09-29 US US14/500,768 patent/US10049502B2/en active Active
- 2014-09-30 KR KR20140131549A patent/KR20150037668A/ko not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010009291A1 (de) * | 2010-02-25 | 2011-08-25 | Expert Treuhand GmbH, 20459 | Verfahren und Vorrichtung für ein anatomie-adaptiertes pseudoholographisches Display |
Non-Patent Citations (2)
Title |
---|
MUHAMMAD SHAHID FARID ET AL: "Edges shape enforcement for visual enhancement of depth image based rendering", 2013 IEEE 15TH INTERNATIONAL WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING (MMSP), 1 September 2013 (2013-09-01), pages 406 - 411, XP055127701, ISBN: 978-1-47-990125-8, DOI: 10.1109/MMSP.2013.6659323 * |
WAN-YU CHEN ET AL: "Efficient Depth Image Based Rendering with Edge Dependent Depth Filter and Interpolation", 2005 IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA AND EXPO, 1 January 2005 (2005-01-01), pages 1314 - 1317, XP055127703, ISBN: 978-0-78-039331-8, DOI: 10.1109/ICME.2005.1521671 * |
Also Published As
Publication number | Publication date |
---|---|
US10049502B2 (en) | 2018-08-14 |
DE102014114061A9 (de) | 2015-07-23 |
FR3011368B1 (fr) | 2017-11-24 |
US20150091899A1 (en) | 2015-04-02 |
GB2520162B (en) | 2015-11-18 |
CN104519348B (zh) | 2019-05-10 |
CN104519348A (zh) | 2015-04-15 |
GB2520162A (en) | 2015-05-13 |
KR20150037668A (ko) | 2015-04-08 |
FR3011368A1 (fr) | 2015-04-03 |
GB201416853D0 (en) | 2014-11-05 |
DE102014114061A1 (de) | 2015-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ITTO20130784A1 (it) | Method and device for edge shape enforcement for visual enhancement of depth image based rendering | |
JP4887374B2 (ja) | ステレオビジョンにおいて散乱視差場を求める方法 | |
US9070042B2 (en) | Image processing apparatus, image processing method, and program thereof | |
Zhuang et al. | Rolling-shutter-aware differential sfm and image rectification | |
JP6016061B2 (ja) | 画像生成装置、画像表示装置及び画像生成方法並びに画像生成プログラム | |
Ahn et al. | A novel depth-based virtual view synthesis method for free viewpoint video | |
RU2504010C2 (ru) | Способ и устройство заполнения зон затенения карты глубин или несоответствий, оцениваемой на основании по меньшей мере двух изображений | |
JP6663652B2 (ja) | ステレオソース映像の補正方法及びその装置 | |
EP2570990A1 (en) | Apparatus and method for determining a confidence value of a disparity estimate | |
KR20120014876A (ko) | 영상 처리 장치 및 방법 | |
Bosc et al. | An edge-based structural distortion indicator for the quality assessment of 3D synthesized views | |
US11558625B2 (en) | Method for generating residual image of multi-view video and apparatus using the same | |
CN104537627B (zh) | 一种深度图像的后处理方法 | |
CN104144334A (zh) | 用于立体视频内容的字幕检测 | |
CN102622768A (zh) | 一种平面视频的深度图求取方法 | |
KR20170047780A (ko) | 적응적 윈도우 마스크를 이용하는 로우 코스트 계산장치 및 그 방법 | |
Farid et al. | Edge enhancement of depth based rendered images | |
Sjöström et al. | Improved depth-image-based rendering algorithm | |
Farid et al. | Edges shape enforcement for visual enhancement of depth image based rendering | |
Liu et al. | Hole-filling based on disparity map and inpainting for depth-image-based rendering | |
RU2580466C1 (ru) | Устройство восстановления карты глубины сцены | |
Robert et al. | Disparity-compensated view synthesis for s3D content correction | |
CN103632365A (zh) | 一种立体图像视差估计方法 | |
Wei et al. | Iterative depth recovery for multi-view video synthesis from stereo videos | |
Hess-Flores et al. | Ray divergence-based bundle adjustment conditioning for multi-view stereo |