Anda di halaman 1dari 8

BAB 2 DASAR TEORI

2.1 Streaming
Streaming adalah suatu teknologi untuk memainkan file audio atau video secara real
time maupun on-demand dari sebuah mesin server (web server). File audio atau video yang
terletak pada sebuah server dapat secara langsung dijalankan pada computer client sesaat
setelah ada permintaan dari pengguna sehingga proses download file tersebut yang
menghabiskan waktu cukup lama dapat dihindari.
Saat file tersebut di-stream maka akan terbentuk sebuah buffer di komputer client dan
data audio atau video tersebut akan mulai di-download ke dalam buffer yang telah
terbentuk pada mesin client. Setelah buffer terisi dalam waktu hitungan detik, maka secara
otomatis file video ataupun audio akan di jalankan oleh sistem. Sistem akan membaca
informasi dari buffer sambil tetap melakukan proses download file sehingga proses
streaming tetap berlangsung ke mesin client. Delay waktu sesaat sebelum file video atau
audio di jalankan berkisar antara 5 sampai dengan 30 detik.
Konsep dasar dari video streaming adalah membagi paket video ke dalam beberapa
bagian, mentransmisikan paket tersebut, kemudian pada pihak penerima (client) dapat
men-decode dan memainkan potongan paket file video tanpa harus menunggu seluruh file
terkirim ke mesin penerima.
Secara garis besar, konsep video streaming di bagi ke dalam tiga tahap, antara lain:
1. Mempartisi atau membagi data video yang telah terkompresi ke dalam paket paket
data.
2. Pengiriman paket paket data video.
Pihak penerima (client) mulai men-decode dan menjalankan video walaupun paket data
yang lain masih dalam proses pengiriman ke PC client.
2.2 Arsitektur Streaming
Sistem streaming tersusun dari kombinasi server , player, transmisi dan metode
encoding yang digunakan. Berikut ini bagian hubungan setiap komponen penyususun sistem
streaming.

Gambar 2.1 Path streaming

Untuk framework aplikasi video streaming protokol pada layer network akan
menggunakan model IP (Internet Protokol), sedangkan unutk layer transpot protokol yang
dipakai merupakan gabungan antara Transport Control Protokol (TCP) dan User Datagram
Protokol (UDP).
2.3 Kompresi
Kompresi adalah sebuah konversi data ke sebuah format yang lebih kecil, biasanya
dilakukan sehingga data dapat disimpan atau disalurkan lebih efisien. Teknik kompresi erat
hubungannya dengan encoding (pengkodean) yang digunakan untuk merepresentasikan
data dalam representasi yang lain sehingga kuantitas data dengan representasi yang baru ini
lebih sedikit dibandingkan kuantitas data yang asli, sedangkan proses pengembalian data
yang sudah dikecilkan tersebut disebut dekompresi. Dan bila proses dekompresi
menghasilkan data yang sama dengan yang semula makan kompresi itu disebut "lossless".
Sedangkan bila data yang didekompresi tersebut menghasilkan data yang lebih kecil maka
kompresi ini disebut "lossy". Kompresi video lossless meskipun mungkin dilakukan, namun
dalam praktik jarang digunakan, dan semua data video standar biasanya membuang
sebagian data.
2.4 Codec
Codec adalah singkatan dari Compressor-Decompressor atau bisa juga Coder-
Decoder, yaitu sebuah device atau program yang mampu mengubah/mentransform sinyal
atau aliran data. codec dapat merubah stream atau sinyal kedalam bentuk yang ter-
encode (sering dipakai pada transmisi, storage, enkripsi) kemudian diterima, atau dapat
men-decode bentuk tersebut agar dapat dilihat / dimanipulasi ke bentuk yang lain. Codec
sering digunakan dalam video conference dan teknologi streaming. Sebagai contoh jenis
codec yang digunakan dalam penulisan tugas besar ini seperti H.263 dan H.264.
2.5 H.263
H.263 adalah standar kompresi video yang awalnya dirancang sebagai format kompresi
untuk video conference dengan bitrate rendah. H.263 dikembangkan oleh ITU-T Video
Coding Experts Group(VCEG) dalam sebuah proyek yang berakhir pada 1995/1996 sebagai
salah satu keluarga dari H.26x video coding standar dalam domain ITU-T.
H.263 telah banyak ditemukan dalam aplikasi yang ada di internet, seperti Flash Video
Content (seperti yang digunakan oleh situs YouTube, Google Video,MySpace, dll). Namun
seiring dengan perkembangan zaman banyak situs yang menggunakan VP6 atau encoding
H.264, versi asli dari codec Real Video yang didasarkan pada H.263 sampai dirilisnya
ReaLvIDEO 8. H.263 adalah video codec yang digunakan dalam ETSI 3GPP spesifikasi teknis
untuk IP Multimedia Subsystem (IMS), Multimedia Messaging Service (MMS) dan
Transparan end-to-end paket-switched Streaming Service (PSS). Dalam spesifikasi 3GPP,
video H.263 biasanya digunakan dalam format 3GP kontainer.
H.263 dikembangkan sebagai penyempurnaan evolusioner dari H.261, yang
sebelumnya menjadi ITU-T standar untuk kompresi video, dan standar MPEG-1 dan MPEG-2.
Versi pertama H.263 yang selesai pada tahun 1995 menjadi pengganti untuk H.261 dan
cocok untuk semua jenis bitrate. Selanjutnya H.263 lebih dikembangkan dan muncullah
proyek yang dikenal sebagai H.263v2 (juga dikenal sebagai H.263 + atau H.263 1998),lalu
pengembangan selanjutnya pada MPEG-4 Bagian 2 dengan nama H.263v3 (juga dikenal
sebagai H.263 + + atau H.263 2000). MPEG-4 Bagian 2 terdiri dari H.263 yang kompatibel
dalam arti bahwa H.263 bitstream dasar dapat diterjemahkan oleh decoder video MPEG-4
dengan benar.

