వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

రెండవ భాగం: వీడియో కోడెక్ ఎలా పనిచేస్తుంది

ఏదైనా రాస్టర్ చిత్రం రూపంలో సూచించవచ్చు రెండు డైమెన్షనల్ మాతృక. రంగుల విషయానికి వస్తే, చిత్రాన్ని ఇలా చూడటం ద్వారా ఆలోచనను అభివృద్ధి చేయవచ్చు త్రిమితీయ మాతృక, దీనిలో ప్రతి రంగుల కోసం డేటాను నిల్వ చేయడానికి అదనపు కొలతలు ఉపయోగించబడతాయి.

మేము చివరి రంగును అని పిలవబడే కలయికగా పరిగణించినట్లయితే. ప్రాథమిక రంగులు (ఎరుపు, ఆకుపచ్చ మరియు నీలం), మా త్రిమితీయ మాతృకలో మేము మూడు విమానాలను నిర్వచించాము: మొదటిది ఎరుపు, రెండవది ఆకుపచ్చ మరియు చివరిది నీలం.
వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్
మేము ఈ మ్యాట్రిక్స్‌లోని ప్రతి పాయింట్‌ను పిక్సెల్ (ఇమేజ్ ఎలిమెంట్) అని పిలుస్తాము. ప్రతి పిక్సెల్ ప్రతి రంగు యొక్క తీవ్రత (సాధారణంగా సంఖ్యా విలువగా) గురించి సమాచారాన్ని కలిగి ఉంటుంది. ఉదాహరణకి, ఎరుపు పిక్సెల్ అంటే ఇది 0 ఆకుపచ్చ, 0 నీలం మరియు గరిష్ట ఎరుపు రంగులను కలిగి ఉంటుంది. పింక్ పిక్సెల్ మూడు రంగుల కలయికను ఉపయోగించి ఏర్పడవచ్చు. 0 నుండి 255 వరకు సంఖ్యా పరిధిని ఉపయోగించి, పింక్ పిక్సెల్ ఇలా నిర్వచించబడింది ఎరుపు = 255, ఆకుపచ్చ = 192 и నీలం = 203.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

ఈ కథనం EDISON మద్దతుతో ప్రచురించబడింది.

అభివృద్ధి చేస్తున్నాం వీడియో నిఘా, వీడియో స్ట్రీమింగ్ కోసం అప్లికేషన్లు, మరియు మేము నిశ్చితార్థం చేసుకున్నాము శస్త్రచికిత్స గదిలో వీడియో రికార్డింగ్.

రంగు చిత్రాన్ని ఎన్కోడ్ చేయడానికి ప్రత్యామ్నాయ మార్గాలు

చిత్రాన్ని రూపొందించే రంగులను సూచించడానికి అనేక ఇతర నమూనాలు ఉన్నాయి. ఉదాహరణకు, మీరు RGB మోడల్‌ని ఉపయోగిస్తున్నప్పుడు అవసరమైన మూడింటికి బదులుగా, ప్రతి పిక్సెల్‌ని సూచించడానికి ఒక బైట్ మాత్రమే అవసరమయ్యే ఇండెక్స్డ్ పాలెట్‌ని ఉపయోగించవచ్చు. అటువంటి నమూనాలో, ప్రతి రంగును సూచించడానికి 2D మాతృకకు బదులుగా 3D మాతృకను ఉపయోగించడం సాధ్యమవుతుంది. ఇది మెమరీని ఆదా చేస్తుంది, కానీ చిన్న రంగు స్వరసప్తకం ఇస్తుంది.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

RGB

ఉదాహరణకు, ఈ క్రింది చిత్రాన్ని చూడండి. మొదటి ముఖం పూర్తిగా పెయింట్ చేయబడింది. మిగిలినవి ఎరుపు, ఆకుపచ్చ మరియు నీలం విమానాలు (సంబంధిత రంగుల తీవ్రతలు గ్రేస్కేల్‌లో చూపబడతాయి).

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

