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?
image-processing
video-processing
video-compression
jpeg
Ang Zhi Ping
fonte
fonte
Respostas:
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:
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ótesesB
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.
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:
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
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
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);
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
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
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
fonte