Pergunta

Seja paciente desde que eu não trabalhei com algoritmos de compressão muito pelo que esta pode ser óbvio para alguns de vocês. Algo que eu sempre notado quando alguns streaming de vídeo começa a lag. Eu só percebi que eu estava curioso quando se olha mais esta pergunta:

Twitter imagem codificação desafio

Eu não estou falando sobre os pixels em si, mas sim a grade como layout que resulta da compressão. Que tipo de algoritmo ou técnica é este indicativo de? O que você pode me dizer sobre isso?

Foi útil?

Solução

Dê uma olhada neste artigo da Wikipedia sobre MPEG-2 . Para citar uma parte dela:

Resumidamente, o quadro bruto é dividido em 8 pixels por 8 blocos de pixels. Os dados em cada bloco é transformado por uma transformação de coseno discreta. O resultado é uma matriz de oito por oito de coeficientes. A transformação converte espaciais variações em variações de frequência, mas isso não muda a informação no bloco; o bloco original pode ser recriada exatamente através da aplicação de transformar o co-seno inverso.

Em outras palavras, a grade-como a estrutura que você vê é um efeito direto dessa DCT sendo aplicada aos blocos 8x8 de pixels.

Outras dicas

A justificativa para blocos está ligado ao off trade local / frequência. A imagem é dividida em blocos antes da compressão no domínio espectral ( DCT ), de modo que os artefactos devido à compressão são mais localizada. Em JPEG padrão, os blocos são de tamanho constante em toda a imagem. Para os formatos mais recentes como JPEG2000, os blocos são adaptados para a imagem, usando wavelets. Eu não estou familiarizado com vídeo formatos detalhes, mas a lógica é a mesma.

Este é o mesmo fenômeno para a codificação de áudio (mp3): em vez de calcular o espectro de todo o arquivo de áudio, você dividir o arquivo em algumas seções de algumas amostras (algumas centenas geralmente para 44,1 sinais kHz). E da mesma forma, se houver corrupção dos dados compactados (rede, arquivo corrompido), você vai ouvir ruídos que são devidos às janelas desaparecidas.

É chamado macroblocking .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top