అసలు ఎరుపు రంగు షేడ్స్ రెండవ ముఖం యొక్క ప్రకాశవంతమైన భాగాలను గమనించిన అదే ప్రదేశాలలో ఉంటాయని మేము చూస్తాము. నీలం యొక్క సహకారం ప్రధానంగా మారియో కళ్ళు (చివరి ముఖం) మరియు అతని దుస్తులలోని అంశాలలో మాత్రమే కనిపిస్తుంది. మూడు రంగుల ప్లేన్‌లు ఎక్కడ తక్కువగా దోహదపడతాయో గమనించండి (చిత్రాల చీకటి భాగాలు) - మారియో మీసం.

ప్రతి రంగు యొక్క తీవ్రతను నిల్వ చేయడానికి, నిర్దిష్ట సంఖ్యలో బిట్స్ అవసరం - ఈ పరిమాణం అంటారు బిట్ లోతు. ఒక్కో కలర్ ప్లేన్‌కు 8 బిట్‌లు (0 నుండి 255 వరకు ఉన్న విలువ ఆధారంగా) ఖర్చు చేయబడతాయని అనుకుందాం. అప్పుడు మనకు 24 బిట్స్ (8 బిట్స్ * 3 R/G/B విమానాలు) కలర్ డెప్త్ ఉంటుంది.

చిత్రం యొక్క మరొక లక్షణం పర్మిట్, ఇది ఒక డైమెన్షన్‌లోని పిక్సెల్‌ల సంఖ్య. తరచుగా సూచిస్తారు వెడల్పు × ఎత్తు, దిగువన ఉన్న 4 బై 4 ఉదాహరణ చిత్రంలో వలె.
వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

చిత్రాలు/వీడియోలతో పని చేస్తున్నప్పుడు మేము వ్యవహరించే మరొక ఆస్తి కారక నిష్పత్తి, చిత్రం లేదా పిక్సెల్ యొక్క వెడల్పు మరియు ఎత్తు మధ్య సాధారణ అనుపాత సంబంధాన్ని వివరిస్తుంది.

ఒక నిర్దిష్ట చిత్రం లేదా చిత్రం 16 బై 9 పరిమాణంలో ఉంటుందని వారు చెప్పినప్పుడు, వారు సాధారణంగా అర్థం చేసుకుంటారు ప్రదర్శన కారక నిష్పత్తి (DAR - నుండి ప్రదర్శన కారక నిష్పత్తి) అయితే, కొన్నిసార్లు వ్యక్తిగత పిక్సెల్‌ల యొక్క వివిధ ఆకారాలు ఉండవచ్చు - ఈ సందర్భంలో మనం మాట్లాడుతున్నాము పిక్సెల్ నిష్పత్తి (PAR - నుండి పిక్సెల్ యాస్పెక్ట్ రేషియో).

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

హోస్టెస్‌కి గమనిక: DVD అనుగుణంగా ఉంటుంది DAR 4 నుండి 3

వాస్తవ DVD రిజల్యూషన్ 704x480 అయినప్పటికీ, PAR 4:3 (10x11 / 704x10) ఉన్నందున ఇది ఇప్పటికీ 480:11 కారక నిష్పత్తిని నిర్వహిస్తుంది.

మరియు చివరకు, మేము నిర్ణయించవచ్చు видео యొక్క క్రమం వలె n కాలం కోసం ఫ్రేమ్‌లు времени, ఇది అదనపు పరిమాణంగా పరిగణించబడుతుంది. ఎ n అప్పుడు ఫ్రేమ్ రేటు లేదా సెకనుకు ఫ్రేమ్‌ల సంఖ్య (FPS - నుండి క్షణానికి ఇన్ని చిత్తరువులు).

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

వీడియోను ప్రదర్శించడానికి సెకనుకు అవసరమైన బిట్‌ల సంఖ్య ప్రసార వేగం - బిట్రేట్.

