Metody kompresji - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

Metody kompresji

Description:

Title: Prezentacja programu PowerPoint Author: Aicha Last modified by: Piotr Odya Created Date: 4/28/2000 6:22:04 AM Document presentation format – PowerPoint PPT presentation

Number of Views:68
Avg rating:3.0/5.0
Slides: 49
Provided by: Aicha
Category:

less

Transcript and Presenter's Notes

Title: Metody kompresji


1
Metody kompresji
2
Plan prezentacji
  • Metody kompresji
  • dzwieku
  • elementy psychoakustyki
  • wspólczesne standardy stratnej kompresji
  • obrazu
  • metody bezstratnej kompresji
  • metody stratnej kompresji
  • metody kompresji obrazu ruchomego

3
Metody kompresji dzwieku
4
Metody kompresji dzwieku
  • Ze wzgledu na duza entropie informacji w sygnale
    fonicznym, wspólczynnik kompresji dla dzwieku
    jest stosunkowo niewielki przy zastosowaniu
    bezstratnych algorytmów kompresji.
  • Dlatego tez opracowano stratne metody kodowania,
    których dzialanie opiera sie na wykorzystaniu
    wlasnosci psychofizycznych sluchu, dzieki czemu
    mozliwe jest kilkukrotne zwiekszenie
    wspólczynnika kompresji przy jednoczesnym
    zachowaniu wysokiej jakosci sygnalu fonicznego.

5
Elementy psychoakustyki
  • System sluchowy czlowieka przetwarza dzwiek w
    pewnych podpasmach, zwanych pasmami krytycznymi.
  • W kazdym z nich sygnal jest analizowany w sposób
    niezalezny od dzwieku w pozostalych pasmach
    krytycznych.
  • Kazdemu pasmu krytycznemu odpowiada pewien
    odcinek na blonie podstawnej slimaka równy 1,3
    mm.
  • Szerokosc tych pasm nie jest wielkoscia stala.
    Mianowicie ponizej 500 Hz jest ona stala i wynosi
    100 Hz, zas powyzej 500 Hz szerokosc kazdego
    nastepnego pasma jest o 20 wieksza niz dla
    poprzedniego pasma.
  • Perceptualna jednostka szerokosci pasma jest 1
    Bark.

6
Elementy psychoakustyki
  • Maskowanie - zagluszanie skladowych sygnalu
    fonicznego przez inne.
  • maskowanie jednoczesne (w dziedzinie
    czestotliwosci)
  • maskowanie niejednoczesne (w dziedzinie czasu).

7
Elementy psychoakustyki
  • Maskowanie jednoczesne charakteryzuje sie tym, ze
    pewne tony staja sie nieslyszalne w obecnosci
    innych, tzw. maskerów.

8
Elementy psychoakustyki
  • Maskowanie niejednoczesne moze wystepowac jako
    premaskowanie lub postmaskowanie.

9
Wspólczesne standardy stratnej kompresji dzwieku
10
SONY ATRAC
  • System kodowania sygnalów fonicznych ATRAC (ang.
    Adaptive Transform Acoustic Coding) jest
    przeznaczony dla przenosnych rejestratorów
    dzwieku wysokiej jakosci. Przeplywnosc binarna
    kodeka ATRAC wynosi okolo 140 kbit/s, przy czym
    ATRAC wykorzystuje
  • maskowanie jednoczesne w dziedzinie
    czestotliwosci,
  • maskowanie w dziedzinie czasu,
  • bank 3 zwierciadlanych filtrów kwadraturowych QMF
    (ang. Quadrature Mirror Filters), dzielacych
    zakres na podpasma 0-5.5 kHz, 5.5-11 kHz i
    11-22 kHz,
  • zmodyfikowana dyskretna transformacje kosinusowa
    MDCT (ang. Modified Discrete Cosine Transform),
  • zmienna rozdzielczosc czestotliwosciowa dla
    róznych pasm czestotliwosci,
  • zmienna rozdzielczosc czasowa w zaleznosci od
    parametrów statystycznych sygnalu.

