Wednesday, March 14, 2012

Compression හා Decompression ගැන යමක්...

සම්පීඩනය කිරීම මඟින් බලාපොරොත්තුවන්නේ ගොනුවක් ගබඩාකිරීමේදී අත්පත් කරගන්නා අවකාශයේ ප්‍රමාණය අවම කිරීම ය. File එකක් නිර්මාණයවන්නේ මෘදුකාංගයකට හෝ පරිගණක පරිශීලකයාට තේරුම්ගත හැකි, භාවිත කළ හැකි ආකෘතියකටය. පරිගණනයේ සාමාන්‍ය රීතියක් හැටියට file size එක හැකිතාක් අවම ලෙස තබාගන්නා ලෙසයි බොහෝ මෘදුකාංග ක්‍රියාකරන්නේ. ඒ අනුව යම්යම් file format තරමක්දුරට සම්පීඩිත තත්වයේ පවතිනවා.

ගොනුවක දත්ත ආකෘතිගත කර ඇත්තේ අදාල මෘදුකාංගයකට කියවා තේරුම්ගත හැකි ආකාරයකටය.

සම්පීඩනය මඟින් කෙරෙනුයේ ගොනුවේ දත්ත රටාව ඇසුරින් වෙනත් දත්ත රටාවක් නිර්මාණය කිරීමයි. මෙම නිර්මාණය කරගත් නව දත්ත රටාව මුල් ගොනුවට වඩා කුඩා වුවත් මුල් ගොනුවේ අඩංගු වූ දත්ත සියල්ල වෙනත් අයුරකින් නිරූපණය කර ඇත. එබැවින් ගොනුව සම්පීඩනය වී ඇතැයි කියමු.

සම්පීඩිත තත්වයේ ගොනුවේ දත්ත රටාව තවදුරටත් පෙරකී මෘදුකාංගය මගින් කියවා තේරුම්ගත නොහැක. ගොනුව නැවත භාවිත කළහැකි තත්වයට ගෙනඒමට නම් අසම්පීඩනය(decompress) කර මුල් තත්වයේ ගොනුව ප්‍රතිනිර්මාණය කරගතයුතුය.

Lossless Data Compression/Decompression

Decompression සඳහා බොහෝවිට කෙරෙනුයේ compress කිරීමේදී භාවිතාකළ ක්‍රියාපටිපාටිය ආපස්සට කිරීමයි. එමගින් සම්පීඩිත ගොනුව කියවා එහි දත්ත රටාව ඇසුරින් මුල්ගොනුවෙහි වූ දත්ත රටාව යලි නිර්මාණය කෙරේ.

Compression/decompression තත්වයන් රඳා පවතින්නේ සම්පීඩනය/අසම්පීඩනය සඳහා භාවිතා කරන මෘදුකාංගයේ වර්ගය මත නොව; එම කාර්යයට භාවිත කරන ඇල්ගොරිතමට(ක්‍රියාපටිපාටියට) අනුවයි. (උදා: Huffman, PPM, LZ, ...) සමහරක් ගොනු ආකෘති සම්පීඩනය කිරීමෙහිලා සමහරක් ඇල්ගොරිතම උචිත වුවද සියලු ගොනුවර්ග සඳහා ප්‍රමාණවත් සම්පීඩනයක් ගෙන නොඑන්නට පුලුවන. එබැවින් විවිධ තත්වයන්ගේ ගොනු සඳහා විවිධ වූ ඇල්ගොරිතම භාවිතයට ගැනේ.

මුල් ගොනුවේ දත්ත රටාව, දත්ත ප්‍රමාණය මෙන්ම භාවිතාකරන ඇලිගොරිතමය අනුව ද සම්පීඩිත ගොනුවේ දත්ත රටාව ද, ප්‍රමාණය ද, ගතවන කාලය ද තීරණයවේ.

ප්‍රමාණය හා ගතවන කාලය ඇල්ගොරිතම මත රඳාපවතී


සම්පීඩනය කිරීමේ වාසි/අවාසි:
  • විශාල දත්ත ගොනු ඊට වඩා කුඩා දත්ත ගොනු මගින් නිරූපණය කිරීමෙන් ගබඩාකරණය සඳහා වැයවන ඉඩකඩ අවමවීම
  • ගොනුවේ ප්‍රමාණය කුඩාවීම නිසා upload, download ආදී සම්ප්‍රේෂණ කටයුතු සඳහා ගතවන කාලය අඩු වීම
  • සම්පීඩිත තත්වයේදී මුල් ගොනුවේ ආකෘතිය නොමැති බැවින් සාමාන්‍ය මෘදුකාංග මගින් භාවිත කළ නොහැකිවීම
  • compression, decompression සඳහා පරිගණකයේ සැකසුම් බලය(processing power) හා අමතර කාලයක් ගතවීම

5 comments:

සම්පීඩනය කරල ම ලියලා තියෙන්නේ ... තවත් අසම්පීඩනය කරල ලියමු නේ ද? ඇලගොරිතම ගැන එහෙම ...?

@Uvindu, Inika ජයසිංහ:
ස්තූතියි Comment වලට. ඔබේ ප්‍රතිචාර, අදහස් අපිට ගොඩක් ප්‍රයෝජනවත්.

@Inika: හොඳ අදහසක්.. ළඟදීම ඒ ගැනත් ලිපි පෙලක් පළවේවි. ("Inika" decompress කළාම "Indika" නේද? :D )

වැදගත් ලිපියන් යාලුවා


පුළුවන් වෙලාවක අපේ පැත්තෙත් ඇවිත් යන්න MyTechGate (බදා ගත් දේ බෙදා ගැනීමට දරන වෑයමක්)

දෙවෙනි වතාවට අද කියෙව්වා :)
බොහොම ස්තුතියි ගොඩක් වැදගත්

Comment එකක් දාන්න