Showing posts with label ஒரு Chip காஃபி.. Show all posts
Showing posts with label ஒரு Chip காஃபி.. Show all posts

Monday, October 05, 2009

ஒலிதச் சமிக்ஞைப் பகுப்பாய்தல்.

சிங்கைத் தமிழ்ப் பதிவர்கள் 'மணற்கேணி 2009' என்ற தலைப்பில் நடத்திய போட்டியில் மூன்று பிரிவுகளில் கட்டுரைகள் அனுப்பக் கேட்டுக் கொண்டிருந்தார்கள்.

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

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

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

***

ஒலிதச் சமிக்ஞை பகுப்பாய்தல்.
(Audio Signal Processing)


வற்றை ஒலி எனலாம்? ஒலிக்கப்படும், கேட்கப்படும் எதையும்! பேச்சு, இசை, பாடல், இரைச்சல் மற்றும் இந்த வகையறைகளுக்குள் சிக்காத எந்த சப்தமும் ஒலி என்ற பொது வகையில் அடங்கும். உண்மையில் ஒலி என்ற ஒரு பொருள் இருக்கின்றதா? ஒரு மைசூர்பாகு போல, பேருந்துச் சக்கரம் போல, காலைப் பனித்துளி போல..? இல்லை. ஒலி என்பது பரவிக் கொண்டே இருக்க வேண்டும். எழுப்பப்படாத வரை ஒலி என்பது இல்லை. ஜார்ஜ் பெர்க்லி என்ற ஐரிஷ் தத்துவவாதி சுவாரஸ்யமான கேள்வி ஒன்றை எழுப்பினார். 'கேட்பதற்கு யாருமே இல்லாத காட்டில் ஒரு மரம் விழுந்தால் ஒலி வருமா?' இது தத்துவவியல், இயற்பியல் போன்ற துறைகளில் கொஞ்சம் சிந்தனையைக் கிளறச் செய்தது. அறிவியலோ, ‘விழுகின்ற மரம் காற்றின் துகள்களில் அழுத்தத்தை ஏற்படுத்துகின்றது. அவ்வளவு தான். கேட்பதற்கு ஒரு கருவி (காது!) இருந்தால் தான் அது ஒலியாக உணரப்படும்’ என்கிறது.

காற்றேயில்லாத வெட்டவெளியில் மரம் விழுந்தால்..? கேள்வியே கேட்க வேண்டாம். கேட்க ஆள் இருந்தாலும், இல்லாவிட்டாலும் ஒலி இருக்காது.

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

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

ஒலிவாங்கி (mic), தன் முன் பேசப்படுவதை மின்னலைகளாக மற்றி, கம்பிகள்/கம்பியில்லா ஊடகம் மூலமாக அனுப்ப, ஒலிப்பெருக்கி (audio amplifier) அதனை நாம் தேர்ந்தெடுக்கும் அளவிற்குப் பெருக்கி, ஒலிபரப்பிக்கு (speaker) அனுப்புகின்றது.

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

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

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



ஓர் எளிய சைன் அலை.

இந்த அலை 'சைன்' அலை (sine wave). மிக எளிமையான ஒன்று. பாம்பு அவசரமாக ஊர்ந்து செல்லும் போது, அதன் உடல் வளைவது கிட்டத்தட்ட இது போலிருக்கும். இது ஒரு வட்டம் தான். ஆனால் ஒரே தளத்தில் சுற்றாமல், முன்னோக்கி நகரும் வட்டம். கீழே உள்ள படத்தைப் பார்த்தால் எளிதில் புரிந்து விடும்.

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

அ. அலைநீளம் (wavelength) :: இரு அடுத்தடுத்த உச்சிகளுக்கு இடையேயான தொலைவு. இதன் அலகு ஆர்ம்ஸ்ட்ராங்.

ஆ. அதிர்வெண் (frequency) :: ஒரு நொடியில் சைன் அலை எத்தனை சுழற்சிகளை (cycles ) முடிக்கின்றது என்பதே அதன் அதிர்வெண். இதன் அலகு ஹெர்ட்ஸ்.

