Dlaczego piksele są kwadratowe?

207

Piksele na ekranach są kwadratowe, ale nie jestem pewien, dlaczego.

Oba pikselowane obrazy wyglądają dość źle - ale nie jestem pewien, czy są tutaj przewagi kwadratów nad sześciokątami.

Sześciokąty dzielą się również na 3 kolory:

Jaka jest więc zaleta kwadratów na wyświetlaczu LCD / CRT?

Tim
źródło
20
Proszę wyjaśnić kontekst. Masz na myśli wyświetlacze, formaty obrazów lub wydruki? I nawet wtedy to pytanie może być zbyt ogólne.
Daniel B,
66
Piksele są bezwymiarowymi jednostkami logicznymi i nigdy nie są kwadratowe w rzeczywistości, jak sugeruje @DanielB, każdy rasterizer traktuje je inaczej. Na przykład obrazy Google „pikseli ekranu”.
Yorik
5
To pytanie powinno być prawdopodobnie przeniesione do User Experience lub Electrical Engineering .
curiousdannii
13
Nie rozumiem Dlaczego w ogóle jest to popularne i dlaczego nie zostało przeniesione na forum inżynierii mechanicznej?
Carl Witthoft,

Odpowiedzi:

264

Piksele na ekranach są kwadratowe, ale nie jestem pewien, dlaczego.

Nie są (koniecznie) kwadratowe.

Niektórzy twierdzą, że nigdy niekwadratowe („Piksel jest próbką punktową. Istnieje tylko w jednym punkcie.”).


Jaka jest więc zaleta kwadratów na wyświetlaczu LCD / CRT?

  • Inne układy (takie jak trójkąty, sześciokąty lub inne wielokąty wypełniające przestrzeń ) są bardziej kosztowne obliczeniowo.

  • Każdy format obrazu oparty jest na pikselach (bez względu na kształt) ułożonych w prostokątny układ.

  • Gdybyśmy mieli wybrać inny kształt lub układ, dużo oprogramowania musiałoby zostać przepisane.

  • Wszystkie fabryki produkujące obecnie wyświetlacze z układem prostokątnych pikseli musiałyby zostać zmienione pod kątem innego układu.


Praktyczne zastosowania sześciokątnego układu współrzędnych

Podczas korzystania z sześciokątnego układu współrzędnych należy zasadniczo rozważyć cztery główne kwestie:

  • Konwersja obrazu - sprzęt zdolny do przechwytywania obrazów ze świata rzeczywistego bezpośrednio na sześciokątną siatkę jest wysoce specjalistyczny i dlatego nie jest ogólnie dostępny do użycia. Dlatego przed wykonaniem jakiegokolwiek przetwarzania wymagane są wydajne sposoby konwersji standardowego obrazu z kwadratowymi obrazami na obraz heksagonalny.
  • Adresowanie i przechowywanie - Wszelkie manipulacje wykonywane na obrazach muszą umożliwiać indeksowanie i dostęp do poszczególnych pikseli (w tym przypadku sześciokąty zamiast kwadratów), a każdy obraz w formie heksagonalnej powinien być przechowywany w formie heksagonalnej (w przeciwnym razie konwersja obrazu musiałaby być wykonywana co czas dostępu do obrazu). Ponadto bardzo cenny byłby system indeksowania, który jest prosty do naśladowania i upraszcza arytmetykę niektórych funkcji.
  • Operacje przetwarzania obrazu - aby efektywnie wykorzystać sześciokątny układ współrzędnych, należy zaprojektować lub przekonwertować operacje, które mają na celu wykorzystanie mocnych stron tego systemu, a zwłaszcza mocnego systemu adresowania używanego do indeksowania i przechowywania.
  • Wyświetlanie obrazu - Podobnie jak w przypadku faktycznego uzyskania obrazu, urządzenia wyświetlające zasadniczo nie używają sześciokątnych sieci. Dlatego przekonwertowany obraz musi zostać zwrócony do formularza, który można wysłać do urządzenia wyjściowego (niezależnie od tego, czy jest to monitor, drukarka czy jakaś inna jednostka), a wynikowy wyświetlacz będzie wyglądał w naturalnych proporcjach i skali. Dokładny charakter tej konwersji zależy od zastosowanej metody indeksowania. Może to być zwykłe przywrócenie pierwotnego procesu konwersji lub bardziej znaczący splot.

Problemy z sześciokątnymi układami współrzędnych

Istnieją jednak pewne problemy z sześciokątnymi układami współrzędnych. Jednym z problemów jest to, że ludzie są bardzo przyzwyczajeni do tradycyjnej kwadratowej sieci.

Rozumowanie w heksach może wydawać się nienaturalne, a zatem trochę trudne. Chociaż można argumentować, że ludzie mogą się do tego przyzwyczaić, jeśli będą musieli, nadal jednak naturalnie będą skłonni do wnioskowania za pomocą tradycyjnego kartezjańskiego układu współrzędnych domyślnie, przy czym układy heksagonalne są jedynie drugorzędnym wyborem.

Brak urządzeń wejściowych odwzorowujących na sieci sześciokątne oraz brak urządzeń wyjściowych wyświetlających się jako takie jest również przeszkodą:

  • Konieczność konwersji z kwadratów na sześciokąty iz powrotem szkodzi użyteczności operacji na sieciach sześciokątnych.

  • Ponieważ takie sieci są gęstsze niż równoważne sieci kwadratowe o tym samym pozornym rozmiarze, chyba że obrazy są wprowadzane z celowo wyższą rozdzielczością niż ma być obsługiwana, przekonwertowane obrazy muszą ekstrapolować niektóre lokalizacje pikseli (co jest ogólnie mniej pożądane niż posiadanie wszystkich piksele dostarczane bezpośrednio ze źródła).

  • Konwersja z powrotem do sieci kwadratowych spowodowałaby zapadnięcie się niektórych lokalizacji pikseli, co skutkowałoby utratą widocznych szczegółów (co mogłoby skutkować niższą jakością obrazu niż pierwotnie wprowadzony).

Jeśli ktoś chce zastosować sześciokątne układy współrzędnych we własnej pracy wzrokowej, powinien najpierw ustalić, czy te problemy są przeważone przez nieodłączne zalety pracy z sześciokątami.

Źródło Sześciokątne układy współrzędnych


