Esquemas de compactação de imagem / vídeo extremamente intensivos em computação que oferecem melhor compactação do que o padrão JPEG / H.264 do setor

8

Estou tentando procurar esquemas de compactação de imagem / vídeo que ofereçam desempenho de compactação superior (mantendo a qualidade da imagem constante) quando comparados aos padrões amplamente adotados no setor (por exemplo, JPEG / H.264), mas por motivos de serem demasiado computacionais ou de recursos intensiva, implementá-las em estações de trabalho baseadas em CPU é inviável e, portanto, não é adotada em padrões comuns.

Eu só conseguia pensar na compressão fractal como um bom exemplo. A comunidade conhece mais desses exemplos?

Ang Zhi Ping
fonte
2
No que diz respeito às imagens, existem algoritmos mais sofisticados que o JPEG, como o JPEG2000. O JPEG2000 fornece taxas de compactação aprimoradas, mas não tenho certeza de que sua falta de adoção se deva à complexidade computacional. Além disso, o JPEG é considerado "bom o suficiente" para a maioria dos aplicativos, portanto não há motivação real para usar algo melhor (especialmente porque o armazenamento em disco é muito abundante nos sistemas modernos). Quem se preocupa com a máxima qualidade de imagem, como fotógrafos profissionais, geralmente evita a compactação, confiando nas capturas brutas das saídas dos sensores de imagem.
Jason R
Eu acho que a qualidade do JPEG depende mais da quantidade de dados que você joga fora do que de quanto tempo você gasta na computação.
Endolith
11
As transformações de Análise de componentes principais / KLT / Hotelling podem fazer um trabalho muito melhor do que o DCT na representação de um sinal com um pequeno número de funções básicas, mas são bastante computacionais. Não tenho certeza se alguém realmente fez esquemas de compressão completos com eles.
precisa saber é
@eglaser: Gostaria de elaborar sobre PCA / KLT / Hotelling? Seria bom se você pudesse postar sua resposta como resposta.
Ang Zhi Ping
11
@eglaser KLT é melhor que o DCT em termos de compactação de energia. No entanto, isso não significa necessariamente que é um codec melhor; isso ocorre porque o KLT para cada peça de imagem / vídeo é único e, portanto, não apenas você precisa transmitir coeficientes resultantes, mas também deve enviar o kernel.
Dipan Mehta 19/01/12

Respostas:

8

Existem vários aspectos da compactação - se você está se referindo a imagem ou vídeo. (O áudio pode ser totalmente diferente, por isso não estou referindo isso aqui).

Se você realmente observar o histórico do padrão de compressão, quando eles foram formados - os codificadores MPEG1 em tempo real eram raros. A CPU naquele momento não era suficiente para torná-la em tempo real; no entanto, não foi a complexidade do processamento (sozinha) que interrompeu o uso de algoritmos de mais complexidade nos codecs. (Provavelmente, o principal fator responsável pela inclusão / exclusão de determinados algoritmos foi: a. Patentes, b. Viabilidade da implementação).

No entanto, gostaria de reformular a pergunta um pouco mais simples:

Que outras pesquisas em compactação estão disponíveis e que ainda serão lançadas no mercado (ou não chegaram, mas podem valer a pena para algumas aplicações)?

Aqui estão alguns pontos a serem observados:

1. Melhor transformar?

O DCT foi de longe a transformação universal em todos os codecs. No entanto, existem muitos trabalhos de pesquisa que sugerem que as Wavelets poderiam ser melhores. De fato, o único JPEG2000 incluía wavelets - mas esse padrão em si não foi um grande sucesso. Provavelmente era melhor que o DCT de alguma forma; especialmente há alegações de que a Wavelets supera o DCT [Veja: Ref 1]

Acho que a wavelet é computacionalmente cara em relação ao DCT (em parte porque as implementações 8x8 DCT são altamente otimizadas). Mas acho que realmente não voei muito porque, do ponto de vista do mercado, porque a DCT na época era muito mais ampla e a diferença na melhoria não era tão substancial para as pessoas mudarem.

2. Compensação de movimento de múltiplas hipóteses
Enquanto o MPEG 2 estava satisfeito o suficiente com as imagens , uma extensa pesquisa de Bern Girod [Ver ref. 2] provou que - o conceito pode ser estendido muito além disso. Na verdade, o H.264 realmente fez uma grande generalização na compensação de movimento com base em vários alvos - basicamente é possível armazenar 16 fotos anteriores (compare com 2 no MPEG2) e, de fato, a previsão pode ser extremamente alta.B

