A Split&Merge Architecture for Distributed Video Processing in The Cloud



Documentos relacionados
A Cloud Computing Architecture for Large Scale Video Data Processing

Dealing with Device Data Overflow in the Cloud

Rafael Jessen Werneck de Almeida Martins. Recomendação de pessoas em redes sociais com base em conexões entre usuários

Deployment of Distributed Component-based Applications on Cloud Infrastructures

Ricardo Gomes Clemente. Uma arquitetura para processamento de eventos de log em tempo real. Dissertação de Mestrado

Uma arquitetura baseada em agentes de software para a automação de processos de gerênciadefalhasemredesde telecomunicações

Geração automática de suíte de teste para GUI a partir de Rede de Petri

Tese / Thesis Work Análise de desempenho de sistemas distribuídos de grande porte na plataforma Java

Luiz Fernando Fernandes de Albuquerque. Avaliação de algoritmos online para seleção de links patrocinados. Dissertação de Mestrado

Uma Análise de Práticas na Aplicação de SCRUM em Projetos de Grande Porte

Antônio Carlos Theóphilo Costa Júnior. Soluções para a Travessia de Firewalls/NAT usando CORBA DISSERTAÇÃO DE MESTRADO

Marcelo Novaes Coutinho. Um Processo de Gerência de Estratégia de Rastreabilidade: Um Caso em Ambiente Oracle. Dissertação de Mestrado

Elbio Renato Torres Abib. Escalonamento de Tarefas Divisíveis em Redes Estrela MESTRADO. Informática DEPARTAMENTO DE INFORMÁTICA

Interoperability through Web Services: Evaluating OGC Standards in Client Development for Spatial Data Infrastructures

DISSERTAÇÃO DE MESTRADO

Luiz Marques Afonso. Um Estudo Sobre Contratos em Sistemas de Componentes de Software. Dissertação de Mestrado

Silvano Nogueira Buback. Utilizando aprendizado de máquina para construção de uma ferramenta de apoio a moderação de comentários

Uma arquitetura de software para mediação flexível de Web services

Leonardo Pereira Rodrigues dos Santos

Um Modelo de Componentes de Software com Suporte a Múltiplas Versões

FLISOL Criptografia é importante! Aprenda meios simples de proteger arquivos com ferramentas livres.

Rafael Barbosa Nasser. McCloud Service Framework. Arcabouço para desenvolvimento de serviços baseados na Simulação de Monte Carlo na Cloud

Saulo de Souza Ladeira. Técnica, território e ensino a distância: Articulações histórico-teóricas. Dissertação de Mestrado

Um estudo sobre a geração e narração automática de estórias. Dissertação apresentada como requisito parcial para obtenção

Fábio Markus Nunes Miranda. Volume rendering of unstructured hexahedral meshes DISSERTAÇÃO DE MESTRADO

Estereoscopia Digital no Ensino da Química AGRADECIMENTOS

Um Processo Controlável de Desenvolvimento de Software Focado na Gestão da Qualidade em Pequenos Projetos

Análise Probabilística de Semântica Latente aplicada a sistemas de recomendação

Aspectos básicos do vídeo

Análise de Sistemas de Planejamento Avançado (APS): conceituação e avaliação

Jornalismo potencializador e as formas de narrar o outro - a alteridade brasileira no New York Times

Controle de estoque de peças de reposição: revisão da literatura e um estudo de caso

Relato de experiência da implantação de boas práticas de Engenharia de Software em um ambiente heterogêneo

Sílvio Glicério Mendonça. O impacto dos Sistemas Integrados de Gestão (ERP) nas instituições de ensino. Dissertação de Mestrado (Opção profissional)

A CONVERSÃO ADJETIVO/SUBSTANTIVO EM FORMAÇÕES DEVERBAIS X-DO NO PORTUGUÊS DO BRASIL

A Tool to Evaluate Stuck-Open Faults in CMOS Logic Gates

