هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

ٻيو حصو: وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي

ڪو به راسٽر تصوير فارم ۾ نمائندگي ڪري سگهجي ٿو ٻه-dimensional ميٽرڪس. جڏهن اهو رنگن تي اچي ٿو، اهو خيال ترقي ڪري سگهجي ٿو هڪ تصوير کي ڏسڻ سان ٽي-dimensional ميٽرڪس، جنهن ۾ اضافي طول و عرض استعمال ڪيا ويندا آهن ڊيٽا کي ذخيرو ڪرڻ لاءِ هر رنگ لاءِ.

جيڪڏهن اسان آخري رنگ تي غور ڪيو ته نام نهاد جي ميلاپ جي طور تي. پرائمري رنگ (ڳاڙهو، سائو ۽ نيرو)، اسان جي ٽي-dimensional ميٽرڪس ۾ اسان ٽن جهازن جي وضاحت ڪريون ٿا: پهريون ڳاڙهي لاءِ، ٻيو سائو لاءِ ۽ آخري نيري لاءِ.
هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي
اسان هن ميٽرڪس ۾ هر پوائنٽ کي هڪ پکسل (تصوير عنصر) سڏينداسين. هر پکسل ۾ هر رنگ جي شدت (عام طور تي عددي قدر جي طور تي) بابت معلومات شامل آهي. مثال طور، ڳاڙهو عڪسل مطلب ته ان ۾ 0 سائو، 0 نيرو ۽ وڌ ۾ وڌ ڳاڙهو. گلابي عڪسل ٽن رنگن جي ميلاپ کي استعمال ڪندي ٺاهي سگهجي ٿو. 0 کان 255 تائين عددي رينج استعمال ڪندي، هڪ گلابي پکسل جي وضاحت ڪئي وئي آهي ڳاڙهو = 255, سائو = 192 и نيرو = 203.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

هي مضمون EDISON جي سهڪار سان شايع ڪيو ويو.

اسان ترقي ڪري رهيا آهيون وڊيو نگراني لاءِ ايپليڪيشنون، وڊيو اسٽريمنگ، ۽ اسان پڻ مصروف آهيون جراحي ڪمري ۾ وڊيو رڪارڊنگ.

رنگ جي تصوير کي انڪوڊ ڪرڻ جا متبادل طريقا

رنگن جي نمائندگي ڪرڻ لاء ٻيا ڪيترائي ماڊل آھن جيڪي ھڪڙي تصوير ٺاھيندا آھن. مثال طور، توهان استعمال ڪري سگهو ٿا هڪ انڊيڪس ٿيل پيلٽ، جنهن کي هر پکسل جي نمائندگي ڪرڻ لاءِ صرف هڪ بائيٽ جي ضرورت آهي، بجاءِ ٽي گهربل جڏهن RGB ماڊل استعمال ڪندي. اهڙي نموني ۾، هر رنگ جي نمائندگي ڪرڻ لاء 2D ميٽرڪس جي بدران 3D ميٽرڪس استعمال ڪرڻ ممڪن آهي. هي ياداشت بچائيندو آهي، پر هڪ ننڍڙو رنگ گامٽ ڏئي ٿو.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

آر بي جي بابت

مثال طور، هيٺ ڏنل تصوير تي هڪ نظر وٺو. پهريون منهن مڪمل طور تي رنگيل آهي. ٻيا ڳاڙهي، سائي ۽ نيري جهاز آهن (ساڳئي رنگن جي شدت گري اسڪيل ۾ ڏيکاريل آهي).

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

اسان ڏسون ٿا ته اصل ۾ ڳاڙهي رنگ جا رنگ ساڳين هنڌن تي هوندا، جتي ٻئي منهن جا چمڪندڙ حصا نظر اچن ٿا. جڏهن ته نيري جو حصو صرف ماريو جي اکين (آخري منهن) ۽ سندس لباس جي عناصر ۾ ڏسي سگهجي ٿو. نوٽ ڪريو جتي سڀئي ٽي رنگا جهاز گهٽ ۾ گهٽ حصو ڏين ٿا (تصويرن جا اونداهي حصا) - ماريو جي مونچھون.

