Видео кодек кантип иштейт? 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 - келген Pixel Aspect Ratio).

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Үй ээсине эскертүү: DVD туура келет DAR 4төн 3кө чейин

Чыныгы DVD резолюциясы 704x480 болсо да, PAR 4:3 (10x11 / 704x10) болгондуктан, ал дагы эле 480:11 аспект катышын сактап турат.

Акыры, биз аныктай алабыз видео ырааттуулугу сыяктуу n мезгил үчүн кадр убакыт, бул кошумча өлчөм катары каралышы мүмкүн. А n анда кадр ылдамдыгы же секундасына кадр саны (FPS - келген Секундуна кадрлар).

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Видеону көрсөтүү үчүн секундасына талап кылынган биттердин саны анын берүү ылдамдыгы - бит ылдамдыгы.

бит ылдамдыгы = туурасы * бийиктик * бит тереңдиги * секундасына кадр

Мисалы, 30 кадр, 24 бит/сек, 480x240 видео үчүн 82,944,000 82,944 30 бит/сек же 480 240 Мбит (24xXNUMXxXNUMXxXNUMX) талап кылынат - бирок кысуу ыкмасы колдонулбаса.

Эгерде өткөрүп берүү ылдамдыгы дээрлик туруктуу, анда ал деп аталат туруктуу берүү ылдамдыгы (CBR - келген туруктуу бит ылдамдыгы). Бирок ал ошондой эле ар кандай болушу мүмкүн, бул учурда ал деп аталат өзгөрүлмө берүү ылдамдыгы (VBR - келген өзгөрмө бит ылдамдыгы).

Бул графикте чектелген VBR көрсөтүлөт, мында таптакыр караңгы кадр болгон учурда өтө көп бит текке кетпейт.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Инженерлер алгач кошумча өткөрүү жөндөмдүүлүгүн колдонбостон, видео дисплейдин кадр ылдамдыгын эки эсеге көбөйтүү ыкмасын иштеп чыгышкан. Бул ыкма катары белгилүү айкалышкан видео; Негизинен экрандын жарымын биринчи "кадрга", экинчи жарымын кийинки "кадрга" жөнөтөт.

Учурда сахналар көбүнчө колдонуу менен көрсөтүлүүдө прогрессивдүү сканерлөө технологиялары. Бул ар бир кадрдын бардык сызыктары ырааттуу түрдө тартылган кыймылдуу сүрөттөрдү көрсөтүү, сактоо же берүү ыкмасы.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Анда эмесе! Эми биз сүрөттөлүштүн цифралык түрдө кандайча көрсөтүлөрүн, анын түстөрүнүн кандайча тизилгенин, бит ылдамдыгы туруктуу (CBR) же өзгөрүлмө (VBR) болсо, видеону көрсөтүү үчүн секундасына канча бит сарптаарын билебиз. Берилген кадр ылдамдыгын колдонуу менен берилген резолюция жөнүндө билебиз, биз башка көптөгөн терминдер менен таанышпыз, мисалы, бириккен видео, PAR жана башкалар.

Артыкчылыкты жоюу

Маалым болгондой, кысуу жок видеону кадимкидей колдонуу мүмкүн эмес. 720p жана секундасына 30 кадр менен бир сааттык видео 278 ГБ ээлейт. Биз бул мааниге 1280 x 720 x 24 x 30 x 3600 (туурасы, бийиктиги, пикселге бит, FPS жана секундадагы убакыт) көбөйүү аркылуу келебиз.

пайдалануунун жоготуусуз кысуу алгоритмдери, DEFLATE сыяктуу (PKZIP, Gzip жана PNGде колдонулат) талап кылынган өткөрүү жөндөмдүүлүгүн жетиштүү түрдө азайтпайт. Видеону кысуунун башка жолдорун издешибиз керек.

