ITUB20153912A1 - Metodi e apparati per codificare e decodificare immagini digitali mediante superpixel - Google Patents

Metodi e apparati per codificare e decodificare immagini digitali mediante superpixel Download PDF

Info

Publication number
ITUB20153912A1
ITUB20153912A1 ITUB2015A003912A ITUB20153912A ITUB20153912A1 IT UB20153912 A1 ITUB20153912 A1 IT UB20153912A1 IT UB2015A003912 A ITUB2015A003912 A IT UB2015A003912A IT UB20153912 A ITUB20153912 A IT UB20153912A IT UB20153912 A1 ITUB20153912 A1 IT UB20153912A1
Authority
IT
Italy
Prior art keywords
pixels
image
superpixel
group
groups
Prior art date
Application number
ITUB2015A003912A
Other languages
English (en)
Inventor
Giulia Fracastoro
Enrico Magli
Original Assignee
Sisvel Tech S R L
Torino Politecnico
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sisvel Tech S R L, Torino Politecnico filed Critical Sisvel Tech S R L
Priority to ITUB2015A003912A priority Critical patent/ITUB20153912A1/it
Priority to US15/762,496 priority patent/US10616603B2/en
Priority to EP16781200.7A priority patent/EP3354030B1/en
Priority to CN201680055404.8A priority patent/CN108028941B/zh
Priority to PCT/IB2016/055684 priority patent/WO2017051358A1/en
Publication of ITUB20153912A1 publication Critical patent/ITUB20153912A1/it

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2323Non-hierarchical techniques based on graph theory, e.g. minimum spanning trees [MST] or graph cuts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/7635Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks based on graphs, e.g. graph cuts or spectral clustering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Discrete Mathematics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Description

