What is File Compression?

What is File Compression? கோப்புச் சுருக்கம் (file compression) என்பது ஒரு கோப்பில் உள்ள அசல் தரவைப் பாதுகாப்பதோடு அந்தக் கோப்பின் அளவைக் குறைக்கும் தொழிநுட்பம். கோப்பொன்றைச் சுருக்குவதால், அது தேக்கச் சாதனங்களில் (storage devices) குறைந்தளவு இடத்தையே எடுத்துக்கொள்கிறது.  மேலும்  இணையம் அல்லது வேறு வழிகளில் எளிதாகப் பரிமாற்றம் செய்யவும்  முடிகிறது.

பொதுவாக, கோப்புச் சுருக்கமானது இழப்புச் சுருக்கம் (lossy),  இழப்பற்ற (lossless) சுருக்கம் என இரண்டு வகைகளாகப் பிரிக்கப்படுகிறது.

இவை இரண்டுக்கும் என்ன வேறுபாடு?

இழப்புச் சுருக்கம் / இழப்புடன் கூடிய கோப்புச் சுருக்கம் (lossy)  

இழப்பை உண்டாக்கும் சுருக்கமானது ஒரு கோப்பில் உள்ள தேவையற்ற பிட்களை (bits)  நீக்கிக் கோப்பின் அளவைக் குறைக்கிறது. இவ்வகைச் சுருக்கம் படம், வீடியோ மற்றும் ஆடியோ வடிவங்களில் பொதுவாகப் பயன் படுத்தப்படுகிறது. இங்கு மூல ஊடகத்தின் (original) சரியான பிரதிநிதித்துவம் தேவையில்லை. இதற்கு உதாரணமாக MP3 மற்றும் JPEG எனும் இரண்டு பிரபலமான கோப்பு வகைகளைக் குறிப்பிடலாம்.

What is File Compression?
What is File Compression?

ஒரு MP3  கோப்பில்,  மூல ஊடகத்தில் உள்ள அனைத்து ஆடியோ தகவல்களும் இருப்பதில்லை. மூல ஊடகத்தில் மனிதர்களால் கேட்க முடியாத சில ஒலிகளும் அடங்கியுள்ளன.  MP3  கோப்பில் அவை நீக்கப்படுகின்றன, எனினும் அவை நீக்கப்படுள்ளதை உங்களால் உணர முடியாது.  எனவே அந்தத் தகவலை நீக்குவது அடிப்படையில் எந்தக் குறைபாடுகளும் இல்லாமல் குறைந்த ஃபைல் அளவில் (file size) பெற முடிகிறது.

இருப்பினும், நீங்கள் ஒரு கோப்பை எவ்வளவு அதிகமாகச் சுருக்குகிறீர்களோ, அதற் கேற்ப அதன் தரமும் குறையும், ஃபைல் அளவும் குறையும். உதாரணமாக அதிகளவில் சுருக்கப்பட்ட ஒரு MP3 பாடல் கோப்புடன் அதன் உயர் தரத்திலான மூல வடிவ கோப்பை ஒப்பிடும்போது  இதை உணர முடியும்.

அதேபோல், JPEG கோப்புகளிலும்  படங்களின் முக்கியமற்ற பகுதிகள் நீக்கப்படுகின்றன. உதாரணமாக, நீல வானத்தைக் காட்டும் ஒரு படத்தில் இருக்கும், நீல நிறத்தின் கண்களுக்குப் புலப்படாத நிற வேறுபாடுகளுக்குரிய  (Pixel-ஒரு படத்தை உருவாக்கும் மிகச் சிறிய புள்ளி) பிக்சல்கள் நீக்கப்பட்டு பதிலாக வானத்தின் நீல நிறத்தைக் காட்டும் அனைத்து பிக்சல்களையும் ஒன்று அல்லது இரண்டு நீல நிற வேறுபாடுகளுடன் காட்டப்படுகிறது.

