280 likes | 475 Views
DISEMINASI PENELITIAN INSENTIF RISTEK PENGEMBANGAN ALGORITMA CODING, PERANGKAT LUNAK DAN PERANGKAT KERAS UNTUK PENGAMANAN DAN KOMPRESI DATA RAHASIA MULTIMEDIA (TEKS, AUDIO, CITRA DAN VIDEO). PENELITI : Sarifuddin Madenda ( PROF., Dr. ), Ernastuti (Dr.) ,
E N D
DISEMINASI PENELITIANINSENTIF RISTEKPENGEMBANGAN ALGORITMA CODING, PERANGKAT LUNAK DAN PERANGKAT KERAS UNTUK PENGAMANAN DAN KOMPRESI DATA RAHASIA MULTIMEDIA (TEKS, AUDIO, CITRA DAN VIDEO) PENELITI : • Sarifuddin Madenda (PROF., Dr.), Ernastuti (Dr.) , • Edi Sukirman (Dr.) dan Lingga Hermanto (SSi., MMSi)
Pendahuluan - LatarBelakangMasalah - Ide dan MasalahPenelitian - Tujuan dan SasaranPencapaian RancanganPenelitian PengembanganPerangkatLunak - Optimalisasialgoritmakompresicitra JPEG - Pembuatanprototipeperangkatlunakkompresi dan pengamanan data rahasiamultimedia PengembanganPrangkatKeras - Implementasialgoritma QDCT kedalam IC-FPGA - Pembuatanprototipe IC proses QDCT 5. Kesimpulan IsiPresentasi Insentif RISTEK, 20 Desember 2011
1. Pendahuluan : LatarBelakangMasalah Vidéo conférence • Volume data multimedia sangatbesar • Bandwidth jaringanterbatasdanmahal • Delay waktutransmisibesar Insentif RISTEK, 20 Desember 2011
File multimedia File multimedia 1. Pendahuluan : LatarBelakangMasalah - Kompresi Citra JPEG / video MPEG: Pembagianblokcitra Transformasi warna Proses DCT Kuantisasi RLE dan Huffman Coding Citra terkompres JPEG Kompresi JPEG Citra asli Tabel Kuantisasi Tabel coding Rekonstruksi JPEG Rekonstruksi blok citra Transformasi warna invers Proses DCT invers Kuantisasi Invers RLE dan Huffman Decoding DCT : discrete cosine transform Enkripsi atau Coding - Pengamanan Data/File : File Multimedia terenkripsi Dekripsi atau decoding Insentif RISTEK, 20 Desember 2011
0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.4904 0.4157 0.2778 0.0975 -0.0975 -0.2778 -0.4157 -0.4904 0.4619 0.1913 -0.1913 -0.4619 -0.4619 -0.1913 0.1913 0.4619 0.4157 -0.0975 -0.4904 -0.2778 0.2778 0.4904 0.0975 -0.4157 0.3536 -0.3536 -0.3536 0.3536 0.3536 -0.3536 -0.3536 0.3536 0.2778 -0.4904 0.0975 0.4157 -0.4157 -0.0975 0.4904 -0.2778 0.1913 -0.4619 0.4619 -0.1913 -0.1913 0.4619 -0.4619 0.1913 0.0975 -0.2778 0.4157 -0.4904 0.4904 -0.4157 0.2778 -0.0975 DCx= Kompresicitrastandar JPEG: 1. Pendahuluan : LatarBelakangMasalah Citra I(RGB) Inisialisasimatriks DC Inisialisasitabel coding Baca blok I(RGB) 8x8 pixel I(RGB) 8x8 pixel I(YCbCr) DCT untukY, Cb, dan Cr F = Kuantisasihasil DCT Coding hasilKuantisasi DCT Semuablok sudahdilakukan ? ÷ T Y Bit stream hasil coding F* = File Citra .jpg Insentif RISTEK, 20 Desember 2011
1. Pendahuluan : IdePenelitian OptimalisasiKompresidanRekonstruksiCitra JPEG: Pembagian blok citra Transformasi warna DCT Terkuantisasi Coding Kompresicitra Citra asli Citra terkompresi Rekonstruksicitra Rekonstruksi blok citra Transformasi warna invers QDC Terkuantisasi Invers Decoding Insentif RISTEK, 20 Desember 2011
I B B B P B B B P B B B I 1. Pendahuluan : IdePenelitian OptimalisasiKompresidanRekonstruksi Video MPEG: Pembagian blok citra Transformasi warna DCT Terkuantisasi Coding Kompresicitra Video terkompresi Rekonstruksicitra Rekonstruksi blokcitra Transformasi warna invers QDC Terkuantisasi Invers Decoding Insentif RISTEK, 20 Desember 2011
1. Pendahuluan : RumusanMasalahPenelitian 1 • Bagaimana mengintegrasikan proses kuantisasi ke dalam rumus DCT • sehingga dihasilkan satu rumus yaitu DCT-terkuantisasi (quantized • discrete cosine transform atau QDCT). • Bagaimana mengimplementasikan algoritma QDCT yang dapat • mempercepat proses kompresi citra/video. • Bagaimana mengembangkan algoritma coding yang lebih optimal • untuk menghasilkan rasio dan kualitas kompresi yang lebih tinggi. • Bagaimanamengembangkansatuperangkatlunak yang dapat melakukankompresi data multimedia disertaidenganpengamanan yang lebihterjamin. Insentif RISTEK, 20 Desember 2011
1. Pendahuluan : TujuanPenelitian 1 • Mengembangkan satu persamaan DCT-terkuantisasi (QDCT) yang • dapat menhitung DCT dan kuantisasi dalam satu proses. • Mengembangkan algoritma dan sourcecode QDCT. • Mengembangkan algoritma coding yang lebih optimal • Mengembangkanperangkatlunakkompresi data multimedia • danpengamanannya. Insentif RISTEK, 20 Desember 2011
2. RancanganPenelitian : Kompresidanpengamanan data rahasia multimedia Insentif RISTEK, 20 Desember 2011
3. PengembanganPerangkatLunak OptimalisasiKompresicitra JPEG: Citra I(RGB) dimana Inisialisasimatriks DC Inisialisasitabel coding Baca blok I(RGB) 8x8 pixel I(RGB) 8x8 pixel I(YCbCr) QDCT untukY, Cb, dan Cr Coding hasilKuantisasi Semuablok sudahdilakukan ? T Y Bit stream hasil coding QDCT F = File Citra .jpg Insentif RISTEK, 20 Desember 2011
HasilUjiCoba : RasiodanKualitasKompresi 40 JPEG (Photoshop) Our algorithm 35 30 25 20 Compression Ratio 15 10 5 0 43.85 42.77 42.11 41.62 41.12 40.74 40.45 39.6 Quality (dB) 20 18 JPEG (Photoshop) Our algorithm 16 14 12 10 Compression Ratio 8 6 4 2 0 43.12 41.13 39.66 38.66 37.87 37.09 36.23 Quality (dB) Insentif RISTEK, 20 Desember 2011
HasilUjiCoba : KecepatanKompresi Insentif RISTEK, 20 Desember 2011
4. PengembanganPerangkatKeras RumusanMasalahPenelitian 2 : • Jumlah operasi perkalian dan penjumlahan pada proses • QDCT cukup besar. Apakah masih dapat diminimalkan? • Bagaimana mentransformasikan algoritma QDCT (dari poin • pertama) kedalam bentuk disain rangkaian elektronika. • Bagaimana mengimplementasikan hasil disain rangkaian • elektronik (pada poin kedua) kedalam IC FPGA. Insentif RISTEK, 20 Desember 2011
TujuanPenelitian 2 : • Membuat IC (perangkat keras) proses QDCT dengan • performence yang lebih baik • IC ini dapat menjadi bagian dari komponen kamera foto • atau kamera video digital yang banyak digunakan dalam • perangkat keras TIK. Insentif RISTEK, 20 Desember 2011
0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.4904 0.4157 0.2778 0.0975 -0.0975 -0.2778 -0.4157 -0.4904 0.4619 0.1913 -0.1913 -0.4619 -0.4619 -0.1913 0.1913 0.4619 0.4157 -0.0975 -0.4904 -0.2778 0.2778 0.4904 0.0975 -0.4157 0.3536 -0.3536 -0.3536 0.3536 0.3536 -0.3536 -0.3536 0.3536 0.2778 -0.4904 0.0975 0.4157 -0.4157 -0.0975 0.4904 -0.2778 0.1913 -0.4619 0.4619 -0.1913 -0.1913 0.4619 -0.4619 0.1913 0.0975 -0.2778 0.4157 -0.4904 0.4904 -0.4157 0.2778 -0.0975 QDC = • Analisis data elemen matriks QDC : RancanganPenelitian 2 : Insentif RISTEK, 20 Desember 2011
Minimalisasi jumlah perkalian dan penjumlahan dalam proses QDCT : RancanganPenelitian 2 : Insentif RISTEK, 20 Desember 2011
Minimalisasi jumlah perkalian dan penjumlahan dalam proses QDCT : (T. C. Chen, 1988), (B. G. Lee, 2002). Insentif RISTEK, 20 Desember 2011
Minimalisasi jumlah perkalian dan penjumlahan dalam proses QDCT : y0 = Cq4*( z2 + z3),y4 = Cq4*( z2 – z3) y2 = (Cq2 – Cq6)* z0 + p y6 = p – ( (Cq2 + Cq6)*z1 ) dimanap = Cq6*( z0 + z1) y1 = d - e - h + k y3 = c - f - g + k y5 = b - f - h + k y7 = a -e - g + k dimanaa=(–Cq1+ Cq3+ Cq5– Cq7)*j0; b=(Cq1+ Cq3– Cq5+Cq7)* j1; c=(Cq1 + Cq3 + Cq5– Cq7)*j2; d=(Cq1 + Cq3– Cq5– Cq7)* j3; e=(Cq3 - Cq7)*s0; f=(Cq1+ Cq3)*s1; g=(Cq3+ Cq5)*s2; h=(Cq3- Cq5)*s3; k=Cq3*s4; i0=x(0)+x(7), i1=x(1)+x(6),i2=x(2)+x(5),i3=x(3)+x(4), j0=x(3)-x(4), j1=x(2)-x(5), j2=x(1)-x(6),j3=x(0)-x(7), z0=i0 – i3, z1=i1 – i2, z2=i0 + i3, z3=i1 + i2, z4=z2 - z3, z5=z2 + z3, z6=z0 + z1, s0=j0 + j3, s1=j1 + j2, s2=j0 + j2, s3=j1 + j3, dan s4=j0 + j1 + j2 + j3. • Jumlahperkalian 64 14 (reduksi 78%) • Jumlahpenjumlahan/pengurangan 56 32 (reduksi 78%) Insentif RISTEK, 20 Desember 2011
HasilUjiCoba : KecepatanKompresi Insentif RISTEK, 20 Desember 2011
Z4 8 pixels (x3+x4)+(x0+x7)- (x2+x5)-(x1+x6) Input X 8 D Flip-flop Shift Register z2 (x3+x4)+ (x0+x7) x0+x7 Z5 (x2+x5)+(x1+x6)+ (x3+x4)+(x0+x7) X0 0 (x2+x5)+ (x1+x6) x1+x6 z3 X1 1 z1 (x1+x6)- (x2+x5) x2+x5 Z6 (x1+x6)-(x2+x5)+ (x0+x7)-(x3+x4) X2 2 (x0+x7)- (x3+x4) x3+x4 z0 X3 3 (x2-x5)+ (x0-x7) s2 x3-x4 j3 X4 4 (x3-x4)+ (x1-x6) s3 x2-x5 j2 X5 5 s1 (x2-x5)+ (x1-x6) x1-x6 j1 s4 (x3-x4)+(x0-x7)+ (x2-x5)+(x1-x6) X6 6 (x3-x4)+ (x0-x7) x0-x7 j0 s0 X7 7 Counter 8 Clock + + - - - + + + + + + - + + - - + + - + Rangkaiansinkronisasidanpembagianblok 8 pixel danpemrosesanawal Insentif RISTEK, 20 Desember 2011
Rangkaianprosespenghitungan QDCT per blok 8 pixel j2 j3 s0 s1 s2 s3 s4 z5 z0 z1 z4 z6 j0 j1 Cq4 * * Cq6 * p Cq2 - Cq6 + * Cq2 + Cq6 + * a + + -Cq1 + Cq3+Cq5 – Cq7 * b Cq1 + Cq3 -Cq5 + Cq7 * Cq1 + Cq3 +Cq5 – Cq7 * c Cq1 + Cq3 -Cq5 – Cq7 * d - Cq3+ Cq7 * e + - Cq1 – Cq3 * f + - Cq3 – Cq5 * g + * - Cq3+ Cq5 + h Cq3 * + + + + k Y0 Y2 Y4 Y6 Y1 Y3 Y7 Y5 Insentif RISTEK, 20 Desember 2011
FPGA :Field Programmable Gate Arrays Programmable Interconnect I/O Blocks (IOBs) Configurable Logic Blocks (CLBs) Insentif RISTEK, 20 Desember 2011
Slice FPGA Insentif RISTEK, 20 Desember 2011
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Reg_QDC is Port ( Cf1 : out std_logic_vector(11 downto 0); Cf2 : out std_logic_vector(11 downto 0); Cf3 : out std_logic_vector(11 downto 0); Cf4 : out std_logic_vector(11 downto 0); Cf5 : out std_logic_vector(11 downto 0); Cf6 : out std_logic_vector(11 downto 0); Cf7 : out std_logic_vector(11 downto 0); Cf8 : out std_logic_vector(11 downto 0); Cf9 : out std_logic_vector(11 downto 0); Cf10 : out std_logic_vector(11 downto 0); Cf11 : out std_logic_vector(11 downto 0); Cf12 : out std_logic_vector(11 downto 0); Cf13 : out std_logic_vector(11 downto 0); LOADCoef : in STD_LOGIC); end Reg_QDC; architecture Behavioral of Reg_QDC is signal Coef1 : std_logic_vector(11 downto 0) := "001011010100"; signal Coef2: std_logic_vector(11 downto 0) := "000110000111"; signal Coef3 : std_logic_vector(11 downto 0) := "001000101011"; signal Coef4 : std_logic_vector(11 downto 0) := "010100111001"; signal Coef5 : std_logic_vector(11 downto 0) := "000011011000"; signal Coef6 : std_logic_vector(11 downto 0) := "010111001110"; signal Coef7 : std_logic_vector(11 downto 0) := "100010110000"; signal Coef8: std_logic_vector(11 downto 0) := "010001000000"; signal Coef9 : std_logic_vector(11 downto 0) := "001010001100"; signal regCoef10 : std_logic_vector(11 downto 0); signal regCoef11 : std_logic_vector(11 downto 0); signal regCoef12 : std_logic_vector(11 downto 0); signal regCoef13 : std_logic_vector(11 downto 0); begin coefDCT : process (LOADCoef, Coef1,Coef2,Coef3,Coef4,Coef5,Coef6,Coef7,Coef8,Coef9,Coef10,Coef11,Coef12,Coef13,regCoef1,regCoef2,regCoef3,regCoef4,regCoef5,regCoef6,regCoef7,regCoef8,regCoef9,regCoef10,regCoef11,regCoef12,regCoef13) begin if LOADCoef = '1' then regCoef1 <= Coef1; regCoef2 <= Coef2; regCoef3 <= Coef3; regCoef4 <= Coef4; regCoef5 <= Coef5; regCoef6 <= Coef6; regCoef7 <= Coef7; regCoef8 <= Coef8; regCoef9 <= Coef9; regCoef10 <= Coef10; regCoef11 <= Coef11; regCoef12 <= Coef12; regCoef13 <= Coef13; end if; end process; Cf1 <= regCoef1 ; Cf2 <= regCoef2 ; Cf3 <= regCoef3 ; Cf4 <= regCoef4 ; Cf5 <= regCoef5 ; Cf6 <= regCoef6 ; Cf7 <= regCoef7 ; Cf8 <= regCoef8 ; Cf9 <= regCoef9 ; Cf10 <= regCoef10 ; Cf11 <= regCoef11 ; Cf12 <= regCoef12 ; Cf13 <= regCoef13 ; end Behavioral; Bahasa VHDL (Very High Speed Integrated Circuit Hardware Description Language) Disaindan Implementasi Rangkaian register matriksQDC kedalam IC FPGA Insentif RISTEK, 20 Desember 2011
Disaindan Implementasi Rangkaian register matriksQDC kedalam IC FPGA Insentif RISTEK, 20 Desember 2011
Disain dan Implementasi Rangkaian QDCT kedalam IC FPGA Insentif RISTEK, 20 Desember 2011
Rangkumanpenggunaan IC-FPGA hasil implementasi rangkaian QDCT Insentif RISTEK, 20 Desember 2011