Uma matriz de pixels hexagonais poderia armazenar uma imagem com mais eficiência?

11

A maioria dos monitores e televisões de computador possui uma matriz retangular de pixels dispostos em uma estrutura quadrada (ou quase quadrada). Uma estrutura hexagonal forneceria melhor qualidade de imagem para o mesmo número de pixels? Em outras palavras, a mesma quantidade de memória permitiria o armazenamento de mais detalhes?

Tenho uma sensação intuitiva de que (pelo menos um pouco) mais detalhes devem ser possíveis a partir do mesmo número de pixels com uma estrutura hexagonal, porque (para uma imagem de área fixa) a distância média ao centro de pixels mais próximo será menor do que com uma estrutura quadrada . Eu gostaria de ver a diferença definida de maneira mais concreta.


Mesmo se a resposta for "sim", não espero que os fabricantes de monitores de repente comecem a criar pixels dispostos hexagonalmente. No entanto, faço a pergunta porque me pergunto se haveria alguma coisa a ganhar com o armazenamento de imagens como treliças hexagonais de pixels, mesmo se elas forem convertidas em treliças quadradas de pixels para fins de exibição.

Trichoplax
fonte
1
Para chegar a essa pergunta, você deve ter tido algumas vantagens do arranjo hexagonal de pixels. Você pode adicioná-los à pergunta?
Nitishch
@ nitishch era apenas a única vantagem que eu tinha em mente. Minha edição apresenta melhor?
Trichoplax
A troca de pilha DSP (processamento de sinal) provavelmente teria uma resposta mais formal para você neste BTW.
Alan Wolfe
1
FWIW, eu ouvi falar de monitores (geralmente monitores muito grandes em estádios) que usam uma configuração delta-nabla. (Nomeado para a letra delta grega "Δ" e a letra nabla hebraica "∇" porque os pixels alternavam triângulos com o ponto subindo, depois descendo, subindo e descendo.) Um exemplo é o Philips Vidiwall.
user1118321

Respostas:

8

Aqui está minha opinião. Um pixel não é um quadrado e nem mesmo é um retângulo. Um pixel é um ponto (infinitamente pequeno) que possui uma cor associada.

A única maneira que eu pessoalmente vi pixels visualizados (interpretados) por uma tela é usar a amostragem "vizinho mais próximo" onde os pixels estavam em uma grade retangular, o que significa que a cor de qualquer espaço em uma tela é a cor do pixel que está mais próximo.

Esta é uma maneira elegante de dizer "os pixels são retangulares e dispostos em uma grade", mas fique comigo: P

Como resultado, os formatos de imagem também têm seus pixels armazenados em uma grade, com a suposição de que o vizinho mais próximo em uma grade também será usado para exibi-la. Por exemplo, muitas imagens terão anti-aliasing incorporado para que fiquem bem quando exibidas em uma "grade vizinha mais próxima".

Aplicativos interativos (jogos) podem usar texturas que não devem ser exibidas como estão nas grades vizinhas mais próximas, portanto são uma exceção a essa regra. Eles fazem isso porque, como parte de sua execução, fazem anti-aliasing, amostragem bilinear de texturas, etc., para que qualquer imagem que eles exibam na tela tenha uma boa aparência, quando a tela mostrar como uma grade vizinha mais próxima!

Agora, aproximando-se da sua pergunta: uma grade hexagonal teria alguma vantagem?

Eu acho que sim!

Primeiro, acho que o vizinho mais próximo ficaria melhor. Eu não tenho nenhuma prova real disso, mas o hexágono se aproxima mais de um círculo e, como não é uma grade regular de dados, acho que seu olho está recebendo uma melhor distribuição de dados. Desculpe, é uma mãozinha ondulada.

Eu acho que a maior parte do motivo de parecer melhor é que a filtragem linear pegaria informações de 6 vizinhos em vez de 4 e interpolaria em 3 eixos em vez de 2. Mais informações de amostras espaçadas com menos frequência do que uma grade fornece = melhor imagem resultante.

Fazer a interpolação cúbica também seria melhor do que a interpolação cúbica em uma grade; portanto, a qualidade aumenta conforme você aumenta também a qualidade do seu algoritmo.

Na medida em que ele armazena dados de maneira mais eficiente, o fato de poder fazer uma filtragem melhor com menos dados significa para mim que sim, ele poderia armazenar dados de maneira mais eficiente.

E acho que, por último ... talvez você possa usar essas propriedades para sua vantagem. Talvez você possa ter um formato de imagem armazenado em um formato hexagonal de menor resolução e, antes de precisar exibir a imagem em tempo de execução, você pode usar algoritmos de amostragem para convertê-la novamente em uma grade.

Talvez houvesse uma boa maneira de fazer isso de maneira eficiente em um pixel shader, para que também usasse menos memória em tempo de execução?

É uma ideia interessante (:

PS - quão legal seria ter uma exibição analógica (sem pixels individuais, mas uma superfície colorida contínua) que olhasse para os dados de pixel enviados não como retângulos, mas como pontos de amostra em uma superfície contínua. Talvez um pouco lá fora ....

Alan Wolfe
fonte
2
Você não precisa armazenar cada plano de cor em cada pixel nem ter os planos na mesma configuração. MAS você solta separáveis filtragem
joojaa
Bons pontos! A filtragem separável é muito grande. Gostaria de saber se você poderia fazer a filtragem de 3 eixos para hexágonos?
Alan Wolfe
4

Se examinarmos os antigos monitores de televisão CRT, observamos pontos de fósforo vermelho, verde e azul em uma treliça triangular. Alguns aparelhos de televisão LCD tinham um arranjo semelhante; os pixels eram retangulares em vez de quadrados, mas as sucessivas linhas de pixels eram escalonadas para que a posição horizontal de um pixel vermelho em uma linha estivesse na metade do caminho entre as posições dos pixels vermelhos mais próximos na linha acima e correspondesse à posição de um vermelho. pixel duas linhas acima.

Ao mostrar imagens "analógicas", esses arranjos melhoram a qualidade visual da imagem que pode ser obtida com um determinado número de pixels. Em monitores de computador, no entanto, existem muitas linhas que devem aparecer perfeitamente horizontais e muitas linhas que devem aparecer perfeitamente verticais. Uma grade retangular pode acomodar ambos facilmente. Uma grade hexagonal, no entanto, pode acomodar apenas uma ou outra, e a que não for acomodada parecerá um tanto desagradável.

supercat
fonte
Então, não é bom para excel :)
joojaa