Perché i pixel sono quadrati?


207

I pixel negli schermi sono quadrati, ma non sono sicuro del perché.

Entrambe le immagini pixelate sembrano piuttosto brutte - ma non sono sicuro che qui ci sia alcun vantaggio dei quadrati sugli esagoni.

Gli esagoni si dividono bene anche in 3 colori:

Allora, qual è il vantaggio dei quadrati in un display LCD / CRT?


20
Si prega di chiarire il contesto. Ti riferisci a display, formati di immagine o stampe? E anche allora, questa domanda potrebbe essere troppo ampia.
Daniel B,

66
I pixel sono unità logiche senza dimensioni e non sono mai quadrate in realtà, come suggerisce @DanielB, ogni rasterizzatore le gestisce in modo diverso. Immagini Google di "pixel dello schermo" per esempio.
Yorik,

5
Questa domanda dovrebbe forse essere migrata all'esperienza utente o all'ingegneria elettrica .
curiousdannii,


13
Non capisco Perché questo è stato completamente votato e perché non è stato migrato in un forum di ingegneria meccanica?
Carl Witthoft,

Risposte:


264

I pixel negli schermi sono quadrati, ma non sono sicuro del perché.

Non sono (necessariamente) quadrati.

Alcuni sosterrebbero che non sono mai quadrati ("Un pixel è un esempio di punto. Esiste solo in un punto").


Allora, qual è il vantaggio dei quadrati in un display LCD / CRT?

  • Altre disposizioni (come triangoli, esagoni o altri poligoni di riempimento dello spazio ) sono più costose dal punto di vista computazionale.

  • Ogni formato di immagine è basato su pixel (qualunque sia la loro forma) disposti in una matrice rettangolare.

  • Se dovessimo scegliere un'altra forma o layout, un sacco di software dovrebbe essere riscritto.

  • Tutte le fabbriche che attualmente producono display con un layout a pixel rettangolari dovrebbero essere riorganizzate per altri layout.


Pratiche dell'uso di un sistema di coordinate esagonale

Esistono generalmente quattro considerazioni principali su cui riflettere quando si utilizza un sistema di coordinate esagonale:

  • Conversione di immagini - L'hardware in grado di catturare immagini dal mondo reale direttamente su un reticolo esagonale è altamente specializzato e quindi generalmente non disponibile per l'uso. Pertanto, sono necessari mezzi efficienti per convertire un'immagine quadrata standard in un'immagine esagonale prima di poter eseguire qualsiasi elaborazione.
  • Indirizzamento e archiviazione - Qualsiasi manipolazione eseguita sulle immagini deve essere in grado di indicizzare e accedere a singoli pixel (in questo caso esagoni anziché quadrati) e qualsiasi immagine in forma esagonale dovrebbe essere memorizzabile in forma esagonale (altrimenti la conversione delle immagini dovrebbe essere eseguita ogni ora all'accesso all'immagine). Inoltre, un sistema di indicizzazione semplice da seguire e che semplifica l'aritmetica di alcune funzioni sarebbe molto prezioso.
  • Operazioni di elaborazione delle immagini - Per utilizzare in modo efficace il sistema di coordinate esagonali, le operazioni devono essere progettate o convertite in modo da sfruttare i punti di forza del sistema e in particolare i punti di forza del sistema di indirizzamento utilizzato per l'indicizzazione e la memorizzazione.
  • Visualizzazione delle immagini - Come per ottenere effettivamente l'immagine in primo luogo, i dispositivi di visualizzazione in generale non usano reticoli esagonali. Pertanto l'immagine convertita deve essere restituita in un modulo che può essere inviato a un dispositivo di output (che sia un monitor, una stampante o qualche altra entità) con la visualizzazione risultante che appare in proporzioni e scala naturali. L'esatta natura di questa conversione dipende dal metodo di indicizzazione utilizzato. Potrebbe trattarsi di una semplice inversione del processo di conversione originale o di una convoluzione più notevole.

Problemi con i sistemi di coordinate esagonali

Vi sono tuttavia alcuni problemi con i sistemi di coordinate esagonali. Un problema è che le persone sono molto abituate al tradizionale reticolo quadrato.

Il ragionamento negli esagoni può sembrare innaturale e quindi un po 'difficile. Mentre si potrebbe sostenere che le persone possono abituarsi ad esso se necessario, è sempre vero che saranno naturalmente inclini al ragionamento con il tradizionale sistema di coordinate cartesiane per impostazione predefinita, con i sistemi esagonali semplicemente una scelta secondaria.