Бул үчүн, сиз биздин көрүнүштүн өзгөчөлүктөрүн колдоно аласыз. Биз түскө караганда жарыкты жакшыраак айырмалайбыз. Видео - бул убакыттын өтүшү менен кайталанган ырааттуу сүрөттөрдүн сериясы. Ошол эле көрүнүштүн чектеш кадрларынын ортосунда кичине айырмачылыктар бар. Мындан тышкары, ар бир кадр бир эле (же окшош) түстү колдонгон көптөгөн аймактарды камтыйт.

Түс, жарыктык жана биздин көзүбүз

Биздин көзүбүз түскө караганда жарыкка көбүрөөк сезгич. Муну бул сүрөткө карап өзүңүз да көрө аласыз.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Эгерде сиз сүрөттүн сол жагында квадраттардын түстөрүн көрбөсөңүз A и B чынында эле бирдей, анда бул нормалдуу. Мээбиз бизди түскө эмес, жарыкка жана көлөкөгө көбүрөөк көңүл бурууга мажбурлайт. Белгиленген квадраттардын ортосунда оң тарапта бир эле түстөгү секиргич бар - ошондуктан биз (б.а. мээбиз) чындыгында алардын бир түстө экенин оңой эле аныктайбыз.

Келгиле, (жөнөкөйлөштүрүлгөн түрдө) көзүбүздүн кандай иштээрин карап көрөлү. Көз көп бөлүктөн турган татаал орган. Бирок, бизди конустар жана таякчалар көбүрөөк кызыктырат. Көздө 120 миллионго жакын таякча жана 6 миллион конус бар.

Келгиле, түс менен жарыктыктын кабыл алынышын көздүн айрым бөлүктөрүнүн өзүнчө функциялары катары карап көрөлү (чындыгында баары бир аз татаалыраак, бирок биз аны жөнөкөйлөштүрөбүз). Таякчалар негизинен жарыктык үчүн жооптуу, ал эми конус клеткалары түс үчүн жооптуу. Конустар курамындагы пигментине жараша үч түргө бөлүнөт: S-конустар (көк), М-конустар (жашыл), L-конустар (кызыл).

Конустарга (түс) караганда бизде таякчалар (жарык) көп болгондуктан, биз түскө караганда караңгы менен жарыктын ортосундагы өткөөлдөрдү айырмалай алабыз деп жыйынтык чыгарсак болот.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Контрасттын сезгичтигинин өзгөчөлүктөрү

Эксперименталдык психология жана башка көптөгөн тармактардагы изилдөөчүлөр адам көрүүнүн көптөгөн теорияларын иштеп чыгышкан. Жана алардын бири деп аталат контрасттын сезгичтиги функциялары. Алар мейкиндик жана убактылуу жарыктандыруу менен байланышкан. Кыскача айтканда, байкоочу байкаганга чейин канча өзгөртүү керек экендиги жөнүндө. "Функция" сөзүнүн көптүк мүчөсүнө көңүл буруңуз. Бул биз кара жана ак сүрөттөр үчүн гана эмес, ошондой эле түстүү үчүн да контраст сезгичтиги функцияларын өлчөө мүмкүн экенине байланыштуу. Бул эксперименттердин жыйынтыгы көрсөткөндөй, көпчүлүк учурда биздин көзүбүз түскө караганда жарыкка көбүрөөк сезгич болот.

Сүрөттүн жарыктыгына көбүрөөк сезимтал экенибизди билгендиктен, бул чындыкты колдонууга аракет кылсак болот.

Түс модели

Биз RGB схемасын колдонуу менен түстүү сүрөттөр менен кантип иштөөнү бир аз түшүндүк. Башка моделдер да бар. Жарыктыкты хромадан бөлгөн модель бар жана ал катары белгилүү YCbCr. Баса, окшош бөлүүнү жасаган башка моделдер бар, бирок биз муну гана карап чыгабыз.

Бул түс моделинде Y жарыктыктын чагылдырылышы, ошондой эле эки түстүү каналды колдонот: Cb (бай көк) жана Cr (бай кызыл). YCbCr RGBден алынышы мүмкүн жана тескери конверсия да мүмкүн. Бул моделди колдонуу менен биз төмөндө көргөндөй толук түстүү сүрөттөрдү түзө алабыз:

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

