Pourquoi les pixels sont-ils carrés?


207

Les pixels sur les écrans sont carrés, mais je ne sais pas pourquoi.

Les deux images pixélisées semblent très mauvaises - mais je ne suis pas sûr qu'il y ait un avantage des carrés aux hexagones ici.

Les hexagones se divisent également en 3 couleurs:

Alors, quel est l'avantage des carrés dans un écran LCD / CRT?


20
Veuillez clarifier le contexte. Faites-vous référence à des affichages, formats d'image ou impressions? Et même alors, cette question pourrait être trop large.
Daniel B

66
Les pixels sont des unités logiques sans dimension et ne sont jamais carrés, comme @DanielB le suggère, chaque rasterizer les traite différemment. Google images de "pixels de l'écran" par exemple.
Yorik

5
Cette question devrait peut-être être migrée vers l'expérience utilisateur ou le génie électrique .
curieuxdannii


13
Je ne comprends pas. Pourquoi cela a-t-il été voté et pourquoi n'a-t-il pas été migré vers un forum d'ingénierie mécanique?
Carl Witthoft

Réponses:


264

Les pixels sur les écrans sont carrés, mais je ne sais pas pourquoi.

Ils ne sont pas (nécessairement) carrés.

Certains diront qu'ils ne sont jamais carrés ("Un pixel est un échantillon de points. Il n'existe qu'en un point.").


Alors, quel est l'avantage des carrés dans un écran LCD / CRT?

  • D'autres arrangements (tels que des triangles, des hexagones ou d'autres polygones de remplissage d'espace ) sont plus onéreux en termes de calcul.

  • Chaque format d'image est basé sur des pixels (quelle que soit leur forme) disposés dans un tableau rectangulaire.

  • Si nous devions choisir une autre forme ou une autre disposition, il faudrait réécrire de nombreux logiciels.

  • Toutes les usines fabriquant actuellement des écrans à disposition rectangulaire en pixels devraient être réoutillées pour une autre disposition.


Aspects pratiques de l'utilisation d'un système de coordonnées hexagonal

Il faut généralement prendre en compte quatre considérations majeures lors de l’utilisation d’un système de coordonnées hexagonales:

  • Conversion d'image - Le matériel capable de capturer des images du monde réel directement sur un réseau hexagonal est hautement spécialisé et n'est donc généralement pas disponible. Par conséquent, un moyen efficace de convertir une image à grille carrée standard en une image hexagonale est nécessaire avant tout traitement.
  • Adressage et stockage - Toutes les manipulations effectuées sur les images doivent être en mesure d'indexer et d'accéder à des pixels individuels (dans ce cas, les hexagones plutôt que les carrés), et toute image sous forme hexagonale doit pouvoir être stockée sous forme hexagonale l'heure à laquelle l'image a été consultée). De plus, un système d’indexation simple à suivre et simplifiant l’arithmétique de certaines fonctions serait très précieux.
  • Opérations de traitement des images - Pour utiliser efficacement le système de coordonnées hexagonal, les opérations doivent être conçues ou converties de manière à exploiter les points forts du système, en particulier ceux du système d’adressage utilisé pour l’indexation et le stockage.
  • Affichage de l'image - Comme lors de l'obtention de l'image, les dispositifs d'affichage n'utilisent généralement pas de réseaux hexagonaux. Par conséquent, l'image convertie doit être renvoyée dans un formulaire pouvant être envoyé à un périphérique de sortie (moniteur, imprimante ou autre entité), l'affichage résultant apparaissant dans des proportions et une échelle naturelles. La nature exacte de cette conversion dépend de la méthode d’indexation utilisée. Cela pourrait être une simple inversion du processus de conversion initial ou une convolution plus importante.

Problèmes avec les systèmes de coordonnées hexagonales

Il existe cependant quelques problèmes avec les systèmes de coordonnées hexagonaux. Un problème est que les gens sont très habitués au réseau traditionnel en treillis carré.

Raisonner dans des hexagones peut sembler non naturel et donc un peu difficile. On pourrait soutenir que les gens peuvent s’y habituer s’ils le doivent, mais il est toujours vrai qu’ils seront naturellement enclins à raisonner avec le système de coordonnées cartésien traditionnel par défaut, les systèmes hexagonaux n’étant qu’un choix secondaire.