இ. கோணம் (phase) :: துவக்க நேரத்தில் சைன் அலை எந்தக் கோணத்தில் இருக்கின்றதோ, அதுவே அதன் கோணம்.

ஈ. மதிப்பளவு (amplitude) :: சைன் அலையின் வோல்டேஜ் மதிப்பு அதன் மதிப்பளவு எனப்ப்டும். முக்கியமாக வோல்டேஜ் (உச்சி முதல் பாதம் வரை). (voltage peak to peak)

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



சைன் அலை ஒரு வட்ட வடிவமே என்பதைச் சொல்லும் படம்.

இந்த அலை ஆரம்ப நேரத்தில் சுழிக் கோணத்தில் துவங்கினால் அது சைன் அலை. அதுவே 90 பாகை கோணத்தில் துவங்கினால் அது கொசைன் அலை (cosine wave).

ஜோசப் ஃபூரியர் (கி.பி.1768 - 1830) என்ற அறிவியலாளர் ஓர் உலோகத் தகட்டில் வெப்பம் எப்படி பரவுகின்றது என்பது பற்றிச் சொன்ன ஒரு சமன்பாடு, இன்று அறிவியலின் பெரும்பாலான நுட்பங்களில் பயன்படுகின்றது.

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

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

இந்த ஒலி அலைகளை இரு வழிகளில் சேமிக்கலாம். அ. தொடர்ந்த அலை முறை. (analog) ஆ. எண்ம இலக்க முறை. (digital) இன்றைய நிலையில் முந்தைய முறை பெருமளவிற்குப் பயன்பாட்டில் இருந்து நீங்கி விட்டது. உதாரணம் ப்ளாஸ்டிக் தகட்டின் மேல் காந்தப் புலம் மூலம் ஒலி முலாம் பூசிச் சேமித்தல். தற்போது இசைச் சந்தையை எண்ம இலக்க முறையில் சேமிக்கப்பட்ட தட்டுக்களே ஆள்கின்றன. உதாரணம் குறுந்தகடு (compact disc), எண்ம பற்பயன் தகடு (digital versatile disc), நீலக் கதிர்த் தகடு (blue ray disc) என்று சொல்லலாம். இம்முறையின் முக்கிய முன்னேற்றம் நீண்ட வாழ்நாள். ஆண்டுகள் பல ஆனாலும் துல்லியத்தன்மை கெடாமல் இருக்கும். மாறாகத் தொடர்ந்த அலை முறையைப் பயன்படுத்திச் சேமிக்கும் பாடல்கள், தொடர்ச்சியாகப் பயன்படுத்தினால், விரைவில் தேய்மானம் அடைந்து, அழத் தொடங்கி விடுகின்றன.

இப்போது தொடர்ந்த அலை வடிவில் இருக்கும் ஓர் சைன் அலை எவ்வாறு எண்ம இலக்க முறையில் சேமிக்கப்படுகின்றது என்பதைப் பார்ப்போம். பின் அதே முறையில் ஒரு இசைக் கொத்தைச் சேமிப்போம். பிறகு எண்ம இலக்க முறைப்படி மாற்றப்பட்ட பாடலை இறுக்கப்படுத்துவதன் (compression) காரணம், வழிகள் பற்றிக் காண்போம்.

ஒரு சாதாரண சைன் அலையை எடுத்துக் கொள்வோம். அது கீழ்க்காணும் பண்புகள் கொண்டதாக இருக்கட்டும். 10வோ (உ-பா), 1கிஹெ, சுழி பாகை கோணம். வோல்ட்டேஜ்களாகச் சொல்லப்படும் இந்த அலை எவ்வாறு எண்களாக குறிப்பிடப்படுகின்றது?



சைன் அலை.