La mancanza di dispositivi di input che si mappano su reticoli esagonali e la mancanza di dispositivi di output che visualizzano in quanto tali è anche un ostacolo:

  • La necessità di convertire da quadrati a esagoni e viceversa riduce l'utilità di operare su reticoli esagonali.

  • Poiché tali reticoli sono più densi di reticoli quadrati equivalenti della stessa dimensione apparente, a meno che le immagini non vengano immesse ad una risoluzione deliberatamente più elevata di quella su cui devono essere azionate, le immagini convertite devono estrapolare alcune posizioni di pixel (che è generalmente meno desiderabile di avere tutte pixel forniti direttamente da una fonte).

  • La conversione di nuovo in reticoli quadrati collasserebbe le posizioni di alcuni pixel l'una nell'altra, il che si tradurrebbe in una perdita di dettagli apparenti (che potrebbe comportare un'immagine di qualità inferiore rispetto a quella originariamente inserita).

Se si cerca di utilizzare i sistemi di coordinate esagonali nel proprio lavoro di visione, dovrebbero prima determinare se questi problemi sono compensati dai vantaggi intrinseci dell'operare con gli esagoni.

Sistemi di coordinate esagonali sorgente


Qualche altra forma o layout è stato provato?

Il display XO-1 fornisce un colore per ogni pixel. I colori si allineano lungo le diagonali che vanno da in alto a destra a in basso a sinistra Per ridurre gli artefatti del colore causati da questa geometria pixel, il componente del colore dell'immagine viene sfocato dal controller del display mentre l'immagine viene inviata allo schermo.

Confronto del display XO-1 (a sinistra) con un tipico display a cristalli liquidi (LCD). Le immagini mostrano 1 × 1 mm di ogni schermo. Un tipico LCD si rivolge a gruppi di 3 posizioni come pixel. Il display LCD OLPC XO indirizza ogni posizione come un pixel separato:

inserisci qui la descrizione dell'immagine

Fonte OLPC XO

Altri display (in particolare OLED) utilizzano layout diversi, come PenTile :

inserisci qui la descrizione dell'immagine

Il layout è costituito da un quinconce comprendente due subpixel rossi, due subpixel verdi e un subpixel blu centrale in ciascuna cella unitaria.

È stato ispirato dalla biomimetica della retina umana che ha un numero quasi uguale di cellule di cono di tipo L e M, ma significativamente meno coni di S. Poiché i coni S sono i principali responsabili della percezione dei colori blu, che non influiscono in modo sensibile sulla percezione della luminanza, la riduzione del numero di sottopixel blu rispetto ai sottopixel rosso e verde in un display non riduce la qualità dell'immagine.

Questo layout è specificamente progettato per funzionare e dipendere dal rendering subpixel che utilizza in media solo un subpixel e un quarto per pixel, per il rendering di un'immagine. Ossia, ogni dato pixel di input viene mappato su un pixel logico centrato in rosso o su un pixel logico centrato in verde.

Famiglia di matrici PenTile sorgente


Definizione semplice di pixel

Uno qualsiasi dei punti molto piccoli che insieme formano l'immagine su uno schermo televisivo, un monitor di un computer, ecc.

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


Pixel

Nell'immagine digitale, un elemento pixel, pel o immagine è un punto fisico in un'immagine raster o l'elemento più piccolo indirizzabile in un dispositivo di visualizzazione indirizzabile tutti i punti; quindi è il più piccolo elemento controllabile di un'immagine rappresentata sullo schermo.

...

Non è necessario renderizzare un pixel come un piccolo quadrato . Questa immagine mostra modi alternativi di ricostruire un'immagine da una serie di valori di pixel, usando punti, linee o filtri uniformi.

inserisci qui la descrizione dell'immagine

Pixel sorgente


Proporzioni pixel

La maggior parte dei sistemi di imaging digitale visualizza un'immagine come una griglia di minuscoli pixel quadrati. Tuttavia, alcuni sistemi di imaging , in particolare quelli che devono essere compatibili con i filmati televisivi a definizione standard, visualizzano un'immagine come una griglia di pixel rettangolari, in cui la larghezza e l'altezza dei pixel sono diverse . Pixel Aspect Ratio descrive questa differenza.

Proporzioni pixel sorgente


Un pixel non è un piccolo quadrato!

Un pixel è un esempio di punto. Esiste solo a un certo punto.

Per un'immagine a colori, un pixel potrebbe effettivamente contenere tre campioni, uno per ciascun colore primario che contribuisce all'immagine nel punto di campionamento. Possiamo ancora pensare a questo come a un campione puntuale di un colore. Ma non possiamo pensare a un pixel come a un quadrato o qualcosa di diverso da un punto.

Ci sono casi in cui i contributi a un pixel possono essere modellati, in modo di ordine basso, da un quadratino, ma non sempre il pixel stesso.

Fonte A Pixel is Not A Little Square! (Memo tecnico Microsoft 6 Alvy Ray Smith, 17 luglio 1995)


5
Citazione necessaria sul punto "più computazionalmente costoso". Collegamento ideale a un documento di ricerca che consideri ad esempio una tassellatura esagonale e un'analisi computazionale. Sembra che tu stia solo dando un nome ad alcune spiegazioni plausibili.
Djechlin,

4
Inoltre riscriviamo sempre molti software per migliorare le cose. Non sono sicuro del tuo punto.
Djechlin,

5
@djechlin Attualmente tutte le specifiche video / immagine sono basate su una matrice rettangolare di pixel. La visualizzazione di qualsiasi video o immagine richiederebbe la conversione da un sistema di coordinate rettangolare (cartesiano) a un sistema di coordinate esagonale. I calcoli per disegnare linee su un sistema di coordinate rettangolare sono più semplici di disegnare su un sistema di coordinate esagonale (questa è la matematica di base). Devo spiegare ulteriormente?
David Post

2
@djechlin Risposta aggiornata e citazione inclusa
DavidPostill

4
+ 1 per la tua fonte di promemoria tecnici Microsoft. Incredibile risposta in generale.
shock_gone_wild

71

Vorrei offrire un'alternativa alla risposta ben ponderata di David Postill. Nella sua risposta, ha affrontato la questione dei pixel quadrati, proprio come suggerito dal titolo. Tuttavia, ha fatto un commento molto perspicace nella sua risposta:

Alcuni sosterrebbero che non sono mai quadrati ("Un pixel è un esempio di punto. Esiste solo in un punto").

Questa posizione può effettivamente generare una risposta completamente diversa. Invece di concentrarsi sul perché ogni pixel è un quadrato (o meno), può concentrarsi sul perché tendiamo a organizzare questi campionamenti puntuali in griglie rettangolari. In realtà non è stato sempre così!

Per fare questo argomento, andremo avanti e indietro tra il trattamento di un'immagine come dati astratti (come una griglia di punti) e la sua implementazione nell'hardware. A volte una vista è più significativa dell'altra.

Per iniziare, andiamo piuttosto indietro. La fotografia di film tradizionale non ha affatto "griglia", motivo per cui le immagini sono sempre state così nitide rispetto a quelle digitali moderne. Invece, aveva un "grano" che era una distribuzione casuale di cristalli sul film. Era approssimativamente uniforme, ma non era una bella matrice rettilinea. L'organizzazione di questi grani è nata dal processo di produzione del film, usando proprietà chimiche. Di conseguenza, il film non ha davvero avuto una "direzione". Era solo uno spruzzo di informazioni 2d.

Avanzamento rapido verso la TV, in particolare i vecchi CRT a scansione. I CRT avevano bisogno di qualcosa di diverso dalle foto: dovevano essere in grado di rappresentare il loro contenuto come dati. In particolare, dovevano essere dati che potevano trasmettere, in analogico, su un filo (tipicamente come un insieme di tensioni in continuo cambiamento). La foto era 2d, ma dovevamo trasformarla in una struttura 1d in modo che potesse variare in una dimensione (tempo). La soluzione era tagliare l'immagine per linee (non pixel!). L'immagine è stata codificata riga per riga. Ogni linea era un flusso di dati analogico, non un campionamento digitale, ma le linee erano separate l'una dall'altra. Pertanto, i dati erano discreti nella direzione verticale, ma continui nella direzione orizzontale.

Le TV dovevano rendere questi dati usando fosfori fisici e una TV a colori richiedeva una griglia per dividerli in pixel. Ogni TV potrebbe farlo diversamente nella direzione orizzontale, offrendo più pixel o meno pixel, ma devono avere lo stesso numero di linee. In teoria, avrebbero potuto compensare ogni altra riga di pixel, esattamente come suggerisci. Tuttavia, in pratica questo non era necessario. In realtà, sono andati anche oltre. Si rese presto conto che l'occhio umano gestiva il movimento in un modo che permetteva loro di inviare solo metà dell'immagine ad ogni fotogramma! Su un fotogramma, inviano le linee dispari e sul fotogramma successivo inviano le linee pari e le uniscono.

Da quel momento, digitalizzare queste immagini intrecciate è stato un po 'un trucco. Se avessi un'immagine a 480 linee, in realtà avrei solo la metà dei dati in ciascun fotogramma a causa dell'interlacciamento. Il risultato è molto visibile quando provi a vedere qualcosa che si muove velocemente attraverso lo schermo: ogni linea viene spostata temporaneamente di 1 fotogramma dall'altra, creando strisce orizzontali nelle cose in rapido movimento. Lo dico perché è piuttosto divertente: il tuo suggerimento sposta ogni altra riga della griglia di mezzo pixel a destra, mentre l'interlacciamento sposta ogni altra riga della griglia di metà tempo!

Francamente, è più facile realizzare queste belle griglie rettangolari per le cose. Senza alcun motivo tecnico per fare di meglio, si è bloccato. Poi abbiamo colpito l'era dei computer. I computer dovevano generare questi segnali video, ma non avevano capacità analogiche per scrivere una linea analogica. La soluzione era naturale, i dati erano divisi in pixel. Ora i dati erano discreti sia in verticale che in orizzontale. Non restava che scegliere come realizzare la griglia.

Realizzare una griglia rettangolare era estremamente naturale. Prima di tutto, ogni TV là fuori lo stava già facendo! In secondo luogo, la matematica per disegnare linee su una griglia rettangolare è molto più semplice rispetto a disegnarle su una griglia esagonale. Potresti dire "ma puoi disegnare linee morbide in 3 direzioni su una griglia esagonale, ma solo 2 in quella rettangolare". Tuttavia, le griglie rettangolari hanno facilitato il disegno di linee orizzontali e verticali. Le griglie esagonali possono essere fatte solo per disegnare l'una o l'altra. In quell'epoca, non molte persone utilizzavano forme esagonali per nessuno dei loro sforzi non informatici (carta rettangolare, porte rettangolari, case rettangolari ...). La capacità di rendere orizzontale e lisciale linee verticali superavano di gran lunga il valore della creazione di immagini a colori piene ... soprattutto perché i primi schermi erano monocromatici e sarebbe passato molto tempo prima che la fluidità delle immagini avesse un ruolo importante nel pensare.

Da lì, hai un precedente molto forte per una griglia rettangolare. L'hardware grafico supportava ciò che il software stava facendo (griglie rettangolari) e il software mirava all'hardware (griglie rettangolari). In teoria alcuni hardware potrebbero aver provato a creare una griglia esagonale, ma il software non l'ha premiata e nessuno voleva pagare il doppio dell'hardware!

Questo ci anticipa oggi. Vogliamo ancora linee orizzontali e verticali morbide, ma con display retina di fascia alta, è sempre più facile. Tuttavia, gli sviluppatori sono ancora addestrati a pensare in termini di vecchia griglia rettangolare. Stiamo vedendo alcune nuove API che supportano le "coordinate logiche" e stanno facendo l'antialiasing per far sembrare che ci sia uno spazio 2d continuo pieno con cui giocare piuttosto che una griglia di rigidi pixel 2d, ma è lento. Alla fine, potremmo vedere griglie esagonali.

In realtà li vediamo, ma non con gli schermi. Nella stampa, è molto comune usare una griglia esagonale. L'occhio umano accetta la griglia esagonale molto più velocemente di quanto accetti una griglia rettangolare. Ha a che fare con il modo in cui le linee "alias" nei diversi sistemi. Griglie esagonali alias in un modo meno duro, con cui l'occhio è più a suo agio (se una griglia esagonale deve andare su una fila su o giù, riescono a farlo agevolmente su una transizione diagonale. Le griglie rettangolari devono saltare, creando un chiara discontinuità)


2
Ottimo per spiegare come è nata la TV: un flusso analogico. Questo standard ha resistito per 70 anni e l'aggiunta del colore è stata fatta in modo tale da mantenere la compatibilità con il B / N, prova a realizzarlo in questi giorni! Quanti formati video ci sono adesso?

3
"" "I televisori dovevano eseguire il rendering di questi dati utilizzando fosfori fisici, con una griglia per dividerli in pixel." "" - Era vero per la TV in bianco e nero? La mia comprensione era che i "fosfori fisici" discreti (che non corrispondevano mai a nessun elemento simile a un pixel nel flusso di dati) venivano forniti con la TV a colori e che i CRT monocromatici hanno semplicemente un rivestimento continuo di fosforo.
Casuale 832

Mi piace la storia, ma non sono d'accordo sulla transizione ai dispositivi moderni. Sebbene l'eredità appaia rettilinea, una TV è in realtà analogica in direzione orizzontale fino a quando non si osserva il fosforo colorato sulla TV. In realtà è esagonale! Suggerisco che la vera ragione per cui abbiamo il rettilineo è il layout VLSI è più facile come rettilineo piuttosto che impacchettato esagonalmente.
user3533030

1
In una TV in bianco e nero, perché non dovresti spalmare i fosfori sulla superficie e lasciare che il flusso di elettroni sia più forte / più debole e renderli più / meno luminosi in un modo completamente analogico? In breve, perché avere pixel (orizzontali) a tutti? Una volta che hai il colore, le cose diventano più complicate; ma anche allora, il segnale di colore non è definito in modo per pixel se ricordo bene. Per quanto riguarda i campioni orizzontali, il numero di campioni necessari per ricostituire un segnale da campioni di intensità uniforme è una funzione della larghezza di banda della frequenza e gli offset a metà "campione" non migliorano questo.
Yakk,

2
@Yakk La maggior parte dei CRT in bianco e nero sono stati costruiti esattamente così: i primi CRT TV BW erano derivati ​​da CRT per radar / oscilloscopio che sono spesso controllati in modo analogico X / Y o polare senza raster. I televisori utilizzavano ancora la scansione riga per riga perché ciò corrisponde a come viene codificato il segnale, ma senza pixel sulle linee. Alcuni display speciali (principalmente per i cockpit dei velivoli) utilizzavano persino fosfori che cambiavano colore a seconda della forza con cui venivano colpiti da un fascio di elettroni (quel tipo di display è chiamato penetron).
Rackandboneman,

21

Due motivi:

  • Una forma rettangolare rispetto a circolare, triangluar o più di 4 lati ha il vantaggio di poter essere posizionata accanto ad altri rettangoli con il minimo di "spazio sprecato". Ciò garantisce che l'intera area del pixel contribuisca all'immagine. Possono esistere altre forme che "si incastrano", ma probabilmente sarebbero più complesse da produrre rispetto ai semplici quadrati o rettangoli, senza tuttavia introdurre ulteriori vantaggi.

  • Un display pixelato di uso generale - uno che potrebbe essere utilizzato per visualizzare qualsiasi tipo di informazione deve avere pixel che non favoriscono determinati tipi di forme. Quindi i pixel dovrebbero essere quadrati anziché più lunghi o più larghi in una direzione e non devono essere tagliati o ruotati in alcun modo.

    • Se i pixel sono più alti che più larghi, lo spessore minimo di una linea orizzontale sarà più largo dello spessore minimo di una linea verticale, facendo apparire le linee orizzontali e verticali diverse per lo stesso numero di pixel.

    • Se i pixel vengono ruotati, solo le linee angolate che corrispondono all'angolo di rotazione appariranno lisce, tutte le altre linee appariranno frastagliate. La maggior parte dei sistemi operativi e dei software di produttività si basa su linee rette, il che significherebbe un sacco di frange o egdes frastagliati.

    • I pixel tranciati (rombi) sarebbero i peggiori di entrambi i mondi - né le diagonali né le orizzontali / verticali sarebbero lisce.

Se non sei interessato a una visualizzazione di uso generale, ma orientata verso uno scopo specifico, puoi essere più flessibile. Un esempio estremo è il LED a 7 segmenti, se tutto ciò che devi fare è visualizzare un numero, 7 pixel non quadrati disposti in questo modo è tutto ciò di cui hai bisogno. O LED a 15 segmenti che consentono le lettere.


Hmm, non sono sicuro che l'argomento del costo funzioni per gli esagoni (potrei sbagliarmi).
Tim

@Tim - Dovresti fare qualche ricerca sull'argomento. Se esistesse un vantaggio tecnico per gli esagoni che un produttore di display li userebbe, il fatto che non vengano utilizzati indica che non hanno alcun vantaggio da un vantaggio in termini di costi o prestazioni.
Ramhound,

2
@Ramhound sì, capito. Devo cercare di più - bene, questa domanda è la mia ricerca. Sto chiedendo motivi per cui non esagoni - non perché quadrati (e un collegamento ad un confronto dei costi sarebbe bello - idk se qualcuno ne ha mai fatto uno)
Tim

2
"probabilmente sarebbero più complessi da produrre rispetto ai semplici quadrati o rettangoli" - citazione necessaria. "ancora non introdurre alcun vantaggio aggiuntivo" - citazione necessaria.
Raffaello,

1
@Raphael Beh, non hai davvero bisogno di una citazione per questo - su un CRT, i "pixel" non erano quadrati o rettangoli. Avevano un'ottima distribuzione del colore e richiedevano meno "trucchi" per il rendering dei sub-pixel. Quando arrivarono gli LCD, semplicemente non potevano confrontare: la tecnologia era estremamente pro-rettangolo, quindi il layout più tradizionale era più o meno impossibile. Naturalmente, i moderni "LCD" non sono necessariamente LCD - ad esempio, non troverai "cristalli liquidi" in un OLED. Infine, gli esagoni (o CRT della vecchia scuola, è simile) funzionerebbero bene per immagini e film, ma non per le interfacce utente.
Luaan,

15

I pixel non sono necessariamente quadrati!

In passato i pixel hanno forme rettangolari . Ecco perché in qualsiasi editor di immagini / video professionale come Photoshop, Premiere, Sony Vegas ... vedi l' opzione di proporzioni pixel . Solo i moderni standard di monitor TV e PC hanno pixel quadrati.

Proporzioni pixel di Photoshop

Esempi famosi:

  • TV / DVD analogici PAL: 720x576 che ovviamente non è 16: 9 o 4: 3 ma 5: 4. Tuttavia, quando si impostano le proporzioni pixel corrette, verrà prodotta l'immagine di output corretta non stirata

  • TV / DVD analogici NTSC: 720x480, ovvero 3: 2. Dopo aver impostato le proporzioni, diventerà 16: 9 o 4: 3 come PAL sopra. La risoluzione verticale inferiore spiega anche perché i DVD NTSC sembrano molto meno nitidi di PAL

  • VCD : PAL 352x288 , NTSC 352x240 . Entrambi utilizzano le proporzioni dello schermo 4: 3
  • SVCD : 480x480 , e non sorprende che non produca un output quadrato
  • DV : 1440x1080 Risoluzione 16: 9 full HD
  • CGA : 320x200 e 640x200 in 4: 3 (sì, gli schermi dei computer più vecchi hanno pixel rettangolari)
  • EGA supporta 640x350 per schermi 4: 3 oltre a 320x200 e 640x200

Adobe Premiere Pro - Operazioni con le proporzioni


7
Questa risposta potrebbe essere migliorata spiegando un po 'di più sulle proporzioni (anziché solo un collegamento). Non è chiaro da solo perché una determinata risoluzione dello schermo non può avere pixel quadrati.
Jon Bentley,

1
Non capisco il legame tra i pixel quadrati e la risoluzione.
AL

@AL come ho già detto sopra. 720: 576 è 5: 4 e se i pixel sono quadrati, si otterrà un rapporto di formato 5: 4. Tuttavia, se le proporzioni dei pixel sono impostate su un valore diverso da 1, le proporzioni saranno diverse. Ma dove ho detto sulla risoluzione qui? Ho appena detto le proporzioni
phuclv,

3
@AL: questa risposta dimostra che non tutti i pixel nelle schermate (o file) sono quadrati: alcuni sono rettangolari.
slebetman

1
I computer Atari a 8 bit avevano alcune modalità grafiche con una risoluzione di 80x192, risultando in pixel molto quadrati, a forma di trattino.
DaveP,

10

La risposta è: dovrebbero essere esagonali, perché la piastrellatura esagonale offre una qualità ottica ottimale, quindi sarà il futuro.
Ma penso che ci siano due ragioni principali per cui sono ancora quadrate:

  • È più semplice rappresentare i dati delle immagini bitmap su una griglia quadrata come un array 2d (sia per la semplicità dell'hardware che per l'essere umano)
  • È successo storicamente, quindi lo sarà per qualche tempo a causa del motivo n. 1.

Aggiornare

Questo argomento è un thriller. Quasi 10k visualizzazioni. La gente vuole padroneggiare il pixel :) Divertente come qualcuno trova una relazione della domanda con risoluzione dello schermo o "quadratura" di un quad.
Per me lo è: quale blocco, quadrato o esagono dà risultati ottici migliori ?

