Кіріспе

Cinepak – SuperMac Technologies компаниясының Питер Барретт әзірлеген видео кодегі. Ол 1991 жылы Video Spigot бағдарламасымен бірге, ал 1992 жылы Apple Computer компаниясының QuickTime видео жиынтығының құрамы ретінде жарық көрді. CD-ROM-да толық қозғалысты бейнелеуді мүмкін еткен алғашқы бейне сығу құралдарының бірі, осы себепті оның FourCC идентификаторы CVID болып табылады. Кодек 1993 жылы Microsoft Windows жүйесіне ауыстырылды. Ол сонымен қатар Atari Jaguar CD, Sega CD, Sega Saturn және 3DO сияқты төртінші және бесінші буын ойын консольдерінде де қолданылды. libavcodec кітапханасына Cinepak декодері және кодері кіреді, екеуі де LGPL лицензиясымен беріледі.

Тарих

Ол QuickTime және Microsoft Video for Windows бағдарламаларының алғашқы нұсқаларындағы негізгі бейне кодегі болды, бірақ кейін Sorenson Video, Intel Indeo және ең соңғы MPEG 4 Part 2 және H.264/MPEG 4 AVC оны ығыстырды. Дегенмен, Cinepak кодегімен сығылған фильмдер көбінесе көптеген медиа плеерлерде ойнатылады.

Технология

Cinepak векторлық кванттауға негізделген, бұл қазіргі кодектерде (әсіресе MPEG отбасы, сондай-ақ JPEG) қолданылатын дискретті косинус түрлендіру (DCT) алгоритмінен едәуір ерекшеленетін алгоритм. Бұл салыстырмалы түрде баяу процессорларда іске асыруға мүмкіндік берді (Cinepak-те кодталған бейне әдетте 25 МГц Motorola 68030 процессорда жақсы ойнатылады, Sega CD сияқты консольдер көбінесе тіпті баяу процессорларды қолданды, мысалы, 12,5 МГц 68000), бірақ төмен біт-ағындарда пиксельдік бұрмалануға (блоктық эффектіге) әкелді, бұл FMV-ға негізделген бейне ойындарға қатысты сынға себеп болды. Cinepak-те квантталған векторлар 2×2 пиксельдік блоктар болып табылады. Блок 4 жарықтық мәнінен (ақ-қоңыр түс) немесе 4 жарықтық және 2 түстік мәнінен (4:2:0 түстік субдискретизациясы) тұруы мүмкін. Квантталған блоктар V1 және V4 деп аталатын екі код кітабында сақталады, олардың әрқайсысының 256-ға дейін жазбасы болуы мүмкін. V1 код кітабындағы векторлар 4×4 пикселдік блоктардың кішірейтілген нұсқасын, ал V4 код кітабындағы векторлар 2×2 пикселдік блоктарды көрсетеді. Өңдеу үшін Cinepak бейнені негізгі (интракодталған) кадрларға және интеркодталған кадрларға бөледі. Негізгі кадрларда код кітабы бастапқыда беріледі, ал интеркодталған кадрларда код кітабының жазбалары таңдамалы түрде жаңартылады. Әрбір кадр бірнеше көлденең жолаққа бөлінеді. Код кітабы жолақтар бойынша жаңартылуы мүмкін. Әрбір жолақ 4×4 пикселдік блоктарға бөлінеді. Әрбір блок V1 немесе V4 код кітабынан кодталуы мүмкін. V1 код кітабынан кодтау кезінде 4×4 блок үшін бір код кітабының индексі біт ағынына жазылады, ал сәйкес 2×2 код кітабының жазбасы 4×4 пикселге дейін үлкейтіледі. V4 код кітабынан кодтағанда, әр 2×2 кіші блок үшін біреуден 4×4 блок үшін төрт код кітабының индексі біт ағынына жазылады. V1 немесе V4 код кітабынан кодтаудың орнына, интеркодталған кадрдағы 4×4 блоктың өңделуін тоқтатуға болады. Тоқтатылған блок алдыңғы кадрдан өзгеріссіз көшіріледі, шартты түрде жаңару арқылы. Деректер жылдамдығын негізгі кадрлардың жылдамдығын және әрбір блоктағы рұқсат етілген қателікті реттеу арқылы басқаруға болады.