Por que a cor vermelha sempre aparece pixelizada na TV e nos vídeos no PC?

16

Espero que isso não esteja fora do tópico. Embora tecnicamente sobre produção de vídeo, não se trata de um problema que estou tendo.

Você já reparou na TV como a cor vermelha é sempre notavelmente pixelizada? É o mesmo porque, enquanto assiste a um vídeo no computador, também, seja um Blu-ray, DVD, um vídeo reproduzido diretamente do disco ou um vídeo sendo transmitido da Internet. Nenhum outro que eu conheço parece pixelizado como a cor vermelha. Percebi isso desde que me lembro de começar com o DVD. Não assisti a nenhuma fita VHS por muitos e muitos anos, então não posso dizer se essa pixelização ocorre ou não com fitas, mas faria sentido pensar que não ocorreria, pois são analógicas.

BTW, pesquisei on-line e encontrei muitas pessoas fazendo as mesmas perguntas, mas ainda não vi uma resposta real.

Aqui está um exemplo de pixelização vermelha que eu encontrei no YouTube, embora o mesmo ocorra mesmo nas transmissões de TV. Embora você ainda possa vê-lo no tamanho real, o zoom permite ver o quão pixelizada é a cor vermelha em comparação com o restante das cores que realmente não são pixelizadas. Duvido fortemente que isso seja apenas uma anomalia visual. Em vez disso, acredito que tenha a ver com o processamento da cor vermelha durante a codificação.

insira a descrição da imagem aqui

oscilatingcretin
fonte
Nunca notei isso com vermelho - no entanto, noto que o azul às vezes faz algo que corresponde à sua descrição.
Dr. Mayhem

Respostas:

17

Não é uma ilusão - é chamada de subamostragem de croma.

A maioria dos codecs de vídeo não representa cores em resolução total. Isso permite uma compressão "com perdas" mais eficiente, porque tira vantagem do fato de o olho humano ser mais sensível ao brilho ("luma") do que a cor ("chroma"). A maioria dos codecs com perdas diminui a resolução do chroma para metade ou um quarto da resolução geral; portanto, você pode obter apenas um pixel de cor para cada quatro pixels de brilho. Isso diminui drasticamente a quantidade de dados necessários, com apenas uma pequena perda de qualidade aparente.

No entanto, é um pouco mais complicado: o brilho é realmente composto pela soma dos três componentes de cores Vermelho, Verde e Azul. E eles não são codificados como RGB, isso exigiria mais largura de banda, são codificados como YUV. Y corresponde aproximadamente ao componente verde, e U e V são Y menos o componente vermelho e Y menos o componente azul (uma aproximação grosseira, na verdade - se você quiser que toda a fórmula veja aqui ).

Na maioria dos codecs, os componentes U e V são amostrados em uma resolução menor que a Y. isso é expresso na proporção de três vias que você costuma ver se fica muito tempo nos fóruns de vídeo, por exemplo, 4: 2: 2 ou 4: 2: 0 Para um retângulo de duas linhas de pixels, os números representam:

"largura da região da amostra (amostras Y)": "amostras de UV na primeira linha": "amostras de UV adicionais na segunda linha"

Um exemplo comum dessa notação está no nome do codec "proRes422". A parte 422 do nome vem de 4: 2: 2, ou seja, para cada retângulo 4x2, haverá 4 amostras Y em cada linha 2 amostras UV na primeira linha ( metade da resolução horizontal) e 2 amostras de UV na segunda linha. Portanto, o proRes422 tem metade da resolução de croma do luma.

Na internet e na televisão, é provável que você esteja vendo tudo em um codec 4: 2: 0. Em cada retângulo 4x2 da imagem, existem apenas duas amostras de UV (o 0 significa que não há amostras adicionais na segunda linha). Portanto, a parte colorida da imagem é composta por pedaços com tamanho de 2x2 pixels, ou seja, um quarto da resolução.

Isso significa que o canal vermelho por si só tem um quarto da resolução da imagem geral.

TL; DR, o vermelho parece pixelizado - porque realmente é .