هر رنگ جي شدت کي ذخيرو ڪرڻ لاء، بٽس جي هڪ خاص تعداد جي ضرورت آهي - هن مقدار کي سڏيو ويندو آهي ٿورڙي کوٽائي. اچو ته چوندا آهن 8 بٽ خرچ ڪيا ويا آهن (هڪ قيمت جي بنياد تي 0 کان 255 تائين) في رنگ جهاز. پوء اسان وٽ 24 بٽ جي رنگ جي کوٽائي آهي (8 بٽ * 3 R/G/B جهاز).

تصوير جي هڪ ٻي ملڪيت آهي اجازت، جيڪو هڪ طول و عرض ۾ پکسلز جو تعداد آهي. اڪثر طور تي ظاهر ڪيو ويو آهي ويڪر × اوچائي، جيئن هيٺ ڏنل 4 کان 4 مثال تصوير ۾.
هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

هڪ ٻي ملڪيت جنهن سان اسين ڊيل ڪندا آهيون جڏهن تصويرن / وڊيوز سان ڪم ڪري رهيا آهيون پہلو تناسب، هڪ تصوير يا پکسل جي چوٽي ۽ اوچائي جي وچ ۾ عام متناسب تعلق کي بيان ڪندي.

جڏهن اهي چون ٿا ته هڪ خاص فلم يا تصوير سائيز ۾ 16 کان 9 آهي، انهن جو مطلب عام طور تي آهي ظاهري تناسب (ڊار کان ڏيکاريو اسپيڪٽ ريشو). تنهن هوندي به، ڪڏهن ڪڏهن اتي ٿي سگهي ٿو مختلف شڪلين جي انفرادي پکسلز - هن معاملي ۾ اسان جي باري ۾ ڳالهائي رهيا آهن پکسل تناسب (PAR کان Pixel Aspect Ratio).

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

ميزبان کي نوٽ: ڊي соответствует ڊار 4 کان 3

جيتوڻيڪ اصل ڊي وي ڊي ريزوليوشن 704x480 آهي، اهو اڃا تائين 4:3 اسپيڪٽ ريشو برقرار رکي ٿو ڇاڪاڻ ته PAR 10:11 (704x10 / 480x11) آهي.

۽ آخرڪار، اسان طئي ڪري سگهون ٿا видео هڪ تسلسل وانگر n مدت لاء فريم وقت، جنهن کي هڪ اضافي طول و عرض سمجهي سگهجي ٿو. اي n پوء فريم جي شرح آهي يا فريم جو تعداد في سيڪنڊ (FPS کان في سيڪنڊ فريمَ).

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

بٽس جو تعداد في سيڪنڊ جي ضرورت آهي هڪ وڊيو ڊسپلي ڪرڻ لاءِ ٽرانسميشن جي رفتار - بٽريٽ.

bitrate = ويڪر * اوچائي * سا ڊيپٿ * فريم في سيڪنڊ

مثال طور، هڪ 30 fps، 24 bps، 480x240 وڊيو 82,944,000 bps يا 82,944 Mbps (30x480x240x24) جي ضرورت هوندي - پر اهو آهي جيڪڏهن ڪو ڪمپريشن طريقو استعمال نه ڪيو وڃي.

جيڪڏهن منتقلي جي رفتار لڳ ڀڳ مسلسل، پوء ان کي سڏيو ويندو آهي مسلسل ٽرانسميشن جي رفتار (CBR کان مسلسل بٽ جي شرح). پر اهو پڻ مختلف ٿي سگهي ٿو، هن معاملي ۾ ان کي سڏيو ويندو آهي متغير باڊ جي شرح (VBR کان متغير بٽ جي شرح).

هي گراف محدود VBR ڏيکاري ٿو، جتي مڪمل طور تي اونداهي فريم جي صورت ۾ تمام گهڻا بٽ ضايع نه ٿيندا آهن.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

انجنيئرن شروعاتي طور تي ھڪڙو طريقو ٺاھيو آھي ھڪڙي ويڊيو ڊسپلي جي فريم ريٽ کي ٻيڻو ڪرڻ لاءِ بغير اضافي بينڊوڊٿ استعمال ڪرڻ جي. هن طريقي سان سڃاتو وڃي ٿو ڳنڍيل وڊيو؛ بنيادي طور تي، اهو اڌ اسڪرين کي پهرين "فريم" ۾ ۽ ٻيو اڌ ايندڙ "فريم" ۾ موڪلي ٿو.