11
Dolby AC-3
  • Standard ten opracowano w celu zastosowania w
    systemie wielokanalowego naglosnienia kina
    cyfrowego, nastepnie wybrano go dla potrzeb
    kodowania dzwieku w HDTV.
  • Wykorzystuje
  • maskowanie jednoczesne w dziedzinie
    czestotliwosci
  • bank filtrów oparty na transformacie TDAC (Time
    Domain Aliasing Cancelation)
  • zmienna rozdzielczosc czasowo-czestotliwosciowa.
  • Koder wykorzystuje dodatkowe 16-bitowe slowo
    synchronizacji oraz 2 slowa 16-bitowe w celu
    kontroli bledu (CRC).
  • Przeplywnosc binarna kodeka AC-3 jest zawarta
    miedzy 32 a 640 kb/s w sumie wszystkie kanaly.
  • Typowe calkowite opóznienie czasowe kodowania
    ok.100ms.

12
PASC
  • Standard PASC (ang. Precission Adaptive Subband
    Coding) zostal opracowany przez firme Philips
    wraz z japonska firme Matsushita i zastosowany w
    magnetofonie cyfrowym DCC (ang. Digital Compact
    Casette).
  • Jego interfejs foniczny sklada sie z
    przetworników A/C oraz C/A, przy czym dla wejscia
    analogowego mozliwa jest jedna czestotliwosc
    próbkowania (44.1 kHz), natomiast dla wejsc
    cyfrowych mozliwe sa trzy wartosci czestotliwosci
    próbkowania 32 kHz, 44.1 kHz oraz 48 kHz.
  • Analiza sygnalu szerokopasmowego odbywa sie przy
    pomocy 32 filtrów NOI, pasmowo-przepustowych o
    stalej szerokosci pasma (750 Hz).
  • Przeplywnosc binarna kodeka PASC wynosi 384
    kbit/s dla sygnalu stereo przy kompaktowej
    jakosci dzwieku.

13
MUSICAM
  • MUSICAM (ang. Masking-pattern Universal Subband
    Integrated Coding And Multiplexing) zostal
    opracowany dla potrzeb cyfrowej transmisji
    radiowej DAB (ang. Digital Audio Broadcasting).
  • Cyfrowy sygnal foniczny w standardzie EBU/AES
    (768 kbit/s) jest dzielony na 32 podpasma o
    szerokosci 750 Hz przy pomocy wielofazowego banku
    filtrów.
  • Zastosowano uklad realizujacy FFT, który oblicza
    co 24 ms 1024 skladowych widma.
  • Kodek MUSICAM wykorzystuje maskowanie jednoczesne
    w dziedzinie czestotliwosci i jest kompatybilny z
    formatami ISO/MPEG (Layer I).
  • Przeplywnosc binarna kodeka MUSICAM wynosi 384
    kbit/s dla sygnalów stereo przy kompaktowej
    jakosci dzwieku.

14
MPEG-1
  • MPEG to skrót od Moving Pictures Experts Group
  • umozliwia kodowanie sygnalów PCM dla
    czestotliwosci próbkowania 32, 44.1, 48kHz
  • maskowanie jednoczesne w dziedzinie
    czestotliwosci
  • maskowanie w dziedzinie czasu
  • zastosowanie banku 32 filtrów wielofazowych
    wytwarzajacych podpasma o stalej szerokosci 750Hz

15
MPEG-1
  • MPEG umozliwia prace z zadanym trybem
    przeplywnosci
  • FBR - praca ze stala przeplywnoscia bitowa
  • VBR - praca ze zmienna przeplywnoscia bitowa
  • Wprowadzono mechanizm zabezpieczenia przed
    bledami transmisji
  • Przeplywnosc binarna wynosi od 64 do 384kb/s -
    kanal stereo

16
MPEG-1
  • Schemat kodera MPEG

17
MPEG-1
  • Schemat dekodera MPEG

18
MPEG-1
  • Mozliwa jest praca w 3 warstwach 1, 2 i 3.
  • Warstwa 1
  • Uproszczona wersja schematu MUSICAM.
  • Przeznaczona glównie do zastosowan takich, jak
    cyfrowe nagrywanie w warunkach domowych na
    kasetach, twardych dyskach i dyskach
    magnetooptycznych.
  • Warstwa ta uzywa ramki o czasie trwania 8ms przy
    czestotliwosci próbkowania 48kHz.