Czy wypróbowano inny kształt lub układ?

Wyświetlacz XO-1 zapewnia jeden kolor dla każdego piksela. Kolory są wyrównane wzdłuż przekątnych biegnących od prawego górnego do dolnego lewego Aby zmniejszyć artefakty kolorów spowodowane przez tę geometrię pikseli, składnik koloru obrazu jest rozmazany przez kontroler wyświetlania, gdy obraz jest wysyłany na ekran.

Porównanie wyświetlacza XO-1 (po lewej) z typowym wyświetlaczem ciekłokrystalicznym (LCD). Obrazy pokazują 1 × 1 mm każdego ekranu. Typowy wyświetlacz LCD adresuje grupy 3 lokalizacji jako piksele. OLPC XO LCD adresuje każdą lokalizację jako osobny piksel:

wprowadź opis zdjęcia tutaj

Źródło OLPC XO

Inne wyświetlacze (zwłaszcza OLED) wykorzystują różne układy - takie jak PenTile :

wprowadź opis zdjęcia tutaj

Układ składa się z kwinkunksu zawierającego dwa czerwone subpiksele, dwa zielone subpiksele i jeden środkowy niebieski subpiksel w każdej komórce jednostkowej.

Został zainspirowany biomimikrią ludzkiej siatkówki, która ma prawie taką samą liczbę komórek stożkowych typu L i M, ale znacznie mniej stożków S. Ponieważ stożki S są przede wszystkim odpowiedzialne za postrzeganie niebieskich kolorów, które nie wpływają w znaczący sposób na postrzeganie luminancji, zmniejszenie liczby niebieskich subpikseli w odniesieniu do czerwonych i zielonych subpikseli na wyświetlaczu nie obniża jakości obrazu.

Ten układ został specjalnie zaprojektowany do pracy z renderowaniem subpikseli i zależy od niego, który do renderowania obrazu wykorzystuje średnio tylko jeden i jeden czwarty subpiksel na piksel. Oznacza to, że dowolny dany piksel wejściowy jest odwzorowany na piksel logiczny z czerwonym środkiem lub piksel logiczny z zielonym środkiem.

Źródło rodziny macierzy PenTile


Prosta definicja piksela

Każda z bardzo małych kropek, które razem tworzą obraz na ekranie telewizora, monitora komputerowego itp.

Źródło http://www.merriam-webster.com/dictionary/pixel


Piksel

W obrazowaniu cyfrowym piksel, pel lub element obrazu jest fizycznym punktem na obrazie rastrowym lub najmniejszym adresowalnym elementem w adresowalnym urządzeniu wyświetlającym z wszystkimi punktami; więc jest to najmniejszy kontrolowany element obrazu reprezentowany na ekranie.

...

Piksel nie musi być renderowany jako mały kwadrat . Ten obraz pokazuje alternatywne sposoby rekonstrukcji obrazu z zestawu wartości pikseli, przy użyciu kropek, linii lub płynnego filtrowania.

wprowadź opis zdjęcia tutaj

Źródło Pixel


Proporcje pikseli

Większość cyfrowych systemów obrazowania wyświetla obraz jako siatkę małych kwadratowych pikseli. Jednak niektóre systemy obrazowania , zwłaszcza te, które muszą być kompatybilne z filmami telewizyjnymi o standardowej rozdzielczości, wyświetlają obraz jako siatkę prostokątnych pikseli, w których szerokość i wysokość pikseli są różne . Proporcje pikseli opisują tę różnicę.

Współczynnik proporcji piksela źródła


Piksel to nie mały kwadrat!

Piksel jest próbką punktową. Istnieje tylko w pewnym momencie.

W przypadku obrazu kolorowego piksel może faktycznie zawierać trzy próbki, po jednej dla każdego koloru podstawowego przyczyniającego się do obrazu w punkcie próbkowania. Nadal możemy myśleć o tym jako o próbce koloru. Ale nie możemy myśleć o pikselu jako kwadracie lub czymkolwiek innym niż punkt.

Zdarzają się przypadki, w których wkład w piksel można modelować w małym porządku za pomocą małego kwadratu, ale nigdy samego piksela.

Źródło Pixel to nie mały kwadrat! (Microsoft Technical Memo 6 Alvy Ray Smith, 17 lipca 1995 r.)

DavidPostill
źródło
5
Potrzebne jest cytowanie w punkcie „droższym obliczeniowo”. Idealnie połącz z dokumentem badawczym, biorąc pod uwagę na przykład heksagonalną teselację i analizę obliczeniową. Brzmi to tak, jakbyś wymieniał jakieś wiarygodne wyjaśnienia.
djechlin
4
Również cały czas przepisujemy wiele programów w ramach ulepszania. Nie jestem pewien, o co ci chodzi.
djechlin
5
@djechlin Obecnie wszystkie specyfikacje wideo / obrazu oparte są na prostokątnej matrycy pikseli. Wyświetlanie dowolnego wideo lub obrazu wymagałoby konwersji z prostokątnego (kartezjańskiego) układu współrzędnych na sześciokątny układ współrzędnych. Obliczenia dotyczące rysowania linii na prostokątnym układzie współrzędnych są prostsze niż rysowanie na sześciokątnym układzie współrzędnych (jest to podstawowa matematyka). Czy potrzebuję wyjaśnienia?
DavidPostill
2
@djechlin Odpowiedź zaktualizowana i uwzględniono cytat
DavidPostill
4
+ 1 dla Twojego źródła Microsoft Tech Memo. Ogólnie rzecz biorąc, świetna odpowiedź.
shock_gone_wild
71

Chciałbym zaoferować alternatywę dla przemyślanej odpowiedzi Davida Postilla. W swojej odpowiedzi podszedł do pytania, że ​​piksele mają kwadrat, tak jak sugerował tytuł. Jednak w odpowiedzi udzielił bardzo wnikliwego komentarza:

Niektórzy twierdzą, że nigdy nie są kwadratowe („Piksel jest próbką punktową. Istnieje tylko w jednym punkcie.”).

Ta pozycja może faktycznie zrodzić się z zupełnie innej odpowiedzi. Zamiast skupiać się na tym, dlaczego każdy piksel jest kwadratem (lub nie), może skupić się na tym, dlaczego mamy tendencję do organizowania próbkowania punktowego w prostokątne siatki. W rzeczywistości nie zawsze tak było!

