Dithering: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 1 link interrotto/i. #IABot (v1.6.5)
FrescoBot (discussione | contributi)
m Bot: numeri di pagina nei template citazione e modifiche minori
 
(18 versioni intermedie di 15 utenti non mostrate)
Riga 1:
Il '''dithering''', nella elaborazione numerica di segnali, è una forma di [[Rumore (elettronica)|rumore]] con una opportuna distribuzione, che viene volontariamente aggiunto ai [[campione (statistica)|campioni]] con l'obiettivo di minimizzare la distorsione introdotta dal troncamento nel caso in cui si riquantizzino i campioni stessi. Il dithering viene usato abitualmente nell'elaborazione di segnali video e audio campionati e quantizzati. Il dithering non ha nulla a che vedere col [[jitter]]. È invece correlato con la [[risonanza stocastica]] in fisica, in cui la presenza di rumore stocastico aumenta la risposta di un segnale a perturbazioni esterne.<ref>{{Cita pubblicazione|nome=Luca|cognome=Gammaitoni|wkautore=Luca Gammaitoni|data=1995-11-01|titolo=Stochastic resonance and the dithering effect in threshold physical systems|rivista=Physical Review E|volume=52|numero=5|pp=4691-4698|accesso=2022-04-05|doi=10.1103/PhysRevE.52.4691|url=https://link.aps.org/doi/10.1103/PhysRevE.52.4691}}</ref>
 
== Storia ==
Riga 6:
Di fondamentale importanza per lo sviluppo delle teorie legate al dithering è un secondo lavoro in cui vengono dimostrati due [[teorema|teoremi]] che illustrano come la somma di rumore con una certa [[distribuzione (matematica)|distribuzione]] al segnale quantizzato possa essere considerata in modo analogo al filtro [[antialiasing]] usato nel processo di campionamento temporale dei segnali.<ref>B. Widrow, “Statistical analysis of amplitude quantized sampled-data systems” Trans. AIEE, Part. II, Vol.79, no. 52, pp.555-568, Jan. 1961</ref>
 
Il concetto di dithering viene ulteriormente approfondito da Lawrence G. Roberts nella sua [[dottorato|tesi di dottorato]] nel [[1961]], presso il [[Massachusetts Institute of Technology|MIT]],<ref>Lawrence G. Roberts, ''Picture Coding Using Pseudo-Random Noise'', MIT, tesi di dottorato, 1961 [http://www.packet.cc/files/pic-code-noise.html online] {{Webarchive|url=https://web.archive.org/web/20060926134827/http://www.packet.cc/files/pic-code-noise.html |data=26 settembre 2006 }}</ref> nonostante egli non abbia usato il termine ''dither''.
 
== Origine del termine "dither" ==
[[ImmagineFile:Didder def 1707.png|thumb|La prima definizione in un dizionario di ''didder''<ref>[[Thomas Blount]], ''Glossographia Anglicana Nova: Or, A Dictionary, Interpreting Such Hard Words of whatever Language, as are at present used in the English Tongue, with their Etymologies, Definitions, &c. Also, The Terms of Divinity, Law, Physick, Mathematics, History, Agriculture, Logick, Metaphysicks, Grammar, Poetry, Musick, Heraldry, Architecture, Painting, War, and all other Arts and Sciences are herein explain'd, from the best Modern Authors, as, Sir Isaac Newton, Dr. Harris, Dr. Gregory, Mr. Lock, Mr. Evelyn, Mr. Dryden, Mr. Blunt, &c.'', Londra, [[1707]].</ref>|sinistra|178x178px]]
 
[[ImmagineFile:Dither def 1788.png|thumb|Definizione provinciale di ''dither'' <ref>tratta da ''The Rural Economy of Yorkshire: Comprizing the Management of Landed Estates, and the Present Practice of Husbandry in the Agricultural Districts of that County'', scritto da Mr. Marshall (William), Vol. II, Londra: T. Cadell, 1788.</ref>|209x209px]]
 
{{quotecitazione|...uno dei primi [usi] del dithering avvenne durante la Seconda Guerra Mondiale. I bombardieri usarono i computer meccanici per orientarsi e calcolare la traiettoria delle bombe. Curiosamente, questi computer (scatole riempite con centinaia d'ingranaggi e ruote dentate) funzionavano più accuratamente quando erano impiegati a bordo degli aerei, e meno al suolo. Gli ingegneri capirono che la vibrazione prodotta dall'aereo riduceva l'errore causato dai componenti viscosi in movimento. Invece di muoversi a scatti, si muovevano con maggiore continuità. Vennero inseriti piccoli motorini all'interno dei computer, con l'intenzione di farli vibrare, e queste vibrazioni vennero chiamate 'dither', termine preso dal verbo anglosassone 'didderen', che significava 'tremare'. Oggi, quando si dà un colpetto ad un contatore meccanico per aumentarne l'accuratezza, si sta applicando del dithering, ed i moderni dizionari inglesi definiscono "dither" come 'stato di elevato nervosismo, confusione o agitazione'. In seguito il dithering rese i sistemi digitali leggermente più analogici, nel senso buono del termine.
|[[Ken Pohlmann]], ''Principles of Digital Audio'' (<small>quarta edizione, pagina 46</small>)
|...one of the earliest [applications] of dither came in World War II. Airplane bombers used mechanical computers to perform navigation and bomb trajectory calculations. Curiously, these computers (boxes filled with hundreds of gears and cogs) performed more accurately when flying on board the aircraft, and less well on ground. Engineers realized that the vibration from the aircraft reduced the error from sticky moving parts. Instead of moving in short jerks, they moved more continuously. Small vibrating motors were built into the computers, and their vibration was called "dither" from the Middle English verb 'didderen,' meaning 'to tremble.' Today, when you tap a mechanical meter to increase its accuracy, you are applying dither, and modern dictionaries define "dither" as 'a highly nervous, confused, or agitated state.' In minute quantities, dither successfully makes a digitization system a little more analog in the good sense of the word.|lingua=en}}
 
== Il dither nel processo digitale e nell'analisi delle forme d'onda ==
Il dithering viene spesso usato nei campi dell'audio e video digitali, dove serve per stimare le conversioni e (di solito in modo facoltativo) le trasformazioni di [[profondità di colore]]; viene utilizzato in molti settori differenti in cui il processo e l'analisi digitale sono necessari - specialmente nell'analisi delle [[Forma d'onda|forme d'onda]]. QuestiTra i campi di utilizzo usivi includonosono sistemi digitali quali [[audio digitale]], [[video digitale]], [[fotografia digitale]], [[sismologia]], [[radar]], [[meteorologia]] ed altri ancora.
 
La premessa è che la [[Quantizzazione (elettronica)|quantizzazione]] e la ri-quantizzazione dei dati digitali genera [[Errore di quantizzazione|errori (detti di quantizzazione)]]. Se questo errore si ripete ed è correlato al segnale, se ne ottiene uno ciclico e matematicamente deterministico. In alcuni campi, specialmentesoprattutto dove i recettori sono sensibili agli errori, il comportamento ciclico porta ad [[Artefatto (segnali)|artefatti]] indesiderati. In questi ambiti, il dithering permette di avere artefatti non deterministici che quindi perdono la loro ciclicità. Il campo sonoro è un esempio primario: l'[[orecchio]] umano funziona allo stesso modo di una [[trasformata di Fourier]], in cui individua singole frequenze. L'orecchio è particolarmente sensibile alla [[distorsione (fisica)|distorsione]] ovvero a frequenze addizionali che modificano il ''colore'' del suono. Questa sensibilità si può ridurre rendendo casuale il rumore su tutte le frequenze.
 
== Audio digitale ==
La versione finale di un brano audio che viene scritto digitalmente su di un [[compact disc]], è tipicamente quantizzata a 16 [[bit (informatica)|bit]] per campione ma, grazie al processo di editing audio, i dati crescono in profondità quanto occorre. Più calcoli matematici svolgiamo, più il campione cresce in profondità: come se si trattasse di aggiungere, moltiplicare o dividere numeri decimali. Alla fine i dati digitali vengono riportati alla profondità iniziale ([[16 bit]]) per poter essere memorizzati su di un CD e distribuiti.
 
Esistono molti metodi che permettono di tornare ai canonici 16 bit. Ad esempio, si possono semplicemente troncare i bit in eccesso (troncamento). È anche possibile arrotondare i bit in eccesso al valore più prossimo. Ognuno di questi algoritmi, comunque, produce un imprevedibile errore nel risultato. Consideriamo, ad esempio, una forma d'onda composta dai seguenti valori:
 
1 2 3 4 5 6 7 8
 
Se la riduciamo del 20% otteniamo questa sequenza:
Riga 35:
Troncando i valori otteniamo:
 
0 1 2 3 4 4 5 6
 
Se invece li arrotondassimo avremmo:
 
1 2 2 3 4 5 6 6
 
Se qualsiasi sequenza, compresa quella iniziale, viene processata moltiplicando i valori per 0.8 il risultato conterrà errori che saranno ovviamente ripetibili. Un'onda rappresentante la funzione di [[seno (trigonometria)|seno]] quantizzata al valore originario, ad esempio, comporterà lo stesso errore ogni volta che il suo valore sarà "3.4" visto che il risultato verrebbe abbassato di 0,4. Ogni volta che il valore è "5", l'errore dopo il processo sarà 0. In ogni caso, l'ammontare dell'errore cambierà continuamente al modificarsi dei valori. Il risultato ha un comportamento ciclico nell'errore, che mostra la sua frequenza addizionale sulla forma d'onda ([[Distorsione armonica totale|distorsione armonica]]). L'orecchio è in grado di percepire questo errore sotto forma di frequenza addizionale.
Riga 56:
Per far comprendere al meglio la funzione del dithering, vengono messi a disposizione i seguenti file audio:
*{{Link audio|16bit_sine.ogg|16-bit originale}}
*{{Link audio|6bit_sine_truncated.ogg|troncato a 6 bitsbit}}
*{{Link audio|6bit_sine_dithered.ogg|dithering a 6 bitsbit}}
 
==== Quando aggiungere il dithering ====
Il dithering va aggiunto prima di qualsiasi quantizzazione o ri-quantizzazione al fine di prevenire comportamenti non lineari (distorsione); più bassa è la [[profondità di bit]], più grande deve essere il dither. Il risultato sarà ancora distorto, ma la distorsione, essendo di natura casuale, viene ridotta a rumore. Qualsiasi processo di riduzione di bit dovrebbe aggiungere il dither alla forma d'onda prima di applicare la riduzione.
 
=== Differenti tipi di dithering ===
Riga 85:
Il '''dithering colorato''' viene a volte descritto come quel dithering che è stato filtrato per differenziarsi dal [[rumore bianco]]. Alcuni [[algoritmo|algoritmi]] di dithering usano un rumore che possiede più energia nelle alte frequenze, e meno nella banda audio critica.
 
Il '''''[[noise shaping]]''''' non è in realtà un dithering, poiché consiste nel "modellare" il rumore, come dice il suo nome, spostandolo in zone dello spettro audio in cui è meno udibile. Normalmente viene associato al dithering, e quindi sposta appunto questo rumore. È tuttavia possibile anche usarlo senza dithering. In tal caso il rumore di ri-quantizzazione rimane distorto, ma viene spostato in zone dello spettro audio in cui è meno udibile.
 
==== Quale dithering usare ====
Riga 93:
 
== Fotografia digitale e image processing ==
[[ImmagineFile:Dithering example red blue.png|frame|Applicazione del dithering. I soli colori usati sono il rosso ed il blu ma, al rimpicciolirsi dei [[pixel]], il colore appare viola.|200x200px]]
Il ''dithering'' viene usato in [[computer grafica]] per creare l'illusione della [[profondità di colore]] in immagini dotate di una [[tavolozza (informatica)|tavolozza]] limitata (quantizzazione del colore). In un'immagine sottoposta a dithering, i colori non disponibili vengono approssimati dalla distribuzione dei [[pixel]] colorati con le tinte disponibili. L'occhio umano percepisce la diffusione come un amalgama dei colori.<ref>Per approfondire, vedi anche ''[[Colore#Percezione del colore|percezione del colore]]''</ref>
Il dithering è simile alla tecnica chiamata ''halftone'' nella [[Stampa (processo)|stampa]] in cui si usava un [[retino stocastico]]. Le immagini trattate con il dithering, particolarmente quelle in cui vengono usati pochi colori, possono spesso apparire granulari, o composte da puntini.
 
== Esempi di dithering ==
<div style="float:right; width: 260px; margin: 0 0 1em 1em"></div>
 
Ridurre la profondità del colore di un'immagine spesso causa effetti collaterali indesiderati. Se l'immagine originale è una fotografia, probabilmente i colori saranno migliaia, o addirittura milioni. Limitarne il numero fa, ovviamente, perdere qualità all'immagine.
Riga 116 ⟶ 115:
 
== Utilizzi del dithering ==
Tutti i [[display]] [[hardware]], comprese le vecchie [[scheda video|schede video]] dei primi computer o i moderni [[Schermo a cristalli liquidi|schermi LCD]] fino alle [[fotocamera digitale|fotocamere digitali]], sono in grado di mostrare un limitato numero di colori rispetto alle [[periferica|periferiche]] più avanzate. Uno degli usi del dithering permette di mostrare immagini di qualità su schermi che non lo sono. Ad esempio, possiamo visualizzare immagini in [[Profondità di colore#Truecolor|truecolor]] su schermi in grado di mostrare solo 256 colori alla volta. I colori disponibili verranno usati per generare "un' "approssimazione" dell'immagine originale. Il dithering sfrutta i vantaggi dell'[[occhio|occhio umano]], che tende a miscelare due colori se sono posti troppo vicini ([[acutezza visiva]]).
 
Questo uso del dithering, in cui gli schermi dei computer sono la principale limitazione, viene fatto nel campo del [[software]] come i [[browser|web browser]]. Dal momento che il browser raccoglie immagini da fonti esterne, può essere necessario operare il dithering su quelle troppo "profonde". A causa di questo problema, venne definita una tavolozza standard chiamata ''Web-safe palette'', che raggruppa i colori visualizzabili su tutti gli schermi, a prescindere dal [[sistema operativo]] o dal browser utilizzati.
 
Un altro utile impiego del dithering è in quelle situazioni in cui il [[ElencoLista di tipiformati di file#File grafici|formato dei file grafici]] è il fattore limitante. In particolare, il comunissimo [[Graphics Interchange Format|GIF]] utilizza al massimo 256 colori in molti software di editing. Le immagini in altri formati, come il [[Portable Network Graphics|PNG]], possono avere restrizioni imposte dalla volontà di limitare la dimensione del [[file]]. Questo genere di immagini ha una tavolozza predefinita contenente i colori utilizzabili all'interno dell'immagine. In questi casi, i programmi di editing possono sobbarcarsi il compito di applicare il dithering prima di salvare le immagini nel loro formato.
 
== Algoritmi di dithering ==
[[ImmagineFile:Dithering algorithms.png|thumbnail|Dimostrazione delle differenze tra i vari tipi di dithering|570x570px]]Esistono molti algoritmi creati per l'applicazione del dithering. Uno dei primi, ed ancora tra i più popolari, è l'[[algoritmo di Floyd-Steinberg]], sviluppato nel [[1975]]. Uno dei punti di forza di questo algoritmo è la sua capacità di minimizzare gli artefatti visivi attraverso un processo di diffusione dell'errore; solitamente produce immagini più simili all'originale rispetto a quanto fatto da altri algoritmi similari.
 
Gli altri metodi comprendono:
Riga 136 ⟶ 135:
 
== Il dithering in fotografia astronomica ==
Il termine dithering è usato in fotografia astronomica digitale con un significato molto diverso. Quando si eseguono riprese a posa molto lunga (foto di galassie, nebulose, ammassi stellari, ecc.) è pratica comune suddividere la posa in sequenze di scatti, che vengono poi "fusi" nell'immagine finale mediante software appositi. Per esempio, 12 scatti da 10 minuti generano un'immagine simile a quella che si otterrebbe con 120 minuti di posa continua (suddividere la posa in più scatti brevi porta una serie di vantaggi, tanto che questa metodologia è standard). Il dithering consiste nello spostare leggermente lo strumento tra uno scatto e il successivo, in modo che eventuali difetti del sensore non si presentino in tutti i singoli scatti nello stesso punto dell'immagine. Ciò permette di cancellare questi difetti dall'immagine finale, mediante l'elaborazione che si esegue dopo le riprese. Di norma il sistema di controllo del telescopio si occupa in automatico di questa operazione, spostando di pochissimo lo strumento (in una direzione casuale) tra uno scatto e l'altro, ovviamente prima di riaprire l'otturatore per lo scatto successivo.
 
== Note ==
Riga 145 ⟶ 144:
* {{en}} Aldrich, Nika. "[https://web.archive.org/web/20020214121242/http://www.cadenzarecording.com/ Digital Audio Explained]"
* {{en}} Katz, Bob. [https://web.archive.org/web/20060705085908/http://digido.com/portal/pmodule_id=11/pmdmode=fullscreen/pageadder_page_id=27/ The Secrets of Dither]"
* {{en}} Katz,Cita Bob. "{{collegamento interrottoweb|1url=[http://www.digido.com/portal/pmodule_id=11/pmdmode=fullscreen/pageadder_page_id=66/?PHPSESSID|titolo=62e494f55b80063f2bf090bf60c0253b Mastering Audio]|autore=Katz, Bob|datelingua=aprileen|accesso=6 2018agosto 2021|boturlarchivio=InternetArchiveBothttps://web.archive.org/web/20061008070832/http://www.digido.com/portal/pmodule_id=11/pmdmode=fullscreen/pageadder_page_id=66/|dataarchivio=8 ottobre 2006|urlmorto=sì}}"
 
== Voci correlate ==
Riga 152 ⟶ 151:
* [[Algoritmo di Floyd-Steinberg]]
* Comando di valvole proporzionali in [[Pulse-width modulation]]
* [[Risonanza stocastica]]
 
== Altri progetti ==
{{interprogetto|preposizione=sul}}
 
== Collegamenti esterni ==
*{{en}} [https://web.archive.org/web/20070927122512/http://www.efg2.com/Lab/Library/ImageProcessing/DHALF.TXT DHALF.TXT] ([[1991]]) analizza vari filtri basati sul Floyd-Steinberg.
*{{en}} [http://www.hifi-writer.com/he/dvdaudio/dither.htm Cos'è il Dither?] Articolo pubblicato su ''Australian HI-FI'' contenente esempi grafici di come il dithering audio riduca le distorsioni.