19
MPEG-1
  • Warstwa 2
  • Wprowadza dalsze udoskonalenia w stosunku do
    warstwy 1.
  • Podstawowa dlugosc ramki to 24ms przy 48kHz.
  • Jest prawie identyczna ze schematem MUSICAM.
  • Ma zastosowanie glównie w profesjonalnej technice
    dzwiekowej, czyli wykorzystywana jest w
    rozglosniach radiowych i telewizyjnych, studiach
    nagran oraz w systemach multimedialnych.

20
MPEG-1
  • Warstwa 3
  • kombinacja efektywnych modulów z kodera ASPEC i
    MUSICAM.
  • Hybrydowy bank filtrów wprowadza dodatkowa
    rozdzielczosc czestotliwosciowa.
  • Dlugosc ramki jest identyczna z warstwa 2.
  • Uzywana jest tutaj niejednolita kwantyzacja,
    adaptacyjna segmentacja i kodowanie entropijne
    skwantowanych wartosci w celu zwiekszenia
    wydajnosci kodowania.
  • Metoda ta jest najbardziej uzyteczna w
    telekomunikacji, szczególnie w waskopasmowym
    ISDN, laczach satelitarnych i wszystkich
    przypadkach, gdzie wymagana jest wysoka jakosc
    przy niskich przeplywnosciach.

21
MPEG-2
  • MPEG-2 BC - kompatybilny wstecz
  • Obejmuje kompresje sygnalu fonicznego dla
    czestotliwosci próbkowania 16, 22.05, 24kHz -
    telekonferencje
  • Kompresja wielokanalowego sygnalu fonicznego typu
    3/21 lub 5/21
  • Oferuje obsluge wielokanalowych sciezek
    dzwiekowych w wersjach wielojezycznych.

22
MPEG-2
  • Kanal L (lewy) i R (prawy) sa zastapione przez
    zmatrycowane sygnaly Lc i Rc
  • Lc L a C b Ls
    Rc R a C b Rs
  • i kodowane kodem MPEG-1.
  • Dodatkowe kanaly C(centralny), Ls (lewy surround)
    i Rs (prawy surround) sa przesylane w pomocniczym
    polu MPEG-1

23
Metody kompresji obrazu
24
Metody kompresji bezstratnej
  • Niewielki stopien kompresji (okolo 50).
  • Prostota metody.
  • Stosowane czesto tam, gdzie wprowadzanie
    jakichkolwiek zaklócen jest niedopuszczalne (np.
    obrazy uzyskiwane dla potrzeb medycznych).
  • Mozna je w ogólnosci podzielic na cztery grupy
  • kody o zmiennej dlugosci slowa,
  • metody arytmetyczne,
  • metody slownikowe oraz
  • metody wykorzystujace specyfike danych
    graficznych.

25
Kody o zmiennej dlugosci slowa
  • Kod Huffmana
  • Kazdemu poziomowi jasnosci przypisuje sie
    czestosc wystepowania piksli o tej jasnosci.
  • Nastepnie wyszukuje sie dwa poziomy o
    najmniejszej czestosci wystepowania i laczy je w
    jeden, o czestosci wystepowania równej sumie
    czestosci obu polaczonych poziomów.
  • W wyniku polaczenia liczba rozpatrywanych
    poziomów maleje o jeden.
  • Czynnosc wyszukiwania i laczen powtarza sie tak
    dlugo, az polaczeniu ulegna wszystkie poziomy.
  • Kolejnosc laczenia wyznacza drzewo.
  • Jezeli dla kazdego rozgalezienia jedna z galezi
    oznaczy sie 0, a druga 1, to poruszajac sie w
    kierunku od korzenia do dowolnego wezla
    terminalnego napotkane symbole wyznacza kod
    Huffmana, odpowiadajacy temu wezlowi.

26
Kody o zmiennej dlugosci slowa
  • Kod Huffmana
  • Kody róznych symboli charakteryzuja sie tym, ze
    zaden z symboli nie jest poczatkiem innego
    (dluzszego) symbolu.

27
Metody arytmetyczne
  • Srednia wartosc wspólczynnika bit/symbol jest
    zblizona do wartosci entropii.
  • Symbole ulozone sa w kolejnosci rosnacych lub
    malejacych prawdopodobienstw wystapienia wzdluz
    odcinka od 0 do 1.

