QOI (image format)
குயிட் ஓகே இமேஜ் ஃபார்மேட் (கியூஓஐ) என்பது 24-பிட் (ஒரு வண்ணத்திற்கு 8 பிட்கள் ஆர்ஜிபி) அல்லது 32-பிட் (8-பிட் ஆல்பா சேனல் ஆர்ஜிபிஏ உடன் ஒரு வண்ணத்திற்கு 8 பிட்கள்) நிற ராஸ்டர் (பிட்மேப் செய்யப்பட்ட) படங்களின் இழப்பற்ற பட சுருக்கத்திற்கான ஒரு விவரக்குறிப்பாகும், இது டொமினிக் ஸ்சேபிள்ஸ்கியால் கண்டுபிடிக்கப்பட்டு 24 நவம்பர் 2021 அன்று முதன்முதலில் அறிவிக்கப்பட்டது. விளக்கம் திறந்த மூல இழப்பற்ற சுருக்க முறையை உருவாக்குவதே இதன் நோக்கமாக இருந்தது, இது பிஎன்ஜியை விட வேகமாகவும் எளிதாகவும் செயல்படுத்தப்பட்டது. மூன்றாம் தரப்பு யூடியூப் வீடியோ PNG மற்றும் QOI சுருக்கங்கள் எவ்வாறு செய்யப்படுகின்றன என்பதை விளக்குகிறது. அறிவிப்பு மற்றும் வீடியோவில் குறிப்பிடப்பட்டுள்ள புள்ளிவிவரங்கள் இருபது முதல் ஐம்பது மடங்கு வேகமான குறியாக்கத்தையும், பி. என். ஜி உடன் ஒப்பிடும்போது மூன்று முதல் நான்கு மடங்கு வேகமான டிகோடிங் வேகத்தையும், ஒத்த கோப்பு அளவுகளுடன் கூறுகின்றன. ஆசிரியர் இந்த விவரக்குறிப்பை பொது களத்திற்கு (சிசி0) நன்கொடையாக வழங்கியுள்ளார். மென்பொருள் மற்றும் மொழி ஆதரவு கியூஓஐ இமேஜ்மேஜிக், இர்ஃபான்வியூ (பதிப்பு 4.60 வரை), எஃப்எஃப்எம்பிஇஜி (பதிப்பு 5.1 வரை) மற்றும் கிராஃபிக் கன்வெர்ட்டர் (v11.8 +) ஆகியவற்றால் சொந்தமாக ஆதரிக்கப்படுகிறது. சமூகத்தால் உருவாக்கப்பட்ட செருகுநிரல்கள் ஜிம்ப், Paint.NET மற்றும் எக்ஸ்என்வியூ எம்பி ஆகியவற்றில் கிடைக்கின்றன. ரஸ்ட், பைதான், ஜாவா, சி + +, சி #போன்ற பல்வேறு மொழிகளுக்கான செயல்பாடுகளும் உள்ளன. திட்டத்தின் கிட் (ஹப்) களஞ்சியமான README இல் ஒரு முழு பட்டியலைக் காணலாம். கோப்பு வடிவ தலைப்பு ஒரு QOI கோப்பு 14-பைட் தலைப்பைக் கொண்டுள்ளது, அதைத் தொடர்ந்து எந்த எண்ணிக்கையிலான தரவு "துண்டுகள்" மற்றும் 8-பைட் இறுதி மார்க்கர் உள்ளது. qoi _ ھیடர் {சார் மேஜிக் [4];// மேஜிக் பைட்டுகள் "qoiif" uint32 _ t அகலம்;// பிக்சல்களில் படத்தின் அகலம் (பி. இ.) uint32 _ t உயரம்;// பிக்சல்களில் படத்தின் உயரம் (பி. இ.) uint8 _ t சேனல்கள்;// 3 = RGB, 4 = RGBA uint8 _ t வண்ணங்கள்;// 0 = நேரியல் ஆல்பா// 1 = அனைத்து சேனல்களுடன் sRGB நேரியல்}; வண்ணங்கள் மற்றும் சேனல் புலங்கள் முற்றிலும் தகவலறிந்தவை. தரவு துண்டுகள் குறியிடப்பட்ட விதத்தை அவை மாற்றாது. குறியாக்க படங்கள் வரிசையாக, இடமிருந்து வலமாக, மேலிருந்து கீழாக குறியாக்கம் செய்யப்படுகின்றன. டிகோடர் மற்றும் என்கோடர் முந்தைய பிக்சல் மதிப்புடன் தொடங்குகின்றன. குறிப்பிட்ட அனைத்து பிக்சல்களும் மூடப்பட்டிருக்கும் போது ஒரு படம் முழுமையடைகிறது. பிக்சல்கள் பின்வருமாறு குறியிடப்படுகின்றனஃ முந்தைய பிக்சலின் ரன்-நீளம் குறியாக்கம் () முன்பு பார்த்த பிக்சல்களின் வரிசையில் ஒரு குறியீடு () r, g, b (அல்லது) முழு r, g, b அல்லது r, g, b இல் முந்தைய பிக்சல் மதிப்புடன் ஒப்பிடும்போது வேறுபாடு, ஒரு மதிப்புகள் (அல்லது) வண்ண சேனல்கள் ஆல்பா சேனலுடன் ("முன்கூட்டியே பெருக்கப்படாத ஆல்பா") முன்கூட்டியே பெருக்கப்படவில்லை என்று கருதப்படுகிறது. முன்பு பார்த்த பிக்சல் மதிப்புகளின் ஓட்டம் (பூஜ்ஜிய-துவக்கப்பட்ட) குறியாக்கம் மற்றும் டிகோடர் மூலம் பராமரிக்கப்படுகிறது. குறியாக்கம் மற்றும் டிகோடர் மூலம் பார்க்கப்படும் ஒவ்வொரு பிக்சலும் வண்ண மதிப்பின் ஹாஷ் செயல்பாட்டால் உருவாக்கப்பட்ட நிலையில் இந்த வரிசையில் வைக்கப்படுகிறது. குறியீட்டில், குறியீட்டில் உள்ள பிக்சல் மதிப்பு தற்போதைய பிக்சலுடன் பொருந்தினால், இந்த குறியீட்டு நிலை ஸ்ட்ரீமிற்கு எழுதப்படுகிறது. குறியீட்டிற்கான ஹாஷ் செயல்பாடுஃ குறியீட்டு _ நிலை = (r * 3 + g * 5 + b * 7 + a * 11)% 64 ஒவ்வொரு பகுதியும் 2-அல்லது 8-பிட் குறிச்சொல்லுடன் தொடங்குகிறது, அதைத் தொடர்ந்து பல தரவு பிட்கள் உள்ளன. துண்டுகளின் பிட் நீளம் 8 ஆல் வகுக்கப்படுகிறது-அதாவது. அனைத்து துண்டுகளும் பைட் சீரமைக்கப்பட்டுள்ளன. இந்த தரவு பிட்களில் குறியிடப்பட்ட அனைத்து மதிப்புகளும் இடதுபுறத்தில் மிகவும் குறிப்பிடத்தக்க பிட்டைக் கொண்டுள்ளன. 8-பிட் குறிச்சொற்கள் 2-பிட் குறிச்சொற்களை விட முன்னுரிமை பெற்றுள்ளன. ஒரு டிகோடர் முதலில் 8-பிட் குறிச்சொல் இருப்பதை சரிபார்க்க வேண்டும். பைட் ஸ்ட்ரீமின் முனை 7 பைட்டுகளால் குறிக்கப்படுகிறது, அதைத் தொடர்ந்து ஒரு பைட் உள்ளது. சாத்தியமான துண்டுகள்ஃ 8-பிட் டேக் (254) 8-பிட் சிவப்பு சேனல் மதிப்பு 8-பிட் பச்சை சேனல் மதிப்பு 8-பிட் நீல சேனல் மதிப்பு ஆல்பா மதிப்பு முந்தைய பிக்சலில் இருந்து மாறாமல் உள்ளது. 8-பிட் டேக் (255) 8-பிட் சிவப்பு சேனல் மதிப்பு 8-பிட் பச்சை சேனல் மதிப்பு 8-பிட் நீல சேனல் மதிப்பு 8-பிட் ஆல்பா சேனல் மதிப்பு 2-பிட் டேக் 6-பிட் குறியீட்டை வண்ண குறியீட்டு வரிசையில் வெளியிட வேண்டும். அதற்கு பதிலாக பயன்படுத்த வேண்டும். முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து 2-பிட் டேக் 2-பிட் சிவப்பு சேனல் வேறுபாடு முந்தைய பிக்சல் 2-பிட் நீல சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2-பிட் பச்சை சேனல் வேறுபாட்டிலிருந்து முந்தைய பிக்சல் 2 - மதிப்புகள் கையொப்பமிடப்படாத முழு எண்களாக 2 என்ற சார்புடன் சேமிக்கப்படுகின்றன. எ. கா. −2 என்பது 0 () ஆக சேமிக்கப்படுகிறது. 1 என்பது 3 () ஆக சேமிக்கப்படுகிறது. ஆல்பா மதிப்பு முந்தைய பிக்சலில் இருந்து மாறாமல் உள்ளது. 2-பிட் டேக் 6-பிட் பச்சை சேனல் வேறுபாடு முந்தைய பிக்சல் 4-பிட் சிவப்பு சேனல் வேறுபாடு கழித்தல் பச்சை சேனல் வேறுபாடு 4-பிட் நீல சேனல் வேறுபாடு கழித்தல் பச்சை சேனல் வேறுபாடு பச்சை சேனல் மாற்றத்தின் பொதுவான திசையைக் குறிக்கப் பயன்படுகிறது மற்றும் 6 பிட்களில் குறியிடப்பட்டுள்ளது. சிவப்பு மற்றும் நீல கால்வாய்கள் (டி. ஆர் மற்றும் டிபி) பச்சை கால்வாய் வேறுபாட்டை அடிப்படையாகக் கொண்டவை. ஐ. இ. : dr _ dg = (cur_px.r-prev_px.r)-(cur_px.g-prev_px.g) db _ dg = (cur_px.b-prev_px.b)-(cur_px.g-prev_px.g) தற்போதைய சேனல் மதிப்புகளுக்கான வேறுபாடு ஒரு ரேபரவுண்ட் செயல்பாட்டைப் பயன்படுத்துகிறது, எனவே 253 ஆக இருக்கும், அதே நேரத்தில் 1 ஆக இருக்கும். பச்சை அலைவரிசைக்கு 32 என்ற சார்பும், சிவப்பு மற்றும் நீல அலைவரிசைக்கு 8 என்ற சார்பும் கொண்ட கையொப்பமிடப்படாத முழு எண்களாக மதிப்புகள் சேமிக்கப்படுகின்றன. ஆல்பா மதிப்பு முந்தைய பிக்சலில் இருந்து மாறாமல் உள்ளது. 2-பிட் டேக் 6-பிட் ரன்-நீளம் முந்தைய பிக்சலை மீண்டும் செய்கிறது ரன்-நீளம்-1 என்ற சார்புடன் சேமிக்கப்படுகிறது. 63 மற்றும் 64 (மற்றும்) என்ற ஓட்ட நீளங்கள் மற்றும் குறிச்சொற்களால் ஆக்கிரமிக்கப்பட்டிருப்பதால் அவை சட்டவிரோதமானவை என்பதை நினைவில் கொள்க. குறிப்புகள் வெளிப்புற இணைப்புகள் வடிவமைப்பு வலைத்தளம்ஃ சி மூலக் குறியீடு மற்றும் அளவுகோல் முடிவுகள் 1 பக்கம் பி. டி. எஃப் விவரக்குறிப்பு கிட்ஹப் களஞ்சியம் (சி செயல்படுத்தல் உட்பட) 2021 கிராஃபிக்ஸ் தரநிலைகளில் கணினி தொடர்பான அறிமுகங்கள் பட சுருக்க திறந்த வடிவங்கள் ராஸ்டர் கிராஃபிக்ஸ் கோப்பு வடிவங்கள்