фотограф на свадьбу цены Фотография для любителей

Пиксели и субпиксели

Однажды я задался вопросом: ‘Почему 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 760 байт, или 24,4 МБ. Байты в Мегабайты переводятся очень просто:

25 624 760 / 1 048 576 = 24,4

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

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

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

Цвет формируется с помощью смешивания трех базовых оттенков — красного R (Red), синего B (Blue), зеленого G (Green). Таким образом, если мы используем 14-битовую глубину цвета, мы можем получить любой из 4 398 046 511 104 цветов. (любой из четырех биллионов триста девяносто восьми миллиардов сорока шести миллионов пятисот одиннадцати тысяч ста четырех цветов).

Это просто подсчитать: 16384 (R) * 16384 (G) * 16384 (B)

На самом деле, 4 биллиона намного больше чем необходимо, для нормальной передачи цвета, такой большой запас цветов используется для удобного редактирования изображения. И чтобы закодировать таким образом один ‘пиксель’ изображения, потребуется 42 бита памяти:

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

Мой Nikon D700 создает снимки максимального качества 4256 на 2832 пикселей, что дает ровно 12 052 992 пикселов (около 12 миллионов пикселов, или просто — 12 МП). Если кодировать изображения с моего Nikon D700, без применения алгоритмов компрессии и сжатия данных, и с 14-битной глубиной цвета, то получится, что нужно использовать 506 225 664 бит информации (42 бит/пиксель умножаем на 12 052 992 пикселов). Это равно 63 278 208 байтам, или 60,3 МБ памяти.

Вопрос: почему по расчетам требуется около 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 870 000 таких суб-пикселов, в инструкции такие пикселы названы ‘эффективными’.

Никаких ‘реальных’ 12 МП на сенсоре Nikon D700 нет. А 12 МП, которые мы видим на конечном изображении, это результат жесткой математической интерполяции 12.87 Мега суб-пикселов!

Если усреднить, то каждый суб-пиксель с помощью алгоритмов превращается в один реальный ‘пиксель’. Происходит это благодаря соседним пикселам. Здесь как раз и скрыта ‘пиксельная уличная магия‘. Точно так 4 биллиона цветов являются тоже работой алгоритма дебайеризации.

Суб-пикселы и пикселы

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

Если говорить очень грубо, то маркетологи назвали суб-пикселы фильтра Байера ‘пикселами’ и таким образом сделали подмену значений слов. Все завязано на том, что именно нужно понимать под словом ‘пиксел’.

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

12 870 000 * 14 бит=180 180 000 бит или 21,48 МБ

