Sunteți pe pagina 1din 129

Aplicatii Multimedia

Curs 7

Cuprins curs

1. Standarde pentru conectarea i controlul perifericelor


hardware : TWAIN, MCI
2. Reprezentarea culorii
3. Standarde de prelucrare/transmisie a imaginilor statice :
BMP, TIFF, JPG, GIF, PNG

TWAIN

Numele nu provine de la prescurtarea unor denumiri mai pompoase, motiv


pentru care s-a impamantenit ideea de Technology Without An
Interesting Name
In fapt, termenul twain, a fost imprumutat din literatura cu intentia de a
sugera dificultatile in atingerea unor obiective.
Standard lansat n 1992 din nevoia de standardizare a comunicrii dintre
diverse dispozitive de achiziie a imaginilor (scanner, fax, etc) si
software-ul dedicat prelucrrii acestora.
Date fiind obiectivele sale, TWAIN a fost conceput sa ofere o independenta
fata de platforma si SO => mare flexibilitate, usurinta in utilizare,
portabilitate echipamente, etc

Functionalitate TWAIN

Ultima versiune, TWAIN 2.3, a fost lansata foarte recent (21 Noiembrie
2013).

Anterior TWAIN
Posibilitatea tiparirii de text sau imagine alb-negru (si apoi color) era asigurata de
imprimantele laser.
Achiziia de imagini i integrarea capturilor astfel realizate ntr-o aplicaie a devenit
un domeniu foarte delicat si de mare interes.
Procedura de achizitie anevoioas.
Cu TWAIN
Introducerea standardului TWAIN a reprezentat momentul n care legtura dintre
dispozitivele de achiziie a imaginilor i aplicaii a devenit extrem de facil.
Achiziia de imagine nu mai implic prsirea unei aplicaii de editare ci integrarea
direct, automat a achiziiei n aplicaia respectiv.
Reducere la minim a driverelor necesare.

Standardul TWAIN vizeaz :


asigurarea compatibilitii ntre dispozitivele hardware de achiziie a
imaginii i software-ul dedicat prelucrrii acestora;
meninerea compatibilitii dintre versiunile noi i cele anterioare
(backward compatibility);
posibilitati de evolutie;
suport pe platforme i sisteme de operare diverse;
o implementare ct mai facil i fr costuri pentru dezvoltatorii de
aplicaii i productorii de hardware.

Evolutia standardului TWAIN a dus la :


- creterea vitezei de achiziie a imaginilor
- posibilitatea de achiziie a imaginilor color
- suport pentru varietate mare de dispozitive HW: camere foto digitale,
scannere
- independena fa de platform i sistem de operare, etc.
TWAIN Working Group nu produce dispozitive HW de achizitie si nici
drivere.
Fiecare productor de hardware pune la dispoziia clietului software-ul i
driverele necesare utilizrii dispozitivului achiziionat pe o anumita
platforma.

Arhitectura TWAIN

Standardul ofer un cadru simplu de conectare a aplicaiilor cu


dispozitivele hardware. Ca i structur, modelul poate fi
ierarhizat pe 4 niveluri:
Nivelul Aplicaiei,
Nivelul Protocolului,
Nivelul de Achiziie,
Nivelul Dispozitivului Hardware.
-

Componentele de achiziie :
- Aplicaia,
- Managerul de Surs(e),
- Sursa i Dispozitivul Hardware.
7

Sursa reprezint entitatea care preia date de la un Dispozitiv Hardware si


o trimite ctre o aplicaie conform TWAIN.
Managerul de Surs are rolul de a administra conexiunile dintre aplicaii i
surse. Managerul de Surs permite utilizatorilor s selecteze o anumit
surs, s o activeze/dezactiveze i sa-i transmit cererile utilizatorilor.

10

MCI

MCI = Media Control Interface

11

Reprezint un API (Application Programming Interface, colectie de functii)


oferit pentru controlul dispozitivelor multimedia conectate la un PC cu
SO Microsoft Windows sau OS/2. MCI ofer posibilitatea de a scrie
aplicaii care s redea fiiere (sau fluxuri) multimedia prin transmiterea
unor mesaje simple. Transmiterea de mesaje poate fi facut fie printrun limbaj de programare , fie printr-un limbaj scriptic.

AVIVideo
CDAudio
Sequencer
WaveAudio

MCI este format din 4 componente, fiecare respunsabila cu redarea unui


anumit tip de fisier (flux multimedia):

Iniial MCI a fost definit pentru lucrul cu unitatea de CD-ROM apoi a fost
extins i pentru alte periferice multimedia.

12

Dispozitivele multimedia ce pot fi controlate cu MCI sunt cele clasice:


player WAV, CD audio, MIDI, dar i mai puin uzuale : Video Disc, VCR,
Banda Audio Digital. Se pot adauga si controla si alte dispozitive cu
conditia instalarii lor si a utilizarii unor drivere adecvate.
Exist 2 moduri de a transmite comenzi MCI:
- sub forma de mesaje -> direct catre sistemul MCI -> executie
- sub form de siruri de caractere -> sunt intai interpretate -> mesaje
-> executate de sistemul MCI

Realizati o comparatie intre cele doua variante

Indiferent de modalitatea de transmisie aleas, au loc urmtorii pai :


- Accesarea perifericului multimedia si identificarea (asocierea) ca
dispozitiv MCI;
- Redarea fluxurilor media;

Comenzile MCI pot fi clasificate n mai multe categorii:


1. Comenzi Sistem,
2. Comenzi Obligatorii,
3. Comenzi Elementare,
4. Comenzi Suplimentare.

Comenzi Sistem
break setare oprire;
sysinfo informaii de stare sistem MCI.
Comenzi Obligatorii
Trebuie implementate pentru fiecare dispozitiv existent.
capability informaii despre dispozitivele multimedia;
close inchide un dispozitiv deschis;
info informatii despre un driver;
open deschide un dispozitiv;
status starea unui dispozitiv.

13

14

Comenzi Elementare
Ofer control asupra dispozitivelor multimedia, ns nu ofer garania
independenei fa de dispozitiv.
load ncarc un fisier de pe disc;
pause suspend redarea;
play red informaia de la un anumit dispozitiv;
record nregistreaz informaia de la un anumit dispozitiv;
resume pornete redarea dup o pauz;
save salveaz un fiier provenit de la un dispozitiv pe disc;
seek mut controlul la o anumit poziie a dispozitivului;
set seteaz dispozitivul;
status afl starea dispozitivului;
stop oprete redarea sau nregistrarea.
15

Comenzi Suplimentare
Sunt comenzi implementabile pentru un anumit dispozitiv sau care extind
funcionalitatea unor comenzi obligatorii sau elementare. Spre
exemplu, astfel de comenzi pot fi:

- delete : tergere o bucat dintr-un fiier audio/video


- spin : se poate folosi pentru a porni/opri rotaia unui video disc.
MCI reprezint nu att un format sau suit de formate multimedia ci o
modalitate prin care poate fi controlat redarea unor fiiere multimedia
dar i o modalitate de control a unor dispozitive multimedia.
Interfaa MCI poate fi invocat atat din programe (executabile) scrise in
diverse limbaje de programare (C/C++, VBasic, Java) cat i din limbaje
scriptice (Open Script, Lingo) specifice produselor software de creaie
multimedia.
16

2. Reprezentarea culorii

17

18

C
M
Y

1-R
1-G
1-B

CMY

=
=
=

YUV - analog

Y = 0.299R + 0.587G + 0.114B


U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B

} Crominanta (componentele de culoare)

19

Y = luminanta (componenta in tonuri de gri a imaginii)


U=
V=

Y = 0.299R + 0.587G + 0.114B


U = 0.492 (B-Y)
V = 0.877 (R-Y)

R = Y + 1.140V
G = Y - 0.395U - 0.581V
B = Y + 2.032U
20
http://paulbourke.net

YCbCr - digital

} Crominanta (componentele de culoare)

Y = luminanta (componenta in tonuri de gri a imaginii)


Cb =
Cr =

Cb = V/1.6 + 0.5
Cr = U/2 + 0.5

http://paulbourke.net
21
http://www.equasys.de

22

http://www.chaospro.de
BMP

BMP = BitMaP
Denumiri echivalente : BMP, DIB, Windows BMP, Windows DIB,
Compatible Bitmap
Fisierele in format BMP stocheaz imagini statice bidimensionale
singulare, alb-negru sau color (inclusiv niveluri de gri), sub form
binar i, in general, necomprimate.
Creatorul i suintorul cel mai important al formatului BMP este
Microsoft, motiv pentru care gsim suport pentru fiiere BMP n toate
variantele de MS Windows.

BMP este un format grafic foarte simplu i foarte rspndit, cateva din
motivele acestei popularitati fiind:
- documentarea foarte bun, liber de licenta
- usurinta foarte mare in exploatare
- permite stocarea informaiei grafice la o calitate foarte buna
- compatibilitate cu aproape toate aplicatiile de prelucrare
grafica
Formatul BMP stocheaz (pe disc, sub forma de fisiere) i reda (monitor,
proiector, etc) informaia grafic sub forma unei matrice.
In domeniile in care primeaza calitatea (analiza de imagine, studiouri foto
profesioniste, etc) formatul este frecvent intalnit. Dimensiunea mare
nu il recomanda pentru transmisii uzuale la distanta.

23

24

Caracteristici format BMP

1. Paleta de culori reprezentabila pe 1, 4, 8, 16, 24, 32 biti/pixel (adancime


de culoare).
2. Dimensiune maxima a imaginii: 32Kx32K
3. Dimensiune mult mai mare (10-15 ori) decat a unui format comprimat,
cu pierderi, de calitate apropiata (d.p.v.d al ochiului uman)
4. Usor de prelucrat, indiferent de limbajul de programare folosit.
5. Independent de platforma HW si SO.

25

Ochiul uman (mediu) percepe cca. 10 milioane de (nuante de) culori .

Implicit alb-negru, insa e posibila


(teoretic) utilizarea oricaror 2 culori

8 biti sunt folositi pentru


canalele alfa (efecte,
transparenta)
26

Ochiul uman (mediu) percepe cca. 10 milioane de (nuante de) culori .

Implicit alb-negru, insa e posibila


(teoretic) utilizarea oricaror 2 culori

De ce ?
27

28

Structura fiier BMP

Un fisier BMP este format, in cazul general, din urmatoarele blocuri de


date:

Prima variant de BMP, creat pentru Windows 1.0, avea doar


dou componente, ale cror semnificaii sunt evidente:
header fiier;
seciune de date.
Variantele 2.x, 3.x, i 4.x de BMP au toate cele 4 componente.

29

30

BMP 1.x

typedef struct _Win1xHeader


{
WORD Type;
/* Indentificator tip fisier (intotdeauna 0) */
WORD Width;
/* Latime imagine in pixeli */
WORD Height;
/* Inaltime imagine in linii */
WORD ByteWidth;
BYTE Planes;
BYTE BitsPerPixel; /* Numar de biti/pixel */
}
WIN1XHEADER;

BMP 2.x - I

Fiecare fiier n acest format ncepe cu un header pe 14 octei.

31

typedef struct _WinBMPFileHeader


{
WORD FileType;
/* Intotdeauna este 4D42h ("BM") */
DWORD FileSize;
/* Dimensiune fisier in octeti */
WORD Reserved1; /* Intotdeauna 0 */
WORD Reserved2; /* Intotdeauna 0 */
DWORD BitmapOffset; /* Pozitia (in octeti) unde incep datele imaginii
propriu-zise*/
} WINBMPFILEHEADER;

32

BMP 2.x - II

Urmeaz un header BMP pe 12 octei ce conine informaii detaliate


despre imaginea stocat.
typedef struct _Win2xBitmapHeader
{
DWORD Size;
/* Dimensiunea headerului in octeti */
SHORT Width;
/* Latime imagine in pixeli */
SHORT Height;
/* Inaltime imagine in pixeli */
WORD Planes;
/* Numar de plane color */
WORD BitsPerPixel; /* Numar de biti/pixel */
} WIN2XBITMAPHEADER;

BMP 2.x - III

Urmeaz o seciune n care sunt descrise informaii despre cromatica


imaginii, mai exact informatii legate de reprezentarea culorii in spatiul
RGB.
typedef struct _Win2xPaletteElement
{
BYTE Blue;
/* Nivel Albastru */
BYTE Green;
/* Nivel Verde */
BYTE Red;
/* Nivel Rosu */
} WIN2XPALETTEELEMENT;
Fiecare cmp poate lua valori ntre 0 i 255.
Urmeaz seciunea de date, respectiv matricea care conine pixelii de
imagine.

33

34

BMP 3.x - I

Are headerele provenite de la BMP 2.x la care s-au adugat cteva cmpuri.
typedef struct _Win3xBitmapHeader
{

/* Metoda de compresie */

DWORD Size;
LONG Width;
LONG Height;
WORD Planes;
WORD BitsPerPixel;
/* Campuri adaugate la BMP 2.x pentru BMP 3.x*/

DWORD Compression;
DWORD SizeOfBitmap; /* Dimensiune imagine in octeti */
LONG HorzResolution; /* Rezolutie orizontala in pixeli/m*/
LONG VertResolution; /* Rezolutie verticala in pixeli/m */
DWORD ColorsUsed;
/* Numarul de culori al imaginii */
DWORD ColorsImportant; /* Numarul minim al culorilor esentiale */
} WIN3XBITMAPHEADER;

BMP 3.x - II

typedef struct _Win3xPaletteElement


{
BYTE Blue;
BYTE Green;
BYTE Red;
BYTE Reserved; /* Intotdeauna 0 */
} WIN3XPALETTEELEMENT;

35

36

BMP 3.x - III

typedef struct _WinNtBitmapHeader


{
DWORD Size;
/* Dimensiunea headerului in octeti */
LONG Width;
/* Latime imagine in pixeli */
LONG Height;
/* Inaltime imagine in pixeli */
WORD Planes;
/* Numar de plane color */
WORD BitsPerPixel; /* Numar de biti/pixel */
DWORD Compression;
/* Compression methods used */
DWORD SizeOfBitmap; /* Dimensiune imagine in octeti */
LONG HorzResolution; /* Rezolutie orizontala in pixeli/m*/
LONG VertResolution; /* Rezolutie verticala in pixeli/m */
DWORD ColorsUsed;
/* Numarul de culori al imaginii */
DWORD ColorsImportant; /* Numarul minim al culorilor esentiale */
} WINNTBITMAPHEADER;

BMP 4.x - I

