Пікселі та субпікселі

Одного разу я запитав: 'Чому RAW файли моєї камери Nikon D700 важать так мало? У пошуках відповіді знайшов дуже цікаву інформацію.

Про піксельне обдурювання

Про піксельні махінації

Отже, під час зйомки я іноді використовую формат файлів RAW (у Nikon він називається NEF – Nikon Electronic Format – електронний формат файлів Nikon). RAW файли у Nikon мають певні налаштуванняя зазвичай використовую 14-бітну глибину кольору зі стисненням без втрат або без стиску зовсім. У загальному випадку NEF файли з 14-бітною глибиною кольору і без стиснення важать близько 24.4МБ. На малюнку нижче я показав розміри моїх файлів у байтах.

Розміри NEF файлів на моїй камері Nikon D700

Розміри NEF файлів на моїй камері Nikon D700

Як бачите, файли мають майже однаковий розмір. Візьмемо, наприклад, файл ARK-4820.NEF, його вага становить 25 байт, або 621 МБ. Байти в Мегабайти перекладаються дуже просто:

25 / 624 = 760

Хочу звернути увагу, що різна вага RAW (NEF) файлів пов'язана з тим, що вони несуть не тільки корисну 'сиру' інформацію, але й невелику картинку-прев'ю, а також EXIF модуль даних. Картинка-превью використовується для перегляду зображення на моніторі камери. Камера при швидкому перегляді не вимагає завантаження важкого 25 МБ файлу, а просто дістає зменшене зображення-прев'ю і показує її на своєму дисплеї. Ці картинки швидше за все кодується за допомогою JPEG, а алгоритм JPEG дуже гнучкий і кожної окремо взятої мініатюри вимагає різний обсяг інформації для зберігання.

14-бітна глибина кольору означає, що кожен із трьох основних відтінків кодується 14-ма бітами пам'яті. Наприклад, при натисканні на кнопку 'запитання' на відповідному пункті меню камери Nikon D700 можна прочитати таке:

'Зображення NEF (RAW) записуються з 14-бітовою глибиною кольору (16384 рівня). При цьому файли мають більший розмір та більш точну передачу відтінків'

Колір формується за допомогою змішування трьох базових відтінків – червоного R(Red), синього B(Blue), зеленого G(Green). Таким чином, якщо ми використовуємо 14-бітову глибину кольору, ми можемо отримати будь-який з 4 кольорів. (будь-який із чотирьох більйонів триста дев'яносто восьми мільярдів сорока шести мільйонів п'ятсот одинадцяти тисяч ста чотирьох кольорів).

Це просто підрахувати: 16384 (R) * 16384 (G) * 16384 (B)

Насправді, 4 більйони набагато більше, ніж необхідно, для нормальної передачі кольору, такий великий запас квітів використовується для зручного редагування зображення. І щоб закодувати таким чином один 'піксель' зображення, потрібно 42 біти пам'яті:

14 біт R + 14 біт G + 14 біт B = 42 біта

Мій Nikon D700 створює знімки максимальної якості 4256 на 2832 пікселів, що дає рівно 12 пікселів (близько 052 мільйонів пікселів, або просто - 992 МП). Якщо кодувати зображення з мого Nikon D700, без застосування алгоритмів компресії та стиснення даних, і з 14-бітною глибиною кольору, то вийде, що потрібно використовувати 506 225 664 біт інформації (42 біт/піксель множимо на 12 052 992 пікселів). Це дорівнює 63 байтам, або 278 МБ пам'яті.

Питання: чому за розрахунками потрібно близько 60 МБ пам'яті для одного зображення, а насправді я отримую файли тільки на 24.4 МБ? Секрет полягає в тому, що вихідний RAW файл містить у собі не 'справжні' пікселі, а інформацію про субпікселі CMOS матриці Nikon D700.

В описі до камери можна зустріти таке:

Витяг з інструкції до Nikon D700

Витримка з інструкції до Nikon D700

Тобто в інструкції йдеться про "ефективні пискелі" і про "загальне число" пікселів. Кількість ефективних пискселей підрахувати дуже просто, достатньо зняти в режимі JPEG L Fine і отримати знімок 4256 на 2832 пікселів, що дорівнює раніше 12 052 992 пікселям. Якщо округлити, отримаємо заявлені в інструкції 12.1 МП. А ось що це за "загальна кількість пікселів", яких майже на один мільйон (1МП) більше (12,87 МП)?

Щоб це зрозуміти, достатньо показати, як виглядає світлочутливий датчик камери Nikon D700.

Фільтр Байера

Фільтр Байера

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

Не справжні пікселі

'Не справжній' піксель

Насправді ця матриця складається не з пікселів ('у звичайному розумінні'), а із суб-пікселів або осередків-реєстраторів. Зазвичай натякають на, що піксель – точка зображення, що відображає будь-який колір. На CMOS сенсорі Nikon D700 є тільки суб-піксели, які відповідають лише за три основні відтінки, на основі яких формуються 'справжні', 'багатокольорові' пікселі. Матриця Nikon D700 має близько 12 таких суб-пікселів, в інструкції такі пікселі названі "ефективними".

Жодних 'реальних' 12 МП на сенсорі Nikon D700 немає. А 12 МП, які бачимо на кінцевому зображенні, це результат жорсткої математичної інтерполяції 12.87 Мега суб-пікселів!

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

Суб-піксели та пікселі

Основна ідея статті: суб-піксели та пікселі. 12 мільйонів суб-пікселів нам продають за ціною 12 мільйонів "реальних пікселів".

Якщо говорити дуже грубо, то маркетологи назвали суб-піксели фільтра Байєра 'пікселами' і таким чином зробили заміну значень слів. Все пов'язано з тим, що саме треба розуміти під словом 'піксел'.

Повернімося до розрахунків обсягу файлів. Насправді NEF файл зберігає в собі тільки по 14-біт інформації для кожного суб-піксела фільтра Баєра, що фактично є тією самою глибиною відтінку. Враховуючи, що таких суб-пікселів на матриці є 12 870 000 (приблизне число, зазначено в інструкції), то на зберігання інформації, отриманої з них, потрібно:

12 * 870 біт = 000 біт або 14 МБ

І все ж таки я ніяк не отримав 24,4 МБ, які я спостерігаю на своєму комп'ютері. Але якщо до отриманих 21,48 МБ додати дані з EXIF і JPEG PreviewImage можна отримати початкових 24,4 МБ. Виходить, що RAW файл зберігає ще:

24,4-21,48 = 2,92 МБ додаткових даних

Важливо: подібні розрахунки можна провести і для камер, що використовують CCD сенсори та RAW файли без стиснення – Nikon D1, D1h, D1x, D100, D200, а також JFET (LBCAST) матриці – Nikon D2h, D2hs. Насправді немає різниці, CCD це або CMOS – вони все одно використовують фільтр Байєра та субпексили для формування зображення.

А ось камери Sigma c матриць Foveon мають набагато більший розмір RAW файлу для тих же 12 МП в порівнянні з CMOS матрицею, які кодують один реальний піксель за допомогою трьох пікселів основних кольорів (як і належить), це підтверджує мої міркування. До речі, на Радоживі з'явилася ще одна цікава стаття и ще одна.

Висновки

