Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - în limba engleză
Limba de predare: Engleză

SYLLABUS

I. General data
Code	Subject	
MIC0012	Audio-video Communication in High-speed Networks	

Semester	Hours: C+S+L+P	Category	Status	
6	2+0+1+1	speciality	optional	

II. Full status faculty members
Name and	Scientific	Didactic	Department	Type of activity	
surname	title	title		C	S	L	
STERCA Adrian Ioan	Ph.D.	Lect.	Computer Science	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	title		position	C	S	L	

III. Course objectives
The goal of this course is getting the student acquainted with concepts and technologies used in audio-video communication in analog networks, satellite or terrestrial, and most importantly in digital “best-effort” networks based on IP (e.g. the Internet). During the semester students will study: audio-video codecs and digital audio-video formats, audio-video streaming fundamentals in the Internet (signaling and streaming protocols, rate/congestion control) and the basics of audio-video satellite broadcasting. The course has also a strong applicative part meaning that students must implement specific applications/projects on the processing, transmission and playback of digital audio-video signal.	

IV. Course contents
1. Introduction.
1.1 Introduction to multimedia
1.2 Color spaces
1.3 Sampling and quantization
1.4 Analog representation of audio and video signals
1.5 Digital representation of audio and video signals
1.6 Digital image representation. The JPEG standard
2. Audio-video formats (containers) and codecs
2.1 AV containers: .avi, .ogg, .mp4, .vob, .3gp, .mkv
2.2 Basics of video encoding. The structure of a general video encoder/deoder
2.3 AV encoding standards: ITU-T (H.261, .262, .263, .264) and ISO/IEC (MPEG-1, 2, 4, 7, 21)
2.4 MPEG-1 and MPEG-2
2.5 H.264/MPEG-4 AVC (Advanced Video Coding) and SVC (Scalable Video Coding)
3. Multimedia streaming and signaling protocols
3.1 RTP/RTCP - Real Time Protocol
3.2 RTSP - Real Time Streaming Protocol
3.3 SDP - Session Description Protocol
3.4 SIP - Session Initiation Protocol
4. Congestion control algorithms for audio-video applications in best-effort networks
4.1 TCP AIMD (Additive Increase Multiplicative Decrease)
4.2 DCCP - Datagram Congestion Control Protocol
4.3 TFRC - TCP-Friendly Rate Control
4.4 UTFRC - Utility-driven TCP-Friendly Rate Control
5. Voice over IP
6. Audio-video communication in satellite networks
6.1 Basics of satellite communication
6.2 Frequency bands
6.3 DBS - Direct Broadcast Satellite (Direct-To-Home)
6.4 DVB standards: DVB-S (satellite), DVB-T (terrestrial), DVB-C (cable)
7. Audio-video libraries and applications
7.1 The FFMpeg library (libavcodec, libavformat, libswscale, libavfilter) and mplayer
7.2 The VideoLan project
7.3 The OpenCV library
8. Multimedia QoS in Internet
8.1 QoS terminology
8.2 QoS requirements in best-effort networks
9. P2P TV
9.1 Peer-2-Peer networks
9.2 DHT - Distributed Hash Tables
9.3 Applications	

V. Bibliography
1.Al Bovik, The Essential Guide to Video Processing, Academic Press, Elsevier, 2009.
2.L. Hanzo, P. Cherriman, J. Streit, Video Compression and Communications. From Basics to H.261, H.263, H.264, MPEG4 for DVB and HSDPA-Style Adaptive Turbo-Transceivers, Wiley & IEEE Press, 2007.
3.A. Sterca, Congestion Control for Streaming Protocols, PhD Thesis, 2008.
4.Iain Richardson, Video Codec Design, Wiley, 2002.
5.Iain Richardson, H.264 and MPEG-4 Video Compression, Wiley, 2003.
6.Colin Perkins, RTP - Audio and Video for the Internet, Addison-Wesley, 2003.
7. Tokunbo Ogunfunmi, Madihally Narasimha, Principles of Speech Coding, CRC Press, 2010
8. Frank Y. Shih, Image Processing and Pattern Recognition: Fundamentals and Techniques, Wiley-IEEE Press, 2010. 	