И все же я никак не получил 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 МБ)

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

  • Смайлик

    РАВ — это ящик пандоры, и что туда напичкано никто не знает. известно только одно все это интерполяция

    • Роман

      Ну как минимум производители Capture One, Lightroom (camera raw) и кучи опенсорсных конвертеров имеют об этом представление.

  • Сергей

    Матрица Nikon D700 имеет около 12 870 000 таких суб-пикселов, в инструкции такие пикселы названы ‘эффективными’.

    12.87 общее, 12.1 эфективные, 12.87 субпиксели, 12.1 пиксели.

    Спасибо за обзор, очень увлекательно и интересно:) (лайкнул)

  • Сергей

    Интересно было бы, если бы написать эти вопросы в официальное представительство Никон… Аркадий, не думали над этим?

  • Максим

    С CCD я так понимаю дела обстоят аналогично?

    • Денис

      Да, не важно CCD или CMOS, коль стоит фильтр Байера, то считаются все пиксели.

  • Денис

    «А вот камеры Sigma c матрицй Foveon имеют гораздо больший размер RAW файла для тех же 12 МП по сравнению с CMOS матрицей» — не знаю почему больше, но суть там та же самая. Они решили, что раз все производители врут, чем мы хуже, поэтому свои фактически 4-х мегапиксельные матрицы называют 12 мегапиксельными (коль в одном пикселе три субпикселя на разной глубине, то маркетинг не должен промолчать).

    • Роман D

      Суть там совершенно не та же. Там 3 слоя, на каждом слое только определенные субпикселы (синий слой, зеленый слой, красный слой). Количество пикселов для таких матриц пишут (например, для Sigma SD1) 15,36 млн (4800 × 3200) × 3 слоя. Т.е. там реально в итоге 15.36 млн ПИКСЕЛОВ. И изображение там на порядок резче.
      Чтобы иметь такое же разрешение в CMOS-матрице, последней надо иметь:
      15.36 * 3 * 0.75 = 34.56 млн СУБпикселов
      0.75 — коэффициент пересчета — 3 субпиксела в Фовеоне против 4 в CMOS

      • Денис

        Да вот как раз та же. «Подобно производителям байеровских фотосенсоров, указывающих в характеристиках матриц число одноцветных субпикселей, компания Foveon позиционирует матрицу X3-14.1MP как «14-мегапиксельную» (4,68 млн трёхсенсорных «колонок»). Такой маркетинговый подход, когда «пикселем» называют элемент, воспринимающий один цвет, является в настоящее время общепринятым в фотоиндустрии.»

  • Денис

    Кстати, а никто не знает какая структура фильтра Байера у Nikon D1X с его чудной матрицей?

    • Роман

      Точно такая же, RGGB, только пикселы не квадратные, а прямоугольные (вытянуты в высоту).

  • Александр

    Есть отличная програмулинка RawDigger(http://www.rawdigger.ru/), толком не разобрался, но очень полезная штука для ковыряния в равах, с её помощью можно понять какую свинью подложил производитель)))
    Ну и сайт замечательного человека Алексея Тутубалина(http://blog.lexa.ru/) много чего интересного по поводу ковыряния в равах

  • J-fx

    крайне необычная и интересная статья…спасибо!

  • Игорь

    Вот это поворот! Я то по своей наивности думал, что если пиксель состоит из трех цветовых ячеек, то этих ячеек на 12МР должно быть 36М…

    Хотя тут есть еще один интересный момент. Ведь при просмотра на ЖК-мониторе каждый пиксель тоже состоит из 3 ячеек. Но в то же время на мониторе пишут настоящее количество пикселей по длине/высоте, а не количество ячеек. Та что хитрозадые тут только производители камер.

    • Роман

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

      У фотоаппарата матрица состоит из массива фотодатчиков, регистирирующих не ЦВЕТ, а интенсивность света. Перед каждым фотодатчиком стоит полупрозрачное стекло — красное, зеленое или синее. Стекло пропускает только 1/3 (примерно) часть видимого спектра. Если эти фильтры убрать, то мы получим чистое ч/б изображение. Если фильтры поставить, то получим три набора ч/б изображений, аналогично каналам в фотошопе. Только они еще будут зернистыми вдобавок ко всему за счет своеобразного расположения элементов на матрице.

      Камера растягивает изображение с каждого канала, вставляет недостающие пикселы и собирает из них РГБ-картинку, которую нам отображает монитор. Все raw-конвертеры делают то же самое вместо камеры, иногда лучше за счет большей вычислительной мощности.

    • Gene J.B.

      Немного не так. Есть мониторы и с четыремя пикселями RGBW. На AMOLED там вообще страшная картина типа байера.

  • Макс

    У меня Canon 50d с 15мп и размер файлов RAW от 13 до 27 мб.

    • Лекс

      Хм…У меня canon 550d и тоже разный размер RAW, причем сильно различаются, как то не сходится со статьей…

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

        Это потому, что на 550D используется RAW со сжатием, на Д700 можно получать точно так же RAW файлы от 10 до 25мб, за это описано здесь http://radojuva.com.ua/2012/08/12-bit-raw-vs-14-bit-raw/. Потому в этой статье я акцентирую внимание на то, что в меню камеры я использовал настройку «без сжатия».

  • Макс

    А что тогда с моим 50d? На нем я всегда снимаю в RAW и именно без сжатия — 14 bit.

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

      а что с ним должно быть не так?

      • Макс

        Ну мне интересно почему все файлы разного размера, а у вас как я понял все файлы практически одинакового размера.

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

          Canon 50d по умолчанию использует RAW со сжатием, для каждого отдельного снимка выходной размер файла разный. Если на д700 из этой статьи поставить «со сжатием», то файлы тоже будут иметь разный размер. То же самое относится и младшим моделям Nikon и Canon, где нельзя задать RAW без сжатия. Этой мелочью отличаются проф камеры от любительских.

  • VOFFKA

    Вот что я наГУГЛИЛ
    В Raw-файлах цифровых фотоаппаратов обычно содержатся:
    -дискретные значения напряжения элементов матрицы (до интерполяции для матриц, использующих массивы цветных фильтров)
    -метаданные — идентификация камеры;
    -метаданные — техническое описание условий съёмки;
    -метаданные — параметры обработки по умолчанию;
    -один или несколько вариантов стандартного графического представления («превью», обычно JPEG среднего качества), обработанные по умолчанию.
    Часто Raw-файл содержит в себе еще и достаточно большого размера jpeg-превью, что увеличивает размер файла.

    Источник: Википедия
    http://ru.wikipedia.org/wiki/Raw_(формат_фотографий)

  • Роман D

    Аркадий, вы так хорошо начали и так нехорошо закончили.

    «Учитывая, что таких суб-пикселов на матрице имеется 12 052 992, то на хранение информации, полученной из них, потребуется:
    12 052 992 * 14 бит = 168741888 бит или 21 092 736 байт или 20,11 МБ»

    Вы же написали, что субпикселов 12 870 000. Реальных фотодатчиков.
    Поэтому:
    12 870 000 * 14 бит = 180 180 000 бит = 21.48 МБ. Это первое.

    Второе. Вместо 14 бит хранить 2 байта (16 бит) — роскошь, никому не нужная. В каждой четверке субпикселов и так уже два зеленых, т.е. 28 бит, она же половина размера «квад»пиксела.
    Это в компьютерной графике, когда используется 16-битное представление цвета, 16 на 3 не делится нацело (3 компонента цвета), последний 16-й бит используется для зеленого в силу наибольшей чувствительности глаза к этому цвету.

    Таким образом, (24.44-21.48) МБ используется для хранения того, что перечислили вы (включая то, что описано в Википедии).

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

      В последнем расчете у меня сначала действительно было 12 870 000, но реально проверить сколько их — я не могу, потому я все же использовал только те значения, которые могу видеть у себя на компьютере. Суть от этого не особо меняется.

      • Роман D

        В любом случае, 12 052 992 — число виртуальное и получается исключительно после дебаеризации, а в RAW никакой дебаеризации еще нет.

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

          Я вернул статью к первоначальному виду, посмотрите, так лучше?

          • Роман D

            Да. И хорошо, что убрали то утвреждение, что в RAW надо хранить «координаты» субпикселов. Ведь чтобы понять, какой субпиксел в данном месте двоичной информации закодирован, достаточно знать порядок их следования, ширину массива Байера и высоту. В цикле считывания битов это проще простого сделать.

  • Aleks de Kairoy

    Статья супер!

  • Alezy

    Аркадий! Точно так же маркетологи обманывают с ЖК экранчиками на камерах. Например, для моего D7000 указано, что экран имеет 921600 точек, казалось бы, что это большое разрешение, но на самом деле, экран имеет обычное VGA разрешение (640х480), а такое большое количество точек получается по формуле 640x480x3, где 3 — это количество цветовых субпикселей

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

      а еще сами субпикселы занимают не всю площать матрицы, это у меня только схематически они такие ‘жирные’ :)

    • DimKACH

      Вы ошибаетесь! Разрешение экрана указано верно! 921600 точек! 1176×784 px

      • Alezy

        В книге Тома Хогана, признанного эксперта по аппаратам Nikon «Complete Guide to the Nikon D7000» на страницах 236-237, указано, что экранчик имеет разрешение VGA 640×480 пикселей, а если быть точнее массив точек 1920×480

  • олег

    добрый вечер. Аркадий, у меня никогда не было проф камеры. Вопрос: — что реально 14 бит цвета намного точнее передают картинку, чем 12 ?

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

      14 бит более пригодны для последующей обработки, а картинки на мониторе не отличишь друг от друга. 14 bit есть не только у проф камер, например, D5100, D5200 тоже используют 14-битную глубину цвета, но только со сжатием, детальней здесь http://radojuva.com.ua/2012/08/12-bit-raw-vs-14-bit-raw/

      • DimKACH

        Аркадий, спасибо за статью!
        Вроде все хорошо, но на мой взгляд, кое что не сходится…
        если на D700 12 МегаСУБпикселей, то тогда каким чудесным образом формируется картинка на экране с разрешением 4256 на 2832??? если бы 12-это было количество мегаСубпиксилей, то и итоговое разрешение должно было бы быть другим!
        Ведь, каждая точка из этих 4256 на 2832 формируется 3(4) субпикселями!
        Если я заблуждаюсь, то поправьте пожалуйста.

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

          Собственно, это и есть алгоритм дебаеризации, когда один монохромный пиксель становится цветным за счет считывания информации с соседних пикселов. В статье я не раз упоминал, что алгоритм из субпикселов делает пикселы, таким образом в чем-то надувая нас.

      • Андрей Долженко

        В D5100 можно отключить сжатие RAW-файлов с помощью ломанной прошивки. У меня отключено. Файлы получаются в среднем по 32 700 КБ. :)

    • Аноним

      По поводу 14 и 12 бит статейка:
      «Последние 2 бита — зачем они?»
      http://www.libraw.su/articles/last-2-bits.html

  • Alex79

    поэтому матрица Super CCD и выдает цвет на порядок лучше чем стандартный CMOS.
    а старый Kodak обеспечивает цвета лучше любого Никона.

  • Евгений

    Аркадий,спасибо за ваш труд,я не пропускаю не одной вашей статьи.Узнал очень много полезного,ещё раз Вам огромное спасибо!

  • Денис

    Здравствуйте. Я тоже интересовался этим вопросом, и вот что раскопал.

    Во-первых, по алгоритму дебайеризации. В свое сути он довольно прост — с матрицы берется квадрат 2х2 суб-пикселя, в него попадает один красный, один синий и два зеленых. Исходя из этого считается цвет пикселя. Затем квадрат сдвигается вправо на один суб-пиксель, и в него опять входят RGGB. Таким образом, квадрат «пробегает» всю матрицу, и на выходе получается картинка практически такого же разрешения, что и матрица суб-пикселей. Это лишь упрощенно, на деле немного сложнее, и у каждой компании есть свои ноу-хау, как в процессе дебайеризации не получить хроматические искажения, размытость и прочее.

    Куда деваются неэффективные пиксели? Немного про это рассказано на dpreview: http://www.dpreview.com/glossary/camera-system/effective-pixels . Вкратце:
    1. Часть пикселей теряется на дебайеризацию — по одному пикселю с каждой стороны. Попробуйте сами, например, в квадрат 4х4 (16 суб-пикселей) входит только 9 квадратов 2х2 (полученные пиксели)
    2. На часть пикселей свет не попадает, и они используются для получения данных о поведении сенсора в неосвещенной части матрицы — теневая засветка, может, уровень шумов, еще какая-нибудь информация
    3. И часть сенсоров пропадает из-за конструктивных особенностей — просто матрица получается слишком большой для данной модели фотоаппарата и часть площади не используется. А изготавливать отдельную матрицу нужного размера персонально для этого фотоаппарата — дорого.
    И вообще, если поискать по фразам «неэффективные пиксели», «куда деваются неэффективные пиксели», то гугл/яндекс находят гораздо больше, чем поиск по «эффективным» :)

    Еще Вы неправильно посчитали итоговый размер файла. Да, в RAW хранится абсолютно вся информация с матрицы, причем в максимально необработанном виде. Процессор фотоаппарата считывает 14-битные данные с матрицы в 2-байтную ячейку памяти, и в таком виде пишет их в файл. Скорее всего — линейно, как считывает, без какого-то особого формата файла. Таким образом, каждый суб-пиксель занимает не 14 бит данных, а все 16, и итоговый размер файла получается 12 870 000 х 2 = 25 740 000 байт, или 24,54 мегабайта. Добавьте сюда метаданные (условия съемки, настройки фотоаппарата, модель фотоаппарата, версия прошивки), плюс картинка-превью, получится как раз Ваши 25,5.

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

      Два байта не катят. Вы указали, что таким образом получится 24,54, а это уже больше моего 24,4МБ файла. Куда еще метаданные добавить?

      • Денис

        Да, извиняюсь, действительно пропустил. Как оказалось, даже в пределах одной фирмы данные могут либо паковаться в пачки, тогда каждый суб-пиксель действительно будет занимать только свой объем, либо храниться по отдельности, тогда они расширяются до двух байт.

    • Роман

      «Во-первых, по алгоритму дебайеризации. В свое сути он довольно прост — с матрицы берется квадрат 2х2 суб-пикселя, в него попадает один красный, один синий и два зеленых.»

      Не совсем. Точнее, совсем не :) Обработка ведется по каждой плоскости отдельно — по красной, синей и зеленой. При этом зеленая имеет в два раза большее разрешение. Задача сводится к восстановлению трех пикселей для каждого блока красного и синего цвета и двух пикселей для блока зеленого цвета.

      Алгоритмы при этом используются самые разные и часто довольно сложные. Начиная от того, что интерполяция производится по блокам бОльшего размера (5х5, 7х7 пикселей, а не квадрат 2х2) и заканчивая расчетами на основе яркостной составляющей, полученной из пикселей всех цветов.

  • Аноним

    Вы, ребята, сейчас очень напоминаете толпу раздухарившихся толкователей-талмудистов, спорящих о смысле расположения древней буковки в середине какого-то слова из фразы какого-то мудреца на какую-то тему, якобы при перестановке которой в другое место совершенно меняющей смысл выражения и акценты… Может, некоторым из вас вовсе не надо заниматься фотографией,а? Ну, есть же автогонщики,и есть авторемонтники, швеи и мастера изготовления швейных иголок…

    • Александр

      Товарищ, а почему не просветить себя в инженерно-техническом плане, это разве плохо?
      Чтобы професиональный автогоньщик не разбирался на чём ездит и как его аппарат работает, это не мыслемо.
      Вот камеры нынче делают инженеры с маркетологами, а не художники и фотографы.

    • Роман

      Признать должно, что лик чудесный образуется в дивном ящике по велению Господа нашего Иисуса Христа? И одухотверенным вестию сей воспродолжить занятие свое, не омрачая скудный ум запретными измышлениями?

      • Аноним

        Вы сказали глупость! Вы смелый человек: Не каждый вот так запросто может «сморозить» чушь и нимало не смутиться этим.Браво!

      • Аноним

        К экзорцисту,срочно!!!

    • Аноним

      Именно так и есть:) Пытаться заниматься фотографией и вообще даже не вспоминая о постановке света и освещении для съёмки совершенно глупо — если не «видишь» то, что снимать, незачем вообще толковать об инструменте — «камере и объективе». Среди тысяч комментов на проекте считанные единицы с вопросами «о свете» и не одного толкового ответа на них.

  • Алексей

    Я ничего не понял.

  • Айрат

    «А вот что это за ’эффективные пискели’, которых почти на один миллион (1МП) больше (12,87 МП)?»

    Может быть общее количество пикселей, а не эффективные в данном предложении имелось ввиду?

  • Олег

    Спасибо за статью. Вынес для себя важный момент. Дебайеризация по сути своей есть интерполяция. А интерполяция чудес не делает, новая информация ниоткуда не берется. Т.е. фактически мы мы можем обратно уменьшить jpg, bmp (не raw) фотку в 2 раза по ширине и длине и тем самым уменьшить файлы фоток примерно в 4 раза при этом она будет содержать тоже количество информации, что и оригинал.
    Т.е. все эти введения маркетологов помимо дутых цифр приводят к искуственному раздуванию размера файлов и как следствие к затратам на новые харды, флешки, карты памяти, новые компы (большие файлы сложнее обрабатывать), трафику в инете и т.д.. Будь моя воля я бы этих маркетологов …. .

    • Денис

      Дебайеризация и интерполяция это не одно и то же. Да, цветовой информации содержится меньше, чем в конечном файле, но яркостную информацию, тем не менее, собирают все пиксели. Алгоритмы восстановления производители используют посложнее, чем «увеличить в 2 раза», поэтому нельзя так просто утверждать, что 4 пикселя формируют один конечный, все гораздо сложнее. Уменьшив, как Вы говорите, изображение в 2 раза, вы уже интерполяцией не восстановите то, что выдала камера после дебайеризации. Да, резкость на уменьшенном изображении будет повыше, но это не значит что добились этого без потерь информации.

      • Олег

        На счет того что дебайеризация не тоже что интерполяция. Допустим матрица фотика содержит 10*10 ячеек, это 100 байт информации. Из нее делают фотку RGB содержащую уже 10*10*3=300 байт информации. Откуда дебайеризация взяла 200 байт новой информации об объекте съемки? Она ее синтерполировала из исходных 100 байт, просто это хитро завуалированно. Эти 200 байт не могут содержать никакой новой информации о снимаемом объекте.
        Попробуйте любую фотку сжать в 2 раза а потом востановить ее исходный размер, например билинейной инерполяцией (xnview умеет это делать). Сильно разницу видите между исходным и этим?

        • Денис

          Изучите для начала, хоть примерно, алгоритмы дебайеризации, а потом уже рассказывайте о том, что камера придумала 200 байт информации. Она эти 200 байт не придумала, а вычислила, восстановила на основании данных со всех пикселей. Если бы фотоаппарат делал дебайеризацию . уменьшением разрешения, это привело бы к некоторой потере деталей.
          Если я уменьшу фото в 2 раза, а потом увеличу — разница будет. И чем качественней камера и оптика, тем больше будет разница (конечно, 16 мегапиксельный кадр с мыльницы будет неотличим и при ресайзе в 4 раза, но мы не о том).
          Так же не стоит забывать про шумы и тот же JPEG, в который снимают все мыльницы и много зеркальщиков — там сжатие изображения меньшего разрешения приведет к бОльшей потере деталей, можете проверить, сохранив уменьшенное в 2 раза изображение в JPEG, а потом увеличив обратно.

          • Олег

            >> Она эти 200 байт не придумала, а вычислила, восстановила на основании данных со всех пикселей
            Это и есть интерполяция. Я могу взять любую картинку и не придумать, а вычислить и востановить путем билинейной интерполяции любое кол-во пикселей. Только толку от этих пикселей 0. Мы знаем об объекте только 100 байт, а остальные 200 это наши из пальца высасаные додумки.
            >>Если бы фотоаппарат делал дебайеризацию уменьшением разрешения, это привело бы к некоторой потере деталей.
            Тогда вместо 10*10 получится 5*5*3=75 байт т.е. 25 байт бы потерялось. Т.е. 2 канала зеленого усреднились бы в один, невелика потеря. Конечно маркетологу круче раздуть размер до 300 байт.

            Можно перевести матрицу ячеек 10*10 в фото 10*10*3 по честному, так чтобы каждый пиксель был бы того цвета что и ячейка, т.е. в каждом пикселе горел бы только красный, только зеленый или только синий субпиксель, а остальные 2 не горели. Такая фотка хоть и занимает 300 байт, но хранит только 100, остальные 200 это пустые нули. Зато это честный перевод. Делай из него потом что хочешь, хоть дебайеризацию хоть интерполяцию. Но тогда обман будет очень очевиден, увеличил фотку, а там каждый пиксель только одного оттенка. Поэтому производители фактически чуток размывают такую фотку, и каждый пиксель усредняется с его соседом, и называют это умным словом дебайеризацией, хотя это даже не интерполяция, а тупое размытие. Теперь мы видим пиксели всех оттенков и обман не очевиден. Только как в фотке было 100 байт полезной инфы так и осталось, остальные 200 это мусор.

          • Денис

            Да уж, Вам уже несколько человек одно и то же объясняют, а Вы на своем, мусор и все дела :)
            Или изучите как действительно работает дебайеризация, или ресайзите свои фотки в 4 раза и продолжайте считать, что ничего не теряете. Могу Вам посоветовать купить телефон Nokia 808 PureView, там как раз то, что Вас устроит — матрица в 41 мегапиксель, но акцент делается не на разрешение, а на высокое качество 8 мегапиксельных снимков за счет объединения соседних пикселей. Вот там и будут самые честные для Вас мегапиксели :)

  • Аноним

    завалим производителя исками о фальсификации)ни один судья не врубит тему…а статья сильная,заставляет задуматься.

    • Денис

      А где, собственно, фальсификация? :)
      На камере написано 12 мегапикселей, светочувствительных ячеек тоже около 12 млн, изображение тоже содержит 12 млн точек — все соответствует заявленному.

  • Аноним

    все очень интересно и познавательно,Автору огромное спасибо за его труд,и пусть все ,в его жизни будет вэри-гуд

  • Аноним

    Все-таки поправлю)))
    миллион = 10^6
    миллиард = 10^9, биллион тоже = 10^9, только первое название традиционное и принято в русском языке, а второе научное и международное.
    триллион = 10^12
    а вот число 4 398 046 511 104 — четыре триллиона триста девяносто восемь миллиардов(биллионов) сорок шесть миллионов пятьсот одиннадцать тысяч сто четыре.

  • Аноним-1

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

    • Роман

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

      Фильтры Байера и интерполяция — один из немногих способов получать изображения с матрицы. Если считать четыре субпиксела за один пиксел, мы получим изображение в два раза меньше по высоте и ширине. Но при этом потеряем ту незначительную часть информации, которая получается при смешанном использовании разных каналов в том числе и удвоенная яркостная информация из двух зеленых субпикселов.

      • Николай

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

  • Аноним-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 одноканальный зеленый пиксель. В соседних пикселях никакой инфы о ее красной составляющей не будет, там инфа только о зеленом фоне. Де-ция даст нам, эту точку зеленого цвета. В то время как честная трехканальная матрица увидит, что точка обладает красным каналом и в итоге мы получим желтый цвет точки.

          • Денис

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

          • Олег

            Говорят на некоторых моделях антиальясинговый фильтр не стоит перед матрицей. И с чего вы взяли что радиус размытия этого фильтра больше размера пикселя? Может он размывает на 0.1 пикселя, и тогда яркая точка размером в пиксель вполне может быть.

          • Денис

            Камер без фильтра — полторы модели. Причем отсутствие этого фильтра преподносится как инструмент для профессионалов, людей, знающих зачем им это нужно.
            А по поводу степени размытия — он как бы для того и стоит, чтобы размывать так, чтобы на соседние пиксели попало. Даже если на 0.1 пикселя, это будет означать, что на соседей часть информации уже попадет. На практике там больше. Еще раз повторяю, изучайте матчасть, прежде чем делать выводы о дутости и интерполяции.

            P.S. Аркадий, удалите, пожалуйста, выше мой аналогичный комментарий, он не туда цитирован, все съехало.

    • Роман

      Еще один «честный вариант» — увеличивать количество пикселей на матрице, уменьшая их линейные размеры. Но тут мы упираемся в целый ряд проблем. Растут шумы (из-за плотной компоновки элементов на матрице больше их нагрев, больше вносимые в замеры искажения). Начинаются проблемы с дифракцией (об этом писали чуть выше). Уменьшается чувствительность, т.к. число фотонов от источника света все же конечно и по мере уменьшения размера светочувствительного элемента количество попадающих на него от одной и той же сцены фотонов будет уменьшаться. Это — путь в никуда.

      • Олег

        >>Еще один «честный вариант»
        Не еще один, а единственный честный вариант увеличить разрешение это увеличить число пикселей.
        >> Это — путь в никуда.
        А производители матриц то и не знают. Кол-во пикселей на матрице все больше и больше.

        • Роман

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

          Если при этом растет площадь матрицы — вполне оправдано. А в остальном, как раз, и срабатывает маркетинг преимущественно. Ладно, проблему шумов по мере совершенствования технологии как-то решают. Но дифракцию еще никто не отменял, да и разрешение оптики должно соответствовать разрешению матрицы, иначе от прироста не будет никакого смысла.

  • Роман

    >> Я твердо знаю, что из матрицы Байера 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 623 438 байт;
      — пытаюсь сжать его в WinRAR, best compression — получаю 14 582 483;
      — ладно, результат не супер, открываю .nef в Photoshop в sRGB, 8 бит/канал (а сколько у нас там было?) и сохраняю в .tif без сжатия, interleaved, без цветового профиля, получаю 36 671 508 байт;
      — аналогично, но применяю сжатие LZW (lossless) — 18 310 864 байт;
      — аналогично, но вместо LZW прессую .tif WinRARом — 13 580 860 байт (вот, где начинается уличная магия!).

      Теперь пытаюсь подготовить изображение к печати. Чтобы все было прозрачно, вручную конвертирую открытый в Photoshop в sRGB, 8 бит/канал RAW-файл в CMYK, сохраняю в .tif без сжатия — 48 879 468 байт.
      Аналогично, но с LZW — 30 024 372 байт.
      Аналогично, но несжатый .tif прессую WinRarом — 24 462 690 байт.

      Что интересно: по сути, мы ничего особенного с исходной информацией не делали. В первом случае она была преобразована для адекватного отображения на экране. Во втором — для вывода на печать. Даже не берусь судить, где она реальная, где — раздутая. Я бы сказал, что это разные аватары одной и той же информации (если не считать потери при преобразовании в другие цветовые профили).

      Вопросом остается: как упакованный раздутый 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 полноценных «честных» пикселей.
            для того, чтобы скомпенсировать недостающие ряды есть дополнительные пиксели. Так похоже на правду?

            • Алексей

              почитайте мой ответ ниже!
              Моё мнение — ЧЕСТНЫЙ пиксель это тот цветовые составляющие которого больше ни в каких ДРУГИХ пикселях НЕ УЧАВСТВУЮТ!

              А тут нас просто дурят! Интерполяция чистой воды.

  • teis

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

    • Alex

      Интересно, а можно программным способом восстановить исходное черно-белое изображение?

  • Алексей

    А помоему нет! У меня 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

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

          Лучше всего суть иллюстрирует изображение, показанное в статье http://radojuva.com.ua/wp-content/uploads/2013/08/native-pixels-and-sub-piexels.jpg, а также, сама статья, которую неплохо было бы прочитать. В мониторе может и не всегда 3RGB, а вот среди подавляющего числа матриц используется байеровский патерн.

Добавить комментарий

Магазин фототехники

Copyright © Radojuva.com. Автор блога - Фотограф в Киеве Аркадий Шаповал. Google+ 2009-2016