Насправді камери, що використовують матриці з фільтром Баєра (CCD, CMOS – не важливо), не мають заявленої реальної кількості 'справжніх' пікселів. На матриці є тільки набір суб-пікселів (фото елементів) патерна Байєра, з якого за допомогою спеціальних складних алгоритмів створюються 'реальні' пікселі зображення. Взагалі камера не бачить кольорового зображення зовсім, процесор камери має справу тільки з абстрактними числами, що відповідають за окремий відтінок червоного, синього або зеленого, а створення кольорового зображення - це просто математичні хитрощі. Власне, ось чому так складно добитися 'правильної' передачі кольору на багатьох ЦЗК.

Матеріали по темі

  1. Повнокадрові бездзеркальні системи. Обговорення, вибір, рекомендації.
  2. Кропнуті бездзеркальні системи. Обговорення, вибір, рекомендації.
  3. Кропнуті бездзеркальні системи, які припинили або припиняють свій розвиток
  4. Цифрові дзеркальні системи, які припинили чи припиняють свій розвиток
  5. ОВІ або ЕВІ (важлива стаття, що дає відповідь на запитання 'дзеркалка чи бездзеркалка')
  6. Про акумулятори бездзеркалок
  7. Простий та зрозумілий середній формат
  8. Особливо світлосильні рішення від китайських брендів
  9. Всі найсильніші автофокусні зум-об'єктиви
  10. Всі найсильніші автофокусні фікс-об'єктиви
  11. Повний дзеркальний кадр на бездзеркальному середньому форматі
  12. Автофокусні Speed ​​Booster'и
  13. Один об'єктив, щоб правити світом
  14. Вплив смартфонів на ринок фототехніки
  15. Що далі (перевага смартфонів)?
  16. Усі анонси та новинки об'єктивів та фотоапаратів

Коментарі до цієї нотатки не вимагають реєстрації. Коментар може залишити кожен. Багато різної фототехніки можна знайти на AliExpress.

матеріал підготував Аркадій Шаповал. Навчання/консультації | Youtube | Facebook | Instagram | Twitter | Telegram

 

Додати коментар:

 

 