Aby przedstawić ten argument, będziemy grać w tę iz powrotem między traktowaniem obrazu jako danych abstrakcyjnych (takich jak siatka punktów) a jego implementacją w sprzęcie. Czasami jeden widok jest bardziej znaczący niż drugi.

Na początek cofnijmy się dość daleko. Tradycyjna fotografia filmowa w ogóle nie miała „siatki”, co jest jednym z powodów, dla których zdjęcia zawsze wyglądały tak ostro w porównaniu z nowoczesnymi cyfrowymi. Zamiast tego miał „ziarno”, które było losowym rozkładem kryształów na filmie. Był z grubsza jednolity, ale nie był ładnym prostoliniowym układem. Organizacja tych ziaren wynikała z procesu produkcji folii, z wykorzystaniem właściwości chemicznych. W rezultacie film tak naprawdę nie miał „kierunku”. To było tylko 2d rozpryskiwania informacji.

Szybkie przejście do telewizora, w szczególności starych skanerów CRT. CRT potrzebowały czegoś innego niż zdjęcia: musieli być w stanie przedstawić swoją treść jako dane. W szczególności musiały to być dane, które mogłyby przesyłać strumieniowo, analogowo, przez drut (zwykle jako stale zmieniający się zestaw napięć). Zdjęcie było 2d, ale musieliśmy przekształcić je w strukturę 1d, aby mogło się zmieniać tylko w jednym wymiarze (czasie). Rozwiązaniem było pocięcie obrazu na linie (nie piksele!). Obraz był kodowany linia po linii. Każda linia była analogowym strumieniem danych, a nie cyfrowym próbkowaniem, ale linie były oddzielone od siebie. Tak więc dane były dyskretne w kierunku pionowym, ale ciągłe w kierunku poziomym.

Telewizory musiały renderować te dane przy użyciu fizycznych luminoforów, a telewizor kolorowy wymagał siatki, aby podzielić je na piksele. Każdy telewizor może robić to inaczej w kierunku poziomym, oferując więcej lub mniej pikseli, ale musiał mieć taką samą liczbę linii. Teoretycznie mogliby przesunąć co drugi rząd pikseli, dokładnie tak, jak sugerujesz. Jednak w praktyce nie było to konieczne. W rzeczywistości poszli jeszcze dalej. Szybko zorientowano się, że ludzkie oko poradziło sobie z ruchem w taki sposób, że faktycznie wysyłają tylko połowę obrazu na każdą klatkę! Na jednej klatce wysyłali nieparzyste linie, a na następnej wysyłali parzyste linie i łączyli je razem.

Od tego czasu digitalizacja tych obrazów z przeplotem jest trochę trudna. Gdybym miał obraz o linii 480, faktycznie mam tylko połowę danych w każdej ramce z powodu przeplotu. Rezultat tego jest bardzo widoczny, gdy próbujesz zobaczyć, jak coś szybko porusza się po ekranie: każda linia jest tymczasowo przesunięta o 1 klatkę od drugiej, tworząc poziome smugi w szybko poruszających się obiektach. Wspominam o tym, ponieważ jest to raczej zabawne: twoja sugestia przesuwa co drugi rząd na siatce o pół piksela w prawo, a przeplot przesuwa co drugi rząd na siatce o połowę czasu!

Szczerze mówiąc, łatwiej jest zrobić te ładne prostokątne siatki na rzeczy. Nie ma technicznych powodów, by robić coś lepszego, utknął. Potem wkroczyliśmy w erę komputerów. Komputery musiały generować te sygnały wideo, ale nie miały analogowych możliwości zapisania linii analogowej. Rozwiązanie było naturalne, dane podzielono na piksele. Teraz dane były dyskretne zarówno w pionie, jak i w poziomie. Pozostało tylko wybrać sposób wykonania siatki.

Wykonanie prostokątnej siatki było niezwykle naturalne. Po pierwsze, każdy telewizor już to robił! Po drugie, matematyka do rysowania linii na prostokątnej siatce jest znacznie prostsza niż rysowanie ich na sześciokątnej. Możesz powiedzieć „ale możesz narysować gładkie linie w 3 kierunkach na siatce sześciokątnej, ale tylko 2 w prostokątnej”. Jednak prostokątne siatki ułatwiły rysowanie linii poziomych i pionowych. Siatki sześciokątne można wykonać tylko w celu narysowania jednego lub drugiego. W tamtych czasach niewielu ludzi używało sześciokątnych kształtów do swoich działań niezwiązanych z komputerem (prostokątny papier, prostokątne drzwi, prostokątne domy ...). Zdolność do płynnego poziomego ipionowe linie znacznie przewyższały wartość robienia płynnych pełnokolorowych zdjęć ... zwłaszcza biorąc pod uwagę, że pierwsze wyświetlacze były monochromatyczne i upłynęło dużo czasu, zanim płynność obrazów odegrała znaczącą rolę w myśleniu.

Stąd masz bardzo silny precedens dla prostokątnej siatki. Sprzęt graficzny obsługuje to, co robi oprogramowanie (prostokątne siatki), a oprogramowanie jest ukierunkowane na sprzęt (prostokątne siatki). Teoretycznie część sprzętu mogła próbować stworzyć sześciokątną siatkę, ale oprogramowanie po prostu jej nie wynagrodziło i nikt nie chciał płacić za dwa razy więcej sprzętu!

Ten post przenosi nas do dziś. Nadal chcemy ładnych gładkich linii poziomych i pionowych, ale z wysokiej klasy wyświetlaczami siatkówki staje się to coraz łatwiejsze. Jednak programiści są nadal szkoleni, aby myśleć w kategoriach starej prostokątnej siatki. Widzimy, że niektóre nowe interfejsy API obsługują „logiczne współrzędne” i wykonujemy wygładzanie, aby wyglądało na to, że jest dostępna pełna ciągła przestrzeń 2d zamiast siatki sztywnych pikseli 2d, ale jest wolna. W końcu możemy zobaczyć sześciokątne siatki.