Innanzitutto, abbiamo bisogno di una piastrellatura semplice, ma che copre meglio un'area personalizzata ed è effettivamente una piastrellatura esagonale. Che può essere facilmente compreso da semplici test. Un test forte sarebbe il cosiddetto test "ring". Per semplicità qui creo il colore del trinario: 0 - sfondo, 1 - grigio e 2 - nero.

Fissando un punto, proveremo ad espandere l'anello, facendolo sembrare continuo in questo modo:

inserisci qui la descrizione dell'immagine

Sicuramente vorrò anche disegnare linee orizzontali / verticali, per molte attività, come l'interfaccia utente e il design di stampa, o un gioco platform. Chiamiamolo "Bar Test":

inserisci qui la descrizione dell'immagine

Con questo test posso scegliere lo stile della linea che sembra migliore in condizioni reali. Con le linee verticali è ancora più semplice. Per una visualizzazione di attività specifica, tutto può essere reso hardcoded, quindi per disegnare una linea con una funzione, ripetiamo semplicemente il suo segmento in direzione orizzontale. Il fatto è che l'approccio con pixel sia quadrati che esagonali funziona, ma se provi lo stesso test con la piastrellatura quadrata, noterai rapidamente la differenza. Con DPI molto elevati non è così evidente, ma perché provare a creare più DPI invece di provare un approccio più efficace? Non vedo molto senso.


