Video streaming Kompresi Video Bitrate Video

6

BAB II DASAR TEORI

2.1 Video streaming

Video streaming adalah sekumpulan dari gambar yang dikirimkan dalam bentuk yang telah dikompresi melalui suatu jaringan dan ditampilkan oleh player ketika video tersebut telah diterima oleh user yang membutuhkan. Player merupakan aplikasi khusus yang melakukan dekompresi data berupa video. Sebuah player dapat berupa sebuah perangkat lunak atau bagian dari browser. Media streaming telah ada selama 70 tahun. Media streaming dapat berupa video ataupun audio. Pertama kali video diolah dan ditransmisikan dalam bentuk analog. Munculnya digital IC Integrated Circuit dan berkembangnya komputer telah membantu terbentuknya video digital, salah satu penerapan video digital yang digunakan dalam transmisi pada jaringan komputer adalah video streaming . Streaming dapat dianggap sebagai bagian dari webcasting, namun streaming tidak harus menggunakan web. Aliran data dapat disampaikan melalui wireless jaringan atau intranet pribadi [6].

2.2 Coder

dan Decoder CODEC Coder-Decoder adalah suatu metode yang digunakan untuk melakukan sampling terhadap sinyal analog kemudian sebelum ditransmisikan sinyal analog tersebut dikonversi ke dalam bit-bit digital, lalu mengubahnya kembali agar dapat digunakan. CODEC mempunyai fungsi untuk mengecilkan compress file berupa video dan audio ke dalam ukuran data yang lebih kecil Universitas Sumatera Utara 7 kemudian mengembalikannya keukuran semula decompress. Prosedur pengiriman video terkompresi ditunjukkan pada Gambar 2.1 [6]. Gambar 2.1 Prosedur Pengiriman Data Video Terkompresi [6] CODEC digunakan untuk menghemat bandwidth. Namun, resikonya suara dan gambar yang dihasilkan menjadi kurang jernih. Terdapat 2 jenis CODEC, yaitu lossy CODEC dan lossless CODEC. Berikut ini akan dibahas jenis CODEC tersebut.

2.2.1 Lossy CODEC

Lossy CODEC merupakan jenis kompresi dengan melakukan pengurangan ukuran data dari data yang sebenarnya. Banyak CODEC yang popular termasuk dalam katagori ini. CODEC ini akan mengurangi kualitas data. Biasanya CODEC ini digunakan untuk menyimpan data pada media penyimpanan yang berukuran terbatas seperti CD-ROM dan DVD.

2.2.2 Lossless CODEC

Berbeda halnya dengan kompresi Losy CODEC, Lossless CODEC merupakan jenis kompresi tanpa terjadi pengurangan data. Akibatnya, ukuran data Lossless CODEC lebih besar dari Lossy CODEC. Penggunaan lossless CODEC Universitas Sumatera Utara 8 sering digunakan pada video yang masih memerlukan editing atau penggunaan dalam aplikasi kedokteran yang harus menampilkasn citra asli.

2.3 Kompresi Video

Ada banyak redudansi dalam sinyal video digital. Secara rinci, terdapat korelasi yang besar antara piksel tetangga spasial dan frame berikutnya temporal. Redundansi berarti informasi yang umum ditemukan pada lebih dari satu gambar atau video. Gambar 2.2 menunjukkan data video berdasarkan spatial dan temporal [7]. Gambar 2.2 Spatial dan Temporal Dari Urutan Suatu Gambar [7] Banyak teknik pengkodean kompresi video telah dikembangkan untuk mengurangi redudansi diantaranya adalah transform coding, entropi coding, loop filter, dll.. Gambar 2.3 mengilustrasikan garis waktu untuk teknik kompresi [8]. Gambar 2.3 Perkembangan Teknik Kompressi Video [8] Universitas Sumatera Utara 9

2.4 Standar Kompresi Video