முதலில் இந்த தொடர்ந்த அலை மாதிரிப்படுத்தப்படும். மாதிரிப்படுத்தல் (sampling) என்பது ஒரு குறிப்பிட்ட இடைவெளியில் அலையின் மதிப்பளவை குறித்துக் கொண்டே வருவது. எப்படி அந்த 'குறிப்பிட்ட இடைவெளியைத்' (time duration) தேர்ந்தெடுப்பது? மாதிரிப்படுத்தப்படும் தொடர்ந்த அலையைப் பொறுத்து அம்மதிப்பு மாறுமா? இதற்கென்று ஏதாவது விதி இருக்கின்றதா?

இருக்கின்றது. அதனை நைக்வெஸ்ட்-ஷானன் மாதிரிப்படுத்தல் வரையறை (Nyquist-Shannon Sampling Theorem) என்பார்கள். அதன்படி ஒரு தொடர்ந்த அலை வடிவில் பல அதிர்வெண்கள் கொண்ட அலைகள் உள்ளன. அதனை மாதிரிப்படுத்துகிறோம். அந்த மாதிரிகளிலிருந்து மீண்டும் அதே தொடர்ந்த அலை வடிவத்தைப் பெற வேண்டுமெனில், மாதிரிப்படுத்தும் போது, ஒரு நொடியில் எடுக்கின்ற மாதிரிகளின் எண்ணிக்கை, அந்த தொடர்ந்த அலை வடிவில் இருக்கும் அதிர்வெண்களில் உச்ச அதிர்வெண்ணைப் போல் இரு மடங்கிற்கும் அதிகமாக இருக்க வேண்டும்.

எளிமையாகச் சொன்னால், ஒரு தொடர்ந்த அலை வடிவத்தில், ஃபூரியர் கூற்றின் படி பல சைன் மற்றும் கொசைன் அலைகள் இருக்கும். அதில் உச்ச அதிர்வெண் 10கிஹெர்ட்ஸ் என்று வைத்துக் கொண்டால், அதை மாதிரிப்படுத்தும் போது, ஒரு நொடிக்கு 20 ஆயிரம் மாதிரிகளுக்கும் அதிகமாக எடுக்க வேண்டும். அப்போது தான் அந்த மாதிரிகளைக் கொண்டு மறு உருவாக்கம் செய்யும் போது, அதே தொடர்ந்த அலை வடிவம் கிடைக்கும். இல்லாவிடில் மாய உருக்குழப்பம் (aliasing) ஏற்படும்.

நமது உதாரணத்திற்குத் திரும்பினால் அங்கே ஒரே ஒரு சைன் அலை தான் இருக்கின்றது. நல்லதாகப் போனது. அதன் அதிர்வெண் 10கிஹெ. எனவே ஒரு நொடிக்கு 20ஆயிரம் மாதிரிகள் எடுக்க வேண்டும். எனில், ஒரு சுழற்சிக்கு இரண்டு மாதிரிகள். இப்போது அடுத்த குழப்பம். அந்த இரண்டு புள்ளிகளை எங்கு குறிப்பது. ஓ, ஓ'-லா, க, கா-லா அல்லது அ, ப-லா?

முன்பே பார்த்திருக்கிறோம். மாதிரிப்படுத்தல் ஒரு குறிப்பிட்ட இடைவெளியில் தான் நடைபெற வேண்டும். இரண்டு புள்ளிகளும் நேர் மதிப்பு பேட்டையிலோ, எதிர் மதிப்பு பேட்டையிலோ வர முடியாது. அப்படி ஒரே பகுதியில் வந்தால், மற்றொரு பகுதி இருப்பது தெரியாமல் போய் விடும். எனவே ஒரு புள்ளி நேர்ப் பகுதியிலும், மற்றொன்று எதிர்ப்பகுதியிலும் தான் வர வேண்டும். ஏன் ஓ,ஓ'ல் வரக் கூடாது? ஓ,ஓ'ல் மாதிரிகள் எடுத்தால் என்ன ஆகும்? அனைத்து மதிப்புகளும் சுழியாக இருக்கும். சைன் அலை, ஓர் அதிர்வெண் அற்ற நேர்க்கோடாக மாறி விடும். சரி, க, கா-வில் எடுக்கலாமா? சுழியும் இல்லை. நேர் மற்றும் எதிரில் இருக்கின்றன. நல்லது. அப்படி எடுத்தால், அலையின் நேர் மற்றும் எதிர் உச்ச மதிப்புகள் தெரியாமல் போய், 3வோ (உ-பா) என்று குறைந்து விடும். எனவே ஒரே வழி: அ, பயில் மாதிரிகள் எடுப்பது தான். ஆனால் இது போதுமா? போதாது. எவ்வளவுக்கெவ்வளவு அதிக மாதிரிகள் எடுக்கின்றோமோ, அ.அளவு அதே உண்மையான தொடர்ந்த அலை வடிவம் மறு உருவாக்கம் செய்ய முடியும்.

