Оптимизация изображений
quittance.ru
документы
прочее
Оптимизация изображений
   / принципы подготовки изображений

Оптимизация изображений для публикации в интернете

Послед­няя из трех ста­тей, по­свя­щен­ных под­го­тов­ке изоб­ра­же­ний к пуб­ли­ка­ции в ин­тер­не­те, опи­сы­ва­ет прин­ци­пы их оп­ти­ми­за­ции.

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

В ка­че­стве ил­лю­стра­ции из­ло­жен­ных прин­ци­пов пред­ла­га­ем вос­поль­зо­вать­ся он­лайн сер­ви­сом оп­ти­ми­за­ции изоб­ра­же­ний Image Variator.

Суще­ству­ет два вза­и­мо­ис­клю­ча­ю­щих прин­ци­па оп­ти­ми­за­ции изоб­ра­же­ний для пуб­ли­ка­ции в ин­тер­не­те  сжа­тие с по­те­рей ка­че­ства (англ. lossy compression) в фор­ма­те JPEG и огра­ни­че­ние ко­ли­че­ства цве­тов (англ. color reduction) в фор­ма­те PNG/Indexed.

Оптимизация JPEG: сжатие с потерей информации и уменьшение цветового разрешения

Опти­ми­за­ция JPEG за­клю­ча­ет­ся в под­бо­ре по­ка­за­те­ля ка­че­ства (англ. quality) для ал­го­рит­ма сжа­тия с по­те­рей ин­фор­ма­ции (англ. lossy compression) и в умень­ше­нии цве­то­во­го раз­ре­ше­ния (англ. subsampling).

Пока­за­тель ка­че­ства  ком­плекс­ный па­ра­метр, вли­я­ю­щий на зна­че­ния мно­же­ства ко­эф­фи­ци­ен­тов ал­го­рит­ма сжа­тия JPEG. Обыч­но на­хо­дит­ся в диа­па­зоне от 0 до 100 (в не­ко­то­рых ин­стру­мен­тах  от 1 до 12). Чем вы­ше по­ка­за­тель ка­че­ства, тем мень­ше по­терь и боль­ше объ­ем по­лу­ча­е­мо­го фай­ла. Зада­вать зна­че­ние бо­лее 95 прак­ти­че­ски бес­по­лезно.

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

Дру­гое важ­ное свой­ство фор­ма­та JPEG  воз­мож­ность умень­ше­ния цве­то­во­го раз­ре­ше­ния (англ. subsampling) с це­лью со­кра­ще­ния пред­на­зна­чен­ной для сжа­тия ин­фор­ма­ции. Стан­дарт­ный для JPEG по­ка­за­тель  2x2 (в пол­ной но­та­ции  2x2,1x1,1x1; в ви­део­про­из­вод­стве ис­поль­зу­ет­ся обо­зна­че­ние 4:2:0). Это озна­ча­ет, что раз­ре­ше­ние цве­то­вой со­став­ля­ю­щей изоб­ра­же­ния бу­дет умень­ше­но в два ра­за по-вер­ти­ка­ли и по-го­ри­зон­тали.

Такое по­ве­де­ние ос­но­ва­но на физио­ло­ги­че­ской осо­бен­но­сти че­ло­ве­че­ско­го зре­ния, ко­то­рое раз­ли­ча­ет цве­то­вую со­став­ля­ю­щую изоб­ра­же­ния не­сколь­ко ху­же, чем яр­кост­ную. Умень­ше­ние цве­то­во­го раз­ре­ше­ния с ко­эф­фи­ци­ен­том 2x2 вполне оправ­да­но в боль­шин­стве слу­ча­ев, но не во всех.

При та­ком умень­ше­нии цве­то­во­го раз­ре­ше­ния каж­дая точ­ка груп­пы 2x2 име­ет свою соб­ствен­ную яр­кост­ную со­став­ля­ю­щую, но об­щую для всех то­чек груп­пы цве­то­вую со­став­ля­ю­щую. Поэто­му гра­фи­ка, в ко­то­рой при­сут­ству­ют чет­кие гра­ни­цы меж­ду цве­та­ми или мел­кие цвет­ные эле­мен­ты, вос­про­из­во­дит­ся с за­мет­ны­ми ис­ка­же­ни­я­ми  чет­кие гра­ни­цы раз­мы­ва­ют­ся, а мел­кие эле­мен­ты те­ря­ют цве­то­вую на­сы­щен­ность и ста­но­вят­ся «гряз­ны­ми». Чтобы из­бе­жать этих ис­ка­же­ний, на­до от­клю­чить стан­дарт­ное умень­ше­ние цве­то­во­го раз­ре­ше­ния, ины­ми сло­ва­ми  вы­ста­вить его по­ка­за­тель в 1x1 (в пол­ной но­та­ции  1x1,1x1,1x1; в ви­део­про­из­вод­стве  4:4:4).

