Estou usando uma câmera IP Foscam FI8910W para visualizar uma cena estática sob condições de iluminação constantes. Quando afasto uma captura de quadro, ele tem cerca de 35 KB. Eu posso fazer isso várias vezes e sempre tem cerca de 35 KB, mas flutua um pouco devido a vários ruídos inerentes à captura eletrônica de imagens. Essa flutuação aleatória é da ordem de 1 KB, no máximo.
A cada 2500 quadros, o tamanho da imagem de um quadro é subitamente da ordem de 70 KB. Não há subida gradual para cima se você estiver pensando em ruído térmico enquanto a câmera aquece. 1 quadro terá 70 KB (ish) e retornará aos quadros com tamanho de 35 KB.
Isso já aconteceu antes com outra corrida olhando para uma cena diferente. O tamanho do arquivo comum era 39 KB e, em 10.000 quadros, 4 eram da ordem de 77 KB. O histograma do tamanho da imagem ficou assim: -
Antes de você perguntar, eu consegui salvar um desses quadros e parece exatamente como todos os outros, exceto a flutuação de ruído esperada. Eles têm aproximadamente o mesmo número de cores únicas em cerca de 23.000. Portanto, não é uma mariposa pousar aleatoriamente na lente por exatamente 1 quadro e depois voar. Para completar, fiz outra série de imagens e este é um exemplo de imagem típica (a reflexão é o iluminador IR): -
Esta é a imagem da anomalia : -
Você pode ver que não há diferença. Desculpe o hipopótamo. Estou bastante familiarizado com o algoritmo JPEG e não consigo ver como isso pode acontecer além de um erro de codificação na implementação da Foscam. Mas, poderia haver algo inerentemente caótico dentro de algumas das funções de transformação JPEG (como a discreta transformação ou quantização de cossenos)? Estatisticamente, seria de esperar uma distribuição normal do tamanho do arquivo e é isso que vejo em torno de 39 KB. Existem vários outliers a 77 KB. Portanto, não parece estocástico.
A razão pela qual isso está no CS e não no hardware é que estou perguntando: poderia ser um fenômeno de código de programação relacionado ao algoritmo de codificação JPEG? Parece improvável, mas as anomalias são aleatórias e pouco frequentes e não há interação humana com o dispositivo. A codificação JPEG é estável?
O motivo pelo qual você pode não estar familiarizado com esse fenômeno é que, como as imagens têm a mesma aparência, ninguém realmente vê o tamanho dos arquivos. O tamanho do arquivo é de importância crítica para mim, então notei. Como isso pode acontecer aproximadamente a cada 2500 quadros?
Suplementar:-
A publicação dessas imagens não funcionará, pois o software imgur faz uma nova amostra dos arquivos enviados. Então, enquanto eu publiquei arquivos de 37K e 73K, o imgur re-amostrou ambos para 35K. Esse parece ser um problema do Stack Exchange que parece irônico para um site que lida com processamento de imagens, compactação e análise de dados.
Este é o meu processamento das imagens. É a diferença normalizada entre uma imagem normal e a anomalia. A imagem é como você esperaria, com ruído JPEG nas regiões de alta frequência. Esta é uma imagem RGB, embora pareça monocromática. Existem 8000 cores exclusivas no cubo de cores (representando o ruído).
Suplementar 2: -
Conforme solicitado, 4 quadros normais e 2 quadros anormais podem ser baixados dos quadros de amostra . É uma cena diferente, mas o comportamento anômalo ainda ocorreu, e isso prova que é consistente.