Como os pixels são realmente mostrados em exibição [closed]

1

Passo muito tempo olhando vídeos em bruto no formato YCbCr. Comecei a pensar sobre o que é realmente mostrado no visor e como os pixels acabam lá.

Nenhuma exibição pode manipular dados YCbCr, então acho que tudo é convertido para RGB em algum lugar. YCbCr- > RGB � contudo, um neg�cio complicado, ver p. link

Se eu fizer a conversão YCbCr para RGB, tenho a garantia de que os valores de pixel que tenho são os que estão sendo exibidos?

Falta de obter um monitor Eizo calibrado por hardware como os mostrado aqui:

link

existeumamaneiradetertantocontrolequantopossívelsobreo"pipeline" para a exibição (ou seja, meus pixels não são convertidos no maneira) Estou pensando talvez nvidia / gpu / opengl e movendo tudo como perto do HW quanto possível; então para o meu cartão gráfico, pelo menos eu sei o que eu estou olhando.

Existe um formato RGB que é nativo para placa gráfica e que não requer conversão adicional? YCbCr é 8bpp e estou pensando em RGB de 4: 4 de 4: 4.

Estou principalmente em um sistema linux, se isso faz diferença. Atualmente estou usando o link Há também link mas eu não explorei esse caminho ainda.

Ou, talvez tudo isso seja estúpido e paranóico: -)

    
por Fredrik Pihl 24.05.2013 / 23:22

1 resposta

3

Isso é um monte de perguntas, vou tentar responder pelo menos algumas delas.

No display can handle YCbCr-data so I guess everything gets converted to RGB somewhere.

Todos os monitores usam RGB. Nos LCDs, cada pixel consiste em três subpixels em três cores básicas. Então você está certo, tudo deve ser convertido em RGB para ser exibido.

If I do the YCbCr- to RGB-conversion, am I guaranteed that the pixel-values I have are the ones being displayed?

Depende do que você quer dizer. Você tem a garantia de que os resultados exatos da conversão serão exibidos. Então, depende dos resultados da conversão e esses dependem do gama que você está usando.

is there a way to have as much control as possible over the "pipeline" to the display (i.e. my pixels do not get converted on the way) I'm thinking perhaps nvidia/gpu/opengl and moving everything as close to the HW as possible; then for my graphic-card at least I know what I'm looking at.

Uma vez que a imagem é convertida para RGB, ela não é mais modificada (a menos que você use f.lux ou software similar). Não importa se está mais perto de hardware ou não, é apenas um monte de pixels e nada irá modificá-los após a conversão para RGB (a menos que você peça algo para, como com o f.lux mencionado, software de correção de cor ou edição de vídeo programas que podem aplicar filtros de cor).

YCbCr is 8bpp and I'm thinking 32-bit RGB 4:4:4.

Eu acho que você está misturando algumas coisas ou eu não entendo o que você quer dizer. Primeiro, o RGB de 32 bits não pode ser 4: 4: 4, porque você não pode dividir igualmente 32 bits em 3 canais de cor. (10 bits para R, 11 bits para G, 11 bits para B?) O RGB de 32 bits na verdade consiste em três canais de cor de 8 bits e um canal de transparência de 8 bits. Vídeos não têm transparência, então eles trabalham com RGB de 24 bits. (8 bits para cada canal)

Eu não sei como o YCbCr é salvo em formato digital, mas tenho certeza que não é de 8 bits, pelo menos supondo que estamos falando sobre o tamanho total de um pixel. (se você quer dizer canais de cores de 8 bits, então é exatamente como em RGB) os pixels de 8 bits podem conter até 256 cores. RGB de 24 bits tem mais de 16 milhões de cores.

Is there a RGB-format that is native for graphics card and that doesn't require any further conversion?

Então você quer pixels RGB não-processados? Bem, existem esses formatos de imagem e vídeo, mas os vídeos não compactados ocupam muito espaço. Vamos fazer um cálculo rápido para um vídeo de 24 bits de 24 bits a 1080p:

3B * 1920px * 1080px * 24fps = 149299200B

Assim, cada segundo de vídeo 1080p bruto não comprimido pesa mais de 140 MB. Isso significa que você pode ter até 5 minutos e meio de vídeo em um disco Blu-Ray padrão da indústria. Não é realmente um bom negócio, eu acho;)

    
por 25.05.2013 / 01:24