في الحال، مناظر اڪثر ڪري استعمال ڪري رهيا آهن ترقي پسند اسڪيننگ ٽيڪنالاجيون. ھلندڙ تصويرن کي ظاھر ڪرڻ، محفوظ ڪرڻ يا منتقل ڪرڻ جو ھڪڙو طريقو آھي جنھن ۾ ھر فريم جون سڀئي لائينون ترتيب وار ٺاھيون وينديون آھن.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

خير! هاڻي اسان ڄاڻون ٿا ته هڪ تصوير کي ڊجيٽل طور تي ڪيئن پيش ڪيو ويندو آهي، ان جا رنگ ڪيئن ترتيب ڏنل آهن، اسان ڪيترا بٽ في سيڪنڊ خرچ ڪندا آهيون وڊيو ڏيکارڻ لاء، جيڪڏهن بٽ جي شرح مسلسل آهي (CBR) يا متغير (VBR). اسان هڪ ڏنل فريم جي شرح استعمال ڪندي ڏنل قرارداد جي باري ۾ ڄاڻون ٿا، اسان ڪيترن ئي ٻين شرطن کان واقف آهيون، جهڙوڪ interlaced وڊيو، PAR ۽ ڪجهه ٻيا.

لاچاري ختم ڪرڻ

اهو معلوم ٿئي ٿو ته وڊيو بغير ڪمپريشن عام طور تي استعمال نٿو ڪري سگهجي. 720p ريزوليوشن ۽ 30 فريم في سيڪنڊ تي هڪ ڪلاڪ ڊگھي وڊيو 278 GB تائين وٺي ويندي. اسان 1280 x 720 x 24 x 30 x 3600 (چوڻي، اوچائي، بٽ في پکسل، FPS ۽ وقت سيڪنڊن ۾) ضرب ڪندي هن قيمت تي پهچون ٿا.

استعمال ڪريو نقصان کان سواء کمپريشن الگورتھم، جهڙوڪ DEFLATE (PKZIP، Gzip ۽ PNG ۾ استعمال ٿيل)، گهربل بينڊوڊٿ کي ڪافي گھٽ نه ڪندو. اسان کي ڏسڻو پوندو ٻين طريقن سان وڊيو کي دٻائڻ لاءِ.

هن کي ڪرڻ لاء، توهان اسان جي نظر جي خاصيتن کي استعمال ڪري سگهو ٿا. اسان رنگ جي ڀيٽ ۾ روشنيءَ ۾ فرق ڪرڻ ۾ بهتر آهيون. هڪ وڊيو ترتيب وار تصويرن جو هڪ سلسلو آهي جيڪو وقت سان گڏ ورجائي ٿو. ساڳئي منظر جي ڀرسان فريم جي وچ ۾ ننڍا ننڍا فرق آهن. اضافي طور تي، هر فريم ۾ ساڳيو (يا ساڳيو) رنگ استعمال ڪندي ڪيترن ئي علائقن تي مشتمل آهي.

رنگ، روشني ۽ اسان جون اکيون

اسان جون اکيون رنگ جي ڀيٽ ۾ روشنيءَ لاءِ وڌيڪ حساس آهن. توهان هن تصوير کي ڏسي پاڻ لاء ڏسي سگهو ٿا.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

جيڪڏهن توهان نه ٿا ڏسو ته تصوير جي کاٻي اڌ تي چوڪن جا رنگ A и B اصل ۾ ساڳيا آهن، پوء اهو عام آهي. اسان جو دماغ اسان کي رنگ جي بدران روشني ۽ ڇانو تي وڌيڪ ڌيان ڏيڻ تي مجبور ڪري ٿو. نامزد ٿيل چوڪن جي وچ ۾ ساڄي پاسي هڪ ئي رنگ جو جمپر آهي - تنهنڪري اسان (يعني اسان جو دماغ) آساني سان اهو طئي ڪري سگهون ٿا، حقيقت ۾، اهي ساڳيا رنگ آهن.

اچو ته ڏسو (هڪ آسان طريقي سان) اسان جون اکيون ڪيئن ڪم ڪن ٿيون. اک هڪ پيچيده عضوو آهي جيڪو ڪيترن ئي حصن تي مشتمل آهي. تنهن هوندي به، اسان کي سڀ کان وڌيڪ دلچسپي cones ۽ rods ۾ آهي. اک ۾ اٽڪل 120 ملين راڊ ۽ 6 ملين ڪنز شامل آهن.

