Download Error resilience

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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 !