Le manque de périphériques d'entrée mappés sur des réseaux hexagonaux et le manque de périphériques de sortie qui s'affichent en tant que tels constituent également un obstacle:

  • La nécessité de convertir les carrés en hexagones et inversement diminue l'utilité d'opérer sur des réseaux hexagonaux.

  • Ces réseaux étant plus denses que les réseaux carrés équivalents de même taille apparente, à moins que les images ne soient introduites avec une résolution volontairement supérieure à la résolution à appliquer, les images converties doivent extrapoler certains emplacements de pixels (ce qui est généralement moins souhaitable pixels fournis directement à partir d'une source).

  • La conversion en treillis carrés ramènerait certains emplacements de pixels en un autre, ce qui entraînerait une perte de détails apparents (ce qui pourrait entraîner une image de qualité inférieure à celle initialement alimentée).

Si l'on cherche à utiliser des systèmes de coordonnées hexagonaux dans leur propre travail sur la vision, ils doivent d'abord déterminer si ces problèmes sont compensés par les avantages inhérents au fonctionnement avec des hexagones.

Systèmes de coordonnées hexagonaux source


At-on essayé une autre forme ou mise en page?

L’affichage XO-1 fournit une couleur pour chaque pixel. Les couleurs s'alignent sur les diagonales allant du haut-droit au bas à gauche. Pour réduire les artefacts de couleur provoqués par cette géométrie de pixel, la composante couleur de l'image est floue par le contrôleur d'affichage au moment où l'image est envoyée à l'écran.

Comparaison de l’affichage XO-1 (à gauche) avec un affichage à cristaux liquides (LCD) typique. Les images montrent 1 × 1 mm de chaque écran. Un écran LCD typique adresse des groupes de 3 emplacements en pixels. L’écran LCD OLPC XO adresse chaque emplacement sous forme de pixel distinct:

entrez la description de l'image ici

Source OLPC XO

D'autres écrans (notamment les OLED) utilisent différentes dispositions, telles que PenTile :

entrez la description de l'image ici

La disposition consiste en une quinconce comprenant deux sous-pixels rouges, deux sous-pixels verts et un sous-pixel bleu central dans chaque cellule unitaire.

Il a été inspiré par le biomimétisme de la rétine humaine, qui contient un nombre presque égal de cellules de cônes de type L et M, mais beaucoup moins de cônes en S. Comme les cônes S sont principalement responsables de la perception des couleurs bleues, qui n'affectent pas de manière appréciable la perception de la luminance, la réduction du nombre de sous-pixels bleus par rapport aux sous-pixels rouges et verts d'un affichage ne réduit pas la qualité de l'image.

Cette disposition est spécialement conçue pour fonctionner avec et dépend du rendu sous-pixel qui utilise seulement un quart de sous-pixel par pixel, en moyenne, pour restituer une image. C'est-à-dire que tout pixel d'entrée donné est mappé sur un pixel logique à centre rouge ou sur un pixel logique à centre vert.

Famille de matrice Source PenTile


Définition simple de pixel

N'importe lequel des très petits points qui ensemble forment l'image sur un écran de télévision, un écran d'ordinateur, etc.

Source http://www.merriam-webster.com/dictionary/pixel


Pixel

En imagerie numérique, un élément pixel, pixel ou image est un point physique dans une image raster, ou le plus petit élément adressable dans un dispositif d'affichage adressable tous points; c'est donc le plus petit élément contrôlable d'une image représentée à l'écran.

...

Un pixel n'a pas besoin d'être rendu sous la forme d'un petit carré . Cette image montre d'autres manières de reconstruire une image à partir d'un ensemble de valeurs de pixels, en utilisant des points, des lignes ou un filtrage régulier.

entrez la description de l'image ici

Source Pixel


Pixel aspect ratio

La plupart des systèmes d'imagerie numérique affichent une image sous forme de grille de minuscules pixels carrés. Cependant, certains systèmes d'imagerie , en particulier ceux qui doivent être compatibles avec les films cinématographiques de télévision en définition standard, affichent une image sous la forme d'une grille de pixels rectangulaires, dans laquelle la largeur et la hauteur des pixels sont différentes . Pixel Aspect Ratio décrit cette différence.

Ratio d'aspect du pixel source


Un pixel n'est pas un petit carré!

Un pixel est un échantillon de points. Il existe seulement à un moment donné.

Pour une image en couleur, un pixel peut en réalité contenir trois échantillons, un pour chaque couleur primaire contribuant à l'image au point d'échantillonnage. Nous pouvons toujours penser à cela comme un échantillon ponctuel d'une couleur. Mais nous ne pouvons pas considérer un pixel comme un carré ou autre chose qu'un point.

Il existe des cas où les contributions à un pixel peuvent être modélisées, par ordre décroissant, par un petit carré, mais jamais le pixel lui-même.

Source Un pixel n'est pas un petit carré! (Mémoire technique Microsoft 6, Alvy Ray Smith, 17 juillet 1995)


5
Citation nécessaire sur le point "plus coûteux en calcul". Lien idéal vers un document de recherche sur une tessellation hexagonale, par exemple, et sur une analyse informatique. On dirait que vous ne donnez que des explications plausibles.
Djechlin

4
De plus, nous réécrivons beaucoup de logiciels tout le temps pour améliorer les choses. Je ne suis pas sûr de votre argument.
Djechlin

5
@djechlin Actuellement, toutes les spécifications vidéo / image sont basées sur un tableau rectangulaire de pixels. L'affichage d'une vidéo ou d'une image nécessiterait la conversion d'un système de coordonnées rectangulaire (cartésien) en un système de coordonnées hexagonal. Les calculs pour tracer des lignes sur un système de coordonnées rectangulaire sont plus simples que sur un système de coordonnées hexagonal (ceci est un calcul de base). Ai-je besoin d'expliquer plus loin?
DavidPostill

2
@djechlin Réponse mise à jour et citation incluse
DavidPostill

4
+ 1 pour votre source Microsoft Tech Memo. Réponse géniale en général.
shock_gone_wild

71

J'aimerais proposer une alternative à la réponse bien pensée de David Postill. Dans sa réponse, il aborde la question de la quadrature des pixels, comme le suggère le titre. Cependant, il a fait un commentaire très perspicace dans sa réponse:

Certains diront qu'ils ne sont jamais carrés ("Un pixel est un échantillon de points. Il n'existe qu'en un point.").

Cette position peut en réalité engendrer une réponse totalement différente. Au lieu de se focaliser sur la raison pour laquelle chaque pixel est un carré (ou non), il peut expliquer pourquoi nous avons tendance à organiser ces échantillonnages ponctuels en grilles rectangulaires. En fait, ça n'a pas toujours été comme ça!

Pour faire valoir cet argument, nous allons jouer entre traiter une image comme une donnée abstraite (telle qu'une grille de points) et son implémentation dans du matériel. Parfois, une vue est plus significative que l'autre.

Pour commencer, allons assez loin en arrière. La photographie de film traditionnelle n’avait aucune "grille", ce qui explique en partie pourquoi les images ont toujours été aussi nettes que les images numériques modernes. Au lieu de cela, il avait un "grain" qui était une distribution aléatoire de cristaux sur le film. C'était à peu près uniforme, mais ce n'était pas un joli tableau rectiligne. L’organisation de ces grains découle du processus de fabrication du film, utilisant des propriétés chimiques. En conséquence, le film n'avait vraiment pas de "direction". C'était juste une projection 2D d'informations.

Avance rapide vers le téléviseur, en particulier les anciens tubes cathodiques à balayage. Les tubes cathodiques ont besoin de quelque chose de différent des photos: ils doivent pouvoir représenter leur contenu sous forme de données. En particulier, il devait s'agir de données pouvant être transmises en continu, de manière analogique, sur un fil (généralement sous la forme d'un ensemble de tensions en constante évolution). La photo était en 2D, mais nous avions besoin de la transformer en une structure en 1d afin qu’elle puisse varier d’un dimention (temps). La solution consistait à découper l'image en lignes (et non en pixels!). L'image était encodée ligne par ligne. Chaque ligne était un flux de données analogique et non un échantillonnage numérique, mais les lignes étaient séparées les unes des autres. Ainsi, les données étaient discrètes dans la direction verticale, mais continues dans la direction horizontale.

Les téléviseurs devaient restituer ces données en utilisant des luminophores physiques, et un téléviseur couleur avait besoin d'une grille pour les diviser en pixels. Chaque téléviseur pouvait le faire différemment dans le sens horizontal, offrant plus de pixels ou moins de pixels, mais ils devaient avoir le même nombre de lignes. En théorie, ils auraient pu compenser chaque rangée de pixels, exactement comme vous le suggérez. Cependant, dans la pratique, cela n'était pas nécessaire. En fait, ils sont allés encore plus loin. On s'est vite rendu compte que l'œil humain gérait les mouvements d'une manière qui ne leur permettait d'envoyer que la moitié de l'image par image! Sur une image, ils envoyaient les lignes impaires, et sur l'image suivante, ils envoyaient les lignes paires, et les assemblaient.

Depuis ce temps, la numérisation de ces images entrelacées a été un peu une astuce. Si j'avais une image de 480 lignes, je n'ai en réalité que la moitié des données dans chaque image en raison de l'entrelacement. Le résultat est très visible lorsque vous essayez de voir quelque chose se déplacer rapidement sur l’écran: chaque ligne est décalée temporellement d’ une image à l’autre, créant des traînées horizontales dans les éléments se déplaçant rapidement. Je le mentionne parce que c'est plutôt amusant: votre suggestion décale chaque demi-pixel de la grille de la grille vers la droite, tandis que l'entrelacement décale de moitié toutes les lignes de la grille!

Franchement, il est plus facile de faire ces belles grilles rectangulaires. Sans aucune raison technique de faire mieux que cela, ça a collé. Ensuite, nous sommes passés à l'ère de l'informatique. Les ordinateurs devaient générer ces signaux vidéo, mais ils n’avaient aucune possibilité analogique d’écrire une ligne analogique. La solution était naturelle, les données étaient scindées en pixels. Maintenant, les données étaient discrètes à la fois verticalement et horizontalement. Tout ce qui restait à faire était de choisir comment créer la grille.

Faire une grille rectangulaire était extrêmement naturel. Tout d’abord, chaque téléviseur était déjà en train de le faire! Deuxièmement, le calcul pour tracer des lignes sur une grille rectangulaire est beaucoup plus simple que de les dessiner sur une grille hexagonale. Vous pourriez dire "mais vous pouvez dessiner des lignes lisses dans 3 directions sur une grille hexagonale, mais seulement 2 dans la forme rectangulaire." Cependant, les grilles rectangulaires permettaient de tracer facilement des lignes horizontales et verticales. Les grilles hexagonales ne peuvent être dessinées que pour dessiner l'un ou l'autre. À cette époque, peu de gens utilisaient des formes hexagonales pour leurs efforts non liés à l'informatique (papier rectangulaire, portes rectangulaires, maisons rectangulaires ...). La capacité de rendre lisse horizontale etles lignes verticales surpassent de loin l'intérêt de créer des images en couleur lisses et en couleurs ... surtout compte tenu du fait que les premiers affichages étaient monochromes et qu'il faudrait beaucoup de temps avant que la finesse des images ne joue un rôle majeur dans la réflexion.

De là, vous avez un précédent très fort pour une grille rectangulaire. Le matériel graphique supportait ce que le logiciel faisait (grilles rectangulaires) et le logiciel ciblait le matériel (grilles rectangulaires). En théorie, certains matériels auraient peut-être tenté de créer une grille hexagonale, mais le logiciel ne la récompensait pas et personne ne voulait payer deux fois plus de matériel!

Cela nous fait avancer rapidement à aujourd'hui. Nous voulons toujours de belles lignes horizontales et verticales lisses, mais avec les écrans à rétine haut de gamme, cela devient de plus en plus facile. Cependant, les développeurs sont encore formés pour penser en termes de l’ancienne grille rectangulaire. Nous voyons des nouvelles API prennent en charge « coordonnées logiques » et de faire l' anti-aliasing pour le faire paraître comme il y a un espace 2d continue à jouer avec plein plutôt que d' une grille de pixels 2d rigides, mais son lent. Finalement, nous pourrions voir des grilles hexagonales.

Nous les voyons effectivement, mais pas avec des écrans. En impression, il est très courant d'utiliser une grille hexagonale. L'œil humain accepte la grille hexagonale beaucoup plus rapidement que la grille rectangulaire. Cela a à voir avec les lignes de chemin "alias" dans les différents systèmes. Les grilles hexagonales sont un alias de manière moins dure, avec laquelle l’œil est plus à l’aise (si une grille hexagonale doit monter ou descendre dans une rangée, elle doit le faire en douceur au cours d’une transition diagonale. Les grilles rectangulaires doivent sauter, ce qui crée discontinuité nette)


2
Parfait pour expliquer comment la télévision a été créée: un flux analogique. Cette norme existait depuis 70 ans et l’ajout de couleurs a été effectué de manière à conserver la compatibilité avec le noir et blanc, essayez de le faire de nos jours! Combien de formats vidéo y a-t-il maintenant?

3
"" "Les téléviseurs devaient restituer ces données en utilisant des luminophores physiques, avec une grille pour les diviser en pixels." "" - Cela était-il vrai de la télévision noir et blanc? Je croyais comprendre que des "luminophores physiques" discrets (qui ne correspondaient jamais à un élément de type pixel dans le flux de données) étaient fournis avec la télévision couleur et que les tubes cathodiques monochromes avaient simplement un revêtement continu de substance fluorescente.
Random832

J'aime l'histoire, mais je ne suis pas d'accord sur le passage aux appareils modernes. Bien que l'héritage semble rectiligne, un téléviseur est en fait analogique horizontalement jusqu'à ce que vous regardiez le phosphore de couleur sur le téléviseur. C'est en fait hexagonal! Je suggère que la vraie raison pour laquelle nous avons rectiligne est la mise en page VLSI est plus facile car rectiligne plutôt que hexagonalement emballé.
user3533030

1
Dans une télévision en noir et blanc, pourquoi ne pas maculer les phosphores sur la surface et laisser le flux d'électrons être plus fort / plus faible et les faire briller plus / moins de manière complètement analogique? En bref, pourquoi avoir des pixels (horizontaux)? Une fois que vous avez de la couleur, les choses se compliquent. mais même dans ce cas, le signal de couleur n'est pas défini pixel par pixel si je me souviens bien. En ce qui concerne les échantillons horizontaux, le nombre d'échantillons requis pour reconstituer un signal à partir d'échantillons d'intensité uniforme est fonction de la largeur de bande de fréquence et les demi-décalages "d'échantillons" n'améliorent pas cela.
Yakk

2
@Yakk La plupart des tubes cathodiques en noir et blanc ont été construits exactement de la même manière - les premiers tubes cathodiques de TV BW étaient dérivés de tubes cathodiques à radar / oscilloscope qui sont souvent contrôlés en mode analogique X / Y ou polaire, sans trame. Les téléviseurs utilisaient toujours le balayage ligne par ligne car cela correspond à la manière dont le signal est codé, mais pas de pixels sur les lignes. Certains écrans spécialisés (principalement pour les cockpits d’avions) utilisaient même des luminophores dont la couleur changeait en fonction de la force avec laquelle ils étaient frappés par un faisceau d’électrons (ce type d’affichage s'appelle un pénétron).
rackandboneman

21

Deux raisons:

  • Une forme rectangulaire par rapport à une forme circulaire, triangulaire ou supérieure à 4 côtés présente l’avantage de pouvoir être placée à côté d’autres rectangles avec un minimum d’espace perdu. Cela garantit que toute la zone du pixel contribue à l'image. D'autres formes peuvent «s'emboîter», mais elles seraient probablement plus complexes à fabriquer que de simples carrés ou rectangles, sans toutefois apporter d'avantages supplémentaires.

  • Un affichage pixellisé à usage général, qui peut être utilisé pour afficher tout type d’information, doit comporter des pixels ne favorisant pas certains types de formes. Les pixels doivent donc être carrés au lieu d’être plus longs ou plus larges dans une direction, et ne doivent être ni cisaillés ni pivotés.

    • Si les pixels sont plus hauts que larges, l'épaisseur minimale d'une ligne horizontale sera plus large que l'épaisseur minimale d'une ligne verticale, ce qui rendra les lignes horizontales et verticales différentes, pour le même nombre de pixels.

    • Si les pixels sont pivotés, seules les lignes inclinées correspondant à l'angle de rotation auront une apparence lisse, les autres lignes ayant une apparence irrégulière. La plupart des systèmes d’exploitation et des logiciels de productivité reposent sur des lignes droites, ce qui fait beaucoup de choses frangeantes ou déchiquetées.

    • Les pixels en cisaillement (losanges) seraient le pire des deux mondes - ni les diagonales ni les horizontales / verticales ne seraient lisses.

Si vous n'êtes pas intéressé par un écran polyvalent, mais orienté vers un objectif spécifique, vous pouvez être plus flexible. Un exemple extrême est la LED à 7 segments. Si vous devez simplement afficher un nombre, 7 pixels non carrés ainsi disposés suffisent. Ou des voyants à 15 segments qui autorisent les lettres.


Hmm, je ne suis pas sûr que l'argument de coût fonctionne pour les hexagones (je peux me tromper).
Tim

@ Tim - Vous devriez faire des recherches sur le sujet. Si les hexagones présentaient un avantage technique, un fabricant d’écrans les utiliserait, le fait qu’ils ne soient pas utilisés indique qu’ils ne bénéficient en aucune manière d’un avantage en termes de coût ou de performance.
Ramhound

2
@Ramhound oui, compris. J'ai besoin de plus de recherches - et bien cette question est ma recherche. Je demande des raisons pour lesquelles ne pas utiliser des hexagones - pas pourquoi des carrés (et un lien vers une comparaison des coûts serait bien - idk si quelqu'un en a déjà créé un)
Tim

2
"ils seraient probablement plus complexes à fabriquer que de simples carrés ou rectangles" - citation nécessaire. "pas encore introduit d'avantages supplémentaires" - citation nécessaire.
Raphaël

1
@ Raphaël Eh bien, vous n'avez pas vraiment besoin d'une citation pour cela - sur un tube cathodique, les "pixels" n'étaient pas des carrés ou des rectangles. Ils avaient une excellente répartition des couleurs et nécessitaient moins de "astuces" de rendu sous-pixel. Lorsque les écrans LCD sont apparus, ils ne pouvaient tout simplement pas comparer - la technologie était extrêmement rectangle, donc la mise en page plus traditionnelle était plus ou moins impossible. Bien sûr, les "LCD" modernes ne sont pas nécessairement des LCD: vous ne trouverez pas de "cristaux liquides" dans une OLED, par exemple. Enfin, les hexagones (ou les CRT de la vieille école, similaires) fonctionneraient bien pour les images et les films, mais pas pour les interfaces utilisateur.
Luaan

15

Les pixels ne sont pas nécessairement carrés!

Dans le passé, les pixels ont des formes rectangulaires . C'est pourquoi, dans tout éditeur professionnel d'images / vidéos comme Photoshop, Premiere, Sony Vegas ... l' option de format d'image est affichée. Seules les normes modernes de télévision et de moniteur de PC comportent des pixels carrés.

Ratio d'aspect Photoshop

Des exemples célèbres:

  • TV analogique / DVD PAL: 720x576 qui n'est évidemment pas 16: 9 ou 4: 3 mais 5: 4. Cependant, lorsque vous définissez le format d'image correct, vous obtiendrez l'image de sortie non étirée appropriée.

  • TV analogique / DVD NTSC: 720x480, soit 3: 2. Après avoir réglé le format, il deviendra 16: 9 ou 4: 3 comme PAL ci-dessus. La résolution verticale plus basse explique également pourquoi les DVD NTSC ont une apparence beaucoup moins nette que PAL.

  • VCD : PAL 352x288 , NTSC 352x240 . Les deux utilisent le format d'image 4: 3
  • SVCD : 480x480 , et sans surprise, il ne produit pas de sortie carrée
  • DV : 1440x1080 résolution Full HD 16: 9
  • CGA : 320x200 et 640x200 en 4: 3 (oui, les écrans d'ordinateur plus anciens ont des pixels rectangulaires)
  • EGA prend en charge 640x350 pour les écrans 4: 3 en plus des formats 320x200 et 640x200

Adobe Premiere Pro - Utilisation des formats d'image


7
Cette réponse pourrait être améliorée en expliquant un peu plus sur le rapport d'aspect (par opposition à juste un lien). Il n’est pas clair, en soi, pourquoi une résolution d’écran particulière ne peut pas avoir de pixels carrés.
Jon Bentley

1
Je ne comprends pas le lien entre les pixels carrés et la résolution.
AL le

@AL comme je l'ai déjà indiqué ci-dessus. 720: 576 est 5: 4 et si les pixels sont carrés, le rapport de format est 5: 4. Toutefois, si le rapport hauteur / largeur des pixels est défini sur une valeur différente de 1, le format de l'image sera différent. Mais où ai-je dit à propos de la résolution ici? Je viens de dire aspect ratio
phuclv

3
@AL: Cette réponse prouve que tous les pixels des écrans (ou des fichiers) ne sont pas carrés: certains sont rectangulaires.
Slebetman

1
Les ordinateurs Atari 8 bits disposaient de certains modes graphiques avec une résolution de 80 x 192, ce qui donnait des pixels très carrés, en forme de tiret.
DaveP

10

La réponse est: ils doivent être hexagonaux, car le pavage hexagonal fournit une qualité optique optimale, ce sera donc le futur.
Mais je pense qu'il y a deux raisons principales pour lesquelles ils sont toujours carrés:

  • Il est plus facile de représenter des données d'image bitmap sur une grille carrée sous la forme d'un tableau 2D (à la fois pour la simplicité matérielle et pour l'être humain).
  • C'est arrivé historiquement, donc ce sera le cas pendant un certain temps à cause de la raison n ° 1.

Mise à jour

Ce sujet est un thriller. Près de 10 000 vues. Les gens veulent maîtriser le pixel :) C'est drôle comment quelqu'un trouve une relation entre la question et la résolution de l'écran ou la "quadrature" d'un quad.
Pour moi, c’est: quel bloc de construction, carré ou hexagone donne de meilleurs résultats optiques ?

Premièrement, nous avons besoin d’un pavage simple, mais qui couvre mieux une zone personnalisée et il s’agit bien d’un pavage hexagonal. Ce qui peut être facilement compris à partir de tests simples. Un test puissant serait ce que l'on appelle un test "en anneau". Pour plus de simplicité, je fais ici une couleur trinaire: 0 - fond, 1 - gris et 2 - noir.

Avec un point, nous allons essayer d’élargir l’anneau, en gardant l’apparence continue ainsi:

entrez la description de l'image ici

Bien sûr, je souhaiterai également dessiner des lignes horizontales / verticales pour de nombreuses tâches, telles que l'interface utilisateur et la conception d'impression, ou un jeu de plateforme. Appelons cela "Bar Test":

entrez la description de l'image ici

Grâce à ce test, je peux choisir le style de ligne qui est meilleur dans les conditions réelles. Avec les lignes verticales, c'est encore plus simple. Pour une tâche spécifique, tout peut être codé en dur. Pour tracer une ligne avec une fonction, il suffit de répéter son segment dans le sens horizontal. Le fait est que l’ approche par pixels carrés et hexagonaux fonctionne, mais si vous essayez le même test avec un mosaïque carrée, vous remarquerez rapidement la différence. Avec une DPI très élevée, ce n'est pas si évident, mais pourquoi essayer de créer plus de DPI au lieu d'essayer une approche plus efficace? Je ne vois pas beaucoup de sens.


Pour les couleurs RVB, cela nécessitera probablement des structures plus complexes. En fait, j'aimerais avoir un appareil en niveaux de gris, comme sur les images ci-dessus. Ce serait bien aussi d'avoir une réponse rapide en pixels pour faire des animations.

Juste pour le plaisir, j'ai composé une structure hexagonale simple, où les pixels peuvent être RVB. Bien sûr, je ne sais pas comment cela pourrait ressembler à un vrai appareil, mais ça a l'air cool quand même.

entrez la description de l'image ici


Une explication-illustration informelle qui pourrait
aider à décrire la situation:

entrez la description de l'image ici


1
Je suis partiellement en désaccord avec les deux parties de 1 car a) 3dmdesign.com/development/hexmap-coordinates-the-easy-way (bien que cela puisse être un peu plus difficile à mettre en place, mais il n'y a aucune difficulté à mapper leurs coordonnées) et b) Depuis quand les détails des ordinateurs ont-ils été conçus en pensant aux humains?
Tim

@Tim Les détails de l'ordinateur ne le sont pas, mais l'homme lui-même a tendance à traiter les informations de manière "rectangulaire", ce qui conduit à des conceptions étranges. Il y a beaucoup d'exemples, comme ce Robonaut Alors pourquoi faire un robot ressemble à un être humain? D'un point de vue ergonomique, ce robot devrait ressembler davantage à une pieuvre, mais les personnes sont les personnes.
Mikhail V

1
@ MikhailV fabriquer un robot comme un humain lui permet d'utiliser des objets conçus pour les humains. Sinon, tout doit être spécialement conçu pour le robot.
Thorbjørn Ravn Andersen

@ ThorbjørnRavnAndersen Ouais, comme un t-shirt et des lunettes de soleil :)
Mikhail V

1
Les triangles ne seraient-ils pas supérieurs aux hexagones, car ils peuvent faire tout ce que les hexagones peuvent faire et plus encore?
Raynet

9

Certaines des réponses touchent déjà cela ... Je pense qu'un tableau non rectangulaire en termes de stockage de données créerait une complexité presque inimaginable et serait extrêmement sujet aux erreurs. J'ai beaucoup d'expérience avec la modélisation de systèmes physiques où la grille n'est pas rectangulaire (grilles décalées - points de données sur des demi-arêtes, etc.). L'indexation est un cauchemar.

Premièrement, il y a le problème de la définition de la limite. Les images sont généralement rectangulaires (encore une fois, il s'agit d'une question d'histoire - si nos écrans étaient hexagonaux, les choses seraient un peu plus faciles). Ainsi, même la limite de l'image n'est pas une ligne droite. Mettez-vous le même nombre de pixels dans chaque ligne? Est-ce que vous alternez pair / impair? Et ... le pixel inférieur gauche est-il à gauche de celui au-dessus ou à droite? Vous obtenez immédiatement près de 10 normes différentes, et les programmeurs doivent se rappeler à chaque fois comment cela se passe (même les différences entre les lignes et les colonnes ou les index ou les différences d'indexation descendant / ascendant sont parfois à l'origine d'erreurs). Cela pose l'immense problème de la conversion paysage / portrait (la transformation naturelle, triviale sur une grille rectangulaire, mais nécessitant une interpolation et constituant presque nécessairement une procédure avec perte sur un hexagone ou une grille différente).

Ensuite, il y a l'instinct naturel des gens avec une disposition rectangulaire. Vous avez des matrices en mathématiques, qui ont la même disposition. De même, un cadre de coordonnées cartésiennes est à peu près le plus facile à utiliser et à comprendre dans la plupart des cas. Obtenir l'index d'un pixel en (x, y) est simplement x + width * y (et non l'inverse - héritage de l'indexation de la ligne de balayage). Si la largeur est un multiple de 2, vous n'avez même pas besoin de multiplier. Travailler avec des angles non-droits entraîne de nombreuses complications issues de l'algèbre vectorielle, lorsque les vecteurs de base ne sont pas orthogonaux: les rotations ne sont plus de simples superpositions cos / sin. La traduction devient étrange. Cela apporte beaucoup de complexité informatique (cela coûterait quelques fois plus cher), et la complexité du code (je me souviens d'avoir codé l'algorithme de Bresenham une fois et je ne voudrais vraiment pas essayer de le faire en hexadécimal).

L'interpolation et l'anticrénelage ont en général de nombreux algorithmes qui dépendent de la grille carrée. Interpolation bilinéaire, par exemple. Toutes les méthodes de traitement à base de Fourier sont également liées à la grille rectangulaire (FFT est très utile pour le traitement des images) ... eh bien, à moins que vous ne fassiez d’abord des transformations coûteuses et avec pertes.

Cela montre que les données dans la mémoire et les formats de fichier doivent être stockés sous forme de grille rectangulaire. La façon dont vous l’affiche dépend du périphérique d’affichage / de l’imprimante, mais c’est probablement le problème du pilote. Les données sont censées être indépendantes du périphérique et ne devraient pas supposer quel matériel vous avez. Comme le montrent les articles ci-dessus, l'utilisation de pixels non rectangulaires présente de nombreux avantages, en raison de la physiologie de l'œil humain et d'autres facteurs plus technologiques: conservez les données sur une grille carrée, ou vous aurez une horde de programmeurs névrosés à qui répondre: )

Malgré tout, je pensais avoir un arrangement de pixels circulaire pour l’intégration dans les cadrans (ce qui rend les mains droites). Quand j'ai commencé à imaginer à quel point il serait difficile de dessiner quelque chose d'aussi simple qu'une ligne droite qui ne passe pas par le centre, j'ai tiré beaucoup des conclusions que j'ai mentionnées ci-dessus.


"Cela pose l'immense problème de la conversion paysage / portrait" <...> "C'est même un problème pour les pixels rectangulaires" - Oxymoron? Personnellement, je n'ai pas l'habitude de faire pivoter mon moniteur, alors pourquoi faire pivoter l'image 90 *.
Mikhail V

Il existe de nombreux écrans verticaux (écrans d’arrivées / départs dans certaines gares, divers panneaux de publicité, etc.) que vous pouvez voir ne sont en réalité que des écrans normaux pivotés à 90 degrés. Observez: img.worsethanfailure.com/images/200710/error'd/…
orion

C'est ce qu'on appelle "une mauvaise utilisation de l'équipement". En passant, l’algorithme de dessin au trait pour les points arbitraires sur une grille hexadécimale pourrait probablement être résolu sans problème. Je ne l'ai jamais fait, alors j'essaie de diviniser, il se pourrait qu'il soit encore plus élégant que pour la grille carrée.
Mikhail V

Les tablettes sont un autre exemple. Les téléphones pivotent constamment l’image dynamiquement. Les données (formats de fichier) et les écrans doivent avoir des pixels logiquement carrés pour cela (quel que soit le matériel utilisé pour l'afficher). La définition de l’algorithme de tracé est problématique: Bresenham garantit que la ligne a exactement une épaisseur de pixel horizontale ou verticale (selon la pente). Les décalages de demi-largeur de chaque ligne de la grille hexagonale rendent ambiguë ce que signifie "une épaisseur d'un pixel". Bien sûr, cela peut être fait, mais vous devez d’abord définir et dériver l’algorithme.
orion

"a besoin d'avoir des pixels carrés" C'est là que réside le problème. Le dispositif d’affichage ne doit jamais être conçu avec cette idée en tête, que quelqu'un voudrait le faire pivoter. Il s’agit simplement d’une idée fausse qui conduit également à des idées fausses sur les logiciels et à des couches d’abstraction redondantes. En ce qui concerne les calculs: dans le domaine de la vision par ordinateur, de nombreuses solutions efficaces sont par nature tridirectionnelles. Si vous faites ce genre de choses, les coordonnées polaires sont très utiles.
Mikhail V


7

Cette question concerne davantage l'arrangement que la forme réelle d'un pixel.

Le problème des arrangements hexagonaux est que la traduction d'un site hexagonal en coordonnées cartésiennes et inversement n'est pas anodine.

Soit vous travaillez avec un indice de réseau Bravais primitif

https://en.wikipedia.org/wiki/Bravais_lattice

ou vous travaillez avec une cellule conventionnelle rectangulaire et ajoutez plusieurs "vecteurs de base" internes. (Vous avez besoin de deux vecteurs de base pour le plus petit réseau rectangulaire et environ 16 pour le plus petit réseau carré).

Dans le premier cas, une transformation d'angle est impliquée et dans le second, chaque pixel a besoin d' x, yun index de base jà spécifier.

Donc, à la fin, les pixels "carrés" doivent être un sous-produit de notre culture cartésienne.

À propos, ce serait très cool d’avoir cette technologie, mais elle est très incompatible avec le paradigme actuel. En fait, les systèmes biologiques préfèrent les hexagones lors de la production de réseaux pour les systèmes visuels. Pense aux yeux de la mouche. La rétine humaine suit également quelque chose de plus proche de l'hexagonal (que du carré).

Voir ici http://www.kybervision.com/resources/Blog/HumanRetinaMosaic.png et revenir au point des affichages http://www.kybervision.com/Blog/files/AppleRetinaDisplay.html

Je n'ai aucun doute qu'un réseau hexagonal est plus approprié pour la visualisation. Mais vous pouvez le penser de cette manière, chaque fois que les ingénieurs souhaitent améliorer un affichage, ils sont confrontés au dilemme suivant: 1) passer en mode hexagonal, changer de paradigme, réécrire des trillons de lignes de code et de matériel 2) créer des "carrés" plus petits, ajouter de la mémoire, augmenter le nombre deux pour les dimensions d'affichage mesurer en pixels. L'option 2) est toujours moins chère.