బిట్రేట్ = వెడల్పు * ఎత్తు * బిట్ డెప్త్ * సెకనుకు ఫ్రేమ్‌లు

ఉదాహరణకు, 30 fps, 24 bps, 480x240 వీడియోకి 82,944,000 bps లేదా 82,944 Mbps (30x480x240x24) అవసరం - కానీ అది కుదింపు పద్ధతిని ఉపయోగించకపోతే.

బదిలీ వేగం ఉంటే దాదాపు స్థిరంగా, అప్పుడు అంటారు స్థిరమైన ప్రసార వేగం (సిబిఆర్ - నుండి స్థిరమైన బిట్ రేటు) కానీ అది కూడా మారవచ్చు, ఈ సందర్భంలో దీనిని పిలుస్తారు వేరియబుల్ బాడ్ రేటు (విబిఆర్ - నుండి వేరియబుల్ బిట్ రేట్).

ఈ గ్రాఫ్ పరిమిత VBRని చూపుతుంది, ఇక్కడ పూర్తిగా చీకటి ఫ్రేమ్ విషయంలో చాలా బిట్‌లు వృధా కావు.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

ఇంజనీర్లు ప్రారంభంలో అదనపు బ్యాండ్‌విడ్త్ ఉపయోగించకుండా వీడియో డిస్‌ప్లే యొక్క గ్రహించిన ఫ్రేమ్ రేట్‌ను రెట్టింపు చేయడానికి ఒక పద్ధతిని అభివృద్ధి చేశారు. ఈ పద్ధతి అంటారు ఇంటర్లేస్డ్ వీడియో; ప్రాథమికంగా, ఇది సగం స్క్రీన్‌ను మొదటి "ఫ్రేమ్"లో మరియు మిగిలిన సగం తదుపరి "ఫ్రేమ్"లో పంపుతుంది.

ప్రస్తుతం, సన్నివేశాలు ఎక్కువగా ఉపయోగించబడుతున్నాయి ప్రగతిశీల స్కానింగ్ సాంకేతికతలు. ఇది కదిలే చిత్రాలను ప్రదర్శించడం, నిల్వ చేయడం లేదా ప్రసారం చేయడం, దీనిలో ప్రతి ఫ్రేమ్‌లోని అన్ని పంక్తులు వరుసగా డ్రా చేయబడతాయి.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

బాగా! బిట్ రేట్ స్థిరంగా ఉంటే (CBR) లేదా వేరియబుల్ (VBR) అయితే, ఒక చిత్రం డిజిటల్‌గా ఎలా ప్రాతినిధ్యం వహిస్తుంది, దాని రంగులు ఎలా అమర్చబడి ఉంటాయి, వీడియోను చూపించడానికి సెకనుకు ఎన్ని బిట్‌లు ఖర్చు చేస్తున్నాము అనే విషయాల గురించి ఇప్పుడు మనకు తెలుసు. ఇచ్చిన ఫ్రేమ్ రేట్‌ని ఉపయోగించి ఇచ్చిన రిజల్యూషన్ గురించి మాకు తెలుసు, ఇంటర్‌లేస్డ్ వీడియో, PAR మరియు మరికొన్ని ఇతర నిబంధనలతో మాకు బాగా తెలుసు.

రిడెండెన్సీని తొలగిస్తోంది

కుదింపు లేని వీడియోని సాధారణంగా ఉపయోగించలేమని తెలిసింది. 720p రిజల్యూషన్ మరియు సెకనుకు 30 ఫ్రేమ్‌ల వద్ద ఒక గంట నిడివి గల వీడియో 278 GBని తీసుకుంటుంది. మేము 1280 x 720 x 24 x 30 x 3600 (వెడల్పు, ఎత్తు, పిక్సెల్‌కు బిట్స్, FPS మరియు సెకన్లలో సమయం) గుణించడం ద్వారా ఈ విలువకు చేరుకుంటాము.

