Menu
Tutoriais de pintura 2D, etc...
Tutoriais de 3DMAX.
Galeria
Gente talentosa.
Entrevistas
Artigos  sobre CG

Meus sites favoritos
Anuncie - Advertise

Home
Go Back

  ARTIGO : BITS e FORMATOS de IMAGEM
  AUTOR : Marcelo Souza
   Um usuário da lista 3DOnline mandou um mail na mesma, perguntando assim :
   "-E aí, pessoal? Quais são as diferenças dos 16, 24 ou 32bits/pixels do arquivo TGA?"

   
Como a pergunta/resposta pode ajudar a muitos a entender melhor essa relação, e o porquê de ser "assim", ou "assado", resolvi pegar a resposta que mandei pra lista, e colocar como um artigo nesta seção.
    Isso não é um documento, nem baseado em livros técnicos, somente uma dissertação sobre o que eu deduzi com o tempo, trabalhando com eletrônica, na minha época de técnico, e atualmente como animador 3D...Divirtam-se :


   Para se ter 256 valores de cores, é preciso 8 bits. Ou seja um numero binário como esse por exemplo, tem 8 dígitos, ou 8 Bits :
00000001

Pra quem estudou matemática, e combinatória, sabe que pra saber quantas combinações diferentes de 0 e 1 poderíamos ter com 8 posições e dois dígitos diferente (0 e 1) ???
Fácil...2 elevado a 8... Ou 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 256 , certo ?
Então poderíamos ter 256 combinações de números de 8 dígitos formados por ZEROs e UMs... Assim, em 8 Bits, podemos armazenar 256 valores diferentes, que vão do 0 = 00000000 à 255 = 11111111

Tão acompanhando ??? :)
Beleza...Continuando...

   Em formatos de cores indexadas como GIF, que não se chamam formatos RGB, temos todas as cores, mostradas somente por 8 bits, ou seja, só podemos ter 256 tons diferentes em cada imagem. Por isso as gifs tem aqueles pontinhos, quando se tenta converter uma imagem de muitas cores, em .GIF...As Gifs, podem ter 1nível de transparência, que liga ou desliga, esse é o FLAG de transparência, que é só ON ou OFF, só tem uma posição, que só pode ser 0 ou 1, assim, os GIFs não podem ter vários niveis de transparência...

   Então, na verdade quando falamos 8 bits de cor, e estamos falando do sistema RGB e não o sistema indexado, temos cada cor final formada de 3 cores básicas RGB ( RED, GREEN e BLUE)...Assim temos 8 bits de formação para cada cor. Ou seja, Podemos ter de 0 a 255 tons de cada cor básica, seja ela Vermelha (RED), Verde (Green), ou Azul (Blue).
  Cada tons de cada umas dessas cores básicas pode ser misturado com as outras duas cores, para formar uma cor final na tela...Dai entramos na matemática novamente...Se temos 256 tons em 3 cores diferentes, podemos fazer uma combinatória novamente para saber quantos tons final poderíamos ter : 256 x 256 x 256, e isso dá aproximadamente = 16.777.216...Arredondando, o famoso patamar de 16 milhões de cores. :)

   Como temos 3 componentes de 8 bits cadas, temos na verdade 8 de RED + 8 de GREEN + 8 de BLUE, temos 24 Bits de cor. Por isso chamamos de 24 Bits...