YCbCr жана RGB ортосунда айландыруу

Кимдир бирөө каршы болот: жашыл түстөр колдонулбаса, кантип бардык түстөрдү алууга болот?

Бул суроого жооп берүү үчүн, келгиле, RGBди YCbCrге айландыралы. Стандартта кабыл алынган коэффициенттерди колдонолу BT.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-бөлүк: Негиздер

Түстүү үлгүлөрдү алуу

Жарыктык менен хроминанттуулуктун айкалышы катары берилген сүрөттөлүш менен биз маалыматты тандап алып салуу менен адамдын көрүү системасынын жарыкка караганда жарыкка көбүрөөк сезгичтигин пайдалана алабыз. Chroma subsampling - жаркыраганга караганда хрома үчүн азыраак резолюцияны колдонуу менен сүрөттөрдү коддоо ыкмасы.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Түстүү резолюцияны канчалык азайтууга болот?! Чечимдүүлүктү жана бириктирүүнү кантип чечүүнү сүрөттөгөн кээ бир диаграммалар мурунтан эле бар экен (Натыйжа Түсү = Y + Cb + Cr).

Бул схемалар катары белгилүү төмөнкү үлгүлөрдү алуу системалары жана 3 эселенген катыш катары көрсөтүлөт - a:x:yжаркыраган жана түс айырмасы сигналдардын үлгүлөрүнүн санын аныктайт.

a — горизонталдык үлгү алуу стандарты (адатта 4кө барабар)
x — пикселдердин биринчи катарындагы хрома үлгүлөрүнүн саны (горизонталдык резолюция a)
y — пикселдердин биринчи жана экинчи катарларынын ортосундагы хрома үлгүлөрүндөгү өзгөрүүлөрдүн саны.

өзгөчө болуп саналат 4:1:0, ар бир 4-x4 жаркыраган резолюция блогунда бир хрома үлгүсүн камсыз кылуу.

Заманбап кодектерде колдонулган жалпы схемалар:

  • 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 ГБ сактоо мейкиндигин эсептегенибиз эсиңиздеби? Эгерде биз YCbCr 4:2:0 колдонсок, анда бул өлчөмдөр эки эсеге кыскарат - 139 ГБ. Азырынча ал алгылыктуу натыйжадан дагы эле алыс.

YCbCr гистограммасын FFmpeg аркылуу өзүңүз ала аласыз. Бул сүрөттө көк түс кызылга үстөмдүк кылат, ал гистограмманын өзүндө даана көрүнүп турат.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Түс, жарыктык, түс гаммасы - видео карап чыгуу

Бул укмуштуудай видеону көрүүнү сунуштайбыз. Бул жарыктык деген эмне экенин түшүндүрөт жана жалпысынан бардык чекиттер чекиттүү ё жарыктык жана түс жөнүндө.

Frame Types

Келгиле, уланталы. Убакыттын ашыкча чыгымын жоюуга аракет кылалы. Бирок адегенде кээ бир негизги терминологияны аныктап алалы. Бизде секундасына 30 кадр болгон тасма бар дейли, бул жерде анын алгачкы 4 кадры бар:

Видео кодек кантип иштейт? 1-бөлүк: Негиздер Видео кодек кантип иштейт? 1-бөлүк: Негиздер Видео кодек кантип иштейт? 1-бөлүк: Негиздер Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Кадрларда биз көп кайталанууну көрөбүз: мисалы, кадрдан кадрга өзгөрбөгөн көк фон. Бул маселени чечүү үчүн биз аларды абстракттуу түрдө рамкалардын үч түрүнө бөлсөк болот.

I-кадр (Intro Frame)

