Kaip apskaičiuoti PSNR

Didžiausias signalo ir triukšmo santykis (PSNR) yra didžiausios signalo galios ir signalo triukšmo galios santykis. Inžinieriai dažniausiai naudoja PSNR matuodami suspaustų atkurtų vaizdų kokybę. Kiekvienas paveikslėlio elementas (pikselis) turi spalvos vertę, kuri gali pasikeisti, kai vaizdas suglaudinamas, o tada nesuspaustas. Signalai gali turėti platų dinaminį diapazoną, todėl PSNR paprastai išreiškiamas decibelais, o tai yra logaritminė skalė.

Apibrėžkite bel ir decibelą. Belas matematiškai apibrėžiamas kaip LB = log10 (P1 / P0), kur P1 ir P0 yra du kiekiai, esantys tuose pačiuose matavimo vienetuose. Decibelis yra 0,1 bel, taigi decibelio reikšmė LdB yra LdB = 10 log10 (P1 / P0).

Apibrėžkite vidutinę kvadrato paklaidą (MSE) tarp dviejų vienspalvių vaizdų, kur vienas vaizdas laikomas kito apytiksliu dydžiu. MSE galima apibūdinti kaip taškų verčių skirtumų tarp atitinkamų dviejų vaizdų taškų kvadrato vidurkį.

Išreikškite MSE matematiškai pagal 1 veiksmo aprašą. Todėl mes turime MSE = 1 / mn [?? (I (i, j) - K (i, j)) ^ 2], kur I ir K yra matricos, vaizduojančios palyginamus vaizdus. Dvi apibendrinimai atliekami matmenims \ "i \" ir \ "j. \". Todėl I (i, j) reiškia I vaizdo taškų (i, j) vertę.

Nustatykite didžiausią galimą I vaizdo taškų vertę. Paprastai tai gali būti pateikiama kaip (2 ^ n) - 1, kur n yra taškų skaičius, nurodantis pikselį. Taigi 8 bitų pikselio maksimali vertė būtų (2 ^ 8) - 1 = 255. Tegul maksimali I taško taškų vertė yra MAX.

Išreikškite PSNR decibelais. Nuo 1 veiksmo decibelų reikšmę turime LdB kaip LdB = 10 log10 (P1 / P0). Dabar tegul P1 = MAX ^ 2 ir P0 = MSE. Tada turime PSNR = 10 log10 (MAX ^ 2 / MSE) = 10 log10 (MAX / (MSE) ^ (1/2)) ^ 2 = 20 log10 (MAX / (MSE) ^ (1/2)). Todėl PSNR = 20 log10 (MAX / (MSE) ^ (1/2)).

  • Dalintis
instagram viewer