Analisa Optimalisasi …

Oka W., Putra Sastra

ANALISA OPTIMALISASI TEKNIK ESTIMASI DAN KOMPENSASI GERAK PADA ENKODER VIDEO H.263

I Made Oka Widyantara, Nyoman Putra Sastra Laboratorium Sistem Komunikasi Jurusan Teknik Elektro Universitas Udayana email : oka.widyantara@unud.ac.id , putra.sastra@unud.ac.id

Abstrak

Mode baseline encoder video H.263 menerapkan teknik estimasi dan kompensasi gerak dengan satu vector gerak untuk setiap macroblock. Prosedur area pencarian menggunakan pencarian penuh dengan akurasi setengah pixel pada bidang [16,15.5] membuat prediksi di tepian frame tidak dapat diprediksi dengan baik. Peningkatan unjuk kerja pengkodean prediksi interframe encoder video H.263 dengan optimalisasi teknik estimasi dan kompensasi gerak diimplementasikan dengan penambahan area pencarian [31.5,31.5] (unrestricted motion vector, Annex D) dan 4 motion vector (advanced prediction mode, Annex F). Hasil penelitian menunjukkan bahwa advanced mode mampu meningkatkan nilai SNR sebesar 0.03 dB untuk sequence video claire, 0.2 dB untuk sequence video foreman, 0.041 dB untuk sequence video Glasgow, dan juga mampu menurunkan bit rate pengkodean sebesar 2.3 % untuk video Claire, 15.63 % untuk video Foreman, dan 9.8% untuk video Glasgow dibandingkan dengan implementasi 1 motion vector pada pengkodean baseline mode.

Kata kunci : H.263, unrestricted motion vector, advanced prediction mode

  • 1.    PENDAHULUAN

Pade mode baseline, enkoder video H.263 menerapkan pengkodean prediksi interframe didasarkan pada teknik estimasi dan kompensasi gerak. Pada teknik ini, hanya frame-frame error prediksi yang dikodekan, yaitu perbedaan antara frame-frame asli dengan frame-frame hasil proses rekonstruksi. Maka setiap macroblock pada frame asli akan di ambil prediksinya dari frame sebelumnya yang telah direkonstruksi. Informasi gerak dari sebuah macroblok dalam frame rekonstruksi dinyatakan oleh sebuah vektor perpindahan dua dimensi atau vektor gerak.

Pada H.263 baseline, proses block matching akan dihasilkan satu vektor gerak untuk setiap proses kompensasi gerak dengan luasan daerah pencarian dibatasi pada range [16 , 15.5] menggunakan metode pecarian penuh (exhaustive search method) akurasi setengah pixel.

Vektor-vektor gerak yang dihasilkan oleh metode ini hanya dapat referensi pixel-pixel didalam area frame. Oleh karenanya, macroblock-macroblock di tepian frame, tidak dapat diprediksi dengan baik. Optimalisasi teknik estimasi dan kompensasi gerak untuk mempertinggi kualitas pengkodean prediksi interframe dapat dilakukan dengan :

  •    Meningkatkan area pencarian vektor gerak untuk mengkompensasi pergerakan obyek video di tepian frame.

  •    Memperbesar jumlah vektor gerak pada setiap macroblock untuk menurunkan blocking artifacts

Standard pengkodean video H.263 telah memasukan metode optimalisasi tersebut pada mode-

mode optional yang meliputi unrestricted motion vector mode (Annex D) dan advance prediction mode (Annex F). Penelitian ini dimaksudkan untuk menganalisa unjuk kerja teknik optimalisasi H.263 menggunakan mode-mode optional tersebut. Kelanjutan dari paper ini akan diorganisasikan sebagai berikut. Bagian kedua akan menjelaskan teknik kompensasi gerak H.263 baseline. Bagian ketiga akan menjelaskan tentang unrestricted motion vector mode dan advance prediction mode. Bagian keempat menjelaskan tentang hasil simulasi dan bagian kelima adalah kesimpulan.

  • 2.    ENKODER H.263 BASELINE

Gambar 1. menunjukan diagram blok dari encoder video H.263. Blok prediksi motion-compensated akan menurunkan redundasi temporal interframe. Algoritma berbasis digunakan untuk mengkodekan frame error prediksi. Koefisien-koefisien DCT terkuantisasi, vector-vector gerak dan side information adalah dikodekan entropy menggunakan variable length codes (VLC).

Prediksi kompensasi gerakan dengan asumsi bahwa piksel-piksel pada frame sekarang dapat dimodelkan sebagai translasi piksel pada frame sebelumnya. Pada baseline H.263, tiap makroblok diprediksikan dari frame sebelumnya. Ini menyiratkan asumsi bahwa tiap piksel di macroblock memiliki jumlah yang sama pada pergerakan translasi. Informasi pergerakan ini direpresentasikan dengan 2D pergantian vektor atau pergerakan vektor.

Gambar 1. Blok diagram encoder video H.263


Karena frame dinyatakan berbasis block maka vector gerak diperoleh menggunakan algoritma block matching dengan nilai sum-of-absolute-differences (SAD) dinyatakan dengan :

16 16

SAD = ∑∑ M k, l)-Bi-u ,j-v (k, l)

k=1 l=1

dengan :

Bi,j(k,l) adalah pixel ke (k,l) dari macroblok 16 x 16 pixel frame sekarang dan Bi-u, j-v (k,l) menyatakan pixel ke (k,l) pada macroblock kandidat dari frame referensi di lokasi spatial (i,j) di pindahkan dengan vektor (u,v).

  • 3.    ENKODER H.263 MODE UNRESTRICTED

MOTION VECTOR (Annex D)

Pada enkoder H.263 baseline, vektor-vektor gerak yang dihasilkan hanya dapat referensi pixelpixel didalam area frame. Oleh karenanya, macroblock-macroblock di tepian frame, tidak dapat diprediksi dengan baik.

  • 3.1    Vektor gerak pada tepian frame

Ketika sebuah piksel referensi dengan motion vector diluar area frame yang dikodekan, maka tepi piksel sebagai gantinya. Piksel tepi didapatkan dari pembatasan pergerakan vector pada full piksel posisi sebelumnya pada area gambar yang dikodekan. Pembatasan motion vector dilakukan pada sebuah basis piksel dan dipisahkan tiap komponen pada motion vector. Nilai piksel referensi untuk komponen luminance dapat dinyatakan :

Rumv(x,y) = R(x’,y’)

Dimana:

x,y,x’,y’ = koordinat spatial pada piksel domain Rumv(x,y) = nilai piksel pada gambar referensi pada (x,y) ketika UMV mode ON

R(x’,y’) = nilai piksel pada gambar referensi pada (x’,y’) ketika UMV mode ON

0

; x0

I 0

; y0

x' = ■

175

; x175

y' = ^

143

; y143

x

; lainnya

, y

; lainnya


Dan area frame yang telah dikodekan dari R(x’,y’) adalah 0<=x’ <= 175, 0<= y’<= 143.

  • 3.2    Extension of the motion vector range

Pada enkoder H.263 baseline nilai untuk komponen horisontal dan vertical motion vector adalah terbatas pada range [-16, 15.5] Pada UMV mode, maksimum range untuk komponen vektor adalah [-31.5, 31.5] dengan pembatasan hanya nilai pada range [-16, 15.5] sekitar predictor dari tiap komponen motion vector dapat dijangkau jika predictor-nya pada range [-15.5, 16]. Jika predictor diluar [-15.5, 16], semua nilai pada range [-31.5, 31.5] dengan sinyal yang sama dengan predictor dan zero value juga dapat dijangkau. Sehingga, jika MVc merupakan komponen motion vector dan Pc adalah predictor untuk itu, maka:

  • -    31.5 MVc0   jika   - 31.5 Pc ≤-16

  • - 16 + PcMVc15.5 + Pc   jika   -15.5 Pc16

0 MVc 31.5 jika 16.5 Pc ≤ 31.5

Pada Unrestricted Motion Vector mode, interpretasi dari table H.263 for MVD, MVD2-4 dan MVDB sebagai berikut:

  •    Jika predictor untuk komponen motion vector pada range [-15.5,16], hanya kolom pertama dari vector differences yang diterapkan.

  •    Jika predictor untuk komponen motion vector diluar range [-15.5,16], vector difference dari tabel H.263 untuk MVD akan digunakan , hasil komponen vector di dalam range [-31.5,31.5] dengan yang sama tandanya seperti predictor (berisi zero).

  • 4.    ENKODER H.263 MODE ADVANCE