Então nessa faixa, temos os arquivos tipo JPG, por exemplo...
Ahhh..E a transparência onde fica...??? Bom...Pra termos informação de transparência, precisamos de 1 bit pelo menos...Lembram que falei sobre as GIFS... ??
   Pô...Mas 1 Bit pra transparência é muito pouco, pois, como nas GIFS, não se pode ter nuances de transparência...Com 1 Bit, ou é transparente total, ou é opaco total...Então, que tal 8 bits de transparência ???

   Bom né...? Então foram criados formatos de arquivo que suportam um pouco mais de BITS, na verdade mais 8 Bits, além dos já famosos 24 bits... Então temos 24 + 8 de transparência dá um total de 32 bits !!! Temos agora todas as cores dos 24 bits, mais 256 niveis de transparência, o que é bastante comparado ao mísero 1 nível das Gifs...E então se chegou ao padrão de imagem do mercado...32 bits...

   E por ai, nasceu o canal Alpha !!! : ) Que nada mais é que esses 8 bits à mais, representados em forma de uma imagem de 256 tons. Já que esse canal só regula os níveis de transparência de cada ponto na imagem, ele é basicamente representado por 256 niveis que vão do 0 (preto total), ao 255 (Branco total). Como a informação registrada nesse canal de 8 bits só serve para transparência mesmo, não é necessário cores nesse canal, então o alpha é representado por uma imagem MONOCROMÁTICO, ou seja, só tem tons do preto ao branco. Que representam graficamente os niveis de transparência da imagem.

   E assim que funcionam dezenas de outras coisas no MAX, como Mapa de opacidade, Mapa de Bump, Mapa de Specular, Mapa de Glossiness, etc...São basicamente mapas de informação, geralmente de 8 bits, colocados como imagens de tons de preto ao branco, que controlam esses efeitos dentro do MAX, baseados na informação dessas imagens. :)

   Os formatos de 24/32 bits mais famosos e usados no mundo, são sem dúvida, os formatos TGA e TIFF.
   Como os Jpgs ainda não suportam essa informação à mais de 8 bits, eles se limitam a ter somente 24 bits...Ou seja, não é possivel ter transparência embutida em uma imagem JPG. Mas parece que isso vai mudar com uma revisão do formato...O Tal do JPG 2000 ... (Não tenho certeza dos detalhes, procurem mais infos sobre isso...)

   Os Arquivos que tem mais um canal, ou seja, tem esses 8 bits a mais, de transparência, são chamados arquivos RGB com alpha, ou simplesmente RGBA. O "A", é claro, de ALPHA CHANNEL. :)

   Em cinema, um frame digitalizado para ser manipulado com qualidade, não pode ter, por exemplo, as famosas 16 milhões de cores, pois elas são pouco para representar uma gama enorme de sutilezas de claro e escuro, penumbra, e o imenso volume de informação que uma tela do tamanho das de Cinema trás, bem como a riqueza de detalhes, luz, profundidade de campo, texturas, etc...Por isso, em cinema se trabalha normalmente com mais de 8 Bits por canal...Por exemplo...Com 30/40 Bits...Pode-se usar o padrão normal de 8 bits para cinema, sem problemas, porém podendo usar uma profundidade de cores, maior, é sempre bem melhor.

   Vamos ver se vocês adivinham...30/40 bits...O que seria isso em cores...

R = 10 Bits
G = 10 Bits
B = 10 Bits
A (Alpha) = 10 bits

   Assim temos muiiiiito mais possibilidades de cores e nuances com transições super suaves e naturais, pois temos ai uma gama de 10 bits por canal, ou seja, 2 elevado a 10 possibilidades por canal...Isso dá 1024 tons de cada canal...Pra saber o total de cores final : 1024 x 1024 x 1024 = 1.073.741.824....Ops...Aprox...1 Bilhão e 73 mil cores diferentes na tela ao mesmo tempo. :) Acho que já é mais que o suficiente para se ter fidelidade de um frame digitalizado da película. :)

   Existem alguns formatos que aceitam 10 bits por canal...Como o Cineon, e o PNG...E Pasmem... O PNG, suporta até 16 Bits por canal !!!
   Alias...Pra quem não sabe, internamente o MAX processa as imagens, calculando-as a 16 bits por canal, ou seja, com uma gama de 281.474.976.710.656...heheh...Só isso de cores... :) Tudo isso pra posterizar a imagem final pro formato desejado, seja usando 24, 30 ou 48 bits de total de cores. :)

   Agora que já queimamos dezenas de neurônios...Vamos pensar melhor na lógica das imagens, e de como elas funcionam dentro dos programas. :) E que por trás da imagem mais simples existe toda essa complexidade... heheh...

   Ass.:Marcelo Souza