இந்த JPEG ஃபைல் சுருக்கத்திற்கு உதாரணமாக எல்லோருக்கும் பரிச்சயமான வாட்சப்பில் நீங்கள் அனுப்பும் படங்களைச் குறிப்பிடலாம். உங்கள் மொபைல் கேமராவில் எடுத்த படத்தை வாட்சப்பில் அனுப்பும்போது அது கம்ப்ரெஸ் செய்யப்பட்டே அனுப்பப்பட்டுகிறது. அவ்வாறு அனுப்பும்போது அந்தப் படத்தின் தரமும் கோப்பின் அளவும் குறைவதை நீங்கள் அவதானித்திருக்க முடியும். இவ்வாறு கம்ப்ரெஸ் செய்வதனால் அனுப்புபவரின் மொபைல் டேட்டா விரயமாவதைத் தடுக்க முடிவதோடு அந்த ஃபைலை விரைவாக அனுப்பவும் முடிகிறது. வாட்சப்பில் அனுப்பப்படும் வீடியோ கூடக் கம்ப்ரெஸ் செய்யப்பட்டே அனுப்பப்படுகிறது. இருந்தாலும் சமீபத்தில், வாட்ஸ்அப்பில் தர இழப்பின்றி படங்களை, வீடியோவை அனுப்பக்கூடிய வசதியும் சேர்க்கப்பட்டுள்ளது,

நீங்கள் பயன் படுத்தும் நோக்கத்தைப் பொருத்து,  உங்களுக்குத் தேவையானதை விட ஒரு கோப்பில் அதிக தகவல்கள் இருக்குமானால்  இழப்புச் சுருக்கம் பொருத்தமானது. உதாரணமாக, உங்களிடம் ஒரு பெரிய ஃபைல் அளவைக் கொண்ட ஒரு RAW வகை படக் கோப்பு உள்ளது என வைத்துக்கொள்வோம். ஒரு பெரிய பேனரில் படத்தை அச்சிடும் தேவைக்கு அதன் தரத்தைப் பாதுகாக்க வேண்டுமானால் அந்த RAW கோப்பையே கம்ப்ரெஸ் செய்யாமல் பயன் படுத்த வேண்டும். ஆனால்  அந்த RAW  கோப்பை பேஸ்புக்கில் பதிவேற்றுவது பயனற்றது.

மேலும் அனைத்து தகவல்களும் முக்கியமெனக் கருதப்படும் கோப்புகளுக்குத் தகவல் இழப்புடனான சுருக்கம் பொருத்தமற்றது.  உதாரணமாக, ஓர் உரை கோப்பில் (text file) அல்லது ஒரு விரிதாளில் (spreadsheet) தகவல் இழப்புடன் சுருக்கத்தைப் பயன்படுத்துவது சிதைந்த வெளியீட்டையே தரும். இறுதி வடிவத்தில்  தீங்கு விளைவிக்காமல் இவ்வகையான கோப்புகளில் தகவல் நீக்கம் செய்ய முடியாது.

இழப்பற்ற சுருக்கம் (Lossless Compression)

இழப்பற்ற சுருக்கமானது கோப்பின் அளவைக் குறைப்பதன் மூலம் சுருக்கும் முறையாகும். இவ்வகைச் சுருக்கத்தின் மூலம் நீங்கள் அசல் கோப்பை முழுமையாக மறுபடி உருவாக்க முடியும். இழப்புச் சுருக்கத்தைப் போன்று, அது எந்தத் தகவலையும் நீக்குவதில்லை. பதிலாக, இழப்பற்ற சுருக்கத்தில் ஒரே தகவல் ஒன்றுக்கு மேற்பட்ட தடவைகள்  இடம் பெறுவதை நீக்குவதன் மூலம் கோப்பின் அளவு குறைக்கப்படுகிறது.

இதன் பொருள் என்ன என்பதைக் காட்ட ஓர் எளிய உதாரணத்தை எடுத்துக் கொள்வோம். மூன்று நிறங்களைக் கொண்ட பத்து பெட்டிகளின் ஓர் அடுக்கு உள்ளது எனக் கருதுங்கள். அவற்றுள் இரண்டு பச்சை, ஐந்து மஞ்சள் மற்றும் மூன்று சிவப்பு நிறப் பெட்டிகள் உள்ளன. அந்தப் பத்துப் பெட்டிகளின் அடுக்கையும் விளக்குவதற்கு இது ஓர் எளிய வழி. ஆனால் அதற்குப் பத்துப் பெட்டிகள் பயன் படுத்தப்பட்டுள்ளன. அதே தொகுதியை விளக்குவதற்கு மற்றுமொரு வழியும் உள்ளது.