Коментарі: 153, на тему: Пікселі та субпікселі

  • Анонім

    Все-таки виправлю)))
    мільйон = 10 ^ 6
    мільярд = 10^9, більйон теж = 10^9, тільки перша назва традиційна і прийнята в російській мові, а друга наукова та міжнародна.
    трильйон = 10^12
    а ось число 4 - чотири трильйони триста дев'яносто вісім мільярдів (більйонів) сорок шість мільйонів п'ятсот одинадцять тисяч сто чотири.

  • Анонім-1

    Ну точно: математичне шизодаунс-шоу! З ФМТІ-у фотоентузіазисти! Математики незабаром модель нежиті побудують і прорахують ймовірну кількість чіхів залежно від інертної маси соплів… І на підставі цієї моделі виведуть оптимальну корисну кількість пікселів у матриці, що утворюється носовою хусткою… Заживемо багато і щасливо!

    • Роман

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

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

      • Микола

        Чотири суб-пікселі не можна вважати як один піксель, так як у кожному навіть не дивлячись на наявність фільтра міститься різна інформація.

        • Олександр

          Чому ж на моніторі 3 субпікселі RGB ви вважаєте як один? Там теж у кожному різна інформація. У Байєрі різниця в плюс одному зеленому субпікселі, який повинен теоретично підвищувати чіткість на шкоду кольору.

          • aLastMan

            На додаток до Олександра.
            Зелений додатковий піксель зроблений для підвищення чутливості до зеленого кольору.
            Так склалося, що людина майже байдужа до синього, а зелена їй потрібніша.
            Є така штука, спектральна чутливість: ЕY = 0,30ER+ 0,59 ЕG + 0,11ЕB
            Власне на комп'ютерах 16 біт кольору кодуються як 565 (RGB) біт на піксель, один біт дає діапазон виміру вдвічі більше. Що майже потрапляє до наведеної вище формули.
            Що б з математикою сильно не морочитися зробили ще один додатковий піксель, що так само простіше технологічно - зробити все пікселі однаковими.

            Тому 4 пікселя (RGBRG) легко перетворюються на 0,30ER+ 0,59 ЕG + 0,11ЕB, та був і RGB.

  • Анонім-1

    Ось-ось, не фотографи, а одержувачі зображень, фотореєстратори, споживачі колірної інформації, пікселі. Кількість мазків пензля в картинах Леонардо не пробували перерахувати? Здря!! Роботи-море, і мозок при справі, не сохне.

    • Олександр

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

  • Вадим

    Так хочеться вставити свої "5 копійок" :)
    -
    1) По-перше, я сподіваюся, що після того, як усі дізналися про механізми дебайєризації, у їхньому житті нічого не зміниться: вони не почнуть масово позбавлятися цифрових камер, прати улюблені фотографії, згадувати про суїцид (“О, як я міг весь цей час терпіти такий обман?” і т.д.
    -
    2) По-друге, хтось поставив виробникам камер питання про те, що вони розуміють під словом "PIXEL"? Чому всі, хто зібрався тут, впевнені, що їх обдурили, надули, кинули? Нас що Nikon або Canon переконували в тому, що йдеться про RGB, RGGB або якісь інші пікселі з кількома каналами? Нам говорять про кількість осередків матриці в цілому (total pixels) і про те, скільки УНІКАЛЬНИХ комбінацій (тобто того, що потім стане пікселями на екрані) камери та софт збирають із цих осередків (effective pixels).
    -
    3) По-третє, не йдеться про заповнення якихось порожнеч неіснуючими усередненими (інтерполяція) або прогнозованими даними (екстраполяція). Ідеться саме про те, що субпікселі під час дебайєризації можуть по-різному комбінуватися. І кожна комбінація є унікальною, а значить – може претендувати на те, щоб стати екранним пікселем.
    -
    4) По-четверте, все-таки біса добре, що ще не порушили тему того, як ці незрозумілим шляхом пікселі, що з'явилися, по-різному відображаються на різних екранах і вже тим більше - як з них формується друкований растр! :)
    -
    Все, “5 копійок” вставив, втечу фотографувати, бо відчуваю, що втрачаю дорогоцінний час.

    • Денис

      Підписуюсь під кожною копійкою :)

    • рись

      ваших 5 копійок рівно 4.
      Ви теж робите фотоапараати? ))

      • Вадим

        Подумую над цим:).
        А лапки для того й потрібні, щоби можна було одні речі називати іншими.

    • Віталій

      Ну хоч одна освічена людина.
      Те, що описано у статті, зовсім не новина, а для тих, хто цікавиться, а особливо фізиків, давно відома істина. Так, як зроблено – єдине правильне рішення. А чого б ви хотіли? Щоб кожен піксель з'являвся із тріади RGB? І цей народ після цього заявляє, що 36 мегапукелів на кропі це багато? Які тоді стали б розміри мікролінз, якби кожен піксель формувався з трьох чутливих елементів? Вчіть матчасть і тоді ви не дивуватиметеся реальному стану речей. Виробник якраз про нас і піклується, роблячи піксель жирним і ніякого обману тут немає.

      • Олег

        >>Так як зроблено — єдино правильне рішення
        Чим воно правильне? Тим що у вас фотки стали важити більше, і кількість дутих мегапікселів крутіше.
        >>Виробник якраз про нас і піклується, роблячи піксель жирним і ніякого обману тут немає.
        Свята наївність. Виробник це буржуй який піклується тільки про свій прибуток і нема про що більше. Наприклад, маркетологи штучно програмно зарізають деякі фішки, таким чином змушуючи купувати більш дорогі моделі. Підмінюють терміни, щоб циферки були більше замовчуючи, що цей термін підмінений.

        • Віталій

          Пікселі зовсім не дуті, а реальні! Для того, щоб заявляти про дуті пікселі - освойте спочатку матчати! Дуже вже захотілося при цих словах сказати гидоту, але утримаюся. Та ви б перший завили б про дифракційний порог, відсутність різкості і величезні шуми, внаслідок мінімальної площі світлочутливих елементів, якби кожен піксель формувався з трьох сенсорів. Запам'ятайте: більший за розмірами світлочутливий елемент збирає більшу кількість фотонів, звідси зменшення шумів, менший дифракційний поріг, краща різкість.

          • Олег

            Про розмір елемента ви маєте рацію, але це не робить деб-цію відмінною від розмиття. Деб-ція насправді є банальне розмиття. З сенсора 10 * 10, я отримаю 100 байт інформації про об'єкт. Якщо зробити фотку 10*10, то це 300 байт (3 байти на піксель). Звідки ви взяли 200 байт нової інформації про об'єкт? А ви її усереднили із сусідніх пікселів це банальне розмиття.
            Подумки експеримент. Беремо фотку скажемо 100х100 (бажано порізче). І по сітці Байєра в кожному пікселі залишаємо тільки 1 субпіксель, а решту 2 субпікселі гасимо. Чи можете ви використовувати дебайеризацію цієї фотки отримати початкове зображення? Скажете чому дорівнювала яскравість погашених субпікселів у кожному пікселі? Точно не скажете, максимум із сусідніх розмажете.
            Про матч, ви щічки щось здуйте. Якщо не згодні, наводьте аргументи, а марне тремтіння повітря марні.

          • Вадим

            Одна і та ж кількість інформації з RAW-файлу можна по-різному аналізувати та інтерпретувати. З різною якістю, швидкістю, точністю – залежно від поставлених завдань. І від цього багато залежатиме.
            -
            Проведіть якийсь непростий знімок у RAW через різні конвертери: сучасний та десятирічної давності. Відчуйте різницю у шумах, деталях, кольорі. Ми збільшили кількість вихідної інформації? Ні, ми просто навчилися з нею краще працювати і на виході отримали значно цікавіший варіант.

        • Вадим

          Виробник – це буржуй, у якого в штаті є добрі коректори, юристи, адвокати, маркетологи та інші розумні люди. Тому виробник ЧІТКО ЗНАЄ, що він називає словом “pixel”. А якщо це не співпадає з моєю, Вашою чи іншими думками, це вже наші проблеми.
          -
          Немає обману, є слово, в яке різні люди вкладають різний сенс.
          Для Вас, наприклад, піксель – це видима на екрані точка, характеристики якої описуються складовими яркостями каналів RGB.
          Для, скажімо, друкаря - умовна точка, яка убого намагається відобразитися на екрані після конвертації у вигляді RGB-пікселя, але має 4 канали (CMYK).
          У виробників конкретних фотокамер стосовно конкретних матриць є своє розуміння пікселя.
          -
          Немає єдино правильного рішення, що треба було б називати “пікселем” або “субпікселем”. У кожного своя думка з цього приводу. Важливо, що ми, гаряче обговорюючи цю тему, тепер розуміємо порядок речей і можемо називати речі своїми іменами.

          • Олег

            І на екрані та на друкі піксель це елементарна частина зображення, яка може бути будь-якого кольору, а не тільки червоного чи синього чи зеленого. Виробники фотокамер трактують термін пікселя не як усі, зате оскільки їм вигідніше. А виробників жіночих дисків гігабайт це 10Е9 байт, а чи не 1024*1024*1024. Тому що їм так вигідніше.

          • Віталій

            Ось це точно – у саме яблучко

          • Вадим

            Приставка "гіга-" по ISO позначає 10 дев'ятою мірою і ні що інше.
            Це Ви "гибі-" плутаєте з "гіга-".
            Вивчіть матеріал про двійкові приставки:
            http://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8

          • Вадим

            У сенсі, по СІ та JEDEC :)

          • Віталій

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

          • Вадим

            Ну, звичайно, піксель може бути будь-якого кольору. Тільки цей колір треба якось позначити. Монохромні пікселі (не обов'язково – білі-сірі-чорні) можна описати одним каналом, кольорові – трьома та більше, при цьому вони можуть бути по-різному представлені (HSL, LAB, RGB, CMYK тощо).
            Виробники камер вказують загальну кількість монохромних пікселів (які мають інформацію в одному каналі, незалежно від того, який це канал).
            На екрані пікселі – багатоканальні (тобто ми їх такими сприймаємо). Скільки там каналів, чи є субпікселі, залежить від технології формування зображення.
            А за кольорового друку пікселі теж багатоканальні. І каналів, як правило, хоча б на один більше, ніж при відображенні на екрані. І також все залежить від технології друку.
            -
            Тобто. пікселі бувають різними. Розуміння цієї простої тези полегшить життя.

        • Віталій

          Ось почитайте http://www.cambridgeincolour.com/ru/tutorials/camera-sensors.htm , тільки вдумливо, дуже зрозуміло розписано.

          • Олег

            http://arttower.ru/wiki/index.php?title=%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80_%D0%91%D0%B0%D0%B9%D0%B5%D1%80%D0%B0
            Тут наприкінці приклад із гусем. І наприкінці пишуть:
            Як видно на картинці, це зображення вийшло більш розмитим, ніж вихідне. Такий ефект пов'язаний із втратою частини інформації внаслідок роботи фільтра Байєра.

            Тобто. Фільтр Байєра не відновлює вихідну інфу на 100%! він її інтерполює (розмазує) із сусідніх пікселів.

          • Вадим

            Уматовий приклад :)))
            А вихідне зображення, що отримано без дебайєризації? Чи на плівку знято, а потім відскановано?
            Ніхто ж не каже: знімемо на три-чотири... матриці одночасно, отримаємо true-багатоканальні пікселі, порівняємо це з убогими "решітками Байєра", - і, типу, відчуй різницю.
            У цій епічній дискусії народ намагається донести лише кілька тез:
            1) відновлена ​​з БУДЬ-ЯКОГО джерела БУДЬ-ЯКА інформація про БУДЬ-ЯКИЙ об'єкт не є оригіналом і має дискретну якість. Висновок: ходіть на живі концерти, подорожуйте, спостерігайте за живими заходами сонця, нюхайте квіти, насолоджуйтесь кожною ложкою борщу, любіть коханих і т.д.
            2) якщо Ви - не інженер (за натурою), а фотограф (за покликанням, або хобі у Вас таке) менше дбайте про глибокі технічні подробиці процесу отримання фотографії (як заряджаються осередки сенсора і т.д.). Нехай про це думають інженери. Висновок: практикуйтеся, вдосконалюйте свою майстерність. Залізо з часом стане кращим. А чи станете краще Ви – залежить лише від Вас.
            3) щоб не почуватися обдуреним, уточнюйте речі, що Вас цікавлять. Люди часто по-різному називають те саме або навпаки вкладають різний сенс у однакові слова. Висновок: вміння знаходити спільну мову допомагає і в магазині, і на роботі, і у сімейному житті.
            4) у суперечках народжується істина. Ми тут не для того, щоб зафлудити Аркадію сторінку або з'ясувати, хто розумніший. Я ось по-новому подивився на деякі аспекти отримання та аналізу зображення. Мені це цікаво, т.к. я – лікар-офтальмолог. Хтось із цього дня почне правильно користуватися приставками “кіло-“, “гіга-“, “кібі-“, “гібі-“. Висновок: конструктивні дискусії роблять світ кращим :)

          • Олег

            Про гибі-не знав. Це виходить вінда за стандартом показує, хто міг подумати.

          • Вадим

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

  • Андрій

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

  • Олег

    Я здається зрозумів причину деб-ції:
    1. Для виробника більш приваблива цифра мегапікселів, це зрозуміло.
    2. Наразі вимога до фотоапарата давати готову найбільш якісну jpg-фотку на виході. І щоб користувачеві не доводилося морочитися з фільтрами. Тобто. якщо потрібно застосувати якийсь фільтр для покращення видимої якості фотки, то фотоапарат повинен це зробити сам, а не залишити користувачеві. Ось він отримав матрицю значень 10*10. Звичайно вихідної інформації там всього 100 байт, і кому вони потрібні тому є raw. А кому потрібна готова фотка, то фотоапарат зробить збільшення реального дозволу в 2 * 2 = 4 рази шляхом інтерполяції відсутніх пікселів (деб-ція), потім різкості додасть, кольори поправить, ще чогось нитка. Наприкінці виходить фотка найкращої видимої якості. Так якщо зробити правильно з матриці 10 * 10 фотку 5 * 5, то в ній не буде дутої інформації, але виглядатиме вона буде дійсно гірше. Тобто. собі зробив висновок такий, з пікселів написаних на фотоапараті 1/4 реальних, інші ж інтерполовані. Може це і не погано, людям же важлива видима якість, а як вона отримана реально знята або інтерполована їм не важливо.

    • Роман

      Не зрозуміли. Візьміть зображення, отримане із RAW, зменшіть його вдвічі, а потім збільште до оригінального розміру. А потім порівняйте "дуті пікселі" після дебайєризації з вашими чесними пікселями. Приклад не зовсім коректний, але все ж таки певні висновки зробити можна.

      Фільтр Байєра - грамотне інженерне рішення, що дозволяє оптимально використовувати площу матриці. "Чесне рішення" - брати квадрат, розміщувати в ньому три датчики R, G, B (один кут залишати порожнім), усереднювати все до одного пікселя та отримувати з матриці розміром 4000х3000 пікселів картинку зі сторонами 2000х1500. Досить додати в "порожній" кут ще один зелений датчик і ми отримаємо "зайвих" 60% яскравості (внесок зеленого каналу - 60%, 30% - червоного, 10% - синього). Її можна просто викинути, а можна "підмішати" за допомогою матюки. перетворень (складніших, ніж проста лінійна або навіть кубічна інтерполяція) до картинки, отримавши значно більшу чіткість.

      • Олег

        >>Візьміть зображення, отримане з RAW
        Де його взяти? Будь-який конвертер віддає вже оброблене.

        http://arttower.ru/wiki/index.php?title=%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80_%D0%91%D0%B0%D0%B9%D0%B5%D1%80%D0%B0
        Ось тут взяли фотку гусака. Це як вихідний об'єкт. З неї створили матрицю Байєра, тобто. щоб отримала матриця ідеального фотоапарата з ідеальним об'єктивом. Згодом до цієї матриці застосували деб-цію, тобто. як би це зробив фотоапарат. Результуюча фотка не дорівнює вихідній! Не рівна! Ось якби у фотика були чесні rgb-пікселі, то вийшло б вихідне зображення і без будь-яких д-цій. А так це просте розмиття, що й видно при порівнянні вихідної та кінцевої фотогуски.
        Так д-ція це напевно трохи більш складне перетворення ніж проста лінійна або кубічна інтерполяції, але це не означає, що це не інтерполяція. Д-ція справжнісінька інтерполяція. З вікі:
        Інтерполяція, інтерполування — в обчислювальній математиці спосіб знаходження проміжних значень величини наявного дискретного набору відомих значень.
        Воно й є.

        • Роман

          > Результуюча фотка не дорівнює вихідній!
          Хтось стверджує протилежне?

          Якщо чинити "по-чесному", як ви просите, то потрібно буде з кожного набору по чотири пікселі зліпити один, а не чотири, як це робить алгоритм дебайєризації. В результаті ваше зображення буде вдвічі менше за шириною та висотою. І якщо ви його збільшите, щоб воно співпадало за розміром з оригінальним зображенням, то результат після дебайєризації виглядатиме ЗНАЧНО краще, тому що отриманий з використанням інформації, яку ви пропонуєте викинути.

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

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

          • Олег

            Якщо взяти майже будь-яку картинку (особливо низько роздільної здатності) і збільшити її роздільну здатність 2*2 рази шляхом білінійної інтерполяції вона теж виглядатиме ЗНАЧНО краще і без 4-го каналу. Але ж це не привід так зробити з усіма файлами збільшивши їх розмір в 4! рази.
            Так як я написав вище, вимога зараз до фотиків така: фотик повинен видати готову jpg-фотку максимально можливої ​​якості, проробивши всі можливі фільтри сам. Розмір фотки не має значення. Як вона отримана з реальних пікселів або дутих це не так важливо.

          • Вадим

            Ось чогось Олег ніяк не може зрозуміти, чим одноканальні (монохромні) пікселі від багатоканальних (кольорових) відрізняються. І нічого тут не поробиш.
            -
            Відповідно, і інтерполяція як усереднення тут ні до чого. Дебаеризація – це усереднення, а отримання багатоканального пікселя із групи монохромних.
            -
            У цьому, звісно, ​​треба використовувати можливі комбінації груп, т.к. це дасть більше РЕАЛЬНОЇ інформації, ніж використання кожного монохромного пікселя лише один раз із наступним апскейлінгом.
            -
            І цей гусак безглуздий ... Люди взяли зображення з набору RGB-пікселів, урізали їх до монохромних, тобто. викинули 2 канали (2/3 інформації), а потім кажуть: "Бачите, зображення деградує". Звісно, ​​воно деградує, інформації залишилася третина! І лише завдяки дебаєризації на це зображення взагалі ще можна дивитися.

          • Олег

            Так люди викинули 2/3 інформації. Ну так і фотик теж 2/3 інформації не бере, скажімо зелена складова світла, що потрапила на червоний або синій осередок просто пропадає. Все коректно із гусем.
            А як на ваше правильно потрібно зробити приклад гусака? Самі подумати є фотка гусака скажемо 100 * 100 * 3 = 300 байт, матриця Байєра візьме лише 100 байт. Як не крути зі 100 байт назад теж 300 не отримаєш. Не згодні? не проблема давайте зробимо гусака, як ви хочете. Поясніть, як.

          • Вадим

            Викинути та не зняти – різні речі. Ці моноканальні пікселі несуть інформацію лише про один канал. Але ж вони не перестають бути пікселями. І нам не обіцяли якихось конкретних пікселів. Обіцяли пікселі – дали пікселі. А ось які це пікселі, і чим вони відрізняються від екранних завдяки Вам ми дуже докладно з'ясували та "розжували".

          • Олег

            Втім так. Ніде не написано, що це триканальні пікселі. Якщо небажання дутої інформації у файлі можна поставити у фотиці роздільну здатність нижче і тим самим отримати чесний переклад пікселів Байєра в rgb, тут виробники залишля.т вибір користувачеві. Напевно, я на них намовляю.
            Ну тоді дозвіл моніторів теж можна писати по вертикалі в 3 рази більше, там теж ніхто не обіцяв rgb-піксель :).

        • Вадим

          Пікселі камери та екранні пікселі – це як кахель. Їсти дешевше, їсти дорожче, їсти побільше, їсти поменше. Але і те, і те – кахель, і те, і те – пікселі.
          Оскільки пікселі матриці камери одноканальні (монохромні) вони містять утричі менше інформації, ніж екранні пікселі. Вони не рівнозначні. Але ж вони пікселі. Чесні. Справжні.
          -
          Як ще простіше пояснити?

          • Роман

            Я не знаю. Людина вперто вважає, що її надувають виробники. Мовляв, жидомасонська змова, всі тупо збільшують картинку вдвічі, шарпають і продають як справжню. Так я його засмучу, в JPEG RGB конвертується в YUV - яркісний канал і 2 кольоророзносних. Яскравий кодують весь, а у кольоророзносних залишають по два пікселі з чотирьох. І це після дебайєризації! Дурять народ, дурять...

          • Олег

            Я твердо знаю, що з матриці Байєра 10*10 не можна точно відновити початкову картинку 10*10*3 жодним способом, включаючи д-цію. Підсумкова картинка буде більш розмита ніж оригінал і масони тут нема, чиста математика. Як кодує JPEG не знаю сперечатися не буду (але завжди думав, що там чогось у ряд Фур'є розкладають). Але ваша логіка така, давайте до зображення додамо 200% дутих пікселів, все одно їхня частина загубиться після JPEG стиснення. Зауважу, що JPEG це завжди погіршення якості картинки (видно на контрастних картинках), і після JPEG загубляться не лише дуті, а реальні!
            Вище наведений приклад із гусем дуже показовий. Чи ви Роман теж із ним не згодні? Давайте зробимо приклад із гусем як ви хочете, і переконаємося що початкової якості картинки ми в результаті не отримаємо.

          • Вадим

            :)))
            Немає ніякої “початкової картинки” гуски. Є гуска :). Це ОРИГІНАЛ ОБ'ЄКТУ ЗЙОМКИ. Ми ніколи не зможемо отримати ідеальну картинку. Побачили контур – хочемо побачити частини тіла; побачили частини тіла, хочемо побачити пір'їнки; побачили пір'їни хочемо розглянути кожну "ворсиночку"; побачили кожну "ворсиночку", хочемо побачити кожного кліщика, що сидить на ній, і т.д. Немає межі досконалості.
            -
            Так ось ГУСЯ (а не його фотографію) фотографують камерою на матрицю з баєрівськими ґратами. Це і є оригінал зображення.
            -
            Інформації під час зйомки не меншає. Її рівно стільки, скільки взагалі фізично спочатку може отримати цей тип матриці в цій камері при цих налаштуваннях і умовах зйомки. Тобто. скільки монохромних пікселів.
            Ще раз повторюю, монохромний - не означає "у відтінках сірого". Просто кожен піксель несе інформацію про один канал (у цьому випадку – червоний, синій, зелений, зелений №2).
            -
            Якби в нас спочатку була багатоканальна (наприклад, багатошарова) матриця, а зверху ми б чомусь повісили баєрівські грати, ми б, звичайно, втратили близько 2/3 інформації. Але ми нічого не втратили, у нас спочатку менш досконалий сенсор. Що з ним не роби, більше інформації він нам не "накопає".
            -
            Потім вихідна інформація теж нікуди не подіється: вона аналізується, інтерпретується і конвертується в багатоканальні пікселі, зрозумілі екрану монітора. Можна це зробити в один прохід (кожний монохромний піксель використовується один раз), можна – в декілька (розглядаються всі можливі комбінації груп по 4 суміжні пікселі + можливо групи більших розмірів та іррегулярні за формою). Чим більше проходів – тим більше шансів вичавити максимум з наявної інформації, тим більшою ймовірністю отримане зображення буде відповідати очікуванням. Але кількість вихідної інформації при цьому знову ж таки не змінюється.

          • Олег

            >>Немає ніякої «початкової картинки» гуски. Є гусак.
            Неправильно. Ми не можемо нескінченно докладно описати живого гусака це вірно. Але ми уявили абстрактного гусака що складається з квадратиків. Ну це начебто ми фоткаємо не саму гусака, а фоткаємо фотку гусака. Припустимо, у нас є фотка гусака 100*100*3. Ідеальний фотик з ідеальним об'єктивом з честою матрицею 100*100*3 сфоткавши таку фотку гусака явно дасть на виході вихідний знімок гусака. Ідеальний фотик з матрицею Байєра 100 * 100 * 1 дасть матрицю Байєра, з якої шляхом перетворень де-ції не виходить початкова фотка гусака, а виходить більш розмита фотка. Що й показано за тим посиланням.
            >>Інформації під час зйомки не менше. Її рівно стільки, скільки взагалі фізично спочатку може отримати цей тип матриці
            Так. Ця матриця здатна отримати від об'єкта скажімо 10 * 10 = 100 байт інформації, її менше не стає, т.к. ми нічого не викидаємо. Її стає більше, ми додаємо, дуті 200 байт. Начебто ми реально 300 байт від об'єкта отримали, а насправді лише 100.
            Дивіться, ми повинні 1 піксель одноканальної матриці Байєра перевести в 3-канальний. Нехай це зелений піксель. Але ми фізично не знаємо значення червоного ні синього кольору об'єкта на місці цього зеленого пікселя. Матриця не зняла, відсікла цю інфу. Де її взяти, ми беремо її із сусіднього пікселя, наївно вважаючи, що значення кольорів у сусідніх пікселів приблизно схожі. Але це зовсім не так. Наприклад, вихідним об'єктом є яскрава жовта (червоний+зелений) точка розміром в 1 піксель на зеленому тлі. І ця точка цілком потрапила в цей один одноканальний зелений піксель. У сусідніх пікселях ніякої інформації про її червону складову не буде, там інформація тільки про зеленому тлі. Деція дасть нам, цю точку зеленого кольору. У той час як чесна триканальна матриця побачить, що точка має червоний канал і в результаті ми отримаємо жовтий колір точки.

          • Денис

            “Наприклад, вихідний об'єкт – це яскрава жовта (червоний+зелений) точка розміром в 1 піксель на зеленому тлі. І ця точка цілком потрапила в цей один одноканальний зелений піксель. У сусідніх пікселях жодної інформації про її червону складову не буде” – Ваші роздуми лише вкотре підтверджують незнання матчасті :)
            Така ситуація неможлива, т.к. перед матрицею ще стоїть спеціальний фільтр.

          • Олег

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

          • Денис

            Камер без фільтра – півтори моделі. Причому відсутність цього фільтра подається як інструмент для професіоналів, людей, які знають, навіщо їм це потрібно.
            А з приводу ступеня розмиття — він ніби для того й стоїть, щоб розмивати так, щоби на сусідні пікселі потрапило. Навіть якщо на 0.1 пікселя, це означатиме, що на сусідів частина інформації вже потрапить. Насправді там більше. Ще раз повторюю, вивчайте матч, перш ніж робити висновки про дутість та інтерполяцію.

            PS Аркадій, видаліть, будь ласка, вище мій аналогічний коментар, він не туди цитований, все з'їхало.

    • Роман

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

      • Олег

        >>Ще один «чесний варіант»
        Не ще один, а єдиний чесний варіант збільшити дозвіл це збільшити кількість пікселів.
        >> Це шлях у нікуди.
        А виробники матриць і не знають. Кількість пікселів на матриці все більше і більше.

        • Роман

          > А виробники матриць не знають. Кількість пікселів на матриці все більше і більше.

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

  • Роман

    >> Я твердо знаю, що з матриці Байєра 10*10 не можна точно відновити початкову картинку 10*10*3 жодним способом, включаючи д-цію.

    Це абсолютно безперечно. ЯКЩО Б існувала ідеальна матриця, кожен фізичний піксел якої видавав би трикомпонентне зображення (і такі існують, я вже писав, але вони далеко не ідеальні), то в результаті знімання інформації з цієї матриці ми б отримували картинку кращої якості. Але ми на даному етапі можемо тільки визначати рівень освітленості датчика і формувати у відповідь на якусь напругу, яку потім оцифровуємо. Якщо ви візьмете матрицю 4000х3000 і не закриєте її кольоровими фільтрами, отримаєте своє чесне 12МП монохромне зображення. Якщо ми поверх матриці помістимо ще й сітку Байєра з кольорових фільтрів, ви отримаєте ще й інформацію про колір. Частину яскравості ми втратимо через фільтри. Але, ще раз повторю, цей масив нестиме більше інформації, ніж масив із 2000х1500 усереднених пікселів.

    • Олег

      >> цей масив нестиме більше інформації, ніж масив з 2000х1500 усереднених пікселів
      Матриця Байєра 4000х3000 несе 12МБ інформації. Якщо чесно стиснути її до 2000х1500 RGB фотографії, це буде 9МБ інформації, тобто. втрата 25% (тобто. замість 2-х зелених каналів всього 1). А якщо зробити де-цію і розтягнути її до 4000х3000 RGB фотографії, то отримаємо 36МБ інформації. Тобто. або втратити 25% або роздмухати на 200%. У принципі надуть ці 200% ми можемо будь-якої миті навіть у реалтаймі прямий при перегляді фотки.
      Але 12 Мпікс маркетологу куди привабливіше ніж 3Мпікс. Їм хочеться писати 12. Але маркетологи теж можуть перекладати фотку чесно, т.к. якщо на камері написано 12 Мпікс, вона не може видавати на виході фотку на 3 Мпікс. Тому на фотиці пишуть реальні одноканальні 12Мпікс, а на виході теж 12, але частково дуті триканальні. 12 = 12 і все збіглося і у клієнтів немає питань.

      • Роман

        > Матриця Байєра 4000х3000 несе 12МБ інформації

        4000х3000х14 біт = 21 МБ (вже не 12)

        > В принципі надути ці 200% ми можемо будь-якої миті навіть у реалтаймі прямий при перегляді фотки

        Ви RAW обробляли колись? Скільки пристойний конвертер його відчиняє і "накручує" звертали увагу?

        У всьому іншому ви нічого розуміти не хочете, тому навіть не бачу сенсу переконувати у протилежному.

        • Олег

          Конвертер працює рівно стільки часу, скільки дозволяє вам залізо. Фотик робить це набагато простіше і швидше. У комп'ютерах відсотків сильніше, ось алгоритм крутіше. Завтра зроблять комп'ютер у 100 разів швидше, програмісти напишуть фільтр ще важче, і комп'ютер буде думати теж кілька секунд і робити фотографію на 1% привабливіше. Це не показник.
          >>У всьому іншому ви нічого розуміти не хочете, тому навіть не бачу сенсу переконувати у протилежному
          А в чому ви хочете переконати мене? У тому що деція це не інтерполяція? У тому, що Матриця Байєра 10*10 здатна отримати інфу від об'єкта більш ніж 100 байт? Або в тому, що з 100 байт реальної інформації можна створити 300 байт реальної інформації? У чому?

        • Денис

          Роман, та марно доводити :)
          Нехай людина і далі ресайзить фотки в 4 рази і спить спокійно, думаючи що нічого не втрачає і цим тільки заощаджує місце на жорсткому диску

  • Роман

    > Як кодує JPEG не знаю

    А ось поцікавтеся. Спочатку перетворення RGB – YUV. Яскравий канал зберігаємо повністю, два кольоророзносні проріджуємо. Можна прибрати половину пікселів з кожного каналу U та V і різниця буде погано видно оку. В результаті 33% інформації відкинули порівняно безболісно. У відео, до речі, ще більше відкидають – близько 50%.

    Ну а далі ще веселіше.
    Отриману інформацію ділимо на блоки, кожен кодується окремо. Кожен блок піддаємо БПФ. Замість набору значень кожного пікселя отримуємо набір частот. Там ріжемо залежно від коефіцієнта стиснення верхні частоти, огрубляючи зображення дедалі більше. І тільки потім застосовуємо власне стиснення методом Хаффмана.

    • Вадим

      Ось перечитав я, Романе, Ваш пост і подумав, що питання інтерпретації та перетворення інформації межують із філософією :).

      Наприклад:
      – беру свій .nef файл об'ємом 14 байт;
      – намагаюся стиснути його у WinRAR, best compression – отримую 14;
      – гаразд, результат не супер, відкриваю .nef у Photoshop у sRGB, 8 біт/канал (а скільки у нас там було?) і зберігаю в .tif без стиснення, interleaved, без колірного профілю, отримую 36 671 508 байт;
      – аналогічно, але застосовую стиснення LZW (lossless) – 18 байт;
      – аналогічно, але замість LZW пресую .tif WinRARом – 13 байт (ось, де починається вулична магія!).

      Тепер намагаюся підготувати зображення до друку. Щоб все було прозоро, вручну конвертую відкритий у Photoshop у sRGB, 8 біт/канал RAW-файл у CMYK, зберігаю в .tif без стиску – 48 879 468 байт.
      Аналогічно, але з LZW - 30 байт.
      Аналогічно, але стиснутий .tif пресую WinRarом - 24 байт.

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

      Питання залишається: як упакований роздутий 3-канальний .tif може займати МЕНШЕ місця, ніж аналогічно упакований .nef? Там менше РЕАЛЬНОЇ інформації?

      • Денис

        У RAW у вас несжаті дані з матриці, без дебайєризації, при конвертації в TIFF отримуєте вже дебайєризоване зображення, субпікселів вже втричі більше, тому воно і важить втричі більше.

        • Вадим

          Тут зрозуміло, питань немає

      • Денис

        А ось вже упаковка та стиснення – питання інше, все залежить від алгоритмів та допустимих втрат. RAR прості зображення майже не стискає ви переконалися. Швидше за все, щось загубилося.

        • Вадим

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

          А філософія полягає в тому, що вважати РЕАЛЬНОЮ кількістю збереженої візуальної інформації? Розмір вихідного RAW? Розмір повноцінного растру? Що з описаного мною є РЕАЛЬНИМ обсягом інформації, що стисненим, а що роздутим?
          Адже виходить, що та сама інформація може займати різний обсяг залежно від способу подання та середовища використання.

      • Роман

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

    • Вадим

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

      • Денис

        Файли стисненого RAW і JPEG з мого Nikon D1X займають практично рівний об'єм, через що знімаю тільки в RAW :) І те, і те стисло, хоча зрозуміло, що в JPEG втрат більше.

        • Вадим

          Взагалі, дякую за приємну та пізнавальну дискусію.

          А найголовніше, що залишаючи думки про мегапікселі тут, я за ці дні зняв багато приємних кадрів, думаючи про інші речі :)

      • Роман

        Ну, виходячи з визначення кількість інформації, знятої з датчиків – є якась величина. А ось спосіб її уявлення може бути різним. Нижче ентропія - менше розмір повідомлення, воно все являє собою інформацію. Більше ентропія – більше повідомлення.

        Частину інформації ми можемо втрачати, адаптуючись під властивості система виведення (монітор) та системи сприйняття (очей). Наприклад, монітору не вивести більше 8 бітів на піксел (в основному). А око не розрізняє відтінки кольору у тінях. І т.д. Тут зменшується кількість інформації та, відповідно, величина повідомлення. А ось за рахунок стиснення ми зменшуємо ентропію, залишаючи повідомлення тим самим за обсягом. Перетворили на формат 16 або 32 біти - збільшили ентропію (славнозвісні "дуті пікселі").

  • Дмитро

    На D7100 RAW на 15,6 МП займає від 20 до 26 МБт. Записується RAW без стиснення. Але судячи з того, як відрізняється підсумковий обсяг, то все-таки стиснення явно використовується, але без втрати якості та відсікання будь-якої інформації. На жаль, але це ще раз доводить, що структура файлу RAW для фотографа це не більше, ніж “чорна скринька” з якою вміють працювати лише обрані.

    • Аркадій Шаповал

      Аматорські камери, Д7100 у тому числі, не підтримують RAW без стиску.

      • Дмитро

        таки ви маєте рацію про стиск. Але як свідчить стр.67 інструкції Д7100, у разі стиснення на 20-40%. саме, "на", а не "до". тобто. без стиснення RAW повинен бути не менше 15,6 МП*14 біт/канал*3 канали/8 байт/біт=81 МБт. Допустимо прокочує 40% стиск: 81 * 0,4 = 32,8 МБт. і це без метаданих та прев'ю. тобто все одно "темний ліс" виходить.

        • Аркадій Шаповал

          Все насправді просто. Не потрібно множити на 3 канали.

          • Дмитро

            не можу зрозуміти чому не потрібно множити на 3 канали. сумарно матриця дає колірне охоплення в 42 біти (тобто по 14 біт на канал). 42 біти це рахуйте 6 байт. тобто. оцифровка одного пікселя (RGB) займає 6 байт. тобто. для 15,6 мегапікселів необхідно 93,6 МБт.

          • Денис

            Дмитре, Ви неуважно читали статтю або не читали зовсім. На матриці 15,6 не повнокольорових мегапікселів, а одноколірних. Тому нічого множити не треба.

  • Дмитро

    Здається вловив хитрість з маніпулюванням даних з матриці. Якщо один піксель це RGGB. Те з двох фізичних пікселів (RGGB+RGGB) можна отримати насправді три пікселі. за рахунок "середин" сусідніх осередків (перший і третій осередки це самостійні окремі осередки, а ось друга це друга половина першої та перша половина другої). для такої моделі фізичних пікселів потрібно вдвічі менше. причому цей метод йде при горизонтальному і вертикальному проході кадрі. отже, фізично достатньо мати в 4 рази менше пікселів. тоді мої 15,6 МП перетворюються на 3,9 МП. а це 3,9 мегапіскеля * 42 біт / піксель / 8 біт / байт = 20,5 МБт. Це вже явно близьке до того, що маємо. + метадані + прев'ю.

  • Дмитро

    Щоб виключити дискусії на тему піксель на матриці це три кольори або один, поставив питання службі підтримки Нікон:

    ” Дмитро Тищенко: Доброго дня, Олено! Мене цікавить дещо дивне питання щодо матриці D7100.
    Дмитро Тищенко: Згідно з інструкцією користувача її розмір становить 24 мегапікселі. Питання таке: що під пікселем має на увазі виробник? У цьому випадку піксель це повноцінний осередок матриці (RGGB) або окремий колір (RGGB=3 пікселям)?
    Олена: Повноцінний осередок”

    Тобто один піксель – це повнокольоровий триколірний піксель.

    • Денис

      "Тобто один піксель це повнокольоровий триколірний піксель" - це нісенітниця, що відповідала людина явно не в темі. Почитайте хоча б Вікіпедію, перш ніж ставити такі питання і тим більше вірити таким відповідям. Все давно багаторазово описано та розписано.
      Ось у коментарях проскакувала програма RawDigger – вона і може покласти край дискусії на тему один або три кольори. Відкриваємо будь-який RAW-файл, ліземо в налаштування, знімаємо галочку 2х2 і дивимося в режимі RAW composite. Це буде те, що побачила матриця, без дебайеризації; при збільшенні чудово видно масив Байєра.

      • Дмитро

        Це відповідь на тих підтримки. Я їм ще поставив питання в догонку на їхню ж відповідь щодо явного не збігу обсягу отриманих даних. відповідь звелася до закритості алгоритмів обробки даних. трохи вище я висловив думку, що підсумкові пікселі можна отримати при значно меншому обсязі початкових осередків фільтра Баєра (цього ніхто не забороняє виробникам мариць не говорити про це – нас, то все одно цікавить підсумковий розмір матриці в пікселях (RGB)). з RawDigger спробую додатково виконати зазначений фокус (правда вчора вивчав докладні метадані одного з РАВ-ів. Там мова теж йшла про пікселі і вони відповідали дозволу ітового зображення або реальне дозвіл зображення потрібно також ділити на 3). Цікаво, чи зможе мені програма показати загальну кількість осередків, що складають кольори.
        http://ru.wikipedia.org/wiki/%D0%9F%D0%B8%D0%BA%D1%81%D0%B5%D0%BB%D1%8C - Відповідає, що це колір.
        http://ru.wikipedia.org/wiki/%D4%E8%EB%FC%F2%F0_%C1%E0%E9%E5%F0%E0 – йдеться, не про пікселі, а елементи (фільтри).

        • Денис

          RawDigger після відключення дебайеризації покаже те, що сприйняла матриця (до речі, там можна включити відображення неефективних пікселів, у мого Canon 350D вийшла чорна смуга зліва та зверху). Можна збільшити зображення, зайти в налаштування і поставити галочку 2х2, буде видно як працює дебайеризація. Роздільна здатність зображення не змінюється, змінюються кольори пікселів, з одноколірних на повнокольорові.
          За посиланням є таке "Також Пікселем помилково називають елемент світлочутливої ​​матриці (сенсель - від sensor element)"
          Але, число сенселів простим смертним ні про що не скаже (дана стаття тому доказ - не всі зрозуміли сенс), тому називають мегапікселями, враховуючи те, що користувачі зможуть тим самим зрозуміти, який дозвіл буде у фотографії (вся ця кухня з дебайєризацією) не хвилює 99% фотографуючих).

          • Дмитро

            RawDigger – спробував детальніше досліджувати її. І таки розібрався далі. Так, таки на матриці йдеться про субпікселі (кожна складова кольору окремо) насправді. У мене їх вийшло потрібні 15,6 мегапікселів. Тобто. 15,6 мегасубпікселей*14 біт/субпіксель + часткове стиснення без втрати якості (на 20-40%) = 18,7-24,9 МБт + прев'ю в 90-95 кБт+метадані. що дуже схоже на правду. АЛЕ! Після конвертації в той же TIFF без збереження каналів кольору отримуємо ті ж 15,6 МП, але вже після дебайеризації. АЛЕ! Масив Байєра дозволяє спокійно і чесно інтерполювати майже ті ж 15,6 мегапікселів. Як?
            Фрагмент фільтра Байєра:
            RGRGRG…
            GBGBGB…
            RGRGRG…
            GBGBGB…
            ...
            Формує пікселі (RGB) із субпікселів (найпростіший і явно тупий варіант):
            RG+GR+RG
            GB BG GB

            GB + BG + GB
            RG GR RG

            RG+GR+RG
            GB BG GB

            тобто. з масиву 4х4 має 9 повноцінних "чесних" пікселів.
            для того, щоб компенсувати відсутні ряди є додаткові пікселі. То схоже на правду?

            • Олексій

              почитайте мою відповідь нижче!
              Моя думка – ЧЕСНИЙ піксель це той колірні складові якого більше ні в яких інших пікселях не беруть участь!

              А тут нас просто дурять! Інтерполяція чистої води.

  • заклад

    ІМХО як усі зациклилися на кольорових пікселях і пропустили один момент.
    Камера із заявленими 12 мегапікселями справді робить 12ти мегапіксельний ЧОРНО-БІЛИЙ знімок. Дебайеризація, це насправді відновлення кольорів для, таки, дванадцяти мегапіксельного знімка. Створення одного кольорового пікселя з чотирьох все-таки призвело до погіршення деталізації знімка.

    • Alex

      Цікаво, а чи можна програмним способом відновити вихідне чорно-біле зображення?

    • Андрійкр

      Не дає камера з 12 мп чорно-білий знімок у 12 мп, тому що субпікселі закриті різними кольоровими фільтрами, виглядає результат як сітка і це треба якось змішувати (і підправити яскравість каналів не допоможе, кожен кольоровий фільтр змінює яскравість різних відтінків), тобто все ще потрібна дебайєризація. І врешті-решт доведеться миритися з шумами (наслідки дебайєризації). Чому? Тому що є усунення. У цій точці ми зняли із червоним фільтром, а зі зміщенням управо – із зеленим. Але це різні точки зображення. Поєднуючи їх, ми або втрачаємо дозвіл або привносимо шуми.
      Є експериментатори, які прибрали кольорові фільтри з матриці і таким чином отримали ДІЙСНО чорно-білі знімки. Гуглити: Scratching the Color Filter Array Layer Off a DSLR Sensor для Sharper B&W Photos. Ось після такої маніпуляції дебаєризація вже не потрібна. Ви можете це зробити самостійно.

  • Олексій

    А по-моєму ні! У мене 600д - 18.1 мегаСУБпіксель і типу 17.8 реальних мегапікселів.

    Уявіть, що об'єктив сфокусував настільки, що зернятка зображення потрапляли в розмір одного субпіксела.
    І потрапив би у кадр на тлі неба – дріт.

    вона б пройшлася чорною плямою по одному ряду субпікселів. при дебаєризації ми отримаємо градієнт з 4-х пікселів, що плавно змінюється від кольору неба до половини яскравості кольору цього неба і назад знову до кольору неба. але чорного пікселя ми не отримали б ніколи у кожного дебаерного пікселя є пара чорних 100% і пара світлих 100%.
    при дебаєризації з кроком +2 тобто пікселізація не накладаючи два субпікселі від минулого квадратика на новий - ми б отримали строгий рівний 75% затінений піксель у якого сусіди - кольори неба а він на 75% темніший за сусідів. Це в ідеальному випадку але, як відомо, настільки різких об'єктивів немає і звичайний китовий на діафрагмі ф11 може покрити лише 2.5 субпікселя максимальною своєю різкістю. Тут при дебаєризації на 17 мегапікселів ми отримаємо градієнт ще більш розмазаний. А от якщо дебаєрити на 4.5 мегапіксела – отримаємо 100% чорний піксель у місці проходження дроту та 100% колір неба навколо. В наявності звичайна лінійна апроксимація. коли кількість реальних пікселів по горизонталі і вертикалі збільшують вдвічі, а відсутні отримують просто інтерполяцією. Проблема ускладнюється тим, що я в фотошопі ніяк не зміг досягти 4.5 мегапікселів але з чітко вираженим дротом на зображенні!

    Тому питання – ніхто не зустрічав жодних програм, які можуть зробити з рава тифф з реальними 4.5 пікселями, у яких між собою немає загальних субпікселів?

  • Олег

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

    • Аркадій Шаповал

      Так, але якщо на моніторі 1024*720 пікселів, то всі розуміють, що за відображення відповідає 1024*720*3RGB складових (тобто з тріадою на реальний піксель), тут ситуація інша.

      • Олег

        яка інша? суть та сама, зробити зображення яке відповідає заявленим пікселям. І, до речі, далеко не завжди в моніторі 3RGB

        • Аркадій Шаповал

          Найкраще суть ілюструє зображення, показане у статті https://radojuva.com.ua/wp-content/uploads/2013/08/native-pixels-and-sub-piexels.jpg, а також сама стаття, яку непогано було б прочитати. У моніторі може і не завжди 3RGB, а ось серед переважної кількості матриць використовується байєрівський паттерн.

  • Віктор

    Тут ще в чому підлянка байєрівської матриці RGBG: так так у байєрі кількість зелених пікселів вдвічі більша за інші, то саме зелений канал має найвищу чутливість, найширший ДД і найнижчий рівень шумів. Це створює певні проблеми з точністю експозаміру, які можна іноді вирішити, використовуючи хитрий спосіб ручної установки ББ з урахуванням різниці в поканальній чутливості байера - т.зв. UniWB
    А взагалі, шкода, що виробники ЦФК закинули матрицю RGBW: https://ru.wikipedia.org/wiki/RGBW , Де один піксель взагалі без фільтра, тобто "білий". Така матриця, звичайно ж, формувала більш бліді — «плівкові» кольори, зате з експозаміром, чутливістю, шумами і ДД справа була значно кращою.

Додати коментар або відгук

Copyright © Radojuva.com. Автор блогу - Фотограф у Києві Аркадій Шаповал. 2009-2023

English-version of this article https://radojuva.com/en/2013/08/ice-cube-m/

Versión en español de este artículo https://radojuva.com/es/2013/08/ice-cube-m/