Почему цветовое пространство xvYCC не используется для фотосъемки?

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

Но в AV-индустрии широко продвигается новый стандарт, который заменит sRGB. Это IEC 61966-2-4 — xvYCC (или «xvColor» в маркетинговых целях). Это цветовое пространство имеет гамму в 1,8 раза больше, чем sRGB, охватывая 90% цветового диапазона человеческого зрения (вместо скучных 50%, покрываемых нашим нынешним общим знаменателем). Узнайте больше на веб-сайте Sony xvYCC .

Важным моментом, однако, является то, что это не теоретически. Это часть стандарта HDMI 1.3 вместе со спецификацией глубины цвета от 10 до 16 бит на цвет («глубокий цвет»). В отличие от aRGB, который в основном является профессиональной нишей, существует широкая поддержка в оборудовании потребительского уровня.

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

Sony увлеклась этой идеей и уже четыре года назад выпустила поддерживающие ее видеокамеры. Playstation 3 поддерживает это, черт возьми! Почему бы не использовать его и в зеркальных фотокамерах Sony Alpha? И Sony не одинока — у Canon тоже есть видеокамеры, поддерживающие эту технологию.

Конечно, если вы снимаете в формате RAW, поддержка камеры не имеет значения. Это люди, занимающиеся программным обеспечением для конвертеров, которые должны были бы присоединиться к нам — почему нет толчка для этого? Насколько я понимаю, xvYCC — это расширение YCbCr, которое уже используется в файлах JPEG . Но, читая литературу, я нахожу много упоминаний об обновленных стандартах MPEG, но ничего о неподвижных фотографических изображениях.

Почему у нас не может быть хороших вещей?

Ответы (7)

xvYCC — это особенно умный способ кодирования данных о цвете: он злоупотребляет представлением YCC, используя ранее запрещенные комбинации значений для представления цветов за пределами гаммы пространства RGB, используемого в схеме YCC. То есть некоторые кортежи YCC декодируются в цвета с отрицательными значениями RG или B. Раньше это было просто незаконно; в xvYCC это разрешено, и приветствуются дисплеи с большей гаммой, чем система RGB, чтобы отображать их как можно лучше. Так что на самом деле это умный, в основном совместимый хак, чтобы получить дополнительную гамму без особого изменения формата.

Есть ли смысл использовать его в фотосъемке? Я так не думаю. На самом деле нет необходимости быть совместимым с YCC, так почему бы не использовать пространство с широкой гаммой, такое как ProPhoto RGB? Или еще лучше, поскольку использование дополнительной битовой глубины для фотографий не требует больших затрат, почему бы не использовать что-то вроде CIELAB, которое может охватывать всю воспринимаемую человеком гамму? У вас достаточно битов, чтобы способность кодировать все эти воображаемые цвета не стоила вам заметного количества цветового разрешения.

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

Чтобы начать просто, ответ: «Он используется для фотосъемки!» Чуть позже я объясню немного больше, и на данный момент его использование довольно нишевое.

Корни xvYCC

Кодирование xvYCC, насколько я могу судить, является современным усовершенствованием кодирования YCC или, в его длинной форме, Y'CbCr (или YCbCr, что немного отличается). Кодирование YCC является частью семейства яркостно-цветных цветовых пространств, которые в значительной степени основаны на цветовом пространстве L a b* (для краткости «Lab»), сформулированном CIE еще в 1930-х годах. Цветовое пространство Lab также является цветовым пространством яркости/цветности, в котором яркость цвета кодируется значением L* , а две оси цветности цвета кодируются значениями a* и b* . Значение a* кодирует половину цветности по оси зеленый/пурпурный , а значение b* кодирует другую половину цветности по оси синий/желтый .ось. Эти две цветовые оси были выбраны так, чтобы имитировать и представлять четыре основные цветовые чувствительности человеческого глаза, которые также лежат вдоль пары осей красный/зеленый и синий/желтый (хотя истинное человеческое зрение включает красную кривую с двойным пиком, с меньший пик находится в середине синей кривой, что на самом деле означает, что человеческий глаз непосредственно чувствителен к пурпурному, а не к красному... отсюда и ось зеленый/пурпурный в лаборатории.)

Кодировка YUV