BMP 4.x are de asemenea headere extinse provenite de la BMP 2.x i 3.x la
care s-au adugat cteva cmpuri.
typedef struct _Win4xBitmapHeader
{
DWORD Size;
/* Dimensiunea headerului in octeti */
LONG Width;
/* Latime imagine in pixeli */
LONG Height;
/* Inaltime imagine in pixeli */
WORD Planes;
/* Numar de plane color */
WORD BitsPerPixel; /* Numar de biti/pixel */
DWORD Compression;
/* Compression methods used */
DWORD SizeOfBitmap; /* Dimensiune imagine in octeti */
LONG HorzResolution; /* Rezolutie orizontala in pixeli/m*/
LONG VertResolution; /* Rezolutie verticala in pixeli/m */
DWORD ColorsUsed;
/* Numarul de culori al imaginii */
DWORD ColorsImportant; /* Numarul minim al culorilor esentiale */

37

38

BMP 4.x - II

/* Cimpuri adaugate pentru BMP4.x */


DWORD RedMask;
/* Mask identifying bits of red component */
DWORD GreenMask;
/* Mask identifying bits of green component */
DWORD BlueMask;
/* Mask identifying bits of blue component */
DWORD AlphaMask;
/* Mask identifying bits of alpha component */
DWORD CSType;
/* Color space type */
LONG RedX;
/* X coordinate of red endpoint */
LONG RedY;
/* Y coordinate of red endpoint */
LONG RedZ;
/* Z coordinate of red endpoint */
LONG GreenX;
/* X coordinate of green endpoint */
LONG GreenY;
/* Y coordinate of green endpoint */
LONG GreenZ;
/* Z coordinate of green endpoint */
LONG BlueX;
/* X coordinate of blue endpoint */
LONG BlueY;
/* Y coordinate of blue endpoint */
LONG BlueZ;
/* Z coordinate of blue endpoint */

BMP 4.x - III

DWORD GammaRed;
/* Valoare Gamma pentru Rosu */
DWORD GammaGreen; /* Valoare Gamma pentru Verde */
DWORD GammaBlue;
/* Valoare Gamma pentru Albastru */
} WIN4XBITMAPHEADER;

39

40

BMP 5

1. Paleta de culori : -> 64 biti/pixel


2. Alpha channel
3. Suport pt. profile ICC (International Color Consortium)

41

Resurse pt. dezvoltare aplicatii : http://entropymine.com/jason/bmpsuite/,


http://atlc.sourceforge.net/bmp.html,

JPEG, JPG

JPEG = Joint Photographic Experts Group


Unul dintre cele mai populare formate grafice comprimate. Succesul datorat
urmatoarelor caracteristici:
- raportul bun compresie/calitate;
- posibilitatea de alegere a ratei de compresie n momentul comprimrii;
- uurina n editare, manipulare i integrare n aplicaii;
- flexibilitatea i posibilitatea de configurare/modificare a numeroi
parametri;
- utilizarea free, fr licen;
- dimensiune redus a fiierelor i, implicit, lime de band mic
necesar transmiterii la distan, etc.

42

Numele formatului provine de la numele comitetului ISO care a creat


standardul, adoptat in 1994 sub denumirea ISO 10918-1, la 2 ani dup
publicarea specificaiilor acestuia.
In general fiierele JPEG utilizeaz o schem de compresie cu pierdere
(lossy compression). Exist i variante JPEG la care se poate folosi o
schem de compresie fr pierderi (lossless compression).
O particularitate a standardului este posibilitatea de a realiza compresie
progresiv.

Compresia JPEG - I

Algoritmul de compresie al JPEG se bazeaz pe cteva particulariti ale


ochiului uman, de genul:

sensibilitate mai bun la luminozitate i contrast, dar mai slab la
variaiile mici de culoare;

sensibilitate mai bun la variaii de lumin sau culoare pe suprafee
mari, dar mai slab la variaii ale luminozitii de nalt frecven.

Etapele :
1. Transformare din reprezentare RGB n reprezentare luminancrominan (spaiul YCbCr)
Uzual Y = 0.2126 R + 0.7152 G + 0.0722 B, insa formula nu este
unica, valoarea coeficientilor poate diferi.

43

Conversia din RGB n YCbCr permite obinerea unei compresii mai bune.
Eficiena compresiei este crescut i datorit faptului c informaia de
luminozitate este reinut ntr-un canal separat (Y).
Exist variante de JPEG in care conversia nu este realizata. Imaginea este
reinut pe 3 canale diferite (R,G,B) => compresia mai slaba, probabil
calitate mai buna, incompatibilitate cu aplicaiile de redare i
prelucrare a imaginilor.
44

Compresia JPEG - II

2. Componentele de crominan se njumtesc.Aceast procedur se numete


croma downsampling sau "chroma subsampling" i poate duce la reducerea cu
pn la 50% din spaiul necesar stocrii imaginii iniiale.

46

45

3. Imaginea este mprit n blocuri de 8x8 pixeli i, pentru fiecare bloc, se


determin Transformata Cosinus Discret (DCT) pentru Y, Cb i Cr => un
spectru de frecvene. Dac imaginea nu permite mprirea exact n blocuri, se
completeaz cu pixeli.
4. Se cuantific amplitudinile componentelor de frecven. Componentele de
frecventa inalta pot fi pstrate cu mai mic acuratee dect componentele de
frecven joas. In functie de solicitarea utilizatorului se reduc mai mult
frecvenele nalte pn la a fi ignorate total. Aceast etap este principala
operaie ce conduce la pierdere de calitate i la apariia unor aspecte nedorite,
cum ar fi neregulariti (sub forma unor ptrate, artefacte).
La final se aplic un algoritm de compresie lossless, o variant a algoritmului de
codare Huffman. Standardul JPEG permite i utilizarea altui algoritm de codare
superior, respectiv codarea aritmetic.

Necomprimata, 1459x883, 24 biti, 3.68MB

Comprimata, calitate 85%, 1459x883, 24 biti, 241KB

Comprimata, calitate 60%, 1459x883, 24 biti, 122KB

47

48

Comprimata, calitate 40%, 1459x883, 24 biti, 94KB

PNG

PNG = Portable Network Graphic

49

Format grafic destinat stocrii imaginilor comprimate fr pierderi. S-a


dorit obinerea unui bun compromis ntre calitate i dimensiune ntuct
formatul viza n mod deosebit folosirea n reele. Ca i JPEG, PNG nu
necesit licen de utilizare dar, spre deosebire de acesta, se comport
mai bine atunci cnd vine vorba de imagini cu mult text, linii drepte sau
contururi bine definite.

50

Prima specificaie tehnic dateaz din 1996 i a fost elaborat de W3C. Tot
W3C a elaborat i a 2a versiune, versiune adoptat ca standard n
Noiembrie 2003 sub denumirea ISO/IEC 15948:2003.
PNG este independent de platform i sistem de operare, majoritatea
browserelor de Web au implementat capabilitatea de redare a
fiierelor PNG.

Caracteristici ale formatului PNG:


liber de patente i licene;
specificaii i documentai gratuit.
compresie fr pierderi;
suport pentru palet de culori pe 1, 2, 4 i 8-bii (similar GIF);
suport pentru niveluri de gri pe 1, 2, 4, 8 i 16 bii;
suport pentru culori truecolor 24 i 48 bii;
suport pentru transparen n dou moduri, pe 8 i 16 bii;
corecie gamma pentru controlul luminozitii;
corecie a culorilor pentru precizie independent de platfrom;
CRC-uri multiple care permit verificarea integritii fisierului PNG fr a fi
necesar parcurgerea acestuia;
capabiliti de detectare a celor mai ntlnite tipuri de corupere/distugere a
datelor;
compresie superioar fa de GIF;
51

Pe o scar de la 1 la 10, PNG a obinut urmtoarele punctaje din partea


utilizatorilor i dezvoltatorilor de software:
Stabilitate : 10 (modificri minore fa de prima versiune; noile funcionaliti
nu distrug compatibilitatea cu versiunile anterioare, etc)
Acceptarea de ctre utilizatori : 8,5 (Reticen din partea celor care nu
cunosc formatul)
Aplicaii suport : 10 (Toate aplicaiile de prelucrare grafic pot lucra cu fiiere
PNG. Toate browserele de web pot reda PNG).
Suport pentru animaie: 4 (Suportul pentru animaie a fost exclus deliberat
de la bun nceput din standardul PNG)

WWW
Editare de imagine
Transfer imagini

Domenii de utilizare:
-

52

FAILED APNG 20070405a


ftp://ftp.simplesystems.org/pub/png-group/documents/

53

Voting has closed on the APNG proposal. There were 8 YES


votes, 10 NO votes, no abstentions, and no ineligible votes
cast. The proposal has failed and the APNG chunks
are not registered.

Compresia PNG
una dintre cele mai bune metode de compresie fr pierderi;
nu necesit patente/licene pentru implementare sau utilizare;
este puin variabil, nu prezint selectibilitatea ntlnit la JPEG.
Canalele Alfa transparena imaginii
reprezint o modalitate de asociere a unui mediu de transparen cu
o imagine;
orice tip de imagine PNG poate conine informaii de transparen
(alfa), ns cel mai frecvent este ntlnit n cazul imaginilor truecolor;
necesit stocarea de informaii suplimentare; faa de ce 3 octei
necesari pentru fiecare pixel (R, G, B) este necesar un pixel
suplimentar alfa => RGBA;
includerea de transparen ntr-o imagine duce inevitabil la
creterea dimensiunii fiierului.
54

Corecia gamma
se refer la modalitatea de a corecta diferenele de redare a
culorilor ce pot s apar ntre diverse calculatoare (mai exact ntre
diverse monitoare);
s-a impus n urma observaiilor c imaginile PC se vd foarte
deschise pe McIntosh n vreme ce imaginile McIntosh se vd
ntunecate pe PC-uri sau imaginile care se vd bine pe SG nu se
vor vedea bine nici pe PC nici pe McIntosh;
const n asocierea unui numr cu un tip de display, pentru a
nltura subiectivitatea DAC-urilor (convertoare digitale-analogice)

Structura unui fiier PNG


Orice fiier PNG ncepe cu urmtoarea secven pe 8 octei: 89 50 4E 47
0D 0A 1A 0A care are urmtoarea semnificaie:
89 : pentru detecia sistemelor ce nu pot transmite/citi date pe 8 bii.
50 4E 47 : ASCII pentru P, N, G. Identific fiierul
0D 0A : EOL (CR LF) n DOS
1A : EOF
0A : EOL (LF) n UNIX.

Urmeaz o serie de segmente de date, fiecare avnd anumite informaii


despre imagine. Fiecare segment de date are un header n care este
specificat tipul segmentului i dimensiunea acestuia. Urmeaz
informaia propriu-zis i un CRC.

55

56

PNG vs. alte formate grafice comprimate

PNG vs. GIF


compresie mai bun la PNG;
opiuni de transparen mai bune;
palet de culori mult mai mare (true color de pn la 48 bii fa de
cei 8 bii de la GIF);
GIF suport animaie, PNG nu;
GIF nc are un suport ceva mai bun dect PNG (browsere, alte
aplicaii)

PNG vs. JPEG

57

deteriorri ale contururilor i pierdere de calitate la JPEG (artifacte);


dimensiune a fiierului mai mic la JPEG datorit compresiei cu pierderi;
PNG mult mai bun n cazul imaginilor ce conin mult text, linii drepte,
contururi f. bine definite;
JPEG nu are suport pentru transparen;
PNG este mult superior n aplicaiile de prelucrare a imaginii sau
aplicaiile n care calitatea primeaz;

58

PNG vs. TIFF

59

TIFF mult mai complicat i cu mult mai multe opiuni, exist mai
multe variante de TIFF;
algoritmul de compresie fr pierderi al TIFF este LZW, inferior
PNG;
LZW a fost obiectul unor patente ce au expirat n 2003;
exist i o variant de TIFF ce folosete un algoritm de
compresie fr pierderi aproape identic cu algoritmul din PNG, ns
nu este recunoscut de multe aplicaii;
TIFF ofer algoritmi pentru compresia fr pierderi a imaginilor
alb-negru (fax, text) superiori PNG.

TIFF

TIFF = Tagged Image File Format


Este un format (de regul) comprimat dedicat stocrii imaginilor de nalt
calitate, fr restriciile de care se lovete formatul JPEG (imagini fr
text, imagini fr linii i contururi bine definite, etc).
Formatul a fost creat de Aldus special pentru utilizarea n pregtirea
matrielor pentru tiparul de reviste sau cri dar i din necesitatea de a
exista un format standardizat pentru dispozitivele de achiziie a
imaginilor (scannere). n prezent se afl sub un patent aparinnd
Adobe Systems.
Exist un suport foarte larg din partea aplicaiilor de editare imagine,
pregtire pre-tipar, achiziie (scanare) de imagine, trimitere-primire de
faxuri, procesare de text, OCR.
60

Iniial, formatul TIFF oferea suport doar pentru imagini alb-negru.


Ulterior a inceput sa ofere suport pentru imagini pe niveluri de gri i
imagini color. Astzi, TIFF este unul dintre cele mai populare formate
ce suport o palet larg de culori, alturi de JPG i PNG.
TIFF este foarte flexibil i adaptabil. Este posibil stocarea mai multor
pagini (similar PDF) prin utilizarea unor identificatori. Aceti
identificatori ofer informaii despre imagine (dimensiuni), despre
succesiunea paginilor sau despre metoda de compresie utilizat. .
TIFF poate utiliza att algoritmi de compresie lossless, lossy sau chiar
poate stoca imagine necomprimat. Acest lucru l face deosebit de
puternic atunci cnd se dorete utilizarea n medii eterogene, adic
att n domenii n care calitatea primeaz dar i n domenii n care
compresia nu este tocmai de neglijat. O alt opine permis de TIFF
este organizarea informaiei (imaginilor) pe niveluri.
61

Caracteristici TIFF

imagini monocrome, pe niveluri de gri, color in diferite spatii de


reprezentare a culorii;
metode de compresie diferite => flexibilitate in alegerea tipului de
compresie adecvat pentru fiecare aplicatie in parte
nu este dependent de dispozitive HW
portabil, nu depinde de SO, limbaje de programare, sisteme de fisiere
este extensibil
permite includerea unei cantitati nelimitate de informatii suplimentare
(fara legatura cu imaginea/imaginile propriu-zise)

62

GIF

GIF = Graphics Interchange Format