Embora isso já faça parte do padrão no H.264 - isso ainda não é totalmente explorado. É necessário tornar essa pesquisa extensivamente grande para estimativa de movimento praticamente viável. A maioria dos codificadores H.264 ainda é incipiente na exploração de todo esse potencial.

3. Compactação escalável de imagem / vídeo A compactação
escalável de imagem e vídeo é novamente um santo graal de como várias codificações de descrição podem ser feitas para imagem e vídeo. Basicamente, a mesma imagem ou vídeo pode ser codificada em várias resoluções, quantizações (qualidade) ou taxa de quadros. Isso produz diferentes camadas de qualidade versus taxa de bits no mesmo fluxo - e o servidor de streaming pode realmente adaptar a taxa de bits e a qualidade dinamicamente para melhor encaixar o vídeo na qualidade. Veja [Ref 3], [Ref 4], [Ref 5]

Desse, apenas o sucesso real é o JPEG progressivo, que é praticamente útil para sites e, de fato, útil. Novamente, embora a promessa de adaptar dinamicamente o fluxo de bits seja grande, mas funcionará apenas se houver sistemas práticos em que a estimativa dessa taxa de bits seja possível e o tipo de adaptação possa servir a algum propósito real. No entanto, no domínio do vídeo, apesar do suporte a isso nos padrões (MPEG2, MPEG4 e H.264) - quase não há uso disso.

4. Vídeo Objeto
Este talvez seja o último santo graal da compressão. No entanto, o vídeo objeto [Ref 6], iniciado pelo próprio organismo padrão MPEG, também foi apoiado por uma extensa pesquisa.

A idéia básica é segmentar o vídeo em termos de objetos distintos e, posteriormente, cada um desses objetos pode ser tratado como plano separado. cada objeto e ser aplicado com diferentes taxas de bits, quantização, taxa de quadros e muitas previsões eficientes. Além disso, pode-se manipular objetos como a maneira como você pode fazer coisas no photoshop / gimp.

No entanto, como se vê, a segmentação de imagem e vídeo do mundo real com objetos perceptivos relevantes - é um problema difícil! Portanto, mesmo se eu tiver codificador / decodificador - preciso de robus e sistema de segmentação em tempo real para tornar as coisas possíveis. Esse é, de longe, um problema realmente aberto sobre como você aplica o vídeo na forma de um vídeo em camadas para fazê-lo funcionar.

5. Mais dimensões
Além disso - existem codecs para vídeo estéreo (também conhecido como multiview) e vídeo 3D (conceito quase similar) que também tentam reduzir a redundância na dimensão adicional. Enquanto essa pesquisa ainda está em andamento, o H.264 tem um perfil para isso agora. O mesmo vale para a codificação Cinema.

Ainda existem muitos projetos de pesquisa nessa área - no entanto, a compactação de vídeo já é um mercado de commodities. E pesquisas que não geram substancialmente novas aplicações ou se existem problemas de viabilidade na implementação não sobreviverão praticamente, apesar da sua ingenuidade.

Espero que isto ajude.

Referências:

  1. Um estudo comparativo de codificação de imagem baseada em DCT e Wavelet por Zixiang Xiong, et. al. TRANSAÇÕES IEEE EM CIRCUITOS E SISTEMAS PARA TECNOLOGIA DE VÍDEO, VOL. 9, NO. 5, agosto de 1999, pp. 692

  2. Análise de Eficiência de Predição Compensada por Movimento de Hipótese para Transação de Código de Vídeo Bernd Girod IEEE ON PROCESSING DE IMAGEM, VOL. 9, NO. 2, fevereiro de 2000 173

  3. Codificação de vídeo escalável em resolução de domínio espacial por Barry G. Haskell, Hsueh-Ming Hang. Proc. SPIE 2094, Comunicação Visual e Processamento de Imagem, novembro de 718 (1993);

  4. O método de codificação de vídeo escalável de granulação fina MPEG-4 para streaming de multimídia sobre IP por Hayder M. Radha, et. al. TRANSAÇÕES IEEE EM MULTIMÍDIA, VOL. 3, NÃO. 1, março de 2001 53

  5. Avanços na codificação de vídeo escalável por Ohm, J.-R .; Anais do IEEE Jan. 2005 Volume: 93 Edição: 1 pp. 42 - 56

  6. Codificação de textura baseada em objeto de vídeo em movimento em MPEG-4, por Andr ́ Kaup, IEEE TRANSACTIONS on CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 9, NO. 1, fevereiro de 1999, pp. 5

Dipan Mehta
fonte