Почему пиксели квадратные?

28702
Tim

Пиксели на экранах квадратные, но я не уверен почему.

Оба пиксельных изображения выглядят довольно плохо, но я не уверен, что здесь есть какое-либо преимущество квадратов перед шестиугольниками.

Шестиугольники также делятся на 3 цвета:

Так в чем же преимущество квадратов в ЖК / ЭЛТ-дисплее?

195
Пожалуйста, уточните о контексте. Вы имеете в виду дисплеи, форматы изображений или распечатки? И даже тогда этот вопрос может быть слишком широким. Daniel B 8 лет назад 20
Пиксели являются безразмерными логическими единицами и не всегда являются квадратными в действительности, как предполагает @DanielB, каждый растеризатор обрабатывает их по-своему. Google изображения "пикселей экрана", например. Yorik 8 лет назад 65
Ваши изображения с низким разрешением не используют тот же алгоритм. Ваше "квадратное пиксельное" изображение должно использовать интерполяцию ближайшего соседа, чтобы сделать справедливое сравнение. Arturo Torres Sánchez 8 лет назад 3
Этот вопрос, возможно, следует перенести на [ux.se] или [electronics.se]. curiousdannii 8 лет назад 5
[Связанный вопрос по компьютерной графике SE.] (Http://computergraphics.stackexchange.com/q/67/16) Martin Ender 8 лет назад 8
На каком-то уровне ответ такой же, как «Почему железнодорожные пути имеют такую ​​же ширину?», Что можно тривиализировать как «потому что было испробовано много разных идей, и в итоге получилось то, что осталось в конце, для различные причины". simpleuser 8 лет назад 2
Я не понимаю Почему за это вообще проголосовали, и почему его не перенесли на форум по машиностроению? Carl Witthoft 8 лет назад 13
@CarlWitthoft и @Mr Lister: Это не не по теме, вот главная причина. Мы не мигрируем, если это не по теме в оригинальном месте. Tim 8 лет назад 2
Пожалуйста, ознакомьтесь с [этой технической запиской] (http://alvyray.com/Memos/CG/Microsoft/6_pixel.pdf) о том, почему основа вашего вопроса неверна. Nit 8 лет назад 1
@CarlWitthoft Машиностроение - это велосипеды. Это касается дизайна оптики и графического оборудования. Или это шутка? Mikhail V 8 лет назад 1
В Grand Central Terminal (и в других местах) есть [световые дисплеи, в которых используются пиксели нестандартной формы, соответствующие буквам и цифрам] (http://cache2.asset-cache.net/xd/462651548.jpg?v=1&c=IWSAsset&k = 2 & д = 7BA6470ACD94518FDD6D4C003356F146DD9BE2D9A1DB104C4D93DE11F3ECB0CE8EE6AE33837E8D5C). Очевидно, это приводит к гораздо более четким символам для количества используемых отдельных лампочек, чем если бы они были сетками, хотя я не уверен в преимуществах стоимости обычного дисплея по сравнению со стандартным ЖК-дисплеем с аналогичным пространственным разрешением. Owen 8 лет назад 0
Вашему шестиугольнику нужны 3 горизонтальные и 2 вертикальные координаты. С таким уровнем точности вы можете адресовать 6 пикселей вместо 3. njzk2 8 лет назад 0
@ njzk2 нет, это не так. Наклоните ось Y на 30 ° http://3dmdesign.com/development/hexmap-coordinates-the-easy-way Tim 8 лет назад 2
Неужели здесь никто не начал использовать компьютеры с мониторами CGA или EGA с явно прямоугольными пикселями? Хорошие времена! mattdm 8 лет назад 2
@CarlWitthoft - это типичное поведение в Superuser. Хорошо продуманный вопрос игнорируется, в то время как вопрос, который имеет лучшую домашнюю обстановку, ставится перед голосованием каждого 'Тома' и `Вопроса Сьюзен ', по моему мнению, должен быть защищен, некоторые из более новых ответов очень плохого качества, по моему мнению, я очень подозреваю, что это получит еще более необоснованное внимание по какой-то странной причине. Ramhound 8 лет назад 0
@ Ramhound миграция этой темы, но где? Я бы сказал, что физика (оптика), просто чтобы попытаться привлечь более интересные ответы. Но это имеет сильное примечание о потребительских качествах, проблематике когнитивной нагрузки и многих других. С другой стороны, дрянные ответы тоже весело, я не вижу проблем с самим вопросом. Только большой цветной шестиугольник с половиной экрана выглядит немного отвлекающим, но мы всегда можем как-то заметить OP или флаг. «Пустые ответы» и без изображения материала изначально не помогают с этим вопросом, но это мое мнение. Mikhail V 8 лет назад 0
Пиксели электронно-лучевой трубки круглые. Фосфор загорается там, где его ударяет электронный луч. Chloe 8 лет назад 1
@Ramhound, где бы вы предположили, что это принадлежит - в конце концов, это не по теме здесь? Tim 8 лет назад 0
Не следует забывать о [Лизе] (http://lowendmac.com/1983/apple-lisa/), думая о повсеместности квадратных пикселей. «В отличие от компьютеров Macintosh, у Lisa нет квадратных пикселей. Вместо этого пиксели на 50% выше, чем они широкие». и сага, описанная в [Квадратных точках] (http://www.folklore.org/StoryView.py?story=Square_Dots.txt). 8 лет назад 1
@Tim: я всегда просто смещался по четным строкам на полпикселя. Это дает вам шестиугольную разметку, если не шестиугольные пиксели. Mooing Duck 8 лет назад 0
[Почему клавиши на клавиатуре квадратные] (http://ux.stackexchange.com/questions/88901/why-are-the-keys-on-a-keyboard-square) были перенесены на сайт UX. joeytwiddle 8 лет назад 0
@joeytwiddle очень разные, хотя ... Tim 8 лет назад 0
@ Я ненавижу указывать на это, но ваше изображение шестиугольника, разделенного на 3 цвета, на самом деле является восьмиугольником. Randall 7 лет назад 0
@Randall, когда я отредактировал это, я установил это, чтобы быть маленьким изображением. SE форматирует их так, чтобы они были идеально квадратными с обрезанным верхом. Я исправил это сейчас. Когда я вернусь домой, я добавлю белую рамку, чтобы сделать изображение квадратным, и снова загрузлю его маленьким. Tim 7 лет назад 0

12 ответов на вопрос

258
DavidPostill

Pixels in screens are square, but I'm not sure why.

They aren't (necessarily) square.

Some would argue that they are never square ("A pixel is a point sample. It exists only at a point.").


So what's the advantage of squares in an LCD / CRT display?

  • Other arrangements (such as triangles, hexagons or other space filling polygons) are more computationally expensive.

  • Every image format is based on pixels (whatever shape they are) arranged in a rectangular array.

  • If we were to choose some other shape or layout a lot of software would have to be re-written.

  • All the factories currently manufacturing displays with a rectangular pixel layout would have to be retooled for some other layout.


Practicalities of Using a Hexagonal Coordinate System

There are generally four major considerations that must be pondered upon when using a hexagonal coordinate system:

  • Image Conversion – Hardware capable of capturing images from the real world directly onto a hexagonal lattice is highly specialist, and so not generally available for use. Therefore, efficient means of converting a standard square-latticed image into a hexagonal one is required before any processing can be performed.
  • Addressing and Storage – Any manipulations performed on images must be able to index and access individual pixels (in this case hexagons rather than squares), and any image in hexagonal form should be storable in hexagonal form (otherwise image conversion would have to be performed every time the image was accessed). Moreover, an indexing system that is simple to follow and makes the arithmetic of certain functions simpler would be very valuable.
  • Image Processing Operations – In order to make effective use of the hexagonal coordinate system, operations must be designed or be converted that are geared to exploit the strengths of the system, and particularly the strengths of the addressing system used for indexing and storage.
  • Image Display – As with actually obtaining the image in the first place, display devices in general do not use hexagonal lattices. Therefore the converted image must be returned to a form that can be sent on to an output device (whether a monitor, a printer or some other entity) with the resultant display appearing in natural proportions and scale. The exact nature of this conversion is dependent on the indexing method used. This could be a simple reversion of the original conversion process, or be a more considerable convolution.

Issues with Hexagonal Coordinate Systems

There are some problems with hexagonal coordinate systems however. One issue is that people are very used to the traditional square lattice.

Reasoning in hexes can seem unnatural and therefore a little difficult. While it could be argued that people can become used to it if they have to, it is still the case that they will be naturally inclined towards reasoning with the traditional Cartesian coordinate system by default, with hexagonal systems merely a secondary choice.

The lack of input devices that map onto hexagonal lattices, and the lack of output devices that display as such is also an obstacle:

  • The necessity of converting from squares to hexagons and back again detracts from the usefulness of operating on hexagonal lattices.

  • As such lattices are denser than equivalent square lattices of the same apparent size, unless images are fed in at a deliberately higher resolution than is to be operated on, converted images shall have to extrapolate some pixel locations (which is generally less desirable than having all pixels provided directly from a source).

  • The conversion back to square lattices would collapse some pixel locations into one another, which results in loss of apparent detail (which could result in a lower quality image than the one that was originally fed in).

If one seeks to use hexagonal coordinate systems in their own vision work, then they should first determine whether these problems are outweighed by the inherent advantages of operating with hexagons.

Source Hexagonal Coordinate Systems


Has any other shape or layout been tried?

The XO-1 display provides one color for each pixel. The colors align along diagonals that run from upper-right to lower left To reduce the color artifacts caused by this pixel geometry, the color component of the image is blurred by the display controller as the image is sent to the screen.

Comparison of the XO-1 display (left) with a typical liquid crystal display (LCD). The images show 1×1 mm of each screen. A typical LCD addresses groups of 3 locations as pixels. The OLPC XO LCD addresses each location as a separate pixel:

enter image description here

Source OLPC XO

Other displays (especially OLEDs) employ different layouts - such as PenTile:

enter image description here

The layout consists of a quincunx comprising two red subpixels, two green subpixels, and one central blue subpixel in each unit cell.

It was inspired by biomimicry of the human retina which has nearly equal numbers of L and M type cone cells, but significantly fewer S cones. As the S cones are primarily responsible for perceiving blue colors, which do not appreciably affect the perception of luminance, reducing the number of blue subpixels with respect to the red and green subpixels in a display does not reduce the image quality.

This layout is specifically designed to work with and be dependent upon subpixel rendering that uses only one and a quarter subpixel per pixel, on average, to render an image. That is, that any given input pixel is mapped to either a red-centered logical pixel, or a green-centered logical pixel.

Source PenTile matrix family


Simple Definition of pixel

Any one of the very small dots that together form the picture on a television screen, computer monitor, etc.

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


Pixel

In digital imaging, a pixel, pel, or picture element is a physical point in a raster image, or the smallest addressable element in an all points addressable display device; so it is the smallest controllable element of a picture represented on the screen.

...

A pixel does not need to be rendered as a small square. This image shows alternative ways of reconstructing an image from a set of pixel values, using dots, lines, or smooth filtering.

enter image description here

Source Pixel


Pixel aspect ratio

Most digital imaging systems display an image as a grid of tiny, square pixels. However, some imaging systems, especially those that must be compatible with standard-definition television motion pictures, display an image as a grid of rectangular pixels, in which the pixel width and height are different. Pixel Aspect Ratio describes this difference.

Source Pixel aspect ratio


A Pixel is Not A Little Square!

A pixel is a point sample. It exists only at a point.

For a color picture, a pixel might actually contain three samples, one for each primary color contributing to the picture at the sampling point. We can still think of this as a point sample of a color. But we cannot think of a pixel as a square or anything other than a point.

There are cases where the contributions to a pixel can be modeled, in a low order way, by a little square, but not ever the pixel itself.

Source A Pixel is Not A Little Square! (Microsoft Technical Memo 6 Alvy Ray Smith, July 17, 1995)

Цитирование необходимо на «более дорогой в вычислительном отношении» точке. В идеале ссылка на исследовательскую работу, в которой рассматривается, например, гексагональная тесселяция и вычислительный анализ. Похоже, вы просто называете некоторые правдоподобные объяснения. djechlin 8 лет назад 3
Кроме того, мы постоянно переписываем много программного обеспечения как часть улучшений. Я не уверен в вашей точке зрения. djechlin 8 лет назад 3
@djechlin В настоящее время все спецификации видео / изображений основаны на прямоугольном массиве пикселей. Для отображения любого видео или изображения потребуется преобразование прямоугольной (декартовой) системы координат в шестиугольную систему координат. Расчеты для рисования линий в прямоугольной системе координат проще, чем рисование в шестиугольной системе координат (это базовая математика). Нужно ли объяснять дальше? DavidPostill 8 лет назад 4
@djechlin Ответ обновлен и цитата включена DavidPostill 8 лет назад 2
+1 для вашего источника Microsoft Tech Memo. Обалденный ответ в общем. shock_gone_wild 8 лет назад 3
Другими распространенными примерами прямоугольных (но не квадратных) пикселей были все яблоки до Mac. Они имели графическое разрешение 40x40 при низком разрешении и 280x192 при высоком разрешении (на экране 4x3). Можно было использовать различные хаки, которые удвоили бы их на некоторых более поздних моделях, но они все еще не были близки к соотношению сторон 4x3, поэтому все пиксели были не квадратными. Darrel Hoffman 8 лет назад 1
@DavidPostill "... рисование линий в прямоугольной системе координат проще, чем рисование в шестиугольной системе координат (это базовая математика)" Интересно, я проверю это в будущем. Это может прийти также к определению линии на сетке. Если я поставлю не один, а все 7 пикселей вместе, это может быть другое определение. Mikhail V 8 лет назад 1
Забыл сказать, что простая операция копирования в память является более доминирующей в общем случае использования, таком как распознавание текста и графиков, а также для дисплеев общего назначения. Рисование линии между двумя случайными точками находится где-то внизу списка. Mikhail V 8 лет назад 2
«Каждый формат изображения» - это настолько смелый и расплывчатый текст, что он почти наверняка не может быть правдой. Не могли бы вы перефразировать или поддержать что-то? Расскажу, потому что мне очень нравится, как вы цитировали все эти источники. n611x007 7 лет назад 0
@ n611x007 Это уже описано в комментарии выше. DavidPostill 7 лет назад 0
69
Cort Ammon

I would like to offer an alternative to David Postill's well thought out answer. In his answer, he approached the question of pixels being square, just as the title suggested. However, he made a very insightful comment in his answer:

Some would argue that they are never square ("A pixel is a point sample. It exists only at a point.").

This position can actually spawn off a whole different answer. Instead of focusing on why each pixel is a square (or not), it can focus on why we tend to organize these point-samplings into rectangular grids. It actually wasn't always that way!

To make this argument, we're going to play back and forth between treating an image as abstract data (such as a grid of points), and the implementation thereof in hardware. Sometimes one view is more meaningful than the other.

To start, let's go quite far back. Traditional film photography had no "grid" at all, which is one reason why the pictures always looked so crisp compared to modern digital ones. Instead, it had a "grain" which was a random distribution of crystals on the film. It was roughly uniform, but it was not a nice rectilinear array. The organization of these grains arose from the production process of the film, using chemical properties. As a result, film really didn't have a "direction" to it. It was just a 2d spattering of information.

Fast forward to the TV, specifically the old scanning CRTs. CRTs needed something different from photos: they needed to be able to represent their content as data. In particular, it needed to be data that could stream, in analog, over a wire (typically as a continuously changing set of voltages). The photo was 2d, but we needed to turn it into a 1d structure so that it could just vary in one dimention (time). The solution was to slice the image up by lines (not pixels!). The image was encoded line by line. Each line was an analog stream of data, not a digital sampling, but the lines were separated from each other. Thus, the data was discrete in the vertical direction, but continuous in the horizontal direction.

TVs had to render this data using physical phosphors, and a color TV required a grid to divide them into pixels. Each TV could do this differently in the horizontal direction, offering more pixels or fewer pixels, but they had to have the same number of lines. In theory, they could have offset every other row of pixels, exactly as you suggest. However, in practice this wasn't needed. In fact, they went even further. It was quickly realized that the human eye handled movement in a way that let them actually only send half the image every frame! On one frame, they'd send the odd numbered lines, and on the next frame ,they'd send the even numbered lines, and stitch them together.

Since that time, digitizing these interlaced images has been a bit of a trick. If I had a 480 line image, I actually only have half the data in each frame due to interlacing. The result of this is very visible when you try to see something move fast across the screen: each line is temporally shifted 1 frame from the other, creating horizontal streaks in fast moving things. I mention this because it's rather amusing: your suggestion offsets every other row in the grid by half a pixel to the right, while interlacing shifts every other row in the grid by half in time!

Frankly, it is easier to make these nice rectangular grids for things. With no technical reason to do any better than that, it stuck. Then we hit the computer era. Computers needed to generate these video signals, but they had no analog capabilities to write out an analog line. The solution was natural, the data was split into pixels. Now the data was discrete in both vertical and horizontal. All that was left was to pick how to make the grid.

Making a rectangular grid was extremely natural. First off, every TV out there was already doing it! Second, the math for drawing lines on a rectangular grid is much simpler than drawing them on a hexagonal one. You might say "but you can draw smooth lines in 3 directions on a hexagonal grid, but only 2 in the rectangular one." However, rectangular grids made it easy to draw horizontal and vertical lines. Hexagonal grids can only be made to draw one or the other. In that era, not many people were using hexagonal shapes for any of their non-computing efforts (rectangular paper, rectangular doors, rectangular houses...). The ability to make smooth horizontal and vertical lines far outstripped the value of making smooth full color imagery... especially given that the first displays were monochrome and it would be a long time before smoothness of imagery played a major part in thinking.

From there, you have a very strong precedent for a rectangular grid. The graphics hardware supported what the software was doing (rectangular grids), and the software targeted the hardware (rectangular grids). In theory some hardware might have tried to make a hexagonal grid, but the software just didn't reward it, and nobody wanted to pay for twice as much hardware!

This fast forwards us to today. We still want nice smooth horizontal and vertical lines, but with high end retina displays, that's getting easier and easier. However, developers are still trained to think in terms of the old rectangular grid. We are seeing some new APIs support "logical coordinates" and doing anti-aliasing to make it seem like there's a full continuous 2d space to play with rather than a grid of rigid 2d pixels, but its slow. Eventually, we might see hexagonal grids.

We actually do see them, just not with screens. In print, it is very common to use a hexagonal grid. The human eye accepts the hexagonal grid much faster than it accepts a rectangular grid. It has to do with the way lines "alias" in the different systems. Hexagonal grids alias in a less harsh way, which the eye is more comfortable with (if a hex grid needs to go one row up or down, they get to do it smoothly over a diagonal transition. Rectangular grids have to skip, creating a very clear discontinuity)

Отлично подходит для объяснения того, как телевидение появилось: аналоговый поток. Этот стандарт действовал 70 лет, и добавление цвета было сделано таким образом, чтобы сохранить совместимость с ч / б, попробуйте сделать это в наши дни! Сколько видео форматов сейчас? 8 лет назад 2
"" "Телевизоры должны были визуализировать эти данные с использованием физических люминофоров с сеткой, чтобы разделить их на пиксели." "" - это было правдой для черно-белых телевизоров? Насколько я понимаю, дискретные «физические люминофоры» (которые до сих пор никогда не соответствовали ни одному пиксельно-подобному элементу в потоке данных) сопровождались цветным телевидением, а монохромные ЭЛТ просто покрыты непрерывным слоем люминофоров. Random832 8 лет назад 3
Мне нравится история, но я не согласен относительно перехода на современные устройства. Хотя наследие кажется прямолинейным, телевизор фактически является аналоговым в горизонтальном направлении, пока вы не посмотрите на цветной люминофор на телевизоре. Это на самом деле гексагональной! Я полагаю, что реальная причина, по которой мы имеем прямолинейный характер, заключается в том, что компоновка VLSI проще, поскольку она прямолинейна, а не упакована в шестиугольник. user3533030 8 лет назад 0
В черно-белом телевизоре, почему бы вам просто не размазать люминофоры по поверхности и не позволить электронному потоку быть сильнее / слабее и заставить их светиться более / менее полностью аналоговым способом? Короче, зачем вообще (горизонтальные) пиксели? Как только у вас есть цвет, все становится сложнее; но даже в этом случае цветовой сигнал не определен для каждого пикселя, если я правильно помню. Что касается горизонтальных отсчетов, количество отсчетов, необходимых для восстановления сигнала из отсчетов с одинаковой интенсивностью, является функцией ширины полосы частот, и смещения половинных отсчетов не улучшают это. Yakk 8 лет назад 1
@Yakk Большинство черно-белых ЭЛТ были построены именно так - ранние ЭЛТ-телевизоры BW были получены из ЭЛТ радара / осциллографа, которые часто контролируются аналоговым X / Y или полярным способом без растра. Телевизоры все еще использовали построчное сканирование, потому что это соответствует тому, как кодируется сигнал, но нет пикселей в строках. Некоторые специализированные дисплеи (в основном для кабины самолета) даже использовали люминофоры, которые меняли цвет в зависимости от того, насколько сильно они пострадали от электронного луча (такой вид дисплея называется пенетроном). rackandboneman 8 лет назад 2
20
LawrenceC

Two reasons:

  • A rectangular shape versus circular, triangluar, or more-than-4-sided has the advantage that it can be placed next to other rectangles with the minimum of "wasted space". This ensures that the full area of the pixel contributes to the image. Other shapes can exist that "fit together", but they would probably more complex to manufacture than simple squares or rectangles, yet not introduce any additional advantages.

  • A general purpose pixelated display - one that might be used to display any type of information needs to have pixels that don't favor certain types of shapes. So pixels should be square instead of longer or wider in one direction, and not sheared or rotated in any way.

    • If pixels are taller than wider, the minimum thickness of a horizontal line will be wider than the minimum thickness of a vertical line, making horizontal and vertical lines look different, for the same number of pixels.

    • If pixels are rotated, then only angled lines that match the angle of rotation will look smooth, any other lines will look jagged. Most operating systems and productivity software relies on straight lines so that would be a lot of fringing or jagged egdes.

    • Sheared pixels (rhombuses) would be the worst of both worlds - neither diagonals or horizontal/verticals would be smooth.

If you are not interested in a general purpose display, but one geared towards a specific purpose, then you can be more flexible. An extreme example is the 7-segment LED, if all you need to do is display a number, 7 non-square pixels arranged in such fashion is all you need. Or 15-segment LEDs that allow letters.

Хм, я не уверен, что аргумент стоимости работает для шестиугольников (я могу ошибаться). Tim 8 лет назад 0
@ Тим - Вы должны немного изучить предмет. Если бы у шестиугольников было техническое преимущество, которое изготовитель дисплея использовал бы, тот факт, что они не используются, указывает на то, что они не обладают каким-либо преимуществом от преимущества в стоимости или производительности. Ramhound 8 лет назад 0
@ Да, конечно. Мне нужно больше исследовать - ну, этот вопрос * мое * исследование. Я спрашиваю причины, почему * не * шестиугольники, а не * почему * квадраты (и ссылка на какое-то сравнение затрат было бы неплохо - иди, если кто-нибудь когда-либо делал) Tim 8 лет назад 2
@Tim - Большая часть исследований будет проводиться производителями и вряд ли будет распространяться, поскольку исследования по сравнению затрат будут относиться к конкретной компании и позволят конкуренту узнать много информации. Ramhound 8 лет назад 0
«Они, вероятно, были бы более сложными в производстве, чем простые квадраты или прямоугольники», - необходимо упомянуть. «пока не вводить никаких дополнительных преимуществ» - цитирование необходимо. Raphael 8 лет назад 2
Я никогда не производил мониторы в моей жизни, поэтому мои предположения о стоимости могут быть далеко. Я просто представляю, что в сетке дешевле расположить, чем в шахматном порядке, который потребуется шестиугольнику. Рисование прямых линий с шестиугольниками должно иметь окаймление в основном по всем направлениям (горизонтальное, вертикальное, диагональное) - это в основном три ромба вместе взятые. LawrenceC 8 лет назад 0
@ Рафаэль Ну, вам не нужна цитата для этого - на ЭЛТ «пиксели» не были квадратами или прямоугольниками. Они имели отличное распределение цвета и требовали меньше «трюков» для рендеринга субпикселей. Когда появились ЖК-дисплеи, они просто не могли сравнивать - технология была чрезвычайно прямоугольной, поэтому более традиционная компоновка была более или менее невозможна. Конечно, современные ЖК-дисплеи не обязательно являются ЖК-дисплеями, например, вы не найдете «жидких кристаллов» в OLED. Наконец, шестиугольники (или ЭЛТ старой школы, это похоже) будут хорошо работать для картинок и фильмов, но не для интерфейсов. Luaan 8 лет назад 1
Прямоугольная сетка поддерживает фигуры с линиями, идущими параллельно сторонам прямоугольника. Гексагональная одинаково благоприятствует различным линиям. Не одобряете какие-либо формы? Невозможно. Deduplicator 8 лет назад 0
«Пиксельный дисплей общего назначения - тот, который может использоваться для отображения информации любого типа, должен иметь пиксели, которые не поддерживают определенные типы фигур. Поэтому пиксели должны быть квадратными, а не длиннее или шире в одном направлении ...» - Это парадоксальное утверждение. Из вашего первого предложения следует, что они должны быть шестиугольниками (или кругами) на шестигранной сетке. Не могли бы вы расширить свой вывод? Особенно о том, что шестиугольник "длиннее в одном направлении". Mikhail V 8 лет назад 0
12
phuclv

Pixels are not necessarily square!

In the past pixels have rectangular shapes. That's why in any professional image/video editor like Photoshop, Premiere, Sony Vegas... you see the pixel aspect ratio option. Only modern TV and PC monitor standards have square pixels.

Photoshop pixel aspect ratio

Famous examples:

  • PAL Analog TV/DVD: 720x576 which is obviously not 16:9 or 4:3 but 5:4. However when setting the correct pixel aspect ratio it'll produce the correct unstretched output image

  • NTSC Analog TV/DVD: 720x480 which is 3:2. After setting the aspect ratio it'll become 16:9 or 4:3 like PAL above. The lower vertical resolution also explains why NTSC DVDs look a lot less crisp than PAL

  • VCD: PAL 352x288, NTSC 352x240. Both use 4:3 screen aspect ratio
  • SVCD: 480x480, and unsurprisingly it doesn't produce a square output
  • DV: 1440x1080 16:9 full HD resolution
  • CGA: 320x200 and 640x200 in 4:3 (yes, older computer screens do have rectangular pixels)
  • EGA supports 640x350 for 4:3 screens in addition to 320x200 and 640x200

Adobe Premiere Pro - Working with aspect ratios

Этот ответ можно улучшить, объяснив немного больше о соотношении сторон (в отличие от просто ссылки). Само по себе непонятно, почему конкретное разрешение экрана не может иметь квадратные пиксели. Jon Bentley 8 лет назад 7
Я не понимаю связь между квадратными пикселями и разрешением. A.L 8 лет назад 1
@AL, как я уже говорил выше. 720: 576 - это 5: 4, и если пиксели будут квадратными, это приведет к соотношению сторон 5: 4. Однако, если для пропорции пикселей задано значение, отличное от 1, будет получено другое соотношение сторон. Но где я сказал о разрешении здесь? Я только что сказал соотношение сторон phuclv 8 лет назад 0
@JonBentley, где я могу сказать, что конкретное разрешение экрана не может иметь квадратные пиксели? Очевидно, что вы можете иметь экран 5: 4 720x576, если пиксели квадратные. Что важно, так это соотношение сторон в конечном изображении, а также соотношение сторон в пикселях и пропорциях экрана. phuclv 8 лет назад 0
Теперь я не понимаю связи между форматом видео и вопросом OP: * Пиксели на экранах квадратные, но я не уверен, почему. *. A.L 8 лет назад 0
@AL: Этот ответ доказывает, что не все пиксели на экранах (или в файлах) являются квадратными: некоторые являются прямоугольными. slebetman 8 лет назад 3
У 8-битных компьютеров Atari было несколько графических режимов с разрешением 80x192, в результате чего получались очень неквадратные пиксельные штриховые пиксели. DaveP 7 лет назад 1
9
Mikhail V

The answer is: they should be hexagonal, because hexagonal tiling provides optimal optical quality, so it will be the future.
But I think there are two main reasons why are they still square:

  • It is easier to represent bitmap image data on a square grid as an 2d array (both for the hardware simplicity and for human being)
  • It happened historically so it will be so for some time because of the reason #1.

Update

This topic is a thriller. Almost 10k views. People want to master the pixel :) Funny how someone finds a relation of the question with screen resolution or "quadracy" of a quad.
For me it is: which building block, square or hexagon gives better optical results?

First, we need a simple tiling, but which covers a custom area better and it is indeed hexagon tiling. Which can be easily understood from simple tests. A strong test would be so called "ring" test. For simplicity here I make trinary color: 0 - background, 1 - gray and 2 - black.

Staring with a dot, we'll try to expand the ring, keeping it looking continuous like this:

enter image description here

For sure I will also want to draw horizontal/vertical lines, for many tasks, like UI and print design, or a platformer game. Let's call it "Bar Test":

enter image description here

With this test I can choose the line style which just looks better in real conditions. With vertical lines it is even simpler. For a specific task display everything can be made hard-coded, so to draw a line with a function, we just repeat its segment in horizontal direction. The thing is, both square and hexagonal pixel approach works, but if you try same test with square tiling, you'll notice the difference quickly. With very high DPI it is not so noticable, but why try making more DPI instead of trying more effective approach? I don't see much sence.


For RGB colors, this will probably need more complex structures. Actually, I would like to have a grayscale device, as on the images above. It would be cool also to have fast pixel response to make animations.

Just for fun I made up simple hexagonal structure, where the pixels can be RGB. Of course I don't know how could this look on a real device, but looks cool even so.

enter image description here


An informal explanation-illustration which could
help to describe the situation:

enter image description here

Я частично не согласен с обеими частями 1, потому что: а) http://3dmdesign.com/development/hexmap-coordinates-the-easy-way (хотя уверен, что это может быть немного сложнее в настройке, но нет никаких трудностей в отображении координаты им) и б) С каких это пор были детали компьютеров, спроектированных с учетом потребностей людей. Tim 8 лет назад 1
@Tim Подробно о компьютере нет, но человеческая личность имеет тенденцию обрабатывать информацию «прямоугольным» образом, что, в свою очередь, приводит к странным конструкциям. Есть много примеров, подобных этому [robonaut] (http://robonaut.jsc.nasa.gov/default.asp). Так зачем же делать робота похожим на человека? С эргономической точки зрения этот робот должен быть больше похож на осьминога, но люди - это люди. Mikhail V 8 лет назад 0
@MikhailV делает робота похожим на человека, позволяет ему использовать вещи, созданные для людей. В противном случае все должно быть специально сделано для робота. Thorbjørn Ravn Andersen 8 лет назад 1
@ ThorbjørnRavnAndersen Да, как футболка и солнцезащитные очки :) Mikhail V 8 лет назад 0
Разве треугольники не превосходят шестиугольники, поскольку они могут делать все, что могут шестиугольники, и даже больше? Raynet 8 лет назад 1
@Raynet Я предполагаю, что вы говорите о технике субпикселов. Но это зависит от направления края, и больше о макроструктуре. Это практически ничего не дает, если пиксели достаточно малы. Также на последнем изображении, какие фигуры вы видите внутри одного составного пикселя? Райт, у вас есть треугольники, шестиугольники и многое другое;) Mikhail V 8 лет назад 0
@Raynet Чтобы сравнить визуальное качество, нужно взять мозаику с равной площадью, то есть шестиугольники с той же площадью, что и треугольники. Смотрите это [сравнение выборки] (https://i.stack.imgur.com/LUwSn.png). Но я понимаю вашу путаницу - вы видите шестиугольники и хотите разделить их, но эта операция такая же, как если бы вы увеличили разрешение в 6 раз, и при таком размере треугольника шестиугольники одинакового размера всегда будут давать лучшую выборку. Mikhail V 7 лет назад 0
8
Virgil McCracken

Square pixels were "the logical thing to do," says their inventor, Russel Kirsch:

“Of course, the logical thing was not the only possibility … but we used squares. It was something very foolish that everyone in the world has been suffering from ever since.”

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

8
orion

Some of the answers already touch this... I think that non-rectangular array in terms of data storage would create almost unimaginable complexity and would be extremely error prone. I've had lots of experience with modeling physical systems where the grid is not rectangular (staggered grids - data points at half-edges and so on). Indexing is a nightmare.

First, there's the problem of how to define the boundary. Images are usually rectangular (again, this is a matter of history - if our screens were hexagonal, things would be a bit easier). So, not even the image boundary is a straight line. Do you put the same number of pixels in each row? Do you alternate even/odd? And... is the lower left pixel to the left to the one above it, or to the right? You immediately get almost 10 different standards, and programmers have to remember each time how it goes (even row-major and column-major difference or top-down/bottom-up indexing difference is causing errors sometimes). This brings along the immense problem of conversion landscape/portrait (natural transformation, which is trivial on rectangular grid, but requires interpolation and is almost necessarily a lossy procedure on a hex or different grid). This is even a problem for rectangular pixels (aspect ratio != 1).

Then there's the natural instinct people have with rectangular layout. You have matrices in math, which have the same layout. Similarly, a cartesian coordinate frame is pretty much the easiest to use and understand in most general cases. Getting the index of a pixel at (x,y) is just x+width*y (not the other way around - legacy of scanline indexing). If width is a multiple of 2, you don't even need multiplication. Working with non-right angles makes a lot of complications that stem from vector algebra, when basis vectors are not orthogonal: rotations are no longer simple cos/sin superpositions. Translation becomes weird. This brings a long a lot of computational complexity (would be a few times more expensive to compute), and code complexity (I remember coding the Bresenham's algorithm once, and I really wouldn't like to try doing it in hex).

Interpolation and antialiasing in general has a lot of algorithms that depend on the square grid. Bilinear interpolation, for instance. All fourier-based processing methods are tied to the rectangular grid as well (FFT is very useful in image processing)... well, unless you do some expensive and lossy transformations first.

That all shows that data in the memory and file formats should be stored as rectangular grid. How you display it depends on the display device/printer, but that should be the problem of the driver. The data is supposed to be device-independent and shouldn't assume what hardware you have. As shown in the posts above, there are many advantages to using nonrectangular pixels, due to human eye physiology and other more technological factors - just keep the data on the square grid, or you'll have a horde of neurotic programmers to answer for :)

Despite all this, I actually played with a thought of having a circular pixel arrangement for integration in watch faces (making hands straight lines). When I started imagining how difficult would that make drawing anything as simple as a straight line that doesn't go through the center, I came to a lot of the conclusions I mention above.

«Это влечет за собой огромную проблему преобразования ландшафта / портрета» <...> «Это даже проблема для прямоугольных пикселей» - Оксиморон? Лично у меня нет привычки поворачивать монитор, так зачем поворачивать изображение на 90 *. Mikhail V 8 лет назад 0
Существует множество вертикальных экранов (экраны прибытия / отправления на некоторых вокзалах, различные рекламные щиты и т. Д.), Которые вы видите на самом деле - обычные экраны, повернутые на 90 градусов. Наблюдайте: http://img.worsethanfailure.com/images/200710/error'd/Windows-iPhone.jpg orion 8 лет назад 0
Это называется «неправильное использование оборудования». Кстати, алгоритм рисования линий для произвольных точек на шестигранной сетке, вероятно, может быть решен без хлопот. Я никогда не делал этого, поэтому я пытаюсь угадать, может оказаться, что это будет даже более элегантно, чем для квадратной сетки. Mikhail V 8 лет назад 0
Другим примером являются телефоны-планшеты, которые все время динамически поворачивают изображение. И данные (форматы файлов), и экраны должны иметь * логически * квадратные пиксели для этого (независимо от того, что оборудование делает для отображения). Алгоритм рисования линий проблематичен в определении: Брезенхем гарантирует, что линия имеет толщину ровно в один пиксель по горизонтали или вертикали (в зависимости от наклона). Смещения половинной ширины каждой другой линии в шестнадцатеричной сетке делают неоднозначным, что означает «толщина в один пиксель». Конечно, это можно сделать, но сначала вам нужно заново определить и вывести алгоритм. orion 8 лет назад 0
«Нужно иметь квадратные пиксели». Здесь кроется проблема. Устройство отображения никогда не должно создаваться с учетом того, что кто-то захочет его повернуть. Это просто неправильное представление, которое также приводит к неправильному пониманию программного обеспечения и избыточным уровням абстракции. Что касается вычислений: в частности, в компьютерном зрении многие эффективные решения по своей природе являются трехсторонними, если вы будете делать такие вещи, полярные координаты очень помогают. Mikhail V 8 лет назад 0
Э-э-э, у некоторых компьютерных мониторов есть эта возможность (используемая как портретная и альбомная ориентация) как функция, и она, безусловно, полезна, учитывая, что выделенные портретные дисплеи стоят дорого :) rackandboneman 8 лет назад 0
Также: имейте в виду, что математика с плавающей запятой, необходимая для преобразования изображения из одного растра в другой растр с другим соотношением сторон, была дорогой с точки зрения вычислительной мощности даже для хорошего процессора 1980-х или 1990-х годов, и все еще для некоторых современных микроконтроллеров / встроенные процессоры. rackandboneman 8 лет назад 0
@rackandboneman Хорошая функция для некоторых редких конкретных случаев. Надеюсь, вы понимаете, что продвижение любого влияния вашего желания иметь эту особенность на парадигму приводит к взаимоисключающим принципам. Продолжение соблюдения взаимоисключающих принципов является психическим расстройством. Кроме того, если мы говорим о рендеринге обычного растрового массива на шестнадцатеричном дисплее, вы все равно будете его интерполировать, и если вы хотите использовать HEX-монитор, повернутый на 90 градусов (о котором даже не следует думать), вы используете те же вычисления, но повернут 2d массив. Могу ли я быть неправым? Mikhail V 8 лет назад 0
Интерполяция, особенно нецелочисленная, требует вычислительных затрат, которые тривиальны для чего-то вроде процессора с частотой 100 МГц. Не для типичного домашнего или офисного ПК, существовавшего в то время, когда разрабатывалось большинство стандартов, а не для некоторых из меньших процессоров, используемых сегодня в устройствах. rackandboneman 8 лет назад 0
Я знаю, поэтому все должно быть определено заново, и это долгий процесс. Люди должны быть лучше организованы для выполнения таких задач. Mikhail V 8 лет назад 0
7
alfC

Этот вопрос больше касается расположения, чем фактической формы пикселя.

Проблема с гексагональной компоновкой заключается в том, что перевод гексагональной точки в декартовы координаты и наоборот не является тривиальным.

Либо вы работаете с примитивным индексом решетки Браве

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

или вы работаете с прямоугольной обычной ячейкой и добавляете несколько внутренних «базисных векторов». (Вам нужны два базисных вектора для наименьшей прямоугольной решетки и около 16 для наименьшей квадратной решетки).

В первом случае используется преобразование угла, а во втором необходимо указать каждый пиксель x, yи базовый индекс j.

Итак, в конце концов, «квадратные» пиксели должны быть побочным продуктом нашей картезианской культуры.

Кстати, было бы очень круто иметь эту технологию, но она очень несовместима с нынешней парадигмой. На самом деле биологические системы предпочитают шестиугольники при изготовлении решеток для визуальных систем. Подумай о глазах мухи. Человеческая сетчатка также следует за чем-то ближе к гексагональной (чем квадратная).

Смотрите здесь http://www.kybervision.com/resources/Blog/HumanRetinaMosaic.png и возвращайтесь к пунктам дисплеев http://www.kybervision.com/Blog/files/AppleRetinaDisplay.html

Я не сомневаюсь, что шестиугольная решетка больше подходит для визуализации. Но вы можете думать об этом таким образом, каждый раз, когда инженеры хотят улучшить отображение, с которым они сталкиваются, перед следующей дилеммой: 1) переключиться на гексагональную, изменить парадигму, переписать триллионы строк кода и аппаратного обеспечения 2) сделать «квадраты» меньше, добавить память, увеличить два числа для измерения размера дисплея в пикселях. Вариант 2) всегда дешевле.

Напоследок слово от изобретателя квадратного пикселя http://www.wired.com/2010/06/smoothing-square-pixels

Рассел Кирш, изобретатель квадратного пикселя, возвращается к чертежной доске. В 1950-х годах он был частью команды, которая разработала квадратный пиксель. «Квадраты были логичной вещью, - говорит Кирш. «Конечно, логичная вещь была не единственной возможностью, но мы использовали квадраты. Это было что-то очень глупое, от чего все в мире страдали с тех пор» . Уходя на пенсию и живя в Портленде, штат Орегон, Кирш недавно намеревался исправить ситуацию, вдохновленный создателями мозаики античности, которые строили сцены с потрясающими деталями из кусочков плитки, Кирш написал программу, которая превращает массивные, неуклюжие квадраты цифрового изображение в более плавное изображение из пикселей различной формы. '

Я бы сказал это: http://3dmdesign.com/development/hexmap-coordinates-the-easy-way довольно тривиально? Tim 8 лет назад 2
Да, (хорошая точка), но эта система координат все еще не декартова. Например, область "hexmap" поверхности "3x3" не 9 (даже приблизительно). Это не вопрос угла, это вопрос метрики, гексагональная решетка не является вращающейся прямоугольной (или квадратной) решеткой. alfC 8 лет назад 0
Справедливая точка зрения - но декартова не требуется, не так ли? Tim 8 лет назад 0
Как я уже сказал, не в принципе, я думаю, что это скорее проблема парадигмы. (Культура предвзята, технологии и технологии липкие, технологии трудно изменить изолированно). alfC 8 лет назад 1
Я бы не согласился, что это большая смена парадигм. Для чисто цифрового случая это довольно простая смена адресов. Практически вам нужен один и тот же дискретный набор, чтобы функция "blit" знала, куда записывать данные. Что касается данных изображения из прямоугольных источников, да, есть проблемы. А создать шрифт для шестнадцатеричного отображения будет еще проще, чем на квадрате (меньше головной боли при уклонах). Mikhail V 8 лет назад 0
7
user3533030

To appreciate why a rectilinear pixel has value, you need to understand the fabrication process of sensors and displays. Both are based upon silicon layout. Both are derived from the origins of VLSI.

For you to implement a non-rectilinear sensor pixel, you need to be prepared to:

  1. Layout the light sensitive elements in a non-rectilinear way (e.g. hex-packed circles).
  2. Layout the wires that collect the charge (e.g. CMOS / CCD) in a non-rectilinear way
  3. Scale this layout to >> 1M x 1M to meet market demands
  4. Match (or interpolate) the information to a rectilinear display

For you to implement a non-rectilinear display pixel, you need all the same things.

Many people have tried to make foveal cameras and displays (high-res in the middle where our eyes are best, low-res on the periphery). The result is always something that is more costly and less capable than a rectilinear sensor.

The reality of commercial efficiency is that you can dream of non-rectilinear sensors / displays, but it is not cost effective or scalable at this time.

Обычный пиксельный сенсор квадратного размера превратится в сенсор с прямоугольными пикселями, если использовать его за анаморфной линзой. Так же, как боке становится эллиптическим. JDługosz 8 лет назад 0
4
Todd

While they may not physically be square. They are abstractly represented as square, and when shown on displays with lowered resolutions they are seen as squares. Mostly due to laziness, and less processing. Scaling different shapes like hexagons takes more processing, as you cross fraction of pixels. While a Square is just multiplying each side by the constant. Also trying to plot a hex grid you can't just just do an easy X, Y location.

Вы строите график + х 100%, чтобы получить полный ряд. Затем следующая строка смещается на + 50% и перемещается вниз на 75%. Третья строка смещена от второй на -50% (или на 0% от первой строки). Хотя это более сложно, я бы сказал, что это все еще легко - и существует шестнадцатеричная система координат, в отличие от стандартной декартовой системы - наклон Y на 30 ° http://3dmdesign.com/development/hexmap-coordinates-the- Простой способ. Tim 8 лет назад 0

Похожие вопросы