Per i colori RGB, ciò richiederà probabilmente strutture più complesse. In realtà, vorrei avere un dispositivo in scala di grigi, come nelle immagini sopra. Sarebbe bello anche avere una risposta pixel veloce per realizzare animazioni.

Solo per divertimento ho creato una semplice struttura esagonale, in cui i pixel possono essere RGB. Ovviamente non so come potrebbe apparire su un dispositivo reale, ma sembra bello anche così.

inserisci qui la descrizione dell'immagine


Una spiegazione informale che potrebbe
aiutare a descrivere la situazione:

inserisci qui la descrizione dell'immagine


1
In parte non sono d'accordo con entrambe le parti di 1 perché a) 3dmdesign.com/development/hexmap-coordinates-the-easy-way (anche se sicuro che potrebbe essere un po 'più difficile da impostare, ma non c'è difficoltà a mappare le coordinate su di loro) e b) da quando i dettagli dei computer sono stati progettati pensando agli umani.
Tim

I dettagli del computer non lo sono, ma l'io umano tende a trattare le informazioni in modo "rettangolare", e questo a sua volta porta a strani disegni. Ci sono molti esempi, come questo robot. Allora perché far sembrare un robot un essere umano? Dal punto di vista ergonomico questo robot dovrebbe essere più simile a un polipo, ma le persone sono persone.
Mikhail V