ITU-T International Telecommunication Union – Telecommunication Sector membuat beberapa standar yang direkomendasikan untuk kompresi video. Beberapa standar tersebut diantaranya adalah H.261,H.263,H.264, dan H.265. Berikut akan dibahas jenis standar tersebut:

2.4.1 Kompresi H.261

Standar H.261 adalah standar yang diterbitkan oleh ITU-T pada tahun 1990. Standar H.261 didesain untuk kompresi video yang akan ditansmisikan melalui jaringan ISDN Integrated Services Digital Network dengan bandwidth sebesar pK64 Kbits, dimana p berkisar antara 1 sampai 30. Gambar 2.4 menunjukkan komponen utama yang digunakan untuk code dan decode bitstreams H.261 berdasarkan dokumentasi ITU [9]. Gambar 2.4 Blok Diagram H.261 Menurut Rekomendasi ITU [9] Standar H.261 ini diimplementasikan untuk aplikasi conference dan videophone. Pengiriman video melalui H-261 ISDN berbeda dengan H.263. Universitas Sumatera Utara 10 H.261 di rancang untuk pengiriman video melalui jaringan ISDN Integrated Services Digital Network yang merupakan standar video coding yang dibuat oleh CCITT Consultative Commitee for International Telephone and Telegraph. H.261 merekomendasikan sebuah standar coding untuk pengiriman data dengan kelipatan m K 384Kbps m=1,2,..5 dan dirancang untuk video conference. Kecepatan bitrate antara p K 64 Kbps. Dimana p adalah frame rate antara 1 sampai 30. Susunan frame H.261 berurutan dimana tiap - tiap 3 buah frame I dibatasi dengan 1 buah interframe P [9].

2.4.2 Kompresi H.263

Pada Februari 1995 ITU-T SG15 mengeluarkan standar H.263 yang dirancang untuk penggunaan komunikasi bitrate namun tidak pernah berjalan dengan baik ketika melalui jaringan POTS Plain Old Telephone Service. Standar H.263 telah menggantikan standar H.261 untuk video conference dibeberapa aplikasi yang mendominasi standarisasi untuk beberapa aplikasi internet video streaming sekarang ini. Prinsip kerja H.263 yaitu video frame akan ditangkap di sumber pengirim dan di encode dikompresi dengan video encoder. File video yang terkompres kemudian dikirimkan melalui jaringan atau saluran telekomunikasi dan di decode dekompresi menggunakan video decoder. Frame yang di decode ini yang kemudian akan di tampilkan. Pada saat ini, cukup banyak standar yang ada, masing-masing di desain untuk keperluan tertentu. Masing-masing standar pun memiliki prinsip kerja yang berbeda. Gambar 2.5 menunjukkan blok diagram CODEC H.263 [9]. Universitas Sumatera Utara 11 Gambar 2.5 Blok Diagram H.263 [9]

2.4.3 Kompresi

H.264 CODEC H.264 dapat melakukan proses decoding secara lengkap, inverse transform untuk menghasilkan sebuah urutan video yang telah di-encode. Encoder pada H.264 menggunakan prediksi intra-frame atau estimasi gerak untuk memprediksi piksel dari setiap blok gambar. Prediksi intra-frame menggunakan piksel blok tetangga untuk memprediksi piksel dari blok saat ini. Perbedaan antara piksel diprediksi dan piksel yang sebenarnya berubah menjadi domain frekuensi, menghasilkan blok koefisien frekuensi. koefisien ini terkuantisasi, dan bitstream output dikompresi menggunakan pengkodean entropy. Ada dua jenis entropy coder pada CODEC H.264 yang dapat digunakan. Dua jenis tersebut yaitu context adaptive based arithmetic coding CABAC dan context adaptive variable length coding CAVLC. Gambar 2.6 menunjukkan blok diagram CODEC H.264 [10]. Universitas Sumatera Utara 12 Gambar 2.6 Blok Diagram H.264 [10]