SVT067
Descrizione tradotta in lingua italiana dell'Invenzione Industriale dal titolo:
“METODI E APPARATI PER CODIFICARE E DECODIFICARE IMMAGINI DIGITALI MEDIANTE SUPERPIXEL”
A nome di Sisvel Technology, di nazionalità Italiana, con sede in Via Castagnole, 59 - 10060 None (TO), ed elettivamente domiciliata, ai fini del presente incarico, presso Ì Mandatari Mirco BIANCO (No. Iscr. Albo 1639B), Filippo FERRONI (No. Iscr. Albo 530BM), Marco CAMOLESE (No. Iscr. Albo 882BM), Giancarlo REPOSIO (No. Iscr. Albo 1168BM), Corrado BORSANO (No. Iscr. Albo 446 BM), Matteo BARONI (No. Iscr. Albo 1064 BM) e Giovanni ZELIOL1 (No. Iscr. Albo 1536B) c/o Metroconsult Genova S.r.l., Via Pai estro 5/2, 16122 GENOVA (GE).
Inventori designati:
- Giulia FRACASTORO,di nazionalità italiana, residente in Via Alpignano 8, Torino, Italia;
- Enrico MAGLI, di nazionalità italiana, residente in Via Ferrante Aporti 28, 10131 Torino, Italia,
DESCRIZIONE:
CAMPO DELL INVENZIONE
La presente invenzione riguarda il settore della codifica di immagini e video digitali. In particolare, la presente invenzione descrive un metodo e un sistema per comprimere e decomprimere immagini, specialmente immagini naturali, in modo tale che esse possano essere inviate su canali a larghezza di banda limitata o memorizzate su supporti aventi capacità limitata.
PROBLEMA AFFRONTATO DALL’INVENZIONE
Il problema affrontato dalla presente invenzione consiste nel codificare immagini e sequenze video, anch’esse composte da immagini.
La maggior parte delle tecniche esistenti si affida, quale strumento di codifica di base, su una trasformata a blocchi nota come trasformata coseno-discreta (DCT, Discrete Cosine Tran sforni), come avviene, ad esempio, nei vari standard di codifica JPEG e MPEG. L’immagine viene suddivisa in blocchi di forma quadrata, e quindi viene applicata la DCT a ciascun blocco (eventualmente adattando le dimensioni del blocco alle caratteristiche dell’immagine), il quale nel più semplice dei casi viene poi codificato e decodificato in modo indipendente (schemi di compressione più avanzati possono comprendere la predizione dei blocchi intra-frame e inter-frame per migliorare ulteriormente le prestazioni del codec).
La DCT ha ricevuto ampio consenso nel campo della codifica delle immagini perché essa possiede l’apprezzabile proprietà di tendere a raggruppare i coefficienti di trasformazione percepiti come più significativi (ossia a compattare l’energia del segnale) nella parte superiore sinistra della matrice dei coefficienti di trasformazione, consentendo l’applicazione di efficienti schemi di compressione come la quantizzazione non uniforme, la scansione a zig-zag dei coefficienti e la codifica entropica degli stessi. Naturalmente l’effettiva capacità della DCT di compattare l’energia nel segnale dipende dalla semantica del particolare blocco di immagine codificato. Blocchi omogenei (ad esempio, blocchi che rappresentano la superficie regolare di un oggetto) sono preferibili perché danno matrici di coefficienti di trasformazione con meno coefficienti significativi, e sono quindi più semplici da codificare, senza produrre artefatti da ricostruzione allorquando vengono recuperati dal decodificatore. Al contrario, blocchi contenenti discontinuità (ad esempio, la giunzione tra oggetti di diverso colore, testo, ecc.) danno luogo a matrici di coefficienti di trasformazione in cui i coefficienti significativi non sono limitati a un’area della matrice e possono quindi produrre significativi artefatti da ricostruzione al momento della loro decodifica.
Nonostante le moderne tecnologie di codifica abbiano in qualche modo affrontato questo problema adattando le dimensioni di ciascun blocco alle caratteristiche dell’immagine, la forma quadrata predefìnita dei blocchi rappresenta uno dei maggiori limiti della DCT, in quando esiste la probabilità che nei blocchi siano presenti alcune discontinuità, causando artefatti da ricostruzione nell’immagine decodificata, come mostrato in Fig, 13.
La presente invenzione supera questo limite della codifica a blocchi delle immagini attraverso un approccio completamente differente, noto come trasformata di grafo.
La trasformata di grafo può essere vista come una generalizzazione della trasformata a blocchi (oppure, al contrario, la trasformata a blocchi può essere considerata uno speciale caso di trasformata di grafo). L’immagine (o un suo sottoinsieme) può essere rappresentata come un grafo di nodi collegati da bordi a cui è associato un peso (detto anche bordo pesato): ogni nodo è un pixel dell’immagine, e ogni bordo pesato tra due nodi descrive la similarità tra i pixel (ad esempio, nello spazio colore a scala di grigi). Ad esempio, due pixel appartenenti alla stessa regione uniforme corrispondente alla superfìcie interna di un oggetto saranno simili, e quindi saranno collegati nel grafo da un bordo avente un peso elevato. Al contrario, due pixel appartenenti a oggetti diversi saranno probabilmente dissimili e saranno collegati nel grafo da un bordo avente un peso ridotto. Tipicamente, ai fini della compressione delle immagini considerata in questa invenzione, ogni pixel deirimmagine sarà collegato soltanto a un sottoinsieme degli altri pixel nell' immagine (normalmente i quattro pixel adiacenti sopra, sotto, a sinistra e a destra), e quindi i bordi corrispondenti avranno un peso non nullo. Ogni pixel sarà invece scollegato da tutti gli altri pixel nelFimmagine, cosicché il peso dei bordi corrispondenti potrà convenzionalmente essere impostato a 0 in quanto, secondo una forma di realizzazione dell’ invenzione, la similarità o la dissimilarità rispetto a tali pixel sarà indefinita.
Uno dei vantaggi della trasformata di grafo consiste nel fatto che essa può essere applicata ad aree dell’immagine di forma ed estensione arbitrarie, le quali possono poi essere codificate e decodificate in modo indipendente.
Avendo illustrato in che modo un’immagine può essere rappresentata come un grafo in cui i nodi sono i pixel e i bordi che collegano i nodi sono pesati in funzione della similarità tra i pixel, si mostrerà ora, con riferimento alla Fig. 1, un’architettura tipica di codifìca-decodifica di immagini basata su grafi in termini di unità funzionali di base. Per semplicità, si consideri un’immagine f (o un blocco della stessa) composta da N pixel. Ad esempio, si assuma che f sia un blocco dÌ N = 32 x 32 = 1024 pixel, in modo tale che ogni pixel del blocco sia indicizzato come
{f_, . . . , f}-} , ad esempio in ordine di scansione raster (con le righe scansionate per prime). Ne consegue che f può essere rappresentata dalla cosiddetta matrice di pesi W, che è una matrice N x N in cui ogni elemento rappresenta la similarità tra f e ri . Le caratteristiche di W sono ciò che maggiormente determina il tassodistorsione di qualsiasi schema di codifica basato su grafi. L’oggetto della presente invenzione consiste quindi in un metodo per suddividere l’immagine in blocchi, in modo tale che la matrice di pesi W di ciascun blocco f abbia caratteristiche desiderabili ai fini della compressione dell’immagine.
La Fig, 1 illustra una coppia codificatore-decodificatore di immagini di riferimento secondo l’arte nota, basata sulla trasformata di grafo applicata a blocchi di immagine quadrati, la quale è strumentale ai fini della comprensione del problema relativo alla trasmissione o memorizzazione della matrice di pesi W.
Il dispositivo codificatore 150 è composto almeno da un'unità di generazione di grafi dei pesi 100, un’unità laplaciana di grafo 110 e un’unità di trasformazione grafica 120, come rappresentato nella parte superiore di Fig. 1.
L’unità di generazione di grafi dei pesi 100 riceve in ingresso un’immagine di N pixel f, o un blocco della stessa, e genera la matrice di pesi W di dimensioni N x N, che viene calcolata come segue. Si assume che d,^ rappresenti la distanza nello spazio della scala di grigi tra l’i-esimo pixel E e il j-esimo pixel f, dell’immagine f; ad esempio, d; Tpuò essere calcolata come la differenza assoluta tra i valori dei pixel fLe f :
di;, = k - f\
SÌ assume inoltre che ciascun elemento della matrice di pesi W* sia calcolato con la fonnula seguente:
1
1 di' ,
i ε N Λ 0 < i < N (1)
i e N Λ 0 ≤ j < N
Risulterà quindi che il valore del peso dell’arco di grafo che collega i pixel f:e f , ossia iV: sarà prossimo a 1 (peso dell’arco “alto”) se f e _f;sono pixel simili, mentre w sarà prossimo a 0 (peso dell’arco “basso”) se f:e f, sono dissimili.
L’unità laplaciana di grafo 110 genera una matrice di trasformazione U e riceve in ingresso la matrice di pesi W*. Questa unità è configurata per leggere W* e calcolare una matrice diagonale E avente dimensioni N χ N tali per cui l’i-esimo elemento della sua diagonale sia uguale alla somma di tutti i pesi di tutti gli archi incidenti nell’i-esimo pixel come descritto in W*; ne consegue che E sarà definita in notazione matriciale come segue:
E = (W * -Vlf<■>I,:
VI G R<">'<'>A (Vx G N, 1 ≤ X < N \ VlXil= l)
I, ≡ FT<,:;>A (rv= dia g(l, 1, . . . , l))
Dopo aver calcolato almeno una parte della matrice diagonale E, Punita calcola la matrice L (avente dimensioni N x N) come differenza tra la matrice diagonale E e la matrice di pesi W*, ossia la matrice L il laplaciano di W*. Questo passo di calcolo può essere riassunto in notazione matriciale come segue.
L = D - W<">
Infine Γ unità calcola la matrice U di dimensioni N >< N, nota come matrice di trasformazione, in cui le righe di U sono gli autovettori di L, ossia le righe di U sono Ì vettori che consentono di diagonalizzare L.
L’unità di trasformazione grafica 120 riceve in ingresso Γ immagine f (che viene considerata come un vettore avente N x 1 coefficienti) e la matrice di trasformazione U, e calcola il vettore di N x 1 coefficienti f<">mediante la moltiplicazione di matrice
f<">= U · f
Il codificatore quindi trasmette la matrice di trasformazione U (oppure, in alternativa, la matrice di pesi W* da cui U può essere calcolata) e il vettore di coefficienti £ al nodo ricevitore su un canale a larghezza di banda limitata oppure li memorizza su un supporto di memoria per uso futuro, ad esempio a scopo di decodifica.
Il decodificatore 170 comprende almeno un’unità laplaciana di grafo 110 e un’unità di trasfonn azione inversa di grafo 180 configurata per leggere, da un dispositivo di memorizzazione o attraverso un canale di comunicazione, sia la matrice di pesi W sia il vettore di coefficienti £ . Per semplicità si assumerà che sia W* sia f<">fomiti ai decodificatori 170 siano identici a quelli generati dai codificatori 150, in quanto nelle applicazioni pratiche si adottano misure adeguate per minimizzare gli errori di lettura/scrittura o di canale che si verificano durante il trasferimento delle informazioni dal codificatore al decodificatore.
L’unità laplaciana di grafo 1 10, che è funzionalmente analoga alla controparte lato trasmettitore, riceve in ingresso la matrice di pesi W* e genera la matrice di trasformazione U come precedentemente descritto per la controparte di codifica.
L’unità di trasformazione inversa di grafo 180 riceve in ingresso U e r e recupera l’immagine originale f. Per far questo, V unità 180 traspone internamente la matrice U generando la matrice di trasformazione trasposta N >< N ir , dopodiché l’unità recupera l’immagine originale f attraverso la seguente moltiplicazione di matrice:
f u<: ■>f
Le prestazioni del suddetto schema di codifica e decodifica di immagini basato sulla trasformata di grafo, in termini sia di qualità dell’immagine sia di tasso di codifica, sono correlate con le caratteristiche dell’immagine f o dei blocchi in cui l’immagine è suddivisa. Nel caso più semplice, l’immagine è codificata interamente come un singolo blocco f che racchiude tutti i pixel dell’immagine. Siccome le tipiche immagini naturali contengono con molta probabilità vari elementi con diverse trame, la corrispondente matrice di pesi W avrà molti elementi non nulli, mentre la corrispondente matrice di trasformazione f<A>presenterà numerose componenti ad alta frequenza diverse da zero. Ciò determinerà un aumento del tasso di codifica e produrrà artefatti da ricostruzione presso il decodificatore, che saranno ovviamente indesiderati.
In un caso più pratico, la trasformata di grafo può essere applicata a blocchi dell’immagine codificati e decodificati in modo indipendente. Ad esempio, la trasformata di grafo può essere applicata a blocchi quadrati di dimensioni fisse come in altri standard di codifica JPEG/MPEG. Sebbene questo approccio presenti il vantaggio di essere facilmente comprensibile e semplice da realizzare, esso soffre dello stesso problema dei codec JPEG/MPEG, ossia è probabile che i blocchi quadrati siano attraversati da discontinuità.
Ne consegue quindi che è di massima importanza che l’immagine sia suddivisa in aree di codifica tali che le discontinuità vengano lasciate fuori da tali aree. Chiaramente, se le aree di codifica hanno dimensioni fisse (ad esempio, quadrate), non si può evitare che in ogni blocco si ritrovino alcune discontinuità, con gli effetti indesiderati sopra descritti. Un altro problema dell’architettura di riferimento illustrata in Fig. 1 è la necessità di trasmettere la matrice di pesi W al decodificatore e il conseguente aumento del bit-rate. Dato che la matrice di pesi rappresenta la similarità tra i pixel, le aree di codifica non omogenee produrranno matrici di pesi non sparse, che richiederanno più bit per la loro codifica anche in caso di utilizzo di schemi di codifica predittivi perla rappresentazione dei valori matriciali.
La presente invenzione descrive quindi, tra l’altro, un metodo e un sistema per suddividere l’immagine da codificare in aree di codifica ottimali, in modo tale che la trasformata di grafo possa essere applicata in modo indipendente ad ogni area di codifica, dove ciascuna area di codifica include poche o nessuna discontinuità, evitando così i problemi posti dalle aree di codifica di forma quadrata.
DESCRIZIONE DELL’ARTE NOTA
La trasformata coseno discreta (DCT) è la trasformata più comunemente utilizzata per la compressione a blocchi di immagini e video (v. K. Sayood, Tntroduction to data compression,, Newnes, 2012); la DCT è in effetti alla base dei più popolari standard di codifica video, come MPEG-2 (utilizzato, ad esempio, perla diffusione terrestre e satellitare di video a definizione standard e nel formato di memorizzazione su DVD), H.264/AVC (utilizzato per la diffusione di video ad alta definizione, streaming su reti IP e nei dischi Blu-Ray), e il recentemente standardizzato H.265/HEVC (che si prevede sostituirà H.264/AVC nei suddetti scenari)
Uno dei principali svantaggi della DCT è dato dal fatto che, quando un blocco contiene bordi che non sono né orizzontali né verticali, i coefficienti di trasformazione risultanti non sono sparsi e i coefficienti ad alta frequenza possono presentare una notevole ampiezza. Ciò comporta un elevato bit-rate oppure la presenza di artefatti da ricostruzione intorno ai bordi. Recentemente è stato proposto l’approccio basato su grafi, secondo il quale dati altamente dimensionali risiedono naturalmente ai vertici di grafi e possono essere visualizzati come una raccolta finita di campioni definiti come segnali di grafo, con un campione ad ogni vertice del grafo (v, D.I. Shuman, S.K. Narang, P. Frossard, A, Ortega, and P. Vandergheynst, '‘The emerging field of signal processing on graphs: Extending high-dimensional data analysis to networks and other irregular doni ai ns,” Signal Processing Magaline, IEEE, voi. 30, no. 3, pp. 83-98, 2013). Nel corso degli ultimi anni i ricercatori hanno studiato come applicare le tecniche classiche di elaborazione dei segnali nel dominio dei grafi. Si sono quindi sviluppate tecniche per filtrare, tradurre, modulare e sottocampi onare nel dominio dei grafi. Sono anche state proposte varie trasformate di grafo, come la trasformata di Fourier di grafo (G, Taubin, “A signal processing approach to fair surface design”, in Proceedings of thè 22nd cmmtal conference on Computer graphics and Interactive techniques, ACM, 1995, pp. 351-358).
In generale, sebbene le trasformate grafiche appaiano più efficienti delle convenzionali trasformate basate su blocchi, l’onere della trasmissione dei grafi può facilmente superare i benefìci in tenni ni di efficienza di codifica. E’ quindi molto importante progettare rappresentazioni grafiche e corrispondenti trasformate grafiche che risultino efficienti anche quando il grafo deve essere trasferito a un decodificatore.
Sandryhaila et al. in “Nearest-neighbor image model”, pubblicato in JCIP 20Ì2 proceedings , propongono di rappresentare un’immagine sotto forma di grafo di nodi e archi, in cui i pesi degli archi sono determinati in modo tale da minimizzare la distorsione prevista presso il ricevitore. Tuttavia tale studio non illustra come comprimere i pesi del grafo, rendendo difficoltosa l’applicazione di questa tecnica in un ambiente reale.
Nella domanda di brevetto statunitense no. US 2011/206288 Al, Ortega et al. descrivono un sistema di codifica e decodifica di immagini che utilizza una predizione di pixel basata su grafi. Questo documento insegna a codificare e decodificare immagini attraverso una selezione di prediti ori, ma non illustra come comprimere il pesi del grafo, rendendo così questa tecnica difficilmente applicabile in un ambiente reale.
Kim, Narang e Ortega in "Graph based transfonns for depth video coding”, pubblicato in ICASSP 2012 proceedings , propongono di individuare la matrice di adiacenze ottimale e di comprimerla utilizzando una codifica aritmetica binaria adattiva basata sul contesto seguendo un ordine fisso; tuttavia anche questo lavoro non insegna a comprimere i pesi del grafo, rendendo questa tecnica difficilmente applicabile in un ambiente reale.
Narang, Chao e Ortega in “Critically sampled graph -based wavelet transforms for ìmage coding’<'>, pubblicato in APSIPA 20 ì 3 proceedings,,propongono di codificare l’immagine sotto forma di un grafo binario non pesato e di codificarlo utilizzando JBIG di dimensioni (2 N — l) x (N - l), in cui N è il numero di pixel neirimmagine originale. Questo schema di codifica produce immagini aventi un elevato livello di rumore di codifica, in quanto il grafo binario non pesato limita la quantità di informazioni codificabili. La presente invenzione sfrutta anche la predizione inter-pixel per aumentare il rapporto di compressione, consentendo dunque una doppia riduzione del tasso di codifica dell’immagine rispetto all’approccio proposto da Ortega,
BREVE DESCRIZIONE DELL’INVENZIONE
La presente invenzione intende risolvere questi e altri problemi indicando un metodo e un apparato per suddividere un’immagine in aree di codifica omogenee di forma arbitraria, in modo tale che ogni area sia semplice da codificare, consentendo una rappresentazione basata su grafi efficiente in termini di larghezza di banda.
DÌ seguito si descriverà l’idea alla base della presente invenzione.
Innanzitutto l’immagine viene segmentata in aree omogenee denominate “superpixel” utilizzando tecniche esistenti di segmentazione di immagini; la tecnica di segmentazione ideale è tale per cui i segmenti ottenuti aderiscono esattamente alle discontinuità deirimmagine e racchiudono poche discontinuità deirimmagine. I pixel appartenenti ai superpixel formano una regione collegata di forma arbitraria deirimmagine di input; la posizione e l’appartenenza dei pixel a un determinato superpixel e la posizione dei superpixel all’interno deirimmagine sono rappresentate sotto forma di specifiche informazioni su bordi o di forma.
Successivamente i segmenti così individuati vengono iterativamente raggruppati in superpixel più grandi fino a soddisfare un requisito predeterminato sul risultante insieme di superpixel; tale requisito può essere, ad esempio, un bit-rate di codifica dell’immagine desiderato o un compromesso ottimale del tasso di distorsione. Le dimensioni e il numero dei superpixel determinano infatti il compromesso tra accuratezza della segmentazione e il bitrate complessivo richiesto per codificare il segmento in termini di tasso di coefficienti di trasformazione. Un altro requisito può essere relativo al numero totale di superpixel oppure, analogamente, al numero medio di pixel ritenuto ottimale.
In seguito si esegue una trasformata di grafo come la trasformata di Fourier grafica (GFT) in modo individuale e indipendente su ciascun superpixel dell’insieme.
In conseguenza di questo modo di codificare l’immagine, all’unità di decodifica viene trasmessa la forma dei superpixel, in una qualche forma codificata, in sostituzione della matrice di pesi, come avviene invece nell’architettura di riferimento di Fig. 1, insieme con i coefficienti di trasformazione dei superpixel (cfr. Fig. 2). Infatti, i superpixel sono internamente omogenei, per cui la loro corrispondente matrice di pesi può essere approssimata da un valore costante, che permette di inviare al decodificatore la forma dei superpixel, ad esempio sotto forma di bordo, anziché l’intera matrice di pesi come nell’architettura di riferimento di Fig. 1. Inoltre il bordo del superpixel può essere codificato come un’immagine in bianco e nero che può essere compressa con metodi esistenti per la compressione di immagini monocromatiche, in tal modo incrementando ulterionnente l’efficienza di codifica. In aggiunta, i superpixel, essendo omogenei, producono perlopiù coefficienti di trasformazione che sono con molta probabilità prossimi a zero per le alte frequenze, contribuendo a ridurre il bit-rate di codifica complessivo necessario per memorizzare Γ immagine o trasmetterla su un canale.
Presso il sito di decodifica vengono innanzitutto acquisite le informazioni di suddivisione dell’ imm agi ne in superpixel, insieme con i relativi coefficienti trasformati mediante la GFT. Successivamente ciascun superpixel viene sottoposto individualmente e indipendentemente a trasformazione grafica inversa dal dominio di frequenza al dominio spaziale, ad esempio con la trasformata di Fourier grafica inversa, sulla base dei coefficienti GFT acquisiti; l’immagine originale viene poi riassemblata collocando i pixel ricostruiti dei superpixel nella loro posizione originale sulla base delle corrispondenti informazioni di suddivisione che mappano i pixel dei superpixel nelle rispettive posizioni all’ interno dell’immagine.
BREVE DESCRIZIONE DEI DISEGNI
Le caratteristiche e altri vantaggi della presente invenzione risulteranno chiari alla luce della descrizione che segue di una forma di realizzazione illustrata nei disegni allegati, fomiti puramente a titolo di esempio non limitativo, in cui:
La Fig. 1 mostra uno schema a blocchi di una tipica e nota architettura di codifica-decodifica di immagini basata sulla trasformata di grafo che utilizza unità base di codifica aventi forma fissa (ad esempio, quadrata);
La Fig. 2 mostra uno schema a blocchi che descrive l’architettura concettuale complessiva di uno schema di codifica e decodifica di immagini realizzato secondo la presente invenzione. In particolare, la Fig, 2(a) mostra uno schema a blocchi di una forma di realizzazione dell’architettura di codifica-decodifìca di immagini basata sulla trasfonnata di grafo secondo la presente invenzione, in cui ogni superpixel è codificato in modo indipendente. Complementarmente, la Fig. 2(b) mostra uno schema a blocchi di una forma di realizzazione dell’architettura di decodifica di immagini basata sulla trasformata di grafo secondo la presente invenzione, in cui ogni superpixel codificato viene decodificato in modo indipendente.
La Fig, 3 mostra (a) un’immagine naturale campione con vari oggetti nella scena, (b) la mappa dei superpixel deirimmagine in uscita dall' algoritmo di segmentazione immagini SLIC, (c) la mappa dei superpixel migliorata prodotta dall' algoritmo di raggruppamento illustrato nella presente descrizione.
La Fig. 4 mostra un diagramma di flusso che esemplifica nella sua interezza una forma di realizzazione della tecnica di codifica secondo l’invenzione.
La Fig. 5 è un diagramma dì flusso che illustra una forma di realizzazione qui descritta delle fasi iniziali di segmentazione delFimmagine e di codifica dei risultanti superpixel. In particolare, nella forma di realizzazione considerata si codifica in modo indipendente ogni bordo e ogni trama dei superpixel generati dalla segmentazione. Tale insieme di superpixel è indicato con £ e rappresenta inizialmente la migliore soluzione disponibile.
La Fig. 6 è un diagramma di flusso che illustra una forma di realizzazione del raggruppamento iterativo di superpixel qui descritto, che segue la segmentazione e la codifica iniziali. In particolare, nella forma di realizzazione considerata vengono aggregate iterativamente coppie di superpixel fino al raggiungimento di un bit-rate complessivo ottimale sull’intera immagine.
La Fig. 7(a) mostra un’immagine f molto semplice composta da una griglia di soli 3x3 pixel, attraversata da una discontinuità diagonale che si estende dall’angolo superiore sinistro all’angolo inferiore destro. La Fig, 7(b) mostra i pixel deH’immagine numerati in ordine di scansione raster da 1 a 9, 1 pixel 1,2, 3, 5, 6, 9 appartengono allo stesso superpixel e sono indicati in nero. La Fig, 7(c) mostra la matrice di pesi W corrispondente al superpixel illustrato in Fig, 7(b), calcolata secondo lo schema mostrato in Fig. I l, La Fig, 7(d) mostra i 6 pixel che compongono il superpixel, disposti in ordine di scansione raster sotto forma di vettore di 6 pixel.
La Fig. 8 mostra tre possibili casi di adiacenza di pixel in un’immagine di 3x3 pixel. In Fig. 8(a), il pixel di riferimento (nero) è posizionato al centro dell’immagine e si considera che esso abbia 4 adiacenze sopra, a sinistra, sotto e a destra (grigio scuro); i rimanenti 4 pixel non sono considerati adiacenze del pixel di riferimento (grigio chiaro). In Fig. 8(b), il pixel di riferimento (nero) è posizionato su un bordo deirimmagine e ha 3 adiacenze sopra, sotto e a destra (grigio scuro); i rimanenti 5 pixel non sono considerati adiacenze del pixel di riferimento (grigio chiaro). In Fig. 8(c), il pixel di riferimento (nero) è posizionato in un angolo dell’ imm agi ne e ha 2 adiacenze sotto e a destra (grigio scuro); i rimanenti 6 pixel non sono considerati adiacenze del pixel di riferimento (grigio chiaro).
La Fig. 9 mostra due possibili modi di rappresentare la forma di un determinato superpixel P' in termini di superpixel appartenenti ad esso (a) o dei pixel disposti lungo il suo bordo (b).
La Fig, 10 è un diagramma di flusso che illustra il recupero dell’immagine f~ partendo da una lista P di m’ superpixel codificati, in cui ogni P<1>è decodificato in modo indipendente.
La Fig. 11 è un diagramma di flusso che illustra il recupero della matrice di pesi W relativa al superpixel P composto da N pixel. Si noti che, siccome i superpixel sono aree omogenee e uniformi dell’immagine, la corrispondente matrice di pesi può essere approssimata con un valore costante, che nella figura è convenzionalmente impostato a 1.
La Figura 12 illustra un apparato di codifica e decodifica di immagini che realizza la presente invenzione. In particolare, la Fig. 12(a) illustra un apparato di codifica 1100 atto ad eseguire il processo di codifica corrispondente a Fig. 2(a). Analogamente, la Fig, 12(b) illustra un apparato di decodifica atto ad eseguire il processo di decodifica corrispondente a Fig. 2(b).
La Fig. 13 mostra in (a) un esempio dei tipici artefatti da ricostruzione generati presso il decodificatore dalla DCT standard di 8x8 pixel, e in (b) la stessa immagine codificata e decodificata secondo la presente invenzione
La Fig. 14 illustra in (a) l’intera immagine di cui la Fig. 13 è una porzione ingrandita, e in (b) un confronto tra le curve tasso-distorsione di detta immagine codificata e decodificata in accordo con la presente invenzione e utilizzando una tecnica di compressione standard basata su DCT 8x8,
DESCRIZIONE DETTAGLIATA DELL INVENZIONE
Di seguito si fornirà una descrizione dettagliata del metodo e del sistema di codifica e decodifica di immagini basati su superpixel che rappresentano gli oggetti della presente invenzione. A fini di una descrizione schematica dell’ invenzione si descriverà prima il lato codificatore e successivamente il lato decodificatore.
CODIFICA
La Fig. 4 mostra una vista concettuale di alto livello di un processo di codifica eseguito secondo la presente invenzione. Innanzitutto Fimmagine viene acquisita, ad esempio, da una videocamera o da un file di immagine non compresso, e viene preelaborata per soddisfare i requisiti del codificatore (passo 410). Le possibili forme di pre-elaborazione comprendono ridimensionamento, filtraggio e decomposizione di immagini RGB in combinazioni di tali canali in componenti YUV, Successivamente, al passo 420, Fimmagine viene segmentata in aree di pixel omogenee per contenuto (di seguito chiamate “superpixer) utilizzando un qualche metodo di segmentazione di immagini. Sebbene in letteratura siano descritti vari algoritmi di segmentazione di immagini, le prestazioni del metodo di codifica e decodifica qui descritto sono sostanzialmente indipendenti dal particolare schema di segmentazione impiegato, come i test di codifica hanno rivelato.
A questo punto (passo 430), ciascun superpixel può essere potenzialmente codificato mediante la trasformata di grafo, grazie al fatto che essa può essere applicata ad aree di immagine di forma arbitraria. Siccome la segmentazione in superpixel lascia le discontinuità tra i bordi dei superpixel, i superpixel recuperati presso il decodificatore presentano minori probabilità di produrre artefatti da ricostruzione. Tuttavia, prima della codifica di grafo, i superpixel sono iterativamente raggruppati per raggiungere un compromesso più favorevole tra il bitrate richiesto per rappresentare i bordi dei superpixel, i coefficienti di trasformazione dei superpixel, ed eventualmente anche la distorsione di codifica, che dipende dal numero e dall’area dei superpixel.
Infine, al passo 440, l<'>insieme di dati dei superpixel codificati £ viene prodotto in uscita sotto forma di un insieme di superpixel trasformati mediante GFT P<Al>e della rappresentazione della relativa forma, preferibilmente in forma compressa/codificata P*<1>; tale insieme di dati può essere memorizzato per la successiva lettura da parte di un apparato di decodifica, oppure può essere trasmesso a tale apparato attraverso un canale di comunicazione.
DÌ seguito si descriverà nei dettagli una forma di realizzazione della presente invenzione in cui i superpixel sono iterativamente raggruppati e codificati fino al raggiungimento di un determinato tasso di codifica (bitrate) desiderato, consentendo in tal modo l’applicazione pratica della presente invenzione al comune scenario delle comunicazioni su canali a larghezza di banda limitata o supporti aventi capacità limitata,
SEGMENTAZIONE DELL’IMMAGINE
L’immagine viene inizialmente segmentata allo scopo di ottenere una suddivisione preliminare dell’ immagine in aree (chiamate anche ‘"superpixel”) omogenee per contenuto, e quindi presentanti discontinuità trascurabili o del tutto assenti.
L’individuazione di aree dell’immagine omogenee per contenuto è un problema ben noto in letteratura che trova varie applicazioni pratiche. Ad esempio, si potrebbe voler separare un oggetto in primo piano da un’immagine di sfondo. Gli algoritmi di segmentazione di immagini consentono di detenninare quali pixel in un’immagine appartengono a regioni semanticamente affini, individuando i confini che separano le regioni. In letteratura esistono vari algoritmi diversi per la segmentazione di immagini, i quali si differenziano non solo per la loro complessità, che influenza il tempo di segmentazione e il tempo totale di codifica, ma anche per il loro output, ossia algoritmi di segmentazione diversi producono segmentazioni diverse della stessa immagine. Da esperimenti da noi condotti con diversi algoritmi di segmentazione è risultato che Γ algoritmo SLIC ( Radhakrishna Achanta, Appu Shajì, Kevin Smith, Aure lieti Lucchi, Pascal Fua, and Sabine Sùsstrunk, "STJC Superpixels", EPFP Technical Report no. ì 49300, dune 2010.) offre le migliori prestazioni in termini di codifica delle immagini.
In particolare, l’algoritmo SLIC produce superpixel fedeli alle discontinuità dell’immagine. Gli esperimenti di codifica da noi condotti hanno mostrato che quando la trasformata di grafo viene applicata a superpixel generati con l’algoritmo SLIC, la trasformata di grafo produce pochi coefficienti ad alta frequenza. La Fig. 3(a) mostra un’immagine naturale campione con molti dettagli: l’immagine è suddivisa in aree semanticamente omogenee simili tra loro (ad esempio, la trama dei fiori, il marmo intorno alla finestra, ecc.). La Fig. 3(b) mostra l’output dell’algoritmo SLIC relativo a tale immagine: l’algoritmo produce un elevato numero di piccoli superpixel che aderiscono ai bordi dell’oggetto nell’immagine. Quindi, in una possibile forma di realizzazione della presente invenzione, l’immagine da codificare viene inizialmente segmentata in superpixel utilizzando l’algoritmo SLIC,
Più in dettaglio, si assume che l’immagine sia segmentata in m superpixel £ = (P<1>, ,,,, P"<1>}. Di seguito, per chiarezza e semplicità di esposizione, si assumerà che la forma del generico i -esimo superpixel P<1>sia rappresentata sotto forma di un’immagine in bianco e nero P<bl>, ad esempio dello stesso fonnato dell’immagine originale da codificare, in cui ogni pixel è codificato su 1 bit e può essere rappresentato sullo schermo di un apparato di visualizzazione in nero se appartiene a P<1>e in bianco in tutti gli altri casi (si veda in particolare la Fig, 9(b) a sinistra).
Naturalmente possono essere impiegate numerose tecniche per indicare quali pixel dell’immagine f appartengono a un determinato superpixel, ossia per rappresentare la forma o i bordi di un superpixel P' del gruppo. Quale possibile alternativa, ad esempio, i pixel dei bordi di un superpixel possono essere impostati a “1” e tutti gli altri pixel dell’immagine possono assumere il valore<££>0” (si veda la Fig. 9(b) a destra).
RAGGRUPPAMENTO ITERATIVO DEI SUPERP1XEL
I superpìxels ottenuti con la segmentazione dell<'>immagine vengono poi raggruppati in superpixel sempre più grandi sulla base di informazioni di raggruppamento, allo scopo di raggiungere il compromesso più favorevole tra il tasso richiesto per codificare i bordi dei superpixel, ossia la geometria dei superpixel, e il tasso richiesto per codificare i coefficienti di trasformazione dei superpixel, ossia le trame dei superpixel. SÌ può utilizzare uno qualsiasi dei vari algoritmi di segmentazione di immagini disponibili, tra cui l’algoritmo SLIC considerato a titolo esemplificativo in questa forma di realizzazione, per segmentare l’immagine in superpixel altamente omogenei, suddividendo l’immagine in un ampio numero di superpixel relativamente piccoli, come mostrato chiaramente in Fig, 3(b), Come può essere facilmente intuito, superpixel piccoli hanno minori probabilità di includere discontinuità perché aderiscono meglio alle discontinuità, da cui deriva un minore bit-rate necessario per codificare il minor numero di coefficienti di trasformazione ad alta frequenza e quindi un numero minore di artefatti da ricostruzione presso il decodificatore. Tuttavia è anche facilmente intuibile che quanto più elevato è il numero di superpixel nell’immagine, tanto maggiore sarà la quantità di informazioni su bordi da trasmettere al decodificatore, al prezzo di un incremento del tasso di codifica dei bordi dei superpixel. In una forma di realizzazione della presente invenzione, che sarà descritta qui di seguito, coppie di superpixel vengono iterativamente raggruppate in superpixel sempre più grandi fino al raggiungimento di un tasso di codifica ottimale dell’intera immagine.
In una forma di realizzazione dell’invenzione viene innanzitutto calcolato il tasso di codifica necessario per codificare l’immagine suddivisa dall’algoritmo di segmentazione.
In particolare, il diagramma di flusso di Fig. 5 illustra un algoritmo che calcola il tasso necessario per codificare/comprimere l’immagine secondo l’invenzione sulla base della segmentazione prodotta dall’algoritmo di segmentazione, come ad esempio l’algoritmo SLIC, durante il passo 510. Si assume che P indichi il gruppo di superpixel che forma il candidato iniziale da codificare mediante la trasformata di Fourier grafica, il quale corrisponde all’insieme di m superpixel generato da tale algoritmo di segmentazione di immagini, ossia P = J P<1>, P<m>). Più precisamente, ogni superpixel è individuato dalla sua forma, rappresentata in qualche modo come P<bl>, e dai suoi pixel costituenti P<1>nel dominio spaziale. Preferibilmente, la rappresentazione della forma dei superpixel è compressa (ossia codificata) per ridurre il bit-rate necessario per la sua memorizzazione o trasmissione secondo qualsiasi tecnica nota di com pressi one/codifica di immagini senza perdite, come ad esempio JBIG (Joint Bi-level Image Experts Group).
Le rappresentazioni di forma compresse risultanti sono indicate con P* = J P , P<*m>}, Al passo 520 il contatore e indice di superpixel / è inizializzato a l e la variabile R],cstaccumula il valore del tasso (bitrate) necessario per codificare l’immagine secondo la segmentazione iniziale in m superpixel; naturalmente esso viene inizializzato azero.
Al passo 530 viene calcolata la GFT individuale delfi-esimo superpixel P<Al>sulla base dei valori di pixel del superpixel P<1>, e la relativa rappresentazione di fonna P<bl>è preferibilmente compressa per ottenere il bordo di superpixel codificato P<*1>. Entrambe le entità Ρ<Λ>' e P*' vengono memorizzate in quanto sono necessarie per la tecnica iterativa di codifica e trasformazione secondo una forma di realizzazione dell’invenzione, la quale viene eseguita dopo la fase iniziale di calcolo del tasso di codifica (bitrate) necessario per codificare l’immagine secondo la segmentazione iniziale Ff
Il costo di codifica Rhesiviene quindi aggiornato al passo 540 sommando il tasso di codifica del superpixel corrente P<1>al suo precedente valore secondo la formula seguente:
Ri, est =Ri1cst+ra1⁄2(P<ii|>)+rate( P<1>)
in cui rate( P*<1>) indica il tasso del bordo (eventualmente codificato) e raie(P<Al>) indica il tasso dei coefficienti GFT (eventualmente codificati) del superpixel P<1>. Se le rappresentazioni di forma P<bl>non sono state compresse, nella suddetta formula è possibile utilizzare il tasso di P<bl>al posto di quello di P*\
A questo punto, al passo di verifica 550 si controlla se l’ultimo (m -esimo) superpixel della segmentazione iniziale è stato elaborato. In caso affermativo (Ì=m) la procedura si conclude. In caso contrario, al passo 560 l’indice di superpixel i viene incrementato di 1 e la procedura di calcolo del tasso iniziale continua con il passo 530 fino a che i tassi di tutti i superpixel non sono stato sommati alla variabile RbC3te i coefficienti GFT Ρ<Λ>* e le forme codificate P*<1>di tutti i superpixels non sono state calcolate e memorizzate.
Come precedentemente spiegato, in generale gli algoritmi di segmentazione convenzionale non producono risultati ottimali in termini di tasso di codifica se si applica una trasformata GFT individuale a ciascun superpixel, a causa del loro numero eccessivo che incrementa il costo di codifica delle loro fonne; per questa ragione, in una forma di realizzazione dell’invenzione si applica a questa segmentazione iniziale un algoritmo di raggruppamento iterativo, come mostrato in Fig. 6.
Formalmente, quale risultato complessivo, falgoritmo di raggruppamento e codifica iterativa di Fig, 6 raggruppa gli m superpixel iniziali in nf superpixel, dove in generale m’ <= m, in modo tale che il tasso aggregato di codifica degli m’ superpixel mediante trasformata di Fourier grafica individuale non superi un detenninato tasso desiderato Rtar3⁄4,
Al passo 610 la procedura iterativa dapprima controlla se il tasso prodotto dalla codifica dell’immagine secondo l’invenzione nella segmentazione iniziale RbtìS|soddisfa il criterio predeterminato, che in una forma di realizzazione è il tasso di codifica desiderato R|iirg.
Successivamente, come mostrato in Fig. 6, l’algoritmo controlla se il tasso della soluzione di codifica migliore sinora individuato Rbcstè inferiore al bit-rate massimo desiderato imposto al codificatore Rtarg(passo 610): in caso affermativo, nessun’ altra operazione è richiesta presso il codificatore e Γ algoritmo termina. In caso contrario, Γ algoritmo continua a ridurre il tasso di codifica raggruppando iterativamente una coppia di due superpixel vicini e codificando il superpixel risultante. Naturalmente, sebbene ciò non sia rappresentato in figura, se il numero di superpixel inizialmente prodotti daH’algoritmo di segmentazione è uguale a uno, ossia m=l, il raggruppamento non viene eseguito e la procedura termina.
In caso contrario, l’algoritmo confronta tutte le coppie di superpixel vicini e per ogni coppia di superpixel adiacenti calcola una misura di dissimilarità, raggruppando la coppia di superpixel tra loro più simili.
La dissimilarità tra segmenti arbitrari di un’immagine può essere calcolata mediante metriche diverse. Nella forma di realizzazione della presente invenzione qui descritta si prevede a titolo esemplificativo l’impiego della metrica CIEDE2000 (G. Sharma, W. Wu, and E.N. Dalai, “The CEEDE2000 color difference formula: Implementati on notes, supplementary test data, and mathematical ob servati ons”, Color Research and Application, voi, 30, no, 1, pp, 21-30, 2005.)
L’algoritmo CIEDE2000 si applica tipicamente a un’area di un’immagine e produce una cifra scalare che rappresenta il colore medio di tale area. SÌ assume che P<k>e Ρ<Λ>' siano due superpixel vicini e che M</ k>e Μ<Λ>' siano le relative metriche CIEDE2000. La dissimilarità traP<Ak>e Ρ<Λ>' è misurata come |Μ<λ1>- Μ<Λ>'|, e l’algoritmo misura tale distanza per ogni coppia di superpixel vicini. La procedura fornisce infine gli indici k,l dei due superpixel adiacenti Ρ<Λ>\Ρ<λ1>che presentano la minore dissimilarità e che sono i migliori candidati per il raggruppamento.
Al passo 620 la procedura genera quindi un nuovo superpixel P<1>, che viene prodotto raggruppando i pixel che compongono i superpixel P<k>e P<1>, ossia P' = P<k>U Ρ<Λ>', in cui U denota l’operatore Unione, Naturalmente i pixel bordo che separano P<l>da P<1>divengono anch’essi parte del nuovo superpixel P<1>, cosicché viene prodotto un nuovo superpixel con una nuova forma P<11>·' (ed eventualmente P*<J>),
Al passo 630 il superpixel P' viene poi codificato in modo indipendente mediante una trasformata di Fourier di grafo come {P*<J>, Ρ<Λ|>} = encode (P<1>), in cui Rjrappresenta il tasso di codifica per generare P'"<'J>, ossia Rj= R(P*<J>) R (P<Al>), dove R(P*<J>) è il costo per codificare in modo compresso la forma del nuovo superpixel P<J>, mentre R(P<A|>) è il costo per codificare i pixel del superpixel P<1>, ossia il costo per generare P<70>daP<1>.
Una volta codificato il superpixel P, l’algoritmo controlla se l’aggregazione dei superpixel P<A>k e Ρ<Λ>1 nel superpixel P<A>j ha consentito o meno una riduzione del tasso delfimmagine codificata. Si assuma che Rinopsia il tasso di codifica dell’innovativa soluzione proposta, che consiste nel sostituire i superpixel P<a1>e P<A>' con P<A|>, calcolato come Rprop= Rbcst -Rk -Ri Rj(passo 650), dove Rbcatè il tasso di codifica della migliore soluzione sinora individuata. Al passo 660 la procedura controlla se Rprijp< RbeSl· se la condizione non è soddisfatta, il raggruppamento dei superpixel P<k>e P<1>in P non ha determinato alcuna riduzione del bit-rate (tipicamente a causa di un aumento del tasso dei coefficienti di trasfonn azione), cosicché la soluzione sinora individuata viene ritenuta quella ottimale e l’algoritmo termina.
In caso contrario, significa che il raggruppamento di P<A1Ì>e P'<">"<1>in P<A|>ha ridotto il tasso di codifica dell’immagine (tipicamente grazie a un ridotto tasso di codifica dei bordi), per cui la procedura iterativa di raggruppamento e codifica rimuove dal gruppo di superpixel che rappresenta la migliore soluzione corrente P i superpixel P<k>e P<A>'; al passo 670 essa li sostituisce con P<Aj>rimuovendo P<l>e P<1>da P (P -= (P<k>, P<1>}) e aggiungendo P<1>a P (P = |P}); infine essa controlla il tasso corrispondente alla soluzione aggiornata come Rbcst= Rprop.
Un confronto tra le Figg. 3 (b) e (c) mostra in che modo l’algoritmo proposto opera su un’immagine reale inizialmente segmentata dall’algoritmo SLIC. Si noti come nell’immagine rappresentata in Figura (b) la parete dell’edificio sia stata originariamente suddivisa in un numero inutilmente eccessivo di piccoli superpixel, nonostante la parete sia un’area omogenea uniforme dell’immagine che, ai fini della codifica delfimmagine, potrebbe invece essere segmentata in modo migliore in un numero minore di superpixel più grandi. La Fig. 3(c) mostra il risultato dell’algoritmo di raggruppamento iterativo di superpixel qui descritto. L’algoritmo è in grado di raggruppare insieme piccoli superpixel semanticamente simili tra loro e quindi non divisi da discontinuità, in tal modo si riduce il tasso di codifica dei bordi senza dilatare il tasso di codifica complessivo dei coefficienti di trasformazione.
PROCESSO DI CODIFICA
Ogni superpixel Ρ<Λ>' viene codificato in modo indipendente dagli altri superpixel nelfimmagine, come illustrato in Fig. 2(a) nel riquadro tratteggiato 210.
Il codificatore di superpixel 210 riceve in ingresso due diversi elementi.
Il primo elemento in ingresso al codificatore di superpixel è rappresentato, ad esempio, da una schiera di N pixel P (talvolta denominata trama) corrispondenti ai pixel del superpixel P' da codificare; si noti che per semplicità l’indice i è stato eccezionalmente omesso negli elementi di questa figura). Si consideri, ad esempio, che ciascun pixel sia codificato su 8 bit e che ciascun pixel possa assumere qualsiasi valore intero tra 0 e 255 tonalità di grigio, in modo tale che ogni pixel sia codificato su 1 byte. Ad esempio, la Fig. 7(a) mostra il caso di un’area di 3 x 3 = 9 pixel (N=9) dell’immagine di Fig, 3(a). Sebbene sia possibile utilizzare diversi schemi di indicizzazione dei pixel, in questo esempio i pixel sono indicizzati partendo dalle righe, ossia i pixel delFimmagine sono identificati come {fi, ..., fy), come mostrato in figura. Ne consegue che i pixel dell’immagine originale f da codificare che corrispondono al superpixel possono essere rappresentati come un vettore P di N byte, dove ogni elemento del vettore rappresenta un pixel seguendo, ad esempio, un ordine di scansione raster.
Il secondo input dell’apparato codificatore di superpixel è, nella forma di realizzazione qui proposta della presente invenzione, un’immagine in bianco e nero P<bl>come quella illustrata in Fig. 7(b), che definisce i pixel delFimmagine originale appartenenti al generico i-esimo superpixel da codificare. Ogni pixel di P<bl>è codificato su 1 bit, ad esempio con il valore “1” se fa parte del superpixel da codificare (pixel neri in Fig. 7(b)) oppure con il valore “0” se non fa parte del superpixel da codificare.
In una forma di realizzazione della presente invenzione, 1 ’ unità opzionale di codifica bordi (o forme) 230 riceve in ingresso l<'>immagine che rappresenta il bordo di superpixel P<bl>e produce in uscita una rappresentazione compressa del bordo di superpixel P*<1>. Essendo il bordo di superpixel un’immagine in bianco e nero, si possono utilizzare tecniche esistenti per la compressione di immagini in bianco e nero, come ad esempio quella utilizzata per i documenti fax. Nella forma di realizzazione proposta, il bordo di superpixel P<bl>viene compresso utilizzando lo schema JBIG per la compressione di immagini bi-livello (standard ISO/IEC 11544 e raccomandazione ITU-T T,82).
L ’unità di generazione di matrici di pesi 250 riceve in ingresso il bordo di superpixel P<bl>e produce in uscita la relativa matrice di pesi binaria W<1>corrispondente al superpixel da codificare.
Con riferimento nuovamente alla Fig. 7, essa mostra un superpixel composto da 6 pixel (fi, f2, fi, fi, fi, fi) . La Figura 7(c) mostra la matrice dei pesi degli archi W<1>corrispondente al superpixel P<1>: dato che il superpixel del nostro esempio è composto da 6 pixel, le dimensioni della matrice di pesi W sarà uguale a 6 x 6 = 36 elementi. Per ogni i -esimo pixel fi appartenente al superpixel, la matrice di pesi rappresenta con wYjil peso dell’arco che collega fi ad ogni altro j-esimo pixel fi appartenente al superpixel. Più precisamente, ciascun elemento di W può essere soltanto 0 o 1, ossia wfij è 0 o 1. Se due pixel fi e fi appartenenti allo stesso superpixel sono adiacenti , allora il peso wfij dell<'>arco che collega i due pixel sarà uguale a 1, ossia wYj= 1. In caso contrario, se due pixel fi e fi appartengono allo stesso superpixel, ma non sono adiacenti,, allora si avrà w<1>^ =0,
Il concetto di adiacenza tra pixel è definito come segue, ed è esemplificato nella Fig. 8, che rappresenta un’immagine campione composta da 9 pixel. Un pixel fi si dice adiacente al pixel fi se fi è posizionato immediatamente sopra, sotto, a destra o a sinistra di fi. Ad esempio, in Fig. 8(a) il pixel di riferimento è fi ed è posizionato al centro delFimmagine: le adiacenze di fi sono i quattro pixel f2, f4, fi,, fi. Si noti che i pixel fi, fi, f7, fi» non sono adiacenze di fi, A seconda della posizione del pixel di riferimento nell’immagine, le adiacenze possono essere meno di 4. Ad esempio, in Fig. 8(b) il pixel di riferimento è f4ed è posizionato sul bordo sinistro dell<'>immagine, per cui le sue adiacenze sono soltanto 3 (precisamente fu fs, f7). Infine, in Fig, 8(c) il pixel di riferimento è fi ed è posizionato nell’angolo superiore sinistro dell’ imm agi ne, cosicché le sue adiacenze sono soltanto 2 (precisamente f2, fi).
Avendo chiarito il concetto di adiacenze tra pixel, in Fig. 11 si descrive, sotto forma di un diagramma di flusso, il metodo per generare la matrice di pesi W corrispondente a un dato bordo dì superpixel P<b>(identificata anche con il termine di informazioni su bordi). Inizialmente tutti gli elementi di W<1>vengono posti uguali a 0 (w\j=0), mentre findice di pixel i è inizializzato a 1 (passo 11010). Successivamente, al passo 1 1020, per ogni pixel fi appartenente al superpixel (si vedano i cicli 11040-11070), il metodo controlla se ogni altro pixel fi nel superpixel è adiacente a fi (passo 1 1040): in caso affermativo, il peso corrispondente w*y viene impostato a I (passo 1 1060),
Se il pixel fi non appartiene al superpixel corrente P (fi esito del controllo 11020 è “NO”), si passa all’elaborazione del pixel successivo fin incrementando l’Ìndice di pixel (passo 11090) e ripetendo i passi 11020-11090, fino a che l’ultimo N-esimo pixel è stato elaborato (controllo del passo 11100); a questo punto la procedura dì generazione della matrice di pesi W del generico superpixel P si conclude.
La Figura 7(a) esemplifica il caso di un’immagine f di dimensioni pari a 3 x 3 pixel: il superpixel considerato P<1>(il primo) comprende 6 pixel (1,2, 3, 5, 6, 9}, che sono rappresentati in scuro in Fig. 7(b). Siccome il superpixel comprende 6 pixel, i pesi del grafo corrispondenti W<1>saranno rappresentati da una matrice di 6 x 6 elementi. La Fig. 7(c) mostra la corrispondente matrice di pesi W<1>: la matrice è simmetrica e la diagonale della matrice è uguale a 0, In generale, quindi, l’output dell’unità di generazione di matrici di pesi 105 sarà la matrice W<1>di dimensioni N x N, in cui ogni elemento è il peso dell’arco che collega due pixel, e il valore di ciascun elemento dì W<1>può essere “0”, se i due pixel non sono adiacenti, oppure “1” se sono adiacenti.
L’unità laplachma di grafo 110 riceve in ingresso la matrice di pesi W<1>e produce in uscita la matrice di trasformazione U<1>di dimensioni N x N. D’ora in poi l’Ìndice i verrà omesso nella descrizione e nelle formule dell’apparato codificatore 240, essendo chiaro che i calcoli riguardano un generico i-esimo superpixel e non un’intera immagine o blocco regolare della stessa.
Innanzitutto l’unità calcola la matrice diagonale Δ di dimensioni N x N da W, in modo tale che Γϊ-esimo elemento della sua diagonale sia uguale alla somma di tutti i pesi di tutti i bordi incidenti neH’i-esimo pixel come descritto in W\ Successivamente l’unità calcola la matrice L = Δ - W’ sempre di dimensioni N x N, in cui L ò ia laplaciana di grafo di W.
Infine l’unità calcola la matrice U di dimensioni N x N, nota come matrice di trasformazione, in cui le righe di U sono gli autovettori di L, ossia le righe di U sono i vettori che consentono di diagonalizzare L,
L’unità di trasformazione di grafo 220 riceve in ingresso la matrice di trasformazione N x N U e il vettore N x l P che rappresenta i pixel della trama del superpixel, e produce in uscita il vettore di coefficienti di trasformazione Ρ<Λ>II vettore P è composto dai pixel del superpixel da codificare, indicizzati secondo gli stessi criteri adottati per generare la matrice di pesi W. Ad esempio, nuovamente con riferimento alla Fig. 7(a), che mostra il caso di un’immagine composta da 9 pixel, si consideri il superpixel rappresentato con pixel grigio scuro in Fig. 7(b). Tale superpixel è composto dai pixel numero 1,2, 3, 5, 6, 9, in cui F indicizzazione riflette una scansione raster dell’immagine. Il vettore P corrispondente al superpixel considerato è mostrato in Fig, 7(d) ed è rappresentato dai numeri di pixel 1,2, 3, 5,6, 9 disposti in un vettore. L’unità calcola il vettore di N x 1 coefficienti Ρ<Λ>mediante la moltiplicazione di matrice
Ρ<Λ>= U P,
in cui il vettore di coefficienti Ρ<Λ>ha dimensioni Nxl.
L’output del codificatore è quindi composto dal bordo di superpixel P* (eventualmente compresso) e dal vettore di coefficienti Ρ<Λ>, che saranno sufficienti a consentire di recuperare il superpixel indipendentemente da tutti gli altri superpixel neirimmagine originale, come si illustrerà più avanti in modo dettagliato.
APPARATO CODIFICATORE
La Fig. 12(a) illustra un apparato di codifica 1100 atto ad eseguire il processo di codifica corrispondente allo schema di Fig. 2(a) già descritto sopra in modo dettagliato. La sorgente video 1000 può essere un mezzo atto a generare immagini dal vivo, come una telecamera, oppure un mezzo atto a mettere a disposizione contenuti memorizzati, come un disco o altri dispositivi di memorizzazione. L<'>unità di elaborazione centrale (CPU) 1 1 10 provvede ad attivare la corretta sequenza delle unità necessarie per codificare F immagine. La CPU inizialmente preleva Fimmagine dalla sorgente video tramite mezzi di input 1170 (ad esempio, un controller USB, Firewire, SATA, Ethernet o sìmili) e la carica nelFunìtà dì memoria 1 140. In una forma di realizzazione della presente invenzione, la CPU attiva quindi F unità di segmentazione 1120, che preleva Fimmagine originale f dalla memoria, esegue un algoritmo di segmentazione come Falgoritmo SLR!, suddivide Fimmagine in m superpixel (P<1>, ..., P<111>) e salva in memoria le m immagini in bianco e nero corrispondenti agli m superpixel.
La CPU esegue poi Falgoritmo di raggruppamento iterativo di Fig. 6, che raggruppa e codifica iterativamente coppie di superpixel. Ad ogni iterazione delF algoritmo, la CPU individua i due superpixel più simili tra loro, che vengono quindi codificati. La codifica di ogni singolo superpixel richiede Fattivazione in serie delFunità di codifica grafo 1150, dell’unità tapi aci ana di grafo 1130 e dell’ unità DFT 1 160, Ogni volta che deve essere codificato un superpixel P<1>, la CPU dapprima attiva Funìtà dì codifica grafo 1 150, la quale comprime Fimmagine in bianco e nero corrispondente al bordo del superpixel e calcola la matrice di pesi W corrispondente al superpixel, salvandola in memoria.
Successivamente la CPU attiva l’unità laplaciana di grafo 1130, che preleva dalla memoria la matrice di pesi W, calcola gli autovettori U e li salva nella memoria 1140. A questo punto, la CPU può eliminare la matrice di pesi W dalla memoria, in quanto essa non è più necessaria presso il codificatore. La CPU attiva quindi Γ unità DFT 1160, che preleva dalla memoria gli autovettori U e calcola la matrice dei coefficienti di trasformazione Fourier Ρ<Λ>, che viene memorizzata nell’unità di memoria 1140. A questo punto, la CPU può eliminare gli autovettori U dalla memoria, in quanto non più necessari presso il codificatore.
Infine, la CPU preleva dalla memoria l’insieme di bordi di superpixel compressi e l’insieme di coefficienti di trasformazione Ρ<Λ>e li immette in un canale o li salva nei mezzi di memorizzazione 1200 tramite i mezzi di output 1180 (ad esempio, un controller USB, Firewire, SATA, Ethernet o simili).
L’apparato codificatore sopra descritto può essere controllato dalla CPU in modo tale da operare internamente in modalità pipeline, così da ridurre il tempo totale richiesto per elaborare ciascuna immagine. Si deve anche notare che possono essere eseguite molte altre operazioni sull’output del dispositivo codificatore 1100 prima di immetterlo nel canale o di memorizzarlo su un’unità di memorizzazione, come modulazione, codifica di canale (protezione di errore). Tali operazioni sono in ogni caso irrilevanti ai fini della realizzazione della presente invenzione e saranno quindi omesse.
Riepilogando, l’apparato codificatore 1100 esegue un metodo per codificare immagini o flussi video digitali che comprende le fasi seguenti:
- una fase di ricezione, in cui almeno una porzione di un’immagine f viene ricevuta tramite i mezzi di input 1170;
- una fase di segmentazione, in cui la porzione di detta immagine f è segmentata, tramite i mezzi di elaborazione 1110, allo scopo di ottenere uno o più gruppi di pixel P<1>identificati da informazioni su bordi P<b>, in cui ciascun gruppo di pixel contiene almeno due pixel aventi un livello predeterminato di similarità secondo almeno una metrica di similarità;
- una fase di calcolo della mappa dei pesi, in cui mediante i mezzi di elaborazione I LIO viene calcolata una mappa dei pesi W<1>per ogni gruppo di pixel P<1>sulla base delle informazioni su bordi P<bl>associate a detto gruppo di pixel (P<1>);
- una fase di calcolo autovettori, in cui, per ogni gruppo di pixel P<1>, i mezzi di elaborazione 1 1 10 calcolano gli autovettori della mappa dei pesi W<1>;
- una fase di calcolo dei coefficienti di trasformazione, in cui, per ogni gruppo di pixel P<1>, vengono calcolati i coefficienti di trasformazione f<Al>sulla base di detti autovettori U<1>e dei pixel contenuti in detto gruppo di pixel;
- una fase di output, in cui vengono emesse in uscita le informazioni su bordi P<b>e i coefficienti di trasformazione f<">'<1>di ciascun gruppo di pixel P<1>, tramite i mezzi di output 1180, verso la destinazione 1200.
PROCESSO DI DECODIFICA
Il processo per recuperare un’immagine f codificata con la tecnica sopra descritta basata su superpixel sarà ora illustrato con riferimento al diagramma di flusso dì Fig. 10. L’apparato decodificatore 250 riceve al passo 1010 una lista di nf superpixel codificati sottoposti a trasformazione di Fourier grafica Ρ<Λ>= (Ρ<λΙ>, , , ,, Ρ<Λ>*<η>}, in cui l’i-esimo superpixel è composto da un’immagine di bordo in bianco e nero (compressa) e un vettore rappresentante i coefficienti di trasformazione del superpixel come Ρ<Λ>- (P<1*>, P<Al>). L’indice di superpixel corrente i viene inizializzato al valore 1 .
Ogni i-esimo superpixel viene codificato indipendentemente dagli altri m’-l superpixel che compongono l’immagine originale f, per cui può non essere necessario che il decodificatore riceva tutti gli m’ superpixel codificati per poter avviare il processo di decodifica: i superpixel codificati possono infatti essere decodificati man mano che giungono al decodificatore. Nella descrizione di Fig. 2(b) si fornisce una descrizione dettagliata di un’architettura completa di un decodificatore di superpixel in termini di unità funzionali. Di seguito si presenta una panoramica generale della procedura di decodifica dei superpixel.
Innanzitutto il bordo P<1*>, se compresso, viene decompresso dall’unità di decodifica forme 240 opzionale (Fig. 2(b)) nel corso del passo opzionale 1020: ad SVT067
esempio, se Γ immagine di bordo è stata compressa con un codificatore JBIG come sopra descritto, Γ immagine di bordo sarà decompressa con un decodificatore presso il ricevitore. L’output di questo passo è un’immagine in bianco e nero P<bl>delle stesse dimensioni deirimmagine originale fi contenente una maschera indicante quali pixel dell’immagine appartengono aH’i-esimo superpixel considerato.
Successivamente, al passo 1030 viene recuperata la matrice di pesi W' daH’immagine di bordo del superpixel P<bl>. Assumendo che la maschera dell’i-esimo superpixel in P<bl>comprenda N pixel, la matrice W<1>avrà dimensioni NxN, in cui ogni elemento w*y sarà uguale a “1” se i pixel fi e fi nell’immagine originale appartenevano allo stesso superpixel P<1>ed erano adiacenti, oppure a “0” in caso contrario. Di seguito si descriverà in modo dettagliato l’algoritmo che permette di recuperare Wfi
Al passo 1040 viene poi recuperata la trama del superpixel P<1>attraverso la trasformata di grafo inversa. Dapprima si calcola la matrice diagonale Δ<1>da Wfi e successivamente si calcola la matrice di autovettori U e la sua traduzione U<Tl>, Infine, al passo 1050 viene eseguita la moltiplicazione tra la matrice NxN U<Tl>e il vettore Nxl P fi che produce il vettore Nxl P<">fi contenente i valori di pixel che costituiscono la trama del superpixel (eventualmente approssimata) in ordine di scansione raster.
Infine, al passo 1060 viene devettorizzato il vettore Nxl P ' rappresentante la trama del superpixel recuperato, popolando i pixel deirimmagine recuperata f~ che appartengono all’i-esimo superpixel appena decodificato. Per semplicità, di seguito si ometterà temporaneamente dalla notazione l’indice “i” indicante il numero del superpixel all’interno dell’immagine da recuperare (ossia si scriverà P<b>in luogo di P<bl>, P in luogo di P fi ecc.). Si assuma che P sia il j-esimo elemento del vettore P<'>fi con 1 <= j <=N. Si assuma che P<b>sia il j-esimo elemento del bordo del superpixel in ordine di scansione raster, ossia il j-esimo pixel deirimmagine originale f che appartiene al superpixel P, Dall’immagine di bordo P<b>si recuperano le coordinate esatte di P<b>, che chiameremo (x,y)j. Una volta note le coordinate di destinazione, il j-esimo pixel del superpixel viene recuperato semplicemente copiando il valore contenuto in P in Tale procedura può essere realizzata con una semplice operazione di copiatura in memoria e viene ripetuta per ogni j-esimo elemento di P~, fino a che Finterà trama del superpixel è stata devettorizzata e il superpixel è stato recuperato f~
Riprendendo la nostra notazione originaria, una volta decodificato Ti-esimo superpixel P' il decodificatore controlla se esistono altri superpixel da decodificare, ossia controlla se l’indice di superpixel i ha raggiunto il valore m’ (passo 1070), Se esistono altri superpixel, al passo 1080 il contatore i viene incrementato e la procedura comprendente i passi 1020-1070 viene ripetuta. In caso contrario il processo di recupero delTimmagine è completato e la procedura termina. Si noti che, sebbene si sia qui descritto il processo di recupero delTimmagine f~ sotto forma di una procedura seriale in cui i superpixel vengono decodificati in successione, in un’altra forma di realizzazione i superpixel potrebbero essere decodificati totalmente o parzialmente in parallelo per velocizzare il processo di recupero, presupponendo la disponibilità di sufficienti risorse computazionali,
ARCHITETTURA DI UN DECODIFICATORE DI SINGOLI SUPERPIXEL
Il decodificatore di superpixel, la cui architetura è illustrata in Fig. 2(b), implementa i blocchi funzionali racchiusi entro la linea tratteggiata in Fig. 10 e sarà qui descrito in termini di unità funzionati. Per semplicità, in questa figura si è omesso il generico indice di superpixel i. 11 decodificatore di superpixel è composto da almeno una unità di decodifica di bordi di superpixel 240, una unità di generazione di matrici di pesi 250, una unità laplacicma di grafo HO e una unità di trasformazione inversa di grafo 280, che operano come si descriverà qui di seguito.
L’unità opzionale di decodifica di bordi di superpixel 240 riceve in ingresso il bordo di superpixel P*, eventualmente compresso, e produce in uscita una rappresentazione decompressa del superpixel P<b>. L’unità esegue un processo che è l’inverso del processo eseguito dalFunità di codifica di superpixel 230 presso il codificatore. Ad esempio, nella precedente descrizione dell’unità 230 si è ipotizzato a titolo esemplificativo che l’unità 230 possa codificare il bordo del superpixel utilizzando lo schema JBIG per la compressione di immagini bi -livello (standard ISO/IEC l i 544 e raccomandazione ITU-T T,82), allo scopo di ridurre ulteriormente la larghezza di banda o la capacità richieste al canale o all’unità di memorizzazione.
DÌ conseguenza, a titolo esemplificativo, in una forma di realizzazione della presente invenzione l’unità 240 può decodificare il bordo di superpixel compresso P* utilizzando l’algoritmo di decodifica JBIG. L’output del blocco è l’immagine in bianco e nero P<b>, che rappresenta il bordo del superpixel da decodificare. Siccome questa operazione non è indispensabile, l’unità di compressione 230 e l’unità di decompressione 240 sono raffigurate con linee tratteggiate. Ad esempio, la Fig. 9(b) mostra due possibili forme di rappresentazione di un superpixel P, come il generico superpixel P<1>risultante dalla suddivisione di un’immagine. In particolare, a sinistra è presentato il caso in cui tutti i pixel appartenenti al superpixel sono indicati con “1” e corrispondono ai pixel neri nell’immagine, mentre tutti gli altri pixel sarebbero indicati con “0” e corrisponderebbero ai pixel bianchi. Nel caso riportato a destra, invece, soltanto i pixel corrispondenti al bordo interno del superpixel sono rappresentati con ‘Ί”, mentre tutti gli altri pixel sarebbero rappresentati con ‘Ό”.
L’unità di generazione di matrici di pesi 250 inclusa nel decodificatore è l’equivalente dell’unità di generazione di matrici di pesi 250 inclusa nel codificatore e svolge la stessa funzione di ricevere in ingresso il bordo del superpixel P<b>e produrre in uscita la relativa matrice di pesi W.
Unnità laplacìana dì grafo 110 inclusa nel decodificatore è analoga all’unità laplaciana di grafo 1 10 lato codificatore: essa riceve in ingresso la matrice di pesi W e produce in uscita la matrice dì trasformazione N x N U.
Innanzitutto l’unità calcola la matrice diagonale Δ di dimensioni N x N partendo da W, in modo tale che l’i-esimo elemento della sua diagonale sia uguale alla somma di tutti i pesi di tutti i bordi incidenti nell’i-esimo pixel come descritto in W, Successivamente l’unità calcola la matrice L = Δ - W di dimensioni N x N.
Infine l’unità di trasform azione inversa di grafo 280 riceve in ingresso la τ
matrice di trasformazione U e la traduce, generando la matrice U di dimensioni N x N, dopodiché come ultima operazione Γ unità moltiplica la matrice NxN U<T>per il vettore di Nxl coefficienti Ρ<Λ>e recupera la trama Nxl del superpixel originale (ouna sua ricostruzione approssimata), che indicheremo con P~, come segue:
P~ = U<1>Ρ<Λ>
La Fig. 12(b) illustra un apparato decodificatore 1300 atto ad eseguire il processo di decodifica corrispondente allo schema di Fig. 2(b), L’unità di elaborazione centrale (CPU) 1110 supervisiona il processo di decodifica e attiva la sequenza corretta delle unità necessarie per eseguire la sequenza di operazioni corrispondenti allo schema di Fig, 2(b), La CPU dapprima preleva i bordi dei superpixel codificati P* e i coefficienti di trasformazione Ρ<Λ>dal canale o dal mezzo di memorizzazione 1200 tramite mezzi di input 1170 (ad esempio, un controller USB, Firewire, SATA, Ethernet o simili) e li carica nelfunìtà di memoria 1140. Prima di accedere a P<f>e Ρ<Λ>può essere necessario eseguire in maniera inversa le stesse operazioni eseguite sui dati di input dal decodificatore, come demodulazione e correzione di errore, ossia tipiche operazioni di decodifica del canale, non mostrate in figura. Successivamente la CPU attiva l’unità opzionale di decodifica dei bordi 1150, l’unità laplaciana di grafo 1 130 e l’unità DFT inversa 1260, che esegue il processo di decodifica del dispositivo decodificatore 260 mostrato in Fig. 2. Per ogni superpixel da decodificare per ricostruire Γ imm agi ne originale, la CPU dapprima attiva l’unità opzionale di decodifica bordi 1150, la quale prelevai! bordo di superpixel compresso dalla memoria e salva in memoria l’immagine decompressa in bianco e nero del bordo di superpixel P<b>. Quindi l’unità di decodifica superpixel 1120 preleva dalla memoria la mappa dei bordi P<b>, esegue il flusso di lavoro illustrato in Fig, 1 1, e salva in memoria la matrice di pesi recuperata W.
A questo punto, la CPU può eliminare dalla memoria il bordo di superpixel P<b>perché esso non è più necessario per recuperare il superpixel. Successivamente la CPU attiva l’unità laplaciana di grafo 1130, che preleva dalla memoria i pesi del grafo W recuperati, calcolagli autovettori U e li salva in memoria, A questo punto, la CPU può eliminare dalla memoria la matrice di pesi recuperata W, in quanto non è più necessaria per recuperare il superpixel.
La CPU attiva poi l’unità DFT inversa 1260, la quale preleva dalla memoria gli auto vettori U e i coefficienti di trasformazione Ρ<Λ>e recupera la trama di superpixel P, che viene salvata in memoria in un contenitore principale di immagini, dove vengono immagazzinati i superpixel recuperati. Tale procedura viene ripetuta per ogni superpixel in cui è stata codificata l’immagine originale f. Infine la CPU può prelevare dalla memoria l’immagine recuperata f~ e inviarla all’unità di visualizzazione 1400 oppure copiarla in un’altra unità di memoria tramite mezzi di output video 1170 (ad esempio, un controller USB, Firewire, SATA o Ethernet oppure un adattatore VGA o HDMI, o simili).
Riepilogando, l’apparato di decodifica esegue un metodo per decodificare immagini digitali che comprende le fasi seguenti:
- una prima fase di ricezione, in cui si ricevono, tramite mezzi di input 1180, informazioni su bordi P<b>, che individuano gruppi di pixel (P<1>) appartenenti a una segmentazione di almeno una porzione di immagine, e coefficienti di trasfonnazione f<Al>di gruppi di pixel P<1>;
- una fase di ricostruzione della mappa dei pesi, in cui, per ogni gruppo di pixel P<1>, i mezzi di elaborazione 1 110 ricostruiscono una mappa dei pesi W<1>sulla base delle informazioni su bordi P<bl>associate a detto gruppo di pixel;
- una fase di calcolo autovettori, in cui, per ogni gruppo di pixel P<1>, i mezzi di elaborazione 1110 calcolano gli autovettori della mappa dei pesi W<1>;
- una fase di ricostruzione dei gruppi, in cui, per ogni gruppo di pixel P<1>, i mezzi di elaborazione 1110 calcolano un gruppo ricostruito di pixel P<"'1>sulla base dei coefficienti di trasformazione fi'"' e degli autovettori U<1>, preferibilmente operando una trasformata di Fourier grafica inversa su tali coefficienti f<A>';
- una fase di ricostruzione immagine, in cui i mezzi di elaborazione 1110 calcolano un’immagine ricostruita f~ aggregando i gruppi ricostruiti di pixel P ; - una fase di output, in cui l’immagine ricostruita f~ viene emessa in uscita tramite mezzi video di output 1270.
RISULTATI SPERIMENTALI
La Fig. 13(a) mostra un esempio dei tipici artefatti da ricostruzione generati presso il decodificatore dalla DCT standard di 8x8 pixel. I bordi dei blocchi quadrati attraversano discontinuità presenti nell’immagine, come il confine tra il becco dell’uccello in primo piano e lo sfondo, determinando artefatti da ricostruzione chiaramente visibili nell’immagine. Al contrario, la Fig. 13 (b) mostra la stessa immagine codificata e decodificata secondo la presente invenzione. In particolare, il becco dell’uccello e lo sfondo appartengono a due diversi superpixel, per cui la discontinuità tra i due elementi viene lasciata al confine tra i superpixel, determinando una rappresentazione nitida del confine tra i due oggetti.
Le Figg, 14 (a) e (b) mostrano rispettivamente una versione più grande dell’immagine di prova di Fig. 13 e la corrispondente curva tasso -di storsione relativa ai casi in cui l’immagine è codificata e decodificata secondo la presente invenzione oppure secondo un’architettura di riferimento utilizzando la DCT di 8x8 pixel. In particolare, la Fig, 14(b) mostra sull’asse X il tasso di codifica in termini di bit per pixel (bpp), ossia il numero medio di bit necessario per codificare un pixel. Questa misura comprende sia la codifica dei coefficienti sia la codifica del bordo del superpixel, secondo lo schema proposto dalla presente invenzione, in accordo con lo standard JBIG. L’asse Y mostra invece il PSNR tra l’immagine originale e quella decodificata, misurato sul canale Y, La figura mostra che lo schema di codifica e decodifica secondo la presente invenzione permette di ottenere una migliore qualità dell’immagine con un tasso di codifica inferiore. Più precisamente, la migliore efficienza in termini di rapporto tasso-distorsione è dovuta a un tasso di codifica dei coefficienti di trasformazione notevolmente ridotto e alla minore distorsione determinata dal fatto che le discontinuità deU’immagine vengono lasciate ai confini tra i superpixel.
ALTRE FORME DI REALIZZAZIONE E GENERALIZZAZIONI
Nella descrizione dettagliata di una forma di realizzazione delE invenzione, il raggruppamento e la trasformata di Fourier grafica si eseguono in sequenza in modo iterativo, in quanto il raggruppamento o la riduzione tramite segmentazione avvengono sulla base del tasso di codifica desiderato; ciò richiede che il raggruppamento e la trasformata di grafo avvengano in successione nell’ ambito di una singola iterazione. Ciò non è strettamente necessario ai fini della realizzazione dell’invenzione, in quanto sono possibili anche altre procedure; ad esempio, una procedura di raggruppamento potrebbe essere eseguita nella sua interezza prima della trasformata di Fourier grafica basata su superpixel (ossia senza alcuna relazione con la successiva trasformata GFT), sottoponendo successivamente a trasfonn azione GFT l’insieme di superpixel risultante dal processo di raggruppamento.
In tale forma di realizzazione, il numero di superpixel prodotti dal processo di raggruppamento può essere definito in modo molto semplice con un approccio euristico. Solitamente, in particolare per le immagini naturali, esiste un valore ottimale del numero di superpixel m’ da codificare individualmente mediante codifica di forma e trasformata GFT, il quale valore è correlato con il numero complessivo di pixel dell’immagine. Indicando con Np il numero medio desiderato di pixel in un superpixel della segmentazione, m’ sarà legato ad esso e al numero di pixel K dell’immagine f dalla seguente relazione:
m’= K/Np
Da esperimenti condotti dagli inventori su un’ampia varietà di immagini naturali (ossia non artificiali) è risultato che un buon valore di m è compreso nell’intervallo 300-1000 e un buon valore di m’ è compreso nell’intervallo 50-150, Quindi la riduzione iniziale per segmentazione può essere effettuata fino al raggiungimento di un valore predeterminato di m’, per essere poi seguita dalla trasformazione GFT basata su superpixel, operata individualmente e separatamente su ognuno degli m’ superpixel.
In una forma di realizzazione dell’invenzione si sono utilizzate le trasformate GFT e 1GFT per codificare e decodificare i superpixel. Si potrebbe tuttavia utilizzare anche qualsiasi altro tipo di trasformata di grafo idonea per gli scopi della presente invenzi one.
In una forma di realizzazione della presente invenzione, l’immagine da codificare può essere preliminarmente filtrata per rimuovere componenti ad alta frequenza e ridurre il bit-rate di codifica risultante. Tra i filtri appropriati si possono menzionare i filtri gaussiano, lineare, bi-lineare o cubico.
In un’altra forma di realizzazione, l’immagine può essere segmentata in superpixel utilizzando uno schema di segmentazione diverso dalTalgoritmo SLIC considerato nella presente descrizione. Alcuni idonei algoritmi di segmentazione di immagini sono, tra gli altri, l’algoritmo del taglio normalizzato (Jianbo Shi, Jitendra Malik, "Normalized Cuts and Image Segmentation", IEEE Transactions on Pattern Analysis and Machine Intelligence, Volume 22 Issue 8, August 2000), l’algoritmo di Felzenswalb e Locker (Pedro Felzenszwalb, Daniel P, Huttenlocher, "Efficient graph-based image segmentation", International Journal of Computer Vision 59.2, 2004).
In un’altra fonna di realizzazione deH’algoritmo di raggruppamento in superpixel, i tassi di codifica dei bordi e dei coefficienti di trasformazione possono essere predetti almeno in parte secondo un modello basato su statistiche di codifica raccolte, anziché essere misurati con un’effettiva codifica grafica del superpixel, in tal modo riducendo la complessità di codifica.
In un’altra forma di realizzazione, il raggruppamento in superpixel può essere basato su una metrica di compromesso tasso-distorsione anziché semplicemente sul soddisfacimento di un bit-rate tollerabile massimo sull’intera immagine. In tale forma di realizzazione, dopo una detenninata prova di codifica secondo l’invenzione l’immagine viene immediatamente decodificata e l’immagine originale viene confrontata con la sua versione decodificata, dopodiché viene calcolato il rapporto tasso-distorsione e la codifica provvisoria viene conservata o meno a seconda del compromesso risultante oppure della distorsione introdotta dal processo di codifica e/o della combinazione tra tasso e distorsione.
In un’altra forma di realizzazione, la dissimilarità tra due superpixel può essere misurata quale differenza tra altre metriche di rappresentazione del colore diverse dalla metrica CIEDE2000 considerata nella presente descrizione. Tra le metriche di colore idonee figurano la distanza Mahalanobis (Prasanta C. Malia! anobi s, 'Όη thè generalized distance in statistics”, in National Institute of Sciences of India, Calcutta, India, 1936, voi. 2, pp. 49-55) e la distanza Bhattacharyya (Anil K. Bhattacharyya, 'Όη a measure of divergence between two statistica! populations defined by their probability di stributi ons”, Bulletin of Calcutta Mathematical Society, voi. 35, no. 1, pp. 99-109, 1943).
In un’altra forma di realizzazione, la geometria di un singolo superpixel può essere descritta dal poligono corrispondente al bordo interno del superpixel stesso utilizzando una rappresentazione vettoriale in luogo di un’immagine in bianco e nero. Ciò permette di risparmiare spazio nella rappresentazione del bordo del superpixel.
In un’altra forma di realizzazione, la geometria complessiva dei superpixel può essere rappresentata come un’immagine in bianco e nero in cui i pixel neri (o bianchi) rappresentano i confini che separano due superpixel, come illustrato in Fig. 3(c): il vantaggio di quest’ ulti ma forma di realizzazione consiste nel fatto che ogni bordo comune a due superpixel vicini viene codificato una volta sola, riducendo in tal modo il tasso di codifica dei bordi e migliorando l’efficienza di compressione.
In un’altra forma di realizzazione, l’immagine monocromatica che rappresenta i bordi del superpixel può essere compressa utilizzando codici concatenati come (H. Freeman, “On thè encoding of arbitrary geometrie configurati ons”, IRE Transactions on Electronic Computers EC, VOI, 10(1961)) o (E. Bribiesca, "A new chain code", IEEE Transactions on Pattern Recognition, Voi. 32 (1999)) in luogo del codec JBIG discusso nella presente descrizione.
In un’altra forma di realizzazione, l’immagine monocromatica che rappresenta Ì bordi del superpixel può essere compressa sfruttando tecniche esistenti che assicurano una compressione uniforme a tratti delle immagini, come ad esempio le mappe di profondità impiegate nel rendering basato su D1BR, quale lo schema basato su codifica aritmetica descritto in (I. Daribo, D. Fiorendo, G. Cheung, “Arbitrarily shaped motion prediction for depth video coding using arithmetic edge coding", 2012 19th IEEE International Conference on Image Processing (ICIP), 302012).
In un’altra forma di realizzazione, i coefficienti di trasformazione f<A>vengono ulteriormente compressi con tecniche di codifica esistenti prima di essere immessi nel canale o memorizzati in un’unità di memorizzazione, e vengono decompressi nel ricevitore prima di essere elaborati dall’unità di decodifica grafica. Le tecniche di codifica idonee comprendono la quantizzazione non uniforme, la scansione a zig-zag, la codifica differenziale e la codifica entropica.
L’invenzione può essere adattata per poter essere utilizzata per comprimere anche immagini a colori. Nel caso di un’immagine RGB, ad esempio, l’invenzione può essere utilizzata per comprimere almeno una delle componenti R, G o B; siccome le componenti sono in generale fortemente correlate, perlomeno per quanto concerne i bordi, è possibile dedurre o predire i bordi delle altre componenti sulla base di quelli della componente iniziale. Analogamente, nel caso di un’immagine a colori con codifica YUV, la componente di luminanza Y può essere compressa secondo l’invenzione, mentre le componenti cromatiche U e V possono essere compresse e decompresse in modo simile al loro segnale differenza da Y (Y-U e Y-V), con alcuni adattamenti che tengono conto delle diverse caratteristiche statistiche delle componenti cromatiche rispetto alla luminanza.
L’invenzione può anche essere integrata in una tecnica di codifica video in cui viene tenuta in considerazione anche la correlazione temporale tra immagini diverse della sequenza video, A tale scopo è possibile utilizzare in combinazione con l’invenzione un meccanismo di predizione simile a quelli impiegati negli standard convenzionali di compressione video per comprimere e decomprimere efficacemente un segnale video.
I termini immagine e blocco di immagine utilizzati nella presente descrizione per indicare un segnale bidirezionale in ingresso devono essere interpretati nel loro significato più ampio. Essi possono comprendere valori di pixel direttamente derivati o estratti da un’immagine naturale, un’immagine artificiale, l’errore di predizione di un’immagine, una versione sottocampionata di un’immagine a maggiore risoluzione, qualsiasi porzione di detti tipi di immagini, o altro.
La presente descrizione ha affrontato alcune delle possibili varianti, ma apparirà chiaro all’uomo del ramo che sono possibili anche altre fonne di realizzazione, in cui alcuni elementi possono essere sostituiti con altri elementi tecnicamente equivalenti. La presente invenzione non si limita quindi agli esempi esplicativi qui descritti, ma è passibile di varie modificazioni, perfezionamenti o sostituzioni di partì ed elementi equivalenti senza tuttavia allontanarsi dall’idea dell’invenzione, così come è meglio precisato nelle rivendicazioni seguenti.

Claims (1)

  1. RIVENDICAZIONI: 1 , Apparato (1100) per codificare immagini digitali, comprendente - mezzi di input (1170) configurati per acquisire almeno una porzione di un’immagine (f) da una sorgente (1000), - mezzi di output (1180) configurati per trasmettere almeno una porzione di un’immagine codificata a una destinazione (1200), caratterizzato dal fatto di comprendere - mezzi di elaborazione (11 10) configurati per a) leggere almeno una porzione di detta immagine (f), b) segmentare la porzione di detta immagine (f) per ottenere uno o più gruppi di pixel (Ρ'), in cui i gruppi sono individuati da informazioni su bordi (P<bl>) e ciascun gruppo di pixel contiene pixel aventi un livello predetenni nato di similarità secondo almeno una metrica di similarità, c) calcolare individualmente per ogni gruppo di pixel (P<1>) una trasformata di grafo per ottenere coefficienti di trasformazione (fi'"') sulla base dei pixel contenuti in detto gruppo (Ρ'), d) emettere in uscita, tramite i mezzi di output (1180), le informazioni su bordi (P<bl>) e i coefficienti di trasfonn azione (f<Al>) di ciascun gruppo di pixel (P<1>) verso detta destinazione (1200), 2, Apparato codificatore (1100) secondo la rivendicazione 1, in cui i mezzi di elaborazione (1 110) sono anche configurati per e) calcolare informazioni di dissimilarità tra due o più gruppi vicini di pixel (P<1>) per valutare il livello di similarità tra detti gruppi vicini di pixel (Ρ') e aggregare due o più gruppi vicini di pixel (P<1>) sulla base di dette informazioni di dissimilarità, in modo tale da ottenere una nuova segmentazione di detta almeno una porzione di un’immagine avente un numero inferiore di gruppi di pixel, 3, Apparato codificatore (1100) secondo la rivendicazione 2, in cui il passo e) è ripetuto su diversi gruppi successivi di pixel (P<1>) fino a che viene soddisfatta almeno una delle seguenti condizioni: - il tasso complessivo per la rappresentazione delle informazioni su bordi e dei coefficienti di trasformazione dei gruppi della nuova segmentazione in forma codificata è inferiore a una soglia predeterminata, - la distorsione complessiva relativa ad almeno una porzione deirimmagine codificata rappresentata dalle informazioni su bordi e dai coefficienti di trasformazione dei gruppi della nuova segmentazione è inferiore a una soglia predeterminata, - il numero di gruppi (P<1>) nella nuova segmentazione è inferiore a una soglia predeterminata, 4, Apparato codificatore (1100) secondo una qualsiasi delle rivendicazioni da 1 a 3, in cui il passo c) comprende - calcolare una mappa dei pesi (W<1>) sulla base delle informazioni su bordi (P<bl>) associate a un gruppo di pixel (P<1>), - calcolare gli autovettori (U<1>) di detta mappa dei pesi (W<1>), e - calcolare i coefficienti di trasformazione (f<A>‘) sulla base di detti autovettori (U<1>) e dei pixel contenuti in detto gruppo di pixel, in cui detta mappa dei pesi (W<1>) indica il livello di similarità tra coppie di pixel vicini alfintemo di detto gruppo di pixel (P<1>). 5. Apparato codificatore (1100) secondo la rivendicazione 4, in cui detta mappa dei pesi (W<1>) comprende valori binari che sono valori non nulli solo per le coppie di pixel di un gruppo (P<1>) che sono considerati adiacenti, 6, Apparato codificatore (1100) secondo una qualsiasi delle rivendicazioni da 1 a 5, in cui i mezzi di elaborazione (11 10) sono anche configurati per segmentare la porzione di detta immagine utilizzando l’algoritmo SL1C (Simple Linear Iterative Clustering). 7. Apparato codificatore (1100) secondo una qualsiasi delle rivendicazioni da 1 a 6, in cui i mezzi di elaborazione (1110) sono anche configurati per comprimere le infonnazioni su bordi (P<bl>) e/o i coefficienti di trasfonn azione (f<Al>) prima della loro trasmissione. 8. Apparato codificatore (1100) secondo la rivendicazione 7, in cui i mezzi di elaborazione (11 10) sono anche configurati per comprimere le informazioni su bordi (P<bl>) utilizzando un codificatore JBIG (Joint Bi-level Image Experts Group). 9. Apparato (1300) per decodificare immagini digitali, comprendente - mezzi di input (1180) configurati per acquisire almeno una porzione codificata di un’immagine (f) da un canale di comunicazione o un mezzo di memorizzazione (1200), - mezzi video di output (1270) configurati per produrre in uscita un’immagine ricostruita (f~), caratterizzato dal fatto di comprendere - mezzi di elaborazione (11 10) configurati per a) ricevere, tramite i mezzi di input (1380), informazioni su bordi (P<bl>), che individuano gruppi di pixel (Ρ') relativi a una segmentazione di almeno una porzione di immagine, e coefficienti di trasformazione (f<1>) di detti gruppi (P<1>), b) operare, individualmente per ciascun gruppo di pixel (P<1>), una trasformata di grafo inversa su detti coefficienti di trasformi azione (ΐ<Λΐ>) per ottenere gruppi ricostruiti di pixel di immagine (P<' 1>), c) calcolare un’immagine ricostruita (f~) aggregando i gruppi ricostruiti di pixel (P<1>) sulla base di dette informazioni su bordi (P<bl>), d) emettere in uscita, tramite detti mezzi video di output (1270), l’immagine ricostruita (f ) . 10. Apparato decodificatore (1300) secondo la rivendicazione 9, in cui i mezzi di elaborazione (1110) sono anche configurati per decomprimere le informazioni su bordi (P<bl>) e/o i coefficienti di trasformi azione (f<1>) prima di eseguire il passo b). 11. Apparato decodificatore (1300) secondo la rivendicazione 10, in cui i mezzi di elaborazione (1110) sono anche configurati per decomprimere le infonnazioni su bordi (P<bl>) utilizzando un decodificatore JBIG. 12. Apparato decodificatore (1300) secondo una qualsiasi delle rivendicazioni da 9 a 11 , in cui il passo b) comprende - calcolare una mappa dei pesi (W<1>) sulla base delle informazioni su bordi (P<bl>) associate a detto gruppo di pixel, e - calcolare individualmente per ciascun gruppo di pixel (Ρ') gli autovettori (U<1>) della mappa dei pesi (W<1>) e un gruppo ricostruito di pixel (P-<1>) sulla base di coefficienti di trasformazione (f<Al>) e degli autovettori (U<1>), in cui detta mappa dei pesi (W<1>) indica il livello di similarità tra coppie di pixel vicini all’interno di detto gruppo di pixel (P<1>). 13, Apparato decodificatore (1300) secondo la rivendicazione 12, in cui detta mappa dei pesi (W<1>) comprende valori binari che sono valori non nulli soltanto per le coppie di pixel di un gruppo (Ρ') che sono considerati adiacenti. 14, Metodo per codificare immagini o flussi video digitali, comprendente - una fase di ricezione, in cui viene ricevuta almeno una porzione di un’immagine (f) tramite mezzi di input (1170), caratterizzato dal fatto di comprendere anche - una fase di segmentazione, in cui la porzione di detta immagine (f) viene segmentata dai mezzi di elaborazione (1110) per ottenere uno o più gruppi di pixel (P) individuati da informazioni su bordi (P<b>), in cui ogni gruppo contiene almeno due pixel aventi un livello predeterminato di similarità secondo almeno una metrica di similarità, - una fase di trasformazione, in cui ogni gruppo di pixel (Ρ') viene individualmente e indipendentemente trasformato dai mezzi di elaborazione (1 110) in coefficienti di trasformata di grafo (P ') sulla base dei pixel contenuti in detto gruppo (P<1>), - una fase di output, in cui le informazioni su bordi (P<b>) e i coefficienti di trasformazione (f<A<>) di ogni gruppo di pixel (P<1>) sono trasmessi a una destinazione (1200) tramite i mezzi di output (1180), 15. Metodo per decodificare immagini digitali, comprendente - una prima fase di ricezione, in cui si ricevono, mediante mezzi di input (1180), informazioni su bordi (P<b>), che individuano gruppi di pixel (P<1>) relativi a una segmentazione di almeno una porzione di immagine, e coefficienti di trasformazione (fi'<1>) di detti gruppi di pixel (P<1>), - una fase di trasformazione inversa, in cui, per ciascun gruppo di pixel (P<1>), viene operata una trasformata inversa di grafo su detti coefficienti di trasformazione (f '<1>) per ottenere gruppi ricostruiti di pixel di immagine (P ), - una fase di ricostruzione dellrmmagine, in cui viene calcolata un’immagine ricostruita (f~), attraverso i mezzi di elaborazione (1110), aggregando i gruppi ricostruiti di (P<">) sulla base di dette informazioni su bordi (P<b>), - una fase di output, in cui l’immagine ricostruita (f~) viene emessa in uscita tramite mezzi video di uscita (1270).
