Uploaded by User54921

Pertemuan 13-Video Coding

advertisement
Video Coding
Pertemuan 13
Teknologi Multimedia
Departemen Teknologi Informasi ITS
Outline
• Introduction to Video Coding Standard
• Video coding format H.26x family
• MPEG 1, 2, 4, 7
Introduction To Video Coding Standard
• Video coding standard : sebuah standar dokumen yang mendeskripsikan
prosedur yang harus dijalankan dalam sebuah encoder (video encoding)
• Video coding format (Video compression format) : sebuah content yang
merepresentasikan format (aturan) dalam penyimpanan dan transmisi data
(seperti dalam bentuk data file atau bit stream)
• Contoh video coding format : H.261, H.262, H.263, H.264, H.265
Perkembangan Standar Video Coding
H.261
•
•
•
H.261 digunakan sebagai video coding pada video conferencing dan video
communication system (Surveillance, monitoring system, tele-medicine, dsb)
Support terhadap non-interlaced video
Menggunakan format sampling 4:2:0 οƒ  setiap 4 kolom piksel diambil 2 kolom
pada baris pertama dan 0 kolom warna pada baris kedua
H.261
•
•
•
Mendukung bit-rate px64Kbps, p=1,2,3,….30 (Kelipatan p) atau antara 64 Kbps
hingga 1.92 Mbps
Mendukung format frame Common Intermediate Format/CIF (352x288 luminance
Y dan 176x144 chrominance Cb/Cr) dan Quarter-CIF/QCIF (176x14 luminance Y dan
88x72 chrominance Cb/Cr)
Standar H.261 kemudian diadopsi oleh MPEG dan ITU Experts Group untuk
dikembangkan menjadi standar H.263 yang menghasilkan very low bit-rate video
telephony dan digunakan untuk Public Switched Telephony Networks (PSTN).
H.261
•
Untuk format QCIF yang digunakan adalah separuh jumlah baris dan separuh
jumlah kolom CIF serta menggunakan :
-DCT untuk menghilangkan redundancy intraframe
-motion compensation untuk menghilangkan redundancy interframe
• Input video dikonversi ke format CIF dan disimpan ke dalam memori frame.
Selanjutnya frame CIF dibagi menjadi 4 citra QCIF dan setiap citra QCIF dibagi ke
dalam 3 GOB (Group of Block) dimana setiap GOB berisi 33 Macroblock
• Setiap Macroblock (MB) terdiri dari 4 blok 8x8 piksel komponen Y, 1 blok 8x8 piksel
komponen Cb dan 1 blok 8x8 piksel komponen Cr
• Setiap MB inilah yang akan dilakukan proses kompresi
H.261
H.261 (Penjelasan skema standar H.261)
•
•
Coding control : berfungsi untuk mengontrol proses kompresi intraframe dan
interframe secara bergantian, frame rate, buffer dan bagian lainnya agar terjadi
sinkronisasi sehingga kompresi dengan bit-rate yang diharapkan dan kualitas citra
dapat tercapai.
Pada kompresi intraframe tidak memerlukan reference image (previous frame/frame
sebelumnya) sehingga langsung diproses dengan DCT dan dilanjutkan dengan
kuantisasi (Quantization). Hasil kuantisasi dikodekan melalui VLC (Variable Length
Coder). Bersamaan dengan proses kode VLC, kuantisasi invers (iQ) dan DCT invers
(iDCT)/decoding serta penyimpanan image juga diproses agar image dapat
digunakan kembali untuk proses kompresi interframe. Output dari proses ini
berupa bit stream yang langsung dikirim oleh pengirim. Oleh penerima, bit stream
ini di rekonstruksi sambil menunggu image berikutnya.
H.261 (Penjelasan skema standar H.261)
• Input image berikutnya adalah inter-frame image. Proses kompresi Interframe memerlukan reference image (frame/image sebelumnya) sehingga
coding control akan mengarahkan skema ke bawah (lihat pada gambar 7.16)
• Delayed Frame Memory : Memori penyimpanan untuk menyimpan imageimage sebelumnya yang akan digunakan pada proses estimasi pergerakan
objek antara image aktual dengan image sebelumnya. Jumlah image
sebelumnya berbeda untuk setiap format kompresi video. Untuk H.261
hanya memerlukan 1 image sebelumnya
H.261 (Penjelasan skema standar H.261)
•
Motion Estimation (Estimasi pergerakan): berfungsi untuk menghilangkan
redundansi data temporal dan mendeteksi pergerakan objek antara image actual
dengan image sebelumnya. Estimasi pergerakan dilakukan per blok 16x16 piksel
dengan menghitung jarak perpindaha blok piksel atau disebut Vektor gerak
(Motion Vector/MV) untuk setiap bloknya. Metode penghitungan vector gerak
disebut block-matching motion estimation. Parameter jika telah terjadi
pergerakan objek adalah dengan melihat nilai minimum MSE (mean square error)
dan MAE (mean absolute error). Jika nilai minimum MSE dan MAE berada di atas
nilai ambang batas,maka telah terjadi pergerakan objek dan blok image actual
diproses dengan model intraframe
H.261 (Penjelasan skema standar H.261)
N dan M adalah ukuran blok yang digunakan;
πΌπ‘˜ = π‘–π‘šπ‘Žπ‘”π‘’ π‘Žπ‘˜π‘‘π‘’π‘Žπ‘™;
πΌπ‘˜−1 = π‘–π‘šπ‘Žπ‘”π‘’ π‘ π‘’π‘π‘’π‘™π‘’π‘šπ‘›π‘¦π‘Ž β„Žπ‘Žπ‘ π‘–π‘™ π‘Ÿπ‘’π‘˜π‘œπ‘›π‘ π‘‘π‘Ÿπ‘’π‘˜π‘ π‘– π‘¦π‘Žπ‘›π‘” π‘‘π‘’π‘Ÿπ‘ π‘–π‘šπ‘π‘Žπ‘› 𝑑𝑖 π‘šπ‘’π‘šπ‘œπ‘Ÿπ‘–
H.261 (Penjelasan skema standar H.261)
• Motion Compensation : berfungsi untuk menentukan apakah blok image
actual decoding dalam mode intraframe atau menggunakan motion vector
(MV)
• Loop Filter (optional): proses pemfilteran yang dilakukan untuk
meminimalkan efek blok yang terjadi pada decoded image. Filter yang
digunakan adalah filter non-rekursif 1-D dengan nilai (1/4,1/2,1/4) yang
dioperasikan pada setiap blok 8x8 piksel.
H.262 (MPEG-2 Part-2)
• H.262 (secara formal dikenal sebagai ITU-T Recommendation
H.262 dan ISO/IEC 13818-2) disebut juga sebagai MPEG-2 Video
• H.262 merupakan standar gabungan dari ITU-T Video Coding
Experts Group (VCEG) dan ISO/IEC Moving Picture Experts
Group (MPEG) dan merupakan standar MPEG bagian kedua
sehingga dikenal juga dengan sebutan MPEG-2 Part-2
H.262 (MPEG-2 Part-2)
• MPEG-2 support terhadap interlaced video (teknik encoding pada sistem
televisi analog NTSC, PAL dan SECAM)
• Belum support terhadap low-bitrate video (dibawah 1 Mbps), melainkan
support terhadap higher-bitrate (diatas 3 Mbps) sehingga memerlukan
kapasitas bandwidth yang cukup besar
H.262 (MPEG-2 Part-2)
•
•
•
•
Pada proses coding inter-frame menggunakan sekelompok image yang disebut
GOP (Group of Picture). Jika pada H.261 hanya terdapat 2 jenis frame, pada H.262
terdapat 3 jenis frame, yaitu I-frame, P-frame B-frame
I-frame : key frame, tidak memerlukan informasi dari frame lain dalam proses
encoding
P-frame : “predicted frame”. Dalam proses encoding, P-frame menggunakan
informasi dari urutan frame I atau P sebelumnya untuk informasi redundant picture
B-frame : “bi-directional predicted frame”. Dalam proses encoding, B-frame
menggunakan informasi dari urutan frame sebelum dan sesudahnya untuk
informasi redundant picture. B-frame dapat memperbaiki kualitas prediksi dan
meningkatkan rasio kompresi dengan mempertahankan kualitas image.
H.262
Image P dan image B masing-masing dapat dihitung
Menggunakan rumus di bawah ini
H.262
• Untuk merekonstruksi kembali image aslinya, dapat menggunakan
persamaan invers di bawah ini
H.262 (MPEG-2 Part-2)
•
H.262 digunakan pada :
-DVD video (bit rate 9.8 Mbps)
-HDV tape-based high definition video recording format (19.4 atau 25 Mbps)
-Digital cable TV
-Satellite TV
-Broadcast TV
-mulai pengembangan untukTCP/IP Internet
H.263
•
•
•
•
Karena internet mulai berkembang ketika itu, maka dibutuhkan format video
coding untuk low bit-rate video sehingga dikembangkanlah format H.263, format
video coding yang bekerja pada low-bit-rate video. H.263 diaplikasikan untuk video
conferencing, kompresi video (flash video) pada internet seperti yang digunakan
oleh Youtube, Google Video, MySpace
H.263 distandarisasi oleh ITU-T Video Coding Experts Group (VCEG) dalam sebuah
project di tahun 1995/1996
Format kompresi video dengan H.263 mengacu pada format kompresi H.261.
Namun, terdapat perbedaan dibandingkan H.261, yaitu vektor gerak (motion
vector) lebih fleksibel, prediksi error lebih baik dan penggunaan frame I,B,P
(dengan urutan I B P B I ….)
Jumlah frame yang digunakan sekitar 30 frame per detik
H.263
• H.263 support terhadap 5 jenis resolusi
• H.263 versi pertama dikembangkan tahun 1995, menggantikan H.261.
• H.263 versi kedua (H.263v2/H.263+) dikembangkan tahun 1998
• H.263 versi ketiga (H.263v3/H.263++) dikembangkan tahun 2000
H.263
• Syntax-based arithmetic Coding : jika pada format H.261 menggunakan VLC
(Variable-Length Coding) sebagai default coding method untuk DCT
coefficient dimana setiap symbol harus di-coding ke bentuk fixed integral
number, maka pada arithmetic coding tidak ada proses coding setiap
symbol ke bentuk fixed integral number.
• Hal ini memberikan penghematan bitrate sebesar 4% pada output interframe coding dan 10% pada output intra-frame coding dibandingkan
dengan H.261
H.263
• Advanced prediction mode : Advanced Prediction (menggunakan 4 block
8x8 piksel, memberikan detil hasil yang lebih baik dibandingkan 1 block
16x16 piksel). Setiap macroblock memiliki 4 motion vector
• Menggunakan PB-frame : PB-frame terdiri dari 2 frame yang direpresentasi
dalam 1 unit frame dimana P-frame diprediksi dari previous I- atau P-frame
dan B-frame diprediksi dari previous decoded I- atau P-frame dan decoded
P-frame pada PB-frame
H.264/AVC (Advanced Video Coding)
• Dikenal sebagai "H.26L" oleh ITU, H.264 dikenal juga sebagai "MPEG-4 Part
10" oleh ISO MPEG group
• H.264/AVC mulai dikembangkan pada tahun 2003.
• support untuk High-Definition Video dan “network-friendly” video dalam
bentuk "conversational" (video telephony) dan "nonconversational“
(storage, broadcast, atau streaming)
• H.264/AVC setara dengan kualitas MPEG-4 dengan ukuran frame 4x lebih
besar
• H.264/AVC menggunakan integer DCT transform coding untuk
mengefisiensikan kompleksitas perhitungan kompresi
• H.264/AVC saat ini paling umum digunakan dalam kompresi video dan
support hingga 8k UHD
H.264
•
•
•
•
•
Format H.264 berbasis format H.263.
H.264 berfokus pada penggunaan lower bit-rate, tetapi dengan kualitas video
yang lebih baik
H.264 memiliki tingkat kompresi 50% lebih baik dari MPEG-2 dan 30% lebih baik
dari H.263+
H.264 dapat diimplementasikan dalam baseline profile (videoconferencing dan
mobile video), main profile (broadcast TV seperti HDTV ) dan extended profile
(video streaming)
H.264 dapat melakukan encoding pada low-bitrate dan high-bitrate lebih baik
daripada H.263
H.263 vs H.264
H.264
• Menggunakan ruang warnaYCbCr dengan subsampling 4:2:0.
• 4:2:0 οƒ  setiap 4 kolom piksel diambil 2 kolom pada baris pertama dan 0
kolom warna pada baris kedua
H.264
• Menggunakan macroblock ukuran 4x4 piksel untuk luminance (Y)
• Menggunakan in-loop deblocking filter, berfungsi untuk memperbaiki
kualitas visual dengan memperbaiki annoying visual effect (blocking
artifacts) karena proses decoding
• Jika pada format H.26x sebelum H.264 deblocking filter adalah fitur
optional, maka pada H.2644 deblocking filter merupakan fitur yang menjadi
bagian dari format H.264
H.264
• H.264 dapat mengefisiensikan sebanyak >50% bit-rate dibandingkan
MPEG-2 part-2
H.265/HEVC (High-efficiency Video Coding)
•
•
•
•
•
Didesain untuk perbaikan dari format coding video H.264/AVC
H.265/HEVC dapat memberikan efisiensi kompresi video sebanyak 25%-50% lebih
baik bila dibandingkan H.264/AVC
Support terhadap video dengan resolusi hingga 8192×4320, termasuk 8K UHD
Jika pada H.264 menggunakan 4x4 atau 8x8 Menggunakan transformasi coding
integer DCT dan DST (Discrete Sine Transform) dengan variasi Macroblock ukuran
8x8 hingga 32x32 piksel
Support terhadap 10 profile dimana format H.264 sebelumnya support hanya 3
profile
MPEG
• MPEG (Moving Picture Extends Group) : format video coding dari ISO
(International Standarization Organization)
MPEG-1
• MPEG-1 mengadopsi CCIR601 digital TV format yang disebut juga SIF
(Source Input Format)
• Support hanya non-interlaced video.
• Encoding berbasis H.261
• Support resolusi video :
-352x240 untuk NTSC dengan frame rate 30fps
-352x288 untuk PAL dengan frame rate 25 fps
-menggunakan chroma sub sampling 4:2:0
• Pada MPEG-1, kuantisasi pada intra-frame dan inter-frame
menggunakan table kuantisasi yang berbeda
MPEG-1
MPEG-1
• MPEG-1 memiliki 3 jenis frames, yaitu I-frames, P-frames dan B-frames
dengan B-frame memiliki tingkat kompresi yang paling tinggi diantara jenis
frames lainnya (I-frames dan P-frames)
MPEG-1
MPEG-2
• MPEG-2 format video coding untuk video dengan kualitas yang lebih tinggi
dengan bit-rate >4Mbps
• Support interlaced video, dimana interlaced video merupakan salah satu
pilihan yang digunakan pada digital broadcast TV dan HDTV
• Menggunakan Macroblock ukuran 16x16 piksel
MPEG-2
MPEG-2
• MPEG-2 memiliki 2 proses prediksi, yaitu frame prediction dan field
prediction
• Frame prediction berbasis MPEG-1 menggunakan MC-based prediction
(Motion compensation) pada P- dan B-framesnya
• Field prediction : untuk setiap Macroblock 16x16 akan dibagi ke dalam 2
field, yaitu top (odd field) dan bottom (even field) dengan masing-masing
ukuran 16x8 piksel. Field prediction akan dilakukan untuk setiap field
dengan 1 motion vector, sehingga setiap Maroblock akan memiliki 2 motion
vector untuk P-field picture hingga 4 motion vector untuk B-field picture
MPEG-2
• Pada MPEG-2, progressive video menggunakan Zig-zag coding untuk DCT
coefficient, sedangkan interlaced video menggunakan alternate scan untuk
DCT coefficient
MPEG-2
• MPEG-2 support chroma subsampling 4:2:2 dan 4:4:4
• Better resilience to bit error
• Support lebih banyak resolusi image dari DVD, ATV dan HDTV
MPEG-4
•
•
•
•
•
•
MPEG-4 support terhadap bit-rate 5 Kbps-10 Mbps
Tidak menggunakan frame-base coding seperti MPEG-1 dan MPEG-2, melainkan menggunakan
VOP-based coding
MPEG-4 diimplementasikan untuk TV digital, streaming video, mobile multimedia dan games
Support simple profile, core profile dan main profile.
Simple dan core profile οƒ  format QCIF dan CIF dengan bit rates 64 kbit/sec, 128 kbit/sec, 384
kbit/sec, and 2Mbit/sec.
Main profile οƒ format CIF, ITU-R 601, and HD, dengan bit rates 2 Mbit/sec, 15 Mbit/sec and 38.4
Mbit/sec.
MPEG-7
•
•
•
•
MPEG-7 menjadi standar internasional tahun 2001 dan dikenal dengan Multimedia
Content Description Interface
MPEG-7 berfokus pada audio-visual content-based retrieval pada aplikasi seperti
digital library
MPEG-7 support untuk banyak jenis data multimedia (still picture, graphics, 3D
models, audio, speech, video dan kombinasi data multimedia tersebut)
Data element MPEG-7 dapat direpresentasikan dalam format text, biner ataupun
keduanya
Download