Standar H.264 Teknik Kompresi H.264 Untuk Transmisi Data Hasil Video Aeromodelling

16 dengan cara menghilangkan redundansi atau kemunculan berulang-ulang dari bagian file. Berikut adalah blok dasar dari kompresi data. Gambar I.5 Blok Dasar Kompresi Data Keterangan :  Data asli: merupakan data input yang dikompresi, bisa berupa file text, file image dan sebagainya, sekaligus sebagai output dari proses dekompresi data.  Box proses kompresi data: proses data yang akan dikompresi menjadi data yang tidak sebenarnya.  Data hasil kompresi: merupakan keluaran dari proses kompresi data[4].

1.10 Standar 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. Merupakan sebuah codec video digital yang memiliki keunggulan dalam rasio kompresi tingkat kompresi yang tinggi dengan memanfaatkan metode blok transformasi adaptif yang efektif. Rentang kerja baik data rate dan bandwidth H.264 sama dengan standar sebelumnya, yaitu H.263. Perbedaan yang ada hanyalah pada saat entropy coding mode diset pada mode 1. Jika H.263 menggunakan pengkodean Huffman, maka H.264 menggunakan pengkodean Context-base Adaptive Binary Arithmetic Coding CABAC. Tambahan lain dari standar H.264, yaitu terletak pada varian macroblock yang dapat dipakai. Jika standar sebelumnya 17 hanya mengenal ukuran block 4x4, 8x8 dan 16x16, maka standar H.264 memiliki tujuh variasi ukuran block, 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 dan 4x4. Tujuan pengembangan H.264 adalah untuk membuat suatu standar video digital yang dapat menghasilkan kualitas video yang baik pada bit rate yang lebih kecil dibandingkan dengan standar video digital sebelumnya H.263 tanpa harus melakukan perubahan yang komplek dan dapat diimplementasikan dengan biaya yang murah[2]. Kompresi Intraframe Kompresi Intrafame dilakukan dengan memanfaatkan redundansi spasial yang terdapat dalam suatu frame. Redundansi ini disebabkan karena adanya kesamaan antara sebuah pixel dengan pixel disekitarnya. Kompresi intraframe terdiri dari proses transformasi dan kuantisasi, dalam proses transformasi digunakan Discrete Cosinus Transform DCT untuk melakukan proses transformasi dari domain waktu ke domain ruang. Kuantisasi digunakan untuk memotong hasil transformasi, proses selanjutnya adalah pengkodean dengan menggunakan Run Length Encoding RLE dan Variable Length Coding VLC. Tahap paling awal pada kompresi intraframe adalah persiapan blok, yaitu suatu frame dibagi menjadi blok – blok yang tidak saling menindih. Pembagian blok ini diperlukan agar proses kompresi menjadi efisien, karena proses akan dilakukan pada blok – blok yang relatif kecil. Di dalam proses intrafrema juga di kenal dengan Pencocokan blok atau block matching adalah proses pembandingan blok dengan blok – blok pada frame sebelumnya, untuk menemukan matching block. Matching block merupakan proses yang paling banyak menyita waktu selama encoding. Matching block cukup dilakukan pada komponen kecerahan luminance dari frame. Hal ini dikarenakan mata manusia lebih peka terhadap kecerahan. 1. Langkah pertama untuk proses ini adalah membagi frame menjadi blok – blok berukuran tertentu. Ukuran blok yang besar mengakibatkan sedikit jumlah vektor gerak yang dihasilkan. Namun, akan sulit menemukan blok yang match dengannya dan error yang dihasilkan perbedaan blok relatif besar. Blok yang dibandingkan dengan blok – blok pada frame referensi disebut sebagai blok target. 18 2. Langkah selanjutnya adalah menentukan search area atau daerah pencarian pada frame referensi. Pencarian blok yang match dapat dilakukan pada seluruh daerah frame referensi. Namun karena perubahan antarframe cenderung kecil, daerah pencarian cukup dibatasi pada posisi sekitar blok target pada frame referensi, maka ditentukan suatu maximum displacement yang membatasi jumlah pixel maksimum pada arah vertikal dan horizontal dari posisi blok target pada frame saat ini. 3. Langkah terakhir adalah menemukan pencocokan blok pada daerah pencarian. Proses ini dilakukan dengan membandingkan target blok dengan blok – blok pada daerah pencarian yang disebut blok kandidat, seperti ditunjukkan pada Gambar II.6. Semakin besar displacement, semakin luas daerah pencarian, semakin besar pula peluang untuk mendapatkan pencocokan blok yang bagus. Namun jumlah blok kandidat meningkat secara kuadratik sebanding dengan peningkatan displacement, sehingga lebih banyak lagi pembandingan blok yang perlu dilakukan. Pencocokan blok target dengan blok – blok kandidat pada daerah pencarian dilakukan dengan besar step tertentu, yang merupakan besar pergeseran dalam pencarian blok. Jumlah blok kandidat, selain ditentukan oleh ukuran daerah pencarian, ditentukan pula oleh besarnya step. Blok Target Motion vektor Search Area Blok kandidat Gambar I.6 Blok Target 19 Setelah diperoleh matching blok, maka perbedaan posisinya dengan target blok disebut vektor gerak motion vector, Proses ini menghasilkan vektor gerak pada arah horizontal MVx dan vektor gerak pada arah vertikal MVy. Entropy Coding Pada standar H.264 ada dua pilihan mode, yaitu mode nol untuk pengkodean dengan VLC dan mode satu untuk CABAC Context-Base Adaptive Binary Arithmetic Coding 1. Variable Length Encoding VLC VLC digunakan untuk mengkodekan simbol dengan kode – kode tertentu yang mempunyai panjang berlainan. Pengkodean ini menggunakan prinsip entropi, yaitu simbol yang sering muncul dikodekan dengan kode yang pendek dan simbol yang jarang muncul dikodekan dengan kode yang panjang. Dengan demikian, secara keseluruhan bit yang dibutuhkan menjadi lebih sedikit. Pada kompresi intraframe, hasil proses RLE dikodekan dengan VLC, maka jumlah bit yang disimpan atau ditransmisikan menjadi lebih kecil. 2. CABAC Context-base Adaptive Binary Arithmetic Coding Jika pada standar H.263 algoritma yang digunakan jika VLC tidak dipilih adalah Huffman, maka pada standar H.264 digunakan CABAC Context-base Adaptive Binary Arithmetic Coding. Ini dilakukan saat entropy coding diset ke 1 satu. Untuk membuat pengkodean dengan metode CABAC, langkah – langkahnya sebagai berikut : 1. Binarization : mengkodekan symbol- simbol kedalam biner “0” dan “1”. 2. Context Model Selection : menentukan probabilitas simbol yang telah dibinerkan. 3. Arithmetic Encoding : Suatu coder arithmetic mengencode setiap simbol dari model probabilitas, hanya yang mengacu dengan “0” dan “1”. 4. Probability Update : model context yang dipilih diperbaharui berdasarkan actual. 20

1.11 Quadcopter