Enfin, un mot de l'inventeur du pixel carré http://www.wired.com/2010/06/smoothing-square-pixels

Russell Kirsch, inventeur du pixel carré, revient à la planche à dessin. Dans les années 1950, il faisait partie d'une équipe qui développa le pixel carré. "" Les places étaient la chose logique à faire ", dit Kirsch. "Bien sûr, la logique n’était pas la seule possibilité, mais nous avons utilisé des carrés. C’est quelque chose de très stupide dont tout le monde souffre depuis ." Maintenant à la retraite et résidant à Portland, dans l'Oregon, Kirsch s'est récemment mis en quête d'inspiration inspirée par les bâtisseurs de mosaïques de l'Antiquité qui ont construit des scènes de détails époustouflants avec des morceaux de mosaïque, il a écrit un programme qui transforme les carrés volumineux et encombrants d'un image dans une image plus lisse faite de pixels de forme variable.



Oui, (bon point), mais ce système de coordonnées n’est toujours pas cartésien. Par exemple, la surface "hexmap" de la surface "3x3" n’est pas égale à 9 (même approximativement). Ce n’est pas une question d’angle, c’est une question de métrique, un réseau hexagonal n’est pas un réseau rectangulaire (ou carré) en rotation.
alfC

Bon point - mais cartésien n'est pas nécessaire n'est-ce pas?
Tim le