Y'CbCr, вероятно, наиболее известен в форме кодирования видео YUV. Кодирование YUV было специально разработано для уменьшения объема памяти, необходимого для кодирования цвета при передаче видео ., еще в те дни, когда пропускная способность была довольно дефицитным товаром. Передача информации о цвете в виде триплетов RGB расточительна, поскольку триплеты R, G, B кодируют цвет с достаточной степенью избыточности: все три компонента включают информацию о яркости, а также информацию о цветности, и яркость взвешивается по всем трем компонентам. YUV — это форма кодирования яркости/цветности Y'CbCr с низкой пропускной способностью, которая не имеет избыточной избыточности кодирования RGB. YUV может потреблять от 2/3 до 1/4 полосы пропускания полного сигнала RGB в зависимости от формата субдискретизации (и, кроме того, он сохраняет изображение с полной детализацией в отдельном канале яркости Y, который удобно поддерживает как черно-белые, так и как цветные телевизионные сигналы с одним форматом кодирования.) Следует четко отметить, что YCC на самом деле не является цветовым пространством, скорее это способ кодирования цветовой информации RGB. Я думаю, что более точным термином будетцветовая модель, чем цветовое пространство, и термин цветовая модель может применяться как к RGB, так и к YUV.

Из ссылки, связанной с исходным вопросом, видно, что xvYCC является расширенной формой кодирования Y'CbCr, в которой хранится закодированная информация о цвете яркости/цветности с большим количеством битов, чем YUV. Вместо того, чтобы кодировать яркость и цветность в чередующихся наборах из 2-4 бит, xvYCC кодирует цвет в современных 10-битных значениях.

Использование в фотосъемке

Любопытно, что есть одна марка цифровых зеркальных камер, которая использует что-то очень похожее. В последние годы Canon добавила в свои камеры новый формат RAW, который называется sRAW. В то время как обычное изображение RAW содержит прямой байеровский дамп полных данных датчика, sRAW на самом деле не является истинным форматом изображения RAW. Формат sRAW не содержит байеровских данных, он содержит обработанное содержимое Y'CbCr, интерполированное из базовых данных байеровских пикселей RGBG. Подобно телевизионным временам, sRAW стремится использовать больше исходной информации о сигнале для кодирования данных яркости и цветности в высокоточный (14 бит на канал), но компактный формат изображения. Размер изображения sRAW может составлять от 40 до 60 % размера изображения RAW.

Преимущество sRAW заключается в том, что вы поддерживаете высокую точность восприятия цвета человеком в компактном формате файла и лучше используете пиксели RGBG на датчике Байера (вместо выборки с перекрытием, которая создает неприятный цветной муар, sRAW выполняет выборку цветности без перекрытия). и перекрывающаяся/распределенная выборка яркости.) Недостатком является то, что это не настоящий формат RAW, а информация о цвете интерполируется и подвергается субдискретизации из полного датчика Байера. Если вам не нужно полное разрешение RAW камеры (т. е. вы собираетесь печатать только в формате 8x10 или 11x16), то sRAW может быть реальным преимуществом, поскольку он может значительно сэкономить место (до 60% экономии по сравнению с RAW). ), он сохраняет быстрее, чем RAW, обеспечивает более высокую частоту кадров и лучше использует информацию о цвете, полученную сенсором, чем RAW с полным разрешением.

Очень интересно и познавательно — спасибо! Но я все равно удивлен, что это нишевое использование пока единственное.
Я думаю, с технической точки зрения, вы могли бы рассматривать JPEG как еще один формат изображения, который кодирует данные способом, совместимым с YCC. Частично экономия пространства в формате JPEG связана с тем, что он кодирует данные RGB в формате яркости/цветности, после чего данные дополнительно сжимаются с помощью блочного сжатия с потерями. Хотя конкретное кодирование xvYCC не распространено в фотосъемке, если подумать, кодирование яркости/цветности на самом деле является наиболее распространенным форматом.

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

Хотя вы, конечно, не видели много 16-битных TIFF-файлов на канал 20 лет назад, такая возможность уже существовала, и 16-битный формат на канал (в TIFF и различных других форматах) сейчас довольно распространен. В то же время я чувствую себя обязанным отметить, что большинство людей считают 8 бит/канал вполне адекватным. Только один очевидный пример: JPEG2000 поддерживает 16 бит/канал и лучшее сжатие, чем исходный JPEG, но нигде даже близко не использует исходную спецификацию JPEG.

Примерно в то же время (на самом деле, немного раньше) xvYCC работал над (примерно) догонянием возможностей TIFF, разрабатывался формат файла openEXR. Он поддерживает до 32 бит/канал. Хотя он еще не так широко используется, я ожидаю, что он будет немного похож на TIFF и в конечном итоге получит более широкое распространение.

