Чи може шестигранний масив пікселів зберігати зображення ефективніше?


11

Більшість моніторів комп'ютерів та телевізорів мають прямокутний масив пікселів, розташованих на квадратній (або майже квадратній) решітці. Чи дасть шестикутна решітка кращу якість зображення для однакової кількості пікселів? Іншими словами, чи дозволить однаковий об'єм пам'яті зберігати більше деталей?

У мене є інтуїтивне відчуття, що (принаймні трохи) більше деталей повинно бути можливим з однакової кількості пікселів із шестикутною решіткою, оскільки (для зображення з фіксованою площею) середня відстань до найближчого піксельного центру буде нижчою, ніж при квадратній решітці . Я хотів би, щоб різниця була визначена конкретніше.


Навіть якщо відповідь "так", я не сподіваюся, що виробники моніторів раптом почнуть створювати шестикутно розташовані пікселі. Однак я задаю це питання, бо мені цікаво, чи не було б чого отримати від зберігання зображень у вигляді шестикутних решіток пікселів, навіть якщо вони перекладені на квадратні решітки пікселів для цілей відображення.


1
Щоб вирішити це питання, ви, мабуть, мали певні переваги шестикутного розташування пікселів. Чи можете ви додати їх до питання?
nitishch

@nitishch це була лише одна перевага, яку я мав на увазі. Чи моє редагування покращує це?
трихоплакс

Обмін стеком DSP (обробка сигналів), ймовірно, матиме для вас формальнішу відповідь на цій BTW.
Алан Вулф


1
FWIW, я чув про дисплеї (зазвичай дуже великі дисплеї на стадіонах), які використовують конфігурацію дельта-набла. (Названий грецькою літерою дельта «Δ» та єврейською літерою набла «∇», оскільки пікселі чергували трикутники з точкою вгору, то вниз, то вгору, то вниз.) Одним із прикладів є Philips Vidiwall.
користувач1118321

Відповіді:


8

Ось мій погляд на це. Піксель - це не квадрат, це навіть не прямокутник. Піксель - це точка (нескінченно мала), яка має з нею колір.

Єдиний спосіб, коли я особисто бачив пікселі, які переглядаються (інтерпретуються) на дисплеї, - це використовувати вибірку "найближчого сусіда", де пікселі знаходилися на прямокутній сітці, а це означає, що колір будь-якого даного простору на дисплеї є кольором піксель, який він найближчий до.

Це фантазійний спосіб сказати "пікселі прямокутні та викладені на сітці", але залишайтеся зі мною на цьому: P

Як результат, формати зображень також мають свої пікселі, які зберігаються у сітці, з припущенням, що найближчий сусід по сітці також буде використаний для її відображення. Наприклад, у багатьох зображеннях буде вбудовано антизшивання, щоб вони виглядали добре, якщо відображалися на "найближчій сусідній сітці".

Інтерактивні програми (ігри) можуть використовувати текстури, не призначені для відображення, як на найближчих сітках сусідів, тому є видом виключення з цього правила. Вони роблять це, тому що в рамках свого виконання вони роблять антизшивання, вибірку білінарної текстури тощо, так що будь-яка картинка, яку вони виштовхують на дисплей, буде добре виглядати, коли дисплей показує її як найближчу сусідню сітку!

Тепер, наближаючись до вашого питання: чи мала б шестикутна сітка якісь переваги?

Я думаю, що так, це було б!

По-перше, я думаю, що найближчий сусід буде виглядати краще. У мене немає реальних доказів цього вибачення, але шестикутник ближче наближає до кола, і оскільки це не звичайна сітка даних, я думаю, що ваше око отримує кращий розподіл даних. Вибачте, це маленька ручна хвиля.

Я думаю, велика частина того, чому це виглядало б краще, хоча це те, що лінійна фільтрація брала б інформацію від 6 сусідів замість 4, і буде інтерполювати на 3 осі замість 2. Більше інформації з менш регулярно розташованих зразків, ніж сітка дає вам = краще отримане зображення.

Кубічна інтерполяція також буде кращою за кубічну інтерполяцію в сітці, тому якість збільшується, коли ви також збільшуєте якість свого алгоритму.

Що стосується того, чи зберігає він дані ефективніше, той факт, що він може робити кращу фільтрацію з меншими даними, для мене означає, що так, він може зберігати дані більш ефективно.

І я здогадуюсь нарешті ... можливо, ви могли використовувати ці властивості на свою користь. Можливо, у вас може бути формат зображення, збережений у нижньому гексагональному форматі, і тоді, перш ніж вам потрібно було відображати зображення під час виконання, ви можете використовувати алгоритми вибірки для перетворення його назад у сітку.

Можливо, був би навіть хороший спосіб зробити це ефективно в піксельній шейдері, щоб це також використовувало менше пам’яті під час виконання?

Цікава ідея (:

PS - як здорово було б мати аналоговий дисплей (не окремих пікселів, а суцільну кольорову поверхню), який розглядав дані пікселів, які ви надіслали, не як прямокутники, а замість цього, як зразки точок на суцільній поверхні. Може, трохи там, хоча….


2
Вам не потрібно зберігати кожну площину кольорів у кожному пікселі або мати площини в однаковій конфігурації. Але ви втратите роздільну фільтрацію
joojaa,

Хороші бали! Роздільна фільтрація досить велика. Цікаво, чи можна було б зробити фільтрування по 3 осі для шестикутників?
Алан Вулф

4

Якщо досліджувати старі телевізійні дисплеї CRT, то спостерігатимуть червоні, зелені та сині точки люмінофора у трикутній решітці. Деякі РК-телевізори мали дещо подібне розташування; пікселі були прямокутними, а не квадратними, але послідовні ряди пікселів були розміщені в шахматному порядку, так що горизонтальне положення червоного пікселя на одному ряду було б на півдорозі між положеннями найближчих червоних пікселів у рядку вгорі, і відповідало б позиції червоного піксель на два ряди вгору.

Показуючи "аналогові" зображення, такі розташування покращать візуальну якість зображення, яку можна отримати із заданою кількістю пікселів. Однак на комп'ютерних дисплеях є багато ліній, які повинні виглядати ідеально горизонтальними, і багато ліній, які повинні виглядати ідеально вертикальними. Прямокутна сітка може вмістити обидва легко. Однак шестикутна сітка може вміщувати лише ту чи іншу, а та, яка не розміщена, буде виглядати досить некрасиво.


Тож не добре для excel :)
joojaa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.