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

Отметим, что в те времена видеосигнал был аналоговым. Однако многие принципы его обработки были перенесены в «цифру» практически в неизменном виде. Изменился только способ промежуточного представления: вместо непрерывного аналогового сигнала изображение разбили на отдельные фрагменты — пиксели, которые стали описывать цифровым кодом.

Весь видимый спектр условно разделили на три базовых области — красный, зелёный и синий цвета, которые приблизительно соответствуют областям чувствительности рецепторов человеческого глаза. В устройстве вывода — кинескопе — использовали люминофоры трёх основных цветов, и таким образом обманули глаз, которому кажется, что он видит все возможные оттенки. За счёт того, что точки люминофора разных цветов располагались очень близко друг к другу, разрешения глаза было недостаточно для их разделения, и, например, все три светящихся на полную мощность точки воспринимались как одна точка белого цвета.

Затем на смену аналоговому видеосигналу пришло его цифровое представление. Все строки изображения разбили на одинаковые небольшие прямоугольники — пиксели. Следует заметить, что вначале пиксели не были квадратными, и лишь с развитием технологии оказалось удобным привести их к пропорции 1:1.

Таким образом, полное представление одного кадра — массив данных из m строк, каждая из которых состоит из n пикселей. Говорят, что кадр имеет размер n×m. В цифровой фотографии использовали тот же принцип, однако вместо последовательности кадров здесь есть только одно изображение.

Теперь разберемся, как кодируется кадр в наиболее распространенных форматах — JPEG для фото и MPEG для видео.

Весь кадр разбивается на блоки размером 4×2 пикселя. Внутри каждого блока производятся одинаковые операции.

Игнорируем случай, когда размер изображения не делится на 4 по горизонтали и на 2 по вертикали, поскольку это несущественно для изложения.
Игнорируем случай, когда размер изображения не делится на 4 по горизонтали и на 2 по вертикали, поскольку это несущественно для изложения.

Вначале значение каждого пикселя преобразуется из цветового пространства RGB в YCbCr, где Y — яркостная составляющая, а Cb и Cr — хроматические. Рассмотрим этот процесс подробнее.

В RGB цвет каждого пикселя определяется тремя компонентами цветовых каналов — красного, зелёного и синего. Этого достаточно для однозначного описания, эти данные обычно имеются на входе, и они же используются для вывода на большинство дисплеев. Поэтому при декодировании изображения на выходе снова должно получиться цветовое пространство RGB. Зачем же нужна эта промежуточная конверсия?

В дело вступает психофизиология. Известно, что сетчатка глаза человека имеет большее количество палочек, ответственных за восприятие яркости, чем колбочек, воспринимающих оттенок. Поэтому яркостное разрешение глаза выше, чем цветовое. Это позволяет выкинуть часть данных из файла, в котором сохранено изображение, и таким образом уменьшить его размер. Как это сделать?

Разделим яркостную и хроматические составляющие. Яркость будем измерять по шкале от чёрного до белого, а оттенок — двумя компонентами, от янтарного до синего и от зелёного до пурпурного. Существует взаимно однозначное преобразование из одного цветового пространства в другое. Разумеется, в реальности будет некоторая погрешность, обусловленная ограниченной точностью машинного представления чисел, но на глаз она не заметна, поэтому мы ею пренебрегаем.

Слева — оригинальное изображение, справа — его представление в цветовом пространстве YCbCr.
Слева — оригинальное изображение, справа — его представление в цветовом пространстве YCbCr.

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

Таким образом, если мы уменьшим линейное разрешение хроматических каналов, например, вдвое, для их хранения и передачи потребуется вчетверо меньше данных. Если предположить, что разрядность представления во всех каналах одинакова и равна исходной, размер файла составит

\frac{1 + \frac{1}{4} + \frac{1}{4}}{1+1+1} = \frac{1}{2}

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

Вернемся к пикселям и их базовой группе размером 4×2. Мы сохранили информацию о яркости каждого пикселя в каждой строке (по 4 штуки), а для оттенка оставили только по два значения в каждом канале на всю группу. Такая субдискретизация обозначается как 4:2:0 и очень широко используется при передаче видеосигналов.

