UA124408C2 - Декодер і кодер, спосіб декодування і кодування відеоданих, здатний до читання носій даних для виконання декодування і кодування, а також носій цифрових даних, що зберігає потік даних - Google Patents
Декодер і кодер, спосіб декодування і кодування відеоданих, здатний до читання носій даних для виконання декодування і кодування, а також носій цифрових даних, що зберігає потік даних Download PDFInfo
- Publication number
- UA124408C2 UA124408C2 UAA201703792A UAA201703792A UA124408C2 UA 124408 C2 UA124408 C2 UA 124408C2 UA A201703792 A UAA201703792 A UA A201703792A UA A201703792 A UAA201703792 A UA A201703792A UA 124408 C2 UA124408 C2 UA 124408C2
- Authority
- UA
- Ukraine
- Prior art keywords
- motion vectors
- code
- value
- differences
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 60
- 230000033001 locomotion Effects 0.000 claims abstract description 209
- 239000013598 vector Substances 0.000 claims abstract description 200
- 230000036961 partial effect Effects 0.000 claims description 60
- 230000004927 fusion Effects 0.000 claims description 21
- 238000005070 sampling Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000000638 solvent extraction Methods 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 5
- 230000002123 temporal effect Effects 0.000 claims description 5
- 238000006073 displacement reaction Methods 0.000 claims description 3
- 241000699670 Mus sp. Species 0.000 claims 2
- 241000272517 Anseriformes Species 0.000 claims 1
- 101100515517 Arabidopsis thaliana XI-I gene Proteins 0.000 claims 1
- 101100123850 Caenorhabditis elegans her-1 gene Proteins 0.000 claims 1
- 101100314454 Caenorhabditis elegans tra-1 gene Proteins 0.000 claims 1
- 241000283707 Capra Species 0.000 claims 1
- 240000001829 Catharanthus roseus Species 0.000 claims 1
- ZAKOWWREFLAJOT-CEFNRUSXSA-N D-alpha-tocopherylacetate Chemical compound CC(=O)OC1=C(C)C(C)=C2O[C@@](CCC[C@H](C)CCC[C@H](C)CCCC(C)C)(C)CCC2=C1C ZAKOWWREFLAJOT-CEFNRUSXSA-N 0.000 claims 1
- 208000010201 Exanthema Diseases 0.000 claims 1
- 235000016496 Panda oleosa Nutrition 0.000 claims 1
- 240000000220 Panda oleosa Species 0.000 claims 1
- 241001659863 Panna Species 0.000 claims 1
- 206010034912 Phobia Diseases 0.000 claims 1
- 241000159610 Roya <green alga> Species 0.000 claims 1
- GFBKORZTTCHDGY-UWVJOHFNSA-N Thiothixene Chemical compound C12=CC(S(=O)(=O)N(C)C)=CC=C2SC2=CC=CC=C2\C1=C\CCN1CCN(C)CC1 GFBKORZTTCHDGY-UWVJOHFNSA-N 0.000 claims 1
- 241001255741 Vanna Species 0.000 claims 1
- 238000010009 beating Methods 0.000 claims 1
- 150000002170 ethers Chemical class 0.000 claims 1
- 201000005884 exanthem Diseases 0.000 claims 1
- 150000002500 ions Chemical class 0.000 claims 1
- 208000019899 phobic disease Diseases 0.000 claims 1
- 206010037844 rash Diseases 0.000 claims 1
- 239000000344 soap Substances 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 152
- 239000000872 buffer Substances 0.000 description 119
- 230000009466 transformation Effects 0.000 description 62
- 238000006243 chemical reaction Methods 0.000 description 45
- 230000008569 process Effects 0.000 description 26
- 235000019580 granularity Nutrition 0.000 description 21
- 230000006978 adaptation Effects 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 230000002829 reductive effect Effects 0.000 description 12
- 230000003595 spectral effect Effects 0.000 description 12
- 241000209094 Oryza Species 0.000 description 10
- 235000007164 Oryza sativa Nutrition 0.000 description 10
- 230000015654 memory Effects 0.000 description 10
- 235000009566 rice Nutrition 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 235000019587 texture Nutrition 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241001327708 Coriaria sarmentosa Species 0.000 description 1
- 241001387976 Pera Species 0.000 description 1
- 101100460147 Sarcophaga bullata NEMS gene Proteins 0.000 description 1
- CCAZWUJBLXKBAY-ULZPOIKGSA-N Tutin Chemical compound C([C@]12[C@@H]3O[C@@H]3[C@@]3(O)[C@H]4C(=O)O[C@@H]([C@H]([C@]32C)O)[C@H]4C(=C)C)O1 CCAZWUJBLXKBAY-ULZPOIKGSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000010412 perfusion Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 210000004243 sweat Anatomy 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Описується декодер для декодування відеоданих з потоку даних, у який кодуються горизонтальні і вертикальні компоненти різниць векторів руху, з використанням бінаризацій горизонтальних і вертикальних компонентів, при цьому бінаризації зрівнюють усічений унарний код горизонтальних і вертикальних компонентів, відповідно, в першому інтервалі області горизонтальних і вертикальних компонентів нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба горизонтальних і вертикальних компонентів, відповідно, в другому інтервалі області горизонтальних і вертикальних компонентів включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця. Ентропійний декодер сконфігурований для одержання для горизонтальних і вертикальних компонентів різниць векторів руху усіченого унарного коду з потоку даних з використанням адаптивного до контексту бінарного ентропійного декодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, який є спільним для горизонтальних і вертикальних компонентів різниць векторів руху, і експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму для одержання результатів бінаризацій різниць векторів руху. Десимволізатор сконфігурований для дебінаризації результатів бінаризацій синтаксичних елементів різниці векторів руху для одержання цілих величин горизонтальних і вертикальних компонентів різниць векторів руху. Реконструктор сконфігурований для відновлення відеоданих на основі цілих величин горизонтальних і вертикальних компонентів різниць векторів руху.
Description
контекстом на положення інформаційної величини усіченого унарного коду, який є спільним для горизонтальних і вертикальних компонентів різниць векторів руху, і експоненціального коду
Голомба з використанням сталого рівноймовірного байпасного режиму для одержання результатів бінаризацій різниць векторів руху. Десимволізатор сконфігурований для дебінаризації результатів бінаризацій синтаксичних елементів різниці векторів руху для одержання цілих величин горизонтальних і вертикальних компонентів різниць векторів руху.
Реконструктор сконфігурований для відновлення відеоданих на основі цілих величин горизонтальних і вертикальних компонентів різниць векторів руху.
Х сиУТаке чем я пейкирих боку, Бикнден нм ТИ я Б ру ст я В вер нка | Тнврягатой Н ЕЙ Мет у кадання тр «луг нт й Ше Коен: ЗИМИ рас еще сей кох пл рен ш- Е ! вотчини, Й ва Ні кн ї я мання Я хмийо па саджних! І ий У ай щ Х Іа ж ин п и ПО ж НН я МВ 0 ддщробенняннннннтнннтннтнотнтнняЯ
Мі ШИ З ря хткЯ туту і Ж НН й вн й КО дк
Я: фі В Роза Й па 2 й
Я Н Н сипле сідитм! ї | : : ХАЙ вані ї му ї не рт пера првсисавх І і Й : і дня х вним і Пн
Іереванкиці Й : параметр і Б АХ їси пЕОНКИ інший ідвнковаи ік ї підетренимі черах ВицоЕ
НОЙ вин уки умі і рік Уіденх т ря Еш й Не частковим пот не що
ТУ ШИ нн а пи В КУ я Б детей, и ве : ОК зх дк ши : : х пи и и ЗЕ ке і рент ох спон ЗО ї ко Ко За
Н Її даесвк і, КОМІ ТЯ х В і ЖК : | МНеТилсю їж ММ не ше : Н КН БІНЯКх і 3. Й й всткнний су бін М ї : : МБЛЖКТОЮ фен у У М КЕ декодно у іодевей 00000 ПИТ Ме Щ
Коля ЕШЛІ ШО ШО 1 Дудкрнаняня я в Шо декана А т хх вчора емо сит пілижцієт
БМ девучани Ок ПОХІДНИХ ще Не фе м нан ИИмиХ налимин
Фіг. 8
Представлений винахід стосується концепції ентропійного кодування для кодування відеоданих.
В рівні техніки відомо багато відеокодеків. Загалом, ці кодеки зменшують кількість даних, необхідних для представлення відеоконтенту, тобто, вони стискають дані. В контексті кодування відеоданих, відомо, що стискання відеоданих переважно досягається послідовним застосуванням різних технологій кодування: для прогнозування змісту картинки використовується прогнозування з компенсацією руху. Вектори руху, визначені в прогнозуванні з компенсацією руху, а також залишок прогнозування піддаються ентропійному кодуванню без втрат. Для подальшого зменшення кількості даних, самі по собі вектори руху піддаються прогнозуванню так, що просто різниці векторів руху, які представляють їх залишок, повинні ентропійно кодуватися, В стандарті Н.264, наприклад, тільки що описана процедура застосовується для передачі інформації про різниці векторів руху. Зокрема, різниці векторів руху бінаризуються з одержанням рядків інформаційних величин, які відповідають комбінації усіченого унарного коду і, від певної критичної величини, експоненціального коду Голомба. Хоча інформаційні величини експоненціального коду Голомба легко кодуються з використанням рівноймовірного байпасного режиму з фіксованою ймовірністю 0,5, для перших інформаційних величин передбачаються декілька контекстів. Критична величина вибирається рівною дев'яти.
Відповідно, передбачається велика кількість контекстів для кодування різниць векторів руху.
Однак, передбачення великої кількості контекстів не тільки підвищує складність кодування, але й може також негативно впливати на ефективність кодування: якщо до контексту звертаються занадто рідко, то адаптація ймовірності, тобто адаптація оцінки ймовірності, зв'язаної з відповідним контекстом, під час ентропійного кодування не є ефективною.
Відповідно, непідходящі застосовувані оцінки ймовірності оцінюють реальну статистику символів. Більше того, якщо для певної інформаційної величини бінаризації передбачається декілька контекстів, то вибір серед них може потребувати перевірки значень сусідніх інформаційних величин/синтаксичних елементів, необхідність в яких може перешкоджати виконанню процесу декодування. З іншого боку, якщо надається занадто мала кількість контекстів, то інформаційні величини з сильно варійованою реальною статистикою символів групуються разом в одному контексті і, відповідно, оцінка ймовірності, зв'язана з таким
Зо контекстом, ефективно не кодує зв'язані з нею інформаційні величини. Існує постійна потреба у подальшому підвищенні ефективності ентропійного кодування різниць векторів руху.
Відповідно, задачею представленого винаходу є надання такої концепції кодування.
Ця задача вирішується об'єктом доданих незалежних пунктів формули винаходу.
Основним відкриттям представленого винаходу є те, що ефективність ентропійного кодування різниць векторів руху може додатково підвищуватися шляхом зменшення критичної величини, до якої використовується усічений унарний код для бінаризації різниць векторів руху, до двох так, що існують просто два положення інформаційної величини усіченого унарного коду і якщо порядок одного використовується для експоненціального коду Голомба для бінаризації різниць векторів руху від критичної величини, і якщо, окрім того, точно один контекст передбачається для двох положень інформаційної величини усіченого унарного коду, відповідно, так, що вибір контексту на основі інформаційних величин або значень синтаксичного елемента сусідніх блоків зображення не потрібен і уникається занадто точна класифікація інформаційних величин у цих положеннях інформаційних величин відповідно до контекстів так, що адаптація ймовірності здійснюється належним чином, і якщо однакові контексти використовуються для горизонтальних і вертикальних компонентів, таким чином додатково послаблюючи негативні впливи занадто дрібного підрозбиття контексту.
Окрім того, було виявлено, що тільки що згадані параметри стосовно ентропійного кодування різниць векторів руху особливо цінні при поєднанні їх з сучасними способами прогнозування векторів руху і зменшення необхідної кількості різниць векторів руху, які передаються. Наприклад, може передбачатися багато предикторів векторів руху для одержання упорядкованого списку предикторів векторів руху і індекс у цьому списку предикторів векторів руху може використовуватися для визначення реального предиктора вектора руху, залишок прогнозування якого представляється розглядуваною різницею векторів руху. Хоча інформація про використовуваний індекс списку повинна одержуватися з потоку даних на декодувальній стороні, загальна якість прогнозування векторів руху підвищується і, відповідно, величина різниць векторів руху додатково зменшується так, що, в цілому, ефективність кодування додатково збільшується і зменшення критичної величини та спільне використання контексту для горизонтальних і вертикальних компонентів різниць векторів руху узгоджуються з таким покращеним прогнозуванням векторів руху. З іншого боку, може застосовуватися злиття для бо зменшення кількості різниць векторів руху, які передаються в потоці даних: для цього,
інформація про злиття може передаватися в потоці даних, який сигналізує декодувальним блокам про підрозбиття блоків, які групуються в групу блоків. Різниці векторів руху можуть потім передаватися в потоці даних в елементах цих об'єднаних груп замість окремих блоків, таким чином зменшуючи кількість різниць векторів руху, які повинні передаватися. Оскільки ця кластеризація блоків послаблює інтеркореляцію між різницями сусідніх векторів руху, то тільки що описана відмова від надання декількох контекстів для одного положення інформаційної величини перешкоджає схемі ентропійного кодування проводити занадто точну класифікацію згідно з контекстами в залежності від різниць сусідніх векторів руху. Скоріше концепція злиття вже використовує інтеркореляцію між різницями векторів руху сусідніх блоків і, відповідно, один контекст для одного положення інформаційної величини: однаковий контекст достатній для горизонтальних і вертикальних компонентів.
Переважні варіанти виконання даного винаходу описуються далі з посиланням на креслення, на яких
Фіг. 1 зображає блок-схему кодера згідно з варіантом виконання;
Фіг. 2а-2с схематично зображають різні підрозбиття масиву зразків, такого як підрозбиття картинки на блоки;
Фіг. З зображає блок-схему декодера згідно з варіантом виконання;
Фіг. 4 детальніше зображає блок-схему кодера згідно з варіантом виконання;
Фіг. 5 детальніше зображає блок-схему декодера згідно з варіантом виконання;
Фіг. б схематично зображає перетворення блока з просторової області в спектральну область, одержуваний блок перетворення і його повторне перетворення;
Фіг. 7 зображає блок-схему кодера згідно з варіантом виконання;
Фі. 8 зображає блок-схему декодера, придатного для декодування потоку бітів, генерованого кодером з Фіг. 8, згідно з варіантом виконання;
Фіг. 9 зображає схематичну діаграму, яка показує пакет даних з мультиплексованими частковими потоками бітів згідно з варіантом виконання;
Фіг. 10 зображає схематичну діаграму, яка показує пакет даних з альтернативною сегментацією, яка використовує сегменти фіксованого розміру, згідно з подальшим варіантом виконання;
Зо Фіг 11 зображає декодер, який використовує режим перемикання, згідно з варіантом виконання;
Фіг. 12 зображає декодер, який використовує режим перемикання, згідно з подальшим варіантом виконання;
Фіг. 13 зображає кодер, який підключається до декодера з Фігури. 11, згідно з варіантом виконання;
Фіг. 14 зображає кодер, який підключається до декодера з Фіг. 12, згідно з варіантом виконання;
Фіг. 15 зображає графічну залежність реїаїесіх і гшІСіхегатв/256;
Фіг. 16 зображає декодер згідно з варіантом виконання представленого винаходу; і
Фіг. 17 зображає кодер згідно з варіантом виконання представленого винаходу.
Фіг. 18 схематично зображає бінаризацію різниці векторів руху згідно з варіантом виконання представленого винаходу.
Фіг. 19 схематично зображає концепцію злиття згідно з варіантом виконання; і
Фіг. 20 схематично зображає схему прогнозування векторів руху згідно з варіантом виконання.
Відзначається, що, під час опису фігур, елементи, які з'являються на декількох з цих фігурах, позначені однаковим позиційним позначенням на кожній з них і повторний опис цих елементів настільки, наскільки це стосується функцій, уникається для уникнення непотрібних повторів. Тим не менше, функції і описи, надані для однієї фігури, повинні також застосовуватися до інших фігур, якщо чітко не вказано протилежне.
Далі, по-перше, описуються варіанти виконання загальної концепції кодування відеоданих стосовно Фіг. 1-10. Фіг. 1-6 належать до частини відеокодека, яка працює на синтаксичному рівні. Наступні фігури 8-10 належать до варіантів виконання для частини коду, яка належить до перетворення потоку синтаксичних елементів на потік даних і навпаки. Потім, спеціальні аспекти і варіанти виконання представленого винаходу описуються у формі можливих втілень загальної концепції, описаної щодо Фіг. 1-10.
Фіг. 1 зображає приклад для кодера 10, у якому можуть втілюватися аспекти представленого винаходу.
Кодер кодує масив інформаційних зразків 20 з одержанням потоку даних. Масив бо інформаційних зразків може представляти інформаційні зразки, які відповідають, наприклад,
значенням світлоти, значенням кольору, значенням яскравості, значенням колірності або подібному. Однак, інформаційні зразки можуть також бути значеннями глибини у випадку масиву зразків 20, який є картою глибини, згенерованою, наприклад, часом датчика світла або подібним.
Кодер 10 є блочним кодером. Тобто, кодер 10 кодує масив зразків 20 з одержанням потоку даних 30 у формі елементів з блоків 40. Кодування в елементах з блоків 40 необов'язково означає, що кодер 10 кодує ці блоки 40 цілюом незалежно один від іншого. Скоріше, кодер 10 може використовувати відновлення попередньо кодованих блоків для екстраполяції або інтрапрогнозування решти блоків і може використовувати гранулярність блоків для визначення параметрів кодування, тобто, для визначення способу кодування кожної ділянки масиву зразків, яка відповідає відповідному блока.
Окрім того, кодер 10 є перетворювальним кодером. Тобто, кодер 10 кодує блоки 40 шляхом використання перетворення для перенесення зразків інформації в кожному блоці 40 з просторової області вна спектральну область. Може використовуватися двовимірне перетворення, таке як ОСТ (дискретне косинусне перетворення) ЕЕТ (швидке перетворення
Фур'є) або подібне. Переважно, блоки 40 мають квадратну форму або прямокутну форму.
Підрозбиття масиву зразків 20 на блоки 40, зображене на фіг, 1, просто служить для ілюстраційних цілей. Фіг. 1 зображає масив зразків 20, підрозбитий з одержанням стандартного двовимірного розташування квадратних або прямокутних блоків 40, які примикають один до іншого без налягання. Розмір блоків 40 може попередньо встановлюватися. Тобто, кодер 10 може не переносити інформацію про розмір блоків 40 в потоці даних 30 до декодувальної сторони. Наприклад, декодер може очікувати на наперед встановлений розмір блока.
Однак, можливі декілька альтернатив. Наприклад, блоки можуть налягати один на інший.
Налягання може, однак, обмежуватися до такої міри, що кожен блок має частину, на яку не налягає будь-який сусідній блок, або так, що на кожен зразок блоків налягає максимум один блок серед сусідніх блоків, розташованих суміжно з поточним блоком вздовж наперед встановленого напряму. Останнє повинно означати, що ліві і праві сусідні блоки можуть налягати на поточний блок для повного покривання поточного блока, але вони можуть не налягати один на інший і те ж саме застосовується для сусідніх блоків у вертикальному і
Зо діагональному напрямі.
Як подальша альтернатива, підрозбиття масиву зразків 20 з одержанням блоків 40 може адаптуватися до контенту масиву зразків 20 кодером 10 за допомогою інформації про використовуване підрозбиття, яка переноситься до декодера потоком бітів 30.
Фігури 2а-2с зображають різні приклади для підрозбиття масиву зразків 20 на блоки 40. Фіг. 2а зображає підрозбиття на основі квадрадерева масиву зразків 20 на блоки 40 різних розмірів, при цьому відповідні блоки позначені позиціями 40а, 40Б, 40с і 404 із зростаючим розміром.
Відповідно до підрозбиття з фіг. 2а масив зразків 20 спершу ділиться на стандартну двовимірну схему деревних блоків 404, які, у свою чергу, мають індивідуальну інформацію про підрозбиття, пов'язану з нею, згідно з якою певний деревний блок 404 може додатково підрозбиватися згідно зі структурою квадрадерева або ні. Деревний блок зліва від блока 404 ілюстративно підрозбитий на менші блоки згідно з структурою квадрадерева. Кодер 10 може виконувати одне двовимірне перетворення для кожного з блоків, зображених суцільною і пунктирною лініями на
Фіг. 2а. Іншими словами, кодер 10 може перетворювати масив 20 в елементи підрозбиття блока.
Замість підрозбиття на основі квадрадерева може використовуватися більш загальне підрозбиття на основі мультидерева і кількість дочірніх вузлів на ієрархічному рівні може відрізнятися в різних ієрархічних рівнях.
Фіг. 265 зображає інший приклад для підрозбиття. Згідно з Фіг. 25 масив зразків 20 спершу ділиться на макроблоки 4006, розташовані згідно з стандартною двовимірною схемою без взаємного налягання з упиранням один в інший, де кожен макроблок 400 зв'язаний з інформацією про підрозбиття, згідно з якою макроблок не підрозбивається або, якщо підрозбивається, то підрозбивається стандартним двовимірним способом на однакові субблоки для досягання різних гранулярностей підрозбиття для різних макроблоків. Результатом є підрозбиття масиву зразків 20 на різного розміру блоки 40 з представниками різних розмірів, які вказані позиціями 40а, 4065 і 40а". Як і на Фіг. 2а кодер 10 виконує двовимірне перетворення на кожному з блоків, зображених на Фіг. 25 суцільними і пунктирними лініями. Фіг. 2с буде обговорюватися пізніше.
Фіг. З зображає декодер 50, який здатен декодувати потік даних 30, генерований кодером 10, для відновлення відновленого варіанту 60 масиву зразків 20. Декодер 50 одержує з потоку 60 даних ЗО блок коефіцієнтів перетворення для кожного з блоків 40 і відновлює відновлений варіант 60 шляхом виконання оберненого перетворення на кожному з блоків коефіцієнтів перетворення.
Кодер 10 ії декодер 50 можуть конфігуруватися для виконання ентропійного кодування/декодування для введення інформації про блоки коефіцієнтів перетворення і, відповідно, одержання цієї інформації з потоку даних. Деталі з цього приводу згідно з різними варіантами виконання описуються пізніше. Слід відзначити, що потік даних 30 необов'язково містить інформацію про блоки коефіцієнтів перетворення для усіх блоків 40 масиву зразків 20.
Скоріше, підмножина блоків 40 може кодуватися іншим способом з одержанням потоку бітів 30.
Наприклад, кодер 10 може приймати рішення утриматися від введення блока коефіцієнтів перетворення для певного блока з блоків 40 із введенням в потік бітів 30 альтернативних параметрів кодування, замість чого надавати можливість декодеру 50 прогнозувати або, інакше, поміщати відповідний блок у відновлений варіант 60. Наприклад, кодер 10 може виконувати аналіз текстури для поміщення блоків в масиві зразків 20, який може заповнюватися на декодувальній стороні декодером у вигляді синтезу текстури і вказує це, відповідним чином, в потоці бітів.
Як це обговорюється стосовно наступних фігур, блоки коефіцієнтів перетворення необов'язково представляють спектральне представлення області зразків первинної інформації відповідного блока 40 масиву зразків 20. Скоріше такий блок коефіцієнтів перетворення може представляти спектральне представлення області залишкових величин прогнозування відповідного блока 40. Фіг. 4 зображає варіант виконання для такого кодера. Кодер з фіг. 4 містить фазу перетворення 100, ентропійний кодер 102, фазу оберненого перетворення 104, предиктор 106 і блок віднімання 108, а також суматор 110. Блок віднімання 108, фаза перетворення 100 і ентропійний кодер 102 послідовно з'єднані в порядку, згаданому між входом 112 ї виходом 114 кодера з Фіг. 4. Фаза оберненого перетворення 104, суматор 110 і предиктор 106 з'єднані в порядку, згаданому між виходом фази перетворення 100 і інверсним входом блока віднімання 108, при цьому вихід предиктора 106 також з'єднаний з подальшим входом суматора 110.
Кодер з фіг. 4 зображає прогнозувальний перетворювальний блочний кодер. Тобто, блоки масиву зразків 20, який надходить на вхід 112, прогнозуються з попередньо кодованих і відновлених частин того ж масиву зразків 20 або попередньо кодованих і відновлених інших масивів зразків, які можуть передувати або слідувати за поточним масивом зразків 20 в даному часі. Прогнозування виконується предиктором 106. Блок віднімання 108 віднімає дані прогнозу від такого первинного блока, а фаза перетворення 100 виконує двовимірне перетворення на залишкових величинах прогнозування. Двовимірне перетворення саме по собі або наступний захід всередині фази перетворення 100 може приводити до дискретизації коефіцієнтів перетворення в блоках коефіцієнтів перетворення. Дискретизовані блоки коефіцієнтів перетворення кодуються без втрат, наприклад, ентропійним кодуванням в ентропійному кодері 102 з виходом одержуваного потоку даних на виході 114. Фаза оберненого перетворення 104 відновлює дискретизований залишок, а суматор 110, у свою чергу, поєднує відновлений залишок відповідними даними прогнозування для одержання відновлених зразків інформації, на основі яких предиктор 106 може прогнозувати вищезгадані на даний момент кодовані прогнозувальні блоки. Предиктор 106 може використовувати різні режими прогнозування, такі як режими інтрапрогнозування і режими інтерпрогнозування, для прогнозування блоків, а параметри прогнозування направляються до ентропійного кодера 102 для введення в потік даних. Для кожного інтерпрогнозованого прогнозувального блока відповідні дані руху вводяться в потік бітів за допомогою ентропійного кодера 114 для надання можливості декодувальній стороні повторно робити прогноз. Дані руху для прогнозувального блока картинки можуть використовувати синтаксичну частину, яка містить синтаксичний елемент, який представляє різницю векторів руху, яка диференціально кодує вектор руху для поточного прогнозувального блока відносно предиктора вектора руху, одержаного, наприклад, описаним способом з векторів руху сусідніх вже кодованих прогнозувальних блоків.
Тобто, згідно з варіантом виконання з Фіг. 4, блоки коефіцієнтів перетворення скоріше представляють спектральне представлення залишку масиву зразків, а ніж його інформаційні зразки. Тобто, згідно з варіантом виконання з Фіг. 4, послідовність синтаксичних елементів може надходити в ентропійний кодер 102 для ентропійного кодування з одержанням потоку даних 114. Послідовність синтаксичних елементів може містити синтаксичні елементи різниці векторів руху для інтерпрогнозувальних блоків і синтаксичні елементи, які стосуються карти значущості, яка вказує положення рівнів значущості коефіцієнта перетворення, а також синтаксичні елементи, які самі по собі визначають рівні значущості коефіцієнта перетворення для блоків (516) перетворення.
Слід відзначити, що для варіанта виконання з Фіг. 4 існують декілька альтернатив, деякі з яких описані у вступній частині опису, який включений в опис Фіг. 4.
Фіг. 5 зображає декодер, здатний декодувати потік даних, генерований кодером з Фіг. 4.
Декодер з Фіг. 5 містить ентропійний декодер 150, фазу оберненого перетворення 152, суматор 154 і предиктор 156. Ентропійний декодер 150, фаза оберненого перетворення 152 і суматор 154 послідовно з'єднані між входом 158 і виходом 160 декодера з Фіг. 5 у згаданому порядку.
Подальший вихід ентропійного декодера 150 з'єднаний з предиктором 156, який, у свою чергу, з'єднаний між виходом суматора 154 та його подальшим входом. Ентропійний декодер 150 виділяє з потоку даних, який надходить в декодер з Фіг. 5 на вхід 158, блоки коефіцієнтів перетворення, де для блоків коефіцієнтів перетворення на фазі 152 застосовується обернене перетворення для одержання залишкового сигналу. Залишковий сигнал поєднується з прогнозом від предиктора 156 на суматорі 154 для одержання відновленого блока відновленого варіанту масиву зразків на виході 160. На основі відновлених варіантів предиктор 156 генерує прогнози, таким чином повторно створюючи прогнози, виконані предиктором 106 на кодувальній стороні. Для одержання тих же прогнозів, що використовуються на кодувальній стороні, предиктор 156 використовує параметри прогнозування, які ентропійний декодер 150 також одержує з потоку даних на вході 158.
Слід відзначити, що у вищеописаних варіантах виконання просторова гранулярність, з якою виконується прогнозування і перетворення залишку, не повинна бути рівною між собою. Це зображено на Фіг. 2С. Ця фігура зображає підрозбиття для прогнозувальних блоків прогнозувальної гранулярності суцільними лініями і залишкову гранулярність - пунктирними лініями. Як можна побачити, підрозбиття можуть вибиратися кодером незалежно одне від іншого. Для більшої точності, синтаксис потоку даних може передбачати визначення підрозбиття залишку незалежно від підрозбиття прогнозу. Альтернативно, підрозбиття залишку може бути продовженням підрозбиття прогнозу так, що кожен залишковий блок або дорівнює або є належною підмножиною прогнозувального блока. Це зображено на фіг. 2а і Фіг. 26, наприклад, де знову прогнозувальна гранулярність зображена суцільними лініями, а залишкова гранулярність - пунктирними лініями. Тобто, на Фіг. 2а-2с усі блоки, які мають позиційне позначення, повинні бути залишковими блоками, для яких повинно виконуватися двовимірне
Зо перетворення, тоді як блоки, вказані товщими суцільними лініями і охоплюють блоки 4ба, вказані пунктирними лініями, наприклад, повинні бути прогнозувальними блоками, для яких індивідуально виконується визначення параметрів прогнозування.
Вищезгадані варіанти виконання повинні перетворювати загалом такий блок (залишковий або первинний) зразків на кодувальній стороні з одержанням блока коефіцієнтів перетворення, який, у свою чергу, повинен інверсно перетворюватися на відновлений блок зразків на декодувальній стороні. Це зображено на фіг. 6. Фіг. б зображає блок зразків 200. У випадку Фіг. 6, цей блок 200 є ілюстративно квадратним і за розміром становить 4х4 зразки 202. Зразки 202 стандартно розташовані вздовж горизонтального напряму Х і вертикального напряму у. Завдяки вищезгаданому двовимірному перетворенню Т блок 200 перетворюється на спектральну область, зокрема на блок 204 коефіцієнтів 206 перетворення, який має той же розмір, що й блок 200. Тобто, блок перетворення 204 має стільки коефіцієнтів 206 перетворення, скільки блок 200 має зразків як в горизонтальному напрямі, так і у вертикальному напрямі. Однак, оскільки перетворення Т є спектральним перетворенням, то положення коефіцієнтів 206 перетворення в блоці перетворення 204 не відповідають просторовим положенням, а скоріше спектральним компонентам контенту блока 200, Зокрема, горизонтальна вісь блока перетворення 204 відповідає осі, вздовж якої спектральна частота в горизонтальному напрямі монотонно зростає, тоді як вертикальна вісь відповідає осі, вздовж якої просторова частота у вертикальному напрямі монотонно зростає, де коефіцієнт перетворення компонента ОС розташований в куті - тут ілюстративно верхній лівий кут - блока 204 так, що в нижньому правому куті розташований коефіцієнт 206 перетворення, який відповідає найвищій частоті як в горизонтальному, так і у вертикальному напрямі. Нехтуючи просторовим напрямом, просторова частота, якій належить певний коефіцієнт 206 перетворення, головним чином зростає від верхнього лівого кута до нижнього правого кута. Завдяки оберненому перетворенню Т' блок перетворення 204 повторно переноситься з спектральної області на просторову область для повторного одержання копії 208 блока 200. У випадку відсутності дискретизації/втрати під час перетворення, відновлення повинно бути досконалим.
Як вже відзначалося вище, з Фіг. б можна побачити, що блок 200 більшого розміру збільшує спектральну роздільну здатність одержуваного спектрального представлення 204. З іншого боку, шум дискретизації має тенденцію до поширення по усьому блоку 208 і, таким чином, круті і 60 дуже локалізовані об'єкти в блоках 200 мають тенденцію до появи відхилень повторно перетвореного блока відносно первинного блока 200 завдяки шуму дискретизації. Основною перевагою використання більших блоків є, однак, те, що відношення між кількістю значущих, тобто, ненульових (дискретизованих) коефіцієнтів перетворення, тобто рівнів, з одного боку, і кількістю несуттєвих коефіцієнтів перетворення, з іншого боку, може зменшуватися в більших блоках порівняно з меншими блоками, таким чином забезпечуючи кращу ефективність кодування. Іншими словами, часто, рівні значущості коефіцієнта перетворення, тобто, коефіцієнти перетворення, не дискретизовані в нуль, рідко розподіляються по блоку перетворення 204. Завдяки цьому, згідно з варіантами виконання, описаними детальніше нижче, положення рівнів значущості коефіцієнта перетворення сигналізуються в потоці даних у вигляді карти значущості. Окремо від них величини значущого коефіцієнта перетворення, тобто, рівні значущості коефіцієнта перетворення у випадку коефіцієнтів перетворення, які дискретизуються, переносяться в потоці даних.
Усі описані вище кодери і декодери, таким чином, конфігуруються для певного синтаксису синтаксичних елементів. Тобто, вищезгадані синтаксичні елементи, такі як рівні значущості коефіцієнта перетворення, синтаксичні елементи, які стосуються карти значущості блоків перетворення, синтаксичні елементи даних руху, які стосуються інтерпрогнозувальних блоків і так далі, припускаються тими, що послідовно розташовані в потоці даних попередньо встановленим способом. Такий попередньо встановлений спосіб може представлятися у формі псевдокоду, як це робиться, наприклад, в стандарті Н.264 або інших відеокодеках.
Ще іншими словами, вищенаведений опис головним чином має справу з перетворенням мультимедійних даних, тут ілюстративних відеоданих, на послідовність синтаксичних елементів згідно з попередньо визначеною синтаксичною структурою, яка описує певні типи синтаксичних елементів, їх семантику і порядок серед них. Ентропійний кодер і ентропійний декодер з Фіг. 4 і 5 можуть конфігуруватися для роботи і можуть структуруватися, як вказано далі. Те ж саме відповідає за виконання перетворення між послідовністю синтаксичних елементів і потоком даних, тобто, символьним або бітовим потоком.
Ентропійний кодер згідно з варіантом виконання зображений на Фіг. 7. Кодер без втрат перетворює потік синтаксичних елементів 301 на множину з двох або більшої кількості часткових бітових потоків 312.
Зо В переважному варіанті виконання винаходу кожен синтаксичний елемент 301 зв'язується з категорією множини з однієї або більшої кількості категорій, тобто, типом синтаксичного елемента. Як приклад, категорії можуть специфікувати тип синтаксичного елемента. В контексті гібридного кодування відеоданих окрема категорія може зв'язуватися з режимами макроблочного кодування, режимами блочного кодування, індексами еталонної картинки, різницями векторів руху, ідентифікаторами підрозбиття, ідентифікаторами кодованих блоків, параметрами дискретизації, рівнями значущості коефіцієнта перетворення і так далі. В інших областях застосування, таких як аудіокодування, кодування мови, кодування тексту, кодування документа або кодування загальних даних, можливі різні категоризації синтаксичних елементів.
Загалом, кожен синтаксичний елемент може приймати величину із скінченої або зчисленної нескінченої множини величин, де множина можливих величин синтаксичних елементів може відрізнятися для різних категорій синтаксичних елементів. Наприклад, існують бінарні синтаксичні елементи, а також цілі синтаксичні елементи.
Для зниження складності алгоритму кодування і декодування, і для надання можливості виконання загальної схеми кодування і декодування для різних синтаксичних елементів і категорій синтаксичних елементів, синтаксичні елементи 301 перетворюються на упорядковані множини бінарних рішень і ці бінарні рішення потім обробляються простими алгоритмами бінарного кодування. Тому, бінаризатор 302 бієктивно перетворює величину кожного синтаксичного елемента 301 на послідовність (або рядок або слово) з двійкових кодів 303.
Послідовність двійкових кодів 303 представляє множину упорядкованих бінарних рішень.
Кожний двійковий код 303 або бінарне рішення може приймати одну величину з множини з двох величин, наприклад, одну з величин, вибрану з 0 і 1. Схема бінаризації може відрізнятися для різних категорій синтаксичних елементів. Схема бінаризації для окремої категорії синтаксичних елементів може залежати від множини можливих величин синтаксичних елементів і/або інших властивостей синтаксичного елемента для окремої категорії.
Таблиця 1 зображає три ілюстративні схеми бінаризації для зчисленних нескінчених множин. Схеми бінаризації для зчисленних нескінчених множин можуть також застосовуватися для скінчених множин величин синтаксичних елементів. Зокрема, для великих скінчених множин величин синтаксичних елементів неефективність (одержувана з невикористаних послідовностей двійкових кодів) може бути нехтуваною, але універсальність таких схем бінаризації надає бо перевагу з точки зору складності та вимог до пам'яті. Для малих скінчених множин величин синтаксичних елементів часто вигідно (з точки зору ефективності кодування) адаптувати схему бінаризації до кількості можливих символьних величин.
Таблиця 2 зображає три ілюстративні схеми б наризації для скінчених множин з 8 величин.
Схеми бінаризації для скінчених множин можна одержати з універсальних схем бінаризації для зчисленних нескінчених множин шляхом модифікації деяких послідовностей двійкових кодів у такий спосіб, що скінчені множини послідовностей двійкових кодів представляють код без резервування (і який потенційно повторно упорядковує послідовності двійкових кодів). Як приклад, схема бінаризації з використанням усічених унарних кодів в Таблиці 2 була створена шляхом модифікації послідовності двійкових кодів для синтаксичного елемента 7 бінаризації з використанням універсальних унарних кодів (дивіться Таблицю 1), Переупорядкована бінаризація з використанням експоненціальних кодів Голомба порядку 0 в Таблиці 2 створена модифікацією послідовності двійкових кодів для синтаксичного елемента 7 бінаризації з використанням універсальних експоненціальних кодів Голомба порядку 0 (дивіться Таблицю 1) і повторним упорядкуванням послідовностей двійкових кодів (послідовність усічених двійкових кодів для символу 7 присвоєна символу 1). Для скінчених множин синтаксичних елементів також можна використовувати несистематичні/неуніверсальні схеми бінаризації, як ілюструється в останньому стовпчику Таблиці 2.
Таблиця 1
Приклади бінаризації для зчисленних нескінчених множин (або великих скінчених множин)
Бінаризація з Бінаризація з Бінаризація з
Символьна величина використанням використанням використанням унарних кодів експоненціальних кодів | експоненціальних кодів
Голомба порядку 0 Голомба порядку 1 0 1 1 10 1 01 010 11 2 001 011 0100
З 0001 00100 0101 4 0000 1 00101 0110 5 0000 01 00110 0111 б 000о 001 0011 1 0010 00 7 0о0о 0001 0001 000 0010 01
Таблиця 2
Приклади бінаризації для скінчених множин
Бінаризація з переупорядкована
Символьна використанням бінаризація з використанням Несистематична величина усіченого унарного | експоненціальних усічених бінаризація коду кодів Голомба порядку 0 0 1 1 000 1 01 (0/0) 001 2 001 010 01
З 0001 011 1000 4 0000 1 00100 1001 5 0000 01 00101 1010 б 0000 001 00110 10110 7 робо 000 00111 1011 1
Кожен двійковий код 303 послідовності двійкових кодів, створеної бінаризатором 302, подається в присвоювач 304 параметрів у послідовному порядку. Присвоювач параметрів присвоює множину з одного або більшої кількості параметрів кожному двійковому коду 303 і видає двійковий код 3 відповідною множиною параметрів 305. Множина параметрів визначається точно одним і тим же способом в кодері і декодері. Множина параметрів може складатися з одного або більшої кількості наступних параметрів:
Зокрема, присвоювач 304 параметрів може конфігуруватися для присвоювання поточному двійковому коду 303 моделі контексту. Наприклад, присвоювач 304 параметрів може вибирати один з доступних індексів контексту для поточного двійкового коду 303. Доступна множина контекстів для поточного двійкового коду 303 може залежати від типу двійкового коду, який, у свою чергу, може визначатися типом/категорією синтаксичного елемента 301, в результаті бінаризації якого поточний двійковий код 303 є його частиною, а положення поточного двійкового коду 303 знаходиться в пізнішій бінаризації. Вибір контексту серед множини доступних контекстів може залежати від попередніх двійкових кодів і синтаксичних елементів, пов'язаних з ними. Кожен з цих контекстів має модель ймовірності, зв'язану з ним, тобто, засіб для оцінки ймовірності для поточної інформаційної величини набуття одного з двох можливих значень інформаційної величини. Модель ймовірності може, зокрема, бути засобом для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення, при цьому модель ймовірності додатково визначається ідентифікатором, який специфікує оцінку, яке з двох можливих значень інформаційної величини представляє Її менш ймовірне або більш ймовірне значення поточного двійкового коду 303. У випадку просто одного контексту, який доступний для поточної інформаційної величини, вибір контексту може не виконуватися. Як буде описано детальніше нижче, присвоювач 304 параметрів може також виконувати адаптацію моделі ймовірності для адаптації моделей ймовірностей, зв'язаних з різними контекстами, до реальної статистики відповідних інформаційних величин, які належать відповідним контекстам.
Як буде також детальніше описуватися нижче, присвоювач 304 параметрів може працювати диференційно в залежності від високоефективного режиму (НЕ) або режиму низької складності (ІС), який активується. В обох режимах модель ймовірності зв'язує поточну інформаційну величину двійкового коду 303 з будь-яким з двійкових кодерів 310, як буде описано нижче, а режим роботи присвоювача 304 параметрів має тенденцію бути менш складним в режимі І С, однак, ефективність кодування зростає у високоефективному режимі внаслідок того, що присвоювач 304 параметрів, який зв'язує окремі інформаційні величини двійкового коду 303 з окремими кодерами 310, акуратніше адаптований до статистики інформаційних величин, таким чином оптимізуючи ентропію відносно режиму І б.
Зо Кожна інформаційна величина з відповідною множиною параметрів 305, яка є виходом присвоювача 304 параметрів, подається до двійкового буферного селектора 306. Двійковий буферний селектор 306 потенційно модифікує значення вхідної інформаційної величини 305 на основі її значення і відповідних параметрів 305, і подає вихідну інформаційну величину 307 з потенційно модифікованим значенням до одного з двох або більшої кількості двійкових буферів 308. Двійковий буфер 308, до якого надсилається вихідна інформаційна величина 307, визначається на основі значення вхідної інформаційної величини 305 і/або величини відповідних параметрів 305.
В переважному варіанті виконання винаходу двійковий буферний селектор 306 не модифікує значення інформаційної величини, тобто, вихідна інформаційна величина 307 має завжди те ж значення, що й вхідна інформаційна величина 305. В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 306 визначає значення вихідної інформаційної величини 307 на основі значення вхідної інформаційної величини 305 і відповідне значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 307 встановлюється рівним значенню вхідної інформаційної величини 305, якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень менше за (або менше або рівне) конкретне порогове значення; якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень більше або рівне (або більше) конкретного порогового значення, то значення вихідної інформаційної величини 307 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В подальшому переважному варіанті виконання винаходу значення вхідної інформаційної величини 307 встановлюється рівним значенню вхідної інформаційної величини 305, якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень більше за (або більше або рівне) конкретне порогове значення; якщо значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох можливих її значень менше або рівне (або менше) конкретному пороговому значенню, то значення вихідної інформаційної величини 307 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В переважному варіанті виконання винаходу значення порогу відповідає величині 0,5 для оціненої ймовірності набуття обох можливих значень інформаційної величини.
В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 306 визначає значення вихідної інформаційної величини 307 на основі значення вхідної інформаційної величини 305 і відповідного ідентифікатора, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє менш ймовірне або більш ймовірне значення для поточної інформаційної величини. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 307 встановлюється рівним значенню вхідної інформаційної величини 305, якщо ідентифікатор специфікує, що перше з двох можливих значень інформаційної величини представляє менш ймовірне (або більш ймовірне) значення для поточної інформаційної величини, а значення вихідної інформаційної величини 307 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини), якщо ідентифікатор специфікує, що друге з двох можливих значень інформаційної величини представляє менш ймовірне (або більш ймовірне) значення для поточної інформаційної величини.
В переважному варіанті виконання винаходу двійковий буферний селектор 306 визначає двійковий буфер 308, до якого надсилається значення вихідної інформаційної величини 307, на основі відповідного значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень. В переважному варіанті виконання винаходу множина можливих значень для визначення оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень є скінченою і двійковий буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень, де різні значення для визначення оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень можуть зв'язуватися з одним і тим же двійковим буфером 308. В подальшому переважному варіанті виконання винаходу інтервал можливих значень для визначення оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень ділиться на ряд інтервалів, двійковий буферний селектор 306 визначає індекс інтервалу для поточного значення для оцінки ймовірності набуття
Зо поточною інформаційною величиною одного з двох її можливих значень і двійковий буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 308. В переважному варіанті виконання винаходу вхідні інформаційні величини 305 з протилежними значеннями для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень (протилежні значення є ті, які представляють оцінки ймовірності Р і 1 - Р) надсилаються в один і той же двійковий буфер 308. В подальшому переважному варіанті виконання винаходу зв'язування значення для оцінки ймовірності набуття поточною інформаційною величиною одного з двох її можливих значень з окремим двійковим буфером адаптується з часом, наприклад, для гарантії того, що створені часткові потоки бітів мають подібні швидкості передачі бітів. Далі нижче, індекс інтервалу буде також називатися ріре індексом, тоді як ріре індекс разом з індексом деталізації і ідентифікатором, який вказує більш ймовірне значення інформаційної величини, індексують фактичну модель ймовірності, тобто, оцінку ймовірності.
В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 306 визначає двійковий буфер 308, до якого надсилають вихідну інформаційну величину 307, на основі відповідного значення для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення. В переважному варіанті виконання винаходу множина можливих значень для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення є скінченою і двійковий буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення, де різні значення для визначення оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення можуть зв'язуватися з одним і тим же двійковим буфером 308. В подальшому переважному варіанті виконання винаходу інтервал можливих значень для визначення оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення ділиться на ряд інтервалів, двійковий буферний селектор 306 визначає індекс інтервалу для поточного визначення оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення, а двійковий 60 буферний селектор 306 містить таблицю, яка точно зв'язує один двійковий буфер 308 з кожним можливим значенням для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 308. В подальшому переважному варіанті виконання винаходу зв'язування значення для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення з окремим двійковим буфером адаптується з часом, наприклад, для гарантії того, що створені часткові потоки бітів мають подібні швидкості передачі бітів.
Кожен з двох або більшої кількості двійкових буферів 308 з'єднаний точно з одним двійковим кодером 310 і кожен двійковий кодер з'єднаний тільки з одним двійковим буфером 308. Кожен двійковий кодер 310 зчитує інформаційні величини з відповідного двійкового буфера 308 і перетворює послідовність інформаційних величин 309 на кодове слово 311, яке представляє послідовність бітів. Двійкові буфери 308 представляють буфери, які працюють по принципу "першим надійшов-першим вийшов"; інформаційні величини, які подаються пізніше (у послідовному порядку) у двійковий буфер 308, не кодуються перед інформаційним величинами, які подаються раніше (у послідовному порядку) у двійковий буфер. Кодові слова 311, які є виходом з окремого двійкового кодера 310, записуються в окремий частковий потік бітів 312.
Загальний алгоритм кодування перетворює синтаксичні елементи 301 на два або більшу кількість часткових потоків бітів 312, де кількість часткових потоків бітів дорівнює кількості двійкових буферів і двійкових кодерів. В переважному варіанті виконання винаходу двійковий кодер 310 перетворює змінну кількість інформаційних величин 309 на кодове слово 311 із змінною кількістю бітів. Однією перевагою вище- і нижчеописаних варіантів виконання винаходу є те, що кодування інформаційних величин може здійснюватися паралельно (наприклад, для різних груп значень ймовірності), що зменшує тривалість обробки для декількох втілень.
Іншою перевагою варіантів виконання винаходу є те, що кодування інформаційних величин, яке виконується двійковими кодерами 310, може спеціально розроблятися для різних множин параметрів 305. Зокрема, кодування і декодування інформаційних величин можуть оптимізуватися (з точки зору ефективності кодування і/або складності) для різних груп оцінених ймовірностей. З одного боку, це дозволяє послабити складність кодування/декодування і, з іншого боку, це дозволяє покращити ефективність кодування. В переважному варіанті виконання винаходу двійкові кодери 310 втілюють різні алгоритми кодування (тобто,
Зо перетворення послідовностей інформаційних величин на кодові слова) для різних груп значень оцінки ймовірності набуття поточною інформаційною величиною одного з її двох можливих значень. В подальшому переважному варіанті виконання винаходу двійкові кодери 310 втілюють різні алгоритми кодування для різних груп значень для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення.
В переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 на кодові слова 310. Такі перетворення можуть ефективно виконуватися і не вимагають складного арифметичного кодувального засобу. Обернене перетворення кодових слів на послідовності інформаційних величин (як це робиться в декодері) повинне бути унікальним для гарантії досконалого декодування вхідної послідовності, але перетворення послідовностей 309 інформаційних величин на кодові слова 310 необов'язково потребує бути унікальною, тобто, можна, щоб окрему послідовність інформаційних величин можна було перетворювати на більше ніж одну послідовність кодових слів. В переважному варіанті виконання винаходу перетворення послідовностей вхідних інформаційних величин 309 на кодові слова 310 є бієктивним. В подальшому переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 змінної довжини на кодові слова 310 змінної довжини. В переважному варіанті виконання винаходу вихідні кодові слова представляють коди без надлишку, такі як загальні коди Хаффмана або канонічні коди Хаффмана.
Два приклади для бієктивного перетворення послідовностей інформаційних величин на коди без надлишку зображені в Таблиці 3. В подальшому переважному варіанті виконання винаходу вихідні кодові слова представляють надлишкові коди, придатні для виявлення помилки і виправлення помилки. В подальшому переважному варіанті виконання винаходу вихідні кодові слова представляють шифрувальні коди, придатні для шифрування синтаксичних елементів. (510)
Таблиця З
Приклади для перетворень між послідовностями інформаційних величин і кодовими словами послідовність інформаційних величин (порядок інформаційної величини зліва кодові слова (порядок бітів зліва направо) направо) послідовність інформаційних величин (порядок інформаційної величини зліва кодові слова (порядок бітів зліва направо) направо) пи ту Я ПО ГПО
В подальшому переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 змінної довжини на кодові слова 310 фіксованої довжини. В подальшому переважному варіанті виконання винаходу двійкові кодери 310 (або один або більша кількість двійкових кодерів) представляють ентропійні кодери, які безпосередньо перетворюють послідовності вхідних інформаційних величин 309 фіксованої довжини на кодові слова 310 змінної довжини.
Декодер згідно з варіантом виконання винаходу зображений на Фігурі 8. Декодер виконує головним чином інверсні операції кодера таким чином, що (попередньо кодована) послідовність синтаксичних елементів 327 декодуються з множини з двох або більшої кількості часткових потоків бітів 324. Декодер містить два різні технологічні потоки: потік для інформаційних запитів, який копіює потік даних кодера, і потік даних, який представляє інверсію потоку даних кодера.
На Фіг. 8 стрілки, позначені пунктирними лініями, представляють потік інформаційних запитів, тоді як стрілки, позначені суцільною лінією, представляють потік даних. Стандартні блоки декодера головним чином копіюють стандартні блоки кодера, але виконують обернені операції.
Декодування синтаксичного елемента запускається запитом на надання нового декодованого синтаксичного елемента 313, який надсилається до бінаризатора 314. В переважному варіанті виконання винаходу кожен запит на надання нового декодованого синтаксичного елемента 313 зв'язується з категорією множини однієї або більшої кількості категорій. Категорія, яка зв'язується із запитом на надання синтаксичного елемента, є тією ж що й категорія, яка була зв'язана з відповідним синтаксичним елементом під час кодування.
Бінаризатор 314 перетворює запит на надання синтаксичного елемента 313 на один або більшу кількість запитів на надання інформаційної величини, які надсилаються до присвоювача 316 параметрів. Як кінцеву відповідь на запит на надання інформаційної величини, який надсилається бінаризатором 314 до присвоювача 316 параметрів, бінаризатор 314 приймає декодовану інформаційну величину 326 від двійкового буферного селектора 318. Бінаризатор 314 порівнює прийняту послідовність декодованих двійкових кодів 326 з послідовностями
Зо двійкових кодів окремої схеми бінаризації для запрошеного синтаксичного елемента і, якщо прийнята послідовність декодованих двійкових кодів 326 відповідає результатам бінаризації синтаксичного елемента, то бінаризатор спорожнює свій двійковий буфер і видає декодований синтаксичний елемент як остаточну відповідь на запит на надання нового декодованого символу. Якщо вже прийнята послідовність декодованих двійкових кодів не відповідає жодній з послідовностей двійкових кодів для схеми бінаризації для запрошеного синтаксичного елемента, то бінаризатор надсилає інший запит на надання інформаційної величини до присвоювача параметрів до тих пір, доки послідовність декодованих двійкових кодів не відповідатиме одній з послідовностей двійкових кодів схеми бінаризації для запрошеного синтаксичного елемента. Для кожного запиту на надання синтаксичного елемента декодер використовує одну і ту ж схему бінаризації, яку використовували для кодування відповідного синтаксичного елемента. Схема бінаризації може відрізнятися для різних категорій синтаксичних елементів. Схема бінаризації для окремої категорії синтаксичного елемента може залежати від множини можливих значень синтаксичного елемента і/або інших властивостей синтаксичних елементів для окремої категорії.
Присвоювач 316 параметрів присвоює множину з одного або більшої кількості параметрів кожному запиту на надання інформаційної величини і надсилає запит на надання інформаційної величини з відповідною множиною параметрів до двійкового буферного селектора. Множина параметрів, які присвоюються запрошеній інформаційній величині присвоювачем параметрів, є тією ж, що була присвоєна відповідній інформаційній величині під час кодування. Множина параметрів може складатися з одного або більшої кількості параметрів, які згадуються в описі кодера з Фіг. 7.
В переважному варіанті виконання винаходу присвоювач 316 параметрів зв'язує кожен запит на надання інформаційної величини з одними і тими ж параметрами, що й присвоювач 304 параметрів, тобто, контекст і його відповідне значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, таке як значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення і ідентифікатор, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення для поточної запрошеної інформаційної величини.
Зо Присвоювач 316 параметрів може визначати одну або більшу кількість вищезгаданих значень ймовірності (значення оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення, ідентифікатор, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення для поточної запрошеної інформаційної величини) на основі множини з одного або більшої кількості вже декодованих символів. Визначення значень ймовірності для окремого запиту на надання інформаційної величини копіює процес в кодері для відповідної інформаційної величини. Декодовані символи, які використовуються для визначення величин ймовірності, можуть включати один або більшу кількість вже декодованих символів однієї і тієї ж категорії, які відповідають множинам даних (таким як блоки або групи зразків) про сусідні просторові і/або тимчасові розташування (відносно множини даних, зв'язаної з поточним запитом на надання синтаксичного елемента), або один або більшу кількість вже декодованих символів різних категорій, які відповідають множинам даних про однакові і/або сусідні просторові, і/або тимчасові розташування (відносно множини даних, зв'язаної з поточним запитом на надання синтаксичного елемента).
Кожен запит на надання інформаційної величини з відповідною множиною параметрів 317, яка є виходом присвоювача 316 параметрів, подається у двійковий буферний селектор 318. На основі відповідної множини параметрів 317 двійковий буферний селектор 318 надсилає запит на надання інформаційної величини 319 до одного з двох або більшої кількості двійкових буферів 320 і приймає декодовану інформаційну величину 325 від вибраного двійкового буфера 320. Декодована вхідна інформаційна величина 325 потенційно модифікується і декодована вихідна інформаційна величина 326 (з потенційно модифікованим значенням) надсилається до бінаризатора 314 як кінцева відповідь на запит на надання інформаційної величини з відповідною множиною параметрів 317.
Двійковий буфер 320, до якого надсилається запит на надання інформаційної величини, вибирається тим же способом, що й двійковий буфер, до якого була надіслана вихідна інформаційна величина двійкового буферного селектора на кодувальній стороні.
В переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає 60 двійковий буфер 320, до якого надсилається запит на надання інформаційної величини 319, на основі відповідного значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень. В переважному варіанті виконання винаходу множина можливих значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень є скінченою, а двійковий буферний селектор 318 містить таблицю, яка точно зв'язує один двійковий буфер 320 з кожним можливим значенням оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, де різні значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень можуть зв'язуватися з одним і тим же двійковим буфером 320. В подальшому переважному варіанті виконання винаходу інтервал можливих значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень ділиться на ряд інтервалів, двійковий буферний селектор 318 визначає індекс інтервалу для поточної оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень і двійковий буферний селектор 318 містить таблицю, яка точно зв'язує один двійковий буфер 320 з кожним можливим значенням для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 320. В переважному варіанті виконання винаходу запити на надання інформаційних величин 317 з протилежними значеннями для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень (протилежні значення є тими, які представляють оцінки ймовірностей Р і 1 - Р) надсилаються до одного і того ж двійкового буфера 320. В подальшому переважному варіанті виконання винаходу зв'язування значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень з конкретним двійковим буфером адаптується з часом.
В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає двійковий буфер 320, до якого надсилається запит на надання інформаційної величини 319, на основі відповідного значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення. В переважному варіанті виконання винаходу множина можливих значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш
Зо ймовірного значення є скінченою і двійковий буферний селектор 318 містить таблицю, яка точно зв'язує один двійковий буфер 320 з кожним можливим значенням оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення, де різні значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення можуть зв'язуватися з одним і тим же двійковим буфером 320. В подальшому переважному варіанті виконання винаходу інтервал можливих величин для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення ділиться на ряд інтервалів, двійковий буферний селектор 318 визначає індекс інтервалу для поточної оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення і двійковий буферний селектор 318 містить таблицю, яка точно зв'язує один двійковий буфер 320 з кожним можливим значення для індексу інтервалу, де різні значення для індексу інтервалу можуть зв'язуватися з одним і тим же двійковим буфером 320. В подальшому переважному варіанті виконання винаходу зв'язування оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення з окремим двійковим буфером адаптується з часом.
Після одержання декодованої інформаційної величини 325 від вибраного двійкового буфера 320 двійковий буферний селектор 318 потенційно модифікує вхідну інформаційну величину 325 і надсилає вихідну інформаційну величину 326 (з потенційно модифікованим значенням) до бінаризатора 314. Перетворення вхідної/вихідної інформаційної величини двійкового буферного селектора 318 є оберненим перетворенням вхідної/вихідної інформаційної величини двійкового буферного селектора на кодувальній стороні.
В переважному варіанті виконання винаходу двійковий буферний селектор 318 не змінює значення інформаційної величини, тобто, вихідна інформаційна величина 326 завжди має одне і те ж значення, що й вхідна інформаційна величина 325. В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає значення вихідної інформаційної величини 326 на основі значення вхідної інформаційної величини 325 і значення для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень, яке зв'язане із запитом на надання інформаційної величини 317. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 326 бо встановлюється рівним значенню вхідної інформаційної величини 325, якщо значення ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень менше, ніж (або менше ніж або дорівнює) окреме порогове значення; якщо значення ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень більше або дорівнює (або більше за) окремому пороговому значенню, то значення вихідної інформаційної величини 326 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В подальшому переважному варіанті виконання винаходу значення вихідної інформаційної величини 326 встановлюється рівним значенню вхідної інформаційної величини 325, якщо значення ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень більше за (або більше за або дорівнює) окреме порогове значення; якщо значення ймовірності на набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень менше ніж або дорівнює (або менше ніж) окремому пороговому значенню, то значення вихідної інформаційної величини 326 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини). В переважному варіанті виконання винаходу значення порогу відповідає величині 0,5 для оціненої ймовірності набуття поточною запрошеною інформаційною величиною обох її можливих величин.
В подальшому переважному варіанті виконання винаходу двійковий буферний селектор 318 визначає значення вихідної інформаційної величини 326 на основі значення вхідної інформаційної величини 325, а ідентифікатор, який специфікує оцінку, завдяки якій одне з двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення для поточної запрошеної інформаційної величини, яке зв'язане із запитом на надання інформаційної величини 317. В переважному варіанті виконання винаходу значення вихідної інформаційної величини 326 встановлюється рівним значенню вхідної інформаційної величини 325, якщо ідентифікатор специфікує, що перше з двох можливих значень інформаційної величини представляє її менш ймовірне (або більш ймовірне) значення для поточної запрошеної інформаційної величини і значення вихідної інформаційної величини 326 модифікується (тобто, воно встановлюється рівним протилежному значенню вхідної інформаційної величини), якщо ідентифікатор специфікує, що друге з двох можливих значень інформаційної величини представляє її менш ймовірне (або більш ймовірне) значення для
Зо поточної запрошеної інформаційної величини.
Як описано вище, двійковий буферний селектор надсилає запит на надання інформаційної величини 319 одному з двох або більшої кількості двійкових буферів 320. Двійкові буфери 20 являють собою буфери, які працюють по принципу "першим прийшов першим вийшов", до яких подаються послідовності декодованих інформаційних величин 321 від під'єднаних двійкових декодерів 322. Як відповідь на запит на надання інформаційної величини 319, яка надсилається до двійкового буфера 320 від двійкового буферного селектора 318, двійковий буфер 320 видаляє інформаційну величину з свого контенту, який спершу був поданий в двійковий буфер 320, і надсилає його до двійкового буферного селектора 318. Інформаційні величини, які раніше надсилаються до двійкового буфера 320, раніше видаляються і надсилаються до двійкового буферного селектора 318.
Кожен з двох або більшої кількості двійкових буферів 320 точно з'єднаний з одним двійковим декодером 322 і кожен двійковий декодер з'єднаний тільки з одним двійковим буфером 320.
Кожен двійковий декодер 322 зчитує кодові слова 323, які представляють послідовності бітів, з окремого часткового потоку бітів 324. Двійковий декодер перетворює кодове слово 323 на послідовність інформаційних величин 321, яка надсилається до під'єднаного двійкового буфера 320. Загальний алгоритм декодування перетворює два або більшу кількість часткових потоків бітів 324 на ряд декодованих синтаксичних елементів, де кількість часткових потоків бітів дорівнює кількості двійкових буферів і двійкових декодерів, а декодування синтаксичних елементів запускається запитами на надання нових синтаксичних елементів. В переважному варіанті виконання винаходу двійковий декодер 322 перетворює кодові слова 323 із змінною кількістю бітів на послідовність змінної кількості інформаційних величин 321. Одна перевага варіантів виконання винаходу полягає в тому, що декодування інформаційних величин з двох або більшої кількості часткових потоків бітів може виконуватися паралельно (наприклад, для різних груп значень ймовірності), що зменшує час обробки для декількох втілень.
Інша перевага варіантів виконання винаходу полягає в тому, що декодування інформаційних величин, яке виконується двійковими декодерами 322, може спеціально розроблятися для різних множин параметрів 317. Зокрема, кодування і декодування інформаційних величин можуть оптимізуватися (з точки зору ефективності кодування і/або складності) для різних груп оцінених ймовірностей. З одного боку, це дозволяє послаблення складності 60 кодування/декодування відносно алгоритмів ентропійного кодування рівня техніки з подібною ефективністю кодування. З іншого боку, це дозволяє покращити ефективність кодування відносно алгоритмів ентропійного кодування рівня техніки з подібною складністю кодування/декодування. В переважному варіанті виконання винаходу двійкові декодери 322 втілюють різні алгоритми декодування (тобто, перетворення послідовностей інформаційних величин на кодові слова) для різних груп значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною одного з двох її можливих значень 317. В подальшому переважному варіанті виконання винаходу двійкові декодери 322 втілюють різні алгоритми декодування для різних груп значень для оцінки ймовірності набуття поточною запрошеною інформаційною величиною її менш ймовірного або більш ймовірного значення.
Двійкові декодери 322 виконують обернене перетворення відносно перетворення, здійснюваного відповідними двійковими кодерами на кодувальній стороні.
В переважному варіанті виконання винаходу двійкові декодери 322 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 на послідовності інформаційних величин 321. Такі перетворення можуть ефективно виконуватися і не вимагають складного арифметичного кодувального засобу. Перетворення кодових слів на послідовності інформаційних величин повинно бути унікальним. В переважному варіанті виконання винаходу перетворення кодових слів 323 на послідовності інформаційних величин 321 є бієктивним. В подальшому переважному варіанті виконання винаходу двійкові декодери 310 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 змінної довжини на послідовності інформаційних величин 321 змінної довжини. В переважному варіанті виконання винаходу вхідні кодові слова представляють коди без надлишку, такі як загальні коди Хаффмана або канонічні коди Хаффмана. Два приклади для бієктивного перетворення кодів без надлишку на послідовності інформаційних величин вказані в
Таблиці 3.
В подальшому переважному варіанті виконання винаходу двійкові декодери 322 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 фіксованої довжини на послідовності інформаційних величин 321 змінної довжини. В подальшому переважному варіанті виконання
Ко) винаходу двійкові декодери 322 (або один або більша кількість двійкових декодерів) представляють ентропійні декодери, які безпосередньо перетворюють кодові слова 323 змінної довжини на послідовності інформаційних величин 321 фіксованої довжини.
Таким чином, Фіг. 7 і 8 зображають варіант виконання кодера для кодування послідовності символів З і декодер для їх відновлення. Кодер містить присвоювач 304, сконфігурований для присвоєння ряду параметрів 305 кожному символу послідовності символів. Присвоєння базується на інформації, яка міститься в попередніх символах послідовності символів, такій як категорія синтаксичного елемента 1 для представлення, такого як бінаризація, якому належить поточний символ і яке, згідно з синтаксичною структурою синтаксичних елементів 1, на даний момент очікується, очікування якого, у свою чергу, можна одержати з історії попередніх синтаксичних елементів 1 і символів 3. Окрім того, кодер містить множину ентропійних кодерів 10, кожен з яких сконфігурований для перетворення символів 3, надісланих до відповідного ентропійного кодера, на відповідний потік бітів 312, і селектор 306, сконфігурований для надсилання кожного символу З до вибраного одного з множини ентропійних кодерів 10, при цьому вибір залежить від кількості параметрів 305, присвоєних відповідному символу 3.
Присвоювач 304 міг би передбачатися інтегрованим в селектор 206 для одержання відповідного селектора 502.
Декодер для відновлення послідовності символів містить множину ентропійних декодерів 322, кожен з яких сконфігурований для перетворення відповідного потоку бітів 323 на символи 321; присвоювач 316, сконфігурований для присвоєння ряду параметрів 317 кожному символу 315 послідовності символів, які відновлюються на основі інформації, яка міститься в попередньо відновлених символах послідовності символів (дивіться позиції 326 і 327 на Фіг. 8); і селектор 318, сконфігурований для одержання кожного символу послідовності символів, які відновлюються, з вибраного одного з множини ентропійних кодерів 322, при цьому вибір залежить від кількості параметрів, визначених для відповідного символу. Присвоювач 316 може конфігуруватися так, що кількість параметрів, присвоєних кожному символу, містить або є засобом для оцінки ймовірності розподілу можливих значень символу, які він може припускати.
Знову, присвоювач 316 і селектор 318 можуть передбачатися як інтегровані в один блок - селектор 402. Послідовність символів, які відновлюються, може бути бінарним алфавітом і присвоювач 316 може конфігуруватися так, що оцінка розподілу ймовірності складається із бо значення для оцінки ймовірності набуття поточною інформаційною величиною її менш ймовірного або більш ймовірного значення з двох її можливих значень бінарного алфавіту, а ідентифікатор, який специфікує оцінку, завдяки якій одне 3 двох можливих значень інформаційної величини представляє її менш ймовірне або більш ймовірне значення.
Присвоювач 316 може додатково конфігуруватися для внутрішнього присвоювання контексту кожному символу послідовності символів 315, які відновлюються на основі інформації, яка міститься в попередньо відновлених символах послідовності символів, які відновлюються, при цьому кожен контекст має відповідну зв'язану з ним оцінку розподілу ймовірності, і для адаптації оцінки розподілу ймовірності для кожного контексту до реальної символьної статистики на основі значень попередньо відновлених символів, якій присвоєний відповідний контекст.
Контекст може брати до уваги просторовий зв'язок або сусідство положень, яким належать синтаксичні елементи, такі як у кодуванні відеоданих або кодуванні картинки, або навіть в таблицях у випадку застосувань у фінансовій сфері. Потім, значення для оцінки розподілу ймовірності для кожного символу може визначатися на основі оцінки розподілу ймовірності, зв'язаної з контекстом, присвоєного відповідному символу, як наприклад за допомогою дискретизації, або використовуючи індекс у відповідній таблиці, на основі оцінки розподілу ймовірності, зв'язаної з контекстом, присвоєного відповідним символом (у нижченаведених варіантах виконання, індексованих ріре індексом разом з індексом деталізації) одному з множини представників оцінки розподілу ймовірності (відрізняється від індексу деталізації) для одержання значення оцінки розподілу ймовірності (ріре індекс, який позначає частковий потік бітів 312). Селектор може конфігуруватися так, що між множиною ентропійних кодерів і множиною представників оцінки розподілу ймовірності визначається бієктивний зв'язок.
Селектор 18 може конфігуруватися для зміни дискретного перетворення з інтервалу оцінок розподілу ймовірності на множину представників оцінки розподілу ймовірності наперед встановленим детерміністичним способом в залежності від попередньо відновлених символів послідовності символів протягом часу. Тобто, селектор 318 може змінювати розміри кроку дискретизації, тобто, інтервали розподілу ймовірності, перетворені на окремі індекси ймовірності, бієктивно зв'язані з окремими ентропійними декодерами. Множина ентропійних декодерів 322, у свою чергу, може конфігуруватися для адаптації свого способу перетворення символів на потоки бітів, яка відповідає за зміну в дискретному перетворенні. Наприклад, кожен
Зо ентропійний декодер 322 може оптимізуватися, тобто, може мати оптимальний коефіцієнт стискання для певної оцінки розподілу ймовірності у відповідному інтервалі дискретизації оцінки розподілу ймовірності і може змінювати перетворення своєї послідовності кодових слів/символів для адаптації положення цієї певної оцінки розподілу ймовірності у відповідному інтервалі дискретизації оцінки розподілу ймовірності при зміні останнього для його оптимізації. Селектор може конфігуруватися для зміни дискретного перетворення так, що швидкості, з якими символи виділяються з множини ентропійних декодерів, робляться менш розкиданими. Щодо бінаризатора 314, відмічається, що він може усуватися, якщо синтаксичні елементи є вже двійковими. Окрім того, в залежності від типу декодера 322, існування буферів 320 не потрібне.
Окрім того, буфери можуть інтегруватися в декодери.
Закінчення скінчених послідовностей синтаксичних елементів
В переважному варіанті виконання винаходу кодування і декодування виконується для скінченої множини синтаксичних елементів. Часто кодується певна кількість даних, таких як нерухоме зображення, кадр або поле послідовності відеоданих, частина зображення, частина кадру або поля послідовності відеоданих, або множина послідовних аудіозразків і так далі. Для скінчених множин синтаксичних елементів, головним чином, часткові потоки бітів, які створюються на кодувальній стороні, повинні закінчуватися, тобто, слід гарантувати можливість декодування усіх синтаксичних елементів з переданих або збережених часткових потоків бітів.
Після введення останньої інформаційної величини у відповідний двійковий буфер 308, двійковий кодер 310 повинен гарантувати запис повного кодового слова в частковий потік бітів 312. Якщо двійковий кодер 310 представляє ентропійний кодер, який втілює пряме перетворення послідовностей інформаційних величин на кодові слова, то послідовність інформаційних величин, яка зберігається в двійковому буфері після запису останньої інформаційної величини у двійковий буфер, може не представляти послідовність інформаційних величин, яка зв'язується з кодовим словом (тобто, вона могла б представляти префікс двох або більшої кількості послідовностей інформаційних величин, які зв'язуються з кодовими словами).
У такому випадку, будь-яке з кодових слів, зв'язане з послідовністю інформаційних величин, яке містить послідовність інформаційних величин у двійковому буфері як префікс, повинно записуватися в частковий потік бітів (двійковий буфер повинен очищатися). Це могло б виконуватися вставлянням інформаційних величин з окремим або довільним значенням у бо двійковий буфер, доки не буде записане кодове слово. В переважному варіанті виконання винаходу двійковий кодер вибирає одне з кодових слів з мінімальною довжиною (на додаток до властивості, яка полягає в тому, що відповідна послідовність інформаційних величин повинна містити послідовність інформаційних величин у двійковому буфері як префікс). На декодувальній стороні двійковий декодер 322 може декодувати більше інформаційних величин, ніж вимагається для останнього кодового слова в частковому потоці бітів; ці інформаційні величини не запрошуються двійковим буферним селектором 318 і викидаються та ігноруються.
Декодування скінченої множини символів контролюється запитами на надання декодованих синтаксичних елементів; якщо не запрошується додатковий синтаксичний елемент для певної кількості даних, то декодування припиняється.
Передача і мультиплексування часткових потоків бітів
Часткові потоки бітів 312, які створюються кодером, можуть передаватися окремо або вони можуть мультиплексуватися в єдиний потік бітів, або кодові слова часткових потоків бітів можуть чергуватися в єдиному потоці бітів.
У варіанті виконання винаходу кожен частковий потік бітів для певної кількості даних записується в один пакет даних. Кількість даних може бути довільною множиною синтаксичних елементів, таких як нерухоме зображення, поле або кадр послідовності відеоданих, частина нерухомого зображення, частина поля або кадру послідовності відеоданих, або основа аудіовибірок і так далі.
В іншому переважному варіанті виконання винаходу два або більша кількість часткових потоків бітів для певної кількості даних або усі часткові потоки бітів для певної кількості даних мультиплексуються в один пакет даних. Структура пакета даних, який містить мультиплексовані часткові потоки бітів, зображена на Фігурі 9.
Пакет даних 400 складається із заголовка і одного розділу для даних кожного часткового потоку бітів (для розглядуваної кількості даних). Заголовок 400 пакета даних містить індикатори для поділу (решти) пакета даних на сегменти даних 402 потоку бітів. Окрім індикаторів для поділу заголовок може містити додаткову інформацію. У переважному варіанті виконання винаходу індикатори для поділу пакета даних є місцями початку сегментів даних, виражених у бітах або байтах, або множин бітів, або множин байтів. В переважному варіанті виконання винаходу розташування початку сегментів даних кодуються як абсолютні величини в заголовку пакета даних або відносно початку пакета даних або відносно кінця заголовка, або відносно початку попереднього пакета даних. В подальшому переважному варіанті виконання винаходу розташування початку сегментів даних кодуються диференціально, тобто, кодується тільки різниця між реальним початком сегмента даних і прогнозом для початку сегменту даних.
Прогноз може одержуватися на основі вже відомої або переданої інформації, такої як загальний розмір пакета даних, розмір заголовку, кількість сегментів даних в пакеті даних, розташування початку попередніх сегментів даних. В переважному варіанті виконання винаходу розташування початку першого пакета даних не кодується, а кодується передбачуване розташування на основі розміру заголовка пакета даних. На декодувальній стороні передані індикатори поділу використовуються для одержання інформації про початок сегментів даних. Сегменти даних потім використовуються як часткові потоки бітів і дані, які містяться в сегментах даних, надсилаються у відповідні двійкові декодери у послідовному порядку.
Існує декілька альтернатив для мультиплексування часткових потоків бітів з одержанням пакета даних. Одна альтернатива, яка може послабити потребу у побічній інформації, зокрема для випадків, у яких розміри часткових потоків бітів дуже подібні, зображена на Фіг. 10. Корисне навантаження пакета даних, тобто, пакет даних 410 без свого заголовка 411, ділиться на сегменти 412 наперед визначеним способом. Як приклад, корисне навантаження пакета даних може ділитися на сегменти однакового розміру. Потім кожен сегмент зв'язується з частковим потоком бітів або з першою частиною часткового потоку бітів 413. Якщо частковий потік бітів більший за відповідний сегмент даних, то його залишок 414 поміщається у невикористаний простір в кінці інших сегментів даних. Це може виконуватися у такий спосіб, що решта потоку бітів вставляється в зворотному порядку (починаючи з кінця сегмента даних), що зменшує побічну інформацію. Зв'язування решт часткових потоків бітів з сегментами даних і, коли до сегмента даних додається більше ніж один залишок, то початкова точка для одного або більшої кількості залишків повинна сигналізуватися всередині потоку бітів, наприклад в заголовку пакета даних.
Чергування кодових слів змінної довжини
Для деяких застосувань вищеописане мультиплексування часткових потоків бітів (для певної кількості синтаксичних елементів) в одному пакеті даних може мати наступні недоліки: з одного боку, для малих пакетів даних кількість бітів для побічної інформації, яка вимагається 60 для сигналізації поділу, може стати значущою відносно реальних даних в часткових потоках бітів, що, врешті решт, знижує ефективність кодування. З іншого боку, мультиплексування може не підходити для застосувань, які вимагають малої затримки (наприклад, проведення відеоконференцій). За допомогою описаного мультиплексування кодер не може починати передачу пакета даних перед повним формуванням часткових потоків бітів, оскільки розташування початку поділів перед цим не відомі. Окрім того, головним чином, декодер повинен чекати до тих пір, доки він не прийме початок останнього сегмента даних перед тим, як він зможе розпочати декодування пакета даних. Для застосувань у формі систем для проведення відеоконференцій, ці затримки можуть робити внесок у додаткову загальну затримку системи з декількох відеокартинок (зокрема, для швидкостей передачі бітів, які близькі до швидкості передачі даних, і для кодерів/декодерів, які вимагають часового інтервалу між двома картинками для кодування/декодування картинки), що є важливим для таких застосувань. Для усунення недоліків певних застосувань, кодер переважного варіанта виконання винаходу може конфігуруватися у такий спосіб, що кодові слова, які генеруються двома або більшою кількістю двійкових кодерів, чергуються в єдиному потоці бітів. Потік бітів з чергованими кодовими словами може безпосередньо надсилатися до декодера (при нехтуванні малою затримкою буфера, дивіться нижче). На декодувальній стороні два або більша кількість двійкових декодерів зчитують кодові слова безпосередньо з потоку бітів в порядку декодування; декодування може починатися з першим прийнятим бітом. Окрім того, не вимагається побічної інформації для сигналізації мультиплексування (або чергування) часткових потоків бітів.
Подальше послаблення складності декодера може досягатися, коли двійкові декодери 322 не зчитують кодові слова змінної довжини з глобального бітового буфера, а замість цього вони завжди зчитують послідовності бітів фіксованої довжини з глобального бітового буфера і додають ці послідовності бітів фіксованої довжини до локального бітового буфера, де кожен двійковий декодер 322 з'єднаний з окремим локальним бітовим буфером. Кодові слова змінної довжини потім зчитуються з локального бітового буфера. Тому, синтаксичний аналіз кодових слів змінної довжини може виконуватися паралельно, тільки доступ до послідовностей бітів фіксованої довжини повинен виконуватися синхронно, але такий доступ до послідовностей бітів фіксованої довжини зазвичай є дуже швидким таким чином, що загальна складність декодування може послаблюватися для деяких архітектур. Фіксована кількість інформаційних величин, які надсилаються до окремого локального бітового буфера, може бути іншою для іншого локального бітового буфера і вона може також змінюватися з часом в залежності від певних параметрів як подій в двійковому декодері, двійковому буфері або бітовому буфері.
Однак, кількість бітів, які зчитуються окремим доступом, не залежать від реальних бітів, які зчитуються під час окремого доступу, що є важливою відмінністю для зчитування кодових слів змінної довжини. Зчитування послідовностей бітів фіксованої довжини запускається певними подіями в двійкових буферах, двійкових декодерах або локальних бітових буферах. Як приклад, можна запрошувати зчитування нової послідовності бітів фіксованої довжини, коли кількість бітів, які присутні у підключеному бітовому буфері, падає нижче наперед встановленої порогової величини, де різні порогові величини можуть використовуватися для різних бітових буферів. В кодері потрібно гарантувати, щоб послідовності інформаційних величин фіксованої довжини вставлялися в одному і тому ж порядку в потік бітів, у якому вони зчитуються з потоку бітів на декодувальній стороні. Також можна поєднувати це чергування послідовностей фіксованої довжини з контролем малої затримки, подібного до пояснених вище. Далі, описується переважний варіант виконання для чергування послідовностей бітів фіксованої довжини. За подальшими деталями, які стосуються останніх схем чергування, звертайтесь до документа МО 2011/128268А1.
Після опису варіантів виконання, згідно з якими навіть попереднє кодування використовується для стискання відеоданих, описується навіть подальший варіант виконання представленого винаходу, який робить втілення особливо ефективним з точки зору гарного компромісу між коефіцієнтом стискання, з одного боку, і таблицею пошуку та додатковими обрахунками, з іншого боку. Зокрема, наступні варіанти виконання дозволяють використання з обрахункової точки зору менш складних кодів змінної довжини для індивідуального ентропійного кодування потоків бітів і ефективного охоплення частин оцінки ймовірності. В описаних нижче варіантах виконання символи є бінарними і коди змінної довжини (МІС), представлені нижче, ефективно охоплюють оцінку ймовірності, представлену, наприклад Віз, яке розташоване в інтервалі І0;0,51.
Зокрема, вказані нижче варіанти виконання описують можливі втілення для індивідуальних ентропійних кодерів 310 і декодерів 322, відповідно, на Фіг. 7-17. Вони придатні для кодування інформаційних величин, тобто бінарних символів, оскільки вони трапляються в стисканні 60 зображення або відеоданих. Відповідно, ці варіанти виконання також застосовуються для кодування зображення або відеоданих, де такі бінарні символи діляться на один або більшу кількість потоків інформаційних величин 307, які кодуються, і, відповідно, потоки бітів 324, які декодуються, де кожен такий потік інформаційних величин може розглядатися як реалізація процесу Бернуллі. Описані нижче варіанти виконання використовують один або більшу кількість пояснених нижче різних способів так званого кодування з перетворенням послідовності символів змінної довжини на послідовність бітів змінної довжини (ум2у-коди) для кодування потоків інформаційних величин. м2у-код може розглядатися як два коди без префіксу з однією і тією ж кількістю кодових слів: головний і допоміжний код без префіксу. Кожне кодове слово головного коду без префіксу зв'язується з одним кодовим словом допоміжного коду без префіксу. Згідно з нижчеописаними варіантами виконання принаймні деякі з кодерів 310 і декодерів 322 працюють наступним чином: Для кодування окремої послідовності інформаційних величин 307 кожен раз, коли кодове слово головного коду без префіксу зчитується з буфера 308, відповідне кодове слово допоміжного коду без префікса записується в потік бітів 312. Та ж сама процедура використовується для декодування такого потоку бітів 24, але з чергуванням головного і допоміжного коду без префікса. Тобто, для декодування потоку бітів 324, кожен раз, коли кодове слово допоміжного коду без префіксу зчитується з відповідного потоку бітів 324, відповідне кодове число допоміжного коду без префіксу записується в буфер 320.
Переважно, описані нижче коди не потребують таблиць пошуку. Коди здатні втілюватися у формі машин з кінцевим числом станів. Представлені тут м2у-коди можуть генеруватися простими правилами конструювання так, що для кодових слів не потрібно зберігати великі таблиці. Замість цього, може використовуватися простий алгоритм для виконання кодування або декодування. Нижче описуються три правила формування, де два з них можуть параметризуватися. Вони охоплюють різні або навіть окремі частини вищезгаданого інтервалу ймовірності і є, відповідно, особливо вигідними, коли використовуються разом, так як усі три коди або два з них використовуються паралельно (кожен для різних кодерів/декодерів 11 і 22).
За допомогою описаних нижче правил формування можна формувати множину м2у-кодів так, що для процесів Бернуллі з довільною ймовірністю р один з кодів гарно працює з точки зору надмірної довжини коду.
Як визначено вище, кодування і декодування потоків 312 і, відповідно, 324 може
Зо виконуватися або незалежно для кожного потоку або поперемінно. Однак, це не є спеціальним для представлених класів мгу-кодів і, тому, далі описується тільки кодування і декодування окремого кодового слова для кожного з трьох правил формування. Однак, підкреслюється, що усі вищезгадані варіанти виконання, які стосуються рішень з поперемінним виконанням, також здатні поєднуватися з на даний момент описаними кодами або кодерами і декодерами 310 і, відповідно, 322.
Правило формування 1: "унарні двійкові ріре" коди або кодери/декодери 310 і 322
Унарні двійкові ріре коди (РІРЕ - ентропія поділу інтервалу ймовірності) є спеціальним варіантом так званих "двійкових ріре" кодів, тобто, кодів, придатних для кодування будь-якого з окремих потоків бітів 12 і 24, кожен з яких переносить дані статистики бінарних символів, яка належить певному підінтервалу ймовірності вищезгаданого інтервалу ймовірності 10;0,5|.
Спершу описується формування двійкових ріре кодів. Двійковий ріре код може формуватися з будь-якого коду без префіксу з принаймні трьома кодовими словами. Для формування угу-коду, використовують код без префіксу як головний і допоміжний код, але з чергуванням двох кодових слів допоміжного коду без префіксу. Це означає, що, за виключенням двох кодових слів, інформаційні величини записуються в незмінний потік бітів. За допомогою цієї технології необхідно зберігати тільки один код без префіксу разом з інформацією, які два кодові слова чергуються між собою, і, таким чином, використання пам'яті зменшується. Відзначається, що доцільно обмінюватися тільки кодовими словами різної довжини, оскільки, інакше, потік бітів повинен мати ту ж довжину що й потік інформаційних величин (нехтуючи ефектами, які трапляються в кінці потоку інформаційних величин).
Завдяки цьому правилу формування чудовою властивістю двійкових ріре кодів є те, що, коли головний і допоміжний код без префіксу міняються між собою (тоді як перетворення кодових слів зберігається), то одержуваний му2гу-код ідентичний оригінальному мгу-коду. Тому, алгоритм кодування і алгоритм декодування ідентичні для двійкових ріре кодів.
Унарний двійковий ріре код формується з спеціального коду без префіксу. Цей спеціальний код без префіксу формується наступним чином. Спершу, генерують код без префіксу, який складається з п унарних кодових слів, починаючи з "01", 001", 0001", ... до тих пір, доки не одержиться п кодових слів, п є параметром для унарного двійкового ріре коду. З найдовшого кодового слова видаляється слід 1. Це відповідає усіченому унарному коду (але без кодового 60 слова "0). Потім, генеруються п-1 унарних кодових слів, починаючи з "10", "110, 1110",... до тих пір, доки не буде створено п-1 кодових слів. З найдовшого з цих кодових слів видаляють слід 0.
Об'єднана множина цих двох кодів без префікса використовується як вхідні дані для генерування унарного двійкового ріре коду. Два кодові слова, які міняються між собою, є тими, де одне з них складається тільки з 0, а інше складається тільки з 1.
Приклад для п-4: ме 77777717 Головний,//// | Допоміжий// пн и а ЕТ Я ПО ТТ ПО
Правило формування 2: коди, які відображають перетворення "унарних кодів на коди Райса" і кодери/декодери 10 і 22, які використовують перетворення унарних кодів на коди Райса:
Коди, які відображають перетворення унарних кодів на коди Райса, використовують усічений унарний код як головний код. Тобто, унарні кодові слова генеруються, починаючи з '1",'01","001", і. до тих пір, доки не буде згенеровано 27-1 кодових слів і з найдовшого кодового слова видаляють слід 1. п є параметром коду, який відображає перетворення унарного коду на код
Райса. Допоміжний код без префіксу формується з кодових слів головного коду без префіксу наступним чином. Головному кодовому слову, яке складається тільки з 0, присвоюється кодове слово "1. Усі інші кодові слова складаються з конкатенації кодового слова "0' з п-бітовим двійковим представленням ряду 0 відповідного кодового слова головного коду без префіксу.
Приклад для п-3: ме 77777717 Головний,//// | Допоміжий// пол и ТЕТ ТТ Я ПОЛОННЕ Ко ПОН пол и ЕТО То тототох ВОНО ПООНОСЄ Х НОО пл и ЕТО ТоТото тот НОЇ ПОН ПО
Відзначаємо, що це ідентичне перетворенню нескінченного унарного коду на код Райса з параметром Райса 2п.
Правило формування 3: "Потрійний двійковий' код
Потрійний двійковий код надається наступним чином. ме 77777717 Головний,//// | Допоміжий//// п и «ТТ ПОТ ПО пи и ах Г:х Я ПО ЕТ Тех ПО п и а ЕЕ Я ПО п 6 ПО
Він має ту властивість, що головний код (послідовності символів) має фіксовану довжину (завжди три інформаційні величини), а кодові слова відбираються по висхідних кількостях 1.
Далі описується ефективне втілення потрійного двійкового коду. Кодер і декодер для
Зо потрійного двійкового коду можуть втілюватися без зберігання таблиць наступним чином.
В кодері (будь-який з кодерів 10) три інформаційні величини зчитуються з потоку інформаційних величин (тобто, з потоку 7). Якщо ці три інформаційні величини містять точно одну 1, то кодове слово Т записується в потік бітів після двох інформаційних величин, які складаються з двійкового представлення положення 1 (починаючи з права з 00). Якщо три інформаційні величини містять точно один 0, то кодове слово "111! записується в потік бітів після двох інформаційних величин, які складаються з двійкового представлення положення 0 (починаючи з права з 00). Решта кодових слів "000' їі 111" перетворюються на "0" і, відповідно, 7111.
В декодері (будь-який з декодерів 22) одна інформаційна величина або біт зчитується з відповідного потоку бітів 24. Якщо вона дорівнює "07, то кодове слово "000 декодується з одержанням потоку інформаційних величин 21, Якщо вона дорівнює "1", то дві або більша кількість інформаційних величин зчитуються з потоку бітів 24. Якщо ці два біти не дорівнюють "71", то вони інтерпретуються як двійкове представлення числа і два 0 та одна 1 декодується з одержанням потоку бітів так, що положення 1 визначається числом. Якщо два біти дорівнюють "71", то два додаткових біти зчитуються і інтерпретуються як двійкове представлення числа.
Якщо це число менше ніж 3, то дві 1 і один 0 декодуються і число визначає положення 0. Якщо воно дорівнює 3, то 7111" декодується з одержанням потоку інформаційних величин.
Далі описується ефективне втілення унарних двійкових ріре кодів. Кодер і декодер для унарних двійкових ріре кодів можуть ефективно втілюватися шляхом використання лічильника.
Завдяки структурі двійкових ріре кодів кодування і декодування двійкових ріре кодів легко втілювати:
В кодері (будь-який з кодерів 10), якщо перша інформаційна величина кодового слова дорівнює "07, то інформаційні величини обробляються до появи "1" або до зчитування п 0 (включаючи перший "0 кодового слова). Якщо трапилася "1", то зчитані інформаційні величини записуються в незмінний потік бітів. Інакше (тобто, зчитано п 0), то п-1 1 записується в потік бітів. Якщо перша інформаційна величина кодового слова дорівнює "1 то інформаційні величини обробляються доки не трапиться "0 або доки не зчитається п-1 1 (включаючи першу "7" кодового слова). Якщо трапився "07, то зчитані інформаційні величини записуються в незмінний потік бітів. Інакше (тобто, зчитано п-1 1), п 0 записуються в потік бітів.
В декодері (будь-який з декодерів 322) використовується той же алгоритм для кодера, оскільки це застосовується для двійкових ріре кодів, як описано вище.
Зо Далі описується ефективне втілення кодів, які відображають перетворення унарних кодів на коди Райса. Кодер і декодер для кодів, які відображають перетворення унарних кодів на коди
Райса, можуть ефективно втілюватися шляхом використання лічильника, як тепер буде описуватися.
В кодері (будь-який з кодерів 310) інформаційні величини зчитуються з потоку інформаційних величин (тобто, потоку 7) доки не трапиться 1 або доки не буде зчитано 2п 0.
Кількість 0 підраховується. Якщо підрахована кількість дорівнює 2п, то кодове слово "1! записується в потік бітів. Інакше, "0' записується перед двійковим представленням підрахованої кількості записаної з п бітами.
В декодері (будь-який з декодерів 322) зчитується один біт. Якщо він дорівнює "1", то 21.0 декодуються з одержанням рядка інформаційних величин. Якщо він дорівнює "0", то зчитується п додаткових бітів, які інтерпретуються як двійкове представлення числа. Ця кількість 0 декодується з одержанням потоку інформаційних величин, за яким слідує "1".
Іншими словами тільки що описані варіанти виконання розкривають кодер для кодування послідовності символів 303, який містить присвоювач 316, сконфігурований для присвоювання ряду параметрів 305 кожному символу послідовності символів на основі інформації, яка міститься в попередніх символах послідовності символів; певну кількість ентропійних кодерів 310, кожен з яких сконфігурований для перетворення символів 307, надісланих до відповідного ентропійного кодера 310, на відповідний потік бітів 312; і селектор 6, сконфігурований для надсилання кожного символу 303 до вибраного одного з множини ентропійних кодерів 10, при цьому вибір залежить від кількості параметрів 305, присвоєних відповідному символу 303.
Згідно з тільки що зазначеними варіантами виконання принаймні перша підмножина ентропійних кодерів може бути кодером змінної довжини, сконфігурованим для перетворення послідовностей символів змінної довжини в потоці символів 307 на кодові слова змінних довжин, які вставляються в потік бітів 312, при цьому, відповідно, кожен з ентропійних кодерів 310 першої підмножини використовує правило бієктивного перетворення, згідно з яким кодові слова головного коду без префіксу з (21-1)2:3 кодовими словами перетворюються на кодові слова допоміжного коду без префіксу, який ідентичний головному коду з префіксом так, що усі, але два кодові слова головного коду без префіксу перетворюються на ідентичні кодові слова допоміжного коду без префіксу, тоді як два кодові слова головного і допоміжного кодів без бо префіксу мають різні довжини і перетворюються один на інший взаємнозамінно, при цьому ентропійні кодери можуть використовувати різне п для охоплення різних частин вищезгаданого інтервалу ймовірності. Перший код без префіксу може формуватися так, що його кодовими словами є (а, Б)», (а, а,Б)з...... (а, ...,а, Ба, (а, ...,а)п, (Б, а)»г, (Б, Б, а)з,..., (Б, ...,0, а)п-ї, (Б, ...,б)пч, і двома кодовими словами, які взаємнозамінно перетворюються одне на інше, є (а, ...,а)п і (Б, б)" 3 5 за їіа, Б є (0,1). Однак, альтернативи є реальними.
Іншими словами кожен з першої підмножини ентропійних кодерів може конфігуруватися при перетворенні символів, надісланих до відповідного ентропійного кодера, на відповідний потік бітів для перевірки першого символу, надісланого до відповідного ентропійного кодера, для визначення чи (1) перший символ дорівнює а є 30,1), у випадку чого відповідний ентропійний кодер конфігурується для перевірки наступних символів, надісланих до відповідного ентропійного кодера, для визначення чи (1.1) ФО. «зар є 50,1) серед наступних п-1 символів, які слідують після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, який дорівнює першому символу, за яким слідують наступні символи, надіслані до відповідного ентропійного кодера, аж до символу б; (1.2) чи символ Б не трапляється серед наступних п-1 символів, які слідують після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, яке дорівнює (Б, ...,б)пл; або (2) чи перший символ дорівнює б, у випадку чого відповідний ентропійний кодер конфігурується для перевірки наступних символів, надісланих до відповідного ентропійного кодера, для визначення (2.1) чи трапляється а серед наступних п-2 символів, які слідують після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, який дорівнює першому символу, за яким слідують наступні символи, надіслані до відповідного ентропійного кодера, аж до символу а; або (2.2) чи не трапляється а серед наступних п-2 символів, які слідують після першого символу, у випадку чого відповідний ентропійний кодер конфігурується для запису кодового слова у відповідний потік бітів, яке дорівнює (а, ...,а) п.
Окрім того або альтернативно, друга підмножина ентропійних кодерів 10 може бути кодером змінної довжини, сконфігурованим для перетворення послідовностей символів змінних довжин на, відповідно, кодові слова фіксованих довжин, при цьому кожен з ентропійних кодерів другої підмножини використовує правило бієктивного перетворення, згідно з яким кодові слова
Зо головного усіченого унарного коду з 2"'-1 кодовими словами типу (а), (ба), (рбра),...,(Б...Бра), (6р...0)у35 «а і а, 6 є 701) перетворюються на кодові слова допоміжного коду без префіксу так, що кодове слово (рбр...0) головного усіченого унарного коду перетворюється на кодове слово (с) допоміжного коду без префіксу і усі інші кодові слова (а), (ба), (рбра),...,(0...Бба)) головного усіченого унарного коду перетворюються на кодові слова, які мають (4) з с ас, а є (01) як префікс і п-бітове слово як суфікс, при цьому ентропійні кодери використовують різне п. Кожен з другої підмножини ентропійних кодерів може конфігуруватися так, що п-бітове слово є п-бітовим представленням кількості чисел р у відповідному кодовому слові головного усіченого унарного коду. Однак, альтернативи є реальними.
Знову, з проекції режиму роботи відповідного кодера 10 кожен з другої підмножини ентропійних кодерів може конфігуруватися під час перетворення символів, надісланих до відповідного ентропійного кодера, на відповідний потік бітів для підрахунку кількості символів р в послідовності символів, надісланих до відповідного ентропійного кодера, доки не трапиться символ а або доки кількість послідовності символів, надісланих до відповідного ентропійного кодера, не досягне величини 2" з усіма 2" символами послідовності, яка є числом Б, і (1), якщо кількість символів о дорівнює 2", записують с з с є 50,1) як кодове слово допоміжного коду без префіксу у відповідний потік бітів, і (2) якщо кількість символів Б менша ніж 2", то записують кодове слово допоміжного коду без префіксу у відповідний потік бітів, який має (40)зс аа є 10,1) як префікс, а п-бітове слово, яке визначається в залежності від кількості символів Б, як суфікс.
Також додатково або альтернативно, наперед визначений один з ентропійних кодерів 10 може бути кодером змінної довжини, сконфігурованим для перетворення послідовностей символів фіксованих довжин на, відповідно, кодові слова змінних довжин, при цьому наперед визначений ентропійний кодер використовує правило бієктивного перетворення, згідно з яким 23 кодових слів довжиною З головного коду перетворюються на кодові слова допоміжного коду без префікса так, що кодове слово (ааа)з головного коду з а є 30,1) перетворюється на кодове слово (с) з с є 10,1), при цьому усі три кодові слова головного коду, які мають точно одне Б з Ба і Б є 10,1), перетворюються на кодові слова, які мають (4) з с 25 її а є 40,1) як префікс і відповідне перше 2-бітове слово з першої множини 2-бітових слів як суфікс, при цьому усі три кодові слова головного коду, які мають точно одне а, перетворюються на кодові слова, які бо мають (4) як префікс, і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і другого 2-бітового слова з другої множини 2-бітових слів як суфікс, і при цьому кодове слово (ррб)з перетворюється на кодове слово, яке має (4) як префікс, і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і другого 2-бітового слова, яке не є елементом другої множини, як суфікс. Перше 2-бітове слово кодових слів головного коду, яке має точно один символ Ь, може бути 2-бітовим представленням положення символу Б у відповідному кодовому слові головного коду, а друге 2-бітове слово кодових слів головного коду, який має точно один символ а, може бути 2-бітовим представленням положення символу а у відповідному кодовому слові головного коду. Однак, альтернативи є реальними.
Знову, наперед визначений один з ентропійних кодерів може конфігуруватися під час перетворення символів, надісланих до наперед встановленого ентропійного кодера, на відповідний потік бітів, для перевірки символів, які надсилаються до наперед встановленого ентропійного кодера в триплетах, щодо того (1) чи триплет складається з символів а, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова (с) у відповідний потік бітів, (2) чи триплет точно містить один символ р, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова, яке має (а) як префікс, а 2-бітове представлення положення символу р в триплеті як суфікс, у відповідний потік бітів; (3) чи триплет точно містить один символ а, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова, яке має (4) як префікс і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і 2-бітового представлення положення символу а в триплеті як суфікс, у відповідний потік бітів; або (4) чи триплет складається з символів ЮР, у випадку чого наперед визначений ентропійний кодер конфігурується для запису кодового слова, яке має (а) як префікс і конкатенацію першого 2- бітового слова, яке не є елементом першої множини, і першого 2-бітового слова, яке не є елементом другої множини, як суфікс, у відповідний потік бітів.
Розглядаючи декодувальну сторону, бачимо, що тільки що описані варіанти виконання розкривають декодер для відновлення послідовності символів 326, який містить множину ентропійних декодерів 322, кожен з яких сконфігурований для перетворення відповідного потоку бітів 324 на символи 321; присвоювач 316, сконфігурований для присвоєння ряду параметрів на кожен символ 326 послідовності символів, які відновлюються, на основі інформації, яка міститься в попередньо відновлених символах послідовності символів; і селектор 318, сконфігурований для одержання кожного символу 325 з послідовності символів, які відновлюються, з вибраного одного з множини ентропійних декодерів, при цьому вибір залежить від ряду параметрів, визначених для відповідного символу. Згідно з тільки що описаними варіантами виконання принаймні перша підмножина ентропійних декодерів 322 є декодерами змінної довжини, сконфігурованими для перетворення кодових слів змінних довжин на послідовності символів змінних довжин, при цьому, відповідно, кожен з ентропійних декодерів 22 першої підмножини використовує правило бієктивного перетворення, згідно з яким кодові слова головного коду без префіксу з (2п-1) » З кодовими словами перетворюються на кодові слова допоміжного коду без префіксу, який ідентичний головному коду з префіксом, так, що усі, але два кодові слова головного коду без префіксу перетворюються на ідентичні кодові слова допоміжного коду без префіксу, тоді як два кодові слова головного і допоміжного коду без префіксу мають різні довжини і перетворюються один на інший взаємнозамінно, при цьому ентропійні кодери використовують різні п. Перший код без префіксу може формуватися так, що кодовими словами першого коду без префіксу є (а, Б)», (а, а, Б)з,..., (а......а, Б), (а, ...,а)п, (Б, а)», (б, Б, а)з, .... (Б, ...,0, а)п-, (Б, ...,0)п, ії двома кодовими словами, які перетворюються одне на інше взаємнозамінним чином, можуть бути (а, ...,а)п і (Ь......б)лх. зб 25 айїіа, ь є 701). Однак, альтернативи є реальними.
Кожен з першої підмножини ентропійних кодерів може конфігуруватися під час перетворення відповідного потоку бітів на символи для перевірки першого біту відповідного потоку бітів для визначення (1) чи перший біт дорівнює 0 (0,1), у випадку чого відповідний ентропійний кодер конфігурується для перевірки наступних бітів відповідного бітового потоку для визначення чи (1.1)о0535Б «аїр є (0,1) трапляється в наступних п-1 бітах, які слідують після першого біта, у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює першому біту, за яким слідують наступні біти відповідного потоку бітів аж до біту р; або (1.2) чи не трапляється біт Б серед наступних п-1 бітів, які слідують після першого біта, у випадку чого відповідний ентропійний декодер конфігурують для відновлення послідовності символів, яка дорівнює (Б, ...,0)п; або (2) чи перший біт дорівнює Б, у випадку чого відповідний ентропійний декодер конфігурують для перевірки наступних бітів відповідного потоку бітів для визначення того (2.1) чи трапляється символ а серед наступних п- 60 2 бітів, які слідують після першого біта, у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює першому біту, за яким слідують наступні біти відповідного бітового потоку аж до символу а; або (2.2) чи не трапляється символ а серед наступних п-2 бітів, які слідують після першого біта, у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює (а, 5 ...,а)в.
Додатково або альтернативно, принаймні друга підмножина ентропійних декодерів 322 може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів фіксованих довжин на, відповідно, послідовності символів змінних довжин, при цьому кожен з ентропійних декодерів другої підмножини використовує правило бієктивного перетворення, згідно з яким кодові слова допоміжного коду без префіксу перетворюються на кодові слова головного усіченого унарного коду з 2"'-1 кодовими словами типу (а), (ба), (рбра),...,(Б...Бра), (60...5)3у, 3 Б з а іа, б є 501) так, що кодове слово (с) допоміжного коду без префіксу перетворюється на кодове слово (рбр...0) головного усіченого унарного коду і кодові слова, які мають (4) з с - а і с, й є 30,1) як префікс і п-бітове слово як суфікс, перетворюються на відповідне одне з інших кодових слів (а), (ба), (рра),...,(0...ба)) головного усіченого унарного коду, при цьому ентропійні декодери використовують різні п. Кожен з другої підмножини ентропійних декодерів може конфігуруватися так, що п-бітове слово є п-бітовим представленням кількості символів Б у відповідному кодовому слові головного усіченого унарного коду. Однак, альтернативи є реальними.
Кожен з другої підмножини ентропійних декодерів може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів фіксованих довжин на, відповідно, послідовності символів змінних довжин і сконфігурованим під час перетворення потоку бітів відповідного ентропійного декодера на символи для перевірки першого біта відповідного потоку бітів для визначення того чи (1) він дорівнює с з с є 430,1), у випадку чого відповідний ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює (6р...0)2"з Ь є 10,1у; або (2) чи він дорівнює й з с хз й і с, й є (0,1), у випадку чого відповідний ентропійний декодер конфігурується для визначення п-бітового слова з п подальших бітів відповідного потоку бітів, які слідують після першого біту, і для відновлення 3 нього послідовності символів, яка має тип (а), (ба), (рба),...,(0...рба), (00...) 3Б6 аїр є (017 з кількістю символів р, яка залежить від п-бітового слова.
Додатково або альтернативно, наперед визначений один з ентропійних декодерів 322 може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів змінних довжин на, відповідно, послідовності символів фіксованих довжин, при цьому наперед визначений ентропійний декодер використовує правило бієктивного перетворення, згідно з яким кодові слова допоміжного коду без префіксу перетворюються на 23 кодові слова довжиною З головного коду так, що кодове слово (с) з с є 30,1) перетворюється на кодове слово (ааа)з головного коду з а є 10,1), при цьому кодові слова, які мають (4) з с а а є 50,1) як префікс і відповідне перше 2-бітове слово з першої множини трьох 2-бітових слів як суфікс, перетворюються на усі три кодові слова головного коду, який має точно один символ Б з бар є 10,1), при цьому кодові слова, які мають (4) як префікс і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і другого 2-бітового слова з другої множини трьох 2-бітових слів як суфікс, перетворюються на усі три кодові слова головного коду, який має точно один символ а, і кодове слово, яке має (4) як префікс і конкатенацію першого 2-бітового слова, яке не є елементом першої множини, і другого 2-бітового слова, яке не є елементом другої множини, як суфікс перетворюється на кодове слово (БББ)з. Перше 2-бітове слово кодових слів головного коду, який має точно один символ б, може бути 2-бітовим представленням положення символу Б у відповідному кодовому слові головного коду, а друге 2-бітове слово кодових слів головного коду, який має точно один символ а, може бути 2-бітовим представленням положення символу а у відповідному кодовому слові головного коду. Однак, альтернативи є реальними.
Наперед визначений один з ентропійних декодерів може бути декодером змінної довжини, сконфігурованим для перетворення кодових слів змінних довжин на послідовності символів, кожна з яких містить три символи, відповідно, і під час перетворення потоку бітів відповідного ентропійного декодера на символи сконфігурований для дослідження першого біту відповідного потоку бітів для визначення того факту (1) чи перший біт відповідного потоку бітів дорівнює с з с є 430,1), у випадку чого наперед визначений ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює (ааа)з з а 0 50,1), або (2) чи перший біт відповідного потоку бітів дорівнює й з с 2 й і дє(0,1), у випадку чого наперед визначений ентропійний декодер конфігурується для визначення першого 2-бітового слова з 2 подальшими бітами відповідного потоку бітів, які слідують після першого біта, і перевірки першого 2-бітового бо слова для визначення того факту (2.1) чи перше 2-бітове слово не є елементом першої множини з трьох 2-бітових слів, у випадку чого наперед визначений ентропійний декодер конфігурується для відновлення послідовності символів, яка має точно один символ Б з Б-аїір є 10,1), при цьому положення символу Б у відповідній послідовності символів залежить від першого 2-бітового слова, або (2.2) чи перше 2-бітове слово є елементом першої множини, у випадку чого наперед визначений ентропійний декодер конфігурується для визначення другого 2-бітового слова з 2 подальших бітів відповідного потоку бітів, які слідують після двох бітів, з яких було визначене перше 2-бітове слово, і для перевірки другого 2-бітового слова для визначення того факту (3,1) чи друге 2-бітове слово не є елементом другої множини з трьох 2- бітових слів, у випадку чого наперед визначений ентропійний декодер конфігурується для відновлення послідовності символів, яка має точно один символ а, при цьому положення символу а у відповідній послідовності символів залежить від другого 2-бітового слова, або (3.2) чи друге 2-бітове слово є елементом другої множини з трьох 2-бітових слів, у випадку чого наперед визначений ентропійний декодер конфігурується для відновлення послідовності символів, яка дорівнює (рБб)з.
Тепер, після опису загальної концепції схеми кодування відеоданих, варіанти виконання представленого винаходу описуються відносно вищезгаданих варіантів виконання. Іншими словами, охарактеризовані нижче варіанти виконання можуть втілюватися шляхом використання вищенаведених схем і, навпаки, вищезгадані схеми кодування можуть втілюватися з використанням охарактеризованих нижче варіантів виконання.
У вищенаведених варіантах виконання, описаних відносно Фіг. 7-9, ентропійний кодер і декодери з Фіг. 1-6 втілювалися згідно з концепцією РіІРЕ (ентропія поділу інтервалу ймовірності). Один спеціальний варіант виконання використовує арифметичні кодери/декодери 310 і 322 з єдиним станом ймовірності. Як буде описуватися нижче, згідно з альтернативним варіантом виконання, об'єкти 306-310 і відповідні об'єкти 318-322 можуть замінятися спільним ентропійним кодувальним засобом. Як приклад, уявіть арифметичний кодувальний засіб, який просто керує одним спільним станом В ії, її кодує усі символи з одержанням одного спільного потоку бітів, таким чином відмовляючись від вигідних аспектів представленої концепції РІРЕ, що стосується паралельної обробки, але уникаючи необхідності чергування часткових потоків бітів, як обговорюється нижче. Роблячи це, кількість станів ймовірності, завдяки яким ймовірності
Зо контексту оцінюються шляхом оновлення даних (таких як таблиця пошуку), може бути більшою за кількість станів ймовірності, завдяки яким виконується підрозбиття інтервалу ймовірності.
Тобто, аналогічно до дискретизації величина ширини інтервалу ймовірності перед індексацією в таблиці Ріар, а також індекс стану ймовірності можуть дискретизуватися. Вищенаведений опис можливого втілення для окремих кодерів/декодерів 310 і 322 може, таким чином, поширюватися, наприклад, на втілення ентропійних кодерів/декодерів 318-322/306-310 як адаптивних до контексту двійкових арифметичних кодувальних/декодувальних засобів:
Будучи більш точними, згідно з варіантом виконання, ентропійний кодер, підключений до виходу присвоювача параметрів (який функціонує тут як контекстний присвоювач), може працювати наступним чином: 0. Присвоювач 304 надсилає значення інформаційної величини разом з параметром ймовірності. Ймовірністю є рбіаїє ситепуріпі|. 1. Таким чином, ентропійний кодувальний засіб приймає: 1) ма! РБ5, 2) інформаційну величину і 3) оцінку розподілу ймовірності роїаїє ситепЦбріп|Ї. реїаїє ситепЦьбіп| може мати більше станів ніж кількість розрізнюваних індексів стану ймовірності Ніаб. Якщо так, то роїаїє сштепЦбіп| може дискретизуватися як, наприклад, шляхом ігнорування т І 5В5 з т, більшим за або рівним 1 і переважно рівним 2 або 3, для одержання р віаїє, тобто індексу, який потім використовується для доступу до таблиці Ніаб. Однак, дискретизація може не виконуватися, тобто. р в5іаїе може дорівнювати роїаїе ситепуріп|. 2. Потім виконується дискретизація ЕВ (Як згадується вище: будь-який один В (і відповідний 1. з одним спільним потоком бітів) використовується/контролюється для усіх розрізнюваних величин р віаїє або один ВК (і відповідний ГІ з відповідним частковим потоком бітів на пару ВЛ.) на розрізнювану величину р в5іаіє, яка в останньому випадку повинна відповідати наявності одного двійкового кодера 310 на таку величину)
О |пдех-Стаб|В»»а) (або деяка інша форма дискретизації) 3. Потім, виконується визначення Віз і В:
Вігєз:-РіІабір зіагеї|(д іпаєх)|; Ріар зберегла попередньо обраховані величини для рір зіаїє|.
ОІ9 іпаех
В-В - Вів (гобто, АВ попередньо оновлюється якщо б "елемент вибірки" був МРБ) 4. Обрахунок нового часткового інтервалу: (510) її (біп-1-маїМРБ) теп
І--8
В"Вів5 5. Повторна нормалізація І і В, запис бітів,
Аналогічно, ентропійний декодер, підключений до виходу присвоювача параметрів (який функціонує тут як контекстний присвоювач), може працювати наступним чином: 0. Присвоювач 304 надсилає значення інформаційної величини разом з параметром ймовірності. Ймовірність дорівнює роїаїє сигепі(ріпі. 1. Таким чином, ентропійний кодувальний засіб приймає запит на надання інформаційної величини разом 3: 1) майїРБ, і 2) оцінкою розподілу ймовірності реїаїє ситепі(Біп|. роїаїє ситепЦбіп| може мати більше станів ніж кількість розрізнюваних індексів станів ймовірності таблиці НРіар. Якщо так, то роїаіїє ситепі(ріп| може дискретизуватися, наприклад, шляхом ігнорування т І 585 з т, яке більше за або рівне 1 і переважно дорівнює 2 або 3, для одержання р віаїє, тобто індексу, який потім використовується для доступу до таблиці Віаб.
Дискретизація може, однак, не виконуватися, тобто, р віаїє може дорівнювати рбїагеє ситепцЦріп|. 2. Потім виконується дискретизація В (як згадано вище: будь-який один К (і відповідний М з одним спільним потоком бітів) використовується/контролюється для усіх розрізнюваних величин р віаіїє, або один В (і відповідний М з відповідним частковим потоком бітів на пару В/) на розрізнювану величину р б5іаїє, яка в останньому випадку повинна відповідати наявності одного двійкового кодера 310 на таку величину) а іпдех-Стац(АВ»»а) (або деяка інша форма дискретизації) 3. Потім виконують визначення Віз і В:
Віє5-НіІабір віаїє)|д іпдех!; Віарб зберегла попередньо обраховані величини для рір віаїге!-ФІд іпаех)
В-В - Вів (гобто, В попередньо оновлюється, якщо "Інформаційною величиною" було МРБ)І 4. Визначення інформаційної величини, яке залежить від положення часткового інтервалу: її (УЗ В) Теп
Біп - 1-х«аїМРБ (інформаційна величина декодується як І РБ5; двійковий буферний селектор 18 буде одержувати реальне значення інформаційної величини шляхом використання цієї
Зо інформації про інформаційну величину і маїМР5Б)
У-Мм-ч
В-Вівв5 або
Біп -- маїМРБ (інформаційна величина декодується як МР5; реальне значення інформаційної величини одержується шляхом використання цієї інформації про інформаційну величину та хаїМР5) 5. Повторна нормалізація В, зчитування одного біта і оновлення У,
Як описано вище, присвоювач 4 присвоює реїаїє ситепцріп| кожній інформаційній величині.
Зв'язування може виконуватися на основі вибору контексту. Тобто, присвоювач 4 може вибирати контекст, використовуючи індекс контексту сіхійх, який, у свою чергу, має відповідну зв'язану з ним ймовірність роїаїє ситепі. Оновлення ймовірності може виконуватися кожен раз, коли ймовірність роїаїє сиптепЦбіп| використана для поточної інформаційної величини.
Оновлення стану ймовірності реїаїє ситепіЦріпй| виконується в залежності від значення кодованого біту: її (рй-1-маЇМРБ) теп роїаїгє сштепі «- Мехі біаїгє І РБ5 |реїаїє ситепі її (реїаїє ситепі--0) теп хаїмМР5 «- 1-маїМР5 віве роїагє ситепіє-Мехі біаїє МРБ Іроїіаїє ситепі
Якщо надається більше ніж один контекст, то адаптація виконується контекстно, тобто, роїаїє ситепіЦсіхідх| використовується для кодування і потім для оновлення з використанням поточного значення інформаційної величини (кодованої або, відповідно, декодованої).
Як буде описано детальніше нижче, згідно з описаними тепер варіантами виконання кодер і декодер можуть необов'язково втілюватися для роботи в різних режимах, а саме: в режимі низької складності (І С) і високоефективному режимі (НЕ). Це головним чином ілюструється далі відносно РІРЕ кодування (потім згадуючи режими І С і НЕ РІРЕ), але опис деталей складності масштабування легко переноситься на інші втілення засобів ентропійного кодування/декодування, таких як варіант виконання з використанням одного спільного адаптивного до контексту арифметичного кодера/декодера.
Згідно з описаними нижче варіантами виконання обидва режими ентропійного кодування можуть використовувати - однаковий синтаксис і семантику (для послідовності синтаксичних елементів З01 і, відповідно, 327) - однакові схеми бінаризації для усіх синтаксичних елементів (як на даний момент специфікується для САВАС) (тобто, бінаризатори можуть працювати незалежно від активованого режиму) - використання одних і тих же РІРЕ кодів (тобто, двійкові кодери/декодери можуть працювати незалежно від активованого режиму) - використання 8-бітових ініціалізуючих величин моделі ймовірності (замість 16-бітових ініціалізуючих величин, як на даний момент специфіковано для САВАС)
Загалом кажучи, І С-РІРЕ відрізняється від НЕ-РІРЕ складністю обробки, як, наприклад, складність вибору РІРЕ доріжки 312 для кожної інформаційної величини.
Наприклад, режим низької складності (ІС) може функціонувати за наступних обмежень: для кожної інформаційної величини (Бріпідх) може існувати точно одна модель ймовірності, тобто, одне значення сіхійх. Тобто, може не передбачатися вибір/адаптація контексту в С РІРЕ.
Спеціальні синтаксичні елементи, такі як ті, що використовуються для залишкового кодування, можуть, однак, кодуватися з використанням контекстів, як далі описано нижче. Більше того, усі моделі ймовірності можуть бути неадаптивними, тобто, усі моделі можуть ініціалізуватися на початку кожної частини інформації відповідними модельованими ймовірностями (в залежності від вибору типу частини інформації і ОР частини інформації) і можуть зберігатися фіксованими протягом усього процесу обробки частини інформації. Наприклад, можуть підтримуватися тільки 8 різних модельованих ймовірностей, які відповідають 8 різним РІРЕ кодам 310/322, для моделювання контексту і кодування. Спеціальні синтаксичні елементи для залишкового кодування, тобто, зідпітісапсе соей Пйад і соєй абз Іеме! агеаїєтХ (з Х-1,2), семантика яких описана детальніше нижче, можуть присвоюватися моделям ймовірності так, що (принаймні) групи, наприклад, з 4 синтаксичних елементів кодуються/декодуються однією і тією ж модельованою ймовірністю. Порівняно з САМІ С режим І С-РІРЕ досягає приблизно тих же характеристик В-0О і тієї ж продуктивності.
Зо НЕ-РІРЕ може конфігуруватися концептуально подібно до САВАС стандарту Н.264 з наступними відмінностями: Двійкове арифметичне кодування (ВАС) замінюється РІРЕ кодуванням (теж саме що й у випадку І С-РІРЕ). Кожна модель ймовірності, тобто, кожен сіхіах, може представлятися рірейдх і геїіпеїдх, де ріреїЇдх із значеннями в інтервалі 0...7 представляє модельовану ймовірність 8 різних РІРЕ кодів. Ця зміна впливає тільки на внутрішнє представлення станів, а не на поведінку самої машину стану (тобто, оцінку ймовірності). Як буде детальніше описано нижче, ініціалізація моделей ймовірності може використовувати 8- бітові ініціалізуючі величини, як вказано вище. Зворотне сканування синтаксичних елементів соей аре5 Іеме! дгеаїегхХ (з Х - 1,2), соеїї ар5 ІємеІ тіпи53 і соеїї відп Пад (семантика яких стане яснішою з нижченаведеного обговорення) може виконуватися вздовж тієї ж доріжки сканування, що й пряме сканування (використовуване, наприклад, в кодування карти значущості). Може також спрощуватися одержання контексту для кодування соей арзв Ієме! дгєайетх (м/ййп Х - 1,2). Порівняно з САВАС запропонований НЕ-РІРЕ приблизно досягає тих же характеристик В-О з кращою продуктивністю.
Легко побачити, що тільки що згадані режими легко генеруються шляхом виконання, наприклад, вищезгаданого адаптивного до контексту двійкового арифметичного кодувального/декодувального засобу так, що він працює в різних режимах.
Таким чином, згідно з варіантом виконання згідно з першим аспектом представленого винаходу декодер для декодування потоку даних може формуватися, як зображено на Фіг. 11.
Декодер передбачений для декодування потоку даних 401, такого як поперемінний потік бітів 340, в який кодуються мультимедійні дані, такі як відеодані. Декодер містить перемикач режимів 400, сконфігурований для активування режиму низької складності або високоефективного режиму в залежності від потоку даних 401. Для цього, потік даних 401 може містити синтаксичний елемент, такий як двійковий синтаксичний елемент, який має двійкову величину 1 у випадку режиму низької складності, який активується, і має двійкову величину 0 у випадку високоефективного режиму, який активується. Очевидно, зв'язок між інформаційною величиною і режимом кодування може перемикатися, а недвійковий синтаксичний елемент, який має більше ніж два можливі значення, міг би також використовуватися. Оскільки реальний вибір між обома режимами все ще нечіткий до прийому відповідного синтаксичного елемента, то цей синтаксичний елемент може міститися в деякому ведучому заголовку кодованого потоку даних
401, наприклад, з фіксованою оцінкою ймовірності або моделлю ймовірності, або записуватися в потік даних 401, тобто, коли використовується байпасний режим.
Окрім того, декодер з Фіг. 11 містить множину ентропійних декодерів 322, кожен з яких сконфігурований для перетворення кодових слів в потоці даних 401 на часткові послідовності 321 символів. Як описано вище, обернений перемежовувач 404 може підключатися між входами ентропійних декодерів 322, з одного боку, і входом декодера з Фіг. 11, де використовується потік даних 401, з іншого боку. Окрім того, як вже описувалося вище, кожен з ентропійних декодерів 322 може зв'язуватися з відповідним інтервалом ймовірності, при цьому інтервали ймовірності різних ентропійних декодерів разом охоплюють увесь інтервал ймовірності від 0 до 1 або від 0 до 0,5 у випадку ентропійних декодерів 322, які мають справу з МРБ і І РБ5 скоріше, ніж з абсолютними символьними величинами. Деталі, які стосуються цього питання, були описані вище. Пізніше припускається, що кількість декодерів 322 становить 8 з РІРЕ індексом, який присвоюється кожному декодеру, але будь-яка інша кількість також можлива. Окрім того, один з цих кодерів (далі це ілюстративно той кодер, який має ріреЇїй 0) оптимізується для інформаційних величин, які мають рівноцінну статистику, тобто, їх двійкова величина рівноцінно припускає 1 і 0. Цей декодер може просто проходитися по інформаційних величинах.
Відповідний кодер 310 працює так само. Навіть будь-яка маніпуляція з інформаційною величиною, яка залежить від значення найбільш ймовірної інформаційної величини, ха!МРБ, за допомогою селекторів 402 і, відповідно, 502 може усуватися. Іншими словами, ентропія відповідного часткового потоку є вже оптимальною.
Окрім того, декодер з Фіг. 11 містить селектор 402, сконфігурований для одержання кожного символу послідовності 326 символів з вибраного одного з множини ентропійних декодерів 322.
Як згадано вище, селектор 402 може ділитися на присвоювач параметрів 316 і селектор 318.
Десимволізатор 314 конфігурується для десимволізації послідовності 326 символів для одержання послідовності 327 синтаксичних елементів. Реконструктор 404 конфігурується для відновлення мультимедійних даних 405 на основі послідовності синтаксичних елементів 327.
Селектор 402 конфігурується для виконання вибору, який залежить від одного активованого режиму, вибраного серед режиму низької складності і високоефективного режиму, як вказано стрілкою 406.
Зо Як вже відзначено вище, реконструктор 404 може бути частиною блочного прогнозувального відеодекодера, який працює на фіксованому синтаксисі і семантиці синтаксичних елементів, тобто, фіксований відносно вибору режиму за допомогою перемикача режимів 400. Тобто, структура реконструктора 404 не страждає від зданості перемикати режими. Точніше, реконструктор 404 не збільшує надмірне втілення завдяки здатності перемикання режимів, яке забезпечується перемикачем режимів 400 і принаймні функціональністю стосовно залишкових даних, і дані прогнозування залишаються однаковими незалежно від режиму, вибраного перемикачем 400. Те ж саме застосовується, однак, стосовно ентропійних декодерів 322. Усі ці декодери 322 повторно використовуються в обох режимах і, відповідно, відсутні додаткові втілення, хоча декодер з Фіг. 11 сумісний з обома режимами: режимом низької складності і високоефективним режимом.
Як побічний аспект слід відзначити, що декодер з Фіг. 11 не тільки здатен працювати на незалежних потоках даних або в одному режимі або в іншому режимі. Скоріше, декодер з Фіг. 11, а також потік даних 401 можуть конфігуруватися так, що перемикання між обома режимами повинно бути навіть можливим під час обробки однієї частини мультимедійних даних, як, наприклад під час обробки відеоданих або деякої частини аудіоінформації, для, наприклад, керування складністю кодування на кодувальній стороні в залежності від зовнішніх або навколишніх умов, таких як стан акумулятора або подібне, з використанням каналу зворотного зв'язку від декодера до кодера, відповідно, для керування в замкненому контурі вибором режиму.
Таким чином, декодер з Фіг. 11 працює подібно в обох випадках: у випадку режиму низької складності (С), який вибирається, або високефективного режиму (НЕ), який вибирається.
Реконструктор 404 виконує відновлення з використанням синтаксичних елементів і запрошує поточний синтаксичний елемент наперед визначеного типу шляхом обробки або задоволення деякої рекомендації щодо синтаксичної структури. Десимволізатор 314 запрошує ряд інформаційних величин для виконання дійсної бінаризації для синтаксичного елемента, запрошеного реконструктором 404. Очевидно, що у випадку двійкового алфавіту, бінаризація, виконувана десимволізатором 314, зводиться просто до подачі відповідної інформаційної величини/символу 326 до реконструктора 404 як на даний момент запрошений двійковий синтаксичний елемент.
Однак, селектор 402 функціонує незалежно в режимі, вибраному перемикачем режимів 400.
Режим роботи селектора 402 має тенденцію бути складнішим у випадку високоефективного режиму і менш складним у випадку режиму низької складності. Більше того, наступне обговорення покаже, що режим роботи селектора 402 в режимі нижчої складності також має тенденцію знижувати швидкість, з якою селектор 402 змінює вибір серед ентропійних декодерів 322 при одержанні послідовних символів з ентропійних декодерів 322. Іншими словами, в режимі низької складності існує вища ймовірність, що безпосередньо розташовані один за одним послідовні символи одержуються з одного і того ж ентропійного декодера серед множини ентропійних декодерів 322. Це, у свою чергу, дозволяє швидше одержання символів з ентропійних декодерів 322. У високоефективному режимі, у свою чергу, режим роботи селектора 402 має тенденцію до досягання вибору серед ентропійних декодерів 322, де інтервал ймовірності, зв'язаний з відповідним вибраним ентропійним декодером 322, більш близько відповідає реальній символьній статистиці символу, на даний момент одержаного селектором 402, таким чином досягаючи кращого коефіцієнта стискання на кодувальній стороні при генеруванні відповідного потоку даних згідно з високоефективним режимом.
Наприклад, різна поведінка селектора 402 в обох режимах може реалізовуватися наступним чином. Наприклад, селектор 402 може конфігуруватися для виконання для наперед визначеного символу вибору серед множини ентропійних декодерів 322, який залежить від попередньо одержаних символів послідовності 326 символів у випадку високоефективного режиму роботи, який активується, і незалежно від будь-яких попередньо одержаних символів послідовності символів у випадку режиму низької складності, який активується. Залежність від попередньо одержаних символів послідовності 326 символів може випливати з адаптивності до контексту і/або адаптивності до ймовірності. Обидві адаптивності можуть деактивуватися в селекторі 402 під час режиму низької складності.
Згідно з подальшим варіантом виконання потік даних 401 може структуруватися на послідовні частини, такі як частини масиву даних, кадри, група картинок, послідовності кадрів або подібне, і кожен символ послідовності символів може зв'язуватися з відповідним одним з множини типів символів. У цьому випадку селектор 402 може конфігуруватися для варіювання для символів наперед визначеного типу в поточній частині масиву даних, при цьому вибір залежить від попередньо одержаних символів послідовності символів наперед визначеного типу в поточній частині масиву даних у випадку високоефективного режиму, який активується, і для полишення вибору сталим в поточній частині у випадку режиму низької складності, який активується. Тобто, селектору 402 можуть надавати можливість змінювати вибір серед ентропійних декодерів 322 для наперед встановленого типу символу, але ці зміни обмежуються появою між переходами між послідовними частинами масиву даних. Завдяки цьому заходу оцінки реальної статистики символів обмежуються рідкими моментами часу, тоді як складність кодування зменшується протягом більшості часу.
Окрім того, кожен символ послідовності 326 символів може зв'язуватися з відповідним одним з множини типів символів, а селектор 402 може конфігуруватися для наперед визначеного символу наперед визначеного типу для вибору одного з множини контекстів, який залежить від попередньо одержаних символів послідовності 326 символів, і виконання вибору серед ентропійних декодерів 322, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом разом з оновленням моделі ймовірності, зв'язаної з вибраним контекстом, який залежить від наперед визначеного символу у випадку високоефективного режиму, який активується, і для виконання вибору одного з множини контекстів, який залежить від попередньо одержаних символів послідовності 326 символів, і для виконання вибору серед ентропійних декодерів 322, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом, разом з полишенням моделі ймовірності, зв'язаної з вибраним контекстом, сталою у випадку режиму низької складності, який активується. Тобто, селектор 402 може використовувати адаптивність до контексту відносно певного типу синтаксичного елемента в обох режимах з одночасним уникненням адаптації до ймовірності у випадку режиму низької складності (І С).
Альтернативно, замість повного усунення адаптації до ймовірності, селектор 402 може просто знижувати швидкість оновлення адаптації до ймовірності режиму низької складності (І С) відносно високоефективного (НЕ) режиму.
Окрім того, можливі спеціальні І С-ріре аспекти, тобто, аспекти режиму низької складності (С), можна описати іншими словами. Зокрема, неадаптивні моделі ймовірності могли б використовуватися в режимі низької складності (І С). Неадаптивна модель ймовірності може або мати жорстко закодовану, тобто загалом сталу ймовірність, або її ймовірність зберігається бо фіксованою протягом тільки обробки частини масиву даних і, таким чином, може визначатися залежно від типу частини масиву даних і ОР, тобто, від параметра дискретизації, який, наприклад, сигналізується в потоці даних 401 для кожної частини масиву даних. Припускаючи, що послідовні інформаційні величини, присвоєні одному і тому ж контексту, дотримуються моделі фіксованої ймовірності, можна декодувати декілька з таких інформаційних величин за один етап, оскільки вони кодуються з використанням одного і того ж ріре коду, тобто, використовуючи однаковий ентропійний декодер, і уникається оновлення ймовірності після кожної декодованої інформаційної величини. Уникнення оновлень ймовірності зберігає операції під час процесу кодування і декодування і, таким чином, також веде до знижень складності і значного спрощення архітектури апаратних засобів.
Неадаптивне обмеження може послаблюватися для усіх або деяких вибраних моделей ймовірності у такий спосіб, що оновлення ймовірності дозволяються після певної кількості інформаційних величин, кодованих/декодованих з використанням цієї моделі. Належний інтервал оновлення дозволяє адаптацію ймовірності з наявністю здатності декодувати за один раз декілька інформаційних величин.
Далі представляється детальніший опис можливих спільних аспектів з масштабованою складністю режимів І С-ріре і НЕ-ріре. Зокрема, далі описуються аспекти, які можуть використовуватися для режиму І С-ріре і режиму НЕ-ріре у той же спосіб або у спосіб з масштабованою складністю. Масштабована складність означає, що випадок І С одержується з випадку НЕ шляхом видалення окремих частин або шляхом заміни їх дещо менш складними частинами. Однак, перед виконанням цього, слід відзначити, що варіант виконання з Фіг. 11 легко перетворюється на вищезгаданий варіант виконання адаптивного до контексту двійкового арифметичного кодування/декодування: селектор 402 і ентропійні декодери 322 повинні об'єднуватися в адаптивний до контексту двійковий арифметичний декодер, який повинен безпосередньо приймати потік даних 401 і вибирати контекст для інформаційної величини, який на даний момент одержується з потоку даних. Це особливо справедливо для адаптивності до контексту і/або адаптивності до ймовірності Обидві функції/адаптивності можуть деактивуватися або розроблятися більш послабленими під час режиму низької складності.
Наприклад, при втіленні варіанта виконання з Фіг. 11, фаза ентропійного ріре кодування, яка використовує ентропійні декодери 322, могла б використовувати вісім систематичних кодів, які відображають перетворення послідовності символів змінної довжини на послідовність бітів змінної довжини, тобто, кожен ентропійний декодер 322 міг би бути декодером типу м2м, який описаний вище. Концепція РіІРЕ кодування, яка використовує систематичні м2гу-коди, спрощується шляхом обмеження кількості м2у-кодів. У випадку адаптивного до контексту двійкового арифметичного декодера вона могла б керувати тими ж станами ймовірності для різних контекстів і використовувати ту ж або її дискретизовану версію для підрозбиття інтервалу ймовірності. Перетворення САВАС або станів моделі ймовірності, тобто станів, використовуваних для оновлення ймовірності, на РІРЕ індекси або індекси ймовірності для пошуку в таблиці Віаб можуть бути тими, що зображені в Таблиці А. сннсннє | весннн ССтлН--я
Стан САВАС РІРЕ Індекс Стан САВАС
Індекс 50 6 (| 1 Б 78 58 2 46 | 6
Зо
18 З 50 60 2 2-
Таблиця А: Перетворення станів САВАС на РІРЕ індекси
Ця модифікована схема кодування може використовуватися як основа для наближення кодування відеоданих з масштабованою складністю. При виконанні адаптації режиму ймовірності селектор 402 або адаптивний до контексту двійковий арифметичний декодер, відповідно, повинен вибирати РІРЕ декодер 322, тобто, одержувати використовуваний ріре індекс і індекс ймовірності в Ніаб, відповідно, на основі індексу стану ймовірності (тут ілюстративний інтервал від О до 62) зв'язаний з поточним символом, який декодується, як, наприклад, за допомогою контексту, з використанням перетворення, вказаного в таблиці А, і повинен оновлювати цей індекс стану ймовірності в залежності від на даний момент декодованого символу з використанням, наприклад, спеціальних перехідних величин таблиці, які вказують на індекс наступного стану ймовірності, який переглядається у випадку МР: і, відповідно, І РО. У випадку режиму низької складності (І С), оновлення останнього можна було б уникнути. Навіть перетворення можна було б уникнути у випадку моделей глобально фіксованої ймовірності.
Однак, довільний ентропійний кодувальний пристрій міг би використовуватися і технології у цьому документі можна також використовувати з незначними адаптаціями.
Вищенаведений опис Фіг. 11 скоріше головним чином належить до синтаксичних елементів і типів синтаксичних елементів. Далі описується кодування з конфігурованою складністю рівнів значущості коефіцієнта перетворення.
Наприклад, реконструктор 404 може конфігуруватися для відновлення блока перетворення 200 рівнів значущості коефіцієнта перетворення 202 на основі частини послідовності синтаксичних елементів незалежно від високоефективного режиму або режиму низької складності, який активується, на основі частини послідовності 327 синтаксичних елементів, яка містить непоперемінним способом синтаксичні елементи карти значущості, які визначають карту значущості, яка вказує положення ненульових рівнів коефіцієнта перетворення в блоці 200 перетворення, а потім (після) синтаксичні елементи рівня значущості, які визначають ненульові рівні коефіцієнта перетворення. Зокрема, можуть використовуватися наступні елементи:
Зо синтаксичні елементи кінцевого положення (Іабі зідпітісапі ро5 х, Іабі відпітїсапі роз у), які вказують положення останнього ненульового рівня коефіцієнта перетворення в блоці перетворення; перші синтаксичні елементи (соєїї 5ідпітісапі Пад), які разом визначають карту значущості і вказують для кожного положення вздовж одномірної доріжки (274), яка веде від положення ОС до положення останнього ненульового рівня коефіцієнта перетворення в блоці (200) перетворення, чи рівень коефіцієнта перетворення у відповідному положенні є ненульовим чи ні; другі синтаксичні елементи (соєїй ар агеаїет), які вказують для кожного положення одномірної доріжки (274), де, згідно з першими двійковими синтаксичними елементами, розташований ненульовий рівень коефіцієнта перетворення, чи рівень коефіцієнта перетворення у відповідному положення більший за одиницю; і треті синтаксичні елементи (соєї абз дгеаїег2, соєїй ар тіпив3), які вказують для кожного положення одномірної доріжки, де, згідно з першими двійковими синтаксичними елементами, розташований рівень коефіцієнта перетворення, більший за одиницю, величину, на яку відповідний рівень коефіцієнта перетворення у відповідному положенні перевищує одиницю.
Порядок серед синтаксичних елементів кінцевого положення, перших, других і третіх синтаксичних елементів може бути однаковим для високоефективного режиму і режиму низької складності, і селектор 402 може конфігуруватися для виконання вибору серед ентропійних декодерів 322 для символів, з яких десимволізатор 314 одержує синтаксичні елементи кінцевого положення, перші синтаксичні елементи, другі синтаксичні елементи і/або треті синтаксичні елементи, які по різному залежать від режиму низької складності або високоефективного режиму, який активується.
Зокрема, селектор 402 може конфігуруватися для символів наперед визначеного типу серед послідовності символів, з яких десимволізатор 314 одержує перші синтаксичні елементи і другі синтаксичні елементи, для вибору для кожного символу наперед визначеного типу одного з множини контекстів, який залежить від попередньо одержаних символів наперед визначеного типу серед послідовності символів і для виконання вибору, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом у випадку високоефективного режиму, який активується, і для виконання вибору кусково сталим способом так, що вибір є сталим на послідовних неперервних субчастинах послідовності у випадку режиму низької складності, який активується. Як описано вище, субчастини можуть визначатися в ряді положень, по яких проходять відповідна субчастина вздовж одномірної доріжки 274, або в ряді синтаксичних елементів відповідного типу, вже кодованого поточним контекстом. Тобто, двійкові синтаксичні елементи соеїї 5ідпіїсапі Пйад, соей арб5 дгеаїені і соей ар5 дгєайег2, наприклад, кодуються адаптивно до контексту вибором декодера 322 на основі моделі ймовірності вибраного контексту у високоефективному режимі (НЕ). Також використовується адаптація ймовірності. В режимі низької складності (І С) існують також різні контексти, які використовуються для кожного з двійкових синтаксичних елементів соєїї відпіїїсапі Пад, соєїї абз дгеаїетн ісоей арз агеаїетгаг.
Однак, для кожного з цих синтаксичних елементів контекст зберігається статичним для першої частини вздовж доріжки 274 з простою зміною контексту при переході до наступної частини, яка безпосередньо слідує за нею вздовж доріжки 274. Наприклад, кожна частина може займати 4, 8, 16 положень блока 200 в довжину незалежно від того, чи присутній, чи ні для відповідного положення відповідний синтаксичний елемент. Наприклад, соей ар агеаїег! і соей аре дгєаїєг2 просто присутні для значущих положень, тобто, положень, де або для яких соеїй 5ідпітісапі Пад становить 1. Альтернативно, кожна частина може становити в довжину 4, 8, 16 синтаксичних елементів незалежно від того, чи, таким чином одержувана відповідна частина охоплює більшу кількість положень блоків. Наприклад, соєї аб агеаїент і соєїй абз агєайег2 просто присутні для значущих положень і, таким чином, частини чотирьох синтаксичних елементів можуть охоплювати більше ніж 4 положення блока завдяки положенням між ними вздовж доріжки 274, для якої синтаксичний елемент не передається так, що відсутні соей арз агеаїет ісоей арз агеаїег2, оскільки відповідний рівень у цьому положенні дорівнює нулю.
Селектор 402 може конфігуруватися для символів наперед визначеного типу серед послідовності символів, з яких десимволізатор одержує перші синтаксичні елементи і другі синтаксичні елементи, для вибору для кожного символу наперед визначеного типу одного з множини контекстів в залежності від кількості попередньо одержаних символів наперед визначеного типу в підпослідовності символів, які мають наперед визначену величину і належать до однієї і тієї ж субчастини, або від кількості попередньо одержаних символів наперед визначеного типу в послідовності символів, які належать одній і тій же субчастині.
Перша альтернатива була справедливою для соеїї аре дгєаїегі, а допоміжна альтернатива була справедливою для совєїї арх дгеаїег2 згідно з вищенаведеними спеціальними варіантами виконання.
Окрім того, треті синтаксичні елементи, які вказують для кожного положення одномірної доріжки, де, згідно з першими двійковими синтаксичними елементами, розташований рівень значущості коефіцієнта перетворення, більший за одиницю, величини, на яку відповідний рівень значущості коефіцієнта перетворення у відповідному положенні перевищує одиницю, можуть включати цілі синтаксичні елементи, тобто, соєїй ар5 тіпи53, і десимволізатор 314 може конфігуруватися для використання функції перетворення, яка керується контрольним параметром, для перетворення області слів символьної послідовності на кообласть цілих синтаксичних елементів, і для визначення контрольного параметра на цілий синтаксичний елемент в залежності від цілих синтаксичних елементів попередніх третіх синтаксичних елементів, якщо активується високоефективний режим, і для виконання визначення параметрів кусково сталим чином так, що визначення параметрів є сталим на послідовних неперервних субчастинах підпослідовності у випадку режиму низької складності, який активується, при цьому бо селектор 402 може конфігуруватися для вибору наперед визначеного одного з ентропійних декодерів (322) для символів слів символьної послідовності, перетворених на цілі синтаксичні елементи, який зв'язується з рівномірним розподілом ймовірності як у високоефективному режимі так і у режимі низької складності. Тобто, навіть десимволізатор може працювати в залежності від режиму, вибраного перемикачем режимів 400, зображеним пунктирною лінією 407. Замість кусково сталого визначення контрольного параметра десимволізатор 314 може зберігати контрольний параметр сталим під час поточної частини масиву, наприклад, або глобально сталим в часі.
Далі описується моделювання контексту з масштабованою складністю.
Оцінка того ж синтаксичного елемента верхнього лівого сусіднього блока для одержання індексу моделі контексту є спільним наближенням і часто використовується у випадку високоефективного режиму (НЕ), наприклад, для синтаксичного елемента різниці векторів руху.
Однак, ця оцінка вимагає більшого зберігального буфера і не дозволяє пряме кодування синтаксичного елемента. Також, для досягання вищих характеристик кодування, можуть оцінюватися більш доступні сусідні елементи.
В переважному варіанті виконання уся фаза моделювання контексту, яка оцінює синтаксичні елементи сусідніх квадратних або прямокутних блоків або прогнозувальних блоків, присвоюються одній моделі контексту. Це дорівнює деактивуванню адаптивності на фазі вибору моделі контексту. Для такого переважного варіанта виконання вибір моделі контексту, який залежить від двійкового індексу рядка інформаційних величин після бінаризації не модифікується порівняно з поточною структурою для САВАС. В іншому переважному варіанті виконання на додаток до моделі фіксованого контексту для синтаксичних елементів використовують оцінку сусідніх блоків, також фіксують модель контексту для різних двійкових індексів. Відзначаємо, що опис не включає бінаризацію і вибір моделі контексту для різниці векторів руху і синтаксичні елементи, які стосуються кодування рівнів значущості коефіцієнта перетворення.
В переважному варіанті виконання дозволяється тільки оцінка лівого сусіднього блока. Це веде до зменшеного буфера в ланцюзі обробки, оскільки останній блок або кодувальну блочну лінію не потрібно більше зберігати. В подальшому переважному варіанті виконання оцінюються тільки сусідні блоки, які лежать в одному і тому ж кодувальному засобі.
Зо В переважному варіанті виконання оцінюються усі доступні сусідні блоки. Наприклад, на додаток до верхнього лівого сусіднього блока, верхній лівий, верхній правий і нижній правий блок оцінюються у випадку доступності.
Тобто, селектор 402 з Фіг. 11 може конфігуруватися для використання для наперед визначеного символу, який належить до наперед визначеного блока мультимедійних даних, попередньо одержаних символів послідовності символів, яка належить до більшої кількості різних сусідніх блоків мультимедійних даних у випадку високоефективного режиму, який активується, для вибору одного з множини контекстів і для виконання вибору серед ентропійних декодерів 322, який залежить від моделі ймовірності, зв'язаної з вибраним контекстом. Тобто, сусідні блоки можуть бути сусідніми в часовій і/або просторовій області. Просторово сусідні блоки видимі, наприклад, на Фіг. 1-3. Потім селектор 402 може відповідати за вибір режиму за допомогою перемикача 400 режимів для виконання адаптації контексту на основі попередньо одержаних символів або синтаксичних елементів, які належать до більшої кількості сусідніх блоків у випадку високоефективного (НЕ) режиму, порівняно з режимом низької складності (І С), таким чином зменшуючи зберігання надмірної інформації, як тільки що описано.
Далі описується кодування з меншою складністю різниць векторів руху згідно з варіантом виконання.
У стандартному відеокодеці Н.264/АМС вектор руху, зв'язаний з макроблоком, передається шляхом сигналізації різниці (різниця векторів руху - тма) між вектором руху поточного макроблока і предиктором серединного вектора руху. Коли САВАС використовується як ентропійний кодер, то тм кодується наступним чином. Ціле значення тм поділяється на абсолютну величину і знак числа. Абсолютну величину бінаризують з використанням комбінації усіченого унарного коду і експоненціального коду Голомба 3-го порядку, названих префіксом і суфіксом одержуваного рядка двійкових кодів. Інформаційні величини, які належать до бінаризації з усіканням унарного коду, кодуються з використанням моделей контексту, тоді як інформаційні величини, які належать до бінаризації з використанням експоненціальних кодів
Голомба, кодуються в байпасному режимі, тобто, з фіксованою ймовірністю 0,5 за допомогою
САВАС. Бінаризація з використанням унарних кодів виконується наступним чином. Покладають абсолютну величину цілого значення тма рівною п потім одержуваний рядок двійкових кодів складається з п! ї одним залишковим "0'. Як приклад, нехай п-4, потім рядком двійкових чисел бо Є "11110". У випадку усіченого унарного коду, існує межа і якщо значення перевищує цю межу, то рядок двійкових чисел складається з п'-1 1". Для випадку тма, межа дорівнює 9. Це означає, що якщо кодується абсолютна величина тмо, яка дорівнює або більша 9, то завдяки бінаризації з використанням експоненціальних кодів Голомба одержується 9 "1 рядок двійкових чисел складається з префіксу і суфіксу. Моделювання контексту для усіченої унарної частини виконується наступним чином. Для першого двійкового числа рядка двійкових чисел беруться абсолютні значення тма з верхнього і лівого сусіднього макроблоків, якщо вони доступні (якщо не доступні, то розуміється, що значення дорівнює 0). Якщо сума для спеціального компонента (горизонтальний або вертикальний напрям) більша за 2, то вибирається друга модель контексту, якщо абсолютне значення суми більше за 32, то вибирається третя модель контексту, інакше (абсолютне значення суми менше ніж 3) і вибирається перша модель контексту. Окрім того, моделі контексту є різними для кожного компонента. Для другого двійкового числа рядка двійкових чисел використовується четверта модель контексту і п'ята модель контексту використовується для решти двійкових чисел унарної частини. Коли абсолютне значення тмй дорівнює або більша за 9, наприклад, усі двійкові числа усіченої унарної частини дорівнюють "1", то різниця між абсолютним значенням тмй і 9 кодується в байпасному режимі за допомогою експоненціальних кодів Голомба 3-го порядку. На останньому етапі знак тма кодується в байпасному режимі.
Найостанніша технологія кодування для тм при використанні САВАС як ентропійного кодера описується в поточній Тестувальній Моделі (НМ) проекту Високоефективного кодування відеоданих (НЕМС). В НЕМС розміри блоків є змінними і форма, специфікована вектором руху, називається прогнозувальним засобом (РШ). Розміри РО верхнього лівого сусіднього блока можуть бути іншими, ніж у поточному РО. Тому, як би це не було релевантним, верхній і лівий сусідній блоки тепер називаються верхнім і лівим сусіднім блоком верхнього лівого кута поточного РО. Для самого кодування тільки процес одержання першого двійкового числа може змінюватися згідно з варіантом виконання. Замість оцінки абсолютного значення суми ММ від сусідніх блоків, кожен сусідній блок може оцінюватися окремо. Якщо абсолютне значення МУ сусіднього блока доступне і більше за 16, то індекс моделі контексту може збільшуватися, надаючи ту ж кількість моделей контексту для першого двійкового числа, тоді як кодування решти рівня абсолютного значення ММ0О і знаку є точно таким же що й у стандарті Н.264/АМО.
Зо У вищеописаній технології кодування тма до 9 інформаційних величин повинні кодуватися моделлю контексту, тоді як залишкова величина тм може кодуватися в байпасному режимі низької складності разом з інформацією про знак. Цей представлений варіант виконання описує технологію зменшення кількості інформаційних величин, закодованих моделями контексту, надаючи більшу кількість байпасних режимів і зменшує кількість моделей контексту, необхідну для кодування тма. Для цього, критична величина зменшується від 9 до 1 або 2. Це означає тільки, що перша інформаційна величина, яка уточнює чи абсолютне значення тма більше за нуль, кодується з використанням моделі контексту, а друга інформаційна величина, яка уточнює чи абсолютне значення тма більше за нуль, кодується першою і друга інформаційна величина, яка уточнює чи абсолютна величина тма більша за нуль і одиницю, кодується з використанням моделі контексту, тоді як залишкова величина кодується в байпасному режимі і/або з використанням коду МІС. Усі двійкові числа, які одержуються з процесу бінаризації з використанням коду МІ С, не використовуючи унарний або усічений унарний код, кодуються з використанням байпасного режиму низької складності. У випадку РІРЕ, можлива пряма вставка в і з потоку даних. Більше того, якщо подібне є, то може використовуватися інше визначення верхнього і лівого сусіднього блока для одержання кращого вибору моделі контексту для першої інформаційної величини.
В переважному варіанті виконання експоненціальні коди Голомба використовуються для бінаризації решти абсолютних значень ММО компонентів. Для цього, порядок експоненціального коду Голомба змінний. Порядок експоненціального коду Голомба одержується наступним чином. Після одержання і кодування моделі контексту для першої інформаційної величини і, тому, індексу такої моделі контексту, індекс використовується як порядок для бінаризації з використанням експоненціального коду Голомба. У цьому переважному варіанті виконання модель контексту для першої інформаційної величини знаходиться в інтервалі 1-3, надаючи індекс 0-2, який використовуються як порядок експоненціального коду Голомба. Цей переважний варіант виконання може використовуватися для випадку високоефективного (НЕ) режиму.
В альтернативі до вищеописаної технології використання двох раз п'яти контекстів в кодуванні абсолютного значення ММУО для кодування 9 двійкових чисел бінаризації з використанням унарного коду, могли б також використовуватися 14 моделей контексту (7 для бо кожного компонента). Наприклад, хоча перша і друга інформаційна величина унарної частини могли б кодуватися чотирма різними контекстами, як описано вище, п'ятий контекст міг би використовуватися для третьої інформаційної величини, а шостий контекст міг би використовуватися відносно четвертої інформаційної величини, тоді як п'ята - дев'ята інформаційна величина кодуються з використанням сьомого контексту. Таким чином, у цьому випадку повинні вимагатися навіть 14 контекстів і просто залишкова величина може кодуватися в байпасному режимі низької складності. Технологія для зменшення кількості інформаційних величин, закодованих моделями контексту, надає більшу кількість байпасних інформаційних величин і зменшує кількість моделей контексту, необхідну для кодування ММО, повинна зменшувати критичну величину, як, наприклад, від 9 до 1 або 2. Це означає, що тільки перша інформаційна величина, яка уточнює чи абсолютне значення ММО більше за нуль, повинен кодуватися з використанням моделі контексту, або чи перша і друга інформаційна величина, яка уточнює чи абсолютне значення ММО більше за нуль і одиницю, повинен кодуватися з використанням відповідної моделі контексту, тоді як залишкова величина кодується кодом МІ с.
Усі інформаційні величини, які одержується з процесу бінаризації з використанням коду МІС, кодуються з використанням байпасного режиму низької складності. У випадку РІРЕ можливе пряме вставляння в і видалення з потоку даних. Окрім того, представлений варіант виконання використовує інше визначення верхнього і лівого сусіднього блока для одержання кращого вибору моделі контексту для першої інформаційної величини. На додаток до цього, моделювання контексту модифікується у такий спосіб, що кількість моделей контексту, необхідна для першої або першої і другої інформаційної величини, зменшується, приводячи до подальшого зменшення пам'яті. Також, оцінювання сусідніх блоків, таких як вищезгаданий сусідній блок, може усуватися, приводячи до збереження лінійного буфера/пам'яті, необхідної для зберігання значень тм сусідніх блоків. Нарешті, порядок кодування компонентів може поділятися у спосіб, який дозволяє кодування інформаційних величин з префіксом для обох компонентів (тобто, елементів вибірок, кодованих моделями контексту), за яким слідує кодування байпасних інформаційних величин.
В переважному варіанті виконання експоненціальні коди Голомба використовуються для бінаризації решти компонентів абсолютного значення тмуО. Для цього порядок експоненціального коду Голомба є змінним. Порядок експоненціального коду Голомба може
Зо одержуватися наступним чином. Після одержання моделі контексту для першої інформаційної величини і, тому, після одержання індексу такої моделі контексту, індекс використовується як порядок для бінаризації з використанням експоненціального коду Голомба. У цьому переважному варіанті виконання модель контексту для першої інформаційної величини становить 1-3, надаючи індекс 0-2, який використовується як порядок експоненціального коду
Голомба. Цей переважний варіант виконання може використовуватися для випадку високоефективного режиму (НЕ) і кількість моделей контексту зменшується до 6. Для зниження кількості моделей контексту знову і, тому, для збереження пам'яті, горизонтальні і вертикальні компоненти можуть використовувати однакові моделі контексту в подальшому переважному варіанті виконання. У такому випадку вимагається тільки З моделі контексту. Окрім того, у подальшому переважному варіанті виконання винаходу для оцінки може братися до уваги тільки лівий сусідній блок. У цьому переважному варіанті виконання порогова величина може не змінюватися (наприклад, тільки єдина порогова величина 16 надає параметр 0 або 1 експоненціального коду Голомба, або єдина порогова величина 32 надає параметр 0 або 2 експоненціального коду Голомба). Цей переважний варіант виконання зберігає лінійний буфер, необхідний для зберігання значення тма. В іншому переважному варіанті виконання порогова величина модифікується і дорівнює 2 і 16. Для такого переважного варіанта виконання загалом
З моделі контексту вимагаються для кодування тма і можливий параметр експоненціального коду Голомба становить 0-2. В подальшому переважному варіанті виконання порогова величина дорівнює 16 і 32. Знову, описаний варіант виконання придатний для випадку високоефективного (НЕ) режиму.
В подальшому переважному варіанті виконання винаходу критична величина зменшується від 9У до 2. У цьому переважному варіанті виконання перша інформаційна величина і друга інформаційна величина можуть кодуватися з використанням моделей контексту. Вибір моделі контексту для першої інформаційної величини може робитися як і в рівні техніки або модифікуватися у спосіб, описаний у вищенаведеному переважному варіанті виконання. Для другої інформаційної величини окрема модель контексту вибирається як і в рівні техніки. В подальшому переважному варіанті виконання модель контексту для другої інформаційної величини вибирається оцінюванням тм лівого сусіднього блока. Для такого випадку, індекс моделі контексту є тим же, що й для першої інформаційної величини, тоді як доступні моделі бо контексту відмінні від тих, що використовуються для першої інформаційної величини. Загалом вимагається 6 моделей контексту (відзначається, що компоненти використовують спільні моделі контексту). Знову, параметр експоненціального коду Голомба може залежати від вибраного індексу моделі контексту першої інформаційної величини. В іншому переважному варіанті виконання винаходу параметр експоненціального коду Голомба залежить від індексу моделі контексту другої інформаційної величини. Описані варіанти виконання винаходу можуть використовуватися для випадку високоефективного (НЕ) режиму.
В подальшому переважному варіанті виконання винаходу моделі контексту для обох інформаційних величин є фіксованими і не одержуються шляхом оцінки або лівого або вищезгаданих блоків. Для цього переважного варіанту виконання загальна кількість моделей контексту дорівнює 2. В подальшому переважному варіанті виконання винаходу перша інформаційна величина і друга інформаційна величина використовують однакову модель контексту. В результаті, тільки одна модель контексту вимагається для кодування тма. В обох переважних варіантах виконання винаходу параметр експоненціального коду Голомба може бути фіксованим і рівним 1. Описаний переважний варіант виконання винаходу придатний для обох конфігурацій НЕ і 1 0.
В іншому переважному варіанті виконання порядок експоненціального коду Голомба одержується незалежно від індексу моделі контексту першої інформаційної величини. У цьому випадку абсолютне значення суми звичайного вибору моделі контексту стандарту Н.264/АМС використовується для одержання порядку для експоненціального коду Голомба. Цей переважний варіант виконання може використовуватися для випадку високоефективного режиму (НЕ).
В подальшому переважному варіанті виконання порядок експоненціальних кодів Голомба є фіксованим і встановлюється рівним 0. В іншому переважному варіанті виконання порядок експоненціальних кодів Голомба є фіксованим і встановлюється рівним 1. В переважному варіанті виконання порядок експоненціальних кодів Голомба фіксується рівним 2. В подальшому варіанті виконання порядок експоненціальних кодів Голомба фіксується рівним 3.
В подальшому переважному варіанті виконання порядок експоненціальних кодів Голомба фіксується згідно з формою і розміром поточного РО. Представлені переважні варіанти виконання можуть використовуватися для випадку режиму низької складності (ІС).
Відзначається, що фіксований порядок експоненціальних кодів Голомба розглядається з меншою кількістю інформаційних величин з моделями контексту.
В переважному варіанті виконання сусідні блоки визначаються наступним чином. Для вищезгаданого РИ усі РО, які охоплюють поточний РИ, беруться до уваги і використовується РО з найбільшим ММ. Це робиться також для лівого сусіднього блока. Усі РІ), які охоплюють поточний РО, оцінюються і використовується РО з найбілошим МУ. В іншому переважному варіанті виконання середня абсолютна величина вектора руху з усіх Р), які охоплюють верхню і ліву границю, поточний РИ використовується для одержання першої інформаційної величини.
Для представлених вище переважних варіантів виконання можна змінити порядок кодування наступним чином, тм повинно специфікуватися для горизонтального і вертикального напряму один за іншим (або навпаки). Таким чином, потрібно кодувати два рядки інформаційних величин. Для мінімізації кількості перемикань режимів для ентропійного кодувального засобу (тобто, перемикання між байпасним і регулярним режимом), можна кодувати інформаційні величини, кодовані моделями контексту для обох компонентів на першому етапі, за яким слідують дві інформаційні величини, кодовані в байпасному режимі на другому етапі.
Відзначається, що це тільки переупорядкування.
Будь-ласка, візьміть до уваги, що двійкові числа, які одержуються з бінаризації, яка використовує унарний код або усічений унарний код, можуть також представлятися еквівалентними даними бінаризації фіксованої довжини одного ідентифікатора на індекс інформаційної величини, який уточнює чи величина більша за поточний індекс інформаційної величини. Як приклад, критична величина для бінаризації тма з використанням усіченого унарного коду встановлюється рівною 2, що надає кодові слова 0, 10, 11 для величин 0, 1, 2. У відповідному процесі бінаризації інформаційних величин фіксованої довжини з одним ідентифікатором на індекс інформаційної величини, один ідентифікатор для індексу 0 інформаційної величини (тобто, перша інформаційна величина) уточнює чи абсолютне значення тма більше за 0, чи ні, і один ідентифікатор для другої інформаційної величини з індексом 1 уточнює чи абсолютне значення тма більше за 1 чи ні. Коли другий ідентифікатор кодується тільки, коли перший ідентифікатор дорівнює 1, то це надає ті ж кодові слова 0, 10, 11.
Далі описується представлення з масштабованою складністю внутрішнього стану моделей ймовірності згідно з описаним варіантом виконання.
У НЕ-РІРЕ засобі внутрішній стан моделі ймовірності оновлюється після кодування нею інформаційної величини. Оновлений стан одержується таблицею пошуку переходу станів, яка використовує старий стан і величину кодованої інформаційної величини. У випадку САВАС модель ймовірності може займати 63 різні стани, де кожен стан відповідає моделі ймовірності в інтервалі (0,0, 0,5). Кожен з цих станів використовується для реалізації двох моделей ймовірностей. На додаток до ймовірності, присвоєної стану, 1,0 мінус ймовірність також використовується і ідентифікатор, названий маїМре, зберігає інформацію про те, чи використовується ймовірність чи 1,0 мінус ймовірність. Це приводить до загалом 126 станів. Для використання такої моделі ймовірності з концепцією РІРЕ кодування, кожен з 126 станів необхідно перетворювати на один з доступних РІРЕ кодерів. В поточних втіленнях РІРЕ кодерів це робиться шляхом використання таблиці пошуку. Приклад такого перетворення зображений в
Таблиці А.
Далі описується варіант виконання як внутрішній стан моделі ймовірності може представлятися для уникнення використання таблиці пошуку для перетворення внутрішнього стану на РІРЕ індекс. Виключно деякі прості операції по маскуванню бітів необхідні для одержання РіІРЕ індексу із змінної внутрішнього стану моделі ймовірності. Це нове представлення з масштабованою складністю внутрішнього стану моделі ймовірності виконане дворівневим. Для застосувань, де операція низької складності є обов'язковою, використовується тільки перший рівень. Вона описує тільки ріре індекс і ідентифікатор маІМр:, який використовується для кодування або декодування відповідних інформаційних величин. У випадку описаної схеми РІРЕ ентропійного кодування перший рівень може використовуватися для диференціації між 8 різними моделями ймовірності. Таким чином, перший рівень повинен потребувати З біт для ріреїдх і один додатковий біт для ідентифікатора маІМрв». Завдяки другому рівню кожен з великих інтервалів ймовірності першого рівня ділиться на декілька менших інтервалів, які зберігають представлення ймовірностей при вищих роздільних здатностях. Це детальніше представлення дозволяє точнішу роботу оцінювачів ймовірності. Загалом, для кодування вигідно мати високі НЮО-характеристики. Як приклад, це представлення з масштабованою складністю внутрішнього стану моделей ймовірності з використанням РІРЕ зображується наступним чином:
Коо) 07 | 106 | 65. | в | в | т | вп | ю
Перший і другий рівень зберігаються в єдиній 8-бітовій пам'яті. 4 біти вимагаються для зберігання першого рівня - індекса, який визначає РІРЕ індекс з величиною МР5 на найбільш значущому біті- а інші 4 біти використовуються для зберігання другого рівня. Для втілення поведінки оцінювача ймовірності САВАС, кожен РІРЕ індекс має конкретне число дозволених індексів деталізації, яке залежить від того скільки станів САВАС було перетворено на РІРЕ індекс. Наприклад, для перетворення в Таблиці А кількість станів САВАС на РІРЕ індекс вказана в Таблиці В. о РІРЕЇндеєєї//// | 0 | 1 | 2 | з | 4 | 5 | 6 | 7
Таблиця В: Кількість станів САВАС на РІРЕ індекс для прикладу Таблиці А.
Під час процесу кодування або декодування інформаційної величини до РІРЕ індекса і ма!Мр5 можна одержувати прямий доступ за допомогою використання простих операцій маскування бітів або зсуву бітів. Процеси кодування низької складності вимагають тільки 4 біти першого рівня, а процеси високоефективного кодування можуть додатково використовувати 4 біти другого рівня для реалізації оновлення моделі ймовірності оцінювача ймовірності САВАС.
Для виконання цього оновлення, може формуватися таблиця пошуку переходу стану, яка має ті ж переходи станів що й первинна таблиця, але яка використовує дворівневе представлення станів з масштабованою складністю. Первинна таблиця переходу станів складається з двох рядків з 63 елементами в кожному. Для кожного вхідного стану вона містить два вихідні стани.
При використанні представлення з масштабованою складністю розмір таблиці переходу станів не перевищує два рядки з 128 елементами в кожному, що є прийнятним збільшенням розміру таблиці. Це збільшення залежить від того скільки бітів використовується для представлення індексу деталізації і для точної емуляції поведінки оцінювача ймовірності САВАС, при цьому вимагається чотири біти. Однак, міг би використовуватися інший оцінювач ймовірності, який може працювати на меншій множині станів САВАС так, що для кожного ріре індексу допускається не більше ніж 8 станів. Тому, споживання пам'яті може узгоджуватися із заданим рівнем складності процесу кодування шляхом адаптації кількості бітів, використовуваних для представлення індексу деталізації. Порівняно з внутрішнім станом моделей ймовірності з
САВАС, де існує 64 індекси стану ймовірності, використання таблиць пошуку для перетворення моделей ймовірності на спеціальний РІРЕ код усувається і не вимагається додаткове перетворення.
Далі описується оновлення моделі контексту з масштабованою складністю згідно з варіантом виконання.
Для оновлення моделі контексту, її індекс стану ймовірності може оновлюватися на основі одного або більшої кількості попередньо кодованих інформаційних величин. При встановленні
НЕ-РІРЕ це оновлення виконується після кодування або декодування кожної інформаційної величини. І, навпаки, при встановленні І С-РІРЕ це оновлення може ніколи не виконуватися.
Однак, можна виконувати оновлення моделей контексту з масштабованою складністю.
Тобто, рішення, чи оновлювати модель контексту, чи ні, може базуватися на різних аспектах.
Наприклад, кодер може не оновлюватися для окремих моделей контексту тільки як, наприклад, для моделей контексту синтаксичного елемента совеїї відпіїісапі Пад, і завжди оновлюється для усіх інших моделей контексту.
Іншими словами, селектор 402 міг би конфігуруватися для символів кожного з ряду наперед визначених типів символів для виконання вибору серед ентропійних декодерів 322 в залежності від відповідної моделі ймовірності, зв'язаної з відповідним наперед визначеним символом так, що кількість наперед визначених типів символів менша в режимі низької складності, ніж у високоефективному режимі.
Окрім того, критеріями для визначення того, чи оновлювати модель контексту, чи ні, могли б бути, наприклад, розмір пакету потоку бітів, кількість інформаційних величин, таким чином декодованих, або чи оновлення виконується тільки після кодування конкретної фіксованої або змінної кількості інформаційних величин для моделі контексту.
За допомогою цієї схеми для прийняття рішення, чи оновлювати моделі контексту, чи ні, може втілюватися оновлення моделі контексту з масштабованою складністю. Це дозволяє
Зо збільшення або зменшення частини інформаційних величин в потоці бітів, для яких виконується оновлення моделі контексту. Чим більше оновлень моделі контексту, тим краща ефективність кодування і вища складність обрахунку. Таким чином, описаною схемою може досягатися оновлення моделі контексту з масштабованою складністю.
В переважному варіанті виконання оновлення моделі контексту виконується для інформаційних величин усіх синтаксичних елементів за виключенням синтаксичних елементів соей 5ідпітісапі Пад, соєї аре дгеаїет ісоей ар дгеагего.
В подальшому переважному варіанті виконання оновлення моделі контексту виконується тільки для інформаційних величин синтаксичних елементів соеїй 5ідпіїсапі пад, соей арз агеаїен ісоей ар агеаїенгаг.
В подальшому переважному варіанті виконання оновлення моделі контексту виконується для усіх моделей контексту при початку кодування або декодування частини масиву даних.
Після обробки конкретної наперед визначеної кількості блоків перетворення, оновлення моделі контексту деактивується для усіх моделей контексту до досягання кінця частини масиву даних.
Наприклад, селектор 402 може конфігуруватися для символів наперед визначеного типу для виконання вибору серед ентропійних декодерів 322 в залежності від моделі ймовірності, зв'язаної з наперед визначеним типом символу, разом з або без оновлення відповідної моделі ймовірності так, що довжина фази вивчення послідовності символів, на якій виконується вибір для символів наперед визначеного типу разом з оновленням, менша в режимі низької складності, ніж у високоефективному режимі.
Подальший переважний варіант виконання ідентичний попередньо описаному переважному варіанту виконання, але він використовує представлення внутрішнього стану моделей контексту з масштабованою складністю у такий спосіб, що одна таблиця зберігає "першу частину" (маїМр5 і ріредх) усіх моделей контексту, а друга таблиця зберігає "другу частину" (геїпеїдх) усіх моделей контексту. В місці, де оновлення моделі контексту деактивується для усіх моделей контексту (як описано в попередньому переважному варіанті виконання), більше не потрібне зберігання таблицею "другої частини" і воно може не братися до уваги.
Далі описується оновлення моделі контексту для послідовності інформаційних величин згідно з варіантом виконання.
В конфігурації ІС-РІРЕ інформаційні величини синтаксичних елементів типу 60 соей в5ідпітісапі Яад, соей ар агеаїеи і соеїй аре дгеаїєгт2 групуються в підмножини. Для кожної підмножини використовується єдина модель контексту для кодування її інформаційних величин. У цьому випадку, оновлення моделі контексту може виконуватися після кодування фіксованої кількості інформаційних величин цієї послідовності. Це оновлення моделі з багатьма інформаційними величинами описується далі. Однак, це оновлення може відрізнятися від оновлення, яке використовує тільки останню кодовану інформаційну величину і внутрішній стан моделі контексту. Наприклад, для кожної інформаційної величини, яка кодувалася, виконується один етап оновлення моделі контексту.
Далі надаються приклади для кодування ілюстративної підмножини, яка складається з 8 інформаційних величин. Літера "р позначає декодування інформаційної величини і літера позначає оновлення моделі контексту. У випадку І! С-РІРЕ виконується тільки декодування інформаційної величини без оновлень моделі контексту: роерррррр
У випадку НЕ-РІРЕ після декодування кожної інформаційної величини виконується оновлення моделі контексту:
БбиБбивбивБибибвбививи
Для того, щоб дещо знизити складність, оновлення моделі контексту може виконуватися після послідовності інформаційних величин (у цьому прикладі після кожних 4 інформаційних величин виконуються оновлення цих 4 інформаційних величин):
ББрБ;БиппиБрвББийци
Тобто, селектор 402 може конфігуруватися для символів наперед визначеного типу для виконання вибору серед ентропійних декодерів 322 в залежності від моделі ймовірності, зв'язаної з наперед визначеним типом символу, разом з або без оновлення відповідної моделі ймовірності так, що частота, з якою виконується вибір для символів наперед визначеного типу разом з оновленням, нижча в режимі низької складності, ніж у високоефективному режимі.
У цьому випадку після декодування 4 інформаційних величин слідують 4 етапи оновлення на основі 4 тільки що декодованих інформаційних величин. Відзначається, що ці чотири етапи оновлення можуть виконуватися за один єдиний етап шляхом використання спеціальної таблиці пошуку. Ця таблиця пошуку зберігає для кожної можливої комбінації з 4 інформаційних величин і кожного можливого внутрішнього стану моделі контексту одержуваний новий стан після
Зо чотирьох традиційних етапів оновлення.
В певному режимі оновлення з багатьма інформаційними величинами використовується для синтаксичного елемента соеїї відпітісапі Пад. Для інформаційних величин усіх інших синтаксичних елементів не використовується оновлення моделі контексту. Кількість інформаційних величин, які кодуються перед виконанням етапу оновлення з багатьма елементами вибірки, встановлюється рівною п. Коли кількість інформаційних величин множини не ділиться на п, то 1-п-1 інформаційних величин залишаються в кінці підмножини після останнього оновлення з багатьма елементами вибірки. Для кожної з цих інформаційних величин традиційне оновлення з однією інформаційною величиною виконується після кодування усіх цих інформаційних величин. Кількість п може бути будь-яким додатнім числом, більшим за 1. Інший режим може бути ідентичним з попереднім режимом за виключенням того, що оновлення з багатьма інформаційними величинами виконується для довільних комбінацій соєїї 5ідпітісапі Чад, соеїї арх адгеаїенті і соеїї арз адгеаїегаг (тільки замість соєїї 5ідпітісапі Пад).
Таким чином, цей режим повинен бути складнішим, ніж інший. Усі інші синтаксичні елементи (де не використовується оновлення з багатьма інформаційними величинами) можуть ділитися на дві окремі підмножини, де для однієї з підмножин використовується оновлення з єдиною інформаційною величиною, а для іншої підмножини не використовується оновлення моделі контексту. Будь-які можливі окремі підмножини є дійсними (включаючи порожню підмножину).
В альтернативному варіанті виконання оновлення з багатьма інформаційними величинами може базуватися тільки на останніх т інформаційних величинах, які кодуються безпосередньо перед етапом оновлення з багатьма інформаційними величинами, т може бути будь-яким натуральним числом, меншим за п. Таким чином, декодування може виконуватися наступним чином: рБрБрБипвБрррипрБрррииррь в... 3 п-4 і т-2.
Тобто, селектор 402 може конфігуруватися для символів наперед визначеного типу для виконання вибору серед ентропійних декодерів 322 в залежності від моделі ймовірності, зв'язаної з наперед визначеним типом символу, разом з оновленням відповідної моделі ймовірності, при цьому кожен п-й символ наперед визначеного типу базується на т найостанніших символів наперед визначного типу так, що відношення п/т більше в режимі бо низької складності, ніж у високоефективному режимі.
В подальшому переважному варіанті виконання для синтаксичного елемента соей 5ідпіїсапі Чад схема моделювання контексту, яка використовує локальний зразок, як описано вище для конфігурації НЕ-РІРЕ, може використовуватися для присвоєння моделей контексту інформаційним величинам синтаксичного елемента. Однак, для цих інформаційних величин не використовується оновлення моделі контексту.
Окрім того, селектор 402 може конфігуруватися для символів наперед визначеного типу для вибору одного з ряду контекстів в залежності від кількості попередньо одержаних символів послідовності символів і для виконання вибору серед ентропійних декодерів 322 в залежності від моделі ймовірності, зв'язаної з вибраним контекстом, так, що кількість контекстів і/або кількість попередньо одержаних символів менша в режимі низької складності, ніж у високоефективному режимі.
Ініціалізація моделі ймовірності, яка використовує 8-бітові ініціалізуючі величини
Цей розділ описує процес ініціалізації внутрішнього стану моделей ймовірності з масштабованою складністю, використовуючи так звану 8-бітову ініціалізуючу величину замість двох 8-бітових величин як у випадку стандарту кодування відеоданих рівня техніки Н.265/АМС.
Він складається з двох частин, які співставні з парами ініці«алізуючих величин, використовуваними для моделей ймовірності в САВАС стандарту Н.264/АМО. Дві частини представляють два параметри лінійного рівняння для обрахунку початкового стану моделі ймовірності, представляючи конкретну ймовірність (наприклад, у формі РІРЕ індексу) з ОР: - Перша частина описує крутизну і вона використовує залежність внутрішнього стану від параметра дискретизації (ОР), який використовується під час кодування або декодування. - Друга частина визначає РІРЕ індекс при заданому ОР, а також маї!Мрзв.
Два різні режими доступні для ініціалізації моделі ймовірності з використанням заданої ініціалізуючої величини. Перший режим є незалежною від ОР ініціалізацією. Він використовує тільки РІРЕ індекс і маІМр», визначені у другій частині ініціалізуючої величини для усіх ОР. Це ідентично випадку, де крутизна дорівнює 0. Другий режим є залежною від ОР ініціалізацією і він додатково використовує крутизну першої частини ініціалізуючої величини для зміни РІРЕ індекса і для визначення індексу деталізації. Дві частини 8-бітової ініціалізуючої величини зображені далі:
Коо)
Перша Частина Друга Частина
Індекс Крутизни РІРЕ Індекс Ймовірності
Він складається з двох 4-бітових частин. Перша частина містить індекс, який вказує 1 з 16 різних наперед визначених величин крутизни, які зберігається в масиві. Наперед визначені величини крутизни складаються з 7 від'ємних величин крутизни (індекс крутизни 0-6): одна величина крутизни, яка дорівнює нулю (індекс крутизни 7), і 8 додатних величин крутизни (індекс крутизни 8-15). Величини крутизни вказані в Таблиці С
Таблиця С
Кижни 91112 13 | 456
Крутизни
Кримаи 29 | лов) і ле) о
Крутизни
Індекс
Кижни 1819 | 0 | и | 2 9 | м в
Крутизни
Усі величини масштабовані коефіцієнтом 256 для уникнення використання операцій з плаваючою точкою. Друга частина є РІРЕ індексом, який втілює висхідну ймовірність ма!Мро5-1 між інтервалом ймовірності р-0 і р-1. Іншими словами, РІРЕ кодер п повинен працювати при вищій моделі ймовірності, ніж РІРЕ кодер п - 1. Для кожної моделі ймовірності доступний один
РІРЕ індекс ймовірнрсті і він ідентифікує РІРЕ кодер, чий Інтервал ймовірності містить ймовірність Руаїме, 7 для ОР-26.
Таблиця Ю
РІРЕ Індек жовті 10123 | 56
РР даю 37177 - ндек
Гкесинитсі НОТИ ПОСТИ НЕСТИ НЕТ ПЕС НТ ЕН НС
Перетворення другої частини ініціалізуючої величини на РІРЕ кодери і маїМре: ОВ - перетворення унарного коду на код Райса, ТВ - потрійний двійковий код, ВР - двійковий ріре- код, ЕР - однакова ймовірність (некодована)
ОР ї 8-бітова ініціалізуюча величина необхідні для обрахунку параметрів ініціалізації внутрішнього стану моделей ймовірності шляхом вирішення простого лінійного рівняння у формі у хх т " (ОР-ОРгеї) я 256 " р. Відзначається, що т визначає крутизну, яка береться з Таблиці С шляхом використання індексу крутизни (перша частина 8-бітової ініціалізуючої величини) і Б позначає РІРЕ кодер при ОРгеї-26 (друга частина 8-бітової ініціалізуючої величини: "РІРЕ
Індекс Ймовірності"). Потім, маїМР5У дорівнює 1 і ріреідх дорівнює (у - 2048) »» 8, якщо у більший за 2047. Інакше, маЇМР5 дорівнює 0 і ріреїдх дорівнює (2047 -у) »» 8. Індекс деталізації дорівнює ((у-2048) 6 255) " питоїаев) »» 8, якщо маіМР5 дорівнює 1. Інакше, індекс деталізації дорівнює ((2047-у) 5 255) " питеїаіев) »» 8. В обох випадках, питоїаіез дорівнює кількості станів САВАС ріре індекс, як вказано в Таблиці В.
Вищенаведена схема може не тільки використовуватися в комбінації з РІРЕ кодерами, але й також в зв'язку з вищезгаданими схемами САВАС. За відсутності РІРЕ кількість станів САВАС, тобто, станів ймовірності, між якими реалізується перехідний стан в оновленні ймовірності (роїаїє ситепіріпі) на РІРЕ індекс (тобто, відповідні найбільш значущі біти реїаїє ситепцуЦріп|) припадає потім тільки множина параметрів, які, фактично, реалізують кусково-лінійну інтерполяцію стану САВАС в залежності від ОР. Окрім того, ця кусково-лінійна інтерполяція може також практично усуватися у випадку, де параметр питоеїаіє5 використовує однакову величину для усіх РІРЕ індексів. Наприклад, встановлення питбіаїєз рівним 8 для усіх випадків надає загалом 16 " 8 станів і обрахунок індексу деталізації спрощується до (у-2048) б 255)»»5 для маїмМРБ, рівного 1, або ((2047-у)5255)»»25 для ма! МР, рівного 0. Для цього випадку перетворення представлення з використанням ма!мР5Б, РІРЕ індексу та індексу деталізації назад на представлення, використовуване оригінальним САВАС стандарту Н.264/АМС, є дуже простим. Стан САВАС заданий як (РІРЕ індекс «« 3) ж індекс деталізації. Цей аспект описується далі нижче відносно Фіг. 16.
Не дивлячись на те, що крутизна 8-бітової ініціалізуючої величини дорівнює нулю, або не дивлячись на те, що ОР дорівнює 26, необхідно обрахувати внутрішній стан шляхом використання лінійного рівняння з ОР процесу кодування або декодування. У випадку крутизни, яка дорівнює нулю, або такого ОР поточного процесу кодування, що дорівнює 26, друга частина
Зо 8-бітової ініціалізуючої величини може безпосередньо використовуватися для ініціалізації внутрішнього стану моделі ймовірності. Інакше, десяткова частина одержуваного внутрішнього стану може потім використовуватися для визначення індексу деталізації у високоефективних кодуваннях за допомогою лінійної інтерполяції між межами спеціального РІРЕ кодера. У цьому переважному варіанті виконання лінійну інтерполяцію здійснюють простим множенням десяткової частини на загальну кількість індексів деталізації, доступних для поточного РІРЕ кодера і перетворенням результату на найближчий цілий індекс деталізації.
Процес ініціалізації внутрішнього стану моделей ймовірності може змінюватися відносно кількості РІРЕ станів індексу ймовірності. Зокрема, появі два рази однакового ймовірного режиму, який використовує РІРЕ кодер Е1, тобто, використання двох різних РІРЕ індексів для розрізнення між МР5, який становить 1 або 0, можна уникати наступним чином. Знову, процес може активуватися під час запуску синтаксичного аналізу частини масиву даних, а вхідні дані цього процесу можуть бути 8-бітовою ініціалізуючою величиною, як вказано в Таблиці Е, яка повинна, наприклад, передаватися в потоці бітів для кожної моделі контексту, яка ініціалізується.
Таблиця Е
Встановлення 8 бітів Ініціалізуючої Величини для моделі ймовірності в Перші 4 біти Останні 4 біти
Біти
Ініціалізуючої Б7 Бе Б5 ра рз ре р. Бо
Величини Й
Індекс крутизни Індекс Ймовірності
Перші 4 біти визначають індекс крутизни і одержуються маскуванням бітів б4-б7. Для кожного індексу крутизни крутизна (т) уточнюється і відображається в Таблиці РЕ.
Таблиця ЕЕ
Величини змінної т для Індексу крутизни зум 211294 |5|6|7|е|9| | п ел м крутизни т |-239|-143) -85 |-51| 31 |19| 11) 0|711/19| 31 51 | 85 | 143 | 239 | з95
Біти Бо-рз, останні 4 біти 8-бітової ініціалізуючої величини ідентифікують ргобіах (індекс ймовірності) і описують ймовірність при визначеній ОР. ргорідх 0 вказує найвищу ймовірність для символів з величиною 0 і, відповідно, ргорідх 14 вказує найвищу ймовірність для символів з величиною 1. Таблиця Сї показує для кожного ргобіах відповідний ріре кодер і його маїМрео
Таблиця С
Перетворення останньої 4-бітової частини ініціалізуючої величини на РІРЕ кодери і маІМре: ОВ - перетворенню унарного коду на код Райса, ТВ - потрійний двійковий код, ВР - двійковий ріре код, ЕР - однакова ймовірність (некодована) робіх | 0/1 |21|314151617| 8 | 9 | тю | 11 | 12 | 13 | 14 с мамо | 0 0|01|0|0101|0|0| 1 | 11 | 1111111
За допомогою обох величин обрахунок внутрішнього стану може виконуватися шляхом використання лінійного рівняння такого як ухт " х256 " р, де т позначає крутизну, х позначає
ОР поточної частини масиву даних і Б одержується з ргобрідх, як вказано в наступному описі. Усі величини у цьому процесі масштабовані коефіцієнтом 256 для уникнення використання операцій з плаваючою точкою. Вихідні дані (у) цього процесу представляють внутрішній стан моделі ймовірності при поточній ОР і зберігаються у 8-бітовій пам'яті. Як зображено в Таблиці
С, внутрішній стан складається з маІМР»5, ріреїах і геїіпеїдх.
Таблиця Н
Встановлення внутрішнього стану моделі ймовірності ні Перші 4 біти
Біти ініціалізуючоївеличини!ї 07 | ре | р5 | б. | Юз | Б | б | юю
Присвоєння геїїпеїдх і ріреідх подібне до внутрішнього стану моделей ймовірності САВАС (реїаїеСт) і представлене в Таблиці І.
Таблиця
Присвоєння ріреїах, геїїпеїах і резаїесСіх фірейх | 70 Г77771111111111111111112 тейплеах /0,|1|210/11/2|33|4|516|0/|1|2|31 4 рзаєсх /0|1|2|331/4/51|61|7|8/|9|т0/ 11 | 712) 13 | 14 стейпеадх /0|1|2|34|5|І6|0/11|2|з33|лл/|5 61/78 5 тейпеах (01/12/3141 51|61|7|819|т0/|11 72 | 13) фірелйх 10611111 17 стейпеах (0112/3141 51|61|7| 819 |т710|11 72/13 14 | 15 о (рзіаїєсіх 1461|47|48|49)|50|51|521|53|54)|55)|561|57|58 591 60 | 61 | 62
В переважному варіанті виконання ргобідх визначається при ОР-26. На основі 8-бітової ініціалізуючої величини внутрішній стан (маїМр5, ріреїйх і геїйпеійх) моделі ймовірності обробляється, як описано в наступному псевдокоді: п - (ргобіах «« 8) - т" 26
ТІСІхеїатв-тах (0, тіп (3839, (т " тах (0, тіп (51, б5ісеОРу)) )) - п-128) гетСіх5іате-їШІСіхеане 8 255 ргесСіхоїаїе-ШІСіхеїане »» 8 її (ргесСіхоаге « 8) ріреїдх-7-ргесСіхоае мамР5-0 ) вібе ріреїдх -ргесіхоїае-8 мамрРБ-ї1 |! оПбеї-13, 7,5, 7,10,14,16,1)
Ії (ріреїдх - - 0) ( її (тетСіхоайе «- 127) гетСіх5іав-127-гетОіхоїае віве гетСіх5іаів-гтетоїхоїіае-128 геїїіпеїайх - (гтетсСіхоеайе «« 1) " ойвеї) »» 8 ) вібе її (мчаїМРБ - - 0) гетСіх5іаїв-255-гетОіхоїае геїіпеїдх - (тетСіхеїаївє " ойзейЦріреїах|) »» 8 )
Як показано в псевдокоді геїїпе(йх обраховується лінійною інтерполяцією між інтервалом рірейх і дискретизацією з наданням відповідного геїїпе(йх. Зміщення специфікує загальну
Зо кількість геїїпеійх для кожного ріреїдх. Інтервал І7, 8) ШІСіхеаіе/256 ділиться навпіл. Інтервал
І7, 7,5) перетворюється на ріреїдх 0 і маІМре5:0, а інтервал |7, 5, 8) перетворюється на ріреїдх-0 і маїМре-1. Фіг. 15 зображає процес одержання внутрішнього стану і відображає перетворення
ТІСІхеаів/256 на ретаїесіх.
Відзначається, що крутизна вказує залежність ргобідх і ОР. Якщо зіореЇїдх 8-бітової ініціалізуючої величини дорівнює 7, то одержуваний внутрішній стан моделі ймовірності є таким же як і для усіх ОР (тому, процес ініціалізації внутрішнього стану залежить від поточної ОР частини масиву даних).
Тобто, селектор 402 може ініціалізувати ріре індекси, які використовуються в декодуванні наступної частини потоку даних, такого як увесь потік або наступна частина масиву даних, використовуючи синтаксичний елемент, який вказує розмір кроку дискретизації ОР, використовуваного для дискретизації даних цієї частини, таких як рівні значущості коефіцієнта перетворення, які містяться в ньому, використовуючи цей синтаксичний елемент як індекс в таблиці, яка може бути спільною для обох режимів І С і НЕ. Таблиця, така як таблиця 0, може містити ріре індекси для кожного типу символу, для відповідного еталону ОР'єї або інші дані для кожного типу символу. В залежності від реальної ОР поточної частини селектор може обраховувати величину ріре індексу, використовуючи введення чисел а у відповідну таблицю, індексовану фактичною ОР і самою ОР, таке як множення а на (ОР-ОР"геї). Відмінністю в режимі
ЇС ї НЕ є тільки: селектор обраховує результат просто з нижчою точністю у випадку С порівняно з режимом НЕ. Селектор може, наприклад, просто використовувати цілу частину результату обрахунку. В режимі НЕ залишок вищої точності, такий як дробова частина, використовується для вибору одного з доступних індексів деталізації для відповідного ріре індексу, як вказано нижчою точністю або цілою частиною. Індекс деталізації використовується в режимі НЕ (потенційно рідше також в режимі І С) для виконання адаптації ймовірності шляхом використання вищезгаданого дрейфу таблиці. При полишенні доступних індексів для поточного ріре індексу на верхній границі, потім вищий ріре індекс вибирають далі з мінімізацією індексу деталізації. При полишенні доступних індексів для поточного ріре індексу на нижній границі, потім наступний нижній ріре індекс вибирають далі з мінімізацією індексу деталізації до максимум доступного для нового ріре індексу. Ріре індекс разом з індексом деталізації визначають стан ймовірності, але для вибору серед часткових потоків, селектор просто використовує ріре індекс. Індекс деталізації просто служить для ближчого або точнішого відслідковування ймовірності.
Однак, вищенаведене обговорення також показало, що масштабована складність може досягатися незалежно від концепції кодування РІРЕ з Фіг. 7-10 або САВАС, використовуючи декодер, як зображено на Фіг. 12. Декодер з Фіг. 12 передбачений для декодування потоку даних 601, у якому кодуються мультимедійні дані, і містить перемикач режимів 600, сконфігурований для активування режиму низької складності або високоефективного режиму в залежності від потоку даних 601, а також десимволізатор 602, сконфігурований для десимволізації послідовності 603 символів, одержаних або безпосередньо або ентропійним декодуванням, наприклад з потоку даних 601, для одержання цілих синтаксичних елементів 604 з використанням функції перетворення, контрольованої контрольним параметром, для перетворення області слів символьної послідовності на кообласть цілих синтаксичних елементів. Реконструктор 605 конфігурується для відновлення мультимедійних даних 606 на основі цілих синтаксичних елементів. Десимволізатор 602 конфігурується для виконання
Зо десимволізації так, що контрольний параметр змінюється згідно з потоком даних з першою швидкістю у випадку високоефективного режиму, який активується, і контрольний параметр є сталим незалежно від потоку даних або змін, які залежать від потоку даних, але при другій швидкості, нижчій за першу швидкість, у випадку режиму низької складності, який активується, як вказано стрілююю 607. Наприклад, контрольний параметр може змінюватися згідно з попередньо десимволізованими символами.
Деякі з вищезгаданих варіантів виконання використовували аспект з Фіг. 12. Синтаксичні елементи соеєїй арбе тіпиє3 і ММО в послідовності 327, наприклад, бінаризувалися в десимволізаторі 314 в залежності від режиму, вибраного, як вказано позицією 407, реконструктор 605 використовував ці синтаксичні елементи для відновлення. Очевидно, що обидва аспекти з Фіг. 11 і 19 легко поєднуються, але аспект з Фіг. 12 може також об'єднуватися з іншими кодувальними середовищами.
Дивіться, наприклад, вищевказане кодування різниці векторів руху. Десимволізатор 602 може конфігуруватися так, що функція перетворення використовує усічений унарний код для виконання перетворення в першому інтервалі області цілих синтаксичних елементів нижче критичної величини і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі кодового слова МІ С в другому інтервалі області цілих синтаксичних елементів включно і з перевищенням критичної величини, при цьому декодер може містити ентропійний декодер 608, сконфігурований для одержання кількості перших інформаційних величин усіченого унарного коду з потоку даних 601 з використанням ентропійного декодування із змінною оцінкою ймовірності і ряду других інформаційних величин кодового слова МІ С з використанням байпасного режиму із сталою однаковою ймовірністю. В режимі НЕ ентропійне кодування може бути складнішим, ніж при кодуванні в режимі ІС, як вказано стрілкою 609.
Тобто, адаптивність до контексту і/або адаптація ймовірності можуть застосовуватися в режимі
НЕ ї уникатися в режимі С або складність може масштабуватися в інших термінах, як визначено вище відносно різних варіантів виконання.
Кодер, який підключається до декодера з Фіг. 11, для кодування мультимедійних даних з одержанням потоку даних зображений на Фіг. 13. Він може містити ввідний засіб 500, сконфігурований для сигналізації в потоці даних 501 активування режиму низької складності або високоефективного режиму, конструктор 504, сконфігурований для попереднього кодування 60 мультимедійних даних 505 з одержанням послідовності 506 синтаксичних елементів,
символізатор 507, сконфігурований для символізації послідовності 506 синтаксичних елементів з одержанням послідовності 508 символів, певну кількість ентропійних кодерів 310, кожен з яких сконфігурований для перетворення часткових послідовностей символів на кодові слова потоку даних, і селектор 502, сконфігурований для надсилання кожного символу послідовності 508 символів до вибраного одного з певної кількості ентропійних кодерів 310, при цьому селектор 502 конфігурується для виконання вибору в залежності від активованого режиму, вибраного серед режиму низької складності і високоефективного режиму, як вказано стрілкою 511.
Перемежовувач 510 може необов'язково передбачатися для перемежовування кодових слів кодерів 310.
Кодер, який підключений до декодера з Фіг. 12, для кодування мультимедійних даних з одержанням потоку даних зображений на Фіг. 14 як той, що містить ввідний засіб 700, сконфігурований для сигналізації в потоці даних 701 активування режиму низької складності або високоефективного режиму, конструктор 704, сконфігурований для попереднього кодування мультимедійних даних 705 з одержанням послідовності 706 синтаксичних елементів, які включають цілий синтаксичний елемент, і символізатор 707, сконфігурований для символізації цілого синтаксичного елемента з використанням функції перетворення, контрольованої контрольним параметром, для перетворення області цілих синтаксичних елементів на кообласть слів символьної послідовності, при цьому символізатор 707 конфігурується для виконання символізації так, що контрольний параметр змінюється згідно з потоком даних з першою швидкістю у випадку високоефективного режиму, який активується, і контрольний параметр є сталим незалежно від потоку даних або змін в залежності від потоку даних, але з другою швидкістю, нижчою за першу швидкість, у випадку режиму низької складності, який активується, як зображено стрілююю 708. Результат символізації є кодування з одержанням потоку даних 701.
Знову слід нагадати, що варіант виконання з Фіг. 14 легко перетворюється на вищезгаданий варіант виконання адаптивного до контексту двійкового арифметичного кодування/декодування: селектор 509 і ентропійні кодери 310 повинні об'єднуватися в адаптивний до контексту двійковий арифметичний кодер, який повинен безпосередньо видавати потік даних 401 і вибирати контекст для інформаційної величини, який на даний момент одержується з потоку даних. Це особливо справедливо для адаптивності до контексту і/або адаптивності до ймовірності. Обидві функції/адаптивності можуть деактивовуватися або розроблятися більш послабленими під час режиму низької складності.
Вище коротко зазначено, що здатність перемикати режими, пояснена відносно деяких з вищенаведених варіантів виконання, може, згідно з альтернативними варіантами виконання, не братися до уваги. Для прояснення цього факту, робиться посилання на фіг. 16, яка підсумовує вищенаведений опис до такої міри, до якої просте видалення здатності перемикати режими відрізняє варіант виконання з Фіг. 16 від вищеописаних варіантів виконання. Більше того, наступний опис буде розкривати переваги, які одержуються з ініціалізації оцінок ймовірності контекстів з використанням менш точних параметрів для крутизни і зміщення порівняно з, наприклад, стандартом Н.264.
Зокрема, Фіг. 16 зображає декодер для декодування відеоданих 405 з потоку даних 401, у який кодуються горизонтальні і вертикальні компоненти різниць векторів руху з використанням бінаризацій горизонтальних і вертикальних компонентів, при цьому бінаризації зрівнюють усічений унарний код горизонтальних і, відповідно, вертикальних компонентів в першому інтервалі області горизонтальних і вертикальних компонентів нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду і критичну величину та суфікс у формі експоненціального коду Голомба горизонтальних і, відповідно, вертикальних компонентів в другому інтервалі області горизонтальних і вертикальних компонентів включно з і вище критичної величини, при цьому критична величина дорівнює 2, а експоненціальний код Голомба має порядок 1. Декодер містить ентропійний декодер 409, сконфігурований для одержання ряду інформаційних величин 326 бінаризацій з потоку даних 401 з використанням двійкового ентропійного декодування шляхом вибору контексту серед різних контекстів і оновлення станів ймовірності, зв'язаних з різними контекстами, залежними від попередньо декодованих частин потоку даних 401. Для більшої точності, як описано вище, ентропійний декодер 409 може конфігуруватися для одержання ряду інформаційних величин 326 бінаризацій з потоку даних 401 з використанням двійкового ентропійного декодування, такого як вищезгадана схема
САВАС, або двійкового РіІРЕ декодування, тобто, використовуючи конструкцію, яка використовує декілька паралельно працюючих ентропійних декодерів 322 разом з відповідним селектором/присвоювачем. Десимволізатор 314 дебінаризує результати бінаризацій бо синтаксичних елементів різниці векторів руху для одержання цілих величин горизонтальних і вертикальних компонентів різниць векторів руху, а реконструктор 404 відновлює відеодані на основі цілих чисел горизонтальних і вертикальних компонентів різниць векторів руху.
Для детальнішого пояснення цієї процедури, коротке посилання робиться на фіг. 18. Позиція 800 ілюстративно вказує одну різницю векторів руху, тобто, вектора, який представляє залишок прогнозування між прогнозованим вектором руху і реальним/відновленим вектором руху. Також зображені горизонтальні і вертикальні компоненти 802х і 802у. Вони могли б виражатися в положеннях пікселів, тобто, в кроках пікселя, або положеннях субпікселів, таких як половина кроку пікселя або його четверта частина, або подібне. Горизонтальні і вертикальні компоненти 802х, у є цілими величинами. їх область проходить від нуля до нескінченності. Знаком можна оперувати окремо і тут він далі не розглядається. юІншими словами, наведений тут опис фокусується на величині різниць векторів руху 802х, у. Область зображена в позиції 804.
Справа від осі 804 області Фіг. 19 зображає зв'язані з можливими величинами компонентів 802х, у, розташованими по вертикалі один над іншим, результати бінаризацій, на які перетворюється відповідна можлива величина (бінаризується). Як можна побачити, нижче критичної величини, яка дорівнює 2, знаходиться просто усічений унарний код 806, тоді як результат бінаризації має як суфікс також експоненціальний код Голомба 808 з можливих величин, які дорівнюють або більші за критичну величину, яка дорівнює 2, для продовження бінаризації для решти цілої величини, яка перевищує значення, що дорівнює критичній величині мінус 1. Для усіх цих інформаційних величин надається просто два контексти: один для першого положення інформаційної величини результатів бінаризацій горизонтальних і вертикальних компонентів 802х, у, і додатковий один контекст для другого положення інформаційної величини усіченого унарного коду 806 як горизонтальних, так і вертикальних компонентів 802х, у. Для положення інформаційної величини експоненціального коду Голомба 808, ентропійним декодером 409 використовується рівноймовірний байпасний режим. Тобто, припускається, що обидві інформаційні величини мають однакову ймовірність появи. Оцінка ймовірності для цих інформаційних величин є фіксованою. Порівняно з цим, оцінка ймовірності, зв'язана з тільки що згаданими двома контекстами інформаційних величин усіченого унарного коду 806, неперервно адаптується під час декодування.
Перед детальнішим описом, як ентропійний декодер 409 міг би втілюватися згідно з
Зо вищенаведеним описом для виконання тільки що згаданих завдань, опис тепер фокусується на можливому втіленні реконструктора 404, який використовує різниці векторів руху 800 і їх цілі величини, у тому вигляді, у якому вони одержуються десимволізатором 314 шляхом повторної бінаризації інформаційних величин кодів 106 і 108, яка зображена на Фіг. 18 з використанням стрілки 810. Зокрема, реконструктор 404 може, як описано вище, одержує з потоку даних 401 інформацію, яка стосується під розбиття поточно відновленої картинки на блоки, серед яких принаймні деякі з них піддаються прогнозуванню з компенсацією руху. Фіг. 19 зображає картинку, яка ілюстративно відновлюється в компоненті 820, і блоки тільки що згаданого під розбиття картинки 120, для якої використовується прогнозування з компенсацією руху для прогнозування контенту картинки в блоці 822. Як описано відносно Фіг. 2А-2С, існують різні можливості для підрозбиття і одержання розмірів блоків 122. Для уникнення передачі для різниці векторів руху 800 для кожного з цих блоків 122, реконструктор 404 може використовувати концепцію злиття, згідно з якою потік даних додатково передає інформацію про злиття на додаток до інформації про підрозбиття або, за відсутності інформації про підрозбиття, на додаток до того факту, що підрозбиття є фіксованим. Інформація про злиття сигналізує реконструктору 404 який з блоків 822 формує групи для злиття. Завдяки цьому заходу реконструктор 404 може застосовувати певну різницю векторів руху 800 до усієї групи блоків 822 для злиття. Зазвичай, на кодувальній стороні передача інформації про злиття знаходить компроміс між надлишком передачі інформації про підрозбиття (якщо такий є), надлишком передачі інформації про злиття і надлишком передачі різниці векторів руху, який послаблюється із збільшенням розміру груп для злиття. З іншого боку, зростаюча кількість блоків на групу для злиття зводить адаптацію різницю векторів руху для цієї групи для злиття до реальних потреб в окремих блоках відповідної групи для злиття, таким чином надаючи менш точні прогнози різниць векторів руху цих блоків з компенсацією руху і потребуючи більшого надлишку передачі інформації для передачі залишку прогнозування у формі, наприклад, рівня значущості коефіцієнта перетворення. Відповідно, на кодувальній стороні належним чином знаходять компроміс. Однак, в будь-якому випадку, концепція злиття надає різниці векторів руху для груп для злиття, які проявляють меншу просторову інтеркореляцію. Дивіться, наприклад,
Фіг. 19, яка показує шляхом затінення приналежність до певної групи для злиття. Очевидно, що реальний рух контенту картинки в цих блоках був таким подібним, що кодувальна сторона бо вирішила об'єднати відповідні блоки. Однак, кореляція з рухом контенту картинки в інших групах для злиття є низькою. Відповідно, обмеження на використання просто одного контексту на інформаційну величину усіченого унарного коду 806 негативно не впливає на ефективність ентропійного кодування, оскільки концепція злиття вже в достатній мірі забезпечує просторову інтеркореляцію між рухом сусідніх контентів картинки. Контекст може просто вибиратися на основі того факту, що інформаційна величина є частиною бінаризації компонента 802х, у різниці векторів руху і на основі положення інформаційної величини, яке є або 1 або 2 завдяки критичній величині, яка дорівнює двом. Відповідно, інші вже декодовані інформаційні величини/синтаксичні елементи/тма компоненти 802х, у не впливають на вибір контексту.
Подібним чином, реконструктор 404 може конфігуруватися для зменшення інформаційного контенту, який передається у формі різниць векторів руху додатково (окрім просторового і/або тимчасового прогнозу векторів руху) шляхом використання концепції багатогіпотезного прогнозування, згідно з якою, перш за все, для кожного блока або групи для злиття генерується список предикторів векторів руху з подальшою явною або неявною передачею в потоці даних інформації про індекс предиктора, який на практиці використовується для прогнозування різниці векторів руху. Дивіться, наприклад, незатінений блок 122 на Фіг. 20. Реконструктор 404 може надавати різні предиктори для вектора руху цього блока, як, наприклад, прогнозуючи просторово вектор руху, як, наприклад, зліва, зверху, у формі комбінації попередніх двох напрямів і, таким чином, вперед, і тимчасово прогнозуючи вектор руху з вектора руху близько розташованої частини попередньо декодованої картинки відеозображення, і додаткові комбінації вищезгаданих предикторів. Ці предиктори зберігаються прогнозованим чином реконструктором 404, який передбачається на кодувальній стороні. Деяка інформація передається до цього кінця в потоці даних і використовується реконструктором. Тобто, деякий натяк міститься в потоці даних щодо того, який предиктор з цього упорядкованого списку предикторів слід реально використовувати як предиктор для вектора руху цього блока. Цей індекс може явно передаватися в потоці даних для цього блока. Однак, також можна, щоб індекс спершу прогнозувався, а потім просто передавався його прогноз. Також існують інші можливості. В будь-якому випадку, тільки що згадана схема прогнозування надає можливість дуже точного прогнозування вектора руху поточного блока і, відповідно, послаблюється вимога до інформаційного контенту, яка накладається на різницю векторів руху. Відповідно, обмеження
Зо адаптивного до контексту ентропійного кодування просто двома інформаційними величинами усіченого унарного коду і зниження критичної величини до 2, як описано відносно фіг. 18, а також вибір порядку експоненціального коду Голомба рівним 1, негативно не впливає на ефективність кодування, оскільки різниці векторів руху мають, завдяки високій ефективності прогнозування, частотну гістограму, згідно з якою більші величини компонентів 802х, у різниці векторів руху рідше використовуються. Навіть відмова від будь-якого розрізнення горизонтальних і вертикальних компонентів узгоджується з ефективним прогнозом, оскільки прогноз має тенденцію рівноцінно гарно використовуватися в обох напрямках з високою точністю. Суттєво відзначити, що у вищенаведеному описі усі деталі, вказані на Фіг. 1-15, також здатні переноситися на об'єкти, зображені на Фіг. 16, такі як, наприклад, настільки, наскільки це стосується функцій десимволізатора 314, реконструктора 404 і ентропійного декодера 409. Тим не менше, для повноти, деякі з цих деталей знову вказуються нижче.
Для кращого розуміння тільки що описаної схеми прогнозування, дивіться Фіг. 20. Як тільки що описано, конструктор 404 може одержувати різні предиктори для поточного блока 822 або поточної групи блоків для злиття, при цьому ці предиктори зображені векторами 824, зображеними суцільними лініями. Предиктори можуть одержуватися просторовим і/або тимчасовим прогнозуванням, де, додатково, операції арифметичного осереднення або подібне можуть використовуватися так. що окремі предиктори можуть одержуватися реконструктором 404 у такий спосіб, що вони корелюються між собою. Незалежно від способу одержання векторів 826 реконструктор 404 послідовно передає або сортує ці предиктори 126 в упорядкований список. Це вказано цифрами 1-4 на Фіг. 21. Бажано, щоб процес сортування був здатен унікально визначатися так, щоб кодер і декодер могли працювати синхронно. Потім, тільки що згаданий індекс може явно або неявно одержуватися реконструктором 404 для поточного блока або групи для злиття з потоку даних. Наприклад, другий предиктор "2" може вибиратися, а реконструктор 404 додає різницю векторів руху 800 до цього вибраного предиктора 126, таким чином надаючи в решті решт відновлений вектор руху 128, який потім використовується для прогнозування шляхом прогнозування з компенсацією руху контенту поточного блока/групи для злиття. У випадку групи для злиття, повинно бути можливим, щоб реконструктор 404 містив додаткові різниці векторів руху, передбачені для блоків групи для злиття, для подальшої деталізації вектора руху 128 відносно окремих блоків групи для злиття.
Таким чином, продовжуючи далі описувати втілення об'єктів, зображених на Фіг. 16, можна, щоб ентропійний декодер 409 конфігурувався для одержання усіченого унарного коду 806 з потоку даних 401 з використанням бінарного арифметичного декодування або бінарного РІРЕ кодування. Обидві концепції були описані вище. Окрім того, ентропійний декодер 409 може конфігуруватися для використання різних контекстів для двох положень інформаційної величини усіченого унарного коду 806 або, альтернативно, навіть однакового контексту для обох інформаційних величин. Ентропійний декодер 409 міг би конфігуруватися для виконання оновлення стану ймовірності. Ентропійний декодер 409 міг би робити це для інформаційної величини, поточно одержаної з усіченого унарного коду 806, шляхом переходу з поточного стану ймовірності, зв'язаного з контекстом, вибраним для поточно одержаної інформаційної величини, у новий стан ймовірності в залежності від поточно одержаної інформаційної величини. Дивіться вищенаведені таблиці Мехі біаїє І Р5 і Мехі біаїеє МРБ5, таблиця пошуку для яких формується ентропійним декодером на додаток до інших вищеописаних етапів 0-5. У вищенаведеному обговоренні поточний стан ймовірності був позначений як роїаїє ситепі. Він визначається для відповідного контексту, який представляє інтерес. Ентропійний декодер 409 може конфігуруватися для бінарного арифметичного декодування інформаційної величини, яка на даний момент одержується з усіченого унарного коду 806 шляхом дискретизації величини ширини поточного інтервалу ймовірності, тобто, АФ, яка представляє поточний інтервал ймовірності, для одержання індексу 4 |пдех інтервалу ймовірності, і шляхом виконання підрозбиття інтервалу шляхом індексації вхідної величини таблиці серед вхідних величин таблиці з використанням індексу інтервалу ймовірності і індексу стану ймовірності, тобто р віаїє, який, у свою чергу, залежить від поточного стану ймовірності, зв'язаного з контекстом, вибраним для інформаційної величини, яка поточно одержується, для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали. У вищеописаних варіантах виконання ці часткові інтервали зв'язувалися з найбільш ймовірним і найменш ймовірним символом. Як описано вище, ентропійний декодер 409 може конфігуруватися для використання восьмибітового представлення для величини АК ширини поточного інтервалу ймовірності з відбором, наприклад, двох або трьох найбільш значущих бітів восьмибітового представлення і дискретизацією величини ширини поточного інтервалу ймовірності. Ентропійний декодер 409
Зо може додатково конфігуруватися для вибору серед двох часткових інтервалів на основі величини стану зміщення зсередини поточного інтервалу ймовірності, зокрема У, для оновлення величини АК ширини поточного інтервалу ймовірності і величини стану зміщення, і для виведення значення інформаційної величини, яка поточно одержується, використовуючи вибраний частковий інтервал, і для виконання повторної нормалізації оновленої величини В ширини поточного інтервалу ймовірності і величини М стану зміщення, включаючи продовження зчитування бітів з потоку даних 401. Ентропійний декодер 409 може, наприклад, конфігуруватися для бінарного арифметичного декодування інформаційної величини з експоненціального коду Голомба шляхом поділу навпіл величини ширини поточного інтервалу ймовірності для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали. Поділ навпіл відповідає оцінці ймовірності, яка фіксується рівною 0,5. Він може втілюватися простим зміщенням бітів. Ентропійний декодер може додатково конфігуруватися для кожної різниці векторів руху для одержання усіченого унарного коду горизонтальних і вертикальних компонентів відповідної різниці векторів руху з потоку даних 401 перед експоненціальним кодом Голомба горизонтальних і вертикальних компонентів відповідної різниці векторів руху. Завдяки цьому заходу ентропійний декодер 409 може використовувати таку більшу кількість інформаційних величин, які разом формують рядок інформаційних величин, для яких оцінка ймовірності фіксується, зокрема становить 0,5. Це може прискорювати процедуру ентропійного декодування, З іншого боку, ентропійний декодер 409 може надавати перевагу збереженню порядку серед різниць векторів руху шляхом, перш за все, одержання горизонтальних і вертикальних компонентів однієї різниці векторів руху, а потім просто продовженням одержувати горизонтальні і вертикальні компоненти наступної різниці векторів руху. Завдяки цьому заходу вимоги до пам'яті, які накладаються на декодувальний засіб, тобто, декодер з Фіг. 16, послаблюються, оскільки десимволізатор 314 може починати дебінаризацію різниць векторів руху негайно без очікування на перегляд подальших різниць векторів руху. Це дозволяється вибором контексту: оскільки просто саме один контекст доступний на положення інформаційної величини коду 806, просторовий взаємозв'язок не слід перевіряти.
Реконструктор 404 може, як описано вище, просторово і/або тимчасово прогнозувати горизонтальні і вертикальні компоненти векторів руху для одержання предикторів 126 для горизонтальних і вертикальних компонентів вектора руху і для відновлення горизонтальних і бо вертикальних компонентів векторів руху шляхом деталізації предикторів 826 з використанням горизонтальних і вертикальних компонентів різниць векторів руху, як, наприклад, просто шляхом додавання різниці векторів руху до відповідного предиктора.
Окрім того, реконструктор 404 може конфігуруватися для прогнозування горизонтальних і вертикальних компонентів векторів руху різними способами для одержання упорядкованого списку предикторів для горизонтальних і вертикальних компонентів векторів руху, для одержання індексу списку з потоку даних і для відновлення горизонтальних і вертикальних компонентів векторів руху шляхом деталізації предиктора, на який вказує індекс списку предикторів, з використанням горизонтальних і вертикальних компонентів різниць векторів руху.
Окрім того, як вже було описано вище, реконструктор 404 може конфігуруватися для відновлення відеоданих з використанням прогнозування з компенсацією руху шляхом застосування горизонтальних і вертикальних компонентів 802х, у векторів руху при просторовій гранулярності, визначеній підрозбиттям відеокартинок в блоках, при цьому реконструктор 404 може використовувати синтаксичні елементи, які зливаються, присутні в потоці даних 401, для групування блоків в групи для злиття і для застосування цілих величин горизонтальних і вертикальних компонентів 802х, у різниць векторів руху, одержаних бінаризатором 314, в елементах груп для злиття.
Реконстурктор 404 може одержувати підрозбиття відеокартинок в блоках з частини потоку даних 401, який не включає синтаксичні елементи, які зливаються. Реконструктор 404 може також адаптувати горизонтальні і вертикальні компоненти наперед визначеного вектора руху для усіх блоків відповідної групи для злиття або деталізувати їх горизонтальними і вертикальними компонентами різниць векторів руху, зв'язаних з блоками групи для злиття.
Тільки для повноти, Фіг. 17 зображає кодер, який підключається до декодера з Фіг. 16. Кодер з Фіг. 17 містить конструктор 504, символізатор 507 і ентропійний кодер 513. Кодер містить конструктор 504, сконфігурований для прогнозованого кодування відеоданих 505 шляхом прогнозування з компенсацією руху, яке використовує вектори руху, і шляхом прогнозувального кодування векторів руху шляхом прогнозування векторів руху, і шляхом визначення цілих величин 506 горизонтальних і вертикальних компонентів різниць векторів руху для представлення похибки прогнозування спрогнозованих векторів руху; символізатор 507, сконфігурований для бінаризації цілих величин для одержання результатів бінаризацій 508
Зо горизонтальних і вертикальних компонентів різниць векторів руху, при цьому результати бінаризацій зрівнюють усічений унарний код горизонтальних і вертикальних компонентів, відповідно, в першому інтервалі області горизонтальних і вертикальних компонентів нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба горизонтальних і вертикальних компонентів, відповідно, в другому інтервалі області горизонтальних і вертикальних компонентів включно і з перевищенням критичної величини, де критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця; і ентропійний кодер 513, сконфігурований для кодування для горизонтальних і вертикальних компонентів різниць векторів руху усіченого унарного коду з одержанням потоку даних з використанням адаптивного до контексту бінарного ентропійного кодування виключно з одним контекстом на положення інформаційної величини усіченого унарного коду, який є спільним для горизонтальних і вертикальних компонентів різниць векторів руху, і експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму. Подальші деталі можливого втілення безпосередньо переносяться з опису, який стосується декодера з Фіг. 16, до кодера з Фіг. 17.
Хоча деякі аспекти були описані в контексті пристрою, зрозуміло, що ці аспекти також представляють опис відповідного способу, де блок або пристрій відповідає етапу способу або ознаці етапу способу. Аналогічно, аспекти, описані в контексті етапу способу, також представляють опис відповідного блока або вузла, або ознаки відповідного пристрою. Деякі або усі етапи способу можуть виконуватися за допомогою (або використанням) апаратних засобів, як, наприклад, мікропроцесора, програмованого комп'ютера або електронної схеми. В деяких варіантах виконання деякі або більша кількість найбільш важливих етапів способу можуть виконуватися таким пристроєм.
Кодований сигнал винаходу може зберігатися в середовищі для збереження цифрової інформації або може передаватися в передавальне середовище, таке як середовище безпровідної передачі даних або проводове передавальне середовище, таке як Інтернет.
В залежності від певних вимог для втілення, варіанти виконання винаходу можуть втілюватися в апаратних або в програмних засобах. Втілення може здійснюватися з використанням середовища для зберігання цифрової інформації, наприклад дискети, ОМО,
Віне-Вау, СО, ВОМ, РВОМ, ЕРВОМ, ЕЕРВКОМ або ФЛЕШ-пам'яті, які зберігають в собі бо електронно зчитувані керувальні сигнали, які взаємодіють (або здатні взаємодіяти) з програмованою комп'ютерною системою так, що виконується відповідний спосіб. Тому, дані з середовища для зберігання цифрової інформації можуть зчитуватися комп'ютером.
Деякі варіанти виконання згідно з винаходом містять носій даних, який містить електронно зчитувані керувальні сигнали, які здатні взаємодіяти з програмованою комп'ютерною системою так, що виконується один з описаних тут способів.
Загалом, варіанти виконання представленого винаходу можуть втілюватися як комп'ютерна програма з програмним кодом, який активується для виконання одного із способів, коли вона виконується на комп'ютері, Програмний код може, наприклад, зберігатися на зчитуваному машиною носії.
Інші варіанти виконання включають комп'ютерну програму для виконання одного з описаних тут способів, яка зберігається на здатному до читання машиною носії.
Іншими словами, варіант виконання способу винаходу є, тому, комп'ютерною програмою, яка має програмний код для виконання одного з описаних тут способів, коли вона виконується на комп'ютері.
Подальшим варіантом виконання винаходу є, тому, носій даних (або середовище для зберігання цифрової інформації або здатне до читання комп'ютером середовище), який містить записану на собі комп'ютерну програму для виконання одного з описаних тут способів. Носій даних, середовище для зберігання цифрової інформації або середовище із записаною інформацією типово є матеріальними і/або неперехідними.
Подальший варіант виконання винаходу є, тому, потоком даних або послідовністю сигналів, які представляють комп'ютерну програму для виконання одного з описаних тут способів. Потік даних або послідовність сигналів може, наприклад, конфігуруватися для передачі за допомогою з'єднання зв'язку, наприклад по Інтернету.
Подальший варіант виконання включає засіб обробки, наприклад комп'ютер, або програмований логічний пристрій, сконфігурований або адаптований для виконання одного з описаних тут способів.
Подальший варіант виконання включає комп'ютер, який має встановлену на ньому комп'ютерну програму для виконання одного з описаних тут способів.
Подальший варіант виконання згідно з винаходом включає пристрій або систему,
Зо сконфігуровану для передачі (наприклад, електронно або оптично) комп'ютерної програми для виконання одного з описаних тут способів до приймача. Приймач може, наприклад, бути комп'ютером, мобільним пристроєм, запам'ятовуючим пристроєм або подібним. Пристрій або система може, наприклад, включати файловий сервер для передачі комп'ютерної програми до приймача.
В деяких варіантах виконання програмований логічний пристрій (наприклад, здатні до перепрограмування користувачем компоненти масиву) може використовуватися для виконання деяких або усіх функцій описаних тут способів. В деяких варіантах виконання здатні до перепрограмування користувачем компоненти масиву можуть взаємодіяти з мікропроцесором для виконання одного з описаних тут способів. Загалом, способи переважно виконуються будь- яким апаратним засобом.
Вищеописані варіанти виконання є просто ілюстрацією принципів представленого винаходу.
Зрозуміло, що модифікації і варіанти описаних тут схем і деталей стануть очевидними для фахівців у цій галузі. Тому, наміром є обмеження об'єму правового захисту тільки наступною формулою винаходу, а не спеціальними деталями, представленими у вигляді опису і пояснення варіантів виконання.
Claims (1)
1. Декодер для декодування відеоданих з потоку даних, у якому закодовані різниці векторів руху з використанням бінаризацій різниць векторів руху, які зрівнюють усічений унарний код в першому інтервалі області різниць векторів руху нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба в другому інтервалі області різниць векторів руху включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця, при цьому декодер містить ентропійний декодер, сконфігурований для одержання усіченого унарного коду з потоку даних з використанням адаптивного до контексту бінарного ентропійного декодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму для одержання бо бінаризацій різниць векторів руху; 5О0 десимволізатор, сконфігурований для дебінаризації результатів бінаризацій різниць векторів руху для одержання цілих величин різниць векторів руху; реконструктор, сконфігурований для відновлення відеоданих на основі цілих величин різниць векторів руху.
2. Декодер за п. 1, який відрізняється тим, що ентропійний декодер (409) сконфігурований для одержання усіченого унарного коду (806) з потоку даних (401) з використанням бінарного арифметичного декодування або бінарного ентропійного декодування з розбиттям інтервалу ймовірності.
З. Декодер за п. 1 або п. 2, який відрізняється тим, що ентропійний декодер (409) сконфігурований для використання різних контекстів для двох положень інформаційної величини усіченого унарного коду 806.
4. Декодер за будь-яким із пп. 1-3, який відрізняється тим, що ентропійний декодер (409) сконфігурований для виконання оновлення стану ймовірності для інформаційної величини, поточно одержаної з усіченого унарного коду (806), шляхом переходу з поточного стану ймовірності, зв'язаного з контекстом, вибраним для поточно одержаної інформаційної величини, до нового стану ймовірності залежно від поточно одержаної інформаційної величини.
5. Декодер за будь-яким із пп. 1-4, який відрізняється тим, що ентропійний декодер (409) сконфігурований для бінарного арифметичного декодування інформаційної величини, поточно одержаної з усіченого унарного коду (806), шляхом дискретизації величини ширини поточного інтервалу ймовірності, яка представляє поточний інтервал ймовірності, для одержання індексу інтервалу ймовірності і шляхом виконання підрозбиття інтервалу шляхом індексації вхідної величини таблиці серед вхідних величин таблиці з використанням індексу інтервалу ймовірності і індексу стану ймовірності залежно від поточного стану ймовірності, зв'язаного з контекстом, вибраним для поточно одержаної інформаційної величини, для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали.
6. Декодер за п. 5, який відрізняється тим, що ентропійний декодер (409) сконфігурований для використання 8-бітового представлення для величини ширини поточного інтервалу ймовірності і для одержання 2 або 3 найбільш значущих бітів 8-бітового представлення при дискретизації величини ширини поточного інтервалу ймовірності. Зо 7. Декодер за п. 5 або п. б, який відрізняється тим, що ентропійний декодер (409) сконфігурований для вибору серед двох часткових інтервалів на основі величини стану зміщення зсередини поточного інтервалу ймовірності, для оновлення величини ширини інтервалу ймовірності і величини стану зміщення, і для виведення величини поточно одержаної інформаційної величини, використовуючи вибраний частковий інтервал, і для виконання повторної нормалізації оновленої величини ширини інтервалу ймовірності і величини стану зміщення, включаючи продовження зчитування бітів з потоку даних (401).
8. Декодер за будь-яким із пп. 5-7, який відрізняється тим, що ентропійний декодер (409) сконфігурований в сталому рівноймовірному байпасному режимі для бінарного арифметичного декодування інформаційної величини з експоненціального коду Голомба шляхом поділу навпіл величини ширини поточного інтервалу ймовірності для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали.
9. Декодер за будь-яким із пп. 1-8, який відрізняється тим, що ентропійний декодер (409) сконфігурований для одержання для кожної різниці векторів руху усіченого унарного коду відповідної різниці векторів руху з потоку даних перед експоненціальним кодом Голомба відповідної різниці векторів руху.
10. Декодер за будь-яким із пп. 1-9, який відрізняється тим, що реконструктор сконфігурований для просторового і/або тимчасового прогнозування векторів руху для одержання предикторів для векторів руху і для відновлення векторів руху шляхом деталізації предикторів з використанням різниць векторів руху.
11. Декодер за будь-яким із пп. 1-10, який відрізняється тим, що реконструктор сконфігурований для прогнозування векторів руху різними способами для одержання упорядкованого списку предикторів для векторів руху, для одержання індексу списку з потоку даних і для відновлення векторів руху шляхом деталізації предиктора списку предикторів, на який вказує індекс списку, з використанням різниць векторів руху.
12. Декодер за п. 10 або п. 11, який відрізняється тим, що реконструктор сконфігурований для відновлення відеоданих з використанням прогнозування з компенсацією руху шляхом застосування векторів руху.
13. Декодер за п. 12, який відрізняється тим, що реконструктор сконфігурований для відновлення відеоданих з використанням прогнозування з компенсацією руху шляхом бо застосування векторів руху при просторовій гранулярності, визначеній підрозбиттям відеокартинок на блоки, при цьому реконструктор виконаний з можливістю використання синтаксичних елементів, які зливаються і присутні в потоці даних, для групування блоків в групи для злиття і для застосування цілих величин різниць векторів руху, одержаних десимволізатором, в елементах груп для злиття.
14. Декодер за п. 13, який відрізняється тим, що реконструктор сконфігурований для одержання підрозбиття відеокартинок в блоках з частини потоку даних з виключенням синтаксичних елементів, які зливаються.
15. Декодер за п. 13 або п. 14, який відрізняється тим, що реконструктор сконфігурований для прийняття наперед визначеного вектора руху для усіх блоків відповідної групи для злиття або для деталізації їх різницями векторів руху, зв'язаних з блоками групи для злиття.
16. Декодер за п. 1, який відрізняється тим, що потік даних має кодовану в нього карту глибин.
17. Кодер для кодування відеоданих з одержанням потоку даних, який містить конструтор, сконфігурований для прогнозованого кодування відеоданих за допомогою прогнозування з компенсацією руху з використанням векторів руху і шляхом прогнозованого кодування векторів руху шляхом прогнозування векторів руху і шляхом визначення цілих величин різниць векторів руху для представлення похибки прогнозування спрогнозованих векторів руху; символізатор, сконфігурований для бінаризації цілих величин для одержання результатів бінаризацій різниць векторів руху, при цьому бінаризації зрівноважують усічений унарний код різниць векторів руху в першому інтервалі області різниць векторів руху нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба різниць векторів руху в другому інтервалі області різниць векторів руху включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця; і ентропійний кодер, сконфігурований для кодування усіченого унарного коду з одержанням потоку даних з використанням адаптивного до контексту бінарного ентропійного кодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму.
18. Кодер за п. 17, який відрізняється тим, що ентропійний кодер сконфігурований для кодування усіченого унарного коду з одержанням потоку даних з використанням арифметичного Зо кодування або бінарного ентропійного кодування з розбиттям інтервалу ймовірності.
19. Кодер за п. 17 або п. 18, який відрізняється тим, що ентропійний кодер сконфігурований для використання різних контекстів для двох положень інформаційної величини усіченого унарного коду.
20. Кодер за будь-яким із пп. 17-19, який відрізняється тим, що ентропійний кодер сконфігурований для виконання оновлення стану ймовірності для інформаційної величини, поточно кодованої з усіченого унарного коду, шляхом переходу з поточного стану ймовірності, зв'язаного з контекстом, вибраним для інформаційної величини, яка поточно кодується, в новий стан ймовірності залежно від інформаційної величини, яка поточно кодується.
21. Кодер за будь-яким із пп. 17-20, який відрізняється тим, що ентропійний кодер сконфігурований для бінарного арифметичного кодування інформаційної величини, яка поточно кодується з усіченого унарного коду, шляхом дискретизації величини ширини поточного інтервалу ймовірності, яка представляє поточний інтервал ймовірності, для одержання індексу інтервалу ймовірності і шляхом виконання під розбиття інтервалу шляхом індексації вхідної величини таблиці серед вхідних величин таблиці з використанням індексу інтервалу ймовірності і індексу стану ймовірності залежно від поточного стану ймовірності, зв'язаного з контекстом, вибраним для інформаційної величини, яка поточно кодується, для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали.
22. Кодер за п. 21, який відрізняється тим, що ентропійний кодер сконфігурований для використання 8-бітового представлення для величини ширини поточного інтервалу ймовірності і для одержання 2 або 3 найбільш значущих бітів 8-бітового представлення при дискретизації величини ширини поточного інтервалу ймовірності.
23. Кодер за п. 21, який відрізняється тим, що ентропійний кодер сконфігурований для вибору серед двох часткових інтервалів на основі цілої величини інформаційної величини, яка поточно кодується, для оновлення величини ширини інтервалу ймовірності і зміщення інтервалу ймовірності з використанням вибраного часткового інтервалу і для виконання повторної нормалізації величини ширини інтервалу ймовірності і зміщення інтервалу ймовірності, включаючи продовження запису бітів в потік даних.
24. Кодер за п. 21, який відрізняється тим, що ентропійний кодер сконфігурований для бінарного арифметичного кодування інформаційної величини з експоненціального коду
Голомба шляхом поділу навпіл величини ширини поточного інтервалу ймовірності для одержання підрозбиття поточного інтервалу ймовірності на два часткові інтервали.
25. Кодер за будь-яким із пп. 17-24, який відрізняється тим, що ентропійний кодер сконфігурований для кодування для кожної різниці векторів руху усіченого унарного коду відповідної різниці вектора руху з одержанням потоку даних перед експоненціальним кодом Голомба відповідної різниці векторів руху.
26. Кодер за будь-яким із пп. 17-25, який відрізняється тим, що конструктор сконфігурований для просторового і/або тимчасового прогнозування векторів руху для одержання предикторів для векторів руху і для визначення різниць векторів руху для деталізації предикторів стосовно векторів руху.
27. Кодер за будь-яким із пп. 17-26, який відрізняється тим, що конструктор сконфігурований для прогнозування векторів руху різними способами для одержання упорядкованого списку предикторів для векторів руху, для визначення індексу списку і для введення інформації, яка вказує його, в потік даних, і для визначення різниць векторів руху для деталізації предиктора, на який вказує індекс списку предикторів, стосовно векторів руху.
28. Кодер за будь-яким із пп. 17-27, який відрізняється тим, що конструктор сконфігурований для кодування відеоданих з використанням прогнозування з компенсацією руху шляхом застосування векторів руху при просторовій гранулярності, визначеній підрозбиттям відеокартинок на блоки, при цьому конструктор виконаний з можливістю визначення і введення в потік даних синтаксичних елементів, які зливаються, для групування блоків в групи для злиття і для застосування цілих величин різниць векторів руху, підданих бінаризації за допомогою символізатора, в елементах груп для злиття.
29. Кодер за п. 28, який відрізняється тим, що конструктор сконфігурований для кодування підрозбиття відеокартинок в блоках в частині потоку даних з виключенням синтаксичних елементів, які зливаються.
30. Кодер за п. 29, який відрізняється тим, що конструктор сконфігурований для прийняття наперед визначеного вектора руху для усіх блоків відповідної групи для злиття або для деталізації їх різницями векторів руху, зв'язаних з блоками групи для злиття.
31. Кодер за п. 17, який відрізняється тим, що потік даних має кодовану в нього карту глибин. Зо 32. Спосіб декодування відеоданих з потоку даних, у який кодуються різниці векторів руху, з використанням бінаризацій різниць векторів руху, при цьому бінаризації зрівнюють усічений унарний код різниць векторів руху в першому інтервалі області різниць векторів руху нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба різниць векторів руху в другому інтервалі області різниць векторів руху включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця, у якому одержують усічений унарний код з потоку даних з використанням адаптивного до контексту бінарного ентропійного декодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму для одержання результатів бінаризацій різниць векторів руху; дебінаризують результати бінаризацій різниць векторів руху для одержання цілих величин різниць векторів руху; відновлюють відеодані на основі цілих величин різниць векторів руху.
33. Спосіб кодування відеоданих з одержанням потоку даних, у якому прогнозовано кодують відеодані за допомогою прогнозування з компенсацією руху з використанням векторів руху і шляхом прогнозованого кодування векторів руху шляхом прогнозування векторів руху, і шляхом визначення цілих величин різниць векторів руху для представлення похибки прогнозування спрогнозованих векторів руху; бінаризують цілі величини для одержання результатів бінаризацій різниць векторів руху, при цьому бінаризації зрівнюють усічений унарний код різниць векторів руху в першому інтервалі області різниць векторів руху нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба різниць векторів руху в другому інтервалі області різниць векторів руху включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця; і кодують усічений унарний код з одержанням потоку даних з використанням адаптивного до контексту бінарного ентропійного кодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму.
34. Комп'ютерочитаний носій даних, який зберігає комп'ютерну програму, яка має програмний код для виконання, при її виконанні на комп'ютері, способу за п. 32.
35. Комп'ютерочитаний носій даних, який зберігає комп'ютерну програму, яка має програмний код для виконання, при її виконанні на комп'ютері, способу за п. 33.
36. Носій цифрових даних, який зберігає потік даних, в який кодовано відеодані шляхом прогнозованого кодування відеоданих за допомогою прогнозування з компенсацією руху з використанням векторів руху і шляхом прогнозованого кодування векторів руху шляхом прогнозування векторів руху, їі шляхом визначення цілих величин різниць векторів руху для представлення похибки прогнозування спрогнозованих векторів руху; бінаризації цілих величин для одержання результатів бінаризацій різниць векторів руху, при цьому бінаризації зрівнюють усічений унарний код різниць векторів руху в першому інтервалі області різниць векторів руху нижче критичної величини, і комбінацію префікса у формі усіченого унарного коду для критичної величини і суфікса у формі експоненціального коду Голомба різниць векторів руху в другому інтервалі області різниць векторів руху включно і з перевищенням критичної величини, при цьому критична величина дорівнює двійці, а експоненціальний код Голомба має порядок одиниця; і кодування усіченого унарного коду з одержанням потоку даних з використанням адаптивного до контексту бінарного ентропійного кодування з точно одним контекстом на положення інформаційної величини усіченого унарного коду, і експоненціального коду Голомба з використанням сталого рівноймовірного байпасного режиму.
37. Носій цифрових даних за п. 36, який відрізняється тим, що потік даних має кодовану в нього карту глибин. гл ц жі КУ г : і ї Ї : і : миши нини вини сохккхюккюкю мене : ; ї З ї Н ї :
Фіг. 1
С Е у СЕ МУ ПО ок ук Кк Жх І х КЗ хи ж Же йо оке ХК мкА КМ нн ЕЕ ї- хх х Ж Ко я ЕК. Кея шо У хх ОК іі їв ке СЯ СЯ ШЕУ ЗЕ БІ з РУДЕ У ук ях ЇХ З ГК ві і роз хе ха о ея Ї ї і: ї І ї З овен кн кн ЕЕ ЕК ЗК Ек ІЗ у 5 й ІЗ З КВУ х ї : х ї їх ККУ х х х х її Х ї Я х ХУ х їх є ї . І ше ШЕ. Х І ч 3 її ї х ІЗ Е У х ї У : ї 8 хі СІ : І З кг СІК І г М.Х х З ї ї ЕЗ х КУ ІЗ ї х З хх Її ї « х Е КК ї 3 ІЗ х Деуо А км х : Гокзнии ки я не а ІЗ хх ЕХ : 3 ї х : І ї ї х ІЗ ї і Ї ІЗ КУ ЕЕ ЗКУ т 3 ї ЕЗ З хх : Ку Її З ЕЕ: З Ї В х есороюфеюоюв у х х х ЖЕ у ї ї ЕЗ Ж хх ІЗ їх х 3 де їхх Е: З З х Ї ЩЕ Ї З З нн нини пн и У х ї ї х ІЗ х х х Х КЗ їх х Х х х ІЗ ІЗ ЕЗ х ІЗ У гЗ Н КУ Е і : 3 х ї х ЕЗ х Н 3 КУ х ї їх ЕЗ ЕЗ Н х КЗ х Н х Ку х ї їх 8 х ї х Ку х ї КЗ ЕЗ ЕЗ : 3 Х х ї х Хх Ж х їх г ЕЗ ї ї ЕЗ КЗ ї х ЕЗ х ї ї х Х ї Ез х КЗ ї х З ЕЗ КЗ ї х їх І : ї КЗ х х х ї ІЗ 5 ІЗ З КК А НН ИН НК А КК КК Ре й БЕ ВАХ СК я КК хо Хе Ме Я ї я Е КОЖ Кук ук КК мк сек к Ка я З 5 ЖЕ шк фожх х Ж МІРА ік У м Бе МІ У ся не: жах ї: ї ї : У Ї і КЗ Кок п нн п в Б Ї ІЗ У 5 г . | Е | ! ЩЕ . х ІЗ ї х ї ї Її ї їх їх ї ІЗ Її ї ї ІЗ ЕЯ ї ІЗ 3 ї ї ї ї х ІЗ З Ї ? т ї х ї Ї З ї т ї ї їх гЗ ї Ї г ІЗ ЕУ х г ї З х : ї ІЗ с ї су т ї їх х ЗХ 3 х ї Ї ІЗ ї - ІЗ а ї ї ї ї ш І Б ї З ї Її Ка ІЗ Х ІЗ х із ї с 3 су х З ї х С : а х ї ІЗ ї 5 х ї ї ї ЕК Ко В У : до й : : нн іх нн вів йо Мі ння Ви в п х ї х У : ІЗ В З її З Я ЕВЕЯ : З : З ЕЗ ІЗ ї : ЕЗ ї : 3 ї ї З ІЗ х ІЗ т ї ї ї 3 ї ї х Ей ххх ях «их ху жінк Ганни нан пишна мак Н ЕЗ ІЗ КЗ х Н З ї ї ї ІЗ ї Ву ЕЗ х Н Н х їх і ї х. і у х ї 4 Х ї ї кккккккК ни я нен ни кн ЗУ 3 Х х Е і З Ї 2 Її ї Ї В х Х і: ї 3 Н Н І ї ї ХХ АЖ ВАД В х мох. Духу ї ї и ним и В з з Ма: І КЗ 8 ІЗ х ї ї Ї 1 ї ву К « х х т ІЗ ІЗ ї ІЗ ї К т ІЗ ї ІЗ ІЗ З 3 (З 3 хо КК фе ХК Кук еко Кук а Кон Кк кут ! | | Е ! 3 х ї З Ні ї ї ї ІЗ ІЗ ІЗ ї ї х ІЗ ІЗ ЕУ ї ї ї їх х ї ї ї ЕЗ ї ї 1 х ї х ї ї ї ї ІЗ ї ІЗ : ї І ї ї ї їх ї ї 5 ї ї ІЗ ї ї ІЗ 3 ІЗ ї 1 ї х х І ї ІЗ ї ї х КУ ГУ г х ї с ї : Х ММ ХХХ КК х і ї ї Я ї ї І ї ї їх х 5 ї ї ї х З ї ї х Її 3 ї ї ї : ї ї Е ІЗ Я ї ї ї ІЗ : ї ї ї о КК я я чу. ШЕУ КУ ї-е х х х
У х. Х нн кн и зн нин нн Зо ан З Зо зи З : ; Ї ї З З: ЕЇ Н : : і ! : : щ- току ї ІЗ 2 з 3 Т У : ї х сої З Н ї З З 3 ЕН В Ка 3 ї х ІЗ ї ІЗ 3 3 с За 3 ІЗ и х 7 їх У 7 ї а о ІЗ іхох хо ЖКМІМ хм ХК ожх ме же сум хм Ук дм уд жах дюх дю хо КЕ хе ві ! : Ї ! ї Гл з Ї ї т і їх КЗ ї їх й х ї З : 3 ; їх 4 : ї і 3 3 ІЧ ї ї ї х 3 1 3 Н ІЗ 3 ІЗ 3 ї ї ї ї 1 3 3 : ї 1 3 ІЗ х Б т ї У З ія їх 3 : з 3 с. : ГЗ : ї Ж хх жо хх хох хе ех охоху м мех хему хе хх о У фМю М ож хх же хх хх сх духи. Ух - ї ІЧ ї З ї 1 ї З ї Н ен ни вн пн пен Мо ді НН НМ, : Я 1 КЗ х ї їх І І ЕІ В Е І Бех еко сю хеж Мем ою ї З І: ї З З Н Х Ї ї Ї с ї ї Н їх ї 3 ї ї її х ї ї ї ; Е НЕ і і . чне і : і х ї ї ї їх Сч : ї х хх х ї ї ї їх Ії ї х о 5 ї «3 ІЗ х ІЗ ха ї х ї хе. Фе ех сою юхохх ревненннй феннєт схоже ХК о ежохюю Дек ххх еук со Ух Жук лю му А ї ІЗ і ї Т ї У Іль І ї т ко 3 ІЗ : ї ІЗ ї 3 ІЗ щу ї ї їх їх З ї КАК, с ї 3 ІЗ З З ї с п ЧК : : : і 1 : | і, ВІЇ 5 Ї В З : У іні: і : : ЕІ і Її : : ТІ Х їх ї Х І ї Н 3 ронних о по сн в ко : їх і ІЗ ї Н : З ІЗ І В Н З А ІЗ 3 1 ї : Ї х ЕЗ 5 ї І : ІЗ ї х ї ї ї х ІЗ ї ІЗ ї ї ї ї т : ІЗ ї 3 7 ї ї І ї ї ї ї : З ї їх їх Її ї І ї ї 2 З дню, ІЗ ді: ї ї ї ІЗ са ре о Я ВНУ і ї Е ї яті зни І х ї 3 1 - ІЗ ІЗ ї ї : ї З І і х 5 ї і ї ї : ї ї і ї нн нн нн и п и п и нн и КН ух я Ії чу Же й ї тех і НЕ х Ум Ж 2 хо і Ка по ЗИ ДМК ОДУ УМ ММ р ДУМУ У Му З З У ї ї ї чи ї : Н ї : ! З Е Б ІЗ М ІЗ 3 ІЗ ї ї Н ще В ; ! і : | ; Н : ї З З ї Ї Н Н х ї ї на х ї ; Х х З зу у ї У 5 Ї : В В : З : Я ї ї ї че ; Е Е Е ! ! і й 1 ІЗ ї ї ї ї ї ї 3 : Й ще ІЗ ї ІЗ - Н ї : х ж НЕ Уи че Кая Н ї ї З І ї ї ккккккк ЇХ З 5 ї, їКХ ДЗ нн з нн Ван ваш нн а ІЗ руту ри ІЗ ї ІЗ х І Її Ех ІЗ ї їх Її І ї З У ІЗ ї 3 ї ї ї 3 3 ї В ї ї їх їх х ї ІЗ : х Її х їх ї ї ї ї ї ї і ч і ї Х Н ІЗ ІЗ Ек нен кеен нн Енн Зв но Зіадкккннннннн ІЗ ї Ї ї Н ї ї ї ї ї ї 3 ; х ї х Я ї їх ї х З Її В ї Н Ї І З Ї 3 і: Її Н 5 ; ї | 3 у ї ІЗ І Н о р Кк и КК дк ххх зуххю хх сююхююх хехєю Жюююю скхуюю. жххююю. ет сююхєюх хжжежх Жмххюх сххххю хкхххх сххжхху чк КК. ся із ЕМ КУ Х НО ї їх У хЕх ї х х СИКжчж ї х Ж ТК Х хе х 1129 ї а У ї ТА. ие КЯ их роя ї Кі А іх РКК тя х щу ТІ ї ї ке Ко з 1 я КІЖ : І х ї Кай ве Е пн 1 п аа Б ї к І ї ШУ х РІЗ г Ки ХК длнахужююих межу ккал ї й х :
-. 14 Є нювати І : кН: г КК у й хі 0 Овен ВНиЙ Во і г зх с ї уж качки ци ки: - ї ТТВІ МАТ УКТКтХ їх У н «мя сжжжжх ТУБАХ пт вжт вт вв вв вв вжв вв вжиття х толку иитючь ткали нн ник ден пек КУН З з -е пледи ООН Е зм де І В ї 1 І з ВН ІЗ ІЗ х мух : Я ї З і ста їж ї й їн їх Н ї і їй ден Е ї 7 Ту в ї і КУ даннннянляжиннажкнннлналнаннчнниняк ї ножни нини ки І Н ї К ї Н : ї Е ї ї ї і ї що ї й ї ї ІЗ я ї ї ІЗ 1 унів нн нн Ж ї х ІЗ Хо. 1: і ї теки 1: ІЗ Х ХККНОМЕЦІКА хі ї ї ї х З І ї ї ІЗ ті 3 З їх З ізунектіхмуУ ча гУх 3 ї тех ї з і: ЗБММО ТКУ КНХ і у ї ї У й ї Її Н : і І МЕ З ї І х : панна рі ї І ї 5 ї що ї ІЗ ї І ї ще ї ї ї ї ї мА ІЗ ІЗ ї хх ї щі ї ї СУ ї 11 ї х хх 7 БА ї ї КЗ ТАКІ і ї : ї ї ї пиття : ї х док є ююююю юю юю юю юю я юю юю юю юю юю вжи ї х З я Е х : й ЕН х Н ду : : В т їх 3 1 : : х їх ї У ї ї ї і ї 3 й Н у Н ї ї ї Ї ННІ ГЗК 1 ї ї ї Хохкхленний УМА МІМО мМ хек кю юю ююютнях ї ї : 1 М ! Гея Ї т ї 1 ІЗ ї ї І ї ї ІЗ ї : ї ї ї : з 5 Н ГО : ин Мк ум ую уюутюниХ : з ї ща : ж: " ге У дням МАААААХАААХ АЛ АААААААААААААААААЛААА НААНУ х Й 1 й ї Мк їх ї ї «тка ІА НУ Ї Х нн нн нн в и В в В іЗ Х шк КК їх х їх 3 ї Н :1Е ї ї З х хх х а х ЗК ц МАЕ з Х ІЗ хі: ї Ж тех х хАяМм ІН х З ІЗ ча я ІЗ З 1 х вм Я У з іму ! Га КЗ а. У ТЖАХ йо е че 5 х їх є і у і ї ї1дв ї льне тюи ють дети ванни наван 1: ї Ї і З Ї з роїМмУ х ї ух ща Її ї х : у Здатні міх ї ї - : В : ТЕНТИ ВИНИК і узжлилямних З т Я кі : 5 пОобЕцонение : о Шк . т Зі ІМК УКИТУМУТТКХ ї х Її преси З ї М; й г зккко ву ГЕ КЕН Дункуннччкюнь Й ек З вн и З самих м чик КЗ У ІЗ ЕД ВТЕЧУ КУКА КУТІ т (У Ж учумм х х х ї х. Раш х ї ЕКЗ ! і р ТК т Ех ї х ї ї ї хі 5 Ж ї 1 :5х ї ї ї УяКХ ГКУ а ВУ Монажеююллячитюютьькчккхккккккєєкююни ї : її ЕЗЯ ї КІ 15 ЕЗУ ї є 1 5 У ї Ко 1. ЕК Н ї ЕЕ 1 ї дух Ую юю юююююююююєюююю юю жк кююжикєют, КУ 1 Ж У ї їх ГКУ х їх ї хі хї Н Н ї КЕ ї ї ї ї хх . ГУ Її В ІЗ і : 5 х т ї М чати З У : Я се гне НЯ МЕ 11 Жено ЕКОН КТКНЯ Бен Її 7 ї Е Ї «її х ї ї ІЗ пе ї х КО Моне ще ї : ї ї ї ї х ї ї ? Й не Й В : ї ї Мо сюєсюю схеєюхх ххеєєхх сесеюую. ххууєю селсуюу сууєхєух хуюює Ужхухє сеууухх Ужхуюух сухих ЖЖЖЮХ екю сесужюю хе межею Х
Фіг. 5 мч З: СЕУ же У же х ї щ й. Н Х хх Х щ ХХ доки ГЗК Кк дитин Ж ; Весна й - -х КК; іа Кк. я ди ї Ше пАААНА ТА ТАНК ще жен З «т ї нку - ЕНН 7. з Б : КАК замах земна нні зас У ї Е змен зн заннннкнннк ІЗ ї вним Зник змін: зни МАЕ І ї ї 3 її І ІЗ ї ї ї ї ї ї Ж х ї ї ї Іі М х сзлиї ї ї х їх ї Її х т ХЕ ї ї ї з: жнеболкує ЇХ ї ї ї ї х З ЕХ: Х ї ї ЕЕ о знаки ЗИЧУ х: ІЗ 1 ІЗ ІЗ 5: ї х ВУ ДОН За ТІ ІЗ ІЗ ІЗ ї 5: ї ї їх рф. їх Ії ЕЕ ІЗ ї ї З х 1 ї ї ЕН - є 1: хї ІЗ ї ї ї 5 ї ї ї З жжжові ; ча сснй 3 ІЗ 3 ї нн и в і о Кк в ін нн пен пн ЕМ ІЗ : ІЗ ї КЕ Хі СЗЗ ї ї ІЗ З ї 3: І ї ї х З их 3 У ІЗ хі 5 ї ї ї 1 ї ї І хе М кох ІЗ х ї ІЗ ї ї У І ї І х ЕТ І ЗЕ З ЗЕ їх ї ї ї ЕНН ї Н ї І ІК З и ННЯ її 1 ї ї ї З: ї ї КУ х іще хо х (З ї х ї ї ї ї ї ї х 3 ІК КА и ІЗ їх ї х ї ї її ї ї ї х ГО їх їх ГЯ ї ГУ ї х ї ІЗ ро деефееферяня Же : і зни винним: нини: зим ще нн зни мини: ренні т їх ї ї їх ї х УК хх 3 ї ІЗ їх ї х КУ 5: У З У ї СЕУ ї ї х ї М: ї Її їх ки хх Кк СКУ ї ї І ї ї х.ї х ї ї їх ук и ї миши ШИ З жк ГУ 5. ї їх ї як З ї : У : ІІ ДЕ ОВ ШИ Я ав ШК ЗКУ : Н З Н ЩІ х І у 5 ТА 8 її ГА ік у п ЖІ Н Н І ї х ї - ї її си дк ї- з нн оон зни нн Ко зне зн мин сна нан годна за знан зарано ї ї У Н І Со У ну 1 і х ІЗ З ї ї Н гу ка КУ их х. х ї ї ї ї 3 : «ех, 7 в НН а З НН НАНУ ї ї ї ї ї ї Н 3 : т г в М а З М ЗВУ ї 3 ї ї ї ї Її ї : ї ух ї ї у ї : ї 5 ї ї ІЗ Н ї ї : хх Ї 1 З 1 ІЗ їх 5 ї ї ї ї З ддллллдаад лядллллАЛА М лляна х ї Хо укююююиняяннкнняюя бе яю Меюжюнняяї мн о у ї ї хо ІЗ Я Її ї х ЕТ іч х є хо : ХЕ с їх ше Ка ї ех х 1 К Її тут З тв ї ї БЕЖ х сін Ї : с се А ї ЯНА й аа тА гл Мн ОТ МІМ ЕІ І ОХ ши
Фіг. 6 ЗЕ БУ ме ПИМІТЕЩЦЕДМЧНІ фу ї х песто п сл ї ї шПеМеМТН о о дети тому: патрон ЕИВИОММКНОО жук уми ЕКЗ т в ІГут БЖ м і І Н ГО Я «КУ МІ Ки 1 ї ї щу мен Ка зу х ке і 3 Н 5 сг ; -у3:у З мул ту га Н І І Ні Я У У : ве І: ї У жутєтттуюєттттеттсснй ї М їх ІМ х ІК ся ЇХ пак хі МІЗьлищ х її х КІ В СН и МАЯ У рн нюнту А днкчнннннкй х хо КВ УК Кийучима НН КОЖ 3 у р мн у Днях : щі х іі ДЕНКОБВИМХ ї Н ідшккомик пощицо ї ї У Ж оущчнстя суті вино я В фу Б ШИН сф ши в В М В ПОМ ву с со На ВН 1 га ї її ї УК, ї ї ї Х в. ї - ї хх ї ї І х ІЗ ї ї т хУЕУ ї 5 4 Хоєкчжхююююююкткналананиниї сутг нти ах М юююююююттютттєютеттттктиттттнаанттн нан І ве С ГУ ТММ СЯ ті ж ГЯУ хЛАХМХ ух Ж ї І 1 тиф 7 лій 7 хі Та Н 131 НЕ Н М : чІ1 ті і: 131 мо ї іє ї РЕЯ гупехе мч: Ї х о сЗ т, Іо ОК а В ВИН о У ше х щи? Модснннння зх слух ект : З Н ди У ум нання хх нн и ї ТЮБИК КР рф і То пешщиий ї 3 ЕН я - : ї х ат - Я 1 Її їз. НЕ ма Х фен ІДИ НО ШНИ КОД денному зливі А ХНИ КО ї ї її ї тучних ї ї Ї Ї х ї С ЗЕ З ЗНУ са ї ї ї Ї І : ен ан мк п ми В В С М. опннллляляналлалахнлалнанАХ Фу длннчччнчння чання Імихнциди цими 1 Гі ї для Бо АВщО РРО леву ІБПяМ няно й Ко 0 І 1 РОБ я : 5 шпик ниМи 3 117 х їх х Х о 1. 1114 гудіти У М її хм ну Її 13: х хе х : : ї ЕНН й ВЕС ї бюмих ЕН : й 1 Мо, 1 х т У : 1 СОКОСННИ ЕН з і і ї аж їі турюх прям ; КЗ КЗ хі «ВІЗ т ї нн Си ов ЗК б егух маслі ее : ї ЕН НЕ ВЕН "ни 2 пат - тут ї 3 - я хро рехи В : ІЙ : хх й У нм нумо ен 1 Ве ї мо ї ІК : їОКМНЕНІМУ о о : ; х х : Ко ЕН Ще а х що х о Її ї родичі КО о длллллллалалааж ую аа ни х ке А " х Ж УМНЯМ о М-- г Ду 3 х ї ї ; ї ій т ї : Й й їі і 0 даккии Н ї ї ї : Її . б ц З Н їОМАплКТеНІ на знане Зуфет М Ден В ДЕ КОТМА М п нИу ПЕ ення ЗЕМ КОНИМ ЛГ ЦИ УМХ . ї й 1 "аю лют Н ї Її п я. 7 й : : Ї зда її 3 Н Її жмивМ: і Її : нн В ИН Хнллллутуюувььчьмиьих нн п і В КК а а : ХоженЕ - - зжжжж ужжюжх жжжюх ттрю тжтня пнжяю няння Х Ін еп при в МирУУУюО ІМЕННІ Джо ох пасує пн ХО Вени иХ М Й іЗуцачиМ
Фіг. 7
345 . ц пед ДиКОДЕИАНИ Іл хоуматоуходиехх лІх НИЙ Й Ех іх «1 піхохіхе им ( пики М пюдквмщЦиноО х СИМТМЕЛИМИТ 7 вч ще КУН п а а зе, ЖЕЕМОШУКХ ї Н пк «хх У ої 1 УМ КИ биття інн Кел З оклуемуатуччиЇ Є укла хо пла Х І нари і ВУ вені хе подшех дю слух Зкклютижию - й Е опи му и КУ х ї ї фо нехкок шими вк ла НМ рання Е 1 Бу зд ІЗ су Х й Н пк Ї іо Баличм ЛляМ ! ГЕЙ ї Хе 4 ТА ВК ддалклялялядлллляляляляя і ї їх Я їх х ДЕД МУ: 1 Я захо це колюннх ї ї я х ра Х є ц иеМмІіМФНУЧНМИ ЮК Є о Врфоемаценмо чіх Її конс ВдВіДкОВНЕ Н І ідпІВКОоВиХ ї І 7 й 7 с їх ЕК й ма ден нн не Ки цгіммй мит БИичт її СУММУ и пейемаок Коли ІН ве Кн вою рення ; ДОМУ У Типи Мпх КЕ Її; Ся й ї М З АТУУЕ ї МНМА 1 Я (Я УЖ уми ел ями муч здена меж ень АН ї МУ Пий ї. аа а ІН її, нам нн, па кана нн м па се мі ще ва р лот Кв У КУ її, Кох руч Ге КЗ па па а а Її ек хх ві: «ру х зЗза ла ІЗ і КОЗУ СУ 3 СЕ ; БЯ У ї 51 1: ОВУ КК і КУ : У я т, реч! БАН: 7 х І х ; гі ЇХ пицоццюначі 1. ї КУ в; я: фобія ЯМ ЗИМИ ЛНИМ І Н ї В х Є Ка вн МВ ро ння а п а и ЧІ ЗИ ї пнрзметрм | ме о фдоімксквий І 00 фіаковМи Н і В й пішої уисоєнияі у змі й Рог т фр й іж--2---ФУвотковим ун Мт У ти щи сен дн життя КМ ТЕ: Зв ІЗ тео х Я 5 ІЗ ірохама у Н НУ ї Оу и : ПИ МІЕ я ї і З г і нн пи З ЗИ НИ ІК МИЛА ОХ нення о о: : х Н ї К 1: и В ВН и Ок: і зах га рждАКиХ т Б ОРрора о фоисю ме зе. нку БУ: їх : кл їпил Тих мУмаииКиниї тре ОТ її; Бо ТЕКУ НКиИ ИН: У « де Химлдечеми я ї 11: шбММоМиИх 1:51 х т х ТжУЮМЄМ го с рІЕкрі « « « мимУТУМУУТИ нн ме мо ї с її Н ІН т У ї х ої ї ки ПЕ Я Н ода п о ЗНА вм Ти Я Тих чи і Ї Воно пази о ОК : Ж 7 Б ІЗ чинний 7? ОР уУ У Н их Н пи РО МБМЖІИНМАМКМ 1: рих З З В Х х : її І: ху х а ух о : кн НИ Ні о о М па х пе Од : ДОМУ Уодхоля н КВ ІМК ИЙ і х іди ї З Ї Й по й ї шИихиМтКИ Н Н УКУКРАТУМИАИ . : секти ди тік Ба М Н 1 пенокРОЙ ті Хонсю м нин псутннном Во фей НІБИ НИМ УМХ КИТ МЮ ТМ Н : з фе ВУ : ідекодер Труна І : ан а В Моб нтютююуюитяя нн а в и а ан а м о ДН ИМЕ их ОХ
У. я до А а ІЕХНВИМН І МК. м пефоркнувкя дитин Ме пи че іЖклНДінииМіх БУ ія шеУМемо Тк шт До нн Тем пвххкакииних пцичик
Фіг. 8 а ех. Кк ше ЕК БУ аг БІ КЗ МІ КМТ іх Б ЗО ЗЕКУ, ЗК че ІЗ Е: В; і: гг ї г Ї Ї КІ Її Її ї ї М ї : І ї и ю ї х х х х х ї і х х Х кл х х Х , пек х х З у х ї ї Н Ук фу и ТК т т У ТК ТК т ет У У Ж ЖК У ТУ У ке ДУХУ, З І З У З 3 нан кн о но нн нн нн нс в ї х у її ї ї есе 7 І ї Кк її 33 ї хх що ї ПІ х ЇХ доку Мі кігууєхихм І 33 не че ІМ ЖКВ хо томі їхшМм її зів нн і дамі куму МТВ І ЩО піші РО ВЕМЕТТВАТОКУ 1 ТІ КАМЮ ММ Її ФАХ З ЗУ УтИК, ТУТ З едесжучмх ЖКічіс ЇХ ІЗ й Ех 1 в Ху НМУ кжков ак ж 11 ї МІМІКУ МІМО ІЗ Ж Х рррУрх ЕК. 11 ї г 1 ТО БКІЩЕ ж 31 ї ї х Ву 53 ТІ Її х ІЗ І ЕІ Д Мнкнкюжккнкннжкккккквжкккккюютююкюююююєкююккюююююююввжкккккююююююккютккюююввжккюкуюююююююююєютююююжююх кю кжкккюкюдюькиаявткю как КК КАВУ КВК ж АЖКК КК КАЖУ АККК Кк ажкккккжжниних З 3 нн т ТТ ТК НКТ НН КК ТТ КК КК ух гий ТК НІХ 44 я 515 414 я ід да я 39 ЧІ: ак хі Рол щі Ед ку паю уч Кк дих Тк дл т: Ал Ід НВ Н ла и : Я Й ХІІ х ЖИ х ки й : КІ - г 7 іх - Є ї С : хі : ; НЕ ; : : Не 2 У ї У ї х Х ї х, х х х х х х о А х - Я Я но я. х тя х Я х х - х х х з х о Й Ж х о Н Н м . ї х хо Й дет дітяяяттня я фнттттутттт тт т ДК т тиф ункьякчж няньки нику натичнжя тк я пжжникинкнжанят ун нн ; З З ї Ме се і . ДА КО НН и масі ово ХО ХХХ : Цих сі Ума кечнн са щи таять ди ан ві пи шкі Кк к КЕ один: т гпиВВИ ОЗ (МЛ БА іп ІМ КН НУ І к 1 З мак РАМЕНОЇМ о дев Тк вач" су Ка здані Мк ІН В МЕ етери ВнзтоюНЙО 0 Бач рот ! б о замоподоко Ж ЧЕ огКЕиЧІКуУ ІНТЕ ВівІтиКУуй 0озсоокиа зла щ гук кни Н ДЕК ОМ УМХ т г Ь ОО Ку ВУ Зими ХЕ х тизтчку ЧК Н : Я М... Н і Ви кое В г пс У МК І ЇХ вцуц: і ді теле У и ї ї : Я : ОХ ЕМВ |: ОДН а т ПЕ М В 1: ОПО: 3 ПОМИВВо оді о З на и МИ ААААХ АЛАНА клала АЛАЛААААЛААААА Я ААЛАХААААААТАЙ У Болт М Ос КН у Ні ПИ ТИ а СО ЧИ По СЯ пщвкет даних Зк - -35 ж сага мІсІнЗ цик Река мищ і би жиди Мем зЗКенМміл Мп ОоКУ Дитя, вимкпдн порядок секасьшання с емтя вокново зоаслзкОовВоки полку СНТНЄ, сміх мУкТті вими мим В частими декобукюнивося м порнску о КК.
Фіг. 10
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161467794P | 2011-06-16 | 2011-06-16 | |
US201161508506P | 2011-07-15 | 2011-07-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
UA124408C2 true UA124408C2 (uk) | 2021-09-15 |
Family
ID=77666015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
UAA201703792A UA124408C2 (uk) | 2011-06-16 | 2012-06-18 | Декодер і кодер, спосіб декодування і кодування відеоданих, здатний до читання носій даних для виконання декодування і кодування, а також носій цифрових даних, що зберігає потік даних |
Country Status (1)
Country | Link |
---|---|
UA (1) | UA124408C2 (uk) |
-
2012
- 2012-06-18 UA UAA201703792A patent/UA124408C2/uk unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2758981C2 (ru) | Энтропийное кодирование разностей векторов движения | |
KR20130140840A (ko) | 엔트로피 인코딩 및 디코딩 방식 | |
UA124408C2 (uk) | Декодер і кодер, спосіб декодування і кодування відеоданих, здатний до читання носій даних для виконання декодування і кодування, а також носій цифрових даних, що зберігає потік даних | |
RU2820857C2 (ru) | Энтропийное кодирование разностей векторов движения | |
RU2776910C1 (ru) | Энтропийное кодирование разностей векторов движения | |
RU2779898C1 (ru) | Инициализация контекста при энтропийном кодировании |