2.4.4 Kompresi H.265

H.265 atau High Efficiency Video Coding HEVC merupakan CODEC yang mimilii kualitas video yang setara dengan CODEC yang ada saat ini yaitu H.264 namun hanya membutuhkan setengah bandwidth dari CODEC lama tersebut. Cara Kerja H.265 ini sama seperti H.264 dan Mpeg-2, H.265 menggunakan 3 jenis frame yaitu : I-,B-,dan P-frame dalam sekumpulan gambar, menggabungkan ke dua elemen kompresi intra dan inter frame. Efesiensi yang diterapkan pada H.265 diantaranya mengunakan coding tree block CTB dan intra prediction direction [1]. Untuk lebih jelasnya, dapat dilihat sebagai berikut. 1. Coding Tree Blocks, sebelumnya H.264 menggunakan macro block dengan ukuran maksimalnya yaitu 16K 16 pixel. Dengan CTB, ukuran maksimal standar H.265 ialah 64 K 64 piksel. Gambar 2.7 memperlihatkan perbedaan macro block pada H.264 dengan tree block pada H.265 [1]. Universitas Sumatera Utara 13 Gambar 2.7 Perbandingan Macro Block a dan Tree Block b [1] 2. Lebih banyak intra prediction direction, H.264 menggunakan 9 intra prediction direction sedangkan H.265 menggunakan lebih dari 35 intra prediction direction. Gambar 2.8 memperlihatkan perbedaan antara intra prediction direction pada CODEC H.264 dengan H.265 [1]. a b Gambar 2.8 Intra Prediction Direction H.265 a dan H.264 b [1] Pembahasan secara singkat di atas dapat diilustrasikan menggunakan pendekatan berbasis diagram blok yang ditunjukkan pada Gambar 2.9 [1]. Universitas Sumatera Utara 14 Gambar 2.9 Blok Diagram CODEC H.265 [1]

2.5 Konsep Kompresi Interframe

Kompresi interframe merupakan kompresi yang terpenting saat proses kompresi video. Konsep dasar kompresi interframe menggunakan redudansi temporal yang terdapat dalam sekelompok frame. Metode yang digunakan adalah sebagai berikut:

2.5.1 Prediksi Dari Frame Video Sebelumnya Difference Coding

Metode paling sederhana dari prediksi temporal adalah dengan menggunakan frame sebelumnya sebagai prediktor untuk frame sekarang. Dua frame berturut-turut dari urutan video yang ditampilkan pada Gambar 2.10 dan Gambar 2.11. Frame 1 digunakan sebagai prediktor untuk residu frame 2 yang dibentuk dengan mengurangkan prediktor frame 1 dengan frame sekarang frame 2 ditunjukkan pada Gambar 2.12 [7]. Universitas Sumatera Utara 15 Gambar 2.10 Frame ke-1 [7] Gambar 2.11 Frame ke-2 [7] Gambar 2.12 Selisih Besar Piksel Pada Gambar 2.10 dan Gambar 2.11 [7]

2.5.2 Estimasi Dan Kompensasi Gerak