ఉపయోగం నష్టం లేని కుదింపు అల్గోరిథంలు, DEFLATE (PKZIP, Gzip మరియు PNGలో ఉపయోగించబడుతుంది) వంటిది అవసరమైన బ్యాండ్‌విడ్త్‌ను తగినంతగా తగ్గించదు. మేము వీడియోను కుదించడానికి ఇతర మార్గాల కోసం వెతకాలి.

దీన్ని చేయడానికి, మీరు మా దృష్టి యొక్క లక్షణాలను ఉపయోగించవచ్చు. మేము రంగు కంటే ప్రకాశాన్ని వేరు చేయడంలో మెరుగ్గా ఉన్నాము. వీడియో అనేది కాలక్రమేణా పునరావృతమయ్యే వరుస చిత్రాల శ్రేణి. ఒకే సన్నివేశం యొక్క ప్రక్కనే ఉన్న ఫ్రేమ్‌ల మధ్య చిన్న తేడాలు ఉన్నాయి. అదనంగా, ప్రతి ఫ్రేమ్ ఒకే (లేదా ఇలాంటి) రంగును ఉపయోగించి అనేక ప్రాంతాలను కలిగి ఉంటుంది.

రంగు, ప్రకాశం మరియు మన కళ్ళు

మన కళ్ళు రంగు కంటే ప్రకాశానికి ఎక్కువ సున్నితంగా ఉంటాయి. ఈ చిత్రాన్ని చూడటం ద్వారా మీరు దీన్ని మీరే చూడవచ్చు.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

మీరు చిత్రం యొక్క ఎడమ భాగంలో చతురస్రాల రంగులను చూడకపోతే A и B నిజానికి అదే, అప్పుడు అది సాధారణం. మన మెదడు రంగు కంటే కాంతి మరియు నీడపై ఎక్కువ శ్రద్ధ చూపేలా చేస్తుంది. నియమించబడిన చతురస్రాల మధ్య కుడి వైపున అదే రంగు యొక్క జంపర్ ఉంది - కాబట్టి మేము (అనగా మన మెదడు) సులభంగా నిర్ణయిస్తాము, వాస్తవానికి, అవి ఒకే రంగులో ఉంటాయి.

మన కళ్ళు ఎలా పని చేస్తాయో (సరళీకృత మార్గంలో) చూద్దాం. కన్ను అనేక భాగాలతో కూడిన సంక్లిష్టమైన అవయవం. అయితే, మేము శంకువులు మరియు రాడ్లపై చాలా ఆసక్తి కలిగి ఉంటాము. కంటిలో దాదాపు 120 మిలియన్ రాడ్లు మరియు 6 మిలియన్ శంకువులు ఉంటాయి.

కంటిలోని కొన్ని భాగాల యొక్క ప్రత్యేక విధులుగా రంగు మరియు ప్రకాశం యొక్క అవగాహనను పరిశీలిద్దాం (వాస్తవానికి, ప్రతిదీ కొంత క్లిష్టంగా ఉంటుంది, కానీ మేము దానిని సరళీకృతం చేస్తాము). రాడ్ కణాలు ప్రధానంగా ప్రకాశానికి బాధ్యత వహిస్తాయి, అయితే కోన్ కణాలు రంగుకు బాధ్యత వహిస్తాయి. శంకువులు మూడు రకాలుగా విభజించబడ్డాయి, అవి కలిగి ఉన్న వర్ణద్రవ్యం ఆధారంగా: S-శంకువులు (నీలం), M-శంకువులు (ఆకుపచ్చ), మరియు L-శంకువులు (ఎరుపు).

మేము శంకువులు (రంగు) కంటే చాలా ఎక్కువ రాడ్లు (ప్రకాశం) కలిగి ఉన్నందున, రంగుల కంటే చీకటి మరియు కాంతి మధ్య పరివర్తనలను గుర్తించడంలో మనకు ఎక్కువ సామర్థ్యం ఉందని మేము నిర్ధారించగలము.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