Субдискретизация 4:2:0, каналы Cb и Cr.
Субдискретизация 4:2:0, каналы Cb и Cr.

Что за цифры в этом обозначении? Первая 4 показывает, сколько отсчётов яркости сохранено для каждой строки. Вторая 2 — в каналах Cb и Cr для первой строки, и третья 0 — для второй строки. Подразумевается, что усреднение оттенка велось по всем четырем пикселям — 2 из первой строки и 2 расположенных под ними из второй. Информация из второй строки (0) не проигнорирована, а усреднена с первой строкой.

У такого представления есть заметный недостаток. Особенно хорошо его видят люди с хорошим зрением. Цветовое разрешение оказывается слишком низким, особенно при пристальном разглядывании изображения. Чтобы исправить ситуацию, проводят менее «жёсткую» субдискретизацию, 4:2:2. Хроматические каналы усредняются не по 4, а по 2 пикселя.

Субдискретизация 4:2:2.
Субдискретизация 4:2:2.

Видно, что цветовая детализация такого изображения заметно выше, однако для его сохранения требуется больше данных, а именно 2/3 от исходного объёма. Такая схема используется для более качественного сохранения картинки, и за это качество приходится платить размером файла или полосой пропускания при передаче данных по сети. Субъективно такое изображение имеет более чистые цвета.

Однако в некоторых приложениях и такой точности оказывается недостаточно. Например, в приложениях компьютерной графики усреднение оттенков может вызывать нежелательные артефакты при наложении изображений друг на друга, особенно когда один из цветов (обычно чистый зеленый, реже синий) используется в качестве «ключевого», то есть обозначает прозрачные участки кадра.

Субдискретизация 4:4:4.
Субдискретизация 4:4:4.

При использовании субдискретизации 4:4:4 никакого выигрыша в объёме данных от преобразования в цветовое пространство YCbCr не происходит, поэтому такие изображения часто оставляют в RGB для устранения ошибок округления во время сначала прямого, а затем и обратного преобразования. Поэтому такой режим используется сравнительно редко и только в случае крайней необходимости.

Существуют и другие экзотические форматы субдискретизации, например, 4:2:1, 4:1:1 и 4:1:0. Их использование крайне ограничено из-за значительных, хорошо видимых на глаз искажений цветов. Их можно найти в устаревших форматах видеозаписи на магнитную ленту.

Особняком стоит субдискретизация 3:1:1, использовавшаяся в формате видеозаписи высокой чёткости Sony HDCAM, применявшемся в компактных видеокамерах. О его особенностях предлагаю вам поразмышлять самостоятельно.

В приложениях записи и трансляции видеосигнала формат субдискретизации обычно указывается как самостоятельный параметр, и его можно настраивать непосредственно. С фотографией всё немного сложнее. Многие популярные программы обработки неподвижных изображений не показывают пользователю, какая субдискретизация используется при сохранении файла, а принимают решение об этом самостоятельно. Например, Adobe Photoshop при сохранении в JPEG ухудшает субдискретизацию при переходе от качества 51% к 50%, что приводит к скачкообразному уменьшению размера файла ценой значительной потери визуального качества.

Наконец, стоит упомянуть о режиме субдискретизации 4:4:4:4. Он используется в изображениях с альфа-каналом, несущим информацию о степени непрозрачности каждого пикселя, и применяется в основном в приложениях компьютерной графики. Четвёртая цифра 4 здесь обозначает количество отсчетов альфа-канала в каждой строке блока 4×2. В этом случае обычно не производится конверсия в цветовое пространство YCbCr, и пиксели кодируются в формате RGBA.

Какую субдискретизацию выбрать? Ответ на этот вопрос зависит от ваших целей и ограничений.

Если вы создаёте оригинальное изображение или видео, то для архивных целей, разумеется, стоит использовать 4:4:4 (или 4:4:4:4). Файлы будут занимать много места, но зато вы не потеряете техническое качество.