Perubahan antara frame video dapat disebabkan oleh gerakan objek misalnya sepeda yang bergerak, lengan bergerak, kamera motion panning, tilt, zoom, rotasi, dan perubahan pencahayaan. Perubahan pergerakan tersebut memungkinkan untuk memperkirakan lintasan setiap piKel video, medan lintasan pixel dikenal sebagai aliran optik. Universitas Sumatera Utara 16 Gambar 2.13 menunjukkan medan aliran optik untuk frame dari Gambar 2.10 dan Gambar 2.11 [7]. Gambar 2.13 Medan Aliran Optik [7] Jika medan aliran optik secara akurat dikenal, dimungkinkan membentuk prediksi yang akurat dari sebagian besar piksel frame dengan memindahkan setiap pixel dari kerangka acuan di sepanjang vektor aliran optik. Untuk membentuk kompensasi gerak yang akurat dibutuhkan komputasi secara intensif . Estimasi gerak motion estimation merupakan teknik kompresi interframe yang memprediksi sebuah frame dari frame sebelumnya reference frame , dengan mengestimasi gerakan blok – blok antar frame tersebut. Frame dibagi menjadi blok – blok yang tidak overlap. Tiap blok dibandingkan dengan blok – blok berukuran sama, pada frame sebelumnya dengan melakukan pencocokan blok block matching . Dalam melakukan pencocokan tersebut, lokasi dari blok yang paling mirip pada frame referensi reference frame berbeda dari lokasi blok target target block. Perbedaan relatif posisi ini disebut vektor gerak motion vector. Gambar 2.14 menunjukkan contoh vektor gerak [7]. Universitas Sumatera Utara 17 Gambar 2.14 Vektor gerak [7] Vektor geraknya bernilai nol jika posisi blok target dan blok yang match sama. Ketika mengkodekan tiap blok dari frame yang diprediksi, vektor gerak yang menunjukkan posisi blok yang match pada frame referensi, dikodekan pada posisi blok yang match pada frame referensi, dikodekan pada posisi target blok itu sendiri, maka terjadi kompresi, karena jumlah bit yang diperlukan untuk mengkodekan vektor gerak lebih sedikit daripada untuk mengkodekan suatu blok secara utuh. Pada dekompresi, dekoder menggunakan vektor gerak untuk menemukan matching block pada frame referensi dan menyalin matching block tersebut ke posisi yang sesuai pada frame yang sedang diprediksi. Dengan demikian, suatu frame prediksi tersusun atas blok – blok dari frame sebelumnya.

2.6 Konsep Kompresi Intraframe

Selain kompresi interframe dibutuhkan kompresi intraframe untuk melakukan kompresi pada bidang spatial. Konsep dasar kompresi intraframe menggunakan redudansi spatial yang terdapat dalam sekelompok block di dalam satu frame. Beberapa teknik intraframe di antaranya discrete cosine transform dan kuantisasi. Universitas Sumatera Utara 18

2.6.1 Discrete Cosine Transform DCT

Prinsip dasar yang dilakukan dengan Discrete Cosine Transform DCT adalah mentransformasikan data dari domain ruang ke domain frekuensi. Discrete Cosine Transform DCT beroperasi pada X blok N × N sampel dan menghasilkan matrik Y. DCT dapat dirumuskan sebagai berikut [7]: Y = AXA T 2.1 X=A T YA 2.2 dimana: X= matrik samples, Y= matrik hasil transformasi A= N K N matriks transformasi Untuk mencari elemen dari matrik A dapat menggunakan persamaan berikut [7]: A ij = C i 2.3 dimana: C i = = 0 2.4 C i = 0 2.5 Persamaan 2.1 dan 2.2 dapat ditulis dalam bentuk penjumlahan yaitu [7]: = ∑ ∑ cos cos 2.6 = ∑ ∑ cos cos 2.7

2.6.2 Kuantisasi

Proses kuantisasi merupakan proses untuk mengurangi jumlah bit yang diperlukan untuk menyimpan suatu nilai dengan memperkecilnya. Proses ini Universitas Sumatera Utara 19 diterapkan pada keluaran proses DCT. Kuantisasi dilakukan dengan membagi keluaran proses DCT dengan suatu nilai yang ditetapkan dalam matriks kuantisasi atau disebut quantum. Kuantisasi uniform secara umum dapat dirumuskan dengan [7]: Z = round 2.8 dimana: Z= Nilai terkuantisasi Y= Nilai DCT Q= table kuantisasi

2.7 Entropy Coder

Entropy encoder mengkonversi serangkaian simbol yang mewakili unsur urutan video menjadi bitstream terkompresi yang cocok untuk transmisi atau penyimpanan. Beberapa teknik entropy coder antara lain Huffman coding dan context adaptive binary arithmetic coding:

