Diskret kosinus konvertatsiyasi (dct) har XIL chastotalarda tebranuvchi kosinus funktsiyalarining yig'indisi nuqtai nazaridan ma'lumotlar nuqtalarining cheklangan ketma -ketligini ifodalaydi



Download 39,45 Kb.
Sana11.01.2022
Hajmi39,45 Kb.
#345547
Bog'liq
Diskret kosinus konvertatsiyasi


Diskret kosinus konvertatsiyasi (DCT) har xil chastotalarda tebranuvchi kosinus funktsiyalarining yig'indisi nuqtai nazaridan ma'lumotlar nuqtalarining cheklangan ketma -ketligini ifodalaydi. Birinchi bo'lib 1972 yilda Nosir Ahmad tomonidan taklif qilingan DCT signallarni qayta ishlash va ma'lumotlarni siqishda keng qo'llaniladigan transformatsiya usuli hisoblanadi. Raqamli tasvirlar (JPEG va HEIF kabi kichik chastotali komponentlar tashlanishi mumkin bo'lgan), raqamli video (MPEG va H.26x kabi), raqamli audio (Dolby Digital, MP3 kabi) kabi raqamli axborot vositalarining ko'pchiligida ishlatiladi. va AAC), raqamli televidenie (SDTV, HDTV va VOD kabi), raqamli radio (AAC+ va DAB+ kabi) va nutqni kodlash (AAC-LD, Siren va Opus kabi). DCT -lar, shuningdek, raqamli signallarni qayta ishlash, telekommunikatsiya asboblari, tarmoqli o'tkazish qobiliyatini qisqartirish va qisman differentsial tenglamalarni sonli hal qilish uchun spektral usullar kabi fan va texnikada qo'llaniladigan boshqa ko'plab ilovalar uchun ham muhim ahamiyatga ega.
Sinus funktsiyalaridan ko'ra kosinusdan foydalanish siqilish uchun juda muhim, chunki ma'lumki (pastda tasvirlangan) odatiy signalni taxmin qilish uchun kosinus funktsiyalarining kamroq bo'lishi kerak, differentsial tenglamalar uchun esa kosinuslar chegara shartlarining ma'lum tanlovini bildiradi. Xususan, DCT-bu Fourier bilan bog'liq bo'lgan diskret Fourier transformatsiyasiga (DFT) o'xshash, lekin faqat haqiqiy sonlardan foydalangan holda o'zgartirish. DCTlar, odatda, davriy va nosimmetrik kengaytirilgan ketma -ketlikdagi Fourier seriyali koeffitsientlari bilan, DFTlar esa faqat vaqti -vaqti bilan kengaytirilgan ketma -ketlikdagi Fourier seriyali koeffitsientlari bilan bog'liq. DCTlar simmetriya bilan haqiqiy ma'lumotlarda ishlaydigan uzunlikdan taxminan ikki barobar uzunlikdagi DFTga teng (chunki haqiqiy va hatto funktsiyaning Furye konvertatsiyasi haqiqiy va hatto), ba'zi variantlarda kirish va/yoki chiqish ma'lumotlari yarmiga siljiydi. namuna. Sakkizta standart DCT variantlari mavjud, ulardan to'rttasi keng tarqalgan.

Diskret kosinus konvertatsiyasining eng keng tarqalgan varianti-II DCT turi, uni odatda "DCT" deb atashadi. Bu Ahmad tomonidan birinchi marta taklif qilingan asl DCT edi. Uning teskari turi-III DCT mos ravishda ko'pincha "teskari DCT" yoki "IDCT" deb nomlanadi. Tegishli ikkita transformatsiya - bu aniq va toq funktsiyalar DFT ga teng bo'lgan diskret sinusli transformatsiya (DST) va bir -biriga mos keladigan ma'lumotlar DCT ga asoslangan o'zgartirilgan diskret kosinus transformatsiyasi (MDCT). Ko'p o'lchovli DCT (MD DCTs) DCT tushunchasini MD signallariga kengaytirish uchun ishlab chiqilgan. MD DCT ni hisoblash uchun bir nechta algoritmlar mavjud. DCTni bajarishning hisoblash murakkabligini kamaytirish uchun turli xil tezkor algoritmlar ishlab chiqilgan. Ulardan biri-DCT [1] (IntDCT) tamsayı, bir nechta ISO/IEC va ITU-T xalqaro standartlarida qo'llaniladigan standart DCT [2] butun sonli yaqinlashuvi. [2] [1]


DCT -ni siqish, shuningdek bloklarni siqish deb ataladi, ma'lumotlarni alohida DCT bloklari to'plamlarida siqadi. [3] DCT bloklari bir qator o'lchamlarga ega bo'lishi mumkin, shu jumladan standart DCT uchun 8x8 piksel va 4x4 dan 32x32 pikselgacha bo'lgan DCT ning har xil o'lchamlari. [1] [4] DCT kuchli "energiyani siqish" xususiyatiga ega, [5] [6] yuqori ma'lumotlarni siqish nisbatlarida yuqori sifatga erisha oladi. [7] [8] Biroq, og'ir DCT siqish qo'llanilganda, blokli siqilish artefaktlari paydo bo'lishi mumkin.

DCT algoritmi :

// CPP program to perform discrete cosine transform

#include

using namespace std;

#define pi 3.142857

const int m = 8, n = 8;
// Function to find discrete cosine transform and print it

int dctTransform(int matrix[][n])

{

int i, j, k, l;


// dct will store the discrete cosine transform

float dct[m][n];


float ci, cj, dct1, sum;
for (i = 0; i < m; i++) {

for (j = 0; j < n; j++) {


// ci and cj depends on frequency as well as

// number of row and columns of specified matrix

if (i == 0)

ci = 1 / sqrt(m);

else

ci = sqrt(2) / sqrt(m);



if (j == 0)

cj = 1 / sqrt(n);

else

cj = sqrt(2) / sqrt(n);


// sum will temporarily store the sum of

// cosine signals

sum = 0;

for (k = 0; k < m; k++) {

for (l = 0; l < n; l++) {

dct1 = matrix[k][l] *

cos((2 * k + 1) * i * pi / (2 * m)) *

cos((2 * l + 1) * j * pi / (2 * n));

sum = sum + dct1;

}

}



dct[i][j] = ci * cj * sum;

}

}


for (i = 0; i < m; i++) {

for (j = 0; j < n; j++) {

printf("%f\t", dct[i][j]);

}

printf("\n");



}

}
// Driver code

int main()

{

ios :: sync_with_stdio(0);



cin.tie(0);

cout.tie(0);

int matrix[m][n] = { { 255, 255, 255, 255, 255, 255, 255, 255 },

{ 255, 255, 255, 255, 255, 255, 255, 255 },

{ 255, 255, 255, 255, 255, 255, 255, 255 },

{ 255, 255, 255, 255, 255, 255, 255, 255 },

{ 255, 255, 255, 255, 255, 255, 255, 255 },

{ 255, 255, 255, 255, 255, 255, 255, 255 },

{ 255, 255, 255, 255, 255, 255, 255, 255 },

{ 255, 255, 255, 255, 255, 255, 255, 255 } };

dctTransform(matrix);

return 0;



}

Natija:



Download 39,45 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish