Paano Gumagana ang JPEG Compression

Isang simpleng paliwanag ng mga hakbang sa likod ng mahusay na image compression

24. January 2025 ni Bianca Palmer

Paano Gumagana ang JPEG Compression

Naisip mo na ba kung paano nakakakuha ng larawan ang iyong phone o camera at, makalipas ang ilang sandali, nai-save na ito bilang JPEG, mas maliit, mas mabilis, at malinaw pa rin tingnan? Sa likod nito, may makapangyarihang proseso na nagpapaliit sa malalaking image file hanggang maging maliit na bahagi na lang ng orihinal na laki habang mataas pa rin ang kalidad. Pero paano ito talaga gumagana? Sa gabay na ito, titingnan natin ang mga detalye ng JPEG compressionat paghihiwa-hiwalayin bawat hakbang sa simpleng paliwanag para maintindihan mo kung paano gumagana ang image compression na ito.

Ano ang JPEG?

JPEG (short for Joint Photographic Experts Group) ay isa sa pinakakaraniwang image format. Ito ang karaniwang pinipili para sa pag-iimbak ng digital photos. Ang pangunahing bentahe ng JPEG ay ang kakayahan nitong i-compress ang image files, ginagawang mas maliit ang mga ito nang walang halatang pagbagsak sa kalidad.

Halimbawa, ang isang high-quality na hindi compressed na imahe ay maaaring 46MB. Pagkatapos i-compress sa JPEG, ang parehong imahe ay maaaring lumiit hanggang 4.1MB lang. Pero paano nito nagagawa ito habang malinaw pa rin ang larawan?

Ang sagot ay nasa compression process, na sinasamantala kung paano tayo nakakakita at inaalis ang hindi kailangang data.

Ano ang Ginagawa ng JPEG?

Sa simpleng paliwanag, sinusuri ng JPEG ang imahe at inaalis ang mga elementong hindi madaling makita ng ating mga mata. Kapag nagco-compress ka ng imahe gamit ang JPEG, makokontrol mo kung gaano kalakas ang compression. Sa pag-adjust ng "quality" setting, ikaw ang magpapasya kung gaano kalaking space ang gusto mong makatipid. Habang bumababa ang quality mula 100% hanggang 0%, lumiliit din ang file size kasabay nito.

Habang mas ini-compress mo, nananatiling pareho ang resolution ng larawan, pero maaari ka nang makakita ng ilang depekto o "artifacts" na lumilitaw. Mukha itong maliliit na parisukat at madalas mahirap mapansin maliban na lang kung naka-zoom in. Layunin ng JPEG na gawin ang file na kasing liit hangga't maaari nang hindi pinapangit ang itsura ng imahe sa mata ng tao.

Mga Hakbang ng JPEG Compression

JPEG compression ay hindi lang iisang proseso; ito ay serye ng mga hakbang na dinisenyo upang paliitin ang laki ng imahe. Narito ang limang pangunahing hakbang na ginagawa ang JPEG na napakaepektibo.

Hakbang 1: Color Space Conversion

Ang mga imahe ay binubuo ng pixels, at bawat pixel ay may red, green, at blue (RGB) na bahagi na pinagsasama para makabuo ng mga kulay. Nagsisimula ang JPEG sa pag-convert ng mga RGB values sa ibang color space:

  • Luminance (Brightness): Ito ang liwanag ng isang pixel at mahalaga para tukuyin ang kabuuang contrast ng imahe.
  • Chrominance (Color): Ito ang impormasyon tungkol sa kulay, kabilang ang hue at saturation.

Ginagamit ng conversion na ito ang katotohanang mas sensitibo ang mata ng tao sa liwanag (luminance) kaysa sa kulay (chrominance). Sa pamamagitan ng paghihiwalay ng liwanag mula sa kulay, nagagawa ng JPEG na magbawas ng data sa mga susunod na hakbang habang pinananatiling buo ang pinakamahalagang detalye sa itsura.

Walang data na nawawala sa hakbang na ito, pero inihahanda nito ang imahe para sa mas epektibong compression.

Hakbang 2: Chrominance Downsampling/Chroma Subsampling

Chroma Subsampling ay isang ay teknik na ginagamit pagkatapos ng color space conversion. Naalala mo ba na sinabi nating hindi ganoon kahusay ang ating mata sa pagtingin ng mga kulay (chrominance) kumpara sa liwanag (luminance)?

Ginagamit ito ng JPEG sa pamamagitan ng pagbawas sa dami ng color data. Pinapaliit nito ang blue at red chrominance images sa pamamagitan ng pag-average ng mga ito sa blocks na tig-aapat na pixels. Ginagawa nitong mas maliit ang color data habang hindi binabago ang luminance (brightness). Sa puntong ito, malaki na ang nabawas sa laki ng imahe.

Hakbang 3: Discrete Cosine Transform (DCT)

