Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - linia de studiu română
Limba de predare: Română

SYLLABUS

I. Date generale
Codul	Disciplina	
MIC0012	Comunicaţii audio-video în reţele de mare viteză	

Semestrul	Ore: C+S+L+P	Categoria	Statutul	
6	2+0+1+1	specialitate	opţională	

II. Cadre didactice cu norma de bază în Universitate
Numele şi	Titlul	Gradul	Departamentul	Tipul activităţii	
prenumele	ştiinţific	didactic		C	S	L	
STERCA Adrian Ioan	Dr. 	Lect.	Informatică	*			

Cadre didactice asociate
Numele şi	Titlul	Instituţia	Tipul	Tipul activităţii	
prenumele	ştiinţific		postului	C	S	L	

III. Obiectivele disciplinei
Obiectivele cursului sunt deprinderea studentului cu conceptele si tehnologiile folosite in comunicatii audio-video in retele analogice satelitare sau terestre si cu precadere in retelele digitale de tip “best-effort” bazate pe IP (e.g. reteaua Internet). In decursul semestrului studentii vor invata despre: cele mai actuale codecuri si formate digitale audio-video, bazele streaming-ului audio-video in reteaua Internet (protocoale de semnalizare si streaming, controlul fluxului) si bazele comunicarii audio-video prin satelit. Cursul are si o puternica componenta practica in ideea ca studentii trebuie sa implementeze proiecte specifice legate de prelucrarea, transmisia si redarea semnalului digital audio-video.	

IV. Conţinutul disciplinei
1. Introducere.
1.1	Introducere in multimedia
1.2	Spatii de culoare
1.3	Reprezentarea analogica a semnalelor audio si video
1.4	Reprezentarea digitala a imaginilor. Standardul JPEG
1.5	Reprezentarea digitala a semnalelor audio
2. Formate (containere) audio si video, codecuri 
    2.1 Containere AV: .avi, .ogg, .mp4, .vob, .3gp, .mkv
    2.2 MPEG-1,2,4
    2.3 H.264/MPEG-4 AVC
3. Protocoale de streaming si semnalizare 
    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. Algoritmi de controlul congestiei pentru aplicatii audio-video in retele de tip “best-effort”
    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. Comunicatii audio-video in retele satelitare
    6.1 Comunicatii satelitare
    6.2 Bande de frecventa
    6.3 DBS – Direct Broadcast Satellite (Direct-To-Home)
    6.4 Standardele DVB: DVB-S (satellite), DVB-T (terrestrial), DVB-C (cable)
7. Libraria FFMpeg
    7.1 libavcodec
    7.2 libavformat
    7.3 libswscale
    7.4 libavfilter
8. Multimedia QoS in Internet
    8.1 Terminologie QoS
    8.2 Cerinte QoS in retele de tip “best-effort”
9. P2P TV
    9.1 Retele Peer-2-Peer
    9.2 DHT – Distributed Hash Tables
    9.3 Aplicatii	

V. Bibliografie
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. Tematica activităţilor didactice pe săptămâni
Curs (2 ore pe saptamana)
Saptamana 1: 1. Introducere in multimedia. Reprezentarea analogica si digitala a datelor audio si video. Standardul JPEG de compresie a imaginilor.
Saptamana 2: 2. Formate (containere) audio si video, codecuri.
                      Bazele codificarii video. Structura generala a unui encoder/decoder video (codec).
                      Standarde de codificare audi-video. Containeere audio-video.
Saptamana 3: 2. Formate (containere) audio si video, codecuri.
                       Standardele MPEG-1 si MPEG-2.
Saptamana 4: 2. Formate (containere) audio si video, codecuri.
                      Standardul H.264/MPEG-4 AVC si H.264/MPEG-4 SVC. 