பத்து பெட்டிகளையும் அடுக்காமல் பதிலாக, ஒவ்வொரு நிறத்திலும் எத்தனை பெட்டிகள் உள்ளன என்பதைக் காட்ட எண்களைப் பயன்படுத்தினால், மிகக் குறைவான பெட்டிகளைப் பயன்படுத்தி அதே துல்லியமான தகவலை நாங்கள் பிரதிநிதித்துவப்படுத்த முடியும். பத்து பெட்டிகளுக்குப் பதிலாக, இப்போது மூன்று பெட்டிகள் மட்டுமே அவசியம்.

இழப்பற்ற சுருக்கம்  எவ்வாறு சாத்தியம் என்பதைக் காண்பிப்பதற்கான மற்றுமொரு எளிய விளக்கம்.

கீழுள்ள தரவைக் (வார்த்தையைக்)  கருத்தில் கொள்ளுங்கள். இங்கு ஒரே தகவல் ஒன்றுக்கு மேற்பட்ட தடவைகள்  இடம் பெறுவதை  நீக்குவதன் மூலம் அதே தகவல் மிகவும் திறமையான முறையில் வேறு வழியில் சேமிக்கப்படுகிறது.

mmmmmuuuuuuooooooooo

மேலுள்ள அதே தரவைக் கீழுள்ள குறுகிய வடிவத்திலும் காண்பிக்க முடியும் அல்லது "சுருக்க" முடியும்:

m5u6o8

அதாவது ஒரே தரவைக் குறிக்க 20 எழுத்துக்களுக்குப்  பதிலாக ஆறு எழுத்துக்கள்  பயன்படுத்தப்படுகின்றன.  இந்தச் சுருக்கப்பட்ட குறியீட்டை வைத்து மறுபடி மேலுள்ள வார்த்தையை உருவாக்கி விட முடியும்.  இது ஓரு பயனுள்ள கோப்புச் சுருக்க முறையெனலாம்.

கணினி புரிந்துகொள்வது 1 மற்றும் 0 ஐக் கொண்ட இரும எண் முறையிலான  இயந்திர மொழி என்பது பலரும் அறிந்த விடயம்.  ஒரு கோப்பில் ஒரே மாதிரியான இலக்கங்களுடன் அதிக அளவு தரவு இருந்தால், அதை மிகச் சிறிய வடிவில் சுருக்கலாம்.

உதாரணமாக, 8 பூஜ்ஜியங்களை 00000000  எடுத்துக்கொள்வோம்.

இப்போது, அதனைச் சுருக்க வடிவில், 00000000 க்கு பதிலாக 8 என தசம எண்னில் காட்டப்படும். அதைச் சுருக்கும்போது, கோப்பில் உள்ள அனைத்து 00000000 க்குப் பதிலாக 8 என எழுதப்படும். இழப்பற்ற சுருக்கம் இவ்வாறுதான் நடை பெறுகிறது. இது போன்ற இழப்பற்ற சுருக்கத்தில் 50 ஜிபி தரவைக் கூட ஒரு சில கிலோ பைட்டுகளில் அடக்கி விட முடியும்.

இருந்தாலும் இந்த வழி முறையில்  அனைத்து பெரிய கோப்புகளையும்  மிகச் சிறிய அளவில் மாற்ற முடியாது என்பதையும் நினைவில் கொள்ளுங்கள். நீங்கள் சுருக்க விரும்பும் கோப்பு வகையிலும் அது தங்கியிருக்கிறது.

கீழுள்ள வீடியோ ஒரு 4ஜிபி அளவு கொண்ட ஃபைல் 10 எம்பீ ஆகக் குறைக்கப்படுவதைப் காண்பிக்கிறது.