1
@MikhailV facendo un robot come un essere umano, gli permette di usare cose fatte per l'uomo. Altrimenti tutto deve essere realizzato appositamente per il robot.
Thorbjørn Ravn Andersen,

@ ThorbjørnRavnAndersen Sì, come una maglietta e occhiali da sole :)
Mikhail V

1
I triangoli non sarebbero superiori agli esagoni in quanto possono fare tutto ciò che gli esagoni possono fare e altro?
Raynet,

9

Alcune delle risposte toccano già questo ... Penso che un array non rettangolare in termini di archiviazione dei dati creerebbe una complessità quasi inimmaginabile e sarebbe estremamente soggetto a errori. Ho avuto molta esperienza con la modellazione di sistemi fisici in cui la griglia non è rettangolare (griglie sfalsate - punti dati a metà bordi e così via). L'indicizzazione è un incubo.

Innanzitutto, c'è il problema di come definire il confine. Le immagini sono generalmente rettangolari (di nuovo, questa è una questione di storia - se i nostri schermi fossero esagonali, le cose sarebbero un po 'più facili). Quindi, nemmeno il confine dell'immagine è una linea retta. Metti lo stesso numero di pixel in ogni riga? Alterni pari / dispari? E ... il pixel in basso a sinistra è a sinistra rispetto a quello sopra di esso o a destra? Ottieni immediatamente quasi 10 standard diversi e i programmatori devono ricordare ogni volta come va (anche la differenza di riga maggiore e di colonna maggiore o la differenza di indicizzazione top-down / bottom-up a volte causa errori). Ciò comporta l'immenso problema della conversione paesaggio / ritratto (trasformazione naturale, che è banale su una griglia rettangolare, ma richiede interpolazione ed è quasi necessariamente una procedura con perdita di dati su una griglia esagonale o diversa).

