Compressão de Vídeo: Qual é cosseno transformada discreta?

votos
15

Eu tenho implementado uma técnica de transformação de imagem / vídeo chamado transformar cosseno discreta. Esta técnica é usada na codificação de vídeo MPEG. Baseei meu algoritmo sobre as ideias apresentadas no seguinte URL:

http://vsr.informatik.tu-chemnitz.de/~jan/MPEG/HTML/mpeg_tech.html

Agora eu posso transformar uma seção 8x8 de uma imagem em preto e branco, tais como:

0140 0124 0124 0132 0130 0139 0102 0088  
0140 0123 0126 0132 0134 0134 0088 0117  
0143 0126 0126 0133 0134 0138 0081 0082  
0148 0126 0128 0136 0137 0134 0079 0130  
0147 0128 0126 0137 0138 0145 0132 0144  
0147 0131 0123 0138 0137 0140 0145 0137  
0142 0135 0122 0137 0140 0138 0143 0112  
0140 0138 0125 0137 0140 0140 0148 0143 

Dentro deste uma imagem com todas as informações importantes na parte superior direita. O bloco transformado parece com isso:

1041 0039 -023 0044 0027 0000 0021 -019  
-050 0044 -029 0000 0009 -014 0032 -010  
0000 0000 0000 0000 -018 0010 -017 0000  
0014 -019 0010 0000 0000 0016 -012 0000  
0010 -010 0000 0000 0000 0000 0000 0000  
-016 0021 -014 0010 0000 0000 0000 0000  
0000 0000 0000 0000 0000 0000 0000 0000  
0000 0000 -010 0013 -014 0010 0000 0000  

Agora, eu preciso saber como posso aproveitar essa transformação? Eu gostaria de detectar outros blocos 8x8 na mesma imagem (ou outra imagem) que representam um bom jogo.

Além disso, O que é que esta transformação me dar? Porque é que a informação armazenada no canto superior direito da imagem convertida importante?

Publicado 07/08/2008 em 12:04
fonte usuário
Em outras línguas...                            


6 respostas

votos
14

O resultado de uma transformada discreta de cosseno é uma transformação da fonte original no domínio da frequência. A entrada superior esquerdo armazena os a "base" aumentos "amplitude" de frequência e de frequência tanto ao longo dos eixos horizontal e vertical. O resultado da transformada discreta de cosseno é geralmente um conjunto de amplitudes nas frequências mais habituais inferiores (quadrante superior esquerdo) e menos registos com as frequências mais elevadas. Como lassevk mencionado, é usual apenas zerar essas frequências mais altas, como eles normalmente constituem partes muito pequenas da fonte. No entanto, isso não resultar em perda de informações. Para completar a compressão é comum usar uma compressão sem perdas sobre a fonte DCT'd. Este é o lugar onde a compressão entra como todas aquelas corridas de zeros chegar embalado para baixo para quase nada.

Uma possível vantagem de usar o DCT para encontrar regiões semelhantes é que você pode fazer a primeira partida transmitir valores de baixa frequência (canto superior esquerdo). Isso reduz o número de valores que você precisa para o jogo contra. Se você encontrar correspondências de valores de baixa frequência, você pode aumentar em comparar as freqüências mais altas.

Espero que isto ajude

Respondeu 09/08/2008 em 02:03
fonte usuário

votos
4

Eu aprendi tudo o que sei sobre o DCT de compressão Data Book . Além de ser uma ótima introdução para o campo de compressão de dados, que tem um capítulo perto do final na compressão de imagem com perdas que introduz JPEG ea DCT.

Respondeu 12/08/2008 em 09:28
fonte usuário

votos
2

Os conceitos subjacentes a esses tipos de transformações são mais facilmente visto por primeiro olhar para um caso unidimensional. A imagem aquimostra uma onda quadrada, juntamente com vários dos primeiros termos de uma série infinita. Olhando para ele, note que se as funções para os termos são somados, eles começam a aproximar a forma da onda quadrada. Os termos mais você somar, melhor será a aproximação. Mas, para começar a partir de uma aproximação ao sinal exata, você tem que somar um número infinito de termos. A razão para isto é que a onda quadrada é descontínua. Se você pensar em uma onda quadrada como uma função do tempo, ele vai de -1 a 1 no tempo zero. Para representar tal coisa requer uma série infinita. Tome um outro olhar para a trama dos termos da série. O primeiro é vermelho, a segunda amarelo. termos sucessivos têm mais "para cima e para baixo" transições. Estes são a partir do aumento da frequência de cada termo. Furar com a onda quadrada como uma função de tempo,

No mundo real, não há ondas quadradas. Nada acontece no tempo zero. Os sinais de áudio, por exemplo, ocupar o intervalo 20Hz a 20Khz, onde Hz é 1 / tempo. Essas coisas podem ser representados com a série finita.