اچو ته رنگ ۽ روشني جي تصور کي نظر جي ڪجهه حصن جي الڳ ڪمن جي طور تي غور ڪريو (حقيقت ۾، هر شيء ڪجهه وڌيڪ پيچيده آهي، پر اسان ان کي آسان ڪنداسين). راڊ سيلز خاص طور تي روشني جا ذميوار آهن، جڏهن ته مخروطي سيلز رنگ جا ذميوار آهن. ڪنن کي ٽن قسمن ۾ ورهايو ويو آهي، رنگ جي بنياد تي انهن ۾ شامل آهن: S-cones (نيري)، M-cones (سائي) ۽ L-cones (ڳاڙهو).

جيئن ته اسان وٽ ڪونز (رنگ) جي ڀيٽ ۾ تمام گهڻيون رنڊڪون (چمڪيون) آهن، تنهنڪري اسان اهو نتيجو ڪري سگهون ٿا ته اسان رنگن جي ڀيٽ ۾ اونداهي ۽ روشني جي وچ ۾ منتقلي کي فرق ڪرڻ جي قابل آهيون.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

متضاد حساسيت جون خاصيتون

تجرباتي نفسيات ۽ ٻين ڪيترن ئي شعبن ۾ محققن انساني وژن جا ڪيترائي نظريا ٺاهيا آهن. ۽ انهن مان هڪ سڏيو ويندو آهي متضاد حساسيت افعال. اهي مقامي ۽ عارضي روشني سان لاڳاپيل آهن. مختصر ۾، اهو آهي ته ڪيترين ئي تبديلين جي ضرورت آهي ان کان اڳ جو هڪ مبصر انهن کي نوٽيس ڪري. لفظ ”فعل“ جي جمع کي نوٽ ڪريو. اهو ان حقيقت جي ڪري آهي ته اسان ان جي ابتڙ حساسيت جي ڪارڪردگي کي ماپ ڪري سگهون ٿا نه رڳو ڪارو ۽ اڇا تصويرن لاء، پر رنگ وارن لاء پڻ. انهن تجربن جا نتيجا ظاهر ڪن ٿا ته اڪثر صورتن ۾ اسان جون اکيون رنگ جي ڀيٽ ۾ روشنيءَ لاءِ وڌيڪ حساس هونديون آهن.

جيئن ته اسان ڄاڻون ٿا ته اسان تصوير جي روشني لاء وڌيڪ حساس آهيون، اسان هن حقيقت کي استعمال ڪرڻ جي ڪوشش ڪري سگهون ٿا.

رنگ ماڊل

اسان ٿورو معلوم ڪيو ته آر بي بي اسڪيم استعمال ڪندي رنگين تصويرن سان ڪيئن ڪم ڪجي. ٻيا ماڊل پڻ آهن. ھڪڙو نمونو آھي جيڪو چمڪ کي ڪروما کان جدا ڪري ٿو ۽ ان کي سڏيو ويندو آھي YCbCr. رستي ۾، اهڙا ٻيا ماڊل آهن جيڪي هڪ ئي تقسيم ٺاهيندا آهن، پر اسان صرف هن تي غور ڪنداسين.

هن رنگ جي ماڊل ۾ Y چمڪ جي نمائندگي آهي، ۽ پڻ استعمال ڪري ٿو ٻه رنگ چينل: Cb (امير نيرو) ۽ Cr (ڳاڙهو ڳاڙهو). YCbCr RGB مان نڪتل ٿي سگھي ٿو، ۽ ريورس تبديلي پڻ ممڪن آھي. هن ماڊل کي استعمال ڪندي اسان مڪمل رنگ تصويرون ٺاهي سگهون ٿا جيئن اسان هيٺ ڏجن ٿا:

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

YCbCr ۽ RGB جي وچ ۾ تبديل ڪريو

ڪو اعتراض ڪندو: جيڪڏهن سائو استعمال نه ڪيو وڃي ته سڀ رنگ ڪيئن حاصل ڪرڻ ممڪن آهي؟

