SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
ACEEE Int. J. on Signal & Image Processing, Vol. 02, No. 01, Jan 2011




       Motion Vector Recovery for Real-time H.264
                     Video Streams
                          Kavish Seth1, Tummala Rajesh1, V. Kamakoti2, and S. Srinivasan1
                     1
                      Dept. of Electrical Engg., Indian Institute of Technology Madras, Chennai, India
                            Email: {kavishseth, trajeshreddy}@gmail.com, srini@ee.iitm.ac.in
                 2
                   Dept. of Computer Sc. and Engg., Indian Institute of Technology Madras, Chennai, India
                                                Email: veezhi@gmail.com


Abstract— Among the various network protocols that can be             erroneous transmission. The packet may be damaged or
used to stream the video data, RTP over UDP is the best to do         may not be received at all. Such errors are likely to damage
with real time streaming in H.264 based video streams. Videos         a Group of Blocks (GOB) of data in the decoded frames for
transmitted over a communication channel are highly prone             block-based coding schemes such as H.264. Error also
to errors; it can become critical when UDP is used. In such           propagates due to high correlation between neighboring
cases real time error concealment becomes an important
aspect. A subclass of the error concealment is the motion
                                                                      frames and degrades the quality of successive frames. The
vector recovery which is used to conceal errors at the decoder        Real Time Protocol (RTP) over User Datagram Protocol
side. Lagrange Interpolation is the fastest and a popular             (UDP) is the recommended and commonly used
technique for the motion vector recovery. This paper proposes         mechanism employed while streaming the H.264 media
a new system architecture which enables the RTP-UDP based             format [2].
real time video streaming as well as the Lagrange                        Various approaches have been used to achieve error
interpolation based real time motion vector recovery in H.264         resilience in order to deal with the above problem. A nice
coded video streams. A completely open source H.264 video             overview of such methods is given in [3], [4]. One of the
codec called FFmpeg is chosen to implement the proposed               ways to overcome this problem is the implementation of
system. Proposed implementation was tested against the
different standard benchmark video sequences and the
                                                                      Error Concealment (EC) at the decoder side. Motion
quality of the recovered videos was measured at the decoder           Vector Recovery (MVR) is one way of EC which uses
side using various quality measurement metrics.                       several mathematical techniques to recover the erroneous
Experimental results show that the real time motion vector            motion fields. Among the various MVR techniques
recovery does not introduce any noticeable difference or              reported in the literature, the Lagrange Interpolation
latency during display of the recovered video.                        (LAGI) is the fastest and a popular MVR technique which
                                                                      produces the high quality of the recovered video [5].
Index Terms—Digital Video,         Motion    Vector,    Error            FFmpeg is a comprehensive multimedia encoding and
Concealment, H.264, UDP, RTP                                          decoding library that consists of numerous audio, video,
                                                                      and container formats [6]. This paper proposes a new
                     I. INTRODUCTION                                  system architecture which enables the real time video
   Streaming of videos is a very common mode of video                 streaming as well as the real time MVR. The proposed
communication today. Its low cost, convenience and                    architecture is implemented in both FFmpeg coder and
worldwide reach have made it a hugely popular mode of                 decoder. A RTP packet encapsulation/decapsulation
transmission. The videos can either be a pre-recorded video           module is added to the FFMpeg codec, which
sequence or a live video stream. The videos captured are              packs/unpacks the Network Abstraction Layer (NAL)
raw videos, which take up lot of storage space. Video                 packets [2], [7] into single NAL unit type RTP packets. A
compression technologies have to be widely employed in                UDP socket program is used at both coder and decoder
video communications systems in order to meet the channel             sides to stream the RTP packets over UDP. A LAGI based
bandwidth requirements.                                               MVR technique is implemented at decoder side. The
   The H.264 is currently one of the latest and most popular          proposed system implementation was tested against the
video coding standard [1]. Compared to previous coding                different benchmark video sequences. Quality of the
standards, it is able to deliver higher video quality for a           received videos can be measured using various quality
given compression ratio, and better compression ratio for             measurement standards such as Peak Signal to Noise Ratio
the same video quality. Because of this, variations of H.264          (PSNR) and Video Quality Evaluation Metric (VQM) [8]
are used in many applications including HD-DVD, Blu-ray,              tools. The experimental section presents a brief analysis of
iPod video, HDTV broadcasts, and most recently in                     which quality measurement parameter is best suited for the
streaming media.                                                      streaming video analysis. Experimental results show that
   The compressed videos are sent in the form of packets              the proposed implementation does not introduce any
for streaming media. The packets sent are highly prone to             latency or degradation in the quality of the recovered video
                                                                 31
© 2011 ACEEE
DOI: 01.IJSIP.02.01.231
ACEEE Int. J. on Signal & Image Processing, Vol. 02, No. 01, Jan 2011



while streaming and performing the MVR simultaneously                 payload that recursively carries another protocol packet.
in real time.                                                         For example, H.264 video data that is carried in an RTP
   Rest of the paper is organized as follows: a brief                 packet which in turn is carried in a UDP packet which in
introduction of the H.264 codec is presented in Section II.           turn is carried in an IP packet. The UDP sends
An overview of real time streaming for H.264 videos is
given in Section III. The MVR details are covered in
Section IV. A system architecture for real time streaming
and real time MVR is proposed in Section V. Experimental
results are presented in Section VI and last section
concludes the paper.

                     II. H.264 CODEC
   The H.264 video codec is an efficient coding scheme
that covers all forms of digital compressed video ranging
from low bit-rate Internet streaming applications to HDTV
broadcast and Digital Cinema applications. Compared to
the current state of technology, the H.264 standard is
shown to yield same quality of images as that produced by
current state-of-the-art standards with a savings of 50% on
                                                                                       Figure 1. Frame with Lost Macro block
the bitrate over the other standards. For example, the H.264
is reported to have achieved the same quality of images               the media stream as a series of small packets. This is
using a bitrate of 1.5 Mbit/s compared to what was                    simple and efficient; however, there is no mechanism
achieved using the MPEG 2 standard at 3.5 Mbit/s [9].                 within the protocol to guarantee delivery. It is up to the
   The codec specification [1] itself distinguishes                   receiving application to detect loss or corruption and
conceptually between a video coding layer (VCL) and a                 recover data using error correction techniques. If data is
NAL. The VCL performs the signal processing part of the               lost, the stream may suffer a dropout.
codec namely, mechanisms such as transform,                              The RTP was developed for carriage of real time data
quantization, and motion compensated prediction; and a                over IP networks [11], [12]. RTP is a native internet
loop filter. It follows the general concept of most of today’s        protocol, designed for and fitting well in the general suite
video codecs, a Macro Block (MB) based coder that uses                of IP protocols. RTP does not provide any multiplexing
inter picture prediction with motion compensation and                 capability. Rather, each media stream is carried in a
transform coding of the residual signal. The VCL encoder              separate RTP stream and relies on underlying
outputs slices: a bit string that contains the MB data of an          encapsulation, typically UDP, to provide multiplexing over
integer number of MBs, and the information of the slice               an IP network. Because of this, there is no need for an
header (containing the spatial address of the first MB in the         explicit de-multiplexer on the client either. Each RTP
slice, the initial quantization parameter, and similar                stream must carry timing information that is used at the
information). The NAL encoder encapsulates the slice                  client side to synchronize streams when necessary.
output of the VCL encoder into NAL units, which are
suitable for transmission over packet networks or use in                        IV. MOTION VECTOR RECOVERY IN H.264
packet oriented multiplex environments.
   A NAL unit consists of a one-byte header and the                       Among the existing MVR algorithms reported in