Widzimy je, ale nie na ekranach. W druku bardzo często stosuje się siatkę sześciokątną. Ludzkie oko akceptuje sześciokątną siatkę znacznie szybciej niż prostokątną siatkę. Ma to związek z liniami „aliasów” w różnych systemach. Sześciokątne siatki aliasów w mniej ostry sposób, z którymi oko jest bardziej wygodne (jeśli siatka heksadecymalna musi przechodzić o jeden rząd w górę lub w dół, robią to płynnie nad przejściem po przekątnej. Siatki prostokątne muszą przeskakiwać, tworząc bardzo wyraźna nieciągłość)

Cort Ammon
źródło
2
Idealne do wyjaśnienia, jak powstała telewizja: strumień analogowy. Ten standard obowiązywał przez 70 lat, a dodawanie kolorów zostało wykonane w sposób, który zachował zgodność z czarno-białym, spróbuj to osiągnąć w tych dniach! Ile jest teraz formatów wideo?
3
Telewizory musiały renderować te dane przy użyciu fizycznych luminoforów, z siatką dzielącą je na piksele. ”„ ”- czy to prawda w przypadku telewizji czarno-białej? Rozumiałem, że dyskretne „fizyczne luminofory” (które wciąż nigdy nie odpowiadały żadnemu pikselowemu elementowi w strumieniu danych) pochodziły z kolorowej telewizji, a monochromatyczne kineskopy po prostu mają ciągłą powłokę z fosforu.
Random832
Lubię historię, ale nie zgadzam się na przejście na nowoczesne urządzenia. Mimo że dziedzictwo wydaje się prostoliniowe, telewizor jest w rzeczywistości analogowy w kierunku poziomym, dopóki nie spojrzysz na kolorowy fosfor na telewizorze. W rzeczywistości jest sześciokątny! Sugeruję, że prawdziwym powodem, dla którego mamy prostoliniowy jest układ VLSI, jest łatwiejszy niż prostoliniowy, a nie sześciokątny.
user3533030
1
Dlaczego w czarno-białym telewizorze po prostu nie rozmazujesz luminoforów po powierzchni i nie pozwalasz, aby strumień elektronów był silniejszy / słabszy i sprawiał, że świecą mniej lub bardziej w sposób całkowicie analogowy? Krótko mówiąc, dlaczego w ogóle mają (poziome) piksele? Kiedy już masz kolor, sprawy stają się trudniejsze; ale nawet wtedy, jeśli dobrze pamiętam, sygnał koloru nie jest definiowany w pikselach. Jeśli chodzi o próbki poziome, liczba próbek wymaganych do odtworzenia sygnału z próbek o jednakowej intensywności jest funkcją szerokości pasma częstotliwości, a przesunięcia w połowie „próbki” nie poprawiają tego.
Yakk
2
@Yakk Większość czarno-białych CRT została zbudowana dokładnie w ten sposób - wczesne CRT TV BW pochodziły z CRT Radar / Oscyloskop, które są często kontrolowane analogowo X / Y lub biegunowo bez rastra. Telewizory nadal korzystały ze skanowania linia po linii, ponieważ odpowiada to kodowaniu sygnału, ale brak pikseli na liniach. Niektóre specjalne wyświetlacze (głównie kokpity samolotów) wykorzystywały nawet luminofory, które zmieniały kolor w zależności od tego, jak mocno zostały uderzone wiązką elektronów (ten rodzaj wyświetlacza nazywa się penetronem).
rackandboneman
21

Dwa powody:

  • Kształt prostokątny w porównaniu z okrągłym, trójkątnym lub ponad 4-stronnym ma tę zaletę, że można go umieścić obok innych prostokątów przy minimalnej „marnowanej przestrzeni”. Zapewnia to, że pełny obszar piksela przyczynia się do obrazu. Mogą istnieć inne kształty, które „pasują do siebie”, ale prawdopodobnie byłyby bardziej skomplikowane w produkcji niż proste kwadraty lub prostokąty, ale nie wprowadzałyby żadnych dodatkowych korzyści.

  • Wyświetlacz pikselowy ogólnego przeznaczenia - taki, który może być używany do wyświetlania dowolnego rodzaju informacji, musi mieć piksele, które nie sprzyjają niektórym typom kształtów. Dlatego piksele powinny być kwadratowe zamiast dłuższych lub szerszych w jednym kierunku, a nie ścinane lub obracane w jakikolwiek sposób.

    • Jeśli piksele są wyższe niż szersze, minimalna grubość linii poziomej będzie szersza niż minimalna grubość linii pionowej, dzięki czemu poziome i pionowe linie wyglądają inaczej, dla tej samej liczby pikseli.

    • Jeśli piksele zostaną obrócone, tylko linie pod kątem pasujące do kąta obrotu będą wyglądały gładko, a pozostałe linie będą wyglądały na postrzępione. Większość systemów operacyjnych i oprogramowania produkcyjnego opiera się na liniach prostych, więc byłoby dużo frędzli lub poszarpanych egdes.

    • Ścinane piksele (romby) byłyby najgorsze z obu światów - ani ukośne, ani poziome / pionowe nie byłyby gładkie.

Jeśli nie interesuje Cię wyświetlacz ogólnego przeznaczenia, ale ukierunkowany na określony cel, możesz być bardziej elastyczny. Ekstremalnym przykładem jest 7-segmentowa dioda LED, jeśli wszystko, co musisz zrobić, to wyświetlić liczbę, wystarczy 7 nie kwadratowych pikseli ułożonych w taki sposób. Lub 15-segmentowe diody LED, które pozwalają na litery.

LawrenceC
źródło
Hmm, nie jestem pewien, czy argument kosztów działa dla sześciokątów (mogę się mylić).
Tim
@Tim - Powinieneś trochę zbadać ten temat. Jeśli sześciokąty miałyby przewagę techniczną, zastosowałby je producent wyświetlaczy, fakt, że nie są one używane, wskazuje, że nie mają one żadnej przewagi nad korzyściami pod względem kosztów lub wydajności.
Ramhound,
2
@Ramhound tak, rozumiem. Muszę więcej badać - to pytanie to moje badania. Pytam o powody, dla których nie sześciokąty - nie dlaczego kwadraty (i link do porównania kosztów byłby miły - idk, jeśli ktoś kiedykolwiek je stworzył)
Tim
2
„prawdopodobnie byłyby bardziej skomplikowane w produkcji niż proste kwadraty lub prostokąty” - potrzebne cytowanie. „jeszcze nie wprowadzają żadnych dodatkowych korzyści” - potrzebne cytowanie.
Raphael
1
@Raphael Cóż, tak naprawdę nie potrzebujesz do tego żadnej wzmianki - na CRT „piksele” nie były kwadratami ani prostokątami. Miały świetny rozkład kolorów i wymagały mniej „sztuczek” renderowania subpikseli. Kiedy pojawiły się ekrany LCD, po prostu nie mogły się porównać - technologia była wyjątkowo prostokąta, więc bardziej tradycyjny układ był mniej lub bardziej niemożliwy. Oczywiście współczesne „LCD” niekoniecznie tak naprawdę są wyświetlaczami LCD - na przykład nie znajdziesz żadnych „ciekłych kryształów” w OLED. Wreszcie, sześciokąty (lub stare szkolne CRT, to podobne) działałyby ładnie w przypadku zdjęć i filmów, ale nie w przypadku interfejsów użytkownika.
Luaan
15