1
Comme je l'ai dit, pas en principe, je pense que c'est davantage un problème de paradigme. (La culture biaise la technologie et la technologie est collante, la technologie est un changement difficile isolé).
alfC

Je ne serais pas d'accord pour dire que c'est un grand changement de paradigmes. Pour les cas purement numériques, le changement d'adressage assez simple. Pratiquement, vous avez besoin du même ensemble discret pour que la fonction "blit" sache où écrire les données. En ce qui concerne les données d'image de sources rectangulaires, oui, il y a des problèmes. Et créer une police pour l'affichage hexadécimal sera encore plus simple que sur un carré (moins de maux de tête avec des pentes).
Mikhail V

7

Pour comprendre pourquoi un pixel rectiligne a de la valeur, vous devez comprendre le processus de fabrication des capteurs et des affichages. Les deux sont basés sur la disposition en silicium. Les deux sont dérivés des origines de VLSI.

Pour pouvoir mettre en œuvre un pixel de capteur non rectiligne , vous devez être prêt à:

  1. Disposez les éléments photosensibles de manière non rectiligne (par exemple, des cercles hexagonaux).
  2. Disposez les fils qui collectent la charge (par exemple, CMOS / CCD) de manière non rectiligne
  3. Adaptez cette mise en page à >> 1M x 1M pour répondre aux demandes du marché
  4. Faire correspondre (ou interpoler) les informations à un affichage rectiligne