இப்போது முழுமையாக எண்மப்படுத்தியாகி விட்டதா? இல்லை. தொடர்ந்த அலை வடிவத்தில் இருந்து மாதிரிகள் எடுத்திருக்கிறோம். ஆனால் அதன் மதிப்புகள் தொடர்ந்த அலை வடிவத்தின் மதிப்புகளிலேயே இருக்கின்றன. சேமிக்கும் வகையில் இன்னும் மாற்றப்படவில்லை. அதற்கு அடுத்த நிலையான, எண் பொருத்திக்குள் (Quantizer) செலுத்த வேண்டும். இந்தச் செயல்முறை உள்ளிடும் அலையைப் பொறுத்து அல்ல. மாறாக எந்த ஊடகத்தில் சேமிக்கின்றோமோ, அதன் திறன்களைப் பொறுத்தது.

உதாரணமாக இந்த இசை மாதிரிகளை ஒரு குறுந்தகட்டில் சேமிக்க விரும்புகிறோம் என்று கொள்வோம். குறுந்தகட்டின் வரையறைப்படி ஒரு மாதிரிக்கு 16 துணுக்குகள் (16 bits) ஒதுக்கீடு செய்யப்படும். 16 துணுக்குகள் என்றால் எல்லை சுழியில் இருந்து இரண்டுன் அடுக்கு 16 (65535) வரை செல்கிறது. பொதுவாக இசை மாதிரிகள் நேர் மற்றும் எதிர் மதிப்பளவுகளைக் கொண்டிருக்கும். +3வோ, - 2.5வோ என்பன போல. குறிப்பிடும் எண் நேர் மதிப்பா , எதிர் மதிப்பா என்று குறிப்பிடுவதற்காக, முதல் துணுக்கு (இடமிருந்து வலமாக!) அனுமதிக்கப்படுகின்றது. அத்துணுக்கு 1 என்றால் அந்த எண் எதிர் மதிப்பு எண்; 0 என்றால் நேர் மதிப்பு எண். இப்போது ஒரு துணுக்கு குறியீட்டைச் சொல்ல ஒதுக்கப்பட்டு விட்டதால், மிச்சம் இருக்கும் 15 துணுக்குகள் மட்டுமே மாதிரியின் மதிப்பைச் சொல்லும். எனவே இப்போது இந்த 16 துணுக்குகள் குறிப்பிடும் மதிப்பு - 32768லிருந்து 32767 வரை அமைகின்றது.

ஓர் இசைத்துண்டின் மதிப்பளவின் எல்லை +10வோ (உ-பா) என்று கொள்வோம்.. அதாவது +5வோ முதல் - 5வோ வரை. இந்த 10வோ (உ-பா) 65535 மதிப்புகளாக வெட்டப்படுகின்றது. - 5வோ - 32768க்கும், +5வோ 32767க்கும் இணை செய்யப்பட்டு, இடைப்பட்ட மதிப்பளவுகள் தகுந்தாற்போல் குறிக்கப்படுகின்றன.

இப்போது ஒவ்வொரு மாதிரியும் என்ன மதிப்பளவில் இருக்கின்றதோ, அதற்குச் சமமான எண்ம மதிப்பு கொடுக்கப்படுகின்றது.

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