Piksele niekoniecznie są kwadratowe!

W przeszłości piksele miały prostokątne kształty. Dlatego w każdym profesjonalnym edytorze obrazów / wideo, takim jak Photoshop, Premiere, Sony Vegas ... widzisz opcję proporcji pikseli . Tylko nowoczesne standardy telewizorów i monitorów PC mają kwadratowe piksele.

Współczynnik proporcji pikseli w Photoshopie

Znane przykłady:

  • PAL Analog TV / DVD: 720x576, który oczywiście nie jest 16: 9 lub 4: 3, ale 5: 4. Jednak po ustawieniu prawidłowego współczynnika proporcji pikseli powstanie prawidłowy nierozciągnięty obraz wyjściowy

  • NTSC Analog TV / DVD: 720 x 480, czyli 3: 2. Po ustawieniu współczynnika kształtu będzie on 16: 9 lub 4: 3 jak PAL powyżej. Niższa rozdzielczość pionowa wyjaśnia również, dlaczego płyty DVD NTSC wyglądają na mniej wyraźne niż PAL

  • VCD : PAL 352x288 , NTSC 352x240 . Oba wykorzystują proporcje ekranu 4: 3
  • SVCD : 480 x 480 i, co nie dziwi, nie daje kwadratowego wyniku
  • DV : 1440 x 1080 rozdzielczość 16: 9 Full HD
  • CGA : 320 x 200 i 640 x 200 w 4: 3 (tak, starsze ekrany komputerów mają prostokątne piksele)
  • EGA obsługuje 640x350 dla ekranów 4: 3 oprócz 320x200 i 640x200

Adobe Premiere Pro - Praca ze współczynnikami kształtu

phuclv
źródło
7
Odpowiedź można poprawić, wyjaśniając nieco więcej na temat współczynnika kształtu (w przeciwieństwie do samego łącza). Nie jest jasne, dlaczego konkretna rozdzielczość ekranu nie może mieć kwadratowych pikseli.
Jon Bentley,
1
Nie rozumiem związku między kwadratowymi pikselami a rozdzielczością.
AL
@AL, jak już wspomniałem powyżej. 720: 576 to 5: 4, a jeśli piksele są kwadratowe, spowoduje to proporcje 5: 4. Jeśli jednak proporcje pikseli są ustawione na wartość inną niż 1, spowoduje to uzyskanie innego współczynnika proporcji. Ale gdzie mówiłem o rozdzielczości tutaj? Właśnie powiedziałem współczynnik proporcji
phuclv
3
@AL: Ta odpowiedź dowodzi, że nie wszystkie piksele na ekranach (lub plikach) są kwadratowe: niektóre są prostokątne.
slebetman
1
8-bitowe komputery Atari miały kilka trybów graficznych o rozdzielczości 80x192, w wyniku czego powstały piksele o bardzo nie kwadratowym kształcie.
DaveP
10

Odpowiedź brzmi: powinny być sześciokątne, ponieważ sześciokątne kafelki zapewniają optymalną jakość optyczną, więc to będzie przyszłość.
Ale myślę, że istnieją dwa główne powody, dla których wciąż są kwadratowe:

  • Łatwiej jest reprezentować dane obrazu bitmapowego na kwadratowej siatce jako tablicę 2D (zarówno dla uproszczenia sprzętowego, jak i dla człowieka)
  • Stało się to historycznie, więc będzie tak przez jakiś czas z powodu przyczyny # 1.

Aktualizacja

Ten temat to thriller. Prawie 10 tys. Wyświetleń. Ludzie chcą opanować piksel :) Zabawne, jak ktoś znajduje związek pytania z rozdzielczością ekranu lub „kwadratem” kwadratu.
Dla mnie jest to: który blok konstrukcyjny, kwadrat lub sześciokąt daje lepsze wyniki optyczne ?

Po pierwsze, potrzebujemy prostego kafelkowania, ale który lepiej pokrywa niestandardowy obszar i faktycznie jest to sześciokąt. Które można łatwo zrozumieć z prostych testów. Silnym testem byłby tak zwany test „pierścieniowy”. Dla uproszczenia tworzę tu trynitarny kolor: 0 - tło, 1 - szary i 2 - czarny.

Wpatrując się w kropkę, spróbujemy rozszerzyć pierścień, aby wyglądał tak:

wprowadź opis zdjęcia tutaj

Na pewno będę chciał również narysować linie poziome / pionowe dla wielu zadań, takich jak interfejs użytkownika i projektowanie druku lub gra platformowa. Nazwijmy to „testem paskowym”:

wprowadź opis zdjęcia tutaj

Za pomocą tego testu mogę wybrać styl linii, który wygląda lepiej w rzeczywistych warunkach. W przypadku linii pionowych jest to jeszcze prostsze. W celu wyświetlenia konkretnego zadania wszystko może zostać zapisane na stałe, więc aby narysować linię z funkcją, wystarczy powtórzyć jej odcinek w kierunku poziomym. Chodzi o to, że zarówno piksele kwadratowe , jak i sześciokątne działają, ale jeśli spróbujesz tego samego testu z kwadratowymi kafelkami, szybko zauważysz różnicę. Przy bardzo wysokim DPI nie jest to tak zauważalne, ale po co próbować zwiększać DPI zamiast próbować bardziej skutecznego podejścia? Nie widzę dużo sence.