PREDICTION (Annex F)

Opsional advanced prediction mode of H.263 bersifat mengkompensasi blok yang ditumpuk dan memungkinkan mempunyai empat vektor bergerak per macroblock. Penggunaan mode ini ditandai di dalam macroblock tipe header. Mode ini hanya digunakan di dalam kombinasi dengan mode unrestricted motion vector, seperti yang diuraikan di atas.

  • 4.1    Four motion vector per macroblock

Pada mode ini, vektor gerak digambarkan untuk masing-masing 8 x 8 pixel blok. Jika hanya satu vektor gerak untuk suatu macroblock tertentu yang dipancarkan, ini diwakili seperti vektor-empat dengan nilai sama. Ketika ada empat gerakan vector, informasi untuk vektor bergerak yang pertama dipancarkan sebagai code-word MVD (motion

vector data), dan informasi untuk ke tiga vektor tambahan di dalam macroblock dipancarkan sebagai code-word MVD2-4.

Vektor diperoleh dengan menambahkan prediktor kepada vektor perbedaan yang ditandai oleh MVD dan MVD2-4, seperti contoh ketika hanya satu vektor gerakan per macroblock adalah nyata. Kemudian prediktor dihitung secara terpisah untuk komponen vertikal dan yang horisontal. Bagaimanapun, kandidat: prediktor MV1, MV2 dan MV 3 digambarkan sebagai ditandai pada gambar 2.



Gambar 2. Pendefinisian ulang kandidat prediktor MV1, MV2 dan MV3 untuk setiap blok luminance dalam suatu macroblock

  • 4.2    Overlapped Motion Compensation

Overlapped motion compensation hanya digunakan untuk blok seri 8x8. Masing-Masing pixel di suatu 8x8 blok ramalan serian menjadi penjumlahan dari tiga nilai ramalan, yang dibagi menjadi 8 (dengan pembulatan). Untuk memperoleh nilai-nilai ramalan, tiga vektor gerak digunakan. Mereka menjadi vektorgerak, dua dari empat vector remote, sebagai berikut:

  •    Vektor gerak dari blok pada sebelah kiri atau kanan current block luminance

  •    Vektor gerak dari blok pada sebelah atas atau bawah current block luminance

Kreasi dari setiap pixel p(i,j) pada blok seri 8x8 yang diatur oleh :

P(I,j) = [q(I,j) x H0(I,j) + r(I,j) x H1 (i,j)+s (I,j) x H2 (i,j) + 4 ] // 8

Dengan:   q(i,j),r(i, j) dan s(i,j) adalah pixel dari

contoh gambar yang dijelaskan sebagai berikut :

q (i, j ) = p (i + MVχ0, j + MVy0)

r (i, j) = p (i + MVx 1, j + MVy1)

s (i, j) = p (i + MVx 2, j + MVy2)

  • 5.    HASIL SIMULASI

Optimalisasi teknik estimasi dan kompensasi gerak enkoder video H.263 disimulasikan menggunakan software TMN v1.7. Deret video masukan menggunakan format QCIF YUV. Analisa dilakukan untuk komponen luminance untuk laju frame 30 fps pada laju bit saluran tidak dispesifikasikan. Pengkodean H.263 berbasis

pengkodean macroblock 16 x 16 untuk membentuk pengkodean prediksi interframe.

  • 5.1    Analisis unjuk kerja Signal to Noise Ratio

(SNR)

Perluasan area pencarian pada mode Unrestricted Motion Vector dengan range [31.5, 31.5) dan penerapan pilihan 4 vektor gerak per macroblock akan dilihat pengaruhnya pada kualitas enkoder video H.263. Software TMN V1.7 menggunakan level kuantisasi 10 untuk frame pertama dari setiap deret video.

Gambar 3, menunjukan bahwa perluasan area pencarian pada mode UMV mampu memperbaiki kesalahan prediksi diindikasikan sebagai peningkatan nilai SNR dari mode baseline sebesar 0.058 dB untuk deret video Claire dan 0.0715 dB untuk deret video Foreman serta 0.035 dB untuk deret video Glasgow.