Saptamana 5: 3. Protocoale de streaming si semnalizare. RTP si RTCP.
Saptamana 6: 3. Protocoale de streaming si semnalizare. RTSP, SDP, SIP. 
Saptamana 7: 4. Algoritmi de controlul congestiei pentru aplicatii audio-video in retele de tip “best-effort”. TCP AIMD
Saptamana 8: 4. Algoritmi de controlul congestiei pentru aplicatii audio-video in retele de tip “best-effort”. DCCP, TFRC si UTFRC.
Saptamana 9: 5. Voice over IP
Saptamana 10: 6. Comunicatii audio-video in retele satelitare. Bazele comunicatiei prin satelit si 
                         DBS (Direct Broadcast Satellite).
Saptamana 11: 6. Comunicatii audio-video in retele satelitare. Standardele DVB: DVB-S, DVB-T 
                        si DVB-C
Saptamana 12: 7. Libraria FFMpeg.
Saptamana 13: 8. Multimedia QoS in Internet.
Saptamana 14: 9. P2P TV si Internet Television.

Laborator (1 ora pe saptamana):
Saptamana 1-3: Procesarea imaginilor. JPEG encoder in java
Saptamana 4 : Exemple simple (in C/C++) care folosesc SDL library (afisarea unei imagini BMP/YUV pe o suprafata SDL)
Saptamana 5-8: Familiarizarea cu biblioteca FFMPEG. Un player simplu audio-video bazat pe FFMPEG si SDL (scris in C); sincronizarea audio cu video, salvarea frame-urilor ca imagini.
Saptamana 9-10: Procesarea sunetului in Java
Saptamana 11-12: Prelucrarea inputului de la o camera digitala, interna sau folosind un video capture device (TV tuner), in java si C/++.
Saptamana 13: Aplicatii simple in C/C++ care folosesc biblioteca OpenCV.
Saptamana 14: DCCP sockets streaming de imagini folosind DCCP sockets.

Proiect (1 ora pe saptamana):
Saptamana 1-2 : Chestiuni administrative, discutii despre idei de proiect, evaluare, exemple.
Saptamana 3-4 : Prezentarea temelor de proiect. Studentii trebuie sa isi aleaga o tema de proiect. Exemple de teme de proiect pt. anul in curs sunt la: http://www.cs.ubbcluj.ro/~forest/cav/projects.html
Saptamana 5-13 : Lucrul la proiect, intrebari, idei, discutii. Studentii trebuie sa prezinte periodic (cel putin o data in 4 saptamani) progresul in cadrul proiectului. Nota finala va reflecta acest progres. Un student care va prezenta in saptamana 14 un “proiect perfect”, dar nu a aratat progres gradual, nu va fi notat cu 10.
Saptamana 14 : Prezentarea publica a proiectelor si raportului.	

VII. Metode didactice folosite
Metodele didactice folosite sunt: descrierea, explicatia, prelegerea cu demonstratii, conversatia, demonstraţia pe calculator, redescoperirea dirijata si independenta si studiul individual.	

VIII. Evaluare
Pe parcursul semestrului studentii trebuie sa dezvolte un produs software de complexitate medie din domeniul multimedia (audio-video) bazat pe libraria FFMPEG ca de exemplu: player audio-video cu diverse filtre si suprafete de output, codec simplu audio sau video, sistem de supraveghere video etc. Nota finala va fi nota obtinuta pe acest proiect. 

Ca alternativa, nota finala poate fi obtinuta si in urma unui examen scris, dar in acest caz, nota maxima care se poate obtine este 7.

Cerintele cursului vor fi si la: http://www.cs.ubbcluj.ro/~forest/cav	

IX. Bibliografie suplimentară
1. David Salomon, Data Compression: The Complete Reference, Springer, 3rd edition, 2004.	

	Decan,							Director departament,,
	Prof. Dr. Leon Tambulea				Prof. Dr. Florian Boian

	Data,							Titular curs,
								Lect. Dr.  STERCA Adrian Ioan