3 research outputs found

    Rate-distortion and complexity optimized motion estimation for H.264 video coding

    Get PDF
    11.264 video coding standard supports several inter-prediction coding modes that use macroblock (MB) partitions with variable block sizes. Rate-distortion (R-D) optimal selection of both the motion vectors (MVs) and the coding mode of each MB is essential for an H.264 encoder to achieve superior coding efficiency. Unfortunately, searching for optimal MVs of each possible subblock incurs a heavy computational cost. In this paper, in order to reduce the computational burden of integer-pel motion estimation (ME) without sacrificing from the coding performance, we propose a R-D and complexity joint optimization framework. Within this framework, we develop a simple method that determines for each MB which partitions are likely to be optimal. MV search is carried out for only the selected partitions, thus reducing the complexity of the ME step. The mode selection criteria is based on a measure of spatiotemporal activity within the MB. The procedure minimizes the coding loss at a given level of computational complexity either for the full video sequence or for each single frame. For the latter case, the algorithm provides a tight upper bound on the worst case complexity/execution time of the ME module. Simulation results show that the algorithm speeds up integer-pel ME by a factor of up to 40 with less than 0.2 dB loss in coding efficiency.Publisher's Versio

    A multi-objective performance optimisation framework for video coding

    Get PDF
    Digital video technologies have become an essential part of the way visual information is created, consumed and communicated. However, due to the unprecedented growth of digital video technologies, competition for bandwidth resources has become fierce. This has highlighted a critical need for optimising the performance of video encoders. However, there is a dual optimisation problem, wherein, the objective is to reduce the buffer and memory requirements while maintaining the quality of the encoded video. Additionally, through the analysis of existing video compression techniques, it was found that the operation of video encoders requires the optimisation of numerous decision parameters to achieve the best trade-offs between factors that affect visual quality; given the resource limitations arising from operational constraints such as memory and complexity. The research in this thesis has focused on optimising the performance of the H.264/AVC video encoder, a process that involved finding solutions for multiple conflicting objectives. As part of this research, an automated tool for optimising video compression to achieve an optimal trade-off between bit rate and visual quality, given maximum allowed memory and computational complexity constraints, within a diverse range of scene environments, has been developed. Moreover, the evaluation of this optimisation framework has highlighted the effectiveness of the developed solution

    Método para abstração de componentes de hardware para sistemas embarcados

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação.Linguagens de programação tem um papel fundamental no desenvolvimento de sistemas computacionais. Dentre elas, as Linguagens Gerenciadas (do inglês Managed Programming Language - MPL), dos quais Java e Lua são exemplos, possuem funcionalidades que objetivam aumentar a produtividade dos desenvolvedores. Isto é obtido fornecendo construções em um nível mais alto de abstração que permitem expressar e validar ideias em menos tempo e tornando mais difícil a ocorrência de erros de programação o que reduz o tempo gasto na depuração de programas. Há cerca de uma década diversas iniciativas tem sido executadas com o objetivo de permitir o uso das MPLs não somente em sistemas de propósito geral como também em sistemas embarcados, atendendo requisitos de tempo e consumo de recursos impostos por tais sistemas. Entretanto, para que as MPLs sejam realmente úteis em sistemas embarcados é necessário que elas forneçam funcionalidades para interação com o ambiente no qual o sistema embarcado está inserido. Tal interação usualmente acontece por meio de dispositivos de hardware, como por exemplo, sensores e atuadores, transmissores e receptores, temporizadores e alarmes. A interação entre MPLs e dispositivos de hardware é realizada por meio das Interfaces de Função Estrangeira (do inglês Foreign Function Interface - FFI). Porém, as FFIs em si não especificam como abstrair hardware nem como organizar tais abstrações. Esta dissertação apresenta um método de como realizar a interface entre dispositivos de hardware e aplicações escritas em MPL para sistemas embarcados. Mediadores de hardware são utilizados para abstrair e organizar dispositivos de hardware de forma adequada para sistemas embarcados, cumprindo requisitos de tempo e consumo de recursos. Isolando os mediadores de hardware das especificidades das FFIs o problema de adaptar um dispositivo de hardware para uma nova FFI passa a ser visto como um problema de aplicação de aspectos. O método proposto é avaliado nas MPLs Java e Lua em três casos de estudo, envolvendo aplicações de comunicação serial, codificação de vídeo e monitoramento de temperatura. Os resultados obtidos confirmam a adequação do método nos requisitos de desempenho, consumo de memória, reuso e portabilidade.Programming Languages have a key role on the development of computational systems. Among them, the so called Managed Programming Languages (MPLs), from which Java and Lua are examples, provide developers with features to improve their productivity. Productivity improvement is obtained by using constructions with a higher abstraction level, constructions that enable the developer to express and validate his ideas in a short period of time, and by features that make the occurrence of programming errors less often reducing the time spend on program debugging. Several initiatives have been taken on the last decade in order to enable the use of MPLs not only in general propose systems but also in embedded systems, fulfilling time and resource consumption constraints imposed by these systems. However, in order to be really useful in embedded systems, MPLs must provide features for interacting with the environment in which the embedded system is inserted on. Such interaction is usually implemented by using hardware devices such as, sensors and actuators, transmitters and receivers, and timers and alarms. The interaction between MPLs and hardware devices is performed by using the so called Foreign Function Interfaces (FFIs). However, FFIs by themselves do not specify how to abstract hardware nor how to organize these abstractions. This dissertation presents a method to interface hardware devices and applications written using MPL in context of embedded systems. Hardware mediators are used to abstract and to organize hardware devices in a suitable manner for embedded systems, fulfilling time and resource consumption constraints. By isolating hardware mediators from the specificities of FFIs the problem of adapting a hardware device to work with a new FFI can be faced as a aspect weaving problem. The proposed method is evaluated on the MPLs Java and Lua among three cases study encompassing serial communication, video encoding, and temperature sensing. The obtained results corroborate the suitability of the proposed method on the requirements of performance, memory consumption, reuse, and portability
    corecore