Sama możliwość przesyłania dźwięku przez sieć, która pierwszym użytkownikom Internet Phone zapewne wydała się niezwykłą sensacją (zapewne właśnie taką miała się wydawać, z oczywistych powodów marketingowych), nie jest tak naprawdę niczym nowym. Pozwalające na to oprogramowanie istnieje już od roku 1992, w postaci napisanego w Lawrence Berkeley National Laboratory programu przeznaczonego dla Unixowych stacji roboczych, o nazwie vat (Visual Audio Tool). W następnym roku w Cornell University powstał kompatybilny z vat'em program CU-SeeMe dla Macintosha, pozwalający przesyłać nie tylko dźwięk, ale i obraz (pod warunkiem oczywiście posiadania kamery wideo i odpowiedniej karty do jej obsługi), a w 1994 r. - jego wersja dla MS-Windows; do środowiska Windows został przeniesiony także vat. Programy te nie są jednak Internetowymi telefonami w dzisiejszym rozumieniu, lecz programami telekonferencyjnymi - przeznaczone są one do rozmowy wielu osób jednocześnie i większość ich możliwości daje się wykorzystać tylko przy tym sposobie pracy. Wymagają one także odpowiednio szybkiego połączenia z siecią, znacznie szybszego niż 28.8 kbps maksymalnie możliwe przy typowym połączeniu modemowym. A właśnie przede wszystkim z myślą o użytkownikach takich połączeń opracowane zostały programy typu IPHONE.
Są one zjawiskiem w zasadzie specyficznym dla środowiska MS-Windows. Zaledwie cztery tego typu programy (nie licząc CU-SeeMe) istnieją dla Macintosha, zaś świat komputerów Unixowych rozwija odrębną rodzinę aplikacji do transmisji dźwięku, opartych na bazie wspomnianego już vat'a i protokołu RTP (Real-time Transport Protocol) - obecnie proponowanego standardu (dokument RFC 1889) dla transmisji dźwięku (i obrazu) w sieci. Programy IPHONE dla Windows w znakomitej większości są - w przeciwieństwie do vat'a i CU-SeeMe - programami komercyjnymi, i niestety, przeważnie całkowicie ze sobą niekompatybilnymi. Być może sytuacja ta wkrótce się zmieni, gdyż coraz więcej aplikacji zaczyna zmierzać w kierunku zgodności z protokołem RTP (na razie protokół ten wykorzystują i są kompatybilne z aplikacjami Unixowymi trzy programy - dwa dla Macintosha, jeden dla Windows), póki co jednak wciąż jeszcze aby porozumieć się za pomocą IPHONE z innym użytkownikiem sieci, z reguły musimy mieć ten sam program co on. Ten brak standaryzacji jest chyba najpoważniejszą bolączką Internetowej telefonii w jej obecnym wydaniu, i jeżeli z ciekawostki i eksperymentu ma się ona przerodzić w realnie użyteczną usługę sieciową, dostosowanie się do jednego wspólnego standardu będzie niezbędne.
Współczesne programy typu IPHONE pracują w czasie rzeczywistym, tzn. sygnał rejestrowany przez kartę dźwiękową jest równocześnie przesyłany przez sieć. Nie napisałem "jest przesyłany w tym samym momencie", gdyż ze względów technicznych nieuniknione jest niewielkie opóźnienie między odebraniem dźwięku przez kartę, a jego wysłaniem do sieci, typowo jednak opóźnienie to jest rzędu ułamków sekundy, co wydaje się być wielkością całkowicie akceptowalną.
Podstawowym problemem przy transmisji dźwięku przez sieć - nie tylko zresztą w czasie rzeczywistym, choć tu problem ten jest szczególnie krytyczny - jest ilość przesyłanych danych. Każdemu, kto miał coś do czynienia z komputerowym dźwiękiem, znane są ogromne rozmiary plików typu .WAV czy .VOC, zawierających dźwięk zapisany w postaci cyfrowej. Przyczyną takiego stanu rzeczy jest sama zasada cyfrowego zapisu dźwięku, tzw. próbkowania. Najprościej rzecz ujmując, próbkowanie polega na bardzo częstym (tysiące razy w ciągu sekundy) wykonywaniu pomiaru chwilowego natężenia fali dźwiękowej i zapisywaniu zmierzonej wartości w postaci cyfrowej. Zadanie to wykonuje karta dźwiękowa komputera, której trzeba przed rozpoczęciem nagrywania podać dwa parametry: częstotliwość próbkowania (zwykle waha się ona w granicach od 8 do 44 kHz, czyli od 8 do 44 tysięcy razy na sekundę) oraz liczbę bitów, na których zapisana będzie pojedyncza próbka - może to być 8 albo 16 bitów. Im wyższe oba te parametry, tym wyższa jakość zapisanego dźwięku, ale też i więcej miejsca zajętego przez ten zapis. 10 sekund dźwięku próbkowanego na ośmiu bitach z częstotliwością 8 kHz - co daje najniższą jakość dźwięku, odpowiadającą jakości rozmowy telefonicznej - zajmuje 78 KB. Dziesięć sekund dźwięku próbkowanego 16-bitowo z częstotliwością 44 kHz - jakość odpowiadająca płycie kompaktowej - 860 KB. Przekładając to na wielkości bardziej adekwatne do czasu rzeczywistego, transmisja dźwięku o jakości telefonicznej (8 bit, 8 kHz) wymaga połączenia o przepustowości 64 kbps (dokładnie taka jest przepustowość kanałów transmisyjnych stosowanych między centralami cyfrowymi w "klasycznej" telefonii), zaś dźwięku o jakości CD - 704 kbps.
Szybkość 64 kbps jest całkowicie poza zasięgiem połączeń modemowych. Ale nawet szczęśliwcy posiadający połączenie z siecią odpowiednio szybkim, stałym łączem mogą osiągnąć tę szybkość tylko w swojej najbliższej okolicy: z mojego doświadczenia wynika, że w Polsce efektywne prędkości transmisji "ze światem" wynoszą około 30-40 kbps. Trudno poza tym pozwolić sobie na "zatkanie" całej przepustowości posiadanego łącza transmisją dźwięku - zwłaszcza gdy z łącza tego, poza nami, korzystają także np. inni pracownicy firmy.
Niezbędne zatem staje się zastosowanie jakiejś formy kompresji danych dźwiękowych przesyłanych przez sieć. Nie nadają się tu żadne klasyczne uniwersalne algorytmy kompresji, stosowane np. w popularnych programach "pakujących" takich jak PKZIP czy ARJ. Abstrahując od ich stosunkowo wysokiej czasochłonności, mogącej uniemożliwić pracę w czasie rzeczywistym, w odniesieniu do danych dźwiękowych są one niezbyt skuteczne, o czym może się przekonać każdy, kto spróbuje skompresować takim programem plik typu .VOC lub .WAV. Wspomniane algorytmy kompresji są algorytmami tzw. bezstratnymi; po skompresowaniu pliku, a następnie jego rozkompresowaniu odtwarza się plik co do bajta identyczny z oryginałem. Dźwięku nie trzeba jednak kompresować w ten sposób; wystarczy aby dane otrzymane po rozkompresowaniu opisywały kształt fali dźwiękowej na tyle podobny do oryginału, aby możliwe było rozpoznanie mowy przez ludzkie ucho - różnice w drobnych szczegółach są dopuszczalne (w końcu nawet przy bezpośredniej rozmowie "oko w oko" są zawsze jakieś zakłócenia i dźwięk, który dociera do naszego ucha, nie jest identyczny z wypowiadanym przez rozmówcę). Stosuje się więc tzw. kompresję stratną, która gubi część mniej istotnych informacji z oryginału, ale za to umożliwia osiągnięcie wielokrotnie wyższego stopnia kompresji - skompresowane dane zajmują kilka, kilkanaście, a nawet w najnowszych technikach kilkadziesiąt (!) razy mniej miejsca niż oryginał. (Podobna sytuacja ma zresztą miejsce w zakresie grafiki - pliki graficzne w formacie JPEG, stosującym kompresję stratną, są znacznie mniejsze od - również skompresowanych, ale metodą bezstratną - plików GIF.)
Jedną z często stosowanych metod jest algorytm zapożyczony z cyfrowych telefonów komórkowych systemu GSM, pozwalający zredukować niezbędną przepustowość do 17 kbps, zachowując przy tym dobrą jakość dźwięku. Rozwiązanie to jest już do przyjęcia dla posiadaczy modemów 28800 bps, ale niewystarczające dla - często wszak spotykanych - modeli 14400. Szuka się więc jeszcze skuteczniejszych metod kompresji, jednak im bardziej skuteczna kompresja, tym więcej wymaga ona czasu procesora, co zaczyna powoli wykluczać z konkurencji słabsze komputery, na których program nie będzie "nadążał" za strumieniem transmitowanych danych (486DX2/66 MHz należy w zasadzie uznać za minimum). W dostępnych na rynku programach IPHONE stosowany jest szereg firmowych (nieujawnianych) algorytmów, dających szybkości rzędu 7-10 kbps, jednak przy tak wysokim stopniu kompresji w transmitowanym dźwięku zaczynają już pojawiać się wyraźnie słyszalne zniekształcenia, utrudniające zrozumienie mowy. Swoistą rewelacją na tym tle wydaje się opracowany niedawno przez firmę VoxWare algorytm kompresji RT24, potrafiący skompresować dane dźwiękowe do szybkości 2400 bps (!), przy tym z jakością o wiele lepszą niż algorytmy wspomniane wyżej. Szybkość 2400 bps daje się bez trudu osiągnąć nawet na "zapchanych" łączach Internetowych, umożliwiając tym samym w prawie każdych warunkach przekaz dźwięku bez przerw i zakłóceń. Metoda ta ma zatem wszelkie szanse, aby stać się "przebojem" w technologii transmisji dźwięku; licencję na nią wykupiło już kilka znaczących firm software'owych, m.in. Netscape.
Gdy mamy tylko półdupleks, podczas rozmowy konieczne jest przełączanie programu między trybami "mówienia" i "słuchania". W większości programów może ono być dokonywane zarówno ręcznie - np. przez kliknięcie myszą na odpowiedni przycisk na ekranie - jak i za pomocą znacznie wygodniejszej tzw. aktywacji głosowej: gdy zaczynamy mówić do mikrofonu, program automatycznie przełącza się na "nadawanie"; jeżeli nic nie mówimy, ustawia się na "odbiór". Aktywacja głosowa ma sens także gdy dysponujemy pełnym dupleksem: ułatwia komunikację z użytkownikami mającymi tylko półdupleks, a przede wszystkim zmniejsza obciążenie sieci przez wyeliminowanie nadawania "pustych" bajtów w okresach, gdy nic nie mówimy.
Internetowy telefon, podobnie jak jego pierwowzór, może być "zajęty" - większość programów nie pozwala na rozmowę z więcej niż jedną osobą naraz. W przeciwieństwie jednak do zwykłego telefonu, jeżeli ktoś "dzwoni" do nas w trakcie prowadzenia innej rozmowy, otrzymujemy na ekranie informację o tym fakcie wraz z podaniem nazwiska dzwoniącego użytkownika; tak więc możemy mu później "oddzwonić". Również w przypadku, gdy nasz telefon jest wolny, przed "odebraniem" telefonu otrzymujemy informację o tym, kto dzwoni - możemy więc połączenie odrzucić, jeżeli z daną osobą nie mamy zamiaru rozmawiać. Może się zdarzyć również "nieodebranie" telefonu, jeżeli np. użytkownika nie ma w danym momencie przy komputerze, a program jest uruchomiony. Niektóre z programów dysponują na taką okoliczność funkcją tzw. poczty głosowej (voice mail) - odmianą "automatycznej sekretarki", pozwalającą odtwarzać nagraną (w postaci pliku .WAV) informację powitalną i rejestrować na dysku wiadomości pozostawiane przez "dzwoniących" rozmówców.
Z drugiej strony, opisywałem już powyżej trudności związane z połączeniem się za pomocą IPHONE. Do tego należy dodać jeszcze pytanie - jaki jest tak naprawdę sens używania w Internecie usługi przejmującej wszystkie niedogodności klasycznego telefonu (sytuacje takie jak: rozmówca nieobecny, telefon zajęty, rozmówca nie ma aktualnie czasu na rozmowę itp. i wynikająca stąd konieczność wielokrotnego dzwonienia, aby daną osobę "złapać"), gdy w tymże Internecie daleko powszechniej dostępne są środki komunikacji eliminujące te niedogodności, jak choćby e-mail? Wydaje się, że niewielki. Nie jest raczej prawdopodobne, aby w Internecie w jego obecnym kształcie IPHONE stał się kiedykolwiek usługą dominującą. Przynajmniej dopóki Internet nie zostanie zastąpiony przez coś zupełnie innego, o czym dzisiaj nie mamy jeszcze pojęcia...
Jaka zatem przyszłość stoi przed Internetowymi telefonami? Wydaje się, że mogą one opanować dwa obszary zastosowań. Wsparte narzędziami typu tabliczka rysunkowa czy zdalne korzystanie z aplikacji mogą stać się niezastąpionym narzędziem do wspólnej pracy na odległość. Trudno przecenić zalety możliwości głosowego porozumienia, skonsultowania się z kolegą podczas wspólnej pracy nad dokumentem.
Drugi obszar zastosowań Internetowego telefonu to pogawędki dla przyjemności, dla celów towarzyskich, szlifowania obcego języka itp. z ludźmi z całego świata. Nikt nie będzie dzwonił zwyczajnym telefonem do kogoś przypadkowego z drugiego końca świata po to, żeby sobie pogadać - nawet jeżeli byłoby go na to stać. Ktoś taki zostałby zapewne ostro zrugany za przeszkadzanie. Jeżeli jednak ktoś uruchamia IPHONE i udostępnia informację o sobie na serwerze, to w jakiś sposób zaprasza do nawiązania z nim łączności. Jak to słusznie zauważono w dyskusji w jednej z grup Usenetowych, Internetowe telefonowanie nie jest w chwili obecnej czymś, co możnaby porównać do "poważnych" zastosowań "zwykłego" telefonu, lecz raczej hobby takim jak krótkofalarstwo: "Halo? Jak mnie słyszysz? Ja ciebie kiepsko. Skąd jesteś? Ja z Polski. Jaka u Ciebie pogoda?" itd. - tak w chwili obecnej wygląda większość rozmów prowadzonych przez Internetowe telefony.
IPHONE nie zastąpi zatem "zwykłego" telefonu - chyba że doczeka się realizacji ambitny projekt Free World Dialup (więcej informacji na jego temat można znaleźć pod adresem http://www.pulver.com/fwd/), zakładający utworzenie sieci serwerów, pozwalających na darmowe telefonowanie za pomocą IPHONE do zwykłych aparatów telefonicznych w mieście, w którym znajduje się serwer. Bardziej jest jednak prawdopodobne, że projekt ten spotka los innego, równie ambitnego projektu - TPC, którego zadaniem było utworzenie sieci serwerów pozwalających na analogicznej zasadzie wysyłać faksy za pomocą e-maila. System istnieje i działa, ale nie obejmuje swoim zasięgiem nawet połowy terytorium USA, a co dopiero mówić o świecie...
Nie grozi też raczej "zapychanie" sieci przez Internetowe telefony. Przeciwnie: przy tłoku na łączach to IPHONE będzie pierwszą usługą, z której użytkownicy zrezygnują, gdyż z powodu zgubionych pakietów i przerw w transmisji dźwięku po prostu nie da się rozmówcy zrozumieć (problemy takie występują już teraz; zobacz sąsiedni tekst). Internetowy telefon, oparty na protokole UDP, jest tu usługą diametralnie różną od na przykład ftp czy WWW, opartych na protokole TCP, który w razie obciążonej sieci i gubienia pakietów powtarza przesyłanie danych "do skutku" i może rzeczywiście łatwo "zapchać" łącza.
Cóż, pożyjemy, zobaczymy... Obecnie mamy do czynienia ze swoistym "wiekiem dojrzewania" technologii transmisji dźwięku przez sieć; niewątpliwie wiele jeszcze w tej dziedzinie się zmieni. Tymczasem zapraszam do lektury sąsiedniego tekstu, przedstawiającego najciekawsze aktualnie dostępne programy typu IPHONE.
Powrót do wykazu artykułów o Internecie | Statystyka |