Poi c'è l'istinto naturale che le persone hanno con una disposizione rettangolare. Hai matrici in matematica, che hanno lo stesso layout. Allo stesso modo, un frame di coordinate cartesiane è praticamente il più facile da usare e da comprendere nella maggior parte dei casi generali. Ottenere l'indice di un pixel su (x, y) è solo x + larghezza * y (non viceversa - eredità dell'indicizzazione della scanline). Se la larghezza è un multiplo di 2, non è nemmeno necessaria la moltiplicazione. Lavorare con angoli non retti comporta molte complicazioni che derivano dall'algebra vettoriale, quando i vettori di base non sono ortogonali: le rotazioni non sono più semplici sovrapposizioni cos / sin. La traduzione diventa strana. Ciò comporta una lunga complessità computazionale (sarebbe un po 'più costosa da calcolare) e complessità del codice (ricordo di aver codificato l'algoritmo di Bresenham una volta e non mi piacerebbe davvero provare a farlo in esadecimale).

L'interpolazione e l'antialias in generale ha molti algoritmi che dipendono dalla griglia quadrata. Interpolazione bilineare, per esempio. Tutti i metodi di elaborazione basati su Fourier sono anche collegati alla griglia rettangolare (FFT è molto utile nell'elaborazione delle immagini) ... beh, a meno che tu non faccia prima alcune trasformazioni costose e con perdite.

Tutto ciò mostra che i dati nei formati di memoria e file devono essere archiviati come griglia rettangolare. La modalità di visualizzazione dipende dal dispositivo di visualizzazione / stampante, ma questo dovrebbe essere il problema del driver. I dati dovrebbero essere indipendenti dal dispositivo e non dovrebbero assumere l'hardware che hai. Come mostrato nei post sopra, ci sono molti vantaggi nell'uso di pixel non rettangolari, a causa della fisiologia dell'occhio umano e di altri fattori più tecnologici: basta tenere i dati sulla griglia quadrata o avrai un'orda di programmatori nevrotici a cui rispondere: )

Nonostante tutto, ho effettivamente giocato con l'idea di avere una disposizione circolare dei pixel per l'integrazione nei quadranti (rendendo le mani linee rette). Quando ho iniziato a immaginare quanto sarebbe stato difficile disegnare qualcosa di semplice come una linea retta che non attraversa il centro, sono arrivato a molte delle conclusioni che menziono sopra.


"Questo porta con sé l'immenso problema della conversione paesaggio / ritratto" <...> "Questo è persino un problema per i pixel rettangolari" - Oxymoron? Personalmente non ho l'abitudine di ruotare il monitor, quindi perché ruotare l'immagine di 90 *.
Mikhail V,

Ci sono molti schermi verticali là fuori (schermi di arrivo / partenza in alcune stazioni ferroviarie, vari pannelli pubblicitari e così via) che puoi vedere sono in realtà solo schermi regolari ruotati di 90 gradi. Osservare: img.worsethanfailure.com/images/200710/error'd/…
orion,

Questo si chiama "uso improprio dell'attrezzatura". A proposito, l'algoritmo di disegno al tratto per punti arbitrari su griglia esadecimale potrebbe probabilmente essere risolto senza problemi. Non l'ho mai fatto, quindi provo a divinare, si potrebbe scoprire che sarà ancora più elegante rispetto alla griglia quadrata.
Mikhail V,

Un altro esempio sono i telefoni che sono i tablet, che ruotano l'immagine continuamente in modo dinamico. Sia i dati (formati di file) che gli schermi devono avere pixel logicamente quadrati per quello (indipendentemente da ciò che l'hardware fa effettivamente per visualizzarlo). L'algoritmo di disegno della linea è problematico nella definizione: Bresenham assicura che la linea abbia uno spessore preciso di un pixel sia in orizzontale che in verticale (a seconda della pendenza). Gli offset a mezza larghezza di ogni altra linea nella griglia esadecimale rendono ambiguo il significato di "spessore di un pixel". Certo, può essere fatto, ma prima dovresti definire e derivare di nuovo l'algoritmo.
Orione,