28
Metody arytmetyczne
  • Symbole sa nastepnie kodowane poprzez przypisanie
    binarnej liczby zmiennoprzecinkowej
    przedstawiajacej poczatek odpowiedniego fragmentu
    odcinka.
  • Liczba bitów znaczacych po przecinku odpowiada
    dlugosci odcinka (i równa jest log2(dlugosc
    odcinka)).
  • Slowa kodowe dla róznych symboli maja nastepujace
    wartosci

29
Metody slownikowe
  • Idea tego rozwiazania polega na kodowaniu ciagów
    symboli (piksli) za pomoca odwolan do slownika
    zawierajacego takie ciagi.
  • Im dluzszy ciag piksli uda sie zastapic indeksem
    do slownika, tym wiekszy bedzie stopien
    kompresji.
  • Najpopularniejszym algorytmem tego typu jest,
    zaproponowany w 1984 roku, algorytm LZW.
  • Z algorytmu tego korzystaja dwa popularne formaty
    graficzne GIF oraz TIFF.

30
Metody wykorzystujace specyfikacje danych
graficznych
  • Metody te wykorzystuja fakt, ze sasiadujace ze
    soba piksle maja czesto takie same lub podobne
    kolory.
  • Najpopularniejsza metoda w tej grupie jest RLE
    (ang. Run Length Encoding).
  • W metodzie RLE obraz przegladany jest liniami
    (np. poziomymi). Poniewaz w wiekszosci linii
    powtarzaja sie podobne elementy, koduje sie
    nastepujace pary liczba piksli i kolor.
  • Metode RLE wykorzystuja takie formaty graficzne,
    jak PCX oraz TIFF.

31
Metody wykorzystujace specyfikacje danych
graficznych
  • Do tej grupy metod zaliczyc mozna metody
    kodowania plam.
  • W metodach tych obraz rozbijany jest na
    jednokolorowe plamy i kodowane sa pary ksztalt i
    kolor.
  • W zaleznosci od sposobu opisywania ksztaltu plamy
    mozna wyróznic kilka metod kodowania plam
  • metoda konturowa,
  • metoda prostokatów,
  • metoda drzewa czwórkowego.

32
Metody kompresji stratnej
  • Duzy stopien kompresji osiagany jest kosztem
    utraty szczególów.
  • Metody stratnej kompresji obrazu mozna w
    ogólnosci podzielic na trzy grupy
  • metody bezposrednie (w dziedzinie obrazu),
  • metody fraktalne,
  • metody transformat.

33
Metody bezposrednie
  • Metoda predykcyjna
  • Wykorzystuje ona fakt, iz kolory sasiednich
    piksli sa zblizone.
  • Mozna przewidziec kolor piksla.
  • Znajomosc bledu estymacji, tzn. róznicy e koloru
    rzeczywistego c i przewidywanego c, wystarcza do
    wiernego odtworzenia obrazu.
  • Aby uzyskac lepszy stopien kompresji, mozna przed
    zakodowaniem dokonac kwantyzacji bledu estymacji
    e.

34
Metody bezposrednie
  • metoda binarnej kwantyzacji blokowej BTC(ang.
    Block Truncation Compression)
  • Obraz dzielony jest na bloki nm piksli.
  • Na kazdym z bloków dokonuje sie kwantyzacji
    binarnej, tzn. kolory kolejnych piksli
    zastepowane sa przez jeden z dwóch kolorów c1 lub
    c2 wybieranych osobno dla kazdego bloku.
  • Zamiast pelnej liczby 2l kolorów (poziomów
    szarosci) koduje sie jedynie dwa kolory w bloku
    (1 bit/piksel w miejsce l bitów/piksel).
  • Dla kazdego bloku nalezy pamietac c1 i c2.
  • Kompresja mozliwa do uzyskania w tej metodzie
    jest rzedu 41.

35
Metody fraktalne
  • Do kompresji obrazów mozna wykorzystac teorie
    fraktali.
  • Wiele obrazów cechuje sie znacznym stopniem
    samopodobienstwa w jednym obrazie mozna
    wyróznic cale fragmenty, moze inaczej polozone,
    innej wielkosci czy jasnosci, ale o bardzo
    zblizonym ksztalcie.
  • Najwazniejsza operacja, dokonywana podczas
    kodowania fraktalnego, jest rozpoznawanie par
    obiektów i znajdowanie przeksztalcen,
    odwzorowujacych jeden obiekt w drugi, bedacych
    zlozeniem obrotów, skalowania i przesuniec. Ta
    klasa przeksztalcen nosi nazwe przeksztalcen
    afinicznych.

