Post on 01-Jan-2016
description
DISEMINASI PENELITIANINSENTIF 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.) ,
Edi Sukirman (Dr.) dan Lingga Hermanto (SSi., MMSi)
Insentif RISTEK, 20 Desember 2011 2
Isi Presentasi1. Pendahuluan
- Latar Belakang Masalah- Ide dan Masalah Penelitian
- Tujuan dan Sasaran Pencapaian
2. Rancangan Penelitian
3. Pengembangan Perangkat Lunak- Optimalisasi algoritma kompresi citra JPEG- Pembuatan prototipe perangkat lunak kompresi
dan pengamanan data rahasia multimedia
4. Pengembangan Prangkat Keras- Implementasi algoritma QDCT ke dalam IC-FPGA- Pembuatan prototipe IC proses QDCT
5. Kesimpulan
Insentif RISTEK, 20 Desember 2011 3
1. Pendahuluan : Latar Belakang Masalah
Vidéo conférence
- Volume data multimedia sangat besar- Bandwidth jaringan terbatas dan mahal- Delay waktu transmisi besar
Insentif RISTEK, 20 Desember 2011 4
Enkripsiatau
Coding
Filemultimedia
Dekripsiatau
decoding
FileMultimediaterenkripsi
Filemultimedia
- Pengamanan Data/File :
Pembagian blok citra
Transformasi warna
Proses DCT
KuantisasiRLE danHuffman Coding
Tabel Kuantisasi
Tabel coding
Rekonstruksi blok citra
Transformasi warnainvers
Proses DCT invers
KuantisasiInvers
RLE danHuffman Decoding
Citra terkompres
JPEG
Citra asli
Kompresi JPEG
Rekonstruksi JPEG
- Kompresi Citra JPEG / video MPEG:
1. Pendahuluan : Latar Belakang Masalah
DCT : discrete cosine transform
Insentif RISTEK, 20 Desember 2011 5
Kompresi citra standar JPEG:Citra
I(RGB)
Inisialisasi matriks DC
Inisialisasi tabel coding
Baca blok I(RGB) 8x8 pixel
I(RGB) 8x8 pixel I(YCbCr)
DCT untuk Y, Cb, dan Cr
Kuantisasi hasil DCT
Coding hasil Kuantisasi
Semua blok sudah
dilakukan ?
Bit stream hasil coding
File Citra .jpg
Y
T
fDCDCDCT xyvu **,
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 =
Txy DCDC
DCT
÷
F =
F* =
1. Pendahuluan : Latar Belakang Masalah
Insentif RISTEK, 20 Desember 2011 6
Optimalisasi Kompresi dan Rekonstruksi Citra JPEG:
Pembagian blok citra
Transformasi warna
DCT Terkuantisasi
Coding
Rekonstruksi blok citra
Transformasi warnainvers
QDC Terkuantisasi
Invers
Decoding
Citraterkompresi
Citra asli
Kompresi citra
Rekonstruksi citra
1. Pendahuluan : Ide Penelitian
Insentif RISTEK, 20 Desember 2011 7
Pembagian blok citra
Transformasi warna
DCT Terkuantisasi
Coding
Rekonstruksi blok citra
Transformasi warnainvers
QDC Terkuantisasi
InversDecoding
Videoterkompresi
Kompresi citra
Rekonstruksi citra
I B B B P B B B P B B B I
Optimalisasi Kompresi dan Rekonstruksi Video MPEG:
1. Pendahuluan : Ide Penelitian
Insentif RISTEK, 20 Desember 2011 8
Rumusan Masalah Penelitian 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.
• Bagaimana mengembangkan satu perangkat lunak yang dapat
melakukan kompresi data multimedia disertai dengan pengamanan
yang lebih terjamin.
1. Pendahuluan :
Insentif RISTEK, 20 Desember 2011 9
Tujuan Penelitian 1
• Mengembangkan satu persamaan DCT-terkuantisasi (QDCT) yang
dapat menhitung DCT dan kuantisasi dalam satu proses.
• Mengembangkan algoritma dan source code QDCT.
• Mengembangkan algoritma coding yang lebih optimal
• Mengembangkan perangkat lunak kompresi data multimedia
dan pengamanannya.
1. Pendahuluan :
Insentif RISTEK, 20 Desember 2011 10
2. Rancangan Penelitian : Kompresi dan pengamanan data rahasia
multimedia
Insentif RISTEK, 20 Desember 2011 11
Optimalisasi Kompresi citra JPEG:Citra
I(RGB)
Inisialisasi matriks DC
Inisialisasi tabel coding
Baca blok I(RGB) 8x8 pixel
I(RGB) 8x8 pixel I(YCbCr)
QDCT untuk Y, Cb, dan Cr
Coding hasil Kuantisasi
Semua blok sudah
dilakukan ?
Bit stream hasil coding
File Citra .jpg
Y
T
fQDCQDCQDCT xyvu **,
Txy QDCQDC
QDCT F =
75311357
62266226
51733715
44444444
37155173
26622662
13577531
44444444
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
x
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
QDC
dimana
.16
kcos)k,q(Q)k(Cqk
3. Pengembangan Perangkat Lunak
Insentif RISTEK, 20 Desember 2011 12
Hasil Uji Coba : Rasio dan Kualitas Kompresi
0
5
10
15
20
25
30
35
40
43.85 42.77 42.11 41.62 41.12 40.74 40.45 39.6
Quality (dB)
Co
mp
res
sio
n R
atio
Our algorithmJPEG (Photoshop)
0
2
4
6
8
10
12
14
16
18
20
43.12 41.13 39.66 38.66 37.87 37.09 36.23
Quality (dB)
Co
mp
res
sio
n R
atio
JPEG (Photoshop) Our algorithm
Insentif RISTEK, 20 Desember 2011 13
No Citra Kapasitas
(KB)Ukuran (pixel)
Kecepatan proses (ms)
DCT + Q QDCTPeningkatan
(%)
1 Citra 1 558 529 x 360 57 48 15,792 Citra 2 564 486 x 383 44 35 20,463 Citra 3 584 460 x 434 84 74 11,914 Citra 4 729 576 x 432 75 59 21,335 Citra 5 729 432 x 576 77 61 20,786 Citra 6 768 512 x 512 155 136 12,287 Citra 7 768 512 x 512 219 192 12,338 Citra 8 949 720 x 450 129 110 14,739 Citra 9 1110 720 x 540 87 67 22.99
10 Citra 10 1310 679 x 677 144 125 13,1911 Citra 11 2250 1024x768 242 189 21,90
Hasil Uji Coba : Kecepatan Kompresi
Insentif RISTEK, 20 Desember 2011 14
Rumusan Masalah Penelitian 2 :
4. Pengembangan Perangkat Keras
• 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 15
Tujuan Penelitian 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 16
Analisis data elemen matriks QDC :
75311357
62266226
51733715
44444444
37155173
26622662
13577531
44444444
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
QDC
Rancangan Penelitian 2 :
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 =
Insentif RISTEK, 20 Desember 2011 17
Minimalisasi jumlah perkalian dan penjumlahan dalam proses QDCT :
7,7...0,7
7,6...0,6
7,5...0,5
7,4...0,4
7,3...0,3
7,2...0,2
7,1...0,1
7,0...0,0
7,7...0,7
7,6...0,6
7,5...0,5
7,4...0,4
7,3...0,3
7,2...0,2
7,1...0,1
7,0...0,0
75311357
62266226
51733715
44444444
37155173
26622662
13577531
44444444
xx
xx
xx
xx
xx
xx
xx
xx
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
yy
yy
yy
yy
yy
yy
yy
yy
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
qqqqqqqq
XCqY
Rancangan Penelitian 2 :
fQDCQDCQDCT xyvu **,
Insentif RISTEK, 20 Desember 2011 18
7x
6x
5x
4x
3x
2x
1x
0x
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
CCCCCCCC
7y
6y
5y
4y
3y
2y
1y
0y
7q5q3q1q1q3q5q7q
6q2q2q6q6q2q2q6q
5q1q7q3q3q7q1q5q
4q4q4q4q4q4q4q4q
3q7q1q5q5q1q7q3q
2q6q6q2q2q6q6q2q
1q3q5q7q7q5q3q1q
4q4q4q4q4q4q4q4q
Minimalisasi jumlah perkalian dan penjumlahan dalam proses QDCT :
4x3x
5x2x
6x1x
7x0x
CCCC
CCCC
4y
0y
4q4q4q4q
4q4q4q4q
4x3x
5x2x
6x1x
7x0x
CCCC
CCCC
6y
2y
6q2q2q6q
2q6q6q2q
4x3x
5x2x
6x1x
7x0x
CCCC
CCCC
CCCC
CCCC
7y
5y
3y
1y
1q3q5q7q
3q7q1q5q
5q1q7q3q
7q5q3q1q
(T. C. Chen, 1988), (B. G. Lee, 2002).
Insentif RISTEK, 20 Desember 2011 19
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 )
dimana p = Cq6*( z0 + z1)
y1 = d - e - h + k y3 = c - f - g + k
y5 = b - f - h + k y7 = a -e - g + k
dimana a=(–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.
Jumlah perkalian 64 14 (reduksi 78%)
Jumlah penjumlahan/pengurangan 56 32 (reduksi 78%)
Insentif RISTEK, 20 Desember 2011 20
Hasil Uji Coba : Kecepatan Kompresi
No Nama Citra Ukuran Citra Kecepatan proses kompresi (ms)
DCT + Q QDCT FQDCTPeningkatan
(%)
1 Image 1 529 x 360 57 48 37 15,79
2 Image 2 486 x 383 44 35 22 20,46
3 Image 3 460 x 434 84 74 62 11,91
4 Image 4 576 x 432 75 59 44 21,33
5 Image 5 432 x 576 77 61 45 20,78
6 Image 6 512 x 512 155 136 120 12,28
7 Image 7 512 x 512 219 192 184 12,33
8 Image 8 720 x 450 129 110 92 14,73
9 Image 9 720 x 540 87 67 41 22.99
10 Image 10 679 x 677 144 125 95 13,19
11 Image 11 1024x768 242 189 137 21,90
Insentif RISTEK, 20 Desember 2011 21
Rangkaian sinkronisasi dan pembagian blok 8 pixel dan pemrosesan awal
Z4
Z5
Z6
X1
X5
3
1
(x3-x4)+(x0-x7)+(x2-x5)+(x1-x6)
x3-x4
4
7
6
X7
(x3+x4)+(x0+x7)
(x3-x4)+(x1-x6)
8 D Flip-flop
(x3-x4)+(x0-x7)
(x2-x5)+(x0-x7)
2
(x2+x5)+(x1+x6)+(x3+x4)+(x0+x7)
Counter 8
j3
Input X
Shift Register
X2
(x2-x5)+(x1-x6)
x0+x7
X3
X0
5
8 pixels
0
X6
Clock
X4
(x3+x4)+(x0+x7)-(x2+x5)-(x1+x6)
z2
z1
j2x2-x5
j1x1-x6
x0-x7j0
s2
s3
s1
s4
s0
x3+x4(x0+x7)-(x3+x4)
z0
x2+x5
x1+x6
(x1+x6)-(x2+x5)
(x2+x5)+(x1+x6) z3
(x1+x6)-(x2+x5)+(x0+x7)-(x3+x4)
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
Insentif RISTEK, 20 Desember 2011 22
Cq4
Cq6
Cq2 - Cq6
Cq3
z5 z0 z1 z4 j0 j1 j2 j3 s0 s1 s2 s3 s4
Y0
z6
Cq2 + Cq6
Y2
p
Y4 Y6
-Cq1 + Cq3+Cq5 – Cq7
Cq1 + Cq3 -Cq5 + Cq7
Cq1 + Cq3 +Cq5 – Cq7
Cq1 + Cq3 -Cq5 – Cq7
- Cq3+ Cq7
- Cq1 – Cq3
- Cq3 – Cq5
- Cq3+ Cq5
a
Y1
b
c
d
e
f
g
h
k
+
+
Y3
+
+
+
+
+ +
Y5
+
+
*
*
*
*
*
*
*
*
*
*
*
*
*
+ +
Y7
*
Rangkaian proses penghitungan QDCT per blok 8 pixel
Insentif RISTEK, 20 Desember 2011 23
ProgrammableInterconnect I/O Blocks (IOBs)
Configurable Logic Blocks (CLBs)
D Q
SlewRate
Control
PassivePull-Up,
Pull-Down
Delay
Vcc
OutputBuffer
InputBuffer
Q D
Pad
D QSD
RD
EC
S/RControl
D QSD
RD
EC
S/RControl
1
1
F'
G'
H'
DIN
F'
G'
H'
DIN
F'
G'
H'
H'
HFunc.Gen.
GFunc.Gen.
FFunc.Gen.
G4G3G2G1
F4F3F2F1
C4C1 C2 C3
K
Y
X
H1 DIN S/R EC
FPGA :Field Programmable Gate Arrays
Insentif RISTEK, 20 Desember 2011 24
Slice FPGA
Insentif RISTEK, 20 Desember 2011 25
Disain dan Implementasi Rangkaian register matriks QDC kedalam IC FPGA
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)
Insentif RISTEK, 20 Desember 2011 26
Disain dan Implementasi Rangkaian register matriks QDC kedalam IC FPGA
Insentif RISTEK, 20 Desember 2011 27
Disain dan Implementasi Rangkaian QDCT kedalam IC FPGA
Insentif RISTEK, 20 Desember 2011 28
Rangkuman penggunaan IC-FPGA hasil implementasi rangkaian QDCT