21 |
Arquitetura para o algoritmo CAVLC de codificação de entropia segundo o padrão H.264/AVC / Architecture for the CAVLC entropy encoding algorithm according the h.264/avc standardRamos, Fabio Luis Livi January 2010 (has links)
A codificação de vídeo digital depende de uma série de etapas para ser alcançada a compressão de dados necessária para, então, o vídeo ser enviado ou armazenado em um meio. Existe uma série de padrões que se propõe a isso e dentre eles, o que apresenta o melhor desempenho em termos de compressão de dados e qualidade de vídeo até o presente momento é o H.264/AVC. Considerando então o padrão H.264/AVC, uma das etapas do seu processamento é a codificação de entropia, sendo que um dos algoritmos usados para esse fim é o CAVLC (Context-Based Adaptive Variable Length Coding). Esta técnica faz uso de uma série de características onde o código gerado pela seqüência de vídeo processada tende a assumir, para, então, gerar códigos menores para padrões do vídeo que tendem a aparecer mais freqüentemente em detrimento a padrões que são mais raros, fazendo para isso uso de código de comprimento variável que depende do contexto atual em que cada porção do código está sendo processada. Baseado nisso, este trabalho apresenta uma arquitetura para o algoritmo CAVLC segundo o padrão H.264/AVC, onde foi inserida uma nova técnica para diminuir o gargalo na etapa inicial do algoritmo, além de usar técnicas já conhecidas na literatura para diminuir os ciclos necessários para o processamento do componente, fazendo com que a arquitetura aqui apresentada tenha um ganho em relação aos demais trabalhos da literatura encontrados e comparados. Esse trabalho está inserido no esforço do grupo de TV Digital da UFRGS e pretende-se que, no futuro, esse módulo seja integrado aos demais módulos desenvolvidos no grupo para formar um codificador H.264/AVC completo. / The digital video encoding depends on different phases to reach the necessary data compression, so the video can be transmitted through or stored in the medium. There are a variety of compression standards that are designed to that purpose and, among them, the one that has the best performance currently is the H.264/AVC. Considering the H.264/AVC standard, one of the processing stages is the entropy encoding. CAVLC (Context-Based Adaptive Variable Length Coding) is one of the algorithms that can be used for that end. It can use many of the code particularities, generated by the video sequence being processed. This way, CAVLC can generate codes with less bits for portions of the video sequence that occur more often, and codes with more bits for rarer patterns of the video sequence, using variable code lengths that depend on the current context for each portion of the code being processed. Based on this, the present work presents a VLSI hardware architecture for the CAVLC algorithm, according to the H.264/AVC standard. The architecture introduces a new technique to decrease the bottleneck at the initial stage of the algorithm and, furthermore, well-known techniques already tested in works found in the literature, were also implemented, to save processing cycles at the other stages of the component. The present architecture is then able to achieve gains compared to the other works found in the literature. This work is inserted into the effort of the Digital TV Group at UFRGS and it is intended to be integrated with the others developed by the group to make a complete H.264/AVC encoder.
|
22 |
Desenvolvimento de Arquiteturas de Alto Desempenho dedicadas à compressão de vídeo segundo o Padrão H.264/AVC / Design of high performance architectures dedicated to video compression according to the H.264/AVC standardAgostini, Luciano Volcan January 2007 (has links)
A compressão de vídeo é essencial para aplicações que manipulam vídeos digitais, em função da enorme quantidade de informação necessária para representar um vídeo sem nenhum tipo de compressão. Esta tese apresenta o desenvolvimento de soluções arquiteturais dedicadas e de alto desempenho para a compressão de vídeos, com foco no padrão H.264/AVC. O padrão H.264/AVC é o mais novo padrão de compressão de vídeo da ITU-T e da ISO e atinge as mais elevadas taxas de compressão dentre todos os padrões de codificação de vídeo existentes. Este padrão também possui a maior complexidade computacional dentre os padrões atuais. Esta tese apresenta soluções arquiteturais para os módulos da estimação de movimento, da compensação de movimento, das transformadas diretas e inversas e da quantização direta e inversa. Inicialmente, são apresentados alguns conceitos básicos de compressão de vídeo e uma introdução ao padrão H.264/AVC, para embasar as explicações das soluções arquiteturais desenvolvidas. Então, as arquiteturas desenvolvidas para os módulos das transformadas diretas e inversas, da quantização direta e inversa, da estimação de movimento e da compensação de movimento são apresentadas. Todas as arquiteturas desenvolvidas foram descritas em VHDL e foram mapeadas para FPGAs Virtex-II Pro da Xilinx. Alguns dos módulos foram, também, sintetizados para standard-cells. Os resultados obtidos através da síntese destas arquiteturas são apresentados e discutidos. Para todos os casos, os resultados de síntese indicaram que as arquiteturas desenvolvidas estão aptas para atender as demandas de codecs H.264/AVC direcionados para vídeos de alta resolução. / Video coding is essential for applications based in digital videos, given the enormous amount of bits which are required to represent a video sequence without compression. This thesis presents the design of dedicated and high performance architectures for video compression, focusing in the H.264/AVC standard. The H.264/AVC standard is the latest ITU-T and ISO standard for video compression and it reaches the highest compression rates amongst all the current video coding standards. This standard has also the highest computational complexity among all of them. This thesis presents architectural solutions for the modules of motion estimation, motion compensation, forward and inverse transforms and forward and inverse quantization. Some concepts of video compression and an introduction to the H.264/AVC standard are presented and they serve as basis for the architectural developments. Then, the designed architectures for forward and inverse transforms, forward and inverse quantization, motion estimation and motion compensation are presented. All designed architectures were described in VHDL and they were mapped to Xilinx Virtex-II Pro FPGAs. Some modules were also synthesized into standard-cells. The synthesis results are presented and discussed. For all cases, the synthesis results indicated that the architectures developed in this work are able to meet the demands of H.264/AVC codecs targeting high resolution videos.
|
23 |
Modelagem de hardware para codificação de vídeo e arquitetura de compensação de movimento segundo o padrão H.264/AVC / Hardware modeling for video coding and motion compensation architecture for the H.264/AVC standardZatt, Bruno January 2008 (has links)
Esta dissertação é composta de duas partes principais em que apresenta, em sua primeira parte, o desenvolvimento de uma arquitetura de hardware para compensação de movimento para decodificadores de vídeo segundo o padrão H.264/AVC. A segunda parte apresenta a modelagem de uma arquitetura de hardware para codificação de vídeo segundo o mesmo padrão. Também são apresentados os conceitos básicos da codificação e decodificação de vídeo digital segundo o padrão H.264/AVC. A arquitetura desenvolvida para compensação de movimento, denominada HP422- MoCHA (High Profile 4:2:2 Motion Compensation Hardware Architecture) (ZATT, 2008), baseada na arquitetura MoCHA (Motion Compensator Hardware Architecture) (AZEVEDO, 2007), suporta o conjunto de ferramentas da compensação de movimento para o perfil High 4:2:2 do H.264/AVC. Esta arquitetura está particionada em três blocos principais: Preditor de Vetores de Movimento, Acesso à Memória e Processador de Amostras. Esses blocos funcionam na forma de um pipeline, existindo buffers entre os mesmos para armazenar os resultados intermediários. A descrição foi desenvolvida com a linguagem VHDL e alcança desempenho para decodificar, em tempo real, vídeos HDTV 1920x1080 a 30 quadros por segundo. Na literatura atual não foi encontrada nenhuma solução detalhada para a compensação de movimento no perfil High 4:2:2 do padrão H.264/AVC. Uma nova estrutura para interpolação de amostra na compensação de movimento foi proposta, sendo que sua versão para o Perfil Main se mostra 17% mais compacta, em termos de gates, que a solução mais compacta encontrada na literatura, sem degradação de performance. A segunda parte do texto detalha a modelagem de uma arquitetura de codificação de vídeo segundo o H.264/AVC. A descrição utiliza a linguagem SystemC e consumiu aproximadamente 15.000 linhas de código. Seu projeto foi desenvolvido com o objetivo de codificar vídeo H.264/AVC segundo o perfil Main do padrão com desempenho para codificar vídeos 1920x1080 em tempo real, a 30 quadros por segundo. A modelagem alcançou o objetivo principal de chegar a uma implementação funcional de um codificador, embora assumindo diversas restrições de codificação, permitindo a caracterização temporal e de comunicação do codificador. Dessa forma, o modelo se mostra uma poderosa ferramenta para o desenvolvimento do sistema de codificação em HW, desde a etapa de projeto até a verificação final. Não foi encontrado na literatura, até o presente momento, nenhum trabalho que descreva uma modelagem em alto nível de um hardware para o codificador, ou mesmo para o decodificador, de vídeo H.264/AVC. / This thesis is comprised by two main parts that present, in the first part, the development of a motion compensation hardware architecture for video decoders in compliance with the H.264/AVC standard. The second part presents a hardware architecture modeling for a video encoder compliant to the same video standard. The digital video coding basics in the H.264/AVC standard are also reviewed. The developed motion compensation hardware architecture, named HP422-MoCHA (High Profile 4:2:2 Motion Compensation Hardware Architecture) (ZATT, 2008), is based on the MoCHA (Motion Compensator Hardware Architecture) (AZEVEDO, 2007) architecture. It supports the motion compensation toolset for the H.264/AVC High 4:2:2 profile. This architecture is divided in three main modules: Motion Vector Predictor, Memory Access and Sample Processor. These modules work in a pipeline and are interfaced by buffers to store the intermediate data. The architecture was described in the VHDL language and reaches the required throughput for real time decoding of HDTV 1920x1080 video sequences at 30 frames per second. In the current literature another detailed motion compensation solution for the H.264/AVC High 4:2:2 could not be found. A new filtering organization for the motion compensation sample interpolator was proposed and its Main profile version reduces 17% the gate count in comparison to the smallest solution found in the literature, without any performance degradation. The second part of the thesis details the modeling of a hardware architecture for a video encoder for the H.264/AVC standard. The model was described in SystemC language and used 15,000 source code lines. The project was designed for real time encoding of Main profile H.264/AVC for 1920x1080 video sequences at 30 frames per second. The model supported the main objective which was to obtain a functional encoder implementation, despite of the several encoding restrictions, permitting the temporal and communications characterization of the encoder. The model is presented as a powerful tool for the hardware video encoder development, as it is useful from the initial design to the final verification. No other hardware encoder or decoder modeling description was found in the current literature for the H.264/AVC video coding standard.
|
24 |
Desenvolvimento arquitetural para estimação de movimento de blocos de tamanhos variáveis segundo padrão H.264/AVC de compressão de vídeo digital / Architectural design for variable block-size motion estimation of the H.264/AVC digital video compression standardPorto, Roger Endrigo Carvalho January 2008 (has links)
Apesar de as capacidades de transmissão e de armazenamento dos dispositivos continuarem crescendo, a compressão ainda é essencial em aplicações que trabalham com vídeo. Com a compressão reduz-se significativamente a quantidade de bits necessários para se representar uma seqüência de vídeo. Dentre os padrões de compressão de vídeo digital, o mais novo é o H.264/AVC. Este padrão alcança as mais elevadas taxas de compressão se comparado com os padrões anteriores mas, por outro lado, possui uma elevada complexidade computacional. A complexidade computacional elevada dificulta o desenvolvimento em software de aplicações voltadas a definições elevadas de imagem, considerando a tecnologia atual. Assim, tornam-se indispensáveis implementações em hardware. Neste escopo, este trabalho aborda o desenvolvimento de uma arquitetura para estimação de movimento de blocos de tamanhos variáveis segundo o padrão H.264/AVC de compressão de vídeo digital. Esta arquitetura utiliza o algoritmo full search e SAD como critério de similaridade. Além disso, a arquitetura é capaz de gerar os 41 diferentes vetores de movimento referentes a um macrobloco e definidos pelo padrão. A solução arquitetural proposta neste trabalho foi descrita em VHDL e mapeada para FPGAs da Xilinx. Também foi desenvolvida uma versão standard cell da arquitetura. Considerando-se as versões da arquitetura com síntese direcionada para FPGA, os resultados mostraram que a arquitetura pode ser utilizada em aplicações voltadas para alta definição como SDTV ou HDTV. Para a versão standard cells da arquitetura os resultados indicam que ela pode ser utilizada para aplicações SDTV. / The transmission and storage capabilities of the digital communications and processing continue to grow. However, compression is still necessary in video applications. With compression, the amount of bits necessary to represent a video sequence is dramatically reduced. Amongst the video compression standards, the latest one is the H.264/AVC. This standard reaches the highest compression rates when compared to the previous standards. On the other hand, it has a high computational complexity. This high computational complexity makes it difficult the development of applications targeting high definitions when a software implementation running in a current technology is considered. Thus, hardware implementations become essential. Addressing the hardware architectures, this work presents the architectural design for the variable block-size motion estimation defined in the H.264/AVC standard. This architecture is based on full search motion estimation algorithm and SAD calculation. This architecture is able to produce the 41 motion vectors within a macroblock that are specified in the standard. The architecture designed in this work was described in VHDL and it was mapped to Xilinx FPGAs. Extensive simulations of the hardware architecture and comparisons to the software implementation of the same variable-size algorithm were used to validate the architecture. It was also synthesized to standard cells. Considering the synthesis results, the architecture reaches real time for high resolution videos, as HDTV when mapped to FPGAs. The standard cells version of this architecture is able to reach real time for SDTV resolution, considering a physical synthesis to 0.18µm CMOS.
|
25 |
Desenvolvimento da arquitetura dos codificadores de entropia adaptativos CAVLC e CABAC do padrão H.264/AVC / Integrated architecture development of CAVLC and CABAC context-adaptive entropy encoders for H.264/AVCThiele, Cristiano January 2012 (has links)
Um codificador de entropia é responsável pela representação simbólica de dados de forma a representá-los com um menor número de bits. O H.264/AVC possui três codificadores de entropia: o Exponencial Golomb, o CAVLC que é o codificador de menor complexidade porém com um throughput maior de dados e o CABAC, com maior complexidade e com uma maior capacidade de compressão. A complexidade do codificador de entropia e a dependência dos dados sequenciais no bitstream original são os principais desafios para atender os requisitos de desempenho para compressão em tempo real. Por isso o desenvolvimento destas arquiteturas em hardware dedicado se faz necessário. Neste contexto, esta dissertação descreve os algoritmos que fazem parte da entropia do padrão H.264/AVC e as arquiteturas para estes codificadores entrópicos (Exponential Golomb, CAVLC e CABAC), além de uma arquitetura de hardware dedicada que integra todos estes a um montador final que atende às especificações da norma H.264/AVC. As arquiteturas foram escritas em VHDL e sintetizadas para dispositivos integrados FPGA. Em um dispositivo Virtex-5, este codificador de entropia completo suporta codificação de vídeos no nível 4.2 do padrão H.264/AVC (Full HD a 60 quadros por segundo). Esta arquitetura é a que apresenta o melhor desempenho de processamento dentre os melhores trabalhos relacionados, além de ser um codificador com todas as alternativas de codificação de entropia requeridas pela norma implementadas em um mesmo módulo. / An entropy encoder is responsible for the symbolic representation of a data stream so that the final representation contains less bits than the original. The H.264/AVC has three entropy coding schemes: the Exponential Golomb, the CAVLC encoder, that is less complex but with a higher data throughput, and the CABAC that is more complex while allowing for higher compression capability. The complexity of the entropy encoding and data dependencies on the original bitstream are the main challenges to meet the performance requirements for real-time compression. The development of these architectures in dedicated hardware is therefore necessary for high performance encoders. In this context, this work describes the algorithms that are part of the entropy encoders of the H.264/AVC standard, and the corresponding entropy coding architectures (Exponential Golomb, CAVLC and CABAC), plus a dedicated hardware architecture that integrates all of these encoders to a final bitstream assembler that is compliant to the aforementioned standard. The architectures were written in VHDL and synthesized into FPGA devices. In a Virtex-5 device, this full entropy encoder supports video encoding at level 4.2 of the H.264/AVC standard (Full HD at 60 frames per second). The developed architecture performs best among the most recent related architectures published, and has the unique feature of an encoder that implements in the same module all the alternative entropy encoders present in this standard for video compression.
|
26 |
Desenvolvimento de Arquiteturas de Alto Desempenho dedicadas à compressão de vídeo segundo o Padrão H.264/AVC / Design of high performance architectures dedicated to video compression according to the H.264/AVC standardAgostini, Luciano Volcan January 2007 (has links)
A compressão de vídeo é essencial para aplicações que manipulam vídeos digitais, em função da enorme quantidade de informação necessária para representar um vídeo sem nenhum tipo de compressão. Esta tese apresenta o desenvolvimento de soluções arquiteturais dedicadas e de alto desempenho para a compressão de vídeos, com foco no padrão H.264/AVC. O padrão H.264/AVC é o mais novo padrão de compressão de vídeo da ITU-T e da ISO e atinge as mais elevadas taxas de compressão dentre todos os padrões de codificação de vídeo existentes. Este padrão também possui a maior complexidade computacional dentre os padrões atuais. Esta tese apresenta soluções arquiteturais para os módulos da estimação de movimento, da compensação de movimento, das transformadas diretas e inversas e da quantização direta e inversa. Inicialmente, são apresentados alguns conceitos básicos de compressão de vídeo e uma introdução ao padrão H.264/AVC, para embasar as explicações das soluções arquiteturais desenvolvidas. Então, as arquiteturas desenvolvidas para os módulos das transformadas diretas e inversas, da quantização direta e inversa, da estimação de movimento e da compensação de movimento são apresentadas. Todas as arquiteturas desenvolvidas foram descritas em VHDL e foram mapeadas para FPGAs Virtex-II Pro da Xilinx. Alguns dos módulos foram, também, sintetizados para standard-cells. Os resultados obtidos através da síntese destas arquiteturas são apresentados e discutidos. Para todos os casos, os resultados de síntese indicaram que as arquiteturas desenvolvidas estão aptas para atender as demandas de codecs H.264/AVC direcionados para vídeos de alta resolução. / Video coding is essential for applications based in digital videos, given the enormous amount of bits which are required to represent a video sequence without compression. This thesis presents the design of dedicated and high performance architectures for video compression, focusing in the H.264/AVC standard. The H.264/AVC standard is the latest ITU-T and ISO standard for video compression and it reaches the highest compression rates amongst all the current video coding standards. This standard has also the highest computational complexity among all of them. This thesis presents architectural solutions for the modules of motion estimation, motion compensation, forward and inverse transforms and forward and inverse quantization. Some concepts of video compression and an introduction to the H.264/AVC standard are presented and they serve as basis for the architectural developments. Then, the designed architectures for forward and inverse transforms, forward and inverse quantization, motion estimation and motion compensation are presented. All designed architectures were described in VHDL and they were mapped to Xilinx Virtex-II Pro FPGAs. Some modules were also synthesized into standard-cells. The synthesis results are presented and discussed. For all cases, the synthesis results indicated that the architectures developed in this work are able to meet the demands of H.264/AVC codecs targeting high resolution videos.
|
27 |
Modelagem de hardware para codificação de vídeo e arquitetura de compensação de movimento segundo o padrão H.264/AVC / Hardware modeling for video coding and motion compensation architecture for the H.264/AVC standardZatt, Bruno January 2008 (has links)
Esta dissertação é composta de duas partes principais em que apresenta, em sua primeira parte, o desenvolvimento de uma arquitetura de hardware para compensação de movimento para decodificadores de vídeo segundo o padrão H.264/AVC. A segunda parte apresenta a modelagem de uma arquitetura de hardware para codificação de vídeo segundo o mesmo padrão. Também são apresentados os conceitos básicos da codificação e decodificação de vídeo digital segundo o padrão H.264/AVC. A arquitetura desenvolvida para compensação de movimento, denominada HP422- MoCHA (High Profile 4:2:2 Motion Compensation Hardware Architecture) (ZATT, 2008), baseada na arquitetura MoCHA (Motion Compensator Hardware Architecture) (AZEVEDO, 2007), suporta o conjunto de ferramentas da compensação de movimento para o perfil High 4:2:2 do H.264/AVC. Esta arquitetura está particionada em três blocos principais: Preditor de Vetores de Movimento, Acesso à Memória e Processador de Amostras. Esses blocos funcionam na forma de um pipeline, existindo buffers entre os mesmos para armazenar os resultados intermediários. A descrição foi desenvolvida com a linguagem VHDL e alcança desempenho para decodificar, em tempo real, vídeos HDTV 1920x1080 a 30 quadros por segundo. Na literatura atual não foi encontrada nenhuma solução detalhada para a compensação de movimento no perfil High 4:2:2 do padrão H.264/AVC. Uma nova estrutura para interpolação de amostra na compensação de movimento foi proposta, sendo que sua versão para o Perfil Main se mostra 17% mais compacta, em termos de gates, que a solução mais compacta encontrada na literatura, sem degradação de performance. A segunda parte do texto detalha a modelagem de uma arquitetura de codificação de vídeo segundo o H.264/AVC. A descrição utiliza a linguagem SystemC e consumiu aproximadamente 15.000 linhas de código. Seu projeto foi desenvolvido com o objetivo de codificar vídeo H.264/AVC segundo o perfil Main do padrão com desempenho para codificar vídeos 1920x1080 em tempo real, a 30 quadros por segundo. A modelagem alcançou o objetivo principal de chegar a uma implementação funcional de um codificador, embora assumindo diversas restrições de codificação, permitindo a caracterização temporal e de comunicação do codificador. Dessa forma, o modelo se mostra uma poderosa ferramenta para o desenvolvimento do sistema de codificação em HW, desde a etapa de projeto até a verificação final. Não foi encontrado na literatura, até o presente momento, nenhum trabalho que descreva uma modelagem em alto nível de um hardware para o codificador, ou mesmo para o decodificador, de vídeo H.264/AVC. / This thesis is comprised by two main parts that present, in the first part, the development of a motion compensation hardware architecture for video decoders in compliance with the H.264/AVC standard. The second part presents a hardware architecture modeling for a video encoder compliant to the same video standard. The digital video coding basics in the H.264/AVC standard are also reviewed. The developed motion compensation hardware architecture, named HP422-MoCHA (High Profile 4:2:2 Motion Compensation Hardware Architecture) (ZATT, 2008), is based on the MoCHA (Motion Compensator Hardware Architecture) (AZEVEDO, 2007) architecture. It supports the motion compensation toolset for the H.264/AVC High 4:2:2 profile. This architecture is divided in three main modules: Motion Vector Predictor, Memory Access and Sample Processor. These modules work in a pipeline and are interfaced by buffers to store the intermediate data. The architecture was described in the VHDL language and reaches the required throughput for real time decoding of HDTV 1920x1080 video sequences at 30 frames per second. In the current literature another detailed motion compensation solution for the H.264/AVC High 4:2:2 could not be found. A new filtering organization for the motion compensation sample interpolator was proposed and its Main profile version reduces 17% the gate count in comparison to the smallest solution found in the literature, without any performance degradation. The second part of the thesis details the modeling of a hardware architecture for a video encoder for the H.264/AVC standard. The model was described in SystemC language and used 15,000 source code lines. The project was designed for real time encoding of Main profile H.264/AVC for 1920x1080 video sequences at 30 frames per second. The model supported the main objective which was to obtain a functional encoder implementation, despite of the several encoding restrictions, permitting the temporal and communications characterization of the encoder. The model is presented as a powerful tool for the hardware video encoder development, as it is useful from the initial design to the final verification. No other hardware encoder or decoder modeling description was found in the current literature for the H.264/AVC video coding standard.
|
28 |
Desenvolvimento arquitetural para estimação de movimento de blocos de tamanhos variáveis segundo padrão H.264/AVC de compressão de vídeo digital / Architectural design for variable block-size motion estimation of the H.264/AVC digital video compression standardPorto, Roger Endrigo Carvalho January 2008 (has links)
Apesar de as capacidades de transmissão e de armazenamento dos dispositivos continuarem crescendo, a compressão ainda é essencial em aplicações que trabalham com vídeo. Com a compressão reduz-se significativamente a quantidade de bits necessários para se representar uma seqüência de vídeo. Dentre os padrões de compressão de vídeo digital, o mais novo é o H.264/AVC. Este padrão alcança as mais elevadas taxas de compressão se comparado com os padrões anteriores mas, por outro lado, possui uma elevada complexidade computacional. A complexidade computacional elevada dificulta o desenvolvimento em software de aplicações voltadas a definições elevadas de imagem, considerando a tecnologia atual. Assim, tornam-se indispensáveis implementações em hardware. Neste escopo, este trabalho aborda o desenvolvimento de uma arquitetura para estimação de movimento de blocos de tamanhos variáveis segundo o padrão H.264/AVC de compressão de vídeo digital. Esta arquitetura utiliza o algoritmo full search e SAD como critério de similaridade. Além disso, a arquitetura é capaz de gerar os 41 diferentes vetores de movimento referentes a um macrobloco e definidos pelo padrão. A solução arquitetural proposta neste trabalho foi descrita em VHDL e mapeada para FPGAs da Xilinx. Também foi desenvolvida uma versão standard cell da arquitetura. Considerando-se as versões da arquitetura com síntese direcionada para FPGA, os resultados mostraram que a arquitetura pode ser utilizada em aplicações voltadas para alta definição como SDTV ou HDTV. Para a versão standard cells da arquitetura os resultados indicam que ela pode ser utilizada para aplicações SDTV. / The transmission and storage capabilities of the digital communications and processing continue to grow. However, compression is still necessary in video applications. With compression, the amount of bits necessary to represent a video sequence is dramatically reduced. Amongst the video compression standards, the latest one is the H.264/AVC. This standard reaches the highest compression rates when compared to the previous standards. On the other hand, it has a high computational complexity. This high computational complexity makes it difficult the development of applications targeting high definitions when a software implementation running in a current technology is considered. Thus, hardware implementations become essential. Addressing the hardware architectures, this work presents the architectural design for the variable block-size motion estimation defined in the H.264/AVC standard. This architecture is based on full search motion estimation algorithm and SAD calculation. This architecture is able to produce the 41 motion vectors within a macroblock that are specified in the standard. The architecture designed in this work was described in VHDL and it was mapped to Xilinx FPGAs. Extensive simulations of the hardware architecture and comparisons to the software implementation of the same variable-size algorithm were used to validate the architecture. It was also synthesized to standard cells. Considering the synthesis results, the architecture reaches real time for high resolution videos, as HDTV when mapped to FPGAs. The standard cells version of this architecture is able to reach real time for SDTV resolution, considering a physical synthesis to 0.18µm CMOS.
|
29 |
Arquitetura para o algoritmo CAVLC de codificação de entropia segundo o padrão H.264/AVC / Architecture for the CAVLC entropy encoding algorithm according the h.264/avc standardRamos, Fabio Luis Livi January 2010 (has links)
A codificação de vídeo digital depende de uma série de etapas para ser alcançada a compressão de dados necessária para, então, o vídeo ser enviado ou armazenado em um meio. Existe uma série de padrões que se propõe a isso e dentre eles, o que apresenta o melhor desempenho em termos de compressão de dados e qualidade de vídeo até o presente momento é o H.264/AVC. Considerando então o padrão H.264/AVC, uma das etapas do seu processamento é a codificação de entropia, sendo que um dos algoritmos usados para esse fim é o CAVLC (Context-Based Adaptive Variable Length Coding). Esta técnica faz uso de uma série de características onde o código gerado pela seqüência de vídeo processada tende a assumir, para, então, gerar códigos menores para padrões do vídeo que tendem a aparecer mais freqüentemente em detrimento a padrões que são mais raros, fazendo para isso uso de código de comprimento variável que depende do contexto atual em que cada porção do código está sendo processada. Baseado nisso, este trabalho apresenta uma arquitetura para o algoritmo CAVLC segundo o padrão H.264/AVC, onde foi inserida uma nova técnica para diminuir o gargalo na etapa inicial do algoritmo, além de usar técnicas já conhecidas na literatura para diminuir os ciclos necessários para o processamento do componente, fazendo com que a arquitetura aqui apresentada tenha um ganho em relação aos demais trabalhos da literatura encontrados e comparados. Esse trabalho está inserido no esforço do grupo de TV Digital da UFRGS e pretende-se que, no futuro, esse módulo seja integrado aos demais módulos desenvolvidos no grupo para formar um codificador H.264/AVC completo. / The digital video encoding depends on different phases to reach the necessary data compression, so the video can be transmitted through or stored in the medium. There are a variety of compression standards that are designed to that purpose and, among them, the one that has the best performance currently is the H.264/AVC. Considering the H.264/AVC standard, one of the processing stages is the entropy encoding. CAVLC (Context-Based Adaptive Variable Length Coding) is one of the algorithms that can be used for that end. It can use many of the code particularities, generated by the video sequence being processed. This way, CAVLC can generate codes with less bits for portions of the video sequence that occur more often, and codes with more bits for rarer patterns of the video sequence, using variable code lengths that depend on the current context for each portion of the code being processed. Based on this, the present work presents a VLSI hardware architecture for the CAVLC algorithm, according to the H.264/AVC standard. The architecture introduces a new technique to decrease the bottleneck at the initial stage of the algorithm and, furthermore, well-known techniques already tested in works found in the literature, were also implemented, to save processing cycles at the other stages of the component. The present architecture is then able to achieve gains compared to the other works found in the literature. This work is inserted into the effort of the Digital TV Group at UFRGS and it is intended to be integrated with the others developed by the group to make a complete H.264/AVC encoder.
|
30 |
Desenvolvimento da arquitetura dos codificadores de entropia adaptativos CAVLC e CABAC do padrão H.264/AVC / Integrated architecture development of CAVLC and CABAC context-adaptive entropy encoders for H.264/AVCThiele, Cristiano January 2012 (has links)
Um codificador de entropia é responsável pela representação simbólica de dados de forma a representá-los com um menor número de bits. O H.264/AVC possui três codificadores de entropia: o Exponencial Golomb, o CAVLC que é o codificador de menor complexidade porém com um throughput maior de dados e o CABAC, com maior complexidade e com uma maior capacidade de compressão. A complexidade do codificador de entropia e a dependência dos dados sequenciais no bitstream original são os principais desafios para atender os requisitos de desempenho para compressão em tempo real. Por isso o desenvolvimento destas arquiteturas em hardware dedicado se faz necessário. Neste contexto, esta dissertação descreve os algoritmos que fazem parte da entropia do padrão H.264/AVC e as arquiteturas para estes codificadores entrópicos (Exponential Golomb, CAVLC e CABAC), além de uma arquitetura de hardware dedicada que integra todos estes a um montador final que atende às especificações da norma H.264/AVC. As arquiteturas foram escritas em VHDL e sintetizadas para dispositivos integrados FPGA. Em um dispositivo Virtex-5, este codificador de entropia completo suporta codificação de vídeos no nível 4.2 do padrão H.264/AVC (Full HD a 60 quadros por segundo). Esta arquitetura é a que apresenta o melhor desempenho de processamento dentre os melhores trabalhos relacionados, além de ser um codificador com todas as alternativas de codificação de entropia requeridas pela norma implementadas em um mesmo módulo. / An entropy encoder is responsible for the symbolic representation of a data stream so that the final representation contains less bits than the original. The H.264/AVC has three entropy coding schemes: the Exponential Golomb, the CAVLC encoder, that is less complex but with a higher data throughput, and the CABAC that is more complex while allowing for higher compression capability. The complexity of the entropy encoding and data dependencies on the original bitstream are the main challenges to meet the performance requirements for real-time compression. The development of these architectures in dedicated hardware is therefore necessary for high performance encoders. In this context, this work describes the algorithms that are part of the entropy encoders of the H.264/AVC standard, and the corresponding entropy coding architectures (Exponential Golomb, CAVLC and CABAC), plus a dedicated hardware architecture that integrates all of these encoders to a final bitstream assembler that is compliant to the aforementioned standard. The architectures were written in VHDL and synthesized into FPGA devices. In a Virtex-5 device, this full entropy encoder supports video encoding at level 4.2 of the H.264/AVC standard (Full HD at 60 frames per second). The developed architecture performs best among the most recent related architectures published, and has the unique feature of an encoder that implements in the same module all the alternative entropy encoders present in this standard for video compression.
|
Page generated in 0.0194 seconds