Что касается цветового пространства, это правда, что большее количество бит/пиксель, если xvYCC поддерживает большую гамму, чем sRGB. Опять же, однако, ProPhotoRGB (для одного примера) обеспечивает гораздо более широкую гамму — и (если честно) остается открытым вопрос, существует ли необходимость в большем цветовом пространстве, чем уже обеспечивает ProPhotoRGB (примерно 13% цветов, которые вы можете воспроизвести). представленные в ProPhotoRGB, в основном являются воображаемыми — они выходят за рамки того, что может воспринять большинство людей).

Преимущество xvYCC заключается в уменьшении объема данных, необходимых/используемых для представления заданного уровня качества. Для HD-видео (в частности) чрезвычайно важно минимизировать пропускную способность. Однако для цифровых фотоаппаратов пропускная способность является гораздо меньшей проблемой — хотя было бы неплохо, если бы (например) я мог уместить в два раза больше изображений на CF-карту определенного размера, это не особенно серьезная проблема. Относительно немногие люди используют CF-карты самой большой емкости из доступных, и стоимость CF-карт не составляет существенной части бюджета типичного фотографа.

Итог: с точки зрения технических возможностей, xvYCC предоставляет мало того, что уже недоступно.

Изменить: я, вероятно, должен добавить еще один момент. ЖК-дисплеи начали заменять ЭЛТ для большинства мониторов примерно в то время, когда цифровые камеры стали широко использоваться, но ЖК-мониторы потребительского уровня только сейчас начинают превышать (или даже приближаться) к цветовому разрешению 8 бит / канал. Трудно было сильно беспокоиться о 10 или 12 битах на канал, когда обычный монитор мог отображать только около 6.

Есть также незначительная деталь, на которую многим людям просто наплевать. Для них фотографическое качество подпадает под критерий «годен/не годен». Все, о чем на самом деле просят большинство людей, это чтобы изображение было достаточно узнаваемым. Я подозреваю, что люди постепенно начинают ожидать лучшего, но после того, как Walgreens (или кто-то еще) в течение многих лет превращал свою рыжую дочь в блондинку (и т. д.), требуется время, чтобы привыкнуть к мысли, что цвет вообще может быть точным.

Редактировать: на самом деле есть еще один шаг после JPEG 2000: JPEG XR . Это поддерживает до 32 бит/канал (с плавающей запятой) HDR. Он также указывает формат файла, который может включать в себя все обычные данные типа EXIF/IPTC, встроенный цветовой профиль и т. д. Что касается вопроса здесь, который включает значение, указывающее, что файл должен использовать цветовое пространство xvYCC (значение 11в TRANSFER_CHARACTERISTICSэлементе синтаксиса, таблица A.9, если кому интересно). Похоже, это не широко используется (по крайней мере, пока), но напрямую поддерживает цветовое пространство xvYCC для неподвижных изображений.

Спасибо; это определенно один из способов взглянуть на это. Я знаю, что существуют такие форматы файлов и более широкие цветовые пространства. Я думаю, что меня действительно интересует, так это то, почему существует стремление к большей глубине цвета в мире аудио/видео, но не в фотографии потребительского уровня.
@mattdm: Я думаю, что причина, по которой это происходит, заключается в том, что раньше этого не было. Широкая гамма/высокая глубина цвета были доступны для фотосъемки уже как минимум десятилетие, и, насколько я знаю, цифровые камеры поддерживают Adobe RGB (которая имеет более широкую гамму, чем sRGB, хотя и не совсем поддерживает 98% цветового охвата). гамма Lab) в течение некоторого количества лет. sRAW от Canon был доступен в зеркальных фотокамерах начального и среднего уровня как минимум пару лет. Я согласен с Джерри...видео - это домен, который "догоняет".

Итак, чтобы ответить на мой собственный вопрос немного после некоторых исследований:

Хотя это не xvYCC, по причинам, которые до сих пор ускользают от меня (поскольку кодирование JPEG использует аналогичную старую схему), похоже , есть некоторые обнадеживающие шаги в отношении «у нас могут быть хорошие вещи!» спереди, потому что кажется, что, по крайней мере, Microsoft заботится о более широкой цветовой гамме и лучшей битовой глубине в фотоснимках — по крайней мере, немного.

Они медленно, но верно продвигают новый стандарт формата файлов под названием JPEG XR (ранее называвшийся Windows Media Photo, а затем HD Photo). Это интересный шаг вперед по сравнению с «традиционным» JPEG, предлагающий лучшее сжатие при том же качестве изображения и (в рамках данного обсуждения) более высокую поддержку битовой глубины.