W przypadku kolorów RGB będzie to prawdopodobnie wymagać bardziej złożonych struktur. Właściwie chciałbym mieć urządzenie w skali szarości, jak na powyższych obrazkach. Fajnie byłoby też mieć szybką reakcję pikseli na tworzenie animacji.

Dla zabawy stworzyłem prostą sześciokątną strukturę, w której pikselami mogą być RGB. Oczywiście nie wiem, jak to może wyglądać na prawdziwym urządzeniu, ale mimo to wygląda świetnie.

wprowadź opis zdjęcia tutaj


Nieformalne wyjaśnienie-ilustracja, które może
pomóc w opisaniu sytuacji:

wprowadź opis zdjęcia tutaj

Michaił V.
źródło
1
Częściowo nie zgadzam się z obiema częściami 1, ponieważ a) 3dmdesign.com/development/hexmap-coordinates-the-asasy-way (chociaż na pewno ustawienie może być nieco trudniejsze, ale nie ma trudności z przypisaniem do nich współrzędnych) oraz b) Od kiedy były szczegóły komputerów zaprojektowanych z myślą o ludziach.
Tim
@Tim Dane komputera nie są, ale ludzka jaźń ma tendencję do traktowania informacji w sposób „prostokątny”, co z kolei prowadzi do dziwnych projektów. Istnieje wiele przykładów, takich jak ten robonaut. Po co więc robota wyglądać jak człowiek? Z ergonomicznego punktu widzenia robot ten powinien przypominać ośmiornicę, ale ludzie to ludzie.
Michaił V
1
@MikhailV robi robota jak człowiek, pozwala mu korzystać z rzeczy stworzonych dla ludzi. W przeciwnym razie wszystko musi być specjalnie wykonane dla robota.
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen Tak, jak koszulka i okulary przeciwsłoneczne :)
Mikhail V
1
Czy trójkąty nie byłyby lepsze od sześciokątów, ponieważ mogą robić wszystko, co sześciokąty mogą robić i więcej?
Raynet
9

Niektóre odpowiedzi już to dotykają ... Myślę, że nieprostokątna tablica pod względem przechowywania danych stworzyłaby niewyobrażalną złożoność i byłaby wyjątkowo podatna na błędy. Mam duże doświadczenie w modelowaniu układów fizycznych, w których siatka nie jest prostokątna (siatki schodkowe - punkty danych na pół krawędziach i tak dalej). Indeksowanie to koszmar.

Po pierwsze, istnieje problem ze zdefiniowaniem granicy. Obrazy są zwykle prostokątne (znowu jest to kwestia historii - gdyby nasze ekrany były sześciokątne, byłoby trochę łatwiej). Zatem nawet granica obrazu nie jest linią prostą. Czy umieszczasz tę samą liczbę pikseli w każdym rzędzie? Czy na przemian parzyste / nieparzyste? I ... czy lewy dolny piksel znajduje się po lewej stronie do tego powyżej, czy po prawej? Natychmiast dostajesz prawie 10 różnych standardów, a programiści muszą pamiętać za każdym razem, jak to idzie (nawet różnica między rzędami i kolumnami lub różnica indeksowania od góry do dołu / od dołu czasami powoduje błędy). To pociąga za sobą ogromny problem konwersji krajobrazu / portretu (naturalna transformacja, która jest trywialna na prostokątnej siatce, ale wymaga interpolacji i prawie koniecznie jest stratną procedurą na heksie lub innej siatce).

Potem jest naturalny instynkt, który ludzie mają z prostokątnym układem. Masz matematyki w matematyce, które mają ten sam układ. Podobnie kartezjańska rama współrzędnych jest prawie najłatwiejsza w użyciu i zrozumieniu w najbardziej ogólnych przypadkach. Uzyskanie indeksu piksela w (x, y) to po prostu x + szerokość * y (nie na odwrót - starsza wersja indeksowania linii skanowania). Jeśli szerokość jest wielokrotnością 2, nie potrzebujesz nawet mnożenia. Praca z kątami nieprostymi powoduje wiele komplikacji, które wynikają z algebry wektorowej, gdy wektory podstawowe nie są ortogonalne: rotacje nie są już prostymi superpozycjami cos / sin. Tłumaczenie staje się dziwne. Daje to dużą złożoność obliczeniową (obliczenie byłoby kilka razy droższe), oraz złożoność kodu (pamiętam kodowanie algorytmu Bresenhama raz i naprawdę nie chciałbym próbować robić tego w systemie szesnastkowym).

Ogólnie interpolacja i antyaliasing ma wiele algorytmów, które zależą od kwadratowej siatki. Na przykład interpolacja dwuliniowa. Wszystkie metody przetwarzania oparte na Fourierze są również powiązane z prostokątną siatką (FFT jest bardzo przydatny w przetwarzaniu obrazu) ... no cóż, chyba że najpierw wykonasz drogie i stratne transformacje.

To wszystko pokazuje, że dane w pamięci i formatach plików powinny być przechowywane jako prostokątna siatka. Sposób wyświetlania zależy od urządzenia wyświetlającego / drukarki, ale taki powinien być problem sterownika. Dane powinny być niezależne od urządzenia i nie powinny zakładać, jaki masz sprzęt. Jak pokazano w powyższych postach, korzystanie z pikseli nieprostokątnych ma wiele zalet ze względu na fizjologię ludzkiego oka i inne czynniki technologiczne - po prostu trzymaj dane na kwadratowej siatce, albo będziesz miał hordy neurotycznych programistów, którzy odpowiedzą na: )

Pomimo tego wszystkiego tak naprawdę grałem z myślą o okrągłym ustawieniu pikseli do integracji z tarczami zegarka (tworzenie prostych linii rąk). Kiedy zacząłem sobie wyobrażać, jak trudno byłoby narysować coś tak prostego, jak linia prosta, która nie przechodzi przez środek, doszedłem do wielu wniosków, o których wspomniałem powyżej.