هن سوال جو جواب ڏيڻ لاء، اچو ته RGB کي YCbCr ۾ تبديل ڪريو. اچو ته معيار ۾ منظور ڪيل ڪوفيفينٽ استعمال ڪريون بي ٽي .601، جيڪو يونٽ طرفان سفارش ڪئي وئي هئي ITU-R. هي ڊويزن ڊجيٽل ويڊيو لاء معيار مقرر ڪري ٿو. مثال طور: 4K ڇا آهي؟ فريم جي شرح، قرارداد، رنگ ماڊل ڇا هجڻ گهرجي؟

پهرين اچو ته روشني جو اندازو لڳايو. اچو ته ITU پاران تجويز ڪيل مستقل استعمال ڪريون ۽ RGB جي قيمتن کي تبديل ڪريون.

Y = 0.299R + 0.587G + 0.114B

اسان جي چمڪ کان پوء، اسان نيري ۽ ڳاڙهي رنگن کي الڳ ڪنداسين:

Cb = 0.564B - Y)

Cr = 0.713R - Y)

۽ اسان پڻ واپس تبديل ڪري سگھون ٿا ۽ سائي پڻ حاصل ڪري سگھون ٿا YCbCr استعمال ڪندي:

R = Y + 1.402Cr

B = Y + 1.772Cb

G = Y - 0.344Cb - 0.714Cr

عام طور تي، ڊسپلي (مانيٽر، ٽي وي، اسڪرين، وغيره) صرف RGB ماڊل استعمال ڪندا آهن. پر هن نموني مختلف طريقن سان منظم ڪري سگهجي ٿو:

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

رنگ جي نموني

روشني ۽ ڪرومينس جي ميلاپ جي نمائندگي ڪندڙ تصوير سان، اسان معلومات کي چونڊي طور تي هٽائڻ سان ڪرومينس جي ڀيٽ ۾ روشنيءَ جي انساني بصري نظام جي وڌيڪ حساسيت جو استحصال ڪري سگهون ٿا. ڪروما سبسمپلنگ تصويرن کي انڪوڊنگ ڪرڻ جو هڪ طريقو آهي جنهن کي روشنيءَ جي ڀيٽ ۾ ڪروما لاءِ گهٽ ريزوليوشن استعمال ڪندي آهي.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

رنگ جي ريزوليشن کي گھٽائڻ ڪيترو جائز آهي؟! اهو ظاهر ٿئي ٿو ته اڳ ۾ ئي ڪجهه ڊراگرام آهن جيڪي بيان ڪن ٿا ته ڪيئن حل ڪرڻ ۽ ضم ڪرڻ (نتيجو رنگ = Y + Cb + Cr).

انهن اسڪيمن جي نالي سان سڃاتو وڃي ٿو نموني جا نظام ۽ 3-گنا تناسب طور بيان ڪيو ويو آهي - a:x:y، جيڪو روشني ۽ رنگ جي فرق جي نشانين جي نمونن جو تعداد طئي ڪري ٿو.

a - افقي نموني معيار (عام طور تي 4 جي برابر)
x - پکسلز جي پهرين قطار ۾ ڪروما نموني جو تعداد (افقي قرارداد جي نسبت a)
y - پکسلز جي پهرين ۽ سيڪنڊ قطار جي وچ ۾ ڪروما نموني ۾ تبديلين جو تعداد.

استثنا آهي 4:1:0، هر هڪ 4-by-4 luminance ريزوليوشن بلاڪ ۾ هڪ ڪروما نموني فراهم ڪري ٿو.

جديد ڪوڊيڪس ۾ استعمال ٿيل عام اسڪيمون:

  • 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 بٽ في پکسل خرچ ڪري رهيا آهيون.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

اھو اھو آھي جيڪو ھڪڙي تصوير وانگر ڏسڻ ۾ اچي ٿو، رنگ جي ذيلي نموني جي مکيه قسمن سان انڪوڊ ٿيل. پهرين قطار آخري YCbCr آهي، هيٺئين قطار ڪروما ريزوليوشن ڏيکاري ٿي. تمام سٺو نتيجا، معيار ۾ معمولي نقصان تي غور ڪندي.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