JPEG 2000 делает то же самое, но это в значительной степени провал, возможно, из-за проблем с патентами, охватывающими сжатие вейвлета, которое он использует, или, может быть, что-то еще. Важный момент: Microsoft сейчас продвигает JPEG XR, используя его во многих своих программах, включая Internet Explorer 9 . По состоянию на 2009 год это официальный настоящий международный стандарт , и на него распространяется «Обещание сообщества» Microsoft не применять свои патенты враждебным образом против реализаций. Так что это очень хорошо для будущего понимания.

И, наряду с этим, они продвигают идею большего количества битов на канал как « высокого цвета » (что мне забавно, так как, на мой взгляд, это все еще старые 16-битные для всех каналов ). режим видеокарты). Как часть этого, у них есть, возможно, смехотворно большое «промежуточное» цветовое пространство, называемое scRGB — прочитайте хороший подробный отчет здесь — которое поддерживается JPEG XR, если хотите. Это может быть не особенно полезно в качестве окончательного цветового пространства, поскольку большинство его цветов находятся в «воображаемой» области за пределами человеческого восприятия . Но в любом случае, дело в том, что Microsoft интегрирует стандарты более высокой разрядности в операционную систему Windows, а фотография по -прежнему актуальна.часть этого. Из немного устаревшего интервью CNET : «Я абсолютно ожидаю, что поддержка scRGB в камерах будет сопровождать JPEG XR».

Но это было в 2007 году. Четыре с половиной года спустя мы все еще не видим камер, поддерживающих JPEG XR, не говоря уже о причудливых цветовых пространствах с широкой гаммой и высокой глубиной. Но, возможно, я просто нетерпелив. Как отмечают другие ответы здесь, аппаратное обеспечение дисплея, поддерживающее широкую гамму, только становится доступным, поддержка в самой популярной в мире ОС появилась совсем недавно, а первый веб-браузер, поддерживающий ее, был выпущен в этом месяце . По мере того, как это завоевывает популярность и, как мы надеемся, в конечном итоге будет подхвачено Chrome и Firefox , программы обработки изображений (включая преобразователи RAW) получат поддержку, и последует фактический прямой вывод с камер.

Или все дело провалится. Время покажет. :)

Хорошей особенностью JPEG XR является то, что он является дешевым в вычислительном отношении, поэтому его можно реализовать, например, для кодирования в камере. JPEG 2000 стоит дорого. Это, безусловно, важный фактор, хотя, возможно, с поступательным развитием вычислительной мощности он не такой важный.

Я добавлю пару заметок о Джоне...

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

  2. Зритель (и/или устройство) также должен знать о цветовом пространстве и уметь с ним обращаться. В то время как мониторы с широким цветовым охватом становятся все более распространенными, они, скорее всего, все еще составляют огромное меньшинство, и потребуется время, чтобы наверстать упущенное. Черт возьми, я знаю довольно много людей, у которых старые ЭЛТ-мониторы все еще подключены к приличным компьютерам.

Я хочу еще раз подчеркнуть, что xvYCC не является «цветовым пространством», это действительно, в лучшем случае, формат кодирования информации о цвете RGB. Он поддерживает более широкую гамму не потому, что это цветовое пространство, а потому, что он хранит информацию о цвете, используя больше битов информации, и хранит их в формате, который ближе к тому, как люди воспринимают яркость и цвет.
@jrista, стандарт IEC специально называет его «цветовым пространством YCC с расширенной гаммой для видеоприложений - xvYCC», что явно подразумевает, что на самом деле это цветовое пространство. Прочитав YCC, я понимаю, откуда вы исходите из этого, и не желая платить сто баксов за чтение стандарта, я не могу быть уверен, но мое текущее предположение состоит в том, что он определяет как расширенный способ указания информация о цвете в YCC и фактическое более широкое цветовое пространство RGB.
Придется глубже читать спецификацию. Я еще не совсем уверен, что означает xv, так что, возможно, это на самом деле относится к какому-то цветовому пространству с широкой гаммой. Однако YCC, даже если они используют больше битов, определенно не является «гаммой», это просто encoding. Это все равно, что сказать, что RGB — это цветовое пространство… это не так, это просто способ кодирования цветовых данных. A color spaceопределяет значения яркости и цветности каждого цвета с помощью набора сопоставлений основных цветов, гамма-ключа, точки белого и черного и некоторых кривых.
Я предполагаю, что «xv» — это «расширенное значение», но это может означать просто «круто звучит».