Livia Pires Chaves. Gestão de Estoque na Indústria de Manutenção de Motores Aeronáuticos: Estudo de Caso. Dissertação de Mestrado

Infraestrutura, Gestão Escolar e Desempenho em Leitura e Matemática: um estudo a partir do Projeto Geres

Análise Temporal dos Preços da Commodity Cobre Usando o Modelo Box & Jenkins


Dimensionando uma Frota Heterogênea de Veículos Ótima em Tamanho e Composição

Visualização de um vídeo = movimento sequencial de um conjunto de imagens (fotogramas ou frames)

UMA ABORDAGEM PARA GESTÃO DE CONTEÚDOS EDUCACIONAIS

A Dynamic Load Balancing Mechanism for Data Stream Processing on DDS Systems

Uma Abordagem para a Avaliação de Processos de Desenvolvimento de Software Baseada em Risco e Conformidade

An Environment for Integrating Bibliographical Data based on Mediators

Luciana da Silva Almendra Gomes. Proveniência para Workflows de Bioinformática

João Paulo Cordeiro de Noronha Pessoa. Flex Cars and the Competitive Effect on Ethanol and Gasoline Retail Markets

Logística Lean: Conceituação e aplicação em uma empresa de cosmético.

Interactive Internet TV Architecture Based on Scalable Video Coding

Pierre Alexandre Charles Burban. Apreçamento de opções exóticas: Uma abordagem pela simulação de Monte-Carlo. Dissertação de Mestrado

Flavia Medeiros dos Anjos. Reorganização e Compressão de Dados Sísmicos DISSERTAÇÃO DE MESTRADO

Gestão Hospitalar O caso de hospitais privados do Rio de Janeiro

Dimensionamento de Estoque de Segurança de Derivados de Petróleo: Metodologia e um Estudo de Caso

Digital Cartographic Generalization for Database of Cadastral Maps

Análise de Persistência de Participantes em Planos de Previdência

Marcelo Nery dos Santos. GridFS Um Servidor de Arquivos para Grades e Ambientes Distribuídos Heterogêneos. Dissertação de Mestrado

Wilson Lins Morgado. Método de classificação de risco aplicado ao mercado de seguros de automóveis. Dissertação de Mestrado

Planejamento do sequenciamento de caminhões em um ambiente de produção sob encomenda

A MÁQUINA ASSÍNCRONA TRIFÁSICA BRUSHLESS EM CASCATA DUPLAMENTE ALIMENTADA. Fredemar Rüncos

Java Media Framework 2.1 Programação Multimídia em Java. SBMídia Jorge Fernandes e Bob Natal, Junho de 2000

Manual de normas gráficas Graphic guidelines handbook 2008

Distribuição Eletrônica na Hotelaria: Desenvolvimento de Serviços para a Internet

Tipos de Redes. Dois tipos fundamentais de redes

José Benedito Alves Junior

Empresas de Gestão Conservadora: Potencial da Previsão de Demanda e Simulação Computacional

Roberto de Holanda Christoph. Engenharia de software para software livre

Service Oriented Architecture SOA

Máquinas de Estados Hierárquicas em Jogos Eletrônicos

Scientific data repositories: the USP experience

UNIVERSIDADE DE BRASÍLIA

Simulação Gráfica e Visão Computacional. Soraia Raupp Musse

Processo de Internacionalização na Indústria Calçadista Brasileira: Estudo de Caso da Calçados Azaléia S.A.

NORMAS PARA AUTORES. As normas a seguir descritas não dispensam a leitura do Regulamento da Revista Portuguesa de Marketing, disponível em

Dennis Seiji Taquemori. ISO 9001: Eficiência ou Legitimidade? Dissertação de Mestrado

Performance and Power Consumption Analysis of Full Adders Designed in 32nm Technology