orion
źródło
„To pociąga za sobą ogromny problem konwersji krajobraz / portret” <...> „To jest nawet problem dla prostokątnych pikseli” - Oxymoron? Osobiście nie mam zwyczaju obracania monitora, więc dlaczego miałbym obracać obraz o 90 *.
Michaił V
Istnieje wiele pionowych ekranów (ekrany przylotów / odlotów na niektórych dworcach kolejowych, różne panele reklamowe itp.), Które można zobaczyć, to w rzeczywistości zwykłe ekrany obrócone o 90 stopni. Obserwuj: img.worsethanfailure.com/images/200710/error'd/…
orion
Nazywa się to „niewłaściwym użytkowaniem sprzętu”. Nawiasem mówiąc, algorytm rysowania linii dla dowolnych punktów na siatce szesnastkowej prawdopodobnie można rozwiązać bez problemów. Nigdy tego nie zrobiłem, więc staram się rozróżnić, może się okazać, że będzie jeszcze bardziej elegancki niż w przypadku kwadratowej siatki.
Michaił V
Kolejnym przykładem są telefony to tablety, które dynamicznie obracają obraz. Zarówno dane (formaty plików), jak i ekrany muszą mieć do tego logicznie kwadratowe piksele (bez względu na to, co sprzęt robi, aby to wyświetlić). Algorytm rysowania linii jest z definicji problematyczny: Bresenham zapewnia, że ​​linia ma dokładnie jeden piksel grubości w poziomie lub w pionie (w zależności od nachylenia). Przesunięcia o połowę szerokości każdej innej linii w siatce szesnastkowej sprawiają, że dwuznaczne jest, co oznacza „grubość jednego piksela”. Jasne, można to zrobić, ale najpierw musisz zdefiniować i wyprowadzić algorytm na nowo.
orion
„musi mieć kwadratowe piksele” Na tym polega problem. Urządzenia wyświetlającego nigdy nie należy produkować z myślą o tym, aby ktoś chciał go obrócić. To tylko nieporozumienie, które prowadzi również do nieporozumień programowych i zbędnych warstw abstrakcji. Jeśli chodzi o obliczenia: szczególnie w wizji komputerowej wiele skutecznych rozwiązań jest z natury trójkierunkowych, jeśli zrobisz tego rodzaju rzeczy, współrzędne biegunowe bardzo pomogą.
Michaił V
8

Kwadratowe piksele były „logiczną rzeczą do zrobienia”, mówi ich wynalazca, Russel Kirsch:

„Oczywiście logiczna rzecz nie była jedyną możliwością… ale użyliśmy kwadratów. To było coś bardzo głupiego, że od tego czasu wszyscy na świecie cierpią. ”

http://www.wired.com/2010/06/smoothing-square-pixels/

Virgil McCracken
źródło
7

To pytanie dotyczy bardziej aranżacji niż faktycznego kształtu piksela.

Problem z układami heksagonalnymi polega na tym, że przekształcenie miejsca heksagonalnego na współrzędne kartezjańskie i odwrotnie nie jest trywialne.

Albo pracujesz z prymitywnym indeksem siatki Bravais

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

lub pracujesz z prostokątną konwencjonalną komórką i dodajesz kilka wewnętrznych „wektorów podstawowych”. (Potrzebujesz dwóch wektorów podstawowych dla najmniejszej prostokątnej sieci i około 16 dla najmniejszej sieci kwadratowej).

W pierwszym przypadku występuje transformacja kątowa, aw drugim każdy piksel wymaga x, yokreślenia indeksu bazowego j.

Na koniec więc „kwadratowe” piksele muszą być produktem ubocznym naszej kultury kartezjańskiej.

Nawiasem mówiąc, byłoby bardzo fajnie mieć tę technologię, ale jest ona bardzo niezgodna z obecnym paradygmatem. W rzeczywistości systemy biologiczne preferują sześciokąty przy produkcji sieci dla systemów wizualnych. Pomyśl o oczach muchy. Ludzka siatkówka podąża także za czymś bliższym sześciokątnemu (niż kwadratowemu).

Zobacz tutaj http://www.kybervision.com/resources/Blog/HumanRetinaMosaic.png i wróć do punktu wyświetlania http://www.kybervision.com/Blog/files/AppleRetinaDisplay.html

Nie mam wątpliwości, że sześciokątna sieć jest bardziej odpowiednia do wizualizacji. Ale możesz o tym pomyśleć w ten sposób: za każdym razem, gdy inżynierowie chcą ulepszyć ekran, stają przed następującym dylematem: 1) przełącz na heksagonalny, zmień paradygmat, przepisz trylony linii kodu i sprzętu 2) zmniejsz „kwadraty”, dodaj pamięć, zwiększ liczbę o dwa dla wymiarów wyświetlania mierzonych w pikselach. Opcja 2) jest zawsze tańsza.

Wreszcie słowo od twórcy kwadratowego piksela http://www.wired.com/2010/06/smoothing-square-pixels

Russell Kirsch, wynalazca kwadratowego piksela, wraca do tablicy kreślarskiej. W latach 50. był członkiem zespołu, który opracował piksel kwadratowy. „„ Kwadraty były logiczne ”- mówi Kirsch. „Oczywiście logiczna rzecz nie była jedyną możliwością, ale wykorzystaliśmy kwadraty. Było to coś bardzo głupiego, że od tego czasu wszyscy na świecie cierpią ”. Kirsch, obecnie emerytowany i mieszkający w Portland w stanie Oregon, postanowił niedawno naprawić. Zainspirowany starożytnymi twórcami mozaiki, którzy stworzyli sceny z oszałamiającymi szczegółami za pomocą kawałków kafelków, Kirsch napisał program, który zamienia grube, niezgrabne kwadraty cyfrowej obraz w płynniejszy obraz złożony z pikseli o zmiennym kształcie ”.

alfC
źródło
2
Powiedziałbym tak: 3dmdesign.com/development/hexmap-coordinates-the-easy-way jest dość trywialny?
Tim
Tak (dobra uwaga), ale ten układ współrzędnych nadal nie jest kartezjański. Na przykład region „heksmapy” powierzchni „3x3” nie ma wartości 9 (nawet w przybliżeniu). To nie jest kwestia kąta, to kwestia metryczna, sześciokątna sieć nie jest obracaną prostokątną (lub kwadratową) siecią.
alfC
Racja - ale kartezjański nie jest wymagany, prawda?
Tim
1
Jak powiedziałem, nie w zasadzie uważam, że jest to raczej problem z paradygmatem. (Kultura przesądza o technologii i technologii jest lepka, technologia jest trudna do zmiany w izolacji).
alfC
Nie zgodziłbym się, że to duża zmiana paradygmatów. W przypadku czysto cyfrowym zmiana adresu jest dość prosta. Praktycznie potrzebujesz tego samego zestawu dyskretnego, aby funkcja „blit” wiedziała, gdzie zapisać dane. Jeśli chodzi o dane obrazu ze źródeł prostokątnych, tak, są problemy. I stworzenie czcionki do wyświetlania szesnastkowego będzie jeszcze prostsze niż na kwadracie (mniej bólu głowy ze spadkami).
Michaił V
7

