Sto usando una telecamera ip Foscam FI8910W per visualizzare una scena statica in condizioni di illuminazione costante. Quando tiro indietro un frame grab, ha una dimensione di circa 35 KB. Posso farlo più e più volte ed è sempre intorno ai 35 KB, ma fluttua in qualche modo a causa dei vari rumori inerenti alla cattura elettronica delle immagini. Questa fluttuazione casuale è solo dell'ordine di 1 KB al massimo.
Circa ogni 2500 fotogrammi, la dimensione dell'immagine di un fotogramma è improvvisamente nell'ordine di 70 KB. Non vi è alcun graduale spostamento verso l'alto se si pensa al rumore termico mentre la fotocamera si riscalda. 1 frame sarà 70 KB (ish) e poi torneranno ai frame di dimensioni 35 KB.
Questo è successo prima con un'altra corsa guardando una scena diversa. La dimensione del file comune era quindi di 39 KB e su 10.000 frame, 4 erano dell'ordine di 77 KB. L'istogramma della dimensione dell'immagine era simile al seguente: -
Prima che tu me lo chieda, sono riuscito a salvare uno di questi frame e sembra esattamente che tutti gli altri escludano la fluttuazione del rumore prevista. Hanno circa lo stesso numero di colori unici a circa 23.000. Quindi non è una falena che atterra casualmente sull'obiettivo per esattamente 1 fotogramma e poi vola via. Per completezza, ho fatto un'altra serie di immagini e questo è un tipico esempio di immagine (il riflesso è l'illuminatore IR): -
Questa è l' immagine anomala : -
Puoi vedere che non c'è differenza. Scusa l'ippopotamo. Conosco abbastanza bene l'algoritmo JPEG e non riesco a vedere come ciò possa accadere se non un errore di codifica nell'implementazione di Foscam. Ma potrebbe esserci qualcosa di intrinsecamente caotico in alcune delle funzioni di trasformazione JPEG (come la trasformazione del coseno discreto o la quantizzazione)? Statisticamente, ci si aspetterebbe una normale distribuzione delle dimensioni del file e questo è ciò che vedo intorno ai 39 KB. Quindi ci sono diversi valori anomali a 77 KB. Quindi non sembra stocastico.
Il motivo è che questo è in CS e non nell'hardware che sto chiedendo potrebbe essere un fenomeno di codice di programmazione relativo all'algoritmo di codifica JPEG? Sembra improbabile, ma le anomalie sono casuali e poco frequenti e non vi è alcuna interazione umana con il dispositivo. La codifica JPEG è stabile?
Il motivo per cui potresti non avere familiarità con questo fenomeno è che, dato che le immagini sembrano uguali, nessuno osserva davvero le dimensioni del file. La dimensione del file è di fondamentale importanza per me, quindi ho notato. Come può succedere all'incirca ogni 2500 fotogrammi?
Supplementare: -
Pubblicare queste immagini non funzionerà ragazzi, poiché il software imgur ricampiona i file caricati. Quindi, mentre ho pubblicato file da 37K e 73K, imgur ha ricampionato entrambi a 35K. Questo sembra essere un problema di scambio di stack che sembra ironico per un sito che si occupa di elaborazione delle immagini, compressione dei dati e analisi.
Questa è la mia elaborazione delle immagini. È la differenza normalizzata tra un'immagine normale e l'anomalia. L'immagine è come ti aspetteresti, con rumore JPEG nelle regioni ad alta frequenza. Questa è un'immagine RGB anche se sembra monocromatica. Ci sono 8000 colori unici nel cubo di colore (che rappresenta il rumore).
Supplemento 2: -
Come richiesto, 4 frame normali e 2 frame anomali possono essere scaricati da frame di esempio . È una scena diversa, ma si è ancora verificato un comportamento anomalo, quindi questo dimostra che è coerente.