Pour que vous puissiez implémenter un pixel d' affichage non rectiligne , vous avez besoin de toutes les mêmes choses.

Beaucoup de gens ont essayé de faire la fovéa caméras et écrans (haute-rés au milieu où nos yeux sont mieux, basse résolution sur la périphérie). Le résultat est toujours quelque chose qui est plus coûteux et moins capable qu'un capteur rectiligne.

La réalité de l'efficacité commerciale est que vous pouvez rêver de capteurs / affichages non rectilignes, mais ce n'est pas rentable ou évolutif pour le moment.


Un capteur de pixels conventionnel à aspect carré se transformerait en capteur à pixels rectangulaires s’il était utilisé derrière une lentille anamorphique. Tout comme le bokeh devient ellipical.
JDługosz

4

Bien qu'ils ne soient pas physiquement carrés. Ils sont représentés de manière abstraite sous la forme d'un carré et, lorsqu'ils sont affichés sur des écrans avec une résolution plus basse, ils sont considérés comme un carré. Principalement en raison de la paresse et de moins de transformation. La mise à l'échelle de formes différentes, telles que les hexagones, nécessite davantage de traitement, car vous croisez une fraction de pixels. Tandis qu'un carré ne fait que multiplier chaque côté par la constante. En essayant également de tracer une grille hexagonale, vous ne pouvez pas simplement faire un emplacement X, Y facile.