Большинство современных видеокамер не умеют записывать формат 4:4:4. Поэтому при наличии возможности для съемки желательно применять 4:2:2.

Если вы передаете изображение или видео по сети, на первый план выходят соображения экономии данных, и для просмотра наиболее сбалансированным можно считать 4:2:0.

Более «суровую» субдискретизацию лучше не использовать. С эстетической точки зрения обычно лучше уменьшить общее разрешение изображения, чем применять 4:1:1 или 4:1:0, даже если у вас есть такая техническая возможность.

Однако при работе с уже существующим материалом не имеет смысла для сохранения результата использовать субдискретизацию более высокого разрешения, чем у оригинала. Например, сохранив обработанное видео с исходником 4:2:0 в 4:4:4, вы не получите никакого преимущества, поскольку информация о цвете уже была потеряна, но файлы заметно увеличатся. Исключение здесь только одно: при значительном уменьшении общего разрешения кадра путем масштабирования усреднение оттенков в некоторой степени «исправляется».

***

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

Комментарии (43)


  1. PereslavlFoto
    04.11.2023 14:03
    +4

    Adobe Photoshop при сохранении в JPEG ухудшает субдискретизацию при переходе от качества 51% к 50%, что приводит к скачкообразному уменьшению размера файла ценой значительной потери визуального качества.

    Photoshop сохраняет JPEG в трёх режимах: хорошо (от 100 до 95), неплохо (от 95 до 90), этот файл мусорный и на его качество нам полностью плевать (от 0 до 90). Поэтому обсуждать сохранение с 51-процентным или 61-процентным качеством просто незачем. Такая запись равноценна стиранию файла.

    Если вы передаете изображение или видео по сети, на первый план выходят соображения экономии данных

    Сюда следует добавить, что по ночам телефонное подключение к интернету — бесплатное!

    сохранению в файл или передаче по сети

    Во всей статье проводится мысль о том, что перед передачей другим людям надо испортить контент: ухудшить качество видеозаписи, вырвать страницы из книги, залить фотографии чернилами. Очевидно, в самой статье использованы такие же приёмы? Сначала отброшена треть абзацев, а в оставшихся фразах понижено качество записи слов?

    Много ли удалось сэкономить при этом?


    1. zuek
      04.11.2023 14:03
      +4

      Позвольте возразить Вашей безальтернативности. Я не пользуюсь Photosop'ом (т.к. не занимаюсь профессиональной обработкой изображений, и зачастую "работаю" в Linux, поэтому мне как-то ближе GIMP), но для "выкладывания" картинок на сайт предпочитаю использовать наиболее уместные форматы (баннер - png, превью фотографии - jpg/webp) и сбалансированную степень сжатия, иначе есть опасность переутяжелить сайт, что вызовет лаги при просмотре. Или выпускной фотоальбом на пару десятков листов для печати пытаются пропихнуть в виде трёх двухгигабайтных файликов pdf (из недавнего опыта помощи знакомым).

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


      1. PereslavlFoto
        04.11.2023 14:03

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

        Конечно, выпускной фотоальбом будет удобнее передавать в виде отдельных файлов в формате 16-bit TIFF, однако если заказчику удобнее PDF, то названное вами решение тоже годится. Главное, чтобы изображения в этом PDF не были сжаты.

        Sea.exe был изумительно хорошим просмотрщиком, вспоминаю его с тёплым чувством..


        1. GeorgeTudosi Автор
          04.11.2023 14:03

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

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


        1. zuek
          04.11.2023 14:03

          Конечно, выпускной фотоальбом будет удобнее передавать в виде отдельных файлов в формате 16-bit TIFF

          Простите, мы с Вами говорим про одно и то же? Вы предлагаете печатный оригинал-макет передавать в 16 бит?! И это до цветоделения? Нет, я к полиграфии имею очень опосредованное отношение, да и с цветовосприятием у меня (от природы) далеко не идеально, но 16 бит для мастер-копии - даже мне звучит странновато. Моя ремарка про 6 гигов (жатых) на 30 листов - про избыточное разрешение - ну не сможет ни один вменяемый печатающий девайс воспроизвести такое...

          ЗЫЖ я спорю не столько с Вашим мнением, сколько с формулировками - даже тезис о неуместности сжатия сильнее 95% качества, на мой взгляд, зачастую уместен.


          1. PereslavlFoto
            04.11.2023 14:03

            Цифровые фотографии нужны не для печатания. Это самостоятельный формат.

            Проверим этот смелый тезис. Для этого возьмём фотографию, напечатаем её на листе А3, затем просканируем и сравним с исходным файлом. Легко видеть, что получившийся результат хуже. В нём меньше оттенков, меньше деталей, появился дополнительный шум, внесённый при печати.

            Следовательно, печатание — отдельный процесс, который связан с исходным файлом только как «бумажная, производная, испорченная копия изображения».

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

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

            Для формата JPEG это означает, что сжатие должно быть не хуже 11-го уровня сжатия фотошопа (из 12-ти возможных уровней) или 95% позиции других программ.

            Для формата TIFF это означает, что необходимы 16 бит.

            Поэтому я предлагаю передавать заказчику всё, что есть у фотографа.


            1. alexsavochkin
              04.11.2023 14:03
              +1

              Большие вопросы вызывает сама необходимость передавать заказчику TIFF 16-бит, особенно в ПДФ, откуда он отдельно картинки не выдернет без усилий. А даже если выдернет, много ли пользы? В соцсети не выложить, нужен джипег. Печатать 16-битные картинки избыточно, там и 8 бит много. Поэтому передавать заказчику полноразмерные картинки да, здорово, а вот полноразмерные 16-битные — сомнительная с точки зрения пользы затея.


              1. GeorgeTudosi Автор
                04.11.2023 14:03

                Поэтому передавать заказчику полноразмерные картинки да, здорово, а вот полноразмерные 16-битные — сомнительная с точки зрения пользы затея.

                И особенно сомнительная, когда исходник 8-битный, а это пока абсолютное большинство случаев.

                Глубина цвета — это, кстати, тоже отдельная большая тема.


                1. PereslavlFoto
                  04.11.2023 14:03

                  8-битный исходник из raw — очень редкий случай.


            1. GeorgeTudosi Автор
              04.11.2023 14:03
              +1

              Поэтому я предлагаю передавать заказчику всё, что есть у фотографа.

              Нельзя — вам ли это не знать. И на то есть несколько важных причин.

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

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

              Если же вдруг вместе с обработанными кадрами к заказчику попали равы, то у него будет соблазн обработать их самостоятельно, причем наши подходы к обработке, скорее всего, не совпадут. А потом опубликовать с указанием меня как автора. Если результат мне не понравится, это репутационный ущерб. Зачем все эти сложности?

              И еще хуже, если вдруг возникнет спор относительно авторства снимков. Я этот момент немного изучил, поскольку у меня воровали фотографии, и мне приходилось взыскивать компенсацию. Российское право работает таким образом, что кто первый встал, того и тапки. Если недобросовестный клиент первым заявит свое авторство, имея на руках все материалы, оспорить это будет довольно сложно. Если же у него жпег (или тифф, ок), а у меня рав от этого же кадра, процедура невероятно упрощается.


              1. PereslavlFoto
                04.11.2023 14:03

                Вот эти обработанные картинки вы и отдаёте в 16-bit TIFF.

                Чтобы у вас не воровали фотографии, надо опубликовать их по свободной лицензии Creative Commons BY-SA.


                1. GeorgeTudosi Автор
                  04.11.2023 14:03
                  +2

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


                  1. PereslavlFoto
                    04.11.2023 14:03

                    Перескажу ваши слова чуть-чуть иначе: "Я уважаю яблоки, но не люблю, когда их едят". Первая часть ваших слов отменяет вторую часть. Уважение к свободным лицензиям состоит именно в том, чтобы позволить кому угодно использовать созданные вами произведения как угодно.

                    А вот пример, который вы привели, очень хороший. Спасибо вам за этот пример. Он показал, что ваши произведения будут использовать в любом случае, хоть вы это разрешите, хоть не разрешите. Люди всё равно будут совершать такой поступок.

                    А что же остаётся автору? Автору остаётся лишь одно: или назвать такой поступок кражей, или назвать такой поступок законным использованием. Автору остаётся только власть над названием. Отменить поступок автор уже не может.


                1. Astroscope
                  04.11.2023 14:03

                  Чтобы у вас не воровали фотографии, надо опубликовать их по свободной лицензии Creative Commons BY-SA.

                  Фотографирование для некоторых - источник средств к существованию. Причем инструментарий фотографа довольно недешев и его тоже необходимо оплачивать. Понятно, что что-то можно снимать на D850 о всего лишь парочкой двухкилобаксовых линз и чуть ли ни одной единственной вспышкой, а для чего-то еще понадобится не так уж и много дополнительного света. В то же время есть работы, которые лучше удаются на среднем формате и, если у вас нет соответствующего оборудования и, возможно, помещения, то вы такой заказ просто не получите. Тем не менее, оплата происходит не за фотографирование как технический (ну и творческий) процесс, а за готовые снимки - не за то, что вы нажали на кнопку, а за то, что можно распечатать или посмотреть в электронном виде как есть, либо подвергнув той или иной обработке. И тут вы предлагаете фактически отдать это неопределенному кругу лиц бесплатно, практически не ограничивая дальнейшей безоплатное использование отснятого, а то еще и обработанного материала. Можно жонглировать юридическими терминами и апеллировать к тому, что авторство при этом все равно остается за автором, но только фактический результат в том, что автор единоразово и необратимо лишает себя возможности получить гонорар за работу, в том числе возможности оплачивать аппаратуру, помещение, моделей и так далее.

                  Вы лично, прошу прощения за бестактность, чем зарабатываете на жизнь? Почему бы вам то, что вы делаете сейчас за деньги, не делать бесплатно? Ведь тогда у вас не будет переживаний из-за маленькой зарплаты, не будет переживаний что вас могут уволить (если вы работаете по найму)?

                  Открытое ПО, художественные произведения в общественном достоянии - это прекрасно и я лично это категорически поддерживаю. Но контрибутить в открытое ПО я могу только в виде хобби, уделяя столько времени и сил, сколько у меня остается от основной работы. Передавать фото в общественное достояние я могу, если я не делаю фото по явному заказу или для фотостока. Потому что иначе у меня не будет ни компьютера что-то контрибутить, ни фотоаппарата что-то фотографировать, ни дома, ни одежды, ни еды - ну, кроме того, что возможно удастся найти где-то на мусорке. Я пока еще не настолько фанат свободных лицензий. А вы, лично вы - с какой позиции вы даете такие рекомендации? Получив, например, многомиллионное наследство и ведя в целом праздную жизнь, вполне можно отдавать все сто процентов своего времени и сил на публикуемое под свободными лицензиями.


                  1. PereslavlFoto
                    04.11.2023 14:03

                    Фотографирование для некоторых - источник средств к существованию.

                    Это верно. В таких случаях заказчик платит за фотографирование, нанимая фотографа по часам, а затем отдельно покупает у фотографа авторские права. Следовательно, если фотографии стали источником средств к существованию, украсть их у фотографа невозможно.

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

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

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

                    В таких случаях автор получает оплату от заказчика.

                    Почему бы вам то, что вы делаете сейчас за деньги, не делать бесплатно?

                    Я работаю и получаю зарплату. Результат моей работы вместе с правом использовать этот результат вы получаете бесплатно. В частности, все мои статьи на Хабре свободны.

                    Передавать фото в общественное достояние я могу,

                    Расскажите, пожалуйста, как вы это можете сделать? Российские законы запрещают фотографам передавать фотографии в общественное достояние. Если вы нашли такой способ — пожалуйста, расскажите нам о нём.


              1. Astroscope
                04.11.2023 14:03
                +1

                Нельзя

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

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

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


                1. PereslavlFoto
                  04.11.2023 14:03

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

                  Собственно, именно для этого и были разработаны свободные лицензии, именно для этого Президент Российской Федерации Владимир Владимирович Путин в 2014 году ввёл свободные лицензии в Гражданский кодекс Российской Федерации.


      1. GeorgeTudosi Автор
        04.11.2023 14:03
        +1

        GIMP, помнится, кроме степени компрессии позволяет вручную выбирать формат субдискретизации. Или, по крайней мере, раньше позволял — я давно им не пользовался.

        Причём там задавалось отдельно разрешение по горизонтали и по вертикали, то есть можно было сделать совсем экзотику типа 4:4:0.

        Интересно, что на некотором весьма узком классе изображений это имеет смысл.


        1. zuek
          04.11.2023 14:03

          Да, в последних версиях появилось много дополнительных настроек... когда я начинал им пользоваться, такого изобилия не было, хотя "на поверхности" 4:4:0 не увидел ;-)

          Hidden text


          1. GeorgeTudosi Автор
            04.11.2023 14:03

            Поменяли интерфейс. Раньше (очень сильно давно) был независимый выбор сабсемплинга по вертикали и по горизонтали. Сейчас уже даже не гуглятся соответствующие картинки.

            Однако, если внимательно посмотреть на ваш пример, можно обнаружить загадочное:

            1) 4:2:2 горизонтальная (половина разрешения цветности)
            2) 4:2:2 вертикальная (половина разрешения цветности)

            Так вот, это как раз оно. Но наблюдается непонимание терминологии как минимум переводчиком, а возможно, и программистом. Давайте попробуем предположить, что

            (1) — это действительно 4:2:2, если имеется в виду уполовинивание разрешения по горизонтали, и
            (2) — это на самом деле 4:4:0, то есть 4 отсчета хроматической составляющей в первой строке, и 0 во второй.

            Отличная иллюстрация на тему «зачем нужны такие статьи» ;-).


    1. unclejocker
      04.11.2023 14:03
      +1

      Мне как то коллеги из одного крупного CDN провайдера говорили, что по их статистике 2% пользователей пытаются смотреть видео в тот момент, когда у них вообще нет интернета. У остальных с каналом все очень по разному. Именно поэтому востребован multibitrate streaming. Кто то в HD будет смотреть, а кто то в 360p.

      Кроме того, при поточной передаче есть зависимость - чем больше у вас битрейт выходного потока, тем больше вам нужно ресурсов на его сжатие, а ресурсы не бесплатные. И CDN за терабайты трафика счета исправно выставляет. Так что если у вас на видео "говорящая голова" (пресс-конференция какая-нибудь) то имеет смысл покроить. И в этот момент надо понимать, на чем стоит экономить, а на чем нет.


      1. PereslavlFoto
        04.11.2023 14:03

        Сжимать видеозаписи на ходу незачем, они заранее сжаты в файлах разного битрейта.

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


        1. unclejocker
          04.11.2023 14:03
          +3

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

          И нет, компании деньги очень даже считают.


      1. 1dNDN
        04.11.2023 14:03
        +1

        А потом смотришь видео на YouTube в fhd и глазам больно от шакалов


    1. basilbasilbasil
      04.11.2023 14:03
      +1

      а можно проверить как упадет посещаемость сайта, если все картинки хранить в BMP. Даже без диалапа.


      1. ciuafm
        04.11.2023 14:03
        +4

        Сейчас такие жирные сайты, что можно всю страницу в BMP держать (не забываем про фоновый zip). Думаю даже быстрее будет чем все эти модные свистоперделки парсить.


        1. basilbasilbasil
          04.11.2023 14:03
          +2

          Нужен эксперимент


    1. GeorgeTudosi Автор
      04.11.2023 14:03
      +1

      Давайте будем разделять архивное хранение, сырые файлы для последующей обработки и конечный результат. В первых двух случаях, конечно, надо стремиться к максимальному сохранению качества. А вот с конечным результатом всё не так однозначно.

      Однажды я попробовал открыть какой-то более-менее современный сайт, находясь в море в сотне миль от берега. Страница, на которой ценность представлял только текст, грузилась минут пять. А что вы хотели — интернет через спутник, 128 килобит. Это сразу и к вопросу о диалапе, и к вопросу о необходимости оптимизации всего вообще. Конечно, спутник — экзотика, но вы попробуйте отъехать от райцентра на пару десятков километров в любую сторону. Довольно высока вероятность увидеть EDGE, если еще помните такую технологию.


      1. PereslavlFoto
        04.11.2023 14:03

        Вы правы. В качестве preview в странице зачастую нужны уменьшенные изображения, от которых ссылка ведёт на полноценный файл для свободного использования.

        Я хорошо понимаю вас, потому что часто бываю в ситуации, когда интернет едва-едва доступен через случайное подключение к wi-fi.


    1. Spaceoddity
      04.11.2023 14:03
      +2

      Photoshop сохраняет JPEG в трёх режимах: хорошо (от 100 до 95), неплохо (от 95 до 90), этот файл мусорный и на его качество нам полностью плевать (от 0 до 90). Поэтому обсуждать сохранение с 51-процентным или 61-процентным качеством просто незачем. Такая запись равноценна стиранию файла.

      Нет:

      Вы может быть имели в виду "Сохранить для Web" - но даже сама Адоба всё пытается выпилить этот функционал. Так что даже внутри самого Фотошопа эти "проценты качества" ни о чём не говорят. 90% для Веба - это сколько по шкале от 1 до 12?))

      Ну и дополню по поводу "Cохранить для Web" (или как сейчас это пытаются заменить экспортом) - 95% это однозначно перебор. Кроме раздувания объёма файла - вы практически ничего не выигрываете в качестве. Проверено неоднократно - 90% это разумный максимум. Можно до 70 спускаться.

      Ну и на самом деле качество/вес сильно зависят от изображенного сюжета. Поэтому самый оптимальный вариант - подвигать ползунок качества и последить как при этом меняется объём, ну и выбрать компромиссное значение.

      Ну и что это за "такая запись равноценна стиранию файла"? Мы тоже умеем в перфекционизм, держите: "сохранение графики в формате jpeg - равноценно стиранию файла". Так что только lossless bitmap))


      1. PereslavlFoto
        04.11.2023 14:03

        Окей, уточним. В терминах этого настроечного окна мы видим качество хорошо (12), неплохо (11) и мусорный файл надо стереть (0—10).

        Когда вы сохраняете файл в формате JPEG, выигрывать должен клиент, который получает этот файл в интернете и применяет в своих промышленных проектах.

        То, что вы называете перфекционизмом, является обычным нормальным поступком. JPEG допустим только при самом слабом сжатии (11 или 12 в терминах фотошопа).


        1. Spaceoddity
          04.11.2023 14:03

          Вы не понимаете принципов сжатия JPEG?

          Когда вы сохраняете файл в формате JPEG, выигрывать должен клиент, который получает этот файл в интернете и применяет в своих промышленных проектах.

          А в чём он выигрывает? Есть png - он в вебе может в lossless, есть webp - он умеет в минимальные объёмы. Какие-такие преимущества мне тут даёт jpeg?

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

          "Перфекционизмом" здесь я называю бездумное использование некоей методики. Кому-то критически важен объём файлов - поэтому иногда переходится пережимать "вхлам". А кому-то критически важно качество - и тут уже одно использование jpeg с минимальной компрессией ставит крест на этом самом качестве... jpeg вам сразу в 2 раза зарежет "цветовое разрешение" и начнёт "оптимизацию по сетке" яркостного разрешения.

          И самая главная подлянка от жпега - его нельзя пересохранить! Т.е. сохранение в lossless формате допустимо всего лишь один раз. Если этот файл пересохранить ещё раз (скажем, простой "даунскейл") - там такие артефакты сжатия начинают вылезать...


          1. PereslavlFoto
            04.11.2023 14:03

            Вы правы. Да, JPEG имеет некоторые преимущества при наилучшем сжатии (от 95% или от 11-й позиции фотошопа), но и только.


  1. voldemar_d
    04.11.2023 14:03
    +4

    MPEG для видео

    Имеется ввиду MPEG 1, 2, 4, H.264, H.265? Или в них всех это одинаково?

    Большинство современных видеокамер не умеют записывать формат 4:4:4.

    Можете привести пример камеры, которая это умеет?

    То, о чем Вы здесь пишете, существует не один десяток лет, описано много где, включая Википедию. Можно узнать, какова цель данной статьи? Что в ней нового и не описанного ранее?


    1. Astroscope
      04.11.2023 14:03
      +1

      Можете привести пример камеры, которая это умеет?

      Мне кажется, что вся современная линейка камер Red One умеет в 4:4:4.


      1. Spaceoddity
        04.11.2023 14:03

        Ну что же вы тогда про Arri Alex-у забыли?))


    1. GeorgeTudosi Автор
      04.11.2023 14:03
      +3

      Имеется ввиду MPEG 1, 2, 4, H.264, H.265? Или в них всех это одинаково?

      Одинаково до того момента, как применяется компрессия. Это тема для отдельного разговора.

      Можете привести пример камеры, которая это умеет?

      Любая камера, которая умеет писать RAW. Например, почти вся линейка современных блекмеджиков. Если по какой-то причине нельзя работать с ним напрямую и приходится транскодировать, в ряде случаев 4:4:4 имеет практический смысл.

      То, о чем Вы здесь пишете, существует не один десяток лет, описано много где, включая Википедию.

      Да, там есть неплохая статья. Однако она перенасыщена формулами и сведениями о частных случаях. Я ставил себе задачу рассказать понятно. Упрощал, но не до степени искажения фактов — на мой взгляд, упрощение не должно приводить к необходимости переучиваться для более глубокого изучения темы. И постарался дать всё необходимое для осознанного применения на практике.

      Если что-то осталось непонятным — пожалуйста, задавайте вопросы.


      1. PereslavlFoto
        04.11.2023 14:03
        +1

        Пожалуйста, исправьте статью Википедии, ссылаясь на достоверную и заслуживающую уважения литературу. Спасибо!


      1. voldemar_d
        04.11.2023 14:03
        +1

        Вы поставили уровень сложности "Средний". Хабр - ресурс, где такой уровень вполне подразумевает и формулы, и вещи посложнее. По частным случаям и примерам обычно как раз проще понять общее.


        1. GeorgeTudosi Автор
          04.11.2023 14:03
          +2

          Простите новичка, это моя первая статья. Выбирая уровень сложности, я руководствовался формальным признаком — необходимостью предварительных знаний. Но сомневался — материал кажется мне несложным, и задумывался как легкий для восприятия. Рекомендуете поправить?


          1. voldemar_d
            04.11.2023 14:03
            +2

            Это Вам решать, это достаточно условное деление. Судя по тому, что статье ставят плюсы, а не минусы, большинству читателей она нравится. Просто совсем без формул, как мне кажется, понять эту тему сложнее, чем с ними. Но это моё личное мнение. Для общего ознакомления, наверное, и так нормально.


  1. Spaceoddity
    04.11.2023 14:03

    Поэтому яркостное разрешение глаза выше, чем цветовое

    Нет! Ровно наоборот. Именно поэтому человеческий глаз - самый точный колориметрический инструмент, различающий до 100млн. оттенков. И именно поэтому настроить "вручную" гамму на мониторе проще через обои realcolor, чем через AdobeGamma и т.п.


    1. GeorgeTudosi Автор
      04.11.2023 14:03

      Не вполне точно выразился. Пространственное разрешение по яркости и пространственное разрешение по оттенку. Но так слишком мудрено звучит, предпочитаю более короткие формулировки.