இரு வழிகள் தான் உள்ளன. அந்த மாதிரியின் மதிப்பளவை விட முதல் அதிகமான எண்ம மதிப்பு ஒதுக்கப்பட்ட மதிப்பளவை எடுத்துக் கொள்ள வேண்டும். அல்லது அந்த மாதிரியின் மதிப்பளவை விட முதல் குறைவான எண்ம மதிப்பு ஒதுக்கப்பட்ட மதிப்பளவை எடுத்துக் கொள்ள வேண்டும். பின் அதற்கான எண்ம மதிப்பை அந்த மாதிரிக்கு இணையாக குறித்துக் கொள்ள வேண்டும்.

இந்த முடிவை எடுப்பது நாம் தேர்வு செய்யும் எண் பொருத்தியின் பண்பைப் பொறுத்தது. இப்படி உண்மையான மதிப்பளவிற்கு இல்லாமல், அதற்கு அண்மை மதிப்பளவிற்கு அந்த மாதிரி மாற்றிக் குறித்துக் கொள்வதால், இது ஒரு பிழையாக மாறி விடுகின்றது. இது எண் பொருத்தல் குறை (Quantization Error) எனப்படுகின்றது.

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

அடிப்படைகள் போதும்.

ரு குறுந்தகட்டில் ஒரு பாடல் எப்படி சேமிக்கப்படுகின்றது என்று பார்ப்போம். உதாரணத்திற்கு இப்படிப்பட்ட ஒரு பாடலைக் கொள்வோம். பாடலின் காலம் நான்கு நிமிடங்கள். இரண்டு பாதைகள் (இடது மற்றும் வலது). ஒரு பாதையில் ஒரு நொடிக்கு மாதிரிப்படுத்தப்பட்டு எடுக்கப்பட்ட மாதிரிகள் எண்ணிக்கை 44100. (இது என்ன 44100? பின் பார்ப்போம்.). இப்போது ஒரு சின்ன கணக்கீட்டில் இந்தப் பாடல் மொத்தத்தையும் குறுந்தகட்டில் சேமிக்க எத்தனை துணுக்குகள் தேவைப்படும் என்று பார்ப்போமா?

ஒரு நொடிக்கு ஒரு பாதைக்கு 44100 மாதிரிகள்.
இரு பாதைகளில் ஒரு நொடிக்கு 88200 மாதிரிகள்.

ஒரு மாதிரிக்கு குறுந்தகட்டில் ஒதுக்கப்படும் துணுக்குகள் 16.
88200 மாதிரிகளுக்கு 1411200 துணுக்குகள்.

நான்கு நிமிடங்களுக்கு 240 நொடிகள்.
எனவே மொத்தப் பாடலுக்கு 338688000 துணுக்குகள்.

பைட் அளவில் 42336000 பைட்கள். கிட்டத்தட்ட 42 மெகாபைட்கள்.

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

அதாவது துணுக்குகள் தொலையாமல், மதிப்பு மாறாமல் இருக்க (சுழியிலிருந்து ஒன்று அல்லது ஒன்றிலிருந்து சுழிக்கு) வேண்டும். இந்த நிபந்தனையைப் பூர்த்தி செய்த இறுக்கப்படுத்தல் முறைகள் இழப்பில்லா இறுக்கப்படுத்தல் முறைகள் (lossless compression methods) எனப்படுகின்றன.

எளிமையான ஒரு உதாரணமாக வின்ஸிப்பைச் (Winzip) சொல்லலாம்.

ஆனால், இந்த முறையில் பாடல் இறுக்குதலில் ஓரளவுக்கு மேல் குறுக்க முடியவில்லை. எனவே, அடுத்த முன்னேற்றமாக இழப்புள்ள இறுக்கப்படுத்தல் முறைகள் (lossy compression methods) வரத் துவங்கின.