Leonardo Godinho da Cunha. Modelos de Concorrência e Sandboxes Aplicados a Servidores HTTP em Lua. Dissertação de Mestrado

Análise da Eficiência de Empresas de Comércio Eletrônico usando Técnicas da Análise Envoltória de Dados

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

O W3C Futuro da Web HTML5. Março/2011 Web Expo Fórum

Padrões de Aplicações Empresariais

Thiago Rezende Pinto. Aplicação de Modelos Não Lineares em Negociação Automática no Mercado Acionário Brasileiro DISSERTAÇÃO DE MESTRADO

Workshop sobre ''Normalização de TI - técnicas de segurança''

Proposta de Modelo de Desenvolvimento de Sistema de Medição de Desempenho Logístico

T Ã O B O M Q U A N T O N O V O

Projeto de Modulação sobre Superfícies Topológicas Associadas a Canais Discretos sem Memória: uma Solução para o Sistema Integrado

ÍNDICE PORTUGUÊS INDEX ENGLISH

SmartLPR. SmartLPR Placa Reconhecimento da Matrícula

Ana Paula Gamberali Nóbrega. Aplicação do VMI para melhoria de indicadores de desempenho logístico

Classificação de Imagens de Sensoriamento Remoto usando SVM

5/10/10. Implementação. Building web Apps. Server vs. client side. How to create dynamic contents?" Client side" Server side"

Mariana de Lemos Alves. Carro Flex Fuel: Uma Avaliação por Opções Reais. Dissertação de Mestrado

Ambientes ecléticos na nuvem - uma abordagem de integração tecnológica. Estudo de caso: GooPortal na Arquivística

Cigré/Brasil. CE B5 Proteção e Automação. Seminário Interno de Preparação para o Colóquio do SC B5 2009

Collusion in Auctions on the Absence of Public Information

Heterogeneous multi-core computer architectures and

Soluções IBM SmartCloud IBM Corporation

10/07/2013. Camadas. Principais Aplicações da Internet. Camada de Aplicação. World Wide Web. World Wide Web NOÇÕES DE REDE: CAMADA DE APLICAÇÃO

Sistema de recomendação de segundo nível para suporte à produção de matérias jornalísticas

Introduction to Network Design and Planning

Transcrição:

Rafael Silva Pereira A Split&Merge Architecture for Distributed Video Processing in The Cloud DISSERTAÇÃO DE MESTRADO Dissertation presented to the Postgraduate Program in Informatics of the Departamento de Informática, PUC-Rio as partial fulfillment of the requirements for the degree of Mestre em Informática Advisor: Prof. Karin Breitman Rio de Janeiro, April 2011

Rafael Silva Pereira A Split&Merge Architecture for Distributed Video Processing in The Cloud Thesis presented to the Postgraduate Program in Informatics, of the Departamento de Informática do Centro Técnico Científico da PUC-Rio, as partial fulfillment of the requirements for the degree of Mestre. Prof. Karin Breitman Advisor Departamento de Informática PUC-Rio Prof. Fabio Kon Departamento de Ciência da Computação USP Prof. Markus Endler Departamento de Informática PUC-Rio Prof. José Engenio Leal Coordenador Setorial do Centro Técnico Científico - PUC-Rio Rio de Janeiro, 18 de Abril de 2011

All Rights Reserved. Rafael Silva Pereira Graduated in Electronics and Computer Engineering at Universidade Federal do Rio de Janeiro UFRJ in 2006. Media Engineering Specialist from Globo.com since 2006. Bibliographic data Pereira, Rafael Silva A split & merge architecture for distributed video processing in the cloud / Rafael Silva Pereira ; advisor: Karin Breitman. 2011. 76 f. : il. (color.) ; 30 cm Dissertação (mestrado) Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, Departamento de Informática, 2011. Inclui bibliografia 1. Informática Teses. 2. Cloud computing. 3. Video compression. 4. Distributed systems. 5. Service oriented architectures. I. Breitman, Karin. II. Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. III. Título. CDD: 004