Именно он использовался в Kodak Photo CD (цветовое пространство называется PhotoYCC), более того, он является предшественником xvYCC_601. Проблема, почему это не было сделано, заключается в том, что это ТОЛЬКО ограниченный диапазон (поскольку компоненты Cb и Cr расширены для расширенной гаммы, а Y' остается прежним), в то время как полный диапазон предпочтительнее для фотоизображений; другая проблема заключается в том, что нет определенной передачи , когда Y' является супербелым, то есть больше, чем (219 + 16) * 2 ^ (n-8) (то есть 235 для 8 бит). Из МЭК 61966-2-4:

Однако, если в захваченном изображении присутствуют зеркальные компоненты, которые ярче белого, будут пиксели с сигналами Y', превышающими «1» [235 в десятичном формате]. Эти компоненты должны быть сжаты (или обрезаны) до заданного диапазона квантования. Пример метода зеркального сжатия представлен на рисунке А.1. П р и м е ч а н и е — На практике используются различные запатентованные методы компрессии либо в компонентах Y', либо в компонентах R'G'B'.

Более того, HDMI резервирует 255 и 0 (для 8 бит) в ограниченном режиме YCbCr (но не для полного RGB, а для ограниченного RGB) для синхронизации и даже больше для 10 и 12 бит (уровни бит «от 0 до 2^( N-8)-1» и «от 255 × 2^(N-8) до 2^N-1».) Это тоже проблема.

На самом деле никто не запрещает вам использовать телевизор LG C9 и писать собственное программное обеспечение для того, чтобы SDR отображал цвета вне BT.601 или BT.709 (поскольку xvYCC поддерживает оба).

Тем не менее, эквивалент sRGB, sYCC определен и используется в JPEG 2000 . Читайте также: https://en.wikipedia.org/wiki/SRGB#sYCC_extended-gamut_transformation

Цветовое пространство xvYCC, вероятно, не находит применения в фотосъемке, потому что были разработаны новые стандарты, которые являются улучшением старых стандартов, и ни один производитель не хочет инвестировать в стандарт, который может обесцениться до того, как его заменит «следующая лучшая вещь». '. Они узнали из VHS против бета-версии.

Высокоэффективный формат изображения (HEIF), MPEG-H Part 12, представляет собой формат файла, определяющий структурный формат, из которого могут быть получены форматы изображений, зависящие от кодека.

HEIF также включает спецификацию для инкапсуляции изображений и последовательностей изображений, соответствующих высокоэффективному кодированию видео (HEVC, ISO/IEC 23008-2 | ITU-T Rec. H.265 или MPEG-H Part 2).

Он упоминается в основном видео Apple WWDC 2017: https://youtu.be/oaqHdULqet0?t=58m49s .

Apple iPhone 7 и новее берет то, что сфотографировано, и сохраняет его в формате JPEG или HEIF. Использование HEIF может обеспечить безупречное решение «камера-хранилище-дисплей» — полную инфраструктуру без потерь или преобразования из ввода в вывод (при использовании несжатого HEIF).

Дело не в том, что они полностью поддерживают каждую функцию (подобно тому, как MPEG редко «полностью поддерживается») или в том, что это не так просто сделать кому-то еще, просто они, кажется, первыми предлагают полное решение для изображений (для видео). у нас было подмножество HEVC H.264, H.265 и недавно HikVision H.265+ в течение многих лет).

Если вы знаете о других камерах, поддерживающих HEIF, прокомментируйте или отредактируйте, спасибо.

Камеры, которые записывают изображения и видео с особенно высоким динамическим диапазоном (датчик более 16 бит на цвет), часто не обрабатывают данные (создают сжатый файл), а вместо этого выводят необработанные данные напрямую, например: http://www. .jai.com/en/products/at-200ge — камера выдает от 24 до 30 бит на пиксель или http://www.jai.com/en/products/at-140cl — камера выдает от 24 до 36 бит на пиксель .

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

Вот ссылка на камеру Condor3 CIE 1931 от Quest Innovations: http://www.quest-innovations.com/cameras/C3-CIE-285-USB .

Камеры с 3, 4, 5 или 6 датчиками могут разбивать спектр на более мелкие части и предоставлять больше битов на канал, более точно определяя точный цвет и интенсивность: http://www.optec.eu/en/telecamere_multicanale/telecamere_multicanale.asp .


Призма для 3-канальной камеры3CCD или 3MOS

Призма для 4-канальной камеры4CCD или 4MOS

Призма для 5-канальной камеры5CCD или 5MOS


Использованная литература:

https://developer.apple.com/videos/play/wwdc2017/503/

https://nokiatech.github.io/heif/technical.html

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