Ang Discrete Cosine Transform (DCT) ay matematikal na teknik para i-convert ang image data mula sa spatial domain (kung saan ang imahe ay grid ng pixels) papunta sa frequency domain. Tinutulungan ng prosesong ito kilalanin kung aling mga bahagi ng imahe ang may pinakamahalagang visual na impormasyon at alin ang maaaring itinapon.

Hinahati ng DCT ang larawan sa mga 8x8 na bloke at kino-convert ang bawat bloke sa koleksyon ng mga frequency value. Ang mas matataas na frequency, na kumakatawan sa mabilis na pagbabago sa pixel values, tulad ng gilid o ingay, ay kadalasang hindi gaanong napapansin ng taong mata at maaaring payakihin o alisin.

Hakbang 4: Quantization

Kapag naipataw na ang DCT, ang nabuong frequency data ay daraan sa quantization. Sa hakbang na ito, ang saklaw ng mga frequency value ay pinapaliit sa pamamagitan ng paghahati sa mga ito gamit ang set ng mga constant na tinatawag na quantization table. Ang proseso ay sa esensya ay nagro-round off sa mga frequency value para gawing mas simple ang mga ito.

Ang mas matataas na frequency value ay mas malakas na naki-quantize, ibig sabihin mas marami silang nawawalang precision dahil hindi sila ganoon kahalaga sa pangkalahatang kalidad ng larawan. Ang ikaapat na hakbang na ito ay nagpapabawas sa dami ng data na kailangan para i-representa ang larawan, kaya mas maliit ang file. Gayunpaman, ang sobrang quantization ay maaaring magdulot ng nakikitang mga artifact, tulad ng pagiging bloke-bloke o malabo, lalo na sa mas mataas na antas ng compression.

Hakbang 5: Run Length at Huffman Encoding

Pagkatapos ng quantization, hindi pa rin sapat na compact ang data para sa mahusay na pag-store. Dito pumapasok ang Run Length Encoding (RLE) at Huffman Encoding na ginagamit.

Una, ginagamit ang RLE para payakihin ang mahahabang sunod-sunod na paulit-ulit na data (tulad ng mga zero) sa pamamagitan ng pag-store ng bilang ng mga pag-ulit sa halip na bawat indibidwal na value. Pagkatapos ay ina-apply ang Huffman Encoding, isang teknik na pumapalit sa madalas lumabas na mga value ng mas maiikling bit code, na lalo pang nagpapaliit ng file.

These two mga encoding method na magkasamang nagpapaliit nang malaki sa laki ng file nang hindi naisasaalang-alang nang husto ang kalidad ng larawan.

Dagdag na Tala

Bagama't napakaepektibo ng JPEG na format, may ilang mahahalagang bagay na dapat isaalang-alang:

  • Antas ng Compression: Pinapayagan ng JPEG ang mga user na pumili ng antas ng compression, ngunit habang mas mataas ang compression, mas lumiit ang file at maaaring lumitaw ang mga nakikitang artifact tulad ng malabong gilid o pixelation. Nangyayari ito kapag masyadong mataas ang mga value sa quantization table, na nagreresulta sa mas maraming zero na idinadagdag, na nagpapaliit sa file ngunit kapalit nito ang kalidad ng larawan.
  • Pagkawala ng High-Frequency Data: Binabawasan ng quantization ang precision ng high-frequency data (mga detalye tulad ng matutulis na gilid), kaya mahusay ang JPEG para sa makikinis na texture ngunit maaaring mahirapan sa matutulis na linya at vector graphics.
  • Hindi Ideal para sa Vector Graphics: Hindi ang JPEG ang pinakamainam na pagpipilian para sa pag-compress ng vector graphics, dahil maaari itong magdulot ng kapansin-pansing mga artifact sa mga hangganan ng mga hugis o linya.

Sa kabila ng mga limitasyong ito, nananatiling pinakagamit na image format ang JPEG, bahagi dahil ito ay luma, madaling maunawaan, at royalty-free. Gayunpaman, ang mas bagong mga format tulad ng WebP o HEIF ay nag-aalok pa ng mas magagandang compression rate nang hindi sinasakripisyo ang kalidad, kaya kaakit-akit silang alternatibo sa ilang sitwasyon.

Pangwakas

Ang JPEG compression algorithm ay isang kapansin-pansing tagumpay sa pamamahala ng image data. Sa pamamagitan ng paghahati sa mga larawan sa mas maliliit na bloke, paglalapat ng mga matematikal na transformasyon, at paggamit ng mahusay na mga teknik sa encoding tulad ng Run Length at Huffman Encoding, nagbibigay-daan ito na mai-store ang mga high-quality na larawan sa mas maliliit na laki ng file.

Bagama't may ilang limitasyon ang JPEG, lalo na sa napakataas na antas ng compression o sa vector graphics, ang malawak na paggamit nito at kakayahang magbigay ng magagandang resulta para sa mga photographic na larawan ang dahilan kung bakit ito nananatiling pamantayan.