Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Department of Communication Systems Engineering Ben Gurion University of the Negev Be’er-Sheva, Israel Projects Day Effective P2P H.264/AVC Real-time Video Transmission Over Error Prone Networks Students: Meir Shiri and Tomer Levy Advisors: Dr. Ofer Hadar and Dr. Evgeny Kaminsky Project Goal: “Investigate the resilience of the Intel IPP (Integrated Performance Primitives ) compression protocol by using transmission and reception real-time chains.” background • Streaming compressed video over communication channels that introduce errors, for example Internet channel: • In this project we will discuss the technology features that provide these countermeasures Problem Definition: • The guidelines to minimize the visual disruption to the viewer are: 1. Limit the damage , both spatial and temporal. 2. Sprinkle the damage across the screen . 3. Spread the damage over multiple frames. Problem Solution - Error resilience: • Error resilience refers to mechanisms in the Encoder. Project Description: Encoder PC1 WANem PC2 RTP – Real-time Transport Protocol MPEG4 RTP UDP IP Application Transport Network H.264/AVC – Compression Protocol - briefly • Three types coded frames: I-frame P-frame • Intra-coded frame, coded independently of all other frames. • Predicatively coded frame, coded based on previously coded frame. B-frame • Bi-directionally predicted frame, coded based on both previous and future coded frames. Project Description: Encoder PC1 WANem PC2 Why Intel IPP ? • Provides source code and libraries for media types such as: Data Image and Video Com and Signal Intel IPP Why Intel IPP ? • Support advanced commands such as: MMX, SSE2 etc. • Multi-Core Processors Enable the True Parallel Execution of Multi-Threaded Software Applications: • Well documented. • Easy to use. Intel IPP Encoder • Input YUV frames. • Output MPEG-4 bit stream file. • Disable Motion Estimation for testing purposes. • Parameters file. Intel IPP Encoder GUI • In order to control IIPP encoder parameters we implemented a GUI. Compress file Configure Encoder parameters Pick a YUV file Intel IPP Encoder GUI • Configure Encoder parameters: Intel IPP Encoder GUI • Example of compressing a YUV file, using Intel IPP encoder: Project Description: Encoder PC1 WANem PC2 VSS – Vanguard Software Solution • In order to send the video between the computers, we used VSS filters. • Sender side: • Receiver side: VSS – Vanguard Software Solution multiplexes video and audio streams to transport with RTP protocol. compatible with VSS muxer filters. Sends data over network. Receives and reassembles the transmitted packets into a stream. Project Description: Encoder PC1 WANem PC2 WANem – Wide Area Network Emulator • Meant to provide a real experience of a Wide Area Network/Internet, during application development / testing over a LAN environment. • Can be used to simulate WAN characteristics like Network delay, Packet loss, Packet corruption, Disconnections, Packet re-ordering, Jitter, etc. WANem – Wide Area Network Emulator Project Description: Encoder PC1 WANem PC2 Direct Show Filters For example: GraphEdit • The GUI that can be used to visually build and test filter graphs. • Searches the Windows Registry. • Connects the filters together, and, at the developer's request, executes : • Intel IPP Sender graph: Creating instance of the required filter – Intel IPP Encoder • DirectShow Base Classes – C++ classes. Creation Registration Logic DirectShow Filter Problem Streaming compressed video over communication channels that introduce errors ! – Solutions Error Resilience Methods Error resilience - Selective Intra Coding: • Halt error propagation by frequent emplacement of I-frames. • But, what about the coding efficiency ? Jitter & Higher BW Q factor Error resilience - Selective Intra Coding: • Sprinkles a few intra coded macroblocks in the P and B frames. • Tradeoff benefits Error resiliency Coding efficiency Less Delay Jitter Stable output bit rate Stable workload for the decoder Error resilience - Selective Intra Coding - Methods: There are several methods for dispersing the Intra coded macroblocks in the output stream: Error resilience - Selective Intra Coding - Motion Tracking: • Insert the intra coded macroblocks according to a motion tracking algorithm: Error resilience - Selective Intra Coding - Methods: There are several methods for dispersing the Intra coded macroblocks in the output stream: Error resilience - Selective Intra Coding - Row Based Distribution: • One or more horizontal rows of the macroblocks are inserted in the inter frames (P and B). • frames to “scan” the entire image = •40 rows 20 frames. Frame Height 16 Project Description: Any Encoder PC1 WANem PC2 The End !