ياد رکو جڏهن اسان 278p ريزوليوشن ۽ 720 فريم في سيڪنڊ تي هڪ ڪلاڪ ڊگھي وڊيو فائل محفوظ ڪرڻ لاءِ 30 GB اسٽوريج اسپيس کي ڳڻيو هو؟ جيڪڏهن اسان YCbCr 4:2:0 استعمال ڪريون ٿا، ته پوءِ اها سائيز اڌ کان گھٽ ٿي ويندي - 139 GB. اڃا تائين، اهو اڃا تائين هڪ قابل قبول نتيجو کان پري آهي.

توھان حاصل ڪري سگھوٿا YCbCr ھسٽوگرام پاڻ کي FFmpeg استعمال ڪندي. هن تصوير ۾، نيرو ڳاڙهي تي غالب آهي، جيڪو واضح طور تي هسٽگرام ۾ ظاهر ٿئي ٿو.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

رنگ، چمڪ، رنگ گامٽ - وڊيو جائزو

اسان هن شاندار وڊيو کي ڏسڻ جي صلاح ڏيو ٿا. اهو وضاحت ڪري ٿو ته روشني ڇا آهي، ۽ عام طور تي سڀئي نقطا ڊاٽ ٿيل آهن ё روشني ۽ رنگ جي باري ۾.

فريم جا قسم

اچو ته اڳتي وڌون. اچو ته وقت جي بيڪاريءَ کي ختم ڪرڻ جي ڪوشش ڪريون. پر پهرين، اچو ته ڪجهه بنيادي اصطلاحن جي وضاحت ڪريون. اچو ته اسان وٽ هڪ فلم آهي جيڪا 30 فريم في سيڪنڊ سان آهي، هتي ان جا پهريان 4 فريم آهن:

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

اسان فريم ۾ تمام گهڻو ورجائي ڏسي سگهون ٿا: مثال طور، هڪ نيري پس منظر جيڪو فريم کان فريم تائين تبديل نٿو ڪري. هن مسئلي کي حل ڪرڻ لاء، اسان انهن کي خلاصي طور تي ٽن قسمن جي فريم ۾ ورهائي سگهون ٿا.

آئي فريم (Iاينٽرو فريم)

آئي فريم (ريفرنس فريم، ڪي فريم، اندروني فريم) پاڻمرادو آهي. ان کان سواءِ جيڪو توهان ڏسڻ چاهيو ٿا، هڪ I-frame بنيادي طور تي هڪ جامد تصوير آهي. پهريون فريم عام طور تي هڪ I-frame هوندو آهي، پر اسان باقاعده I-frames جو مشاهدو ڪنداسين جيتوڻيڪ پهرين فريم جي وچ ۾ نه.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

پي فريم (Pترتيب ڏنل فريم)

P-frame (predictive frame) حقيقت جو فائدو وٺي ٿو ته لڳ ڀڳ هميشه موجوده تصوير کي پوئين فريم استعمال ڪندي ٻيهر پيدا ڪري سگهجي ٿو. مثال طور، ٻئي فريم ۾ صرف تبديلي آهي بال اڳتي وڌي رهيو آهي. اسان فريم 2 حاصل ڪري سگھون ٿا صرف فريم 1 کي ٿوري تبديل ڪندي، صرف انهن فريم جي وچ ۾ فرق استعمال ڪندي. فريم 2 ٺاھڻ لاءِ، اسان اڳئين فريم 1 جو حوالو ڏيون ٿا.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنياديهڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

بي فريم (Bاڳڪٿي ڪندڙ فريم)

لنڪن بابت ڇا نه صرف ماضي ڏانهن، پر مستقبل جي فريم ڏانهن پڻ بهتر ڪمپريشن مهيا ڪرڻ لاء؟! اهو بنيادي طور تي هڪ بي فريم (دو طرفي فريم) آهي.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنياديهڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنياديهڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

وچولي پيداوار

اهي فريم قسم استعمال ڪيا ويا آهن بهترين ممڪن کمپريشن مهيا ڪرڻ لاء. اسان ڏسنداسين ته اهو ڪيئن ٿئي ٿو ايندڙ حصي ۾. هينئر لاءِ، اچو ته ياد رکون ته سڀ کان وڌيڪ ”مهانگو“ استعمال ٿيل ميموري جي لحاظ کان I-frame آهي، P-frame تمام سستو آهي، پر وڊيو لاءِ سڀ کان وڌيڪ منافعي وارو آپشن B-frame آهي.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

