Por que alguns arquivos JPEG da mesma cena são muito maiores que outros?


12

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

Histograma de tamanho JPEG

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

Imagem típica de 37K

Esta é a imagem da anomalia : -

73K imagem de 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).

Diferença normalizada entre imagens de 37K e 73K

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.


Você já viu os campos EXIF ​​/ ICMP das imagens maiores? Talvez a câmera esteja armazenando algumas informações extras lá.
MBaz 27/05

As duas primeiras imagens incluídas têm aproximadamente o mesmo tamanho: cerca de 36k. Por que você está dizendo que eles são 70k? Talvez o site de upload de imagens os esteja codificando novamente?
Peter K.


1
Minha antiga Nikon me permite pegar uma imagem JPEG e uma imagem bruta. Eu tentaria capturar uma imagem anômala crua.

Uau, essa pergunta foi feita há um ano e ainda não recebeu uma resposta. O OP descobriu isso?
Rakshit Kothari

Respostas:


1

Meu palpite é que o foco automático ou a abertura mudem brevemente de uma maneira em que a imagem resultante contenha mais elementos de alta frequência.

Por exemplo, se o foco se deslocar de um objeto suave para um objeto texturizado (como o hipopótamo suave para a cortina de pano) de uma maneira que a textura detalhada dos detalhes apareça, o JPEG tenderá a ter um tamanho bem maior.

Como já foi dito por outra pessoa: parece uma boa ideia verificar os dados EXIF ​​da imagem em busca de alterações nos parâmetros principais, como abertura e distância do foco. Para uma diferença tão marcante no tamanho da imagem, é bem provável que algum parâmetro fundamental seja diferente na opinião da câmera.


0

É comum que os sensores 'CMOS' encontrem um fenômeno conhecido como "PURPLE FRINGING" ou possíveis problemas "Sensor Bloom", que explicarei em mais detalhes em um segundo.

Devo preceder isso, no entanto, dizendo-lhe que há realmente algum debate sobre se a PF é a causa do Sensor Bloom ou vice-versa, mas a linha inferior: ambos podem ser o resultado de anomalias na lente ou no próprio sensor da câmera - ou ambos. Esses efeitos podem resultar de um efeito culmativo que causa uma sobrecarga, se você, no sensor, causar um aumento na luz capturada. FAZENDO O ARQUIVO MAIOR.

Acredito que a sobrecarga ocorra na faixa magenta (ou roxa), e esse fenômeno é bastante raro.

Pense no sensor como uma enorme bandeja de cubos de gelo ..... dispostos em uma grade como a moda. Se um compartimento transbordar de água (leve) por causa da anomalia ... ele pode transbordar para os compartimentos adjacentes e assim por diante, causando um lote de cubos de gelo de volume um pouco maior para esse lote. (Possivelmente explicando um tamanho maior de arquivo ... E dados de cores)

Agora, esse é o melhor palpite e encontrei um link que você pode achar útil com mais informações sobre o item acima - E também algumas informações técnicas adicionais que podem ajudar a isolar o problema para você, se minha avaliação estiver incorreta.

Confira este link http://toothwalker.org/optics/chromatic.html

Lembre-se de que RGB é um espaço de cores subtrativo. A cor via luz (vs pigmentos) é manipulada removendo a luz em certos comprimentos de onda. Alguns comprimentos de onda de cores são mais longos que outros.

Há uma ótima lição de óptica na página que também pode ajudar a explicar a anomalia.


2
-1 Não acho que essa seja a resposta para o problema. Por que de repente haveria o sensor florescer em um quadro? O arquivo de diferença não mostra isso ou a borda roxa. Também não tornaria o arquivo duas vezes maior.
Olli Niemitalo 27/01

Além disso, RGB é o espaço de cores aditivo CMYK é o subtrativo. Em RGB, "roxo" é R + B
MSalters
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.