"deve avere pixel quadrati" Qui sta il problema. Il dispositivo di visualizzazione non dovrebbe mai essere prodotto con questo in mente, che qualcuno vorrebbe ruotarlo. È solo un malinteso che porta anche a concetti sbagliati del software e livelli di astrazione ridondanti. Per quanto riguarda i calcoli: in particolare nella visione artificiale, molte soluzioni efficaci sono per natura tridirezionali, se si fa questo tipo di cose, le coordinate polari aiutano molto.
Mikhail V,


7

Questa domanda riguarda più la disposizione che la forma reale di un pixel.

Il problema con le disposizioni esagonali è che tradurre un sito esagonale in coordinate cartesiane e viceversa non è banale.

O lavori con un indice reticolare Bravais primitivo

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

oppure lavori con una cella convenzionale rettangolare e aggiungi diversi "vettori di base" interni. (Sono necessari due vettori di base per il reticolo rettangolare più piccolo e circa 16 per il reticolo quadrato più piccolo).

Nel primo caso è coinvolta una trasformazione angolare e nel secondo è necessario specificare ciascun pixel x, ye un indice di base j.

Quindi alla fine, i pixel "quadrati" devono essere un sottoprodotto della nostra cultura cartesiana.

A proposito, sarebbe molto bello avere quella tecnologia ma è molto incompatibile con l'attuale paradigma. In effetti i sistemi biologici, preferiscono gli esagoni quando producono reticoli per sistemi visivi. Pensa agli occhi di mosca. La retina umana segue anche qualcosa di più vicino all'esagonale (rispetto al quadrato).

Vedi qui http://www.kybervision.com/resources/Blog/HumanRetinaMosaic.png e torna al punto di visualizzazione http://www.kybervision.com/Blog/files/AppleRetinaDisplay.html

Non ho dubbi sul fatto che un reticolo esagonale sia più appropriato per la visualizzazione. Ma puoi pensarlo in questo modo, ogni volta che gli ingegneri vogliono migliorare un display affrontano il seguente dilemma, 1) passare a esagonale, cambiare il paradigma, riscrivere trilioni di righe di codice e hardware 2) ridurre i "quadrati", aggiungi memoria, aumenta due numeri per la misura delle dimensioni di visualizzazione in pixel. L'opzione 2) è sempre più economica.

Finalmente una parola dall'inventore del pixel quadrato http://www.wired.com/2010/06/smoothing-square-pixels

Russell Kirsch, inventore del pixel quadrato, torna al tavolo da disegno. Negli anni '50 faceva parte di un team che sviluppò il pixel quadrato. "" I quadrati erano la cosa logica da fare ", afferma Kirsch. "Certo, la cosa logica non era la sola possibilità, ma abbiamo usato i quadrati. Era qualcosa di molto sciocco da cui tutti nel mondo hanno sofferto da allora ." Ora in pensione e residente a Portland, nell'Oregon, Kirsch ha recentemente deciso di fare ammenda. Ispirato ai costruttori di mosaici dell'antichità che hanno costruito scene di dettagli sbalorditivi con pezzi di piastrelle, Kirsch ha scritto un programma che trasforma le grosse e grezze piazze di un digitale un'immagine in un'immagine più liscia fatta di pixel di forma variabile. "


2
Direi questo: 3dmdesign.com/development/hexmap-coordinates-the-easy-way è abbastanza banale?
Tim

Sì, (buon punto) ma quel sistema di coordinate non è ancora cartesiano. Ad esempio, la regione "hexmap" della superficie di "3x3" non è 9 (nemmeno approssimativamente). Non è una questione di angolo, è una questione di metrica, un reticolo esagonale non è un reticolo rettale (o quadrato) ruotato.
alfC

Punto giusto - ma Cartesiano non è richiesto, vero?
Tim