Две ил­лю­стра­ции ни­же да­ют пред­став­ле­ние о смыс­ле умень­ше­ния цве­то­во­го раз­ре­ше­ния и де­мон­стри­ру­ют ти­пич­ные для это­го при­е­ма ис­ка­же­ния.

Обе ил­лю­стра­ции со­хра­не­ны с по­ка­за­те­лем ка­че­ства 95; сле­ва  дву­крат­ное умень­ше­ние цве­то­во­го раз­ре­ше­ния; спра­ва  без умень­ше­ния цве­то­во­го раз­ре­ше­ния.

К со­жа­ле­нию, не­ко­то­рые по­пуляр­ные ин­стру­мен­ты не поз­во­ля­ют от­дель­но управ­лять умень­ше­ни­ем цве­то­во­го раз­ре­ше­ния, ко­то­рое по­став­ле­но в за­ви­си­мость от по­ка­за­те­ля ка­че­ства. При по­ка­за­те­ле ка­че­ства до 80-90 ис­поль­зу­ет­ся дву­крат­ное умень­ше­ние цве­то­во­го раз­ре­ше­ния, а при ка­че­стве свы­ше 80-90 цве­то­вое раз­ре­ше­ние не умень­ша­ется.

Оптимизация PNG/Indexed: уменьшение количества используемых цветов

Опти­ми­за­ция PNG/Indexed за­клю­ча­ет­ся в умень­ше­нии ко­ли­че­ства цве­тов (англ. color reduction) до ми­ни­маль­но­го до­пу­сти­мо­го уров­ня при пе­ре­во­де изоб­ра­же­ния из ре­жи­ма RGB или Grayscale в ре­жим Indexed. Чем мень­ше ко­ли­че­ство цве­тов, до­ста­точ­ных для адек­ват­но­го вос­про­из­ве­де­ния ори­ги­на­ла, тем эф­фек­тив­нее бу­дет сжа­тие и мень­ше объ­ем файла.

Оши­боч­но счи­тать, что это свя­за­но с умень­ше­ни­ем раз­ме­ра са­мой па­лит­ры. Мак­си­маль­ный объ­ем па­лит­ры  все­го 768 байт, по­это­му мно­го­го здесь сэко­но­мить не по­лу­чит­ся. Меха­низм уве­ли­че­ния эф­фек­тив­но­сти сжа­тия не­сколь­ко иной. Во-пер­вых, чем мень­ше цве­тов в па­лит­ре, тем мень­ше бит ин­фор­ма­ции не­об­хо­ди­мо для обо­зна­че­ния цве­та. Напри­мер, для 256-цвет­ной па­лит­ры цвет за­да­ет­ся 8-бит­ным чис­лом, при 16-ти цве­тах до­ста­точ­но 4-х бит. Во-вто­рых, умень­ше­ние ко­ли­че­ства цве­тов при­во­дит к боль­ше­му чис­лу по­вто­ре­ний, что то­же очень бла­го­при­ят­но ска­зы­ва­ет­ся на эф­фек­тив­но­сти сжа­тия.

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

Ско­рее все­го, бу­дет пред­ло­же­но не­сколь­ко ал­го­рит­мов. Выби­рай­те тот из них, ко­то­рый поз­во­ля­ет ука­зать же­ла­е­мое ко­ли­че­ство цве­тов; ана­ли­зи­руя изоб­ра­же­ние, адап­тив­но под­би­ра­ет оп­ти­маль­ные зна­че­ния цве­тов па­лит­ры; поз­во­ля­ет управ­лять рас­три­ро­ва­ни­ем (англ. dithering). Боль­шин­ство ин­стру­мен­тов поз­во­ля­ют на­блю­дать, как из­ме­ня­ет­ся изоб­ра­же­ние при огра­ни­че­нии ко­ли­че­ства цве­тов в па­литре.

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

Обе ил­лю­стра­ции име­ют по 16 цве­тов в па­лит­ре, сле­ва  без рас­три­ро­ва­ния, спра­ва  рас­три­ро­ва­ние по ал­го­рит­му Флой­да-Штейн­бер­га. Наи­бо­лее за­мет­ные от­ли­чия в по­лу­то­нах под клю­вом.

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

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

При со­хра­не­нии изоб­ра­же­ния в фор­мат PNG мо­жет по­тре­бо­вать­ся за­дать сте­пень сжа­тия от 0 до 9. По ана­ло­гии с фор­ма­том JPEG этот по­ка­за­тель ино­гда оши­боч­но на­зы­ва­ют «ка­че­ством сжа­тия» (англ. quality), но в дей­стви­тель­но­сти, он ни­как не вли­я­ет на ка­че­ство изоб­ра­же­ния, а толь­ко на раз­мер по­лу­ча­е­мо­го фай­ла и на ско­рость са­мо­го про­цес­са сжа­тия. Поэто­му мож­но ре­ко­мен­до­вать все­гда ис­поль­зо­вать мак­си­маль­ный по­ка­за­тель сжа­тия 9.

комментировать
Copyright 2009 Sergey Kurakin