36
Metody fraktalne
  • Stopien kompresji mozliwy do uzyskania ta metoda
    wynosi typowo kilkadziesiat do jednego.
  • Wielka zaleta metody jest niezaleznosc
    zakodowanego obrazu od rozdzielczosci, co
    umozliwia latwe skalowanie obrazu wynikowego.

Zastosowanie kompresji fraktalnej
Powiekszenie obrazu
37
Metody transformat
  • Transformaty umozliwiaja rozlozenie funkcji
    jasnosci, bedacej dyskretna funkcja dwóch
    zmiennych, na superpozycje funkcji bazowych
    transformaty.
  • Najczesciej wykorzystuje sie dyskretna
    transformate cosinusowa (DCT).
  • Jesli f(i, j) oznacza wartosc piksla lezacego w
    punkcie o wspólrzednych (i, j), a F(u, v)
    reprezentuje dwuwymiarowy wspólczynnik
    transformaty ze skladowa harmoniczna rzedu u
    wzdluz osi U i skladowa harmoniczna rzedu v
    wzdluz osi V (gdzie U i V odpowiadaja osiom I i
    J), wówczas F(u, v) definiowane sa jako

38
Metody transformat standard JPEG
  • Najpopularniejszym standardem wykorzystujacym
    dyskretna transformate cosinusowa (DCT) jest JPEG
    (Joint Photographic Experts Group).

Ogólny schemat kodera JPEG
Ogólny schemat dekodera JPEG
39
Metody transformat standard JPEG
  • Zmiana modelu barw z RGB na YUV.
  • Wyznaczenie, niezaleznie dla kazdego skladnika
    barwy, dyskretnej transformaty cosinusowej.
  • Kwantyzowanie wspólczynników transformaty F(u, v)
    otrzymanych z kodowania DCT przy pomocy macierzy
    kwantyzacji. Polega to na dzieleniu kazdego ze
    wspólczynników F(u, v) przez odpowiadajacy mu
    element tablicy dwuwymiarowej Q(u, v) (gdzie Q
    jest macierza kwantyzacji).

40
Metody transformat standard JPEG
  • Skladowe stale róznych bloków (wspólczynniki
    F(0,0)) sa kodowane przy uzyciu metody DPCM.
    Sygnaly róznicowe wygenerowane przez koder DPCM
    sa nastepnie kodowane przy uzyciu kodera
    Huffmana.
  • Pozostale wspólczynniki F(u, v) zawieraja
    skladowe zmienne. Po skwantyzowaniu wiele z nich
    zaokragla sie do zera.
  • Skwantyzowana tablica dwuwymiarowa F(u, v)
    przeksztalcana jest w tablice jednowymiarowa
    (wektor) wedlug kolejnosci przedstawionej na
    rysunku
  • Wspólczynnik kompresji dla metod opartych o
    transformate cosinusowa wynosi okolo 301.

41
Kompresja obrazów ruchomych
  • Duzy stopien kompresji uzyskiwany jest dzieki
    uwzglednieniu zaleznosci, jakie wystepuja miedzy
    nastepujacymi po sobie obrazami.
  • Do najczesciej spotykanych standardów kompresji
    obrazów ruchomych naleza
  • MPEG (Moving Picture Experts Group)
  • SONY SX
  • M-JPEG (Motion JPEG)

42
MPEG
  • MPEG oparty jest na dwóch podstawowych
    technikach kompensacja ruchu pod katem
    nadmiarowosci miedzyramkowej (nadmiarowosc
    czasowa) oraz kompresja DCT do nadmiarowosci
    wewnatrzramkowej (nadmiarowosc przestrzenna).
  • Schemat blokowy kodera i dekodera MPEG