I-кадр (маалымдама кадр, ачкыч кадр, ички кадр) өз алдынча. Эмнени элестетүүнү кааласаңыз да, I-кадр - бул статикалык сүрөт. Биринчи кадр адатта I-кадр болуп саналат, бирок биз I-кадрларды биринчи эмес кадрлардын арасында да үзгүлтүксүз байкап турабыз.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

P-кадр (Pкайра каралган кадр)

P-кадр (болжолдоочу кадр) дээрлик дайыма учурдагы сүрөт мурунку кадрдын жардамы менен кайра чыгарыла тургандыгынан пайдаланат. Мисалы, экинчи кадрда бир гана өзгөрүү топ алдыга жылып баратат. Биз 2-кадрды бир аз өзгөртүү менен 1-кадрды ала алабыз, бул кадрлардын ортосундагы айырманы колдонуу менен. 2-кадрды куруу үчүн биз мурунку 1-кадрга кайрылабыз.

Видео кодек кантип иштейт? 1-бөлүк: НегиздерВидео кодек кантип иштейт? 1-бөлүк: Негиздер

B-кадр (Bi-болжолдоочу кадр)

Мурунку гана эмес, келечектеги алкактарга дагы жакшыраак кысуу үчүн шилтемелер жөнүндө эмне айтууга болот?! Бул негизинен B-кадр (эки багыттуу кадр).

Видео кодек кантип иштейт? 1-бөлүк: НегиздерВидео кодек кантип иштейт? 1-бөлүк: НегиздерВидео кодек кантип иштейт? 1-бөлүк: Негиздер

Аралык алуу

Бул кадр түрлөрү мүмкүн болушунча кысуу камсыз кылуу үчүн колдонулат. Бул кандай болорун кийинки бөлүмдө карап чыгабыз. Азырынча, эстутум керектөө жагынан эң "кымбат" бул I-кадр, P-кадры кыйла арзан, бирок видео үчүн эң пайдалуу вариант В-кадр экенин белгилейли.

Видео кодек кантип иштейт? 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 Video Pro Analyzer (ал акы төлөнөт, бирок биринчи он кадр менен гана чектелген акысыз сыноо бар).

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Мейкиндик ашыкча (ички болжол)

Видеодогу ар бир кадрды талдап көрсөк, бири-бири менен байланышкан көптөгөн аймактарды табабыз.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Келгиле, бул мисалды карап көрөлү. Бул көрүнүш негизинен көк жана ак түстөрдөн турат.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Бул I-кадр. Биз алдын ала айтуу үчүн мурунку кадрларды ала албайбыз, бирок аны кысып алабыз. Кызыл блоктун тандоосун коддойлу. Коңшуларын карай турган болсок, анын айланасында кандайдыр бир түстүү тенденциялар бар экенин байкайбыз.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Биз түстөр кадрдын ичинде вертикалдуу тарайт деп ойлойбуз. Бул белгисиз пикселдердин түсү анын кошуналарынын баалуулуктарын камтыйт дегенди билдирет.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Мындай божомол туура эмес болуп чыгышы мүмкүн. Дал ушул себептен улам, бул ыкманы колдонуу керек (ички прогноз), андан кийин чыныгы маанилерди алып салуу керек. Бул бизге калдык блокту берет, бул баштапкыга салыштырмалуу бир топ кысылган матрицага алып келет.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Эгерде сиз ички божомолдор менен машыгууну кааласаңыз, анда ffmpeg аркылуу макроблоктордун жана алардын божомолдорунун видеосун түзө аласыз. Ар бир блок түсүнүн маанисин түшүнүү үчүн, сиз ffmpeg документтерин окуп чыгышыңыз керек.

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Же сиз Intel Video Pro Analyzer колдонсоңуз болот (мен жогоруда айткандай, акысыз сыноо версиясы биринчи 10 кадр менен чектелет, бирок бул сизге адегенде жетиштүү болот).

Видео кодек кантип иштейт? 1-бөлүк: Негиздер

Экинчи бөлүгү: Видео кодек кантип иштейт

Source: www.habr.com

Комментарий кошуу