Kombinasi mode UMV dan Advance Prediction juga memberikan kontribusi pada peningkatan nilai SNR yaitu 0.0606 dB pada deret video Claire, 0.2674 dB untuk deret video Foreman, dan 0.0401 dB. Hasil ini juga menunjukan bahwa mode optional UMV dan Advance Prediction mampu meningkatkan kinerja enkoder video H.263 untuk karakteristik deret video masukan dengan korelasi antar frame cukup besar, seperti ditunjukan oleh deret video Foreman.

(a)

(b)

Baseline

Annex D Annex D & F

(c)

Gambar 3.a,b,c Grafik SNR dengan baseline mode, UMV mode dan advance prediction mode

  • 5.2    Analisis Perolehan Bit Rate

Implementasi Advance Prediction dengan 4 vektor gerak sebenarnya memberikan kontribusi pada peningkatan kapasitas bit pengkodean yang dihasilkan, tetapi memberikan kehandalan pada proses decoding di decoder. Untuk meningkatkan rasio kompresi, modifikasi dilakukan pada syntax bit stream video H.263 yaitu memilih macroblock kandidat yang dikodekan dengan 4 vektor gerak, menggunakan nilai threshold :

SAD4x8 < SAD16 – 100

dengan :

16-116-1

SAD16 (x, y) = ∑∑ original - previous∖ i=0 j=0

SAD 4 x 8 =SAD8(x, y)

Tabel 1, menunjukan perbandingan laju bit untuk setiap deret video menggunakan 3 mode pengkodean, dimana peningkatan nilai SNR menghasilkan efisiensi pada penurunan laju bit yang signifikan. Penambahan kompleksitas encoder akibat mekanisme perluasan area pencarian pada optimalisasi teknik estimasi dan kompensasi gerak dapat meningkatkan rasio kompresi pada deret video dibandingkan dengan mode baseline. Efisiensi terbesar diperoleh pada deret video Foreman yang mengindikasikan implementasi mode optional Annex D dan F dapat mengkompensasi karakteristik deret video dengan korelasi antar frame yang besar.

  • 6.    KESIMPULAN

Hasil penelitian menunjukkan bahwa advanced prediction mode mampu meningkatkan nilai SNR sebesar 0.03 dB untuk sequence video claire, 0.2 dB untuk sequence video foreman, 0.041 dB untuk sequence video Glasgow, dan juga mampu menurunkan bit rate pengkodean sebesar 2.3 % untuk video Claire, 15.63 % untuk video Foreman, dan 9.8% untuk video Glasgow dibandingkan dengan implementasi 1 motion vector pada pengkodean baseline mode.

  • 7.    REFERENSI

  • [1]    Cote, G. 1998,” H.263+: Video Coding at Low Bit Rate”, IEEE Transaction on Circuit and System for video coding technology vol.8, no.7.

  • [2]    Berna Erol, Michael Gallant, Guy Cote dan Faouzi Kossentini,” The H.263+ Video Coding Standard: Complexity and Performance”, Department of Electrical Engineering, University of British Columbia

  • [3]    ITU-T. 1998,” ITU-T H.263”, ITU-T Study Group XVI, Genewa.

  • [4]    Pohsiang Hsu and K. J. Ray Liu, 2000,” A predictive H.263 bit-rate control based on scene information”, IEEE

  • [5]    Whybray, M.W. dan Ellis, W. 1995.,” H.263 – Video Coding Reccommendation for PSTN, Videophone dan Multimedia”, IEE Savoy Place, London.

Tabel 1. Perbandingan laju bit deret video dengan baseline mode, UMV mode dan advance prediction mode

Deret video

Baseline (kbit/s)

Annex D (kbit/s)

Efisiensi (%)

Advance Mode (kbit/s)

Efisiensi (%)

Claire

26.97

26.92

0.1

26.35

2.3

Foreman

158.12

137.52

13.02

133.40

15.63

Glasgow

292.15

268.79

8

263.52

9.8

Teknologi Elektro

77

Vol. 7 No. 2 Juli - Desember 2008