Здравствуйте.
Пытаюсь понять что-нибудь из ICC профилирования, ищу тех, кто бы мог объяснить "для дураков" на не объёмном примере. Буду писать свои догадки, так возможно будет понятнее в каких заблуждениях прибываю.
Распаковал в XML CN_IJPrinter_Profile2015.icc, который шёл с принтером Canon серии 1410, похоже что для базовой матовой бумаги. Информации для профилия ICC, насколько я понимаю, в нем сравнительно мало и для профессионалов он примитивный (меня результат его работы на неоригинальной бумаге, только которая была, уcтраивает, за исключением большого Нюанса, но сейчас не об этом).
XML CN_IJPrinter_Profile2015.icc:
DataColourSpace: RGB
PCS: XYZ
DeviceAttributes: GlossyOrMatte="matte"
RenderingIntent: Perceptual
PCSIlluminant: X="0.964202880859" Y="1.000000000000" Z="0.824905395508"
mediaWhitePointTag: X="0.950454711914" Y="1.000000000000" Z="1.089050292969"
вопр.) Если выставлено Perceptual в RenderingIntent, то по умолчанию преобразование в (или "связывание c" ) PCS производится по данным AToB0Tag? (здесь данные всех AToB одинаковые - AToB1Tag, AToB2Tag: SameAs="AToB0Tag" )
AToB0Tag/lut16Type:
Channels: InputChannels="3" OutputChannels="3"
InputEntries="1024" OutputEntries="256"
BCurves:
Curve: числа 0..65535 1024 значения
Curve: те же данные
Curve: те же данные
вопр.) Если DataColourSpace: RGB, значит здесь входные данные (три канала по 1024 значений) это данные RGB пространства?
вопр.) Почему эти данные маркируются как "B-кривые", а не просто массивы, если в каждой "кривой" содержится всего 1024 значений? если для точки нужно два значения, значит должно быть 1204x2 значений, или только уже в результате вычислений профиля получают нужную пару значений для кривой?
вопр.) Если в каналах по 1024 значения, 1024 это то количество цветов которое гарантированно поддерживает средний современный монитор и приводятся соответственно числовые RGB значения этих цветов?
CLUT: GridGranularity="2"
TableData: числа 0..27036 6x4
ACurves:
Curve: IdentitySize="256"
Curve: IdentitySize="256"
Curve: IdentitySize="256"
вопр.) Здесь результирующие выходные XYZ каналы?
вопр.) Происходит "интерполяция" каждого из 1024 значений входных каналов на значение 0-255 выходных каналов?
вопр.) Если выходной (256 элементов) канал уже входного (1024 элементов), здесь происходит нежелательная потеря данных при конвертации в PCS XYZ?
Далее спрашивать наверное пока смысла нет..
Пытаюсь понять что-нибудь из ICC профилирования, ищу тех, кто бы мог объяснить "для дураков" на не объёмном примере. Буду писать свои догадки, так возможно будет понятнее в каких заблуждениях прибываю.
Распаковал в XML CN_IJPrinter_Profile2015.icc, который шёл с принтером Canon серии 1410, похоже что для базовой матовой бумаги. Информации для профилия ICC, насколько я понимаю, в нем сравнительно мало и для профессионалов он примитивный (меня результат его работы на неоригинальной бумаге, только которая была, уcтраивает, за исключением большого Нюанса, но сейчас не об этом).
XML CN_IJPrinter_Profile2015.icc:
DataColourSpace: RGB
PCS: XYZ
DeviceAttributes: GlossyOrMatte="matte"
RenderingIntent: Perceptual
PCSIlluminant: X="0.964202880859" Y="1.000000000000" Z="0.824905395508"
mediaWhitePointTag: X="0.950454711914" Y="1.000000000000" Z="1.089050292969"
вопр.) Если выставлено Perceptual в RenderingIntent, то по умолчанию преобразование в (или "связывание c" ) PCS производится по данным AToB0Tag? (здесь данные всех AToB одинаковые - AToB1Tag, AToB2Tag: SameAs="AToB0Tag" )
AToB0Tag/lut16Type:
Channels: InputChannels="3" OutputChannels="3"
InputEntries="1024" OutputEntries="256"
BCurves:
Curve: числа 0..65535 1024 значения
Curve: те же данные
Curve: те же данные
вопр.) Если DataColourSpace: RGB, значит здесь входные данные (три канала по 1024 значений) это данные RGB пространства?
вопр.) Почему эти данные маркируются как "B-кривые", а не просто массивы, если в каждой "кривой" содержится всего 1024 значений? если для точки нужно два значения, значит должно быть 1204x2 значений, или только уже в результате вычислений профиля получают нужную пару значений для кривой?
вопр.) Если в каналах по 1024 значения, 1024 это то количество цветов которое гарантированно поддерживает средний современный монитор и приводятся соответственно числовые RGB значения этих цветов?
CLUT: GridGranularity="2"
TableData: числа 0..27036 6x4
ACurves:
Curve: IdentitySize="256"
Curve: IdentitySize="256"
Curve: IdentitySize="256"
вопр.) Здесь результирующие выходные XYZ каналы?
вопр.) Происходит "интерполяция" каждого из 1024 значений входных каналов на значение 0-255 выходных каналов?
вопр.) Если выходной (256 элементов) канал уже входного (1024 элементов), здесь происходит нежелательная потеря данных при конвертации в PCS XYZ?
Далее спрашивать наверное пока смысла нет..