కాంట్రాస్ట్ సెన్సిటివిటీ ఫీచర్లు

ప్రయోగాత్మక మనస్తత్వశాస్త్రం మరియు అనేక ఇతర రంగాలలో పరిశోధకులు మానవ దృష్టికి సంబంధించిన అనేక సిద్ధాంతాలను అభివృద్ధి చేశారు. మరియు వాటిలో ఒకటి అంటారు కాంట్రాస్ట్ సెన్సిటివిటీ ఫంక్షన్లు. అవి ప్రాదేశిక మరియు తాత్కాలిక ప్రకాశానికి సంబంధించినవి. సంక్షిప్తంగా, పరిశీలకుడు వాటిని గమనించే ముందు ఎన్ని మార్పులు అవసరం అనే దాని గురించి. "ఫంక్షన్" అనే పదం యొక్క బహువచనాన్ని గమనించండి. నలుపు మరియు తెలుపు చిత్రాల కోసం మాత్రమే కాకుండా, రంగుల కోసం కూడా కాంట్రాస్ట్ సెన్సిటివిటీ ఫంక్షన్‌లను మనం కొలవగలము అనే వాస్తవం దీనికి కారణం. ఈ ప్రయోగాల ఫలితాలు చాలా సందర్భాలలో మన కళ్ళు రంగు కంటే ప్రకాశానికి ఎక్కువ సున్నితంగా ఉంటాయి.

మేము ఇమేజ్ ప్రకాశానికి మరింత సున్నితంగా ఉంటామని మాకు తెలుసు కాబట్టి, మేము ఈ వాస్తవాన్ని ఉపయోగించడానికి ప్రయత్నించవచ్చు.

రంగు మోడల్

RGB స్కీమ్‌ని ఉపయోగించి రంగు చిత్రాలతో ఎలా పని చేయాలో మేము కొంచెం కనుగొన్నాము. ఇతర నమూనాలు కూడా ఉన్నాయి. క్రోమా నుండి ప్రకాశాన్ని వేరు చేసే మోడల్ ఉంది మరియు దానిని అంటారు 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.564(B - Y)