Gambar 2.2

Gambar 2.3 Blok diagram H.263
Gambar tersebut menunjukan diagram blok dari dasar H.263. Pertama dilakukan
kompresi untuk mengurangi redudansi temporal. kemudian dilanjutkan dengan algoritma
Discrete Cosine Transform (DCT) yang digunakan untuk pengkodean prediksi gerak yang
pada frame berbeda. Selanjutnya lakukan Kuantisasi Koefesien DCT, gerak vektor dan disisi
informasi dikodekan dengan Variabel Length Code (VLC's).
H.263 mendukung 5 resolusi format gambar yaitu, Common Interchange Format (CIF),
Quarter Common Interchange Format (QCFI), Sub-QIF, 4CIF, 16CIF yang memiliki
kemampuan kompensasi gerak yang memungkinkan penggabungan opsional pada teknik
oder untuk menggunakan redudansi spasial untuk meningkatkan ketahanan terhadap
kehilangan data pada saat trasmisi. Setiap gambar dalam urutan video input dibagi menjadi
macroblocks, yang terdiri dari empat blok luminancedari 8 pixel, 8 baris diikuti oleh satu
blok dan satu blok, masing-masing terdiri dari 8 pixel, 8 baris. Sekelompok blok (GOB)
didefinisikan sebagai integer jumlah baris macroblocks, sebuah nomor yang tergantung
pada resolusi gambar. Sebagai contoh, GOB terdiri dari deretan macroblock tunggal pada
resolusi QCIF.

Gambar 2.4 format gambar pada H.236

Gambar 2.5 contoh H.263 struktutur QCIF
2.6 H.264
Standar H.264 dikembangkan dan dipublikasikan oleh MPEG (Motion Picture Expert
Group) dan VCEG (Video Coding Expert Group). Standar H.264 lebih dikenal sebagai MPEG4
part 10 atau AVC (Advance Video Coding). Standar H.264 bertujuan menghasilkan kualitas
video yang baik dengan bitrate yang lebih kecil dibandingkan dengan standar video
sebelumnya (MPEG-2, H.263 maupun MPEG-4 part-2). Tanpa harus melakukan perubahan
yang kompleks dan dapat diimplementasikan dengan biaya yang murah.
H.264 memiliki struktur video yang serupa dengan MPEG-4 karena struktur tersebut di
kembangkan berdasarkan MPEG-4, H.264 memiliki beberapa bagian yaitu GOP, slice,
macroblock dan block. Hanya saja terdapat beberapa perbedaan yang merupakan
penyempurnaan dari MPEG-4 yang salah satunya adalah ukuran blok yang lebih kecil yaitu
4x4.
H.264 memiliki tiga profil, yaitu:
1. Baseline Profile
Profil ini digunakan untuk video conference dan aplikasi wireless. Hanya mendukung
I-Picture dan P-Picture (tidak mendukung B-Picture). Mendukung in-loop deblocking
filter. 1/4 sample motion-compensation. Mendukung ukuran block sampai dengan
4x4. Mendukung adaptive frame/field. CAVLC (VLC-based entropy coding).
2. Main Profile
Main profile digunakan untuk layanan broadcast. Mendukung semua fitur baseline-
profile kecuali penambahan fitur error resilience. Mendukung B- picture. CABAC
(context-adaptive binary arithmetic coding). Mendukung interlaced picture.
Menggunakan MB-level pada saat pergantian frame atau field. Prediksi P-picture
dan B-picture secara adaptive.
3. Extended Profile
Profil ini digunakan dalam aplikasi streaming. Mendukung semua fitur baseline-
profile. Mendukung B-picture. Mendukung error resilience. Mendukung pergantian
frame/field dengan SP/SI.
Setiap level memiliki batas atas nilai dari ukuran gambar (dalam macroblock), rata-rata
waktu proses decode (dalam macroblock perdetik), ukuran multipicture buffer, bitrate
video, dan ukuran buffer video.
Pada H.264 terdapat kompresi intraframe dan interframe. Kompresi intraframe, yaitu
kompresi yang memanfaatkan redudansi spasial yang terdapat dalam satu frame. Ada
beberapa metode yang digunakan yaitu:
1. Sub Sampling
Metode untuk mengurangi jumlah bit untuk merepresentasikan suatu image.
2. Pengurangan Kedalaman Bit
Metode ini dilakukan dengan mengurangi jumlah bit yang digunakan untuk
merepresentasikan suatu piksel misalnya dari 16 bit atau piksel diturunkan menjadi
8 bit atau piksel. Dengan konsekuensi akan menurunkan kualitas video
dibandingkan video sebelumnya.
3. Transform Coding
Mentransformasikan data dari domain ruang ke dalam domain frekuensi. Cara ini
menghasilkan data yang lebih mudah diproses untuk kompresi lebih lanjut.
Transformasi yang popular digunakan misalnya discrete cosine transform (DCT ) dan
Wavelet.
4. Kuantisasi
Bertujuan untuk mengurangi jumlah bit yang diperlukan untuk menyimpan suatu
nilai dengan cara membaginya dengan nilai yang ditentukan dalam matrik
kuantisasi.
5. RLE (Run length encoding)
Proses serangkaian simbol yang berurutan dikodekan menjadi suatu kode yang yang
terdiri dari symbol tersebut dan jumlah perulangannya.
6. Entropy coding
Proses mengkodekan tiap piksel tertentu yang mempunyai panjang yang berbeda.
Teknik algoritmik yang digunakan berbeda antara proses pengkodean satu dengan
yang lainya. H.264 menggunakan CABAC (Context-based Adaptive Binary Arithmetic
Coding) atau CAVLC (Context Based Adaptive Variable Length Coding).
CABAC. Context-based Adaptive Binary Aritmethic Coding (CABAC) adalah suatu bentuk
coding yang merupakan pengembangan dari aritmethic coding. CABAC terdiri atas 3 bagian
coding yaitu binarization, context modeling, binary aritmethic.
Sedangkan kompresi interframe merupakan kompresi yang menggunakan redudansi
temporal yang terdapat dalam sekelompok frame yang di antaranya sebagai berikut.
1. Subsampling
Kompresi dengan cara mengurangi laju fame data video. Pengukuran itu dilakukan
dengan hanya menggunakan frame tertentu saja.
2. Difference coding
Metode fram ini di bagi menjadi beberapa block yang tidak tumpang tindih, tiap
block tersebut di bandingkan dengan block yang bersesuaian pada frame yang
sebelumnya, hanya block yang mengalami perubahan signifikan saja yang disimpan.
3. Motion Compensation
Metode ini juga menggunakan pembagian block yang sama, namun block tersebut
di bandingkan dengan frame yang sebelumnya, hingga ditemukan block yang paling
mirip. Perbedaan lokasi antara block tersebut dengan block yang mirip pada frame
yang sebelumnya disebut vektor gerak (motion vector). Metode ini efektif karena
hanya vector gerak saja yang disimpan atau ditrasmisikan.

Anda mungkin juga menyukai