Format grafic introdus de CompuServe n 1987, ofer suport pentru
grafic de tip bitmap cu complexitate cromatic de 8 bii/pixel =>256
culori. Este foarte rspndit la realizarea paginilor de Web cu multe
butoane sau acolo unde se dorete realizarea unei animaii simple.
Dat fiind paleta de culori extrem de redus suportat de formatul GIF,
acesta nu este deloc recomandat stocrii unor imaginii la care se
dorete pstrarea unei caliti ct mai aproiate de original i nici n
cazul n care se dorete meninerea imaginii ct mai aproape de
aspectul natural.
Practic, este posibil conversia unei imagini din format BMP, PNG sau
JPEG n GIF ns acest lucru va duce inevitabil la pierderi irecuperabile
de calitate sau de cromatic.

Formatul GIF este un format comprimat ce se bazeaz pe algoritmul LZW


(Lempel-Ziv-Welch). Acest algoritm este de tip lossy, ns pierderea de
calitate nu este deranjant din punct de vedere al ochiului uman.

63

Varianta din 1987 a GIFF poart numele de 87a. O variant mbuntit a fost
lansat de CompuServe n 1989 sub denumirea de 89a. GIF a fost unul din
primele dou formate grafice utilizate pe Internet, cellalt format fiind XBM
Varianta GIF89a permite stocarea mai multor imagini n cadrul unui singur fiier
ceea ce, mpreun cu un mecanism de control al datelor, permite crearea de
animaii simple (printr-o succesiune de cadre/frame-uri similar peliculei
video cinematografice). Organizarea cadrelor este secvenial iar redarea se
poate face pe msur ce se citete din fiier (sau se primesc cadre prin
reea), fr a fi nevoie ca ntregul fiier s fie citit dintr-o dat (sau s ajung
la destinaie). Calitatea secventei animate este, in general, slaba si depinde
de numarul de cadre (imagini) aflate in GIF.
64

GIF animat, aplicatia


il reda corect

GIF animat, aplicatia


nu il reda dinamic =>
o simpla imagine statica

Utilizare format GIF


Imaginile n format GIF sunt recomandate n aplicaiile care
necesit compresie, contururi bine definite i permit utilizarea
unui numr redus de culori. Astfel de aplicaii sunt: logo-uri,
bannere, etc la care metoda de compresie nu deterioreaz
marginile aa cum se ntmpl n cazul JPG;
Animaii de scurt durat; atenie, nu toate browserele/aplicatiile
ofer suport pentru aceasta !
Grafic generat n mod artificial (datorit numrul redus de
culori ce pot fi reprezentate, respectarea cromaticii naturale este
practic imposibil)

65

66

Cuprins curs

Curs 8

Aplicatii Multimedia

1. Istoric film
2. Compresia video
3. Standarde de prelucrare/transmisie a imaginilor dinamice:
MJPEG,
MPEG-1,
MPEG-2,
MPEG-4

Istoric film

Functionare : inertia ochiului uman care determina retinerea unei imagini


pentru aprox. cca 1/20 sec.
In prima parte a sec. XIX au fost create diverse dispozitive care proiectau/
reproduceau imagini statice. Prin succesiunea acestora la intervale mici de
timp => senzatia de miscare (analogie cu GIF animat !)
In 1834 William George Horner a inventat zoetrope-ul. Dispozitivul
consta intr-un cilindru prevazut cu fante verticale. Pe interiorul cilindrului
erau dispuse imagini. Rotirea cilindrului da privitorului senzatia de miscare.
Cu cat viteza de roatie este mai mare, cu atat senzatia de miscare este
mai lina.
Limitari: Durata animatiilor era extrem de scurta. Animatii repetitive.

Zoetrope

Un pas important in evolutia filmului a fost realizat de Thomas Alva Edison. In


1891 acesta inventeaza cinetoscopul, un dispozitiv revolutionar la acea
vreme. Cinetoscopul folosea un motor pentru a derula o pelicula (cu
imagini) prin fata unei surse de lumina. Sursa de lumina proiecta imaginile
de pe pelicula pe un ecran aflat intr-o cabina mica.
Fratii Lumiere, Louis si Auguste, au creat in 1895 un dispozitiv portabil pe care
l-au botezat cinematograf. Acest dispozitiv ingloba o camera, un minilaborator de procesare a peliculei si un proiector. Durata filmelor
inregistrate nu depasea citeva minute. Ulterior au conceput un alt
dispozitiv, vitascopul, o varianta a cinetoscopului lui Edison. Diferenta fata
de acesta consta in proiectia care se facea pe un ecran mare deci poate fi
considerat momentul de aparitie al cinematografului asa cum il stim in zilele
noastre.
In 1930 aceiasi frati Lumiere realizeaza kinora, un cinetoscop portabil, manual
si care putea fi de folos unui numar redus de privitori. Motiv pentru care a
avut mare succes pe post de Home System :D

Kinora

Secolul 20 aduce tehnologii noi care permit cresterea calitatii si complexitatii


dipozitivelor de inregistrare si redare a filmelor. De asemenea, creste
dimensiunea filmelor si, in 1920, apar primele filme cu coloana sonora.
Primul film color apare in 1930.
In anii 40 si 50 au inceput sa apara formate diferite de redare (primele
tenative de standardizare).
Anii 70, 80 si 90 s-au facut remarcati prin aparitia inregistrarilor digitale
pentru sunet si dezvoltarea tehnologiilor LCD. Desi se remarca
imbunatatiri ale dispozitivelor de proiectie (luminozitate, contrast,
distanta de proiectie, claritate, etc), principiul de functionare al acestora a
ramas neschimbat.
In prezent, desi in salile cu pretentii au fost introduse dispozitive digitale de
proiectie, in multe sali de cinema inca se foloseste tehnologia analogica.

- Louis Lumire

"The cinema is an invention without a future

Compresie video

Compresia video este, probabil, cea mai importanta dintre toate metodele
de reducere a dimensiunii fluxurilor/fisierelor multimedia.
Acest lucru se datoreaza dimensiunii uriase a fluxurilor video atat in valoare
absoluta cat si relativa, comparandu-le cu fisierele dedicate textului,
sunetului sau imaginii statice.
Pentru a evidentia importana compresiei video se pot face cateva calcule
simple, comparative.
Considerand codificarea unui caracter (ASCII) pe 8 biti si considerand ca
intr-o pagina A4 incap cca. 2000 caractere =>
2000 x 8 = 16.000 biti
+
Biti de control
= cca. 20.000 biti

Daca vom folosi o camera video profesionala pentru a inregistra intr-un


fisier informatia continuta in aceeasi A4, vom avea urmatorul scenariu:
La o rezolutie de 720 px/linie x 576 linii
=> 720 x 576 x 25 (cadre/sec) x 24 (biti) = 248.832.000 bit/sec
adica 237,30 Mbiti/sec, cca 30MB/sec, deci o cantitate imensa de
informatii.
Cu alte cuvinte, daca ar fi necesar sa transmitem informatia printr-o retea
tipica de 100Mb, in timp real, lucrul acesta nici macar nu ar fi posibil !!!

Este evident faptul ca prelucrarea informatiei video si transmiterea la


distanta necesita :
- spatiu mare de stocare pe discul local;
- necesar de putere de calcul (procesor) mare;
- necesar de memorie interna mare;
- algoritmi de prelucrare si compresie puternici;
- latime de banda a canalului de transmisie mare.
Unele din cerintele de mai sus au fost rezolvate prin evolutia tehnicii dar si
a teoriilor matematice. Este vorba de cresterea puterii si vitezei de lucru
a procesoarelor si de cresterea memoriei interne si externe, concomitent
cu reducerea preturilor componentelor mentionate. Pe de alta parte,
algoritmii de compresie au permis reducerea cerintelor hardware.

Clasificare metodelor de compresie :


- metode de compresie bazate pe reducerea entropiei ;
- metode de compresie bazate pe reducerea redundanei.
Reducerea entropiei
Entropie = msur a cantitii de informaie vehiculate ntre o surs i
o destinaie. O tehnic de compresie bazat pe reducerea entropiei
presupune pierderea unei cantiti mai mari sau mai mici de informaie.
Pierderea informatiei are ca efect imposibilitatea receptorului de a
reconstitui integral informatia initiala. Din acest motiv, compresia bazata
pe reducerea entropiei este considerata a fi un proces ireversibil. Din
cele aratate mai sus => reducerea entropiei = metoda

Reducerea redundanei
Redundana = o modalitate prin care o parte (sau toate) din date sunt salvate n
mai multe locaii sau pot fi obinute rapid pe baza unor calcule foarte simple. De
exemplu, dac ntr-o baz de date reinem pretul brut al unor produse, cota de
TVA dar si pretul net putem afirma ca respectiva baza de data prezinta redundanta. Acest lucru se datoreaza unor informatii larg raspandite si cunoscute cum ar
fi, de pilda, relatia :
Pret brut = Pret net x 1,24 (Cota TVA = 24%)
Redundana duce la risip de memorie insa este deosebit de utila si recomandat
n aplicaii critice.
Compresia bazata pe reducerea redundanei este de tip lossless intrucat permite
refacerea informaiilor iniiale. Castigul de spatiu se bazeaza pe nlturarea
acelor informaii care nu sunt strict necesare (redundante). Evident, compresia
obinut este mai slab dect n cazul metodelor bazate pe reducerea entropiei.

MJPEG

MJPEG = Motion JPEG


Tehnica de codare/compresie video care trateaza fiecare cadru ca pe o imagine
statica si o comprima in format JPEG. Miscarea este realizata prin redarea
unui anumit numar de astfel de cadre comprimate in unitatea de timp (cadre ->
secunda)
MJPEG foloseste codarea intra-cadru, similara intr-o buna masura cu tehnicile
folosite la MPEG1 si MPEG2, fara insa a apela la predictia inter-cadru asa cum
este cazul la celelalte standarde mentionate.
Rezultat : capabilitati de compresie mai slabe dar usurinta mare in codare si
editare.
Codarea intra-cadru duce la o compresie independenta de cantitatea de miscare
din cadru (lipseste predictia temporala)
Video necomprimat > MJPEG > Video comprimat cu tehnologie inter-cadru

Exista atat avantaje cat si dezavantaje in utilizarea acestei tehnici.


