Кіріспе
Видеокодек – цифрлық бейне үшін кодтау және декодтауды қамтамасыз ететін бағдарламалық құрал немесе құрылғы, ол бейнені қысу және/немесе қысымды жоюды қолдануы мүмкін, ал қолданбауы да мүмкін. Көптеген кодектер бейне кодтау форматтарының іске асырылуы болып табылады. Қысу кезінде деректердің жоғалтумен қысылуы мүмкін, сондықтан сапаны өлшеу мәселелері маңызды болады. Аналогты аудионы алмастыратын цифрлық формат ретінде компакт-диск кеңінен қолданысқа енгеннен кейін, бейнені цифрлық түрде сақтау және пайдалану мүмкін болды. Осы мақсатта көптеген технологиялар пайда болды. Көптеген бейне қысу әдістерінің басты мақсаты – бастапқы көздің сапасына ең жақын бейне шығару, сонымен бірге ең кішкентай файл мөлшерін қамтамасыз ету. Дегенмен, салыстыру үшін басқа да факторларды пайдалануға болады.
Α video codec is software or a device that provides encoding and decoding for digital video, and which may or may not include the use of video compression and/or decompression. Most codecs are typically implementations of video coding formats. The compression may employ lossy data compression, so that quality measurement issues become important. Shortly after the compact disc became widely available as a digital format replacement for analog audio, it became feasible to also store and use video in digital form. A variety of technologies soon emerged to do so. The primary goal for most methods of compressing video is to produce video that most closely approximates the fidelity of the original source, while simultaneously delivering the smallest file size possible. However, there are also several other factors that can be used as a basis for comparison.
Видео сапасы
Кодек қол жеткізе алатын сапа кодек қолданатын сығылу форматына тікелей байланысты. Кодек – формат емес, және бір сығымдалу спецификациясын іске асыратын бірнеше кодек болуы мүмкін. Мысалы, MPEG 1 кодектері әдетте H.264 спецификациясын іске асыратын кодектерге қарағанда нашар сапа/өлшем қатынасына ие болады. Дегенмен, бірдей спецификацияның әртүрлі іске асырылуымен алынған нәтижелердің сапасы мен көлемі арасындағы қатынас та өзгеше болуы мүмкін. Әрбір сығымдалу спецификациясы шикі бейнені (яғни, толық ажыратымдылықтағы сығылмаған цифрлық бейнелер тізбегін) кішілендіруге арналған әртүрлі механизмдерді анықтайды – қарапайым биттік сығымдаудан (мысалы, Lempel Ziv Welch) бастап, психовизуалды және қозғалыс жинақтауға дейін, сондай-ақ нәтижені биттік ағын ретінде сақтау тәсілдерін анықтайды. Кодек құрамындағы кодтаушы компоненті спецификацияға сәйкес келген жағдайда, мазмұнның әртүрлі бөліктеріне әртүрлі әдістерді қолдану үшін осы әдістердің кез келген комбинациясын таңдай алады. Кодек құрамындағы декодерлік компоненті де спецификацияға сәйкес келеді, пайдаланылған механизмдердің әрқайсысын таниды және сығымдалған ағынды шикі бейнеге қайтару үшін түсіндіреді (егер сығымдалу жоғалтусыз болмаса, нәтиже кіріс шикі бейнеден мүлдем бірдей болмайды). Әрбір кодтаушы спецификацияны өзінің алгоритмдері мен параметрлеріне сәйкес іске асырады, сондықтан әртүрлі кодектердің сығылған нәтижелері әртүрлі болады, бұл олардың арасындағы сапа мен тиімділіктегі айырмашылықтарға әкеледі. Кодектердің бейне сапасын салыстыру алдында, әр кодек видео тізбегіндегі кадрлар жинағы үшін әртүрлі сапа деңгейін бере алатынын түсіну маңызды. Бұл өзгергіштікке көптеген факторлар әсер етеді. Біріншіден, барлық кодектерде бит-ағым жылдамдығы мен сапаны кадрлар бойынша анықтайтын бит-ағымды басқару механизмі бар. Айырмалы бит-ағым (VBR) мен тұрақты бит-ағым (CBR) арасындағы таңдау, бір жағынан барлық кадрлардағы тұрақты сапа мен екінші жағынан кейбір қолданбалар үшін қажетті тұрақты бит-ағым арасындағы компромисс тудырады. Екіншіден, кейбір кодектер кадрлардың түрлерін ажыратады, мысалы, кілттік кадрлар мен кілттік емес кадрлар, олардың жалпы визуалды сапаға әсері және қаншалықты сығылуға болатыны әртүрлі. Үшіншіден, сапа алдын ала сүзгілеуге байланысты, ол бүгінгі таңдағы барлық кодектерге енгізілген. Басқа да факторлар да әсер етуі мүмкін. Жетілді ұзақ видео үшін, сығымдалудан аз зардап шеккен тізбектерді және қатты зардап шеккен тізбектерді таңдау мүмкін, әсіресе CBR қолданылса, онда тұрақты бит-ағымға жету үшін қажетті сығымдалу мөлшерінің өзгешелігіне байланысты кадрлар арасындағы сапа айтарлықтай өзгеруі мүмкін. Сондықтан, берілген ұзақ видеода, мысалы, толық метражды фильмде, кез келген екі кодек видеоның белгілі бір тізбегінде өте әртүрлі жұмыс істей алады, ал кодектердің сапасы тізбектердің кең ауқымында шамамен бірдей болуы мүмкін (немесе кері жағдай орын алуы мүмкін). Баспасөз хабарламалары мен әуесқой форумдар кейде шолулар үшін белгілі бір кодекке немесе жылдамдықты басқару стиліне қолайлы тізбектерді таңдауы мүмкін.
Субъективті бейне сапасы
Бұл бейне көріністі көрермен қалай қабылдағанымен байланысты және олардың белгілі бір бейне тізбегі туралы пікірін көрсетеді. Субъективті бейне сапасын бағалау уақыт (дайындық және жүргізу) және адам ресурстары тұрғысынан қымбатқа түседі. Сарапшыларға бейне тізбектерін көрсетудің және олардың пікірін жазудың көптеген тәсілдері бар. Олардың кейбіреуі, негізінен ITU R Recommendation BT.500 13 және ITU T Recommendation P.910 стандарттарында белгіленген. Субъективті бейне сапасын өлшеудің мақсаты аудионың орташа бағасын өлшеумен бірдей. Сарапшылардың пікірлерін орташалап, орташа бағаны белгілі бір сенімділік интервалымен бірге немесе оның ішінде көрсетуге болады. Орташалау үшін қосымша процедуралар қолданылуы мүмкін. Мысалы, пікірлері тұрақсыз саналатын сарапшылардың (егер олардың орташа пікірмен сәйкестігі төмен болса) пікірлері ескерілмеуі мүмкін. Видеокодектер үшін мұндай жағдай жиі кездеседі. Объектілі нәтижелері ұқсас кодектердің субъективті нәтижелері әртүрлі болғанда, себептер мыналар болуы мүмкін: Кодектерде алдын ала және кейіннен қолданылатын сүзгілер кеңінен қолданылады. Кодектер көбінесе бейнені тазалау, жыпылықтауды жою, дірілді басу сияқты алдын ала сүзгілерді пайдаланады. Бейнені тазалау және жыпылықтауды жою әдетте PSNR мәнін сақтайды, сонымен бірге визуалды сапаны жақсартады (жақсы баяу тазалау сүзгілері орташа және жоғары жылдамдықтарда да PSNR-ді арттырады). Дірілді басу PSNR-ді айтарлықтай төмендетеді, бірақ визуалды сапаны жақсартады. Кейіннен қолданылатын сүзгілер ұқсас сипаттамаларға ие: бұғаттамау және артефакттарды жою PSNR-ді сақтайды, бірақ сапаны арттырады; түйіршік қосу (H.264-те ұсынылған) әсіресе үлкен плазмалық экрандарда бейне сапасын жақсартады, бірақ PSNR-ді төмендетеді. Барлық сүзгілер қысым/декомпрессия уақытын ұзартады, сондықтан олар визуалды сапаны жақсартады, бірақ кодтау және декодтау жылдамдығын төмендетеді. Қозғалыс бағалау (ME) іздеу стратегиясы да бірдей PSNR үшін әртүрлі визуалды сапаға әкелуі мүмкін. «Нақты қозғалыс іздеу» деп аталатын әдіс кодек ME-де абсолютті айырмашылықтардың (SAD) ең төменгі сомасына жете бермейді, бірақ визуалды сапаны жақсартуы мүмкін. Мұндай әдістерге қысым уақыты да қажет. Ақыны басқару стратегиясы. VBR әдетте бірдей PSNR орташа мәндері үшін CBR-ге қарағанда жақсы визуалды сапа бағаларын береді. Субъективті тестілеу үшін ұзақ тізбектерді пайдалану қиын. Көбінесе үш немесе төрт он секундтық тізбек қолданылады, ал объективті өлшемдер үшін толық фильмдер пайдаланылады. Тізбектерді таңдау маңызды, өйткені кодектерін баптау үшін дамытушылар қолданатын тізбектерге ұқсас тізбектер бәсекеге қабілетті болады.
Pre and postfilters are widely used in codecs. Codecs often use prefilters such as video denoising, deflicking, deshaking, etc. Denoising and deflicking normally maintain PSNR value while increasing visual quality (the best slow denoising filters also increase PSNR on medium and high bitrates). Deshaking greatly decreases PSNR, but increases visual quality. Postfilters show similar characteristics deblocking and deringing maintain PSNR, but increase quality; graining (suggested in H.264) essentially increases video quality, especially on big plasma screens, but decreases PSNR. All filters increase compression/decompression time, so they enhance visual quality but decrease the speed of coding and decoding. Motion estimation (ME) search strategy can also cause different visual quality for the same PSNR. So called true motion search commonly will not reach minimum sum of absolute differences (SAD) values in codec ME, but may result in better visual quality. Such methods also require more compression time. Rate control strategy. VBR commonly cause better visual quality marks than CBR for the same average PSNR values for sequences. It is difficult to use long sequences for subjective testing. Commonly, three or four ten second sequences are used, while full movies are used for objective metrics. Sequence selection is important those sequences that are similar to the ones used by developers to tune their codecs are more competitive.
Профильдерді қолдау
Қазіргі заманғы стандарттар кең ауқымдағы мүмкіндіктерді анықтайды және оларды іске асыру үшін маңызды бағдарламалық немесе аппараттық күш-қуат пен ресурстарды қажет етеді. Кез келген нақты өнімде әдетте стандарттың таңдалған профильдері ғана қолданылады. (Мысалы, H.264 іске асыруда мұндай жағдай жиі кездеседі.) H.264 стандарты нақты қосымшалар кластарына бағытталған жеті мүмкіндіктер жиынтығын қамтиды:
Базалық профиль (BP): Есептеу ресурстары шектеулі, төмен құнға ие қосымшалар үшін арналған, бұл профиль бейнеконференциялар мен мобильді қосымшаларда кеңінен қолданылады.
Негізгі профиль (MP): Бастапқыда тарату және сақтауға арналған негізгі тұтынушы профилі ретінде жоспарланған, бірақ осы салалар үшін Жоғары профиль (HiP) әзірленгеннен кейін маңыздылығы төмендеді.
Кеңейтілген профиль (XP): Ағынмен берілетін бейнеге арналған, бұл профиль салыстырмалы түрде жоғары сығылу мүмкіндігіне және деректердің жоғалтуы мен сервер ағынын ауыстыру кезіндегі тұрақтылықты арттыруға арналған қосымша мүмкіндіктерге ие.
Жоғары профиль (HiP): Тарату және дискіде сақтауға, әсіресе жоғары сапалы теледидарға арналған негізгі профиль. (Мысалы, бұл профиль HD DVD және Blu-ray дискілерінде қолданылады.)
Жоғары 10 профилі (Hi10P): Бүгінгі күнгі негізгі тұтынушы өнімдерінің мүмкіндіктерін асып түсетін бұл профиль Жоғары профильдің негізінде салынған және декодталған суреттің әрбір үлгісі үшін 10 битке дейін қолдау көрсетеді.
Жоғары 4:2:2 профилі (Hi422P): Басты назар интерлейс видеоны пайдаланатын кәсіби қосымшаларға бағытталған, бұл профиль Жоғары 10 профилінің негізінде салынған, 4:2:2 хромалық үлгілеу форматын қолдайды және декодталған суреттің әрбір үлгісі үшін 10 битке дейін қолдау көрсетеді.
Жоғары 4:4:4 болжамды профилі (Hi444PP): Бұл профиль Жоғары 4:2:2 профилінің негізінде салынған, 4:4:4 хромалық үлгілеуді, үлгіге 14 битке дейін қолдауды, сондай-ақ тиімді жоғалтусыз аймақ кодтауды және әр суретті үш жеке түсті жазықтық ретінде кодтауды қолдайды.
Көп көріністі Жоғары профиль: Бұл профиль сурет аралық (уақытша) және MVC аралық көрініс болжамын қолдана отырып, екі немесе одан көп көріністі қолдайды, бірақ далалық суреттерді және макроблоктың бейімделген кадрлық өрісті кодтауды қолдамайды.
Стандартта төрт қосымша All Intra профилі де бар, олар басқа сәйкес профильдердің қарапайым кіші жиынтығы ретінде анықталған. Бұл негізінен кәсіби (мысалы, камералар мен монтаждау жүйелері) қосымшалар үшін:
Жоғары 10 Intra профилі: High 10 Profile-інің барлық Intra қолданысына шектелген нұсқасы.
Жоғары 4:2:2 Intra профилі: High 4:2:2 Profile-інің барлық Intra қолданысына шектелген нұсқасы.
Жоғары 4:4:4 Intra профилі: High 4:4:4 Profile-інің барлық Intra қолданысына шектелген нұсқасы.
CAVLC 4:4:4 Intra профилі: High 4:4:4 Profile-інің барлық Intra қолданысына және CAVLC энтропиялық кодтауға (CABAC қолданылмайды) шектелген нұсқасы.
Сонымен қатар, стандартта үш Scalable Video Coding профилі де бар:
Өлшекті Жоғары профиль: Жоғары профильдің өлшекті кеңейтімі.
Өлшекті Базалық профиль: Базалық профильдің өлшекті кеңейтімі.
Өлшекті Жоғары Intra профилі: Жоғары профильдің өлшекті кеңейтімі, барлық Intra қолданысына шектелген.
Кодектерді дәл салыстыру үшін әр кодек ішіндегі профильдік айырмашылықтарды ескеру қажет. Сондай-ақ MPEG 2 профильдері мен деңгейлерін қараңыз.
Baseline Profile (BP): Primarily for lower cost applications with limited computing resources, this profile is used widely in videoconferencing and mobile applications. Main Profile (MP): Originally intended as the mainstream consumer profile for broadcast and storage applications, the importance of this profile faded when the High profile (HiP) was developed for those applications. Extended Profile (XP): Intended as the streaming video profile, this profile has relatively high compression capability and some extra tricks for robustness to data losses and server stream switching. High Profile (HiP): The primary profile for broadcast and disc storage applications, particularly for high definition television applications. (This is the profile adopted into HD DVD and Blu ray Disc, for example.) High 10 Profile (Hi10P): Going beyond today's mainstream consumer product capabilities, this profile builds on top of the High Profile, adding support for up to 10 bits per sample of decoded picture precision. High 4:2:2 Profile (Hi422P): Primarily targeting professional applications that use interlaced video, this profile builds on top of the High 10 Profile, adding support for the 4:2:2 chroma sampling format while using up to 10 bits per sample of decoded picture precision. High 4:4:4 Predictive Profile (Hi444PP): This profile builds on top of the High 4:2:2 Profile, supporting up to 4:4:4 chroma sampling, up to 14 bits per sample, and additionally supporting efficient lossless region coding and the coding of each picture as three separate color planes. Multiview High Profile: This profile supports two or more views using both inter picture (temporal) and MVC inter view prediction, but does not support field pictures and macroblock adaptive frame field coding. The standard also contains four additional all Intra profiles, which are defined as simple subsets of other corresponding profiles. These are mostly for professional (e. g., camera and editing system) applications:
High 10 Intra Profile: The High 10 Profile constrained to all Intra use. High 4:2:2 Intra Profile: The High 4:2:2 Profile constrained to all Intra use. High 4:4:4 Intra Profile: The High 4:4:4 Profile constrained to all Intra use. CAVLC 4:4:4 Intra Profile: The High 4:4:4 Profile constrained to all Intra use and to CAVLC entropy coding (i. e., not supporting CABAC). Moreover, the standard now also contains three Scalable Video Coding profiles. Scalable Baseline Profile: A scalable extension of the Baseline profile. Scalable High Profile: A scalable extension of the High profile. Scalable High Intra Profile: The Scalable High Profile constrained to all Intra use. An accurate comparison of codecs must take the profile variations within each codec into account. See also MPEG 2 Profiles and Levels.