Resumo Pereira, Silva Rafael; Breitman, Koogan Karin. Uma Arquitetura de Split&Merge para Processamento Distribuido de Vídeo Baseado em Cloud. Rio de Janeiro, 2010. 76p. Dissertação de Mestrado Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. O volume de dados existentes aumenta a cada dia, sendo que, armazenar, processar e transmistir esta informação se torna um grande desafio. O paradigma de Map Reduce, proposto por Dean e Ghemawat [10], é uma forma eficiente para o processamento de grandes volumes de dados utilizando um cluster de computadores e, mais recentemente, infraestruturas no Cloud. Entretanto, implementações tradicionais de Map Reduce não apresentam nem a flexibilidade (para escolher entre diferentes técnicas de codificação na etapa de map), nem o controle (capaz de especificar como organizar os resultados na etapa de reduce), necessários para o processamento de vídeos. Porém, com a proliferação de dispositivos capazes de reproduzir conteúdo em multimídia, e com o aumento da disponibilidade de banda, o consumo deste tipo de conteúdo é cada vez maior, o que mostra a necessidade de termos arquitetura eficientes para lidar com grandes volumes de dados, especificamente vídeos. A arquitetura de Split&Merge, proposta nesta dissertação, generaliza o paradigma de Map Reduce, fornecendo uma solução eficiente que contempla aspectos relevantes às aplicações de processamento intensivo de vídeo. Para validar a arquitetura proposta, são apresentados dois casos de uso onde a mesma foi implementada utilizando uma plataforma de Cloud. Palavras-chave Computação na Nuvem; Compressão de Vídeo; Sistemas Distribuídos; Arquiteturas Orientadas à Serviço.

Abstract Pereira, Silva Rafael; Breitman, Koogan Karin (Advisor). A Split&Merge Architecture for Distributed Video Processing in The Cloud. Rio de Janeiro, 2010. 76p. MSc. Dissertation Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. The Map Reduce approach, proposed by Dean & Ghemawat [10], is an efficient way for processing very large datasets using a computer cluster and, more recently, cloud infrastructures. Traditional Map Reduce implementations, however, provide neither the necessary flexibility (to choose among different encoding techniques in the mapping stage) nor control (to specify how to organize results in the reducing stage), required to process video files. The Split & Merge tool, proposed in this thesis, generalizes the Map Reduce paradigm, and provides an efficient solution that contemplates relevant aspects of intense processing video applications. Keywords Cloud Computing; Video Compression; Distributed Systems; Service Oriented Architectures.

Table of Contents 1. Introduction 11! 1.1 Context 11! 1.2 Goals 14! 1.3 Main Contributions 14! 2. Background 16! 2.1 Cloud Computing Paradigms 17! 2.2 Amazon Web Services Platform 19! 2.3 The Map-Reduce paradigm and Distributed Data Processing 23! 3. Video Compression 26! 3.1 Image Compression 26! 3.2 Lossless Video Compression 29! 3.3 Lossy Video Compression 30! 3.4 Video Compression for Internet Distribution 33! 4. The Split&Merge Architecture 36! 4.1 The Split&Merge for Video Compression 38! 4.1.1 The Split Step 40! 4.1.2 The Process Step 43! 4.1.3 The Merge Step 46! 4.2 Deployment in The AWS Cloud 47! 4.3 Fault Tolerance Aspects 49! 4.4 Performance Tests 50! 4.5 A Cost Analysis 52! 5. Case Studies 54! 5.1 The Split&Merge for Globo.com Internet Video Compression 54! 5.2 The Split&Merge for Video Event Extraction using OCR 57! 6. Limitations 65! 7. Conclusions 69! 7.1 Future Work 70! 8. References 72!!