عارضي فالتو (انٽر فريم اڳڪٿي)

اچو ته ڏسون ته اسان وٽ ڪھڙا آپشن آھن جن کي وقت سان گڏ ورجائڻ کي گھٽ ڪرڻ گھرجي. اسان هن قسم جي بيڪارگي کي حل ڪري سگهون ٿا پار-پيشنگ جي طريقن سان.

فريم 0 ۽ 1 جي تسلسل کي انڪوڊ ڪرڻ لاءِ اسان ممڪن حد تائين ڪجھ بٽ خرچ ڪرڻ جي ڪوشش ڪنداسين.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

اسان پيدا ڪري سگهون ٿا گھٽائڻ، اسان صرف فريم 1 مان فريم 0 کي ختم ڪريون ٿا. اسان فريم 1 حاصل ڪريون ٿا، صرف ان ۽ پوئين فريم جي وچ ۾ فرق استعمال ڪريو، حقيقت ۾ اسان صرف نتيجي ۾ باقي بچيل انڪوڊ ڪريون ٿا.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

پر ڇا جيڪڏھن مان توھان کي ٻڌايان ٿو ته ھڪڙو بھتر طريقو آھي جيڪو اڃا به گھٽ بٽ استعمال ڪري ٿو؟! پهرين، اچو ته فريم 0 کي ٽوڙيو هڪ صاف گرڊ ۾ جنهن ۾ بلاڪ شامل آهن. ۽ پوءِ اسان ڪوشش ڪنداسين ته بلاڪن کي فريم 0 مان فريم 1 سان ملايو. ٻين لفظن ۾، اسين فريم جي وچ ۾ حرڪت جو اندازو لڳائينداسين.

وڪيپيڊيا کان - بلاڪ حرڪت جو معاوضو

بلاڪ موشن معاوضو موجوده فريم کي غير اوورليپنگ بلاڪن ۾ ورهائي ٿو ۽ موشن معاوضي وارو ویکٹر بلاڪ جي اصليت جي رپورٽ ڪري ٿو (هڪ عام غلط فڪر آهي پوئين فريم کي غير اوورليپنگ بلاڪن ۾ ورهايو ويو آهي، ۽ موشن معاوضي وارا ویکٹر ٻڌائين ٿا ته اهي بلاڪ ڪٿي وڃن ٿا. پر حقيقت ۾، اهو ٻيو رستو آهي ڀرسان - اهو اڳوڻو فريم ناهي جيڪو تجزيو ڪيو ويو آهي، پر ايندڙ هڪ؛ اهو واضح ناهي ته بلاڪ ڪٿي حرڪت ڪري رهيا آهن، پر اهي ڪٿان آيا آهن). عام طور تي ماخذ بلاڪ ماخذ فريم ۾ اوورليپ. ڪجهه وڊيو ڪمپريشن الگورٿمس موجوده فريم کي گڏ ڪن ٿا حصن مان هڪ نه، پر ڪيترن ئي اڳ ۾ منتقل ٿيل فريم.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