Para imagens, a matemática é o mesmo, mas duas coisas são diferentes. Primeiro, é bidimensional. Segundo a noção de tempo não faz sentido. No sentido 1D, a onda quadrada é meramente uma função que dá algum valor numérico para um argumento que disse era hora. Uma imagem (estático) é uma função que dá um valor numérico para para cada par de linha, indeces coluna. Em outras palavras, a imagem é uma função de um espaço 2D, que sendo uma região retangular. Uma função como que pode ser representado em termos da sua frequência espacial. Para entender o que freqüência espacial é, considere uma imagem dos níveis de cinza de 8 bits e um par de pixels adjacentes. A transição mais abrupta que pode ocorrer na imagem vai de 0 (dizer preto) a 255 (dizer branca) sobre a distância de 1 pixel.

Um dois Fourier dimensional (ou co-seno) transformação dos resultados de imagem em uma matriz de valores do mesmo tamanho que a imagem, que representa a mesma informação não como uma função de espaço, mas uma função de 1 / espaço. A informação é ordenada menor para o maior frequência ao longo da diagonal da origem mais altos de linha e coluna indeces. Um exemplo é aqui .

Para compressão de imagem, você pode transformar uma imagem, descartar algumas número de termos de frequência mais alta e transformada inversa os restantes de volta a uma imagem, que tem menos detalhes do que o original. Embora se transforma de volta para uma imagem do mesmo tamanho (com os termos removidos substituídos por zero), no domínio da frequência, que ocupa menos espaço.

Outra maneira de olhar para ele é reduzir uma imagem para um tamanho menor. Se, por exemplo, você tentar reduzir o tamanho de uma imagem jogando fora três de cada quatro pixels em uma fileira, e três de cada quatro linhas, você terá uma série de 1/4 do tamanho, mas a imagem vai olhar terrível. Na maioria dos casos, isso é feito com um interpolador 2D, que produz novas pixels pela média de grupos retangulares de pixels maior de imagem. Ao fazê-lo, a interpolação tem um efeito similar jogar fora termos da série no domínio da frequência, só que é muito mais rápido para computar.

Para fazer mais coisas, eu estou indo para se referir a uma transformação Fourier como um exemplo. Qualquer boa discussão do tema irá ilustrar como o Fourier e transformação Cosine estão relacionados. A transformação de Fourier de uma imagem não pode ser visualizado directamente, como tal, porque ele é feito de números complexos. Já está segregado em dois tipos de informação, as partes reais e imaginárias dos números. Normalmente, você verá imagens ou parcelas destes. Mas é mais significativa (geralmente) para separar os números complexos em seu ângulo magnitude e fase. Isto é simplesmente tomar um número complexo no plano complexo, e a mudança para coordenadas polares.

Para o sinal de áudio, pense das funções sin e cosseno combinados tomam uma quantidade attitional em seus argumentos para mudar a função frente e para trás (como parte da representação do sinal). Para uma imagem, a informação de fase descreve como cada termo da série é deslocado em relação aos outros termos no espaço de freqüência. Nas imagens, bordas são (espera-se) de modo distinto, que eles estão bem caracterizados por menor em termos de frequência em domínio de frequência. Isso não acontece porque eles são transições bruscas, mas porque eles têm, por exemplo, um monte de área preta ao lado de um monte de área mais clara. Considere uma fatia dimensional de uma borda. O nível de cinza é zero, então a transição para cima e permanece lá. Visualizar a onda sinusoidal que caracterizaria ser o primeiro termo aproximação onde cruza ponto médio da transição de sinal no sen (0). O ângulo de fase deste termo corresponde a um deslocamento no espaço de imagem. Um grande illustraion isso está disponívelaqui . Se você está tentando encontrar formas e pode fazer uma forma de referência, esta é uma maneira de reconhecê-los.

Respondeu 01/01/2014 em 00:41
fonte usuário

votos
1

A resposta de Anthony Cramp parecia bom para mim. Como ele menciona a DCT transforma os dados no domínio da frequência. A DCT é muito utilizada na compressão de vídeo como o sistema visual humano é necessário menos sensível às mudanças de alta freqüência, portanto, zerando os valores mais elevados de frequência resulta em um arquivo menor, com pouco efeito sobre a percepção de um ser humano da qualidade do vídeo.

Em termos de utilização da DCT para comparar imagens, eu acho que o único benefício real é se você cortar os dados de frequência mais elevadas e, portanto, têm um conjunto menor de dados de pesquisa / jogo. Algo como wavelets Harr pode dar melhores resultados de imagem correspondentes.

Respondeu 27/08/2008 em 12:33
fonte usuário

votos
1

Eu recomendo pegar uma cópia de Digital Video Compression - é realmente uma boa visão geral de algoritmos de compressão de imagens e vídeo.

Respondeu 10/08/2008 em 02:39
fonte usuário

votos
1

Se bem me lembro, esta matriz permite que você salve os dados para um arquivo com compressão.

Se você ler mais abaixo, você encontrará o padrão zig-zag de dados para ler de que a matriz final. Os dados mais importantes estão no canto superior esquerdo, e menos importante no canto inferior direito. Como tal, se você parar de escrever em algum momento e apenas considere o resto como 0 do, mesmo que eles não são, você vai ter uma aproximação com perdas da imagem.

O número de valores que você joga fora a compressão é aumentada à custa de fidelidade da imagem.

Mas tenho certeza que alguém pode lhe dar uma explicação melhor.

Respondeu 07/08/2008 em 12:08
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more