என்ன, இறுக்கப்படும் போது இழப்பாகுமா? அப்படியெனில் பாடலை மறு உருவாக்கம் செய்யும் போது தகவல் மாறுபட்டிருக்குமா? எனில் இறுக்குவதால் என்ன பலன்..? என்று கேட்கலாம். சொல்லப் போனால் 'இழப்பு இருக்கும்; ஆனால் இருக்காது.'

இருங்கள், விளக்கமாகப் பார்ப்போம். அதற்கு முன் மனித கேட்டல்-உணர்தல் (human psycho acoustics) முறைகளில் இருக்கும் சில மாயாஜாலங்களை சுருக்கமாகப் பார்ப்போம்.

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



அதிர்வெண் மற்றும் ஒலியழுத்த அளவுகளைப் பொறுத்தச் செவி உணர்புலம்



அதிர்வெண் பொறுத்து அலைகளைப் பிரித்தறியும் எல்லைகள்

மனிதனால் கேட்கக்கூடிய அதிகபட்ச அதிர்வெண் 20000 ஹெர்ட்ஸ் என்பதை அறிவோம். எனவே தான் முதல் எண்ம சேமிப்பு ஊடகமான குறுந்தகட்டில் பாடலைச் சேமிக்கும் போது ஒரு நொடிக்கு ஒரு பாதைக்கு 44100 மாதிரிகள் (நைக்வெஸ்ட்-ஷானன் மாதிரிப்படுத்தல் வரையறை) என்று வைத்துக் கொண்டார்கள்.

மேற்காணும் இரு படங்கள் மனிதச் செவியின் இரு முக்கியமான பண்புகளைச் சொல்கின்றன.

முதலாம் படம் அதிர்வெண் மற்றும் ஒலியழுத்த அளவுகளைப் பொறுத்தச் செவி உணர்புலம் (pure tone frequency response of human ear). எளிமையாகப் புரிந்து கொள்ள, ஒரே நேரத்தில் 3கிஹெ மற்றும் 100ஹெ அதிர்வெண்கள் கொண்ட அலைகளை எழுப்பி, இரண்டையும் மனிதச் செவி கேட்க வேண்டுமெனில், 100ஹெ அதிர்வெண் கொண்ட அலையின் மதிப்பு 3கிஹெ அதிர்வெண் கொண்ட அலையின் மதிப்பளவை விட எட்டு மடங்கு அதிகமாக இருக்க வேண்டும். 12 ஹெ முதல் 20கிஹெ வரை உள்ள மனிதனால் கேட்கக் கூடிய எல்லைக்குள் 3கிஹெர்ட்ஸுக்குத் தான் மனிதச் செவி அதிக உணர்புலன் கொண்டது.

இரண்டாம் படம் அதிர்வெண் பொறுத்து அலைகளைப் பிரித்தறியும் எல்லைகள் (auditory filters of human ear). குறைந்த அதிர்வெண் பிரதேசங்களில் இரு வெவ்வேறு அலைகள் நெருக்கமான அதிர்வெண்கள் கொண்டிருந்தாலும் நம்மால பிரித்துப் புரிந்து கொள்ள முடியும். ஆனால் உயர் அதிர்வெண் பகுதியில் அந்த பிரித்தறிதல் எல்லைகள் விரிகின்றன. அதாவது 10ஹெ, 12ஹெ வந்தால் பிரித்துக் கேட்க முடியும். ஆனால் 1000ஹெ, 1002ஹெகளுக்கு நம்மால் வித்தியாசம் காண முடியாது.

வெவ்வேறு அதிர்வெண்களைப் பொறுத்து, செவிப்புலனின் சமச்சீரற்ற எதிர்வினைகள் தாம், இழப்புள்ள இறுக்கப்படுத்தல் முறைகளுக்கு ஆதாரம்.

ஒரு குறிப்பிட்ட நேரத்தில் ஓர் இசைக் கோர்வையில் சில அலைகள் உள்ளன என்போம். அவை ஒரு குறிப்பிட்ட அதிர்வெண் பட்டையில் இருக்கின்றன. அவற்றுள் ஓர் அலை அதிக மதிப்பளவு பெற்றிருக்கின்றது . முதலாம் படத்தின் படி, அந்த அலை அதன் அருகாமை அலைகளை அமுக்கி (எத்தனை அ..!) விடும். அதாவது அந்த அலை மற்ற அலைகளை நாம் 'உணர்வதிலிருந்து' மறைத்து விடும் (Masking). அப்படியெனில் அந்த மற்ற அலைகளைச் சேமிப்பது அனாவசியம் அல்லவா! அந்த அலைகள் இருந்தாலும் நாம் அவற்றைக் கேட்கப் போவதில்லை. பின் அவை ஏன் இருக்க வேண்டும்? அவற்றை வெளியேற்றி விட்டால், அந்தப் பாடல் 'உண்மையான' பாடலாக இருக்காது. ஆனால் கேட்பதற்கு 'உண்மையான' பாடலைப் போலவே இருக்கும்.

எனவே இந்த முறையில் சேமிக்கும் போது தகவல் அடிப்படையில் இழப்பு ஏற்படுகின்றது. ஆனால் கேட்டு உணர்வதன் அடிப்படையில் இழப்பு எதுவும் இல்லை. இது போன்ற முறைகளில் எண்மப்படுத்தப்பட்ட பாடலைச் சேமிக்கும் போது, பாடல் சில அதிர்வெண் அலைகளை இழந்து, இறுக்கப்படுவது, கேட்டு உணர்வதில் எந்த இழப்பையும் ஏற்படுத்தவில்லையெனில், அந்த இறுக்கப்படும் முறைகள் 'கேட்புணர்வின் அடிப்படையில் இழப்பில்லா இறுக்கப்படுதல்' (perceptually lossless compression) எனப்படும்.

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

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

உத்தமமான உதாரணமாக நன்கு தெரிந்த ஒன்றைச் சொல்லலாம்.

எம்பி3.(MP3)

***

Sunday, August 31, 2008

D.S.P. - சொந்த துறையை எழுத ஆசை!

ற்போது பணியாற்றிக் கொண்டிருக்கும் Digital Signal Processing என்ற தொழில்நுட்பத்தைப் பேசலாம் என்று இந்த தொடர். The History of Time நூலில் ஸ்டீபன் ஹாக்கிங் சொல்லியுள்ளது போல், எவ்வளவுக்கு எவ்வளவு கணிதச் சமன்பாடுகளைக் குறைத்து, வாக்கியங்களாய்த் தர முடிகின்றதோ, அப்படி முயல்கிறேன்.

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

னிய தமிழில், தொழில்நுட்பங்களைப் பற்றி அலசும் பற்பல பதிவுகள் உள்ளன.

http://tamilmarketing.blogspot.com/

http://stock.tamilsasi.com/

http://tamilnithi.blogspot.com/

http://porulsey.blogspot.com/

http://masivakumar.googlepages.com/588leather-collection.html

http://masivakumar.googlepages.com/annotated-economics.html

http://fuelcellintamil.blogspot.com/

http://tedujobs.blogspot.com/

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

இப்படி ஒரு தொடரைத் துவங்க என்ன காரணம்?

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

2. இப்பதிவிடும் நோக்கிலாவது, புதிய செய்திகளைப் படிக்கலாம் என்ற எண்ணம்.

3. மீண்டும் அடிப்படைக் கொள்கைகளை அலசிப் பார்ப்பதால், ‘பில்டிங் மட்டும் ஸ்ட்ராங்காக வைத்துக் கொள்ளாமல், பேஸ்மெண்ட்டை வீக்காக மாறி விடாமல்’ இருக்கவும் இப்பதிவு.

4. வேறு யாரெல்லாம் இத்துறையில் இருக்கும் பதிவர்கள் என்று தெரிந்து கொள்ளவும், குழுமம் அமைக்கவும் எண்ணம்.

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

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

அவ்வப்போது பார்க்கலாம்.