Aby zrozumieć, dlaczego piksel prostoliniowy ma wartość, musisz zrozumieć proces wytwarzania czujników i wyświetlaczy. Oba są oparte na układzie krzemu. Oba pochodzą z początków VLSI.

Aby zaimplementować piksel czujnika nieprostoliniowego , musisz być przygotowany na:

  1. Układaj elementy wrażliwe na światło w sposób nieprostoliniowy (np. Koła wypełnione sześciokątem).
  2. Ułóż przewody zbierające ładunek (np. CMOS / CCD) w sposób nieprostoliniowy
  3. Skaluj ten układ do >> 1M x 1M, aby sprostać wymaganiom rynku
  4. Dopasuj (lub interpoluj) informacje do wyświetlacza prostoliniowego

Aby zaimplementować nieprostoliniowy piksel wyświetlany , potrzebujesz tych samych rzeczy.

Wiele osób próbowało stworzyć foveal aparaty i wyświetlacze (wysoka rozdzielczość pośrodku, gdzie nasze oczy są najlepsze, niska rozdzielczość na peryferiach). Rezultatem jest zawsze coś, co jest droższe i mniej zdolne niż czujnik prostoliniowy.

Rzeczywistość wydajności komercyjnej polega na tym, że możesz marzyć o nieprostoliniowych czujnikach / wyświetlaczach, ale w tej chwili nie jest to opłacalne ani skalowalne.

użytkownik3533030
źródło
Konwencjonalny czujnik pikselowy o kształcie kwadratu zamieniłby się w prostokąt z pikselami prostokątnymi, gdyby był zastosowany za obiektywem anamorficznym. Tak jak bokeh staje się elipsy.
JDługosz
4

Chociaż fizycznie nie mogą być kwadratowe. Są one abstrakcyjnie reprezentowane jako kwadrat, a gdy są wyświetlane na wyświetlaczach o niższej rozdzielczości, są postrzegane jako kwadraty. Głównie z powodu lenistwa i mniejszego przetwarzania. Skalowanie różnych kształtów, takich jak sześciokąty, wymaga więcej przetwarzania, ponieważ przekraczasz ułamek pikseli. Podczas gdy kwadrat po prostu mnoży każdą stronę przez stałą. Próbując również wykreślić siatkę heksadecymalną, nie możesz po prostu zrobić łatwej lokalizacji X, Y.

Todd
źródło
Spisujesz + x 100%, aby uzyskać pełny rząd. Następnie następny rząd jest przesunięty o + 50% i przesunięty w dół o 75%. Trzeci rząd jest przesunięty względem drugiego o -50% (lub 0% od pierwszego rzędu). Chociaż jest to bardziej skomplikowane, twierdzę, że wciąż jest łatwe - i istnieje układ współrzędnych heksadecymalnych, w przeciwieństwie do standardowego kartezjańskiego - nachylenie Y o 30 ° 3dmdesign.com/development/hexmap-coordinates-the-easy-way .
Tim
4

Istnieją dwa sposoby odpowiedzi na to pytanie:

  1. W sprzęcie piksele nie muszą być fizycznie kwadratowe, ale mogą mieć dowolny kształt lub układ, który producent urządzenia wyświetlającego uznał za odpowiedni. W rzeczywistości często nie są kwadratowe.
  2. W oprogramowaniu piksele są uważane za „kwadratowe”, ponieważ zakłada się, że reprezentują obszar o tej samej szerokości i wysokości. Nie oznacza to, że po renderowaniu, na przykład po powiększeniu, muszą być narysowane jako kwadraty, ale muszą reprezentować dane dla obszaru obrazu o kwadratowych proporcjach, w przeciwnym razie obraz będzie wyglądał na rozciągnięty w taki czy inny sposób. Wynika to wyłącznie z konwencji.

W obu przypadkach nie wymaga się, aby piksele były kwadratowe, ale takie są wyłącznie w konwencji. Przykład: wczesne wyświetlacze szerokoekranowe używały tej samej liczby pikseli - zarówno w sprzęcie, jak i oprogramowaniu - jak wyświetlacze niepanoramiczne, ale piksele były koncepcyjnie prostokątne (rozmiar poziomy był większy niż rozmiar pionowy), a nie koncepcyjnie kwadratowe, tak jak standard. Niemniej jednak stosowanie kształtów pikseli, które nie zbliżają się do kwadratu, jest niestandardowe i może powodować poważne problemy z kompatybilnością, przynajmniej w codziennym użytkowaniu.

KRÓTKA ODPOWIEDŹ:

Piksele są zgodnie z konwencją traktowane jako kwadratowe.

Micheal Johnson
źródło
-1

Z POV osoby postronnej muszę powiedzieć, że dzieje się tak, ponieważ ekran, na którym zwykle to oglądasz, jest prostokątny. Częstym współczynnikiem proporcji jest 1920 na 1080. Po przekroczeniu określonej długości, takiej jak 720, można rozpoznać „wysoką rozdzielczość”. Może to być trudniejsze do osiągnięcia w przypadku pikseli okrągłych lub heksagonalnych.

DR Archila
źródło
3
Cóż, okrągłe nie teselują, ale nie rozumiem, dlaczego nie można po prostu zmniejszyć sześciokąta. Zobacz zdjęcie, które zrobiłem z samochodem - zmieścisz ich więcej?
Tim
Te proporcje są dobrze prostokątne, ponieważ piksele kształtu są ułożone w ... Siatce.
Tim
1
@ Tymczas, teselacja może nie być tak ważna z punktu widzenia „użytkownika”, jeśli zrezygnujesz z kartezjańskiego lub regularnego indeksowania. Siatkówka nie jest mozaikowana (idealnie) i może być nawet optymalna (na przykład, aby uniknąć mory en.wikipedia.org/wiki/Moir%C3%A9_pattern lub artefaktów dyfrakcji światła).
alfC