Perché alcuni file JPEG della stessa scena sono molto più grandi di altri?


12

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: -

Istogramma in formato JPEG

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): -

Immagine tipica 37K

Questa è l' immagine anomala : -

Immagine anomala 73K

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).

Differenza normalizzata tra le immagini 37K e 73K

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.


Hai guardato i campi EXIF ​​/ ICMP delle immagini più grandi? Forse la fotocamera sta memorizzando alcune informazioni extra lì.
MBaz,

Entrambe le prime due immagini incluse hanno all'incirca le stesse dimensioni: circa 36k. Perché stai dicendo che sono 70k? Forse il sito di caricamento delle immagini li sta ricodificando?
Peter K.


1
La mia vecchia Nikon mi permette di catturare sia un'immagine jpeg che un'immagine grezza. Vorrei provare a catturare un'immagine anomala grezza.

Caspita, questa domanda è stata posta un anno fa e non ha ancora ricevuto risposta. OP l'ha capito?
Rakshit Kothari,

Risposte:


1

La mia ipotesi è che l'autofocus o l'apertura cambino brevemente in un modo in cui l'immagine risultante contiene più elementi ad alta frequenza.

Ad esempio, se la messa a fuoco si sposta da un oggetto liscio a un oggetto testurizzato (come l'ippopotamo liscio sul drappo di stoffa) in un modo in cui le superfici della trama di dettaglio di quest'ultimo si presentano, JPEG tenderà ad assumere dimensioni piuttosto grandi.

Come ha già affermato qualcun altro: sembra una buona idea controllare i dati EXIF ​​dell'immagine per le modifiche ai parametri fondamentali come l'apertura e la distanza di messa a fuoco. Per una differenza così notevole nella dimensione dell'immagine, è molto probabile che alcuni parametri fondamentali siano diversi secondo l'opinione della telecamera.


0

È comune con i sensori "CMOS" incontrare un fenomeno noto come "FRENATA VIOLA" o possibili problemi di "Fioritura del sensore", che spiegherò più dettagliatamente in un secondo.

Devo prefigurarlo, tuttavia, dicendoti che in realtà c'è qualche dibattito sul fatto che PF sia la causa di Sensor Bloom o viceversa, ma la linea di fondo: entrambi possono essere il risultato di anomalie nell'obiettivo o nel sensore della fotocamera stessa - o entrambi. Questi effetti possono essere il risultato di un effetto cumulativo che provoca un sovraccarico se, a sua volta, nel sensore causerai un picco nella luce catturata. RENDERE IL FILE PIÙ GRANDE.

Credo che il sovraccarico si verifichi nella gamma magenta (o viola) e questo fenomeno è piuttosto raro.

Pensa al sensore come a un'enorme vaschetta per cubetti di ghiaccio ..... disposta secondo una griglia alla moda. Se un compartimento si riempie eccessivamente di acqua (leggera) a causa dell'anomalia .... può traboccare negli scomparti adiacenti e così via, causando un lotto di cubetti di ghiaccio di volume leggermente più grande per quel lotto. (Forse spiegando una dimensione del file più grande ... E i dati di colore)

Ora questa è una supposizione migliore e ho trovato un link che potresti trovare utile con maggiori informazioni su quanto sopra - E BEN COME alcune informazioni tecniche aggiuntive che potrebbero aiutarti a isolare il problema per te se la mia valutazione non è corretta.

Dai un'occhiata a questo link http://toothwalker.org/optics/chromatic.html

Ricorda che RGB è uno spazio cromatico sottrattivo. Il colore attraverso la luce (rispetto ai pigmenti) viene manipolato rimuovendo la luce in determinate lunghezze d'onda. Alcune lunghezze d'onda del colore sono più lunghe di altre.

C'è una grande lezione di ottica sulla pagina che può anche aiutare a spiegare l'anomalia.


2
-1 Non penso che questa sia la risposta al problema. Perché improvvisamente dovrebbe esserci una fioritura di sensori in un fotogramma? Il file differenza non mostra questo o frange viola. Inoltre non renderebbe il file 2x grande.
Olli Niemitalo il

Inoltre, RGB è lo spazio colore additivo CMYK è quello sottrattivo. In RGB, "viola" è R + B
MSalters il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.