تشخيصي عمل دوران، اسان ڏسون ٿا ته بال اتان منتقل ٿي ويو آهي (x= 0، y= 25 تائين (x= 6، y= 26)، قدر x и y حرڪت ویکٹر جو تعين ڪريو. هڪ ٻيو قدم جيڪو اسان بِٽس کي محفوظ ڪرڻ لاءِ ڪري سگهون ٿا اهو آهي ته صرف موشن ويڪٽرز جي فرق کي انڪوڊ ڪرڻ لاءِ آخري بلاڪ پوزيشن ۽ اڳڪٿي ڪيل هڪ جي وچ ۾، پوءِ حتمي موشن ويڪٽر هوندو (x=6-0=6, y=26-25=1 ).

هڪ حقيقي صورتحال ۾، هن بال کي ورهايو ويندو n بلاڪ، پر اهو معاملو جو بنياد تبديل نٿو ڪري.

فريم ۾ شيون ٽن ماپن ۾ ھلنديون آھن، تنھنڪري جڏھن بال ھلندو آھي، اھو بصري طور تي ننڍو ٿي سگھي ٿو (يا وڏو جيڪڏھن اھو ڏسندڙ ڏانھن ھلجي). اهو عام آهي ته بلاڪ جي وچ ۾ هڪ ڀرپور ميچ نه ٿيندو. هتي اسان جي اندازي ۽ حقيقي تصوير جو هڪ گڏيل منظر آهي.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

پر اسان ڏسون ٿا ته جڏهن اسان حرڪت جي تخميني کي استعمال ڪريون ٿا، ته فريم جي وچ ۾ ڊيلٽا کي ڳڻڻ جو آسان طريقو استعمال ڪرڻ جي ڀيٽ ۾ ڪوڊنگ لاءِ خاص طور تي گهٽ ڊيٽا موجود آهي.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

حقيقي حرڪت جو معاوضو ڪهڙو نظر ايندو

هي ٽيڪنڪ هڪ ڀيرو سڀني بلاڪ تي لاڳو ٿئي ٿو. گهڻو ڪري اسان جي مشروط حرڪت واري بال کي هڪ ئي وقت ڪيترن ئي بلاڪن ۾ ورهايو ويندو.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

توهان انهن تصورن لاءِ پنهنجو پاڻ کي استعمال ڪندي محسوس ڪري سگهو ٿا وِسپَٽُ.

موشن ویکٹرز کي ڏسڻ لاءِ، توھان استعمال ڪري ھڪ خارجي اڳڪٿي واري وڊيو ٺاھي سگھو ٿا ffmpeg.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

توهان پڻ استعمال ڪري سگهو ٿا Intel ويڊيو پرو تجزيه ڪندڙ (اهو ادا ڪيو ويو آهي، پر هڪ مفت آزمائش آهي جيڪا صرف پهرين ڏهن فريم تائين محدود آهي).

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

مقامي بيڪار (اندروني اڳڪٿي)

جيڪڏهن اسان هڪ وڊيو ۾ هر فريم جو تجزيو ڪنداسين، اسان کي ڪيترائي هڪٻئي سان ڳنڍيل علائقا ملندا.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

اچو ته هن مثال ذريعي وڃو. هي منظر گهڻو ڪري نيري ۽ اڇي رنگن تي مشتمل آهي.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

هي هڪ I-frame آهي. اسان اڳڪٿي لاءِ اڳئين فريم نٿا وٺي سگهون، پر اسان ان کي دٻائي سگهون ٿا. اچو ته ڳاڙهي بلاڪ جي چونڊ کي انڪوڊ ڪريون. جيڪڏهن اسان ان جي پاڙيسرين کي ڏسون ٿا، اسان کي خبر آهي ته ان جي چوڌاري ڪجهه رنگن جا رجحان آهن.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

اسان فرض ڪريون ٿا ته رنگ عمودي طور تي فريم ۾ پکڙيل آهن. جنهن جو مطلب آهي نامعلوم پکسلز جو رنگ ان جي پاڙيسرين جي قدرن تي مشتمل هوندو.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

اهڙي اڳڪٿي غلط ثابت ٿي سگهي ٿي. اهو ئي سبب آهي ته توهان هن طريقي کي لاڳو ڪرڻ جي ضرورت آهي (اندروني اڳڪٿي)، ۽ پوء حقيقي قدر کي ختم ڪريو. اهو اسان کي هڪ بقايا بلاڪ ڏيندو، جنهن جي نتيجي ۾ اصل جي مقابلي ۾ وڌيڪ ٺهيل ميٽرڪس ٿيندو.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

جيڪڏهن توهان اندروني اڳڪٿين سان مشق ڪرڻ چاهيو ٿا، ته توهان ffmpeg استعمال ڪندي macroblocks ۽ انهن جي اڳڪٿين جي وڊيو ٺاهي سگهو ٿا. هر بلاڪ رنگ جي معني کي سمجهڻ لاء، توهان کي پڙهڻو پوندو ffmpeg دستاويز.

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

يا توهان استعمال ڪري سگهو ٿا Intel Video Pro Analyzer (جيئن مون مٿي ذڪر ڪيو آهي، مفت آزمائشي ورزن پهرين 10 فريم تائين محدود آهي، پر اهو توهان لاءِ پهريان ڪافي هوندو).

هڪ وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي؟ حصو 1: بنيادي

ٻيو حصو: وڊيو ڪوڊيڪ ڪيئن ڪم ڪندو آهي

جو ذريعو: www.habr.com

تبصرو شامل ڪريو