ITUB2015A003912A 2015-09-25 2015-09-25 Metodi e apparati per codificare e decodificare immagini digitali mediante superpixel ITUB20153912A1 (it)

Priority Applications (5)

Application Number Priority Date Filing Date Title
ITUB2015A003912A ITUB20153912A1 (it) 2015-09-25 2015-09-25 Metodi e apparati per codificare e decodificare immagini digitali mediante superpixel
US15/762,496 US10616603B2 (en) 2015-09-25 2016-09-23 Methods and apparatuses for encoding and decoding digital images through superpixels
EP16781200.7A EP3354030B1 (en) 2015-09-25 2016-09-23 Methods and apparatuses for encoding and decoding digital images through superpixels
CN201680055404.8A CN108028941B (zh) 2015-09-25 2016-09-23 用于通过超像素编码和解码数字图像的方法和装置
PCT/IB2016/055684 WO2017051358A1 (en) 2015-09-25 2016-09-23 Methods and apparatuses for encoding and decoding digital images through superpixels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ITUB2015A003912A ITUB20153912A1 (it) 2015-09-25 2015-09-25 Metodi e apparati per codificare e decodificare immagini digitali mediante superpixel

Publications (1)

Publication Number Publication Date
ITUB20153912A1 true ITUB20153912A1 (it) 2017-03-25