stib
fonte
1
Para adicionar isso, eu consideraria a pixelação um bug, o chroma pode ser e deve ser aumentado usando um algoritmo bilinear ou melhor, mas o Windows não parece fazer o upscaling corretamente, aplicativos de terceiros como o Kodi, que implementam o upscaling no sombreadores de pixel não mostram esse artefato. Você pode ver aqui com o bilinear ativado: i.imgur.com/ZWjVHdi.png
Daniel Hill
Este é um bom ponto. Seria interessante ver uma comparação entre diferentes players para ver como eles aumentam o nível do chroma.
Stib # 5/18
4

É um problema bem conhecido que o componente vermelho nos dispositivos de vídeo sofre na apresentação.

O motivo é o comprimento de onda longa da cor vermelha e nossos olhos respondem mais a faixas de ondas longas (para não confundir com a sensibilidade da cor que estaria na faixa verde-amarela).

Para que possamos perceber as cores como iguais (ref. Responsividade), o verde e o azul são compensados ​​no sinal de vídeo. Isso faz com que o vermelho tenha uma representação "mais fraca" no sinal e durante seu ciclo de vida com deterioração do sinal, o tipo de vermelho sofre primeiro, o que resulta em aumento de ruído e manchas.

No passado, com sinais analógicos, o verde era priorizado na cor. O sinal é compensado aproximadamente assim:

Gráfico de compensação RGB

O problema com o componente vermelho é o mesmo para o sinal digital analógico e comprimido por perda. A área do vermelho é reduzida, portanto, é mais pixelizada.


fonte
3

Embora o vermelho puro seja difícil de combinar, em parte devido à nossa sensibilidade visual nessa região, nunca notei nenhuma tendência de o vermelho "pixelizar" mais do que qualquer outra cor. Talvez você esteja vendo um artefato de compressão? Você também vê isso em displays não eletrônicos, como sinais de contraluz, etc.?

Outra resposta aqui afirma que os fabricantes mantiveram segredos sobre os sinais de cores. Isso seria estranho, uma vez que todos os equipamentos precisavam interoperar. De fato, a porcentagem de cada RGB em branco está bem documentada - nos dias analógicos NTSC era de 59% G, 30% R e 11% B. É um pouco diferente na transmissão digital.

Houve diferenças de fósforo e matrizes entre os fabricantes de TRC e outras diferenças entre os sistemas dos EUA e da UE, mas todos são / eram bem conhecidos e padronizados.

Jim Mack
fonte
2

Eu acho que o problema que você vê aqui é realmente por causa de pixels brilhantes contra um fundo muito escuro.

A maioria das compressões com perdas leva em consideração que somos muito mais sensíveis às diferenças de luminosidade do que às diferenças de cores. Dependendo do codec usado e das opções de codificação escolhidas, os blocos usados ​​para aproximar o vídeo podem ter tamanho fixo, o que parece ser o problema em seu vídeo. Ao chegar às bordas da luz, você encontra bordas que não podem ser quantificadas apenas com o bloco grande.

Muitos codecs oferecem suporte à subamostragem, onde os blocos maiores são subdivididos em blocos menores. Pode não haver largura de banda disponível suficiente (especialmente comum em fluxos de taxa de bits fixa) para usar a subamostragem, a opção pode não ter sido ativada ou o codec usado.

Em resumo, você encontrou uma parte do quadro que é difícil de codificar com muitos codecs com perdas e se torna facilmente visível, dependendo da configuração do codificador.

Brad
fonte
Eu suspeito que também possa ter a ver com a pureza da cor. As outras cores também estão sendo quantizadas da mesma maneira que o vermelho, mas cada cor é tratada individualmente, de modo que a área média se sobrepõe a três cores e elas se ocultam. O vermelho no quadro de amostra é bastante puro.
11132 horatio
0

NÃO. A codificação 422 / YUV tem um problema específico com vermelho altamente saturado, e é por isso que projetar um vermelho brilhante para uma estação de transmissão de televisão é simplesmente ignorância. É necessário diminuir os valores de luma e chroma do vermelho, principalmente os gráficos, para até 90% e, em seguida, também parte do restante dos tons, para que fique perceptivelmente o mesmo. Classificação técnica. Tris

Tristan Summers
fonte