Vous tracez + x 100% pour obtenir la ligne complète. Ensuite, la ligne suivante est compensée de + 50% et réduite de 75%. La troisième ligne est décalée de -50% par rapport à la seconde (ou 0% par rapport à la première ligne). Bien que cela soit plus compliqué, je dirais que c'est toujours facile - et un système de coordonnées Hex existe, par opposition au cartésien standard - inclinez le Y de 30 ° 3dmdesign.com/development/hexmap-coordinates-the-easy-way .
Tim

4

Il y a deux façons de répondre à cette question:

  1. Dans le matériel, les pixels ne sont pas nécessairement physiquement carrés, mais peuvent avoir la forme ou la disposition que le fabricant d'un dispositif d'affichage a jugées appropriées. En réalité, ils ne sont souvent pas carrés.
  2. Dans le logiciel, les pixels sont considérés comme «carrés» en ce sens qu’ils représentent une zone de même largeur et de même hauteur. Cela ne signifie pas que, une fois agrandies, elles doivent être dessinées sous forme de carrés, mais elles doivent représenter les données d'une zone de l'image présentant des proportions carrées, sinon l'image apparaîtra étirée d'une manière ou d'une autre. Ceci est purement par convention.

Dans les deux cas, il n'est pas nécessaire que les pixels soient carrés, mais ils le sont uniquement par convention. Exemple: les premiers écrans larges utilisaient le même nombre de pixels - matériels et logiciels - que les écrans non grand-écran, mais les pixels étaient conceptuellement rectangulaires (la taille horizontale était supérieure à la taille verticale) plutôt que conceptuellement carrés. la norme. Néanmoins, l’utilisation de formes de pixels qui ne se rapprochent pas d’un carré n’est pas standard et risque de poser d’énormes problèmes de compatibilité, du moins dans l’utilisation courante.

RÉPONSE COURTE:

Les pixels sont traités comme des carrés par convention.


-1

En tant que spectateur, je dirais que c'est parce que l'écran sur lequel vous regardez habituellement est rectangulaire. Un format d'image commun est 1920 par 1080. Une certaine longueur, telle que 720, permet de reconnaître la "haute définition". Cela pourrait très bien être plus difficile à réaliser avec des pixels circulaires ou hexagonaux.


3
Bien circulaire ne tesselle pas, mais je ne vois pas pourquoi vous ne pouvez pas simplement réduire les hexagones. Voir l’image que j’ai faite de la voiture - en rentrez-vous davantage?
Tim

Et ces proportions sont bien rectangulaires car les pixels de forme sont disposés dans ... Une grille.
Tim le

1
@ Tim, la tessellation peut ne pas être si importante du point de vue de "l'utilisateur" une fois que vous avez abandonné l'indexation cartésienne ou régulière. La rétine n'est pas tessellée (parfaitement) et cela pourrait même être optimal (par exemple pour éviter le moiré en.wikipedia.org/wiki/Moir%C3%A9_pattern ou des artefacts de diffraction légère).
alfC
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.