Family

ID=54884323

Family Applications (1)

Application Number Title Priority Date Filing Date
ITUB2015A003912A ITUB20153912A1 (it) 2015-09-25 2015-09-25 Metodi e apparati per codificare e decodificare immagini digitali mediante superpixel

Country Status (5)

Country Link
US (1) US10616603B2 (it)
EP (1) EP3354030B1 (it)
CN (1) CN108028941B (it)
IT (1) ITUB20153912A1 (it)
WO (1) WO2017051358A1 (it)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6975177B2 (ja) * 2016-06-03 2021-12-01 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 生物学的対象物の検出
WO2018141385A1 (en) * 2017-02-02 2018-08-09 Huawei Technologies Co., Ltd. Image and video processing apparatuses and methods
GB2565775A (en) * 2017-08-21 2019-02-27 Nokia Technologies Oy A Method, an apparatus and a computer program product for object detection
US10748036B2 (en) * 2017-11-21 2020-08-18 Nvidia Corporation Training a neural network to predict superpixels using segmentation-aware affinity loss
CN109992742A (zh) * 2017-12-29 2019-07-09 华为技术有限公司 一种信号处理方法及装置
CN108921823B (zh) 2018-06-08 2020-12-01 Oppo广东移动通信有限公司 图像处理方法、装置、计算机可读存储介质和电子设备
CN109598726A (zh) * 2018-10-26 2019-04-09 哈尔滨理工大学 一种基于slic的自适应图像目标区域分割方法
CN110443800B (zh) * 2019-08-22 2022-02-22 深圳大学 视频图像质量的评价方法
CN112990226A (zh) * 2019-12-16 2021-06-18 中国科学院沈阳计算技术研究所有限公司 一种基于机器学习的显著性物体检测方法
CN113259665B (zh) * 2020-02-07 2022-08-09 华为技术有限公司 一种图像处理方法以及相关设备
US11816149B2 (en) * 2020-02-11 2023-11-14 Samsung Electronics Co., Ltd. Electronic device and control method thereof
US11330196B2 (en) * 2020-10-12 2022-05-10 Microsoft Technology Licensing, Llc Estimating illumination in an environment based on an image of a reference object
CN114693816B (zh) * 2022-04-02 2023-04-28 陕西合友网络科技有限公司 一种智能化图像大数据存储方法
CN115278263B (zh) * 2022-06-08 2024-04-02 西安韵通网络科技有限公司 一种高效的大数据实时传输方法及系统
CN115359075B (zh) * 2022-10-24 2023-03-24 济南霍兹信息科技有限公司 基于云计算的软件开发应用数据处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120251003A1 (en) * 2011-03-23 2012-10-04 Kabushiki Kaisha Toshiba Image processing system and method

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3933346C1 (it) * 1989-10-06 1991-04-04 Ant Nachrichtentechnik Gmbh, 7150 Backnang, De
US6798834B1 (en) * 1996-08-15 2004-09-28 Mitsubishi Denki Kabushiki Kaisha Image coding apparatus with segment classification and segmentation-type motion prediction circuit
US6516094B1 (en) * 1997-07-11 2003-02-04 Matsushita Electric Industrial Co., Ltd. Digital image coding method and digital image decoding method
US7418148B2 (en) * 2003-09-29 2008-08-26 Casio Computer Co., Ltd. Image compression method and image compression device
EP2360927A3 (en) 2010-02-12 2011-09-28 Samsung Electronics Co., Ltd. Image encoding/decoding system using graph based pixel prediction and encoding system and method
US9153031B2 (en) * 2011-06-22 2015-10-06 Microsoft Technology Licensing, Llc Modifying video regions using mobile device input
US8873812B2 (en) * 2012-08-06 2014-10-28 Xerox Corporation Image segmentation using hierarchical unsupervised segmentation and hierarchical classifiers
US20140211000A1 (en) * 2013-01-31 2014-07-31 Inview Technology Corporation Sensing Signals with Affine-Harmonically Related Rows of Kronecker-Product Matrices
JP6136537B2 (ja) * 2013-04-26 2017-05-31 オムロン株式会社 画像処理装置、画像処理方法、画像処理制御プログラム、および記録媒体
JP6135283B2 (ja) * 2013-04-26 2017-05-31 オムロン株式会社 画像処理装置、画像処理方法、プログラムおよび記録媒体
JP6330385B2 (ja) * 2014-03-13 2018-05-30 オムロン株式会社 画像処理装置、画像処理方法およびプログラム
US20150363664A1 (en) * 2014-06-13 2015-12-17 Nokia Corporation Method, Apparatus and Computer Program Product for Image Processing
US9736455B2 (en) * 2014-06-30 2017-08-15 Nokia Technologies Oy Method and apparatus for downscaling depth data for view plus depth data compression
EP3308327A4 (en) * 2015-06-11 2019-01-23 University of Pittsburgh - Of the Commonwealth System of Higher Education SYSTEMS AND METHODS FOR FINDING REGIONS OF INTEREST IN HEMATOXYLIN AND EOSIN (H & E) DYED TISSUE IMAGES AND QUANTIFYING INTRATUMORAL CELLULAR HORIZONTAL HETEROGENICITY IN MULTIPLEXED / HYPERPLEXED FLUORESCENT TISSUE IMAGES
EP3340620A4 (en) * 2015-08-23 2019-04-17 LG Electronics Inc. IMAGE PROCESSING METHOD BASED ON INTER-PREDICTION MODE AND APPARATUS THEREOF

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120251003A1 (en) * 2011-03-23 2012-10-04 Kabushiki Kaisha Toshiba Image processing system and method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHI-YU HSU ET AL: "Efficient image segmentation algorithm using SLIC superpixels and boundary-focused region merging", 2013 9TH INTERNATIONAL CONFERENCE ON INFORMATION, COMMUNICATIONS & SIGNAL PROCESSING, IEEE, 10 December 2013 (2013-12-10), pages 1 - 5, XP032584474, DOI: 10.1109/ICICS.2013.6782861 *
HU WEI ET AL: "Multiresolution Graph Fourier Transform for Compression of Piecewise Smooth Images", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 24, no. 1, 1 January 2015 (2015-01-01), pages 419 - 433, XP011569005, ISSN: 1057-7149, [retrieved on 20141223], DOI: 10.1109/TIP.2014.2378055 *
SHUMAN D I ET AL: "The emerging field of signal processing on graphs: Extending high-dimensional data analysis to networks and other irregular domains", IEEE SIGNAL PROCESSING MAGAZINE, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 30, no. 3, 1 May 2013 (2013-05-01), pages 83 - 98, XP011514759, ISSN: 1053-5888, DOI: 10.1109/MSP.2012.2235192 *
WOO-SHIK KIM ET AL: "Graph based transforms for depth video coding", 2012 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP 2012) : KYOTO, JAPAN, 25 - 30 MARCH 2012 ; [PROCEEDINGS], IEEE, PISCATAWAY, NJ, 25 March 2012 (2012-03-25), pages 813 - 816, XP032227251, ISBN: 978-1-4673-0045-2, DOI: 10.1109/ICASSP.2012.6288008 *

