Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of 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 !