BAB II KAJIAN PUSTAKA 2.1.
Tinjauan Muktahir Penelitian ini merupakan pengembangan dari beberapa penelitian yang
telah dilakukan sebelumnya, yaitu mengenai kinerja dari sistem aplikasi layanan multimedia video streaming berbasis bergerak, seperti: konsep, algoritma dan sistem video streaming, sistem Adaptive Streaming, Dynamic Adaptive Streaming over HTTP (DASH), Bandwith Shaping, VLC (Video Lan Client), refrensi yang dipilih dan digunakan sebagai acuan dari penelitian ini merupakan penelitian yang membahas tentang kinerja dari teknik-teknik apalikasi layanan multimedia video streaming bergerak, namun dari penelitian ini penulis mengevaluasi atau mengimplementasikan
metode
DASH
pada
jaringan
yang
berbeda
,
pengaplikasian yang berbeda serta menggunakan tools yang berbeda pula, dengan memasukkan
input-output dan kondisi dari objek yang diteliti untuk
menyelesaikan permasalahan yang dikaji dari penelitian tersebut. Berikut ini merupakan pemetaan beberapa penelitian yang digunakan sebagai bahan perbandingan oleh penulis. Tabel 2.1 Pemetaan Penelitian Dari Literatur Yang Berkontribusi Sebagai Pengembangan Metode Aplikasi Layanan Video Streaming Bergerak.
No
Judul
Penulis
Penelitian
(Tahun
Metode
Penelitian) 1
Adaptive Methods for Pavlos
Merupakan review dari sebuah sistem
the
video
Transmission Video
Antoniou of Andreas
streaming
keseluruhan
Pitsillides
streaming,
Streams in Wireless Vasos
hampir
secara
dari
konsep
video
kompresi
video,
sampai
distribusi jaringan yang di pakai untuk
7
8
Networks
Vassiliou
mestreaming video dari server ke user.
(2000)
2.
Empirical Evaluation Jun Yao, Salil Penelitia ini memberikan usulan berupa of HTTP Adaptive Streaming
S.
Kanhere, teknologi atau alat-alat apa saja yang
under Imran Hossain, diperlukan
Vehicular Mobility
and
untuk
video
streaming,
Mahbub seperti web server, switch, website
Hassan (2011)
sebagai media player untuk klien. Dan penjelasan
tentang
coding
dan
encodeing. 3.
An
Experimental Saamer
Penelitian ini mengusulkan metode
Evaluation of Rate- Akhshabi,
adaptive pada transmisi untuk video
Adaptation
Ali C. Begen,
stream bergerak menggunakan Wireless
Algorithms
Constantine
Network. Yang menjelaskan bagaimana
in Adaptive Streaming Dovrolis (2009) aliran data yang di kirim dari server ke over HTTP
klien
pada
saat
klien
memulai
pemutaran video yang didasarkan dari estimasi penurunan kualitas obyektif. jika
lapisan
tidak
dikirim
dan
bagaimana mudahnya dari informasi yang
akan
penerima
direkonstruksi dengan
diujung
menggunakan
informasi yang telah dikirimkan. 4
H.265 Video Delivery Hamid Azwar, Penelitian ini mengulas tentang kinerja Using
Dynamic Hendrawan
Adaptive
(2014)
aplikasi DASH. Cara pengaplikasian DASH pada sebuah layanan video
Streaming over HTTP
steaming jaringan LAN menggunakan
(DASH)
H.265 dan parameter apa saja yang di
Network
on
LAN
ukur untuk mengamati kinerja DASH.
9
Dari sumber penelitian yang tertera pada tabel 2.1 penulis mengambil metode sebagai dasar penelitian, hal yang membedakan dengan penelitian adalah di bagian jaringan dan tools yang digunakan untuk mengevaluasi kinerja DASH tersebut. Dan untuk penelitian yang lainnya sebagai studi literature untuk mendukung peneltian penulis. 2.2
Konsep Dasar Video Streaming Streaming adalah sebuah teknologi untuk memainkan file video atau audio
secara langsung ataupun dengan pre-recorder dari sebuah mesin server (web server). Pentranssferan file audio dan video tersebut dilakukan secara “stream” (terus menerus). Dari sudut pandang prosesnya, streaming berarti sebuah teknologi pengiriman file dari server ke klien melalui jaringan packet-based seperti Internet. File tersebut berupa rangkaian paket time-stimped yang disebut stream. Sedangkan dari sudut pandang pengguna, streaming adalah teknologi yang memungkinkan suatu file dapat segera dijalankan tanpa harus menunggu selesai didownload dan terus “mengalir” tanpa ada intrupsi. Dengan kata lain, file video atau pun audio yang terletak dalam sebuah server dapat secara langsung ada pada browser saat proses buffering mulai berjalan. File video atau audio di stream, akan berbentuk sebuah buffer di komputer klien dan data video – audio tersebut akan mulai di download ke dalam buffer yang telah terbentuk pada mesin klien. Dalam waktu sepersekian detik, buffer telah terisi penuh dan secara otomatis file video audio langsung dijalankan oleh sistem. Sistem akan membaca informasi dari buffer dan tetap melakukan proses download file, sehingga proses streaming tetap berlangsung ke computer klien (Nopal, 2010). Saluran video streaming juga menggunakan statis atau dinamis, packetswitched atau circuit switched, yang dapat mendukung transmisi bit rate menjadi konstan atau variabel dan di dukung dengan adanya bentuk Quality of Service (QoS). Sifat spesifik dari aplikasi video streaming sangat mempengaruhi desain sistem. Oleh karena itu maka akan dilanjutkan dengan singkat membahas beberapa sifat dan pengaruhnya pada video streaming.
10
2.2.1 Real Time Encoding dan Pre-encoded (stored) Video atau Audio Video atau audio dapat diencode untuk keperluan komunikasi secara real time atau dapat juga di pre-encoded dan disimpan dalam format CD-DVD untuk dijalankan pada saat dibutuhkan. Salah satu aplikasi yang membutuhkan real time encoding adalah video phone dan video conferencing. Sedangkan aplikasi yang membutuhkan pre-encoded antara lain DVD, VCD, yang dikenal dengan penyimpanan secara local atau Video on Demand (VoD), yang penyimpanannya dilakukan secara remote di server yang dikenal dengan video streaming.
2.2.2 Transfer Video via File Download dan Transfer Video via Streaming Sebuah file video yang akan ditampilkan di user dapat menggunakan dua metode transfer file. Pertama, dengan mendownload file video tersebut dan yang kedua dengan melakukan proses streaming. Kedua metode ini memiliki keunggulan dan kekurangannya masing-masing. Sebuah file video yang diambil dari server dengan cara download tidak dapaat ditampilkan dalam sebuah file video tersebut selesai tersalin ke buffer. Metode ini memerlukan media penyimpanan yang cukup besar dan waktu yang diperlukan untuk proses download cukup lama karena file video biasanya berukuran besar. Metode kedua yang dapat digunakan adalah proses streaming. Metode ini berusaha untuk mengatasi masalah yang terdapat dalam metode download. Ide dasar dari video streaming ini adalah membagi paket video menjadi beberapa bagian, mentransmisikan paket data tersebut, kemudian penerima (receiver) dapat mendecode dan memainkan potongan paket video tersebut tanpa harus menunggu keseluruhan file selesai terkirim ke mesin penerima. Untuk keterangan dan gambaran lebih jelasbisa di lihat pada Gambar 2.1, yang menjelaskan proses dari video streaming di bagi menjadi 4 tahap sebagai berikut: proses video streaming dari awal yaitu pengambilan video (capture), pengubahan pengkodean (encode), penyaluran data dari server ke klien (distribute), hingga akhirnya dapat dilihat oleh user (play).
11
Gambar 2.1 Konten pada Streaming Video (David Austerberry, 2004)
2.2.3 Channel Statis dan Dinamis Kualitas video disampaikan melalui jaringan lingkungan dipengaruhi oleh alam dan karakteristik saluran komunikasi seperti: bandwidth, delay, dan loss. Dalam saluran statis: bandwidth, delay, dan loss dibatasi, sedangkan di channel dinamis, sulit untuk menentukan batasan. Contoh statis saluran termasuk ISDN (yang menyediakan tingkat bunga tetap bit dan delay, dan kerugian yang sangat rendah rate) dan penyimpanan video pada DVD. Sedangkan contoh saluran dinamis meliputi komunikasi melalui saluran nirkabel atau melalui Internet. Komunikasi video melalui saluran yang dinamis jauh lebih sulit daripada melalui saluran statis. Selain itu, banyak tantangan dari video streaming.
12
2.2.4 Channel Constant-bit-rate (CBR) atau Variable-bit-rate (VBR) Dasar dalam pengembangkan video codec CBR adalah kesederhanaan dalam disain sistem. CBR menunjukkan kompleksitas yang rendah karena tidak menggunakan statistical multiplexing. Dan juga, CBR menunjukkan latency atau periode yang rendah untuk setiap frame video, sekitar 100 ms. Disain CBR mengijinkan sinkronisasi ulang frame video saat terjadi errors pada waktu pengiriman paket. CBR baik digunakan untuk streaming server yang tidak ingin terganggu oleh Progressive Download (HTTP). Pada streaming server diperlukan control bandwidth yang cukup kuat untuk digunakan pada waktu tertentu dan CBR mampu melakukan hal itu. Dengan CBR, encoder memutuskan apakah paket data harus didrop atau tidak untuk menjaga bit rate agar tetap konstan. VBR adalah metode encoded video yang menjamin kualitas video dengan menempatkan intelligent bit selama proses encoding. Encoder mengalokasikan informasi yang sesuai untuk setiap detiknya, bergantung pada kompleksitas file video. Dibandingkan dengan CBR, VBR video menyediakan kualitas yang lebih baik dengan menggunakan rata-rata bandwidth yang sama. Penggunaan VBR akan menghasilkan penggunaan bandwidth yang efisien, tetapi perbedaan bit rate paket video menyebabkan permasalahan dalam menghitung bandwidth efektif dari video streams.
Gambar 2.2 Constant dan Variabel Encoding Bitrate
(David Austerberry, 2004) • CBR: laju data konstan sebuah trafik telepon dan sejenisnya. • VBR: laju data berubah-ubah sesuai keperluan sebuah trafik data umumnya.
13
2.2.5 Packet-Switched atau Circuit-Switched Network Kunci sebuah atribut jaringan yang mempengaruhi desain sistem media streaming adalah packet-switched atau circuit-switched. Jaringan packet-switched seperti LAN Ethernet dan Internet, Sebuah metode yang digunakan untuk memindahkan data dalam jaringan internet. Dalam packet switching, seluruh paket data yang dikirim dari sebuah node akan dipecah menjadi beberapa bagian. Setiap bagian memiliki keterangan mengenai asal dan tujuan dari paket data tersebut. Hal ini memungkinkan sejumlah besar potongan-potongan data dari berbagai sumber dikirimkan secara bersamaan melalui saluran yang sama, untuk kemudian diurutkan dan diarahkan ke rute yang berbeda melalui router. Atau jaringan circuit-switched seperti public switched telephone network (PSTN) atau ISDN, circuit-switched digunakan untuk menghubungkan pasangan terminal dengan cara menyediakan sirkuit atau kanal yang tersendiri dan terus meneurs selama hubungan berlangsung. Kinerjanya tergantiung pada loss bukan pada delay (tetapi pada digital switching juga menimbulkan delay). Jaringan circuit switching digunakan untuk hubungan yang bersifat: real time-spech (seperti: telepon) atau real time-data very high bit transmitted (Suryadi, 2010).
2.2.6 Quality of Service (QoS) Support QoS adalah suatu yang samar dan mencakup segala istilah, yang digunakan untuk menyampaikan bahwa jaringan menyediakan beberapa jenis layanan pengiriman preferensial atau jaminan kinerja, misalnya jaminan pada throughput, tarif maksimum loss atau delay. Dukungan jaringan QoS dapat sangat memudahkan komunikasi video, karena dapat memungkinkan adanya sejumlah kemampuan untuk penyediaan data video, memproritaskan delay-sensitive untuk trafik data dan juga memprioritaskan berbagai bentuk data video yang harus dikomunikasikan. Sayangnya, QoS saat ini tidak banyak didukung dalam jaringan paket-switched seperti Internet. Namun, jaringan circuit-switched seperti PSTN atau ISDN yang memberikan berbagai jaminan delay, bandwidth, dan tingkat loss. Internet saat ini tidak menyediakan dukungan QoS, dan sering disebut sebagai Best Effort (BE), karena fungsi dasarnya adalah untuk menyediakan konektivitas
14
jaringan sederhana dengan upaya terbaik (tanpa jaminan) sebagai pengirim paket. Ada beberapa jenis yang digunakan untuk jaringan QoS di internet seperti Differentiated Services (DiffServ) dan Integrated Services (IntServ) (Andreas, 2002).
2.3
Video Kompresi
2.3.1 Pengertian Kompresi Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode untuk menghemat kebutuhan tempat penyimpanan dan waktu transmisi data. Saat ini terdapat berbagai tipe algoritma kompresi antara lain Huffman, LIFO, LZHUF, LZ77 dan variannya. Berdasarkan tipe peta kode yang digunakan untuk mengubah pesan awal ( isi file input ) menjadi sekumpulan codeword, metode kompresi terbagi menjadi dua kelompok ,yaitu : 1. Metode static: menggunakan peta kode yang selalu sama. Metode ini membutuhkan dua fase (two-pass): fase pertama untuk menghitung probabilitas kemunculan tiap simbol/karakter dan menentukan peta kodenya, dan fase kedua untuk mengubah pesan menjadi kumpulan kode yang akan di transmisikan. 2. Metode dinamik (adaptif )menggunakan peta kode yang dapat berubah dari waktu ke waktu. Metode ini disebut adaptif karena peta kode mampu beradaptasi terhadap perubahan karakteristik isi file selama proses kompresi berlangsung. Metode ini bersifat 1-kali pembacaan terhadap isi file.
2.3.2 Definisi Kompresi Data Adapun definisi untuk mengompresi data sebagai berikut: 1.
Kompresi berarti memampatkan/mengecilkan ukuran
2.
Kompresi data adalah proses mengkodekan informasi menggunakan bit atau information-bearing unit yang lain yang lebih rendah daripada representasi data yang tidak terkodekan dengan suatu sistem encoding tertentu
15
3.
Contoh kompresi sederhana yang biasa kita lakukan misalnya adalah menyingkat kata-kata yang sering digunakan tapi sudah memiliki konvensi umum. Misalnya: kata “yang” dikompres menjadi kata “yg”.
4.
Pengiriman data hasil kompresi dapat dilakukan jika pihak pengirim / yang melakukan kompresi dan pihak penerima memiliki aturan yang sama dalam hal kompresi data.
5.
Pihak pengirim harus menggunakan algoritma kompresi data yang sudah baku dan pihak penerima juga menggunakan teknik dekompresi data yang sama dengan pengirim sehingga data yang diterima dapat dibaca / didecode kembali dengan benar.
6.
Kompresi data menjadi sangat penting karena memperkecil kebutuhan penyimpanan data,mempercepat pengiriman data,memperkecil kebutuhan bandwidth.
7.
Teknik kompresi bisa dilakukan terhadap data teks / biner, gambar (JPEG, PNG, TIFF), audio (MP3, AAC, RMA, WMA), dan video (MPEG, H261, H263). Rancangan skema kompresi data sehingga melibatkan trade-off antara
berbagai faktor, termasuk tingkat kompresi, jumlah distorsi yang dikenalkan (jika menggunakan skema kompresi lossy), dan sumber daya komputasi yang dibutuhkan untuk kompres dan uncompress data. Ada 2 kompresi data: 1.
Lossy Lossy
kompresi
citra
digunakan
dalam
kamera
digital,
untuk
meningkatkan kapasitas penyimpanan dengan minimal penurunan kualitas gambar. Demikian pula, DVD menggunakan lossy MPEG-2 Video codec untuk kompresi video. Dalam lossy kompresi audio biasanya digunakan metode psychoacoustics yaitu berperan untuk menghapus sinyal komponen kurang terdengar dari sinyal. Berbicara tentang kompresi, manusia sering melakukan dengan teknik khusus bahkan lebih, sehingga kompresi kadang-kadang dibedakan sebagai suatu disiplin yang terpisah dari kompresi audio. Audio yang berbeda dan standar kompresi suara manusia terdaftar di bawah codec audio. Kompresi suara
16
akan digunakan dalam telepon Internet, sementara kompresi audio yang digunakan untuk CD ripping dan diterjemahkan oleh pemain audio. Berikut ciriciri:
Terdapat informasi yang hilang pada saat sampai pada telinga dan mata manusia.
Digunakan pada kompresi objek audio, image, video dimana keakuratan data yang absolut tidak diperlukan.
Contoh: bila video image dikompres dengan basis frame-by-frame hilangnya data pada satu frame tidak mempengaruhi penglihatan.
Aplikasi: medical screening systems, video conferencing, dan multimedia messaging systems.
2.
Metode kompresi yang banyak digunakan adalah standar JPEG.
Lossless Berikut ini ciri-ciri kompresi lossless:
Data tidak berubah atau hilang pada proses kompresi atau dekompresi
Membuat satu replika dari objek asli
Menghilangkan perulangan karakter
Digunakan pada data teks dan image
Pada saat dilakukan dekompres, perulangan karakter diinstal kembali
2.3.3 Tujuan Kompresi Intraframe dan Interframe Video digital pada dasarnya tersusun atas serangkaian frame yang ditampilkan dengan kecepatan tertentu (frame per second). Jika laju frame cukup tinggi, maka mata manusia melihatnya sebagai rangkaian yang kontinyu. Setiap frame merupakan gambar/citra digital. Suatu citra digital direpresentasikan dengan sebuah matriks yang masing-masing elemennya merepresentasikan nilai intensitas. Penghilangan redundancy spatial (spatial / intraframe compression) dilakukan dengan mengambil keuntungan dari fakta bahwa mata manusia tidak terlalu dapat membedakan warna dibandingkan dengan brightness (kecerahan), sehingga image dalam video bisa dikompresi dan dapat
17
mengurangi kapasitas memory pada video (teknik ini sama dengan teknik kompresi lossy color reduction pada image). Sehingga dengan berkurangnya kapasitas memory juga mempermudah dalam transfer video tersebut dalam dunia telekomunikasi serta akan sesuai dengan bandwidth yang diberikan dalam media transmisinya. Selain itu dalam pengkompresian temporal ataupun yang dikenal dengan interframe terjadi proses pembentukan suatu predictor frame dan mengurangi frame yang ada. Output proses ini adalah suatu frame residu (berbeda) dan proses perkiraan lebih akurat, energi yang hilang terdapat dalam residual frame. Oleh karena itu video yang merupakan gabungan dari lebih dari satu frame dapat dikompresi secara baik sesuai dengan konsep dasar pada teknik temporal atau interframe.
Gambar 2.3 Contoh Prediksi Dependensi antara Frame (John G. Apostolopoulos, 2002)
2.3.4 Standar Kompresi Video Antara tahun 80 – 90an, algoritma kompresi berbasis Discrete Cosine Transform (DCT) dan standar internasional dikembangkan untuk mengurangi peyimpanan dan keterbatasan bandwidth yang disebabkan oleh gambar digital dan aplikasi video. Sekarang ada tiga standar berbasis DCT yang banyak digunakan dan diterima secara luas. -
JPEG (Joint Photographic Expert Group)
-
H.261 (Video codec for audiovisual service)
18
-
MPEG (Motion Picture Expert Group)
Masing – masing standar baik untuk aplikasi yang khusus : JPEG untuk kompressi gambar, H.261 untuk konferensi video, dan MPEG untuk system multimedia berkualitas tinggi. Sebagaimana telah disebutkan sebelumnya, standar kompresi video dengan JPEG, H.261 dan MPEG semuanya berbasis pada DCT. Standar kompresi video menyediakan sejumlah manfaat, terutama dari yang memastikan interoperabilitas, atau komunikasi antara encoders dan decoder yang dibuat oleh orang yang berbeda atau perusahaan yang berbeda. Dengan cara ini standarisasi menurunkan risiko untuk kedua konsumen dan produsen, dan ini dapat menyebabkan penerimaan lebih cepat dan digunakan secara luas. Selain itu, standarisasi ini dirancang untuk berbagai macam aplikasi, dan menghasilkan skala yang menyebabkan pengurangan biaya dan penggunaan lebih luas. Saat ini ada dua standarisasi kompresi video yang dilakukan di bawah naungan International Telecommunications Union-Telecommunications (ITU-T) dan International Organization for Standardization (ISO). Standar kompresi video pertama untuk mendapatkan penerimaan yang luas adalah ITU H.261, yang dirancang untuk konferensi video melalui jaringan digital layanan terpadu (ISDN). H.261 diadopsi sebagai standar pada tahun 1990, ini dirancang untuk beroperasi pada p = 1, 2,…,30 kelipatan dari dasar ISDN data rate, atau px 64 kb /s. Pada tahun 1993, ITU-T memulai usaha standarisasi dengan tujuan utama video telephony lebih dari PSTN (saluran telepon analog konvensional), di mana total yang tersedia data rate hanya sekitar 33.6 kb / s. Bagian kompresi video standar adalah H.263 dan tahap pertama diadopsi pada tahun 1996. Sebuah H.263 ditingkatkan, H.263 Versi2 (V2), diselesaikan pada tahun 1997, dan algoritma yang sama sekali baru, awalnya disebut sebagai H.26L, saat ini sedang diselesaikan sebagai H.264 / AVC. Moving Pictures Expert Group (MPEG) didirikan oleh ISO di 1988 untuk mengembangkan standarisasi untuk mengompresi gambar bergerak (video) dan audio yang terkait pada media penyimpanan digital (CD-ROM). Standar yang dihasilkan, umumnya dikenal sebagai MPEG-1, telah diselesaikan pada tahun
19
1991 dan mencapai sekitar Video Home System (VHS) kualitas video dan audio sekitar 1,5 Mb /s. Tahap kedua pekerjaan mereka, umumnya dikenal sebagai MPEG-2, adalah perpanjangan MPEG-1 dikembangkan untuk aplikasi terhadap televisi digital dan untuk lebih tinggi bit rate. Sebuah standar ketiga, disebut MPEG-3, awalnya membayangkan untuk aplikasi bit rate yang lebih tinggi seperti High-Definition Television (HDTV), tapi itu mengakui bahwa aplikasi tersebut juga bisa diatasi dalam konteks MPEG-2, maka tujuan tersebut dibungkus ke MPEG-2 (akibatnya, tidak ada MPEG-3 standar). Saat ini, sebagian video Digital Televisi (DTV) dan HDTV standar untuk besar bagian dari Amerika Utara, Eropa, dan Asia didasarkan pada MPEG-2. Tahap ke 4 pekerjaan , yang dikenal sebagai MPEG-4, dirancang untuk memberikan peningkatan efisiensi kompresi dan ketahanan kesalahan fitur, serta peningkatan fungsi, termasuk pengolahan berbasis obyek, integrasi baik alam dan konten sintetis (dihasilkan komputer), berbasis konten interaktivitas.
Table 2.2 Standar Kompresi Video.
Video Coding
Primary Intended Applications
Bit Rate
Video telephony and teleconferencing
p x 64 kb/s
Standard H.261
over ISDN MPEG-1
Video on digital storage media (CDROM)
1.5 Mb/s
MPEG-2
Digital Television
2-20 Mb/s
H.263
Video telephony over PSTN
33.6 kb/s and up
MPEG-4
Object-based coding, synthetic content,
Variable
interactivity, video streaming H.264/MPEG-4 Part 10 (AVC)
Improved video compression
10’s to 100’s of kb/s
20
Standar H.26L sedang diselesaikan oleh Joint Video Team, dari ITU dan ISO MPEG. Penelitian H.26L mencapai peningkatan yang signifikan dalam kompresi atas standar coding yang ada dan itu akan diadopsi oleh ITU dan ISO dan disebut H.264 dan MPEG-4 part 10, Advanced Video Coding (AVC). Saat ini, standar kompresi video yang terutama digunakan untuk video komunikasi dan video streaming adalah H.263 V2, MPEG-4, dan muncul H.264 / MPEG-4 part 10 AVC mungkin akan diterima secara luas.
2.4
Dasar Masalah Dalam Video Streaming Dasar masalah dalam video streaming, khususnya untuk implementasi
pada jaringan internet yang bersifat global, adalah bandwidth, delay jitter, loss rate. Ketersediaan
bandwidth
antara dua
titik
pada
jaringan
internet
secara umum tidak diketahui. Jika sebuah pengirim (sender) mengirimkan data lebih cepat dibanding dengan bandwidth yang tersedia maka akan terjadi kongesti pada jaringan, paket hilang, dan kualitas video pengirim mengirimkan
paket
yang
kualitas
tersedia, maka
data
video
video
yang
akan
lebih lambat sampai
buruk.
dari
Jika
bandwidth
ke penerima
juga
kurang optimal. Salah satu ide untuk mengatasi masalah bandwidth adalah dengan mengestimasi bandwidth kanal yang tersedia kemudian mencocokkannya dengan bit rate video yang akan ditransmisikan. Masalah
kedua
pada
streaming adalah delay jitter, dimana paket-paket yang ditransmisikan ke klien memiliki delay yang bersifat fluktuatif. Variasi dari delay paket ini disebut dengan delay jitter. Delay jitter ini menjadi masalah karena penerima harus men-decode dan menampilkan
frame-
frame pada rate yang konstan, dan akumulasi dari keterlambatan frame akan menyulitkan untuk rekonstruksi video yang diterima. Masalah dalam
video streaming
adalah
loss
rate.
Loss
ketiga
rate berbeda-beda unutk
jaringan fixed, loss rate disebabkan oleh paket-paket data yang hilang. Sedangkan
pada
jaringan wireless, loss rate dapat disebabkan oleh bit error
21
dan burst error. Loss rate ini dapat menimbulkan penurunan kualitas video hasil rekonstruksi. 2.5
Transport dan Pengendalian Rate untuk Mengatasi Bandwidth yang Beragam. Kemacetan merupakan fenomena umum dalam jaringan komunikasi yang
terjadi ketika beban yang ditawarkan melebihi batas yang dirancang, ha; tersebut menyebabkan penurunan di kinerja jaringan seperti throughput. Throughput yang berguna dapat menurunkan sejumlah alasan. Sebagai contoh, dapat disebabkan oleh tabrakan di beberapa akses jaringan atau disebabkan oleh peningkatan jumlah transmisi yang berulang-ulang di dalam sistem. Selain penurunan throughput, gejala lain termasuk paket loss, higher delay dan delay jitter. Gejala seperti ini merupakan tantangan yang signifikan untuk syitem pada media streaming. Untuk menghindari gejala yang tidak diinginkan dari kemacetan, prosedur pengendalian sering digunakan untuk membatasi jumlah pada beban jaringan. Prosedur pengendalian seperti ini disebut rate control. Perlu dicatat bahwa berbeda teknologi pada jaringan, dapat menerapkan rate control yang berbeda. Namun demikian, untuk antar-jaringan yang melibatkan beberapa teknologi pada jaringan, biasanya pengendalian rate control dilakukan oleh end-hosts 2.5.1 Rate Control pada Media Streaming Untuk lingkungan seperti Internet dapat diasumsikan tentang topologi jaringan dan load (beban), untuk menentukan tingkat transmisi yang sulit. Namun mekanisme rate control diimplementasikan dalam Transmission Control Protocol (TCP) yang telah terbukti secara empiris cukup dalam menangani kebanyakan kasus. Sebagai jenis pengiriman dominan di Internet, TCP digunakan untuk pengiriman halaman web, email, dan beberapa media streaming. Rate Control pada TCP didasarkan olehh aturan sederhana seperti "Additive Increase Multiplicative Decrease" (AIMD). Secara khusus, end-to-end pada pengamatan yang digunakan untuk menyimpulkan paket loss atau kemacetan. Bila tidak ada
22
kemacetan pada transmisi maka dapat disimpulkan paket meningkat dengan laju konstan (additive increase). Sebaliknya, ketika ada kemacetan maka disimpulkan laju pada paket transmisi di bagi dua (multiplicative decrease). 2.5.2 Media Streaming pada TCP (Transmission Control Protocol) Mengingat keberhasilan TCP, hal tersebut mungkin tampak alami untuk mempekerjakan TCP pada media streaming. Memang ada sejumlah keuntungan penting dari menggunakan TCP. Pertama, rate control TCP telah terbukti secara empiris stabilitas dan skalabilitas. Kedua, TCP menyediakan pengiriman yang terjamin dan efektif menghilangkan paket loss. Karena itu, sekarang TCP dipakai sebagai pilihan terakhir untuk mendapatkan firewall. Kesulitan peraktis menggunakan TCP untuk media streaming meliputi sebagai berikut. Pertama, terjaminnya pengiriman paket pada TCP menyebabkan pengulangan transmisi terus-menerus sehingga menimbulkan pengiriman yang sangat lama. Kedua, aturan pada “Additive Increase Multiplicative Decrease” menimbulkan profil throughput yang sangat beragam sehingga membentuk pola yang tidak cocok untuk trnaspotasi media streaming. 2.5.3 Media Streaming pada UDP (User Datagram Protocol) Baik transmisi dan mekanisme rate control pada TCP mempunyai karakteristik yang tidak cocok untuk media streaming. Sistem streaming yang sekarang untuk Internet bersandar pada layanan pengiriman yang terbaik dalam bentuk User Datagram Protocol (UDP). Hal ini memungkinkan lebih banyak fleksibilitas baik dalam hal mengontrol error dan rate control. Misalnya, bukan mengandalkan transmisi ulang saja, tetapi kesalahan yang di kontrol dapat diganti. UDP tidak memerlukan waktu untuk menjalin koneksi, data langsung saja dikirimkan. UDP lebih fleksibel karena misalnya saja terjadi kemacetan pada salah satu bagian jaringan, maka datagram dapat dialihkan menghindari bagian yang mengalami kemacetan tersebut. Kemudian apabila sebuah simpul(node) mengalami kerusakan/kegagalan, maka packet berikutnya dapat menemukan
23
jalan/rute pengganti yang melewati simpul tersebut. Rate Control pada TCP juga mewarisi karakteristik yang tidak alami untuk media streaming. Salah satu contoh adalah ketergantungan ditingkat transmisi pada packet Round-Trip Time (RTT). 2.6
Pemutaran Buffer untuk Mengatasi Delay dan Jitter Adapun factor – factor yang mempengaruhi pemutaran video untuk
mengatasi delay dan jitter sebagi berikut: 1.
Penurunan Jitter: Variasi kondisi pada jaringan menyebabkan waktu yang
dibutuhkan untuk mengirim paket antar klien yang bervariasi. Variasi tersebut dapat disebabkan oleh beberapa penyebab termasuk: antrian delay dan link-level retransmissions. Jitter menyebabkan ketidak stabilan pada pemutaran di karenakan oleh sample yang gagal pada waktu penampilan. Penggunaan buffering cukup efektive untuk menstabilankan pemutaran video pada semua sampel dan pada kebanyakan kasus secara praktis dapat menghilangkan ketidak stabilan oleh delay dan jitter. Keuntungan pada buffer pemutar di tunjukan pada gambar 2.4, dimana paket ditransmisikan dan dimainkan pada rasio yang konstan, serta buffer pemutar bisa menurunkan jumlah paket yang telat. 2.
Error recovery through retransmissions: diperpanjang deadline transmisi
untuk sampel media dapat memperbolehkan transmisi ulang pada saat pakai hilang seperti penggunaan UDP dari pada TCP. Karena media streaming yang di kompresi lebih terjadi terjadi error, maka kemampuan untuk memperbaiki losses menjadikan kualitas media streaming yang berkualitas. 3.
Interleaving ketahanan Error throughtput: Losses pada media stream,
terutama pada audio, sering tersembunyi apabila loss terisolasi bukan terkonsentrasi. Presentasi deadline yang diperpanjang dengan menggunakan buffer memungkinkan interleaving untuk mengubah kemungkinan meledaknya loss
di
saluran
menjadi
loss
yang
terisolasi,
sehingga
meningkatkan
penyembunyian loss pada saluran berikutnya. 4.
Smoothing
fluktuasi
Throughput:
Sejak
saat
berbagai
channel
menimbulkan berbagai waktu pada throughput, buffer dapat menyediakan data
24
yang diperlukan untuk mempertahankan streaming saat throughput yang rendah. Hal ini terutama penting ketika streaming yang dilakukan dengan menggunakan TCP (atau HTTP), karena server biasanya tidak bereaksi terhadap penurunan channel troughput dengan mengurangi pada rate media.
Gambar 2.4 Pengaruh Buffer Playout pada Pengurangan Jumlah Paket. (Vasos Vassiliou, 2000)
Manfaat buffer kepada nilai troughtput untuk kedepannya. Selain syarat menambah penyimpanan di klien streaming, buffer juga memperkenalkan tambahan delay sebelum pemutaran ulang bisa di mulai atau dilanjutkan (setelah jeda karena deplesi buffer). Adaptive Media Playout (AMP) adalah teknik baru yang memungkinkan sebuah tradeoff yang bernilai antara delay dan kehandalan. 2.7
Konsep Streaming Data Multimedia Streaming multimedia adalah suatu teknologi yang mampu mengirimkan
file baik itu text, image, audio, maupun video digital secara on-demand maupun real time pada jaringan internet. Streaming media dapat dimainkan ketika file media sedang di transfer.
25
2.7.1 Konsep Download Progresif Konsep download progressif adalah download sedikit demi sedikit , lalu sebagian data yang sudah di download dimainkan pada player. 2.7.2 Proses Streaming Media Setting komponen media streaming hanya merupakan langkah awal untuk menuju sistem media streaming yang utuh. Selain setting komponen, juga harus membuat streaming media content, untuk meletakkannya di server, dan menawarkan link untuk pengguna. Prosesnya dibagi menjadi beberapa tahap, yaitu: 1.
Creation Membuat content raw file yang akan di stream. Membuat content untuk
internet sama dengan membuat content untuk media broadcast. 2.
Encoding Konversi raw file ke format yg dapat di stream. Konfersikan content ke
format media streaming. 3.
Authoring Mendesain bagaimana media akan disajikan. Akan diambil keputusan
bagaimana file streaming akan ditampilkan di Internet. Bisa juga memainkannya sebagai plugin yang terdapat pada browser. 4.
Serving Meletakkan file pada server dan mempublish di Internet.
2.7.3 Multicasting Media Streaming dapat di deliver kepada user menjadi tiga cara, yaitu: 1.
Unicast Server mengirimkan stream kepada setiap individual user. On-demand
delivery selalu menggunakan model unicast.
26
2.
Broadcast Single stream di-deliver ke banyak user secara simultan. Setiap user
mempunyai koneksi sendiri ke server. Hampir semua live broadcast menggunakan model broadcast. 3.
Multicast Single stream di broadcast pada jaringan menggunakan special multicast
IP address. Ketika pengguna bergabung pada broadcast, player engguna diinstruksikan untuk mengambil kopian data dari paket broadcast pada jaringan, Multicasting hanya dapat digunakan pada
live/simulated live delivery.
Multicasting jauh lebih efisien daripada broadcasting. 2.8
Dynamic Adaptive Streaming over HTTP (DASH) Dynamic Adaptive Streaming over HTTP (DASH), atau juga dikenal
sebagai MPEG-DASH, adalah teknik yang memungkinkan streaming konten media melalui Internet dari server web konvensional (HTTP), yaitu dengan memecah konten menjadi beberapa segmen. Konten DASH bisa diletakkan ke dalam kontainer standar (misal: .mp4, .webm) atau MPEG-2 Transport Stream (.ts). DASH bersifat audio/video codec agnostic, yang memungkinkan beberapa representasi file multimedia (seperti video beda resolusi, bitrate, codec, dll). Pemilihan representasi file bisa didasarkan atas keadaan kecepatan jaringan, kemampuan perangkat, dan keinginan pengguna. DASH juga agnostik ke dalam lapisan aplikasi protokol yang mendasari. Dengan demikian, DASH dapat digunakan dengan protokol, misalnya, seperti Dynamic Adaptive Streaming over Content Centric Networks (DASH over CCN). (Christopher Mueller, 2013) DASH adalah standar yang dirancang untuk penyampaian media melalui infrastruktur yang sudah ada dan mampu menangani berbagai kondisi bandwidth selama streaming berlangsung, khususnya dalam lingkungan yang bergerak (mobile).
DASH tidak menggunakan RTP karena memiliki kendala dalam
berbagai hal, seperti firewalls dan seringkali paket-paket UDP diblock. Solusi lainnya untuk mengatasi masalah tersebut adalah dengan menggunakan HTTP,
27
namun di sisi lain HTTP juga mengalami delay. DASH disini lebih digunakan dalam hal meningkatkan performa video streaming untuk pendistribusian file yang lebih interaktif dari user ke klien . 2.9
Metode Dynamic Adaptive Streaming over HTTP Dynamic adaptive streaming adalah teknik yang mendeteksi bandwidth
yang tersedia untuk pengguna dan kapasitas CPU (Computer Protocol Unit) untuk menyesuaikan kualitas video yang diberikan kepada pengguna. Hal ini membutuhkan encoder untuk menyediakan video dengan beberapa variasi bit rate dan dapat diimplementasikan pada CDN (Content delivery network) untuk memberikan peningkatan skalabilitas. Sehingga pengguna dapat memperoleh hasil pengiriman media dengan kualitas tertinggi. Teknik untuk menyesuaikan bit rate video dengan ketersediaan bandwidth diklasifikasikan kedalam 3 kategori yaitu: transcoding, scalable encoding, dan stream switching. Proses adaptive streaming yang menyesuaikan kualitas video yang dikirim ke halaman web berdasarkan perubahan kondisi jaringan untuk memastikan penampil pengalaman terbaik. Kecepatan koneksi internet sangat bervariasi, dan kecepatan masingmasing jenis koneksi juga bervariasi tergantung pada berbagai kondisi. Misalnya, jika pengguna terhubung ke ISP (Internet Service Provider) di 56 Kbps, itu tidak berarti bahwa 56 Kbps bandwidth yang tersedia setiap saat. Bandwidth dapat bervariasi, yang berarti bahwa koneksi 56-Kbps dapat menurunkan atau meningkatkan berdasarkan kondisi jaringan saat ini, menyebabkan kualitas video berfluktuasi juga. Adaptive Streaming menyesuaikan kecepatan bit video untuk beradaptasi dengan perubahan kondisi jaringan. 2.9.1 Transcoding Dengan menggunakan trancoding dapat dilakukan konversi raw video pada server untuk menghasilkan video dengan bit rate yang diinginkan. Keuntungan dari teknik ini yaitu didapatkan secara halus pada saat terjadi perubahan bandwidth ketika video tersebut dikirimkan kepada pengguna. Namun ada juga sisi kerugiannya menggunakan metode ini. Pada metode ini diperlukan
28
biaya yang tinggi untuk melakukan transcoding untuk menyesuaikan bit rate video dengan ketersediaan bandwidth pada saat jumlah permintaan untuk kualitas video tertentu sangat banyak. Akibatnya pada kejadian ini dapat menurunkan skalabilitas pada server tesebut. Hal ini diperlukan proses komputasi yang cepat pada proses transcoding tersebut. Kerugian ini dapat diatasi dengan menggunakan CDN. Metode transcoding paling popular adalah mendecode data asli ke suatu format antara (yakni Pulse-code modulation untuk audio atau YUV / ruang warna biasanya digunakan sebagai bagian dari color image pipeline untuk video), di dalam suatu cara yang masih berisi materi aslinya, dan dilanjutkan dengan encoding berkas yang dihasilkan ke format target. Seseorang dapat juga me-re-encode data pada format yang sama (juga disebut recode, seperti di dalam Nero Recode). Seseorang dapat melakukan ini untuk beberapa alasan: 1. Penyalinan Jika seseorang ingin menyalin data di dalam format terkompresi (misalnya, menampilkan penyuntingan gambar digital pada suatu gambar Joint Photographic Experts Group (JPEG)), seseorang pada umumnya akan mendecode untuk menyalinnya, kemudian me-reencode-nya. Proses re-encoding ini menyebabkan digital generation loss, dengan demikian jika seseorang ingin menyunting sebuah berkas secara berulang-ulang, dia sebaiknya hanya mendecode sekali saja, dan membuat seluruh suntingan pada salinan itu, lebih dari sekadar proses decoding and re-encoding yang berulang-ulang. 2. Bitrate rendah Transrating adalah proses yang sama dengan transcoding di mana berkasberkas dikodekan pada bitrate rendah tanpa mengubah format video; ini dapat menyertakan sample rate conversion, tetapi dapat menggunakan sampling rate yang sama, dengan kompresi yang lebih besar. Ini memungkinkan seseorang cocok dengan media yang diberikan kepada ruang penyimpanan yang lebih kecil
29
(misalnya, menyalin DVD ke sebuah Video CD), atau melalui suatu saluran dengan bandwidth rendah. 3. Image scaling Pengubahan ukuran gambar pada suatu video dikenal sebagai transsizing, dan digunakan jika resolusi keluaran berbeda dengan resolusi sumber. Pada komputer yang cukup baik, penskalaan gambar dapat dilakukan pada playback, tetapi bisa juga dilakukan dengan reencoding, khususnya sebagai bagian dari transrating (suatu gambar yang di-downsampled memerlukan bitrate rendah). 2.9.2 Scalable Coding Video (SCV) Scalable Encoding menggunakan standar codec yang mempunyai kemampuan scalable, resolusi gambar dan frame rate dapat disesuaikan tanpa harus melakukan Encoding kembali dari awal. Metodi ini cenderung mengurangi beban pengolahan tetapi sangat terbatas pada format codec tersebut. Tujuan dari standarisasi SVC adalah mengaktifkan pengkodean bit stream video berkualitas tinggi yang mengandung satu atau lebih bit streams, sebuah bagian yang dapat diterjemahkan dengan kualitas kompleksitas dan rekonstruksi yang sama dengan yang dicapai dengan menggunakan MPEG-4 dengan desain jumlah data yang sama seperti dalam bit stream subset. Subset bit stream diperoleh dengan menjatuhkan paket dari bit stream yang lebih besar. Sebuah bagian bit stream dapat mewakili resolusi spasial yang lebih rendah (layar yang lebih kecil), atau resolusi temporal yang lebih rendah (frame rate yang lebih rendah), atau lebih rendah kualitas sinyal video (masing-masing secara terpisah atau kombinasi) dibandingkan dengan yang berasal dari bit stream. Ada beberapa modalitas di jelaskan sebagai berikut:
Temporal skalabilitas (frame rate): dependensi kompensasi gerak yang terstruktur, sehingga gambar lengkap (yaitu paket yang terkait) dapat turun dari bit stream. (Skalabilitas Temporal sudah diaktifkan oleh MPEG-4. SVC hanya memberikan informasi tambahan untuk meningkatkan penggunaannya.)
30
Spatial skalabilitas (ukuran gambar): video dikodekan pada beberapa resolusi spatial. Sampel data diterjemahkan dari resolusi yang lebih rendah dapat digunakan untuk memprediksi data atau sampel dari resolusi yang lebih tinggi dengan mengurangi kecepatan bit untuk kode resolusi yang lebih tinggi.
SNR/Quality/Fidelity skalabilitas: video dikodekan pada resolusi spatial tunggal tetapi pada kualitas yang berbeda. Sampel data akan diterjemahkan dari kualitas yang lebih rendah, dapat digunakan untuk memprediksi data atau sampel kualitas yang lebih tinggi untuk mengurangi kecepatan bit untuk kode kualitas yang lebih tinggi.
Skalabilitas Gabungan: kombinasi dari 3 modalitas skalabilitas yang dijelaskan di atas.
2.9.3 Stream Switching Merupakan sebuah upaya mengkodekan raw video dengan bit rate yang bervariasi dari konten yang sama. Metode ini menggunakan sebuah algoritma untuk memiliki level video dengan bit rate yang sesuai dengan ketersediaan bandwidth dari pengguna. Jika terjadi perubahan bandwidth, maka algoritma tersebut memutuskan untuk beralih pada level video dengan bit rate yang cocok agar pemutaran video pada pengguna dapat terus dilakukan. Tujuan utama dari metode ini adalah untuk meminimalisasi biaya pengolahan, karena tidak ada proses lebih lanjut yang diperlukan setelah semua tingkatan bit rate video dihasilkan. Selain itu, metode ini tidak memerlukan format codec tertentu. Kelemahan dari pendekatan ini adalah granularity (suatu sistem dipecah menjadi bagian-bagian kecil) yang kasar karena level video yang dibangun memiliki bit rate yang bersifat diskrit (memiliki tingkatan). Selain itu membutuhkan ruang penyimpanan dimana terdapat level video yang mungkin tidak pernah diakses oleh klien. Rata-rata bitrate dapat dilihat sebagai kinerja keseluruhan sistem pada set up tes tertentu dan akan dihitung dengan persamaan di bawah ini:
31
.................................................................. (2.1)
Dimana :
Jumlah kualitas switch metrik lainnya yang menggambarkan varians sesi. Nilai-nilai tinggi menunjukkan sangat sering beralih dapat menyebabkan penurunan kualitas. Rumus ini digunakan untuk menghitung jumlah switch bitrate. 2.10
Bitdash Bitdash ™ adalah paket yang sangat mengoptimal MPEG-DASH platform
variouse dan perangkat pada sisi, serta memberikan kinerja terbaik streaming dan kenyamanan streaming pada sisi klien, khususnya di samping kondisi jaringan. Bitdash ™ adalah hasil dari R & D investasi dan menggabungkan patent pending technology sehingga MPEG-DASH adalah solusi klien yang sesuai, yang memberikan hingga 101% lebih tinggi efektif throughput serta kualitas lebih tinggi secara signifikan dari Quality of Experience (QoE) dibandingkan dengan bitrate adaptive teknologi streaming yang ada pada saat ini. Platform bitdash didukung oleh:
Web: HTML5 Media Source Extensions (MSE) + JavaScript, Flash using OSMF.
Android: HTML5 Media Source Extensions (MSE) for browser-based playout dan App-integration via WebView (> Android 4.2), C++ level native & Java libraries.
32
C++ Implementation: Embedded client libraries for Windows, Linux, and Mac (32/64 bit). Bitdash sangat efektif terhadap streaming klien, tidak memerlukan plugin
tertentu. Bitdash tersedia sebagai implementasi berbasis JavaScript untuk platform HTML5 (menggunakan Media Sumber Extensions), serta Client berbasis Adobe Flash untuk penggunaan di dalam browser web yang tidak mendukung adaptive streaming HTML5 (misalnya Firefox). 2.11
Peak Signal to Noise Ratio
PSNR (Peak Signal to Noise Ratio) merupakan suatu ukuran umum digunakan untuk mengukur kualitas citra yang telah diolah terhadap aslinya. Pertama dilakukan perhitungan kesalahan terhadap citra yang telah diolah f(x,y) terhadap citra asli g(x,y). Setelah didapatkan nilai MSE (Mean Square Error) yang akan digunakan untuk mencari nilai PSNR (Shi, 2007). ( , )= ( , )−
( , )................................................... (2
∑
( , ) ........................................(2.3)
e : error f : citra terolah g : citra asli x : koordinat horisontal y : koordinat vertikal
MSE : Mean Square Error
=
M
: dimensi horisontal citra
N
: dimensi vertikal citra
∑
PSNR : Peak Signal to Noise Ratio dalam decibel
= 10
(
)
............................................. (2.4)