payload byte string. The header indicates the type of the             literature, the LAGI [5] is the most popular techniques used
NAL unit, presence of bit errors or syntax violations in the          to recover the lost MVs in H.264 encoded video. The
NAL unit payload, and information regarding the relative              computation cost of the LAGI based MVR technique is
importance of the NAL unit for the decoding process.                  lower than most other interpolation functions and hence
                                                                      this technique becomes a good choice for real time video
                                                                      streaming applications. This section presents a MVR
      III. REAL TIME STREAMING FOR H.264 VIDEOS
                                                                      method that is based on LAGI formula. For n + 1 given
   The Internet Protocol (IP) [10] is a packet-based-                 points ( xi , y i ) and i = 0, K , n by suitable choice of
network transport protocol upon which the internet is built.
                                                                      parameters, we can constitute the interpolation function
IP packets are encapsulated in lower, hardware-level
protocols for delivery over various networks (Ethernet,                f (x) such that f ( xi ) = yi . The formula for LAGI
etc), and they encapsulate higher transport- and                      function is as follows:
application-level protocols for streaming and other
applications. In the case of streaming H.264 videos over IP           f ( x) = y 0 L(0n ) ( x) + y1 L(i n ) ( x) + L + y n L(nn ) ( x)   (1)
networks, multiple protocols, such as RTP and UDP, are
carried in the IP payload, each with its own header and
                                                                 32
© 2011 ACEEE
DOI: 01.IJSIP.02.01.231
ACEEE Int. J. on Signal & Image Processing, Vol. 02, No. 01, Jan 2011




Where L(0n ) , K , L(nn ) denote the parameters in the LAGI                          shown in Fig. 1. Let Vi (0 ≤ i ≤ 3) represent the MVs of
formula. They can be computed from the n + 1 given                                   the rows of Fm,n that need to be recovered.
points, by the following formula:
                                     Table I
                    The Corresponding Coordinates Of Each MV
              x              x0          x1          x2         x3

       y = f (x)           MV0         MV1         MV2         MV3                                 Figure 2. Proposed encoder architecture


               ( x − x0 ) L ( x − xi −1 )( x − xi +1 ) L ( x − x n )
L(i n ) =
            ( xi − x0 ) L ( xi − xi −1 )( xi − xi +1 ) L ( xi − x n )
                                                      (2)