1
Come ho detto, non in linea di principio, penso che sia più un problema di paradigma. (La cultura orienta la tecnologia e la tecnologia è appiccicosa, la tecnologia è un cambiamento difficile nell'isolamento).
alfC

Non sarei d'accordo sul fatto che si tratti di un grande cambiamento di paradigmi. Per caso puramente digitale, è abbastanza semplice cambio di adresation. Praticamente è necessario uno stesso set discreto, in modo che la funzione "blit" sappia dove scrivere i dati. Per quanto riguarda i dati di immagine da fonti rettangolari, sì, ci sono problemi. E creare un font per la visualizzazione esadecimale sarà ancora più semplice che su un quadrato (meno mal di testa con pendenze).
Mikhail V,

7

Per capire perché un pixel rettilineo abbia valore, è necessario comprendere il processo di fabbricazione di sensori e display. Entrambi sono basati sul layout di silicio. Entrambi sono derivati ​​dalle origini di VLSI.

Per implementare un pixel del sensore non rettilineo , è necessario essere pronti a:

  1. Disporre gli elementi sensibili alla luce in modo non rettilineo (ad es. Cerchi esagonali).
  2. Disporre i fili che raccolgono la carica (ad esempio CMOS / CCD) in modo non rettilineo
  3. Ridimensionare questo layout su >> 1M x 1M per soddisfare le esigenze del mercato
  4. Abbina (o interpola) le informazioni a un display rettilineo

Per implementare un pixel di visualizzazione non rettilineo , sono necessarie tutte le stesse cose.

Molte persone hanno cercato di realizzare fotocamere e display foveal (ad alta risoluzione nel mezzo dove i nostri occhi sono i migliori, a bassa risoluzione sulla periferia). Il risultato è sempre qualcosa di più costoso e meno capace di un sensore rettilineo.

La realtà dell'efficienza commerciale è che puoi sognare sensori / display non rettilinei, ma al momento non è conveniente o scalabile.


Un sensore pixel ad aspetto quadrato convenzionale si trasformerebbe in uno con pixel rettangolari se utilizzato dietro una lente anamorfica. Proprio come il bokeh diventa ellittico.
JDługosz,

4

Mentre potrebbero non essere fisicamente quadrati. Sono rappresentati in modo astratto come quadrati e quando visualizzati su schermi con risoluzioni ridotte sono visti come quadrati. Principalmente a causa di pigrizia e meno elaborazione. Il ridimensionamento di forme diverse come gli esagoni richiede più elaborazione, mentre attraversi una frazione di pixel. Mentre un quadrato sta semplicemente moltiplicando ogni lato per la costante. Inoltre, cercando di tracciare una griglia esadecimale non puoi semplicemente fare una semplice posizione X, Y.


Trama + x 100% per ottenere l'intera riga. Quindi la riga successiva viene spostata del + 50% e spostata verso il basso del 75%. La terza riga è sfalsata dalla seconda del -50% (o 0% dalla prima riga). Mentre questo è più complicato, direi che è ancora facile - ed esiste un sistema di coordinate esadecimali, al contrario del cartesiano standard - inclina la Y di 30 ° 3dmdesign.com/development/hexmap-coordinates-the-easy-way .
Tim

4

Esistono due modi per rispondere a questa domanda:

  1. Nell'hardware, i pixel non sono necessariamente fisicamente quadrati, ma possono essere di qualsiasi forma o disposizione ritenuti appropriati dal produttore di un dispositivo di visualizzazione. In realtà, spesso non sono quadrati.
  2. Nel software, i pixel sono considerati "quadrati" in quanto si presume che rappresentino un'area che ha la stessa larghezza e altezza. Ciò non significa che quando vengono renderizzati, ad esempio se ingranditi, devono essere disegnati come quadrati, ma devono rappresentare i dati per un'area dell'immagine con proporzioni quadrate, altrimenti l'immagine apparirà allungata in un modo o nell'altro. Questo è puramente per convenzione.

In entrambi i casi, non è necessario che i pixel siano quadrati, ma sono puramente per convenzione. Caso in questione: i primi schermi widescreen utilizzavano lo stesso numero di pixel - sia hardware che software - dei display non widescreen, ma i pixel erano concettualmente rettangolari (la dimensione orizzontale era maggiore della dimensione verticale) anziché concettualmente quadrati come lo è il standard. Tuttavia, l'utilizzo di forme di pixel che non si avvicinano a un quadrato non è standard e può causare enormi problemi di compatibilità, almeno nell'uso quotidiano.

RISPOSTA BREVE:

I pixel sono trattati come quadrati per convenzione.


-1

Dal punto di vista di uno spettatore, devo dire che è perché lo schermo su cui guardi questo è comunque rettangolare. Un rapporto di formato comune è 1920 per 1080. Oltre una certa lunghezza come 720 consente di riconoscere "alta definizione". Questo potrebbe benissimo essere più difficile da ottenere con pixel circolari o esagonali.


3
Beh, circolare non tessellate, ma non vedo perché non puoi semplicemente restringere gli esagoni. Vedi l'immagine che ho fatto della macchina - ne stai solo inserendo di più?
Tim

E questi rapporti d'aspetto sono ben rettangolari perché i pixel di forma sono disposti in ... Una griglia.
Tim

1
@Tim, la tassellatura potrebbe non essere così importante dal punto di vista dell '"utente" dopo aver rinunciato all'indicizzazione cartesiana o regolare. La retina non è tassellata (perfettamente) e potrebbe anche essere ottimale (ad esempio per evitare moiré en.wikipedia.org/wiki/Moir%C3%A9_pattern o artefatti di diffrazione della luce).
alfC
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.