List of Figures Figure 1. The Map Reduce Architecture [44] 24! Figure 2. The 8x8 array of Luma with 8bit of resolution [65] 27! Figure 4. Image Compression Steps [66] 28! Figure 6. An image with successively more compression ratios from left to right [65] 29! Figure 8. The i-frames, p-frames and b-frames 32! Figure 10. Motion Compensation [66] 32! Figure 12. Motion Vectors in a Video Frame 33! Figure 14. The Split, Process and Merge Concept 37! Figure 16. Encoding speed for different H.264 implementations [69] 39! Figure 18. The proposed Split&Merge approach for video compression 41! Figure 20. Split&Merge architecture deployed on Amazon Web Services infrastructure 48! Figure 22. Total Encoding Times for Different Sequence Durations (in sec) 51! Figure 24. The Video Production approach using S&M deployed on Amazon AWS 56! Figure 26. Information inside a Sports Video 58! Figure 28. The Split&Merge for Video Event Extraction using OCR 59! Figure 30. Data extraction process 60! Figure 31. Efficiency in the extraction process for different sampling rates 61! Figure 33. The Probability of a Correct Identification by the OCR Engine 62! Figure 34. Total Processing Times for Different Number of Workers 63!

List of Tables Table 1. Description of MEncoder parameters used for video chunk encoding 44! Table 3. Description of MEncoder parameters used for audio encoding 45! Table 5. Comparison between the Traditional Encoding Process and The Split&Merge Approach 53! Table 7. Cost of S&M approach deployed in Amazon AWS for Globo.com's case 56! Table 9. Comparison between the Traditional Process and the Split&Merge approach, for 1 second of sampling interval 64!

Glossary! API - An application programming interface (API) is an interface implemented by a software program to enable interaction with other software, similar to the way a user interface facilitates interaction between humans and computers. Codec - A codec is a device or computer program capable of encoding and/or decoding a digital data stream or signal. The word codec is a portmanteau (a blending of two or more words) of 'compressor-decompressor' or, more commonly, 'coder-decoder'. DV - DV is a format for recording and playing back digital video. It was launched in 1995 with joint efforts of leading producers of video camera recorders. DCT - Discrete Cosine Transform, a mathematical transform that can provide aliasing cancellation and good frequency resolution, used in some codecs to convert the audio or video signal from the time domain to the frequency domain. GOP - Group of Pictures, it starts with one I-frame and ends with the next I- frame, excluding the next I-frame. HD - High definition. Usually used to describe any device capable of generating or displaying a signal with a resolution of at least 720 vertical lines (i.e. 720p). HTML - HTML, which stands for HyperText Markup Language, is the predominant markup language for web pages. HTML 5 - HTML5 is being developed as the next major revision of HTML. In particular, HTML5 adds many new syntactical features. These include the <video>, <audio>, and <canvas> elements, as well as the integration of SVG content. These features are designed to make it easy to include and handle multimedia and graphical content on the web without having to resort to proprietary plugins and APIs. HTTP/HTTPS - HTTP is an application protocol, which defines how files on the World Wide Web are transferred. HTTPS (HTTP over SSL or HTTP Secure) is the use of Secure Socket Layer (SSL) or Transport Layer Security (TLS) as a sublayer under regular HTTP. NFS - Network File System. Standard for accessing files on a remote computer appearing as a local volume. OCR - Optical Character Recognition. The technology that allows computers to 'read' text from files, such as images. RGB - An additive color model based on red (R), green (G), and blue (B) light. RGB is used by computers, televisions, and film recorders to display colors. SD - Standard definition. Usually defined as a 480i signal (480 interlaced scan lines) presented 30 times per second.

SLA - A service level agreement (frequently abbreviated as SLA) is a part of a service contract where the level of service is formally defined. In practice, the term SLA is sometimes used to refer to the contracted delivery time (of the service) or performance. UGC - User-generated content (UGC), also known as consumer-generated media (CGM) or user-created content (UCC), refers to various kinds of media content, publicly available, that are produced by end-users.!