VI. Thematic of didactic activities per weeks
Course (2 hours per week):
Week 1: 1. Introduction to multimedia. Analog representation of audio and video signals. Digital
                  representation of audio and video signals. The JPEG compression standard.
Week 2: 2. Audio-video formats (containers) and codecs.
                  Basics of video encoding. The structure of a general video encoder/decoder. AV encoding
                  standards. AV containers.
Week 3: 2. Audio-video formats (containers) and codecs.
                   The MPEG-1 and MPEG-2 standards.
Week 4: 2. Audio-video formats (containers) and codecs.
                   The H.264/MPEG-4 AVC standard. H.264/MPEG-4 SVC.   
Week 5: 3. Multimedia streaming protocols. RTP and RTCP. 
Week 6: 3. Multimedia signaling protocols. RTSP, SDP, SIP.  
Week 7: 4. Congestion control algorithms for audio-video applications in best-effort networks. TCP 
                  AIMD.
Week 8: 4. Congestion control algorithms for audio-video applications in best-effort networks. DCCP, 
                  TFRC and UTFRC.
Week 9: 5. Voice over IP
Week 10: 6. Audio-video communication in satellite networks
                    Basics of satellite communication and DBS (Direct Broadcast Satellite)
Week 11: 6. Audio-video communication in satellite networks
                    Video broadcasting and DVB standards: DVB-S, DVB-T and DVB-C 
Week 12: 7. Audio-video libraries and applications. FFMPEG, VideoLan, OpenCV
Week 13: 8. Multimedia QoS in Internet
Week 14: 9. P2P video streaming and Internet Television

Laboratory (1 hour per week):
Week 1-3: Image processing. JPEG encoder in java
Week 4 : Simple examples (in C/C++) using the SDL library (displaying a BMP/YUV image on a SDL surface)
Week 5-8: Getting acquainted with the FFMPEG library. A simple audio-video player based on FFMPEG and SDL (written in C); synchronizing audio with video, saving frames as images.
Week 9-10: Sound processing in Java
Week 11-12: Getting input from a digital camera, internal or using a video capture device (TV tuner), in java and C/++.
Week 13: Simple applications in C/C++ using  the OpenCV library.
Week 14: DCCP sockets and image streaming(transmission) using DCCP sockets

Project (1 hour per week):
Week 1-2 : Administrative issues, discussions about project ideas, evaluation, examples
Week 3-4 : Presentation of project themes. Students must choose a project theme. Examples of project themes for the current year are at http://www.cs.ubbcluj.ro/~forest/cav/projects.html
Week 5-13 : Project work, questions, ideas, talks. The students must present periodically (at least once in 4 weeks) their progress with the project work. The final grade will reflect this progress. A student who will present in week 14 a “perfect project”, but who didn’t showed gradual progress will not be graded with 10.
Week 14 : Public presentation of student projects and reports.	

VII. Didactic methods used
The didactic methods used are: description, explanation, lecture with demonstrations, talks, computer demonstrations, guided and independent rediscovery, individual study.	

VIII. Assessment
During the semester, students will have to implement a medium-complexity software from the multimedia (audio-video) field based on the FFMPEG library. E.g.: audio-video player enhanced with several output filters and surfaces, simple audio or video codec, video surveillance system etc. For a list of potential project ideas for this year see:
http://www.cs.ubbcluj.ro/~forest/cav/projects.html

As an alternative, the final grade can also be obtained by taking a written exam, but in this case, the maximum obtainable final grade is 7.

The course materials, description and requirements will be available at: http://www.cs.ubbcluj.ro/~forest/cav	

IX. Additional references
1. David Salomon, Data Compression: The Complete Reference, Springer, 3rd edition, 2004.	

	Dean,							Department head,
Prof. Leon Tambulea, Ph.D.			Prof. Florian Boian, Ph.D.

	Date,							Course responsible,
								Lect. STERCA Adrian Ioan, Ph.D.