Páxina de recursos

ir a Versión en castellano >>

 

POR QUE A 16 BITS

Dun tempo a esta parte, interpretamos 16 bits como sinónimo de nivel profesional, tanto no tratamento dixital como nas prestacións de cámaras, escáneres ou programas. Pero, ¿é preciso realmente traballar a 16 bits? ¿Cales son as vantaxes de empregar unha gama tonal moito maior que a que os nosos ollos son quen de discriminar?

Xa vimos no artigo anterior cómo a información de cor dunha imaxe dixital se organiza en canles, e que o usual nos modos de cor máis comúns é que cada píxel sexa descrito cun byte de información por cada primario ou canle.

A profundidade de bits é, nestes casos, igual ao número de canles multiplicado por 8. Por exemplo, as canles RGB teñen unha profundidade de 24 bits, ou o que é o mesmo, 3 bytes. Se elevamos 2 a unha potencia igual á profundidade de bits, obteremos o número de cores reproducibles. Así, en RGB, 2 elevado a 24 son 16,77 millóns, mentras que unha escala de grises, monocanle, queda en 2 elevado a 8, que son 256.

Gama tonal e continuidade
Dispoñer de varios millóns de cores reproducibles e de 256 niveis de luminosidade é máis que dabondo para que percibamos os degradados e variacións de cor como algo perfectamente continuo, sen escalóns.

O problema chega ao retocar as imaxes, modificándoas dentro desta gama de valores discretos mediante técnicas de procesado dixital, que non son outra cousa que cálculos matemáticos. Prodúcese así unha degradación na continuidade dos tons.

As razóns son de aritmética sinxela. Supoñamos que temos 6 valores enteiros: 1, 2, 3, 4, 5, e 6, e que realizamos tres multiplicacións consecutivas: por 4/3, por 1/2 e por 3/2. En teoría, o resultado final é o mesmo que o inicial. Na práctica, sen embargo, depende do nivel de aproximación que permita a escala.
Vexamos o que acontece se cada operación ten que redondearse a un número enteiro:

Redondeo de cada cálculo ao número enteiro máis próximo

Supoñamos agora que se nos permite aproximar un decimal. Os cálculos xa serían diferentes:

Redondeo de cada cálculo ao primeiro decimal máis próximo

A escala do segundo cálculo, ao ter 10 pasos por cada un da anterior, reduce moitísimo as desviacións debidas ao redondeo. Valoremos agora o que significa traballar a 16 bits por canle: movémonos nunha escala que ten 256 pasos por cada un dos 256 da escala de 8 bits, é dicir, un total de 65.536.

Compresión e expansión
Parece evidente que o segundo caso resiste moito máis a posterización. Podemos comprobalo cunha proba sinxela. Observemos o histograma seguinte, nunha imaxe de 8 bits por canle, sobre o que facemos coa ferramenta Niveis de Photoshop un movemento co regulador gris para escurecer los tons medios:

Como consecuencia, os píxeles que ocupaban os primeiros 128 valores comprémense en 64 niveis, producíndose unha superposición en varios deles. Mentras tanto, os que ocupaban os 128 valores claros, distribúense nos restantes 192, deixando algúns espacios baleiros.

O histograma resultante amosa os efectos desta perda de rango por unha banda, e de continuidade pola outra. É o que coñecemos como efecto peine:

Aplicando o axuste de niveis inverso, a imaxe debería recuperar o seu aspecto orixinal, pero aínda que visualmente non se aprecie, o histograma empeora. Unha análise do mesmo indica que os cambios na metade escura, que sufriu compresión tonal, non son recuperables, e que os da metade clara só o serán se a compresión se corresponde coa expansión do primeiro movemento:

Sen embargo, se convertemos primeiro a foto a 16 bits por canle e realizamos logo as dúas operacións de axuste, o histograma recupera o seu perfil inicial, porque non houbo superposición de grupos de píxeles na primeira:

De feito, neste último histograma apréciase o efecto peine na zona esquerda, mais é enganoso se non se interpreta ben. Estanos informando de que hai certa proporción de valores desocupados nese rango, pero refírese á escala de 16 bits (65.536 valores).

Se convertemos a imaxe a 8 bits, veremos un histograma moito máis semellante ao inicial que se tivésemos feito as modificacións a 8 bits:

¿Cando paga a pena?
A conclusión que se impón é que a profundidade de bits expandida é aconsellable na medida en que vaiamos facer procesos de axuste complexos, xa que proporciona espacio para manobrar cómodamente preservando a continuidade.

Poden aproveitarse as súas vantaxes en imaxes de 8 bits, convertíndoas, e tamén cando a captura en orixe xa ten unha profundidade ampla, como pode ser a dixitalización mediante escáner ou os datos RAW dunha cámara. O inconveniente é duplicar o peso informático do arquivo, pero sempre podemos converter a 8 bits para gardar a versión final.

É ben comentar, finalmente, que os datos RAW de moitas cámaras están cuantificados aos 12 bits que permite a fiabilidade da súa tecnoloxía, pero anótanse a 16 por razóns obvias de estandarización e compatibilidade co software. Os 4 bits sobrantes, que son idénticos en todas as mostras, non merman o aproveitamento das tarxetas de memoria agora que na propia cámara se aplica compresión sen perdas.

Pois ben, calquera axuste no proceso dos datos RAW facémolo xa nun espacio de 16 bits. Por tanto, non temos 4.096 niveis por canle, senón 65.536. Vendo os histogramas dos exemplos, podería pensarse mesmo que esta maior continuidade non se chegaría a aproveitar, xa que os píxeles de cada un dos 4.096 grupos deambularían xuntos pola escala de 16 bits. Mais isto somentes é así nas operacións que temos definido algunha vez como de mellora global: niveis, curvas, brillo, contraste, etc. Nas de mellora local -enfoques, filtros- en que cada píxel se modifica en relación aos que o arrodean, os valores resultantes si que se distribuirían por toda a escala disponible.