Avantaje:
 Simplitatea codarii (atat software cat si hardware)
 Efort de procesare scazut
 Suport pentru orice rezolutii de cadre (cu pastrarea restrictiei de
impartire in blocuri de 8x8
 Absenta compresiei inter-cadre => absenta estimarii cadrelor
urmatoare => calitate buna (a fiecarui cadru !)
 Calitatea depinde doar de latimea de banda a canalului si de
performantele codecului
 Absenta codarii inter-cadre => (potentialele) erori dintr-un cadru nu
vor afecta si cadrele urmatoare

MJPEG - Motion JPEG

Dezavantaje:
 Lipsa unui standard (international sau macar regional) care
sa reglementeze acest format si sa impuna un mod de
codare a datelor si organizare intr-un fisier container
 Probleme de interoperabilitate si compatibilitate
 Absenta compresiei inter-cadre => absenta estimarii cadrelor
urmatoare => dimensiune mare
 Preformante slabe in ceea ce priveste reducerea latimii de
banda (dimensiunii); codecurile MJPEG sunt depasite ca
fundament teoretic -> imbatranirea morala a standardului
JPEG; acesta necesita viteze (latimi de banda) mai mari decat
standarde noi

Utilizare:
Camerele de supraveghere acestea captureaza un cadru/secunda
Sisteme neliniare de editare video necesita decodare si redare f.
rapida a JPEG
Camere video IP transmitere prin HTTP sau RTP
Console PlayStation, Nintendo
Formatul video AMV, des intalnit la dispozitive MP4 din gama ieftina
este o versiune a MJPEG.
Camerele foto digitale cu capabilitati de inregistrare/redare video
Nikon D90, lansat in August 2008, a fost primul DSLR care inregistra
video => MJPEG (320x216, 640x424, 1280x720)

Browserele Mozilla au suport pentru MJPEG. IE si Opera


pot reda continut MJPEG numai daca au instalate plug-inuri.
Transmiterea prin HTTP se bazeaza pe descompunerea
fluxurilor in imagini individuale, tratate ca atare
(confirmari, retransmisii, etc)
Transmiterea prin RTP se bazeaza pe pachete reprezentate
de secvente de imaginii (cadre JPEG) ce pot fi primite,
bufferizate si redate de diverse aplicatii (VLC, Quicktime)

MPEG

MPEG - Motion Picture Experts Group


MPEG = grup de specialiti al ISO (OSI) fondat n 1988. Prima reuniune a
grupului a avut loc n Ottawa Canada. Obiectivul acestui grup consta (i
const) n dezvoltarea de standarde pentru stocarea i manipularea
informaiilor video (alturi, dup caz, de cele audio) folosind tehnica
digital.
Grupul MPEG a elaborat urmtoarele standarde:
MPEG-1: primul standard digital pentru fluxuri video i audio
comprimate;
MPEG-2: standard pentru televiziune de nalt rezoluie i calitate.
MPEG-3 : dezvoltat special pentru televiziune de nalt definiie.
Nefinalizat.
MPEG 4 : s-a dorit a fi o extindere a capabilitilor standardelor
anterioare n 3D (imagine dar i sunet); a venit i cu tehnici noi i
imbuntite de codare
altele

MPEG -1

Denumirea oficial a standardului este ISO/IEC-11172. Este mult mai


cunoscut sub denumirea mprumutat de la numele grupului, dup
reeta JPEG.
Activitatea de elaborare a standardului a debutat in Mai 1988.
Standardul a fost lansat in 1991-1992, insa nu complet.
MPEG-1 reprezint debutul efectiv al compresiei cu pierderi (lossy) n
domeniul digital al fluxurilo video i audio.
Standardul a fost conceput in special pentru compresia si alaturarea de
imagini in format VHS si sunet CD fara pierderi serioase => suport
tehnologic pentru VCD-uri, TV digitala prin cablu sau satelit.

MPEG -1

Standardul se incadra in restrictiile tehnologice ale suportului


hardware din anii 1990, in special in ceea ce priveste viteza
limitata la cca 1,5 Mbiti/sec (viteza specifica liniilor T1 si
unitatilor CD ale vremii).
Rezolutia video cel mai frecvent intalnita la acest formatul este
destul de slaba (352 x 288) fiind situata la un sfert fata de
rezolutia unui cadru video specific standardelor profesionale
(720 x 576).
VCD-uri, chiar si DVD, fara posibilitatea de subtitrare.

Standardul MPEG-1 este compus din 5 parti din care 3 sunt esentiale:

Sistem

Video
Audio


Sistem (11172-1):
- suport pt. multiplexarea informatiei audio-video intr-un singur flux (
fluxuri audio-video sincronizate)
- formatul de fisier este special conceput pt. stocare de informatie
multimedia si transmitere prin canale de date.
- formatul nu asigura integritatea datelor decat intr-o masura foarte
mica, motiv pentru care erori de transmisie sau citire de pe suportul
fizic pot duce la probleme majore in redarea continutului.
- se pot intalni situatii in care fluxul video se desincronizeaza de cel
audio din diverse motive ()

Video (11172-2) :
- specifica algoritmii de compresie pentru fluxurile video
- compresia se bazeaza pe reducerea entropiei (prin reducerea sau
ignorarea totala a unor frecvente sau zone ale imaginii pe care ochiul
uman nu le percepe foarte bine) sau reducerea redundantei (necesita
transformarea imaginii din spatiul RGB intr-un alt spatiu) (vezi
compresia JPEG)
Audio (11172-3) :
- specifica algoritmii de compresie pentru fluxurile audio
- reducerea informatiilor audio se face folosind tehnici psihoacustice
care constau in ignorarea acelor frecvente pe care urechea umana nu le
poate auzi.
- cel mai popular format audio al MPEG-1 este, fara indoiala, MP3 care a
contribuit extrem de mult la raspandirea intregului standard. MP3
reprezinta Nivelul 3 (Layer III) al partii audio (11172-3) din MPEG-1.

MPEG -1 Video

Datele video se reprezenta ca o succesiune de cadre I1, I2, , In in care


I1, I2, ..., In sunt afiate secvenial la intervale f. reduse de timp.
Din motive de compatibilitate a terminologiei cu tehnologiile anterioare
(analogice) se utilizeaza notiunea de cadre/secunda, care specifica
numarul de cadre I redate intr-o secunda.
Fiecare imagine este reprezentata pe monitor de o matrice 2D de tripleti
RGB, unde tripletul RGB este setul de 3 valori care dau nivelurile de
rosu, verde i albastru ale unui pixel din imagine.
MPEG-1 prevede uilizarea mai multor tipuri de cadre video, fiecare din
acestea servind unui anumit scop.

Categorii de cadre specifice MPEG-1

Cadre I : Intra-frame. Cele mai simple cadre, pot fi decodate


independent de celelalte cadre. Mai sunt cunoscute ca si Imagini-I
sau cadre eseniale.
Cadrele I pot fi considerate identice cu imaginile JPEG i pot fi codate
numai pe baza informaiilor coninute n imaginea n sine, procedur
ce se numete transform coding.
Utilizarea lor permite pozitionarea n interiorul unui fiier MPEG, mai
precis saltul la un anumit cadru (moment de timp). Acest salt este
posibil numai pn la cel mai apropiat cadru I.
Prezena cadrelor I este deosebit de util la prelucrarea filmelor n special
la tierea sau alipirea unor secvene. n absena cadrelor I ar fi
necesar recodarea ntregii secvene pn la momentul dorit.

Compresia cadrelor I este foarte rapid ns duce la dimensiuni mult mai


mari dect n cazul codrii normale MPEG-1. Dac un film codat MPEG1 ar fi format numai din cadre I, cel mai probabil dimensiunea sa ar fi
de cel putin 3 ori mai mare. (comparabil cu ?)
Distana dintre dou cadre I consecutive poart denumirea de grup de
imagini (GOP=Group of Pictures).
n cazul MPEG-1, dimensiunea GOP este constant i cuprins ntre 15-18
cadre. Exist i variante mai inteligente de codare ce pot selecta n
mod dinamic dimensiunea GOP, n funcie de complexitatea imaginilor,
puterea de calcul, calitatea dorit, etc.
GOP maxim este 132.

Cadre P : Predicted Frame (cadru predicionat). Pot fi nscrise n


categoria Inter-frame alturi de cadrele B despre care vom discuta
puin mai trziu.
Cadrele P au rolul de a mbunti compresia prin exploatarea redundanei
temporale a fluxului video. Acest lucru nseamn c un cadru P va
conine numai diferene fa de cadrul anterior, indiferent dac acesta
este un cadru I sau tot un cadru P.
Diferena dintre cadrul P i cadrul de referin se determin pe baza
vectorilor de micare inclui n cadrul respectiv.

Cadre B : Bidirectional Frames (cadre bidirecionale). Pot fi utilizate ca i cadrele P


pentru a reda cadrul curent. Spre deosebire de cadrele P care se bazeaz
exclusiv pe cadrul anterior, cadrele B realizeaza predicia att pe baza cadrului
anterior ct i pe baza cadrului urmtor, deci vor avea dou cadre de referin.
Din acest motiv, aplicaia de redare a filmului trebuie nti s decodifice cadrele I
sau P de dup cadrul B (curent) pentru a-l putea decodifica corect si complet pe
acesta. De aceea utilizarea cadrelor B necesit un efort de calcul mare i lucru
masiv memorii tampon ceea ce poate provoca ntrzieri i desincronizri att la
codarea ct i la decodarea i redarea filmelor.
De cele mai mult ori, cadrele B sunt evitate. Mai mult dect att, sunt destul de
frecvente situaiile n care cadrele B nu sunt suportate de dispozitivele hardware
de decodare (decodere hardware).
Cadrele B nu pot fi utilizate pentru predicia altor tipuri de cadre, motiv pentru care
sunt utilizate pe post de mecanism de control al vitezei de bit. Dac, pentru acest
scop, s-ar folosi cadre P de calitate sczut, urmtoarele cadre P ar fi i mai
proaste calitativ, ceea ce ar duce la scderea calitii unei ntregi secvene,
respectiv pn la ntlnirea unui cadru I.

Cadre D : Sunt cadre de calitate foarte sczut, nu sunt folosite efectiv la redarea
unei secvene video ci doar la previzualizarea acesteia cu vitez mare (Fast
forward).
Sunt imagini codate individual, la o calitate f. mica/ rata compresie f. mare.

Ca si JPEG, MPEG-1 utilizeaz blocuri de 8x8 pentru cuantificare. Datorit cerinelor


de prelucrare (transformare din spaiu RGB n spaiu YCbCr, subesantionare,
DCT) aceste blocuri sunt organizate n macroblocuri. ntr-un macrobloc sunt
grupate 6 blocuri.

Dac dimensiunea cadrului video nu permite mprirea exacta n macroblocuri


codarea trebuie totusi fcut complet, chiar dac acest lucru presupune lucrul
cu macroblocuri incomplete. Din acest motiv, unele decodere vor introduce
defecte vizibile n redarea imaginii.

Vectori de micare

Pentru reducerea redundanei (si, implicit, a dimensiunii fluxului/fisierului


multimedia), MPEG-1 actualizeaz doar acele blocuri care difer n
cadrul curent fa de cadrul anterior. Aceast metod este cunoscut
sub denumirea de nlocuire condiionat.

de miscare

Miscarea unor actori (obiecte) in scena sau chiar deplasarea camerei video
determina o cantitate mare de blocuri (zone de cadru) ce trebuie
actualizate. Prin estimarea miscarii se poate elimina codarea unei
cantitati mari de informatie redundanta. Se compara o zona din cadrul
curent cu zone vecine din cadrul de referinta (I sau P). Daca este
gasita o zona identica, se va coda in cadrul curent (care poate fi P sau
B) doar directia si distanta de deplasare a zonei studiate => vectorul
Procedura inversa, respectiv cea prin care este reconstituita imaginea se
numeste compensarea miscarii.

Vectorii de micare nregistreaz distana dintre dou zone ale cadrului msurat
n pixeli sau peli. n formatul MPEG-1 se folosete o precizie de jumtate de
pixel. Cu ct precizia vectorilor de micare este mai bun cu att crete
acurateea prediciei i, implicit, eficiena compresiei.

Vectorii de miscare lucreaza la nivel de macroblocuri.


Diferenta intre predictie si real = eroare de predictie.

Cadrele P au cte un vector de micare asociat fiecrui macro-bloc spre


deosebire de cadrele B care pot folosi 2 vectori de micare.
Exist mai multi algoritmi de codare utilizati pentru realizarea unui flux
conform MPEG-1. Unul dintre acestia este similar compresiei de tip JPEG
a unei imagini statice necomprimate. Chiar si etapele parcurse la
compresia JPEG se regsesc aici.

Subesantionare

Subesantionare

Subesantionare

Tehnici MPEG1 de reducere a redundanei

Reducerea redundantei temporale


- bazata pe predictie si codarea informatiei care difera intre doua
cadre.

Reducerea redundantei spatiale


- bazata pe o tehnica de compresie imprumutata de la JPEG

Reducerea redundantei temporale

Se bazeaz pe dou tehnici de codare:


codare predictiv
codare interpolativ
In cazul frame-rate-ului mare (>25-30fps) diferentele intre cadrele consecutive vor
fi, in general, f. mici, deci vor avea in comun numeroase blocuri identice. Metoda
de compresie a imaginii n micare care tine cont de redundana temporal si nu
codeaza ntregului cadru ci doar diferenele de informaie dintre cadre consecutive
se numete predictiv. Se aplica doar la obtinerea cadrului curent din cel anterior
=> se intalneste doar la cadre P.
Codarea interpolativ se refera la codarea cadrului curent pe baza diferentelor dintre
acesta, cadrul anterior si cel urmator. In fapt, poate fi considerata o codare predictiva
Bidirectionala.

Codare predictiva in cazul cadrelor P


 Impartire cadru un blocuri 8x8
 Cautarea blocului cel mai apropiat din cadrul anterior
 Daca este gasit (identic sau f. asemanator), se construieste vectorul
de miscare . Acesta necesita un spatiu mic pentru reprezentare
 Potrivirea blocurilor se face cu un grad mai mic sau mai mare de
flexibilitate. Acest lucru trebuie sa aiba in vedere transformarile pe
care le pot suferi blocurile de la cadru la cadru. Nu trebuie limitata
cautarea luand in calcul doar translatii, este f. posibil ca blocurile sa
sufere si rotatii. Pe de alta parte, o nepotrivire prea mare poate
genera erori, artefacte, etc.
http://vimeo.com/2564771

Codare:

Redare:

I1

I2

I3

Considerand cele trei cadre din figura anterioara, ele reprezinta o


succesiune de trei imagini inregistrate cu o camera foto. Multe din
macroblocurile din cadrul I2 pot fi aproximate cu parti (macroblocuri)
provenind din cadrul I1, care este numit cadru de referinta. n mod
similar, multe macroblocuri din I3 pot fi aproximate prin parti din I1 sau
I2.
Vectorul care indica partea corespunzatoare din cadrul de referinta necesita
mai putini biti, pentru a fi codat, decat pixelii originali. Acest mod de
reprezentare are ca rezultat o comprimare semnificativa a datelor.
Un raport de comprimare mai ridicat se poate obtine daca in momentul
cand I2 este codat, putem dispune atat de I1 cat si de I3 pentru a fi
considerate cadre de referinta. I2 va putea fi astfel construit folosind
atat pe I1 cat si pe I3 (I2 = cadru B)

Reducerea redundantei spatiale

Metoda presupune parcurgerea urmtoarelor etape :

1. Transformarea n spatiul luminanta-crominanta + prelucrari suplimentare

aducerea imaginii din spatiul RGB in spatiul YCbCr (vezi curs anterior).
separarea si retinerea separata a informatiei de luminanta si crominanta (Y,
Cb, Cr)
sub-esantionarea crominantei, adica injumatatirea acesteia pe verticala si pe
orizontala => sfert din rezolutia cadrului video;
datorita metodei de injumatatire atat pe verticala cat si pe orizontala, este
absolut necesar ca imaginea YCbCr sa aiba dimensiuni pare (atat inaltimea
cat si latimea). In caz contrar o sa apara o nepotrivire a informatiilor de
crominanta (cunoscuta sub numele de fantoma de crominan) care
consta in aparitia culorii mai devreme sau mai tarziu decat imaginea.

http://vimeo.com/2564771

2. Transformata Cosinus Discreta (DCT) + prelucrri suplimentare


divizarea imaginii in macroblocuri, formate la rndul lor din 6
blocuri, fiecare de 8x8 pixeli.
blocurile sunt prelucrate ca n cazul compresiei JPEG
Reducerea redundantei spatiale se poate face numai dupa
reducerea redundantei temporale si constructia cadrelor I,P,B
intrucat acestea reprezinta sursele metodei de compresie.
Reducerea dimensiunii specifice MPEG poate ajunge pana la 200:1,
daca se folosesc toate tipurile de cadre. Uzual, pentru o calitate
buna, raportul de compresie este cuprins intre 20:1 si 40:1.

MPEG1 necesita mult timp la codare , dar se comporta f. bine la redare.


Necesarul de resurse (procesor, memorie) la codare este f. mare. Acest
lucru se datoreaza numarului imens de cautari efectuate pentru
identificarea blocurilor identice din cadre succesive, deplasarile blocurilor,
etc.
Folosirea cadrelor B solicita o cantitate mare de memorie  necesare
buffere rapide.
Necesarul de resurse la redare este foarte redus => Deosebit de util in
situatiile in care codarea se face o singura data iar redarea de f. multe ori
Rezolutii uzuale:
 352 x 240 la 30 fps
352 x 288 la 25 fps


MPEG1 permite codarea video cu rezolutii de pana la 4095 x 4095 cu 60 fps.


Nu a fost conceput pentru prelucrari (codari) in timp real.

Aplicatii Multimedia
Curs 9

Cuprins curs
1. Standarde de prelucrare/transmisie a imaginilor dinamice:
MPEG-2,
MPEG-4,
Alte standarde MPEG (MPEG-7, MPEG-21, MPEG-A)
AVI (RIFF)
RealVideo
Quicktime
2. H.261, H.263, H.264, H.320, H.323

MPEG - 2

Transmisiile TV au cteva caracteristici tehnice care trebuie respectate cu


strictee pentru a evita probleme de genul: vizionri sacadate, pierderi
de zone de imagine din cadru, pauze nejustificate, dubluri, etc.
Caracteristicile cele mai importante sunt: cadena cadrelor (cca. 25 de
imagini pe secunda), durata unui cadru (40 milisecunde).
MPEG-1 nu face fata cerinelor transmisiunilor TV.
S-a ncercat introducerea MPEG-1 n transmisiile TV prin reducerea informaiei coninute in acest format. Prin reducerea rezoluiei imaginii s-a reuit
ntr-o bun msur conformarea cu numrul de cadre i cu durata
fiecrui cadru. Dezavantajul a fost reprezentat de scderea severa a
calitii imaginii redate.
3

MPEG-2 a fost introdus n 1993 pentru a indeplini cerinele tehnice ale


transmisiuni-lor TV n condiiile pstrrii unei caliti ct mai bune.
MPEG-2 viza extinderea tehnologiei MPEG-1 pentru a oferi calitate
superioar a transmisiei la viteze mult mai mari (3-15 Mb/s). Standardul
MPEG-2 prevede compatibilitate total cu fluxurile video codate MPEG-1.
MPEG2 a fost studiat si conceput pentru a fi utilizat intr-un mediu digital
(TV) dar si pentru a depi MPEG-1 att n ceea ce privete puterea de
compresie ct i a calitii asigurate pentru fluxurile video. Acest
standard defineste o grila de debite maxime in functie de doi parametri
numiti LEVELS (niveluri) si PROFILES (profile). Cele 4 niveluri definesc
formatul imaginilor, de la formatul sfert de imagine (QCIF, 176 144)
pana la formatul HDTV (1920x1080 ).
4

Profilele determina nivelurile de comprimare care vor fi utilizate. Sunt in


numar de 5, fiind clasate in ordinea crescatoare a complexitatii.
Important este faptul ca se mentine compatibilitatea cu profilele si
nivelurile anterioare (vezi tabelul 2).
Nivelurile definesc minimul i maximul rezoluiei imaginii, luminana,
numrul de niveluri audio i video suportate pentru profilele scalabile i
viteza de bit maxim pentru fiecare profil.
Cel mai nepretentios profil este cel denumit Simplu. Urmatorul profil,
Principal, are toate posibilitatile profilului Simplu si, in plus, optiunea
numita "predictie bidirectionala". Pentru acelasi debit de transfer,
calitatea imaginii data de profilul Principal va fi mai buna raportata la
profilul Simplu.
5

Tabelul 2 - Profilele si nivelurile definite pentru MPEG2

In Europa a fost aleasa pentru televiziunea digitala combinatia dintre nivelul


Principal si profilul Principal => 720x576, calitate de studio. Fluxul
maxim teoretic este de 15 MB/s, insa in realitate rareori depaseste 5-7
MB/s (in medie, la nivelul beneficiarului)
In medie, pentru ca este permisa modificarea ratei de compresie in functie
de necesitati. Astfel, secventele care contin miscare rapida (transmisii
sportive) pot ajunge si depasi 10 MB/s in vreme ce transmisiile mai
statice (studio, stiri, etc) pot cobori pana la 2,5 MB/s
MPEG-2 a fost conceput pentru viteze mari, acolo unde MPEG-1 nu se
comporta bine. Oarecum paradoxal, MPEG-2 nu se comporta foarte bine
la viteze mici (sub 1,5 MB/s)

MPEG-2 este format din mai multe parti (10) din care 3 sunt esentiale si
au aceeasi semificatie ca si in cazul MPEG-1 :


Partea 1 : Partea de sistem, definete modul de multiplexare pentru


combinarea semnalelor audio i video i modurile de sincronizare a
informaiei necesare pentru redarea secvenelor
Partea 2 : Definete modul de reprezentare a datelor video codate i
modul n care acestea sunt decodate pentru reconstituirea imaginilor;
Partea 3 : Definete modul de reprezentare a datelor audio i modul n
care acestea sunt decodate pentru reconstituirea sunetului;

Att partea audio ct i partea video a MPEG-2 stipuleaza utilizarea


metodelor de compresie cu pierderi.
8

Camerele HDTV genereaz un flux de date uria de date (60-70MB/s). Este


evidenta necesitatea unor metode de compresie mai puternice decat in
cazul MPEG-1.
O modalitate de reducere a cantitii de date const n separarea imaginii n
dou cadre, cmpul superior (reprezentat de liniile impare) i cmpul
inferior (reprezentat de liniile pare). Cele dou campuri sunt redate
alternativ, tehnic numit ntreesere video. Dou cmpuri succesive
formeaz un cadru complet.
n cazul n care nu se apeleaz la tehnica de ntreesere, avem de-a face cu
un flux video progresiv n care fiecare imagine este un cadru
independent, asa cum este cazul la MPEG-1. n mod evident,
dimensiunea unui astfel de flux este mult mai mare dect n cazul unui
flux cu ntreesere (aproape dubl). MPEG-2 accept ambele variante.
9

10

O alt modalitate de reducere a cantitii de date este reprezentat de


sub-eantionarea crominanei (vezi curs anterior). MPEG-2 permite
urmtoarele scheme de eantionare a crominanei:
4:4:4 -> fr subeantionare a crominanei, nu se sacrific
informaie legat de crominan
4:2:2 -> subeantionare a crominanei, pierdere a jumtate din
informaia legat de crominan
4:2:0 -> subeantionare a crominanei, pierdere a trei sferturi
din informaia legat de crominan

11

Similar cu MPEG-1, formatul MPEG-2 prevede compresia cadrelor iniiale n 3


tipuri de cadre : cadre I, cadre P, cadre B. Semnificaia lor i modul lor
de funcionare este acelai ca i n cazul MPEG-1.
In figura urmtoare este prezentat schema de funcionare a unui
codificator MPEG-2

12

Dispozitivele de codare (codificatorele) MPEG-2 pot fi: aplicaii software


pentru calculatoare (cele mai slab performante), plci dedicate pentru
calculatoare, echipamente hardware profesioniste bazate pe DSPuri.
Dispozitivele de decodare (decodificatorele) MPEG-2 pot fi: aplicaii
software pentru calculatoare (cele mai slab performante), plci
dedicate pentru calculatoare, echipamente TV (gen receiver).

13

MPEG 3

Exista i un standard MPEG-3, mai exact intenia de a introduce un standard


MPEG-3 care ar fi trebuit s ofere un suport tehnologic pentru televiziunea de nalt definiie (HDTV -> 1920 x 1080). Din pacate, eforturile
grupului desemnat pentru a elabora acest nou standard s-au dovedit n
curand a fi inutile ntruct s-a constatat destul de rapid c MPEG-2 cu
mici modificri atingea cu uurin i chiar putea depi perfomanele
noului standard.
MPEG-3 viza aplicaiile HDTV n intervalul 20Mb/s 40 Mb/s. Nivelul nalt al
MPEG-2 poate atinge cu uurin aceste viteze, motiv pentru care a
devenit standardul de-facto al HTDV (evident, cu apariia acelor modificri deja menionate)
Atentie: a nu se confunda MPEG-3 cu MP3 !
14

MPEG 4

Formatul MPEG-4 a avut ca int aplicatiile de debit informaional foarte


scazut (intre 4800 si 64.000 biti/sec) si cu dimensiuni reduse ale cadrului
video. Obiectivele iniiale au fost extinse pe parcurs, astfel c, n prezent,
MPEG-4 a devenit unul dintre cele mai populare standarde de codare
multimedia.
MPEG-4 reprezint n fapt o colecie de algoritmi de compresie a
informaiei audio i video i ncorporeaz multe din caracteristicile MPEG-1
i MPEG-2, aducnd o serie de elemente de noutate cum ar fi: suport
pentru redare imagini 3D, lucrul cu obiecte, posibilitatea de setare a unor
drepturi de acces, posibilitatea de lucru interactiv, etc. MPEG-4 i-a facut
usor loc n urmtoarele genuri de aplicaii multimedia: transmisii TV
interactive, comunicaii mobile, animaie digital, WWW, video-telefonie,
etc.
15

Standardul MPEG-4 este format din mai multe pri (23), motiv pentru
care este greu de apreciat c o anumit aplicaie respect acest
standard. De exemplu :
partea 2 : utilizata de codecuri video de genul DivX, Xvid, 3ivx,
Quicktime 6;
partea 3: audio, utilizat de variante AAC
partea 10 : utilizat de Quicktime 7 i de formate MM urmase
ale DVD (HD DVD, BlueRay)
partea 11: utilizat pentru implementarea de interactivitate.
Dezvoltarea MPEG4 nu este incheiata.

16

Moduri de implementare concreta a algoritmilor de compresie:


 modul software, in care codarea si decodarea se fac de catre un
program conceput special in acest scop
 modul hardware, in care procesoare speciale (DSP sau circuite
integrate realizate la comanda - ASIC, (Application Specific Integrated
Circuits) se ocupa exclusiv de comprimarea/decomprimarea fisierelor.
Fiecare dintre aceste doua solutii ridica costurile pentru utilizator si prezinta
avantaje si dezavantaje.
Testele facute arata ca echipamentele HW dedicate pot asigura o calitate
foarte buna si in cazul calculatoarelor f. slab echipate.
17

Standardul MPEG-4 permite codarea hibrid a imaginilor naturale (statice sau video)
alturi de imagini sintetice (generate pe calculator). Acest lucru permite, de
exemplu, implementarea unei videoconferine cu parteneri virtuali.
Ca i MPEG-2, standardul MPEG-4 prevede utilizarea de profile pentru diferite tipuri
de codri/compresii.
Tipuri de profile:
vizuale: - pentru codarea imaginilor naturale;
- pentru codarea imaginilor sintetice sau a combinaiilor natural-sintetic
(sintetic=generate pe calculator);
- pentru codarea animaiei
audio : - pentru codarea sunetului;
grafice : - pentru codarea graficii 2D i 3D
complexe: - pentru codarea unor scene n care pot exista mai multe tipuri de obiecte
(audio, video, animaie)
18

Puncte forte ale standardului MPEG-4

Formate suportate : Video progresiv sau ntreesut, rezoluii de la QCIF pn la 4k x


4k pixeli, viteze de bit variate (de la 5kb/s la peste 1Gb/s);
Algoritmi f. eficienti de compresie
Funcionaliti ce depind de continut: codarea bazat pe coninut; acces aleatoriu
la o secven video, pauz, derulare rapid
Scalabilitatea texturilor, imaginilor statice si dinamice: codare diferit n
funcie de complexitatea obiectului; decodare diferit n funcie de complexitatea
decoderului, etc.
Codarea contururilor i a canalelor Alpha: codarea contururilor este util in
aplicaii de tipul CBIR
Robustee n medii predispuse la erori
Animaie facial i/sau corporal: standardul permite definirea de obiecte sintetice
Optimizare multiplexare si sincronizare date. => asigurare parametri QoS
Acces aleatoriu imbunatatit la parti ale secventei audio-video.
Combinarea obiectelor de tipuri diferite.
19

Alte standarde MPEG

MPEG - 7

ISO/IEC 15938 -> Multimedia Content Description Interface (MCDI)


Ofera un set de modalitati pentru a descrie continutul multimedia.
Nu se recurge la perspectiva unui sistem clasic de gestiune a
continutului

20

Utilizari MPEG 7:











Educatie
Jurnalism (cautari dupa figura, voce)
Informatii turistice (obiecte animate, imagini)
Ghizi virtuali in turism
Servicii geografice
Supraveghere video (control trafic, testari in medii periculoase)
Aplicatii biomedicale
Arhitectura, imobiliare
Arhive de film si sunet
Servicii sociale (gen matrimoniale, social networks)
21

MPEG-21 : ISO/IEC 21000



Se foloseste de continut (din MPEG-1, MPEG-2, MPEG-4) de descrierea
continutului (din MPEG-7) si de alte resurse pentru a defini un Obiect
Digital

Asociaza continutului o mare cantitate de informatie

Se poate realiza agregarea resurselor multiple intr-o unitate logica

Continutul poate si auto-descriptiv si configurabil
MPEG-A : ISO/IEC 23000

Standard ce reuneste cele mai remarcabile tehnici din standardele MPEG
anterioare sub forma unui format de aplicatie multimedia (MAF)

Specifica atat formate multimedia cat si aplicatii de referinta

Reduce eforturile de interoperabilitate prin indicarea unor formate optime
pentru anumite domenii
22

AVI

AVI Audio Video Interleave


Nu este un format audio-video in sine, este un format de fisier. Vizeaza
organizarea continutului, nu continutul in sine.
Este un container pentru continut multimedia introdus de catre Microsoft
in 1992. La vremea respectiva se dorea a fi un suport oferit de MS
Windows 3.1 pentru audio si video.
Permite gazduirea si redarea simultana in aceleasi fisier a fluxurilor audio
si video sincronizate in timp.
Este prevazuta gazduirea de fluxuri audio/video multiple, insa aceasta
optiune este extrem de rar folosita.
23

Formatul de fiier .avi nu a fost conceput pentru a gzdui coninut codat


MPEG-4 (Xvid sau Divx) motiv pentru care n astfel de situaii avem dea face cu o dimensiune exagerat a fiierelor sau, mai grav dect att,
cu probleme de compatibilitate (de ex. cnd se folosesc funcionaliti
MPEG-4 mai speciale sau chiar banalele subtitrri)
AVI nu reine informaii despre forma pixelului sau despre aspectul
acestuia. Microsoft a comunicat faptul c majoritatea aplicaiilor de
redare AVI considera pixelii ca avand forma de patrat, motiv pentru
care, de multe ori, imaginea apare deformat (curbele in special
prezinta dinti de fierastrau).
n Iunie 2005 DivX, Inc. a lansat propriul su format de container numit
DivX Media Format (.divx) care se dorete a fi o mbinare natural
ntre AVI i DivX. .DIVX nu aduce multe nouti, se bazeaz pe
mbuntiri ale AVI (RIFF) motiv pentru care nu a ctigat mare
popularitate

24

Formatul de fiier .avi reprezint o interpretare sau mai degraba o


personalizare adus de Microsoft RIFF-ului (Resource Interchange File
Format) format care se bazeaz pe compunerea fiierului din mai multe
buci sau segmente, fiecare identificat printr-un ID.
Spre deosebire de RIFF, un fiier AVI se prezint sub forma unui singur
segment mprit n 2 sub-segmente obligatorii i un sub-segment
opional.
Primul sub-segment este identificat prin eticheta hdrl, reprezint
headerul fiierului i conine informaii despre video cum ar fi:
 lime i nlime cadru (rezolutie),
 numr de cadre/sec,
 reprezentare pe biti,
 etc.
25

Al doilea sub-segment este identificat prin eticheta movi si conine


informaia audio-video din care este compus secvena AVI ce va fi
redat.
Sub-segmentul opional este identificat prin eticheta idx1 si conine
indecii offseturilor de date din fiier. Acesta este util n cazul n care se
dorete cutarea/saltul prin fiier.
Informaia coninut n sub-segmentul movi nu are un format impus,
alegerea modului de codare depinde de autor.
Astfel, ntr-un fiier .avi putem gsi fluxuri video necomprimate (Full
Frame) sau codate cu diverse codecuri cum ar fi: Indeo, Cinepack,
MJPEG, MPEG, RealVideo sau altele.
26

Structura .AVI

RIFF ('AVI '

LIST ('hdrl'
'avih'(<Main AVI Header>)
// Header principal, informatii generale
LIST ('strl'
// Lista pentru fiecare flux din fisier, liste multiple => fluxuri multiple
'strh'(<Stream header>) // Header al fluxului descris de strl
'strf'(<Stream format>)
// Format al fluxului
[ 'strd'(<Additional header data>)] //Date suplimentare flux
[ 'strn'(<Stream name>) ] //Nume flux
... )
...
)
LIST ('movi'
//Lista ce contine fluxul MM propriu-zis
{SubChunk | LIST ('rec '
// Datele pot fi grupate => citire simultana grupuri
SubChunk1
SubChunk2 ...
)
...
}
...
)
['idx1' (<AVI Index>) ]
27

Versiunile .avi specifice W95 (FAT 16) si W98 OSR1 sufereau pe urma
limitarilor tehnice ale vremii (care credeti ca a fost cea mai
problematica ?)
FAT32, introdus impreuna cu W98 OSR2, a permis cresterea dimensiunii
pana la 4GB.
NTFS permite dimensiuni mult mai mari ale fisierelor (practic infinite sute
TB), astfel ca sunt inlaturate restrictiile legate de dimensiunea fisierelor.
Primele versiuni de .avi aveau un continut multimedia bazat in mare
masura pe MJPEG. Diferenta fata de acesta consta in faptul ca imaginile
(cadrele) comprimate si sunetul erau intercalate, nu erau tratate ca
fluxuri separate si independente.
28

Caracteristici .AVI (versiuni curente)


ofer suport pentru fiiere mari;
ofer suport pentru fluxuri multiple de date (pn la 256 fluxuri video
sau audio);
ofer suport pentru subtitrri; pot fi realizate chiar i editari, adugri
sau eliminri ;
cu puine excepii (MPEG-4) dimensiunile fiierelor AVI sunt
rezonabile;
ofer suport pentru sunet 3D (AC3, AAC);

29

Real Video

Una din problemele majore ale Internetului este reprezentat de viteza


(latimea de banda) mica a conexiunilor utilizatorilor finali. Acest lucru
reprezint o problem serioasa pentru continutul multimedia, in special
pentru cel in timp real (transmisii live audio-video).
Indeplinirea unor parametri QoS minimali reprezinta o necesitate pentru
companiile care vor s vnd sau sa distribuie produse multimedia pe
web.
Transformarea intregului continut multimedia intr-unul offline (cu
pastrarea calitatii originale) ar putea reprezenta o solutie si, in situaii
excepionale, unii utilizatori poate ar fi dispui s accepte acest
compromis insa vom avea de-a face cu o exceptie, nu o stare de
normalitate. Probabil nici nu vor exista prea muli simpatizani pentru o
astfel de abordare.
Cum ar putea fi nlturat acest neajuns fr a fi nevoii s ateptm ore n
ir sau chiar zile ntregi pentru a salva un film/emisiune/concert de pe un
server pe masina locala ?
30

Solutie -> dezvoltarea si aplicarea unor standarde pentu transmisii continut


multimedia prin retelele actuale.
n esen, exist dou abordri majore:
- transmisie orientat pe flux de date : aplicaia care red informaia
media (sunet, video+sunet) nu ateapt sosirea la destinaie a
ntregii melodii sau film ci red informaia pe msura ce aceasta
sosete. Necesitati ???
- transmisie ne-orientat pe flux de date : implic sosirea ntregii
melodii sau ntregului film la destinaie nainte de a reda informaia
respectiv.

31

n 1995 compania RealNetworks a creat un nou standard pentru redarea


audio bazat pe tehnica de transmisie orientat pe flux de date si a
lansat o aplicaie numit RealAudio. Iniial aplicaia a fost utilizat
pentru redarea unor melodii nregistrate iar pe 5 Septembrie 1995 s-a
realizat prima transmisie de tip broadcast live (a unui meci de fotbal
american).
De-a lungul timpului, RealNetworks i-a dezvoltat tehnologia pentru a
putea suporta fluxuri video dar i servicii pltite.
Prin oferirea la nceput a unor aplicaii gratuite i posibilitatea de a le
upgrada, formatul RealNetworks a ctigat rapid n popularitate. Mai
mult dect att, fiierele audio i video specifice RealNetworks au
nceput s poat fi deschise i cu aplicaii specifice Windows sau
MacIntosh.
32

n domeniul standardelor pentru transmiterea de video orientat pe flux de


date, RealNetworks i-a fcut intrarea n 1997 cu RealVideo. De obicei,
acesta apare mpreun cu RealAudio sub forma unui fiier .rm (container
RealMedia). Ca i platforme, RealVideo i RealAudio sunt suportate de
Windows, MacIntosh, Linux, Solaris i de cteva telefoane mobile
(Nokia)
Formatele RealNetworks sunt de tip proprietar, ceea ce nseamn c
utilizarea lor se face numai n baza unor licene. n general licenele
pentru utilizatori (beneficiarii transmisiilor) sunt gratuite ns licenele
pentru companiile care realizeaz transmisiuni sau fiiere n format
RealMedia pentru distribuie nu sunt tocmai ieftine.
Un alt aspect neplcut legat de produsele RealNetworks este acela c n
interiorul lor au fost gsite, n repetate randuri, produse spyware. Pentru
mai multe informaii, consultai www.grc.com
33

La nceput, RealVideo se baza pe recomandarea H.263. ncepnd cu


RealVideo 8, au fost promovate codecuri proprii ale Real Networks.
Codecurile respective au denumiri formate din 4 caractere de genul:
RV10, RV20, RV30, etc. Denumirile nu au nimic n comun cu versiunea
de Real Video, n fapt, Real Video 10 folosete codecul RV40.
Fluxurile RealVideo pot fi transmise printr-o reea folosind protocolul Real
Time Streaming Protocol (RTSP) sau redate dintr-un fiier RealMedia.
Protocolul RTSP nu a fost dezvoltat de RealNetworks n ciuda denumirii sale
i nici nu aparine companiei respective (elaborat de Internet
Engineering Task Force - IETF). RealNetworks folosete protocolul
respectiv doar n etapa de stabilire i configurare a conexiunii.
Transmiterea datelor se face cf. protocolului RDT (proprietar Real
Networks). Acest lucru a condus la incompatibilitatea dintre RealVideo i
alte aplicaii de server.
34

Att RealAudio ct i RealVideo folosesc implicit tehnica de transmisie cu vitez de


bit constant (CBR) pentru a facilita vehicularea de fluxuri n timp real. Exist i
preocupri de transmisie cu vitez de bit variabil (VBR). De vreme ce o
transmisiune live nu are un caracter predictibil, este imposibil de prezis limea
de band care ar putea face fa la orice vrf din timpul transmisiei. Din acest
motiv, tehnica de transmisie cu vitez de bit variabil poate avea pe lng
avantajele unei caliti superioare i dezavantajele unor neplceri de genul
ntreruperii de moment a sunetului sau fluxului video.
Pentru redarea fluxurilor RealMedia se pot utiliza aplicaii oferite de RealNetworks
pentru platformele menionate mai sus, dar exist i posibilitatea de a folosi
produse open-source de genul MPlayer sau Helix Player (oferit tot de
RealNetworks).
Fluxurile audio-video redate de RealPlayer nu pot fi nregistrate din motive de
protejare a drepturilor de autor. Exist totui aplicaii care pot salva pe disc un
flux audio-video, modalitate ce este considerat doar partial legal.
35

QuickTime

Reprezint un cadru dezvoltat de Apple Inc pentru a asigura suportul unei


game largi de aplicaii multimedia din care fac parte: filme digitale,
video-clipuri, sunet digital, text, animaie, muzic. Este oferit suport
pentru platforme Mac OS, Microsoft Windows i pentru o serie de
telefoane mobile.
Privit n ansamblu, QuickTime este compus din :
QuickTime Player : aplicaie dezvoltat de Apple pentru redarea
coninutului QuickTime. Apare n versiune gratuit pentru publicul
utilizator i n versiune comercial (pltita) sub denumirea
QuickTime PRO. Aceast variant ofer funcionalitti adiionale
fa de varianta gratuit, cum ar fi: posibilitatea de editare, tiere
adugare de coninut audio-video; salvare i convertire n diverse
formate; salvare coninut QuickTime de pe Web direct pe HDD, etc.
36

cadru QuickTime : ofer i un API destinat codrii i decodrii


audio i video. Disponibil publicului n mod gratuit, pe baza unei
nscrieri. Suport i interactiunea cu alte codecuri (de ex: DivX,
XviD) dect cele native. Dintre formatele native putem enumera:
 audio : Apple Lossless, Audio Interchange (AIFF), audio CD,
MIDI, MP3, MPEG-4 AAC, WAV, ULAW, ALAW, etc
 video : 3GPP, AVI, BMP, DV (att pentru PAL ct i pentru
NTSC), flash, GIF, GIF animat, JPEG, MPEG (1,2,4), MOV, etc
formatul de fiier QuickTime: are extensia .mov si este un
container pentru coninut multimedia de tip QuickTime

37

Formatul de fiier QuickTime

La data de 11 Februarie 1998, ISO a decis ca formatul de fiier QuickTime s devin


baza pentru partea 14 a MPEG-4. n anul 2000, MPEG-4/14 a devenit un standard
de industrie, primul suport software venind in anul 2002 din partea QuickTime 6.
Nu a reprezentat un suport total, QuickTime limitndu-se la codarea i decodarea
fluxurilor media folosind doar profilul Simplu.
Diferenele ntre fiierele .mov i .mp4 sunt destul de mici, ambele folosind aceleai
codecuri MPEG-4. Dei sunt compatibile, MP4 beneficiaz de un suport mai larg,
fiind un format standardizat mai raspandit.
Un fiier QuickTime (.mov) conine una sau mai multe piste, fiecare dintre acestea
coninnd un anumit tip de date: audio, video, text, etc. n afar de date utile, o
pist poate s mai conin referine ctre fluxuri media stocate n alte fiiere.
Pistele sunt organizate ierarhic ntr-o structur format din obiecte numite
atomi. Un astfel de atom poate conine o legtur ctre alt atom, date utile sau
informaii de editare, ns nu poate conine att legturi ct i date.
38

Atom = unitatea fundamentala in fisiere QT.


Fiecare atom contine dimensiunea si tipul sau, inainte de
datele utile.
Atom complet: contine campuri pentru dimensiune, tip,
versiune, indicatori.
Organizare ierarhic arborescenta.
Atom container: contine alti atomi.
De ex., in cazul filmelor, un atom de film contine mai multi
atomi piste care, in afara de atomi media, pot contine si
alti atomi (pt. precizarea unor caracteristici).
Un atom care nu contine alti atomi se numeste frunza. De
obicei contine date utile. Posibil sa contina si flaguri.
39

Recomandari pentru codare dinamica

Evolutia sistemelor de comunicatie si a retelelor, cresterea vitezelor de transmisie,


dezvoltarea echipamentelor hardware, toate au atras dupa sine aparitia unor
domenii si aplicatii noi.
In ceea ce priveste Aplicatiile Multimedia, putem nota: teleconferinta/
videoconferinta, VoIP, videochat si altele.
Aplicatiile mentionate mai sus prezinta o serie de particularitati fata de cele discutate
anterior in materie de codare si transmisie fluxuri video.
Dificultatea majora este reprezentata de faptul ca toate prelucrarile trebuie efectuate
in timp real.
40

H.261

Conceput in perioada 1998-1990 de catre CCITT (International Telegraph


and Telephone Consultative Committee = Comit Consultatif
International Tlphonique et Tlgraphique) devenit ulterior ITU-T
(International Telecommunication Union Telecommunication
Standardization Sector)
Obiective: video-telefonie si video-conferinta bazate pe circuitele sincrone
ale sistemului public de telefonie (PSTN = Public Switched Telephone
Network) => Viteza redusa !
Vitezele specifice sunt reprezentate de multipli de 64Kpbs (vezi DS0), cu
factor de multiplicare cuprins intre 1 si 30, de unde si porecla de p x 64.
Codare de tip CBR.

41

H.261 nu a fost conceput pentru a functiona in retele bazate pe transmisia


de date sub forma de pachete. Din acest motiv, nu functioneaza foarte
bine pe Internet.
Tehnicile de codare (inter-cadre, intra-cadru, compensarea miscarii, vectori
de miscare, etc.) cunoscute de la standardele MPEG se regasesc si la
H.261. Vectorii de miscare au o precizie de 1 pixel (pel)
MPEG se bazeaza pe H.261.
Sunt impuse 2 cerinte suplimentare:


Fiecare MB trebuie s fie intra- codat la fiecare 132 de cadre, pentru a


preveni aparitia erorilor de transmitere i predicie
Se stabileste o rat de decodare ipotetic (HDR Hipothethical Decoding
Rate) pentru fiecare tip aplicatie (de ex. la o transmisie QCIF -> max 64
kb/s)
42

Subesantionare 4:2:0.

Macroblocuri: 16x16

Y: 16x16
U: 8x8
V: 8x8
43

Imaginea de intrare este mprit n blocuri de imagine de 8 linii cu cte 8


pixeli pe linie. Macroblocul (MB) conine patru blocuri de luminan Y i
dou blocuri de crominan, Cr i Cb.
Exist dou formate de imagine prevazute de H.261: formatul intermediar
comun (Common Intermediate Format CIF = 352 288 ) i sfertul de
CIF (Quarter CIF QCIF = 176 144 )
H.261 nu impune solutii pentru o serie de aspecte legate de codare:




Comportamentul la pierderea sau deteriorarea unui cadru


Rata de esantionare pentru o anumita latime de banda a canalului
Numarul de cadre ignorate pentru a asigura HDR

=> Particularizari in functie de suportul tehnic dar si de cel care realizeaza


efectiv implementarea.
44

H.261 nu a fost conceput pentru:


 Inregistrare fluxuri video
 Redare fluxuri inregistrate
 Cautari/salturi in interiorul fluxului
 Pauze la redare
Tentativa de reparare a unui cadru deteriorat duce la aparitia de
intarzieri/decalari/pierderi care se propaga pe parcursul mai multor
secunde.
H.261 prezinta o robustete redusa la erori de bit aparute in timpul
transmisiilor. Deteriorarea partiala a unui cadru duce la decodarea
eronata a intregului cadru
45

H.263

H.263 este o evolutie a H.261 orientata puternic spre comunicatii la viteza


scazuta. Primele specificaii prevedeau posibilitatea folosirii unor
conexiuni cu viteze cuprinse ntre 8 i 64 Kb/s . n prezent aceast
limitare a fost nlturat i H.263 este aplicabil i la comunicaii cu viteze
mai mari de 64Kb/s .
Algoritmii de codare ai H.263 sunt similari cu cei folositi de H.261, la care au
fost aduse mbuntiri i modificri pentru a ridica performanele i a
mbunti corecia erorilor. Diferenele dintre algoritmii de codare ai
H.261 i H.263 sunt prezentate n cele ce urmeaz .
 Vectorii de miscare la H.263 au o precizie de jumatate de pixel, fata
de un pixel la H.261
 H.263 permite configurarea codecului, H.261 nu
 Predictie bidirectionala (similara cadrelor B de la MPEG)
 H.263 suport mai multe rezoluii.
46

Fluxurile (fisierele) obinute prin codare conform cu H.263 au o


dimensiune mai mic dect fiierele MPEG, astfel c necesita o
latime de banda mai redusa. Acest lucru este deosebit de
important n cazul transmiterii de imaginii ntr-o reea bazat fie
pe conexiuni radio, ISDN , cablu sau dial-up.
Din motive de compatibilitate, ITU-T a definit cateva combinaii
preferate de moduri de operare. Organizarea acestora este facuta
pe profile i niveluri. Aceste msuri au fost luate pentru ca
decodoarele concepute pentru seturi de aplicaii s aib seturi de
caracteristici comune, ceea ce conduce la interoperabilitate
maxim.
47

H.264

H.264 este un standard pentru compresie video dezvoltat printr-o colaborare dintre
ITU-T VCEG (Video Coding Experts Group) si MPEG. Echipa comuna de lucru s-a
numit JVT (Joint Video Team )
Este echivalent cu MPEG-4 AVC (Advanced Video Coding), MPEG-4 Partea 10.
Specificatiile tehnice sunt aproape identice.
Obiectivele H.264:

Calitate video buna la viteze mult mai mici decat cele specificate de alte
standarde

Complexitate redusa

Usurinta in implementare

Costuri reduse de implementare

Flexibilitate mare (rezolutii variate, latimi de banda variate,

Stocare pe suporturi variate

Functionare in diverse tipuri de retele si protocoale de transport
48

Utilizare:
 Transmisiuni video prin Internet cu viteza redusa
 Transmisiuni HDTV
 Cinema digital
 TV digitala prin satelit de inalta calitate la numai 1,5Mbps (fata de
3,5 Mbps in cazul MPEG-2)
 Blu-ray, HD-DVD
 Digital Video Broadcast (DVB)
 Inregistrari AVCHD (format dezvoltat de Sony si Panasonic)

49

Caracteristici H.264







Predictie inter-cadru avansata; posibilitate de predictie folosind pana la


16 cadre de referinta anterioare si tot atatea posterioare
Dimensiune variabila a blocurilor de compensare a miscarii (intre 4x4 si
16x16)
Posibilitatea de a utiliza mai multi vectori de miscare pentru un singur
bloc.
Precizie de 1/4 pixel pentru compensarea miscarii
Codare fara pierderi a macroblocurilor
Video intretesut
Mecanism imbunatatit de codare entropica
Suport pentru subesantionare monocroma, scheme 4:2:0, 4:2:2 si
4:4:4
Adancime de bit intre 8-14 biti/esantion
50

H.320

H.320 este standardul folosit cel mai frecvent n telecomunicaii video


pentru a asigura compatibilitatea terminalelor produse de diverse firme.
Este un standard f. cuprinzator ce cuprinde protocoale pentru semnale
audio, video, de control, etc.
Standardul H.320 a fost creat n special pentru transmiterea de semnale
audio-video i de control prin unul sau mai multe canale de 64 Kbps (de
obicei ISDN). Standardul permite dou rezoluii, ambele la viteza de 30
cadre/sec :
352 X 288 CIF ;

176 X 144 QCIF.

Unul sau dou canale de 64 Kbps se preteaz cel mai bine la QCIF. Avnd
n vedere c CIF necomprimat ar necesita un canal de cca 70 Mbps, de
aici se poate aprecia inca o data puterea si importanta compresiei de
date dar i faptul c n acest moment este absolut necesara.
51

H.323

Standardul H.323 a aprut ca o extensie a standrdului H.320 i ofer


fundamentele comunicaiei de date, semnale audio i video n reelele
bazate pe IP, inclusiv Internet.
H.323 folosete Protocolul de Timp Real (Real Time Protocol RTP/RTCP)
al IETF, mpreun cu codecuri standardizate internaional. ncepnd cu
versiunea 2, H.323 este folosit i pentru transmisii video i alte tipuri de
comunicaii pe Internet.
n plus fa de H.320, la H.323 gsim nc dou protocoale audio (G.723 i
G.729) - ambele utilizabile n conexiuni cu lime de band mic (ntre
6.3 i 8 Kbps) i protocoale suplimentare cum ar fi : H.235 definete
cadrul general de implementare a securitii (autentificare, criptare);
H.245 indic mesaje de manipulare a canalelor (deschidere/
nchidere) pentru fluxurile media i altele.
52

Aplicatii Multimedia
Curs 11

Cuprins curs

Metode de protejare/ascundere a informatiei:


1. Watermarking
2. Steganografie

Metode consacrate de asigurare a confidenialitii


i autenticitii

n ultimii ani exist un interes din ce n ce mai crescut n


ceea ce privete protejarea informaiei fie prin
personalizarea (marcarea vizibila) acesteia, fie prin
ascunderea n interiorul sau a unei informaii invizibile dar
care ofer posibilitatea identificrii rapide i incontestabile
a autorului/proprietarului.
Faptul c un numr nelimitat de copii perfecte pot fi ilegal
produse a condus la studiul unor ci de a introduce
informaie ascuns despre copyright i numere de serie n
produse audio i video.

Criptarea este procesul de codificare" a unui mesaj astfel nct s i se


ascund continutul sau sa fie imposibil de inteles de catre persoane
neautorizate. Acest proces necesit o cheie pentru procesul de codare i
o cheie (care poate fi aceeai in cazul criptarii cu chei simetrice) pentru
procesul de decodare. Folosind o astfel de tehnic, dou pri care
posed o pereche de chei pot comunica ntr-un mod sigur ntr-un mediu
nesigur. O a treia parte nu poate vedea coninutul mesajului dac nu
posed cheia de decriptare. Un atacator poate trunchia, modifica,
redistribui, absorbi, analiza mesajul, dar nu poate distruge criptarea.

Criptare cu chei simetrice

M1

M2

M1c

M2c

M1

M2

Criptare cu chei asimetrice

M1

M1c
Cheie
publica

M2

M1
Cheie
privata

M2c

M2

Alte modalitati clasice de asigurare a confidentialitatii si securitatii


- Parolare documente
- Utilizare amprente si certificate digitale

Watermarking

Internet + era digitala = dusmanii proprietatii si copyrightului


Propagarea informatiei analogice (copii xerox, banda, etc.) mult mai lunga
decit varianta Netului
Stocare analogica -> deteriorare prin copiere
Stocare digitala -> pierdere 0 la copieri succesive !
Chiar si continutul multimedia redat cu protectie la scriere pe suport extern
poate fi salvat prin devierea fluxului de biti.
=> Necesitate crescuta de protectie

A distinguishing mark or device impressed in the substance of a sheet


of paper during manufacture, usually barely noticeable except when
the sheet is held against strong light - Oxford English Dictionary

Denumirea de watermark provine de la cuvintele din limba englez


water - ap i mark marcaj i desemneaz un marcaj transparent,
vizibil sau invizibil, ceva foarte asemntor transparenei apei. Generic,
watermarking-ul reprezinta operaia de introducere a unei informaii
transparente (cu grad selectabil), ntr-o imagine, secven video,
secven audio i (orice) alt tip de fiier.
Cu alte cuvinte, watermarking = proces de aplicare/suprapunere a unui
semnal peste un alt semnal

De obicei, watermarkingul este folosit pentru protecia proprietii intelectuale. Nu


poate preveni furtul sau copierea insa ajut la identificarea autorului sau sursei,
fiind util n cazul disputelor privind dreptul de autor sau distribuitor al informaiei.
Marcajul utilizat pe post de watermark (fie ca este vorba de un text sau de o
imagine) conine, n general, informaii despre originea i/sau destinaia
informaiei gazd.
Teoretic, marcajul trebuie s protejeze informaia permanent, deci trebuie s nu
poat fi nlturat din informaia gazd, fr degradarea esenial a calitaii
acesteia. Acest marcaj este asemntor unei semnturi cu observaia c trebuie
s fie mai mult sau mai puin transparent.
Procedeul de marcare transparent pentru a putea realiza protejarea informaiei,
const din dou operaii:
- introducerea marcajului n datele gazd, nainte de transmisie sau stocare;
- extragerea marcajului din datele recepionate i compararea marcajului adugat la
emisie cu cel extras la recepie, pentru autentificare, n caz de disput.

Parametrii watermark-urilor sunt rata, necesitile hardware i


universalitatea.
Rata - se refer la cantitatea de informaie pe care un watermark poate s
o includ ntr-un semnal. Un termen echivalent este capacitatea
canalului.
Necesitile hardware - n unele aplicaii costul procesului de codare/
decodare este important. n unele cazuri aceasta trebuie fcut n timp
real.
Universalitatea - algoritmi care pot fi aplicai diverse tipuri de fisiere, de
exemplu text, audio, imagine i video, rezultnd n implementarea
acestor algoritmi in/cu ajuorul hardware-ul obinuit.

Caracteristici fundamentale ale unui watermark

1. Locaie adecvat: Introducerea trebuie s nu interfereze cu scopul n


care este folosit modelul, cum ar fi prezentarea unei imagini n scop
comercial sau de alt natur. n majoritatea aplicaiilor, marcajele
trebuie s fie neobservabile in cadrul modelului folosit sau s distrag
ct mai puin atenia privitorului de la imaginea original.

2. Eficiena spaiului ocupat: Aplicarea unui watermark ar trebui s


introduc o cantitate nesemnificativ de informatie netrivial sau
parazit.

3. Transparen: Un marcaj ar trebui s fie aplicat peste fundal cu un grad de


transparen care s mpiedice ntr-o msur ct mai mic observarea
fundalului.

4. Claritate, neambiguitate: Atit aplicarea cit si recuperarea marcajului


ar trebui fie operaiuni f. facile i s ajute la identificarea fr
incertitudini a proprietarului.

5. Robustee: Marcajul trebuie s fie dificil de nlturat de catre persoane


neautorizate (teoretic trebuie sa fie imposibil de nlturat). Dac se
dispune doar de o informaie parial despre marcaj (de exemplu, nu
se cunoate cu exactitate localizarea marcajului n imagine sau
informaii despre modul n care acesta a fost aplicat), atunci ncercrile
de nlturare sau de distrugere a marcajului ar trebui s conduc la
degradarea sever sau chiar total a imaginii. Realizarea unui marcaj
indestructibil nu este o problem trivial.

Tipuri de transformri la care un watermark ar trebui s fie robust :


a) Procesri obinuite ale semnalului Marcajul ar trebui s poat fi nc
vizibil, chiar dac imaginii i se aplic procesri obinuite. Acestea pot fi
conversii de tip numeric/analogic, analogic/numeric, reeantionare,
compresie cu pierderi, precum i transformri aplicate unei imagini cum
ar fi mbuntirea contrastului, corecia culorilor, etc. Cu alte cuvinte,
watermarkul nu ar trebui s fie afectat n nici un fel de transformrile/
procesrile menionate mai sus.
b. Transformri geometrice Un watermark veritabil (att n cazul
imaginilor statice ct i n cazul secvenelor video) ar trebui s fie
rezistent la operaii geometrice cum ar fi rotire, translaie, decupare,
scalare, deformare, etc.
c. Atacuri concentrate - n situaia n care o serie de entiti dispun de o
imagine watermarkat diferit, ar trebui ca imaginea original s nu
poat fi reprodus (obinut) prin combinarea copiilor marcate.

6. Universalitate : Algoritmul de marcare ar trebui s fie aplicabil pentru


o varietate cit mai mare de tipuri de date. Acest lucru servete n
marcarea produselor multimedia dar nu numai (vezi RDS la posturile
radio).
7. Complexitate Watermark-urile ar trebui s fie foarte complexe.
Acest lucru este necesar pentru a se putea produce un set suficient de
marcaje aplicabile peste produsul care se dorete a fi protejat. Cu ct
setul de marcaje este mai mare cu att ridic dificultti mai mari
compromiterea infromaiei care se dorete a fi protejat. n majoritatea
cazurilor, complexitatea unei marcaj este direct legat de mrimea
produsului n care trebuie s fie nglobat. Cu alte cuvinte, trebuie s
existe un echilibru ntre dimensiunea obictului care va fi protejat i
dimensiunea marcajului; n mod normal, marcajul va fi cu mult mai mic
dect obiectul protejat.

8. Cheia asociat Marcajele ar trebui s fie asociate cu o cheie a


marcajului. Cheia este folosit pentru a forma, detecta dar i nltura
marcajul. Prin urmare, cheia ar trebui s fie privat i s caracterizeze
exclusiv proprietarul legal sau o persoana autorizata de acesta. Orice
semnal digital, extras dintr-un produs digital se presupune c este
marcajul dac i numai dac el este asociat cu o cheie printr-un algoritm
bine stabilit. Aceast condiie previne crearea unor marcaje
contrafcute.
9. Reversibilitate: Capacitatea proprietarului sau a unei persoane
autorizate de acesta de a nltura marcajul.

10. Posibilitatea de a introduce marcaje multiple n mod normal,


numrul de marcaje aplicate obiectului ce se dorete a fi protejat nu
ar trebui s fie limitat dect de posiblitatea de absorbie a acestora
fr provocarea unor daune serioase. n plus, fiecare marcaj ar trebui
s fie detectabil folosind cheia unic corespunztoare. Aceast
caracteristic pare s fie necesar deoarece nu putem preveni ca
cineva s marcheze un produs deja marcat. Este de asemenea
avantajos n cazurile n care dreptul de autor este transferat de la un
proprietar la altul (un proces asemntor celui de amprentare).
Important este faptul c proprietarul legal al imaginii este singurul
care poate dispune de o copie a imaginii care conine doar marcajul
su.

Un watermark poate fi de dou tipuri:



vizibil : Watermarkul vizibil modific ntr-o msur mai mare sau
mai mic semnalul, spre exemplu prin adugarea unei imagini ca
marcaj peste o alt imagine.

invizibil: Watermarkul invizibil modific intr-o foarte mic msur
percepia semnalului de catre observatorul uman (de obicei,
deloc). O tehnica de introducere a watermarkului invizibil poate
consta, de exemplu, in modificarea biilor cei mai puin
semnificativi ai unei imagini, a bitilor de redundanta sau a bitilor
care nu au nici o semnificatie. Acest tip de watermarking se
aseamana ca principiu de aplicare cu steganografia.

Daca utilitatea watermarkurilor vizibile este evidenta, watermarkurile


invizibile pot fi utilizate in mai multe moduri:


La primirea unui obiect marcat, se verifica integritatea watermarkului


invizibil. Daca acesta este intact, se poate considera ca obiectul primit nu a
suferit nici un fel de modificari sau prelucrari. Daca watermarkul este distrus
sau deteriorat, atunci se poate considera ca obiectul a fost supus unor
tentative de fraudare si nu mai prezinta incredere. O astfel de solutie este
utilizata in scopul identificarii tentativelor de frauda (sau chiar a fraudelor)
dar nu si pentru informatii de copyright. Un astfel de watermak este
cunoscut sub numele de fragil .
La primirea unui obiect marcat cu watermark vizibil si cu watermark invizibil,
se poate verifica informatia de proprietate prin corelarea celor doua
watermarkuri

Aplicaii uzuale ale watermarkingului

1. Identificarea proprietarului i dovada proprietii Acest lucru se


poate face printr-o inscripionare vizibil a autorului. Inscripionarea
poate s fie un mesaj de copyright sau o imagine.
2. Prevenirea pirateriei i copierii Prin includerea unui mesaj de
avertizare
3. Includerea de informaii utile n produse multimedia De
exemplu, adugarea datei i orei la o fotografie (digital sau chiar
clasic).
4. Protectia comerciantilor online: Cumparatorul poate fi avertizat/
informat in legatura cu furnizorul (eventual exclusiv) unor produse.

5. nregistrarea operaiilor efectuate Marcajul nregistreaz una sau


mai multe operaii care au fost fcute asupra copiei unui produs
multimedia. De exemplu, marcajul poate memora o identitate a
cumprtorului (se presupune c fiecare cumprtor are o copie diferit
a originalului, marcajele nefiind aceleai). n acest fel se pot identifica
piraii sau chiar scurgerile de informaii. Industria de film american
pierde anual 3 miliarde de dolari din cauza copiilor ilegale. Una dintre
cauze este distribuirea pentru cei 5803 de membri cu drept de vot a
filmelor nominalizate la Oscar. Prin introducerea unui marcaj individual
pentru fiecare membru, s-au descoperit cei care furnizau copiile ilegale
6. Includerea de informatii utile in semnale diverse De exemplu,
transmiterea unui ID n timpul emisiei radio i, dac receptorul are un
decodor special, acesta poate afia numele postului de radio (RDS). De
asemenea, se poate utiliza si pentru transmiterea de informatii cu
caracter special: drumuri blocate, calamitati, accidente, etc.

7. Monitorizarea transmisiilor radio si TV Monitorizarea unor


transmisiuni n special cu int comercial de genul reclamelor i
spoturilor publicitare. n locul utilizrii subiecilor umani de ctre o
agenie de publicitate pentru a verifica dac anumite posturi TV au
transmis spoturile pltite, se poate utilize un sistem computerizat de
detecie. Astfel de sisteme se bazeaz pe o baz de date multimedia
gigantic n care sunt stocate clipurile/reclamele nemarcate. Prin
compararea cu clipurile difuzate se poate extrage marcajul reprezentat
de ID-ul postului de TV i astfel se poate realiza o monitorizare
eficient.
8. Acceptarea unor probe in instanta Este o aplicatie pentru
watermarkuri fragile, se doreste certificarea integritatii probelor si nu o
verificare a propiretarului.

STEGANOGRAFIE

Steganografie provine din grecescul stegano (ascuns). Steganografia


este o art veche a introducerii unor mesaje private n mesaje care
par inofensive astfel nct s se previn detectarea mesajelor secrete
de ctre o a treia parte.
Cu alte cuvinte, steganografia nseamn stabilirea de canale acoperite de
comunicaie ntre dou sau mai multe pri. Un canal acoperit este un
canal secret de comunicaie folosit pentru a transmite informaie.
Sunt dou scopuri majore pentre realizarea steganografiei: protecie
mpotriva deteciei i protecie mpotriva tergerii. Protecia mpotriva
deteciei este realizat folosind algoritmi care nu modific ntr-un mod
vizibil obiectul original nemarcat. Protecia mpotriva tergerii
presupune c algoritmul este robust la atacurile uzuale: este imposibil
s se tearg datele ascunse fr a degrada calitatea obiectului i a-l
face neutilizabil.

n linii foarte mari, steganografia poate fi considerat un watermarking


invizibil. Diferenta intre ele consta in scopurile acestora: watermarkul
vizeaza comunicarea unor date informative (copyright, autor, etc) pe
cind prin steganografie se vizeaza tranferul de date utile in sine. Cu alte
cuvinte, watermarkul -> date despre continut, steganografia ->
continut efectiv.
Dac ntr-o aplicaie vrem s obinem confidenialitate, atunci avem dou
alternative: criptarea sau tehnicile steganografice pentru protecie
mpotriva deteciei. Dac folosim criptarea, doar posesorul unei chei
private (adic destinatarul) poate citi mesajul secret, dar oricine poate
vedea c cele dou pri comunic n secret. Dac folosim
steganografia, nsi existena mesajului secret este ascuns, nu mai
este necesara criptarea. Recuperarea informaiilor ascunse poate fi
fcut doar dac se cunoate modul exact n care aceastea au fost
introduse n fiierul purttor.

Restriciile unor guverne n ceea ce privete utilizarea serviciilor de criptare au


motivat oamenii s studieze i s gseasc metode de a comunica n mod secret.
Acestea, printre care se numara si steganografia, reprezint tehnici noi pe care
oamenii de tiin le dezvolt acum i care sunt n permanent mbuntire.
Steganografia ca unealt de securizare a informaiilor a fost utilizat cu mult timp
nainte de apariia propriu-zis a denumirii i a tehnologiilor digitale. Se pare c
utilizarea unor metode primitive de ascundere a informaiilor dateaz din anii 440
.e.n, fiind menionate n scrierile printelui istoriei Herodot. La vremea respectiv erau utilizate tblie de cear. O alt metod, ceva mai brutal, consta n
tunderea la 0 a sclavilor, tatuarea mesajului secret i trimiterea sclavului la
destinaie dup ce acestuia i cretea prul. n aceast situaie, existau 2 dezavantaje majore: ntrzierea foarte mare (necesar creterii prului) i faptul c
suportul era cam de unic folosin n cazul n care mesajul era lung.

n timpul celui de-al II-lea Rzboi Mondial, au fost folosite cu destul de mare
succes variante de steganografie bazate exclusiv pe ascunderea
mesajelor secrete n texte necriptate, aparent inofensive. Tehnica este
cunoscut sub denumirea de cifru nul i consta n extragerea
caracterelor din text ntr-un anumit mod.
Spre exemplu, dac din textul :
Fishing freshwater bends and saltwater
coasts rewards anyone feeling stressed.
Resourceful anglers usually find masterful
leapers fun and admit swordfish rank
overwhelming anyday.
se extrage fiecare a 3-a liter a fiecrui cuvnt, se va obtine textul :
Send Lawyers, Guns, and Money.

Cerneal invizibil (simpatic), zeama de lamiie.

Avantajele steganografiei fa de criptare provin in primul rnd din faptul c


obiectul suport al mesajului nu trezete suspiciuni, forma sa nu iese din
normal aa cum se ntmpl n cazul criptrii. Pentru obinerea unei
securiti maxime, cea mai bun metod de securizare a informaiilor ar
consta n combinarea celor dou. Astfel, mesajul secret ar trebui nti criptat
i apoi ascuns ntr-un suport.

Exist cteva tehnici steganografice consacrate, cele mai multe dintre ele
exploatnd redundana prezent n anumite tipuri de fiiere, posibilitile oferite
de analiza statistic, diverse transformri (TCD, Tranformata Wavelet, etc). tim,
de pild, c n cadrul unei reele de calculatoare pachetele sunt transmise
folosind nite reguli. Un pachet din reea are de obicei headere, date utilizator i
cozi la sfrit. Trimitorul adaug ambele tipuri de date la datele utilizator i
destinatarul le scoate, scopul acestora este doar de a ruta corect pachetul n
cadrul reelei i/sau de a realiza detecia i corecia erorilor. Singura informaie
care este trimis nivelului aplicaie o reprezint datele utilizator. Canalele
acoperite pot fi stabilite folosind datele de control, proprietile de timing ale
transmisiei sau datele utilizator. n primele dou cazuri este foarte dificil sau
aproape imposibil s se dovedeasc mai trziu existena canalelor acoperite,
deoarece informaia este scoas la destinatar. Dar dac informaia este ascuns
n datele utilizator, acestea rmn pe disc pn cnd utilizatorul le terge.

Ascunderea biilor secrei n "datele volatile" (header-e, cozi de pachete) se


face folosind aa-numita "funcionare nesigur", care apare n mod aleator
n cadrul sistemelor de calcul. Oricine i poate imagina un algoritm care
"umple" spaiile goale din cadrul acestor date volatile sau divide pachetele
folosind anumite convenii (spre exemplu lungime par a unui pachet
nseamn un "1", pe cnd un pachet recepionat de lungime impar
nseamn "0").
La introducerea biilor se folosesc fenomenele de mascare n frecven (dac
dou semnale apropiate n frecven sunt active n acelai timp, cel mai
puternic l va masca pe cel mai slab) i mascare temporal (dac un
semnal slab este activ imediat dup un semnal puternic, el nu va fi auzit).
Tipurile obiectelor asupra crora pot fi aplicate astfel de tehnici sunt dintre
cele mai diverse: imagini-document, fiiere audio, imagini, dar i fiiere
binare.

n general, procesul de ascundere a informaiei presupune urmtorii doi


pai:
Identificarea biior redundani dintr-un fiier, respectiv acei bii care pot fi
modificai fr a se degrada calitatea mediului. n situaia n care n fiierul
analizat nu pot fi modificai bii (nu exist bii redundani), se vor aduga
informaii n acele seciuni ale fiierului care nu vor fi degradate prin
adugarea de informaie. Astfel, pentru acest scop poate fi utilizat headerul
fiierului sau seciunea de date.
nlocuirea biilor redundani cu mesajul secret sau, pur i simplu, adugarea
acestuia la fiierul existent.

Cele mai frecvente cazuri de utilizare a steganografiei le putem gsi pe


Internet, situaie uor de explicat datorit popularitii i accesibilitii
acestuia, vitezei cu care se poate realiza comunicarea ntre persoane
aflate la distane considerabile, eterogenitii informaiei ce poate fi
vehiculat, etc.

Numeroase analize efectuate au condus la concluzia c fiierele preferate pentru


transportul informaiei confideniale sunt cele grafice. Prin specificul su,
formatul JPEG este cel mai popular format pentru Internet, motiv pentru care
cel mai probabil, cele mai multe fiiere cu coninut stenografic vor fi de tip JPEG.
Reamintim faptul c una din etapele compresiei unei imaginii n format JPEG o
reprezint mprirea n blocuri de 8x8 pixeli urmat de aplicarea Transformatei
Cosinus Discrete asupra celor 64 de componente ale blocurilor. Aceast operaie
are ca efect obinerea unei matrice de 8x8 ce va conine coeficieni ai TCD.
Cuantificarea acestor coeficieni va avea ca rezultat obinere unei matrice de 8x8
componente, dintre care multe vor fi egale cu 0. Aceste componente sunt fr
coninut util, redundante i pot fi utilizate cu succes pentru a incorpora
informaii ce nu au nici o legtur cu imaginea iniial.
Aplicaii de steganografiere: Jsteg, Jsteg-Shell, JPHide, OutGuess

Exist preocupri i pentru a detecta prezena setganografiei. Tehnica utilizat


poart numele de steganaliz. Cea mai simpl form de depistare a
existenei unor mesaje ascunse n diverse fiiere const n compararea direct
a acestora cu fiierele originale (sau de referin). Totui, faptul c un fiier
este modificat (de interes aici este modificarea prin adugare de informaie)
nu este suficient pentru a identifica mesajul ascuns. Acest lucru este cvasiimposibil, datorit posibilitilor de adugare, eterogenitatea datelor i a
tipurilor de date ce pot fi introduse, criptarea lor, etc.
Exist n acest moment cteva metode de a depista fiiere cu coninut ascuns.
Pornind de la cele spuse anterior legat de nlocuirea biilor redundani cu bii
de informaie secret, oricine i poate imagina faptul c un fiier cu coninut
secret va avea o redundan sczut i, mai mult dect att, va prezenta o
entropie a datelor mai mare dect aceea a fiierelor curate. Multe din testele
actuale sunt total independente de formatul datelor i analizeaz doar
entropia datelor redundante. Cu toate ca algoritmii folosii sunt destul de
puternici, aplicaiile de detecie a steganografiei nu sunt capabile s decid n
mod automat dac o imagine (fiier) conine informaii ascunse sau nu.
Aplicaii de detecie a steganografiei: StegDetect, Stegbreak.

Metoda LSB

LSB = Least Significant Bit


Consta in modificare bitului cel mai putin semnificativ al unui
obiect.
Cele mai bune purtatoare sint fisierele multimedia imagine,
sunet sau video.
Pot fi folosite si alte tipuri de fisiere insa rezultatele nu vor fi la fel
de spectaculoase. In plus, steganaliza se poate face mult mai usor.

Avantaje:
1. Dimensiunea fisierului purtator nu se modifica daca mesajul
ascuns nu este mare.
2. Detectia este foarte dificila, cvasi-imposibila.
Dezavantaje :
1. Modificarea purtatoarei (schimbare format, redimensionare,
compresie, modificare trasaturi) poate deteriora total si ireversibil
mesajul secret.
2. Analiza statistica poate fi folosita pentru a depista existenta unui
continut anormal.

Ochiul uman nu poate percepe diferenta dintre doua nuante f.


apropiate ale aceleasi culori.
Modelul RGB este capabil sa genereze (nuante de) culori
foarte apropiate prin modificarea unui singur bit (ultimului) ale
unei componente de baza (sau chiar a tuturor componentelor)
Original color:
248 + 201 +
3
= Orange 1
11111000 11001001 00000011
Final color after altering all 3 (!!!) LSB (+1)
249 + 202 + 4
= Orange 2
11111001 11001010 00000100

Diferente ??

Pic.2

Pic.1

Pic.4

Pic.3

Pic.6

Pic.5

Pic.8

Pic.7

Pic.9

S-ar putea să vă placă și