The Lagrangian basis functions are calculated as follows:
                                                                                                   Figure 3. Proposed decoder architecture
   Where,
                                                                                     The procedure to recover the one row of MVs of Fm,n is
             ⎡ ( x − x1 )( x − x 2 )( x − x3 ) ⎤
   L(03)    =⎢                                    ⎥                  (3)             described as follows:
             ⎣ ( x0 − x1 )( x0 − x 2 )( x0 − x3 ) ⎦                                      1. The correct neighboring MVs MV0 , K , MV3 are
                                                                                              used to compute Lagrange basis functions by
          ⎡ ( x − x0 )( x − x 2 )( x − x3 ) ⎤                                                 substituting these values in (3) – (6).
   L13) = ⎢
    (
                                               ⎥                     (4)
          ⎣ ( x1 − x0 )( x1 − x 2 )( x1 − x3 ) ⎦
                                                                                         2. By substituting in (7), the four ( x, y ) pairs shown
                                                                                              in Table I, a third degree LAGI polynomial is
                                                                                              formed.
           ⎡ ( x − x0 )( x − x1 )( x − x3 ) ⎤
   L(23) = ⎢                                      ⎥                  (5)                 3. The lost MVs are computed by substituting the
           ⎣ ( x 2 − x0 )( x 2 − x1 )( x 2 − x3 ) ⎦                                           values of MVi and xi in (7).
                                                                                        A similar procedure is followed if the vertically adjacent
           ⎡ ( x − x0 )( x − x1 )( x − x 2 ) ⎤                                       frames of Fm,n are error-free. In this case, the lost MVs of
   L(33) = ⎢                                    ⎥                    (6)
           ⎣ ( x3 − x0 )( x3 − x1 )( x3 − x 2 ) ⎦
                                                                                     Fm,n are recovered column-by-column using the correct
        (1e)                                                                         MVs of Fm ,n −1 and Fm ,n +1 as shown in Fig. 1.
The Lagrangian polynomial is formed as follows:
                                                                                                    V. PROPOSED ARCHITECTURE
 f ( x) = MV0 L(03) ( x) + MV1 L13) ( x) + L + MV3 L(33) ( x)
                                (
                                                                                        FFmpeg provides the complete package to
                                                                        (7)          encode/decode most of the popular encoded videos. It is a
  The H.264 standard divides every frame into several                                computer program that can record, convert and stream
Macro Blocks (MBs). Each MB is associated with 1 to 16                               digital audio and video in numerous formats [6]. FFmpeg is
Motion Vectors (MVs) ensuring backward compatibility                                 a command line tool that is composed of a collection of
with previous standards. Fig. 1 shows a H.264 frame                                  free software and open source libraries. It includes
segment with 9 MBs denoted by Fm,n , where m and n                                   libavcodec, an audio/video codec library used by several
denote the spatial location of the MB within the frame.                              other projects, and libavformat, an audio/video container
Each MB is associated with 16 MVs. In Fig. 1, let                                    mux and demux library. On careful examination of the
Fm,n denote the lost MB. As in the case of many MVR                                  libavcodec source code, the file used by FFmpeg to decode
                                                                                     the H.264 videos was found to be ”h264.c”.The name of
algorithms, it is assumed that either two of the vertically
                                                                                     the project comes from the MPEG video standards group,
adjacent or two of the horizontally adjacent MBs of the lost
                                                                                     together with ”FF” for ”fast forward”. FFmpeg is
MB are correctly decoded [5], [13]. In Fig. 1, it is assumed
                                                                                     developed under Linux, but it can be compiled under most
without loss of generality that both the horizontally
                                                                                     operating systems, including Apple Inc. Mac OS X,
adjacent MBs of Fm,n are error-free. In this case, the lost
                                                                                     Microsoft Windows and AmigaOS. The proposed system
MVs         of     Fm,n      are     recovered        row-by-row.         Let        architecture at FFmpeg encoder side consists of a H.264
MVi (0 ≤ i ≤ 3) denote the correct MVs that belong to a                              encoder, a RTP encapsulation module and a UDP server.
                                                                                     This UDP server uses a socket program to transmit any
particular row of the horizontally adjacent MBs of Fm,n as

                                                                                33
© 2011 ACEEE
DOI: 01.IJSIP.02.01.231
ACEEE Int. J. on Signal & Image Processing, Vol. 02, No. 01, Jan 2011



H.264 video as the UDP packets over a predetermined port               decoder. Note that 15% MB loss randomly is introduced in
known both to the server as well as to the client.                     all the P frames of each sequence and the Quantization
                                                                       Parameter (QP) is set to 24.
                             Table Ii
      Table Showing The Psnr Values For Various Video Sequences

     Sequence                        PSNR (dB)

                    without error     with MVR      with error

       Akiyo            41.32           36.34         16.26

     Coastguard         37.79           32.78          8.34

      Foreman           38.80           29.20          9.40


                           Table Iii
     Table Showing The Vqm Values For Various Video Sequences

      Sequence                         VQM

                     without error    with MVR      with error
                                                                            Figure 4. PSNR of the Akiyo sequence with error and after MVR
       Akiyo             0.68            1.10          7.8

     Coastguard          1.00            1.76          19.8

      Foreman            0.83            2.14         15.56



   The block diagram of FFmpeg encoder side architecture
is presented in Fig. 2. The system architecture at FFmpeg
decoder side consists of a H.264 decoder, a RTP
decapsulation module and a UDP client which keeps
listening on same port used by socket program run on
server end. The block diagram of FFmpeg decoder side                            Figure 5. The frame in the Akiyo sequence without error
architecture is presented in Fig. 3. Once UDP client
receives the H.264 live stream, it forwards its payload
(UDP payload is a single NAL unit type RTP packets) to
the RTP decapsulation module. Note that the RTP
encapsulation/decapsulation modules can deal only with
single NAL unit type of packets. RTP decapsulation
module gives out the NAL packets to the H.264 decoder
with MVR capability. The RTP decapsulation module also
performs a check on erroneous or missing packets based on
the RTP sequence number and timestamp and it reports the
check results to the decoder to perform MVR. In order to
introduce MVR as a part of decoding process, a LAGI
                                                                                    Figure 6. The error frame in the Akiyo sequence
based MVR module is incorporated with the motion
compensation module of the FFmpeg decoder.
                                                                          The complexity and cost of subjective quality
                                                                       measurement make it attractive to be able to measure
                  VI. EXPERIMENTAL RESULTS                             quality automatically using an algorithm. The most widely
   After implementing the proposed system architecture in              used measure is Peak Signal to Noise Ratio (PSNR) but the
FFmpeg codec, the implementation is tested with three                  limitations of this metric have led to many efforts to
different standard benchmark video sequences the Akiyo,                develop more sophisticated measures like Video Quality
the Foreman, and the Coastguard. All of them are Quarter               Evaluation Metric (VQM) that approximate the response of
Common Intermediate Format (QCIF) raw sequences and                    real human observers. VQM is a modified discrete cosine
the total number of frames in each sequence is 70. In order            transform based VQM based on Watsons proposal [14],
to conduct the experiments, errors are deliberately                    which exploits the property of visual perception. A detailed
introduced into these sequences before streaming them to               account of how it is implemented can be found at [8]. The

                                                                  34
© 2011 ACEEE
DOI: 01.IJSIP.02.01.231
ACEEE Int. J. on Signal & Image Processing, Vol. 02, No. 01, Jan 2011



values of PSNR and VQM have been calculated using a
Video Quality Measurement tool called MSU [8].




       Figure 7. The error frame in the Akiyo sequence after MVR

   The PSNR values for the above mentioned video
sequences are given in Table II. The PSNR graph for the
Akiyo sequence with error and after MVR is shown in Fig.                      Figure 8. VQM of the Akiyo sequence with error and after MVR
4. The frames of the Akiyo sequence without error, with
error and after MVR are shown in Fig. 5, 6 and 7                                                  REFERENCES
respectively.
                                                                         [1] ITU-T Recommendation: H.264 Advanced video coding for
   The VQM values are used to quantify the quality of the                     generic audiovisual services, May 2003.
video streams. The VQM values reflects the different                     [2] S. Wenger, M. M. Hannuksela, T. Stockhammer, M.
characteristics of a video stream e.g. latency, frames drops,                 Westerlund, D. Singer, RTP Payload Format for H.264
visual quality of a frame, resolution etc. Higher the value of                Video: RFC 3984, February 2005.
VQM of a given video stream indicates the bad quality. On                [3] Y. Wang and Q. F. Zhu, “Error control and concealment for
the other hand, PSNR values are used to access only the                       video communication: a review,” Proc. IEEE, vol. 86, no. 5,
visual quality of frames and doesn’t consider other                           May 1998
parameters like latency, frame drops etc. The VQM values                 [4] Y. K. Wang, M. M. Hannuksela, V. Varsa, A. Hourunranta,
                                                                              and M. Gabbouj, “The error concealment feature in the
for the different video sequences are given in Table III. It is
                                                                              H.26L test model,” Proc. IEEE Int. Conf. Image
clear from the Table III that the VQM values of the                           Processing,,pp.729-732, 2002.
recovered videos fall within pretty much acceptable range.               [5] J. H. Zheng and L. P. Chau, “Motion vector recovery
This indicates that the streaming quality on the proposed                     algorithm for digital video using Lagrange Interpolation,”
implementation is quite good. The VQM graph for the                           IEEE Trans. Broadcasting, vol. 49, No. 4, pp. 383-389, Dec
Akiyo sequence with error and after MVR is shown in Fig.                      2003.
8. Though PSNR and VQM can both be used to measure                       [6] FFmpeg, http://ffmpeg.mplayerhq.hu/.
video quality, VQM performances much better in situations                [7] Iain E. G. Richardson, H.264 and MPEG-4 Video
when PSNR fails. The light computation and memory load                        Compression: Wiley, 2003.
                                                                         [8] MSU, Video Quality Measurement Tools: VQM Reference
make it even more attractive for wide applications [8].
                                                                              Manual, http://www.compression.ru/video.
                                                                         [9] A. Luthra, G. J. Sullivan, and T. Wiegand, “Special Issue on
                       CONCLUSIONS                                            H.264/AVC,” IEEE Transactions Circuits and Systems on
   Video streaming using the RTP over the UDP has been                        Video Technology, vol. 13, no. 7, pp. 560-576, July 2003.
                                                                         [10] J. Postel, Internet Protocol: RFC 791, September 1981.
successfully tested and reported in this paper. The MVR                  [11] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson,
using the Lagrangian interpolation technique has been                         RTP: A Transport Protocol for Real-Time Applications: STD
integrated into FFmpeg and tested for various erroneous                       64, RFC 3550, July 2003.
H.264 video sequences. The MVR algorithm also gives                      [12] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson,
good results with real time video without any noticeable                      RTP: A Transport Protocol for Real-Time Applications: RFC
difference or latency during display. Also the analysis of                    1889, January 1996.
the received videos through different quality measurement                [13] Kavish Seth, M. Komisetty, V. Anand, V. Kamakoti, and S.
metrics. shows that the VQM is a better way to measure                        Srinivasan, “VLSI implementation of Motion Vector
quality than PSNR.                                                            Recovery Algorithms for H.264 Video Codecs," 13th
                                                                              IEEE/VSI VLSI Design and Test Symposium, Bangalore
                                                                              (India), July 2009.
                                                                         [14] A. B. Watson, Image data compression having minimum
                                                                              perceptual      error:   US     Patent   5,629,780.    1997.



                                                                    35
© 2011 ACEEE
DOI: 01.IJSIP.02.01.231

Mais conteúdo relacionado

Mais procurados

AccessGrid-to-Go : Providing AccessGrid access on Personal ...
AccessGrid-to-Go : Providing AccessGrid access on Personal ...AccessGrid-to-Go : Providing AccessGrid access on Personal ...
AccessGrid-to-Go : Providing AccessGrid access on Personal ...Videoguy
 
CAdViSE or how to find the Sweet Spots of ABR Systems
CAdViSE or how to find the Sweet Spots of ABR SystemsCAdViSE or how to find the Sweet Spots of ABR Systems
CAdViSE or how to find the Sweet Spots of ABR SystemsAlpen-Adria-Universität
 
Video Conferencing Experiences with UltraGrid:
Video Conferencing Experiences with UltraGrid: Video Conferencing Experiences with UltraGrid:
Video Conferencing Experiences with UltraGrid: Videoguy
 
Video Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideo Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideoguy
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresVideoguy
 
Applied technology
Applied technologyApplied technology
Applied technologyErica Fressa
 
LwTE: Light-weight Transcoding at the Edge
LwTE: Light-weight Transcoding at the EdgeLwTE: Light-weight Transcoding at the Edge
LwTE: Light-weight Transcoding at the EdgeAlpen-Adria-Universität
 
HEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam MariappanHEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam MariappanVinayagam Mariappan
 
Video Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video CodecsVideo Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video CodecsDr. Mohieddin Moradi
 
Instant video streaming
Instant video streamingInstant video streaming
Instant video streamingVideoguy
 
Machine Learning Based Video Coding Enhancements for HTTP Adaptive Streaming
Machine Learning Based Video Coding Enhancements for HTTP Adaptive StreamingMachine Learning Based Video Coding Enhancements for HTTP Adaptive Streaming
Machine Learning Based Video Coding Enhancements for HTTP Adaptive StreamingAlpen-Adria-Universität
 
A Distributed Delivery Architecture for User Generated Content Live Streaming...
A Distributed Delivery Architecture for User Generated Content Live Streaming...A Distributed Delivery Architecture for User Generated Content Live Streaming...
A Distributed Delivery Architecture for User Generated Content Live Streaming...Alpen-Adria-Universität
 
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGVideoguy
 
Proxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingProxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingVideoguy
 

Mais procurados (20)

AccessGrid-to-Go : Providing AccessGrid access on Personal ...
AccessGrid-to-Go : Providing AccessGrid access on Personal ...AccessGrid-to-Go : Providing AccessGrid access on Personal ...
AccessGrid-to-Go : Providing AccessGrid access on Personal ...
 
20 Years of Streaming in 20 Minutes
20 Years of Streaming in 20 Minutes20 Years of Streaming in 20 Minutes
20 Years of Streaming in 20 Minutes
 
CAdViSE or how to find the Sweet Spots of ABR Systems
CAdViSE or how to find the Sweet Spots of ABR SystemsCAdViSE or how to find the Sweet Spots of ABR Systems
CAdViSE or how to find the Sweet Spots of ABR Systems
 
Video Conferencing Experiences with UltraGrid:
Video Conferencing Experiences with UltraGrid: Video Conferencing Experiences with UltraGrid:
Video Conferencing Experiences with UltraGrid:
 
H263.ppt
H263.pptH263.ppt
H263.ppt
 
Video Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideo Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A Survey
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_Pres
 
Applied technology
Applied technologyApplied technology
Applied technology
 
LwTE: Light-weight Transcoding at the Edge
LwTE: Light-weight Transcoding at the EdgeLwTE: Light-weight Transcoding at the Edge
LwTE: Light-weight Transcoding at the Edge
 
HEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam MariappanHEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam Mariappan
 
[IJET-V1I2P1] Authors :Imran Ullah Khan ,Mohd. Javed Khan ,S.Hasan Saeed ,Nup...
[IJET-V1I2P1] Authors :Imran Ullah Khan ,Mohd. Javed Khan ,S.Hasan Saeed ,Nup...[IJET-V1I2P1] Authors :Imran Ullah Khan ,Mohd. Javed Khan ,S.Hasan Saeed ,Nup...
[IJET-V1I2P1] Authors :Imran Ullah Khan ,Mohd. Javed Khan ,S.Hasan Saeed ,Nup...
 
Video Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video CodecsVideo Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video Codecs
 
Technology Update: MPEG-Dash
Technology Update: MPEG-DashTechnology Update: MPEG-Dash
Technology Update: MPEG-Dash
 
Instant video streaming
Instant video streamingInstant video streaming
Instant video streaming
 
Machine Learning Based Video Coding Enhancements for HTTP Adaptive Streaming
Machine Learning Based Video Coding Enhancements for HTTP Adaptive StreamingMachine Learning Based Video Coding Enhancements for HTTP Adaptive Streaming
Machine Learning Based Video Coding Enhancements for HTTP Adaptive Streaming
 
A Distributed Delivery Architecture for User Generated Content Live Streaming...
A Distributed Delivery Architecture for User Generated Content Live Streaming...A Distributed Delivery Architecture for User Generated Content Live Streaming...
A Distributed Delivery Architecture for User Generated Content Live Streaming...
 
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
 
What’s new in MPEG?
What’s new in MPEG?What’s new in MPEG?
What’s new in MPEG?
 
H.263 Video Codec
H.263 Video CodecH.263 Video Codec
H.263 Video Codec
 
Proxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingProxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video Streaming
 

Semelhante a Motion Vector Recovery for Real-time H.264 Video Streams

Paper id 2120148
Paper id 2120148Paper id 2120148
Paper id 2120148IJRAT
 
H2B2VS (HEVC hybrid broadcast broadband video services) – Building innovative...
H2B2VS (HEVC hybrid broadcast broadband video services) – Building innovative...H2B2VS (HEVC hybrid broadcast broadband video services) – Building innovative...
H2B2VS (HEVC hybrid broadcast broadband video services) – Building innovative...Raoul Monnier
 
The impact of jitter on the HEVC video streaming with Multiple Coding
The impact of jitter on the HEVC video streaming with  Multiple CodingThe impact of jitter on the HEVC video streaming with  Multiple Coding
The impact of jitter on the HEVC video streaming with Multiple CodingHakimSahour
 
A REAL-TIME H.264/AVC ENCODER&DECODER WITH VERTICAL MODE FOR INTRA FRAME AND ...
A REAL-TIME H.264/AVC ENCODER&DECODER WITH VERTICAL MODE FOR INTRA FRAME AND ...A REAL-TIME H.264/AVC ENCODER&DECODER WITH VERTICAL MODE FOR INTRA FRAME AND ...
A REAL-TIME H.264/AVC ENCODER&DECODER WITH VERTICAL MODE FOR INTRA FRAME AND ...csandit
 
IBM VideoCharger and Digital Library MediaBase.doc
IBM VideoCharger and Digital Library MediaBase.docIBM VideoCharger and Digital Library MediaBase.doc
IBM VideoCharger and Digital Library MediaBase.docVideoguy
 
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...Effective and Secure Scheme for Video Multicasting using Real Time Transport ...
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...IRJET Journal
 
09a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_209a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_2Pptblog Pptblogcom
 
Analyzing Video Streaming Quality by Using Various Error Correction Methods o...
Analyzing Video Streaming Quality by Using Various Error Correction Methods o...Analyzing Video Streaming Quality by Using Various Error Correction Methods o...
Analyzing Video Streaming Quality by Using Various Error Correction Methods o...IJERA Editor
 
10.1.1.184.6612
10.1.1.184.661210.1.1.184.6612
10.1.1.184.6612NITC
 
A new robust video watermarking technique using h_264_aac_codec luma componen...
A new robust video watermarking technique using h_264_aac_codec luma componen...A new robust video watermarking technique using h_264_aac_codec luma componen...
A new robust video watermarking technique using h_264_aac_codec luma componen...Iftikhar Ahmad
 
An Overview on Multimedia Transcoding Techniques on Streaming Digital Contents
An Overview on Multimedia Transcoding Techniques on Streaming Digital ContentsAn Overview on Multimedia Transcoding Techniques on Streaming Digital Contents
An Overview on Multimedia Transcoding Techniques on Streaming Digital Contentsidescitation
 
A guideline to video codecs delay
A guideline to video codecs delayA guideline to video codecs delay
A guideline to video codecs delayAlexander Decker
 
A guideline to video codecs delay
A guideline to video codecs delayA guideline to video codecs delay
A guideline to video codecs delayAlexander Decker
 
ComplexCTTP: Complexity Class Based Transcoding Time Prediction for Video Seq...
ComplexCTTP: Complexity Class Based Transcoding Time Prediction for Video Seq...ComplexCTTP: Complexity Class Based Transcoding Time Prediction for Video Seq...
ComplexCTTP: Complexity Class Based Transcoding Time Prediction for Video Seq...Alpen-Adria-Universität
 
Video Streaming - 4.ppt
Video Streaming - 4.pptVideo Streaming - 4.ppt
Video Streaming - 4.pptVideoguy
 
The H.264/AVC Advanced Video Coding Standard: Overview and ...
The H.264/AVC Advanced Video Coding Standard: Overview and ...The H.264/AVC Advanced Video Coding Standard: Overview and ...
The H.264/AVC Advanced Video Coding Standard: Overview and ...Videoguy
 
Design and Implementation of HDMI Transmitter
Design and Implementation of HDMI TransmitterDesign and Implementation of HDMI Transmitter
Design and Implementation of HDMI TransmitterIJERA Editor
 

Semelhante a Motion Vector Recovery for Real-time H.264 Video Streams (20)

Paper id 2120148
Paper id 2120148Paper id 2120148
Paper id 2120148
 
H264 final
H264 finalH264 final
H264 final
 
H2B2VS (HEVC hybrid broadcast broadband video services) – Building innovative...
H2B2VS (HEVC hybrid broadcast broadband video services) – Building innovative...H2B2VS (HEVC hybrid broadcast broadband video services) – Building innovative...
H2B2VS (HEVC hybrid broadcast broadband video services) – Building innovative...
 
The impact of jitter on the HEVC video streaming with Multiple Coding
The impact of jitter on the HEVC video streaming with  Multiple CodingThe impact of jitter on the HEVC video streaming with  Multiple Coding
The impact of jitter on the HEVC video streaming with Multiple Coding
 
A REAL-TIME H.264/AVC ENCODER&DECODER WITH VERTICAL MODE FOR INTRA FRAME AND ...
A REAL-TIME H.264/AVC ENCODER&DECODER WITH VERTICAL MODE FOR INTRA FRAME AND ...A REAL-TIME H.264/AVC ENCODER&DECODER WITH VERTICAL MODE FOR INTRA FRAME AND ...
A REAL-TIME H.264/AVC ENCODER&DECODER WITH VERTICAL MODE FOR INTRA FRAME AND ...
 
IBM VideoCharger and Digital Library MediaBase.doc
IBM VideoCharger and Digital Library MediaBase.docIBM VideoCharger and Digital Library MediaBase.doc
IBM VideoCharger and Digital Library MediaBase.doc
 
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...Effective and Secure Scheme for Video Multicasting using Real Time Transport ...
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...
 
09a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_209a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_2
 
Analyzing Video Streaming Quality by Using Various Error Correction Methods o...
Analyzing Video Streaming Quality by Using Various Error Correction Methods o...Analyzing Video Streaming Quality by Using Various Error Correction Methods o...
Analyzing Video Streaming Quality by Using Various Error Correction Methods o...
 
10.1.1.184.6612
10.1.1.184.661210.1.1.184.6612
10.1.1.184.6612
 
A new robust video watermarking technique using h_264_aac_codec luma componen...
A new robust video watermarking technique using h_264_aac_codec luma componen...A new robust video watermarking technique using h_264_aac_codec luma componen...
A new robust video watermarking technique using h_264_aac_codec luma componen...
 
An Overview on Multimedia Transcoding Techniques on Streaming Digital Contents
An Overview on Multimedia Transcoding Techniques on Streaming Digital ContentsAn Overview on Multimedia Transcoding Techniques on Streaming Digital Contents
An Overview on Multimedia Transcoding Techniques on Streaming Digital Contents
 
A guideline to video codecs delay
A guideline to video codecs delayA guideline to video codecs delay
A guideline to video codecs delay
 
A guideline to video codecs delay
A guideline to video codecs delayA guideline to video codecs delay
A guideline to video codecs delay
 
ComplexCTTP: Complexity Class Based Transcoding Time Prediction for Video Seq...
ComplexCTTP: Complexity Class Based Transcoding Time Prediction for Video Seq...ComplexCTTP: Complexity Class Based Transcoding Time Prediction for Video Seq...
ComplexCTTP: Complexity Class Based Transcoding Time Prediction for Video Seq...
 
Video Streaming - 4.ppt
Video Streaming - 4.pptVideo Streaming - 4.ppt
Video Streaming - 4.ppt
 
The H.264/AVC Advanced Video Coding Standard: Overview and ...
The H.264/AVC Advanced Video Coding Standard: Overview and ...The H.264/AVC Advanced Video Coding Standard: Overview and ...
The H.264/AVC Advanced Video Coding Standard: Overview and ...
 
[32]
[32][32]
[32]
 
report
reportreport
report
 
Design and Implementation of HDMI Transmitter
Design and Implementation of HDMI TransmitterDesign and Implementation of HDMI Transmitter
Design and Implementation of HDMI Transmitter
 

Mais de IDES Editor

Power System State Estimation - A Review
Power System State Estimation - A ReviewPower System State Estimation - A Review
Power System State Estimation - A ReviewIDES Editor
 
Artificial Intelligence Technique based Reactive Power Planning Incorporating...
Artificial Intelligence Technique based Reactive Power Planning Incorporating...Artificial Intelligence Technique based Reactive Power Planning Incorporating...
Artificial Intelligence Technique based Reactive Power Planning Incorporating...IDES Editor
 
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...IDES Editor
 
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...IDES Editor
 
Line Losses in the 14-Bus Power System Network using UPFC
Line Losses in the 14-Bus Power System Network using UPFCLine Losses in the 14-Bus Power System Network using UPFC
Line Losses in the 14-Bus Power System Network using UPFCIDES Editor
 
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...IDES Editor
 
Assessing Uncertainty of Pushover Analysis to Geometric Modeling
Assessing Uncertainty of Pushover Analysis to Geometric ModelingAssessing Uncertainty of Pushover Analysis to Geometric Modeling
Assessing Uncertainty of Pushover Analysis to Geometric ModelingIDES Editor
 
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...IDES Editor
 
Selfish Node Isolation & Incentivation using Progressive Thresholds
Selfish Node Isolation & Incentivation using Progressive ThresholdsSelfish Node Isolation & Incentivation using Progressive Thresholds
Selfish Node Isolation & Incentivation using Progressive ThresholdsIDES Editor
 
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...IDES Editor
 
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...IDES Editor
 
Cloud Security and Data Integrity with Client Accountability Framework
Cloud Security and Data Integrity with Client Accountability FrameworkCloud Security and Data Integrity with Client Accountability Framework
Cloud Security and Data Integrity with Client Accountability FrameworkIDES Editor
 
Genetic Algorithm based Layered Detection and Defense of HTTP Botnet
Genetic Algorithm based Layered Detection and Defense of HTTP BotnetGenetic Algorithm based Layered Detection and Defense of HTTP Botnet
Genetic Algorithm based Layered Detection and Defense of HTTP BotnetIDES Editor
 
Enhancing Data Storage Security in Cloud Computing Through Steganography
Enhancing Data Storage Security in Cloud Computing Through SteganographyEnhancing Data Storage Security in Cloud Computing Through Steganography
Enhancing Data Storage Security in Cloud Computing Through SteganographyIDES Editor
 
Low Energy Routing for WSN’s
Low Energy Routing for WSN’sLow Energy Routing for WSN’s
Low Energy Routing for WSN’sIDES Editor
 
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...IDES Editor
 
Rotman Lens Performance Analysis
Rotman Lens Performance AnalysisRotman Lens Performance Analysis
Rotman Lens Performance AnalysisIDES Editor
 
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral Images
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral ImagesBand Clustering for the Lossless Compression of AVIRIS Hyperspectral Images
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral ImagesIDES Editor
 
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...IDES Editor
 
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...IDES Editor
 

Mais de IDES Editor (20)

Power System State Estimation - A Review
Power System State Estimation - A ReviewPower System State Estimation - A Review
Power System State Estimation - A Review
 
Artificial Intelligence Technique based Reactive Power Planning Incorporating...
Artificial Intelligence Technique based Reactive Power Planning Incorporating...Artificial Intelligence Technique based Reactive Power Planning Incorporating...
Artificial Intelligence Technique based Reactive Power Planning Incorporating...
 
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...
 
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...
 
Line Losses in the 14-Bus Power System Network using UPFC
Line Losses in the 14-Bus Power System Network using UPFCLine Losses in the 14-Bus Power System Network using UPFC
Line Losses in the 14-Bus Power System Network using UPFC
 
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...
 
Assessing Uncertainty of Pushover Analysis to Geometric Modeling
Assessing Uncertainty of Pushover Analysis to Geometric ModelingAssessing Uncertainty of Pushover Analysis to Geometric Modeling
Assessing Uncertainty of Pushover Analysis to Geometric Modeling
 
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
 
Selfish Node Isolation & Incentivation using Progressive Thresholds
Selfish Node Isolation & Incentivation using Progressive ThresholdsSelfish Node Isolation & Incentivation using Progressive Thresholds
Selfish Node Isolation & Incentivation using Progressive Thresholds
 
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...
 
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...
 
Cloud Security and Data Integrity with Client Accountability Framework
Cloud Security and Data Integrity with Client Accountability FrameworkCloud Security and Data Integrity with Client Accountability Framework
Cloud Security and Data Integrity with Client Accountability Framework
 
Genetic Algorithm based Layered Detection and Defense of HTTP Botnet
Genetic Algorithm based Layered Detection and Defense of HTTP BotnetGenetic Algorithm based Layered Detection and Defense of HTTP Botnet
Genetic Algorithm based Layered Detection and Defense of HTTP Botnet
 
Enhancing Data Storage Security in Cloud Computing Through Steganography
Enhancing Data Storage Security in Cloud Computing Through SteganographyEnhancing Data Storage Security in Cloud Computing Through Steganography
Enhancing Data Storage Security in Cloud Computing Through Steganography
 
Low Energy Routing for WSN’s
Low Energy Routing for WSN’sLow Energy Routing for WSN’s
Low Energy Routing for WSN’s
 
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...
 
Rotman Lens Performance Analysis
Rotman Lens Performance AnalysisRotman Lens Performance Analysis
Rotman Lens Performance Analysis
 
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral Images
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral ImagesBand Clustering for the Lossless Compression of AVIRIS Hyperspectral Images
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral Images
 
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...
 
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Motion Vector Recovery for Real-time H.264 Video Streams

  • 1. ACEEE Int. J. on Signal & Image Processing, Vol. 02, No. 01, Jan 2011 Motion Vector Recovery for Real-time H.264 Video Streams Kavish Seth1, Tummala Rajesh1, V. Kamakoti2, and S. Srinivasan1 1 Dept. of Electrical Engg., Indian Institute of Technology Madras, Chennai, India Email: {kavishseth, trajeshreddy}@gmail.com, srini@ee.iitm.ac.in 2 Dept. of Computer Sc. and Engg., Indian Institute of Technology Madras, Chennai, India Email: veezhi@gmail.com Abstract— Among the various network protocols that can be erroneous transmission. The packet may be damaged or used to stream the video data, RTP over UDP is the best to do may not be received at all. Such errors are likely to damage with real time streaming in H.264 based video streams. Videos a Group of Blocks (GOB) of data in the decoded frames for transmitted over a communication channel are highly prone block-based coding schemes such as H.264. Error also to errors; it can become critical when UDP is used. In such propagates due to high correlation between neighboring cases real time error concealment becomes an important aspect. A subclass of the error concealment is the motion frames and degrades the quality of successive frames. The vector recovery which is used to conceal errors at the decoder Real Time Protocol (RTP) over User Datagram Protocol side. Lagrange Interpolation is the fastest and a popular (UDP) is the recommended and commonly used technique for the motion vector recovery. This paper proposes mechanism employed while streaming the H.264 media a new system architecture which enables the RTP-UDP based format [2]. real time video streaming as well as the Lagrange Various approaches have been used to achieve error interpolation based real time motion vector recovery in H.264 resilience in order to deal with the above problem. A nice coded video streams. A completely open source H.264 video overview of such methods is given in [3], [4]. One of the codec called FFmpeg is chosen to implement the proposed ways to overcome this problem is the implementation of system. Proposed implementation was tested against the different standard benchmark video sequences and the Error Concealment (EC) at the decoder side. Motion quality of the recovered videos was measured at the decoder Vector Recovery (MVR) is one way of EC which uses side using various quality measurement metrics. several mathematical techniques to recover the erroneous Experimental results show that the real time motion vector motion fields. Among the various MVR techniques recovery does not introduce any noticeable difference or reported in the literature, the Lagrange Interpolation latency during display of the recovered video. (LAGI) is the fastest and a popular MVR technique which produces the high quality of the recovered video [5]. Index Terms—Digital Video, Motion Vector, Error FFmpeg is a comprehensive multimedia encoding and Concealment, H.264, UDP, RTP decoding library that consists of numerous audio, video, and container formats [6]. This paper proposes a new I. INTRODUCTION system architecture which enables the real time video Streaming of videos is a very common mode of video streaming as well as the real time MVR. The proposed communication today. Its low cost, convenience and architecture is implemented in both FFmpeg coder and worldwide reach have made it a hugely popular mode of decoder. A RTP packet encapsulation/decapsulation transmission. The videos can either be a pre-recorded video module is added to the FFMpeg codec, which sequence or a live video stream. The videos captured are packs/unpacks the Network Abstraction Layer (NAL) raw videos, which take up lot of storage space. Video packets [2], [7] into single NAL unit type RTP packets. A compression technologies have to be widely employed in UDP socket program is used at both coder and decoder video communications systems in order to meet the channel sides to stream the RTP packets over UDP. A LAGI based bandwidth requirements. MVR technique is implemented at decoder side. The The H.264 is currently one of the latest and most popular proposed system implementation was tested against the video coding standard [1]. Compared to previous coding different benchmark video sequences. Quality of the standards, it is able to deliver higher video quality for a received videos can be measured using various quality given compression ratio, and better compression ratio for measurement standards such as Peak Signal to Noise Ratio the same video quality. Because of this, variations of H.264 (PSNR) and Video Quality Evaluation Metric (VQM) [8] are used in many applications including HD-DVD, Blu-ray, tools. The experimental section presents a brief analysis of iPod video, HDTV broadcasts, and most recently in which quality measurement parameter is best suited for the streaming media. streaming video analysis. Experimental results show that The compressed videos are sent in the form of packets the proposed implementation does not introduce any for streaming media. The packets sent are highly prone to latency or degradation in the quality of the recovered video 31 © 2011 ACEEE DOI: 01.IJSIP.02.01.231
  • 2. ACEEE Int. J. on Signal & Image Processing, Vol. 02, No. 01, Jan 2011 while streaming and performing the MVR simultaneously payload that recursively carries another protocol packet. in real time. For example, H.264 video data that is carried in an RTP Rest of the paper is organized as follows: a brief packet which in turn is carried in a UDP packet which in introduction of the H.264 codec is presented in Section II. turn is carried in an IP packet. The UDP sends An overview of real time streaming for H.264 videos is given in Section III. The MVR details are covered in Section IV. A system architecture for real time streaming and real time MVR is proposed in Section V. Experimental results are presented in Section VI and last section concludes the paper. II. H.264 CODEC The H.264 video codec is an efficient coding scheme that covers all forms of digital compressed video ranging from low bit-rate Internet streaming applications to HDTV broadcast and Digital Cinema applications. Compared to the current state of technology, the H.264 standard is shown to yield same quality of images as that produced by current state-of-the-art standards with a savings of 50% on Figure 1. Frame with Lost Macro block the bitrate over the other standards. For example, the H.264 is reported to have achieved the same quality of images the media stream as a series of small packets. This is using a bitrate of 1.5 Mbit/s compared to what was simple and efficient; however, there is no mechanism achieved using the MPEG 2 standard at 3.5 Mbit/s [9]. within the protocol to guarantee delivery. It is up to the The codec specification [1] itself distinguishes receiving application to detect loss or corruption and conceptually between a video coding layer (VCL) and a recover data using error correction techniques. If data is NAL. The VCL performs the signal processing part of the lost, the stream may suffer a dropout. codec namely, mechanisms such as transform, The RTP was developed for carriage of real time data quantization, and motion compensated prediction; and a over IP networks [11], [12]. RTP is a native internet loop filter. It follows the general concept of most of today’s protocol, designed for and fitting well in the general suite video codecs, a Macro Block (MB) based coder that uses of IP protocols. RTP does not provide any multiplexing inter picture prediction with motion compensation and capability. Rather, each media stream is carried in a transform coding of the residual signal. The VCL encoder separate RTP stream and relies on underlying outputs slices: a bit string that contains the MB data of an encapsulation, typically UDP, to provide multiplexing over integer number of MBs, and the information of the slice an IP network. Because of this, there is no need for an header (containing the spatial address of the first MB in the explicit de-multiplexer on the client either. Each RTP slice, the initial quantization parameter, and similar stream must carry timing information that is used at the information). The NAL encoder encapsulates the slice client side to synchronize streams when necessary. output of the VCL encoder into NAL units, which are suitable for transmission over packet networks or use in IV. MOTION VECTOR RECOVERY IN H.264 packet oriented multiplex environments. A NAL unit consists of a one-byte header and the Among the existing MVR algorithms reported in payload byte string. The header indicates the type of the literature, the LAGI [5] is the most popular techniques used NAL unit, presence of bit errors or syntax violations in the to recover the lost MVs in H.264 encoded video. The NAL unit payload, and information regarding the relative computation cost of the LAGI based MVR technique is importance of the NAL unit for the decoding process. lower than most other interpolation functions and hence this technique becomes a good choice for real time video streaming applications. This section presents a MVR III. REAL TIME STREAMING FOR H.264 VIDEOS method that is based on LAGI formula. For n + 1 given The Internet Protocol (IP) [10] is a packet-based- points ( xi , y i ) and i = 0, K , n by suitable choice of network transport protocol upon which the internet is built. parameters, we can constitute the interpolation function IP packets are encapsulated in lower, hardware-level protocols for delivery over various networks (Ethernet, f (x) such that f ( xi ) = yi . The formula for LAGI etc), and they encapsulate higher transport- and function is as follows: application-level protocols for streaming and other applications. In the case of streaming H.264 videos over IP f ( x) = y 0 L(0n ) ( x) + y1 L(i n ) ( x) + L + y n L(nn ) ( x) (1) networks, multiple protocols, such as RTP and UDP, are carried in the IP payload, each with its own header and 32 © 2011 ACEEE DOI: 01.IJSIP.02.01.231
  • 3. ACEEE Int. J. on Signal & Image Processing, Vol. 02, No. 01, Jan 2011 Where L(0n ) , K , L(nn ) denote the parameters in the LAGI shown in Fig. 1. Let Vi (0 ≤ i ≤ 3) represent the MVs of formula. They can be computed from the n + 1 given the rows of Fm,n that need to be recovered. points, by the following formula: Table I The Corresponding Coordinates Of Each MV x x0 x1 x2 x3 y = f (x) MV0 MV1 MV2 MV3 Figure 2. Proposed encoder architecture ( x − x0 ) L ( x − xi −1 )( x − xi +1 ) L ( x − x n ) L(i n ) = ( xi − x0 ) L ( xi − xi −1 )( xi − xi +1 ) L ( xi − x n ) (2) The Lagrangian basis functions are calculated as follows: Figure 3. Proposed decoder architecture Where, The procedure to recover the one row of MVs of Fm,n is ⎡ ( x − x1 )( x − x 2 )( x − x3 ) ⎤ L(03) =⎢ ⎥ (3) described as follows: ⎣ ( x0 − x1 )( x0 − x 2 )( x0 − x3 ) ⎦ 1. The correct neighboring MVs MV0 , K , MV3 are used to compute Lagrange basis functions by ⎡ ( x − x0 )( x − x 2 )( x − x3 ) ⎤ substituting these values in (3) – (6). L13) = ⎢ ( ⎥ (4) ⎣ ( x1 − x0 )( x1 − x 2 )( x1 − x3 ) ⎦ 2. By substituting in (7), the four ( x, y ) pairs shown in Table I, a third degree LAGI polynomial is formed. ⎡ ( x − x0 )( x − x1 )( x − x3 ) ⎤ L(23) = ⎢ ⎥ (5) 3. The lost MVs are computed by substituting the ⎣ ( x 2 − x0 )( x 2 − x1 )( x 2 − x3 ) ⎦ values of MVi and xi in (7). A similar procedure is followed if the vertically adjacent ⎡ ( x − x0 )( x − x1 )( x − x 2 ) ⎤ frames of Fm,n are error-free. In this case, the lost MVs of L(33) = ⎢ ⎥ (6) ⎣ ( x3 − x0 )( x3 − x1 )( x3 − x 2 ) ⎦ Fm,n are recovered column-by-column using the correct (1e) MVs of Fm ,n −1 and Fm ,n +1 as shown in Fig. 1. The Lagrangian polynomial is formed as follows: V. PROPOSED ARCHITECTURE f ( x) = MV0 L(03) ( x) + MV1 L13) ( x) + L + MV3 L(33) ( x) ( FFmpeg provides the complete package to (7) encode/decode most of the popular encoded videos. It is a The H.264 standard divides every frame into several computer program that can record, convert and stream Macro Blocks (MBs). Each MB is associated with 1 to 16 digital audio and video in numerous formats [6]. FFmpeg is Motion Vectors (MVs) ensuring backward compatibility a command line tool that is composed of a collection of with previous standards. Fig. 1 shows a H.264 frame free software and open source libraries. It includes segment with 9 MBs denoted by Fm,n , where m and n libavcodec, an audio/video codec library used by several denote the spatial location of the MB within the frame. other projects, and libavformat, an audio/video container Each MB is associated with 16 MVs. In Fig. 1, let mux and demux library. On careful examination of the Fm,n denote the lost MB. As in the case of many MVR libavcodec source code, the file used by FFmpeg to decode the H.264 videos was found to be ”h264.c”.The name of algorithms, it is assumed that either two of the vertically the project comes from the MPEG video standards group, adjacent or two of the horizontally adjacent MBs of the lost together with ”FF” for ”fast forward”. FFmpeg is MB are correctly decoded [5], [13]. In Fig. 1, it is assumed developed under Linux, but it can be compiled under most without loss of generality that both the horizontally operating systems, including Apple Inc. Mac OS X, adjacent MBs of Fm,n are error-free. In this case, the lost Microsoft Windows and AmigaOS. The proposed system MVs of Fm,n are recovered row-by-row. Let architecture at FFmpeg encoder side consists of a H.264 MVi (0 ≤ i ≤ 3) denote the correct MVs that belong to a encoder, a RTP encapsulation module and a UDP server. This UDP server uses a socket program to transmit any particular row of the horizontally adjacent MBs of Fm,n as 33 © 2011 ACEEE DOI: 01.IJSIP.02.01.231
  • 4. ACEEE Int. J. on Signal & Image Processing, Vol. 02, No. 01, Jan 2011 H.264 video as the UDP packets over a predetermined port decoder. Note that 15% MB loss randomly is introduced in known both to the server as well as to the client. all the P frames of each sequence and the Quantization Parameter (QP) is set to 24. Table Ii Table Showing The Psnr Values For Various Video Sequences Sequence PSNR (dB) without error with MVR with error Akiyo 41.32 36.34 16.26 Coastguard 37.79 32.78 8.34 Foreman 38.80 29.20 9.40 Table Iii Table Showing The Vqm Values For Various Video Sequences Sequence VQM without error with MVR with error Figure 4. PSNR of the Akiyo sequence with error and after MVR Akiyo 0.68 1.10 7.8 Coastguard 1.00 1.76 19.8 Foreman 0.83 2.14 15.56 The block diagram of FFmpeg encoder side architecture is presented in Fig. 2. The system architecture at FFmpeg decoder side consists of a H.264 decoder, a RTP decapsulation module and a UDP client which keeps listening on same port used by socket program run on server end. The block diagram of FFmpeg decoder side Figure 5. The frame in the Akiyo sequence without error architecture is presented in Fig. 3. Once UDP client receives the H.264 live stream, it forwards its payload (UDP payload is a single NAL unit type RTP packets) to the RTP decapsulation module. Note that the RTP encapsulation/decapsulation modules can deal only with single NAL unit type of packets. RTP decapsulation module gives out the NAL packets to the H.264 decoder with MVR capability. The RTP decapsulation module also performs a check on erroneous or missing packets based on the RTP sequence number and timestamp and it reports the check results to the decoder to perform MVR. In order to introduce MVR as a part of decoding process, a LAGI Figure 6. The error frame in the Akiyo sequence based MVR module is incorporated with the motion compensation module of the FFmpeg decoder. The complexity and cost of subjective quality measurement make it attractive to be able to measure VI. EXPERIMENTAL RESULTS quality automatically using an algorithm. The most widely After implementing the proposed system architecture in used measure is Peak Signal to Noise Ratio (PSNR) but the FFmpeg codec, the implementation is tested with three limitations of this metric have led to many efforts to different standard benchmark video sequences the Akiyo, develop more sophisticated measures like Video Quality the Foreman, and the Coastguard. All of them are Quarter Evaluation Metric (VQM) that approximate the response of Common Intermediate Format (QCIF) raw sequences and real human observers. VQM is a modified discrete cosine the total number of frames in each sequence is 70. In order transform based VQM based on Watsons proposal [14], to conduct the experiments, errors are deliberately which exploits the property of visual perception. A detailed introduced into these sequences before streaming them to account of how it is implemented can be found at [8]. The 34 © 2011 ACEEE DOI: 01.IJSIP.02.01.231
  • 5. ACEEE Int. J. on Signal & Image Processing, Vol. 02, No. 01, Jan 2011 values of PSNR and VQM have been calculated using a Video Quality Measurement tool called MSU [8]. Figure 7. The error frame in the Akiyo sequence after MVR The PSNR values for the above mentioned video sequences are given in Table II. The PSNR graph for the Akiyo sequence with error and after MVR is shown in Fig. Figure 8. VQM of the Akiyo sequence with error and after MVR 4. The frames of the Akiyo sequence without error, with error and after MVR are shown in Fig. 5, 6 and 7 REFERENCES respectively. [1] ITU-T Recommendation: H.264 Advanced video coding for The VQM values are used to quantify the quality of the generic audiovisual services, May 2003. video streams. The VQM values reflects the different [2] S. Wenger, M. M. Hannuksela, T. Stockhammer, M. characteristics of a video stream e.g. latency, frames drops, Westerlund, D. Singer, RTP Payload Format for H.264 visual quality of a frame, resolution etc. Higher the value of Video: RFC 3984, February 2005. VQM of a given video stream indicates the bad quality. On [3] Y. Wang and Q. F. Zhu, “Error control and concealment for the other hand, PSNR values are used to access only the video communication: a review,” Proc. IEEE, vol. 86, no. 5, visual quality of frames and doesn’t consider other May 1998 parameters like latency, frame drops etc. The VQM values [4] Y. K. Wang, M. M. Hannuksela, V. Varsa, A. Hourunranta, and M. Gabbouj, “The error concealment feature in the for the different video sequences are given in Table III. It is H.26L test model,” Proc. IEEE Int. Conf. Image clear from the Table III that the VQM values of the Processing,,pp.729-732, 2002. recovered videos fall within pretty much acceptable range. [5] J. H. Zheng and L. P. Chau, “Motion vector recovery This indicates that the streaming quality on the proposed algorithm for digital video using Lagrange Interpolation,” implementation is quite good. The VQM graph for the IEEE Trans. Broadcasting, vol. 49, No. 4, pp. 383-389, Dec Akiyo sequence with error and after MVR is shown in Fig. 2003. 8. Though PSNR and VQM can both be used to measure [6] FFmpeg, http://ffmpeg.mplayerhq.hu/. video quality, VQM performances much better in situations [7] Iain E. G. Richardson, H.264 and MPEG-4 Video when PSNR fails. The light computation and memory load Compression: Wiley, 2003. [8] MSU, Video Quality Measurement Tools: VQM Reference make it even more attractive for wide applications [8]. Manual, http://www.compression.ru/video. [9] A. Luthra, G. J. Sullivan, and T. Wiegand, “Special Issue on CONCLUSIONS H.264/AVC,” IEEE Transactions Circuits and Systems on Video streaming using the RTP over the UDP has been Video Technology, vol. 13, no. 7, pp. 560-576, July 2003. [10] J. Postel, Internet Protocol: RFC 791, September 1981. successfully tested and reported in this paper. The MVR [11] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, using the Lagrangian interpolation technique has been RTP: A Transport Protocol for Real-Time Applications: STD integrated into FFmpeg and tested for various erroneous 64, RFC 3550, July 2003. H.264 video sequences. The MVR algorithm also gives [12] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, good results with real time video without any noticeable RTP: A Transport Protocol for Real-Time Applications: RFC difference or latency during display. Also the analysis of 1889, January 1996. the received videos through different quality measurement [13] Kavish Seth, M. Komisetty, V. Anand, V. Kamakoti, and S. metrics. shows that the VQM is a better way to measure Srinivasan, “VLSI implementation of Motion Vector quality than PSNR. Recovery Algorithms for H.264 Video Codecs," 13th IEEE/VSI VLSI Design and Test Symposium, Bangalore (India), July 2009. [14] A. B. Watson, Image data compression having minimum perceptual error: US Patent 5,629,780. 1997. 35 © 2011 ACEEE DOI: 01.IJSIP.02.01.231