Cr = 0.713(R - 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-బై-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 బిట్‌లు మాత్రమే ఖర్చు చేస్తున్నామని గమనించండి.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

రంగు ఉప నమూనా యొక్క ప్రధాన రకాలతో ఎన్కోడ్ చేయబడిన అదే చిత్రం ఇలా కనిపిస్తుంది. మొదటి అడ్డు వరుస చివరి YCbCr, దిగువ వరుస క్రోమా రిజల్యూషన్‌ను చూపుతుంది. నాణ్యతలో స్వల్ప నష్టాన్ని పరిగణనలోకి తీసుకుంటే చాలా మంచి ఫలితాలు.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

278p రిజల్యూషన్ మరియు సెకనుకు 720 ఫ్రేమ్‌ల వద్ద ఒక గంట నిడివి గల వీడియో ఫైల్‌ను నిల్వ చేయడానికి మేము 30 GB నిల్వ స్థలాన్ని లెక్కించినప్పుడు గుర్తుందా? మేము YCbCr 4:2:0ని ఉపయోగిస్తే, ఈ పరిమాణం సగానికి తగ్గుతుంది - 139 GB. ఇప్పటివరకు, ఇది ఇప్పటికీ ఆమోదయోగ్యమైన ఫలితానికి దూరంగా ఉంది.

మీరు FFmpegని ఉపయోగించి YCbCr హిస్టోగ్రామ్‌ని మీరే పొందవచ్చు. ఈ చిత్రంలో, నీలం ఎరుపు రంగుపై ఆధిపత్యం చెలాయిస్తుంది, ఇది హిస్టోగ్రామ్‌లోనే స్పష్టంగా కనిపిస్తుంది.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

రంగు, ప్రకాశం, రంగు స్వరసప్తకం - వీడియో సమీక్ష

ఈ అద్భుతమైన వీడియోను చూడమని మేము సిఫార్సు చేస్తున్నాము. ఇది ప్రకాశం అంటే ఏమిటో వివరిస్తుంది మరియు సాధారణంగా అన్ని చుక్కలు చుక్కలతో ఉంటాయి ё ప్రకాశం మరియు రంగు గురించి.

ఫ్రేమ్ రకాలు

ముందుకు వెళ్దాం. సమయం రిడెండెన్సీని తొలగించడానికి ప్రయత్నిద్దాం. అయితే మొదట, కొన్ని ప్రాథమిక పరిభాషలను నిర్వచించండి. మనకు సెకనుకు 30 ఫ్రేమ్‌లు ఉన్న చలనచిత్రం ఉందని అనుకుందాం, దాని మొదటి 4 ఫ్రేమ్‌లు ఇక్కడ ఉన్నాయి:

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్ వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్ వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్ వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

ఫ్రేమ్‌లలో మనం చాలా పునరావృతాలను చూడవచ్చు: ఉదాహరణకు, ఫ్రేమ్ నుండి ఫ్రేమ్‌కు మారని నీలం నేపథ్యం. ఈ సమస్యను పరిష్కరించడానికి, మేము వాటిని మూడు రకాల ఫ్రేమ్‌లుగా వర్గీకరించవచ్చు.

I-ఫ్రేమ్ (Iఎన్ట్రో ఫ్రేమ్)

I-ఫ్రేమ్ (రిఫరెన్స్ ఫ్రేమ్, కీ ఫ్రేమ్, అంతర్గత ఫ్రేమ్) స్వీయ-నియంత్రణ. మీరు ఏమి విజువలైజ్ చేయాలనుకున్నా, I-ఫ్రేమ్ తప్పనిసరిగా స్టాటిక్ ఫోటోగ్రాఫ్. మొదటి ఫ్రేమ్ సాధారణంగా I-ఫ్రేమ్, కానీ మేము మొదటి ఫ్రేమ్‌లలో కాకుండా I-ఫ్రేమ్‌లను క్రమం తప్పకుండా గమనిస్తాము.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

పి-ఫ్రేమ్ (Pరిడిక్టెడ్ ఫ్రేమ్)

P-ఫ్రేమ్ (ప్రిడిక్టివ్ ఫ్రేమ్) దాదాపు ఎల్లప్పుడూ ప్రస్తుత చిత్రం మునుపటి ఫ్రేమ్‌ని ఉపయోగించి పునరుత్పత్తి చేయబడుతుందనే వాస్తవాన్ని సద్వినియోగం చేసుకుంటుంది. ఉదాహరణకు, రెండవ ఫ్రేమ్‌లో బంతి ముందుకు సాగడం మాత్రమే మార్పు. ఫ్రేమ్ 2ని కొద్దిగా సవరించడం ద్వారా మనం ఫ్రేమ్ 1ని పొందవచ్చు, ఈ ఫ్రేమ్‌ల మధ్య వ్యత్యాసాన్ని మాత్రమే ఉపయోగిస్తాము. ఫ్రేమ్ 2ని నిర్మించడానికి, మేము మునుపటి ఫ్రేమ్ 1ని సూచిస్తాము.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

B-ఫ్రేమ్ (Bఐ-ప్రిడిక్టివ్ ఫ్రేమ్)

ఇంకా మెరుగైన కుదింపును అందించడానికి గతానికి మాత్రమే కాకుండా భవిష్యత్తు ఫ్రేమ్‌లకు కూడా లింక్‌ల గురించి ఏమిటి?! ఇది ప్రాథమికంగా B-ఫ్రేమ్ (ద్వి దిశాత్మక ఫ్రేమ్).

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

ఇంటర్మీడియట్ అవుట్‌పుట్

ఈ ఫ్రేమ్ రకాలు ఉత్తమమైన కుదింపును అందించడానికి ఉపయోగించబడతాయి. ఇది ఎలా జరుగుతుందో తదుపరి విభాగంలో చూద్దాం. ప్రస్తుతానికి, వినియోగించే మెమరీ పరంగా అత్యంత "ఖరీదైనది" I- ఫ్రేమ్ అని గమనించండి, P- ఫ్రేమ్ గమనించదగ్గ చౌకగా ఉంటుంది, కానీ వీడియో కోసం అత్యంత లాభదాయకమైన ఎంపిక B- ఫ్రేమ్.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 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: బేసిక్స్

మీరు కూడా ఉపయోగించవచ్చు ఇంటెల్ వీడియో ప్రో ఎనలైజర్ (ఇది చెల్లించబడింది, కానీ మొదటి పది ఫ్రేమ్‌లకు మాత్రమే పరిమితమైన ఉచిత ట్రయల్ ఉంది).

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

ప్రాదేశిక రిడెండెన్సీ (అంతర్గత సూచన)

మేము ఒక వీడియోలోని ప్రతి ఫ్రేమ్‌ను విశ్లేషిస్తే, మేము అనేక ఇంటర్‌కనెక్టడ్ ప్రాంతాలను కనుగొంటాము.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

ఈ ఉదాహరణ ద్వారా వెళ్దాం. ఈ దృశ్యం ప్రధానంగా నీలం మరియు తెలుపు రంగులను కలిగి ఉంటుంది.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

ఇది I-ఫ్రేమ్. మేము అంచనా కోసం మునుపటి ఫ్రేమ్‌లను తీసుకోలేము, కానీ మేము దానిని కుదించవచ్చు. రెడ్ బ్లాక్ ఎంపికను ఎన్కోడ్ చేద్దాం. మేము దాని పొరుగువారిని చూస్తే, దాని చుట్టూ కొన్ని రంగు పోకడలు ఉన్నాయని మనం గమనించవచ్చు.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

ఫ్రేమ్‌లో రంగులు నిలువుగా వ్యాపించాయని మేము అనుకుంటాము. అంటే తెలియని పిక్సెల్‌ల రంగు దాని పొరుగువారి విలువలను కలిగి ఉంటుంది.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

అలాంటి సూచన తప్పుగా మారవచ్చు. ఈ కారణంగానే మీరు ఈ పద్ధతిని (అంతర్గత సూచన) వర్తింపజేయాలి, ఆపై నిజమైన విలువలను తీసివేయండి. ఇది మాకు అవశేష బ్లాక్‌ను ఇస్తుంది, దీని ఫలితంగా అసలైనదానితో పోలిస్తే చాలా ఎక్కువ కంప్రెస్డ్ మ్యాట్రిక్స్ వస్తుంది.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

మీరు అంతర్గత అంచనాలతో సాధన చేయాలనుకుంటే, మీరు ffmpegని ఉపయోగించి మాక్రోబ్లాక్‌లు మరియు వాటి అంచనాల వీడియోను సృష్టించవచ్చు. ప్రతి బ్లాక్ కలర్ యొక్క అర్ధాన్ని అర్థం చేసుకోవడానికి, మీరు ffmpeg డాక్యుమెంటేషన్‌ను చదవాలి.

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

లేదా మీరు ఇంటెల్ వీడియో ప్రో ఎనలైజర్‌ని ఉపయోగించవచ్చు (నేను పైన పేర్కొన్నట్లుగా, ఉచిత ట్రయల్ వెర్షన్ మొదటి 10 ఫ్రేమ్‌లకు పరిమితం చేయబడింది, అయితే ఇది మొదట మీకు సరిపోతుంది).

వీడియో కోడెక్ ఎలా పని చేస్తుంది? పార్ట్ 1: బేసిక్స్

రెండవ భాగం: వీడియో కోడెక్ ఎలా పనిచేస్తుంది

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి