දෙවන කොටස: වීඩියෝ කෝඩෙක් ක්රියා කරන ආකාරය
ඕනෑම රාස්ටර් රූපය ස්වරූපයෙන් නිරූපණය කළ හැකිය ද්විමාන අනුකෘතිය. වර්ණ සම්බන්ධයෙන් ගත් කල, රූපයක් ලෙස බැලීමෙන් අදහස වර්ධනය කළ හැකිය ත්රිමාණ අනුකෘතිය, එක් එක් වර්ණ සඳහා දත්ත ගබඩා කිරීමට අමතර මානයන් භාවිතා කරයි.
අපි අවසාන වර්ණය ඊනියා සංයෝජනයක් ලෙස සලකන්නේ නම්. ප්රාථමික වර්ණ (රතු, කොළ සහ නිල්), අපගේ ත්රිමාණ අනුකෘතියේ අපි ගුවන් යානා තුනක් නිර්වචනය කරමු: පළමු රතු සඳහා, දෙවැන්න කොළ සහ අන්තිම නිල් සඳහා.
අපි මෙම න්යාසයේ සෑම ලක්ෂ්යයක්ම පික්සෙල් (රූප මූලද්රව්ය) ලෙස හඳුන්වමු. සෑම පික්සලයකම එක් එක් වර්ණයෙහි තීව්රතාවය (සාමාන්යයෙන් සංඛ්යාත්මක අගයක් ලෙස) පිළිබඳ තොරතුරු අඩංගු වේ. උදාහරණ වශයෙන්, රතු පික්සල එයින් අදහස් වන්නේ එහි කොළ 0, නිල් 0 සහ උපරිම රතු අඩංගු වන බවයි. රෝස පික්සල වර්ණ තුනක සංයෝජනයක් භාවිතයෙන් සෑදිය හැක. 0 සිට 255 දක්වා සංඛ්යාත්මක පරාසයක් භාවිතා කරමින්, රෝස පික්සලයක් ලෙස අර්ථ දැක්වේ රතු = 255, කොළ = 192 и නිල් = 203.
මෙම ලිපිය EDISON හි සහාය ඇතිව ප්රකාශයට පත් කරන ලදී.අපි දියුණු වෙනවා
වීඩියෝ නිරීක්ෂණ, වීඩියෝ ප්රවාහය සඳහා යෙදුම් , ඒ වගේම අපි බැඳිලා ඉන්නවාශල්යාගාරයේ වීඩියෝ පටිගත කිරීම .
වර්ණ රූපයක් සංකේතනය කිරීමට විකල්ප ක්රම
රූපයක් සෑදෙන වර්ණ නියෝජනය කිරීම සඳහා තවත් බොහෝ ආකෘති තිබේ. උදාහරණයක් ලෙස, ඔබට RGB ආකෘතිය භාවිතා කරන විට අවශ්ය තුන වෙනුවට, එක් එක් පික්සලයක් නියෝජනය කිරීමට එක් බයිටයක් පමණක් අවශ්ය වන සුචිගත palette එකක් භාවිතා කළ හැක. එවැනි ආකෘතියක් තුළ, එක් එක් වර්ණය නියෝජනය කිරීම සඳහා ත්රිමාණ අනුකෘතියක් වෙනුවට 2D න්යාසයක් භාවිතා කළ හැකිය. මෙය මතකය ඉතිරි කරයි, නමුත් කුඩා වර්ණ පරාසයක් ලබා දෙයි.
RGB
උදාහරණයක් ලෙස, පහත පින්තූරය දෙස බලන්න. පළමු මුහුණ සම්පූර්ණයෙන්ම පින්තාරු කර ඇත. අනෙක් ඒවා රතු, කොළ සහ නිල් ගුවන් යානා (අනුරූප වර්ණවල තීව්රතාවයන් අළු පරිමාණයෙන් දැක්වේ).
මුල් පිටපතේ රතු පැහැය දෙවන මුහුණෙහි දීප්තිමත්ම කොටස් නිරීක්ෂණය කරන ස්ථානවලම පවතිනු ඇති බව අපට පෙනේ. නිල්ගේ දායකත්වය ප්රධාන වශයෙන් දැකිය හැක්කේ මාරියෝගේ ඇස් (අවසන් මුහුණ) සහ ඔහුගේ ඇඳුම්වල අංග පමණි. වර්ණ තල තුනම අවම වශයෙන් දායක වන්නේ කොතැනද යන්න සැලකිල්ලට ගන්න (පින්තූරවල අඳුරුතම කොටස්) - මාරියෝගේ උඩු රැවුල.
එක් එක් වර්ණයෙහි තීව්රතාවය ගබඩා කිරීම සඳහා, නිශ්චිත බිටු සංඛ්යාවක් අවශ්ය වේ - මෙම ප්රමාණය හැඳින්වේ ටිකක් ගැඹුර. එක් වර්ණ තලයකට බිටු 8 ක් (0 සිට 255 දක්වා අගයක් මත පදනම්ව) වැය වේ යැයි සිතමු. එවිට අපි බිටු 24 (බිටු 8 * 3 R / G / B ගුවන් යානා) වර්ණ ගැඹුරක් ඇත.
රූපයක තවත් ගුණාංගයක් වන්නේ අවසරය, එනම් එක් මානයක ඇති පික්සල ගණනයි. බොහෝ විට ලෙස දැක්වේ පළල × උස, පහත 4 by 4 උදාහරණ රූපයේ පරිදි.
රූප/වීඩියෝ සමඟ වැඩ කිරීමේදී අප ගනුදෙනු කරන තවත් දේපලකි දර්ශන අනුපාතය, රූපයක හෝ පික්සලයක පළල සහ උස අතර සාමාන්ය සමානුපාතික සම්බන්ධතාවය විස්තර කිරීම.
යම් චිත්රපටයක් හෝ පින්තූරයක් ප්රමාණයෙන් 16 න් 9 ක් යැයි පවසන විට, ඔවුන් සාමාන්යයෙන් අදහස් කරන්නේ දර්ශන අනුපාතය (ඩාර් - සිට දර්ශන අනුපාතය) කෙසේ වෙතත්, සමහර විට තනි පික්සලවල විවිධ හැඩයන් තිබිය හැකිය - මේ අවස්ථාවේ දී අපි කතා කරන්නේ පික්සල් අනුපාතය (PAR - සිට පික්සල් දර්ශන අනුපාතය).
සේවිකාවට සටහන: DVD අනුරූප වේ DAR 4 සිට 3 දක්වා
සත්ය DVD විභේදනය 704x480 වුවද, PAR 4:3 (10x11 / 704x10) නිසා එය තවමත් 480:11 දර්ශන අනුපාතයක් පවත්වාගෙන යයි.
අවසාන වශයෙන්, අපට තීරණය කළ හැකිය видео අනුපිළිවෙලක් වගේ n කාල සීමාව සඳහා රාමු කාලය, අතිරේක මානයක් ලෙස සැලකිය හැකිය. ඒ n එවිට රාමු අනුපාතය හෝ තත්පරයට රාමු ගණන (FPS වීඩියෝ - සිට තත්පරයට රාමු).
වීඩියෝවක් ප්රදර්ශනය කිරීමට තත්පරයකට අවශ්ය බිටු ගණන එහි වේ සම්ප්රේෂණ වේගය - බිටු අනුපාතය.
bitrate = පළල * උස * bit ගැඹුර * තත්පරයට රාමු
උදාහරණයක් ලෙස, 30 fps, 24 bps, 480x240 වීඩියෝවක් සඳහා 82,944,000 bps හෝ 82,944 Mbps (30x480x240x24) අවශ්ය වේ - නමුත් එය සම්පීඩන ක්රමයක් භාවිතා නොකරන්නේ නම්.
හුවමාරු වේගය නම් පාහේ නියත, පසුව එය හැඳින්වේ නියත සම්ප්රේෂණ වේගය (සී.බී.ආර් - සිට නියත බිට් අනුපාතය) නමුත් එය ද වෙනස් විය හැකිය, මේ අවස්ථාවේ දී එය හැඳින්වේ විචල්ය බෝඩ් අනුපාතය (වී.බී.ආර් - සිට විචල්ය බිට් අනුපාතය).
මෙම ප්රස්ථාරය සම්පූර්ණයෙන්ම අඳුරු රාමුවක දී බොහෝ බිටු අපතේ නොයන සීමිත VBR පෙන්වයි.
ඉංජිනේරුවන් මුලදී අමතර කලාප පළලක් භාවිතා නොකර වීඩියෝ සංදර්ශකයක සංජානනය කරන ලද රාමු අනුපාතය දෙගුණ කිරීමට ක්රමයක් සකස් කරන ලදී. මෙම ක්රමය ලෙස හැඳින්වේ අන්තර් සම්බන්ධිත වීඩියෝව; මූලික වශයෙන්, එය පළමු "රාමුව" තුළ තිරය අඩක් සහ ඊළඟ "රාමුව" තුළ අනෙක් භාගය යවයි.
දැනට, දර්ශන බොහෝ දුරට භාවිතා කර ඇත ප්රගතිශීලී ස්කෑනිං තාක්ෂණයන්. එය එක් එක් රාමුවේ සියලුම රේඛා අනුක්රමිකව ඇඳ ඇති චලනය වන රූප පෙන්වීම, ගබඩා කිරීම හෝ සම්ප්රේෂණය කිරීමේ ක්රමයකි.
හොඳින්! දැන් අපි රූපයක් ඩිජිටල් ලෙස නිරූපණය කරන්නේ කෙසේද, එහි වර්ණ සකසා ඇති ආකාරය, වීඩියෝව පෙන්වීමට තත්පරයකට බිට් කීයක් වැය කරනවාද, බිට් අනුපාතය නියත නම් (CBR) හෝ විචල්ය (VBR) නම් අපි දනිමු. දී ඇති රාමු අනුපාතයක් භාවිතා කර දෙන ලද විභේදනයක් ගැන අපි දනිමු, අන්තර් සම්බන්ධිත වීඩියෝ, PAR සහ තවත් සමහරක් වැනි තවත් බොහෝ නියමයන් අපට හුරුපුරුදුය.
අතිරික්තය ඉවත් කිරීම
සම්පීඩනයකින් තොරව වීඩියෝ සාමාන්යයෙන් භාවිතා කළ නොහැකි බව දන්නා කරුණකි. 720p විභේදනයකින් සහ තත්පරයකට රාමු 30ක පැයක වීඩියෝවක් සඳහා 278 GB ගත වේ. අපි මෙම අගයට පැමිණෙන්නේ 1280 x 720 x 24 x 30 x 3600 (පළල, උස, පික්සලයකට බිටු, FPS සහ තත්පර වලින් කාලය) ගුණ කිරීමෙනි.
භාවිතා කරන්න පාඩු රහිත සම්පීඩන ඇල්ගොරිතම, DEFLATE වැනි (PKZIP, Gzip සහ PNG හි භාවිතා වේ), අවශ්ය කලාප පළල ප්රමාණවත් ලෙස අඩු නොකරනු ඇත. වීඩියෝව සම්පීඩනය කිරීමට අපට වෙනත් ක්රම සෙවිය යුතුය.
මෙය සිදු කිරීම සඳහා, ඔබට අපගේ දර්ශනයේ විශේෂාංග භාවිතා කළ හැකිය. අපි වර්ණයට වඩා දීප්තිය වෙන්කර හඳුනා ගැනීමට වඩා හොඳය. වීඩියෝවක් යනු කාලයත් සමඟ පුනරාවර්තනය වන අනුක්රමික රූප මාලාවකි. එකම දර්ශනයේ යාබද රාමු අතර කුඩා වෙනස්කම් තිබේ. මීට අමතරව, සෑම රාමුවකම එකම (හෝ සමාන) වර්ණය භාවිතා කරන බොහෝ ප්රදේශ අඩංගු වේ.
වර්ණය, දීප්තිය සහ අපගේ ඇස්
අපගේ ඇස් වර්ණයට වඩා දීප්තියට සංවේදී වේ. මෙම පින්තූරය දෙස බැලීමෙන් ඔබට මෙය දැක ගත හැකිය.
රූපයේ වම් භාගයේ කොටු වල වර්ණ බව ඔබට නොපෙනේ නම් A и B ඇත්ත වශයෙන්ම සමාන වේ, එවිට එය සාමාන්ය වේ. වර්ණයට වඩා ආලෝකය සහ සෙවන කෙරෙහි වැඩි අවධානයක් යොමු කිරීමට අපගේ මොළය අපට බල කරයි. නම් කරන ලද කොටු අතර දකුණු පැත්තේ එකම වර්ණයෙන් යුත් ජම්පරයක් ඇත - එබැවින් අපි (එනම් අපගේ මොළය) පහසුවෙන් තීරණය කරමු, ඇත්ත වශයෙන්ම ඒවා එකම වර්ණය බව.
අපගේ ඇස් ක්රියා කරන ආකාරය (සරල ආකාරයකින්) බලමු. ඇස යනු බොහෝ කොටස් වලින් සමන්විත සංකීර්ණ අවයවයකි. කෙසේ වෙතත්, අපි වඩාත් උනන්දුවක් දක්වන්නේ කේතු සහ දඬු ය. ඇසේ දඬු මිලියන 120 ක් සහ කේතු මිලියන 6 ක් පමණ අඩංගු වේ.
ඇසේ සමහර කොටස්වල වෙනම කාර්යයන් ලෙස වර්ණය සහ දීප්තිය පිළිබඳ සංජානනය සලකා බලමු (ඇත්ත වශයෙන්ම, සෑම දෙයක්ම තරමක් සංකීර්ණ ය, නමුත් අපි එය සරල කරන්නෙමු). දණ්ඩ සෛල ප්රධාන වශයෙන් දීප්තිය සඳහා වගකිව යුතු අතර කේතු සෛල වර්ණය සඳහා වගකිව යුතුය. කේතු ඒවායේ අඩංගු වර්ණක මත පදනම්ව වර්ග තුනකට බෙදා ඇත: S-කේතු (නිල්), M-කේතු (කොළ) සහ L-කේතු (රතු).
අපට කේතු (වර්ණ) වඩා බොහෝ දඬු (දීප්තිය) ඇති බැවින්, වර්ණවලට වඩා අඳුරු සහ ආලෝකය අතර සංක්රාන්ති වෙන්කර හඳුනා ගැනීමට අපට හැකියාව ඇති බව අපට නිගමනය කළ හැකිය.
පරස්පර සංවේදීතා විශේෂාංග
පර්යේෂණාත්මක මනෝවිද්යාව සහ වෙනත් බොහෝ ක්ෂේත්රවල පර්යේෂකයන් මානව දර්ශනය පිළිබඳ බොහෝ න්යායන් වර්ධනය කර ඇත. තවද ඔවුන්ගෙන් එක් අයෙකු හැඳින්වේ පරස්පර සංවේදීතා කාර්යයන්. ඒවා අවකාශීය සහ තාවකාලික ආලෝකකරණයට සම්බන්ධ වේ. කෙටියෙන් කිවහොත්, එය නිරීක්ෂකයෙකුට ඒවා දැකීමට පෙර කොපමණ වෙනස්කම් අවශ්ය වේද යන්නයි. "Function" යන වචනයේ බහු වචන සටහන් කරන්න. මෙයට හේතුව කළු සහ සුදු රූප සඳහා පමණක් නොව, වර්ණ සඳහාද අපට ප්රතිවිරුද්ධ සංවේදීතා ක්රියාකාරිත්වය මැනිය හැකි බැවිනි. මෙම අත්හදා බැලීම්වල ප්රතිඵල පෙන්නුම් කරන්නේ බොහෝ අවස්ථාවලදී අපගේ ඇස් වර්ණයට වඩා දීප්තියට වඩා සංවේදී බවයි.
රූපයේ දීප්තියට අප වඩාත් සංවේදී බව අප දන්නා බැවින්, අපට මෙම කරුණ භාවිතා කිරීමට උත්සාහ කළ හැකිය.
වර්ණ ආකෘතිය
RGB යෝජනා ක්රමය භාවිතයෙන් වර්ණ රූප සමඟ වැඩ කරන්නේ කෙසේදැයි අපි ටිකක් සොයා ගත්තෙමු. වෙනත් මාදිලි ද ඇත. ක්රෝමා වලින් දීප්තිය වෙන් කරන ආකෘතියක් ඇති අතර එය හඳුන්වනු ලැබේ YCbCr. මාර්ගය වන විට, සමාන බෙදීමක් සිදු කරන වෙනත් ආකෘති ඇත, නමුත් අපි මෙය පමණක් සලකා බලමු.
මෙම වර්ණ ආකෘතියේ Y දීප්තිය නිරූපණය වන අතර වර්ණ නාලිකා දෙකක් ද භාවිතා කරයි: Cb (පොහොසත් නිල්) සහ Cr (පොහොසත් රතු). YCbCr RGB වෙතින් ව්යුත්පන්න කළ හැකි අතර ප්රතිලෝම පරිවර්තනය ද කළ හැකිය. මෙම ආකෘතිය භාවිතා කිරීමෙන් අපට පහත දැක්වෙන පරිදි සම්පූර්ණ වර්ණ රූප නිර්මාණය කළ හැකිය:
YCbCr සහ RGB අතර පරිවර්තනය කරන්න
කවුරුහරි විරුද්ධ වනු ඇත: කොළ භාවිතා නොකළහොත් සියලු වර්ණ ලබා ගත හැක්කේ කෙසේද?
මෙම ප්රශ්නයට පිළිතුරු දීමට, අපි RGB YCbCr බවට පරිවර්තනය කරමු. සම්මතයේ සම්මත කර ඇති සංගුණක භාවිතා කරමු බීටී 601, ඒකකය විසින් නිර්දේශ කරන ලදී ITU-R. මෙම අංශය ඩිජිටල් වීඩියෝ සඳහා ප්රමිතීන් සකසයි. උදාහරණයක් ලෙස: 4K යනු කුමක්ද? රාමු අනුපාතය, විභේදනය, වර්ණ ආකෘතිය කුමක් විය යුතුද?
මුලින්ම දීප්තිය ගණනය කරමු. ITU විසින් යෝජනා කරන ලද නියතයන් භාවිතා කර RGB අගයන් ප්රතිස්ථාපනය කරමු.
Y = 0.299R + 0.587G + 0.114B
අපට දීප්තිය ලැබුණු පසු, අපි නිල් සහ රතු වර්ණ වෙන් කරමු:
Cb = 0.564(B - Y)
Cr = 0.713(R - Y)
තවද අපට YCbCr භාවිතයෙන් ආපසු හැරවීමට සහ හරිත වර්ණ ලබා ගැනීමටද හැකිය:
R = Y + 1.402Cr
B = Y + 1.772Cb
G = Y - 0.344Cb - 0.714Cr
සාමාන්යයෙන්, සංදර්ශක (මොනිටර, රූපවාහිනී, තිර, ආදිය) RGB ආකෘතිය පමණක් භාවිතා කරයි. නමුත් මෙම ආකෘතිය විවිධ ආකාරවලින් සංවිධානය කළ හැකිය:
වර්ණ උප නියැදීම
දීප්තිය සහ වර්ණදේහයේ සංකලනයක් ලෙස නිරූපණය කෙරෙන රූපයක් සමඟින්, තොරතුරු වරණාත්මකව ඉවත් කිරීමෙන් අපට මානව දෘෂ්ය පද්ධතියේ දීප්තියට වඩා වර්ණදේහයට ඇති වැඩි සංවේදීතාව උපයෝගී කර ගත හැක. ක්රෝමා උප නියැදීම යනු දීප්තියට වඩා ක්රෝමා සඳහා අඩු විභේදනයක් භාවිතා කරමින් රූප කේතනය කිරීමේ ක්රමයකි.
වර්ණ විභේදනය අඩු කිරීමට කොපමණ අවසර තිබේද?! විභේදනය සහ ඒකාබද්ධ කිරීම හැසිරවිය යුතු ආකාරය විස්තර කරන සමහර රූප සටහන් දැනටමත් ඇති බව පෙනේ (ප්රතිඵල වර්ණය = Y + Cb + Cr).
මෙම යෝජනා ක්රම ලෙස හැඳින්වේ නියැදීමේ පද්ධති සහ 3 ගුණයක අනුපාතයක් ලෙස ප්රකාශ වේ - a:x:y, දීප්තිය සහ වර්ණ වෙනස සංඥා සාම්පල සංඛ්යාව තීරණය කරයි.
a - තිරස් නියැදි සම්මත (සාමාන්යයෙන් 4 ට සමාන)
x — පික්සලවල පළමු පේළියේ ඇති ක්රෝමා සාම්පල ගණන (තිරස් විභේදනයට සාපේක්ෂව a)
y — පික්සලවල පළමු සහ දෙවන පේළි අතර ක්රෝමා සාම්පලවල වෙනස්කම් ගණන.
ව්යතිරේකයකි 4:1:0, සෑම 4-by-4 ලුමිනන්ස් විභේදන බ්ලොක් එකකම එක් ක්රෝමා සාම්පලයක් සැපයීම.
නවීන කෝඩෙක්ස් වල භාවිතා වන පොදු යෝජනා ක්රම:
- 4:4:4 (අඩු නියැදීමක් නැත)
- 4:2:2
- 4:1:1
- 4:2:0
- 4:1:0
- 3:1:1
YCbCr 4:2:0 - විලයන උදාහරණය
මෙන්න YCbCr 4:2:0 භාවිතයෙන් ඒකාබද්ධ කළ රූපයක්. අපි වැය කරන්නේ පික්සලයකට බිටු 12ක් පමණක් බව සලකන්න.
වර්ණ උප නියැදීමේ ප්රධාන වර්ග සමඟ සංකේතනය කර ඇති එකම රූපය පෙනෙන්නේ මෙයයි. පළමු පේළිය අවසාන YCbCr වේ, පහළ පේළිය ක්රෝමා විභේදනය පෙන්වයි. ගුණාත්මක භාවයේ සුළු අලාභය සැලකිල්ලට ගනිමින් ඉතා යහපත් ප්රතිඵල.
අපි පැයක වීඩියෝ ගොනුවක් 278p විභේදනයකින් සහ තත්පරයකට රාමු 720කින් ගබඩා කිරීමට 30 GB ගබඩා ඉඩක් ගණනය කළ විට මතකද? අපි YCbCr 4:2:0 භාවිතා කරන්නේ නම්, මෙම ප්රමාණය අඩකින් අඩු වේ - 139 GB. මෙතෙක්, එය තවමත් පිළිගත හැකි ප්රතිඵලය දුරින් පවතී.
ඔබට FFmpeg භාවිතයෙන් YCbCr හිස්ටෝග්රෑම් ලබා ගත හැක. මෙම රූපයේ, නිල් පැහැය රතු පැහැයට වඩා ආධිපත්යය දරයි, එය හිස්ටෝග්රෑම් තුළම පැහැදිලිව දැකගත හැකිය.
වර්ණය, දීප්තිය, වර්ණ ගැමට් - වීඩියෝ සමාලෝචනය
මෙම අපූරු වීඩියෝව නැරඹීමට අපි නිර්දේශ කරමු. එය දීප්තිය යනු කුමක්ද යන්න පැහැදිලි කරයි, සහ පොදුවේ සියලුම තිත් තිත් ඇත ё දීප්තිය සහ වර්ණය ගැන.
රාමු වර්ග
අපි ඉදිරියට යමු. කාලය අතිරික්තය ඉවත් කිරීමට උත්සාහ කරමු. නමුත් පළමුව, අපි මූලික පාරිභාෂිතය නිර්වචනය කරමු. අපි හිතමු තත්පරයකට රාමු 30ක් සහිත චිත්රපටියක් තියෙනවා, මෙන්න එහි පළමු රාමු 4:
රාමු තුළ අපට බොහෝ පුනරාවර්තන දැකිය හැකිය: නිදසුනක් ලෙස, රාමුවෙන් රාමුවට වෙනස් නොවන නිල් පසුබිමක්. මෙම ගැටළුව විසඳීම සඳහා, අපට ඒවා රාමු වර්ග තුනකට වියුක්ත ලෙස වර්ග කළ හැකිය.
I-රාමු (Intro රාමුව)
I-frame (යොමු රාමුව, යතුරු රාමුව, අභ්යන්තර රාමුව) ස්වයං අන්තර්ගත වේ. ඔබට දෘශ්යමාන කිරීමට අවශ්ය දේ කුමක් වුවත්, I-frame යනු අත්යවශ්යයෙන්ම ස්ථිතික ඡායාරූපයකි. පළමු රාමුව සාමාන්යයෙන් I-රාමුවක් වේ, නමුත් අපි පළමු රාමු අතරින් පවා I-රාමු නිතිපතා නිරීක්ෂණය කරන්නෙමු.
P-රාමු (Pඅඩු කළ රාමුව)
P-රාමු (අනාවැකි රාමුව) සෑම විටම පාහේ වත්මන් රූපය පෙර රාමුව භාවිතයෙන් ප්රතිනිෂ්පාදනය කළ හැකි බව ප්රයෝජන ගනී. උදාහරණයක් ලෙස, දෙවන රාමුවේ එකම වෙනස වන්නේ පන්දුව ඉදිරියට යාමයි. අපට රාමු 2 ලබා ගත හැක්කේ රාමුව 1 සරලව වෙනස් කිරීමෙනි, මෙම රාමු අතර වෙනස භාවිතා කිරීමෙන් පමණි. රාමු 2 ගොඩනැගීම සඳහා, අපි පෙර රාමු 1 වෙත යොමු කරමු.
←
B-රාමු (Bi-අනාවැකි රාමුව)
ඊටත් වඩා හොඳ සම්පීඩනයක් ලබා දීම සඳහා අතීතයට පමණක් නොව අනාගත රාමු වලටද සබැඳි ගැන කුමක් කිව හැකිද?! මෙය මූලික වශයෙන් B-රාමු (ද්වි දිශානුගත රාමුව) වේ.
← →
අතරමැදි ආපසු ගැනීම
හැකි හොඳම සම්පීඩනය සැපයීම සඳහා මෙම රාමු වර්ග භාවිතා වේ. මෙය සිදුවන්නේ කෙසේදැයි අපි ඊළඟ කොටසින් බලමු. දැනට, පරිභෝජනය කරන මතකය අනුව වඩාත්ම “මිල අධික” I-රාමුව, P-රාමුව සැලකිය යුතු ලෙස ලාභදායී වන නමුත් වීඩියෝ සඳහා වඩාත්ම ලාභදායී විකල්පය B-රාමුව බව සටහන් කරමු.
තාවකාලික අතිරික්තය (අන්තර් රාමු අනාවැකි)
කාලයත් සමඟ පුනරාවර්තනය අවම කිරීමට අපට ඇති විකල්ප මොනවාදැයි බලමු. අපට හරස් පුරෝකථන ක්රම භාවිතයෙන් මෙවැනි අතිරික්තයක් විසඳිය හැක.
0 සහ 1 රාමු අනුපිළිවෙලක් සංකේතනය කිරීමට අපි හැකි තරම් බිටු කිහිපයක් වැය කිරීමට උත්සාහ කරමු.
අපිට නිෂ්පාදනය කරන්න පුළුවන් අඩු කිරීම, අපි සරලව රාමු 1 න් රාමු 0 අඩු කරන්නෙමු. අපට රාමු 1 ලැබේ, එය සහ පෙර රාමුව අතර වෙනස පමණක් භාවිතා කරන්න, ඇත්ත වශයෙන්ම අපි කේතනය කරන්නේ ප්රතිඵලය වන ඉතිරිය පමණි.
නමුත් ඊටත් වඩා අඩු බිටු භාවිතා කරන ඊටත් වඩා හොඳ ක්රමයක් ඇති බව මම ඔබට පැවසුවහොත් කුමක් කළ යුතුද?! පළමුව, අපි රාමු 0 බ්ලොක් වලින් සමන්විත පැහැදිලි ජාලයකට කඩා දමමු. ඉන්පසුව අපි රාමු 0 සිට රාමු 1 සමඟ කුට්ටි ගැලපීමට උත්සාහ කරමු. වෙනත් වචනවලින් කිවහොත්, අපි රාමු අතර චලනය තක්සේරු කරමු.
විකිපීඩියාවෙන් - අවහිර චලන වන්දි
බ්ලොක් චලන වන්දිය වත්මන් රාමුව අතිච්ඡාදනය නොවන කුට්ටි වලට බෙදන අතර චලන වන්දි දෛශිකය බ්ලොක් වල මූලාරම්භය වාර්තා කරයි (පොදු දුර්මතයකි පෙර රාමුව අතිච්ඡාදනය නොවන කුට්ටි වලට බෙදී ඇති අතර චලන වන්දි දෛශික එම කුට්ටි යන්නේ කොතැනටද යන්න කියයි. නමුත් ඇත්ත වශයෙන්ම, එය අනෙක් පැත්තයි - එය විශ්ලේෂණය කරනු ලබන්නේ පෙර රාමුව නොවේ, නමුත් ඊළඟ එක; කුට්ටි චලනය වන්නේ කොතැනින්ද යන්න පැහැදිලි නැත, නමුත් ඒවා පැමිණියේ කොහෙන්ද). සාමාන්යයෙන් ප්රභව කුට්ටි ප්රභව රාමුව තුළ අතිච්ඡාදනය වේ. සමහර වීඩියෝ සම්පීඩන ඇල්ගොරිතම වත්මන් රාමුව එකලස් කරන්නේ එකක නොව කලින් සම්ප්රේෂණය කරන ලද රාමු කිහිපයක කොටස් වලිනි.
ඇගයීම් ක්රියාවලියේදී, පන්දුව ((x= 0, y=25) සිට (x= 6, y=26), අගයන් x и y චලන දෛශිකය තීරණය කරන්න. බිටු සංරක්ෂණය කිරීම සඳහා අපට කළ හැකි තවත් පියවරක් වන්නේ අවසාන වාරණ ස්ථානය සහ පුරෝකථනය කළ එක අතර චලන දෛශික වෙනස පමණක් සංකේතනය කිරීමයි, එබැවින් අවසාන චලන දෛශිකය වනු ඇත (x=6-0=6, y=26-25=1 )
සැබෑ තත්වයක් තුළ, මෙම පන්දුව බෙදී යනු ඇත n අවහිර කරයි, නමුත් මෙය කාරණයේ සාරය වෙනස් නොකරයි.
රාමුවේ ඇති වස්තූන් ත්රිමාණයෙන් ගමන් කරයි, එබැවින් පන්දුව චලනය වන විට එය දෘෂ්යව කුඩා විය හැක (හෝ එය නරඹන්නා දෙසට ගමන් කරන්නේ නම් විශාල වේ). බ්ලොක් අතර පරිපූර්ණ ගැලපීමක් නොතිබීම සාමාන්ය දෙයක්. මෙන්න අපගේ ඇස්තමේන්තුව සහ සැබෑ පින්තූරයේ ඒකාබද්ධ දසුනක්.
නමුත් අපි චලන ඇස්තමේන්තුව භාවිතා කරන විට, රාමු අතර ඩෙල්ටා ගණනය කිරීමේ සරල ක්රමයක් භාවිතා කරන විට වඩා සංකේතනය කිරීම සඳහා සැලකිය යුතු ලෙස අඩු දත්ත ඇති බව අපට පෙනේ.
සැබෑ චලන වන්දිය කෙබඳු වනු ඇත්ද?
මෙම තාක්ෂණය සියලුම බ්ලොක් සඳහා එකවර යොදනු ලැබේ. බොහෝ විට අපගේ කොන්දේසි සහිත චලනය වන පන්දුව එකවර කුට්ටි කිහිපයකට බෙදා ඇත.
මෙම සංකල්ප භාවිතා කිරීමෙන් ඔබටම හැඟීමක් ලබා ගත හැකිය
චලන දෛශික බැලීමට, ඔබට භාවිතයෙන් බාහිර පුරෝකථන වීඩියෝවක් සෑදිය හැක
ඔබට ද භාවිතා කළ හැකිය
අවකාශීය අතිරික්තය (අභ්යන්තර පුරෝකථනය)
අපි වීඩියෝ එකක එක් එක් රාමුව විශ්ලේෂණය කළහොත්, අපට එකිනෙකට සම්බන්ධ වූ ප්රදේශ බොහොමයක් සොයාගත හැකිය.
අපි මේ උදාහරණය හරහා යමු. මෙම දර්ශනය ප්රධාන වශයෙන් නිල් සහ සුදු වර්ණයන්ගෙන් සමන්විත වේ.
මේක I-frame එකක්. පුරෝකථනය සඳහා අපට පෙර රාමු ගත නොහැක, නමුත් අපට එය සම්පීඩනය කළ හැකිය. රතු බ්ලොක් තෝරාගැනීම සංකේතනය කරමු. අපි එහි අසල්වැසියන් දෙස බැලුවහොත්, එය වටා සමහර වර්ණ ප්රවණතා ඇති බව අපට පෙනේ.
රාමුව තුළ වර්ණ සිරස් අතට විහිදෙන බව අපි උපකල්පනය කරමු. එයින් අදහස් කරන්නේ නොදන්නා පික්සෙල් වල වර්ණය එහි අසල්වැසියන්ගේ අගයන් අඩංගු වනු ඇති බවයි.
එවැනි පුරෝකථනයක් වැරදි විය හැකිය. මෙම හේතුව නිසා ඔබට මෙම ක්රමය (අභ්යන්තර පුරෝකථනය) යෙදිය යුතු අතර පසුව සැබෑ අගයන් අඩු කරන්න. මෙය අපට අවශේෂ බ්ලොක් එකක් ලබා දෙනු ඇත, එය මුල් පිටපතට සාපේක්ෂව වඩා සම්පීඩිත අනුකෘතියක් ඇති කරයි.
ඔබට අභ්යන්තර අනාවැකි සමඟ පුහුණු වීමට අවශ්ය නම්, ඔබට ffmpeg භාවිතයෙන් macroblocks සහ ඒවායේ අනාවැකි පිළිබඳ වීඩියෝවක් නිර්මාණය කළ හැකිය. එක් එක් බ්ලොක් වර්ණයේ තේරුම තේරුම් ගැනීමට, ඔබට ffmpeg ලේඛන කියවීමට සිදුවේ.
නැතහොත් ඔබට Intel Video Pro Analyzer භාවිතා කළ හැකිය (මා ඉහත සඳහන් කළ පරිදි, නොමිලේ අත්හදා බැලීමේ අනුවාදය පළමු රාමු 10 ට සීමා වේ, නමුත් මෙය ඔබට මුලින්ම ප්රමාණවත් වනු ඇත).
දෙවන කොටස: වීඩියෝ කෝඩෙක් ක්රියා කරන ආකාරය
මූලාශ්රය: www.habr.com