2.7.1 Huffman Coding

Kode Huffman pada dasarnya merupakan kode prefiks prefix code. Kode prefiks adalah himpunan yang berisi sekumpulan kode biner, dimana pada kode prefik ini tidak ada kode biner yang menjadi awal bagi kode biner yang lain. Kode prefiks biasanya direpresentasikan sebagai pohon biner yang diberikan nilai atau label. Untuk cabang kiri pada pohon biner diberi label 0, sedangkan pada cabang kanan pada pohon biner diberi label 1. Universitas Sumatera Utara 20 Rangkaian bit yang terbentuk pada setiap lintasan dari akar ke daun merupakan kode prefiks untuk karakter yang berpadanan. Pohon biner ini biasa disebut pohon Huffman. Langkah-langkah pembentukan pohon Huffman adalah sebagai berikut [11] : 1. Baca semua karakter di dalam teks untuk menghitung frekuensi kemunculan setiap karakter. Setiap karakter penyusun teks dinyatakan sebagai pohon bersimpul tunggal. Setiap simpul di-assign dengan frekuensi kemunculan karakter tersebut. 2. Terapkan strategi algoritma greedy sebagai berikut : Gabungkan dua buah pohon yang mempunyai frekuensi terkecil pada sebuah akar. Setelah digabungkan akar tersebut akan mempunyai frekuensi yang merupakan jumlah dari frekuensi dua buah pohon-pohon penyusunnya. 3. Ulangi langkah 2 sampai hanya tersisa satu buah pohon Huffman. Agar pemilihan dua pohon yang akan digabungkan berlangsung cepat, maka semua yang ada selalu terurut menaik berdasarkan frekuensi.

2.7.2 Context Adaptive Binary Arithmetic Coding CABAC

CODEC H.261 dan CODEC H.263 menggunakan Huffman Coding untuk pembentukan bitstream. Sedangkan context-based adaptive binary aritmethic coding CABAC digunakan pada CODEC H.265 dan CODEC H.264. CABAC adalah suatu bentuk coding untuk membentuk bit-bit tertentu untuk selanjutnya di salurkan ke jaringan berdasarkan prinsip aritmethic coding. Untuk lebih jelasnya, prinsip kerja CABAC ditunjukkan pada Gambar 2.15. Universitas Sumatera Utara 21 Gambar 2.15 Blok Diagram CABAC [1] CABAC terdiri atas 3 bagian coding yaitu binarization, context modeling, binary aritmethic [1]. 1. Binarization Pengurangan alphabet dilakukan oleh binarization untuk tiap non binary element menghasilkan suatu intemediate unik codeword biner untuk unsur sintaksis yang ditentukan yang disebut bin string. 2. Context modeling digunakan untuk membersihkan interface antara modeling dan model. Setiap distribusi model akan diberi simbol yang kemudian didalam langkah coding selanjutnya, memandu coding engine to generate suatu urutan bit sebagai code pada simbol menurut distribusi model. 3. Binary Arimethic Coding adalah berdasarkan pada prinsip pengulangan interval [lower, upper yang melibatkan operasi perkalian dasar dan juga berdasar pada arithmethic coding. Universitas Sumatera Utara 22

2.8 Bitrate Video

Bitrate video adalah jumlah jumlah bit yang diproses per satu satuan waktu. Bitrate video dapat dikatakan dengan transfer speed, kecepatan koneksi, bandwidth, throughput maksimum. Bitrate juga bisa diartikan sebagai jumlah bit yang diproses dalam satu satuan waktu untuk mewakili media seperti video dan audio setelah dilakukan kompresi. Satuannya adalah bit per second bps. Kualitas video diatur dalam proses encoding videonya. Semakin tinggi bitrate maka akan semakin banyak informasi data videonya. Oleh karena itu, gambar akan menjadi semakin baik kedalaman warnanya [12].

2.9 Konsep TCPIP