Also Published As

Publication number Publication date
WO2017051358A1 (en) 2017-03-30
EP3354030A1 (en) 2018-08-01
CN108028941B (zh) 2020-10-27
US20180278957A1 (en) 2018-09-27
US10616603B2 (en) 2020-04-07
CN108028941A (zh) 2018-05-11
EP3354030B1 (en) 2021-08-18

Similar Documents

Publication Publication Date Title
ITUB20153912A1 (it) Metodi e apparati per codificare e decodificare immagini digitali mediante superpixel
CN111819853B (zh) 图像块编码装置和图像块编码方法
US10477204B2 (en) Harmonized palette coding
WO2016192073A1 (zh) 编码方法、解码方法及其装置
WO2017071480A1 (zh) 参考帧编解码的方法与装置
TWI827616B (zh) 用以編碼及解碼經轉換之視訊樣本區塊的方法、設備和系統
WO2015120818A1 (zh) 图像编码、解码方法及装置
US20210329270A1 (en) Method and apparatus for point cloud coding
US11503293B2 (en) Residual coding for transform skipped blocks
IT201600122898A1 (it) Metodi e apparati per codificare e decodificare immagini o flussi video digitali
AU2024200562A1 (en) Tool selection for feature map encoding vs regular video encoding
CN114788284B (zh) 用于在调色板模式下对视频数据进行编码的方法和装置
WO2023197032A1 (en) Method, apparatus and system for encoding and decoding a tensor
JP7253053B2 (ja) ピクチャのためのブロックベースの空間活性測度
WO2022217472A1 (zh) 点云编解码方法、编码器、解码器及计算机可读存储介质
AU2022200086A1 (en) Method, apparatus and system for encoding and decoding a block of video samples
WO2023197033A1 (en) Method, apparatus and system for encoding and decoding a tensor
WO2023197030A1 (en) Method, apparatus and system for encoding and decoding a tensor
WO2023197031A1 (en) Method, apparatus and system for encoding and decoding a tensor
WO2023197029A1 (en) Method, apparatus and system for encoding and decoding a tensor
WO2022213141A1 (en) Grouped feature map quantisation
WO2022213140A1 (en) 4:2:0 packing of feature maps
TW202147850A (zh) 用於組合無損和有損寫碼之方法和系統
CN117880523A (zh) 多维数据的端到端特征压缩编码的系统和方法