Kompresi Audio
- Teknik kompresi
- Predictive encoding
- Speech, selisih antar sampel
- Perceptual encoding
- CD, MP3
- Predictive encoding
- Lossless -> FLAC, ALAC, APE, WavPack
- Lossy -> MP3, AAC, WMA, OGG
- MPEG audio compression - psychoacoustic modeling -> keterbatasan pendengaran manusia, frequency masking - physically lossy, perceptually lossless (transparan) - sampling rate 32, 44.1, 48 khz - Bisa menambahkan ancillary data (data tambahan) diantara bit stream
- Polyphase Filter Bank
- membagi menjadi 32 bin subband frekuensi
- Dihubungkan dengan critical band
- Critical band
- rentang frekuensi dimana manusia lebih peka ke frekuensi rendah, maka alokasi bit dan subband untuk frekuensi rendah lebih banyak ketimbang tinggi.
- Di gambar di atas, frekuensi rendah bandwidthnya lebih kecil, soalnya critical
Kompresi Citra: JPEG
- JPEG
- lossy img compression method
- Memanfaatkan keterbatasan mata yang tidak bisa melihat detail yang ekstrim
- spatial frequency domain
- Quality factornya $Q=10$, bisa sampai 1.5% dari original img
- Pakai 3 algoritma: DCT, Huffman, dan RLE
- Sweetspot rasio kompresinya 30:1
Step2nya:
- Satu gambar dibagi jadi beberapa macroblock. Macroblock berukuran 8x8
- Chroma subsampling
- DCT untuk merubah dari domain spasial ke frekuensi
- kuantisasi
- Dibagi sama matriks kuantisasi terus dibulatkan
- zigzag ordering biar jadi 1D matriks
- Angka pertama jadi koefisien DC, sisanya jadi koefisien AC
- RLE untuk AC coef
- Membuat tuple (berapa trailing zeros didepan angka non zero, angka non zero)
- Sisa trailing zeros diakhir direpresentasikan dengan (0, 0) atau EOB
- DPCM (Differential PCM) untuk DC coef
- $Diff_{i}= DC_{i}- DC_{i-1}$, dimana $DC_{i}$ adalah koefisien DC pada macroblock ke i
- If the DC coefficients for the first five image blocks are 150, 155, 149, 152, 144, DPCM would produce 150, 5, −6, 3, −8, assuming the predictor for the ith block is simply di = DCi − DCi−1, and d0 = DC0.
- Huffman
- Buat AC: (n trailing zeros, category, bits nya); buat DC: (category, bitsnya) triknya: decimal dijadiin binary aja, kalo decimalnya (-), nanti tinggal diinvers
- terus (n trailing zeros, category) dijadiin code word sesuai tabel buat ac (aku ga paham ini) https://www.globalspec.com/reference/39556/203279/appendix-b-huffman-tables-for-the-dc-and-ac-coefficients-of-the-jpeg-baseline-encoder buat dc
kesimpulan:
- Bagus buat web
- Jelek buat fotografi
Kompresi Video
- Dimensi video ada 3 -> 2 dimensi spasial (horizontal dan vertikal) dan 1 dimensi waktu
- Yang dikompresi ada 2, yaitu gambar tiap framenya dan audionya
- MPEG (Moving Pictures Expert Group) -> komite yg buat standar video encoding
- MPEG 1 -> VCD, MP3 (MPEG-1 audio layer 3), 1.5 Mb/s bitrate @352x240 resolution, progressive pictures
- MPEG 2 -> DVD, kepakake sangat lama
- MPEG 3 -> HDTV, tapi ga dipake lagi karena balik ke MPEG 2
- MPEG 4 -> AV objects, 3D, low bitrate encoding, DRM (Digital Rights Management). H.264, dipake di Blu-Ray dan HD-DVD
- Kompresi spasial domain (gambar2nya) dihandle kek JPEG
- Kompresi time domain -> menggunakan motion vectors yg menunjukkan seberapa banyak berubah dari frame ke frame pada sebuah macroblock yang berukuran 16x16
- Tipe frames: I (intra-coded), P (predictive-coded), B (Bidirectional predictive-coded)
- I frame -> coded tanpa reference, selalu menjadi yg pertama dalam sequence
- P frame -> ada reference ke I atau P
- B frame -> ada reference ke I atau P yang ada disebelum dan sesudah
- Karena dalam video pasti ada banyak frames, maka di grouping biar referencenya nggak terlalu panjang. groupnya disebut dengan GOP (Group of Pictures)
- biasanya satu GOP berisi 12 sampai 15 frames
- Compression terjadi didalam tiap GOP
- Tidak ada compression antar GOP
- Untuk membuat prediksi frame nya, menggunakan MSE (mean squared error), kalo skornya bagus berarti match.
- Kalo gaada reference yg cocok, bakal jadi I frame
- Kalo ada perubahan scene, maka bakal start fresh
- predictive error bakal terus menerus dihitung sampai ketemu I frame lagi, tapi ga boleh kebanyakan P atau B frame
- $$\text{MSE} = \frac{1}{n}\sum_{i=1}^{n}(Y_i - \hat{Y_i})^2$$
- terms:
- intra-frame compression -> kayak JPEG compression
- inter-frame compression -> data yg sama akan disimpan (motion compensation)
Steganografi
- enkripsi -> membuat plaintext jadi tidak bisa terbaca (ciphertext), namun org akan tau kalo pesan tersebut di enkripsi
- steganografi -> disisipkan disuatu media, jadi orang tidak tahu kalo ada pesan rahasia yg dikirimkan
- steganos -> tersembunyi ; graphien -> tulisan
- steganografi zaman dulu:
- pesan di kepala botak
- tablet wax
- invisible ink (tanaman thithymallus)
- telur rebus
- null chiper -> kata keberapa dalam suatu kalimat
- terminologi
- Embedded message / hiddentext / secret message -> pesan yang disembunyikan
- cover object -> objek untuk menutupi hidden text
- stego object -> hidden text + cover object
- stego key -> kunci untuk mengekstraksi pesan
- Kriteria steganografi yang bagus (CRIF):
- capacity -> ukuran pesan yang disembunyikan besar
- recovery -> dapat diekstraksi
- imperceptible -> tidak dapat di persepsi secara visual
- fidelity -> kualitas cover object tidak berubah jauh
- Tipe stegano
- Pure steganography
- Tidak butuh key (tidak disukai)
- Contoh: null cipher
- prinsip kerkhoff -> kunci »> algoritma embedding
- Secret/Symmetric key steganography
- Kunci untuk embedding dan ekstraksi sama
- DES, AES, dll
- Public/Asymmetric key steganography
- Kunci publik untuk embedding
- Kunci privat untuk ekstraksi
- RSA
- Pure steganography
- Stegano metode LSB (Least Significant Bit)
- mengganti bit LSB dari pixel dengan bit pesan (bagian kanan bit)
- mengubah nilai 1 bit LSB tidak akan terlihat secara persepsi visual/auditori
- ukuran pesan yang dapat disisipkan adalah = 1/8 x ukuran byte data cover objek
- gambar 24 bit ukutan 256 x 256 -> 256 x 256 = 65536 ; 65536 x 3 = 196608 byte ; 196608 byte x 1/8 = 24576 byte = 24KB
- varian metode LSB
- Sequential -> disisipkan secara berurutan dari kiri ke kanan -> jelek karena bisa saja terlihat bedanya karena byte yg diberi pesan tidak nyebar
- Acak -> disisipkan secara acak (pseudo), seed yang digunakan untuk mengacak digunakan sebagai key. -> lebih tersebar jadi nggak keliatan
- M-bit LSB -> intinya kalo LSB kan 1 bit LSB, kalo M-bit ya diambil sebanyak M, makin besar M, makin jelek fidelity ; rumusnya kalo tadi 1/8, sekarang jadi M/8
Pengantar Jaringan Multimedia
- Kebutuhan aplikasi multimedia di jaringan
- Karakteristik:
- Digital
- Integrasi dari banyak tipe media
- Bisa interaktif atau tidak
- Penggunaan:
- Streaming, memulai video sebelum sepenuhnya terunduh
- menyimpan pada server
- conversational over IP -> skype
- local vs jaringan
- local -> DVD, hanya 1 komputer
- jaringan -> transmisi dan distribusi informasi multimedia di jaringan, video conference
- Konsiderasi:
- Datanya besar
- delay sensitive
- loss tolerant
- tidak perlu ada koneksi secara eksplisit
- bandwidth terbatas
- best effort network (jaringan akan mencoba yang terbaik untuk mengirimkan data tetapi tidak ada jaminan bahwa data akan sampai ke tujuannya)
- pengguna punya kondisi network yang beda2
- tantangan:
- media size Vs. batas bandwidth
- kebutuan pengguna (pingin streaming netflix) Vs. best effort network (tapi wifi lemot)
- Bagaimana cara memberikan kebuthan yg berbeda2 untuk tiap pengguna>
- Solusi:
- media compression (menyelesaikan tantangan 1)
- multimedia transmission (menyelesaikan tantangan 2)
- Protokol real time transmission
- Rate / congestion control
- error control
- Sistem
- Live
- realtime capture, compression
- Stored - offline compression
- Live