Ramki ze skompensowanym ruchem
Wspólczynniki DCT
43
MPEG
  • Zakodowany ciag obrazów moze zawierac trzy
    rodzaje ramek
  • Wewnetrzne ramki odniesienia I, które nie zaleza
    od zadnych innych ramek. Sa one kodowane w sposób
    podobny do tego, jaki wykorzystuje algorytm
    kompresji obrazów statycznych. Umozliwiaja one
    swobodny dostep do zakodowanego ciagu obrazów.
  • Ramki P, przedstawiajace obraz bedacy róznica
    miedzy biezaca ramka a ramka odniesienia.
    Poniewaz na sasiednich obrazach wiekszosc
    obiektów nie ulega istotnym zmianom, tak
    zmodyfikowany obraz zawiera znacznie mniej
    informacji.
  • Ramki B, majace dwie ramki odniesienia jedna
    wczesniejsza i jedna pózniejsza.

44
MPEG
  • Kolejnosc kodowania sekwencji obrazów MPEG

45
SONY SX
  • System kompresji SONY SX uzywa tylko ramek I
    oraz B.
  • Sekwencja ramek w schemacie SONY SX

46
M-JPEG (Motion JPEG)
  • Cechy standardu M-JPEG
  • jest rozszerzeniem metody JPEG i przeznaczony
    jest do kompresji obrazów ruchomych,
  • dokonuje kompresji kazdej ramki w sekwencji
    obrazu wizyjnego,
  • mozna uznac, ze jest bardzo uproszczona wersja
    standardu MPEG (bez kompensacji ruchu), czyli bez
    kodowania miedzyramkowego (wszystkie ramki sa
    typu I),
  • czas kompresji (zlozonosc) M-JPEG jest mniejsza
    niz dla MPEG, gdyz nie trzeba dokonywac predykcji
    ramek typu P i B oraz dokonywac kosztownego
    przeszukiwania ramek i dopasowania podczas
    kompensacji ruchu,

47
M-JPEG (Motion JPEG)
  • Cechy standardu M-JPEG
  • techniki edycyjne sygnalu wizyjnego (przesuwanie
    w przód i w tyl, zatrzymywanie, itd.) dla
    standardu M-JPEG sa mniej zlozone obliczeniowo
    niz dla MPEG, a zatem szybsze podczas dzialania,
  • dostep swobodny do dowolnej ramki jest
    natychmiastowy,
  • dekompresja ramek nastepuje w tej samej
    kolejnosci, jak podczas kompresji,
  • M-JPEG wymaga mniej pamieci operacyjnej niz MPEG,
    gdyz nie przeprowadza takich operacji buforowania
    jak MPEG,
  • wspólczynnik kompresji w standardzie M-JPEG jest
    taki sam jak dla JPEG i wynosi okolo 101, 151,
    natomiast dla systemu MPEG wspólczynnik kompresji
    wynosi okolo 301. Ponadto, MPEG moze byc takze
    uzyteczny przy wspólczynnikach rzedu 1001.

48
Zródlo
  1. J. Zabrodzki, Grafika komputerowa metody i
    narzedzia, Wydawnictwo Naukowo-Techniczne,
    Warszawa, 1994.
  2. S. Anderson, S. Anger, Grafika PC bez tajemnic,
    Interfoftland, Warszawa, 1995.
  3. R. Królikowski, Wspólczesne standardy
    perceptualnej kompresji dzwieku wysokiej
    jakosci, Zeszyty Naukowe Wydzialu
    Elektrotechniki i Automatyki Politechniki
    Gdanskiej Nr 11, str. 81-88, Gdansk, 1997.
  4. K. Brandenburg, M. Bosi, Overview of MPEG Audio
    Current and Future Standards for Low-Bit-Rate
    Audio Coding, J. Audio Eng. Soc., Vol. 45, No.
    1/2, pp. 4?21, 1997.
  5. J. Lebiedz, Kompresja danych materialy do
    wykladu, Politechnika Gdanska, Wydzial ETI,
    Katedra Technik Programowania, Gdansk, 1996.
  6. A. Wieczorkowska, Badanie metod kompresji
    obrazu, Zeszyty Naukowe Wydzialu Elektrotechniki
    i Automatyki Politechniki Gdanskiej Nr 10, str.
    71-76, Gdansk, 1996.
  7. W.S. Moscibrodzki, Badanie metod kompresji
    obrazu ruchomego, Zeszyty Naukowe Wydzialu
    Elektrotechniki i Automatyki Politechniki
    Gdanskiej Nr 12, str. 113-120, Gdansk, 1998.
Write a Comment
User Comments (0)
About PowerShow.com